Patents by Inventor Grzegorz J. Czajkowski

Grzegorz J. Czajkowski has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 6557168
    Abstract: A system and method for isolating the execution of a plurality of applications. A plurality of monitors are provided for a plurality of applications to access a static synchronized method. The applications are enabled to call the static synchronized method concurrently by accessing the static synchronized method through the plurality of monitors. A plurality of threads within one of the applications are excluded from calling the static synchronized method concurrently. The source code or bytecode for the synchronized method may be transformed by removing a method-level monitor and adding the plurality of monitors inside the method. In one embodiment, each static synchronized method is replaced with a corresponding static non-synchronized method. The applications may be further isolated by placing the static fields of shared classes into a static field class, which has one instance per utilizing application.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: April 29, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Grzegorz J. Czajkowski
  • Publication number: 20020133638
    Abstract: A method is provided that enables native code, dynamically compiled from platform-independent code by one task of a multitasking virtual machine, to be used by other tasks. The system interprets the platform-independent code of a method for a threshold number of interpretations, and then produces class initialization dependent (CID) native code. The runtime of the system guarantees that a task uses CID code of a method only when all of the classes of an initialized set associated with the CID code have been initialized by the task, and otherwise, interprets the platform-independent code of the method. This allows the compiler to avoid generating class initialization barriers for classes from the initialized set. After a threshold number of failures to execute the CID code of a method, task reentrant code is generated to replace the interpretation of its platform-independent code.
    Type: Application
    Filed: January 10, 2002
    Publication date: September 19, 2002
    Inventors: Laurent P. Daynes, Grzegorz J. Czajkowski
  • Publication number: 20020133527
    Abstract: One embodiment of the present invention provides a system for efficient class initialization barrier and access to class information private to a task that enables sharing between multiple tasks/virtual machines of both interpreted platform-independent code and the equivalent native code produced at runtime, wherein a class initialization barrier guarantees that a task initializes a class before the class is first used by the program executed by the task. The system operates by associating the shared runtime representation of classes with tables of pointers to task class mirror objects that hold the task private representation of a class. Entries of task class mirror tables are used both as a mean to encode the initialization status of the associated class for a plurality of tasks, and to provide access to the task private representation of a class loaded by a task irrespectively of the initialization state of the class for this task.
    Type: Application
    Filed: October 9, 2001
    Publication date: September 19, 2002
    Inventors: Laurent P. Daynes, Grzegorz J. Czajkowski
  • Publication number: 20020133533
    Abstract: One embodiment of the present invention provides a system for managing surplus memory in a multitasking system. The system operates by reserving a guaranteed amount of memory from a heap for a task. Heap memory not reserved for a task is surplus memory. When the system receives a request from the task to allocate memory for a new object, the system determines if memory is available within the guaranteed amount of memory. If so, the system allocates memory for the new object from the guaranteed memory. Otherwise, if available, the system reserves an additional amount of memory to the task from surplus memory in the heap. The system then allocates memory for the new object from the additional amount of memory. Allocating memory for the new object from the additional amount of memory delays garbage collection of the memory. Surplus memory can be transparently reclaimed.
    Type: Application
    Filed: June 18, 2001
    Publication date: September 19, 2002
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes
  • Publication number: 20020087737
    Abstract: The present invention relates to computer systems and methods for providing a memory buffer for use with native and platform-independent software code.
    Type: Application
    Filed: February 11, 2002
    Publication date: July 4, 2002
    Applicant: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes