Suche Bilder Maps Play YouTube News Gmail Drive Mehr »
Erweiterte Patentsuche | Abbildungen der Seite | Webprotokoll | Anmelden

Patente

  
[merged small][merged small][merged small][graphic][merged small][merged small][merged small][graphic][merged small][graphic][merged small][merged small][graphic][subsumed][merged small][graphic][merged small][merged small][merged small][merged small][merged small][merged small][graphic][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][graphic][merged small][merged small][merged small]
[graphic][merged small][graphic][merged small][merged small][merged small][merged small]

1 2

sources of the automated library. Efficient utilization

SYSTEM AND METHOD FOR ORDERING demands first that mounts and demounts of tape car

COMMANDS IN AN AUTOMATIC VOLUME tridges be avoided and second, that when mounts and

PLACEMENT LIBRARY demounts are unavoidable, that they be carried out

5 expeditiously. Reduction in the frequency of mounts

BACKGROUND OF THE INVENTION and demounts is achieved through organization of data

1. Technical Field requests to minimize the demand for tape mount and This invention relates generally to the field of auto- demount operations. An example of such a system is

mated storage libraries and more particularly, to a sys- disclosed in U.S. Pat. No. 4,876,662, to Pence, which is

tern and method for sequencing commands to a tape 10 assigned to the assignee of this patent. The U.S. Pat. No.

cartridge transporter for efficiently moving tape car- '662 patent also discusses algorithms for selecting ap

tridges between storage racks and drive units for car- propriate levels in an hierarchical storage for storage of

tridge playback and recording. data. The second route to improving efficiency in utili

2. Description of the Related Art zation of an automated library is through efficient disNumerous business applications require very large 15 patch of the robotic picker mechanism to perform outdatabases for storing information used in the business on standing requests for tape mounts and demounts.

a continuous basis. Database storage requirements may

exceed 100s or 1,000s of gigabytes of data. Data storage SUMMARY OF THE INVENTION

costs generally limit such large databases to being it is one object of the present invention to provide

stored on magnetic tape, which presently offers the 20 control of a volume transporter in an automated data

lowest data storage costs. A premium is placed upon processing server library.

speed and reliability of recovery of data, particularly It is another object of'the present invention to pro

when relatively frequent access to the information vide a system md method for ordering commands to

stored within the database occurs. However, tape stor- ^ volume transporter in an automated data library to

age generally requires the longest access time for re- 25 ^ e efficiency of operation,

trieving the stored data of the major data storage sys- ^ foregoing ^ other objects are achieved as is

