Platform-independent Form (e.g., Abstract Code) Patents (Class 717/147)
  • Patent number: 11928447
    Abstract: Systems and methods for configuration management through information and code injection at compile time. An example method comprises: receiving a source code comprising one or more references to a variable; receiving metadata associated with the source code, wherein the metadata specifies a range of values of the variable; and identifying, in view of the range of values of the variable, a reachable section of the source code.
    Type: Grant
    Filed: July 26, 2021
    Date of Patent: March 12, 2024
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 11726756
    Abstract: Example embodiments of the present disclosure provide, in one example aspect, an example computer-implemented method for verification of a shared cache. The example method can include retrieving a precompiled shared cache entry corresponding to a shared cache key, the shared cache key being associated with an operation request. The example method can include obtaining a directly compiled resource associated with the operation request. The example method can include certifying one or more portions of the shared cache based at least in part on a comparison of the precompiled shared cache entry and the directly compiled resource.
    Type: Grant
    Filed: December 17, 2021
    Date of Patent: August 15, 2023
    Assignee: GOOGLE LLC
    Inventors: Hyo Jun Kim, Rohit Upadhyaya Jayasankar
  • Patent number: 11593077
    Abstract: A method, apparatus, electronic device, storage medium and program product of code management are provided. In response to a request for building an executable file, corresponding developed code is obtained from a code library. The developed code is compiled into intermediate code to determine security of the intermediate code. In response to determining that the intermediate code is secure, an executable file is generated based on the intermediate code.
    Type: Grant
    Filed: February 24, 2022
    Date of Patent: February 28, 2023
    Assignee: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
    Inventors: Wanli Yu, Wenbo Duan, Jianye Ye, Xing Yao, Qiang Fu
  • Patent number: 11398004
    Abstract: A method is provided for buffer allocation on a graphics processing unit. The method includes analyzing, by the graphics processing unit, a program to be executed on the graphics processing unit to determine, for an object in the program, a set of elements in the object that are designated to be accessed during an execution of the program. The method further includes allocating, by the graphics processing unit, a placement of the object in a device buffer on the graphics processing unit based on the set of elements to minimize a number of memory accesses during the execution of the program.
    Type: Grant
    Filed: October 28, 2019
    Date of Patent: July 26, 2022
    Assignee: International Business Machines Corporation
    Inventor: Kazuaki Ishizaki
  • Patent number: 11256483
    Abstract: Systems and methods are provided for obtaining one or more source code files that correspond to a software program. At least one first software package that is separately executable from the software program is obtained, the first software package including one or more source code files. At least one first callable library for the first software package and at least one first invocation mechanism for calling the first callable library are generated. A composite software program that is capable of invoking at least the software program and the first callable library for the first software package using the first invocation mechanism is generated.
    Type: Grant
    Filed: May 8, 2020
    Date of Patent: February 22, 2022
    Assignee: Palantir Technologies Inc.
    Inventor: Nicholas Miyake
  • Patent number: 11061686
    Abstract: A non-transitory computer readable storage medium stores program instructions including a set of first program instructions and a set of second program instructions for an information processing apparatus. The set of first and second program instructions control the computer to function as a higher-level module and a lower-level module, respectively. The set of first program instructions causes the apparatus to perform transmitting a first instruction to the lower-level module for instructing the lower-level module to generate second parameters, and transmitting a second instruction to an operating system (OS) via a first application programming interface (API) for instructing the OS to transmit the second parameters to a printer. The set of second program instructions causes the apparatus to perform transmitting the generated second parameters to the higher-level module. The set of first program instructions is written in a programming language that enables the higher-level module to call the first API.
    Type: Grant
    Filed: October 17, 2019
    Date of Patent: July 13, 2021
    Assignee: BROTHER KOGYO KABUSHIKI KAISHA
    Inventor: Naoki Kusumoto
  • Patent number: 11055403
    Abstract: A method, system, and computer program product, include extracting information related to one or more processes of one or more applications running on a virtual machine from a memory of the virtual machine, building at least one first application signature based on the extracted information, and identifying the one or more applications running on the virtual machine by matching the at least one first application signature with one or more second application signatures previously stored.
    Type: Grant
    Filed: January 6, 2017
    Date of Patent: July 6, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peng Fei Chen, Fan Jing Meng, Jing Min Xu, Lin Yang, Xiao Zhang
  • Patent number: 10831479
    Abstract: A single architected instruction to move data is executed. The executing includes moving data of a specified length from a source location to a destination location in a right-to-left sequence to provide a predictable result. A predictable result is provided, even though a portion of the destination location is contained within the source location from which the data is being moved.
    Type: Grant
    Filed: February 20, 2019
    Date of Patent: November 10, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Timothy Slegel, John R. Ehrman, Dan Greiner, Anthony Saporito, Aaron Tsai
  • Patent number: 10776249
    Abstract: A validation and testing method is provided. The validation and testing method is executable by a processor coupled to a memory. The validation and testing method includes inserting intermediary save points within an instruction stream. The method includes executing the instruction stream including the intermediary save points. The method includes executing a save operation for data in one or more registers at each of the one or more intermediary save points.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: September 15, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ali Y. Duale, Dennis Wittig
  • Patent number: 10725838
    Abstract: In some examples, application startup control may include determining a relationship between a first page and a second page of an application, and generating a first code file for the first page based upon the determined relationship. Application startup control may further include generating a second code file for the second page. The first code file may include code to load the second code file in response to the first code file being loaded and executed.
    Type: Grant
    Filed: March 29, 2017
    Date of Patent: July 28, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Mariyan Fransazov, Hemanth Kumar, Radu Bogdan Gruian, Michael Hideaki Yamamoto, Muralidhar Sathsahayaraman
  • Patent number: 10552915
    Abstract: A plan authoring tool can receive user input describing parameters of benefits of a benefit plan. The plan authoring tool can convert the user input into a machine structured plan description (MSPD) that defines the benefit plan. The MSPD can be used by a plan documentation generator to generate one or more plan documents that explain the benefits and/or indicate how to manually adjudicate claims submitted in association with the benefit plan. The MSPD can also be used to automatically adjudicate claims. Plan analysis tools can be used to evaluate an MSPD to validate a new or edited benefit plan and/or provide user feedback on the benefit plan so that users, if desired, can revise the MSPD via the plan authoring tool.
    Type: Grant
    Filed: August 21, 2018
    Date of Patent: February 4, 2020
    Assignee: Collective Health, Inc.
    Inventors: Asif Khalak, Sergio Martinez-Ortuno, Henning Chiv, Michelle Alicia Gard, Emma Louise Wise
  • Patent number: 10515430
    Abstract: A method is provided for buffer allocation on a graphics processing unit. The method includes analyzing, by the graphics processing unit, a program to be executed on the graphics processing unit to determine, for an object in the program, a set of elements in the object that are designated to be accessed during an execution of the program. The method further includes allocating, by the graphics processing unit, a placement of the object in a device buffer on the graphics processing unit based on the set of elements to minimize a number of memory accesses during the execution of the program.
    Type: Grant
    Filed: November 3, 2015
    Date of Patent: December 24, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Kazuaki Ishizaki
  • Patent number: 10496378
    Abstract: A static multi-entry point function with more than one entry point is provided. The function allows callers to enter the function at different entry points using an offset. Each entry point of the function is associated with a different offset, and includes instructions that identify data that is associated with the entry point. Each entry point further includes an instruction that jumps to a common prologue of the function. The common prologue loads the identified data into local variables. The function also includes a functional component that performs different actions depending on the data in the local variables. The function includes a default entry point that is used when the function is called without any offset, so that the function appears to behave like a normal function to scanners.
    Type: Grant
    Filed: May 4, 2017
    Date of Patent: December 3, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Zhongyuan Li, Tianzhuang Dou, Lei Kou
  • Patent number: 10423397
    Abstract: Systems, methods and computer readable medium described herein relate to techniques for automatic type inference from machine code. An example technique includes receiving a machine code of a program, generating an intermediate representation of the machine code, generating a plurality of type constraints from the intermediate representation, generating one or more inferred types based at least upon the plurality of type constraints, converting the generated inferred types to C types, updating the intermediate representation by applying the inferred types to the intermediate representation, and outputting said inferred types, said converted C types, and/or at least a portion of the updated intermediate representation.
    Type: Grant
    Filed: December 29, 2016
    Date of Patent: September 24, 2019
    Assignee: GRAMMATECH, INC.
    Inventors: Matthew Noonan, Alexey Loginov, David Cok
  • Patent number: 10324741
    Abstract: According to one technique, a virtual machine stores type profiling data for program code, the type profiling data indicating observed types for profiled values within the program code at specific profile points during previous executions of the program code. The virtual machine determines to optimize a particular code segment of the program code. The virtual machine generates a program representation describing a flow of data through different variables within the code segment. The virtual machine assigns speculative types to certain variables in the particular code segment by: assigning speculative types of first variables to respective observed types recorded in the type profiling data; calculating speculative types of second variables, based on propagating the speculative types of the first variables through the program representation.
    Type: Grant
    Filed: April 29, 2015
    Date of Patent: June 18, 2019
    Assignee: Oracle International Corporation
    Inventors: Roland Westrelin, John Robert Rose
  • Patent number: 10083129
    Abstract: Systems and methods are provided for modifying one or more guest memory permissions. An example method includes receiving a request to modify a memory permission of a guest running on a virtual machine. The guest includes a kernel that includes loading code and kernel code. The method also includes determining whether the request was sent from the loading code. The loading code corresponds to a first set of hypervisor page tables and is stored at a first range of memory addresses, and the kernel code corresponds to a second set of hypervisor page tables. The first range of memory addresses is in an executable mode in the first set of hypervisor page tables. The method further includes in response to a determination that the request was sent from the loading code, modifying the guest's memory permission in the second set of hypervisor page tables in accordance with the request.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: September 25, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael Tsirkin
  • Patent number: 10061614
    Abstract: Embodiments include method, systems and computer program products for resource management of untrusted programs. In some embodiments, a first request to process an asynchronous event by an untrusted application may be received. The first request may include a host memory address. A counter may be incremented in response to receiving the first request. A device memory address may be retrieved from a device translation table using the host memory address. Processing the first request by a device using the device memory address may be facilitated. A second request to unregister the host memory address may be received. The counter may be determined to be non-zero. An action may be implemented in response to determining that the counter is non-zero.
    Type: Grant
    Filed: November 14, 2017
    Date of Patent: August 28, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Dale F. Riedy, Anthony T. Sofia, Brad D. Stilwell
  • Patent number: 9996632
    Abstract: A stream of tuples may be processed by receiving at a first stream operator a first tuple from a stream of tuples. In response to receiving the first tuple, port mutability conditions for a first stream operator and a second stream operator may be analyzed. In response to identifying the port mutability conditions for a first stream operator and a second stream operator, a first set of attribute mutability conditions for the first tuple received at the first stream operator may be identified. Based on the first set of attribute mutability conditions, a reference of an attribute from the first tuple may be generated where the reference is added to a second tuple passing from the first stream operator to the second stream operator.
    Type: Grant
    Filed: May 21, 2015
    Date of Patent: June 12, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ryan K. Cradick, Victor Dogaru, Peter A. Nicholls
  • Patent number: 9971851
    Abstract: A stream of tuples may be processed by receiving at a first stream operator a first tuple from a stream of tuples. In response to receiving the first tuple, port mutability conditions for a first stream operator and a second stream operator may be analyzed. In response to identifying the port mutability conditions for a first stream operator and a second stream operator, a first set of attribute mutability conditions for the first tuple received at the first stream operator may be identified. Based on the first set of attribute mutability conditions, a reference of an attribute from the first tuple may be generated where the reference is added to a second tuple passing from the first stream operator to the second stream operator.
    Type: Grant
    Filed: June 24, 2015
    Date of Patent: May 15, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ryan K. Cradick, Victor Dogaru, Peter A. Nicholls
  • Patent number: 9760348
    Abstract: Functionality is described for providing a compiled program that can be executed in a parallel and a distributed manner by any selected runtime environment. The functionality includes a compiler module for producing the compiled program based on a dataflow representation of a program (i.e., a dataflow-expressed program). The dataflow-expressed program, in turn, includes a plurality of tasks that are connected together in a manner specified by a graph (such as a directed acyclic graph). The compiler module also involves performing static type-checking on the dataflow-expressed program to identify the presence of any mismatch errors in the dataflow-expressed program. By virtue of this approach, the above-described functionality can identify any errors in constructing the graph prior to its instantiation and execution in a runtime environment.
    Type: Grant
    Filed: November 29, 2010
    Date of Patent: September 12, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Krishnan Varadarajan, Michael L. Chu
  • Patent number: 9734039
    Abstract: The present disclosure relates to a stack overflow protection device and a stack protection method. According to the present disclosure, a stack overflow protection device is provided, which includes a dividing unit configured to divide at least one function in the input codes into a code region with a string operation and a code region without a string operation. The device also includes a stack protection unit configured to set up stack protection in the code region with a string operation. The present disclosure further provides a stack protection method.
    Type: Grant
    Filed: May 20, 2015
    Date of Patent: August 15, 2017
    Assignee: International Business Machines Corporation
    Inventors: Xiao Feng Guan, Jin Song Ji, Jian Jiang, Si Yuan Zhang
  • Patent number: 9703603
    Abstract: A system for executing an accelerator call function includes a processor, a register context memory, an accelerator scheduler, multiple accelerator cores, and a stack memory. The processor executes a program task. The processor includes a register that stores task context information of the program task. The accelerator call function includes an accelerator operation. The processor forwards the accelerator operation to the accelerator scheduler. Concurrently, the processor stores the task context information in the register context memory. The accelerator scheduler identifies one of the accelerator cores and forwards the accelerator operation to the identified core. The identified core executes the accelerator operation, generates a return value, and stores the return value in the register context memory, which in turn provides the return value and the task context information to the processor.
    Type: Grant
    Filed: April 25, 2016
    Date of Patent: July 11, 2017
    Assignee: NXP USA, INC.
    Inventors: Sourav Roy, Michael B. Schinzler
  • Patent number: 9524239
    Abstract: Software solutions in a business software framework can expose their data via web services, which can readily provide access to all non-customized fields of objects included as part of the default installation of the software solution. However, customer-added extensions, such as for example custom fields and the like, added to customize the software solution for a specific business or business use can be difficult to add to web services by a typical business user who lacks technical abilities. Described herein are approaches to enabling addition of custom fields to web services via an intuitive interface that does not require technical understanding of the software solution, the business software framework, web services, etc.
    Type: Grant
    Filed: January 14, 2013
    Date of Patent: December 20, 2016
    Assignee: SAP SE
    Inventors: Georg Wilhelm, Daniel Niehoff, Uwe Schlarb, Matthias Lehr, Rene Dehn, Daniel Figus, Ralf Schroth, Steffen Witt, Daniel Wachs, Knut Heusermann
  • Patent number: 9489187
    Abstract: A method of installing an application on a mobile user device is disclosed. A request for the application is received. Information is received related to the mobile user device on which the application is to be installed. A version of an application is determined to send in response to the request for the application and the information related to the mobile user device. The application version is sent to the mobile user device. Information is received related to the performance of the application version. Adapted application determination information is stored related to at least a portion of the received information.
    Type: Grant
    Filed: November 7, 2006
    Date of Patent: November 8, 2016
    Assignee: Yahoo, Inc.
    Inventors: Sean N. Byrnes, Gabriel Vanrenen, Karl Harris
  • Patent number: 9465608
    Abstract: Techniques to perform code separation with semantic guarantees are described. When porting a software application to a different target architecture and potentially to a different set of platforms and programming languages, application functionality will change based at least to accommodate architectural differences. However, business logic should be guaranteed to be semantically preserved, efficiency optimized to the platform benefits and limitations. Code separation identifies candidate components, associates the candidate components with a component classification or type, and automates the determining of which of the candidate components are to be associated with various portions of the target architecture. Automated code separation may include various inference algorithms to determine which components are to be associated with a component type. Also described are various use cases for code separation.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: October 11, 2016
    Assignee: ArtinSoft Corporation
    Inventors: Carlos Araya, Mauricio Rojas, Iván Sanabria
  • Patent number: 9424323
    Abstract: A method of tracking dependencies in an application file, including analyzing the application file to identify at least one dependency in the application file, extracting information from the application file related to the dependency to allow identification of an entity to which the application file has a dependency from the information, and storing the dependency for the application file in the application tier data dictionary. A system has a memory, at a first tier, to store an application tier data dictionary and at least one application file, and a processor at the first tier to determine dependencies in the application file, store the dependencies in the application tier data dictionary, communicate with a second tier, separate from the first tier, as needed to access information with regard to the dependencies, and store the information in the application tier data dictionary.
    Type: Grant
    Filed: January 31, 2008
    Date of Patent: August 23, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: AMulya Mishra, Vinoth Kumar Rajasekaran, Alan Fothergill, Oliver Steinmeier, Kenichi Mizuta
  • Patent number: 9329844
    Abstract: In one embodiment, an improved programming system and language for application development is provided that combines elements of the C and Objective-C languages without the constraints imposed by a requirement to maintain compatibility with the C language. The language provides the functionality of the C language compatibility in certain areas to improve the inherent safety of software written in the language. The new language includes default safety considerations such as bounds and overflow checking.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: May 3, 2016
    Assignee: Apple Inc.
    Inventors: Christopher A. Lattner, Douglas Gregor, Ted Kremenek, Jr., John McCall, Joe Groff
  • Patent number: 9286612
    Abstract: An integrated system for managing changes in regulatory and nonregulatory requirements for business activities at an industrial or commercial facility. Application of this system to environmental, health and safety activities, and to food, drug, cosmetic, and medical treatment and device activities, are discussed as examples.
    Type: Grant
    Filed: June 4, 2013
    Date of Patent: March 15, 2016
    Assignee: Applications in Internet Time, LLC
    Inventors: Richard Frankland, Christopher M. Mitchell, Joseph D. Ferguson, Anthony T. Sziklai, Ashish K. Verma, Judith E. Popowski, Douglas H. Sturgeon
  • Patent number: 9274930
    Abstract: A debugging system for compiled code may include static analysis of the compiled code to determine current values for variables at a paused location within the compiled code. The static analysis may consist of liveness analysis to determine which variables are ‘live’ and in which memory locations those variables are stored. The variables and their values may be presented to a user. The debugging system may include mechanisms for setting stop points, for pausing and continuing execution, as well as stepping through a step or group of steps. Other static analysis may include unwind information that may determine a point in the code from where the current function was called, as well as partial decompilation of the source code to produce a representation of the compiled code that is closer to that of the source code.
    Type: Grant
    Filed: December 22, 2008
    Date of Patent: March 1, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Vance P. Morrison
  • Patent number: 9256969
    Abstract: A visualization system for a tracer may include a processing pipeline that may generate tracing data, preprocess the data, and visualize the data. The preprocessing step may include a mechanism to process user-defined expressions or other executable code. The executable code may perform various functions including mathematical, statistical, aggregation with other data, and others. The preprocessor may perform malware analysis, test the functionality, then implement the executable code. A user may be presented with an editor or other text based user interface component to enter and edit the executable code. The executable code may be saved and later recalled as a selectable transformation for use with other data streams.
    Type: Grant
    Filed: February 1, 2013
    Date of Patent: February 9, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Russell S. Krajec, Alexander G. Gounares
  • Patent number: 9256415
    Abstract: The present invention is an installation script generation engine. An application component distribution system can include a repository of semantic models for interdependent ones of application components. A mapping of individual listings in the semantic models to target platform specific installation instructions further can be included. Finally, a script generation engine can be configured to produce a target specific set of instructions for a specified application component based upon a mapping of at least one of the semantic models in the repository. Notably, each of the semantic models can include a listing of component relationships, target platform requirements and platform neutral installation instructions. Moreover, the component relationships can include at least one component relationship selected from the group consisting of a containment relationship, a usage relationship, a contradiction relationship, and an equivalence relationship.
    Type: Grant
    Filed: February 11, 2013
    Date of Patent: February 9, 2016
    Assignee: International Business Machines Corporation
    Inventors: Kwasi Addo Asare, Attila Barta, Richard D. Huddleston, Daniel Everett Jemiolo
  • Patent number: 9235391
    Abstract: A method, apparatus, and computer program product for optimizing software are provided. The software includes a plurality of modules which include at least one controllable module, the method comprises: determining a shared symbol defined by the at least one controllable module, the shared symbol being a symbol used by two or more modules of the software; generating a symbol use file indicating the shared symbol defined by the at least one controllable module; and rebuilding the software based on the symbol use file, so that a symbol table in a controllable module of the rebuilt software only contains the shared symbol indicated in the symbol use file. A number of symbols in the symbol table can be reduced accurately and effectively, thereby time needed for loading the symbol table can be reduced and software execution efficiency can be improved.
    Type: Grant
    Filed: March 13, 2015
    Date of Patent: January 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Huai Yun Ban, JiuFu Guo, Jinsong Ji, Si Yuan Zhang
  • Patent number: 9185082
    Abstract: Application message payload data elements are transformed within a network infrastructure element such as a packet data router or switch. The network element has application message transformation logic for receiving one or more packets representing an input application message logically associated with OSI network model Layer 5 or above; extracting an application message payload from the input application message; identifying one or more first content elements in the application message payload; transforming the first content elements into one or more second content elements of an output application message; and forwarding the output application message to a destination that is identified in the input application message. Transformations performed in the network element can include field reordering, field enrichment, field filtering, and presentation transformation.
    Type: Grant
    Filed: January 18, 2013
    Date of Patent: November 10, 2015
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Vinod Dashora, Sandeep Kumar
  • Patent number: 9086899
    Abstract: A loading and debugging method and a debugging system thereof are disclosed in the present invention, wherein the debugging method includes: loading a relocatable program according to an order of input segments in an ARM image file; compiling a link of the loaded relocatable program to generate an executable file; and loading the executable file into a debugging tool, to realize the debugging of the relocatable program. The present invention achieves the debugging of a dynamic program loaded dynamically, and addresses the issue that the symbol information of the loaded relocatable file cannot be acquired and the code debugging cannot be performed directly when the relocatable file is loaded dynamically.
    Type: Grant
    Filed: April 16, 2010
    Date of Patent: July 21, 2015
    Assignee: ZTE CORPORATION
    Inventors: Xiaohui Wu, Haijian He
  • Patent number: 9081803
    Abstract: A technique for improving the performance of RCU-based searches and updates to a shared data element group where readers must see consistent data with respect to the group as a whole. An updater creates one or more new group data elements and assigns each element a new generation number that is different than a global generation number associated with the data element group, allowing readers to track update versions. The updater links the new data elements into the data element group and then updates the global generation number so that referential integrity is maintained. This is done using a generation number element that is referenced by a header pointer for the data element group, and which in turn references or forms part of one of the data elements. After a grace period has elapsed, the any prior version of the generation number element may be freed.
    Type: Grant
    Filed: February 22, 2013
    Date of Patent: July 14, 2015
    Assignee: International Business Machines Corporation
    Inventor: Paul E. McKenney
  • Patent number: 9038038
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for just in time compilation. In one aspect, a method includes receiving an application on a mobile device, the mobile device including a processor for executing native code and an interpreter for interpreting intermediate code, wherein an application includes at least one machine instruction; receiving data characterizing prior actions of the application on the mobile device; determining a portion of intermediate code to be compiled into native code based at least in part on the data, wherein the portion includes some but not all of the application; sending the portion of intermediate code over a network to a compilation server; receiving native code corresponding to the portion of intermediate code from the compilation server; and executing the native code on the processor.
    Type: Grant
    Filed: April 29, 2011
    Date of Patent: May 19, 2015
    Assignee: Google Inc.
    Inventors: Benchiao Jai, Chia-Chi Yeh
  • Patent number: 9027005
    Abstract: Embodiments of the claimed subject matter are directed to methods and a system that allows an application comprising a single code set under the COBOL Programming Language to execute in multiple platforms on the same multi-platform system (such as a mainframe). In one embodiment, a single code set is pre-compiled to determine specific portions of the code set compatible with the host (or prospective) platform. Once the code set has been pre-compiled to determine compatible portions, those portions may be compiled and executed in the host platform. According to these embodiments, an application may be executed from a single code set that is compatible with multiple platforms, thereby potentially reducing the complexity of developing the application for multiple platforms.
    Type: Grant
    Filed: June 6, 2014
    Date of Patent: May 5, 2015
    Assignee: Accenture Global Services Limited
    Inventor: Mark Neft
  • Patent number: 8938634
    Abstract: Technologies are described herein for providing power savings in a data center. Some example technologies may identify some user-provided hardware independent power saving codes from multiple virtual machines within the data center. The technologies may convert at least a portion of the user-provided hardware independent power saving codes into a device power management message specific to a computing system in the data center. The technologies may provide the device power management message to the computing system. The computing system may be configured to enable or disable one or more devices within the computing system according to the device power management message.
    Type: Grant
    Filed: January 25, 2012
    Date of Patent: January 20, 2015
    Assignee: Empire Technology Development LLC
    Inventor: Ezekiel Kruglick
  • Patent number: 8938726
    Abstract: The present disclosure describes methods, systems, and computer program products for integrating native applications into web portals. One computer-implemented method includes connecting a business enterprise portal (BEP) with a mobile device, wherein the BEP provides web-based and native-application-based content; analyzing the mobile device with the BEP to identify a native application applicable to the BEP, the native application associated with the web-based and native-application-based content and locally operational in the mobile device; generating metadata associated with at least the native application; generating a data object representing the native application and the associated metadata; and launching, from the BEP, the native application using the generated metadata.
    Type: Grant
    Filed: August 28, 2012
    Date of Patent: January 20, 2015
    Assignee: SAP AG
    Inventor: Nimrod Barak
  • Patent number: 8904368
    Abstract: A method, system, and computer program product for instantiating a composite application for different target platforms. In an exemplary manner, a template that describes a composite application having a plurality of application components is created. The template includes a composite application component assembly descriptor and a plurality of platform-specific handlers. The composite application component assembly descriptor lists each application component of the composite application. The platform-specific handlers handle the deployment of application components for the different target platforms. The composite application component assembly descriptor is evaluated to identify platform-specific implementations of the composite application components. The composite application is instantiated using one of the plurality of platform-specific handlers. The platform-specific handlers are included in the template for a platform-specific deployment for one of the plurality of target platforms.
    Type: Grant
    Filed: March 31, 2008
    Date of Patent: December 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: Walter Haenel, Stefan Hepper, Thomas Stober
  • Patent number: 8850410
    Abstract: A system and method for improving software maintainability, performance, and/or security by associating a unique marker to each software code-block; the system comprising of a plurality of processors, a plurality of code-blocks, and a marker associated with each code-block. The system may also include a special hardware register (code-block marker hardware register) in each processor for identifying the markers of the code-blocks executed by the processor, without changing any of the plurality of code-blocks.
    Type: Grant
    Filed: January 29, 2010
    Date of Patent: September 30, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ramanjaneya S. Burugula, Joefon Jann, Pratap C. Pattnaik
  • Publication number: 20140289717
    Abstract: Technology is disclosed for determining a serialization scheme used in serializing a software object by an application (“the technology”). A source application can serialize the object using multiple serialization schemes. In order for another application to deserialize the object serialized by the source application, the application may have to know the serialization scheme used in serializing the object. The technology can analyze an intermediate code, e.g., bytecode, of the source application to determine the serialization scheme used by the source application. The technology compares a portion of the code of the source application that serializes the objects with multiple serialization scheme templates having code for known serialization schemes and determines the serialization scheme used by the source application based on a matching serialization scheme template.
    Type: Application
    Filed: March 6, 2014
    Publication date: September 25, 2014
    Applicant: NEXTBIT SYSTEMS INC.
    Inventors: Michael A. Chan, Justin Quan, Michael K. Fleming, Daniel R. Bornstein
  • Patent number: 8819650
    Abstract: Mechanisms for instantiating an interface or abstract class in application code are provided. An object-oriented programming language is extended such that interfaces and abstract classes can be instantiated in application code without a concrete class specified. Metadata is defined which maps each interface or abstract class instantiation in the application code to a concrete class to be used either by the compiler at build time, or the virtual machine at runtime. Once the appropriate concrete class is determined from the metadata, the class is instantiated with a conventional class loader. The metadata may be provided, for example, as a separate file, such as a markup language file, defined with a virtual machine switch, as annotations in the application code, or the like.
    Type: Grant
    Filed: May 10, 2012
    Date of Patent: August 26, 2014
    Assignee: International Business Machines Corporation
    Inventors: Roland Barcia, Kulvir S. Bhogal, Geoffrey M. Hambrick, Robert R. Peterson
  • Patent number: 8813048
    Abstract: Embodiments of the claimed subject matter are directed to methods and a system that allows an application comprising a single code set under the COBOL Programming Language to execute in multiple platforms on the same multi-platform system (such as a mainframe). In one embodiment, a single code set is pre-compiled to determine specific portions of the code set compatible with the host (or prospective) platform. Once the code set has been pre-compiled to determine compatible portions, those portions may be compiled and executed in the host platform. According to these embodiments, an application may be executed from a single code set that is compatible with multiple platforms, thereby potentially reducing the complexity of developing the application for multiple platforms.
    Type: Grant
    Filed: January 5, 2010
    Date of Patent: August 19, 2014
    Assignee: Accenture Global Services Limited
    Inventor: Mark Neft
  • Patent number: 8813053
    Abstract: Systems and methods for parallel incomplete LU (ILU) factorization in distributed sparse linear systems, which order nodes underlying the equations in the system(s) by dividing nodes into interior nodes and boundary nodes and assigning no more than three codes to distinguish the boundary nodes. Each code determines an ordering of the nodes, which in turn determines the order in which the equations will be factored and the solution performed.
    Type: Grant
    Filed: September 25, 2012
    Date of Patent: August 19, 2014
    Assignee: Landmark Graphics Corporation
    Inventors: Qinghua Wang, James William Watts, III
  • Patent number: 8813044
    Abstract: A method, system, and article of manufacture are disclosed for transforming a definition of a process for delivering a service. This service process definition is comprised of computer readable code. The method comprises the steps of expressing a given set of assumptions in a computer readable code; and transforming said process definition by using a processing unit to apply said assumptions to said process definition to change the configuration of the process definition. The process definition may be transformed by using factors relating to the specific context in or for which the process definition is executed. Also, the process definition may be transformed by identifying, in a flow diagram for the service process definition, flows to which the assumptions apply, and applying program rewriting techniques to those identified flows.
    Type: Grant
    Filed: September 6, 2012
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventors: David F. Bantz, Steven J. Mastrianni, James R. Moulic, Dennis G. Shea
  • Patent number: 8813047
    Abstract: A practical language for writing analysis and transformation tools for C/C++ and other languages is provided. This language, YATL, is imperative in style and designed to be easy to use for someone familiar with the grammar of the target language. It allows the developer to describe transformations with reference to elements of the target grammar through a pluggable personality to a compiler. This provides the means for powerful, yet easy to write, transformation programs, while fundamentally remaining language agnostic.
    Type: Grant
    Filed: September 8, 2005
    Date of Patent: August 19, 2014
    Assignee: Alcatel Lucent
    Inventors: Daniel G. Waddington, Bin Yao
  • Patent number: 8806457
    Abstract: Deferred constant pool generation is disclosed. Optimization processing is performed with respect to an intermediate representation of a source code. The optimized intermediate representation is used to generate a constant pool. In some embodiments, the source code comprises JavaScript, which is used to generate a low level virtual machine (LLVM) or other intermediate representation (IR), which intermediate representation is optimized prior to a constant pool being generated.
    Type: Grant
    Filed: December 15, 2008
    Date of Patent: August 12, 2014
    Assignee: Apple Inc.
    Inventors: Victor Leonel Hernandez Porras, Roger Scott Hoover, Christopher Arthur Lattner, Eric Marshall Christopher
  • Patent number: 8793670
    Abstract: 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: Grant
    Filed: January 7, 2013
    Date of Patent: July 29, 2014
    Assignee: Oracle International Corporation
    Inventor: Marcus Lagergren
  • Patent number: 8792870
    Abstract: The invention relates to a switching system and a switching method for a mobile radio network. Data is switched and adapted to the technical specifications of a mobile station according to a profile. The adapted data is transmitted to the mobile station upon request through the mobile radio network.
    Type: Grant
    Filed: June 21, 2007
    Date of Patent: July 29, 2014
    Assignee: Vodafone Holding GmbH
    Inventor: Achim Tromm