Parallel, distributed optimistic concurrency control certification using hardware filtering
First Claim
1. In a database transaction certification system for a database transaction processing system, said certification system having a memory, a plurality of filters connected to said memory by a communications channel, each of said filters having a filter controller, and processor means connected to said memory and connected to said filter controllers, a method for determining in parallel possible multiple conflicts, each conflict being between a specific transaction and one or more other transactions whose execution overlaps the execution of said specific transaction, said method comprising the steps ofstoring in said memory a log comprising the read-sets and write-sets of said other transactions, said log comprising history, accepted, and pending relations, where said history relation contains read-sets and write-sets that have been previously applied to the database due to previously completed transactions, where said accepted relation contains read-sets and write-sets that have not been applied to the database but are due to previously certified transactions, and where said pending relation contains read-sets and write-sets that have not been applied to the database and are due to transactions awaiting certification,writing from said processor means into said log in said memory a read-set and a write-set of said specific transaction,transmitting from said processor means to one of said filter controllers selection criteria for the one filter associated with said one filter controller identifying the read-set and write-set of said specific transaction,broadcasting over said communications channel said log comprising data items which include the read-sets and write-sets of said other transactions and the read-set and write-set of said specific transaction,utilizing said one filter to identify in said broadcast log data items meeting said selection criteria identifying said read-set and write-set of said specific transaction, anddetermining if a conflict exists by determining if said one filter identifies data items from said broadcast log in addition to the read-set and write-set of said specific transaction.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and system for determining a conflict in a database transaction processing system between a specific transaction and one or more other transactions utilizes a certification system (30). The certification system (30) comprises a memory (32) which contains a log of database activity. The log is periodically broadcast over a channel (42) to a plurality of filters (43) which determine if there are conflicts between particular transactions. The inventive system and method perform optimistic concurrency control in a database transaction processing system in a highly efficient manner.
-
Citations
8 Claims
-
1. In a database transaction certification system for a database transaction processing system, said certification system having a memory, a plurality of filters connected to said memory by a communications channel, each of said filters having a filter controller, and processor means connected to said memory and connected to said filter controllers, a method for determining in parallel possible multiple conflicts, each conflict being between a specific transaction and one or more other transactions whose execution overlaps the execution of said specific transaction, said method comprising the steps of
storing in said memory a log comprising the read-sets and write-sets of said other transactions, said log comprising history, accepted, and pending relations, where said history relation contains read-sets and write-sets that have been previously applied to the database due to previously completed transactions, where said accepted relation contains read-sets and write-sets that have not been applied to the database but are due to previously certified transactions, and where said pending relation contains read-sets and write-sets that have not been applied to the database and are due to transactions awaiting certification, writing from said processor means into said log in said memory a read-set and a write-set of said specific transaction, transmitting from said processor means to one of said filter controllers selection criteria for the one filter associated with said one filter controller identifying the read-set and write-set of said specific transaction, broadcasting over said communications channel said log comprising data items which include the read-sets and write-sets of said other transactions and the read-set and write-set of said specific transaction, utilizing said one filter to identify in said broadcast log data items meeting said selection criteria identifying said read-set and write-set of said specific transaction, and determining if a conflict exists by determining if said one filter identifies data items from said broadcast log in addition to the read-set and write-set of said specific transaction.
-
5. In a database transaction certification system for a database transaction processing system, said certification system having a memory, a plurality of filters connected to said memory by a communications channel, a processor connected to said memory, and filter control means connecting said filters to said processor, a method for determining in parallel possible multiple conflicts, each conflict being between a specific transaction and one or more other transactions whose execution overlaps the execution of the specific transaction, said method comprising the steps of
storing in said memory a log comprising the history, accepted, and pending relations of the read-sets and write-sets of said other transactions, where said history relation contains read-sets and write-sets that have been previously applied to the database due to previously completed transactions, where said accepted relation contains read-sets and write-sets that have not been applied to the database but are due to previously certified transactions, and where said pending relation contains read-sets and write-sets that have not been applied to the database and are due to transactions awaiting certification, transmitting via said filter control means to a filter which interfaces with said communications channel selection criteria identifying a read-set and a write-set of said specific transaction, broadcasting said log comprising data items which include said write-sets of said other transactions over said communications channel, whereby said communications channel can transmit said log to remote locations to enable distributed certification, utilizing said filter to identify in said broadcast log data items meeting said selection criteria, and determining the existence of a conflict based on any data items identified by said filter.
-
7. A database transaction processing system comprising
a computer for executing database transactions, and a certification system comprising a memory for storing a log comprising read-sets and write-sets of overlapping transactions executing on said computer, a plurality of certification processors connected to said memory and in communication with said computer for receiving certification requests from said computer in the form of read-sets and write-sets of said transactions and for adding said received certification requests to said log in said memory, a transmitter connected to said memory for cyclically broadcasting said log in said memory over a communications channel, whereby said communications channel can transmit said log to remote locations to enable distributed certifications, a plurality of filters interfacing said communications channel, and means for transmitting from said certification processors particular selection criteria relating to read-sets and write-sets of at least one of said transactions to each of a corresponding particular one of said filters, said filters identifying data items in said log broadcast over said channel in response to said selection criteria to determine in parallel if there are conflicts between said transactions based upon data items identified by said filters.
-
8. A database transaction processing system comprising
a computer for executing database transactions, and a certification system comprising a memory for storing a log of the history, accepted, and pending relations comprising write-sets of overlapping transactions executing on said computer, a plurality of certification processors connected to said memory and in communication with said computer for receiving certification requests from said computer in the form of read-sets and write-sets of said transactions and for adding the write-sets of said received certification request to said log in said memory, a transmitter connected to said memory for cyclically broadcasting said log in said memory over a communications channel, whereby said communications channel can transmit said log to remote locations to enable distributed certification, and a plurality of filters for interfacing said communications channel, said certification processors transmitting particular selection criteria relating to the read-sets and write sets of at least one of said transactions to each of a corresponding one of said filters, said filters identifying data items in said log broadcast over said channel in response to said selection criteria to determine in parallel if there are conflicts between said transactions based upon data items identified by said filters.
Specification