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
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
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
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
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.
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
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
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
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
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.
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.
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
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.
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.
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
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.