Use of concurrent time bucket generations for scalable scheduling of operations in a computer system
AssigneeOracle International Corporation
InventorsAditya Sawhney, Christopher Fagiani
Life of this patent
Estimating the term…
Abstract
Concurrent processing of objects is scheduled using time buckets of different time bucket generations. A time bucket generation includes a configuration for time buckets associated with that time bucket generation. The concurrent use of different time bucket generations includes the concurrent processing of objects referenced by time buckets of different time bucket generations.
Claims19
A non-transitory computer readable medium comprising instructions, which when executed by one or more hardware processors, cause performance of operations comprising:
- determining a time for performing an action on a first object stored in a data repository, wherein the action comprises one of:
- deleting the first object from the data repository,
- modifying content of the first object, or
- transferring the first object from one location in the repository to another location in the repository;
- selecting a first time bucket generation, of a plurality of time bucket generations, based on determining that the first time bucket generation is currently configured for adding a first reference to the first object;
- responsive to selecting the first time bucket generation, selecting a first time bucket of the first time bucket generation based on the time for performing the action on the first object, wherein each time bucket of the first time bucket generation is (a) of a same interval size and (b) corresponds to different time periods;
- adding the first reference to the first object to the selected first time bucket of the first time bucket generation;
- creating a second time bucket generation and adding the second time bucket generation to the plurality of time bucket generations;
- determining a time for performing an action on a second object stored in the data repository;
- determining to transition adding new object references from the first time bucket generation to the second time bucket generation, wherein transitioning from the first time bucket generation to the second time bucket generation comprises performing operations on objects having references already stored in the first time generation bucket, and adding all new object references to the second time bucket generation instead of adding new object references to the first time bucket generation;
- selecting a second time bucket of the second time bucket generation based on the time for performing the action on the second object;
- adding a second reference to the second object into the second time bucket of the second time bucket generation,
- wherein the action is performed on the first object subsequent to adding the second object reference to the second object into the second time bucket generation.
A method comprising:
- determining a time for performing an action on a first object stored in a data repository, wherein the action comprises one of:
- deleting the first object from the data repository,
- modifying content of the first object, or
- transferring the first object from one location in the repository to another location in the repository;
- selecting a first time bucket generation, of a plurality of time bucket generations, based on determining that the first time bucket generation is currently configured for adding a first reference to the first object;
- responsive to selecting the first time bucket generation, selecting a first time bucket of the first time bucket generation based on the time for performing the action on the first object, wherein each time bucket of the first time bucket generation is (a) of a same interval size and (b) corresponds to different time periods;
- adding the first reference to the first object to the selected first time bucket of the first time bucket generation;
- creating a second time bucket generation and adding the second time bucket generation to the plurality of time bucket generations;
- determining a time for performing an action on a second object stored in the data repository;
- determining to transition adding new object references from the first time bucket generation to the second time bucket generation, wherein transitioning from the first time bucket generation to the second time bucket generation comprises performing operations on objects having references already stored in the first time generation bucket, and adding all new object references to the second time bucket generation instead of adding new object references to the first time bucket generation;
- selecting a second time bucket of the second time bucket generation based on the time for performing the action on the second object;
- adding a second reference to the second object into the second time bucket of the second time bucket generation,
- wherein the action is performed on the first object subsequent to adding the second object reference to the second object into the second time bucket generation.
A system comprising at least one device including a hardware processor,
- the system being configured to perform operations comprising:
- determining a time for performing an action on a first object stored in a data repository, wherein the action comprises one of:
- deleting the first object from the data repository,
- modifying content of the first object, or
- transferring the first object from one location in the repository to another location in the repository;
- selecting a first time bucket generation, of a plurality of time bucket generations, based on determining that the first time bucket generation is currently configured for adding a first reference to the first object;
- responsive to selecting the first time bucket generation, selecting a first time bucket of the first time bucket generation based on the time for performing the action on the first object, wherein each time bucket of the first time bucket generation is (a) of a same interval size and (b) corresponds to different time periods;
- adding the first reference to the first object to the selected first time bucket of the first time bucket generation;
- creating a second time bucket generation and adding the second time bucket generation to the plurality of time bucket generations;
- determining a time for performing an action on a second object stored in the data repository;
- determining to transition adding new object references from the first time bucket generation to the second time bucket generation, wherein transitioning from the first time bucket generation to the second time bucket generation comprises performing operations on objects having references already stored in the first time generation bucket, and adding all new object references to the second time bucket generation instead of adding new object references to the first time bucket generation;
- selecting a second time bucket of the second time bucket generation based on the time for performing the action on the second object;
- adding a second reference to the second object into the second time bucket of the second time bucket generation,
- wherein the action is performed on the first object subsequent to adding the second object reference to the second object into the second time bucket generation.
Dependencies are inferred from the claim text.