IP Library Granted Patent US 7,912,819
Granted Patent B2
US 7,912,819 · App. 11/696,166 · Granted Mar 22, 2011

Systems and methods for versioning based triggers

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 7,912,819
App. No.
11/696,166
Granted
Mar 22, 2011
Kind
B2
Abstract

A system and/or methodology to track and organize database application data in response to a delete, insert or update procedure. More specifically, a system and/or methodology that employs a version-based retention and linkage approach with respect to triggering implementations is provided.

Claims (42)

1. A computer readable storage medium having stored thereon computer executable components of a system that facilitates identification of rows modified in a database, the components including:

a base table component that stores a current version of a plurality of rows of data;

a version store component,

the version store component maintaining a copy of the current version of the plurality of rows of data,

the version store component retaining a previous version of at least one of the plurality of rows of data,

the version store component including a linkage component that links at least a subset of the plurality of rows in the copy in a new image chain and links the previous version of at least one of the plurality of rows of data into an old image chain, and

an additional linkage component which represents a linkage of versioned records having different key values, and

the version store component comprising a record store component which includes a record version history; and

a scan interface that scans rows in an inserted/deleted table by following linkages in the new and old image chains to determine whether a chain should be maintained.

2. The computer readable storage medium of claim 1 , wherein each row in the copy of the current version of the plurality of rows of data shares a common key value with the current version of the plurality of rows of data.

3. The computer readable storage medium of claim 1 , further comprising a tail identifier that identifies a last row of the linked rows.

4. The computer readable storage medium of claim 1 , wherein the copy of the current version of the plurality of rows of data comprises an identifier that identifies at least one modified row.

5. The computer readable storage medium of claim 4 , further comprising a trigger mechanism component that scans the linkage component using the identifier to identify the at least one modified row in accordance to a trigger operation.

6. The computer readable storage medium of claim 1 , wherein at least one inserted row is pushed into the version store component.

7. The computer readable storage medium of claim 6 , further comprising at least one additional linkage component to link the at least one inserted row.

8. The computer readable storage medium of claim 7 , further comprising a trigger mechanism component that scans the additional linked rows to execute a procedure.

9. The computer readable storage medium of claim 8 , wherein the trigger mechanism filters the scanned records in accordance with the procedure.

10. A system comprising one or more computer processors upon which is executing components of a system that facilitates identification of rows modified in a database, the components including:

a base table component that stores a current version of a plurality of rows of data;

a version store component,

the version store component maintaining a copy of the current version of the plurality of rows of data,

the version store component retaining a previous version of at least one of the plurality of rows of data,

the version store component including a linkage component that links at least a subset of the plurality of rows in the copy in a new image chain and links the previous version of at least one of the plurality of rows of data into an old image chain,

an additional linkage component which represents a linkage of versioned records having different key values, and

the version store component comprising a record store component which includes a record version history; and

a scan interface that scans rows in an inserted/deleted table by following linkages in the new and old image chains to determine whether a chain should be maintained.

11. A computer-implemented method of identifying rows modified in a database, the method executing upon one or more computer processors coupled to one or more computer readable storage media, the method comprising:

storing within at least one of the one or more computer-readable storage media a current version of rows of data in a base table;

maintaining a copy of the current version of the data rows in a version store;

maintaining a version store comprising a previous version of at least one of the rows of data in the base table and a record store including a record version history;

linking a subset of the rows with the copy of the current version by registering a tail identifier that identifies the subset to form a new image chain; linking a subset of rows with a previous version by registering a tail identifier that identifies the subset to form an old image chain; and

scanning rows in an inserted/deleted table by following linkages in the new and old image chains to determine whether a chain should be maintained.

12. The method of claim 11 , further comprising pushing a new version of a subset of the rows of data into the version store.

13. The method of claim 12 , further comprising linking the new subset version of the row data having a different key value into the new image chain.

14. The method of claim 13 , further comprising initiating a data manipulation language (DML) event to perform at least one of a delete, insert and update procedure.

15. A computer readable storage medium having stored thereon computer-executable instructions to perform a method of identifying rows modified in a database, the method executing upon one or more computer processors coupled to one or more computer readable storage media, the method comprising:

storing within at least one of the one or more computer-readable storage media a current version of rows of data in a base table;

maintaining a copy of the current version of the data rows in a version store;

maintaining a version store comprising a previous version of at least one of the rows of data in the base table and a record store including a record version history;

linking a subset of the rows with the copy of the current version by registering a tail identifier that identifies the subset to form a new image chain;

linking a subset of rows with a previous version by registering a tail identifier that identifies the subset to form an old image chain; and

scanning rows in an inserted/deleted table by following linkages in the new and old image chains to determine whether a chain should be maintained.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →