Database repository with deferred transactions
First Claim
1. In computer system including a first memory and supporting concurrent program execution by a plurality of processes including at least one user process and at least one other process, said computer system coupled to a second memory, a method for modifying a data item comprising:
- placing said data item in said first memory;
modifying said data item in said first memory to generate a modified data item;
placing a read lock on said modified data item, which allows said plurality of processes to read said modified data item, but blocks said plurality of processes from modifying said modified data item;
copying said modified data item from said first memory to said second memory, wherein a time interval between initiation and completion of said copying defines a copy latency;
reading said modified data item during said copy latency; and
releasing said read lock, after copying said modified data item from said first memory to said second memory.
5 Assignments
0 Petitions
Accused Products
Abstract
A deferred transaction mechanism facilitates multi-threaded operation of database application programs. The deferred transaction mechanism allows data items to be committed from the local memory of a computer system to a database system in a background thread, while other foreground threads continue to read the data item. In most instances, this makes the delay in committing a data item to the database imperceptible to a human user of a database application program. The deferred transaction mechanism further supports an "undo" feature, which allows modifications to a data item located in a computer'"'"'s local memory to be rapidly discarded.
107 Citations
14 Claims
-
1. In computer system including a first memory and supporting concurrent program execution by a plurality of processes including at least one user process and at least one other process, said computer system coupled to a second memory, a method for modifying a data item comprising:
-
placing said data item in said first memory; modifying said data item in said first memory to generate a modified data item; placing a read lock on said modified data item, which allows said plurality of processes to read said modified data item, but blocks said plurality of processes from modifying said modified data item; copying said modified data item from said first memory to said second memory, wherein a time interval between initiation and completion of said copying defines a copy latency; reading said modified data item during said copy latency; and releasing said read lock, after copying said modified data item from said first memory to said second memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In computer system including a first memory and supporting concurrent program execution by a plurality of processes including at least one user process and at least one other process, said computer system coupled to a second memory, a method for modifying a data item and selectively undoing modifications to a data item, comprising:
-
placing said data item in said first memory; making a copy of said data item in said first memory; modifying said copy in said first memory to generate a modified copy; creating a new copy from said data item, when a command is received to undo said modifications; and creating a new data item from said modified copy, when a command is received to commit said modifications, said creating said new copy including setting a read lock on said modified copy, which allows said plurality processes to read said modified copy, but blocks said plurality of processes from modifying said modified copy; creating a new data item from said modified copy; copying said modified copy from said first memory to said second memory, wherein a time interval to create said new data item and to copy said modified copy defines a copy latency; reading said modified copy during said copy latency; and releasing said read lock.
-
-
12. In computer system including a local memory and supporting concurrent program execution by a plurality of processes including at least one user process and at least one other process, said computer system coupled to database management system, a method for modifying a data item comprising:
-
placing said data item in said local memory; modifying said data item in said local memory to generate a modified data item; placing a read lock on said modified data item, which allows said plurality of processes to read said modified data item, but blocks said plurality of processes from modifying said modified data item; copying said modified data item from said local memory to said database management system, wherein a time interval between initiation and completion of said copying defines a copy latency; reading said modified data item during said copy latency; and releasing said read lock, after said copying said modified data item. - View Dependent Claims (13, 14)
-
Specification