terns. For example, once a tape is loaded onto a tape nQW described. A tem md method of ae(pU!Dang

drive, accessing the data stored on the loaded tape is COBmmdB for tion of a volume ... mech.

substantially slower than accessing data stored on a . * j i-u ■ * ifl-m. f ^ J

direct storage access device rDASDI e a disk driv^ 30 ^m m 311 aut°m*ted library is taught. The automated

cured siurdge acccoa uevice iJ^aojjmc.e. a uibK urivei. JU vi_ i_ i i-A c i * c i

Substantial W is also mcurred in locathig and mount- fhaS f P1^* °f TMluf"*' a 1*TM^ f rack* ing the desired volume, be it on tape, magnetic disk or {?T stonnSPlurf tv °f volumes "J at J""*/ first optical disk. Automated storage libraries offer im- dn,ve ^ for recordmg data to or reading data from a proved speed and reliability for storing and retrieving volume mounted thereon by the volume positioning data stored on storage media, including magnetic tape. 35 mechanism. Exogenous requests for data stored on the Early magnetic tape databases required an operator to volumes or for storing data to volumes are received retrieve a tape from a shelf and load the tape on a tape from tane t0 t"TM5 bv ±e library. Each exogenous redrive. This was very slow and prone to operator mis- ^uest for data m a volume « utilized to generate at least takes. Also, early magnetic tape reels were relatively a ^ command for execution by the volume positionlarge, i.e., 10.5 inch diameter reels, and furthermore, 40 mS mechanism. Commands as generated are stored in a only 9 tracks were available for writing data to the tape. command queue having a queue input level, a queue Correspondingly large areas were necessary to store the output level for the next scheduled command for execumany required 10.5 inch magnetic tapes. Newer mag- tioa ^d allowing a plurality of intervening levels. With netic tapes are protected by a cartridge housing, and are 6200 introduction of a new command to the command substantially smaller than the 10.5 inch reels. Addition- 45 queue, the command queue is reordered with a goal of ally, data can now be written to 36 tracks or more. improving time to dispatch for execution of high priorHence, each magnetic tape cartridge can store many ity commands.

times more data than the older reels. The advances A sequence is ordered by selecting a command for made in magnetic tape technology have made auto- each level of the queue in accordance with selected mated cartridge libraries more effective since smaller 50 optimizing criteria. Commands are qualified for execuareas are required to store more data on lighter weight tion at a level. Upon identification of a qualified corncartridges, mand, it is scored in accordance with the qualifying Access time and reliability is improved by automati- criteria. Scoring a command for execution is a function cally managing the storage and retrieval of tape car- of its time in the command queue, the priority of the tridges. Automated cartridge libraries include a plural- 55 exogenous request from which the command was genity of storage slots for storing library resident tape car- erated and the location of the volume positioning mechtridges, a robotic picker mechanism, and one or more anism relative to the position of relevant volume in the tape drives. The robotic picker operates on command to projected machine state. The qualified command with transfer a tape cartridge between a storage slot and a the highest score is positioned in the command queue at tape drive within seconds. Operational benefits of using 60 the level for which it received the score. Stored with a an automated cartridge library include: greater reliabil- command at a level in the command queue is a proity in tape cartridge mounts; better predictability in jected system state occurring after execution of the request-to-mount time; and improved off-shift availabil- command.

ity. An input/output port is also provided on the auto- Once a command is placed at a level during an ordermated cartridge library for inserting and exiting car- 65 ing operation, the command is disqualified for considertridges from the library. ation at any remaining levels, absent a backtracking Further reduction in time between request and re- operation. A backtracking operation occurs in response sponse may be had by efficient utilization of the re- to failure of any available command to be qualified for 3 4

a level during command sequence ordering. In such an two or more such assemblies allowing robot 36 to per

event, the current level for evaluation is reset to the form two or more operations at a single location, such

immediately preceding level. The command at the new as a demount and a mount of tape cartridges from a tape

current level is removed and disqualified from its place drive 35.

in the queue. The projected system state is reset to the 5 A robot controller 37, attached to the automatic carprojected system state saved for a level preceding the tridge library 31, commands the robot 36. A service bay new current level. The remaining qualified commands 43 for the robot 36, is located at one end of the autoare then rescored to select a new command for the new mated cartridge library 31. The service bay 43 functions current level. as a parking space for the robot 36 when it is not in use After a sequence is completed, a "peephole" optimi- 10 or wnen it is being serviced. An operator access bay 44 zation is performed on the sequence. The ordering of is provided at the other end of the automatic cartridge the commands in the command queue is analyzed for library 31 allowing service personnel to enter. A remote occurrence of certain predetermined patterns. Com- terminal bay 38, accessible internally by the service mands falling in such patterns are replaced with com- personnel, is attached to the automated cartridge library plex commands, incorporating two or more operations 15 31 A library manager 39 is connected to system 31. of the volume positioning mechanism into simultaneous Library manager 39 allows an operator to determine actions, e.g. a dismount of a volume from the drive unit system status, promote a tape cartridge mount status, occurring with a volume mount. ^ generally enter external instructions into the autoBRIEF DESCRIPTION OF THE DRAWINGS ,n mated cartridge library 31. Library manager 39 is pro

„ . „ ..... vided by an appropriately programmed microcomputer

The novel features believed characteristic:of the m- such m m ffiM ps/2 nal uter.

vention are set forth m the appended claims. The inven- ^ automated ^dge library 31 is expandable for tion itself however as well as a preferred mode of use, g additional tape cartridges or improving access further objects and advantages thereof, will best be time. Additionalmodules32canbe added for increasing understood by reference to thefollowing detaued de- 25 g } Additional outrigger rail 42 and guide

scnption of an lUustrative embodiment when read in * ^ fee J*^ robot

conjunction with the accompanying drawings, wherein: . , ., . ,. .

T7T/-* +■ * - c * _ * J ♦ travel the additional distance. Also, the operator access

FIG. 1 is a pictorial diagram of an automated storage , .. . j • u *<»

