US7426720B1ExpiredUtility

System and method for dynamic preloading of classes through memory space cloning of a master runtime system process

83
Assignee: SUN MICROSYSTEMS INCPriority: Dec 22, 2003Filed: Dec 22, 2003Granted: Sep 16, 2008
Est. expiryDec 22, 2023(expired)· nominal 20-yr term from priority
Inventors:Nedim Fresko
G06F 9/44563
83
PatentIndex Score
34
Cited by
4
References
22
Claims

Abstract

A system and method for dynamic preloading of classes through memory space cloning of a master runtime system process is presented. A master runtime system process is executed. A representation of at least one class is obtained from a source definition provided as object-oriented program code. The representation is interpreted and instantiated as a class definition in a memory space of the master runtime system process. The memory space is cloned as a child runtime system process responsive to a process request and the child runtime system process is executed, inheriting the memory state of the parent, which reflects the data structures and state corresponding to the preloaded classes.

Claims

exact text as granted — not AI-modified
1. A system for dynamic preloading of classes through memory space cloning of a master runtime system process, comprising:
 A processor; A memory a class preloader to obtain a representation of at least one class from a source definition provided as object-oriented program code; 
 a master runtime system process to interpret and to instantiate the representation as a class definition in a memory space of the master runtime system process; 
 a runtime environment to clone the memory space as a child runtime system process responsive to a process request and to execute the child runtime system process; and 
 a copy-on-write process cloning mechanism to instantiate the child runtime system process by copying references to the memory space of the master runtime system process into a separate memory space for the child runtime system process, and to defer copying of the memory space of the master runtime system process until the child runtime system process needs to modify the referenced memory space of the master runtime system process. 
 
   
   
     2. A system according to  claim 1 , further comprising:
 a cache checker to determine whether the instantiated class definition is available in a local cache associated with the master runtime system process. 
 
   
   
     3. A system according to  claim 2 , further comprising:
 a class locator to locate the source definition if the instantiated class definition is unavailable in the local cache. 
 
   
   
     4. A system according to  claim 1 , further comprising:
 a class resolver to resolve the class definition. 
 
   
   
     5. A system according to  claim 1 , further comprising:
 at least one of a local and remote file system to maintain the source definition as a class file. 
 
   
   
     6. A system according to  claim 1 , further comprising:
 a process cloning mechanism to instantiate the child runtime system process by copying the memory space of the master runtime system process into a separate memory space for the child runtime system process. 
 
   
   
     7. A system according to  claim 1 , wherein the master runtime system process is caused to sleep relative to receiving the process request. 
   
   
     8. A system according to  claim 1 , wherein the object-oriented program code is written in the Java programming language. 
   
   
     9. A system according to  claim 8 , wherein the master runtime system process and the child runtime system process are Java virtual machines. 
   
   
     10. A method for dynamic preloading of classes through memory space cloning of a master runtime system process, comprising:
 executing a master runtime system process; 
 obtaining a representation of at least one class from a source definition provided as object-oriented program code; 
 interpreting and instantiating the representation as a class definition in a memory space of the master runtime system process; and 
 cloning the memory space as a child runtime system process responsive to a process request and executing the child runtime system process; 
 wherein cloning the memory space as a child runtime system process involves instantiating the child runtime system process by copying references to the memory space of the master runtime system process into a separate memory space for the child runtime system process; and 
 wherein copying references to the memory space of the master runtime system process defers copying of the memory space of the master runtime system process until the child runtime system process needs to modify the referenced memory space of the master runtime system process. 
 
   
   
     11. A method according to  claim 10 , further comprising:
 determining whether the instantiated class definition is available in a local cache associated with the master runtime system process. 
 
   
   
     12. A method according to  claim 11 , further comprising:
 locating the source definition if the instantiated class definition is unavailable in the local cache. 
 
   
   
     13. A method according to  claim 10 , further comprising:
 resolving the class definition. 
 
   
   
     14. A method according to  claim 10 , further comprising:
 maintaining the source definition as a class file on at least one of a local and remote file system. 
 
   
   
     15. A method according to  claim 10 , further comprising:
 instantiating the child runtime system process by copying the memory space of the master runtime system process into a separate memory space for the child runtime system process. 
 
   
   
     16. A method according to  claim 10 , further comprising:
 causing the master runtime system process to sleep relative to receiving the process request. 
 
   
   
     17. A method according to  claim 10 , wherein the object-oriented program code is written in the Java programming language. 
   
   
     18. A method according to  claim 17 , wherein the master runtime system process and the child runtime system process are Java virtual machines. 
   
   
     19. A computer-readable storage medium holding code for performing the method according to  claim 10 . 
   
   
     20. An apparatus for dynamic preloading of classes through memory space cloning of a master runtime system process, comprising:
 A processor; A memory means for executing a master runtime system process; 
 means for obtaining a representation of at least one class from a source definition provided as object-oriented program code; 
 means for interpreting and means for instantiating the representation as a class definition in a memory space of the master runtime system process; and 
 means for cloning the memory space as a child runtime system process responsive to a process request and means for executing the child runtime system process; 
 wherein the means for cloning the memory space is configured to clone the memory space of a child runtime system process using a copy-on-write process cloning mechanism that instantiates the child runtime system process by copying references to the memory space of the master runtime system process into a separate memory space for the child runtime system process and that defers copying of the memory space of the master runtime system process until the child runtime system process needs to modify the referenced memory space of the master runtime system process. 
 
   
   
     21. A system according to  claim 1 , further comprising:
 a resource controller to set operating system level resource management parameters on the child runtime system process. 
 
   
   
     22. A method according to  claim 10 , further comprising:
 setting operating system level resource management parameters on the child runtime system process.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.