Emulation Patents (Class 717/138)
  • Patent number: 6530078
    Abstract: A method and system comprising a single IBM S/390 computer architecture running an OS/390 operating system, and at least two guest systems executing within the S/390 computer architecture. Each guest system comprising an execution space, allocated within the virtual memory space of the S/390 computer architecture, in which a guest program or operating system may be executed. Each guest system is configured such that if a Start Interpretive Execution instruction in invoked, the instruction is interpreted and a corresponding function is performed in its place to simulate, for the guest program or operating system, the effect of the IBM S/390 computer architecture. Control is then returned to the guest system at the next instruction after the Start Interpretive Execution instruction, thus allowing the guest program or operating system to execute transparently.
    Type: Grant
    Filed: March 26, 1999
    Date of Patent: March 4, 2003
    Inventors: Alexander V. Shmid, Viatcheslav V. Naumov
  • Patent number: 6529862
    Abstract: In a data processing system implementing Dynamic Object Code Translation (DOCT) for emulating Target system instructions on a Host system, each Target system instruction has an associated index/offset field and an associated code tag that identifies whether the Target instruction has been translated into Host code, and if already translated, whether it is an entry point, middle, or last instruction in a block of code. When an emulator encounters a code tag indicating an entry point into a block of code, execution control is transferred to the corresponding Host code. Upon completion of the Host code block, execution control is returned to the emulator, with an indication of the next Target system instruction to execute. One code tag value is utilized to identify self-modified code. Another code tag value is utilized to indicate how often untranslated Target instructions have been interpreted in order to determine when to perform DOCT.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: March 4, 2003
    Assignee: Bull HN Information Systems Inc.
    Inventors: George A. Mann, Bruce A. Noyes, Rene-Joseph Chevance
  • Publication number: 20030033593
    Abstract: Apparatus for dynamically transforming and caching at least one computer program. The apparatus comprises computer executable instructions stored on one or more computer readable storage media. The apparatus includes instructions for dynamically transforming and caching code fragments and for causing the code fragments to be executed by at least one computer processor. The apparatus also includes instructions providing an application programming interface enabling the at least one computer program to activate the instructions for dynamically transforming code fragments and the instructions for caching code fragments.
    Type: Application
    Filed: August 8, 2001
    Publication date: February 13, 2003
    Inventors: Evelyn Duesterwald, Giuseppe Desoli, Paolo Faraboschi, Joseph A. Fisher, Vasanth Bala
  • Patent number: 6516295
    Abstract: In a data processing system implementing Dynamic Object Code Translation (DOCT) for emulating Target system instructions on a Host system, each Target system instruction has an associated index/offset field and an associated code tag that identifies whether the Target instruction has been translated into Host code, and if already translated, whether it is an entry point, middle, or last instruction in a block of code. When an emulator encounters a code tag indicating an entry point into a block of code, execution control is transferred to the corresponding Host code. Upon completion of the Host code block, execution control is returned to the emulator, with an indication of the next Target system instruction to execute. One code tag value is utilized to identify self-modified code. Another code tag value is utilized to indicate how often untranslated Target instructions have been interpreted in order to determine when to perform DOCT.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: February 4, 2003
    Assignee: Bull HN Information Systems Inc.
    Inventors: George A. Mann, Bruce A. Noyes, Rene-Joseph Chevance
  • Publication number: 20020170039
    Abstract: A system and methods are shown for providing access of specific hardware components and an operating system through a collection of highly transportable drivers. Commands generated by an application are received through the collection of highly transportable drivers. The drivers represent the generated commands using sets of function calls. The function call's access functions are available in sets of platform dependent drivers. The platform dependent drivers provide access to specific system components using the functions, allowing the generated commands to be used for a variety of hardware and operating system types. The hardware and operating system can be altered without altering or replacing the highly transportable drivers.
    Type: Application
    Filed: February 22, 2001
    Publication date: November 14, 2002
    Inventor: Branko D. Kovacevic
  • Publication number: 20020162095
    Abstract: A system and method for developing an application is disclosed. The application is for use with point of sale equipment having a device. The application is capable of utilizing the device when the application is executed on the point of sale equipment. The method and system include providing an emulation module corresponding to the device. The method and system further includes ensuring that the application will utilize the emulation module when the application is executed on the development system. Thus, when the application is executed on the system, the emulation module and the application emulate the interaction between the application and the device that occurs when the application is executed on the point of sale equipment.
    Type: Application
    Filed: December 8, 1998
    Publication date: October 31, 2002
    Inventors: DANIEL VIERA CONRAD, JOHN CHRISTIAN FLUKE, JEFFREY LYNN HARMON
  • Publication number: 20020147969
    Abstract: An optimizing object code translation system and method perform dynamic compilation and translation of a target object code on a source operating system while performing optimization. Compilation and optimization of the target code is dynamically executed in real time. A compiler performs analysis and optimizations that improve emulation relative to template-based translation and interpretation such that a host processor which processes larger order instructions, such as 32-bit instructions, may emulate a target processor which processes smaller order instructions, such as 16-bit and 8-bit instructions. The optimizing object code translator does not require knowledge of a static program flow graph or memory locations of target instructions prior to run time. In addition, the optimizing object code translator does not require knowledge of the location of all join points into the target object code prior to execution. During program execution, a translator records branch operations.
    Type: Application
    Filed: October 21, 1998
    Publication date: October 10, 2002
    Inventors: RICHARD A. LETHIN, JOSEPH A. BANK, CHARLES D. GARRETT, MIKAYO WADA, MITSUO SAKURAI
  • Patent number: 6463582
    Abstract: An optimizing object code translation system and method perform dynamic compilation and translation of a target object code on a source operating system while performing optimization. Compilation and optimization of the target code is dynamically executed in real time. A compiler performs analysis and optimizations that improve emulation relative to template-based translation and interpretation such that a host processor which processes larger order instructions, such as 32-bit instructions, may emulate a target processor which processes smaller order instructions, such as 16-bit and 8-bit instructions. The optimizing object code translator does not require knowledge of a static program flow graph or memory locations of target instructions prior to run time. In addition, the optimizing object code translator does not require knowledge of the location of all join points into the target object code prior to execution. During program execution, a translator records branch operations.
    Type: Grant
    Filed: October 21, 1998
    Date of Patent: October 8, 2002
    Assignee: Fujitsu Limited
    Inventors: Richard A. Lethin, Joseph A. Bank, III, Charles D. Garrett, Mikayo Wada, Mitsuo Sakurai
  • Patent number: 6457171
    Abstract: In a data processing system implementing Dynamic Object Code Translation (DOCT) for emulating Target system instructions on a Host system, each Target system instruction has an associated index/offset field and an associated code tag that identifies whether the Target instruction has been translated into Host code, and if already translated, whether it is an entry point, middle, or last instruction in a block of code. When an emulator encounters a code tag indicating an entry point into a block of code, execution control is transferred to the corresponding Host code. Upon completion of the Host code block, execution control is returned to the emulator, with an indication of the next Target system instruction to execute. One code tag value is utilized to identify self-modified code. Another code tag value is utilized to indicate how often untranslated Target instructions have been interpreted in order to determine when to perform DOCT.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: September 24, 2002
    Assignee: Bull HN Information Systems Inc.
    Inventors: George A. Mann, Bruce A. Noyes, Rene-Joseph Chevance
  • Publication number: 20020133810
    Abstract: A method for processing software instructions in an emulated computing environment is provided in which instruction blocks from the application programs of a guest computer system are parsed to determine whether the instruction blocks include instructions executable at user level or supervisor level. Those instruction blocks that are executable at user level are passed directly to the processor of the host computer system, and those instruction blocks that are executable at supervisor level, are translated before being passed to the processor for execution. In the case of instruction blocks that include instruction blocks executable at supervisor level, prior to translation, a cache is queried to determine whether a translation for the instruction block is in the case. If a translation is in the cache, the translated version in the cache is provided to the processor for execution. If a translation is not in the cache, translation occurs, and the translated instruction block is saved to the cache.
    Type: Application
    Filed: March 15, 2001
    Publication date: September 19, 2002
    Inventors: Aaron Giles, Eric P. Traut
  • Patent number: 6453464
    Abstract: The present invention relates to a method for translating computer programs from a language having the attributes of computer programming language COBOL to a language having the attributes of the computer programming language Java. In particular, source language primitive functions are represented by archetypal templates having code that is selectable based upon the applicable case. In one implementation, the source language is translated to target language code which is, in turn, compiled by a target language compiler, thereby providing a two-step source language compiler.
    Type: Grant
    Filed: August 25, 1999
    Date of Patent: September 17, 2002
    Assignee: LegacyJ. Corp., Inc.
    Inventor: Brian J. Sullivan
  • Patent number: 6433794
    Abstract: A method in a data processing system for selecting a Java virtual machine for use with a browser. A user is prompted for an input, wherein input identifies a virtual machine to be used with the browser. A profile is altered for the browser to include an identification of the virtual machine identified by the input. The profile is used to select a virtual machine for use with the browser.
    Type: Grant
    Filed: July 31, 1998
    Date of Patent: August 13, 2002
    Assignee: International Business Machines Corporation
    Inventors: Bruce Anthony Beadle, Michael Wayne Brown, Michael Aaron Kaply, Douglas Scott Rothert, Robert Michael Russin
  • Publication number: 20020092003
    Abstract: A system for securing an application for execution in a computer. In one embodiment, a preprocessor module modifies an application binary such that the application invokes an interception module in response to invoking certain system calls. The interception module prevents the application from adversely affecting the operating of a computer that is executing the application. Furthermore, the interception module protects the contents of the application from improper access by a user of the computer. For example, the interception module transparently encrypts all files that are used by the application such that a user of the computer cannot improperly access these files.
    Type: Application
    Filed: November 29, 2000
    Publication date: July 11, 2002
    Inventors: Brad Calder, Andrew Chien
  • Patent number: 6415436
    Abstract: The inventive mechanism compares system states resulting from emulation of the same block of source code by different emulation technologies within a dynamic compiler. A set of initial conditions, parameters of the system state S1, preceding any emulation is stored for later use. Then, the block of source code is emulated by an interpreter generating a system state S2, the parameters of which are contained partly in the system registers and partly in memory locations accessed by the interpreter. The status of the memory locations representing system state S2 are stored in a Write History Stack, while the register values representing system state S2 are saved to a reserved portion of memory. Next, the initial conditions, represented by the parameters of the system state S1, are restored to the appropriate registers and memory location values affected by the interpreter. Then, the same block of code is emulated employing dynamic translation leading to a third system state S3.
    Type: Grant
    Filed: December 11, 1998
    Date of Patent: July 2, 2002
    Assignee: Hewlett-Packard Company
    Inventor: Amit Patel
  • Publication number: 20020066071
    Abstract: The present invention discloses a the present invention discloses an integrated program development environment (IDE) for carrying out concurrent program development tasks on a local station for programs executable on a multiple-tier networked client-server system with multiple tiers of client-server stations. The development environment includes a development-environment emulator for emulating program execution environments in each of the multiple tiers of networked client-server stations. The integrated program development environment further includes a communication emulator for emulating networked communications carried out between the multiple tiers of networked stations performed in executing the programs executable on the multiple tiers of networked client-server system.
    Type: Application
    Filed: February 25, 1999
    Publication date: May 30, 2002
    Inventors: SING-BAN ROBERT TIEN, SHIH-GONG LI, YUN-YONG SHEN, TU-HSIN TSAI
  • Publication number: 20020046399
    Abstract: A communication device for a target integrated circuit chip having a digital processor, an on-chip emulator for controlling said digital processor and for collecting operation data from said digital processor for communicating to off-chip circuitry, and a target on-chip universal serial bus interface connected to said on-chip emulator, the communication device comprising an Ethernet port, a universal serial bus port and a further integrated circuit chip having on-chip processing circuitry, on-chip memory circuitry, an on-chip Ethernet interface and an on-chip universal serial bus interface, said on-chip Ethernet interface being connected to said Ethernet port, the said interfaces being connected to said processing circuitry for translating between Ethernet protocol data on an Ethernet bus connected to said Ethernet port and universal serial bus data for said target on-chip universal serial bus interface.
    Type: Application
    Filed: October 16, 2001
    Publication date: April 18, 2002
    Inventor: Anthony Debling