Patents by Inventor Laurent P. Daynes

Laurent P. Daynes 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: 8973008
    Abstract: Combining different resource types into a single logical resource can provide a perspective more suitable for managing a given computer program. Resources of different types that have similar characteristics are combined as a single resource type. Resource management policies are applied against the different resource types via the single combination resource type, wherein on a single computer or applied against a cluster of computers.
    Type: Grant
    Filed: May 10, 2005
    Date of Patent: March 3, 2015
    Assignee: Oracle America, Inc.
    Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Laurent P. Daynès
  • Patent number: 8392564
    Abstract: An infrastructure including a cluster-global dispenser that evaluates resource consume requests against cluster-global resource management policies facilitates flexible and extensible monitoring and/or control of resource consumption for multiple and/or multi-component applications on a cluster of interconnected computers. Such an infrastructure facilitates application of comprehensive resource management to cluster computing, and compatibility with the level of abstraction offered by modern object-oriented languages. Such an infrastructure also maintains backwards-compatibility. Building on the foundation of a well-defined isolated component, the resulting resource management framework is capable of supporting a rich collection of resources and of defining policies. The notion of a cluster-global resource naturally captures the aggregation of node-local resource. This applies the familiar “single system image” attribute of cluster systems to the area of resource management.
    Type: Grant
    Filed: June 20, 2005
    Date of Patent: March 5, 2013
    Assignee: Oracle America, Inc.
    Inventors: Grzegorz J. Czajkowski, Glenn C. Skinner, Laurent P. Daynès, Krzysztof Palacz
  • Patent number: 8250559
    Abstract: System and method for supporting per-program classpath and class sharing in a multi-tasking virtual machine. A virtual machine may allow each program to specify its classpath independently of other programs classpaths. Tasks that specify identical classpaths for their respective class loaders may share the runtime representation of classes. A multi-tasking virtual machine may generate and compare canonical forms of classpaths to determine which programs may share classes with each other. The runtime representation of a class may be split between shared and private portions of the runtime representation. A shared runtime representation may be associated with multiple private runtime representations. In one embodiment, unique class loader keys and a system dictionary may be used to associate tasks, class loaders and the shared representations of classes.
    Type: Grant
    Filed: April 12, 2006
    Date of Patent: August 21, 2012
    Assignee: Oracle America, Inc.
    Inventors: Laurent P. Daynès, Grzegorz J. Czajkowski
  • Patent number: 7925640
    Abstract: In the described embodiments, a computer constructs a dispatch data structure for a holder by first determining a set of member holders from which the holder inherits. The computer then constructs an “i-table” that includes holder addressor regions that each contains addressors for an associated set of members. Each of the holder addressor regions is associated with an i-table index. The computer next collects a set of identification numbers for the set of member holders and, from these, constructs an “m-table.” The size of the m-table is selected to perfectly hash the set of identification numbers by the m-table size. The computer then computes an m-table index for each of the set of identification numbers modulo the m-table size and uses the m-table index to populate the m-table. The computer next stores the i-table index in the m-table in accordance with the m-table index.
    Type: Grant
    Filed: February 14, 2008
    Date of Patent: April 12, 2011
    Assignee: Oracle America, Inc.
    Inventors: Bernd J.W. Mathiske, Laurent P. Daynes, Gregory M. Wright
  • Patent number: 7849451
    Abstract: A dynamic delegation chain of executor objects can, at runtime, adapt code units to be executed as isolated computations prior to their execution to comport with current state of an environment. A dynamic delegation chain performs the dynamic runtime adaptation of the code unit in accordance with isolated computations that host the executor objects of the delegation chain. Adapting a code unit prior to execution of the code unit allows adaptation of the code unit to a current state, as well as at least reducing concerns of program integrity.
    Type: Grant
    Filed: March 2, 2006
    Date of Patent: December 7, 2010
    Assignee: Oracle America Inc.
    Inventors: Krzysztof Palacz, Grzegorz J. Czajkowski, Laurent P. Daynès
  • Publication number: 20090210379
    Abstract: Apparatus, methods, and computer program products are disclosed for constructing and using member dispatch tables for Object-Oriented programming environments.
    Type: Application
    Filed: February 14, 2008
    Publication date: August 20, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Bernd J. W. Mathiske, Laurent P. Daynes, Gregory M. Wright
  • Patent number: 7484067
    Abstract: A system and method for ensuring non-interfering garbage collection in a real time multi-threaded environment. An incarnation counter is associated with a scoped memory area. The incarnation counter is atomically updated upon access by a no heap thread not interruptible by garbage collection operations. A write stub is identified and includes instructions to store data into storage locations of the scoped memory area. The instructions are dynamically modified to interrupt execution of a garbage collection thread. A garbage collection thread is executed over the scoped memory area. At least one of a read from the scoped memory area and a write to the scoped memory area are attempted. For the read attempt, an incarnation number is read from the incarnation counter of the scoped memory area and is locally stored. A value from a storage location in the scoped memory area is loaded and the incarnation number is reread. The reread incarnation number is compared with the locally stored incarnation number.
    Type: Grant
    Filed: May 24, 2005
    Date of Patent: January 27, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory Bollella, Christophe Lizzi, Laurent P. Daynes
  • Patent number: 7454448
    Abstract: A method for managing memory in a multi-tasking virtual machine, involving suspending a first task for garbage collection of a plurality of concurrently executing tasks, promoting at least one object associated with the first task to a old generation using a gap buffer to obtain a promoted object, wherein the gap buffer stores a gap created by objects directly allocated by at least one of the plurality of concurrently executing tasks, locating the promoted object using the gap buffer, traversing the promoted object to determine whether a first referenced object exist, and promoting the first referenced object using the gap buffer, if the first referenced object exists.
    Type: Grant
    Filed: April 14, 2005
    Date of Patent: November 18, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent P. Daynes, Andrew McClure, Grzegorz J. Czajkowski
  • Patent number: 7234076
    Abstract: System resources (e.g., objects or other resources) are managed to provide multiple levels of undo and/or support for delegation of updates on main-memory resident objects accessible by concurrent transactions. For example, a log associated with each transaction stores information regarding an update to an object when the object is locked in an update mode (e.g., a write mode) by the transaction. The transaction can be rolled back by restoring information from the log of the transaction to the object. If the transaction commits, then the log may be destroyed. If the transaction delegates to another transaction, the log of the transaction is also delegated. A record codelet can be automatically generated to perform the storing of information in the log, and a restore codelet can be automatically generated to undo updates by restoring information from the log to the updated objects. The codelets may be specific to each class of objects.
    Type: Grant
    Filed: February 14, 2003
    Date of Patent: June 19, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent P. Daynes, Grzegorz J. Czajkowski
  • Patent number: 7216352
    Abstract: A method of reducing interference among applications co-located in a process when using dynamic libraries is disclosed. For each dynamic library, multiple instances of the dynamic library are loaded in the same operating system process (or process), whereas each instance of the dynamic library corresponds to one of the multiple applications co-located in the same process. In particular, the text segments (or read-only segments) of the instances of the dynamic library are mapped to the same physical memory pages, leading to a low memory footprint. Moreover, within the process, a co-located application's access to a dynamic library is directed to the instance (of the dynamic library) associated with the accessing application, reducing interference among applications co-located in the same process.
    Type: Grant
    Filed: December 12, 2002
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes, Rodrick Ison Evans
  • Patent number: 7213098
    Abstract: The present invention relates to computer systems and methods for providing a memory buffer for use with native and platform-independent software code. In a particular embodiment, the method includes providing a first software program compiled to platform-independent code for execution in a first process of the computer system, providing a second software program compiled to native code for execution in a second process of the computer system, and sending a message from the first process to the second process to request a memory buffer. In another particular embodiment, the computer system includes a processor and a memory. The computer system includes a first process to execute a first software program coded in a safe language, a second process to execute a second software program coded in an unsafe language, and an inter-process communication mechanism that allows data message communication between the first process and the second process.
    Type: Grant
    Filed: February 11, 2002
    Date of Patent: May 1, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynès
  • Patent number: 7165255
    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: Grant
    Filed: June 18, 2001
    Date of Patent: January 16, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes
  • Patent number: 7162711
    Abstract: A method of automatically virtualizing core native libraries of a virtual machine is disclosed. In an embodiment, the virtual machine is a java virtual machine (JVM). In this technique, the interface between the virtual machine and the core native libraries is controlled, since multiple instances of a core native library are loaded into the same process based on the number of co-located applications. Moreover, the interactions between the core native libraries and the underlying operating system (OS) are controlled so that a single point of contact is presented to the OS. Also, the dependencies the core native libraries may have on the virtual machine are handled.
    Type: Grant
    Filed: December 12, 2002
    Date of Patent: January 9, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes
  • Patent number: 7065755
    Abstract: The invention describes a method an apparatus to minimize the costs introduced in the native code of a method M in order to make it executable (concurrently or serially) by multiple tasks, wherein M's native code is produced by the dynamic compiler of a multitasking virtual machine. One embodiment of the present invention describes a mechanism that annotates the shared runtime representation of classes with information that identifies the particular event that triggered the initialization of these classes, and in particular, if that event is the execution of class initialization barrier from a method of another class. These annotations are then used during each dynamic compilation of a method M of a class C to determine when native code corresponding to a class initialization barrier needs to be generated in the task re-entrant native code produced by the dynamic compiler for M.
    Type: Grant
    Filed: December 4, 2001
    Date of Patent: June 20, 2006
    Assignee: SUN Microsystems, Inc.
    Inventors: Laurent P. Daynes, Grzegorz J. Czajkowski
  • Patent number: 7003768
    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: Grant
    Filed: October 9, 2001
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent P. Daynes, Grzegorz J. Czajkowski
  • Patent number: 6931638
    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 re-entrant code is generated to replace the interpretation of its platform-independent code.
    Type: Grant
    Filed: January 10, 2002
    Date of Patent: August 16, 2005
    Assignee: Sun Microsystems, Inc
    Inventors: Laurent P. Daynes, Grzegorz J. Czajkowski
  • Patent number: 6922694
    Abstract: Techniques have been developed whereby lock state sharing can be extended to provide a low-space overhead lock management facility with comprehensive support for bulk lock delegation. Operating in conjunction with delegation request validation methods, the techniques provide an efficient bulk lock delegation facility for many advanced transaction models. Some implementations in accordance with the present invention provide bulk lock delegation with computational costs that are generally independent of the number of locks being delegated. Accordingly, such implementations may be particularly attractive for systems that demand for fine-granularity locking, large transaction sizes (in term of number of locks acquired), and efficient delegation mechanisms.
    Type: Grant
    Filed: November 14, 2001
    Date of Patent: July 26, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Laurent P. Daynès
  • Patent number: 6910039
    Abstract: A lock management technique that combines low-space overhead via sharing of lock states of equal value with comprehensive support for bulk delegation of locks has been developed. Operating in conjunction with methods for validating delegation requests prior to their execution, bulk delegation of locks can be achieved with computational costs that are generally independent of the number of lock being delegated. This property, added to the low-space overhead representation of locks via lock state sharing, offer a combination that may be particularly attractive for systems that demand for fine-granularity locking, large transaction sizes (in term of number of locks acquired) and efficient bulk delegation mechanisms.
    Type: Grant
    Filed: November 14, 2001
    Date of Patent: June 21, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Laurent P. Daynès
  • Patent number: 6876996
    Abstract: One embodiment of the present invention provides a system that uses a shared library to facilitate sharing objects containing metadata. During operation, the system receives identifiers for a set of objects to be included in the shared library. Next, the system generates a shared library containing the set of objects. In doing so, the system configures a symbol table within the shared library to include an identifier for each object. The system then installs the shared library in a file system, and configures the file system so that the shared library file can be accessed through a set of symbolic names, wherein each object is associated with a different symbolic name. This allows each object in the shared library to be referenced through its own symbolic name. Note that the present invention uses the shared library mechanism in a manner which differs from its typical use (sharing compiled, executable code).
    Type: Grant
    Filed: March 19, 2002
    Date of Patent: April 5, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes
  • Patent number: 6834391
    Abstract: One embodiment of the present invention provides a system that facilitates automated isolation of native code within a computer program that has been compiled to a platform-independent code. The system operates by receiving a library containing a native code sub-routine that provides a service to the computer program. The system analyzes the library to determine the symbol name for the native code sub-routine. A proxy sub-routine is generated for each native code sub-routine exported by the native library that forms a link to the native code sub-routine. This proxy sub-routine is placed into a new library using the original name of the native code sub-routine. The system runs the native code sub-routine in one process, and executes the platform-independent code in a separate process. The system invokes the native code sub-routine in the first process by calling the proxy sub-routine from the platform-independent code in the second process.
    Type: Grant
    Filed: April 24, 2001
    Date of Patent: December 21, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregorz J. Czajkowski, Laurent P. Daynes, Mario I. Wolczko