library having;an anthropomorphic robotic picker; b%H ^ ... * ^ "TTM*****

FIG. 2 is a block diagram of the components of an 30 addmS a fcond robot; *put/outpu port is also automated storage libraj; avadablet <not ^0^> t0 ^ TM °^lat°T t0 add or

FIG. 3 depicts a data structure for a command queue remove tape fridges to and from the automated carutilized in practicing the system and method of the llbrarv 31" °°c? a set of *f* ojrtadgw have present invention- been mserte" mto ^ rnput Port> the robot 36 can be

FIG. 4 is a high level logical flow chart illustrating a 35 instructed to identify the tape cartridges and move them software implementation of command queue sequenc- accordingly. Similarly, an operator is prompted to reing utilized with the system of the present invention; move cartridges previously inserted mto the output

FIG. 5 is a continuation of the high level logical flow Port bv the robot 36chart of FIG 4- FIG. 2 depicts a block diagram of an automated data

FIG. 6 is a continuation of the high level logical flow 40 processing system library, wherein three host computchart of FIGS. 4 and 5. ers ^> ^ and ^ connected to a library control unit

56. The host computers are not, in general, required to DETAILED DESCRIPTION OF THE have access to the status of the automated library. Each

INVENTION of hosts 50, 52 and 54 generate periodic data requests

With reference now to the figures and in particular 45 which are passed by control unit 56 through a library with reference to FIG. 1, is depicted an automated interface 58 to a library manager 39. Library manager cartridge library 31 for managing a large database, 39 converts the requests into commands executable by wherein data is stored on magnetic tapes. Each mag- robotic picker 36 or one of a plurality of grippers 41. netic tape is housed in a plastic cartridge for protecting Library manager 39 may be provided by an approprithe magnetic tape and providing a convenient handling 50 ately programmed personal computer such as an IBM mechanism for a robotic picker. The automatic car- PS/2. A keyboard and video display monitor, as repretridge library 31 includes a plurality of modules 32, sented by Input/Output station 62 permit interaction or wherein each module is made from a plurality of maga- provide override control to an operator, zine holders 33 (not shown). Each magazine holder FIG. 3 illustrates a command queue 66 which is conconsists of a plurality of storage slots (not shown), and 55 structed and periodically reordered by library manager each storage slot is capable of storing a magnetic tape 39. Command queue 66 includes an queue output level cartridge therein. The automatic cartridge library 31 holding the next command for execution and a queue also includes at least one tape unit, for example, an IBM input level to which commands (CMD) are initially 3490 or IBM 3490E Magnetic Tape Subsystem having a introduced to command queue 66. Complex commands controller 34 and tape drives 35. A robot 36, having a 60 (CMPCMD) are never initially placed in the queue gripper/vision assembly 41 attached thereto, travels on input level, but are introduced to the command queue an outrigger rail 42 and a guide rail 45 to transfer tape only after a reordering of the queue and a subsequent cartridges between the storage slots 33 and the tape substitution of the complex command for two or more drives 35. The robot 36 is anthropomorphic in that it is adjacent simple commands. Commands which are corncapable of human-like motions. A suitable anthropo- 65 plex or which have been "fetched" cannot be reormorphic robot 36 is Model GMF S-10 robot, manufac- dered. As a command approaches the queue output it is tured by Fanuc, Ltd. Robot 36 is depicted with one increasingly likely to be fetched, or locked in for execugripper/vision assembly 41, but may be provided with tion by robot 36. Increasingly complex command lists

can exist for robots having three or more arms, or for systems utilizing more than one robot.

A pointer "Q" is illustrated pointing to the command (CMD) at the last level available for reordering. All commands between the level indicated by the pointer Q 5 and the command input level are available for reordering.

FIGS. 4,5 and 6 depict a single high level flow chart for a software implementation of the invention on library manager 39. The initial steps of the process are 10 utilized to determine if any commands are present in the command queue which are available for possible reordering. The process is entered with the introduction of a command to the queue at the command queue input. A command upon initial introduction to a queue at the 15 queue input will be executable. If no command ordering is done, the sequence of commands will be an executable sequence. At process step 102 the pointer Q is set to point to the command at the command queue input. Next, decision step 104 is executed to determine if the 20 command to which Q points is fetched or if it is complex. If not, the NO branch from leads to execution of decision step 106 to determine if the command at the command queue level one closer to the queue output is a fetched or complex command. Again taking the NO 25 branch, process step 108 is executed to increment Q to point queue level just interrogated and the process is returned to loop through steps 104,106 and 108 until a queue level having a fetched or complex command is encountered. While it is not strictly necessary to reexe- 30 cute step 104 for this loop, conservative design considerations are adhered to for the sake of reliability.

