US 7,552,149 B2
Querying past versions of data in a distributed database
Bipul Sinha, Foster City, Calif. (US); and Amit Ganesh, San Jose, Calif. (US)
Assigned to Oracle International Corporation, Redwood Shores, Calif. (US)
Filed on Jun. 10, 2004, as Appl. No. 10/866,333.
Claims priority of provisional application 60/570769, filed on May 12, 2004.
Claims priority of provisional application 60/500509, filed on Sep. 06, 2003.
Claims priority of provisional application 60/500510, filed on Sep. 06, 2003.
Prior Publication US 2005/0055385 A1, Mar. 10, 2005
Int. Cl. G06F 17/30 (2006.01)
U.S. Cl. 707—203  [707/1; 707/3; 707/200; 707/201; 711/162] 33 Claims
OG exemplary drawing
 
1. A method for querying past versions of data in a distributed database comprising at least a first database and a second database logically connected via database links and appearing to client applications as a single database, the method comprising the computer-implemented steps of:
receiving, at a first database server that manages data in a first database, a request for a past version of data stored in a second database that is managed by a second database server;
wherein the request indicates one or more conditions and a time specifying parameter;
wherein said time-specifying parameter corresponds to one or more prior logical states of the second database;
wherein the request for the past version of data stored in the second database is a request for data that, as the data existed in said one or more prior logical states of the second database, satisfied said one or more conditions, without regard to whether the data, as the data exists in a current state of the second database, satisfies the one or more conditions;
in response to said request, said first database server requesting said past version of said data from said second database server; and
receiving at said first database server a representation of said past version of said data, as said data existed in said second database at a prior point in time that corresponds to the time specifying parameter, from said second database server;
wherein the step of requesting said past version comprises passing to said second database server one of:
(a) a particular time that can be compared to a timestamp that is associated with said data to identify said past version of said data by said second database server; or
(b) a particular system change number that is associated with said data and is used to identify said past version of said data by said second database server, wherein a system change number is a logical time value indicating the sequence in which events occur within the second database server.