Patents by Inventor Arno Hilgenberg

Arno Hilgenberg 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: 7788300
    Abstract: Methods and apparatus, including computer systems and program products, for garbage collection of shared data entities. A computer program identifies a set of virtual machines (VMs), each operable to generate references to shared entities stored in shared memory. Each shared entity can include references to one or more of the other shared entities. The program waits for the VMs to independently identify the shared entities that they reference directly, and then initiates a shared garbage collection procedure to identify the shared entities that are not directly or indirectly referenced by any of the VMs and to reclaim the shared memory being used to store those shared entities. The VMs are prevented from generating new references to the shared entities solely during a portion of the shared garbage collection procedure. By minimizing the time during which access to the shared entities is restricted, performance and scalability can be increased.
    Type: Grant
    Filed: September 15, 2004
    Date of Patent: August 31, 2010
    Assignee: SAP AG
    Inventors: Norbert Kuck, Oliver Schmidt, Arno Hilgenberg, Ralf Schmelter
  • Patent number: 7707583
    Abstract: Methods and apparatus, including computer systems and program products, for sharing objects in runtime systems and for providing isolation between user sessions in a scalable manner. A user context corresponding to a user session is stored in a shared memory area. Upon receiving a request corresponding to the user session, a process is selected from a set of operating system processes, and a runtime system is selected from a set of runtime systems. The runtime system is bound to the process, and the user context is associated with the runtime system to process the request. In some implementations, sharing user contexts enables virtual machines to be used in a shared but isolated manner: Each user context can be exclusively associated with an available virtual machine from a fixed set of virtual machines, and each virtual machine can be exclusively executed in an available process from a fixed set of processes.
    Type: Grant
    Filed: May 20, 2004
    Date of Patent: April 27, 2010
    Assignee: SAP AG
    Inventors: Oliver Schmidt, Norbert Kuck, Edgar Lott, Martin Strassburger, Arno Hilgenberg, Ralf Schmelter
  • Patent number: 7587721
    Abstract: Method, apparatus and system for data sharing in runtime systems are described. A set of data objects is identified, where each data object in the set of data objects comprises a reference to runtime metadata about the data object in a first runtime system. For each data object in the set of data objects, the reference to the runtime metadata in the data object is replaced with a proxy. The set of data objects is transmitted to a second runtime system. The transmitting of the set of data objects includes replacing the proxy with the reference to the runtime metadata for each of the set of data objects transmitted to the second runtime system. Further, a shared memory is associated with the first runtime system and the second runtime system such that the first and second runtime systems share us information at the shared memory.
    Type: Grant
    Filed: May 20, 2004
    Date of Patent: September 8, 2009
    Assignee: SAP AG
    Inventors: Oliver Schmidt, Norbert Kuck, Edgar Lott, Martin Strassburger, Arno Hilgenberg, Ralf Schmelter, Jan Dosert
  • Patent number: 7415704
    Abstract: Methods and apparatus, including computer systems and program products, for sharing data objects in runtime systems. An identification of a first data object in a first runtime system is received. The first data object references zero or more referenced data objects. A shared closure of data objects, which consists of the first data object and a transitive closure of the referenced data objects, is identified, and a determination is made as to whether the shared closure of data objects is usable in a second runtime system. In some implementations, determining whether a shared closure is usable in a second runtime system includes determining whether each data object in the shared closure is serializable without execution of custom code, or determining whether the runtime class of each object instance in the shared closure is shareable. Using shared closures to share objects between runtime systems can provide isolation between user sessions.
    Type: Grant
    Filed: May 20, 2004
    Date of Patent: August 19, 2008
    Assignee: SAP AG
    Inventors: Oliver Schmidt, Norbert Kuck, Edgar Lott, Martin Strassburger, Arno Hilgenberg, Ralf Schmelter
  • Publication number: 20060059453
    Abstract: Methods and apparatus, including computer systems and program products, for garbage collection of shared data entities. A computer program identifies a set of virtual machines (VMs), each operable to generate references to shared entities stored in shared memory. Each shared entity can include references to one or more of the other shared entities. The program waits for the VMs to independently identify the shared entities that they reference directly, and then initiates a shared garbage collection procedure to identify the shared entities that are not directly or indirectly referenced by any of the VMs and to reclaim the shared memory being used to store those shared entities. The VMs are prevented from generating new references to the shared entities solely during a portion of the shared garbage collection procedure. By minimizing the time during which access to the shared entities is restricted, performance and scalability can be increased.
    Type: Application
    Filed: September 15, 2004
    Publication date: March 16, 2006
    Inventors: Norbert Kuck, Oliver Schmidt, Arno Hilgenberg, Ralf Schmelter
  • Publication number: 20050262493
    Abstract: Methods and apparatus, including computer systems and program products, for sharing data objects in runtime systems. An identification of a first data object in a first runtime system is received. The first data object references zero or more referenced data objects. A shared closure of data objects, which consists of the first data object and a transitive closure of the referenced data objects, is identified, and a determination is made as to whether the shared closure of data objects is usable in a second runtime system. In some implementations, determining whether a shared closure is usable in a second runtime system includes determining whether each data object in the shared closure is serializable without execution of custom code, or determining whether the runtime class of each object instance in the shared closure is shareable. Using shared closures to share objects between runtime systems can provide isolation between user sessions.
    Type: Application
    Filed: May 20, 2004
    Publication date: November 24, 2005
    Inventors: Oliver Schmidt, Norbert Kuck, Edgar Lott, Martin Strassburger, Arno Hilgenberg, Ralf Schmelter
  • Publication number: 20050262181
    Abstract: Methods and apparatus, including computer systems and program products, for sharing objects in runtime systems and for providing isolation between user sessions in a scalable manner. A user context corresponding to a user session is stored in a shared memory area. Upon receiving a request corresponding to the user session, a process is selected from a set of operating system processes, and a runtime system is selected from a set of runtime systems. The runtime system is bound to the process, and the user context is associated with the runtime system to process the request. In some implementations, sharing user contexts enables virtual machines to be used in a shared but isolated manner: Each user context can be exclusively associated with an available virtual machine from a fixed set of virtual machines, and each virtual machine can be exclusively executed in an available process from a fixed set of processes.
    Type: Application
    Filed: May 20, 2004
    Publication date: November 24, 2005
    Inventors: Oliver Schmidt, Norbert Kuck, Edgar Lott, Martin Strassburger, Arno Hilgenberg, Ralf Schmelter
  • Publication number: 20050262512
    Abstract: Methods and apparatus, including computer systems and program products, for sharing objects in runtime systems. A set of objects is identified, each object having a reference to runtime metadata about the object in a first runtime system. The reference to the runtime metadata in each object is replaced with a proxy, and the set of objects is transmitted to a second runtime system, where the proxy in each object is replaced with a reference to runtime metadata about the object in the second runtime system. In some implementations, the runtime metadata can be installed in the second runtime system if it is not already available. The set of objects can include a shared closure of objects, which can be shared between runtime systems (including virtual machines) located on distinct physical machines. Sharing objects between runtime systems on multiple machines can provide isolation between user sessions in a scalable manner.
    Type: Application
    Filed: May 20, 2004
    Publication date: November 24, 2005
    Inventors: Oliver Schmidt, Norbert Kuck, Edgar Lott, Martin Strassburger, Arno Hilgenberg, Ralf Schmelter, Jan Dosert