JP2552072B2 - 自動化記憶ライブラリ及び該ライブラリにおけるボリューム取扱機構操作方法、並びにトランスポータ操作方法 - Google Patents

自動化記憶ライブラリ及び該ライブラリにおけるボリューム取扱機構操作方法、並びにトランスポータ操作方法

Info

Publication number
JP2552072B2
JP2552072B2 JP5053956A JP5395693A JP2552072B2 JP 2552072 B2 JP2552072 B2 JP 2552072B2 JP 5053956 A JP5053956 A JP 5053956A JP 5395693 A JP5395693 A JP 5395693A JP 2552072 B2 JP2552072 B2 JP 2552072B2
Authority
JP
Japan
Prior art keywords
command
level
queue
commands
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP5053956A
Other languages
English (en)
Other versions
JPH0652025A (ja
Inventor
ウェイン・チャールズ・カールソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0652025A publication Critical patent/JPH0652025A/ja
Application granted granted Critical
Publication of JP2552072B2 publication Critical patent/JP2552072B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B15/00Driving, starting or stopping record carriers of filamentary or web form; Driving both such record carriers and heads; Guiding such record carriers or containers therefor; Control thereof; Control of operating function
    • G11B15/675Guiding containers, e.g. loading, ejecting cassettes
    • G11B15/68Automatic cassette changing arrangements; automatic tape changing arrangements
    • G11B15/689Control of the cassette changing arrangement
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Automatic Tape Cassette Changers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、広くは自動化記憶ライ
ブラリの分野に関するものであり、より詳しくは、テー
プ・カートリッジを、格納用ラックと、テープ・カート
リッジの再生及び記録を行なうためのドライブ装置との
間で、効率的に移送することができるように、テープ・
カートリッジ・トランスポータに対する複数のコマンド
を適切な順序に並べ替えてシーケンスを形成するための
システム及び方法に関するものである。
【0002】
【従来の技術】ビジネスのために連続的に利用する情報
を記憶しておくための極めて大規模なデータベースを必
要とする、多種多様なビジネス関係の用途が存在してい
る。データベースのデータ記憶容量の要求量は、ときと
して数百ギガバイトないし数千ギガバイトにも上ること
がある。通常、それほどの大規模なデータベースでは、
その記憶媒体は、記憶コストの点から磁気テープに限ら
れており、なぜならば、磁気テープは現時点においてデ
ータ記憶コストが最も低廉な記憶媒体だからである。デ
ータの取出し速度が高速であることと、信頼性が高いこ
ととは、いかなる場合にも要望されていることである
が、データベースの中に記憶させてある情報へのアクセ
スが頻繁に行なわれる場合には、それらのことが特に強
く望まれる。しかしながら、磁気テープを用いたデータ
記憶システムは、主要な幾種類かのデータ記憶システム
のうちでも、記憶してあるデータをとり出すために必要
なアクセス時間が、通常、最も長くかかるデータ記憶シ
ステムである。例えば、磁気テープが既にテープ・ドラ
イブ装置に装填されていても、その装填されているテー
プに記憶してあるデータへのアクセスは、例えばディス
ク・ドライブ装置等の直接アクセス記憶装置(DAS
D)に記憶させてあるデータへのアクセスと比べて比較
にならないほど低速である。更には、必要なボリューム
を検索して装填する場合には、そのボリュームがテープ
であろうと、或いは磁気ディスク、ないしは光ディスク
であろうと、かなりの遅れが付随することになる。
【0003】自動化記憶ライブラリを使用することによ
って、磁気テープをはじめとする様々な記憶媒体にデー
タを記憶させたり、その記憶媒体からデータを取り出し
たりする作業において、その速度と信頼性とを大いに向
上させることができる。初期の磁気テープを用いたデー
タベースでは、操作員が、テープを棚から取り出してテ
ープ・ドライブ装置に装填しなければならなかった。こ
の作業は非常に時間がかかる上に、操作員の操作ミスの
影響を受けることもあった。更には、初期には、磁気テ
ープのリールは比較的大型であって(即ち、直径10.
5インチ(約27センチメートル)のリールであっ
た)、また、その磁気テープに形成されている、データ
を書き込むために使用できるトラックの本数は、僅かに
9本でしかなかった。そのため、必要なだけの多数の1
0.5インチ磁気テープを格納しておくためには、それ
に応じた大きな空間が必要であった。より新しい磁気テ
ープは、カートリッジ・ハウジングで保護された構造と
されており、その大きさも、10.5インチ・リールと
比べれば格段に小型化されている。更に、現在では、デ
ータを書き込むことのできるトラックの本数は36本、
或いはそれ以上にも達している。従って、現在の1本の
磁気テープ・カートリッジには、かつてのリール巻きの
磁気テープの何倍ものデータを記憶させることが可能に
なっている。このように磁気テープ技術が進歩したため
に、自動化カートリッジ・ライフラリーは以前よりもは
るかに有効なものとなっており、それは、以前より大量
のデータを、以前より軽量のカートリッジに記憶させる
ことができ、それによって、磁気テープを格納しておく
のに必要な空間が以前より小さな空間で済むようになっ
ているからである。
【0004】テープ・カートリッジの格納作業及び取出
し作業の管理を自動化することによって、データへのア
クセス時間を短縮し、アクセスの信頼性を向上させるこ
とができる。自動化カートリッジ・ライブラリは、その
ライブラリに所蔵するテープ・カートリッジを格納して
おくための複数の格納用スロットと、ロボット式ピッカ
ー機構と、1台ないし複数台のテープ・ドライブ装置と
を含んでいる。ロボット式ピッカー機構は、コマンドに
従って動作して、テープ・カートリッジを格納用スロッ
トとテープ・ドライブ装置との間で、数秒以内で搬送す
る機構である。自動化カートリッジ・ライブラリを使用
した場合に得られる動作上の利点は、テープ・カートリ
ッジの装填作業の信頼性を向上させることができるこ
と、要求が発せられてから装填が行なわれるまでの時間
である「要求−装填時間」をより正確に予測できるこ
と、それに、オフ・シフト・アベイラビリティを向上さ
せることができることである。尚、自動化カートリッジ
・ライブラリには、受入/払出ポートが備えられてお
り、この受入/払出ポートは、そのライブラリにカート
リッジを追加したり、そのライブラリからカートリッジ
を除去したりするためのポートである。
【0005】自動化ライブラリの資源を効率的に利用で
きるようにすれば、要求が発せられてからその要求に対
する応答動作が行なわれるまでの時間を更に短縮するこ
とができる。資源を効率的に利用できるようにするに
は、先ず第1に、テープ・カートリッジの装填及び脱装
をできるだけ回避することが望まれ、第2には、装填及
び脱装が避けられない場合には、それらを迅速に実行で
きるようにすることが望まれる。装填及び脱装の回数を
減らすためには、複数のデータ要求を組織化することに
よって、テープの装填動作及び脱装動作の必要を減らす
ようにすれば良い。その種のシステムの一例は、本出願
人の所有する米国特許第4876662号に開示されて
いる。この米国特許第4876662号には更に、階層
化した複数の記憶レベルのうちから、データを記憶させ
るのに適したレベルを選択するためのアルゴリズムにつ
いても説明されている。自動化ライブラリの利用効率を
改善するためのもう1つの手段は、実行されるのを待っ
ているテープ装填要求ないしテープ脱装要求をロボット
式ピッカー機構に実行させるために、そのロボット式ピ
ッカー機構を所定位置へ移動させる際に、その移動を効
率的に行なわせることである。
【0006】
【発明が解決しようとする課題】本発明の目的は、自動
化データ処理用サーバー・ライブラリに備えられている
ボリューム・トランスポータの制御方式を提供すること
にある。本発明の更なる目的は、自動化データ・ライブ
ラリに備えられているボリューム・トランスポータに対
する複数のコマンドの順序を並べ替えることによって動
作の効率を向上させるシステム及び方法を提供すること
にある。
【0007】
【課題を解決するための手段】以上の目的、並びにその
他の目的が、以下に説明するようにして達成される。こ
こに教示するのは、自動化ライブラリに備えられている
ボリューム取扱機構の動作に関する複数のコマンドのシ
ーケンスを形成するためのシステム及び方法である。自
動化ライブラリは、複数のボリュームと、それら複数の
ボリュームを格納しておくための複数の格納用ラック
と、ボリューム取扱機構によって装填されたボリューム
に対してデータの記録ないし読取りを行なうための少な
くとも1台のドライブ装置とを備えている。ボリューム
の中に記憶させてあるデータを要求する、或いは、ボリ
ュームへデータを記憶させることを要求する、外部から
のデータ要求が、このライブラリへ時々刻々と入力して
くる。それらの、ボリュームの中のデータを求める外部
からのデータ要求の各々を処理して、ボリューム取扱機
構に実行させるための少なくとも1つのコマンドを生成
する。こうして生成したコマンドは、コマンド待ち行列
(command queue)の中に格納しておき、このコマンド
待ち行列は、コマンド待ち行列入力レベルと、次に実行
する予定のコマンドを入れておくレベルであるコマンド
待ち行列出力レベルとを備えており、更に、それら両レ
ベルの間に複数の中間レベルを備え得るようにしてあ
る。このコマンド待ち行列へ新たなコマンドが入れられ
るたびに、このコマンド待ち行列に順序並べ替え処理を
施し、それによって、優先度の高いコマンドが実行のた
めに送り出されるまでの時間を短縮するようにしてい
る。
【0008】所定の最適化規則に従って、コマンド待ち
行列の中の各々のレベルごとに1つずつのコマンドを選
択することにより、複数のコマンドに順序並べ替え処理
を施して1つのシーケンスを形成するようにしている。
それには先ず、個々のレベルにおいて、そのレベルで実
行させ得るコマンドを特定する。あるコマンドを、実行
させ得るコマンドとして特定したならば、そのコマンド
に対して、点数付け規則に従って点数付け処理を施す。
コマンドの点数付け処理は、そのコマンドがコマンド待
ち行列に入れられてからの経過時間と、そのコマンドを
生成した元となった外部要求の優先度と、予想したマシ
ン状態における、そのコマンドに関係したボリュームの
位置から、ボリューム取扱機構の位置までの距離とによ
って定まる関数としている。実行させ得るコマンドとし
て特定されたコマンドのうちで、最高の得点が付与され
たコマンドを、コマンド待ち行列の中の、その点数付け
処理を行なっているそのレベルに配置するようにしてい
る。更に、コマンド待ち行列の中の1つ1つのレベルに
は、コマンドと共に、そのコマンドを実行完了した時点
で発生するシステム状態を算出したものを、併せて格納
しておくようにしている。
【0009】順序並べ替え処理を実行しているときに、
一旦あるレベルにあるコマンドを配置したならば、その
コマンドを、残りのレベルにおいて実行可能なコマンド
を特定する際には考慮対象から外すべきものとして特定
するようにしており、この考慮対象外としての特定は、
バックトラッキング処理が実行されない限り有効であ
る。バックトラッキング処理は、コマンドに順序並べ替
えを施してコマンド実行順のシーケンスを形成する処理
の実行中に、ある1つのレベルに関して、そのレベルに
おいて実行可能なコマンドとして特定できるコマンドが
存在していなかったときに、それが存在していなかった
ことに応答して実行される処理である。即ち、その場合
には、順序並べ替え処理がそのとき対象としているレベ
ルである、現在レベルを設定し直し、それまでの現在レ
ベルの直前のレベル(時間的に早く実行されるレベル)
をもって、新たな現在レベルとする。また、その新たな
現在レベルにそれまで配置されていたコマンドを、その
新たな現在レベルにおいて実行させ得ないコマンドとし
て特定し、同一原因による再度のバックトラッキング処
理の発生を防ぐ。また、予想されるシステム状態を設定
し直して、その新たな現在レベルの直前のレベルに対応
した格納しておいた算出システム状態をもって、その新
たな現在レベルに対応した予想システム状態とする。こ
れにより、新たな現在レベルにおいて実行可能なコマン
ドに対するシステム状態の評価が可能になる。そして、
その新たな現在レベルにおいて実行させ得るコマンドと
して以前に特定したコマンドのうち、その新たな現在レ
ベルにおいて実行させ得ないコマンドとして特定したコ
マンドを除いた残りのコマンドを対象として、点数付け
処理を再度実行し、その新たな現在レベルに配置すべき
新たなコマンドを選択する。
【0010】以上のようにしてコマンドのシーケンスの
形成を完了したならば、その形成したシーケンスに対し
て「ピープホール最適化処理」を施す。それには、コマ
ンド待ち行列の中のコマンドがどのように並んでいるか
を解析して、複数のコマンドが所定のパターンを成して
並んでいる部分を捜し出す。そして、所定のパターンを
成して並んでいる複数のコマンドが存在していたなら
ば、それら複数のコマンドに替えて、1つの複合コマン
ドを代置することによって、ボリューム取扱機構の2つ
以上の動作を、1つの同時動作の中に組み込むように
し、例えば、ドライブ装置からボリュームを脱装する動
作と、そのドライブ装置へ別のボリュームを装填する動
作とを、同時に行なわせるようにする。
【0011】
【実施例】これより添付図面を参照しつつ説明をして行
く。先ず、添付図面中の図1について説明すると、同図
は、データを磁気テープに記憶させた大規模データベー
スの管理を行なうための、自動化カートリッジ・ライブ
ラリ31を図示したものである。磁気テープは、1本ず
つプラスチック製のカートリッジの中に収容してあり、
それによって、磁気テープを保護し、また、ロボット式
ピッカーが磁気テープを容易に取扱えるようにしてい
る。この自動化カートリッジ・ライブラリ31は複数の
モジュール32を含んでおり、それらモジュール32は
その各々が複数のマガジン・ホルダー33から構成され
ている。更にそれらマガジン・ホルダー33は、その各
々が複数の格納用スロットから構成されており、それら
格納用スロットは、その各々が、1つずつの磁気テープ
・カートリッジを格納することができるようにしてあ
る。自動化カートリッジ・ライブラリ31は更に、少な
くとも1台のテープ・ユニット(例えば、IBM349
0型ないしIBM3490E型磁気テープ・サブシステ
ム等のテープ・ユニット)を含んでおり、このテープ・
ユニットは、制御装置34とテープ・ドライブ装置35
とを含んでいる。ロボット(即ち、ロボット式ピッカ
ー)36には、把持機構−ビジョン・システム・アセン
ブリ41を取り付けてあり、このロボット36は、支持
レール42及び案内レール45の上を走行して、格納用
スロット33とテープ・ドライブ装置35との間で、テ
ープ・カートリッジを移送することができる。このロボ
ット36は、人間と同様の動作を行ない得るという意味
で、人間型ロボットと呼ばれているものである。適当な
人間型ロボットの例としては、ファナック社が製造して
いる「GMF・S−10」型ロボット等を挙げることが
できる。図示したロボット36は、把持機構−ビジョン
・システム・アセンブリ41を1基だけ備えたものであ
るが、把持機構−ビジョン・システム・アセンブリを2
基以上備えたものとしても良く、そうすれば、このロボ
ット36は、同じ位置で2つ以上の動作を実行すること
が可能になり、例えば、テープ・ドライブ装置35から
テープ・カートリッジを脱装すると共にそのテープ・ド
ライブ装置35に別のテープ・カートリッジを装填する
という、2つの動作を行なえるようになる。
【0012】自動化カートリッジ・ライブラリ31に
は、ロボット制御装置37を付設してあり、このロボッ
ト制御装置37は、ロボット36に対するコマンドを発
するための装置である。また、自動化カートリッジ・ラ
イブラリ31の一端には、ロボット36のためのサービ
ス区画43を設けてある。このサービス区画43は、ロ
ボット36が非使用状態にあるときや、ロボット36に
対するサービス作業(保守、修理等の作業)の実行時
に、ロボット36を待機させておくための、待機スペー
スとして機能する区画である。また、自動化カートリッ
ジ・ライブラリ31の他端には、操作員アクセス区画4
4を設けてあり、サービス担当員はここからライブラリ
の中へ入ることができる。自動化カートリッジ・ライブ
ラリ31には更に、リモート・ターミナル区画38を設
けてあり、このリモート・ターミナル区画38は、サー
ビス担当員が内側からアクセスできるようにしたターミ
ナル区画である。更に、自動化カートリッジ・ライブラ
リ31には、ライブラリ管理機構39を接続してある。
このライブラリ管理機構39を使用することによって、
操作員はシステムのステータスを判別することができ、
テープ・カートリッジ装填ステータスを、より上のステ
ータスへ上昇させることができ、また一般的に、外部か
らの命令を、この自動化カートリッジ・ライブラリ31
へ入力することができる。ライブラリ管理機構39は、
適切にプログラムした、例えば「IBM・PS/2」型
パーソナル・コンピュータ等のマイクロコンピュータに
よって構成することができる。
【0013】この自動化カートリッジ・ライブラリ31
は、拡張性を備えたシステムであり、その拡張には、よ
り多くのテープ・カートリッジを格納できるようにする
ための拡張もあり、また、アクセス・タイムを短縮でき
るようにするための拡張もある。即ち、先ず、追加のモ
ジュール32を加えることによって、格納容量を増大さ
せることができる。この場合には、支持レール42及び
案内レール45の継ぎ足しを行なって、ロボット36
が、そのモジュール32の追加によって伸びた分の距離
を走行できるようにする必要がある。また、操作員アク
セス区画44をなくし、その場所に、サービス区画43
をもう1つ設けることによって、ロボットを追加して合
計2台にすることもできる。また、受入/払出ポート
(不図示)を使用して、操作員が、この自動化カートリ
ッジ・ライブラリ31にテープ・カートリッジを追加し
たり、或いは、このライブラリ31からテープ・カート
リッジを除去したりすることも可能になっている。この
場合、1組のテープ・カートリッジを受入ポートに挿入
したならば、ロボット36に対して、それらテープ・カ
ートリッジを識別した上で、その識別した内容に従って
それらテープ・カートリッジを然るべき位置へ移送する
ように命令すれば良い。同様にして、ロボット36が払
出ポートへテープ・カートリッジを挿入したならば、操
作員に対して、そのテープ・カートリッジを運び去るこ
とを求めるプロンプトが発せられるようにしてある。
【0014】図2は、データ処理システム用の自動化ラ
イブラリのブロック図を示したものである。この図2の
自動化ライブラリでは、ライブラリ制御装置56に、3
台のホスト・コンピュータ50、52、54が接続され
ている。通常そうであるように、それらホスト・コンピ
ュータ50、52、54は、この自動化ライブラリのス
テータスには、アクセスする必要がない。それらホスト
・コンピュータ50、52、54は、その各々が、定期
的にデータ要求を送出し、送出されたデータ要求は、ラ
イブラリ制御装置56がそれを、ライブラリ・インター
フェース58を介してライブラリ管理機構39へ転送す
る。ライブラリ管理機構39は、転送されてきたデータ
要求を、ロボット式ピッカー36または複数基の把持機
構41のうちの1つが実行する、実行可能なコマンドへ
と変換する。このライブラリ管理機構39は、適当にプ
ログラムした、例えば「IBM・PS/2」型パーソナ
ル・コンピュータ等のパーソナル・コンピュータによっ
て構成することができる。図中の入出力ステーション6
2は、キーボードやビデオ・ディスプレイ・モニタを表
わしており、操作員はそれらを使用することによって、
対話式操作を行なったりオーバーライド制御を行なった
りすることができる。
【0015】図3は、コマンド待ち行列(command queu
e)66を示しており、このコマンド待ち行列66は、
ライブラリ管理機構39によって構成されるものであ
り、また、ライブラリ管理機構39はこのコマンド待ち
行列39に対して、反復して順序並べ替え処理を施す。
コマンド待ち行列66は、待ち行列出力レベルと、待ち
行列入力レベルとを含んでいる。待ち行列出力レベルに
は、次に実行すべきコマンドが入れられている。一方、
待ち行列入力レベルは、このコマンド待ち行列66に最
初にコマンド(command:CMD)を入れるときのレベル
である。図示のごとく、このコマンド待ち行列66に
は、複合コマンド(complex command:CMPCMD)も
入っているが、複合コマンドは、最初から複合コマンド
の形のままで、コマンド待ち行列66の待ち行列入力レ
ベルへ入れられてくるのではない。先ず、コマンド待ち
行列66の中のコマンドの順序並べ替え処理を行ない、
それに続いて、互いに隣接している2つ以上の単純コマ
ンドに替えて、1つの複合コマンドを代置するという処
理を実行することによって、このコマンド待ち行列の中
に複合コマンドが存在するようになるのである。複合コ
マンドと、既に「取り出された」コマンドとは、コマン
ドの順序並べ替え処理の対象から除外するようにしてい
る。コマンドは、コマンド待ち行列の中におけるその位
置が待ち行列出力レベルへ近付いて行くにつれて、取り
出される可能性が次第に大きくなり、即ち、ロボット3
6にそのコマンドを実行させるために、そのコマンドが
ロックされる可能性が大きくなる。また、ロボットが、
3本以上のアームを備えている場合や、システム内に2
台以上のロボットが用いられている場合には、そのコマ
ンド・リストの中の複合コマンドは、更に複合度の高い
コマンドになる可能性がある。
【0016】図3において「Qポインタ」が指し示して
いるのは、順序並べ替え処理の対象とすることのできる
限界レベルにあるコマンド(CMD)である。従って、
このQポインタが指し示しているレベルから、コマンド
入力レベル(即ち、待ち行列入力レベル)までのレベル
にあるコマンドは全て、順序並べ替え処理の対象とされ
るコマンドである。
【0017】図4〜図7は、それらを組み合わせたもの
によって、1つのフローチャートを示すようにした図で
あり、このフローチャートは、ライブラリ管理機構39
において本発明を実施する場合の、ソフトウェアによる
本発明の実施例の構成を示したのフローチャートであ
る。このフローチャートのプロセスの中の、最初の部分
の幾つかのステップは、順序並べ替え処理の対象となり
得るコマンドが、コマンド待ち行列の中に実際に存在し
ているか否かを判定するためのステップである。また、
このプロセスを開始するのは、コマンド待ち行列の、コ
マンド待ち行列入力レベル(上の説明では、「待ち行列
入力レベル」という用語や「コマンド入力レベル」とい
う用語を使用したが、以下、それを「コマンド待ち行列
入力レベル」という)へ、あるコマンドが入れられたと
きである。あるコマンドが、コマンド待ち行列の、コマ
ンド待ち行列入力レベルへ最初に入れられたときには、
そのコマンドは必ず実行可能な状態にある。それゆえ、
もしコマンドの並べ替え処理が行なわれなかったとする
ならば、コマンド待ち行列の中のコマンドによって形成
されている、入れられてきた順序のままのシーケンス即
ち、コマンドのシーケンスは、必ず実行可能なシーケン
スになっている。さて、処理ステップ102では、Qポ
インタ(「Q」)の設定を行なって、コマンド待ち行列
入力レベルにあるコマンド(CMD)を指し示すように
する。続いて、判断ステップ104を実行して、そのと
きQポインタが指し示しているコマンドが、既に取り出
されているコマンド(取出済CMD)と複合コマンド
(複合CMD)とのいずれかであるか否かを判定する。
もし、そのコマンドが、それらのいずれにも該当してい
ないコマンドであったならば、判断ステップ104から
出ているNO経路をたどって判断ステップ106へ進
み、この判断ステップ106を実行して、コマンド待ち
行列の中のレベルのうち、Qポインタが指し示している
レベルよりも、待ち行列出力レベルの方に1つ近い、隣
接しているレベルにあるコマンドが、既に取り出されて
いるコマンドと複合コマンドとのいずれかであるか否か
を判定する。この判断ステップ106での判定の結果、
またしてもNO経路をたどった場合には、続いて処理ス
テップ108を実行してQポインタをインクリメントす
ることにより、このQポインタが、たった今そのコマン
ド調べたばかりの待ち行列レベルを指し示すようにした
上で、このプロセスをステップ104へリターンさせ、
これ以後、既に取り出されたコマンドないしは複合コマ
ンドが位置している待ち行列レベルに出会うまで、ステ
ップ104、106、及び108を実行するループを反
復する。尚、このループにおいて、ステップ104まで
も含めて反復実行することは、必ずしも必要ではなく、
従ってステップ104は、このループから除外しても構
わないのであるが、信頼性ということを考えて、敢えて
このような念の入った方式を採用している。
【0018】ステップ104からそのYES経路をたど
った場合も、また、ステップ106からそのYES経路
をたどった場合も、いずれも続いて判断ステップ110
を実行することになる。判断ステップ110では、Qポ
インタが指し示しているレベルに、既に取り出されたコ
マンドと複合コマンドとのいずれかが存在しているか否
かを判定する。もしいずれかが存在していたならば、そ
れは、待ち行列に入れられたばかりのコマンドが即座に
取り出されたことを表わしており、従ってこの場合に
は、最適化処理を施すことはできない。この判断ステッ
プ110から出ているYES経路をたどったときには、
このプロセスはそのまま終了する。一方、たった1つの
コマンドであっても、順序並べ替えによる最適化の処理
の対象となるコマンドが存在することが判明したとき
は、NO経路をたどることになる。
【0019】順序並べ替えの手順を実行するためには、
データ構造の初期化と、変数の値の設定と、ポインタの
値の算出とを行なう必要があり、それらを実行するステ
ップが、図中のステップ112〜ステップ126であ
る。先ず、ステップ112を実行してテーブルの初期化
を行なう。このテーブルは、コマンド待ち行列の中のレ
ベルのうち、Qポインタが指し示しているレベルから、
コマンド待ち行列入力レベルまでのレベルに存在してい
るコマンドの、順序並べ替えを行なうためのテーブルで
ある。続いて、ステップ114を実行して、それらコマ
ンドの1つ1つに対応した「変数SKIP」と「変数D
ONE」とを全てクリアする。変数SKIPは、コマン
ド待ち行列の中の各々のレベルに存在するコマンドに対
して個別にセットすることができる。あるコマンドに対
応した変数SKIPをセットすることによって、そのコ
マンドを、あるレベルに配置してはならないことを表わ
すことができ、即ち、そのコマンドがそのレベルに配置
されないように、ブロックすることができる。尚、この
ブロックは、そのコマンドが技術的にはそのレベルにお
いて実行可能であっても、そのコマンドをそのレベルに
配置させないようにするためのものである。変数SKI
Pをセットするのは、基本的に、次のように判断された
場合である。即ち、あるシーケンスを形成しているとき
に、そのシーケンスのあるレベルに、あるコマンドを配
置したならば、そのことによって、そのレベルよりもコ
マンド待ち行列入力レベルに近いレベルにおいて、順序
並べ替え処理の対象となっている残りのコマンドのいず
れもが実行不可能となるようなシステム状態となること
がある。そこで、そのような事態が発生すると判断され
たときに、そのコマンドに対応した変数SKIPをセッ
トするようにしているのである。一方、変数DONE
は、順序並べ替え処理の実行中に、あるコマンドを待ち
行列の中のあるレベルに配置したときに、そのコマンド
に対応した変数DONEをセットするという使い方をす
る。従って、この変数DONEは、それがセットされた
コマンドを、それ以後行なわれる、待ち行列の中へコマ
ンドを配置する処理の「対象から除外する」ためのラベ
ルである。
【0020】図示のプロセスでは更に、個々のコマンド
がコマンド待ち行列66(図3)の中に入れられてから
の経過時間を追跡するようにしている。あるコマンドが
コマンド待ち行列66の中に入れられてから経過した時
間の長さは、そのコマンドの実行の優先度を求めるため
の点数付け処理において考慮される。基本的に、いかに
効率が重要であるといえども、いずれのデータ要求も、
たとえそのデータ要求よりも優先度の高いデータ要求が
次々と連続して入力されている状況であっても、いつか
は、そのデータ要求に応える動作が実行されるようでな
ければならない。ステップ116は、コマンド待ち行列
66の中のレベルのうち、Qポインタが指し示している
レベルから待ち行列入力レベルまでのレベルに存在して
いる個々のコマンドごとに実行して、そのコマンドが、
コマンド待ち行列66に入れられてからの経過時間を判
定するためのステップである。この経過時間は、変数A
GEの値として記憶しておくようにしており、ステップ
116では、最後に実行した順序並べ替えのプロセスの
動作の際に設定したこの変数AGEの値に、その最後の
動作から今回の動作までの間に経過した時間に対応する
増分値を加えたものを、この変数AGEの新たな値とす
るようにしている。
【0021】場合によっては、ロボット36が移動する
ことなしに、何らかのコマンドが実行されることもない
ではないが、一般的には、コマンドの実行にはロボット
36の移動が伴う。それゆえ、ロボット36が現在位置
に近い位置で実行できる動作の方を、ロボット36が遠
くへ移動しなければ実行できない動作よりも、優先度の
高い動作としている。この優先度を判定するために、個
々のコマンドごとに、ロボット即ちトランスポータの、
現在の位置と、そのコマンドの動作を実行するための位
置との間の距離を求めるようにしている。更に、コマン
ドは外部からの要求に基づいて生成されるものであるた
め、個々のコマンドの元になった要求に付随している優
先度に従って導出した優先度も、併せてそのコマンドに
付随させるようにしている。そのために、ステップ11
8では、ロボット即ちトランスポータの位置と、コマン
ドの元となった要求の優先度とを判定するようにしてい
る。
【0022】更に、ステップ120では、「変数Max
Level」の値を、Qポインタが指し示しているレベ
ルからコマンド待ち行列入力レベルまでのレベルに存在
している、順序並べ替え処理の対象となるコマンドの個
数に等しく設定している。この変数MaxLevel
は、ステップ112で初期化した前述のテーブルの大き
さを、そのテーブルに含まれるレベルの数によって表わ
す変数である。また、あるコマンドが、ある実行順序の
中に組み込まれたときに、実際に実行可能であるか否か
を判定するためには、そのコマンドが発令された時点で
の、システム状態がどのようになっているのかが分かっ
ていなければならない。そのために、ステップ122、
124、及び126では、マシン状態テーブル、即ちシ
ステム状態テーブルの初期化を行なっている。先ずステ
ップ122では、順序並べ替え処理の対象とすることが
できないコマンドが存在しているか否かを判定する。も
しそのようなコマンドが存在していたならば、ステップ
126を実行して、初期システム状態を算出する必要が
ある。即ち、このステップ126では、ポインタQが指
し示しているレベルのすぐ下のレベル(時間的には、直
前のレベル)にあるコマンドの実行が完了した直後にお
けるシステム状態を判定する。一方、コマンド待ち行列
の中の全てのコマンドが、順序並べ替え処理の対象とし
得るコマンドであった場合には、初期システム状態(初
期マシン状態)には、現在システム状態(現在マシン状
態)をそのまま用いるようにする(ステップ124)。
【0023】図5及び図6に示したステップは、複数の
コマンドの実行の順序を実際に並べ替える、順序並べ替
え処理に関係したステップである。図中に「LEVE
L」という文字で表わしているのは、「LEVELポイ
ンタ」のことである。このLEVELポインタは、カウ
ンタとして機能するようにしてあり、図4のステップ1
12で設定した前述のコマンド順序並べ替え用テーブル
の中の、特定のコマンドを指し示すものである。先ず処
理ステップ128を実行して、LEVELポインタの値
を「0」に設定し、それによって、このLEVELポイ
ンタが、実行させ得るコマンドを表わしているこのテー
ブルの中の、最下段のレベルである第1レベルを指し示
すようにする。続く次の判断ステップ130が表わして
いるのは、このプロセスのうちの、順序並べ替え処理の
部分、及びバックトラッキング処理の部分(これら2つ
の処理部分は、ステップ132からステップ164まで
の、略々全てのステップによって構成されている)の、
ループ動作を制御するためのループ制御処理である。こ
の判断ステップ130において、LEVELポインタの
値が、順序並べ替え用テーブルの中のレベルの総数より
も1つ大きな値に達したと判定されたならば、この判断
ステップ130を介して(即ち、そのYES経路をたど
って)順序並べ替えのプロセスから脱出する。
【0024】一方、この判断ステップ130から出てい
るNO経路をたどった場合には、ステップ132を実行
して、変数MAXの値を初期化して「0」に設定する。
この変数MAXには、最終的には、個々のレベルごと
に、そのレベルにおいて実行可能なコマンドのうち、点
数付け処理において最高の点数を得たコマンドのその点
数が入力される。この点数付け処理に関係したステップ
へ入るためのループ制御処理が、ステップ134で実行
されている。ステップ134から出ているYES経路
は、所与の1つのレベルにおいて実行可能な全てのコマ
ンドに対する点数付け処理が完了したことを表わしてお
り、そのためこのYES経路は、このプロセスの実行
を、このプロセスのうちのバックトラッキング処理ない
しコマンド格納処理の部分へ進ませる。なお、バックト
ラッキング処理とコマンド格納処理とについては、図6
を参照して後に詳述する。一方、ステップ134から出
ているNO経路は、そのレベルに配置することになるか
も知れないコマンドであって、未だ点数付け処理が済ん
でいないコマンドが存在していることを表わしており、
そのためこのNO経路は、このプロセスの実行を、実際
に点数付けを行なう点数付け処理のためのステップへ進
ませる。
【0025】点数付け処理に関係しているステップは、
ステップ136〜ステップ146である。先ずステップ
136では、点数付けをするために提示されているコマ
ンドに対応した変数DONE及び変数SKIP(これら
変数はフラグとして利用されるため、以下、フラグとい
う)の値を調べる。もしそれら2つのフラグのうちのい
ずれか一方でもセットされていたならば、そのコマンド
は、順序並べ替え処理の対象としてはならないコマンド
である。それゆえ、ステップ136から出ているYES
経路をたどってステップ140へ進み、このステップ1
40において、そのコマンドに対してデフォールト点数
である「0」点を付与する(H=0)。「0」点という
点数を付与されたコマンドは、現在それに関して処理を
行なっているところのレベル(即ち、現在レベル)に配
置するかも知れない候補コマンドから除外される。続い
てステップ138を実行して、現在レベルにおいて、そ
のコマンドが実行可能であるか否かを判定する。基本的
に、この判定は、コマンドの所定の順番による実行が現
在レベルにまで到達したときに、システム状態がどのよ
うになっているのかを予想し、そのコマンドが実行可能
であるか否かを判定するものである。例えば、そのコマ
ンドが、あるテープ・カートリッジをあるドライブ装置
に装填するという内容のものであり、一方、そのときの
システム状態が、そのドライブ装置に既に別のテープ・
カートリッジが装填されているという状態であったなら
ば、そのコマンドは、このシステム状態において実行不
可能である。従って、そのコマンドが、予想されたシス
テム状態に適合しないものであったならば、ステップ1
38のNO経路をたどってステップ140へ進み、この
ステップ140において、そのコマンドに対して「0」
点を付与する。
【0026】一方、そのコマンドに対応したSKIPと
DONEの2つのフラグがいずれもセットされておら
ず、しかも、そのコマンドが、現在レベルの算出システ
ム状態において実行可能なコマンドであったならば、ス
テップ142において、そのコマンドに対する点数付け
処理を実行する。この点数付け処理は、各コマンドに付
与されている複数の変数の値を加算する処理であり、ま
た、1つ1つのレベルごとに反復して実行する処理であ
る。好適例の動作環境における、それら変数の値の具体
例を示すならば、次のとおりである。先ず、システムに
入力された外部要求の優先度に基づいて発生する優先度
の点数としては、「1」点から「70」点までの範囲内
の点数を付与するようにする。次に、そのコマンドがコ
マンド待ち行列に入れられてからの経過時間に関する点
数は、「0」点から「40」点までの間の点数とする。
この場合、そのコマンドがコマンド待ち行列に入れられ
たばかりのときには、そのコマンドに対して、経過時間
に関する点数として「0」点を付与するようにし、その
後、コマンド待ち行列の順序並べ替え処理を行なうたび
に、その点数を「2」点ずつ大きくして行くようにす
る。また、トランスポータ(ロボット)の、現在位置
と、そのコマンドのタスクを実行するための位置との間
の距離に関する点数は、その距離が短くなるほど高い点
数になるようにした点数目盛りに照らし合わせて決定す
るようにし、この点数目盛りは、例えばその最高点数が
「10」点であるようにしておく。当業者であれば、以
上の説明から理解されるように、夫々の要因に関する点
数の具体的な割り振りは、ある程度まで任意に定め得る
ものであって、個々の設計者がどの要因を強調したいの
かによって、様々に異なったものとなる。
【0027】続いてステップ144を実行して、そのコ
マンドが得た点数(H)を、現在レベルに関してそれま
でに他のコマンドが達成した最高点数(この最高点数
は、変数MAXの値で示されている)と比較する。この
比較の結果、その新たなコマンドの点数(H)の方が高
い点数であったならば、ステップ146を実行し、変数
MAXの値を更新してその新たな最高点数(H)に等し
くすると共に、HIGHポインタの値を、たった今その
点数を算出したばかりのそのコマンドを指し示すように
設定する。このステップ146を実行した後には、ま
た、ステップ144からNO経路をたどった場合(即
ち、そのコマンドの点数が、現在レベルに関してそれま
でに点数付けを行なった他のいずれのコマンドの点数よ
りも高くはなかった場合)には、このプロセスはループ
してステップ134へ戻り、このステップ134におい
て、点数付け処理を施すべきコマンドが、未だ他に残っ
ているか否かを判定する。
【0028】1つのレベルに関する全てのコマンド(即
ち、その1つのレベルにおいて実行させ得る全てのコマ
ンド)について、その点数付け処理を完了したならば、
ステップ134から出ているYES経路をたどって図6
の判断ステップ148へ進む。ある1つのレベルに関し
て、「0」点より高い点数を得たコマンドが1つもない
ということの可能性もあるため、この判断ステップ14
8では、そのような事態の有無を判定する。たった今、
点数付け処理を完了したばかりのレベル(即ち、それま
での現在レベル)に配置すべきコマンドを特定している
はずのHIGHポインタも、「0」点より大きな点数を
得たコマンドが存在していない場合には、いかなるコマ
ンドも特定していない。そこで、この場合には、配置す
べきコマンドを特定できなかったそのレベル(即ち、そ
れまでの現在レベル)の直前のレベルに関して、先に特
定してあったコマンドに替えて、別のコマンドを特定し
直すために、バックトラッキング処理を実行する必要が
ある。そのため、ステップ148から出ているNO経路
をたどってステップ158へ進み、このステップ158
を実行して、変数LEVELの値(即ち、LEVELポ
インタの値)を設定し直して、コマンド待ち行列の出力
側の端部の方へレベル1つ分戻した値にする(ここで
「コマンド待ち行列の出力側の端部の方へ戻す」という
のは、コマンドの順序並べ替えを行なってシーケンスを
形成するこのプロセスは、コマンドをその実行順に並べ
るものであるため、コマンド待ち行列の出力側の端部に
近い側のレベルから入力側の端部に近い側のレベルへ向
けて次々とコマンドを配置して行くようにしているから
である)。続いて、ステップ160において、設定し直
したLEVELポインタが指し示しているそのレベル
(即ち、新たな現在レベル)に関して、そこで実行すべ
きコマンドとして以前に特定したコマンド(即ち、その
レベルに配置すべきものとして以前に特定したコマン
ド)を、そのコマンドに対応したSKIPフラグをセッ
トすることによって、そのレベルから排除する。また、
それと共に、そのコマンドに対応したDONEフラグ
(このDONEフラグは、以前にそのコマンドがこの新
たな現在レベルにおいて実行すべきコマンドとして特定
されたときにセットされたものである)をクリアして、
そのコマンドに対して、後続のレベルにおいて、点数付
け処理を行なえるようにしておく。続いてステップ16
2では、LEVELポインタの現在値が指し示している
新たな現在レベルより上のレベル(時間的には、より後
に実行されるレベル)における全てのコマンドに関し
て、それまでにセットされていたSKIPフラグをクリ
アする。更に、ステップ164において、現在マシン状
態を、LEVELポインタの現在値が指し示している新
たな現在レベルより1つ下のレベル(時間的には、直前
に実行されるレベル)のコマンドの実行直後に発生する
マシン状態にセットする。この後、このプロセスの処理
は図5のステップ130へリターンする。ステップ13
0へリターンしたならば、然るべき変数の初期化を行な
い、それによって、LEVELポインタの現在値が指し
示している新たな現在レベルに関する、コマンドの点数
付け処理をやり直すことができる。
【0029】一方、図6のステップ148において、
「0」点より大きな点数を得たコマンドが存在している
と判定されたならば、ステップ150〜ステップ156
を実行して、HIGHポインタによって指し示されてい
る、最高の点数を得たコマンドを、コマンド待ち行列の
中の、適当であることが判明した位置(即ち、現在レベ
ル)に配置する。またそれと共に、そのコマンドに対応
したDONEフラグをセットすることによって、コマン
ド待ち行列の中のより高いレベルにおいては、そのコマ
ンドを順序並べ替え処理の対象としてはならないことを
表示する。即ち、先ずステップ150を実行して、HI
GHポインタによって指し示されているそのコマンド
を、LEVELポインタが指し示しているコマンド待ち
行列の中の現在レベルに配置する。続いてステップ15
2において、こうしてコマンド待ち行列の中に入れたそ
のコマンドに対応したDONEフラグをセットする。続
いてステップ154において、そのコマンドの実行に伴
って発生するシステム状態を算出し、その算出したシス
テム状態をそのコマンドと共に記憶しておく。更に、ス
テップ156を実行して、LEVELポインタの値を
「1」だけインクリメントして後続のレベルを指し示す
ようにし、これが終了したならば、このプロセスの動作
は図5のステップ130へリターンする。最後のレベル
に関する点数付け処理が完了したときに、LEVELポ
インタの値が変数MaxLevelの値を超えるため、
これによって、コマンド待ち行列の中の、順序並べ替え
の対象となる全てのコマンドに対して、その実行順序に
関する順位の設定が完了したことが示される。そうなっ
たなら、このプロセスは図7のステップ166へ進む。
【0030】図7は、「ピープホール最適化処理(peep
hole optimization )」に関係したステップを示してい
る。ピープホール最適化処理とは、複数のコマンドによ
って形成されている所定のパターンを識別し、その所定
のパターンを形成している複数のコマンドを1つにまと
めて複合コマンドにするための処理である。先ず、ステ
ップ166において、コマンド待ち行列の中をサーチし
て、コマンド待ち行列出力レベルに最も近い、未だ取り
出されていないコマンドのロケーションを特定する。こ
れに該当するコマンドが1つも発見されなかったなら
ば、このプロセスは終了し(ステップ168)、このプ
ロセスから脱出する。一方、該当する未だ取り出されて
いない1つのコマンドのロケーションが特定されたなら
ば、ステップ170を実行して、コマンド待ち行列出力
レベルに最も近い、その未だ取り出されていないコマン
ドに隣接して、コマンド待ち行列の中に、もう1つの未
だ取り出されていないコマンドが存在しているか否かを
判定する。もしそれに該当するコマンドが存在していな
かったならば、複数のコマンドをまとめて複合コマンド
とすることは不可能であり、このプロセスはこれで終了
する(ステップ170から出ているNO経路をたど
る)。一方、最初に発見された未だ取り出されていない
コマンドに隣接した、もう1つの未だ取り出されていな
いコマンドが得られたならば、ステップ172を実行し
て、それら2つのコマンドを結合することができるか否
かを判定する。もし、それら2つのコマンドの結合が可
能であったならば、ステップ174を実行して、それら
2つの結合するコマンドに替えて、コマンド待ち行列の
出力端のレベルに最も近い未だ取り出されていないコマ
ンドのレベルに、1つの複合コマンドを入れる。ステッ
プ172から出ているNO経路をたどったときと、ステ
ップ174を実行した後との、いずれの場合も、続いて
ステップ176を実行する。このステップ176では、
最後にこのコマンド結合処理を施したコマンドのレベル
から、コマンド待ち行列の入力端(即ち、コマンド待ち
行列入力レベル)へ向かって、このコマンド待ち行列の
中に、未だ取り出されていないコマンドが存在していな
いかどうかをサーチして行く。
【0031】動作の具体例 以下に説明する動作の具体例では、先ず、ホスト・シス
テムから発せられた要求に基づいて、オリジナル・コマ
ンド・リスト(最適化のための順序並べ替えを施す前の
最初のコマンド・リスト)を生成する。この具体例にお
いては、テープ・ライブラリ・システムは、トランスポ
ータ(即ち、ロボットであり、アクセサーともいう)を
1台だけ装備しているものとし、そのトランスポータ
は、2組の把持機構を備えているものとする。更に、そ
れら2組の把持機構を、第1把持機構、第2把持機構と
呼ぶことにする。また、この具体例においては、ドライ
ブ装置は3台装備されているものとし、それらを、第1
装置、第2装置、第3装置と呼ぶことにする。以上のト
ランスポータ、把持機構、及びドライブ装置によって、
このテープ・ライブラリ・システムの資源が構成されて
いる。尚、テープ・カートリッジは、A、B、C、W、
X、Y、及びZで表わすことにする。次の表1は、ホス
ト・システムから発せられた要求を表わしている。
【表1】
【0032】この具体例のコマンドのシーケンスにおい
ては、次の表2に示す省略表記法を用いて夫々のコマン
ドを表わすことにする。
【表2】
【0033】以下に示すコマンドのシーケンスは、表2
に示したホスト・システムから発せられた要求(以下、
ホスト要求という)の各々から2つずつのコマンドが作
成されることによって、生成されたものである。ホスト
要求は、それを受け取った順番に処理して行く。従って
「カートリッジAを第1装置に装填せよ」というホスト
要求は、コマンド識別子「1」と「2」とによって表わ
されている2つのコマンドによって実現され、また、
「カートリッジBを第2装置に装填せよ」というホスト
要求は、コマンド識別子「3」と「4」とによって表わ
されている2つのコマンドによって実現され、以下同様
にして、次の表3に示すコマンド・リスト(即ち、オリ
ジナル・コマンド・リスト)が得られる。
【表3】 この表3のコマンド・リストに対して最適化処理を施す
のであるが、それには最適化シーケンスの中の複数のシ
ーケンス点を巡って処理を進めて行く。即ち、それら複
数のシーケンス点の各々において、全てのコマンドを調
べて、そのうちの個々のコマンドが、そのシーケンス点
に配置し得るコマンドであるか否かを判定し、もし配置
し得るのであれば、そのコマンドをそこに配置すること
がどの程度適切であるかを示す適切度の判定を行なう。
【0034】あるコマンドが、現在シーケンス点に配置
し得るものか否かは、そのコマンドに関する動作を実行
するために使用し得る資源の状態(資源ステータス)に
左右される。そこで、ある1つのコマンドを選択したな
らば、それに続いて資源ステータス情報を算出し、その
算出した資源ステータス情報を、リストの中に、各シー
ケンス点と共に保持しておくようにしている。(新た
な)資源ステータスは、以前の資源ステータスと選択し
たコマンドの内容とによって定まる関数である。以上の
ようにすることによって、ある特定の資源が使用不可能
であることが最初の資源ステータスによって示されてい
た場合にも、最適化処理機構が、その特定の資源の使用
可能性を変化させることができるようになる。更には、
その時点で資源の再割当てを行なうこともできる。
【0035】あるコマンドの実行がどれほど適切である
かを表わす適切度係数は、次の諸々の要因を考慮に入れ
た発見的な(ヒューリスティックな)数式によって決定
される。それら諸々の要因とは、そのコマンドの動作を
実行するために必要とされるトランスポータの走行距離
と、全体の生産性にとっての、そのコマンドの動作の相
対的な重用度と、そのコマンドがコマンド・リストの中
に入れられてからの経過時間(これを考慮に入れるの
は、他の動作が優先されるという事態が永久に続くのを
防止するためである)と、そのシーケンス点における資
源の状態と、それに、そのコマンド・リストの中に存在
するその他のコマンドである。この発見的なプロセスに
よって、各々のコマンドに点数が付与される。こうして
付与された点数が高いほど、そのコマンドは、そのシー
ケンス点における適切度が高い。資源の現在状態のため
に、そのシーケンス点において実行が不可能なコマンド
には「0」点を付与し、それによって、そのコマンドの
実行が不可能であることを示すようにしている。この点
数付け処理の後に、(おそらくは)最も適切度が高いと
判断されるコマンドを、そのシーケンス点(即ち、現在
シーケンス点)に配置する。続いて、そのコマンドにマ
ーキングを施して、そのコマンドが、後続の処理におい
て、再度選択されないようにした上で、以上の処理を反
復実行して次のコマンドを選択する。そしてこの処理
を、全てのコマンドをそのシーケンスの中の然るべき位
置に配置し終わるまで連続して実行する。
【0036】表3の中のコマンドのうちで、一番最初に
実行し得るコマンドは、コマンド識別子「1」、
「3」、「5」、それに「7」で表わされている、4つ
のコマンドだけである。ここで、カートリッジを装填す
る動作の方が、それを脱装する動作よりも重要度が高い
ものとし、また、トランスポータが最も近くに位置して
いるカートリッジが、カートリッジBであったものとす
れば、上述の発見的なプロセスを実行した結果として、
「コマンド3」が、最も適切度の高いコマンドとして選
択される。即ち、次の表4のようになる。
【表4】
【0037】「コマンド3」が実行完了した状態におい
て、続いて実行可能なコマンドは、識別子「1」、
「4」、「5」、それに「7」で表わされている、4つ
のコマンドである。ここでは、その状態ではトランスポ
ータがカートリッジAの非常に近くに位置していたため
に、「コマンド1」が選択されたものとする。尚、この
場合、この「コマンド1」のGFR動作は、第2把持機
構によって実行される。なぜならば、この時点では、第
1把持機構はカートリッジBを把持しているからであ
る。これによってコマンドのシーケンスは、次の表5の
ようになる。
【表5】
【0038】「コマンド1」までが実行完了した状態に
おいては、有効な選択肢となり得るコマンドは「コマン
ド2」と「コマンド4」との2つだけになる(これらは
PTD命令である)。その理由は、残りのコマンドはい
ずれも、そのコマンドの実行に必要な資源が使用不可能
な状態にあるか、或いは、そのコマンドの動作それ自体
が実行不可能なものであるかの、いずれかだからである
(前者の例としては、そのコマンドの動作がカートリッ
ジを把持して取り出す動作であるのに対して、いずれの
把持機構も既に他のカートリッジを把持して塞がってい
る場合があり、また、後者の例としては、そのコマンド
がドライブ装置にカートリッジを装填する動作であるの
に対して、そのカートリッジが未だ把持機構によって把
持されていない場合を挙げることができる)。ここで、
「コマンド2」に関係のあるドライブ装置(第1装置)
と「コマンド4」に関係のあるドライブ装置(第2装
置)とが互いに近接して位置しているものとすれば、こ
れら2つのコマンドが、このシーケンスの中の連続する
2つの位置を占めることになる可能性が高く、なぜなら
ば、トランスポータが、それら2台のドライブ装置のう
ちの一方のところまで移動したならば、その結果、他方
のドライブ装置にも近接して位置することになるからで
ある。従ってこの場合、コマンドのシーケンスは次の表
6のようになる。
【表6】
【0039】「コマンド4」までが実行完了した状態に
おいては、「コマンド5」と「コマンド7」とが選択可
能なコマンドになる。ここでは、これら2つのコマンド
は、トランスポータの必要走行距離が互いに略々等しか
ったものとする。この場合には、「コマンド7」が、装
填動作(ここでは、脱装動作よりも重要であるものとし
ている)に関するものであるため、「コマンド7」が
「コマンド5」よりも重視される。そして、「コマンド
7」が実行完了した状態では、実行可能なコマンドは
「コマンド5」だけになる(「コマンド8」は、第3装
置に既にカートリッジが装填されているため、実行不可
能である)。そして、この「コマンド5」が選択された
ならば、続いて「コマンド8」が選択される。なぜなら
ば、「コマンド5」が実行完了した状態では、トランス
ポータが、「コマンド8」に関係のある第3装置の位置
にあり、しかも「コマンド8」が、装填動作に関するコ
マンドだからである。続いて「コマンド6」(唯一残っ
ているコマンド)が選択されて、次の表7のようにシー
ケンスが完成する。
【表7】
【0040】以上の最適化処理を実行している間に、最
適化処理機構が、最適化シーケンスの現在点(即ち、現
在シーケンス点)に、いかなるコマンドをも配置するこ
とができないという状況に至った場合には、それまでに
形成したシーケンスの中の最後のコマンドを、このシー
ケンスから取り除いた上で、その取り除いたコマンド
に、その特定のシーケンス点(即ち、現在シーケンス
点)においては選択不可能なコマンドであることを示す
マークを付ける。そして、その後に、そのシーケンス点
から、順序並べ替え処理(即ち、最適化処理)を再開す
る。そのための処理が、バックトラッキング処理であ
り、このバックトラッキング処理を行なうことによっ
て、このプロセスを無効シーケンス状態から回復させる
ことができる。また、このバックトラッキング処理の実
行中に、より後のシーケンス点において付された、選択
不可能なコマンドであることを示すマークを除去するよ
うにしており、なぜならば、それら後のシーケンス点に
おいてコマンドの評価をやり直すときには、既に資源の
状態が、以前コマンドの評価を行なったときとは異なっ
ているからである。
【0041】現在シーケンス点に、いかなるコマンドを
も配置できないという状況に至った一例として、例え
ば、ドライブ装置にカートリッジを装填する動作を求め
るコマンドが2つ、(実行可能なコマンドとして)選択
され、そして、それら2つの装填動作が開始されたが、
ドライブ装置にカートリッジを装填するためには、先ず
その前に、ドライブ装置からカートリッジを脱装しなけ
ればならないという状況にあった場合を挙げることがで
きる。この場合には、次の表8に示すシーケンスが形成
されるおそれがある。
【表8】 この表8の最後のシーケンス点に至ったならば、これ以
上いかなるコマンドも選択することができなくなる。な
ぜならば、ここまで実行完了した状態においては、カー
トリッジの取出し動作に使用することのできる、手のあ
いた把持機構が存在しておらず、しかも、全てのドライ
ブ装置に既にカートリッジが装填されているために、ど
の把持機構も、把持しているカートリッジをドライブ装
置の中に装填する動作を行なって手をあけるということ
ができないからである。そこで、この場合には、表8に
示したシーケンスから「コマンド28」を除去した上
で、別のコマンド(「次善の」コマンド)を選択する。
それによって、例えば次の表9に示すようなシーケンス
が得られる。
【表9】
【0042】「コマンド24」によって格納用ラックか
ら取り出されたカートリッジVの装填先ドライブ装置
が、もし第1装置であれば、次の「コマンド26」を実
行する時点で、カートリッジVの装填動作も完了させる
ことができる。バックトラッキング処理は、ときとし
て、レベル1つ分戻すだけでは足りず、幾つものレベル
に亙って戻さなければ別のシーケンスを求めることがで
きないこともある。また、1つのシーケンスを完成させ
るために、バックトラッキングの処理を、1回だけでな
く、数回に亙って起動しなければならないこともある。
尚、最初のコマンドのシーケンス(即ち、オリジナル・
コマンド・リストに示されたコマンドのシーケンス)
は、有効シーケンスであるから、以上のプロセスによっ
て有効シーケンスが1つも発見されないということはあ
り得ず、必ず1つは有効シーケンスが発見される。
【0043】シーケンス最適化処理が完了したならば、
それによって得られたリストに対して更にピープホール
最適化処理を施して、幾つかの共通シーケンスを、より
数の少ない、しかもそのシステムが実行可能な複合動作
へと変換する。前述の発見的な数式を調節することによ
って、シーケンス最適化処理によって得られるシーケン
スが、なるべく、このピープホール最適化処理によって
短縮することのできるシーケンスとなるようにすること
ができる。
【0044】表3〜表7に示した前掲の具体例では、そ
の最適化シーケンスの中で「コマンド5」と「コマンド
8」とが隣接している。もしハードウェアが、ドライブ
装置に対する「交換」動作(一方の把持機構でカートリ
ッジを取り出し、他方の把持機構で別のカートリッジを
装填する動作)を高速で行ない得るものであるなら、ピ
ープホール最適化処理機構は、「コマンド5」と「コマ
ンド8」の2つの動作に替えて、この交換動作を代置す
る。これによって、表7に示した最適化シーケンスは、
次の表10に示すように変化する。
【表10】
【0045】コマンド待ち行列の中のコマンドは、その
実行のために、そのコマンド待ち行列の一端(出力側の
端部)から次々と抜き取られて行き、一方、新たなコマ
ンドは、そのコマンド待ち行列の他端(入力側の端部)
へ加えられて行く。そして、新たなコマンドが追加され
るたびに、コマンド待ち行列の最適化処理が再実行され
る。即ち、複数の最適化シーケンスを次々と連結して行
くのではなく、シーケンス最適化処理を連続して反復実
行するようにしている。既に取り出されている(読み出
されている)コマンドは、シーケンス最適化処理機構が
行なう順序並べ替え処理の処理対象から除外するように
している。また、ピープホール最適化処理機構によって
発生されたコマンドも、順序並べ替え処理の処理機構か
ら除外することによって、シーケンス最適化処理機構が
それに対して変更を加えないようにしている。このよう
にしているのは、ピープホール最適化処理機構が以前に
起動されたときに実行した処理を、シーケンス最適化処
理機構が元に戻してしまうのを防止するためである。
【0046】以上、本発明をその具体的な実施例に即し
て説明したが、本発明はここに示した実施例に限定され
るものではない。即ち、この開示した実施例に対して様
々な改変を加えることも、また、本発明をそれとは異な
った実施例として実施することも、当業者であるなら
ば、以上の本発明の説明を参照すれば容易にできること
である。例えば、当業者であれば、本発明の範囲は、磁
気方式、光方式、ないしは光磁気方式の、テープないし
ディスクのライブラリを用いた自動化ライブラリを包含
するものであることを理解したに違いない。更に本発明
の範囲には、ロボットを1台だけしか備えていないライ
ブラリも、複数台のロボットを備えたライブラリも、把
持機構を1基だけした持たないロボットを備えたライブ
ラリも、それに、把持機構を複数基持ったロボットを備
えたライブラリ等も、全て含まれる。加えて、1箇所の
格納媒体に格納するボリュームを、1つとすることも、
また複数とすることも考えられる。本発明は、それら変
更態様ないし別実施態様の全てを包含するものである。
【0047】
【発明の効果】本発明は以上のように構成され、自動化
データ記憶ライブラリに備えられているボリューム・ト
ランスポータに対する複数のコマンドに、コマンドが入
力してからの経過時間、要求の優先度、及びトランスポ
ータ位置等に応じて点数付けを行い、その点数に応じて
該コマンドを並び替え、点数の上位のコマンドからその
実行を行うようにしているので、システムの動作効率を
著しく向上させることができる。
【図面の簡単な説明】
【図1】人間型ロボット式ピッカー機構を備えた自動化
記憶ライブラリの模式図である。
【図2】自動化記憶ライブラリの構成要素を示したブロ
ック図である。
【図3】本発明の実施例のシステム及び方法において使
用しているコマンド待ち行列のデータ構造を示した模式
図である。
【図4】図5〜図7と組み合わさることによって1つの
論理フローチャートを成す図であり、この論理フローチ
ャートは、本発明の実施例のシステムにおいて実行して
いるコマンド待ち行列に関するシーケンス形成処理のソ
フトウェア構成を示したものである。
【図5】図4に関して説明した論理フローチャートの一
部分を示した図である。
【図6】図4に関して説明した論理フローチャートの一
部分を示した図である。
【図7】図4に関して説明した論理フローチャートの一
部分を示したずである。
【符号の説明】
31 自動化カートリッジ・ライブラリ 33 格納用スロット(格納用ラック) 35 テープ・ドライブ装置 36 ロボット(トランスポータ、ロボット式ピッカー
機構) 37 ロボット制御装置 39 ライブラリ管理機構 41 把持機構−ビジョン・システム・アセンブリ 66 コマンド待ち行列

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のボリュームと、それら複数のボリ
    ュームを格納するための複数のラックと、ボリューム取
    扱機構によって装填されたボリュームに対してデータの
    記録ないし読取りを行なうための少なくとも1つのドラ
    イブ装置とを備えた自動化ライブラリにおいて、データ
    処理システムにより前記ボリューム取扱機構を操作する
    方法であって、 (a)前記ボリュームの中のデータに対する外部要求
    各々を処理して、前記ボリューム取扱機構に実行させる
    ための少なくとも1つのコマンドを生成するステップ
    と、 (b)入力レベル、次に実行する予定のコマンドを入れ
    ておく出力レベル、およびそれら両レベルの間に複数の
    中間レベルを備え得るようにしたコマンド待ち行列を生
    成するステップと、 (c)前記コマンド待ち行列の入力レベルへ前記少なく
    とも1つのコマンドを追加するステップと、 (d)前記コマンド待ち行列への前記少なくとも1つの
    コマンドの追加に応答して、該コマンド待ち行列の中の
    各レベルに対応するコマンドを選択するステップであっ
    て、この選択を、 (d前記コマンド待ち行列のある特定のレベルにお
    いて実行させ得るコマンドを特定し、 (d前記特定のレベルで実行させ得る少なくとも1
    つのコマンドの特定に応答して、前記特定のレベルにお
    いて実行させ得る各特定されたコマンドに対して、前記
    各コマンドが前記コマンド待ち行列に入力されてからの
    経過時間、前記外部要求の優先度、前記ボリューム取扱
    機構の位置および予想されるシステム状態からなるグル
    ープから選択された要素を少なくとも1つ含む関数によ
    点数付けを行ない、 (d前記コマンド待ち行列において前記特定のレベ
    ルにおける最高得点を有する前記特定されたコマンドを
    前記特定レベルに配置し、該最高得点を有する特定され
    たコマンドを他のいかなるレベルにおいても考慮対象か
    ら除外するようにし、 (d )前記コマンド待ち行列のあるレベルに配置され
    た前記特定されたコマンドを実行した後のシステム状態
    をそれ以前に実行されるコマンドから予想し、 (d )前記予想されるシステム状態を前記コマンドと
    共に前記コマンド待ち行列に格納する ことによって行な
    うようにしたステップと、 (e)ステップ(d)によって順序並べ替えを施された
    前記コマンド待ち行列をスキャンして、前記コマンド待
    ち行列の中の互いに隣接している複数のコマンドによっ
    て形成された所定のパターンを探索するステップと、 (f)前記所定のパターンが発見されたならば、そのパ
    ターンを形成している前記互いに隣接している複数のコ
    マンドの代わりに1つの複合コマンドを代置するステッ
    プとを含んでいることを特徴とするボリューム取扱機構
    操作方法。
  2. 【請求項2】 請求項1記載の方法において、該方法は
    さらに、 前記特定のレベルにおいて実行させ得るコマンドとして
    特定できるコマンドが存在していなかったならば、それ
    までの現在レベルの直前のレベルを新たな現在レベルに
    設定し直すステップと、 前記 新たな現在レベルにそれまで配置されていたコマン
    ドを、前記新たな現在レベルにおいて実行させ得るコマ
    ンドとして特定できるコマンドから除外するステップ
    と、 前記 予想されるシステム状態を、前記新たな現在レベル
    の直前のレベルに配置されたコマンドに対応して格納し
    ておいたライブラリの状態に設定し直し、前記新たな現
    在レベルに対応したシステム状態とするステップと、 前記 新たな現在レベルに関して前記ステップ(d)を再
    実行する、再実行ステップとを含んでいるボリューム取
    扱機構操作方法。
  3. 【請求項3】 請求項1記載の方法において、該方法は
    さらに、前記 複合コマンドを、前記コマンド待ち行列の中の夫々
    のレベルにおいて以後行なわれる選択の選択肢から除外
    するステップを含んでおり、それによって、前記複合コ
    マンドが存在しているレベルから前記コマンド待ち行列
    出力レベルまでのレベルに存在しているコマンドが、
    コマンド待ち行列の中の夫々のレベルにおいて以後行
    なわれる夫々の選択の選択肢から除外されるようにした
    ことを特徴とするボリューム取扱機構操作方法。
  4. 【請求項4】 請求項1記載の方法において、該方法は
    さらに、 以前取り出されなかったコマンドを、前記コマンド待ち
    行列出力レベルに最も近いレベルから実行すべきものと
    して周期的に取出し、それによって、それらコマンド
    が、前記コマンド待ち行列の中の夫々のレベルにおいて
    以後行なわれる夫々の選択の選択肢から除外されるよう
    にするステップを含んでいることを特徴とするボリュー
    ム取扱機構操作方法。
  5. 【請求項5】 データ処理システム内においてデータベ
    ースの動作を支援するための自動化記録ライブラリにお
    いて、 複数のボリュームと、前記 複数のボリュームを格納するための複数の格納位置
    と、前記 ボリュームに対して情報の読取りと情報の格納とを
    行なうための少なくとも1つのドライブ装置と、前記 ボリュームを格納位置とドライブ装置との間で移送
    するためのトランスポータ手段と、 データ要求の発生源と、前記 データ要求を受け取ったときに、前記トランスポー
    タ手段を動作させるための少なくとも1つのコマンドを
    生成する手段と、 コマンドのための複数のレベルをサポートしており、コ
    マンド待ち行列入力からコマンド待ち行列出力へ向け
    て、早く実行させるコマンドほど先に位置するように順
    に並べたコマンド待ち行列と、前記 少なくとも1つのコマンドを、最初は前記コマンド
    待ち行列入力に位置させるようにして、前記少なくとも
    1つのコマンドの実行後の予想されるシステム状態と共
    に前記コマンド待ち行列の中に入れるための手段と、 コマンド待ち行列の中のコマンドのシーケンスを生成す
    るための手段であって、特定のレベルにおいて実行させ
    得る少なくとも1つのコマンドの特定が行なわれたとき
    に、前記特定のレベルにおいて実行させ得る各コマンド
    に対して前記各 コマンドが前記コマンド待ち行列に入力
    されてからの経過時間、前記外部要求の優先度、前記ボ
    リューム取扱機構の位置および予想されるシステム状態
    からなるグループから選択された要素を少なくとも1つ
    含む関数により点数付けを行なう手段と、前記特定レベ
    ルで実行させ得るコマンドとして特定されたコマンドの
    うち最高の点数が付与されたコマンドを前記コマンド待
    ち行列の中の前記特定のレベルに配置する手段とを含ん
    でいるシーケンス生成手段と、前記コマンド待ち行列のあるレベルに配置された前記特
    定されたコマンドを実行した後のシステム状態をそれ以
    前に実行されるコマンドから予想する手段と、 前記予想されるシステム状態を前記コマンド待ち行列の
    中の前記コマンドと共に格納する手段と、 前記コマンド待ち行列をスキャンして、前記コマンド待
    ち行列の中の互いに隣接している複数のコマンドによっ
    て形成された所定のパターンを探索する手段と、 前記所定のパターンが発見されたならば、そのパターン
    を形成している前記互いに隣接している複数のコマンド
    の代わりに1つの複合コマンドを代置する手段を 備えた
    ことを特徴とする自動化記憶ライブラリ。
JP5053956A 1992-04-20 1993-03-15 自動化記憶ライブラリ及び該ライブラリにおけるボリューム取扱機構操作方法、並びにトランスポータ操作方法 Expired - Fee Related JP2552072B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US871379 1992-04-20
US07/871,379 US5418971A (en) 1992-04-20 1992-04-20 System and method for ordering commands in an automatic volume placement library

Publications (2)

Publication Number Publication Date
JPH0652025A JPH0652025A (ja) 1994-02-25
JP2552072B2 true JP2552072B2 (ja) 1996-11-06

Family

ID=25357320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5053956A Expired - Fee Related JP2552072B2 (ja) 1992-04-20 1993-03-15 自動化記憶ライブラリ及び該ライブラリにおけるボリューム取扱機構操作方法、並びにトランスポータ操作方法

Country Status (3)

Country Link
US (1) US5418971A (ja)
EP (1) EP0567238A2 (ja)
JP (1) JP2552072B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236608A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd ライブラリシステムおよびその制御方法
US5623693A (en) * 1994-02-17 1997-04-22 International Business Machines Corporation System for performing action by sorting actions into immediate and deferred queues, processing immediate queue while still sorting, and appending deferred queue to immediate after sorting
JP3796551B2 (ja) * 1994-04-25 2006-07-12 ソニー株式会社 情報記憶処理装置
JP3393751B2 (ja) * 1995-05-26 2003-04-07 インターナショナル・ビジネス・マシーンズ・コーポレーション スーパライブラリ内のデータ記憶カートリッジの配置を最適化する方法及びデータ記憶装置
US5911148A (en) * 1997-05-29 1999-06-08 International Business Machines Corporation Automated message processing system configured for automated tape device management
US6047334A (en) * 1997-06-17 2000-04-04 Intel Corporation System for delaying dequeue of commands received prior to fence command until commands received before fence command are ordered for execution in a fixed sequence
US6044442A (en) * 1997-11-21 2000-03-28 International Business Machines Corporation External partitioning of an automated data storage library into multiple virtual libraries for access by a plurality of hosts
US6052341A (en) * 1997-12-16 2000-04-18 International Business Machines Corporation Device element allocation manager and method for a multi-library system for multiple host connections
US6421827B1 (en) 1997-12-17 2002-07-16 International Business Machines Corporation System and method for detecting and reordering loading patterns
US6138175A (en) * 1998-05-20 2000-10-24 Oak Technology, Inc. System for dynamically optimizing DVD navigational commands by combining a first and a second navigational commands retrieved from a medium for playback
US6031798A (en) 1998-08-03 2000-02-29 International Business Machines Corporation Library control of media capacity scaling and library component attributes
US6494663B2 (en) 1999-07-16 2002-12-17 Storage Technology Corporation Method and system for sharing robotic mechanisms between automated storage libraries
US6356801B1 (en) 2000-05-19 2002-03-12 International Business Machines Corporation High availability work queuing in an automated data storage library
US7577683B2 (en) 2000-06-08 2009-08-18 Ingenuity Systems, Inc. Methods for the construction and maintenance of a knowledge representation system
US6741986B2 (en) * 2000-12-08 2004-05-25 Ingenuity Systems, Inc. Method and system for performing information extraction and quality control for a knowledgebase
US6772160B2 (en) * 2000-06-08 2004-08-03 Ingenuity Systems, Inc. Techniques for facilitating information acquisition and storage
US6604160B1 (en) 2000-09-28 2003-08-05 International Business Machines Corporation Computing system arbitrating and selectively providing resource-seeking tasks with takeaway of non-shareable resources
US6446160B1 (en) 2000-09-28 2002-09-03 International Business Machines Corporation Multi-drive data storage system with analysis and selected demounting of idle data storage media
US6434682B1 (en) 2000-09-28 2002-08-13 International Business Machines Corporation Data management system with shortcut migration via efficient automatic reconnection to previously migrated copy
US6640258B2 (en) * 2001-01-10 2003-10-28 Hitachi Global Storage Technologies Netherlands B.V. Method and apparatus for command queue ordering with a sort time reduction algorithm
US8793073B2 (en) * 2002-02-04 2014-07-29 Ingenuity Systems, Inc. Drug discovery methods
AU2003207786B2 (en) * 2002-02-04 2009-09-17 QIAGEN Redwood City, Inc. Drug discovery methods
US20040167662A1 (en) * 2003-02-24 2004-08-26 International Business Machines Corporation Expansion of an automated data storage system
JP2005011110A (ja) * 2003-06-19 2005-01-13 Hitachi Ltd 情報処理装置、情報処理装置の制御方法、プログラム、及び情報処理システム
JP4887618B2 (ja) * 2004-11-19 2012-02-29 日本電気株式会社 ストレージシステムとそのレプリケーション方法並びにプログラム
US7546180B1 (en) * 2004-12-29 2009-06-09 Storage Technology Corporation Position determination of multiple mechanisms sharing a common axis of motion in a robotic tape library
WO2008014495A2 (en) * 2006-07-28 2008-01-31 Ingenuity Systems, Inc. Genomics based targeted advertising
WO2009016696A1 (ja) * 2007-07-27 2009-02-05 Fujitsu Limited ライブラリ装置
US8948906B2 (en) * 2008-08-14 2015-02-03 Spectra Logic Corporation Robotic storage library with queued move instructions and method of queuing such instructions
US8457778B2 (en) * 2008-08-15 2013-06-04 Spectra Logic Corp. Robotic storage library with queued move instructions and method of queuing such instructions
KR20110066140A (ko) 2008-09-29 2011-06-16 인터내셔널 비지네스 머신즈 코포레이션 데이터의 다시 불러내기 순을 결정하기 위한 장치, 방법, 및 프로그램
US8666537B2 (en) * 2008-10-31 2014-03-04 Spectra Logic, Corporation Robotic storage library with queued move instructions and method of queing such instructions
US8340810B2 (en) * 2008-10-31 2012-12-25 Spectra Logic Corp. Robotic storage library with queued move instructions and method of queuing such instructions
US8234005B2 (en) * 2009-09-03 2012-07-31 Spectra Logic Corp. Efficient moves through drive remapping
JP2014026709A (ja) 2012-07-30 2014-02-06 International Business Maschines Corporation ライブラリ・ストリング間でのカートリッジの移動方法、システム、及びプログラム
US9256370B2 (en) 2013-12-05 2016-02-09 International Business Machines Corporation Average response time improvement from a file system for a tape library
US10310923B1 (en) 2014-08-28 2019-06-04 Seagate Technology Llc Probabilistic aging command sorting
US10831403B2 (en) 2017-05-19 2020-11-10 Seagate Technology Llc Probabalistic command aging and selection
US10770109B2 (en) * 2018-06-29 2020-09-08 Hewlett Packard Enterprise Development Lp Tape drive configuration

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3623006A (en) * 1970-06-29 1971-11-23 Burroughs Corp Queueing device for the selection of requests for access to a storage medium
US4228500A (en) * 1978-03-27 1980-10-14 Honeywell Information Systems Inc. Command stacking apparatus for use in a memory controller
US4763255A (en) * 1984-10-31 1988-08-09 International Business Machines Corporation Method for generating short form instructions in an optimizing compiler
US4656582A (en) * 1985-02-04 1987-04-07 International Business Machines Corporation Generating storage reference instructions in an optimizing compiler
US4945428A (en) * 1988-05-05 1990-07-31 International Business Machines Corporation Method of managing a media library
US5287459A (en) * 1991-10-03 1994-02-15 International Business Machines Corporation Method and apparatus for reducing response time in automated library data retrieval systems

Also Published As

Publication number Publication date
US5418971A (en) 1995-05-23
JPH0652025A (ja) 1994-02-25
EP0567238A2 (en) 1993-10-27

Similar Documents

Publication Publication Date Title
JP2552072B2 (ja) 自動化記憶ライブラリ及び該ライブラリにおけるボリューム取扱機構操作方法、並びにトランスポータ操作方法
US5809511A (en) Outboard data migration in a volume stacking library
US6298439B1 (en) Automated storage library for managing allocation of a peripheral data storage device in response to a multi-volume data set request
US6031798A (en) Library control of media capacity scaling and library component attributes
US5870732A (en) Inventory method for logical volumes in an automated storage library
US6336163B1 (en) Method and article of manufacture for inserting volumes for import into a virtual tape server
US5963971A (en) Method and apparatus for handling audit requests of logical volumes in a virtual media server
US4945428A (en) Method of managing a media library
US5613154A (en) System and method for management of transient data storage mediums in an automated data storage library
US5740061A (en) Cartridge shifting optimization in a super library
US5377121A (en) Automated storage library having inventory at picker level
US9159357B2 (en) Efficient moves via repository
US8339729B2 (en) Efficient moves via repository
JPH06309200A (ja) ボリュームからオブジェクトを読取る方法、並びに階層式記憶システム及び情報処理システム
US6029230A (en) Data storage library with media destaging and prestaging for improved response time
US6513101B1 (en) Expiring host selected scratch logical volumes in an automated data storage library
US20160240221A1 (en) Moving cartridge between library strings
US8615322B2 (en) Efficient moves via dual pickers
US10929070B2 (en) Reduced data access time on tape with data redundancy
JPH01292452A (ja) 階層的データ記憶システム
US5353422A (en) Method and system for storing and managing a plurality of information media used by recording/reproducing units
US5860132A (en) Storage dispersal system based on related, shared data storage space reservation
US20120127607A1 (en) Efficient moves via repository
US5500803A (en) Motion optimization for a tape storage system
JP3443802B2 (ja) ライブラリ装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees