Persistent data storage techniques
First Claim
1. A method comprisingaccepting tasks from task sources, at least some of the tasks being associated with deadlines for execution,defining, for each of the tasks, jobs for concurrent execution by processors, the jobs requiring access to data that is stored persistently in a database and being assigned to the processors,causing a processor to execute two or more jobs assigned to the processor in an order based on the deadlines associated with the tasks for which the two or more jobs are defined, andcausing the processor to execute other jobs assigned to the processor than the two or more jobs to be executed in an order based on locations of respective data to be accessed by the other jobs within the database.
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
14 Claims
-
1. A method comprising
accepting tasks from task sources, at least some of the tasks being associated with deadlines for execution, defining, for each of the tasks, jobs for concurrent execution by processors, the jobs requiring access to data that is stored persistently in a database and being assigned to the processors, causing a processor to execute two or more jobs assigned to the processor in an order based on the deadlines associated with the tasks for which the two or more jobs are defined, and causing the processor to execute other jobs assigned to the processor than the two or more jobs to be executed in an order based on locations of respective data to be accessed by the other jobs within the database.
-
2. A method comprising
maintaining a database that stores data persistently, accepting jobs for concurrent execution by processors, the jobs requiring access to data in the database, and causing each of the processors to execute at least some of the jobs, by accessing the data in the database, other than in the order in which the jobs are received for execution, the jobs being assigned to the processors based on characteristics of items of the data to be accessed by the processors.
-
14. A method comprising
accepting jobs for concurrent execution by processors, the jobs requiring access to data that is stored persistently in a database and performing various actions with respect to the data, the actions being associated with respective indices, causing each of the processors to execute at least some of the jobs in an order determined by the actions to be performed by the jobs with respect to the data, and updating the indices associated with the performed actions.
Specification