| 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 |

| 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.
|