Patents by Inventor Joakim Dahlstedt

Joakim Dahlstedt 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: 9875122
    Abstract: A system and method for providing hardware virtualization and resource management in a virtual machine environment. An application server environment is extended to provide an interface from the higher layers in the application server environment to the system's actual processing power, such that the allocation of processing can be made in a machine-independent way. A layer of software can be placed between the virtual machine and the hardware that improves the efficiency of the virtualized Java execution system. The system comprises two main components: a first, lower-level, execution environment that replaces the usual operating system; and a second, higher-level, resource broker that is responsible for handing out new virtual machines to the above layers, and for monitoring the current resource usage of the running virtual machines.
    Type: Grant
    Filed: February 4, 2014
    Date of Patent: January 23, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Joakim Dahlstedt
  • Patent number: 8959512
    Abstract: A system and method to improve memory usage in virtual machines running as hypervisor guests. In accordance with an embodiment, the invention provides a system for changing the memory usage of a virtual machine on request from a hypervisor, comprising: a hypervisor; a guest operating system executing inside the hypervisor; a communication channel between the hypervisor and the guest operating system; a balloon driver in the guest operating system; a virtual machine for executing a software application; a communication channel between the balloon driver and the virtual machine; a memory space or heap for use by the virtual machine in storing software objects and pointers as part of the software application; and a compacting garbage collector for use by the virtual machine.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: February 17, 2015
    Assignee: Oracle International Corporation
    Inventor: Joakim Dahlstedt
  • Patent number: 8806493
    Abstract: A system and method for providing hardware virtualization and resource management in a virtual machine environment. An application server environment is extended to provide an interface from the higher layers in the application server environment to the system's actual processing power, such that the allocation of processing can be made in a machine-independent way. A layer of software can be placed between the virtual machine and the hardware that improves the efficiency of the virtualized Java execution system. The system comprises two main components: a first, lower-level, execution environment that replaces the usual operating system; and a second, higher-level, resource broker that is responsible for handing out new virtual machines to the above layers, and for monitoring the current resource usage of the running virtual machines.
    Type: Grant
    Filed: July 17, 2012
    Date of Patent: August 12, 2014
    Assignee: Oracle International Corporation
    Inventor: Joakim Dahlstedt
  • Publication number: 20140157272
    Abstract: A system and method for providing hardware virtualization and resource management in a virtual machine environment. An application server environment is extended to provide an interface from the higher layers in the application server environment to the system's actual processing power, such that the allocation of processing can be made in a machine-independent way. A layer of software can be placed between the virtual machine and the hardware that improves the efficiency of the virtualized Java execution system. The system comprises two main components: a first, lower-level, execution environment that replaces the usual operating system; and a second, higher-level, resource broker that is responsible for handing out new virtual machines to the above layers, and for monitoring the current resource usage of the running virtual machines.
    Type: Application
    Filed: February 4, 2014
    Publication date: June 5, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Joakim Dahlstedt
  • Publication number: 20120284718
    Abstract: A system and method for providing hardware virtualization and resource management in a virtual machine environment. An application server environment is extended to provide an interface from the higher layers in the application server environment to the system's actual processing power, such that the allocation of processing can be made in a machine-independent way. A layer of software can be placed between the virtual machine and the hardware that improves the efficiency of the virtualized Java execution system. The system comprises two main components: a first, lower-level, execution environment that replaces the usual operating system; and a second, higher-level, resource broker that is responsible for handing out new virtual machines to the above layers, and for monitoring the current resource usage of the running virtual machines.
    Type: Application
    Filed: July 17, 2012
    Publication date: November 8, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Joakim Dahlstedt
  • Patent number: 8250572
    Abstract: A system and method for providing hardware virtualization and resource management in a virtual machine environment. In accordance with an embodiment, an application server environment includes a computer system, application server, and virtual machine (for example, a Java Virtual Machine or JVM). In accordance with an embodiment, a virtualization layer is provided at each physical machine, including a hypervisor for partitioning virtual machines over the machine. An execution layer runs a single Java-based application, focusing on running that application as efficiently as possible. In accordance with another embodiment, the system comprises two main components: a lower-level, execution environment that replaces the usual operating system; and a higher-level, resource broker that is responsible for handing out new virtual machines to the above layers, and for monitoring the current resource usage of the running virtual machines.
    Type: Grant
    Filed: August 7, 2007
    Date of Patent: August 21, 2012
    Assignee: Oracle International Corporation
    Inventor: Joakim Dahlstedt
  • Publication number: 20120185854
    Abstract: A system and method to improve memory usage in virtual machines running as hypervisor guests. In accordance with an embodiment, the invention provides a system for changing the memory usage of a virtual machine on request from a hypervisor, comprising: a hypervisor; a guest operating system executing inside the hypervisor; a communication channel between the hypervisor and the guest operating system; a balloon driver in the guest operating system; a virtual machine for executing a software application; a communication channel between the balloon driver and the virtual machine; a memory space or heap for use by the virtual machine in storing software objects and pointers as part of the software application; and a compacting garbage collector for use by the virtual machine.
    Type: Application
    Filed: March 28, 2012
    Publication date: July 19, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Joakim Dahlstedt
  • Patent number: 8156492
    Abstract: A system and method to improve memory usage in virtual machines running as hypervisor guests. In accordance with an embodiment, the invention provides a system for changing the memory usage of a virtual machine on request from a hypervisor, comprising: a hypervisor; a guest operating system executing inside the hypervisor; a communication channel between the hypervisor and the guest operating system; a balloon driver in the guest operating system; a virtual machine for executing a software application; a communication channel between the balloon driver and the virtual machine; a memory space or heap for use by the virtual machine in storing software objects and pointers as part of the software application; and a compacting garbage collector for use by the virtual machine.
    Type: Grant
    Filed: September 5, 2008
    Date of Patent: April 10, 2012
    Assignee: Oracle International Corporation
    Inventor: Joakim Dahlstedt
  • Patent number: 8024505
    Abstract: A system for thread local garbage collection in a virtual machine environment, comprising: a virtual machine for executing a software application; a memory space for use by the virtual machine in storing software objects and pointers as part of the software application, divided into a global heap and several thread local heaps; a heap maintaining logic that keeps the global heap and the thread local heaps in a state suitable for efficient garbage collecting; and a garbage collector that can collect the thread local heaps in parallel with only the stop-the-world pauses for the global heap.
    Type: Grant
    Filed: May 8, 2007
    Date of Patent: September 20, 2011
    Assignee: Oracle International Corporation
    Inventors: Joakim Dahlstedt, Henrik Osterdahl
  • Patent number: 7757202
    Abstract: A system and method for detecting memory leaks in a garbage collected environment. In particular, the present invention provides a mechanism by which objects in the memory space of a virtual machine are analyzed as to whether they are warm or cold, i.e., how long they have persisted in memory without being accessed or referenced by another object. Following this analysis, the objects are clustered into groups of warm or cold objects, and any links from warm clusters to cold clusters are determined. This information is then provided to the software developer for use in detecting and analyzing potential memory leaks.
    Type: Grant
    Filed: November 5, 2007
    Date of Patent: July 13, 2010
    Assignee: BEA Systems, Inc.
    Inventors: Joakim Dahlstedt, Peter Lonnebring, Mikael Vidstedt
  • Publication number: 20090070776
    Abstract: A system and method to improve memory usage in virtual machines running as hypervisor guests. In accordance with an embodiment, the invention provides a system for changing the memory usage of a virtual machine on request from a hypervisor, comprising: a hypervisor; a guest operating system executing inside the hypervisor; a communication channel between the hypervisor and the guest operating system; a balloon driver in the guest operating system; a virtual machine for executing a software application; a communication channel between the balloon driver and the virtual machine; a memory space or heap for use by the virtual machine in storing software objects and pointers as part of the software application; and a compacting garbage collector for use by the virtual machine.
    Type: Application
    Filed: September 5, 2008
    Publication date: March 12, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Joakim Dahlstedt
  • Publication number: 20080065842
    Abstract: A system and method for detecting memory leaks in a garbage collected environment. In particular, the present invention provides a mechanism by which objects in the memory space of a virtual machine are analyzed as to whether they are warm or cold, i.e., how long they have persisted in memory without being accessed or referenced by another object. Following this analysis, the objects are clustered into groups of warm or cold objects, and any links from warm clusters to cold clusters are determined. This information is then provided to the software developer for use in detecting and analyzing potential memory leaks.
    Type: Application
    Filed: November 5, 2007
    Publication date: March 13, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Joakim Dahlstedt, Peter Lonnebring, Mikael Vidstedt
  • Publication number: 20080034365
    Abstract: A system and method for providing hardware virtualization and resource management in a virtual machine environment. In accordance with an embodiment, an application server environment includes a computer system, application server, and virtual machine (for example, a Java Virtual Machine or JVM). In accordance with an embodiment, a virtualization layer is provided at each physical machine, including a hypervisor for partitioning virtual machines over the machine. An execution layer runs a single Java-based application, focusing on running that application as efficiently as possible. In accordance with another embodiment, the system comprises two main components: a lower-level, execution environment that replaces the usual operating system; and a higher-level, resource broker that is responsible for handing out new virtual machines to the above layers, and for monitoring the current resource usage of the running virtual machines.
    Type: Application
    Filed: August 7, 2007
    Publication date: February 7, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventor: Joakim Dahlstedt
  • Publication number: 20080021939
    Abstract: A system for thread local garbage collection in a virtual machine environment, comprising: a virtual machine for executing a software application; a memory space for use by the virtual machine in storing software objects and pointers as part of the software application, divided into a global heap and several thread local heaps; a heap maintaining logic that keeps the global heap and the thread local heaps in a state suitable for efficient garbage collecting; and a garbage collector that can collect the thread local heaps in parallel with only the stop-the-world pauses for the global heap.
    Type: Application
    Filed: May 8, 2007
    Publication date: January 24, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Joakim Dahlstedt, Henrik Osterdahl
  • Patent number: 7293263
    Abstract: A system and method for detecting memory leaks in a garbage collected environment. In particular, the present invention provides a mechanism by which objects in the memory space of a virtual machine are analyzed as to whether they are warm or cold, i.e., how long they have persisted in memory without being accessed or referenced by another object. Following this analysis, the objects are clustered into groups of warm or cold objects, and any links from warm clusters to cold clusters are determined. This information is then provided to the software developer for use in detecting and analyzing potential memory leaks.
    Type: Grant
    Filed: December 16, 2003
    Date of Patent: November 6, 2007
    Assignee: BEA Systems, Inc.
    Inventors: Joakim Dahlstedt, Peter Lonnebring, Mikael Vidstedt
  • Publication number: 20070073794
    Abstract: The present invention provides a system and a method of improving the effectiveness of a data processing application when using a virtual machine, where the program includes many methods, i.e. program sections, that are stored in the memory of the computer used, and where garbage collecting is used by said program, wherein the method is characterized by a first step in which all thread stacks are analyzed with respect to methods required thereby; a second step in which each of the methods required is caused to be regenerated where occurrent references to a method are replaced with reference to regenerated methods prior to the regeneration of a method; and by a third step in which all non-regenerated methods are erased, wherein the corresponding memory space is placed at the disposal of said program.
    Type: Application
    Filed: October 25, 2006
    Publication date: March 29, 2007
    Applicant: BEA SYSTEMS, INC.
    Inventor: Joakim Dahlstedt
  • Patent number: 7194494
    Abstract: A method for improving the effectiveness of a data processing application when using a virtual machine, wherein the program includes a large number of methods, i.e. program sections, that are stored in the memory of the computer used, and wherein the program uses a garbage collecting procedure. The invention is characterized by analysing in a first step all so called thread stacks with respect to the procedures required thereby; causing each of said requisite methods to be regenerated in a second step, wherein occurring references to a method prior to the regeneration are replaced with references to regenerated methods; and by erasing all non-regenerated methods in a third step and placing corresponding memory space at the disposal of the program.
    Type: Grant
    Filed: October 27, 2000
    Date of Patent: March 20, 2007
    Assignee: Bea Systems, Inc.
    Inventor: Joakim Dahlstedt
  • Patent number: 7080374
    Abstract: A system and a method for interpreting native code to move threads to a safe state in a run-time environment. In a runtime system or virtual machine (VM) environment, threads process requests to the VM. In many instances such as garbage collection, context switching, and single CPU locking, the threads must be stopped in a safe state for the operation to successfully complete. The invention can be used to ensure that a thread is stopped in such a safe state. In accordance with an embodiment of the invention, when a first thread A is stopped by a second thread B, if A is not in a safe state the invention allows thread B to roll thread A forward to a safe state by interpreting the machine instruction currently is at A. A's state is then updated accordingly.
    Type: Grant
    Filed: December 16, 2003
    Date of Patent: July 18, 2006
    Assignee: BEA Systems, Inc.
    Inventors: Joakim Dahlstedt, Peter Lonnebring
  • Patent number: 6970893
    Abstract: The present invention provides a system and method for improving the effectiveness of a data processing application when using a virtual machine, where the program includes many methods, i.e. program sections, that are stored in the memory of the computer used, and where garbage collecting is used by said program. Thread stacks are first analyzed with respect to methods required thereby. Each of the methods required is caused to be regenerated where occurrent references to a method are replaced with reference to regenerated methods prior to the regeneration of a method. All non-regenerated methods are then erased, wherein the corresponding memory space is placed at the disposal of said program. Various means of locking and garbage collection can be used.
    Type: Grant
    Filed: June 4, 2002
    Date of Patent: November 29, 2005
    Assignee: BEA Systems, Inc.
    Inventor: Joakim Dahlstedt
  • Publication number: 20050256913
    Abstract: A system and method for improving the effectiveness of a data processing application when using a virtual machine, where the program includes many methods, i.e. program sections, that are stored in the memory of the computer used, and where garbage collecting is used by said program. Thread stacks are first analyzed with respect to the methods required thereby. Each of the methods required is caused to be regenerated, where occurrent references to a method are replaced with references to the regenerated methods. All non-regenerated methods are then erased, and the corresponding memory space released.
    Type: Application
    Filed: July 22, 2005
    Publication date: November 17, 2005
    Applicant: BEA Systems, Inc.
    Inventor: Joakim Dahlstedt