Persistent data storage techniques
First Claim
1. A method comprisingmaintaining a database persistently on a physical storage medium,partitioning the database into regions based on characteristics of items of data in the database,receiving tasks that are in contention to write data to the respective regions,reducing the contention among the received tasks by creating jobs that are based on each of the tasks, each of the jobs needing to write data in no more than one of the regions,for each of the regions, queuing only those jobs that need to write data in the region and executing the queued jobs for each region, one job after another and without contention, andexecuting jobs that are queued for different regions simultaneously, in parallel, and without contention.
1 Assignment
0 Petitions
Accused Products
Abstract
A database is maintained that stores data persistently. Tasks are accepted from task sources. At least some of the tasks have competing requirements for use of regions of the database. Each of the regions includes data that is all either locked or not locked for writing at a given time. Each of the regions is associated with an available processor. For each of the tasks, jobs are defined each of which requires write access to regions that are to be accessed by no more than one of the processors. Jobs are distributed for concurrent execution by the associated processors.
-
Citations
55 Claims
-
1. A method comprising
maintaining a database persistently on a physical storage medium, partitioning the database into regions based on characteristics of items of data in the database, receiving tasks that are in contention to write data to the respective regions, reducing the contention among the received tasks by creating jobs that are based on each of the tasks, each of the jobs needing to write data in no more than one of the regions, for each of the regions, queuing only those jobs that need to write data in the region and executing the queued jobs for each region, one job after another and without contention, and executing jobs that are queued for different regions simultaneously, in parallel, and without contention.
-
51. Apparatus comprising
a physical storage medium on which a database is persistently maintained, the database being partitioned into regions, and a job processing mechanism that (1) receives tasks that in contention to write data to the respective regions of the database, (2) creates jobs that are based on each of the tasks, each of the jobs needing to write data in no more than one of the regions, (3) for each of the regions, queues only those jobs that need to write data in the region, one job after another and without contention, and (4) executes jobs that are queued for different regions simultaneously, in parallel, and without contention.
Specification