Platform-independent Form (e.g., Abstract Code) Patents (Class 717/147)
-
Patent number: 8776036Abstract: A mechanism for determining support criteria for shared libraries based on their priority levels is described. A method of embodiments of the invention includes extracting interface provisioning detail relating to interfaces associated with shared libraries provided by an operating system running on a computer system. The interfaces include application binary interfaces (ABIs). The method further includes detecting interface usage detail associated with the interfaces. The interface usage detail is based on a frequency at which one or more interfaces are used by one or more third-party software programs running on the operating system. The method further includes comparing the interface provisioning detail with the interface usage detail to determine an importance level of each shared library, and analyzing comparison results obtained from the comparison. The analyzing includes assigning a priority level to each shared library based on its importance level.Type: GrantFiled: November 23, 2010Date of Patent: July 8, 2014Assignee: Red Hat, Inc.Inventor: Kushal Das
-
Patent number: 8769507Abstract: A method, system, and article of manufacture are disclosed for transforming a definition of a process for delivering a service on a specified computing device. 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 the definition by using a processing unit to apply the assumptions to the definition of the process to change the way in which the process operates. The definition of the process may be transformed by using factors relating to the specific context in or for which the definition is executed. Also, the definition may be transformed by identifying, in a flow diagram for the process, flows to which the assumptions apply, and applying program rewriting techniques to those identified flows.Type: GrantFiled: May 14, 2009Date of Patent: July 1, 2014Assignee: International Business Machines CorporationInventors: David F. Bantz, Steven J. Mastrianni, James R. Moulic, Dennis G. Shea
-
Patent number: 8745605Abstract: Various domains may wish to specify different implementations of the type; e.g., a compilation domain may describe the type statically, an execution domain may instantiate objects of the given type, while a debugging execution domain may associate additional debugging information such as a symbol name. This may be achieved by specifying a type implementation of a particular type within respective domains which all implement a common type interface. A type binding instruction set may then select a type implementation for the type within the target instruction set according to the domain, and may bind type instances of the type within target instruction set to the selected type implementation for the current domain. This technique yields domain-specific variance in type implementation without having to reconfigure the target instruction set or perform domain-checking logic there-within.Type: GrantFiled: January 9, 2009Date of Patent: June 3, 2014Assignee: Microsoft CorporationInventors: Jonathon Michael Stall, Renaud Paquay, Sonja Keserovic, Michael Gregory Montwill
-
Patent number: 8745603Abstract: 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: May 10, 2013Date of Patent: June 3, 2014Assignee: Google Inc.Inventors: Morgan S. McGuire, Christopher G. Demetriou, Brian K. Grant, Matthew N. Papakipos
-
Patent number: 8726248Abstract: One embodiment of the present invention provides a system that improves program performance by enregistering memory locations. During operation, the system receives program object code which has been generated to use a specified number of registers that are available for a given target hardware implementation. Next, the system translates this object code to execute on a second hardware implementation which includes more registers than the first hardware implementation. The system uses these additional registers to improve the performance of the translated object code for the second hardware implementation. More specifically, the system identifies a memory access in the object code, and then rewrites an instruction associated with this memory access to access an available register instead of the original target memory location. To preserve program semantics, the system subsequently moderates accesses to the memory location to ensure that no threads access a stale value in the enregistered memory location.Type: GrantFiled: June 12, 2008Date of Patent: May 13, 2014Assignee: Oracle America, Inc.Inventors: Christopher A. Vick, Gregory M. Wright
-
Patent number: 8713544Abstract: Methods, apparati, and computer-readable media for updating proxy executable code. An apparatus embodiment of the present invention comprises generic universal proxy executable code that can be instantiated multiple times, with each instance being driven by a different set of files comprising a protocol specification file and a proxy activity code file, to control protocol decomposition and proxy functions, respectively. In a method embodiment of the present invention, a protocol specification is created or updated; proxy activity code, separate from the protocol specification, is created or updated; and the proxy executable code is executed using the protocol specification and the proxy activity code.Type: GrantFiled: November 25, 2003Date of Patent: April 29, 2014Assignee: Symantec CorporationInventors: Jeffrey Sulton, Bruce McCorkendale, Carey Nachenberg
-
Patent number: 8694682Abstract: A virtual execution system that is configured to be used in a resource-constrained device. The resource-constrained device includes an operating system and an application program that includes instructions. The virtual execution system includes an execution engine that is configured to execute the application program, and to facilitate the compatibility of the application program with the operating system. Non-functional aspects characterize the instructions and the operating system. The execution engine has access to the non-functional aspects, and implements improvements during the execution of the application program based on the non-functional aspects.Type: GrantFiled: March 22, 2007Date of Patent: April 8, 2014Assignee: Microsoft CorporationInventors: Frank Siegemund, Robert Sugar, Wolfgang Manousek
-
Publication number: 20140089907Abstract: A method for providing an application by a virtual machine. The method includes a step of compiling an application written in a source code to a native application for a particular platform and a step of transforming the compiled application into a library, wherein the library is made available to the virtual machine.Type: ApplicationFiled: December 6, 2011Publication date: March 27, 2014Applicant: Google Inc.Inventors: Gilbert Cabillic, Jean-Philippe Lesot
-
Patent number: 8677329Abstract: A method and an apparatus that instructs a compiler server to build or otherwise obtain a compiled code corresponding to a compilation request received from an application are described. The compiler server may be configured to compile source codes for a plurality of independent applications, each running in a separate process, using a plurality of independent compilers, each running in a separate compiler process. A search may be performed in a cache for a compiled code that satisfies a compilation request received from an application. A reply message including the compiled code can be provided for the application, wherein the compiled code is compiled in direct response to the request, or is obtained from the cache if the search identifies in the cache the compiled code that satisfies the compilation request.Type: GrantFiled: June 3, 2009Date of Patent: March 18, 2014Assignee: Apple Inc.Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
-
Patent number: 8640146Abstract: A method and apparatus for providing a management interface to an application server to allow user access to managed properties of a deployment. In one embodiment, the method includes receiving metadata of a deployment describing managed properties, which are generated according to a user definition. The method further includes creating a management interface for the deployment to provide user access to the managed properties.Type: GrantFiled: May 31, 2007Date of Patent: January 28, 2014Assignee: Red Hat, Inc.Inventor: Scott M. Stark
-
Patent number: 8612929Abstract: A system and method for automatic efficient parallelization of code combined with hardware transactional memory support. A software application may contain a transaction synchronization region (TSR) utilizing lock and unlock transaction synchronization function calls for a shared region of memory within a shared memory. The TSR is replaced with two portions of code. The first portion comprises hardware transactional memory primitives in place of lock and unlock function calls. Also, the first portion ensures no other transaction is accessing the shared region without disabling existing hardware transactional memory support. The second portion performs a fail routine, which utilizes lock and unlock transaction synchronization primitives in response to an indication that a failure occurs within said first portion.Type: GrantFiled: December 10, 2008Date of Patent: December 17, 2013Assignee: Oracle America, Inc.Inventors: Spiros Kalogeropulos, Yonghong Song, Partha P. Tirumalai
-
Patent number: 8612947Abstract: A computer readable medium comprises executable instructions to: provide an SDK to a client computer comprising executable instructions for communicating with a build server, receive an HTML/Javascript source application and a configuration file referencing one or more source application files over a computer network from a client computer to the build server, transmit the HTML/Javascript source application and configuration file to multiple compile servers corresponding to each of multiple mobile device platforms, combine the HTML/Javascript source application with a mobile device platform specific framework source code for each mobile device platform on each compile server, compile the HTML/Javascript source application and framework source code on the compile server to output an executable native application for each mobile device platform, and transmit each executable native application from the compile server to the client computer over a computer network.Type: GrantFiled: July 26, 2010Date of Patent: December 17, 2013Assignee: Adobe Systems Canada Inc.Inventors: Brian LeRoux, James Douma, Andre Charland, Dave Johnson, Brock Whitten, Robert Ellis, Joey Bowser
-
Patent number: 8601452Abstract: A computer implemented method analyzing a first code in a first managed computer language and generating intermediate code in a completed language. The intermediate code into linking code that allows the second code in a second managed runtime language to interact with the first code.Type: GrantFiled: January 24, 2008Date of Patent: December 3, 2013Assignee: Oracle International CorporationInventor: Boris Krasnoiarov
-
Patent number: 8589594Abstract: Methods, systems, and computer program products are disclosed for dynamically integrating software resources (such as web services and other back-end software resources) using the services of a content framework (such as a portal platform). A portlet model is leveraged to allow programmatic portlets to serve as proxies for web services, thereby extending portlets beyond their traditional visual role. A deployment interface and a system interface are described for these portlet proxies. The deployment interface is used for composing new web services, and a composition tool is described. The system interface allows for run-time management of the web services by the portal platform. The service provider for a particular function may be bound to the portlet proxy at development time or at run-time.Type: GrantFiled: August 9, 2012Date of Patent: November 19, 2013Assignee: International Business Machines CorporationInventors: James C. Fletcher, David B. Lindquist, Michael C. Wanderski, Ajamu A. Wesley
-
Patent number: 8578352Abstract: A capability for limited customization that utilizes existing virtual dispatch table technology and allows selective customization is provided. Such a capability combines the usage of virtual dispatch tables with both customized and non-customized code to reduce, or even eliminate over-customization. Further, such a capability may employ a runtime system that decides what methods to customize based on several factors including, but not limited to the size of a class hierarchy, the amount of available space for compiled code, and the amount of available time for compilation.Type: GrantFiled: March 31, 2011Date of Patent: November 5, 2013Assignee: Google, Inc.Inventors: Srdjan Mitrovic, Lars Bak
-
Patent number: 8572591Abstract: Creating and executing platform portable code. A method includes declaring an object as being a dynamic object in a program. The program is a program compiled using a static language, except that the dynamic object is excluded from static analysis on the object when the program is compiled. The dynamic object includes a dependent call to a platform specific API. The platform specific API is available on one or more platforms to which a compiled version of the program will be deployed, but not available on one or more other platforms to which the compiled version of the program will be deployed.Type: GrantFiled: June 15, 2010Date of Patent: October 29, 2013Assignee: Microsoft CorporationInventors: Krzysztof Janusz Cwalina, Westley Haggard
-
Patent number: 8572595Abstract: Computer-executed transformation of source code enables optimization of the code for one or more of parallelism, locality, and memory footprint of operations represented in the source code on a computing apparatus. This Abstract is provided for the sole purpose of complying with the Abstract requirement rules that allow a reader to quickly ascertain the subject matter of the disclosure contained herein. This Abstract is submitted with the explicit understanding that it will not be used to interpret or to limit the scope or the meaning of the claims.Type: GrantFiled: August 5, 2011Date of Patent: October 29, 2013Assignee: Reservoir Labs, Inc.Inventors: Richard A. Lethin, Allen K. Leung, Benoit J. Meister, Nicolas T. Vasilache
-
Patent number: 8561038Abstract: The subject matter of this specification can be implemented in, among other things, a computer-implemented method for accessing a native application programming interface (API) of a computing device including receiving on the computing device one or more control objects from a first application written in a device-independent programming language. The control objects define a context for accessing the native API and the control objects include at least one control script. The method further includes compiling the control script on the computing device into a second application that is native to the operating system of the computing device. The method further includes executing the second application on the computing device. The executed second application accesses the native API of the computing device to generate an output through a hardware interface of the computing device based on the context.Type: GrantFiled: December 31, 2009Date of Patent: October 15, 2013Assignee: Google Inc.Inventor: R. Jason Sams
-
Patent number: 8549497Abstract: A process for dynamically generating browser-ready code from a high-level code description of a web page written in a first predefined language having one or more adaptive features and from one or more constraints associated with a request for such browser-ready code.Type: GrantFiled: May 5, 2008Date of Patent: October 1, 2013Assignee: University of New BrunswickInventors: Ali-Akbar Ghorbani, Mehran Nadjarbashi-Noghani, Seyed-Hossein Sadat-Kooch-Mohtasham
-
Patent number: 8510725Abstract: The deployment of native methods in a virtual machine environment may be significantly simplified by incorporating a corresponding native code segment into the application file, such as a JAVA class file, and using the embedded native code segment for library bind operations of the corresponding class file.Type: GrantFiled: January 26, 2010Date of Patent: August 13, 2013Assignee: Advanced Micro Devices, Inc.Inventor: Gary Frost
-
Patent number: 8490070Abstract: The present invention teaches a variety of systems, platforms, applications, and methods, and relates to mobile platforms, embedded native applications, Java virtual machines, user interfaces, and the like. The present invention discloses a mobile platform which unifies the worlds of the Java virtual machine and native applications to provide a unified and consistent environment for multitasking both Java and native applications within a mobile device.Type: GrantFiled: November 16, 2006Date of Patent: July 16, 2013Assignee: Myriad Group AGInventors: Daniel Diez, Davide Mancuso
-
Patent number: 8479177Abstract: A programming environment may have an abstract interface definition that may contain a redirection definition that may cause a call to be bound to a redirected method or function. The redirected method or function may be a conditional redirection, and some embodiments may perform various checks including signature checks, static and runtime access checks, and other verifications for the redirected method. The redirection may enable a programmer to modify a portion of an interface without having to re-implement all of the functions of the interface.Type: GrantFiled: May 20, 2009Date of Patent: July 2, 2013Assignee: Microsoft CorporationInventors: Raja Kirshnaswamy, Yi Zhang, Scott D. Mosier, Ladislav Prosek, Xiaoying Guo
-
Patent number: 8468507Abstract: The present invention extends to methods, systems, and computer program products for binding executable code at runtime. Embodiments of the invention include late binding of specified aspects of code to improve execution performance. A runtime dynamically binds lower level code based on runtime information to optimize execution of a higher level algorithm. Aspects of a higher level algorithm having a requisite (e.g., higher) impact on execution performance can be targeted for late binding. Improved performance can be achieved with minimal runtime costs using late binding for aspects having the requisite execution performance impact.Type: GrantFiled: June 10, 2011Date of Patent: June 18, 2013Assignee: Microsoft CorporationInventors: Amit Kumar Agarwal, Weirong Zhu, Yosseff Levanoni
-
Patent number: 8464235Abstract: A system for providing an assembler for a microprocessor has a file which contains data describing the instruction set of the microprocessor. A translation device for translating into machine language accesses the instruction set descriptors to constrain the machine code output of the assembler to conform to the architecture of the instruction set.Type: GrantFiled: January 13, 2010Date of Patent: June 11, 2013Assignee: STMicroelectronics Ltd.Inventors: Richard Shann, Marian MacCormack
-
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: 8448153Abstract: A method and system encodes data objects and their metadata. An implementation provides a method and system for rewriting a program to encode metadata in the run-time environment of the program and to add run-time checks to the program. An implementation provides a method for serializing a data object according to the encoding method and a method for deserializing a bit sequence that is generated by the serialization method.Type: GrantFiled: August 16, 2010Date of Patent: May 21, 2013Inventor: Ning Wang
-
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: 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: 8434070Abstract: Systems and methods are provided for creating a data structure associated with a software application that is based on at least one framework. According to the method, source code and at least one configuration file of the software application is analyzed by at least one framework-specific processor so as to determine entry point information indicating entry points in the source code, request attribute access information indicating where attributes attached to a request data structure are read and written, and forward information indicating forwards performed by the software application. A data structure for a static analysis engine is created based on this information. The data structure includes a list of synthetic methods that model framework-related behavior of the software application, and a list of entry points indicating the synthetic methods and/or application methods of the software application that can be invoked by the framework.Type: GrantFiled: October 26, 2010Date of Patent: April 30, 2013Assignee: International Business Machines CorporationInventors: Shay Artzi, Ryan Berg, John T. Peyton, Jr., Marco Pistoia, Manu Sridharan, Robert Wiener
-
Patent number: 8401973Abstract: Methods and systems for activating an add-on software component independently of any host application with which the add-on component is compatible are described. Consistent with some embodiments, an add-on manager module can be invoked from any host application that is part of a suite of applications. The add-on manager module displays a list of add-on components that are installed, and compatible with a particular host application. After receiving product activation data (e.g., serial number or product key) for a particular installed add-on component, a license verification operation is performed to validate the product activation data, and activate the add-on component for use with a host application.Type: GrantFiled: November 19, 2009Date of Patent: March 19, 2013Assignee: Adobe Systems IncorporatedInventors: Sanjeev Kumar Biswas, Akash Jain, Kanika Dalmia Gupta
-
Patent number: 8370818Abstract: Methods and apparatus for analyzing the interface usage and requirements within software applications. In one embodiment, the interfaces comprise application programming interfaces (APIs) used with Java-based software, and the apparatus comprises a computer program that analyzes file paths (or classpaths) containing one or more files comprising Java bytecode. The names of the classes are extracted and placed into a class dictionary. The different classes listed in the dictionaries are broken down into their individual methods. Each method is then dissembled and analyzed for method or field invocations on other classes found in the dictionary. Methods called are added to a “used class” report. The used class report preferably contains the name of the class, method and the instruction information.Type: GrantFiled: December 2, 2006Date of Patent: February 5, 2013Assignee: Time Warner Cable Inc.Inventors: Matt Osminer, Robert F. Gazdzinski
-
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
-
Publication number: 20130024848Abstract: A system and method for rearranging algebraic expressions occurring in program code based on a scheme of ranking operands. The system scans program code to identify an algebraic expression specified by the program code. The expression includes binary operations, scalar operands and at least one array operand. The system operates on the algebraic expression to obtain a final expression by: computing a rank for each of the operands; and performing algebraic transformations on selected subexpressions of the algebraic expression so that in the final expression operands are combined in the order of their rank. The ranking scheme may be designed to force scalars to be combined before arrays, and/or, to force constants to be combined first, loop invariants second, and variants last. In some embodiments, the ranking scheme is a vector ranking scheme including two or more components (such as invariance rank, dimensional rank and data-size rank).Type: ApplicationFiled: July 22, 2011Publication date: January 24, 2013Inventors: Somashekaracharya G. Bhaskaracharya, Darren R. Schmidt, Adam L. Bordelon
-
Patent number: 8335862Abstract: Methods, systems, and computer program products are disclosed for dynamically integrating software resources (such as web services and other back-end software resources) using the services of a content framework (such as a portal platform). A portlet model is leveraged to allow programmatic portlets to serve as proxies for web services, thereby extending portlets beyond their traditional visual role. A deployment interface and a system interface are described for these portlet proxies. The deployment interface is used for composing new web services, and a composition tool is described. The system interface allows for run-time management of the web services by the portal platform. The service provider for a particular function may be bound to the portlet proxy at development time or at run-time.Type: GrantFiled: June 7, 2007Date of Patent: December 18, 2012Assignee: International Business Machines CorporationInventors: James C. Fletcher, David B. Lidquist, Michael C. Wanderski, Ajamu A. Wesley
-
Patent number: 8332830Abstract: A method for communicating between at least one environment-independent application logic code (AL code) and at least one environment which is a combination of hardware and software. The method includes creating at least one interaction style code (IS code) that is specific to and communicates with the at least one environment, and is provided with an interaction style interface (IS interface) for interfacing an interaction style with said at least one application logic code (AL code). The interaction style interface (IS interface) is independent of and does not specify properties of said at least one environment, and the at least one environment-independent application logic code (AL code) runs unchanged in all environments. The at least one interaction style code (IS code) is operable with all of a graphical user interface, a non-graphical user interface, an HTML-based web browser user interface, and no user interface.Type: GrantFiled: February 7, 2006Date of Patent: December 11, 2012Inventors: Ellezer Kantorowitz, Alexander Lyakas
-
Patent number: 8321668Abstract: The inventive method for controlling access to data which is used by reference in a program execution system (including processes and aims) during the program execution consists in memorising by the system the totality of references obtainable by said program with the aid of means considered legal, before any operation which can be prohibited if it relates to values which are not legal references, in verifying by the system whether said values are amongst the legal references memorized for the program and in accepting or rejecting the operation, respectively.Type: GrantFiled: December 16, 2004Date of Patent: November 27, 2012Assignee: Trusted LogicInventors: Xavier Leroy, Patrice Hameau, Nicolas Regnault, Renaud Marlet
-
Patent number: 8266582Abstract: A method for creating a unified binary file that may be executed on a plurality of hardware platforms. The unified binary file includes hardware independent code and a plurality of hardware dependent binary files for a variety of hardware platforms. When the unified binary file is executed on a supported hardware platform, an appropriate hardware dependent file is identified and installed. A method for preparing a software package supported on a plurality of hardware platforms for distribution. A unified binary file is created for each corresponding file of the software package. Each unified binary file includes installation directory information and dependent file information.Type: GrantFiled: March 31, 2008Date of Patent: September 11, 2012Assignee: Oracle America, Inc.Inventor: Raj Prakash
-
Patent number: 8255875Abstract: A control system development platform is provided. The platform includes a shell component adapted to support development of a control systems application. An abstract model is associated with the shell component to facilitate development of the control systems applications.Type: GrantFiled: September 30, 2008Date of Patent: August 28, 2012Assignee: Rockwell Automation Technologies, Inc.Inventors: Julien Chouinard, Gilles Brunet, Denis Lavallee, Chan-Dara Trang, Jean-Francois Laliberte, Frédéric Darveau, Olivier Larouche
-
Patent number: 8239850Abstract: A computer implemented method of facilely releasing a BSE software module adapted for execution by an electronic control unit having an update model of the BSE software and a controller having an embedded desktop model of the BSE software, includes a plurality of autonomously performed steps resulting in the compiling of a plurality of c-files into a library file. A single keyword activated preferred embodiment is disclosed in a MatLab®/Simulink®/Real-Time Workshop® environment.Type: GrantFiled: December 14, 2007Date of Patent: August 7, 2012Assignee: GM Global Technology Operations LLCInventors: Michael J. Gielniak, Damon R. Frisch
-
Patent number: 8234649Abstract: Systems and methods are provided for enabling communication between a composite system providing additional functionality not contained in existing legacy systems and other existing systems using different commands, variables, protocols, methods, or instructions, when data may be located on more than one system. In an embodiment, multiple software layers are used to independently manage different aspects of an application. A business logic layer may be used in an embodiment to facilitate reading/writing operations on data that may be stored locally and/or on external systems using different commands, variables, protocols, methods, or instructions. A backend abstraction layer may be used in an embodiment in conjunction with the business logic layer to facilitate communication with the external systems. A user interface layer may be used in an embodiment to manage a user interface, a portal layer to manage a user context, and a process logic layer to manage a workflow.Type: GrantFiled: August 14, 2009Date of Patent: July 31, 2012Assignee: SAP AGInventors: Frederik Thormaehlen, Frank Mock, Volker Wiechers, Sebastian Speck, Pia Kinkel, Ruth Groene, Martin Czekalla, Gabor Faludi, Robert Christoph Lorch, Peter Csontos, Bela Tolvaj, Gergely Pap, Csaba Hegedus, Berhard Fuhge, Marton Pinter, Robert Foldvari, Volker Stiehl, Patrick Zimmer
-
Patent number: 8225327Abstract: A method and system for providing access to a shared resource utilizing selective locking are disclosed. According to one embodiment, a method is provided comprising receiving a request to perform a resource access operation on a shared resource, invoking a first routine to perform the resource access operation, detecting a data processing system exception generated in response to invoking the first routine, and invoking a second routine to perform the resource access operation in response to such detecting. In the described embodiment, the first routine comprises a dereference instruction to dereference a pointer to memory associated with the shared resource, the second routine comprises a lock acquisition instruction to acquire a global lock associated with the shared resource prior to a performance of the resource access operation and a lock release instruction to release the global lock once resource access operation has been performed.Type: GrantFiled: September 15, 2005Date of Patent: July 17, 2012Assignee: International Business Machines CorporationInventors: David W. Mehaffy, Greg R. Mewhinney, Mysore S. Srinivas
-
Patent number: 8219981Abstract: Code handling, such as interpreting language instructions or performing “just-in-time” compilation, is performed using a heterogeneous processing environment that shares a common memory. In a heterogeneous processing environment that includes a plurality of processors, one of the processors is programmed to perform a dedicated code-handling task, such as perform just-in-time compilation or interpretation of interpreted language instructions, such as Java. The other processors request code handling processing that is performed by the dedicated processor. Speed is achieved using a shared memory map so that the dedicated processor can quickly retrieve data provided by one of the other processors.Type: GrantFiled: July 15, 2008Date of Patent: July 10, 2012Assignee: International Business Machines CorporationInventors: Maximino Aguilar, Jr., Mark Richard Nutter, James Michael Stafford
-
Patent number: 8201155Abstract: User assemblies can be created by a compiler that can handle more than one type definition during execution. Local copies are created for respective authoritative types in a code library, and the local copies are marked with a local type identifier. An authoritative type identifier (e.g., a globally unique identifier (GUID)) is copied from the authoritative type to the local type, and functions and properties associated with the local type are also copied from the authoritative type. Authoritative types are resolved for requested types when a local assembly references a local type from a compiled user assembly. The local type can be identified by a local type identifier, and an authoritative type can be retrieved from the code library that has a same authoritative type identifier as the requested type. A local copy of the retrieved authoritative type can be copied to the local assembly under compilation. The compiler can then emit user assemblies that comprise merely local types.Type: GrantFiled: January 9, 2009Date of Patent: June 12, 2012Assignee: Microsoft CorporationInventors: Avner Y. Aharoni, Samuel Y. Ng, Michael Shneerson, Edward T. Maurer, Raja Krishnaswamy, Kevin Halverson, Timothy Y. Ng, Aleksey V. Tsingauz
-
Patent number: 8201154Abstract: An apparatus for processing digital audio-visual data including a module class manager configured to evaluate code to determine an interpretative language in which the code is written, wherein the interpretative language is selected from a plurality of interpretative languages, and an interpreter specific to the interpretative language, wherein the interpreter is configured to interpret and execute the code.Type: GrantFiled: February 4, 2005Date of Patent: June 12, 2012Assignee: THOMSON Licensing S.A.Inventors: Hongtao Liao, Rui Liang Yang
-
Publication number: 20120117549Abstract: A compiler and method of optimizing code by partial inlining of a subset of blocks of called blocks of code into calling blocks of code. A restart of the called blocks of code is provided for the case where non-inlined blocks of code are reached at run time. Blocks selected for partial inlining may include global side effects depending on the computer program environment. Global side effects in the selected blocks of code leading to a restart are sanitized in order to defer changes to the global state of the computer program.Type: ApplicationFiled: February 8, 2011Publication date: May 10, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Patrick R. Doyle, James I.A. Gartley, Derek B. Inglis, Vijay Sundaresan
-
Patent number: 8176491Abstract: A mechanism is disclosed for implementing fast synchronization of simple synchronized methods in a virtual machine. The mechanism provides for determining, during runtime, whether a set of instructions can be fully executed in lieu of invoking a synchronized method, which requires locking of a particular object. The set of instructions provides equivalent functionality to the synchronized method but with less locking overhead. In response to a determination that the set of instructions can be fully executed, the set of instructions is fully executed to achieve equivalent functionality to the synchronized method in lieu of invoking the synchronized method. In response to a determination that the set of instructions cannot be fully executed, the synchronized method is invoked. With this mechanism, simple synchronized methods can be executed with less locking overhead.Type: GrantFiled: August 4, 2006Date of Patent: May 8, 2012Assignee: Oracle America, Inc.Inventors: Christopher J. Plummer, Yin Zin Mark Lam
-
Patent number: 8151256Abstract: A method for managing a software application. The method involves receiving an abstract API command to perform a life cycle operation (LCO) on a target system, where the LCO identifies the software application, where the software application is associated with a software application schema, and where the target system is associated with a platform independent registry, determining whether the LCO is compatible with the target system using the software application schema and the platform independent registry, where the LCO is compatible with the target system; mapping the abstract API command to an operating system (OS)-specific command for performing the LCO, where the OS-specific command is associated with an OS executing on the target system; executing the OS-specific API command to perform the LCO on the target system to obtain a result; and updating the platform independent registry based on the result.Type: GrantFiled: January 31, 2008Date of Patent: April 3, 2012Assignee: Oracle America, Inc.Inventors: Nitin R. Ramannavar, Prabhat Laxminarayan Hegde
-
Patent number: 8136104Abstract: 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: March 13, 2012Assignee: Google Inc.Inventors: Matthew N. Papakipos, Brian K. Grant, Morgan S. McGuire, Christopher G. Demetriou
-
Patent number: 8117604Abstract: A method for implementing architecture cloning including: constructing a program call graph in a link phase of interprocedural analysis to model calling relationships between one or more procedures in a program; analyzing the program call graph to obtain information about the program; analyzing the program to identify the one or more procedures subject to architecture cloning; determining feasibility of architecture cloning; marking the one or more procedures in the program suitable for architecture cloning; naming the one or more procedures in the program suitable for architecture cloning; inserting a runtime routine call at an entry point of the program; invoking architecture cloning when one or more candidate procedures are identified during procedure cloning; providing a user with an interface for specifying multiple architecture targets to the compiler; and enabling the compiler to generate architectural specific instructions optimized for each of the multiple architecture targets.Type: GrantFiled: July 31, 2006Date of Patent: February 14, 2012Assignee: International Business Machines CorporationInventors: Roch G. Archambault, Edwin Chan, Raul E. Silvera
-
Patent number: 8104027Abstract: An improved architecture for a program code conversion apparatus and method for generating intermediate representations for program code conversion. The program code conversion apparatus determines which types of IR nodes to generate in an intermediate representation (IR) of subject code (10) to be translated. Depending upon the particular subject and target computing environments involved in the conversion, the program code conversion apparatus utilizes either base nodes, complex nodes, polymorphic nodes, and architecture specific nodes, or some combination thereof, in generating the intermediate representation.Type: GrantFiled: May 28, 2008Date of Patent: January 24, 2012Assignee: International Business Machines CorporationInventors: Daniel Owen, Jonathan Jay Andrews, Miles Philip Howson, David Haikney