skip to main content
article

Portable resource control in Java

Authors Info & Claims
Published:01 October 2001Publication History
Skip Abstract Section

Abstract

Preventing abusive resource consumption is indispensable for all kinds of systems that execute untrusted mobile coee, such as mobile object sytems, extensible web servers, and web browsers. To implement the required defense mechanisms, some support for resource control must be available: accounting and limiting the usage of physical resources like CPU and memory, and of logical resources like threads. Java is the predominant implementation language for the kind of systems envisaged here, even though resource control is a missing feature on standard Java platforms. This paper describes the model and implementation mechanisms underlying the new resource-aware version of the J-SEAL2 mobile object kernel. Our fundamental objective is to achieve complete portability, and our approach is therefore based on Java bytecode transformations. Whereas resource control may be targeted towards the provision of quality of service or of usage-based billing, the focus of this paper is on security, and more specificlly on prevention of denial-of-service attacks orginating from hostile or poorly implemented mobile code.

References

  1. 1 G. Back and W. Hsieh. Drawing the red line in Java. In Seventh IEEE Workshop on Hot Topics in Operating Systems, Rio Rico, AZ, USA, Mar. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 G. Back, W. Hsieh, and J. Lepreau. Processes in KaffeOS: Isolation, resource management, and sharing in Java. In Proceedings of the Fourth Symposium on Operating Systems Design and Implementation (OSDI'2000), San Diego, CA, USA, Oct. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 G. Back, P. Tullmann, L. Stoller, W. Hsieh, and J. Lepreau. Techniques for the design of Java operating systems. In Proceedings of the 2000 USENIX Annual Technical Conference, San Diego, CA, USA, June 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 G. Back, P. Tullmann, L. Stoller, W. C. Hsieh, and J. Lepreau. Java operating systems: Design and implementation. Technical Report UUCS-98-015, University of Utah, Department of Computer Science, Aug. 6, 1998.]]Google ScholarGoogle Scholar
  5. 5 W. Binder. J-SEAL2 - A secure high-performance mobile agent system. In IAT'99 Workshop on Agents in Electronic Commerce, Hong Kong, Dec. 1999.]]Google ScholarGoogle Scholar
  6. 6 W. Binder. Design and implementation of the J-SEAL2 mobile agent kernel. In The 2001 Symposium on Applications and the Internet (SAINT-2001), San Diego, CA, USA, Jan. 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 W. Binder, J. Hulaas, and A. Villazon. Resource control in J-SEAL2. Technical Report Cahier du CUI No. 124, University of Geneva, Oct. 2000. ftp: //cui.unige.ch/pub/tios/papers/TR-124-2000.pdf.]]Google ScholarGoogle Scholar
  8. 8 G. Bollella, B. Brosgol, P. Dibble, S. Furr, J. Gosling, D. Hardin, and M. Turnbull. The Real-Time Specification for Java. Addison-Wesley, Reading, MA, USA, 2000.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 C. Bryce and J. Vitek. The JavaSeal mobile agent kernel. In First International Symposium on Agent Systems and Applications (ASA'99)/Third International Symposium on Mobile Agents (MA'99), Palm Springs, CA, USA, Oct. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 S. Chiba. Load-time structural re ection in Java. In ECOOP, pages 313-336, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 G. Cohen, J. Chase, and D. Kaminsky. Automatic program transformation with JOIE. In 1998 USENIX Annual Technical Symposium, pages 167-178, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 G. Czajkowski and T. von Eicken. JRes: A resource accounting interface for Java. In Proceedings of the 13th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA-98), volume 33, 10 of ACM SIGPLAN Notices, pages 21-35, New York, USA, Oct. 18-22 1998. ACM Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 M. Dahm. Byte code engineering. In Java-Information-Tage 1999 (JIT'99), Sept. 1999. http://bcel.sourceforge.net/.]]Google ScholarGoogle Scholar
  14. 14 B. Ford, M. Hibler, J. Lepreau, R. McGrath, and P. Tullmann. Interface and execution models in the uke kernel. In Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI-99), pages 101-116, Berkeley, CA, USA, Feb. 22-25 1999. Usenix Association.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 B. Ford and S. Susarla. CPU Inheritance Scheduling. In Usenix Association Second Symposium on Operating Systems Design and Implementation (OSDI), pages 91-105, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 M. Godfrey, T. Mayr, P. Seshadri, and T. von Eicken. Secure and portable database extensibility. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD-98), volume 27,2 of ACM SIGMOD Record, pages 390-401, New York, USA, June 1-4 1998. ACM Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 J. Gosling, B. Joy, and G. L. Steele. The Java Language Specification. The Java Series. Addison-Wesley, Reading, MA, USA, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 J. Hulaas, L. Gannoune, J. Francioli, S. Chachkov, F. Sch. utz, and J. Harms. Electronic commerce of internet domain names using mobile agents. In Proceedings of the Second International Conference on Telecommunications and Electronic Commerce (ICTEC'99), Nashville, TN, USA, Oct. 1999.]]Google ScholarGoogle Scholar
  19. 19 R. Keller and U. H.olzle. Binary component adaptation. In E. Jul, editor, ECOOP '98|Object-Oriented Programming, volume 1445 of Lecture Notes in Computer Science, pages 307-329. Springer, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 H. B. Lee and B. G. Zorn. BIT: A tool for instrumenting Java bytecodes. In Proceedings of the USENIX Symposium on Internet Technologies and Systems (ITS-97), pages 73-82, Berkeley, Dec. 8-11 1997. USENIX Association.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley, Reading, MA, USA, second edition, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 L. Moreau and C. Queinnec. Design and semantics of Quantum: a language to control resource consumption in distributed computing. In Usenix Conference on Domain-Specific Languages (DSL'97), pages 183-197, Santa-Barbara, CA, USA, Oct. 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23 K. Nilsen. Java for real-time. Real-Time Systems Journal, 11(2), 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24 T. Suganuma, T. Ogasawara, M. Takeuchi, T. Yasue, M. Kawahito, K. Ishizaki, H. Komatsu, and T. Nakatani. Overview of the IBM Java Just-in-Time compiler. IBM Systems Journal, 39(1):175-193, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25 Sun Microsystems, Inc. Enterprise JavaBeans Technology. Web pages at http://java.sun.com/products/ejb/.]]Google ScholarGoogle Scholar
  26. 26 Sun Microsystems, Inc. JAVA 2 Platform, Standard Edition. Web pages at http://java.sun.com/j2se/1.3/.]]Google ScholarGoogle Scholar
  27. 27 Sun Microsystems, Inc. Java Servlet Technology. Web pages at http://java.sun.com/products/servlet/.]]Google ScholarGoogle Scholar
  28. 28 Sun Microsystems, Inc. Java Virtual Machine Profiler Interface (JVMPI). Web pages at http://java.sun. com/j2se/1.3/docs/guide/jvmpi/index.html.]]Google ScholarGoogle Scholar
  29. 29 N. Suri, J. M. Bradshaw, M. R. Breedy, P. T. Groth, G. A. Hill, R. Jeffers, T. S. Mitrovich, B. R. Pouliot, and D. S. Smith. NOMADS: toward a strong and safe mobile agent system. In C. Sierra, G. Maria, and J. S. Rosenschein, editors, Proceedings of the 4th International Conference on Autonomous Agents (AGENTS-00), pages 163-164, NY, June 3-7 2000. ACM Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 30 The Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks. Web pages at http://www.spec.org/osg/jvm98/.]]Google ScholarGoogle Scholar
  31. 31 C. F. Tschudin. Open resource allocation for mobile code. In Proceedings of The First Workshop on Mobile Agents, Berlin, Germany, Apr. 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 32 P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Eighth ACM SIGOPS European Workshop, Sintra, Portugal, Sept. 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 33 J. Vitek and G. Castagna. Seal: A framework for secure mobile computations. In Internet Programming Languages, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 34 T. Von Eicken, C.-C. Chang, G. Czajkowski, and C. Hawblitzel. J-Kernel: A capability-based operating system for Java. Lecture Notes in Computer Science, 1603:369-394, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 35 T. Wilkinson. Kaffe - a Java virtual machine. Web pages at http://www.kaffe.org/.]]Google ScholarGoogle Scholar

Index Terms

  1. Portable resource control in Java

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 36, Issue 11
            11/01/2001
            380 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/504311
            Issue’s Table of Contents
            • cover image ACM Conferences
              OOPSLA '01: Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
              October 2001
              382 pages
              ISBN:1581133359
              DOI:10.1145/504282

            Copyright © 2001 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 October 2001

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader