以下、上記に基本形態について示したライブラリ制御装置およびライブラリシステムの具体的な実施形態の説明に先立って、まず、その具体的な実施形態と対比するための比較例のライブラリシステムについて説明する。
図1は、比較例のライブラリシステムを示す図である。
この図1には、ライブラリ装置10とライブラリ制御装置20とを備えた比較例のライブラリシステム30が示されている。また、この図1には、この比較例のライブラリシステム30を、処理情報のバックアップに利用するホスト装置40も示されている。
ライブラリ装置10は、次のような格納棚11と、ドライブ12と、移動機構13とを備えている。
格納棚11は、記憶媒体14が格納される格納箇所11aを複数有したものである。また、それら複数の格納箇所11aには、図中最上段の格納箇所11aから図中の下方に向かって一連の通し番号が昇順で付与されている。また、複数の記憶媒体14に一連のボリューム番号が付与されている。そして、この比較例では、記憶媒体14が、その記憶媒体14のボリューム番号と一致する番号の格納箇所11aに格納されるという格納ルールが採用されている。即ち、1番の格納箇所にはボリューム番号が1番の記憶媒体が格納され、2番の格納箇所にはボリューム番号が2番の記憶媒体が格納される。
ドライブ12は、記憶媒体14が装填されてその記憶媒体14をアクセスするものである。移動機構13は、その格納棚11の格納箇所11aおよびそのドライブ12の装填箇所を含んだ各移動箇所にその記憶媒体14を移動可能なものである。
ここで、このライブラリ装置10は、次のような新しいコマンド体系に対応したランダムアクセスタイプのライブラリ装置である。即ち、この新しいコマンド体系では、記憶媒体14の移動における移動元として、複数の格納箇所11aとドライブ12とを含む各箇所を任意に指定可能となっている。さらに、記憶媒体14の移動先としても、そのような各箇所を任意に指定可能となっている。つまり、このコマンド体系によれば、任意の格納箇所11aとドライブ12の間の移動や、任意の複数の格納箇所11a相互間の移動が指示可能となっている。
一方で、ホスト装置40におけるコマンド体系は、次のような古いコマンド体系となっている。この古いコマンド体系では、記憶媒体14の移動については、格納箇所11aから取出してドライブ12に装填すること、およびドライブ12から取り出して元の格納箇所11aに戻すことのみが指示可能である。そして、この古いコマンド体系では、記憶媒体14のドライブ12への装填に当たっては、記憶媒体14の移動元として、複数の格納箇所11aが上記の一連の通し番号の昇順で指定される。
このため、この比較例では、ホスト装置40とライブラリ装置10との間でのコマンド体系の相違を解消するために、両装置間にコマンド体系の変換機能を有するライブラリ制御装置20が設置されている。
このライブラリ制御装置20は、指定情報取得部21と媒体格納制御部22とを備えている。
指定情報取得部21は、ホスト装置40から固定アクセスタイプ向けのコマンドを受け取るものである。
媒体格納制御部22は、指定情報取得部21で取得された固定アクセスタイプ向けのコマンドを、ランダムアクセスタイプ向けのコマンドに変換し、ライブラリ装置10に向けて発行するものである。
この比較例のライブラリシステム30では、バックアップ時には、ホスト装置40が発行する固定アクセスタイプ向けのコマンドによって、格納箇所11aが上記のように番号順に指定される。媒体格納制御部22は、その固定アクセスタイプ向けのコマンドで指定された格納箇所11aが、複数の格納箇所11aのうちのどれであるかを、上記の一連の通し番号に基づいて把握する。そして、媒体格納制御部22は、その把握した格納箇所11aを、ランダムアクセスタイプ向けのコマンドによってライブラリ装置10に指示する。さらに、媒体格納制御部22は、指示した格納箇所11aからドライブ12への記憶媒体14の移動や、その記憶媒体14に対する情報の読み書きもコマンドで指示する。ライブラリ装置10では、この媒体格納制御部22からこのようなコマンドを受けて、そのコマンドで指示された格納箇所11aの記憶媒体14が移動機構13によって取り出されてドライブ12に装填される。そして、その記憶媒体14がドライブ12によってドライブされ、その記憶媒体14に対する情報の書込みや読出しが行われる。
上述したように、この比較例では、記憶媒体14が、その記憶媒体14のボリューム番号と一致する番号の格納箇所11aに格納されるという格納ルールが採用されている。従って、この比較例では、ホスト装置40からの固定アクセスタイプ向けのコマンドによって、ボリューム番号が若い順に記憶媒体14がアクセスされることとなる。
この比較例のライブラリシステム30において、例えば、1番の格納箇所11aに、上記の格納ルールに反してボリューム番号が3番の記憶媒体14が格納される「入れ替わり」が生じていたとする。ホスト装置40は、ライブラリ装置10側でこのような入れ替わりが生じている場合も、格納箇所11aを上記のように予め定められた順番に従ってしか指定することができない。このため、この比較例では、上記の格納ルールを前提として1番の格納箇所11aが指定された際に、ボリューム番号が1番の記憶媒体14ではなくボリューム番号が3番の記憶媒体14がアクセスされてしまう。このようなアクセスは、ボリューム番号が3番の記憶媒体14に記憶されていたバックアップデータに対する予期せぬ上書きの恐れがある。また、ボリューム番号が1番の記憶媒体14中のバックアップデータを読み取るつもりで、ボリューム番号が3番の記憶媒体14に記憶されていた別のバックアップデータが読み取られてしまう場合もある。また、ユーザがこのような入れ替わりに気付いた場合には、ホスト装置40側での格納箇所11aの指定順に従って記憶媒体14を入れ直さなければならず、ライブラリ装置10運用上の大きな負担となる。
以上に説明した比較例に対し、以下に説明する具体的な実施形態では、記憶媒体について上記のような入れ替わりが生じていた場合にはその入れ替わりが自動的に補正される。
まず、第1実施形態について説明する。
図2は、第1実施形態を示す図である。
この図2には、ライブラリ装置50とライブラリ制御装置60とを備えたライブラリシステム70が示されている。また、この図2には、このライブラリシステム70を、処理情報のバックアップに利用するホスト装置80も示されている。
本実施形態では、図2のライブラリ制御装置60が、基本形態について示したライブラリ制御装置の具体的な実施形態に相当する。また、本実施形態では、図2のライブラリシステム70が、基本形態について示したライブラリシステムの具体的な実施形態に相当する。さらに、本実施形態では、図2のライブラリ装置50が、上述の基本形態におけるライブラリ装置の一例に相当する。
ライブラリ装置50は、次のような格納棚51と、ドライブ52と、移動機構53とを備えている。格納棚51は、記憶媒体54が格納される格納箇所51aを複数有したものである。ドライブ52は、記憶媒体54が装填されてその記憶媒体54をアクセスするものである。移動機構53は、その格納棚51の格納箇所51aおよびそのドライブ52の装填箇所を含んだ各移動箇所にその記憶媒体54を移動可能なものである。
ライブラリ制御装置60は、指定情報取得部61と、装填制御部62と、移動制御部63と、媒体格納制御部64とを備えている。
指定情報取得部61は、ライブラリ装置50におけるアクセス対象となる記憶媒体54を指定した媒体指定情報と、上記移動機構53による記憶媒体54の移動における移動元を示す格納箇所指定情報とを取得するものである。
装填制御部62は、上記ライブラリ装置50に対して、上記媒体指定情報で指定された記憶媒体54の格納箇所51aを少なくとも結果的には指示することにより、その媒体指定情報で指定された記憶媒体54を上記ドライブ52に装填させるものである。
ここで、指定された記憶媒体54の格納箇所51aを少なくとも結果的には指示する方法としては、本実施形態では特定しないが、例えば次のような指示方法が挙げられる。指示方法のうちの1つは、指定された記憶媒体54の格納箇所51aを何らかの方法で確認した後で、その格納箇所51aを指示する方法である。他の1つは、指定された記憶媒体54の格納箇所51aの確認をせずに次々に別の格納箇所51aを指定していって、目的の記憶媒体54の格納箇所51aに到達するまで指定を続ける方法である。
移動制御部63は、上記装填制御部62が上記ライブラリ装置50に指示した格納箇所51aと、上記格納箇所指定情報で指定された格納箇所51aとが互いに異なっていた場合、以下のような処理を実行するものである。移動制御部63は、この場合、上記媒体指定情報で指定された記憶媒体54を上記ドライブ52がアクセスしている最中に、上記ライブラリ装置50に対し、次のように指示する。即ち、移動制御部63は、上記移動機構53による、その格納箇所指定情報で指定された格納箇所51aから、その指定された格納箇所51aとは異なる格納箇所51aへの記憶媒体54の移動を指示する。
媒体格納制御部64は、上記媒体指定情報で指定された記憶媒体54が上記ドライブ52に装填されていてその記憶媒体54を上記格納棚51に移動させる場合に、上記ライブラリ装置50に対し、次のように指示する。この場合、媒体格納制御部64は、上記移動機構53によるその記憶媒体54の、上記格納箇所指定情報で指定された格納箇所51aへの格納を指示する。
本実施形態では、装填制御部62によって、上記ライブラリ装置50に対して、媒体指定情報で指定された記憶媒体54の格納箇所51aが指示される。そして、この格納箇所51aの指示によって、その格納箇所51a内の記憶媒体54がドライブ52に装填される。このようにドライブ52に装填される記憶媒体54が、アクセス対象の記憶媒体54である。このアクセス対象の記憶媒体54の装填のために装填制御部62によって指示された格納箇所51aが、上記格納箇所指定情報で指定された格納箇所51aと異なっていると、そのアクセス対象の記憶媒体54について入れ替わりが生じていることとなる。格納箇所指定情報で指定された格納箇所51aは、そのアクセス対象の記憶媒体54が格納されているべき本来の格納箇所51aである。入れ替わりが生じている場合、本実施形態では、移動制御部63の指示により、本来の格納箇所51aが、アクセス対象の記憶媒体54へのアクセスの最中に空けられる。そして、そのようにして空けられた本来の格納箇所51aに、媒体格納制御部64の指示により、アクセス対象の記憶媒体54が格納される。つまり、本実施形態では、入れ替わりがある場合、記憶媒体54へのアクセス中の時間を利用してその記憶媒体54の格納箇所51aが空けられる。そして、アクセス終了後に、アクセス対象の記憶媒体54がその本来の格納箇所51aに格納される。この結果、本実施形態では、アクセス対象の記憶媒体54についての入れ替わりが自動的に補正される。
次に、第2実施形態について説明する。
図3は、第2実施形態を示す図である。
この図3には、磁気テープを収めたテープカートリッジ110を記憶媒体として用いるテープライブラリ装置100を備えたライブラリシステム300が示されている。また、この図3には、このライブラリシステム300を、処理情報のバックアップに利用するホスト装置400も示されている。そして、この図3のライブラリシステム300は、ホスト装置400から送られてくるコマンド信号を、テープライブラリ装置100に適合したコマンド信号に変換するコマンド変換装置200を備えている。
本実施形態では、図3のコマンド変換装置200が、基本形態について示したライブラリ制御装置の具体的な実施形態に相当する。また、本実施形態では、図3のライブラリシステム300が、基本形態について示したライブラリシステムの具体的な実施形態に相当する。さらに、本実施形態では、図3のテープライブラリ装置100が、上述の基本形態におけるライブラリ装置の一例に相当する。
本実施形態では、ホスト装置400は、光ファイバを用いた光伝送リンクによってコマンド変換装置200に接続されている。そして、コマンド変換装置200は、SCSI(Small Computer System Interface)によってテープライブラリ装置100に接続されている。
まず、テープライブラリ装置100について説明する。
このテープライブラリ装置100には、一連の通し番号であるボリューム番号が割り振られた複数のテープカートリッジ110が格納される。本実施形態では、このテープカートリッジ110が、上述の基本形態における記憶媒体の一例に相当する。本実施形態では、ボリューム番号は、そのボリューム番号のテープカートリッジ110内の磁気テープに磁気的に記憶されている。
図4は、テープカートリッジを示す外観斜視図である。
図4のパート(A)には、テープカートリッジ110が、後述の取出し口110aを紙面奥側に向けた斜視図で示されている。また、図4のパート(B)には、テープカートリッジ110が、取出し口110aを紙面手前側に向けた斜視図で示されている。
このテープカートリッジ110は、扁平な矩形状のシェル112を備えている。このシェル112の内部には、後述する磁気テープ111が収納されている。そして、外観上、パート(B)に示すように、シェル112の側面に、その磁気テープ111の取出し口110aが設けられている。情報の読み書きの際には、その取出し口110aから磁気テープ111が引き出される。
このシェル112の内部には、磁気テープ111が、次のようにリールに巻きつけられた状態で収納されている。
図5は、リールに巻かれた磁気テープを示す外観斜視図である。
この図5に示すように、磁気テープ111は、円筒状の中心軸113aを有するリール113に巻き付けられている。そして、この磁気テープ111の先端には、図4のパート(B)に示す取出し口110aからシェル112の外部にこの磁気テープ111を引き出すときの手掛りとなるリーダピン111aが取り付けられている。
本実施形態では、テープカートリッジ110のボリューム番号が、この磁気テープ111における、リーダピン111aに近い先端側の領域に記憶されている。
図3のテープライブラリ装置100には、一連の通し番号であるセル番号が割り振られた複数のセル121を有する1台のマガジン120が着脱自在に格納される。また、このマガジン120では、これら複数のセル121は、このセル番号の順に並んでいる。
各テープカートリッジ110は、マガジン120の各セル121に格納される。そして、そのマガジン120がテープライブラリ装置100に格納されることで、複数のテープカートリッジ110がテープライブラリ装置100に格納される。本実施形態では、マガジン120が、上述の基本形態における格納棚の一例に相当する。そして、マガジン120の各セル121が、上述の基本形態における格納箇所の一例に相当する。
そして、ホスト装置400側では、このテープライブラリ装置100における各テープカートリッジ110の格納位置が定められている。以下の説明では、一例として、テープカートリッジ110が、ボリューム番号と一致するセル番号のセル121に格納されるように定められているものとする。即ち、「VOL001」というボリューム番号のテープカートリッジ110は、1番のセル121に格納される。また、「VOL002」というボリューム番号のテープカートリッジ110が2番のセル121に格納される。
また、このテープライブラリ装置100は、以下に説明するテープドライブ130、アクセッサ140、およびアクセス制御部150を備えている。
テープドライブ130は、テープカートリッジ110が1個装填され、その装填されたテープカートリッジ110をドライブすることで、情報の書込みや読出しといったアクセスを実行するものである。本実施形態では、このテープドライブ130が、上述の基本形態におけるドライブの一例に相当する。
アクセッサ140は、マガジン120のセル121およびテープドライブ130の装填箇所を含んだ各移動箇所にテープカートリッジ110を移動可能な移動機構である。本実施形態では、このアクセッサ140が、上述の基本形態における移動機構の一例に相当する。
アクセス制御部150は、コマンド変換装置200から送られてくる各種コマンドを受けて、アクセッサ140やテープドライブ130の動作を制御するものである。
ところで、本実施形態のテープライブラリ装置100は、上記比較例で説明した新しいコマンド体系に対応したランダムアクセスタイプのライブラリ装置である。
一方、ホスト装置400では、上述した固定アクセスタイプのテープライブラリ装置をバックアップ装置として利用することを前提としてバックアッププログラム等が構築されている。このため、ホスト装置400は、バックアップ時には、後述のLDSP、UNLOAD、READ、WRITEといった固定アクセスタイプ向けのコマンドを発行する。そして、コマンド変換装置200が、ホスト装置400が発行したコマンドを、ランダムアクセスタイプ向けのコマンドに変換して本実施形態のテープライブラリ装置100に送信する。本実施形態では、このようなコマンド変換装置200を用いたシステム構成により、ホスト装置400内のコマンド体系を固定アクセスタイプのものに据え置いたまま、ランダムアクセスタイプのテープライブラリ装置100が利用されている。
また、本実施形態では、ホスト装置400は、コマンドを、光伝送リンクに乗せて光信号として発行する。コマンド変換装置200は、この光信号のコマンドを、テープライブラリ装置100との間のリンクであるSCSIに適合した電気信号に変換するインタフェース変換の役割も帯びている。
ホスト装置400がバックアップ時に発行するコマンドは、LDSP、UNLOAD、READ、WRITEという4つのコマンドである。
LDSPは、前回アクセスされたテープカートリッジ110が格納されていたセル121の次のセル121を指定するコマンドである。このLDSPによるセル121の指定により、テープライブラリ装置200では、その指定されたセル121からテープドライブ130へテープカートリッジ110を装填される。ただし、このコマンドが、マガジンセット後、初めて発行されたときには、前回アクセスされたテープカートリッジ110が存在しない。そこで、このコマンドは、マガジンセット後、初めて発行されたときには、先頭のセル121を指定するコマンドとして処理される。本実施形態では、このLDSPが、上述の基本形態における格納箇所指定情報の一例に相当する。
また、このLDSPには、テープドライブ130へ装填されるべきテープカートリッジ110のボリューム番号(後述のアクセスボリューム番号V1)が、元々のコマンド体系における決まりで添付されている。
UNLOADは、テープドライブ130に装填されているテープカートリッジ110を、元のセル121に戻すことを命じるコマンドである。
READは、テープカートリッジ110からの情報の読取りを命じるコマンドである。
WRITEは、テープカートリッジ110への情報の書込みを命じるコマンドである。
本実施形態では、ホスト装置400からこれら4つのコマンドが適宜に発行されて、テープライブラリ装置100への情報のバックアップや、テープライブラリ装置100からの情報のリストアが実行される。
ここで、上記のように、ホスト装置400側では、テープカートリッジ110が、ボリューム番号と一致するセル番号のセル121に格納されるように定められている。このため、ホスト装置400は、テープカートリッジ110がこの格納ルールに則って格納されていることを前提として、LDSPの発行等を行う。
即ち、ホスト装置400は、初回のLDSPの発行時には、「VOL001」のテープカートリッジ110がアクセスされ、2回目のLDSPの発行時には、「VOL002」のテープカートリッジ110がアクセスされることを前提として処理を行う。
ここで、仮に、テープカートリッジ110の入れ替わりにより、テープカートリッジ110が上記の格納ルールに則ったセル121とは別のセル121に格納されていたとする。このとき、何の補正もなく、情報のリストアやバックアップが実行されると、比較例について上述したように想定とは異なるテープカートリッジ110について情報の書込みや読取りが行われてしまう。本実施形態では、コマンド変換装置200において、詳細については後述するように、上記のような入れ替わりの補正が実行される。
図6は、コマンド変換装置のハードウェア構成図である。
コマンド変換装置200では、光伝送リンクからSCSIへのインタフェース変換を行うインタフェース変換プログラムや、LDSP等のコマンドについてのコマンド変換を行うコマンド変換プログラムが実行される。このコマンド変換装置200は、図6に示すように、CPU201、ROM202、RAM203、光伝送インタフェース204、および、SCSIインタフェース205を備えている。
CPU201は、インタフェース変換プログラムやコマンド変換プログラムを実行するものである。また、ROM202は、これらインタフェース変換プログラムやコマンド変換プログラムが格納されるものである。RAM203は、各プログラムが実行時に展開されるものである。そして、本実施形態では、このRAM203に、各プログラムが実行される時に使用される各種変数等が格納される。
尚、インタフェース変換については公知の技術であるのでこれ以上の説明は割愛する。
本実施形態では、コマンド変換プログラムの実行時に使用される各種変数が、RAM203内の次のような変数テーブルに格納される。
図7は、変数テーブルを示す図である。
図7に示すように、この変数テーブル207は、アクセスセル番号Nの格納欄207a、アクセスボリューム番号V1の格納欄207b、読取りボリューム番号V2の格納欄207c、および指定セル番号nの格納欄207dを有している。
アクセスセル番号Nは、ホスト装置400からのコマンド(LDSP)によって指定されたセル番号である。つまり、このアクセスセル番号Nが、アクセス対象のテープカートリッジが格納されているべきセルのセル番号に相当する。
アクセスボリューム番号V1は、ホスト装置400からLDSPに添付されて通知されたボリューム番号である。このアクセスボリューム番号V1が、アクセス対象のテープカートリッジ110のボリューム番号に相当する。本実施形態では、このアクセスボリューム番号V1が、上述の基本形態における媒体指定情報の一例に相当する。
読取りボリューム番号V2は、テープドライブ130に装填されたテープカートリッジ110から読み取られたボリューム番号である。本実施形態では、この読取りボリューム番号V2が、後述する応用形態における格納媒体情報の一例に相当する。
指定セル番号nは、コマンド変換装置200からテープライブラリ装置100に対して実際に指定されるセル番号である。
この変数テーブル207の各格納欄には、テープライブラリ装置100にマガジン120が搭載された時点で、図7に示す初期値が格納される。
アクセスセル番号Nの格納欄207aには、マガジン120における先頭のセル121のセル番号である「1」が初期値として格納される。指定セル番号nの格納欄207dにも、そのセル番号「1」が初期値として格納される。アクセスボリューム番号V1の格納欄207bには、そのセル番号「1」と一致するボリューム番号である「VOL001」が初期値として格納される。読取りボリューム番号V2の格納欄207cにも、そのボリューム番号「VOL001」が初期値として格納される。
以上で図7の変数テーブル207についての説明を終了し、図6に戻って説明を続ける。
図6に示す光伝送インタフェース204は、このコマンド変換装置200を図3に示すホスト装置400と光伝送で接続するためのものである。SCSIインタフェース205は、このコマンド変換装置200を図3に示すテープライブラリ装置100とSCSIで接続するためのものである。
これらコマンド変換装置200の各要素は、バス206を介して相互に接続されている。
以上に説明したコマンド変換装置200について、以下、コマンド変換に注目して説明を続ける。
このコマンド変換装置200では、ROM202内のコマンド変換プログラムがCPU201によって実行されることで、以下に説明する各種機能ブロックが構築される。
図8は、図3のコマンド変換装置をコマンド変換に注目して示す機能ブロック図である。
このコマンド変換装置200は、初期設定部210と、LDSP実行部220と、リードライト実行部230と、UNLOAD実行部240とを備えている。
以下、これらの各構成要素について、図3のライブラリシステム300で実行されるバックアップ処理の流れに沿って説明する。
バックアップ処理では、まず、図3のテープライブラリ装置100に、複数のテープカートリッジ110が格納されたマガジン120が格納される。そして、ホスト装置400から、LDSP、WRITE(又はREAD)、UNLOADというコマンドが順次に発行され、1個のカートリッジテープに対する情報の書込み(又は読取り)が実行される。そして、複数個のカートリッジテープについて情報の書込み(又は読取り)を行う際には、上記のコマンドがホスト装置400から繰返し発行される。
まず、テープライブラリ装置100にマガジン120が格納されると、その旨が、テープライブラリ装置100からコマンド変換装置200に通知される。すると、図8の初期設定部210が、図7の変数テーブル207の各格納欄に上述した各初期値を格納する初期設定処理を実行する。
本実施形態では、この初期設定処理は、ホスト装置400でのLDSP等といった各種コマンドの発行とは係わりが無い、マガジン120の格納というイベントを受けて実行されるいわば割り込み処理となっている。
次に、ホスト装置400がLDSPを発行する。
このLDSPは、上述のように、前回アクセスされたテープカートリッジ110が格納されていたセル121の次のセル121を指定することで、その指定されたセル121からテープドライブ130へテープカートリッジ110を装填させるコマンドである。
尚、このLDSPは、上述のように、アクセスボリューム番号V1が添付されてホスト装置400から発行される。
このようにLDSPが発行されると、そのLDSPを受けて、図8のLDSP実行部220が以下に説明するLDSP処理を実行する。
図9は、第2実施形態のLDSP処理を示すフローチャートである。
このLDSP処理では、まず、上記のアクセスセル番号Nのセル121内のテープカートリッジ110が、アクセス対象のテープカートリッジ110であるか否かが、以下に説明する一連の処理によって確認される。
まず、LDSPに添付されているアクセスボリューム番号V1が、LDSP実行部220によって、図5の変数テーブル207におけるアクセスボリューム番号V1の格納欄207bに上書きされる。さらに、アクセスセル番号Nの格納欄207aに格納されているアクセスセル番号NがLDSP実行部220によって読み出され、そのアクセスセル番号Nが、指定セル番号nの格納欄207dに上書きされる(ステップS111)。
本実施形態では、LDSP実行部220が、上述の基本形態における指定情報取得部の一例に相当する。そして、ステップS111の処理が、その基本形態における指定情報取得部の一例としての動作に相当する。
次に、図8のLDSP実行部220が、変数テーブル207から指定セル番号nを読み出す。そして、LDSP実行部220は、その指定セル番号nでセル121を指定するコマンドを発行することで、テープカートリッジ110をその指定したセル121からテープドライブ130へ装填させる(ステップS112)。このステップS112で発行されるコマンドは、本実施形態のテープライブラリ装置100に応じた、ランダムアクセスタイプ向けのコマンドである。
続いて、図8のLDSP実行部220が、テープドライブ130に装填されているテープカートリッジ110からのボリューム番号の読取りを指示するコマンドを発行する(ステップS113)。このステップS113の処理における指示も、ランダムアクセスタイプ向けのコマンドによって行われる。
さらに、このステップS113の処理では、そのコマンドに応じて読み取られたボリューム番号(読取りボリューム番号V2)が、テープライブラリ装置100からコマンド変換装置200に送られる。そして、LDSP実行部220は、その送られてきた読取りボリューム番号V2を、図7の変数テーブル207における読取りボリューム番号V2の格納欄207cに上書きする。
次に、LDSP実行部220は、図7の変数テーブル207に格納されている読取りボリューム番号V2とアクセスボリューム番号V1とが互いに一致しているか否かを確認する(ステップS114)。
ここで、上記のステップS111からの一連の流れでこのステップS114が実行されるときにアクセスボリューム番号V1と比較されるのは、上記のアクセスセル番号Nのセル121に格納されていたテープカートリッジ110のボリューム番号である。このとき、このアクセスセル番号Nのセル121についてテープカートリッジ110の入れ替わりがなければ、上記の2つのボリューム番号V1,V2は互いに一致するはずである。
このため、テープカートリッジ110の入れ替わりがなく両者が一致した場合(ステップS114におけるYES判定)には、このLDSP処理が終了し、今度は、後述のリードライト処理が実行される。
一方、両者が不一致であった場合(ステップS114におけるNO判定)には、このLDSP処理において、以下に説明するように、アクセスボリューム番号V1のテープカートリッジ110の探索が実行される。
この探索では、まず、図2のLDSP実行部220が、変数テーブル207から指定セル番号nを読み出す。そして、LDSP実行部220は、その読み出した指定セル番号nでセル121を指定するコマンドを発行することにより、テープドライブ130からその指定したセル121にテープカートリッジ110を戻させる、(ステップS115)。
次に、LDSP実行部220は、上記のように読み出した指定セル番号nに「1」を加算し、その加算後の指定セル番号nを、変数テーブル207における指定セル番号nの格納欄207dに上書きする(ステップS116)。その後、ステップS112まで処理が戻る。そして、ステップS112からS114までの処理によって、次のセル番号のセル121内のテープカートリッジ110の読取りボリューム番号V2とアクセスボリューム番号V1とが一致するか否かが確認される。
このような、ステップS112〜S116の処理が、図7の変数テーブル207内のアクセスボリューム番号V1と読取りボリューム番号V2とが互いに一致するまで繰返し実行される。本実施形態では、このような処理により、マガジン120内の複数のテープカートリッジ110の中から、アクセスボリューム番号V1のテープカートリッジ110が見つけられる。また、本実施形態では、このアクセスボリューム番号V1のテープカートリッジ110が見つかった時点で、そのテープカートリッジ110は、テープドライブ130に装填された状態となっている。つまり、セル121の指定が先で、事後的にその指定が、アクセスボリューム番号V1のテープカートリッジ110が格納されているセル121の指定であったことが確認される。そして、このアクセスボリューム番号V1のテープカートリッジ110が見つかると、このLDSP処理が終了し、後述のリードライト処理が実行される。
本実施形態では、LDSP実行部220は、上述の基本形態における装填制御部の一例にも相当している。そして、上記のステップS112〜S116の処理が、その基本形態における装填制御部の一例としての動作に相当する。
ここで、上述の基本形態に対し、以下に説明する応用形態は好適である。この応用形態は、上記装填制御部が、格納箇所指示部と、格納情報取得部と、選択部とを備えたものとなっている。格納箇所指示部は、上記ライブラリ装置に対し、上記複数の格納箇所の中から選択された1つの格納箇所を指示することにより、その指示した格納箇所から上記ドライブに記憶媒体を装填させるものである。格納情報取得部は、上記格納箇所指示部が指示した格納箇所の記憶媒体を表した格納媒体情報を取得するものである。選択部は、上記複数の格納箇所の中から1つの格納箇所を、上記格納箇所指示部から上記ライブラリ装置に対して指示させるために選択する選択処理を、次のように繰返し実行するものである。この選択部は、その選択処理を、上記媒体指定情報で指定された記憶媒体と、上記格納媒体情報が表した記憶媒体とが互いに一致するまで、格納箇所を変えながら繰返し実行する。
この応用形態によれば、繰り返し実行される上記の選択処理により、上記媒体指定情報で指定された記憶媒体が格納されている格納箇所を確実にライブラリ装置に指示することができる。
本実施形態では、LDSP実行部220が、この応用形態における格納箇所指示部の一例にも相当している。そして、上記のステップS112の処理が、この応用形態における格納箇所指示部の一例としての動作に相当する。
また、LDSP実行部220は、この応用形態における格納情報取得部の一例にも相当している。そして、上記のステップS113の処理が、この応用形態における格納情報取得部の一例としての動作に相当する。
また、LDSP実行部220は、この応用形態における選択部の一例にも相当している。そして、ステップS114〜S116の処理が、この応用形態における選択部の一例としての動作に相当している。
また、上記装填制御部が格納箇所指示部と格納情報取得部と選択部とを備えた上述の応用形態に対し、以下に説明する応用形態は更に好適である。この応用形態では、上記記憶媒体が、情報を記憶する記憶部と、その記憶部を収めた筐体とを有し、上記記憶部にその記憶媒体を識別する媒体情報が記憶されているものとなっている。また、この応用形態では、上記格納情報取得部が、上記格納箇所指示部が指示した格納箇所から上記ドライブに移動された記憶媒体について次のような処理を実行する。この格納情報取得部は、その移動された記憶媒体の記憶部に記憶されている媒体情報をそのドライブ経由で上記格納媒体情報として取得する。
この応用形態によれば、上記格納媒体情報が、上記ドライブ経由で上記媒体情報を読み取ることで簡単に得られることとなる。
本実施形態では、テープカートリッジ110は、この応用形態における記憶媒体の一例にも相当している。また、本実施形態では、図4および図5に示す磁気テープ111が、この応用形態における記憶部の一例に相当する。また、図4に示すシェル112が、この応用形態における筐体の一例に相当する。
また、本実施形態では、LDSP実行部220は、この応用形態における格納情報取得部の一例にも相当している。そして、上記のステップS113の処理は、この応用形態における格納情報取得部の一例としての動作にも相当している。
以上に説明したLDSP処理で、アクセス対象のテープカートリッジ110が見つかってテープドライブ130に装填されると、その旨が、コマンド変換装置200からホスト装置400に向けて通知される。すると、ホスト装置400が、READ又はWRITEを発行する。また、WRITE発行時には、ホスト装置400は、コマンド発行に続いて、バックアップ情報の送信も行う。
コマンド変換装置200のリードライト実行部230(図8)は、これらのコマンドやバックアップ情報を受けてリードライト処理を実行する。
WRITEとバックアップ情報が送られてきたときには、リードライト実行部230は、装填中のテープカートリッジ110へのバックアップ情報の書込みを指示するコマンドを発行する。また、READが送られてきたときには、リードライト実行部230は、装填中のテープカートリッジ110からのバックアップ情報の読取りを指示するコマンドを発行する。そして、このコマンドに応じてテープライブラリ装置100から送られてくるバックアップ情報を受信すると、リードライト実行部230は、そのバックアップ情報をホスト装置400に送る。このリードライト処理におけるコマンドも、ランダムアクセスタイプ向けのコマンドとなっている。
ここで、リードライト実行部230は、テープドライブ130がバックアップ情報の書込みや読取りを実行している最中に、以下に説明する入れ替え処理を実行する。
図10は、第2実施形態の入れ替え処理を示すフローチャートである。
まず、リードライト実行部230は、この入れ替え処理の開始時点における図7の変数テーブル207からアクセスセル番号Nと指定セル番号nとを読み出し、両者が互いに異なっているか否かを判定する(ステップS121)。この指定セル番号nは、この時点でテープドライブ130に装填されているアクセス対象のテープカートリッジ110が収納されていたセル121のセル番号となっている。つまり、このステップS121では、アクセス対象のテープカートリッジ110が実際に収納されていたセル121が、アクセスセル番号Nのセル121であったか否かが判定される。
変数テーブル207内のアクセスセル番号Nと指定セル番号nとが互いに異なっていた場合(ステップS121におけるYES判定)、次のステップS122の処理が実行されて、この入れ替え処理が終了する。一方、両者が互いに合致する場合(ステップS121におけるNO判定)、ステップS122の処理は省略されて、この入れ替え処理が終了する。
ステップS122では、アクセスセル番号Nで移動元のセル121を指示すると共に指定セル番号nで移動先のセル121を指示するコマンドをリードライト実行部230が発行することにより、その移動元から移動先にテープカートリッジ110が移動される。この結果、現時点でアクセス中のテープカートリッジ110が本来格納されるべき、アクセスセル番号Nのセル121が空けられる。
このリードライト実行部230は、上述の基本形態における移動制御部の一例に相当する。そして、ステップS122の処理が、その基本形態における移動制御部の一例としての動作に相当する。
ここで、本実施形態では、アクセス対象のテープカートリッジ110が格納されるべきセル121を空けるに際し、指定セル番号nのセル121が次のように使われる。即ち、アクセスセル番号Nのセル121に格納されていたテープカートリッジ110の移動先として、指定セル番号nのセル121が使われる。この指定セル番号nのセル121とは、アクセス対象のテープカートリッジ110が実際に格納されていたセル121である。そして、この指定セル番号nのセル121は、アクセス対象のテープカートリッジ110がテープドライブ130にてアクセス中であるために現時点では空いている。このように、アクセス対象のテープカートリッジ110が格納されていたセル121を移動先に利用することで、マガジン120内のセル121が有効に活用されることとなる。
このことは、上述の基本形態に対し、以下に説明する応用形態が好適であることを意味している。この応用形態では、上記移動制御部が、上記格納箇所指定情報で指定された格納箇所から、上記ドライブがアクセスしている記憶媒体が格納されていた格納場所への記憶媒体の移動を指示するものとなっている。
リードライト実行部230は、この応用形態における移動制御部の一例にも相当している。そして、上記のステップS122の処理は、この応用形態における移動制御部の一例としての動作にも相当している。
以上に説明したリードライト処理および入れ替え処理が終了すると、その旨が、コマンド変換装置200からホスト装置400に向けて通知される。すると、ホスト装置400が、UNLOADを発行する。コマンド変換装置200のUNLOAD実行部240は、このUNLOADを受けてUNLOAD処理を実行する。
図11は、第2実施形態のUNLOAD処理を示すフローチャートである。
UNLOAD処理では、まず、UNLOAD実行部240が、図7の変数テーブル207からアクセスセル番号Nを読み出す。
そして、UNLOAD実行部240は、アクセスセル番号Nでセル121を指示するコマンドを発行することにより、テープドライブ130からその指定したセル121にテープカートリッジ110を移動させる(ステップS131)。アクセッサ140は、そのコマンドに応じてアクセス対象のテープカートリッジ110をアクセスセル番号Nのセル121に格納する。
アクセス対象のテープカートリッジ110が、元々アクセスセル番号Nのセル121に格納されていた場合には、このステップS131は、アクセス対象のテープカートリッジ110を単に元のセル121に戻すだけの処理となる。
一方、アクセス対象のテープカートリッジ110がアクセスセル番号Nのセル121とは別のセル121に格納されていた場合には、このステップS131は、テープカートリッジ110を本来のセル121へ格納し直す処理となる。
ステップS131の処理が終了すると、UNLOAD実行部240は、ステップS131で読み出したアクセスセル番号Nに「1」を加算し、その加算後のアクセスセル番号Nを、アクセスセル番号Nの格納欄207aに上書きする(ステップS132)。そして、UNLOAD実行部240は、この上書きを持ってこのUNLOAD処理を終了する。
以上に説明したUNLOAD処理を実行するUNLOAD実行部240が、上述の基本形態における媒体格納制御部の一例に相当する。
以下、上記の図9から図11までの各処理についての説明と若干重複するが、本実施形態において入れ替わりが自動的に補正されるまでの経緯について具体的な入れ替わりの例を使って説明する。
図12は、入れ替わりが自動的に補正されるまでの経緯を示す図である。
この図12には、セル番号「1」〜「4」の4つのセル121に格納された、ボリューム番号「VOL001」〜「VOL004」の4つのテープカートリッジ110について、後述の入れ替わりが自動的に補正される様子が示されている。また、本実施形態では、入れ替わりの補正がアクセスの度に実行される。このため、この図12には、テープカートリッジ110へのアクセスを実行するテープドライブ130も示されている。
まず、この図12の例では、パート(A)に示すように、「VOL001」のテープカートリッジ110と「VOL002」のテープカートリッジ110とについて入れ替わりが生じている。即ち、「VOL001」のテープカートリッジ110は、セル番号「1」のセル121に格納されるべきところ、セル番号「2」のセル121に格納されている。また、「VOL002」のテープカートリッジ110は、セル番号「2」のセル121に格納されるべきところ、セル番号「1」のセル121に格納されている。
このような状態において、まず初回のLDSPの発行に応じ、図9のLDSP処理が実行される。また、この初回のLDSPには、アクセスボリューム番号V1として「VOL001」が添付されている。
すると、図9のステップS112の処理で、図12のパート(B)に示すように、アクセスセル番号「1」のセル121からテープドライブ130へ「VOL002」のテープカートリッジ110が装填される。そして、図9のステップS113およびステップS114の処理で、このテープカートリッジ110からのボリューム番号の読取りと、そのボリューム番号と上記のアクセスボリューム番号V1との比較が行われる。ここでの例では、前者は「VOL002」であり、後者は「VOL001」であるので、両者は不一致と判定される。
その結果、図9のステップS115の処理で、図12のパート(C)に示すように、テープドライブ130に装填されている「VOL002」のテープカートリッジ110が、元のアクセスセル番号「1」のセル121に戻される。
次に、図9のステップS116およびステップS112の処理で、図12のパート(D)に示すように、アクセスセル番号「1」に替えて、セル番号「2」のセル121からテープドライブ130へテープカートリッジ110が装填される。そして、上記と同様の処理を経てこのテープカートリッジ110のボリューム番号「VOL001」の読取りと、上記のアクセスボリューム番号V1との比較が行われる。ここでの例では、この段階で、両者が一致すると判定される。
そして、今度は、READあるいはWRITEの発行に応じリードライト処理が実行される。ここでの例では、このリードライト処理で、図12のパート(E)に示すように、アクセスボリューム番号V1「VOL001」のテープカートリッジ110に対してバックアップ情報の読取りあるいは書込みが実行される。
さらに、リードライト処理と並行して、図10の入れ替え処理が実行される。
この入れ替え処理では、アクセスセル番号Nのセル121に格納されているテープカートリッジ110が、アクセスボリューム番号V1のテープカートリッジ110が格納されていたセル121に移される。ここでの例では、図12のパート(E)に示すように、アクセスセル番号N「1」のセル121に格納されている「VOL002」のテープカートリッジ110が、セル番号「2」のセル121に移される。ここでの例では、この段階で、「VOL002」のテープカートリッジ110について入れ替わりが補正されることとなるが、この段階での補正は必ずしも生じるものではない。一方で、アクセスセル番号Nのセル121に本来格納されるべき、アクセス対象のテープカートリッジ110についての入れ替わりは、後述のようにUNLOADの発行を契機に必ず補正されることとなる。
そして、今度は、UNLOADの発行に応じ、図11のUNLOAD処理が実行される。ここでの例では、このUNLOAD処理で、図12のパート(F)に示すように、テープドライブ130に装填されているアクセスボリューム番号V1「VOL001」のテープカートリッジ110が、アクセスセル番号「1」のセル121に戻される。ここでの例に限らず、この段階では、アクセス対象のテープカートリッジ110について入れ替わりが必ず補正されることとなる。
以上に説明した図12の例では、入れ替わりが、2つのセル121内のテープカートリッジ110が単純に入れ替わっているというものである。そのため、一方のセル121内のテープカートリッジ110をアクセス対象とした上記の処理で、2つのテープカートリッジ110についての入れ替わりが両方とも補正されることとなる。
ただし、入れ替わりが3つ以上のテープカートリッジ110について生じているような場合には、上述したようなテープカートリッジ110の入れ替えが複数回実行されて全ての入れ替わりが補正されることとなる。
いずれにしても、本実施形態のライブラリシステム300によれば、テープカートリッジ110がアクセスされる度に、入れ替わりを自動的に補正することができる。
次に、第3実施形態について説明する。
この第3実施形態は、コマンド変換装置が有するRAM203における上記の変数テーブルを含む記憶内容と、コマンド変換装置の構成と、そのコマンド変換装置で実行される各種処理が上述の第2実施形態と異なっている。以下では、この第3実施形態について、この相違点に注目して説明する。また、ライブラリシステムの全体構成については、図3に示す第2実施形態のライブラリシステム300の全体構成と同等であるので、ここでは図示と重複説明を省略する。尚、以下では、図3〜図6に示す第2実施形態の各構成要素を、本実施形態の各構成要素として参照する。
図13は、第3実施形態のコマンド変換装置が有するRAMにおける変数テーブルを含む記憶内容を示す図である。
この第3実施形態では、RAM203には、カートリッジテープ110のボリューム番号と、セル121のセル番号との対応関係が記録される対応テーブル501と、変数テーブル502とが記憶されている。図13のパート(A)には、対応テーブル501が示され、図13のパート(B)には、変数テーブルが示されている。
対応テーブル501は、ボリューム番号格納欄501aとセル番号格納欄501bとを有している。本実施形態では、セル番号格納欄501bが、マガジン120におけるセル121の数だけ設けられている。そして、各セル番号格納欄501bには、図13に示すようにセル番号が昇順で格納されている。さらに、このセル番号格納欄501bそれぞれに一対一に対応付けられてボリューム番号格納欄501aが設けられている。また、本実施形態では、テープライブラリ装置100にマガジン120が搭載された時点で、図13のパート(A)に示すようにボリューム番号格納欄501aの内容が消去される。
本実施形態の変数テーブル502は、図7に示す第2実施形態の変数テーブル207と同様の以下の格納欄を有している。即ち、図13の変数テーブル502は、アクセスセル番号Nの格納欄502a、アクセスボリューム番号V1の格納欄502c、読取りボリューム番号V2の格納欄502d、および指定セル番号nの格納欄502eを有している。
また、これらの格納欄には、図13に示すように、マガジン120が搭載された時点で、第2実施形態のときと同様の初期値が格納される。即ち、アクセスセル番号Nの格納欄502aには、マガジン120における先頭のセル121のセル番号である「1」が初期値として格納される。指定セル番号nの格納欄502eにも、そのセル番号「1」が初期値として格納される。アクセスボリューム番号V1の格納欄502cには、そのセル番号「1」と一致するボリューム番号である「VOL001」が初期値として格納される。読取りボリューム番号V2の格納欄502dにも、そのボリューム番号「VOL001」が初期値として格納される。
さらに、図13の変数テーブル502は、これらの格納欄に加えて、最下段セル番号Tの格納欄502bと、参照セル番号tの格納欄502fとを有している。
最下段セル番号Tは、上記の対応テーブル501においてボリューム番号格納欄501aにボリューム番号が格納されているセル番号格納欄501bのうち、最下段の格納欄501bに格納されているセル番号である。また、参照セル番号tは、対応テーブル501に格納されているセル番号のうち後述する参照の対象となるセル番号である。
これらの格納欄には、マガジン120が搭載された時点で、次のような初期値が格納される。最下段セル番号Tの格納欄502bには、上記のようにマガジン搭載時点では対応テーブル501のボリューム番号格納欄501aが未記入なので「0」が初期値として格納される。また、参照セル番号tの格納欄502fにも「0」が初期値として格納される。
次に、第3実施形態のコマンド変換装置の機能ブロックについて説明する。
図14は、第3実施形態のコマンド変換装置を示す機能ブロック図である。
このコマンド変換装置500は、初期設定部510と、LDSP実行部520と、リードライト実行部530と、UNLOAD実行部540とを備えている。
本実施形態では、この図14のコマンド変換装置500が、基本形態について示したライブラリ制御装置の具体的な実施形態に相当する。
本実施形態では、LDSP実行部520が、RAM203内の上記の対応テーブル501おけるボリューム番号格納欄501aに、ボリューム番号を、セル番号の昇順に従って順次に記録する機能を有している。また、リードライト実行部530およびUNLOAD実行部540が、その対応テーブル501におけるボリューム番号格納欄501aにおける格納内容を更新する機能を有している。
以下、これらの各構成要素について、ライブラリシステム300で実行されるバックアップ処理の流れに沿って説明する。
まず、テープライブラリ装置100へのマガジン120の格納を受けて、初期設定部510が次のような初期設定処理を実行する。初期設定部510は、図13の対応テーブル501については、上述したように、ボリューム番号格納欄501aの内容を消去する。また、初期設定部510は、図13の変数テーブル502の各格納欄については、その図13に示した各初期値を格納する。本実施形態におけるこの初期設定処理も、上述の第2実施形態における初期設定処理と同様、マガジン120の格納というイベントを受けて実行される割り込み処理となっている。
次に、ホスト装置400がLDSPを発行する。
LDSPが発行されると、そのLDSPを受けて、図14のLDSP実行部520が以下に説明するLDSP処理を実行する。
図15は、第3実施形態のLDSP処理の前半を示すフローチャートである。また、図16は、このLDSP処理の後半を示すフローチャートである。
まず、LDSPに添付されているアクセスボリューム番号V1が、LDSP実行部520によって、図13の変数テーブル502におけるアクセスボリューム番号V1の格納欄502cに上書きされる。さらに、アクセスセル番号Nの格納欄502aに格納されているアクセスセル番号NがLDSP実行部520によって読み出され、そのアクセスセル番号Nが、指定セル番号nの格納欄502eに上書きされる(ステップS211)。
さらに、このステップS211では、変数テーブル502から最下段セル番号Tが読み出され、その最下段セル番号Tの値が、参照セル番号tの格納欄502fに上書きされる。LDSPの初回発行時には、初期値として「0」が格納されている参照セル番号tの格納欄502fに、最下段セル番号Tの初期値「0」が上書きされることとなる。
本実施形態では、LDSP実行部520が、上述の基本形態における指定情報取得部の一例に相当する。そして、このステップS211の処理が、その基本形態における指定情報取得部の一例としての動作に相当する。
そして、ステップS211に続いて、変数テーブル502から参照セル番号tが読み出され、その参照セル番号tが「0」ではないか否か、即ち、対応テーブル501中に参照可能な対応関係が記録されているか否かが判定される(ステップS212)。
ここで、上述したようにLDSPの初回発行時では参照セル番号tが「0」なので、この初回発行時には、その旨の判定結果(ステップS212におけるNO判定)が得られ、ステップS213に処理が進む。
ステップS213では、図14のLDSP実行部520が、変数テーブル502から指定セル番号nを読み出す。そして、LDSP実行部520は、その指定セル番号nでセル121を指定するコマンドを発行することで、テープカートリッジ110をその指定したセル121からテープドライブ130へ装填させる。このステップS213の処理で発行されるコマンドは、ランダムアクセスタイプ向けのコマンドとなっている。
次に、上記の参照セル番号tが、今度は「0」であるか否かが判定される(ステップS214)。このステップS214における判定の意味については、後で詳細に説明する。
上記のステップS212でのNO判定を経てこのステップS214が実行される場合、参照セル番号tは「0」であるので、ここではその旨が判定され(ステップS214におけるYES判定)、ステップS215に処理が進む。
ステップS215では、図14のLDSP実行部520が、テープドライブ130に装填されているテープカートリッジ110からのボリューム番号の読取りを指示するコマンドを発行する。このステップS215の処理で発行されるコマンドも、ランダムアクセスタイプ向けのコマンドとなっている。
さらに、このステップS215の処理では、そのコマンドに応じて読み取られたボリューム番号(読取りボリューム番号V2)が、テープライブラリ装置100からコマンド変換装置500に送られる。そして、LDSP実行部520は、その送られてきた読取りボリューム番号V2を、図13の変数テーブル502における読取りボリューム番号V2の格納欄502dに上書きする。
次に、LDSP実行部520は、上記の変数テーブル502から最下段セル番号Tを読み出し、その最下段セル番号Tに「1」を加算する(ステップS216)。そして、LDSP実行部520は、その加算後の最下段セル番号Tを、変数テーブル502における最下段セル番号Tの格納欄502bに格納する。この「1」の加算により、変数テーブル502中の最下段セル番号Tは、ステップS215でボリューム番号が読み取られたテープカートリッジ110が格納されていたセル121のセル番号と等しくなる。そして、LDSP実行部520は、図13の対応テーブル501における、その加算後の最下段セル番号Tに対応するボリューム番号の格納欄501aに、ステップS214で読み取られた読取りボリューム番号V2を格納する(ステップS217)。つまり、このステップS217によって、図13の対応テーブル501に、その読取りボリューム番号V2とセル番号との対応関係が記録されることとなる。
初回のLDSPについて実行されるLDSP処理で、上記のステップS212でのNO判定を経て上記のステップS216が実行される場合、加算後の最下段セル番号Tは「1」になっている。また、この場合、ステップS215では、「1」に設定された指定セル番号nのセル121内のテープカートリッジ110からボリューム番号が読み取られている。そして、ステップS217では、図13の対応テーブル501に、「1」というセル番号と、その「1」のセル121内のテープカートリッジ110から読み取られた読取りボリューム番号V2とが互いに対応付けられて記録される。
次に、LDSP実行部520は、図13の変数テーブル502中の読取りボリューム番号V2とアクセスボリューム番号V1とが互いに一致しているか否かを確認する(ステップS218)。
テープカートリッジ110の入れ替わりがなく両者が一致した場合(ステップS218におけるYES判定)には、このLDSP処理が終了し、今度は、後述のリードライト処理が実行される。
一方、両者が不一致であった場合(ステップS218におけるNO判定)には、このLDSP処理において、以下に説明する一連の処理によって、アクセスボリューム番号V1のテープカートリッジ110の探索が実行される。
この探索では、まず、図14のLDSP実行部520が、変数テーブル502から指定セル番号nを読み出す。そして、LDSP実行部520は、その読み出した指定セル番号nでセル121を指定するコマンドを発行することにより、テープドライブ130からその指定したセル121にテープカートリッジ110を戻させる(ステップS219)。
次に、LDSP実行部520は、上記のように読み出した指定セル番号nに「1」を加算し、その加算後の指定セル番号nを、変数テーブル502における指定セル番号nの格納欄502eに上書きする(ステップS220)。その後、ステップS213まで処理が戻る。そして、ステップS213からS218までの処理によって、次のセル番号のセル121内のテープカートリッジ110の読取りボリューム番号V2とアクセスボリューム番号V1とが一致するか否かが確認される。また、このときには、そのテープカートリッジ110の読取りボリューム番号V2が、図13に示す対応テーブル501の、その時点の最下段セル番号Tに対応するボリューム番号格納欄501aに格納される。この最下段セル番号Tは、上記のように格納されたボリューム番号のテープカートリッジ110が格納されていたセル121を示す指定セル番号nと等しい。
ここでは、ステップS212〜S220の処理が、図13の変数テーブル502内のアクセスボリューム番号V1と読取りボリューム番号V2とが互いに一致するまで繰返し実行される。本実施形態では、このような処理により、マガジン120内の複数のテープカートリッジ110の中から、アクセスボリューム番号V1のテープカートリッジ110が見つけられる。
また、本実施形態では、この探索で1ずつ増えていく最下段セル番号Tと、各最下段セル番号Tのセル121に格納されていたテープカートリッジ110のボリューム番号との対応関係が、図13の対応テーブル501に順次に記録される。つまり、本実施形態では、セル番号とボリューム番号との対応関係が、対応テーブル501に、セル番号を1ずつ増やしながら順次に記録される。
ここで、例えば、アクセスボリューム番号V1が「VOL001」のテープカートリッジ110が、3番のセル121から見つかったとする。この場合、1番から3番までのセル番号と、1番から3番までの各セル121内のテープカートリッジ110のボリューム番号との合計3つの対応関係が対応テーブル501に記録される。
本実施形態では、このように、アクセスボリューム番号V1のテープカートリッジ110の探索と併せて、図13の対応テーブル501への対応関係の記録が実行される。
ここまで、初回のLDSPに応じて実行されるLDSP処理について説明したが、次に、2回目以降のLDSPに応じて実行されるLDSP処理について説明する。
この2回目以降のLDSPに応じたLDSP処理でも、まず、図15のステップS211で、変数テーブル502における指定セル番号nの格納欄502eへのアクセスセル番号Nの上書きが実行される。また、変数テーブル502における参照セル番号tの格納欄502fへの最下段セル番号Tの値の上書きも実行される。
ここで、2回目以降のLDSPに応じたLDSP処理の実行時には、前回のLDSPに応じたLDSP処理で、上記のように図13の対応テーブル501への記録が実行されている。そして、その記録後には、最下段セル番号Tは、最後に記録された対応関係におけるセル番号となっている。さらに、2回目以降のLDSPに応じたLDSP処理でのステップS211では、参照セル番号tの格納欄502fには、前回のLDSP処理で最後に記録された対応関係におけるセル番号が上書きされる。
このため、2回目以降のLDSPに応じたLDSP処理では、初回のLDSPに応じた上述のLDSP処理とは異なり、ステップS212では、参照セル番号tが「0」ではないと判定される(ステップS212におけるYES判定)。その結果、このLDSP処理では、ステップS221に処理が進む。
このステップS221では、この時点における対応テーブル501から、参照セル番号tに対応するボリューム番号格納欄501aからボリューム番号が読みだされる。そして、その読み出されたボリューム番号が、今回のLDSPに添付され、図13の変数テーブル502に記録されたアクセスボリューム番号V1と一致するか否かが判定される。
両者が不一致の場合(ステップS221におけるNO判定)、変数テーブル502から参照セル番号tが読み出され、その参照セル番号tから「1」が減算される(ステップS222)。そして、その減算後の参照セル番号tが、参照セル番号tの格納欄502fに上書きされる。その後、上記のステップS212とステップS221が繰り返される。
この処理は、対応テーブル501中にアクセスボリューム番号V1と一致するボリューム番号が見つかるか、変数テーブル502中の参照セル番号tが「0」になるか、いずれかの条件が満たされるまで繰返し実行される。
対応テーブル501中にアクセスボリューム番号V1と一致するボリューム番号が見つかった場合(ステップS221におけるYES判定)、指定セル番号nの格納欄502eに、その時点での参照セル番号tの値が上書きされる(ステップS223)。その時点での参照セル番号tは、対応テーブル501中で、今回のLDSPにおけるアクセスボリューム番号V1に対応したセル番号となっている。
そして、このステップS223に続くステップS213の処理で、参照セル番号tに設定された指定セル番号nでセル121を指定するコマンドを発行することで、テープカートリッジ110をその指定したセル121からテープドライブ130へ装填させる。
上記のステップS223を経たステップS214の処理では、参照セル番号tが「0」ではないと判定される(ステップS214におけるNO判定)。また、この場合には、アクセスボリューム番号V1のテープカートリッジ110は、既に見つかってテープドライブ130に装填されている。そのため、このテープカートリッジ110の探索に係るステップS215〜S220までの処理が省略されて、LDSP処理が終了する。
ここで、上記のステップS212とステップS221の繰返しは、参照セル番号tが「0」となり、ステップS212でNO判定が下されて止まることもある。この場合は、対応テーブル501中に、今回のLDSPに添付されたアクセスボリューム番号V1と一致するボリューム番号が存在しないことを意味している。言い替えると、この場合は、対応テーブル501に未記録の対応関係が存在していることを意味している。
この場合には、ステップS214でYES判定が下されるので、ステップS215〜S220が実行されて、テープカートリッジ110の探索と、対応テーブル501への新たな対応関係の追加記録とが実行されることとなる。
本実施形態では、このようなLDSP処理が何回か繰り返されることで、テープライブラリ装置100内に格納されている全てのテープカートリッジ110について、ボリューム番号とセル番号との対応関係が対応テーブル501に記録されることとなる。そして、全てのテープカートリッジ110について対応関係が記録された後は、アクセスボリューム番号V1のテープカートリッジ110の探索は、対応テーブル501のみに基づいて実行されることとなる。
本実施形態では、LDSP実行部520は、上述の基本形態における装填制御部の一例にも相当している。そして、ステップS212〜S220の処理が、その基本形態における装填制御部の一例としての動作に相当する。
このようにアクセスボリューム番号V1のテープカートリッジ110が見つかってテープドライブ130に装填されると、その旨が、コマンド変換装置200からホスト装置400に向けて通知される。すると、ホスト装置400が、READ又はWRITEを発行する。また、WRITE発行時には、ホスト装置400は、コマンド発行に続いて、バックアップ情報の送信も行う。
コマンド変換装置200のリードライト実行部530(図14)は、これらのコマンドやバックアップ情報を受けてリードライト処理を実行する。
WRITEとバックアップ情報が送られてきたときには、リードライト実行部530は、装填中のテープカートリッジ110へのバックアップ情報の書込みを指示するコマンドを発行する。また、READが送られてきたときには、リードライト実行部530は、装填中のテープカートリッジ110からのバックアップ情報の読取りを指示するコマンドを発行する。そして、このコマンドに応じてテープライブラリ装置100から送られてくるバックアップ情報を受信すると、リードライト実行部530は、そのバックアップ情報をホスト装置400に送る。このリードライト処理におけるコマンドも、ランダムアクセスタイプ向けのコマンドとなっている。
ここで、リードライト実行部530は、テープドライブ130がバックアップ情報の書込みや読取りを実行している最中に、以下に説明する入れ替え処理を実行する。
図17は、第3実施形態の入れ替え処理を示すフローチャートである。
まず、リードライト実行部530は、この入れ替え処理の開始時点における図13の変数テーブル502からアクセスセル番号Nと指定セル番号nとを読み出し、両者が互いに異なっているか否かを判定する(ステップS231)。
変数テーブル502内のアクセスセル番号Nと指定セル番号nとが互いに異なっていた場合(ステップS231におけるYES判定)、まず、次のステップS232の処理が実行される。
ステップS232では、アクセスセル番号Nで移動元のセル121を指示すると共に指定セル番号nで移動先のセル121を指定するコマンドをリードライト実行部530が発行することにより、その移動元から移動先にテープカートリッジ110が移動される。尚、このステップS232の時点では、図15のLDSP処理におけるステップS213の実行により、上記の指定セル番号nのセル121は空けられている。そして、このステップS232の処理で、現時点でアクセス中のテープカートリッジ110が本来格納されるべき、アクセスセル番号Nのセル121が空けられる。
本実施形態では、リードライト実行部530が、上述の基本形態における移動制御部の一例に相当する。そして、ステップS232の処理が、その基本形態における移動制御部の一例としての動作に相当する。
さらに、上記の対応テーブル501に記録されている対応関係について、次のような更新が実行される(ステップS233)。
即ち、このステップS233では、対応テーブル501において、アクセスセル番号Nに対応したボリューム番号格納欄501aに記録されていたボリューム番号が、上記の指定セル番号nに対応したボリューム番号格納欄501aに移される。このステップS233の処理で、対応テーブル501において、現時点のアクセスセル番号Nに対応したボリューム番号格納欄501aが空けられる。
上記のステップS231においてYES判定がなされた場合には、上記のステップS233による対応関係の更新の終了を持ってこのリードライト処理が終了する。
一方、上記のステップS231において、アクセスセル番号Nと指定セル番号nとが互いに合致する場合(ステップS231におけるNO判定)、ステップS232とステップS233とが省略されて、このリードライト処理が終了する。
以上に説明したリードライト処理および入れ替え処理が終了すると、その旨が、コマンド変換装置200からホスト装置400に向けて通知される。すると、ホスト装置400が、UNLOADを発行する。コマンド変換装置200のUNLOAD実行部540は、このUNLOADを受けてUNLOAD処理を実行する。
図18は、第3実施形態のUNLOAD処理を示すフローチャートである。
UNLOAD処理では、まず、UNLOAD実行部540が、図13の変数テーブル502からアクセスセル番号Nを読み出す。
そして、UNLOAD実行部240は、アクセスセル番号Nでセル121を指定するコマンドを発行することにより、テープドライブ130からその指定したセル121にテープカートリッジ110を移動させる(ステップS241)。アクセッサ140は、そのコマンドに応じてアクセス対象のテープカートリッジ110をアクセスセル番号Nのセル121に格納する。
アクセス対象のテープカートリッジ110が、元々アクセスセル番号Nのセル121に格納されていた場合には、このステップS241は、アクセス対象のテープカートリッジ110を単に元のセル121に戻すだけの処理となる。
一方、アクセス対象のテープカートリッジ110がアクセスセル番号Nのセル121とは別のセル121に格納されていた場合には、このステップS241は、テープカートリッジ110を本来のセル121へ格納し直す処理となる。
次に、UNLOAD実行部540は、対応テーブル501における対応関係について、次のような更新を実行する(ステップS242)。
このステップS242では、対応テーブル501のアクセスセル番号Nに対応したボリューム番号格納欄501aに、アクセスボリューム番号V1が記録される。
入れ替わりがなく対応テーブル501のアクセスセル番号Nに対応したボリューム番号格納欄501aに既にアクセスボリューム番号V1が記録されていた場合には、このステップS242は単なる上書き処理となる。一方、入れ替わりがあった場合には、図17のステップS233の処理によって、対応テーブル501のアクセスセル番号Nに対応したボリューム番号格納欄501aが空けられている。そして、この場合、図18ステップS242は、このアクセスセル番号Nに対応した正しいボリューム番号格納欄501aにアクセスボリューム番号V1を記録し直す処理となる。
本実施形態では、上記の図17のステップS233での更新と、この図18のステップS242での更新とにより、アクセスボリューム番号V1のテープカートリッジ110についてのボリューム番号とセル番号との対応関係が正しい対応関係に補正される。
ステップS242の処理が終了すると、UNLOAD実行部540は、ステップS241で読み出したアクセスセル番号Nに「1」を加算し、その加算後のアクセスセル番号Nを、アクセスセル番号Nの格納欄502aに上書きする(ステップS243)。そして、UNLOAD実行部540は、この上書きを持ってこのUNLOAD処理を終了する。
以上に説明したUNLOAD処理を実行するUNLOAD実行部540が、上述の基本形態における媒体格納制御部の一例に相当する。
ここで、上記装填制御部が格納箇所指示部と格納情報取得部と選択部とを備えた上述の応用形態に対し、以下に説明する応用形態は更に好適である。この応用形態は、上記装填制御部が、対応記録部と対応更新部と第2の選択部とをさらに備えたものとなっている。対応記録部は、上記格納情報取得部で取得された格納媒体情報が表す記憶媒体と、その記憶媒体が格納されている格納箇所との対応関係を記録するものである。対応更新部は、上記対応記録部で記録された対応関係を、上記移動制御部によって記憶媒体の移動が指示された場合に更新するものである。第2の選択部は、上記媒体指定情報で指定された記憶媒体について上記対応関係が既に記録されている場合に、次のような処理を実行する。第2の選択部は、この場合、上記対応関係が表した格納箇所を、上記選択部に替わって選択することで、その選択した格納箇所を、上記格納箇所指示部から上記ライブラリ装置に対して指示させる。
この応用形態によれば、上記装填制御部において、上記媒体指定情報で指定された記憶媒体について上記対応関係が既に記録されている場合にはその対応関係を使った格納箇所の指示が行われる。これにより、上記装填制御部における処理の効率化が図られることとなる。
本実施形態では、LDSP実行部520は、この応用形態における対応記録部の一例にも相当している。そして、上記のLDSP処理のステップS215〜S217の処理が、この応用形態における対応記録部の一例としての動作に相当する。
また、本実施形態では、LDSP実行部520は、この応用形態における第2の選択部の一例にも相当している。そして、ステップS212〜S220までの処理は、この応用形態における第2の選択部の一例としての動作にも相当している。
また、本実施形態では、リードライト実行部530とULOAD実行部540とを合わせたものが、この応用形態における対応更新部の一例に相当する。そして、図18のステップS233の処理と図19のステップS242の処理とを合わせた処理が、この応用形態における対応更新部の一例としての動作に相当する。
以下、上記の図14から図19までの各処理についての説明と若干重複するが、本実施形態において入れ替わりが自動的に補正されるまでの経緯について具体的な入れ替わりの例を使って説明する。
図19は、入れ替わりが自動的に補正されるまでの経緯のうちの最初からの3分の1を示す図である。また、図20は、この経緯のうちの図19に記載分の続きの3分の1を示す図である。さらに、図21は、この経緯のうちの最後の3分の1を示す図である。
図19〜図21には、セル番号「1」〜「4」の4つのセル121に格納された、ボリューム番号「VOL001」〜「VOL004」の4つのテープカートリッジ110について、後述の入れ替わりが自動的に補正される様子が示されている。また、本実施形態でも、入れ替わりの補正はアクセスの度に実行される。このため、各図には、テープカートリッジ110へのアクセスを実行するテープドライブ130も示されている。さらに、本実施形態では、ボリューム番号とセル番号との対応関係の対応テーブル501への記録や、記録済みの対応関係に基づいた補正が実行される。このため、各図には、対応テーブル501も示されている。
まず、ここでの例では、図19のパート(A)に示すように、ボリューム番号「VOL001」〜「VOL004」の4つのテープカートリッジ110の全てが誤ったセル121に格納されている。
このような状態において、まず初回のLDSPの発行に応じ、図15および図16のLDSP処理が実行される。また、この初回のLDSPには、アクセスボリューム番号V1として「VOL001」が添付されている。
すると、図15のステップS213の処理で、図19のパート(B)に示すように、アクセスセル番号N「1」のセル121に格納されている「VOL003」のテープカートリッジ110がテープドライブ130に装填される。
続いて、図16のステップS215〜S217の処理で、図19のパート(C)に示すように、次のようなボリューム番号とセル番号との対応関係が対応テーブル501に記録される。即ち、この対応関係におけるボリューム番号は、上記のようにテープドライブ130に装填されたテープカートリッジ110から読み取られたボリューム番号「VOL003」である。一方、この対応関係におけるセル番号は、そのテープカートリッジ110が格納されていたセル121のセル番号「1」である。
さらに、図16のステップS218の処理で、読み取られた読取りボリューム番号V2と上記のアクセスボリューム番号V1との比較が行われる。ここでの例では、前者は「VOL003」であり、後者は「VOL001」であるので、両者は不一致と判定される。その結果、図16のステップS219の処理で、このパート(C)に示すように、テープドライブ130に装填されている「VOL003」のテープカートリッジ110が、元のアクセスセル番号N「1」のセル121に戻される。
次に、図16のステップS220および図15のステップS213の処理で、図19のパート(D)に示すように、アクセスセル番号N「1」に替えて、セル番号「2」のセル121に格納されているテープカートリッジ110がテープドライブ130に装填される。
そして、再度、図16のステップS215〜S217の処理が実行される。これにより、図19のパート(E)に示すように、次のような対応関係が対応テーブル501に記録される。この対応関係は、上記のようにテープドライブ130に装填されたテープカートリッジ110から読み取られたボリューム番号「VOL004」と、そのテープカートリッジ110が格納されていたセル121のセル番号「2」との対応関係である。
また、再度、図16のステップS218の処理が実行される。これにより、読取りボリューム番号V2と上記のアクセスボリューム番号V1との比較が行われる。ここでの例では、前者は「VOL004」であり、後者は「VOL001」であるので、両者は不一致と判定される。その結果、図16のステップS219の処理で、このパート(E)に示すように、テープドライブ130に装填されている「VOL004」のテープカートリッジ110が、元のセル番号「2」のセル121に戻される。
次に、図16のステップS220および図15のステップS213の処理で、図20のパート(A)に示すように、セル番号「3」のセル121に格納されているテープカートリッジ110がテープドライブ130に装填される。
そして、再度、図16のステップS215〜S217の処理が実行される。これにより、図20のパート(B)に示すように、ボリューム番号「VOL002」とセル番号「3」との対応関係が対応テーブル501に記録される。また、再度実行される、図16のステップS218の処理では2つのボリューム番号が不一致と判定され、このパート(B)に示すように、テープカートリッジ110が元のセル121に戻される。
次に、図16のステップS220および図15のステップS213の処理で、図20のパート(C)に示すように、セル番号「4」のセル121に格納されているテープカートリッジ110がテープドライブ130に装填される。
そして、再度、図16のステップS215〜S217の処理が実行される。これにより、まず、ボリューム番号「VOL001」とセル番号「4」との対応関係が対応テーブル501に記録される。さらに、再度実行される、図16のステップS218の処理では、今度は、2つのボリューム番号が一致すると判定される。そして、図17のリードライト処理および図18の入れ替え処理が実行される。この入れ替え処理の結果、このパート(D)に示すように、アクセスセル番号N「1」のセル121に格納されている「VOL003」のテープカートリッジ110が、セル番号「4」のセル121に移される。さらに、この入れ替え処理では、パート(D)に示すように、対応テーブル501でアクセスセル番号N「1」に対応する「VOL003」のボリューム番号が、セル番号「4」に対応したボリューム番号格納欄501aに移される。
次に、図19のUNLOAD処理が実行され、図21のパート(A)に示すように、アクセスボリューム番号V1「VOL001」のテープカートリッジ110が、アクセスセル番号N「1」のセル121に戻される。
さらに、このUNLOAD処理では、このパート(A)に示すように、アクセスボリューム番号V1「VOL001」が、対応テーブル501でアクセスセル番号N「1」に対応するボリューム番号格納欄501aに格納される。ここでの例では、この段階で、ボリューム番号「VOL001」のテープカートリッジ110について入れ替わりが補正されることとなる。
続いて、2回目のLDSPの発行に応じ、図15および図16のLDSP処理が再度実行される。また、この2回目のLDSPには、アクセスボリューム番号V1として「VOL002」が添付されている。
この2回目のLDSP処理では、図15のステップS221〜S223の処理で、対応テーブル501中で今回のアクセスボリューム番号V1「VOL002」に対応しているセル番号「3」が見つけ出される。そして、図21のパート(B)に示すように、その見つけ出されたセル番号「3」のセル121に格納されているアクセスボリューム番号V1「VOL002」のテープカートリッジ110がテープドライブ130に装填される。
さらに、図17のリードライト処理および図18の入れ替え処理が再度実行される。
そして、図21のパート(C)に示すように、入れ替え処理で、アクセスセル番号N「2」のセル121内のアクセスボリューム番号V1「VOL004」のテープカートリッジ110が、上記のセル番号「3」のセル121に移される。また、この入れ替え処理で、対応テーブル501でアクセスセル番号N「2」に対応する「VOL004」のボリューム番号が、セル番号「3」に対応したボリューム番号格納欄501aに移される。
そして、図19のUNLOAD処理が再度実行され、図21のパート(D)に示すように、アクセスボリューム番号V1「VOL002」のテープカートリッジ110が、アクセスセル番号N「2」のセル121に戻される。さらに、このUNLOAD処理では、アクセスボリューム番号V1「VOL002」が、対応テーブル501でアクセスセル番号N「2」に対応するボリューム番号格納欄501aに格納される。ここでの例では、この段階で、ボリューム番号「VOL002」のテープカートリッジ110について入れ替わりが補正されることとなる。
続いて実行される3回目のLDSP処理等については説明を省略するが、ここでの例では、この3回目のLDSP処理、リードライト処理、入れ替え処理、およびUNLOAD処理の実行時に、残りの入れ替わりについても補正されることとなる。
以上、説明したように、本実施形態のライブラリシステム300でも、テープカートリッジ110がアクセスされる度に、入れ替わりが自動的に補正される。さらに、本実施形態では、アクセス対象のテープカートリッジ110の探索時に、各セルのセル番号と、実際に格納されているテープカートリッジ110のボリューム番号との対応関係が記録される。そして、本実施形態では、その後のテープカートリッジ110のアクセスや入れ替わりの補正に、既に記録されている対応関係が使われることで処理の効率化が図られている。
次に、第4実施形態について説明する。
この第4実施形態は、コマンド変換装置が有するRAM203における上記の変数テーブルを含む記憶内容と、テープライブラリ装置の構成、コマンド変換装置の構成、および、コマンド変換装置で実行される各種処理が上述の第2実施形態と異なっている。以下では、この第4実施形態について、この相違点に注目して説明する。また、ライブラリシステムの全体構成については、図3に示す第2実施形態のライブラリシステム300の全体構成と同等であるので、ここでは図示と重複説明を省略する。尚、以下では、図3〜図6に示す第2実施形態の各構成要素を、本実施形態の各構成要素として参照する。
図22は、第4実施形態のコマンド変換装置が有するRAMにおける変数テーブルを含む記憶内容を示す図である。
この第4実施形態では、RAM203には、カートリッジテープ610のボリューム番号と、セル121のセル番号との対応関係が記録される対応テーブル701と、変数テーブル702とが記憶されている。図22のパート(A)には、対応テーブル701が示され、図22のパート(B)には、変数テーブル702が示されている。
対応テーブル701は、ボリューム番号格納欄701aとセル番号格納欄701bとを有している。セル番号格納欄701bは、マガジン120におけるセル121の数だけ設けられている。そして、各セル番号格納欄701bには、図22に示すようにセル番号が昇順で格納されている。さらに、このセル番号格納欄701bそれぞれに一対一に対応付けられてボリューム番号格納欄701aが設けられている。
また、本実施形態では、テープライブラリ装置100にマガジン120が搭載された時点で、後述の初期設定処理により、全てのセル番号に対応するボリューム番号が各ボリューム番号格納欄701aに格納される。
本実施形態の変数テーブル702は、図7に示す第2実施形態の変数テーブル207と同様の以下の格納欄を有している。即ち、図22の変数テーブル702は、アクセスセル番号Nの格納欄702a、アクセスボリューム番号V1の格納欄702b、および指定セル番号nの格納欄702cを有している。
また、これらの格納欄には、図22に示すように、マガジン120が搭載された時点で、第2実施形態のときと同様の初期値が格納される。
さらに、図22の変数テーブル702は、これらの格納欄に加えて、参照セル番号tの格納欄702dを有している。この参照セル番号tは、対応テーブル701に格納されているセル番号のうち後述する参照の対象となるセル番号である。この参照セル番号tの格納欄702dには、マガジン120が搭載された時点で、「0」が初期値として格納される。
次に、第4実施形態のコマンド変換装置の機能ブロックについて説明する。
図23は、第4実施形態のライブラリシステムを示す機能ブロック図である。
この図23には、第4実施形態のライブラリシステム800が備えているテープライブラリ装置600が、図3の第2実施形態のライブラリシステム300が備えているテープライブラリ装置100との相違点に注目して示されている。
本実施形態では、図23のコマンド変換装置700が、基本形態について示したライブラリ制御装置の具体的な実施形態に相当する。また、本実施形態では、図23のライブラリシステム800が、基本形態について示したライブラリシステムの具体的な実施形態に相当する。さらに、本実施形態では、図23のテープライブラリ装置600が、上述の基本形態におけるライブラリ装置の一例に相当する。
本実施形態では、テープライブラリ装置600でセル121に格納されるテープカートリッジ610の表面に、そのテープカートリッジ610のボリューム番号を表わすバーコードが印刷されたバーコードラベル611が貼付されている。
図24は、第4実施形態におけるテープカートリッジの外観斜視図である。
この図24には、テープカートリッジ610が、バーコードラベル611を紙面手前側に向けた斜視図で示されている。
このテープカートリッジ610は、図4と図5を参照して説明した第2実施形態のテープカートリッジ110と同様の外観と構造を有している。即ち、図24のテープカートリッジ610も、矩形状のシェル612の内部に、リールに巻き付けられた磁気テープが収納された構造となっている。ただし、この図24のテープカートリッジ610では、内部の磁気テープにはボリューム番号は記録されておらず、バーコードラベル611にボリューム番号がバーコードとして記録されている。
そして、本実施形態では、図23に示すように、テープライブラリ装置600のアクセッサ140に、上記のバーコードラベル611のバーコードを読み取るためのバーコードリーダ620が取付けられている。
尚、本実施形態のテープライブラリ装置600は、テープドライブ等といった、上記のバーコードラベル611とバーコードリーダ620以外の構成については、図3のテープライブラリ装置100と同等である。以下では、本実施形態のテープライブラリ装置600について、この図3のテープライブラリ装置100との同等な構成については重複説明を省略する。そして、以下では、図3のテープライブラリ装置100におけるそれら同等な構成要素を、本実施形態のテープライブラリ装置600の構成要素として参照する。
本実施形態のコマンド変換装置700は、初期設定部710と、LDSP実行部720と、リードライト実行部730と、UNLOAD実行部740とを備えている。
本実施形態では、初期設定部710が、図22に示す対応テーブル701におけるボリューム番号格納欄701aに、ボリューム番号を記録する機能を有している。また、リードライト実行部730およびUNLOAD実行部740が、その対応テーブル710におけるボリューム番号格納欄701aにおける格納内容を更新する機能を有している。
以下、これらの各構成要素について、ライブラリシステム800で実行されるバックアップ処理の流れに沿って説明する。
まず、テープライブラリ装置600へのマガジン120の格納を受けて、図23の初期設定部710が以下に説明する初期設定処理を実行する。
図25は、第4実施形態の初期設定処理を示すフローチャートである。
本実施形態では、マガジン120の格納を受けて、まず、初期設定部710が、上記の変数テーブル702に図22に示す各初期値を格納する初期設定処理を実行する。(ステップS311)。
次に、初期設定部710は、テープライブラリ装置600に対して、バーコードリーダ620による全てのテープカートリッジ610のバーコードの読取りを指示するコマンドを発行する(ステップS312)。そして、このステップS312の処理では、このコマンドに応じた読取り結果がテープライブラリ装置600からコマンド変換装置700に送られる。この読取り結果は、コマンド変換装置700の初期設定部710で受け取られる。これにより、初期設定部710は、各テープカートリッジ610のボリューム番号を得る。さらに、初期設定部710は、各ボリューム番号を、上記の対応テーブル701において、各ボリューム番号のテープカートリッジ610が格納されていたセル121のセル番号に対応するボリューム番号格納欄701aに記録する。
本実施形態では、このステップS312の処理により、テープライブラリ装置600内の全てのテープカートリッジ610について、ボリューム番号とセル番号との対応関係が、対応テーブル701に記録されることとなる。
本実施形態では、初期設定処理は、この対応テーブル701への、全てのテープカートリッジ610についての対応関係の記録もって終了する。
次に、ホスト装置400がLDSPを発行すると、そのLDSPを受けて、図23のLDSP実行部720が以下に説明するLDSP処理を実行する。
図26は、第4実施形態のLDSP処理を示すフローチャートである。
まず、LDSP実行部720で、LDSPに添付されているアクセスボリューム番号V1が、LDSP実行部720によって、図22の変数テーブル702におけるアクセスボリューム番号V1の格納欄702bに上書きされる(ステップS321)。さらに、このステップS321の処理では、上記の変数テーブル702における参照セル番号tの格納欄702dに最上段のセル番号である「1」が上書きされる。
本実施形態では、LDSP実行部720が、上述の基本形態における指定情報取得部の一例に相当する。そして、ステップS321の処理が、その基本形態における指定情報取得部の一例としての動作に相当する。
次に、LDSP実行部720は、変数テーブル702から参照セル番号tとアクセスボリューム番号V1を読み出す。そして、この時点における対応テーブル701でその参照セル番号tに対応しているボリューム番号がアクセスボリューム番号V1と一致するか否かが判定される(ステップS322)。
両者が不一致の場合(ステップS322におけるNO判定)、ステップS322で読み出された参照セル番号tに「1」が加算され、加算後の参照セル番号tが変数テーブル702における参照セル番号tの格納欄702dに上書きされる(ステップS323)。そして、このステップS322の処理が、対応テーブル701中にアクセスボリューム番号V1と一致するボリューム番号が見つかるまで繰返し実行される。
対応テーブル701中にアクセスボリューム番号V1と一致するボリューム番号が見つかると(ステップS322におけるYES判定)、指定セル番号nの格納欄702cに、その時点での参照セル番号tの値が上書きされる(ステップS324)。その時点での参照セル番号tは、対応テーブル701中で、今回のLDSPにおけるアクセスボリューム番号V1に対応したセル番号となっている。
次に、LDSP実行部720が、変数テーブル702から指定セル番号nを読み出す。そして、LDSP実行部720は、その指定セル番号nでセル121を指定するコマンドを発行することで、テープカートリッジ610をその指定したセル121からテープドライブ130へ装填させる(ステップS325)。
本実施形態では、LDSP実行部720は、上述の基本形態における装填制御部の一例にも相当している。そして、ステップS322〜S325の処理が、その基本形態における装填制御部の一例としての動作に相当する。
以上に説明したLDSP処理により、アクセスボリューム番号V1のテープカートリッジ610が見つかってテープドライブ130に装填されると、その旨が、コマンド変換装置700からホスト装置400に向けて通知される。すると、ホスト装置400が、READ又はWRITEを発行する。また、WRITE発行時には、ホスト装置400は、コマンド発行に続いて、バックアップ情報の送信も行う。
コマンド変換装置700のリードライト実行部730(図23)は、これらのコマンドやバックアップ情報を受けてリードライト処理を実行する。
WRITEとバックアップ情報が送られてきたときには、リードライト実行部730は、装填中のテープカートリッジ610へのバックアップ情報の書込みを指示するコマンドを発行する。また、READが送られてきたときには、リードライト実行部730は、装填中のテープカートリッジ610からのバックアップ情報の読取りを指示するコマンドを発行する。そして、このコマンドに応じてテープライブラリ装置600から送られてくるバックアップ情報を受信すると、リードライト実行部730は、そのバックアップ情報をホスト装置400に送る。これらのコマンドも、ランダムアクセスタイプ向けのコマンドとなっている。
ここで、リードライト実行部730は、テープドライブ130がバックアップ情報の書込みや読取りを実行している最中に、以下に説明する入れ替え処理を実行する。
図27は、第4実施形態の入れ替え処理を示すフローチャートである。
まず、リードライト実行部730は、上記の変数テーブル702からアクセスセル番号Nと指定セル番号nとを読み出し、両者が互いに異なっているか否かを判定する(ステップS341)。
アクセスセル番号Nと指定セル番号nとが互いに異なっていた場合(ステップS341におけるYES判定)、まず、次のステップS342の処理が実行される。
ステップS342では、アクセスセル番号Nで移動元のセル121を指示すると共に指定セル番号nで移動先のセル121を指定するコマンドをリードライト実行部730が発行することにより、その移動元から移動先にテープカートリッジ610が移動される。この結果、現時点でアクセス中のアクセス対象のテープカートリッジ610が本来格納されるべき、アクセスセル番号Nのセル121が空けられる。
本実施形態では、リードライト実行部730が、上述の基本形態における移動制御部の一例に相当する。そして、ステップS342の処理が、その基本形態における移動制御部の一例としての動作に相当する。
さらに、上記の対応テーブル701に記録されている対応関係について、次のような更新が実行される(ステップS343)。
即ち、このステップS343では、対応テーブル701において、アクセスセル番号Nに対応したボリューム番号格納欄701aに記録されていたボリューム番号が、上記の指定セル番号nに対応したボリューム番号格納欄701aに移される。
このステップS343の処理で、対応テーブル701において、現時点でアクセス中のアクセス対象のテープカートリッジ610が本来格納されるべき、アクセスセル番号Nに対応したボリューム番号格納欄701aが空けられる。
上記のステップS341においてYES判定がなされた場合には、上記のステップS343による対応関係の更新の終了を持ってこのリードライト処理が終了する。
一方、上記のステップS341において、アクセスセル番号Nと指定セル番号nとが互いに合致すると判定された場合(ステップS341におけるNO判定)、ステップS342とステップS343とが省略されて、この入れ替え処理が終了する。
以上に説明したリードライト処理および入れ替え処理が終了すると、その旨が、コマンド変換装置700からホスト装置400に向けて通知される。すると、ホスト装置400が、UNLOADを発行する。コマンド変換装置700のUNLOAD実行部740は、このUNLOADを受けてUNLOAD処理を実行する。
図28は、第4実施形態のUNLOAD処理を示すフローチャートである。
UNLOAD処理では、まず、UNLOAD実行部740が、図22の変数テーブル702からアクセスセル番号Nを読み出す。
そして、UNLOAD実行部740は、アクセスセル番号Nでセル121を指示するコマンドを発行することにより、テープドライブ130からその指定したセル121にテープカートリッジ610を移動させる(ステップS351)。そして、アクセッサ140が、そのコマンドに応じてアクセス対象のテープカートリッジ610をアクセスセル番号Nのセル121に格納する。
アクセス対象のテープカートリッジ610が、元々アクセスセル番号Nのセル121に格納されていた場合には、このステップS351は、アクセス対象のテープカートリッジ610を単に元のセル121に戻すだけの処理となる。
一方、アクセス対象のテープカートリッジ610がアクセスセル番号Nのセル121とは別のセル121に格納されていた場合には、このステップS351は、本来のセル121へ格納し直す処理となる。
次に、UNLOAD実行部740は、対応テーブル701における対応関係について、次のような更新を実行する(ステップS352)。
このステップS352では、対応テーブル701のアクセスセル番号Nに対応したボリューム番号格納欄701aに、アクセスボリューム番号V1が記録される。
入れ替わりがなく対応テーブル701のアクセスセル番号Nに対応したボリューム番号格納欄701aに既にアクセスボリューム番号V1が記録されていた場合には、このステップS352は単なる上書き処理となる。一方、入れ替わりがあった場合には、図27のステップS343の処理によって、対応テーブル701のアクセスセル番号Nに対応したボリューム番号格納欄701aが空けられている。そして、この場合、このステップS352は、このアクセスセル番号Nに対応した正しいボリューム番号格納欄701aにアクセスボリューム番号V1を記録し直す処理となる。
本実施形態では、上記の図27のステップS343での更新と、この図28のステップS352での更新とにより、アクセスボリューム番号V1のテープカートリッジ610についてのボリューム番号とセル番号との対応関係が正しい対応関係に補正される。
ステップS352の処理が終了すると、UNLOAD実行部740は、ステップS351で読み出したアクセスセル番号Nに「1」を加算し、その加算後のアクセスセル番号Nを、アクセスセル番号Nの格納欄702aに上書きする(ステップS353)。そして、UNLOAD実行部540は、この上書きを持ってこのUNLOAD処理を終了する。
以上に説明したUNLOAD処理を実行するUNLOAD実行部740が、上述の基本形態における媒体格納制御部の一例に相当する。
ここで、上述の基本形態に対し、以下に説明する応用形態は好適である。この応用形態では、上記記憶媒体が、情報を記憶する記憶部と、その記憶部を収めた筐体とを有し、その筐体の表面にその記憶媒体を識別する媒体情報が記録されているものとなっている。また、このこの応用形態では、上記ライブラリ装置が、上記記憶媒体の筐体の表面から媒体情報を読み取る読取器を備えたものとなっている。そして、この応用形態は、対応関係取得部と第2の対応記録部と第2の対応更新部とを備えている。対応関係取得部は、上記ライブラリ装置に対し上記読取器による上記媒体情報の読取りを指示することでその読取器にその媒体情報を読み取らせる。そして、この対応関係取得部は、その読み取らせた媒体情報が表わす記憶媒体と、その記憶媒体が格納されている格納箇所との対応関係を得る。第2の対応記録部は、上記対応関係取得部で取得された対応関係を記録するものである。第2の対応更新部は、上記第2の対応記録部で記録された対応関係を、上記移動制御部によって記憶媒体の移動が指示された場合に更新するものである。さらに、この応用形態では、上記装填制御部が、次のような格納箇所を上記ライブラリ装置に指示するものとなっている。この装填制御部は、上記第2の対応記録部で記録された対応関係のうち、上記媒体指定情報で指定された記憶媒体についての対応関係が表わした格納箇所を指示する。
この応用形態によれば、上記読取器による上記媒体情報の読取りにより上記対応関係が簡単に得られる。そして、上記装填制御部において、上記媒体指定情報で指定された記憶媒体について上記対応関係を使った格納箇所の指示が行われる。これにより、上記装填制御部における処理の効率化が図られることとなる。
本実施形態では、図24に示すテープカートリッジ610が、この応用形態における記憶媒体の一例に相当する。また、本実施形態では、この図24に示すシェル612が、この応用形態における「表面にその記憶媒体を識別する媒体情報が記録されている」筐体の一例に相当する。また、本実施形態では、図23に示すバーコードリーダ620が、この応用形態における読取器の一例に相当する。
また、本実施形態では、上記の初期設定部710が、この応用形態における対応関係取得部と第2の対応記録部とを兼ねた一例に相当する。また、図25に示す初期設定処理におけるステップS312の処理が、この応用形態における対応関係取得部と第2の対応記録部とを兼ねた一例としての動作に相当している。
また、本実施形態では、上記のリードライト実行部730とUNLOAD実行部740とを合わせたものが、この応用形態における第2の対応更新部の一例に相当する。また、図27に示すステップS343の処理と図28に示すステップS352の処理とを合わせた処理が、この応用形態における第2の対応更新部の一例としての動作に相当している。
さらに、本実施形態では、上記のLDSP実行部720は、この応用形態における装填制御部の一例にも相当している。また、図27に示すLDSP処理が、この応用形態における装填制御部の一例としての動作に相当している。
以下、上記の図24から図28までの各処理についての説明と若干重複するが、本実施形態において入れ替わりが自動的に補正されるまでの経緯について具体的な入れ替わりの例を使って説明する。
図29は、入れ替わりが自動的に補正されるまでの経緯のうちの前半を示す図である。また、図30は、この経緯のうちの後半を示す図である。
図29および図30には、セル番号「1」〜「4」の4つのセル121に格納された、ボリューム番号「VOL001」〜「VOL004」の4つのテープカートリッジ610について、後述の入れ替わりが自動的に補正される様子が示されている。また、本実施形態でも、入れ替わりの補正がアクセスの度に実行される。このため、各図には、テープカートリッジ610へのアクセスを実行するテープドライブ130も示されている。さらに、本実施形態では、ボリューム番号とセル番号との対応関係の対応テーブル701への記録や、記録済みの対応関係に基づいた補正が実行される。このため、各図には、対応テーブル701も示されている。
まず、ここでの例では、図29のパート(A)に示すように、ボリューム番号「VOL001」〜「VOL004」の4つのテープカートリッジ610の全てが、セル番号「1」〜「4」の4つのセル121のうちの誤ったセル121に格納されている。
そして、上記の初期設定処理において、このような入れ替わりそのままの状態について、ボリューム番号とセル番号との対応関係が、このパート(A)に示すように、4つのテープカートリッジ610の全てについて対応テーブル701に記録される。
そして、初回のLDSPの発行に応じ、図26のLDSP処理が実行される。また、この初回のLDSPには、アクセスボリューム番号V1として「VOL001」が添付されている。
この初回のLDSP処理では、図26のステップS322〜S325の処理で、対応テーブル701中で今回のアクセスボリューム番号V1「VOL001」に対応しているセル番号「4」が見つけ出される。そして、図29のパート(B)に示すように、その見つけ出されたセル番号「4」に格納されているアクセスボリューム番号V1「VOL001」のテープカートリッジ610がテープドライブ130に装填される。
さらに、図26のリードライト処理および図27の入れ替え処理が実行される。そして、図29のパート(C)に示すように、入れ替え処理で、アクセスセル番号「1」のセル121内のボリューム番号「VOL003」のテープカートリッジ610が、上記のセル番号「4」のセル121に移される。
また、このパート(C)に示すように、入れ替え処理で、対応テーブル701でアクセスセル番号「1」に対応する「VOL003」のボリューム番号が、セル番号「4」に対応したボリューム番号格納欄701aに移される。
そして、図28のUNLOAD処理が実行され、図29のパート(D)に示すように、アクセスボリューム番号V1「VOL001」のテープカートリッジ610が、アクセスセル番号「1」のセル121に戻される。
さらに、このUNLOAD処理では、このパート(D)に示すように、アクセスボリューム番号V1「VOL001」が、対応テーブル701でアクセスセル番号「1」に対応するボリューム番号格納欄701aに格納される。ここでの例では、この段階で、ボリューム番号「VOL001」のテープカートリッジ610について入れ替わりが補正されることとなる。
続いて実行される2回目のLDSP処理では、対応テーブル701中で今回のアクセスボリューム番号V1「VOL002」に対応しているセル番号「3」が見つけ出される。そして、図30のパート(A)に示すように、その見つけ出されたセル番号「3」に格納されているアクセスボリューム番号V1「VOL002」のテープカートリッジ610がテープドライブ130に装填される。
次に、リードライト処理および入れ替え処理が再度実行される。
そして、図30のパート(B)に示すように、入れ替え処理で、アクセスセル番号「2」のセル121内のボリューム番号「VOL004」のテープカートリッジ610が、上記のセル番号「3」のセル121に移される。
また、このパート(B)に示すように、入れ替え処理で、対応テーブル701でアクセスセル番号「2」に対応するボリューム番号「VOL004」が、セル番号「3」に対応したボリューム番号格納欄701aに移される。
そして、UNLOAD処理が再度実行され、図30のパート(C)に示すように、アクセスボリューム番号V1「VOL002」のテープカートリッジ610が、アクセスセル番号「2」のセル121に戻される。さらに、このパート(C)に示すように、アクセスボリューム番号V1「VOL002」が、対応テーブル701でアクセスセル番号「2」に対応するボリューム番号格納欄701aに記録される。ここでの例では、この段階で、ボリューム番号「VOL002」のテープカートリッジ610について入れ替わりが補正されることとなる。
続いて実行される3回目のLDSP処理等については説明を省略するが、ここでの例では、この3回目のLDSP処理、リードライト処理、入れ替え処理、およびUNLOAD処理の実行時に、残りの入れ替わりについても補正されることとなる。
以上、説明したように、本実施形態のライブラリシステム800でも、テープカートリッジ610がアクセスされる度に、入れ替わりが自動的に補正される。さらに、本実施形態では、初期設定処理において、ボリューム番号とセル番号との対応関係が、全てのテープカートリッジ610について対応テーブル701に記録される。そして、本実施形態では、テープカートリッジ110のアクセスや入れ替わりの補正に、その対応テーブル701内の対応関係が使われることで処理の効率化が図られている。
尚、上記では、上述の基本形態におけるライブラリ装置の一例として、記憶媒体としてカートリッジテープを用いるテープライブラリ装置を例示したが、上述の基本形態におけるライブラリ装置はこれに限るものではない。上述の基本形態におけるライブラリ装置は、例えば、記憶媒体としてDVD(Digital Versatile Disc)やMO(Magneto Optical)等を用いるものであっても良い。
また、上記では、上述の基本形態における格納箇所指定情報や媒体指定情報の一例として、セル番号やボリューム番号等といった番号を例示したが、上述の基本形態における格納箇所指定情報や媒体指定情報は番号に限るものではない。上述の基本形態における格納箇所指定情報や媒体指定情報は、例えばアルファベット等の記号であっても良い。
また、上記では、上述の基本形態における移動制御部で指示される「格納箇所指定情報で指定された格納箇所に格納されている記憶媒体」の新たな格納箇所の一例として、アクセス対象のテープカートリッジが格納されていたセルを例示した。しかしながら、「格納箇所指定情報で指定された格納箇所に格納されている記憶媒体」の新たな格納箇所は、これに限るものではない。この新たな格納箇所は、例えば、予め、このような記憶媒体の一時的な退避先として用意された格納箇所等であっても良い。
また、上記では、記憶媒体の表面に記録された媒体情報を読み取る読取器を備えたという応用形態における記憶媒体と読取器の各一例として、それぞれバーコードラベル611が貼付された記憶媒体(テープカートリッジ)とバーコードリーダ620を例示した。しかしながら、この応用形態における記憶媒体と読取器はこれらに限るものではなく、例えばQR(Quick Response)コードのラベルが貼付された記憶媒体とQRコードリーダ等であっても良い。
以下、上述した基本形態を含む種々の形態に関し、更に以下の付記を開示する。
(付記1)
記憶媒体が格納される格納箇所を複数有した格納棚と、該記憶媒体が装填されて該記憶媒体をアクセスするドライブと、該格納棚の格納箇所および該ドライブの装填箇所を含んだ各移動箇所に該記憶媒体を移動可能な移動機構とを備えたライブラリ装置を制御するライブラリ制御装置であって、
前記ライブラリ装置におけるアクセス対象となる記憶媒体を指定した媒体指定情報と、前記移動機構による記憶媒体の移動における移動元を示す格納箇所指定情報とを取得する指定情報取得部と、
前記ライブラリ装置に対して、前記媒体指定情報で指定された記憶媒体の格納箇所を少なくとも結果的には指示することにより、該媒体指定情報で指定された記憶媒体を前記ドライブに装填させる装填制御部と、
前記装填制御部が前記ライブラリ装置に指示した格納箇所と、前記格納箇所指定情報で指定された格納箇所とが互いに異なっていた場合、前記媒体指定情報で指定された記憶媒体を前記ドライブがアクセスしている最中に、前記ライブラリ装置に対し、前記移動機構による、該格納箇所指定情報で指定された格納箇所から、該格納箇所指定情報で指定された格納箇所とは異なる格納箇所への記憶媒体の移動を指示する移動制御部と、
前記媒体指定情報で指定された記憶媒体が前記ドライブに装填されていて該記憶媒体を前記格納棚に移動させる場合に、前記ライブラリ装置に対し、前記移動機構による該記憶媒体の、前記格納箇所指定情報で指定された格納箇所への格納を指示する媒体格納制御部とを備えたことを特徴とするライブラリ制御装置。
(付記2)
前記移動制御部が、前記格納箇所指定情報で指定された格納箇所から、前記ドライブがアクセスしている記憶媒体が格納されていた格納場所への記憶媒体の移動を指示するものであることを特徴とする付記1記載のライブラリ制御装置。
(付記3)
前記装填制御部が、
前記ライブラリ装置に対し、前記複数の格納箇所の中から選択された1つの格納箇所を指示することにより、その指示した格納箇所から前記ドライブに記憶媒体を装填させる格納箇所指示部と、
前記格納箇所指示部が指示した格納箇所の記憶媒体を表した格納媒体情報を取得する格納情報取得部と、
前記複数の格納箇所の中から1つの格納箇所を、前記格納箇所指示部から前記ライブラリ装置に対して指示させるために選択する選択処理を、前記媒体指定情報で指定された記憶媒体と、前記格納媒体情報が表した記憶媒体とが互いに一致するまで、格納箇所を変えながら繰返し実行する選択部とを備えたものであることを特徴とする付記1又は2記載のライブラリ制御装置。
(付記4)
前記記憶媒体が、情報を記憶する記憶部と、該記憶部を収めた筐体とを有し、前記記憶部に該記憶媒体を識別する媒体情報が記憶されているものであり、
前記格納情報取得部が、指示部での格納箇所の指示によって、前記ドライブに移動された記憶媒体の記憶部に記憶されている媒体情報を該ドライブ経由で前記格納媒体情報として取得するものであることを特徴とする付記3記載のライブラリ制御装置。
(付記5)
前記装填制御部が、
前記格納情報取得部で取得された格納媒体情報が表す記憶媒体と、該記憶媒体が格納されている格納箇所との対応関係を記録する対応記録部と、
前記対応記録部で記録された対応関係を、前記移動制御部によって記憶媒体の移動が指示された場合に更新する対応更新部と、
前記媒体指定情報で指定された記憶媒体について前記対応関係が既に記録されている場合に、該対応関係が表した格納箇所を、前記選択部に替わって選択することで、その選択した格納箇所を、前記格納箇所指示部から前記ライブラリ装置に対して指示させる第2の選択部とをさらに備えたものであることを特徴とする付記3又は4記載のライブラリ制御装置。
(付記6)
前記記憶媒体が、情報を記憶する記憶部と、該記憶部を収めた筐体とを有し、該筐体の表面に該記憶媒体を識別する媒体情報が記録されているものであり、
前記ライブラリ装置が、前記記憶媒体の筐体の表面から媒体情報を読み取る読取器を備えたものであり、
前記ライブラリ装置に対し前記読取器による前記媒体情報の読取りを指示することで該読取器に該媒体情報を読み取らせ、その読み取らせた媒体情報が表わす記憶媒体と、該記憶媒体が格納されている格納箇所との対応関係を得る対応関係取得部と、
前記対応関係取得部で取得された対応関係を記録する第2の対応記録部と、
前記第2の対応記録部で記録された対応関係を、前記移動制御部によって記憶媒体の移動が指示された場合に更新する第2の対応更新部とを備え、
前記装填制御部が、前記第2の対応記録部で記録された対応関係のうち、前記媒体指定情報で指定された記憶媒体についての対応関係が表わした格納箇所を前記ライブラリ装置に指示するものであることを特徴とする付記1又は2記載のライブラリ制御装置。
(付記7)
記憶媒体が格納される格納箇所を複数有した格納棚と、該記憶媒体が装填されて該記憶媒体をアクセスするドライブと、該格納棚の格納箇所および該ドライブの装填箇所を含んだ各移動箇所に該記憶媒体を移動可能な移動機構とを備えたライブラリ装置と、
前記ライブラリ装置におけるアクセス対象となる記憶媒体を指定した媒体指定情報と、による記憶媒体の移動における移動元を示す格納箇所指定情報とを取得する指定情報取得部と、前記ライブラリ装置に対して、前記媒体指定情報で指定された記憶媒体の格納箇所を少なくとも結果的には指示することにより、該媒体指定情報で指定された記憶媒体を前記ドライブに装填させる装填制御部と、該装填制御部が前記ライブラリ装置に指示した格納箇所と、前記格納箇所指定情報で指定された格納箇所とが互いに異なっていた場合、前記媒体指定情報で指定された記憶媒体を前記ドライブがアクセスしている最中に、前記ライブラリ装置に対し、前記移動機構による、該格納箇所指定情報で指定された格納箇所から、該格納箇所指定情報で指定された格納箇所とは異なる格納箇所への記憶媒体の移動を指示する移動制御部と、前記媒体指定情報で指定された記憶媒体が前記ドライブに装填されていて該記憶媒体を前記格納棚に移動させる場合に、前記ライブラリ装置に対し、前記移動機構による該記憶媒体の、前記格納箇所指定情報で指定された格納箇所への格納を指示する媒体格納制御部とを有したライブラリ制御装置とを備えたことを特徴とするライブラリシステム。