Translation Of Code Patents (Class 717/136)
-
Publication number: 20120036502Abstract: 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: ApplicationFiled: February 4, 2011Publication date: February 9, 2012Inventors: John Banning, H. Peter Anvin, Robert Bedichek, Guillermo J. Rozas, Andrew Shaw, Linus Torvalds, Jason Wilson
-
Patent number: 8108842Abstract: 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: GrantFiled: October 1, 2008Date of Patent: January 31, 2012Assignee: International Business Machines CorporationInventors: Alexander B. Brown, Geraint M. North, Frank Thomas Weigel, Gareth Anthony Knight
-
Patent number: 8107612Abstract: 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: GrantFiled: May 7, 2008Date of Patent: January 31, 2012Assignee: ShoreTel, Inc.Inventor: Kenneth A. Robesky
-
Patent number: 8108844Abstract: 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: January 31, 2012Assignee: Google Inc.Inventors: William Y. Crutchfield, Brian K. Grant, Matthew N. Papakipos
-
Patent number: 8108854Abstract: 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: GrantFiled: September 27, 2007Date of Patent: January 31, 2012Assignee: Symantec CorporationInventors: Greg Wiggins, Rajesh Moorjani, Vivek Kumar Rai, Vivek Umesh Bhagwat, Sanjay Ahuja, Santosh D. Surve
-
Patent number: 8104034Abstract: 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: GrantFiled: November 30, 2005Date of Patent: January 24, 2012Assignee: Red Hat, Inc.Inventor: Ulrich Drepper
-
Patent number: 8103850Abstract: 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: GrantFiled: May 5, 2009Date of Patent: January 24, 2012Assignee: International Business Machines CorporationInventors: Ravi Nair, Kevin A. Stoodley
-
Patent number: 8104016Abstract: 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: GrantFiled: February 17, 2006Date of Patent: January 24, 2012Assignee: Synopsys, Inc.Inventors: Rajesh Kumar, Sanjay Kumar Jain
-
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
-
Patent number: 8095915Abstract: 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: GrantFiled: April 13, 2005Date of Patent: January 10, 2012Assignee: Telefonaktiebolaget LM Ericsson (publ)Inventors: Mats Winberg, Lars Winberg, Nils Ola Linnermark, Marijan Hemetek
-
Patent number: 8095918Abstract: 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: GrantFiled: November 30, 2006Date of Patent: January 10, 2012Assignee: International Business Machines CorporationInventors: Fumiko Satoh, Yuichi Nokomuru, Kouichi Ono
-
Patent number: 8095919Abstract: 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: GrantFiled: November 13, 2009Date of Patent: January 10, 2012Assignee: ACK Ventures Holdings, LLCInventors: 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: 8091076Abstract: 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: GrantFiled: September 25, 2008Date of Patent: January 3, 2012Assignee: International Business Machines CorporationInventors: Alexander B. Brown, Geraint M. North, Frank Thomas Weigel, Gareth Anthony Knight
-
Patent number: 8086438Abstract: 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: GrantFiled: December 3, 2002Date of Patent: December 27, 2011Assignee: Synopsys, Inc.Inventors: Achim Nohl, Gunnar Braun, Andreas Hoffmann, Oliver Schliebusch, Rainer Leupers, Heinrich Myer
-
Publication number: 20110314442Abstract: 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: ApplicationFiled: June 17, 2010Publication date: December 22, 2011Applicant: International Business Machines CorporationInventors: Uday Kumar Bondhugula, Alexandre E. Eichenberger, John Kevin P. O'Brien, Lakshminarayanan Renganarayana, Yuan Zhao
-
Publication number: 20110314451Abstract: 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: ApplicationFiled: June 16, 2010Publication date: December 22, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Warren J. Baumann, Firas Bouz, Douglas S. Brown, William M. Higginbotham
-
Publication number: 20110314456Abstract: 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: ApplicationFiled: August 26, 2011Publication date: December 22, 2011Applicant: Hitachi, Ltd.Inventors: Wataru Takagi, Daisuke Yokotsuka
-
Publication number: 20110307874Abstract: 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: ApplicationFiled: June 15, 2010Publication date: December 15, 2011Applicant: Microsoft CorporationInventors: John Benjamin Messerly, James J. Hugunin, Jonathon Michael Stall, Curt Oliver Hagenlocher
-
Publication number: 20110307876Abstract: 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: ApplicationFiled: June 14, 2010Publication date: December 15, 2011Inventors: Guilherme D. Ottoni, Hong Wang, Wei Li
-
Patent number: 8078652Abstract: 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: GrantFiled: December 6, 2007Date of Patent: December 13, 2011Assignee: Oracle International CorporationInventors: Subhransu Basu, Harmeek Singh Bedi
-
Patent number: 8079027Abstract: 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: GrantFiled: September 8, 2006Date of Patent: December 13, 2011Assignee: Via Technologies, Inc.Inventors: David Fong, Stanley John, Zheng (Joy) Zhang, Qi (Christine) Chen
-
Patent number: 8078650Abstract: 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: GrantFiled: April 5, 2007Date of Patent: December 13, 2011Assignee: Microsoft CorporationInventors: Barry McHugh, Terry Farrell
-
Patent number: 8078832Abstract: 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: GrantFiled: May 28, 2008Date of Patent: December 13, 2011Assignee: Massachusetts Institute of TechnologyInventors: Anant Agarwal, David Wentzlaff
-
Patent number: 8073902Abstract: 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: GrantFiled: May 3, 2009Date of Patent: December 6, 2011Inventors: Vincent Bédard, Marco Vachon
-
Patent number: 8074209Abstract: 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: GrantFiled: January 4, 2007Date of Patent: December 6, 2011Assignee: Microsoft CorporationInventors: Scott David Smith, Rahul Sudhir Kumar, Todd Haugen
-
Publication number: 20110289492Abstract: 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: ApplicationFiled: August 1, 2011Publication date: November 24, 2011Applicant: Mitsubishi Electric CorporationInventors: Takahiro Ito, Shigeki Suzuki, Yoshiko Ochiai, Noriyuki Kushiro, Yoshiaki Koizumi
-
Patent number: 8065168Abstract: 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: GrantFiled: April 25, 2006Date of Patent: November 22, 2011Assignee: ACS State and Local Solutions, Inc.Inventor: Aleksander Szlam
-
Patent number: 8059126Abstract: 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: GrantFiled: March 30, 2007Date of Patent: November 15, 2011Assignee: Computer Associates Think, Inc.Inventor: Wayne Joseph Barbarek
-
Patent number: 8060857Abstract: 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: GrantFiled: January 31, 2009Date of Patent: November 15, 2011Inventor: Ted James Biggerstaff
-
Patent number: 8056061Abstract: 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: GrantFiled: October 20, 2005Date of Patent: November 8, 2011Assignee: Samsung Electronics Co., Ltd.Inventors: Sang-gyu Lee, Chong-mok Park
-
Patent number: 8056062Abstract: 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: GrantFiled: May 14, 2007Date of Patent: November 8, 2011Assignee: General Electric CompanyInventors: David Thomas Bowers, Nagesh Laxminarayana Kurella, Patrick Joseph Conroy, Peter Frank Andrews, Marc Gavin Lindenmuth
-
Publication number: 20110271262Abstract: 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: ApplicationFiled: July 13, 2011Publication date: November 3, 2011Inventors: George A. Reis, Robert Cohn, Shubhendu S. Mukherjee
-
Patent number: 8046678Abstract: 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: GrantFiled: August 22, 2005Date of Patent: October 25, 2011Assignee: Yahoo! Inc.Inventors: David Jackson, Aamod Sane, Ashish Kasi, Chandra Pisupati
-
Patent number: 8046202Abstract: 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: GrantFiled: July 17, 2006Date of Patent: October 25, 2011Assignee: The MathWorks, Inc.Inventors: Dongzhe Yang, Robert O. Aberg, Pieter J. Mosterman
-
Patent number: 8042097Abstract: 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: GrantFiled: October 9, 2008Date of Patent: October 18, 2011Assignee: International Business Machines CorporationInventors: Yariv Aridor, Alan J. Wecker, Blair Wyman
-
Patent number: 8037460Abstract: 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: GrantFiled: January 26, 2007Date of Patent: October 11, 2011Assignee: Oracle International CorporationInventors: Robert H. Lee, David Unietis, Mark Jungerman
-
Patent number: 8037461Abstract: 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: GrantFiled: March 27, 2007Date of Patent: October 11, 2011Assignee: International Business Machines CorporationInventors: Jason Souloglou, Alasdair Rawsthorne
-
Patent number: 8032587Abstract: 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: GrantFiled: August 28, 2007Date of Patent: October 4, 2011Assignee: International Business Machines CorporationInventors: Madhu K. Chetuparambil, Curtiss J. Howard, Todd E. Kaplinger, Erinn E. Koonce, Maxim A. Moldenhauer
-
Patent number: 8027925Abstract: 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: GrantFiled: November 1, 2000Date of Patent: September 27, 2011Assignee: Apple Inc.Inventors: Blaine Garst, Bertrand Serlet
-
Patent number: 8028270Abstract: 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: GrantFiled: November 10, 2006Date of Patent: September 27, 2011Assignee: International Business Machines CorporationInventors: Andrew John Garrett, James A. Martin
-
Patent number: 8024714Abstract: 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: GrantFiled: June 4, 2007Date of Patent: September 20, 2011Assignee: Microsoft CorporationInventors: John Joseph Duffy, Jan Gray, Yosseff Levanoni
-
Patent number: 8024555Abstract: 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: GrantFiled: December 14, 2007Date of Patent: September 20, 2011Assignee: International Business Machines CorporationInventors: John H. Sandham, Geraint M. North
-
Patent number: 8024729Abstract: 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: GrantFiled: July 2, 2007Date of Patent: September 20, 2011Assignee: Microsoft CorporationInventors: Seth M. Demsey, Tuan Huynh, Christopher W. Lorton
-
Publication number: 20110219361Abstract: 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: ApplicationFiled: March 5, 2010Publication date: September 8, 2011Applicant: International Business Machines CorporationInventors: JULIAN DOLBY, Max Schaefer, Manu Sridharan, Frank Tip, Emina Torlak
-
Publication number: 20110219362Abstract: 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: ApplicationFiled: March 8, 2010Publication date: September 8, 2011Applicant: International Business Machines CorporationInventors: Henrique Andrade, Jim Challenger, Bugra Gedik, Robert Grimm, Martin J. Hirzel, Vibhore Kumar, Robert Soule, Kun-Lung Wu
-
Patent number: 8015552Abstract: 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: GrantFiled: July 23, 2004Date of Patent: September 6, 2011Assignee: 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: 8010340Abstract: 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: GrantFiled: July 17, 2008Date of Patent: August 30, 2011Assignee: International Business Machines CorporationInventors: Yen-Fu Chen, John W. Dunsmoir, Rick A. Hamilton, II, James W. Seaman
-
Patent number: 8010952Abstract: 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: GrantFiled: June 8, 2005Date of Patent: August 30, 2011Assignee: Cisco Technology, Inc.Inventors: Krishnam Raju Datla, Srinivasa Beereddy, Praveen Vengalam, Chandrasekhar Guntakala, Prasanthi Somepalli
-
Patent number: 8006232Abstract: 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: GrantFiled: July 30, 2007Date of Patent: August 23, 2011Assignee: NVIDIA CorporationInventors: Philip A. Rideout, Jason R. Allen, Jeffrey T. Kiel, Sébastien Julien Dominé
-
Patent number: 8006236Abstract: 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: GrantFiled: February 24, 2006Date of Patent: August 23, 2011Assignee: NVIDIA CorporationInventors: Mark J. Kilgard, Cass W. Everitt, Christopher T. Dodd, Robert Steven Glanville