Revision compatibility between programs

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

Reexamination Certificate

active

06233730

ABSTRACT:

FIELD OF INVENTION
This invention relates to computer programs, and more particularly to revision compatibility between programs.
BACKGROUND ART
Client/server network operating systems allow networks to centralize functions and applications in one or more dedicated servers. The server becomes the heart of the system providing access to resources by individual client programs. In an object-oriented environment the server may store objects. An object is a self-contained entity that consists of both data and functions to manipulate the data. Objects may be either parent objects or child objects where child objects inherit the data structure of the parent object and add additional data elements or functions.
In an object-oriented client/server network the objects that are on the server are managed by server software which responds to requests for objects from client software that request access to the object information. A client wishing to retrieve information from an object on the server makes a request, which is sent using common network streaming techniques to the server software. The server software responds by accessing the requested object. The server software streams the object to the client by sending the parent object and all of the child objects in a particular order known to the client. This system of streaming data works so long as the client and the server are both aware of the parent object, all inherited child objects, and all of the fields of the inherited objects that are being streamed along with the order of the data being streamed. Whenever the client software or the server software is upgraded to a new version in which new fields have been added within either a child or parent object, the non-updated software may lose data or malfunction because the data being sent is not expected and therefore the receiver is not capable of parsing the data. One solution that may be implemented is that of revision locking. Revision locking causes a program which has a different revision identifier from the program which it is either sending or receiving object information to be locked so that no data is exchanged. This is overly restrictive when only minor modifications have been made between different versions of software.
SUMMARY OF THE INVENTION
The present invention is directed to a method for providing program revision compatibility in an object-oriented environment. The method operates between a first and a second program. The first program has a parent object with an initial group of fields and an inherited child object with an initial group of fields. In one embodiment, an expansion descriptor is established in the first program which provides a data storage location for data of a new field. The expansion descriptor may be created in the parent object of the first program. The data of the new field is sent to the data storage location of the expansion descriptor and a child object identifier is associated with the data of the new field in the expansion descriptor.
The expansion descriptor is sent to the second program via a data stream and data associated with a child object corresponding to the child object identifier is sent via the data stream. In an alternative embodiment the expansion descriptor may be sent to a corresponding parent object of the second program.
On the receiving side the second program receives a data stream including the expansion descriptor. The data stream is parsed by the second program and the expansion descriptor is stored in the second program. The expansion descriptor may be stored in the corresponding parent object of the second program. The second program identifies the child object identifier in the expansion descriptor in the second program and identifies the data associated with a new field in the expansion descriptor.
The second program then may perform one of three steps depending on the differences between the first and second programs. The second program may update a new field of a child object of the second program corresponding to the child object identifier if the data structure of the corresponding child object of the second program has a data storage location for the new field. The second program may set a data storage location for a new field in a corresponding child object of the second program to a default if in the step of identifying the data associated with the new field in the expansion descriptor there is no new field data in the expansion descriptor corresponding to the new field in the corresponding child object of the second program. The second program may ignore the data associated with the new field in the expansion descriptor located in the second program if the data structure of the corresponding child object of the second program does not have a data storage location for the data associated with the new field.
In another embodiment of the invention a data arrangement of object-oriented computer code on a computer readable medium for updating of objects between a first program and a second program may be formed. The data arrangement includes a parent object a child object having a new field and an expansion descriptor located in the parent object comprising a variable length data storage location for storage of new field data that is associated with the child object and a child object identifier. The method and data arrangement as described may be embodied on a computer readable medium.


REFERENCES:
patent: 5684985 (1997-11-01), Ahmadi
patent: 5913065 (1999-06-01), Faustini
patent: 6044218 (2000-03-01), Faustini
patent: 6049832 (2000-04-01), Brim et al.
patent: 6092077 (2000-06-01), Ahmadi

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

Revision compatibility between programs does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Revision compatibility between programs, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Revision compatibility between programs will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2553573

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