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: 9411566Abstract: 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: GrantFiled: December 8, 2010Date of Patent: August 9, 2016Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Fredrik Öhrström
-
Patent number: 9043768Abstract: 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: GrantFiled: September 16, 2013Date of Patent: May 26, 2015Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Fredrik Öhrström
-
Publication number: 20140096116Abstract: 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: ApplicationFiled: September 16, 2013Publication date: April 3, 2014Applicant: Oracle International CorporationInventor: Fredrik Öhrström
-
Patent number: 8555264Abstract: 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: GrantFiled: January 14, 2011Date of Patent: October 8, 2013Assignee: Oracle International CorporationInventor: Fredrik Ohrstrom
-
Patent number: 8533383Abstract: 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: GrantFiled: January 14, 2011Date of Patent: September 10, 2013Assignee: Oracle International CorporationInventors: Fredrik Ohrstrom, Mikael Vidstedt
-
Publication number: 20120185847Abstract: 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: ApplicationFiled: January 14, 2011Publication date: July 19, 2012Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Fredrik Öhrström, Mikael Vidstedt
-
Publication number: 20120185834Abstract: 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: ApplicationFiled: January 14, 2011Publication date: July 19, 2012Applicant: ORACLE INTERNATIONAL CORPORATIONInventor: Fredrik Öhrström
-
Publication number: 20120151458Abstract: 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: ApplicationFiled: December 8, 2010Publication date: June 14, 2012Applicant: ORACLE INTERNATIONAL CORPORATIONInventor: Fredrik Öhrstrõm
-
Publication number: 20100027528Abstract: 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: ApplicationFiled: November 6, 2007Publication date: February 4, 2010Applicant: AVAYA TECHNOLOGY LLCInventors: Charles Lewis Davidson, Jeffrey Meis, Thorsten Fredrik Ohrstrom Sandgren, Mark Daniel Rajcok, Sujesha Sudevan Sudevalayam, Ajay Jagdish Talreja
-
Patent number: 7031693Abstract: 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: GrantFiled: September 13, 2002Date of Patent: April 18, 2006Assignee: Seamless Distribution ABInventors: Fredrik Öhrström, Kent Närling, Martin Wingert, Peter Edsbäcker, Mikael Signarsson
-
Publication number: 20030050043Abstract: 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: ApplicationFiled: September 13, 2002Publication date: March 13, 2003Applicant: Seamless Distribution ABInventors: Fredrik Ohrstrom, Kent Narling, Martin Wingert, Peter Edsbacker, Mikael Signarsson
-
Patent number: D653661Type: GrantFiled: March 7, 2011Date of Patent: February 7, 2012Inventor: Fredrik Öhrström