| Patent Number |
Title Of Patent |
Date Issued |
| 8176142 |
Shared JAVA jar files |
May 8, 2012 |
| Techniques are disclosed for sharing programmatic modules among isolated virtual machines. A master JVM process loads data from a programmatic module, storing certain elements of that data into its private memory region, and storing other elements of that data into a "read-only" area |
| 8104085 |
Hybrid system implementing distinct and co-existing application execution environments and metho |
January 24, 2012 |
| A hybrid system is provided. The system includes a computing device implementing a first application execution environment (AEE) and a second AEE. The first AEE is configured to be isolated from the second AEE. The first software application associated with the first AEE is configured to |
| 7904904 |
Processing events for concurrent tasks in a virtual machine |
March 8, 2011 |
| Techniques for processing native events associated with tasks that are concurrently supported in a virtual machine are disclosed. The techniques allow the user of a virtual machine to concurrently perform tasks even if these tasks require processing of platform-specific (or native) event |
| 7895603 |
Mechanism for enabling virtual method dispatch structures to be created on an as-needed basis |
February 22, 2011 |
| A mechanism is disclosed for enabling virtual method dispatch structures (vstructures) to be created on an as-needed basis. When an object class is loaded, a vstructure specific to that object class is not created. Rather, the vstructure for that object class is created only if and when |
| 7882198 |
Shared JAVA JAR files |
February 1, 2011 |
| Techniques are disclosed for sharing programmatic modules among isolated virtual machines. A master JVM process loads data from a programmatic module, storing certain elements of that data into its private memory region, and storing other elements of that data into a "read-only" area |
| 7853628 |
Selective promotion policy for generational garbage collectors |
December 14, 2010 |
| Techniques for selectively promoting objects in a generational garbage collector are provided. Rather than using a single promotion policy, information about objects are used to determine and effectively enforce a suitable promotion policy for them. This information, for example, may be |
| 7770169 |
Thread rendezvous for read-only code in an object-oriented computing environment |
August 3, 2010 |
| Techniques for assuring thread rendezvous for a plurality of threads executing in a computing system are disclosed. Techniques can be used to assure thread rendezvous for read-only code in a manner that is more efficient than polling techniques. A Light-weight, Yet Trappable On Deman |
| 7765560 |
Object oriented communication between isolates |
July 27, 2010 |
| A computer implemented method and machine readable media for managing a registry of bound objects for inter-Xlet communication (IXC) is described. A request from a first Xlet to bind an exported object name with a remote reference is received. A number of objects exported by the firs |
| 7711937 |
Trap-based mechanism for tracking accesses of logical components |
May 4, 2010 |
| A trap-based mechanism is provided for gaining greater visibility into the memory usage of a process. To detect and record the memory accesses of a process, a virtual address range (or a plurality of address ranges) of the process is set to a protected status. This address range represen |
| 7647586 |
System and method for providing exceptional flow control in protected code through watchpoints |
January 12, 2010 |
| A system and method for providing exceptional flow control in protected code through watchpoints is described. Code is generated. The generated code includes a sequence of normal operations and is subject to protection against copying during execution of the generated code. Execution |
| 7472383 |
System and method for providing exceptional flow control in protected code through memory layers |
December 30, 2008 |
| A system and method for providing exceptional flow control in protected code through memory layers. Code is generated. The generated code includes a sequence of normal operations and is subject to protection against copying during execution of the generated code. The generated code i |
| 7426720 |
System and method for dynamic preloading of classes through memory space cloning of a master run |
September 16, 2008 |
| 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 |
| 7421707 |
System and method for inducing asynchronous behavioral changes in a managed application process |
September 2, 2008 |
| A system and method for inducing asynchronous behavioral changes in a managed application process is presented. An application manager process is executed. A managed application process is executed. At least one application provided as object-oriented program code under the control of |
| 7421698 |
System and method for dynamically and persistently tracking incremental profiling data in a proc |
September 2, 2008 |
| A system and method for dynamically and persistently tracking incremental profiling data in a process cloning application environment is presented. A master runtime system process is executed. A memory space of the master runtime system process is cloned as a child runtime system process |
| 7343603 |
System and method for performing incremental initialization of a master runtime system process |
March 11, 2008 |
| A system and method for performing incremental initialization of a master runtime system process is presented. A set of one or more warmup actions is defined from a source definition provided as object-oriented program code. A master runtime system process is executed. Each warmup action |
| 7293267 |
System and method for performing speculative initialization of application models for a cloned r |
November 6, 2007 |
| A system and method for performing speculative initialization of application models for a cloned runtime system process is presented. A class loader is created for each application model. Each such class loader includes a representation of at least one class from a source definition |
| 7213240 |
Platform-independent selective ahead-of-time compilation |
May 1, 2007 |
| Methods and systems for platform-independent selective ahead-of-time compilation are herein described. A method selector comprising a profiling tool and heuristic selects a subset of methods for ahead-of-time compilation. The profiling tool ranks a set of methods according to predete |
| 7124291 |
System and method for eliminating static initialization overhead by memory space cloning of a ma |
October 17, 2006 |
| A system and method for eliminating static initialization overhead by memory space cloning of a master runtime system process is presented. A master runtime system process is executed. One or more static initialization methods are identified. Each static initialization method is uniq |
| 7086053 |
Method and apparatus for enabling threads to reach a consistent state without explicit thread su |
August 1, 2006 |
| Methods and apparatus for enabling inconsistent or unsafe threads to efficiently reach a consistent or safe state when a requesting thread requests a consistent state are disclosed. According to one aspect of the present invention, a method for requesting a consistent state in a mult |
| 6978448 |
Method and apparatus for rewriting bytecodes to minimize runtime checks |
December 20, 2005 |
| Methods and apparatus for reducing the number of runtime checks performed during the execution of a virtual machine. According to one aspect of the present invention, a computer system includes a preloader, a compiler, and a virtual machine. The preloader is arranged to determine whether |
| 6951018 |
Method and apparatus for efficiently tracking monitors |
September 27, 2005 |
| Methods and apparatus for enabling the association between a monitor and an object to be maintained when a garbage collection occurs during a wait action performed with respect to the object are disclosed. According to one aspect of the present invention, a method for acquiring access to |
| 6928460 |
Method and apparatus for performing generational garbage collection in a segmented heap |
August 9, 2005 |
| One embodiment of the present invention provides a system that facilitates performing generational garbage collection on a heap. The system operates by dividing an old generation of the heap into segments. Next, the system divides each segment into a series of cards and associates a sepa |
| 6886157 |
Method and apparatus for creating efficient native methods that extend a bytecode interpreter |
April 26, 2005 |
| Methods, apparatus and computer program products are disclosed for a method of invoking a native method in a Java virtual machine ("JVM"). A special-purpose fast interface, executing in conjunction with an interpreter loop, for native methods reduces C stack recursion in the JVM. The |
| 6836782 |
Method and apparatus for implementing modular garbage collectors |
December 28, 2004 |
| Methods and apparatus for efficiently enabling garbage collectors to be swapped into and out of virtual machine environments are disclosed. According to one aspect of the present invention, an interface for reclaiming memory in a multi-threaded virtual machine environment that has a |
| 6658492 |
System and method for reducing the footprint of preloaded classes |
December 2, 2003 |
| A method and system that reduces the space allocated for internal data structures by a runtime engine. The internal data structures store member information for preloaded classes used by applications executed by the runtime engine. The system determines the different types of internal da |
| 6587955 |
Real time synchronization in multi-threaded computer systems |
July 1, 2003 |
| Methods and apparatus for implementing priority inversion avoidance protocols and deterministic locking where an API is used to select objects in a multi-threaded computer system are disclosed. In one aspect of the invention, an enhanced monitor is associated with one or more selected |
| 6530080 |
Method and apparatus for pre-processing and packaging class files |
March 4, 2003 |
| A method and apparatus for pre-processing and packaging class files. Embodiments remove duplicate information elements from a set of class files to reduce the size of individual class files and to prevent redundant resolution of the information elements. Memory allocation requirement |
| 6493870 |
Methods and apparatus for packaging a program for remote execution |
December 10, 2002 |
| A task executing at a server receives a request to package program code for remote execution on a client, and determines the software components that already reside at the client. The task uses this information to formulate a set of instructions to another task that creates the package. |
| 6453467 |
Methods and apparatus for linking a program for remote execution |
September 17, 2002 |
| A linkage editor executing at a server receives instructions for packaging software components that are required for program execution at a client. The linkage editor generates an output file by iteratively analyzing the program for references to other software components and extracting |
| 6349312 |
Method and apparatus for performing pre-allocation of memory to avoid triggering garbage collect |
February 19, 2002 |
| The present invention provides a mechanism for enabling memory allocation operations to be deterministic. According to the invention, determinism is achieved by first pre-allocating a contiguous memory space, and then using that memory space to perform subsequent memory allocation operat |
| 6199196 |
Methods and apparatus for linking a program for remote execution |
March 6, 2001 |
| A linkage editor executing at a server receives instructions for packaging software components that are required for program execution at a client. The linkage editor generates an output file by iteratively analyzing the program for references to other software components and extracting |
| 5991763 |
Method and apparatus for embedding concatenated data files into object files during runtime in a |
November 23, 1999 |
| Methods, systems, and software for efficiently creating virtual file systems including object files which contain data are described. In one aspect of the invention, a method for creating a virtual file system includes retrieving a data file from a file system. A snapshot of the data |
| 5966702 |
Method and apparatus for pre-processing and packaging class files |
October 12, 1999 |
| A method and apparatus for pre-processing and packaging class files. Embodiments remove duplicate information elements from a set of class files to reduce the size of individual class files and to prevent redundant resolution of the information elements. Memory allocation requirement |