Patents by Inventor Steffen Grarup

Steffen Grarup 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: 10013269
    Abstract: Virtual machines may be configured in a complex computing environment having dependencies among themselves and on the virtualization platform they operate on. The present disclosure formalizes these dependencies by defining a component framework that enables a deployer to know about the dependencies at deployment time and allow the platform to ensure that all required dependencies are satisfied at runtime. Disclosed is a set of Open Virtualization Format (OVF) sections that allow an OVF package to express dependencies to services using OVF meta-data. At deployment time, those OVF sections allow the platform to recognize and honor those dependencies, and at runtime provide the virtual machines with appropriate configuration meta-data.
    Type: Grant
    Filed: February 22, 2012
    Date of Patent: July 3, 2018
    Assignee: VMware, Inc.
    Inventors: Jan Moeller, Steffen Grarup, Rene W. Schmidt
  • Publication number: 20150074659
    Abstract: Methods, apparatus, systems and articles of manufacture are disclosed to perform web-based installations and/or upgrade architectures for enterprise software. An example method disclosed herein includes obtaining configuration information at an installation handler via a web-based interface, the configuration information including a source locator identifying a source location of a source package and a target locator identifying a target machine on which to install the source package, the target machine being separate from the installation handler and the source location. The example method also includes validating the configuration information, and, in response to determining that the configuration information is valid, deploying the source package to the target machine.
    Type: Application
    Filed: March 31, 2014
    Publication date: March 12, 2015
    Applicant: VMware, Inc.
    Inventors: Anders Bach Madsen, Rene W. Schmidt, Steffen Grarup
  • Publication number: 20130219388
    Abstract: Virtual machines may be configured in a complex computing environment having dependencies among themselves and on the virtualization platform they operate on. The present disclosure formalizes these dependencies by defining a component framework that enables a deployer to know about the dependencies at deployment time and allow the platform to ensure that all required dependencies are satisfied at runtime. Disclosed is a set of Open Virtualization Format (OVF) sections that allow an OVF package to express dependencies to services using OVF meta-data. At deployment time, those OVF sections allow the platform to recognize and honor those dependencies, and at runtime provide the virtual machines with appropriate configuration meta-data.
    Type: Application
    Filed: February 22, 2012
    Publication date: August 22, 2013
    Applicant: VMWARE, INC.
    Inventors: Jan MOELLER, Steffen GRARUP, Rene W. SCHMIDT
  • Publication number: 20130219387
    Abstract: In a specific embodiment, a secure two-way multi-message communication channel between a virtualization platform and a guest running on a virtual machine hosted on the virtualization platform is provided using the OVF environment channel. The OVF environment may be used to transmit communication parameters from the platform to the virtual machine during power-on. At runtime, a guest executing on the virtual machine may use the communication parameters to establish a secure two-way communication channel with the virtualization platform.
    Type: Application
    Filed: February 22, 2012
    Publication date: August 22, 2013
    Applicant: VMWARE, INC.
    Inventors: Jan MOELLER, Steffen GRARUP, Rene W. SCHMIDT
  • Patent number: 7506317
    Abstract: A method and apparatus for profiling a heap. According to the method, a flexible and comprehensive general-purpose profiling interface that uniformly accommodates a wide variety of memory allocation and garbage collection methods is used. The profiling interface, among other things, employs a set of virtual machine profiling interface events that support all known types of garbage collection methods.
    Type: Grant
    Filed: January 16, 2004
    Date of Patent: March 17, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Sheng Liang, Steffen Grarup
  • Patent number: 7310718
    Abstract: A method and apparatus for profiling a heap. According to the method, a flexible and comprehensive general-purpose profiling interface that uniformly accommodates a wide variety of memory allocation and garbage collection methods is used. The profiling interface, among other things, employs a set of virtual machine profiling interface events that support all known types of garbage collection methods.
    Type: Grant
    Filed: November 24, 1999
    Date of Patent: December 18, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Sheng Liang, Steffen Grarup
  • Publication number: 20060294528
    Abstract: A technique for dynamic dispatch involves adapting a method at a dispatch point to reference a state cache. State of the state cache may be associated with an object type and a method signature. When a method is adapted at the dispatch point to reference a state cache, the reference is to a state cache associated with a state that matches the method signature and the object type of the object dispatched upon. The state cache may be shared among multiple methods with similar associated states to reduce memory requirements.
    Type: Application
    Filed: July 27, 2006
    Publication date: December 28, 2006
    Inventors: Kasper Lund, Lars Bak, Jakob Andersen, Steffen Grarup, Beat Heeb
  • Publication number: 20060248130
    Abstract: A technique for dynamically relocating an object during garbage collection involves guaranteeing bounds on thread pause times. A process according to the technique may include pausing threads, bounding pause times by scanning only one of a plurality of threads, and resuming the threads. Another process according to the technique may include suspending a plurality of threads, relocating an object to a new memory location, updating references associated with an old memory location for only one of the threads such that the references are associated with the new memory location, and resuming the threads. In an embodiment, the process may include initially marking each of the threads “unscanned.” In another embodiment, the process may include reading the object from the first memory location and writing the object to the second memory location. An example system according to the technique may include a scheduler and a relocation engine.
    Type: Application
    Filed: April 22, 2005
    Publication date: November 2, 2006
    Inventors: Steffen Grarup, Lars Bak, Kasper Lund, Jakob Andersen
  • Publication number: 20060242631
    Abstract: A technique for sharing code fragments involves detecting identical code fragments, then replacing code fragments with references to an identical code fragment. A process according to the technique may include detecting identical code fragments in one or more modules, presenting at runtime a single code fragment that is identical to the identical code fragments, and automatically sharing the single code fragment among the one or more modules. A system according to the technique may include a code fragments database that may includes code fragments and a code server configured to receive requests for a program and provide references to one or more of the code fragments in the code fragments database. Another system according to the technique may include a first object, a second object, and a method object, wherein a reference associated with a first method of the first object and the reference associated with a second method of the second object are pointers to the method object.
    Type: Application
    Filed: April 22, 2005
    Publication date: October 26, 2006
    Inventors: Jakob Andersen, Lars Bak, Kasper Lund, Steffen Grarup
  • Publication number: 20060242654
    Abstract: A technique for dynamic dispatch involves adapting a method at a dispatch point to reference a state cache. State of the state cache may be associated with an object type and a method signature. When a method is adapted at the dispatch point to reference a state cache, the reference is to a state cache associated with a state that matches the method signature and the object type of the object dispatched upon. The state cache may be shared among multiple methods with similar associated states to reduce memory requirements.
    Type: Application
    Filed: April 22, 2005
    Publication date: October 26, 2006
    Inventors: Kasper Lund, Lars Bak, Jakob Andersen, Steffen Grarup
  • Patent number: 7028287
    Abstract: A system that associates an identifier with an instance defined within an object-oriented programming system. The system generates an identifier for the instance and associates a new near object with the instance, wherein the new near object points to a class specifying behavior for the object. The system stores the identifier in the new near object, and sets a class pointer located within a header of the instance to point to the new near object. In this way, the class pointer indirectly points to the class for the object through the new near object. The system can lock the instance to facilitate exclusive access to the instance by copying a near object associated with the instance to a method activation on the execution stack, and setting the class pointer of the instance to point to the copy of the near object on the execution stack.
    Type: Grant
    Filed: April 12, 2002
    Date of Patent: April 11, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Lars Bak, Steffen Grarup
  • Publication number: 20040158589
    Abstract: A method and apparatus for profiling a heap. According to the method, a flexible and comprehensive general-purpose profiling interface that uniformly accommodates a wide variety of memory allocation and garbage collection methods is used. The profiling interface, among other things, employs a set of virtual machine profiling interface events that support all known types of garbage collection methods.
    Type: Application
    Filed: January 16, 2004
    Publication date: August 12, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Sheng Liang, Steffen Grarup
  • Patent number: 6681306
    Abstract: Methods and apparatus for enabling an efficient generational scavenging garbage collection to be performed on a managed memory area are disclosed. According to one aspect of the present invention, a method for reclaiming memory space uses a managed memory area that includes a first area and a second area. The first area is arranged to store recently allocated objects, while the second area being arranged to store older objects. The method includes determining when a first section of the first area in which new objects are to be allocated is substantially filled. When it is determined that the first section is substantially filled, a garbage collection is performed on a second section of the first. After the garbage collection, the second section is set to support new object allocation such that new objects are allocated in the second section, while the first section is reset such that it is no longer arranged to support new object allocation.
    Type: Grant
    Filed: November 29, 1999
    Date of Patent: January 20, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Peter B. Kessler, Steffen Grarup, David M. Ungar
  • Patent number: 6594678
    Abstract: Methods and apparatus for creating a mechanism for rearranging a plurality of objects in memory are disclosed. A frequency of accesses in memory of one or more fields associated with the plurality of objects with respect to one another during execution of a computer application are determined. A mechanism for rearranging the plurality of objects in the memory in accordance with the determined frequency of accesses in memory of data referenced by the one or more fields associated with the plurality of objects with respect to one another is then generated.
    Type: Grant
    Filed: July 19, 2000
    Date of Patent: July 15, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: David P. Stoutamire, Steffen Grarup
  • Publication number: 20030093577
    Abstract: One embodiment of the present invention provides a system that associates an identifier with an instance defined within an object-oriented programming system. During operation, the system generates an identifier for the instance. The system also associates a new near object with the instance, wherein the new near object points to a class specifying behavior for the object. Next, the system stores the identifier in the new near object, and sets a class pointer located within a header of the instance to point to the new near object. In this way, the class pointer indirectly points to the class for the object through the new near object. Note the header of the instance is more compact because the header does not include space to store the identifier for the object.
    Type: Application
    Filed: April 12, 2002
    Publication date: May 15, 2003
    Inventors: Lars Bak, Steffen Grarup
  • Patent number: 6510498
    Abstract: Methods and apparatus for the efficient allocation of shared memory in a multi-threaded computer system are disclosed. In accordance with one embodiment of the present invention, a computer-implemented method for allocating memory shared by multiple threads in a multi-threaded computing system includes partitioning the shared memory into a plurality of blocks, and grouping the multiple threads into at least a first group and a second group. A selected block is allocated to a selected thread which may attempt to allocate an object in the selected block. The allocation of the selected block to the selected thread is based at least partially upon whether the selected thread is a part of the first group or the second group. In one embodiment, grouping the multiple threads into the first group and the second group includes identifying a particular thread and determining whether the particular thread is a fast allocating thread.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: January 21, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Urs Hölzle, Steffen Grarup
  • Patent number: 6308185
    Abstract: The present invention relates to methods and apparatus for performing generational garbage collection within computer memory. According to one aspect of the present invention, a computer-implemented method for dynamically managing memory which includes a first memory section and a second memory section that is divided into a plurality of blocks each having an associated marker, includes performing a first garbage collection on the first memory section. The method also includes performing a second garbage collection on a selected one of the blocks in the second memory section. A third garbage collection is performed on the selected block in the second memory section. The third garbage collection includes determining whether the selected block includes a first object which references a second object which is not included in the selected block based at least in part on a status indicated by the marker associated with the selected block.
    Type: Grant
    Filed: February 9, 1999
    Date of Patent: October 23, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Steffen Grarup, Lars Bak
  • Patent number: 6209066
    Abstract: Methods and apparatus for the efficient allocation of shared memory in a multi-threaded computer system are disclosed. In accordance with one embodiment of the present invention, a computer-implemented method for allocating memory shared by multiple threads in a multi-threaded computing system includes partitioning the shared memory into a plurality of blocks, and grouping the multiple threads into at least a first group and a second group. A selected block is allocated to a selected thread which may attempt to allocate an object in the selected block. The allocation of the selected block to the selected thread is based at least partially upon whether the selected thread is a part of the first group or the second group. In one embodiment, grouping the multiple threads into the first group and the second group includes identifying a particular thread and determining whether the particular thread is a fast allocating thread.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: March 27, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Urs Hölzle, Steffen Grarup