Method and apparatus for performing a trap operation in an...

Electrical computers and digital processing systems: processing – Processing control – Branching

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S260000

Reexamination Certificate

active

06336184

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to a method and apparatus for performing a trap operation in an information handling system and, more particularly, to a method and apparatus for facilitating transfer of control from a user program to a trap program while saving state information relating to the user program.
2. Description of the Related Art
The so-called year 2000 problem, or millennium bug as it is sometimes referred to, has received considerable attention lately. The problem arises from the fact that date representations in programs, files, and databases often use a two-digit year (YY) value, representing the year 1998, for example, simply as “98”, with the century being understood. Programs that perform arithmetic or comparison operations on such dates may give incorrect or unexpected results when dealing with years after 1999, since the understanding as to the century may no longer be correct.
Thus, a date reference of “00” for the year 2000 may be erroneously interpreted as referring to the year 1900. A program making such an erroneous interpretation may determine that a credit card expiring in the year “00” expired in the year 1900 or that a payment due in the year “00” was due in 1900, with unfortunate results.
Various remediation techniques have been proposed in the prior art, such as those described in U.S. Pat. No. 5,600,836 to Alter, U.S. Pat. No. 5,630,118 to Shaughnessy, U.S. Pat. No. 5,644,762 to Soeder, U.S. Pat. No. 5,668,989 to Mao, and U.S. Pat. No. 5,761,668 to Adamchick, all incorporated herein by reference. Perhaps the most straightforward technique is to modify the original source code (e.g., COBOL code) to change all two-digit year references to four-digit year references that cannot be misinterpreted. However, this is often impractical for several reasons, including the large repository of data files in the old format that often exist.
Various other, less radical techniques may be applied to either source code or object code. On such technique, described in U.S. Pat. No. 5,600,836, is called “windowing”. In windowing, two-digit year references are still understood is referring to a 100-year range, but one that is offset to include the years of interest, for example, the range 1928-2027. In this example, two-digit year references in the range 0-27 are interpreted as referring to the period 2000-2027, while two-digit year references in the range 28-99 are interpreted as referring to the period 1928-1999. While this technique must be used with caution to ensure that the year dates being processed do not fall outside the given 100-year range, it permits the use of existing data files.
Another technique, operating on object code, is that used by RTX Time Warp, part of the HDS RTX (Run Time eXtensions) Environment available from Hitachi Data Systems. Preliminarily, an object-code program is scanned for Subtract and Compare instructions having date operands that are susceptible to year 2000 failure. Each such date instruction is replaced by a “00” op code, and an entry for the instruction, identifying the program, the instruction location, the instruction type and the date format, is made in a registration table. When encountered at execution time, the “00” op code causes a suspension of execution, resulting in a transfer of control to RTX Time Warp. RTX Time Warp then looks for the instruction in the registration table and executes it while taking an appropriate corrective action. Thus, if the registered instruction is a Subtract instruction and produces a negative result (for example, if an operand of 4 representing an interval of 4 years is subtracted from a date operand 02 representing the year 2002), RTX Time Warp adds 100 to the result. Similarly, if the registered instruction is a Compare instruction (for example, comparing the operands 98 and 02 representing the year dates 1998 and 2002), RTX Time Warp determines whether the condition code resulting from the comparison operation should be reversed to produce a correct result.
While the HDS tool has the advantage of being usable in situations where source code is unavailable, it is relatively limited in its repertoire of instructions that can be remediated (Subtract and Compare instructions) as well as the remediation techniques that are available.
SUMMARY OF THE INVENTION
In general, the present invention contemplates a method and apparatus of facilitating transfer of control from a user program to a trap program while saving state information relating to the user program in an information handling system in which a processor executing a program of instructions has an execution state defined by state information stored in a program context area, the program context area including an instruction address field for storing the address of the next instruction to be executed. In accordance with the invention, there is specified a trap save area outside of the program context area for storing state information relating to the user program, as well as an address of a trap program. Upon decoding a trap instruction in the user program, the processor copies current state information from the program context area to the trap save area to save state information relating to the user program, and copies the specified trap program address into the instruction address field of the program context area to transfer control to the trap program at the specified address.
Typically, the program context area comprises a program status word, containing the instruction address field, and one or more sets of registers such as a set of general registers and a corresponding set of access registers. The trap save area and trap program address may be specified by pointers in a trap control block whose address is loaded into a general register in the program context area in response to decoding the trap instruction. The trap control block may also specify a control table that is used by the trap program, in particular a window control table if the trap program is a year 2000 remediation program, such as described in the related application referred to above.


REFERENCES:
patent: 3789365 (1974-01-01), Jen et al.
patent: 4034349 (1977-07-01), Monaco et al.
patent: 4315314 (1982-02-01), Russo
patent: 5121501 (1992-06-01), Baumgartner et al.
patent: 5454086 (1995-09-01), Alpert et al.
patent: 5546586 (1996-08-01), Wetmore et al.
patent: 5592613 (1997-01-01), Miyazawa et al.
patent: 5600836 (1997-02-01), Alter
patent: 5630118 (1997-05-01), Shaughnessy
patent: 5644762 (1997-07-01), Soeder
patent: 5668989 (1997-09-01), Mao
patent: 5761668 (1998-06-01), Adamchick
The Journal of Defense Software Engineering, Oct. 97, p. 18—p. 25, “Dealing with Dates: Solutions for the Year 2000” by Robert A. Martin of MITRE Corporation.
http://www.year2000.com/archive/options/html, Procedural and Data Change Options for Century Compliance. “A Comparison of Procedural and Data Change Options for Century Compliance” by Andrew Eldridge, et al.
Daily Freeman Newspaper article, Jun. 6, 1998, p. 11, “Would-be inventor patents ‘simple’ solution to Year 2000 computer glitch”.
http://www.hds.com/voyager/announce.html; OaYDaNP4AkF13sX50qCC17x#9cmfkwA0WOTfhjdp4C, Hitachi Data Systems, “HDS Voyager Family Leads S/390 Users into the Next Millennium—on Track and on Time”. Santa Clara, California, 05/97, 9 pages.
http://www.sas.com/software/year2000/yr2000.html, Software Technologies Year 2000 Compliance, “The Year 2000: Preparing for the Inevitable”, by Langston, et al, 7 pages.
wysiwyg://122/http://y2k.state.fl.us/y2ksite/yr2ktools.html, State of Florida Year 2000 Task Force, Year 2000 Tools & Training, 12 pages.
http://www.bmrsoftware.com
ews.html. BMR Software, Inc.: The Solution for year 2000, News publication, 17 pages, reprinted from The Wall Street Journal, Jun. 20, 1997.
IBM Manual, GC28-1251-07, 09/97, The Year 2000 and 2-Digit Dates: A Guide for Planning and Implementation.
IBM Manual, SA22-7201-02, “Enterprise Systems Architecture/390 Principles of Operation”.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for performing a trap operation in an... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for performing a trap operation in an..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for performing a trap operation in an... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2842822

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.