The YES branches for both steps 104 and 106 both lead to execution of decision step 110, where it is determined whether there is a fetched or complex command 35 at the level indicated by Q. If there is, it is an indication that the command just entered to the queue has been immediately fetched, and thus no optimization can be done. The YES branch from step 110 leads to immediate termination of the process. The NO branch is taken 40 where even one command is indicated available for optimization in ordering.

Execution of the ordering strategy requires initialization of certain data structures, determination of values for certain variables and calculation of pointers as pro- 45 vided by steps 112 through 126. Step 112 is executed to initialize a table for ordering the commands between the level to which Q points in the command queue and the queue input, inclusive. Next, step 114 is executed to clear the "SKIP" and "DONE" variables for each com- 50 mand. The "SKIP" command is independently set for a command for each level of the command queue. When SKIP is set it indicates that the command has been blocked from placement at a certain level, even though it technically may be executable at the level. Basically a 55 SKIP is set upon determination that placement of a certain command at a level as part of a particular sequence leads to a system state where no remaining available command can be executed at a level closer to the input. A DONE is set for a command after it has 60 been placed at a level in the queue during reordering. The DONE label makes a command "unavailable" for further placement in the queue.

The period of time a command is in command queue 66 is tracked. The age of a command is considered in 65 scoring a command for priority of execution. Essentially, efficiency notwithstanding, all requests are eventually honored, even where other requests of higher

priority are continuously being received. Step 116 is executed for each command in command queue between the pointer Q and the queue input to determine a command age. The age equals the age stored for the variable during the last operation of the ordering process plus an increment for the elapsed time since such operation.

Execution of certain commands involves movement of robot 36. Those operations close at hand are preferred to those far away. Thus the position of the robot or transporter from the location of an operation is determined for each command. A priority derived from the priority of the request underlying a particular command is also assigned a command. Position and priority are thus determined at step

Finally, at step 120 a variable "MaxLevel" is set equalling the number of commands present for ordering between Q and the queue input. MaxLevel is the size in levels of the table initialized at step 112. Determination of whether a particular command can be executed in a particular order requires knowledge of what the system state will be when the command is presented. A machine or system state table is initialized at steps 122,124 and 126. At step 122 it is determined if any commands are unavailable for ordering. If any are, the initial system state will have to be projected by execution of step 126. At step 126 the system state after execution of the first command below the level pointed to by Q is determined. If all commands in the command queue are available for ordering, the starting state is simply the current system state (step 124).

FIG. 5 depicts the steps relating to actual ordering of a group of commands for execution. LEVEL is counter pointing to the command ordering table established in step 112. With execution of process step 128 LEVEL is set to 0 to point to the bottom most, or first level in the table available for execution. Decision step 130 represents looping control for the ordering and backtracking features of the process, essentially comprising all of the steps between 132 and 164. Once the pointer LEVEL reaches one greater than the number of levels in the ordering table, the ordering process is exited (the YES branch) via step 130.

Along the NO branch from step 130, step 132 is executed to initialize the value for a variable MAX to 0. MAX will eventually receive, for each level, the score achieved by the highest scoring command for execution at a level. Looping control for entry to the scoring steps is provided by step 134. The YES branch, indicating completed scoring for all commands at a given level, sends process execution over to the backtracking and command storing features of the process, which are discussed in detail below. The NO branch from block 134 indicates that unevaluated commands remain available for possible placement at a level and thus advances the process into the actual scoring steps.

The scoring steps are steps 136 through 146. At step 136 the variables (or flags) DONE and SKIP for current level are evaluated for a command presented for scoring. If either flag is set the command is unavailable and is assigned a default score of 0 (H=0) at step 140 along the YES branch from step 136. A score of 0 excludes a command from placement at the level under consideration. Step 138 is executed to determine if a command can be executed at the current level. Basically this includes the determination of whether the command can be executed given the projected system state upon reaching the level. For example, if the command is

« ZurückWeiter »