Method, system, and product for maintaining software objects during database upgrade
First Claim
1. A computer program product for upgrading a database of objects, comprising a computer-usable medium having embodied therein computer-readable program codes formarking objects in a first database as either modifiable or read-only using a corresponding field in the respective objects, wherein modifiable objects are allowed to be changed during upgrade of the first database, and wherein read-only objects are not allowed to be changed during upgrade of the first database;
- creating a corresponding integration object for each modifiable object in the first database, wherein each integration object comprises at least those object fields that are allowed to be modified in the corresponding modifiable object, and wherein each integration object is independent of a software vendor-supplied type of the corresponding modifiable object;
generating a second database of objects based on objects in the first database;
sending a copy of each modifiable object in the first database to the second database;
creating in said first database a first snapshot of a first integration object whose corresponding first modifiable object in said first database is to be modified after generation of said second database;
sending said first snapshot to said second database;
creating in said first database a second snapshot of said first integration object after said first modifiable object has been changed from a version used to generate the second database;
sending said second snapshot to said second database;
determining a first delta snapshot at said second database identifying differences between said first and said second snapshots; and
updating the copy of said first modifiable object in the second database based on the first delta snapshot.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques to support modification of certain data in a database during an upgrade to a new version. In one method, objects in an original database are marked as either modifiable or read-only, with changes being allowed for modifiable objects during the upgrade. An upgraded database of objects is generated based on objects in the original database (e.g., by copying objects in the original database and upgrading the copied objects to new schema and binaries). Changes to modifiable objects in the original database (e.g., after these objects have been copied) are logged. After the upgraded database has been created, objects in this database may be updated (e.g., individually or all at once) by identifying modifiable objects in the original database having changes not yet incorporated into the upgraded database and updating objects in the upgraded database based on the modified objects in the original database.
-
Citations
22 Claims
-
1. A computer program product for upgrading a database of objects, comprising a computer-usable medium having embodied therein computer-readable program codes for
marking objects in a first database as either modifiable or read-only using a corresponding field in the respective objects, wherein modifiable objects are allowed to be changed during upgrade of the first database, and wherein read-only objects are not allowed to be changed during upgrade of the first database; -
creating a corresponding integration object for each modifiable object in the first database, wherein each integration object comprises at least those object fields that are allowed to be modified in the corresponding modifiable object, and wherein each integration object is independent of a software vendor-supplied type of the corresponding modifiable object; generating a second database of objects based on objects in the first database; sending a copy of each modifiable object in the first database to the second database; creating in said first database a first snapshot of a first integration object whose corresponding first modifiable object in said first database is to be modified after generation of said second database; sending said first snapshot to said second database; creating in said first database a second snapshot of said first integration object after said first modifiable object has been changed from a version used to generate the second database; sending said second snapshot to said second database; determining a first delta snapshot at said second database identifying differences between said first and said second snapshots; and updating the copy of said first modifiable object in the second database based on the first delta snapshot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 18, 19, 20, 21)
-
-
13. In a computer system, a method for upgrading a database of objects, comprising:
-
marking objects in a first database as either modifiable or read-only using a corresponding field in the respective object, wherein modifiable objects are allowed to be changed during upgrade of the first database, and wherein read-only objects are not allowed to be changed during upgrade of the first database; creating a corresponding integration object for each modifiable object in the first database, wherein each integration object includes at least those object fields that are allowed to be modified in the corresponding modifiable object, and wherein each integration object is independent of a software vendor-supplied type of the corresponding modifiable object; generating a second database of objects based on objects in the first database and sending a copy of each modifiable object in the first database to the second database; creating in said first database a first snapshot of a first integration object whose corresponding first modifiable object in said first database is to be modified after generation of said second database; sending said first snapshot to said second database; creating in said first database a second snapshot of said first integration object after said first modifiable object has been changed from a version used to generate the second database; sending said second snapshot to said second database; determining a first delta snapshot at said second database identifying differences between said first and said second snapshots; and updating the copy of said first modifiable object in the second database based on the first delta snapshot.
-
-
14. In a computer system, a method for upgrading a database of objects, comprising:
-
marking objects in a first database as either modifiable or read-only using a corresponding field in the respective object, wherein modifiable objects are allowed to be changed during upgrade of the first database, and wherein read-only objects are not allowed to be changed during upgrade of the first database; creating a corresponding integration object for each modifiable object in the first database, wherein each integration object includes at least those object fields that are allowed to be modified in the corresponding modifiable object, and wherein each integration object is independent of a software vendor-supplied type of the corresponding modifiable object; receiving an indication to start logging changes to a first modifiable object; creating in said first database a first snapshot representing a first set of changes in a first integration object corresponding to the first modifiable object; creating in said first database a second snapshot representing a second set of changes in the first integration object, wherein said second set of changes occurs after said first set of changes; determining a delta snapshot identifying differences between said first and said second snapshots; and receiving a request for a latest version of the first modifiable object in the first database; and sending the first snapshot and the delta snapshot as representing the latest version of the first modifiable object. - View Dependent Claims (15)
-
-
16. A computer program product for upgrading a repository of objects, comprising:
-
code for marking objects in a first database as either modifiable or read-only using a corresponding field in the respective object, wherein modifiable objects are allowed to be changed during upgrade of the first database, and wherein read-only objects are not allowed to be changed during upgrade of the first database; code for creating a corresponding integration object for each modifiable object in the first database, wherein each integration object includes at least those object fields that are allowed to be modified in the corresponding modifiable object, and wherein each integration object is independent of a software vendor-supplied type of the corresponding modifiable object; code for generating a second database of objects based on objects in the first database; code for sending a copy of each modifiable object in the first database to the second database; code for creating in said first database a first snapshot of a first integration object whose corresponding first modifiable object in said first database is to be modified after generation of said second database; code for sending said first snapshot to said second database; code for creating in said first database a second snapshot of said first integration object after said first modifiable object has been changed from a version used to generate the second database; code for sending said second snapshot to said second database; code for determining a first delta snapshot at said second database identifying differences between said first and said second snapshots; code for updating the copy of the first modifiable object in the second database based on the first delta snapshot; and a data storage medium configured to store the codes.
-
-
22. In a computer system, a method for upgrading a database of objects, comprising:
-
marking objects in a first database as either modifiable or read-only using a corresponding field in the respective object, wherein modifiable objects are allowed to be changed during upgrade of the first database, and wherein read-only objects are not allowed to be changed during upgrade of the first database; creating a corresponding integration object for each modifiable object in the first database, wherein each integration object includes at least those object fields that are allowed to be modified in the corresponding modifiable object, and wherein each integration object is independent of a software vendor-supplied type of the corresponding modifiable object; generating a second database of objects based on objects in the first database and sending a copy of each modifiable object in the first database to the second database; replicating changes made to a first modifiable object in the first database to a first integration object corresponding thereto, so as to make said first integration object a copy of said first modifiable object; creating in said first database a first snapshot of a latest version of said first integration object; sending said first snapshot to said second database; and updating the copy of said first modifiable object in the second database based on the first snapshot.
-
Specification