Method of maintaining data consistency in a loose transaction model
First Claim
1. A computer program product having a computer readable medium having a computer program recorded therein for maintaining consistency of content of an object and metadata related to said object in a loose transaction model for object and meta-data updates, said computer program product including:
- computer program code means for storing said related meta-data and a reference to said object in a table of a database, said object being stored externally to said database in an object store, said reference used to obtain a handle for directly accessing or manipulating said external object;
(a) computer program code means for obtaining a version number embedded in said handle; and
(b) computer program code means for comparing said embedded version number with a version number of a latest committed version of said externally stored object to determine if said handle refers to a current version of said externally stored object.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and a computer program product are disclosed for maintaining consistency of object content (252) and metadata (204) related to the object (252) in a loose transaction model, preferably using SQL Mediated Object Manipulation (SMOM), for object and meta-data updates. The related meta-data (204) and a reference to the object (252) are stored in a table of a database. The object is stored externally to the database in an object store. The reference is used to obtain a handle for directly accessing or manipulating the external object. A version number embedded in the handle is then obtained. The embedded version number is then compared with a version number of a latest committed version of the externally stored object to determine if the handle refers to a current version of the externally stored object. Next, the last modification timestamp of the file is compared with the last modification timestamp of the latest committed version, in order to detect uncommitted updates. A mismatch indicates that stale data is being referenced, and in that situation an appropriate error is returned.
44 Citations
2 Claims
-
1. A computer program product having a computer readable medium having a computer program recorded therein for maintaining consistency of content of an object and metadata related to said object in a loose transaction model for object and meta-data updates, said computer program product including:
- computer program code means for storing said related meta-data and a reference to said object in a table of a database, said object being stored externally to said database in an object store, said reference used to obtain a handle for directly accessing or manipulating said external object;
(a) computer program code means for obtaining a version number embedded in said handle; and
(b) computer program code means for comparing said embedded version number with a version number of a latest committed version of said externally stored object to determine if said handle refers to a current version of said externally stored object.
- computer program code means for storing said related meta-data and a reference to said object in a table of a database, said object being stored externally to said database in an object store, said reference used to obtain a handle for directly accessing or manipulating said external object;
-
2. A system for maintaining consistency of content of an object and metadata related to said object in a loose transaction model for object and meta-data updates, said system including:
-
(a) a database storing said related meta-data and a reference to said object in a table of a database, said reference used to obtain a handle for directly accessing or manipulating said object;
(b) a native object store for storing said object externally to said database;
(c) a database mediator for obtaining said handle using said reference to directly access or manipulate said external object;
(d) means for obtaining a version number embedded in said handle; and
(e) means for comparing said embedded version number with a version number of a latest committed version of said externally stored object to determine if said handle refers to a current version of said externally stored object.
-
Specification