Just-in-time Compiling Or Dynamic Compiling (e.g., Compiling Java Bytecode On A Virtual Machine) Patents (Class 717/148)
-
Patent number: 8473935Abstract: Pre-compiling postdominating functions. Some embodiments may be practiced in a computing environment including a runtime compilation. For example one method includes acts for compiling functions. The method includes determining that a function of an application has been called. A control flow graph is used to determine one or more postdominance relationships between the function and one or more other functions. The one or more other functions are assigned to be pre-compiled based on the postdominance relationship.Type: GrantFiled: April 21, 2008Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventor: Matthew B. Grice
-
Publication number: 20130159983Abstract: Methods, systems, and products are disclosed for optimizing just-in-time (‘JIT’) compiling for a Java application executing on a compute node, the compute node having installed upon it a Java Virtual Machine (‘JVM’) capable of supporting the Java application, that include: identifying, by an application manager, a particular portion of the Java application; assigning, by the application manager, a JIT level to the particular portion of the Java application; and jitting, by the JVM installed on the compute node, the particular portion of the Java application in dependence upon the JIT level assigned to that particular portion of the Java application.Type: ApplicationFiled: February 15, 2013Publication date: June 20, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: International Business Machines Corporation
-
Publication number: 20130152063Abstract: A system and method for early platform dependency preparation of intermediate code representation during bytecode compilation in a virtual machine (VM), or other runtime environment, and particularly for use in a system that includes a Java Virtual Machine (JVM). Current techniques for separating the platform dependent intermediate representation from the platform independent intermediate representation using a watertight abstraction layer gives non-optimal side effects (such as compiler source code duplication or inefficiency in the generated code). Embodiments of the present invention enable the compiler to construct platform dependent idioms using medium level intermediate code, and maintain the platform dependent construct all the way to the final native code.Type: ApplicationFiled: January 7, 2013Publication date: June 13, 2013Applicant: ORACLE INTERNATIONAL CORPORATIONInventor: Oracle International Corporation
-
Patent number: 8464228Abstract: The subject matter of this specification can be embodied in, among other things, a process that includes receiving, during a computer programming process for a software program, a specification of a software module having a defined functionality for use by the software program. The software module is stored in a central repository having different versions of the software module. The process also includes compiling the software program. The compilation initiates steps including filtering versions of the software module that do not meet the specification. The specification corresponds to more than one version of the software module. The steps also include selecting, from versions that have not been filtered out, a version of the software module. The selection is based on one or more predetermined rules. The process also includes returning the selected version of the software module for local storage with the software program.Type: GrantFiled: August 23, 2007Date of Patent: June 11, 2013Assignee: Accenture Global Services LimitedInventor: Craig Campbell
-
Patent number: 8464233Abstract: The present invention extends to methods, systems, and computer program products for compile time interpretation of markup codes. Embodiments of the invention can be used to specify custom behaviors to be taken in response to any of a number of ways that markup codes (e.g., XML data) can be constructed and in response to any number of ways that markup codes can be accessed. At compile time, the construction of objects and/or the modes of access for objects using mark up codes are known. As such, the compiler, type-system and development environment can use a known set of custom behaviors to regulate or give feedback on what constructions or modes of access are allowed, and what their characteristics are.Type: GrantFiled: June 21, 2010Date of Patent: June 11, 2013Assignee: Microsoft CorporationInventors: Lucian Jules Wischik, Avner Y. Aharoni
-
Patent number: 8458670Abstract: A system and method for automatically analyzing virtual machine bytecode of a software application and adding additional bytecode operable to determine information regarding network communication performed by the software application are described. According to one embodiment of the method, program code of a software application may be received, wherein the program code includes bytecode for a virtual machine. The bytecode may be automatically analyzed to detect network communication functionality. The method may operate to automatically add additional bytecode to the bytecode of the software application, where the added bytecode is operable to determine information regarding the network communication.Type: GrantFiled: September 27, 2007Date of Patent: June 4, 2013Assignee: Symantec CorporationInventors: Brian Day, Daryl Hoyt
-
Publication number: 20130139133Abstract: An adjustment apparatus includes a storage device, an execution target program, an execution unit, a first API, a second API, a profiler, and a dynamic compiler. The execution unit interprets the program, and calls and executes a function of an API in response to the API description. The first and second API are callable by the execution unit, to respectively allocate an array of a predetermined size, and extend the array. The first and second APIs are converted into code to store an array allocation call context of the pre-extension array into a profile information storage area of the allocated array. The profiler profiles access to arrays. The dynamic compiler inline-expands an array allocation call context included in a code part to be dynamically compiled and embeds an array size determined based on context based access information, as an allocation initial size of the array, into the code part.Type: ApplicationFiled: November 29, 2012Publication date: May 30, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: INTERNATIONAL BUSINESS MACHINES CORP
-
Patent number: 8453126Abstract: A system and method for automated conversion of a SAS runtime macro language (RML) program to a target language program such as JAVA. RML macros are identified and converted for inclusion in the RML program. A lexer is applied to generate a stream of tokens, including a token type for ambiguous tokens. A context dependent parsing module, including a token filter to resolve ambiguous tokens, assists the parser in generating an abstract syntax tree (AST), which is modified to express RML specific control flow constructs with target language program elements. The elements of the modified AST are replaced with target language templates from a library, with template parameters filled from the corresponding AST element. A run time library is provided for execution of the target language program.Type: GrantFiled: July 30, 2009Date of Patent: May 28, 2013Assignee: Dulles Research LLCInventor: Pavel Ganelin
-
Patent number: 8453129Abstract: A method, computer system, and computer program product for using one or more hardware interrupts to drive dynamic binary code recompilation. The execution of a plurality of instructions is monitored to detect a problematic instruction. In response to detecting the problematic instruction, a hardware interrupt is thrown to a dynamic interrupt handler. A determination is made whether a threshold for dynamic binary code recompilation is satisfied. If the threshold for dynamic code recompilation is satisfied, the dynamic interrupt handler optimizes at least one of the plurality of instructions.Type: GrantFiled: April 24, 2008Date of Patent: May 28, 2013Assignee: International Business Machines CorporationInventors: Mark W. Stephenson, Ram Rangan
-
Patent number: 8453130Abstract: Memory management for object oriented applications during run time includes loading an object oriented application into a computer memory. The object oriented application includes a plurality of nodes in a classification tree, the nodes including key value pairs. The nodes are aggregated in the classification tree by a computer. The aggregating includes eliminating redundant keys and creating a composite node. The composite node is loaded into the computer memory. The plurality of nodes in the classification tree are removed from the computer memory in response to loading the composite node into the computer memory.Type: GrantFiled: February 9, 2011Date of Patent: May 28, 2013Assignee: International Business Machines CorporationInventors: Priya B. Benjamin, David N. Brauneis, Jr., Jared P. Jurkiewicz, Radoslava G. McDougald, Polyxeni Mountrouidou
-
Patent number: 8453128Abstract: A method for implementing a just-in-time compiler involves obtaining high-level code templates in a high-level programming language, where the high-level programming language is designed for compilation to an intermediate language capable of execution by a virtual machine, and where each high-level code template represents an instruction in the intermediate language. The method further involves compiling the high-level code templates to native code to obtain optimized native code templates, where compiling the high-level code templates is performed, prior to runtime, using an optimizing static compiler designed for runtime use with the virtual machine. The method further involves implementing the just-in-time compiler using the optimized native code templates, where the just-in-time compiler is configured to substitute an optimized native code template when a corresponding instruction in the intermediate language is encountered at runtime.Type: GrantFiled: September 28, 2007Date of Patent: May 28, 2013Assignee: Oracle America, Inc.Inventors: Laurent Daynes, Bernd J. Mathiske, Gregory M. Wright, Mario I. Wolczko
-
Patent number: 8448151Abstract: A method for binarizing initial script on an operating system includes: calling shell script to be binarized in a secondary memory unit; generating an execution table by translating the called shell script; generating a source program by merging a previously prepared source code template with the execution table; and combining a command sub-routine with the source program and binarizing the shell script by performing compile and building operations. According to the above, it is possible to minimize a booting delay time without using a fork & exec technique by applying the binary script instead of the shell script during performing system initialization while booting.Type: GrantFiled: December 3, 2009Date of Patent: May 21, 2013Assignee: Electronics and Telecommunications Research InstituteInventors: Seungmin Park, Chaedeok Lim, Hojoon Park, Dongwook Kang
-
Publication number: 20130125102Abstract: In dynamic compilation, timing of compiling is set for each method in accordance with information such as an execution frequency for each method so that methods having a large influence on the execution performance of the entire application program are compiled earlier. Thereby, the balance of execution is optimized between execution by an interpreter and execution based on native codes, and the execution performance immediately after the activation of an application program becomes stable.Type: ApplicationFiled: October 26, 2012Publication date: May 16, 2013Inventor: Fujitsu Limited
-
Patent number: 8443349Abstract: A runtime system implemented in accordance with the present invention provides an application platform for parallel-processing computer systems. Such a runtime system enables users to leverage the computational power of parallel-processing computer systems to accelerate/optimize numeric and array-intensive computations in their application programs. This enables greatly increased performance of high-performance computing (HPC) applications.Type: GrantFiled: February 9, 2012Date of Patent: May 14, 2013Assignee: Google Inc.Inventors: Matthew N. Papakipos, Brian K. Grant, Morgan S. McGuire, Christopher G. Demetriou
-
Patent number: 8443348Abstract: A runtime system implemented in accordance with the present invention provides an application platform for parallel-processing computer systems. Such a runtime system enables users to leverage the computational power of parallel-processing computer systems to accelerate/optimize numeric and array-intensive computations in their application programs. This enables greatly increased performance of high-performance computing (HPC) applications.Type: GrantFiled: March 5, 2007Date of Patent: May 14, 2013Assignee: Google Inc.Inventors: Morgan S. McGuire, Christopher G. Demetriou, Brian K. Grant, Matthew N. Papakipos
-
Patent number: 8438404Abstract: The disclosure is applied to a generic microprocessor architecture with a set (e.g., one or more) of controlling elements (e.g., MPEs) and a set of groups of sub-processing elements (e.g., SPEs). Under this arrangement, MPEs and SPEs are organized in a way that a smaller number MPEs control the behavior of a group of SPEs using program code embodied as a set of virtualized control threads. The arrangement also enables MPEs delegate functionality to one or more groups of SPEs such that those group(s) of SPEs will act as pseudo MPEs. The pseudo MPEs will utilize pseudo virtualized control threads to control the behavior of other groups of SPEs. In a typical embodiment, the apparatus includes a MCP coupled to a power supply coupled with cores to provide a supply voltage to each core (or core group) and controlling-digital elements and multiple instances of sub-processing elements.Type: GrantFiled: September 30, 2008Date of Patent: May 7, 2013Assignee: International Business Machines CorporationInventors: Karl J. Duvalsaint, Harm P. Hofstee, Daeik Kim, Moon J. Kim
-
Patent number: 8438554Abstract: A system, method, and computer program product are provided for removing a synchronization statement. In use, synchronization statements are identified. Additionally, the synchronization statements are analyzed. Furthermore, the synchronization statements are removed based on the analysis.Type: GrantFiled: December 11, 2008Date of Patent: May 7, 2013Assignee: NVIDIA CorporationInventors: Vinod Kumar Grover, John Stratton
-
Patent number: 8432562Abstract: An image forming apparatus has a new application management system. A platform provided in the image forming apparatus manages applications also provided in the image forming apparatus. An operation screen display application included in the application managed by the platform displays operation screens. Objects to be operated by the operation screens are the applications managed by the platform.Type: GrantFiled: February 15, 2005Date of Patent: April 30, 2013Assignee: Ricoh Company, Ltd.Inventors: Mitsuo Ando, Kunihiro Akiyoshi
-
Publication number: 20130104111Abstract: Methods, apparatuses, and computer program products for real-time temperature sensitive machine level code compilation and execution are provided. Embodiments include compiling and executing, by a just-in-time (JIT) compiler, machine level code; during execution of the machine level code, determining, by the JIT compiler, an execution temperature for the machine level code, including reading temperature measurements from one or more processor temperature sensors; based on the determined execution temperature, identifying, by the JIT compiler, a portion of the machine level code that, when executed, caused temperature measurements of one or more processor temperature sensors to exceed a predetermined threshold temperature; recompiling, by the JIT compiler, the machine level code including modifying the identified portion to generate a new execution temperature that is lower than the previously determined execution temperature; and executing, by the JIT compiler, the recompiled machine level code.Type: ApplicationFiled: December 11, 2012Publication date: April 25, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: INTERNATIONAL BUSINESS MACHINES CORPORATION
-
Patent number: 8429629Abstract: Embodiments of the present invention provide an architecture for efficiently loading and executing byte code generated from a general programming language. In particular, a byte code interpreter implements a virtual machine that executes the byte code and is divided into a kernel component and one or more user components. The kernel component of the virtual machine is integrated into the operating system kernel. The user component runs in the same virtual address space as the applet, provides support for executing an applet and couples the applet to the operating system. In addition, the kernel component of the virtual machine may share code with multiple user components.Type: GrantFiled: November 30, 2005Date of Patent: April 23, 2013Assignee: Red Hat, Inc.Inventor: Ulrich Drepper
-
Patent number: 8429630Abstract: In at least one embodiment, the computing network may include multiple different data centers and/or server grids which are deployed different geographic locations. In at least one embodiment, at least some of the 20 server grids may be operable to provide on-demand, grid and/or utility computing resources for hosting various types of distributed applications. In at least one embodiment, a distributed application may be characterized as an application made up of distinct components (e.g., virtual appliances, virtual machines, virtual interfaces, virtual volumes, virtual network connections, etc.) in separate runtime environments. In at least one embodiment, different 25 ones of the distinct components of the distributed application may be hosted or deployed on different platforms (e.g., different servers) connected via a network. In some embodiments, a distributed application may be characterized as an application that runs on two or more networked computers.Type: GrantFiled: March 9, 2009Date of Patent: April 23, 2013Assignee: CA, Inc.Inventors: Peter Nickolov, Bert Armijo
-
Publication number: 20130091496Abstract: Methods, systems, and products are disclosed for optimizing just-in-time (‘JIT’) compiling for a Java application executing on a compute node, the compute node having installed upon it a Java Virtual Machine (‘JVM’) capable of supporting the Java application, that include: identifying, by an application manager, a particular portion of the Java application; assigning, by the application manager, a JIT level to the particular portion of the Java application; and jitting, by the JVM installed on the compute node, the particular portion of the Java application in dependence upon the JIT level assigned to that particular portion of the Java application.Type: ApplicationFiled: November 27, 2012Publication date: April 11, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: International Business Machines Corporation
-
Patent number: 8418144Abstract: A system for fast rendering of an applet in a Web browser environment. A server process pre-determines the order in which the applet classes are loaded by the applet. The server process determines the classes of the applet that are required for applet start-up, and these startup classes are bundled into an initial JAR file on the server for the applet, along with a list of other class files belonging to the original JAR files. After the initial JAR file is downloaded, and while the JVM on the client system is loading the applet classes from the initial JAR file to bring up the applet, the rest of the applet classes (i.e. non-startup classes) are downloaded from the server to the client in the background. As each such non-startup class is received by the client system, it is loaded into the correct JAR file based on the class list.Type: GrantFiled: September 6, 2007Date of Patent: April 9, 2013Assignee: International Business Machines CorporationInventors: Aruna Kalagnanam, Shuti Kumar, Venkat R. Vellaisamy
-
Publication number: 20130086565Abstract: A medium and method is disclosed for compiling vector programs. A compiler receives program code that includes a function invocation. The compiler determines the vector width of a target computer system and creates a width-specific executable version of the program code by mapping the function invocation to a width-specific implementation of the function. The width-specific implementation corresponds to the vector width of the target computer system.Type: ApplicationFiled: September 29, 2011Publication date: April 4, 2013Inventors: Benedict R. Gaster, Lee W. Howes
-
Publication number: 20130086566Abstract: A medium, method, and apparatus are disclosed for eliding superfluous function invocations in a vector-processing environment. A compiler receives program code comprising a width-contingent invocation of a function. The compiler creates a width-specific executable version of the program code by determining a vector width of a target computer system and omitting the function from the width-specific executable if the vector width meets one or more criteria. For example, the compiler may omit the function call if the vector width is greater than a minimum size.Type: ApplicationFiled: September 29, 2011Publication date: April 4, 2013Inventors: Benedict R. Gaster, Lee W. Howes
-
Patent number: 8413125Abstract: A computer is programmed to automatically have multiple sessions update a common counter which is shared therebetween, when interpreting a given method so that system-wide statistics are collected for each method. The single counter is commonly accessed for updating by the respective interpreters in the multiple sessions which are executing the method. The computer is further programmed to asynchronously compile the method (regardless of the state of the multiple sessions), to obtain compiled software in the form of executable machine instructions. Specifically, asynchronous compilation starts dynamically, whenever a method's common multi-session counter satisfies a predetermined condition. Finally, each session is informed when compilation is completed so that the next time the method needs to be run, it is not interpreted and instead the compiled software is executed. The compiled software is kept in a shared memory which is accessible to each session.Type: GrantFiled: January 26, 2007Date of Patent: April 2, 2013Assignee: Oracle International CorporationInventors: Robert H. Lee, David Unietis, Mark Jungerman
-
Publication number: 20130081005Abstract: Optimized memory management settings may be derived from a mathematical model of an execution environment. The settings may be optimized for each application or workload, and the settings may be implemented per application, per process, or with other granularity. The settings may be determined after an initial run of a workload, which may observe and characterize the execution. The workload may be executed a second time using the optimized settings. The settings may be stored as tags for the executable code, which may be in the form of a metadata file or as tags embedded in the source code, intermediate code, or executable code. The settings may change the performance of memory management operations in both interpreted and compiled environments. The memory management operations may include memory allocation, garbage collection, and other related functions.Type: ApplicationFiled: August 10, 2012Publication date: March 28, 2013Applicant: CONCURIX CORPORATIONInventors: Alexander G. Gounares, Ying Li, Charles D. Garrett
-
Patent number: 8392898Abstract: Managing just-in-time compilation is provided. The process designates a set of compilation threads for exclusively performing compilation functions associated with an application. A set of computation threads is designated for executing the application. Processor cycles are dynamically allocated during runtime between the set of compilation threads and the set of computation threads to maintain a ratio of processor cycles consumed by the set of compilation threads to processor cycles consumed by the set of computation threads.Type: GrantFiled: February 6, 2012Date of Patent: March 5, 2013Assignee: International Business Machines CorporationInventor: Marius Pirvu
-
Patent number: 8387016Abstract: Disclosed is a process to generate and execute relevant, non-redundant test cases starting with an execution trace. An execution trace may be collected. A sequence of actions and the data involved in the actions may then be extracted from the execution trace and persisted separately from one another. Code for a non-deterministic program (“NDP”) may be generated, comprising the sequence of actions but without determining the data. A systematic program analysis of the NDP may be made, exploring possible execution paths and beginning from the path exercised by the persisted data. A new test case may be generated which fixes particular test inputs for the NDP.Type: GrantFiled: May 1, 2009Date of Patent: February 26, 2013Assignee: Microsoft CorporationInventors: Nikolai Tillmann, Jonathan Paul de Halleux
-
Patent number: 8387027Abstract: A method for compiling source code, involving: obtaining a statement of the source code comprising a method call, where the source code is composed in a statically-typed programming language; determining whether the method call is a dynamic method call; upon determining that the method call is a dynamic method call, compiling a dynamic method invocation without performing type checking on the method call; upon determining that the method call is not a dynamic method call: performing type checking on the method call, selecting a target method to invoke, and compiling a static method invocation to invoke the target method.Type: GrantFiled: January 15, 2010Date of Patent: February 26, 2013Assignee: Oracle America, Inc. formerly Sun Microsystems, Inc.Inventors: Alexander R. Buckley, John Rose, Joseph D. Darcy
-
Patent number: 8387030Abstract: A back-end service adaptation system provides access to normalized data in a data repository for a consumer runtime environment sending a query request for denormalized data. The back-end service adaptation system can include a data access service layer, a parser layer, and a back-end service adaptation runtime layer. The consumer runtime can use a service adaptation definition language (SADL), and the parser and data access service can be configured to convert and translate the SADL request for the back-end service adaptation runtime layer.Type: GrantFiled: December 28, 2009Date of Patent: February 26, 2013Assignee: SAP AGInventors: Frank Brunswig, Thomas Fiedler, Oswald Gschnitzer, Marcel Hermanns, Markus Viol, Jens Weiler, Gerhard Wenzel
-
Patent number: 8387031Abstract: A mechanism is provided for operating a computing system, in which an inner virtual machine translates first instructions, which are supported by the inner virtual machine, into second instructions, which are supported by an outer virtual machine. The mechanism encodes, in the inner virtual machine, third instructions into the second instructions into which the first instructions are translated, the third instructions including hints for facilitating an execution of the second instructions, and, in an event the hints are supported by the outer virtual machine, initiating the execution of the second instructions while utilizing the hints by the outer virtual machine to achieve an increased efficiency of the execution of the second instructions.Type: GrantFiled: January 23, 2009Date of Patent: February 26, 2013Assignee: International Business Machines CorporationInventors: Derek B. Inglis, Marcel Mitran, Ali I. Sheikh, Kevin A. Stoodley
-
Verifying that a method has been implemented for a program written in a dynamic programming language
Patent number: 8387020Abstract: One embodiment of the present invention provides a system that verifies that a program method has been implemented for a program written in a dynamic programming language. During operation, the system receives a user request to check for an implementation of a program method (or method) that is called in the program. The system uses information in this user request to generate a testing method that determines whether a class associated with the method responds to a specific request. This testing method is executed at run-time to verify that the method is implemented for the program.Type: GrantFiled: July 25, 2007Date of Patent: February 26, 2013Assignee: Google Inc.Inventors: David MacLachlan, Thomas E. Van Lenten -
Patent number: 8387032Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for captive runtime deployment. In one aspect, a method performed by data processing apparatus employing a runtime environment includes accessing software code of a software application that relies on a runtime of the runtime environment to operate; selecting a proper subset of the runtime, including sharable library code, based on information associated with the software application; combining the software code and the proper subset of the runtime to form a computer program configured to effect the software application using a version of the runtime captive to the computer program, the captive version of the runtime including the proper subset of the runtime; and storing the computer program on a computer-readable medium coupled with a processor.Type: GrantFiled: March 4, 2009Date of Patent: February 26, 2013Assignee: Adobe Systems IncorporatedInventors: Oliver Goldman, Edward R. W. Rowe
-
Patent number: 8380939Abstract: In a virtualized system using memory page sharing, a method is provided for maintaining sharing when Guest code attempts to write to the shared memory. In one embodiment, virtualization logic uses a pattern matcher to recognize and intercept page zeroing code in the Guest OS. When the page zeroing code is about to run against a page that is already zeroed, i.e., contains all zeros, and is being shared, the memory writes in the page zeroing code have no effect. The virtualization logic skips over the writes, providing an appearance that the Guest OS page zeroing code has run to completion but without performing any of the writes that would have caused a loss of page sharing. The pattern matcher can be part of a binary translator that inspects code before it executes.Type: GrantFiled: August 19, 2011Date of Patent: February 19, 2013Assignee: VMware, Inc.Inventor: Ole Agesen
-
Patent number: 8381224Abstract: In general, this disclosure is directed to a software virtual machine that provides high-performance transactional data acceleration optimized for multi-core computing platforms. The virtual machine utilizes an underlying parallelization engine that seeks to maximize the efficiencies of multi-core computing platforms to provide a highly scalable, high performance (lowest latency), virtual machine. In some embodiments, the virtual machine may be viewed as an in-memory virtual machine with an ability in its operational state to self organize and self seek, in real time, available memory work boundaries to automatically optimize maximum available throughput for data processing acceleration and content delivery of massive amounts of data.Type: GrantFiled: June 15, 2012Date of Patent: February 19, 2013Assignee: uCIRRUSInventors: Raymond J. Huetter, Alka Yamarti
-
Publication number: 20130036410Abstract: Methods, apparatuses, and computer program products for real-time temperature sensitive machine level code compilation and execution are provided. Embodiments include compiling and executing, by a just-in-time (JIT) compiler, machine level code; during execution of the machine level code, determining, by the JIT compiler, an execution temperature for the machine level code, including reading temperature measurements from one or more processor temperature sensors; based on the determined execution temperature, identifying, by the JIT compiler, a portion of the machine level code that, when executed, caused temperature measurements of one or more processor temperature sensors to exceed a predetermined threshold temperature; recompiling, by the JIT compiler, the machine level code including modifying the identified portion to generate a new execution temperature that is lower than the previously determined execution temperature; and executing, by the JIT compiler, the recompiled machine level code.Type: ApplicationFiled: August 2, 2011Publication date: February 7, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
-
Patent number: 8370819Abstract: A mechanism is provided for making information about the virtual disk image file and/or its associated virtual image configuration file more readily available to a user. The virtual disk image file format is expanded to include fields in which information about the data in the file can be stored. Extensible information on file content, compatible HW configurations, compatible host OSes, timeout status, DRM status, patch state, and network topology, tag data for indexing, configuration files, saved state files, operation history data, and the like is stored in a location within a virtual disk image file that can be read without executing the virtual machine. This information can then be used to search the contents of the virtual disk image, to enforce usage policies, to provide extensibility for vendors, and the like.Type: GrantFiled: March 25, 2005Date of Patent: February 5, 2013Assignee: Microsoft CorporationInventors: Parag Chakraborty, Eric P. Traut
-
Patent number: 8365153Abstract: A server is disclosed that includes an interface to a data communication network, a compiler library that stores a plurality of different compilers, and compiler selection logic responsive to data received at the interface and including logic. The compiler selection logic is configured to select one of the plurality of different compilers based on an evaluation of the received data. The selected compiler generates compiled output data and the compiled output data is communicated over the data communication network to a client.Type: GrantFiled: October 26, 2007Date of Patent: January 29, 2013Assignee: QUALCOMM IncorporatedInventors: Lingjun Chen, Guofang Jiao, Yun Du, Chun Yu
-
Patent number: 8365157Abstract: A system and method for early platform dependency preparation of intermediate code representation during bytecode compilation in a virtual machine (VM), or other runtime environment, and particularly for use in a system that includes a Java Virtual Machine (JVM). Current techniques for separating the platform dependent intermediate representation from the platform independent intermediate representation using a watertight abstraction layer gives non-optimal side effects (such as compiler source code duplication or inefficiency in the generated code). Embodiments of the present invention enable the compiler to construct platform dependent idioms using medium level intermediate code, and maintain the platform dependent construct all the way to the final native code.Type: GrantFiled: October 22, 2007Date of Patent: January 29, 2013Assignee: Oracle International CorporationInventor: Marcus Lagergren
-
Patent number: 8365154Abstract: A method in a software development environment for developing product runtime code having at least two code components written in different runtime languages, the method comprising: providing a programming interface for development of the code components in a single development language: translating developed code components in the development language back to the respective runtime language for execution.Type: GrantFiled: May 28, 2010Date of Patent: January 29, 2013Assignee: International Business Machines CorporationInventor: Manvendra Gupta
-
Patent number: 8359317Abstract: A method and device index resource content in a computer network. The computer network includes at least a first computer as a search engine and at least a second computer as a resource content site where a resource content of a user is stored. A determination is made as to whether the resource content is linked to a user-defined indexing code. The user-defined indexing code is used to process the resource content to obtain a set of information describing the resource content. The user-defined indexing code is executed in response to determining that the resource content is linked to the user-defined indexing code. The set of information describing the resource content is obtained as an indexing result in response to the executing.Type: GrantFiled: February 16, 2009Date of Patent: January 22, 2013Assignee: International Business Machines CorporationInventors: Ling Zhang, Shen Yu
-
Patent number: 8359582Abstract: Method, computer readable medium, and system for specifying before-compiled code, compiling the before-compiled code into a compiled code snippet, specifying an insertion point in a compiled code block of a computer program, and inserting the compiled code snippet into the compiled code block at the specified insertion point while the computer program is running.Type: GrantFiled: September 27, 2008Date of Patent: January 22, 2013Assignee: Hewlett-Packard Development Company, L.P.Inventor: Tavis Elliott
-
Patent number: 8359496Abstract: The present disclosure relates to techniques for potentially increasing the reliability and/or stability of systems having virtual machines that support multiple modes of execution. For example, as described herein, a virtual machine partitions a plurality of program instructions into a plurality of traces for execution by a virtual machine operating on a computing device, wherein the virtual machine has first and second modes of execution, and wherein each of the plurality of traces comprises one or more of the plurality of program instructions. The virtual machine applies the second mode of execution to a first trace in the plurality of traces and determines an error condition that is caused by the application of the second mode of execution to the first trace. After determining the error condition, the virtual machine applies the first mode of execution to the first trace to recover the virtual machine from the error condition.Type: GrantFiled: August 31, 2010Date of Patent: January 22, 2013Assignee: Google Inc.Inventors: Daniel R. Bornstein, Ben C. Cheng, William B. Buzbee
-
Patent number: 8359590Abstract: A computer system has a runtime environment (e.g. Java) and a deployment unit (e.g. in a Spring framework layer) arranged to deploy the application into the runtime environment. The application comprises bundles (e.g. OSGi bundles) with manifest metadata having export statements defining exported packages. The deployment unit comprises a receiver unit to receive the bundles, an extractor unit to examine the metadata and extract the export statements, a converter unit to convert each of the export statements into a corresponding import statement, and a creator unit to add a synthetic bundle having the import statements inserted in its metadata. The deployment unit sets a thread context class loader to delegate class loading to a class loader of the synthetic bundle. Thus, at runtime, classes of the application are only loaded when they are explicitly exported packages as defined by the synthetic bundle.Type: GrantFiled: March 10, 2009Date of Patent: January 22, 2013Assignee: VMware, Inc.Inventors: Samuel Hugh Brannen, Jr., Adrian Mark Colyer, Rob Harrop, Glyn Normington, Andy Wilkinson
-
Patent number: 8356351Abstract: A method for pre-verification of a code module when the code module is installed or updated in a virtual machine, comprising: loading codes in the installed or updated code module; performing code verification on the codes in the code module; if the code verification is passed, generating a certificate of the code module; and storing the code module passing the code verification and its certificate. The present invention also discloses a method for verification of a code module at runtime of the code module in a virtual machine, comprising loading codes in the code module; generating a certificate of the code module based on the loaded codes; if the generated certificate of the code module and a pre-stored certificate of the code module are identical, verifying the code module to be valid; otherwise performing a pre-verification on the code module.Type: GrantFiled: January 18, 2008Date of Patent: January 15, 2013Assignee: International Business Machines CorporationInventors: Rong Yao Fu, Hai Tao Long, William J. Tracey, David Alvra Wood, III
-
Patent number: 8352415Abstract: The different illustrative embodiments provide a method, computer program product, and apparatus for converting a first image for a virtual machine formatted for a first virtual environment. A second image is created, wherein the second image is non-specific to any virtual environment. A determination is made whether a portion of files to be copied from the first virtual image to the second virtual image should be replaced using a compatibility matrix, wherein the compatibility matrix identifies changes between the first virtual environment and a second virtual environment. A replacement for the portion of the files is copied to the second image using the compatibility matrix responsive to a determination that the portion of the files in the set of files should be replaced. The file is copied to the second image responsive to an absence of a determination that the each file in the set of files should be replaced.Type: GrantFiled: June 15, 2010Date of Patent: January 8, 2013Assignee: International Business Machines CorporationInventors: Yulia Gaponenko, Alexey Miroshkin, Indrajit Poddar, Vladislav B. Ponomarev, Igor Sukharev
-
Techniques for constructing and using run-time JAVA archives (JAR) for JAVA Stored Procedures (JSPS)
Patent number: 8352911Abstract: Techniques for constructing and using run-time JAVA Archive (JAR) files for JAVA Stored Procedures (JSPs) are provided. JSP methods referenced by an application via a plurality of different JAR files are extracted and packed into a single packed JAR file. When the application tries to execute a JSP, the attempt to process the JSP methods is redirected to a new JSP that calls the single packed JAR file.Type: GrantFiled: November 21, 2007Date of Patent: January 8, 2013Assignee: Teradata US, Inc.Inventors: John Douglas Frazier, Like Gao, Yu Long, Michael Leon Reed -
Patent number: 8352929Abstract: A method for preventing the unauthorized modification of a software or unauthorized modification of runtime data. According to this method, a converter, which is capable of converting the software into a generalized machine code is provided. The converter is designed such that it cannot be reverse engineered, by using a conversion process that causes data loss. An interpreter, which the knowledge of its process method is kept restricted, is also provided. The interpreter interprets the general machine code into a specific machine code, while reconstructing the lost data during the interpretation process.Type: GrantFiled: March 30, 2006Date of Patent: January 8, 2013Assignee: Microsoft CorporationInventors: Keren Asipov, Boris Asipov
-
Patent number: 8347270Abstract: A computer-implemented software self-assembled system and method for providing an external override and monitoring capability to dynamically self-assembling software containing machines that self-assemble execution sequences and data structures. The method provides an external override machine that can be introduced into a system of self-assembling machines while the machines are executing such that the functionality of the executing software can be changed or paused without stopping the code execution and modifying the existing code. Additionally, a monitoring machine can be introduced without stopping code execution that can monitor specified code execution functions by designated machines and communicate the status to an output device.Type: GrantFiled: October 25, 2007Date of Patent: January 1, 2013Assignee: Sandia CorporationInventors: Ann M. Bouchard, Gordon C. Osbourn