Identifying date fields for runtime year 2000 system...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C707S793000, C707S793000

Reexamination Certificate

active

06240546

ABSTRACT:

RELATED APPLICATION
This invention relates to a patent application being filed simultaneously via U.S. Express Mail Label No. EM297284745US on Jul. 24, 1998 and entitled “Runtime Year 2000 System Solution Process, Method and Article of Manufacture,” the contents of which are incorporated by reference herein.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to computer programs and their associated run-time environments, and in preferred embodiments, to a computer-implemented method, apparatus, and article of manufacture for a runtime solution to the Year 2000 problem.
2. Description of the Related Art
Computer systems used in various processing applications, such as, for example, processing insurance information, account information, inventory information, investment information, retirement information, as well as many other applications, often operate with records and data containing date-dependent information. In many computing systems, date information relating to years has typically been represented in two-digit year formats, where two digits represent a year between 1900 and 1999. Thus, for example, the two digits “97” would represent the year 1997. Popular usage of this simplified date information format throughout the computer industry has resulted in an industry-recognized problem, often referred to as “the Year 2000 problem,” (or the “Y2K Problems).
More specifically, as a result of this simplification of date information, upon the turn of the century (i.e., upon the year 2000), two-digit year information intended to represent a year within the 21st century will, instead, be indistinguishable by computer systems from a year within the 20th century (i.e., between 1900 and 1999). Thus, for example, a two-digit year value of “08” which is intended to represent the year 2008 will be indistinguishable from the year 1908 by such computer systems.
More specifically, Year 2000 problems occur when calculations and comparisons cross the year 2000 boundary. For example, calculating two years beyond the year 1999 (represented as “99”) yields an arithmetically correct result of 101, but the computer system may truncate this to 01, since only two digits are allowed. As a further example, the comparison of the year 1999 (represented as “99”) against 2000 (represented as “00”) may yield the result that a date in the year 1999 is “after” (arithmetically greater) than the year 2000.
Various solutions to the “Year 2000 problem” have been suggested. However, previously proposed manners of implementing such solutions have generally required source code changes. The solutions not requiring source code changes were generally incompatible with source code remediated applications.
For example, three widely recognized techniques to address the year 2000 problem are: expansion, windowing, and compression. The expansion technique, in general, involves a conversion of 2-digit years to 4-digit years. This solves the problem of ambiguity. However, because the size of the field is larger after expansion, prior proposals to implement this technique have required modifications to application logic, data files, and databases, etc. (including backup copies). In addition, processing routines involving date information would have to be rewritten to accommodate four-digit year data. The costs and conversion time associated with such modifications can eliminate this as a practical option.
According to the windowing technique, a 2-digit year field is interpreted as a year within a 100 year window of time. In the past, the year values, ranging from 0 to 99, were interpreted within the 100 year window of 1900 to 1999. The windowing technique simply allows the programmer to specify a window with a set of values different than from 1900 to 1999, for example, from 1960 to 2059. In the simple form of this technique, a single window is used for all windowed items in the executable module. For example, a “pivot point” is defined and all two digit year dates at or below this pivot point are assumed to be in the twenty-first century, while all other dates are assumed to be in the twentieth century.
In addition to this “single” window technique, multiple windows may be supported by allowing different window values to be defined for each program variable in the source module. For example, values representing birth dates ranging from 1920 to the present may coexist in a module with values representing retirement dates ranging from 1960 to 2059. Multiple windows provide a significant additional capability in terms of flexibility and power.
However, prior windowing proposals required changes to program logic (typically in source programs) which, in the past, was accomplished by modifying each instance in a source code in which date information is used. Tools, such as Vantage YR2000™ from Millennium Dynamics, FIELDEX™ from STA America and 2000-Resolve™ from Micro Focus, have been developed to help analyze and modify source code statements. However, such source code modifications tend to increase the complexity of the source code, make debugging operations more difficult and, in some cases, increase the propensity for errors. The Millennium Language Extensions (“MLE”) technology (as described in co-pending application Ser. No. 08/899,444, which is incorporated herein by reference) generally avoids logic changes, but still requires data division changes.
According to compression techniques, values greater than 99 are stored in the same space previously used to store two-digit year values. One previous manner proposed for implementing this function involved changing the datatype, for example, from character to binary, thus allowing values as large as 32,767 in the same two-byte field. However, such prior proposals require changing all recorded data to the new datatype, as well as changing program data declarations and, in some cases, program logic. Procedures for effecting such changes can be relatively complex, time consuming and error prone.
Therefore, although techniques have been developed for addressing the Year 2000 problem, there is still a need in the art for a method which allows the problem to be addressed in an economical and practical manner without requiring source code changes or requiring the availability of source and/or compilation/assembly listings.
SUMMARY OF THE DISCLOSURE
Therefore, embodiments of the present invention relate generally to methods, apparatuses, and articles of manufacture for solving the Year 2000 problem, and avoiding problems associated with prior techniques requiring source code modifications. Preferred embodiments involve a runtime procedure and system which operate with the object code and, thus, are capable of mitigating Year 2000 application errors without the need to make changes to application source code. A process and system according to embodiments of the invention, is “complete” insofar as providing a methodology that, when executed accurately will provide correct and definable remediation for an object code. In addition, it also provides for an implementation which will provide the user with a workable migration path to source code remediation. This migration will allow complete interoperability between runtime remediated code and source code remediated code. One aspect of such embodiments involves the definition of two new hardware instructions (along with operating system simulation in the case where the new instructions are not available) which will improve the efficiency of the solution.
A process, according to one exemplary embodiment, involves modifying or replacing object code instructions that require an operation on year 2000 date-dependent information (such as an add operation, compare operation, subtract operation) with further object code instructions that temporarily transfer control to a program, or fix routine. The fix routine performs a Year 2000 solution algorithm or technique on date-dependent information, such as, but not limited to, windowing, expansion or compression, before performing the operation required by

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

Identifying date fields for runtime year 2000 system... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Identifying date fields for runtime year 2000 system..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Identifying date fields for runtime year 2000 system... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2472283

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