Patents by Inventor Fredrik Ohrstrom

Fredrik Ohrstrom 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: 9411566
    Abstract: A system and method for removal of array copies in Java by reusing a source array for the target array and potentially cutting the length of the source array. In accordance with an embodiment, the system comprises physical computers or similar computing devices; a computing or virtual execution environment; a virtual machine that includes a compiler and memory spaces for Java application bytecode and storage for generated machine code; and wherein the compiler performs a static analysis of the code wherever any array copy is found, and determines if the array copy can be replaced with a reuse of the source array as the target array, potentially followed by a cut operation, and if so modifies the generated machine code accordingly.
    Type: Grant
    Filed: December 8, 2010
    Date of Patent: August 9, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Fredrik Öhrström
  • Patent number: 9043768
    Abstract: A system and method for efficient compilation and invocation of function type calls in a virtual machine (VM), or other runtime environment, and particularly for use in a system that includes a Java Virtual Machine (JVM). In accordance with an embodiment, the system comprises a virtual machine for executing a software application; a memory space for the application byte code comprising callsites generated using a function type carrier; a bytecode to machine code compiler which performs MethodHandle invocation optimizations; a memory space for the compiled machine code; and a memory space for storing software objects as part of the software application. The system enables carrying the function type from the original MethodHandle to a callsite in the generated bytecode, including maintaining generics information for a function type acquired from a target function, and generating a callsite based on the generics information for the function object invocation.
    Type: Grant
    Filed: September 16, 2013
    Date of Patent: May 26, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Fredrik Öhrström
  • Publication number: 20140096116
    Abstract: A system and method for efficient compilation and invocation of function type calls in a virtual machine (VM), or other runtime environment, and particularly for use in a system that includes a Java Virtual Machine (JVM). In accordance with an embodiment, the system comprises a virtual machine for executing a software application; a memory space for the application byte code comprising callsites generated using a function type carrier; a bytecode to machine code compiler which performs MethodHandle invocation optimizations; a memory space for the compiled machine code; and a memory space for storing software objects as part of the software application. The system enables carrying the function type from the original MethodHandle to a callsite in the generated bytecode, including maintaining generics information for a function type acquired from a target function, and generating a callsite based on the generics information for the function object invocation.
    Type: Application
    Filed: September 16, 2013
    Publication date: April 3, 2014
    Applicant: Oracle International Corporation
    Inventor: Fredrik Öhrström
  • Patent number: 8555264
    Abstract: A system and method for efficient compilation and invocation of function type calls in a virtual machine (VM), or other runtime environment, and particularly for use in a system that includes a Java Virtual Machine (JVM). The system comprises a virtual machine for executing a software application; a memory space for the application byte code comprising callsites generated using a function type carrier; a bytecode to machine code compiler which performs MethodHandle invocation optimizations; a memory space for the compiled machine code; and a memory space for storing software objects as part of the software application. The system enables carrying the function type from the original MethodHandle to a callsite in the generated bytecode, including maintaining generics information for a function type acquired from a target function, and generating a callsite based on the generics information for the function object invocation.
    Type: Grant
    Filed: January 14, 2011
    Date of Patent: October 8, 2013
    Assignee: Oracle International Corporation
    Inventor: Fredrik Ohrstrom
  • Patent number: 8533383
    Abstract: A system and method for locking memory areas in a Java Virtual Machines (JVM) to facilitate sharing between virtual servers. In accordance with an embodiment, the system comprises a computing/virtual execution environment, which includes one or more physical computers, computer systems, server computers, or similar computing devices, a hypervisor, and a virtual machine or JVM. The JVM allows one or more application images to be run on the computer, wherein the application images can include application server instances. The application server uses a first large page in memory during its startup process, and is configured so that it signals to the JVM when the application server has completed its startup and has potentially pre-optimized important code. When the JVM receives this signal, it internally write-protects or locks the page used for application server code memory, so that any new JITed code or re-optimized code is subsequently written into a new large page.
    Type: Grant
    Filed: January 14, 2011
    Date of Patent: September 10, 2013
    Assignee: Oracle International Corporation
    Inventors: Fredrik Ohrstrom, Mikael Vidstedt
  • Publication number: 20120185847
    Abstract: A system and method for locking memory areas in a Java Virtual Machines (JVM) to facilitate sharing between virtual servers. In accordance with an embodiment, the system comprises a computing/virtual execution environment, which includes one or more physical computers, computer systems, server computers, or similar computing devices, a hypervisor, and a virtual machine or JVM. The JVM allows one or more application images to be run on the computer, wherein the application images can include application server instances. The application server uses a first large page in memory during its startup process, and is configured so that it signals to the JVM when the application server has completed its startup and has potentially pre-optimized important code. When the JVM receives this signal, it internally write-protects or locks the page used for application server code memory, so that any new JITed code or re-optimized code is subsequently written into a new large page.
    Type: Application
    Filed: January 14, 2011
    Publication date: July 19, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Fredrik Öhrström, Mikael Vidstedt
  • Publication number: 20120185834
    Abstract: A system and method for efficient compilation and invocation of function type calls in a virtual machine (VM), or other runtime environment, and particularly for use in a system that includes a Java Virtual Machine (JVM). While current techniques in Java for implementing function types using interface calls are neither efficient nor flexible, embodiments of the present invention address this problem by providing a system and method for creating function references (MethodHandles) to a target function, invoking efficiently on such a MethodHandle from a callsite, and reusing the existing generics infrastructure within the Java language to carry the types during javac compile time from the target function to the callsite.
    Type: Application
    Filed: January 14, 2011
    Publication date: July 19, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Fredrik Öhrström
  • Publication number: 20120151458
    Abstract: A system and method for removal of array copies in Java by reusing a source array for the target array and potentially cutting the length of the source array. In accordance with an embodiment, the system comprises physical computers or similar computing devices; a computing or virtual execution environment; a virtual machine that includes a compiler and memory spaces for Java application bytecode and storage for generated machine code; and wherein the compiler performs a static analysis of the code wherever any array copy is found, and determines if the array copy can be replaced with a reuse of the source array as the target array, potentially followed by a cut operation, and if so modifies the generated machine code accordingly.
    Type: Application
    Filed: December 8, 2010
    Publication date: June 14, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Fredrik Öhrstrõm
  • Publication number: 20100027528
    Abstract: A method is disclosed that enables a media gateway controller to optimize the selection of a media gateway from which to acquire call-related resources, in a multi-gateway environment. In accordance with the illustrative embodiment, the controller sets a high utilization threshold and a low utilization threshold for each media gateway it controls, for the purpose of receiving a notification when a threshold is crossed. As resources are utilized, removed from service, or become available for use, the media gateway recalculates the resource utilization of one or more predetermined resources and notifies the controller if a threshold for a particular resource has been crossed. The controller, in turn, uses the current threshold states as part of the selection of media gateway to serve one or more subsequent calls. The disclosed method can increase the probability of selecting a media gateway with sufficient resources for a successful call completion on the first attempt.
    Type: Application
    Filed: November 6, 2007
    Publication date: February 4, 2010
    Applicant: AVAYA TECHNOLOGY LLC
    Inventors: Charles Lewis Davidson, Jeffrey Meis, Thorsten Fredrik Ohrstrom Sandgren, Mark Daniel Rajcok, Sujesha Sudevan Sudevalayam, Ajay Jagdish Talreja
  • Patent number: 7031693
    Abstract: Method and system for refilling mobile terminal prepaid phone cards via electronic distribution of refill codes. Refill codes for prepaid phone cards are distributed to end users via a prepaid phone card distributor, which contracts with mobile phone operators and prepaid phone card retailers to distribute refill codes. End users enter identification and payment information to the refill code distributor, which then records the payment and returns a refill code to the end users. End users can purchase refill codes by mediums including a computer network and refill terminals located at retail shops.
    Type: Grant
    Filed: September 13, 2002
    Date of Patent: April 18, 2006
    Assignee: Seamless Distribution AB
    Inventors: Fredrik Öhrström, Kent Närling, Martin Wingert, Peter Edsbäcker, Mikael Signarsson
  • Publication number: 20030050043
    Abstract: Method and system for refilling mobile terminal prepaid phone cards via electronic distribution of refill codes. Refill codes for prepaid phone cards are distributed to end users via a prepaid phone card distributor, which contracts with mobile phone operators and prepaid phone card retailers to distribute refill codes. End users enter identification and payment information to the refill code distributor, which then records the payment and returns a refill code to the end users. End users can purchase refill codes by mediums including a computer network and refill terminals located at retail shops.
    Type: Application
    Filed: September 13, 2002
    Publication date: March 13, 2003
    Applicant: Seamless Distribution AB
    Inventors: Fredrik Ohrstrom, Kent Narling, Martin Wingert, Peter Edsbacker, Mikael Signarsson
  • Patent number: D653661
    Type: Grant
    Filed: March 7, 2011
    Date of Patent: February 7, 2012
    Inventor: Fredrik Öhrström