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: 9519585Abstract: 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: GrantFiled: June 25, 2014Date of Patent: December 13, 2016Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Daniel Magenheimer
-
Patent number: 9087021Abstract: 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: GrantFiled: June 2, 2014Date of Patent: July 21, 2015Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Daniel Magenheimer, Kurt Hackel
-
Publication number: 20140310474Abstract: 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: ApplicationFiled: June 25, 2014Publication date: October 16, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventor: Daniel Magenheimer
-
Publication number: 20140280685Abstract: 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: ApplicationFiled: June 2, 2014Publication date: September 18, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Daniel Magenheimer, Kurt Hackel
-
Patent number: 8775755Abstract: 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: GrantFiled: September 2, 2011Date of Patent: July 8, 2014Assignee: Oracle International CorporationInventors: Daniel Magenheimer, Kurt Hackel
-
Patent number: 8769205Abstract: 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: GrantFiled: January 20, 2009Date of Patent: July 1, 2014Assignee: Oracle International CorporationInventor: Daniel Magenheimer
-
Patent number: 8769206Abstract: 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: GrantFiled: March 3, 2010Date of Patent: July 1, 2014Assignee: Oracle International CorporationInventor: Daniel Magenheimer
-
Publication number: 20120222052Abstract: 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: ApplicationFiled: September 2, 2011Publication date: August 30, 2012Applicant: Oracle International CorporationInventors: Daniel Magenheimer, Kurt Hackel
-
Publication number: 20100185817Abstract: 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: ApplicationFiled: January 20, 2009Publication date: July 22, 2010Applicant: Oracle International CorporationInventor: Daniel Magenheimer
-
Publication number: 20100186011Abstract: 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: ApplicationFiled: March 3, 2010Publication date: July 22, 2010Applicant: Oracle International CorporationInventor: Daniel Magenheimer
-
Publication number: 20050188374Abstract: 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: ApplicationFiled: February 20, 2004Publication date: August 25, 2005Inventor: Daniel Magenheimer
-
Publication number: 20050166208Abstract: 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: ApplicationFiled: June 14, 2004Publication date: July 28, 2005Inventors: John Worley, Daniel Magenheimer, Chris Hyser, Robert Gardner, Thomas Christian, Bret McKee, Christopher Worley, William Worley