Patents by Inventor Daniel Magenheimer

Daniel Magenheimer 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: 9519585
    Abstract: A method of implementing a shared cache between a plurality of virtual machines may include maintaining the plurality of virtual machines on one or more physical machines. Each of the plurality of virtual machines may include a private cache. The method may also include determining portions of the private caches that are idle and maintaining a shared cache that comprises the portions of the private caches that are idle. The method may additionally include storing data associated with the plurality of virtual machines in the shared cache and load balancing use of the shared cache between the plurality of virtual machines.
    Type: Grant
    Filed: June 25, 2014
    Date of Patent: December 13, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Daniel Magenheimer
  • Patent number: 9087021
    Abstract: Various arrangements for utilizing memory of a remote computer system are presented. Two computer systems may allocate a portion of RAM accessible to a memory-access API. A first set of data from the first portion of the first memory of a first computer system may be determined to be moved to memory of another computer system. The first set of data from the first portion of the first memory may be transmitted for storage in the second portion of the second memory of a second computer system. Using the second memory-access API, the set of data may be stored in the second portion of the second memory. Using the first memory-access API, the set of data from the first portion of the first memory may be deleted.
    Type: Grant
    Filed: June 2, 2014
    Date of Patent: July 21, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Daniel Magenheimer, Kurt Hackel
  • Publication number: 20140310474
    Abstract: A method of implementing a shared cache between a plurality of virtual machines may include maintaining the plurality of virtual machines on one or more physical machines. Each of the plurality of virtual machines may include a private cache. The method may also include determining portions of the private caches that are idle and maintaining a shared cache that comprises the portions of the private caches that are idle. The method may additionally include storing data associated with the plurality of virtual machines in the shared cache and load balancing use of the shared cache between the plurality of virtual machines.
    Type: Application
    Filed: June 25, 2014
    Publication date: October 16, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Daniel Magenheimer
  • Publication number: 20140280685
    Abstract: Various arrangements for utilizing memory of a remote computer system are presented. Two computer systems may allocate a portion of RAM accessible to a memory-access API. A first set of data from the first portion of the first memory of a first computer system may be determined to be moved to memory of another computer system. The first set of data from the first portion of the first memory may be transmitted for storage in the second portion of the second memory of a second computer system. Using the second memory-access API, the set of data may be stored in the second portion of the second memory. Using the first memory-access API, the set of data from the first portion of the first memory may be deleted.
    Type: Application
    Filed: June 2, 2014
    Publication date: September 18, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Daniel Magenheimer, Kurt Hackel
  • Patent number: 8775755
    Abstract: Various arrangements for utilizing memory of a remote computer system are presented. Two computer systems may allocate a portion of RAM accessible to a memory-access API. A first set of data from the first portion of the first memory of a first computer system may be determined to be moved to memory of another computer system. The first set of data from the first portion of the first memory may be transmitted for storage in the second portion of the second memory of a second computer system. Using the second memory-access API, the set of data may be stored in the second portion of the second memory. Using the first memory-access API, the set of data from the first portion of the first memory may be deleted.
    Type: Grant
    Filed: September 2, 2011
    Date of Patent: July 8, 2014
    Assignee: Oracle International Corporation
    Inventors: Daniel Magenheimer, Kurt Hackel
  • Patent number: 8769206
    Abstract: This disclosure describes, generally, methods and systems for implementing transcendent page caching. The method includes establishing a plurality of virtual machines on a physical machine. Each of the plurality of virtual machines includes a private cache, and a portion of each of the private caches is used to create a shared cache maintained by a hypervisor. The method further includes delaying the removal of the at least one of stored memory pages, storing the at least one of stored memory pages in the shared cache, and requesting, by one of the plurality of virtual machines, the at least one of the stored memory pages from the shared cache. Further, the method includes determining that the at least one of the stored memory pages is stored in the shared cache, and transferring the at least one of the stored shared memory pages to the one of the plurality of virtual machines.
    Type: Grant
    Filed: March 3, 2010
    Date of Patent: July 1, 2014
    Assignee: Oracle International Corporation
    Inventor: Daniel Magenheimer
  • Patent number: 8769205
    Abstract: This disclosure describes, generally, methods and systems for implementing transcendent page caching. The method includes establishing a plurality of virtual machines on a physical machine. Each of the plurality of virtual machines includes a private cache, and a portion of each of the private caches is used to create a shared cache maintained by a hypervisor. The method further includes delaying the removal of the at least one of stored memory pages, storing the at least one of stored memory pages in the shared cache, and requesting, by one of the plurality of virtual machines, the at least one of the stored memory pages from the shared cache. Further, the method includes determining that the at least one of the stored memory pages is stored in the shared cache, and transferring the at least one of the stored shared memory pages to the one of the plurality of virtual machines.
    Type: Grant
    Filed: January 20, 2009
    Date of Patent: July 1, 2014
    Assignee: Oracle International Corporation
    Inventor: Daniel Magenheimer
  • Publication number: 20120222052
    Abstract: Various arrangements for utilizing memory of a remote computer system are presented. Two computer systems may allocate a portion of RAM accessible to a memory-access API. A first set of data from the first portion of the first memory of a first computer system may be determined to be moved to memory of another computer system. The first set of data from the first portion of the first memory may be transmitted for storage in the second portion of the second memory of a second computer system. Using the second memory-access API, the set of data may be stored in the second portion of the second memory. Using the first memory-access API, the set of data from the first portion of the first memory may be deleted.
    Type: Application
    Filed: September 2, 2011
    Publication date: August 30, 2012
    Applicant: Oracle International Corporation
    Inventors: Daniel Magenheimer, Kurt Hackel
  • Publication number: 20100186011
    Abstract: This disclosure describes, generally, methods and systems for implementing transcendent page caching. The method includes establishing a plurality of virtual machines on a physical machine. Each of the plurality of virtual machines includes a private cache, and a portion of each of the private caches is used to create a shared cache maintained by a hypervisor. The method further includes delaying the removal of the at least one of stored memory pages, storing the at least one of stored memory pages in the shared cache, and requesting, by one of the plurality of virtual machines, the at least one of the stored memory pages from the shared cache. Further, the method includes determining that the at least one of the stored memory pages is stored in the shared cache, and transferring the at least one of the stored shared memory pages to the one of the plurality of virtual machines.
    Type: Application
    Filed: March 3, 2010
    Publication date: July 22, 2010
    Applicant: Oracle International Corporation
    Inventor: Daniel Magenheimer
  • Publication number: 20100185817
    Abstract: This disclosure describes, generally, methods and systems for implementing transcendent page caching. The method includes establishing a plurality of virtual machines on a physical machine. Each of the plurality of virtual machines includes a private cache, and a portion of each of the private caches is used to create a shared cache maintained by a hypervisor. The method further includes delaying the removal of the at least one of stored memory pages, storing the at least one of stored memory pages in the shared cache, and requesting, by one of the plurality of virtual machines, the at least one of the stored memory pages from the shared cache. Further, the method includes determining that the at least one of the stored memory pages is stored in the shared cache, and transferring the at least one of the stored shared memory pages to the one of the plurality of virtual machines.
    Type: Application
    Filed: January 20, 2009
    Publication date: July 22, 2010
    Applicant: Oracle International Corporation
    Inventor: Daniel Magenheimer
  • Publication number: 20050188374
    Abstract: According to at least one embodiment, a flexible operating system comprises operability for executing in a first manner as a native operating system on a computer system and for executing in a second manner as a virtualized operating system on the computer system. The flexible operating system further comprises code for determining whether it is being used as a native operating system or as a virtualized operating system on the computer system.
    Type: Application
    Filed: February 20, 2004
    Publication date: August 25, 2005
    Inventor: Daniel Magenheimer
  • Publication number: 20050166208
    Abstract: In various embodiments of the present invention, execution-state transitions occur in a first portion of a system, and a cumulative execution state for each process is maintained by a second portion of the system so that, when a second-portion routine is called, the second-portion routine can determine whether or not the current execution state is suitable for execution of the second-portion routine. In various embodiments, a callpoint log, allocated and maintained for each process, stores the cumulative execution state for the process. In one embodiment, the first portion is an operating system, and the second portion is a secure kernel, with the cumulative execution state used by the secure kernel to prevent unauthorized access by erroneously or maliciously invoked operating-system routines to secure kernel routines. In another embodiment, the cumulative execution state is used as a debugging tool by the second-portion routines to catch errors in the implementation of the first-portion routines.
    Type: Application
    Filed: June 14, 2004
    Publication date: July 28, 2005
    Inventors: John Worley, Daniel Magenheimer, Chris Hyser, Robert Gardner, Thomas Christian, Bret McKee, Christopher Worley, William Worley