Translation Of Code Patents (Class 717/136)
  • Publication number: 20120036502
    Abstract: In one embodiment, after translating a plurality of target instructions from a target memory location into a plurality of host instructions, a write operation to a target memory portion which includes said target memory location is detected. In response to the detecting, a copy of the target instructions is stored in a host memory. In response to an attempt to execute the host instructions, the copy is compared with a plurality of current target instructions presently stored in the target memory location. Further, in response to a mismatch based on the comparison, the host instructions are disabled.
    Type: Application
    Filed: February 4, 2011
    Publication date: February 9, 2012
    Inventors: John Banning, H. Peter Anvin, Robert Bedichek, Guillermo J. Rozas, Andrew Shaw, Linus Torvalds, Jason Wilson
  • Patent number: 8108842
    Abstract: A native binding technique is provided for inserting calls to native functions during translation of subject code to target code, such that function calls in the subject program to subject code functions are replaced in target code with calls to native equivalents of the same functions. Parameters of native function calls are transformed from target code representations to be consistent with native code representations, native code calling conventions, and native function prototypes.
    Type: Grant
    Filed: October 1, 2008
    Date of Patent: January 31, 2012
    Assignee: International Business Machines Corporation
    Inventors: Alexander B. Brown, Geraint M. North, Frank Thomas Weigel, Gareth Anthony Knight
  • Patent number: 8107612
    Abstract: Session-based data, such as call detail accounting information, is tracked and distributed to a plurality of servers in a distributed telephony environment. One type of session is a telephone call between participants. Session-based data includes information about a session provided by the switches along the media path. Session-based data further includes information related to the session obtained from the application layer (e.g., user input metadata). A network proxy maintains a participant list to which the session data is distributed. The network proxy sends updates to the participants and determines the network status to implement fault tolerance of data distribution.
    Type: Grant
    Filed: May 7, 2008
    Date of Patent: January 31, 2012
    Assignee: ShoreTel, Inc.
    Inventor: Kenneth A. Robesky
  • Patent number: 8108844
    Abstract: 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: Grant
    Filed: March 5, 2007
    Date of Patent: January 31, 2012
    Assignee: Google Inc.
    Inventors: William Y. Crutchfield, Brian K. Grant, Matthew N. Papakipos
  • Patent number: 8108854
    Abstract: A method and system for describing, extracting and migrating application information from a first personal computer to one or more other computers is described. This method and system provides a means for selecting and translating the information useful in transferring application programs, settings and files while maintaining the preferred preferences and directories of the users. Using a standard INI file format, this method makes use of Application Information Files (AIFs) that contain a collection of tags. The tags provide identification of multiple versions of the application and conversion information for settings, registry information and files. This invention provides the method of creating self-extracting auto-migrate packages, which permit user customization of the set of files and settings to be migrated and which provides the intelligence needed to write files to the appropriate destination locations and to make the appropriate registry changes.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: January 31, 2012
    Assignee: Symantec Corporation
    Inventors: Greg Wiggins, Rajesh Moorjani, Vivek Kumar Rai, Vivek Umesh Bhagwat, Sanjay Ahuja, Santosh D. Surve
  • Patent number: 8104034
    Abstract: Embodiments of the present invention provide an architecture for securely and efficiently executing byte code generated from a general programming language. In particular, a computer system is divided into a hierarchy comprising multiple types of virtual machines. A thin layer of software, known as a virtual machine monitor, virtualizes the hardware of the computer system and emulates the hardware of the computer system to form a first type of virtual machine. This first type of virtual machine implements a virtual operating domain that allows running its own operating system. Within a virtual operating domain, a byte code interpreter may further implement a second type of virtual machine that executes byte code generated from a program written in a general purpose programming language. The byte code interpreter is incorporated into the operating system running in the virtual operating domain.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: January 24, 2012
    Assignee: Red Hat, Inc.
    Inventor: Ulrich Drepper
  • Patent number: 8103850
    Abstract: A system for translating software in a first format into a second format includes a memory containing the software in the first format and an emulator coupled to the memory configured to translate the software from the first format to the second format. The system also includes a host engine coupled to the emulator and configured to perform instructions in the second format. The emulator is configured to determine whether a store command in the first format stores information to a memory page that includes instructions and to convert the store instruction to a special store instruction in the event that the target of the store instruction does not contain an instruction.
    Type: Grant
    Filed: May 5, 2009
    Date of Patent: January 24, 2012
    Assignee: International Business Machines Corporation
    Inventors: Ravi Nair, Kevin A. Stoodley
  • Patent number: 8104016
    Abstract: Systems and methods of scalable language infrastructure for electronic system level tools. In accordance with embodiments of the present invention, knowledge about types, functions and the like is encapsulated in a plurality of intelligent components called active component extension modules that are external to the infrastructure. The infrastructure implements a communication mechanism between the clients and these intelligent components, and acts as a common backbone. The infrastructure itself does not maintain any knowledge about any client, types, functions, etc. In accordance with a method embodiment of the present invention, a request is received from a client of a language infrastructure. The request is forwarded from the language infrastructure to an active component extension module. The active component extension module performs a service responsive to the request.
    Type: Grant
    Filed: February 17, 2006
    Date of Patent: January 24, 2012
    Assignee: Synopsys, Inc.
    Inventors: Rajesh Kumar, Sanjay Kumar Jain
  • Patent number: 8104027
    Abstract: 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: Grant
    Filed: May 28, 2008
    Date of Patent: January 24, 2012
    Assignee: International Business Machines Corporation
    Inventors: Daniel Owen, Jonathan Jay Andrews, Miles Philip Howson, David Haikney
  • Patent number: 8095915
    Abstract: A system and method for supporting tracking of data values of original source code at execution of a translated target version of the source code on a computer system. The system associates references to target data value containers in the target code with corresponding address information of original data value containers of the source code during program code translation. The system also stores, at execution of the target code, information related to target code instructions together with associated address information of original data value containers of the source code to uphold a data value view of the original source code.
    Type: Grant
    Filed: April 13, 2005
    Date of Patent: January 10, 2012
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Mats Winberg, Lars Winberg, Nils Ola Linnermark, Marijan Hemetek
  • Patent number: 8095918
    Abstract: A software development apparatus for developing application software based on an object model that requires security in a web service application is provided. The software development apparatus includes a display unit that displays, in a class diagram of the application software, security annotation for adding security requirements for a service, input means for inputting the security annotation, transforming means for transforming the class diagram into a configuration model based on a markup language, and configuration-file creating means for creating a configuration file based on a markup language by serializing the configuration model based on a markup language. The security annotation includes the security requirements and a token class of a security token that is a certificate for declaring identity of a client to a server.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: January 10, 2012
    Assignee: International Business Machines Corporation
    Inventors: Fumiko Satoh, Yuichi Nokomuru, Kouichi Ono
  • Patent number: 8095919
    Abstract: The illustrative embodiment of the present invention provides a platform that enables a content developer to distribute uniform content to multiple types of requesting mobile devices. By authoring content in a generic markup language and using the technologies included in the Mobile Content Framework (MCF), the content developer is able to provide content to multiple types devices without providing different versions of the content. The content may be authored originally in the generic markup language or translated from other languages into the generic markup language by the MCF. The MCF exploits the capabilities and accommodates the limitations of different types of wireless devices by converting generic markup language content to device-specific content. The MCF interacts with device registries holding records of the device attributes in order to provide the device-specific content. The MCF handles these issues for current mobile devices while also being extensible for future mobile devices.
    Type: Grant
    Filed: November 13, 2009
    Date of Patent: January 10, 2012
    Assignee: ACK Ventures Holdings, LLC
    Inventors: Michelle Harris, Dan Jethanamest, Thomas LeRoux, Corey Tripp, Peter DeLucia, Lin Hsu, Lee Boyle, Dan Liu, George Yi, Rocio Katsanis, Harry Kargman, Evan Herbst
  • Patent number: 8091076
    Abstract: A native binding technique is provided for insetting calls to native functions during translation of subject code to target code, such that function calls in the subject program to subject code functions are replaced in target code with calls to native equivalents of the same functions. Parameters of native function calls are transformed from target code representations to be consistent with native code representations, native code calling conventions, and native function prototypes.
    Type: Grant
    Filed: September 25, 2008
    Date of Patent: January 3, 2012
    Assignee: International Business Machines Corporation
    Inventors: Alexander B. Brown, Geraint M. North, Frank Thomas Weigel, Gareth Anthony Knight
  • Patent number: 8086438
    Abstract: A method of simulating a program. Compiled and interpretive techniques are combined into a just-in-time cached compiled technique. When an instruction of a program simulation is to be executed at run-time, a table of compiled instructions is accessed to determine whether compiled data for the instruction is stored in the table. If the compiled data is not therein, the instruction is compiled and stored in the table. The compiled data is returned to a simulator that is executing the program simulation. In another embodiment, before storing new information in the table, another table may be consulted to determine if the location to which the new information is to be stored is protected. If the table location is protected, the new information is not stored in the table. Rather, the new information is simply passed on to the simulator.
    Type: Grant
    Filed: December 3, 2002
    Date of Patent: December 27, 2011
    Assignee: Synopsys, Inc.
    Inventors: Achim Nohl, Gunnar Braun, Andreas Hoffmann, Oliver Schliebusch, Rainer Leupers, Heinrich Myer
  • Publication number: 20110314442
    Abstract: An example embodiment disclosed is a method for reducing parallelism of computer source code. The method includes receiving multi-threaded program source code and representing the multi-threaded program source code as a polyhedral framework stored in computer readable memory. The polyhedral framework is used to convert the polyhedral framework from the multi-threaded program source code representation to a single-threaded program source code representation.
    Type: Application
    Filed: June 17, 2010
    Publication date: December 22, 2011
    Applicant: International Business Machines Corporation
    Inventors: Uday Kumar Bondhugula, Alexandre E. Eichenberger, John Kevin P. O'Brien, Lakshminarayanan Renganarayana, Yuan Zhao
  • Publication number: 20110314451
    Abstract: A method and system for validating translated files for inclusion in an application being developed. Translatable files having externalized content in a single base language are sent for translation into other languages. Translated files resulting from a translation of the translatable files are received. Each translated file is statically and dynamically validated to detect error(s). The static validation is based on comparing the translatable files to the translated files. The dynamic validation is based on a simulation of how a user interface of the application presents the externalized content, without including an actual presentation of the externalized content by the user interface. Modified translated files that correct the detected error(s) are received and provided for a presentation of the externalized content by the user interface.
    Type: Application
    Filed: June 16, 2010
    Publication date: December 22, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Warren J. Baumann, Firas Bouz, Douglas S. Brown, William M. Higginbotham
  • Publication number: 20110314456
    Abstract: The data transcription processing unit is prepared. This unit is beforehand provided with the document-structure definition information on the structured documents, i.e., the processing target, the structure definition information on the program language, and the correspondence information between the document-structure definition and the structure definition. Then, a reading/writing request is issued from the application program to the data transcription processing unit. The issue of the request accomplishes the data transcription on each element basis between the structured documents and the structure of the program language.
    Type: Application
    Filed: August 26, 2011
    Publication date: December 22, 2011
    Applicant: Hitachi, Ltd.
    Inventors: Wataru Takagi, Daisuke Yokotsuka
  • Publication number: 20110307874
    Abstract: The present invention extends to methods, systems, and computer program products for creating text functions form a spreadsheet. Embodiments of the invention extract functions from spreadsheets and represent the functions in textual form. Representation in textual form promotes code reuse, clarify, expressive power, and better performance. Text can be rendered in virtually any programming language, such as, for example, C#, C++, Visual Basic (“VB”), etc. In some embodiments, programming language extensibility to support spreadsheet compatible data types and functions is utilized.
    Type: Application
    Filed: June 15, 2010
    Publication date: December 15, 2011
    Applicant: Microsoft Corporation
    Inventors: John Benjamin Messerly, James J. Hugunin, Jonathon Michael Stall, Curt Oliver Hagenlocher
  • Publication number: 20110307876
    Abstract: Generally, the present disclosure provides a system and method for mapping registers from a system with more registers to a system with fewer registers. Regions may be formed that include one or more blocks of code with relatively frequent register accesses. The most frequently accessed source registers may be mapped to target registers. Each block in the region may be bounded by a prologue and at least one epilogue. The prologue may be configured to implement register mapping and the epilogue(s) may be configured to manage program flow from a block in the region to another block in the region or to a block not in the region.
    Type: Application
    Filed: June 14, 2010
    Publication date: December 15, 2011
    Inventors: Guilherme D. Ottoni, Hong Wang, Wei Li
  • Patent number: 8078652
    Abstract: Techniques are described herein for performing column functions on virtual columns in database tables. A virtual column is defined by the database to contain results of a defining expression. Statistics are collected and maintained for virtual columns. Indexing is performed on virtual columns. Referential integrity is maintained between two tables using virtual columns as keys. Join predicate push-down operations are also performed using virtual columns.
    Type: Grant
    Filed: December 6, 2007
    Date of Patent: December 13, 2011
    Assignee: Oracle International Corporation
    Inventors: Subhransu Basu, Harmeek Singh Bedi
  • Patent number: 8079027
    Abstract: Included are embodiments of a description language program stored in a computing device for updating a first version of a computer program. In at least one embodiment, the first version of the computer program is written in a universal format and the program includes logic configured to receive an updated version of the computer program. Other embodiments include logic configured to retrieve the first version of the computer program and logic configured to translate the updated version of the computer program from a proprietary format to the universal format. Still other embodiments include logic configured to utilize at least one tag to compare the translated updated version of the computer program with the first version of the computer program.
    Type: Grant
    Filed: September 8, 2006
    Date of Patent: December 13, 2011
    Assignee: Via Technologies, Inc.
    Inventors: David Fong, Stanley John, Zheng (Joy) Zhang, Qi (Christine) Chen
  • Patent number: 8078650
    Abstract: Systems and methods of processing an unstructured resource which contains one or more data portions are described. The method comprises reading the unstructured resource into memory and accessing a data structure associated with the unstructured resource. This data structure contains a number of elements, each element including position information for a data portion in the unstructured resource. Using this position information, data portions are located from the unstructured resource and processed and the locating and processing steps are repeated for each element in the data structure.
    Type: Grant
    Filed: April 5, 2007
    Date of Patent: December 13, 2011
    Assignee: Microsoft Corporation
    Inventors: Barry McHugh, Terry Farrell
  • Patent number: 8078832
    Abstract: An integrated circuit includes a plurality of processor core. Processing instructions in the integrated circuit includes: managing a plurality of sets of processor cores, each set including one or more processor cores assigned to a function associated with executing instructions; and reconfiguring the number of processor cores assigned to at least one of the sets during execution based on characteristics associated with executing the instructions.
    Type: Grant
    Filed: May 28, 2008
    Date of Patent: December 13, 2011
    Assignee: Massachusetts Institute of Technology
    Inventors: Anant Agarwal, David Wentzlaff
  • Patent number: 8073902
    Abstract: The present invention relates generally to software functional modules and, in particular, to such modules used for delivering hybrid static and dynamic content. More particularly, there is described a computer-readable storage medium and corresponding method. The storage medium comprises: (a) a repository of static content; and (b) a program element for execution by a computing device to deliver hybrid content via a user interface. The program element comprises: (i) program code means for commanding instantiation of a functional module remote from the computing device; (ii) program code means for receiving dynamic content from the remote functional module; (iii) program code means for accessing the repository of static content; and (iv) program code means for delivering hybrid content on the basis of the static content in the repository and the dynamic content received from the remote functional module.
    Type: Grant
    Filed: May 3, 2009
    Date of Patent: December 6, 2011
    Inventors: Vincent Bédard, Marco Vachon
  • Patent number: 8074209
    Abstract: The functionality of a core application is extended using an add-on application (module) by extending native data types on the core application with custom data types and custom actions on the module. The module provides metadata associated with its custom data types and custom actions to the core application, which creates a dynamic type/action table. In some cases, native data types may be extended with custom data types and their associated actions. In other cases, native data types may be extended with custom actions from the module. The custom actions may be enabled for instances of native data types that have been extended. When a custom action is selected, code corresponding with the selected custom action is called from the module and run to perform the selected custom action.
    Type: Grant
    Filed: January 4, 2007
    Date of Patent: December 6, 2011
    Assignee: Microsoft Corporation
    Inventors: Scott David Smith, Rahul Sudhir Kumar, Todd Haugen
  • Publication number: 20110289492
    Abstract: To obtain a program code generation support device, method, and the like, capable of generating a new program code, in particular, generating in accordance with an incorporating apparatus, by performing a further optimization on a program code. The device includes storage means for storing as data, an optimization rule that is composed of a conversion condition for converting data of a program code and a conversion content thereof, and code optimization means that includes a code analysis unit for analyzing the program code, a condition search unit for search a part matching the conversion condition in the program code through a collation with the optimization rule stored in the storage means on the basis of the analyzed program code, and an optimization unit for generating data of a new program code by converting the part matching the conversion condition on the basis of the conversion content.
    Type: Application
    Filed: August 1, 2011
    Publication date: November 24, 2011
    Applicant: Mitsubishi Electric Corporation
    Inventors: Takahiro Ito, Shigeki Suzuki, Yoshiko Ochiai, Noriyuki Kushiro, Yoshiaki Koizumi
  • Patent number: 8065168
    Abstract: A method, system and computer program product are provided for creating software that can be used to reformat incoming insurance-related data into a format that conforms to the requirements or preferences of the receiving party. In particular, the software generated is capable of causing a particular action to be taken which will result in the transfer of the received data from one format to another in response to certain conditions being met. These conditions are defined by a decision table, from which the software is automatically generated. A means is further provided for using the received data, which has been reformatted where necessary, to create a user-friendly table that defines the rules and parameters of a particular insurance policy. The table is capable of being easily understood by those unfamiliar with the intricacies of insurance claim processing and programming code, and is further capable of being read by a claims processing engine when processing an insurance claim.
    Type: Grant
    Filed: April 25, 2006
    Date of Patent: November 22, 2011
    Assignee: ACS State and Local Solutions, Inc.
    Inventor: Aleksander Szlam
  • Patent number: 8059126
    Abstract: In one embodiment, a method includes receiving a request to perform a task using a special character. The method further includes receiving from a user an indication specifying an interpretation of the special character and storing the indication. The method further includes interpreting the special character using the indication, and performing the task using the interpreted special character.
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: November 15, 2011
    Assignee: Computer Associates Think, Inc.
    Inventor: Wayne Joseph Barbarek
  • Patent number: 8060857
    Abstract: A method and a system for transformation-based program generation using two separate specifications as input: An implementation neutral specification of the desired computation and a specification of the execution platform. The generated implementation incorporates execution platform opportunities such as parallelism. Operationally, the invention has two broad stages. First, it designs the abstract implementation in the problem domain in terms of an Intermediate Language (IL) that is unfettered by programming language restrictions and requirements. Concurrently, the design is evolved by specializing the IL to encapsulate a plurality of desired design features in the implementation such as partitioning for multicore and/or instruction level parallelism. Concurrently, constraints that stand in for implied implementation structures are added to the design and coordinated with other constraints. Second, the IL is refined into implementation code.
    Type: Grant
    Filed: January 31, 2009
    Date of Patent: November 15, 2011
    Inventor: Ted James Biggerstaff
  • Patent number: 8056061
    Abstract: A data processing device and method are provided. The data processing device includes a code storage unit storing an original code to be translated into a machine language code, a code analyzer analyzing the original code stored in the code storage unit, a register allocator allocating a predesignated register for a command included in the original code based on the result of analysis, and a code executor executing a machine language code generated using the allocated register.
    Type: Grant
    Filed: October 20, 2005
    Date of Patent: November 8, 2011
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Sang-gyu Lee, Chong-mok Park
  • Patent number: 8056062
    Abstract: Embodiments of the invention are generally directed to systems and methods for converting application code in a turbine control system. According to one embodiment of the invention, a method for converting a turbine control system may be provided for. The method may include providing a first application code format including one or more elements, providing a second application code format including one or more elements, and identifying mappings of the one or more first application code format elements to the one or more second application code format elements. The method may further include retrieving a first control system application code written in the first application code format, and generating application data from the first control system application code based at least in part on the identified mappings. Additionally, the method may include converting the application data to a second control system application code written in the second application code format.
    Type: Grant
    Filed: May 14, 2007
    Date of Patent: November 8, 2011
    Assignee: General Electric Company
    Inventors: David Thomas Bowers, Nagesh Laxminarayana Kurella, Patrick Joseph Conroy, Peter Frank Andrews, Marc Gavin Lindenmuth
  • Publication number: 20110271262
    Abstract: A method for detecting transient fault includes translating binary code to an intermediate language code. An instruction of interest in the intermediate language code is identified. Reliability instructions are inserted in the intermediate language code to validate values from the instruction of interest. The intermediate language code is translated to binary code. Other embodiments are described and claimed.
    Type: Application
    Filed: July 13, 2011
    Publication date: November 3, 2011
    Inventors: George A. Reis, Robert Cohn, Shubhendu S. Mukherjee
  • Patent number: 8046678
    Abstract: A web page is generated by applying a partial evaluation technique. In one embodiment, at design time, a page designer enables a dynamic version of a page specification program to be generated, such as by way of a page customization interface. This dynamic version can be executed during the design process, with page customization choices evaluated in a dynamic manner. The parts of the page specification that can be evaluated to static form at design time are identified, and the program is partially evaluated, with the identified parts transformed to static form. The remaining dynamic parts of the page specification program are executed at request time, resulting in a generation of the page to be provided for display over the network. In general, different parts of a page specification program may be selected for evaluation at different times, and there may be more than two phases of evaluation.
    Type: Grant
    Filed: August 22, 2005
    Date of Patent: October 25, 2011
    Assignee: Yahoo! Inc.
    Inventors: David Jackson, Aamod Sane, Ashish Kasi, Chandra Pisupati
  • Patent number: 8046202
    Abstract: The present invention provides for converting a user-specified element of a graphical model into at least one intermediate representation that represents the user-specified element. An intermediate representation of the present invention may support simulation, propagation, and/or code generation. An element for a graphical model is provided, and the element and/or the graphical model are converted into an intermediate representation that may represent algorithmic aspects of the element or that is capable of being simulated and/or capable allowing propagation. The present invention allows a user to provide a single code for a user-specified element that may be used to support simulation, propagation and/or code generation of an element or graphical model.
    Type: Grant
    Filed: July 17, 2006
    Date of Patent: October 25, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Dongzhe Yang, Robert O. Aberg, Pieter J. Mosterman
  • Patent number: 8042097
    Abstract: An apparatus and program product generate difference data representative of modifications made to one release of a standard code base to facilitate the adaptation of later releases of the standard code base. The difference data is generated at least in part in connection with canonical parsing of a modified version of a release of a standard code base such that the difference data is representative of semantic changes made in the modified version.
    Type: Grant
    Filed: October 9, 2008
    Date of Patent: October 18, 2011
    Assignee: International Business Machines Corporation
    Inventors: Yariv Aridor, Alan J. Wecker, Blair Wyman
  • Patent number: 8037460
    Abstract: Software expressed in an intermediate level language is stored into a database and interpreted in a virtual machine in a database management system. A dynamic compilation process in the database management system asynchronously converts the software into native code when predetermined conditions are met. Thereafter, the compilation process persists the native code into the database. At the time of persisting the native code, the compilation process also stores in the database, an indication of any properties that are used in compilation of the native code. At run time, when the native code needs to be executed, the virtual machine checks if the indication stored in the database matches a new indication of the constants, and if they do the persisted code is executed or else the persisted code is invalidated. The persisted code is also invalidated when a new version of ILL software is stored into the database.
    Type: Grant
    Filed: January 26, 2007
    Date of Patent: October 11, 2011
    Assignee: Oracle International Corporation
    Inventors: Robert H. Lee, David Unietis, Mark Jungerman
  • Patent number: 8037461
    Abstract: A method of dynamic real time translation of first program code written for a first programmable machine into second program code (target code) for running on a second programmable machine employing run time generation of an intermediate representation of the first program code. Upon first encountering a given portion of program code, only the target code necessary to execute that portion of program code under a prevailing set of entry conditions is initially generated and stored. When the same portion of program code is again encountered, a determination is made as to whether intermediate representation corresponding to a second subsequent set of conditions has been generated. If not, the target code necessary to execute the same portion of program code under that second set of conditions is generated.
    Type: Grant
    Filed: March 27, 2007
    Date of Patent: October 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Jason Souloglou, Alasdair Rawsthorne
  • Patent number: 8032587
    Abstract: The Asynchronous Aggregator shifts the burden of retrieving and aggregating asynchronous responses by replacing asynchronous requests in an original request thread with placcholders with a unique identifier, creating new threads for each asynchronous request, writing a script to request the asynchronous request output, and returning the original request and the script to the client. Each of the new threads run independently and when completed, place the output in the server store. The script then requests each output from the server store as the output becomes available to fill the placeholders.
    Type: Grant
    Filed: August 28, 2007
    Date of Patent: October 4, 2011
    Assignee: International Business Machines Corporation
    Inventors: Madhu K. Chetuparambil, Curtiss J. Howard, Todd E. Kaplinger, Erinn E. Koonce, Maxim A. Moldenhauer
  • Patent number: 8027925
    Abstract: The present invention comprises a method and apparatus for enforcing software licenses for resource libraries such as an application program interface (API), a toolkit, a framework, a runtime library, a dynamic link library (DLL), an applet (e.g. a Java or ActiveX applet), or any other reusable resource. The present invention allows the resource library to be selectively used only by authorized end user software programs. The present invention can be used to enforce a “per-program” licensing scheme for a resource library whereby the resource library is licensed only for use with particular software programs. In one embodiment, a license text string and a corresponding license key are embedded in a program that has been licensed to use a resource library. The license text string and the license key are supplied, for example, by a resource library vendor to a program developer who wants to use the resource library with an end user program being developed.
    Type: Grant
    Filed: November 1, 2000
    Date of Patent: September 27, 2011
    Assignee: Apple Inc.
    Inventors: Blaine Garst, Bertrand Serlet
  • Patent number: 8028270
    Abstract: A software generation method and system. The method includes receiving by a computing system, a first data file including first data associated with an entity. The first data file includes a first file format. The first data file is converted to a second data file including a second file format. The second data file includes the first data. A data dictionary including second data is generated. Computer source code is generated within the data dictionary. The computer source code is generated from the second data. The computer source code is transferred from the data dictionary to an import agent source code editor of a software application.
    Type: Grant
    Filed: November 10, 2006
    Date of Patent: September 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: Andrew John Garrett, James A. Martin
  • Patent number: 8024714
    Abstract: Various technologies and techniques are disclosed for transforming a sequential loop into a parallel loop for use with a transactional memory system. Open ended and/or closed ended sequential loops can be transformed to parallel loops. For example, a section of code containing an original sequential loop is analyzed to determine a fixed number of iterations for the original sequential loop. The original sequential loop is transformed into a parallel loop that can generate transactions in an amount up to the fixed number of iterations. As another example, an open ended sequential loop can be transformed into a parallel loop that generates a separate transaction containing a respective work item for each iteration of a speculation pipeline. The parallel loop is then executed using the transactional memory system, with at least some of the separate transactions being executed on different threads.
    Type: Grant
    Filed: June 4, 2007
    Date of Patent: September 20, 2011
    Assignee: Microsoft Corporation
    Inventors: John Joseph Duffy, Jan Gray, Yosseff Levanoni
  • Patent number: 8024555
    Abstract: An emulator allows subject code written for a subject processor having subject processor registers and condition code flags to run in a non-compatible computing environment. The emulator identifies and records parameters of instructions in the subject code that affect status of the subject condition code flags. Then, when an instruction in the subject code is encountered, such as a branch or jump, that uses the flag status to make a decision, the flag status is resolved from the recorded instruction parameters. Advantageously, emulation overhead is substantially reduced.
    Type: Grant
    Filed: December 14, 2007
    Date of Patent: September 20, 2011
    Assignee: International Business Machines Corporation
    Inventors: John H. Sandham, Geraint M. North
  • Patent number: 8024729
    Abstract: This disclosure relates to drawing within a computer environment using a drawing resource. The computer environment includes a managed code portion and a native code portion. The computer environment compares a draw parameter call value being passed from the managed code portion to the native code portion with a stored drawing resource value stored in the native code portion. If the draw parameter call value is the same as the stored drawing resource value, then the computer environment is configured to draw onto a native drawing surface using the stored drawing resource. If the draw parameter call value is not the same as the drawing resource value, then a new drawing resource is created in the managed code portion. In another aspect, a portion of the drawing resource feature portion that contains data that describes at least one or more parameter of the drawing resource is transmitted between the managed code portion and the native code portion.
    Type: Grant
    Filed: July 2, 2007
    Date of Patent: September 20, 2011
    Assignee: Microsoft Corporation
    Inventors: Seth M. Demsey, Tuan Huynh, Christopher W. Lorton
  • Publication number: 20110219361
    Abstract: Automated refactorings as implemented in modern IDEs for Java usually make no special provisions for concurrent code. Thus, refactored programs may exhibit unexpected new concurrent behaviors. We analyze the types of such behavioral changes caused by current refactoring engines and develop techniques to make them behavior-preserving, ranging from simple techniques to deal with concurrency-related language constructs to a framework that computes and tracks synchronization dependencies. By basing our development directly on the Java Memory Model we can state and prove precise correctness results about refactoring concurrent programs. We show that a broad range of refactorings are not influenced by concurrency at all, whereas other important refactorings can be made behavior-preserving for correctly synchronized programs by using our framework. Experience with a prototype implementation shows that our techniques are easy to implement and require only minimal changes to existing refactoring engines.
    Type: Application
    Filed: March 5, 2010
    Publication date: September 8, 2011
    Applicant: International Business Machines Corporation
    Inventors: JULIAN DOLBY, Max Schaefer, Manu Sridharan, Frank Tip, Emina Torlak
  • Publication number: 20110219362
    Abstract: A virtual execution environment (VEE) for a streaming Intermediate Language (IL), wherein the streaming IL represents a streaming program, communicates streaming data in queues, stores data-at-rest in variables, and determines data by functions, where inputs are read from the queues and the variables, and outputs are written to the queues and the variables.
    Type: Application
    Filed: March 8, 2010
    Publication date: September 8, 2011
    Applicant: International Business Machines Corporation
    Inventors: Henrique Andrade, Jim Challenger, Bugra Gedik, Robert Grimm, Martin J. Hirzel, Vibhore Kumar, Robert Soule, Kun-Lung Wu
  • Patent number: 8015552
    Abstract: A method of validating a testing procedure in a computer program is disclosed. A sequence of machine code instructions performed by a processor is recorded as trace data. Further, a mapping file is accessed. In addition, a source line is translated into a plurality of machine code instructions according to a mapping found in the mapping file. Accordingly, at least a portion of the trace data is searched through to determine whether each machine instruction in the plurality of machine instructions has been executed. An indication is displayed of whether any of the machine instructions in the plurality of machine instructions has been executed.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: September 6, 2011
    Assignee: Green Hills Software, Inc.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 8010340
    Abstract: A method, system, and computer program product for national language support. National language support for an application is provided by recording translations of a text string in corresponding different languages in a single property file so as to allow display of the translations in the property file. One of the translations of the text string recorded in the property file is selected for use by an application based on a locale associated with the execution of the application and the selected one of the translations is used in the execution of the application.
    Type: Grant
    Filed: July 17, 2008
    Date of Patent: August 30, 2011
    Assignee: International Business Machines Corporation
    Inventors: Yen-Fu Chen, John W. Dunsmoir, Rick A. Hamilton, II, James W. Seaman
  • Patent number: 8010952
    Abstract: Syntax and semantic validation of network commands use a command database that has been learned automatically for validation of the syntax and the semantics of command line interface commands by interpreting the network commands as the network commands are entered to identify syntax errors or semantic errors before applying the same commands on a device of interest.
    Type: Grant
    Filed: June 8, 2005
    Date of Patent: August 30, 2011
    Assignee: Cisco Technology, Inc.
    Inventors: Krishnam Raju Datla, Srinivasa Beereddy, Praveen Vengalam, Chandrasekhar Guntakala, Prasanthi Somepalli
  • Patent number: 8006232
    Abstract: Embodiments of the invention provide a debugging tool configured to serialize function calls made to a graphics API on a remote device such as a hand-held videogame system. Embodiments of the invention may be used to emulate the performance of the same graphics API calls made on the remote device to generate a given display frame. An instrumented driver may capture and serialize each graphics API call invoked by a graphics application running on the remote device. Thus, the host component of the graphical application debugger may generate and display the same image as displayed on the target device without the latency of waiting for a set of framebuffer data to be transmitted over the communication link for each frame rendered on the target device.
    Type: Grant
    Filed: July 30, 2007
    Date of Patent: August 23, 2011
    Assignee: NVIDIA Corporation
    Inventors: Philip A. Rideout, Jason R. Allen, Jeffrey T. Kiel, Sébastien Julien Dominé
  • Patent number: 8006236
    Abstract: Systems and methods for compiling high-level primitive programs are used to generate primitive program micro-code for execution by a primitive processor. A compiler is configured to produce micro-code for a specific target primitive processor based on the target primitive processor's capabilities. The compiler supports features of the high-level primitive program by providing conversions for different applications programming interface conventions, determining output primitive types, initializing attribute arrays based on primitive input profile modifiers, and determining vertex set lengths from specified primitive input types.
    Type: Grant
    Filed: February 24, 2006
    Date of Patent: August 23, 2011
    Assignee: NVIDIA Corporation
    Inventors: Mark J. Kilgard, Cass W. Everitt, Christopher T. Dodd, Robert Steven Glanville