Concurrent data recall in a hierarchical storage environment using plural queues
First Claim
1. A computer-readable storage medium encoded with computer-executable instructions to perform a method of recalling data objects stored on a plurality of media, the method comprising:
- receiving a plurality of requests to recall data objects, each data object being located on a particular one of said plurality of media;
creating a plurality of queues, wherein each one of said queues corresponds to one of said media;
placing said requests on the created queues, wherein each request is placed on the queue corresponding to the medium on which the requested data object is located and with respect to an order, wherein the order of the requests on the queue is determined by respective offsets into said medium at which the corresponding data objects are located;
activating a first of said queues, said first queue being associated with a first of said plurality of media; and
retrieving, from said first medium, the data objects requested on the first queue.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for recalling data objects stored on media. A queue is created for each medium on which data objects are located, where each request to recall a data object is placed on the queue corresponding to the medium on which the data object is located. A queue is “active” when its corresponding medium is mounted and being used for recall; otherwise the queue is “non-active.” A thread is created for each active queue, where the thread retrieves from a medium the requested items on the active queue. When plural drives are available for mounting and reading media, plural queues may be active concurrently, so that the plural queues'"'"' respective threads may recall items from the plural media in parallel. Preferably, the requests on each queue are organized in an order such that the offset locations of the requested items form two monotonically increasing sequences.
-
Citations
20 Claims
-
1. A computer-readable storage medium encoded with computer-executable instructions to perform a method of recalling data objects stored on a plurality of media, the method comprising:
-
receiving a plurality of requests to recall data objects, each data object being located on a particular one of said plurality of media; creating a plurality of queues, wherein each one of said queues corresponds to one of said media; placing said requests on the created queues, wherein each request is placed on the queue corresponding to the medium on which the requested data object is located and with respect to an order, wherein the order of the requests on the queue is determined by respective offsets into said medium at which the corresponding data objects are located; activating a first of said queues, said first queue being associated with a first of said plurality of media; and retrieving, from said first medium, the data objects requested on the first queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable storage medium encoded with computer-executable instructions to perform a method of scheduling requests to recall data objects from a medium, said medium being mounted on a drive, said drive having a reading head, the method comprising:
-
receiving a new request to recall a data object from said medium, said data object being located at a first offset along said medium; identifying a queue comprising a plurality of requests to recall data from said medium, said requests having an order, each of said requests corresponding to a particular data object stored on said medium and indicating an offset into said medium at which the corresponding data object is located, said requests forming first and second sequences, said first sequence preceding said second sequence in said queue with respect to said order, wherein the offsets of the requests within said first sequence are a maximally monotonically increasing series; determining a location of said reading head along said medium; determining that the location of said reading head is beyond said first offset; inserting said new request into said queue into a position that, with respect to said order, is subsequent to said first sequence. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system for retrieving data objects from a plurality of media comprising:
-
a queuing module which creates a plurality of queues corresponding to said plurality of media, there being one queue for each one of said plurality of media, said queuing module receiving requests to retrieve data objects from said plurality of media and queuing each of said requests on the queue corresponding to the medium on which the requested data object is located, said queuing module generating and storing, for each queue, a timestamp indicating a time at which the queue corresponding to the timestamp is created; an activation module which selects queues for activation and activates the selected queues; and a retrieval module which retrieves the data objects on one of the selected queues from the corresponding medium in an order in which the data objects are located on the queue. - View Dependent Claims (17, 18, 19, 20)
-
Specification