IP Library Granted Patent US 6,996,583
Granted Patent B2
US 6,996,583 · App. 10/187,916 · Granted Feb 7, 2006

Real-time database update transaction with disconnected relational database clients

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,996,583
App. No.
10/187,916
Granted
Feb 7, 2006
Kind
B2
Abstract

A method and system for performing real-time database update transactions with disconnected database clients includes a disconnected client server (DCS) and disconnected client extensions (DCE). The DCS formats the database cell, its key, any associated database cells, and a timestamp and sends them to a disconnected database client by email. The timestamp indicates the last time the database cell or associated database cells was changed. The disconnected database client sends a reply email with the update of the database cell and the timestamp. Upon receipt of the reply email, the DCS compares the received timestamp to a current timestamp for the database cell. If they match, then the database cell is updated according to the received update. If they do not match, then the update is based on outdated information and is rejected. In this manner, reliable real-time update transactions are provided between a disconnected database client and the database.

Claims (67)

1. A method for performing real-time update transactions between a database and disconnected database clients, comprising the steps of:

(a) sending an update request for a data from a database system to a client, wherein the client is disconnected from the database system, wherein the update request comprises:

an updatable column data set (UCDS), wherein the UCDS comprises:

a database cell, and

associated database cells,

a synchro timestamp checksum value (STCV), wherein the STCV comprises:

a timestamp, wherein the timestamp indicates a last time the database cell or the associated database cells was changed, and

a checksum for the database cell, and

a key for the UCDS,

wherein the sending step (a) comprises:

(a1) creating the UCDS and the STCV by the database, wherein the creating step (a1) comprises:

(a1i) creating a first side table comprising a UCDS record, the UCDS record comprising the key, a Table Reference ID (Tref ID) for the UCDS, and the STCV, and

(a1ii) creating a plurality of references in a second side table, wherein each reference comprises the Tref ID, a table name of the database cell or the associated database cell, a column of the database cell or the associated database cell, and an updateability flag,

(a2) receiving by a disconnected client server (DCS) a message to request an update of the database cell,

(a3) retrieving the database cell and the associated database cells of the UCDS, the key, and the STCV from the database,

(a4) formatting the database cell and the associated database cells, the key, and the STCV for an email request by the DCS, and

(a5) sending the email request to the disconnected database client;

(b) receiving an update and the timestamp for the data from the disconnected database client;

(c) determining if the received timestamp matches the current timestamp for the data; and

(d) updating the data according to the received update, if the timestamp of the received update matches the current timestamp for the data.

2. The method of claim 1 , wherein the retrieving step (a3) comprises:

(a3i) retrieving the key, the Tref ID, and the STCV from the UCDS record in the first side table;

(a3ii) searching the second side table for table name/column pairs with the Tref ID;

(a3iii) extracting the database cell and the associated database cells using the table name/column pairs.

3. A computer readable medium with program instructions for performing real-time update transactions between a database and disconnected database clients, comprising the steps of:

(a) sending an update request for a data from a database system to a client, wherein the client is disconnected from the database system, wherein the update request comprises:

an updatable column data set (UCDS), wherein the UCDS comprises:

a database cell, and

associated database cells,

a synchro timestamp checksum value (STCV), wherein the STCV comprises:

a timestamp, wherein the timestamp indicates a last time the database cell or the associated database cells was changed, and

a checksum for the database cell, and

a key for the UCDS, wherein the sending step (a) comprises:

(a1) creating the UCDS and the STCV by the database, wherein the creating instruction (a1) comprises:

(a1i) creating a first side table comprising a UCDS record, the UCDS record comprising the key, a Table Reference ID (Tref ID) for the UCDS, and the STCV, and

(a1ii) creating a plurality of references in a second side table, wherein each reference comprises the Tref ID, a table name of the database cell or the associated database cell, a column name of the database cell or the associated database cell, and an updateability flag,

(a2) receiving by a disconnected client server (DCS) a message to request an update of the database cell,

(a3) retrieving the database cell and the associated database cells of the UCDS, the key, and the STCV from the database,

(a4) formatting the database cell and the associated database cells, the key, and the STCV for an email request by the DCS, and

(a5) sending the email request to the disconnected database client;

(b) receiving an update and the timestamp for the data from the disconnected database client;

(c) determining if the received timestamp matches the current timestamp for the data; and

(d) updating the data according to the received update, if the timestamp of the received update matches the current timestamp for the data.

4. The medium of claim 3 , wherein the retrieving instruction (a3) comprises:

(a3i) retrieving the key, the Tref ID, and the STCV from the UCDS record in the first side table;

(a3ii) searching the second side table for table name/column name pairs with the Tref ID;

(a3iii) extracting the database cell and the associated database cells using the table name/column pairs.

5. A system, comprising:

a database, comprising disconnected client extensions (DCE), wherein the database utilizes the DCE:

to create an UCDS comprising a data,

to create a timestamp for the UCDS, wherein the timestamp indicates the last time the data was changed, and

to update the data and the timestamp when an update is received from a database server; and

the database server, comprising a disconnected client server (DCS), wherein the DCS sends an update request comprising the data and the timestamp to a client, wherein the client is disconnected from the database server, wherein the DCS receives the update and the timestamp of the update request from the disconnected database client,

wherein the DCS sends the received update to the database if the received timestamp matches the current timestamp for the UCDS, wherein the data is updated by the database according to the update, wherein the client is disconnected from the database during the update;

wherein the DCE comprises:

a first side table comprising a UCDS record, the UCDS record comprising:

a key for the UCDS record, defining a database cell,

a Tref ID of the UCDS record, and

the timestamp for the UCDS record;

a second side table, comprising a reference for the database cell, comprising:

the Tref ID,

a table name of the database cell,

a column name of the database cell, and

an updateability flag;

commands for creating the first and second side tables; and

triggers for managing the first and second side tables and the database cell.

6. The system of claim 5 , wherein the triggers update the database cell and the timestamp.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2002
From: WILMOT, GARY J.
To: IBM CORPORATION
Reel/Frame 013091/0881 →
Continuity (1)
Related Publication 20040003009A1 · Jan 1, 2004