IP Library Granted Patent US 7,139,690
Granted Patent B2
US 7,139,690 · App. 10/201,551 · Granted Nov 21, 2006

Object-level conflict detection in an object-relational database system

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,139,690
App. No.
10/201,551
Granted
Nov 21, 2006
Kind
B2
Abstract

Object level conflict detection is provided. In an optimistic concurrency embodiment, when an object is to be updated, the database system is checked to determine whether any data related to fields of the object have changed since the object was read. This can be accomplished by storing a copy of the data when the initial object read function is performed and subsequently comparing the initial copy with the database data as it stands when the update is to be performed.

Claims (21)

1. A method of conducting conflict detection and updating an object in an object-relational database, the method including steps of:

accessing a class-table map that relates each field of the object to a corresponding column of a table in a database;

conducting conflict detection by checking that database data corresponding to each field of the object is unchanged during execution of the method, wherein the step of checking is done using optimistic concurrency conflict detection; and

selectively updating the object with updated data corresponding to at least one field in the corresponding column of the table after the step of checking.

2. The method of claim 1 , wherein the step of checking includes a first read operation wherein only contents of at I least one table corresponding to the object are read and stored as initial condition data, and wherein prior to selectively writing the updated data, contents of the table corresponding to the object are read again and compared with the initial condition data.

3. The method of claim 2 , wherein the method is performed as part of a single database statement.

4. The method of claim 1 , wherein the step of checking includes reading a separate “update” column in the table, corresponding to the object, and storing an initial value of the update column, and wherein prior to selectively writing the updated data, the update column of the table is read again and compared to the initial value.

5. The method of claim 1 , wherein the object is of a first class, and wherein the table includes columns corresponding to the first class and to a different class.

6. The method of claim 1 , wherein the object includes a plurality of fields, and wherein the class map relates a first field of the plurality of fields to a column in a first table, and a second field of the plurality of fields to a column in a second table.

7. The method of claim 1 , wherein the method is executed for a plurality of objects.

8. The method of claim 1 , wherein the object-relational database system is embodied in a multi-user environment.

9. The method of claim 1 , wherein the method is a method of the object.

10. An object-relational database system including a component for conducting conflict detection, wherein the system comprises

a relational database;

a class map that relates a first field of an object to at least a column in a first table within the relational database, and a second field of the object to a column in a second table within the relational database;

a data access system adapted to receive a request to update the object, wherein the class map is consulted to identify at least one of the column in the first table and the column in the second table; and

a conflict detection component adapted to ensure that data in the relational database is unchanged during the period between receiving the request, and updating the object.

11. A method of providing conflict detection in an object-relational database, the method comprising:

accessing a class-table map that relates each field of an object to a column of a table in a database;

checking to determine if database data corresponding to any field of the object has changed during execution of the method, wherein the step of checking is done using optimistic concurrency conflict detection; and

providing a conflict indication if database data corresponding to any field of tile object has changed during execution of the method.

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