IP Library Granted Patent US 7,653,527
Granted Patent B2
US 7,653,527 · App. 11/323,843 · Granted Jan 26, 2010

Runtime selection of code variants in a multiprogram computer hardware emulation system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,653,527
App. No.
11/323,843
Granted
Jan 26, 2010
Kind
B2
Abstract

As fast and powerful commodity processors have been developed, it has become practical to emulate the proprietary hardware systems of powerful older computers on platforms built using commodity processors. The systems being emulated are often large mainframe computers with large numbers of disks, communications systems and other attached hardware. Because of the size and expense, and also because databases involved must reside in only one location, it is difficult to replicate these systems for testing, development, debug or for providing alternative options to customers. A method for providing a single emulated computer system which provides for multiple views or options in control of the emulator is disclosed in which the options are dependent and selected based on job or user basis. The mechanism continues to provide for high performance and a single copy of the operating system with multiple processes, jobs and threads being emulated under user controlled parameters.

Claims (25)

1. An Apparatus for emulating in software on a host system, operations of a target computer system including:

A) a central processing unit which is a first part of the host system;

B) a host system main memory which is a part of a second part of the host system;

C) target system memory contained within said host system main memory;

D) an emulation program stored within the host system main memory, the emulation program comprising host system machine instructions for processing by the host system central processing unit, the emulation program including a plurality of software modules, and the plurality of software modules including a set of selectable alternative software modules, being simultaneously resident in the host system main memory;

E) an option control for selection of a plurality of options by a user which have influence upon the operation of the emulation program; and,

F) said selection made by the option control in response to a selection of a user chosen specific software module, the selection controlling branching by the emulation program and resulting in the emulation program utilizing the user chosen specific software module during the emulating of the operations of the target computer system.

2. The apparatus of claim 1 wherein the selection of the user chosen specific software module from the plurality of software modules occurs at start of a specific user job resulting in the emulation program utilizing the user chosen specific software module during the emulating for that specific user's job.

3. The apparatus of claim 2 in which said selection of user chosen specific software module from the plurality of software modules occurs at start of the specific user's time slice of processing in a multiprogramming environment.

4. The apparatus of claim 3 in which said selection of the user chosen specific software module is achieved by modifying software program pointers so as to utilize the user chosen specific software module.

5. The apparatus of claim 4 in which said software program pointers referencing the plurality of software modules are stored in at least one table with selection from the table based upon user chosen options.

6. The apparatus of claim 2 in which said selection of the user chosen specific software module is achieved by modifying software program pointers so as to utilize the user chosen specific software module.

7. The apparatus of claim 6 in which software program pointers referencing the plurality of software modules are stored in at least one table with selection from the table based upon user chosen options.

8. The apparatus of claim 1 in which said selection of the user chosen specific software module is achieved by modifying software program pointers so as to utilize the user chosen specific software module.

9. The apparatus of claim 8 in which software program pointers referencing the plurality of software modules are stored in at least one table with selection from the table based upon user options.

10. The apparatus of claim 1 wherein the selection of the user chosen specific software module from the plurality of modules is repeated at the start of each user processing time slice and includes facilities for multiple users, wherein each individual user is able to make an individualized selection of the plurality of options.

11. A method for packaging and controlling a selection of options to control a software program used in emulating operation of a target computer system, the software program running on a host system which includes a host system main memory, the method including:

A) packaging a plurality of selectable software modules as a part of the software program;

B) storing the software program including the plurality of selectable software modules in host system memory, at least two of the plurality of selectable software modules being simultaneously resident in the host system memory;

C) providing an option control facility enabling a plurality of options selected by a user to have influence upon the operation of the software program in carrying out the emulating operation;

D) applying signals from said option control facility for selection of a user desired specific selected software module from the plurality of selectable software modules;

E) achieving a user chosen software program flow which utilizes the user desired specific selected software module by storing software pointers to control branching within the software program with the pointers being dependent upon the user's selection of options, and,

said software pointers pointing to target locations in memory which are within the plurality of software modules.

12. The method of claim 11 wherein the method further includes the step of: during a time just prior to when a specific user job is started, changing said software program flow based upon user control requirements of the specific user job.

13. The method of claim 12 wherein the method further includes the step of: during a time just prior to when a specific user job is given a time-slice for processing, changing said software program flow based upon user control requirements of the specific user job.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2026
From: ATOS IT SOLUTIONS AND SERVICES, INC.
To: EVIDEN USA, INC.
Reel/Frame 073507/0609 →
MERGER AND CHANGE OF NAME Recorded Jan 12, 2026
From: BULL HN INFORMATION SYSTEMS INC.; ATOS IT SOLUTIONS AND SERVICES, INC.
To: ATOS IT SOLUTIONS AND SERVICES, INC.
Reel/Frame 073443/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2005
From: GUENTHNER, RUSSELL W.; SELWAY, DAVID W.; ECKARD, CLINTON B.
To: BULL HN INFORMATION SYSTEMS INC.
Reel/Frame 017432/0521 →
Continuity (1)
Related Publication 20070156385A1 · Jul 5, 2007