System and method for ordering commands in an automatic volume placement library
First Claim
1. A method of operating a volume positioning mechanism in an automated library, the library having a plurality of volumes, a plurality of racks for storing the plurality of volumes and at least a first drive unit for recording data to or reading data from a volume mounted thereon by the volume positioning mechanism, the method comprising the steps performed by a data processing system of:
- processing each exogenous request for data in a volume to generate at least a first command for execution by the volume positioning mechanism;
providing a command queue having a queue input level, a queue output level for the next scheduled command for execution and allowing a plurality of intervening levels;
adding the at least first command to a command queue at the command queue input level;
responsive to addition of a command to the command queue, selecting a command for each level in the queue by,qualifying commands for execution at a particular level,responsive to qualification of at least a first command for execution at the particular level, scoring each qualified command for execution at the particular level,placing the qualified command with the highest score in the command queue at the particular level and disqualifying the qualified command for consideration at any remaining levels;
projecting a system state for after execution of the qualified command placed at a level in the command queue; and
storing the projected system state with the command in the command queue;
scanning the command queue for preselected patterns among adjacent commands; and
responsive to location of an example of a preselected pattern, substituting a complex command for the adjacent commands.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method of sequencing commands for operation of a volume positioning mechanism in an automated library is taught. The automated library has a plurality of volumes, a plurality of racks for storing the plurality of volumes and at least a first drive unit for recording data to or reading data from a volume mounted thereon by the volume positioning mechanism. Exogenous requests for data stored to the volumes or for storing data to volumes are received from time to time by the library. Each exogenous request for data in a volume is utilized to generate at least a first command for execution by the volume positioning mechanism. Commands as generated are stored in a command queue having a queue input level, a queue output level for the next scheduled command for execution and allowing a plurality of intervening levels. With each introduction of a new command to the command queue, the command queue is reordered with a goal of improving time to dispatch for execution of high priority commands.
65 Citations
9 Claims
-
1. A method of operating a volume positioning mechanism in an automated library, the library having a plurality of volumes, a plurality of racks for storing the plurality of volumes and at least a first drive unit for recording data to or reading data from a volume mounted thereon by the volume positioning mechanism, the method comprising the steps performed by a data processing system of:
-
processing each exogenous request for data in a volume to generate at least a first command for execution by the volume positioning mechanism; providing a command queue having a queue input level, a queue output level for the next scheduled command for execution and allowing a plurality of intervening levels; adding the at least first command to a command queue at the command queue input level; responsive to addition of a command to the command queue, selecting a command for each level in the queue by, qualifying commands for execution at a particular level, responsive to qualification of at least a first command for execution at the particular level, scoring each qualified command for execution at the particular level, placing the qualified command with the highest score in the command queue at the particular level and disqualifying the qualified command for consideration at any remaining levels; projecting a system state for after execution of the qualified command placed at a level in the command queue; and storing the projected system state with the command in the command queue; scanning the command queue for preselected patterns among adjacent commands; and responsive to location of an example of a preselected pattern, substituting a complex command for the adjacent commands. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An automated data storage library for supporting operation of a data base in a data processing system, comprising:
-
a plurality of volumes; a plurality of storage locations for volumes;
at least a first drive unit for reading information from and storing information to volumes;transporter means for transferring a volume between the storage locations and the first drive unit; a source of data requests; means responsive to receipt of a data request for generating at least a first command for execution by the transporter means; a command queue supporting a plurality of levels for commands progressing toward execution from a command queue input to a command queue output; means for placing the at least first command into a command queue along with a projected system state for after execution of the at least a first command beginning at the command queue input; means for sequencing the commands in the command queue including means responsive to qualification of at least a first command for execution at a particular level for scoring each qualified command for execution at the particular level and means for placing the qualified command with the highest score in the command queue at the particular level; means for projecting a system state for after execution of the command placed at a level in the command queue; means for storing the projected system state with the command in the command queue; means responsive to failure to qualify a command for execution at a level for resetting as a new current level an immediately preceding level; means for disqualifying the command at the new current level; means for resetting the projected system state to that saved for a command at a level preceding the new current level; means for locating preselected patterns of commands occurring in the command queue; and means for substituting a complex command for a located preselected pattern of commands. - View Dependent Claims (7, 8, 9)
-
Specification