JP2007052812A - 自動化されたデータ・ストレージ・ライブラリにおけるデータ・ストレージ・ドライブ - Google Patents

自動化されたデータ・ストレージ・ライブラリにおけるデータ・ストレージ・ドライブ Download PDF

Info

Publication number
JP2007052812A
JP2007052812A JP2006291201A JP2006291201A JP2007052812A JP 2007052812 A JP2007052812 A JP 2007052812A JP 2006291201 A JP2006291201 A JP 2006291201A JP 2006291201 A JP2006291201 A JP 2006291201A JP 2007052812 A JP2007052812 A JP 2007052812A
Authority
JP
Japan
Prior art keywords
data storage
drive
virtual
host application
library
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.)
Granted
Application number
JP2006291201A
Other languages
English (en)
Other versions
JP4516948B2 (ja
Inventor
Robert Beverley Basham
バシャム、ロバート、ベバリー
Kirby Grant Dahman
ダーマン、カービー、グラント
Iii Kenneth Fairclough Day
デイ、サード、ケネス、フェアクラフ
Leonard George Jesionowski
イエシオノウスキー、レナード、ジョージ
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
Priority claimed from US09/948,656 external-priority patent/US6519678B1/en
Priority claimed from US09/948,627 external-priority patent/US6636778B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007052812A publication Critical patent/JP2007052812A/ja
Application granted granted Critical
Publication of JP4516948B2 publication Critical patent/JP4516948B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Automatic Disk Changers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Automatic Tape Cassette Changers (AREA)

Abstract

【課題】共用要素を効率的な仕方で使用する自動化データ・ストレージ・ライブラリ・システムの提供。
【解決手段】ドライブ・リソース・プロバイダが、プールのドライブのすべてが割振り済みであるときにドライブの要求を受け取ると、その要求に関連する可搬データ・ストレージ・カートリッジのマウントを一切、保留し、ドライブが割り振られた場合にその保留を解除する。さらに、自動化されたデータ・ストレージ・ライブラリに関する仮想化システムのドライブ・イメージ・プロバイダが、固定識別を有する固定の複数の仮想データ・ストレージ・ドライブのイメージをホスト・アプリケーションに提供する。ドライブ・イメージ・プロバイダは、ホストと、固定の仮想ドライブとしての専用ドライブの間の通信を特徴付け、誘導し、ドライブの専用化に先立ち、要求側ホスト・アプリケーションに対する仮想ドライブを「ノット・レディー」として特徴付ける。
【選択図】図1

Description

本発明は、ストレージ・シェルフ(storageshelf)内に可搬データ・ストレージ・カートリッジを格納し、データ・ストレージ・ドライブにおいて可搬データ・ストレージ・カートリッジのマウントおよびマウント解除を行うためにストレージ・シェルフとデータ・ストレージ・ドライブの間で可搬データ・ストレージ・カートリッジを運ぶ自動化されたデータ・ストレージ・ライブラリのデータ・ストレージ・ドライブに関し、より詳細には、ライブラリと通信するホスト・アプリケーションに関して、これらのデータ・ストレージ・ドライブの割り振ること、およびこれらのデータ・ストレージ・ドライブを仮想化することに関する。
自動化されたデータ・ストレージ・ライブラリが、大量のデータの記憶のために、通常、ホスト・アプリケーションによって稀にしかアクセスされないデータの記憶のためにますます使用されている。データは、ストレージ・シェルフの中に格納された可搬データ・ストレージ・カートリッジ上に記憶される。可搬データ・ストレージ・カートリッジの例は、ある長さの磁気テープを含む、または光ディスクを含むカートリッジである。
データがライブラリによってアクセスされた際、ライブラリのロボット・コントロールによって操作されるアクセス機能ロボット(accessor robot)が、所望の可搬データ・ストレージ・カートリッジをそれが格納されているストレージ・シェルフから把捉し、データ・ストレージ・ドライブにおいてその可搬データ・ストレージ・カートリッジのマウントおよびマウント解除を行うため、ならびにその可搬データ・ストレージ・カートリッジを同じストレージ・シェルフまたは異なるストレージ・シェルフに戻すために、ストレージ・シェルフとデータ・ストレージ・ドライブの間でその可搬データ・ストレージ・カートリッジを運ぶ。
自動化されたデータ・ストレージ・ライブラリは、ときとして、複数のホスト・アプリケーションが存在する場合でも、そのライブラリおよびデータ・ストレージ・ドライブが、各ホスト・アプリケーションには、そのホスト・アプリケーション独自のライブラリおよびドライブに見えるように構成される。一例では、ライブラリの特定の1組のストレージ・シェルフと少なくとも1つのデータ・ストレージ・ドライブが、各ホスト・アプリケーションに専用である。ホスト・アプリケーションからデータの要求があると、要求のデータを有する可搬データ・ストレージ・カートリッジが、ライブラリのアクセス機能ロボットによってアクセスされ、ホスト・アプリケーションが使用するためにホスト・アプリケーションに専用のデータ・ストレージ・ドライブに届けられる。これにより、ホスト・アプリケーションは、既知のドライブ上に一連のマウントを行うことができる。これは、ホストの見地からは非常に効率的である。というのは、ドライブは常に利用でき、ドライブ・アドレス指定が直接で、即時であるからである。また、ライブラリも、ホスト・アプリケーションに直接に割り当てられているように見えることが可能であるが、アクセス機能ロボットは、実際には共用されている。これは、ドライブ使用の見地からは、ホスト・アプリケーションのそれぞれが、専用のデータ・ストレージ・ドライブを常に使用していない場合、ドライブがしばしば、アイドルであることで、それほど効率的ではない。ドライブは、異なるホスト・アプリケーションに割り当てられるので、特に活動的なホスト・アプリケーションは、別のホスト・アプリケーションからドライブを「借用する」ことができず、例えば、割り当てられたドライブのすべてが利用されており、異なるカートリッジ上のデータが必要とされている場合、ホスト・アプリケーションは、他のカートリッジ上のデータにアクセスするために、そのホスト・アプリケーション自体が1つのカートリッジをマウント解除するまで、または自らのドライブを解放するまで待たなければならない可能性がある。別のホスト・アプリケーションからのドライブの「借用」はすべて、両方のホスト・アプリケーションに関して少なくともデバイス・ドライブを再構成することを必要とする。ホスト・アプリケーションが有するニーズが高まった場合、少なくともそのホスト・アプリケーションを再構成することなく、新しいドライブをそのホスト・アプリケーションに割り当てることができない。
別の例では、ホスト・アプリケーションには、データ・ストレージ・ドライブとの直接通信が許されない。代わりに、ホスト・アプリケーションから受け取られたデータを記憶するのにキャッシュ・ストレージ(通常、ディスク・ドライブ)を使用する「仮想」ライブラリが確立され、あたかもキャッシュ・ストレージがデータ・ストレージ・ドライブであるかのように振舞い、データを可搬データ・ストレージ・カートリッジに書き込む。データは、キャッシュの中にある間、再アクセスすることが可能であり、「キャッシュ・ヒット」と呼ばれる。再アクセスが行われない場合、ライブラリは、ライブラリによって選択されたデータ・ストレージ・ドライブを使用してキャッシュ・ストレージからカートリッジにデータをダウンロードする。データが、ホスト・アプリケーションによって要求され、キャッシュの中にない場合、これは「キャッシュ・ミス」と呼ばれ、ライブラリは、テーブルを使用して、データを記憶しているカートリッジを探し出し、アクセス機能ロボットを操作してそのカートリッジにアクセスし、使用可能なデータ・ストレージ・ドライブを探し出し、アクセス機能ロボットを操作してドライブ上にそのカートリッジをマウントし、カートリッジからのそのデータを読み取り、データをキャッシュにアップロードする。ライブラリの見地からは、ライブラリ構成要素の使用は効率的である。しかし、キャッシュ・ストレージは高価であり、費用および複雑さを増大させる。キャッシュ・ストレージは、大きいデータ・セットを扱うだけ十分に大きくなければならず、過剰な「キャッシュ・ミス」状況を回避するように良好なステージング(staging)・アルゴリズムおよびデステージング(destaging)・アルゴリズムを有していなければならない。ホスト・アプリケーションは、ドライブと直接にではなく、キャッシュと通信し、いずれのホスト・アプリケーションも、共用構成要素の使用のために競う可能性があり、あまり予測できないパフォーマンスがもたらされる。ドライブに障害が生じ、取り替える必要がある場合、ホスト・アプリケーションは、例外条件から回復できない可能性があり、特に、他のドライブがまったく利用できない場合にそうである。ドライブが他のすべての点で同質である場合、通し番号の変更に対する再構成を制限することができる可能性がある。異なる特性に対応する重要な再構成がなければ、異質のドライブ(少なくとも1つの異なる特性のドライブ)のアップグレード、交換、または共用が禁止される。制限されたドライブの共用は、様々なホスト・プロセッサの間でパーティションに分けられたホスト・アプリケーションによって提供することが可能であるが、パーティションは、同期を保つように、ドライブの自らの使用を互いに常に知らせ合わなければならず、ホスト・アプリケーションの外部における共用は許されない。
‘00038−US1出願
本発明の本実施形態の目的は、共用構成要素を効率的な仕方で使用する自動化されたデータ・ストレージ・ライブラリ・システムを提供することである。
本発明の実施形態の別の目的は、ホスト・アプリケーションまたはライブラリの再構成を必要とすることなく、追加のドライブの恩恵が受けられるようにホスト・アプリケーションまたはライブラリを拡張することを可能にすることである。
自動化されたデータ・ストレージ・ライブラリの物理データ・ストレージ・ドライブを割り振るための割振りシステム、およびコンピュータによって実施される方法が提供される。ライブラリは、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、アクセス機能ロボットが、データ・ストレージ・ドライブにおいて可搬データ・ストレージ・カートリッジのマウントおよびマウント解除を行うためにストレージ・シェルフとデータ・ストレージ・ドライブの間で可搬データ・ストレージ・カートリッジを運ぶ。
割振りシステムは、例えば、ホスト・アプリケーションからのデータ・ストレージ・ドライブの要求に応答する、ライブラリに結合された、またはライブラリのドライブ・リソース・プロバイダを含む。ドライブ・リソース・プロバイダは、同時係属の‘00038−US1出願に従って複数のライブラリ物理データ・ストレージ・ドライブをプールに割り当て、ホスト・アプリケーションのためにプールからのデータ・ストレージ・ドライブの割振りおよび割振り解除を行う。
本発明によれば、ドライブ・リソース・プロバイダは、プールのデータ・ストレージ・ドライブのすべてが割振り済みであるときにデータ・ストレージ・ドライブの要求を受け取ると、その要求に関連する可搬データ・ストレージ・カートリッジのマウントを一切、保留するようにライブラリに指示する。さらに、ドライブ・イメージ・プロバイダが、ドライブのすべてが割振り済みであるときに要求を受け取ると、要求されたドライブは、マウント済みの可搬データ・ストレージ・カートリッジを必要とする後続のコマンドを完了するのに現在、利用できないという指示を提供する。同時係属の‘00038−US1出願で述べているとおり、この応答は、同出願で「ノット・レディー(not ready)」と呼んでいる偽の完了応答を含むことが可能である。これにより、ホスト・アプリケーションは、データ・ストレージ・ドライブを有することが保証され、必要な場合、そのドライブに関して再試行すること、または次のコマンドを発行することができる。次のコマンドが、ドライブがレディーであること、または可搬データ・ストレージ・カートリッジがマウントされ、レディーであることを必要としない場合、ライブラリは、そのコマンドに即時に対処できることが可能である。
ドライブ・リソース・プロバイダは、指示を提供した後、データ・ストレージ・ドライブの割振り解除の要求、および割振り解除されたデータ・ストレージ・ドライブにおける可搬データ・ストレージ・カートリッジのマウント解除を待ち、割振り解除されたデータ・ストレージ・ドライブをドライブの要求に割り振り、その要求に関連するマウントの保留を解除するようにライブラリに指示する。
さらに、ドライブ・リソース・プロバイダは、プール以外に、複数のライブラリデータ・ストレージ・ドライブの少なくとも1つをスペア・ドライブとして割り当てる。次に、ドライブ・リソース・プロバイダは、指示を提供した後、少なくとも1つのスペア・ドライブの1つを要求に割り振り、その要求に関連するマウントの保留を解除するようにライブラリに指示する。
ドライブ・リソース・プロバイダは、代替の実施形態では、所定の期間だけ待ち、その所定の時間中にデータ・ストレージ・ドライブの割振り解除の要求、および割振り解除されたデータ・ストレージ・ドライブにおける可搬データ・ストレージ・カートリッジのマウント解除が行われた場合、その割振り解除されたデータ・ストレージ・ドライブを要求に割り振り、行われなかった場合、期間が満了した後、スペア・データ・ストレージ・ドライブをその要求に割り振る。
さらに別の実施形態として、ライブラリは、複数の仮想ライブラリを含み、複数の仮想ライブラリの少なくとも1つが、他の仮想ライブラリよりも高い優先順位を有する。ドライブ・リソース・プロバイダが、仮想ドライブ要求の仮想ライブラリの優先順位を判定し、その仮想ライブラリがより高い優先順位である場合、その要求に応答してスペア・ドライブを割り振り、その要求に関連するマウントの保留を解除するようにライブラリに指示する。
さらなる実施形態では、スペア・ドライブの使用は制限される。ドライブ・リソース・プロバイダは、プールのデータ・ストレージ・ドライブのすべてが割振り済みであるときに要求が受け取られた各回に、カウントを増分する。ドライブ・リソース・プロバイダは、増分されたカウントを所定の限度と比較して、増分されたカウントが所定の限度よりも低ければ、スペア・データ・ストレージ・ドライブを割り振る。
さらなる実施形態として、ドライブ・リソース・プロバイダはさらに、スペア・データ・ストレージ・ドライブを割り振った後、スペア・データ・ストレージ・ドライブの使用を指示するメッセージをポストする。ポストされたメッセージは、一実施形態では、スペア・データ・ストレージ・ドライブをプールに移すアクションを行うことができるというシステム・オペレータに対する通知を含む。例として、スペア・ドライブをプールに移すことにより、ライブラリの費用が増大することがもたらされる。移転が行われる場合、ドライブ・リソース・プロバイダは、スペア・データ・ストレージ・ドライブをプールに加え、そのドライブをスペア・データ・ストレージ・ドライブとして削除する。
別の実施形態では、誘因として、ポストされたメッセージは、スペア・ドライブをプールに移すのを怠ることにより、スペア・データ・ストレージ・ドライブが将来、利用できなくなるという通知をさらに含み、ドライブ・リソース・プロバイダは、少なくとも1つのスペア・データ・ストレージ・ドライブをプールに移す要求がない場合、複数のライブラリ・データ・ストレージ・ドライブの少なくとも1つのスペア・ドライブとしての割当てを削除し、割当て済みのスペア・ドライブが割当て解除されるようにする。
この結果、ホスト・アプリケーションには、ドライブが割振り解除されるとすぐにドライブが割り振られるか、またはスペア・ドライブが割り振られる。さらに、必要とされる場合、システムがスペア・ドライブを備え、システム要件が増大するにつれ、システム・オペレータが、販売員にまず接触する必要なく、プールにスペア・ドライブを永久に追加することによってプール内のデータ・ストレージ・ドライブの数を選択的に増やすことが許される。
本発明の目的は、ホスト・アプリケーションがそれぞれ、自動化されたデータ・ストレージ・ライブラリの1つまたは複数の共用データ・ストレージ・ドライブにアクセスを得ることを可能にし、キャッシュ・ストレージを必要とすることなく、ドライブがホストに専用であるように見えるようにすることである。
本発明の別の目的は、ホスト・アプリケーション・デバイス・ドライバの再構成を必要とすることなく、ドライブの追加、削除、または取替えを可能にすることである。
仮想化システムが、ホスト・アプリケーションと自動化されたデータ・ストレージ・ライブラリの物理データ・ストレージ・ドライブの間の通信を誘導する。ライブラリは、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、ストレージ・シェルフとデータ・ストレージ・ドライブの間で可搬データ・ストレージ・カートリッジを運ぶためのアクセス機能ロボットを提供する。
少なくとも1つのドライブ・イメージ・プロバイダがホスト・アプリケーションに結合され、少なくとも1つの仮想データ・ストレージ・ドライブの少なくとも1つのイメージをホスト・アプリケーションに提供し、仮想ドライブのそれぞれに関して固定識別および固定セットの応答をホスト・アプリケーションに提供し、ホスト・アプリケーションと自動化されたデータ・ストレージ・ライブラリの「n」個のデータ・ストレージ・ドライブのプールのデータ・ストレージ・ドライブの間で通信を誘導する。
ドライブ・リソース・プロバイダが、ドライブ・イメージ・プロバイダに結合される。任意の一時点で、ドライブ・リソース・プロバイダには、「n」個の物理データ・ストレージ・ドライブのプールのうち任意の「m」個をドライブ・イメージ・プロバイダに割り当てており、データ・ストレージ・ドライブのプールの「n」−「m」個が、解放され、割当に利用できるものとして示される。ドライブ・リソース・プロバイダは、ホスト・アプリケーションのために仮想ドライブを要求するトリガ・イベントに応答し、プールの「n」−「m」個のデータ・ストレージ・ドライブの1つを仮想ドライブに専用にし、要求側ホスト・アプリケーションに関して固定の仮想ドライブの1つとしてドライブ・イメージ・プロバイダに対する専用化(dedication)を示す。
ドライブ・イメージ・プロバイダは、要求側ホスト・アプリケーションに対する専用データ・ストレージ・ドライブを固定の仮想ドライブの1つとして特徴付け、仮想ドライブとして要求側ホスト・アプリケーションによる専用データ・ストレージ・ドライブに対する通信を誘導する。
ドライブ・リソース・プロバイダがドライブを専用化することに先立ち、ドライブ・イメージ・プロバイダは、要求側ホスト・アプリケーションに対する仮想ドライブを「ノット・レディー」として特徴付ける。例として、「ノット・レディー」は、ドライブに媒体がまったくロードされていない報告状態を含む。
一実施形態では、トリガ・イベントは、仮想データ・ストレージ・ドライブにおいて可搬データ・ストレージ・カートリッジの選択された1つをマウントする要求側ホスト・アプリケーションによる要求を含む。ドライブ・リソース・プロバイダは、プールの「n」−「m」個のデータ・ストレージ・ドライブのどれが、選択された可搬データ・ストレージ・カートリッジをマウントするためのホスト・アプリケーションに専用のドライブであるかをライブラリに示す。
代替の実施形態として、トリガ・イベントは、ドライブ・イメージ・プロバイダの仮想データ・ストレージ・ドライブに関する要求側ホスト・アプリケーションによる「予約」要求を含む。「予約」要求は、ドライブ・イメージ・プロバイダによって受け取られ、プールのドライブの要求としてドライブ・リソース・プロバイダに通知される。ドライブ・リソース・プロバイダは、専用データ・ストレージ・ドライブが、仮想ドライブとして固定識別子によって特定されたデータ・ストレージ・ドライブに関して選択された可搬データ・ストレージ・カートリッジをマウントするために、要求側ホスト・アプリケーションに専用であることをライブラリにさらに示す。
さらなる代替の実施形態として、トリガ・イベントは、仮想データ・ストレージ・ドライブに対する要求側ホスト・アプリケーションによるコマンドを含む。ドライブ・リソース・プロバイダは、専用データ・ストレージ・ドライブが、仮想ドライブとして固定識別子によって特定されたデータ・ストレージ・ドライブに関して選択された可搬データ・ストレージ・カートリッジをマウントするために、要求側ホスト・アプリケーションに専用であることをライブラリにさらに示す。
ドライブ・リソース・プロバイダは、ホスト・アプリケーションに関連するトリガ解除イベント(detriggering event)に応答し、トリガ解除するホスト・アプリケーションに専用のデータ・ストレージ・ドライブを指定し、そのデータ・ストレージ・ドライブがドライブ・イメージ・プロバイダから解放されたことを示し、そのドライブをプールの解放されたデータ・ストレージ・ドライブに加える。一実施形態では、トリガ解除イベントは、仮想データ・ストレージ・ドライブの1つとして識別された専用データ・ストレージ・ドライブから可搬データ・ストレージ・カートリッジの1つをマウント解除するトリガ解除を行うホスト・アプリケーションによるコマンドを含む。そのようなケースでは、ドライブ・リソース・プロバイダが、可搬データ・ストレージ・カートリッジがマウントされている仮想ドライブとして専用データ・ストレージ・ドライブを特定する指示をライブラリに提供する。別の実施形態では、トリガ解除イベントは、仮想データ・ストレージ・ドライブの1つとして特定された専用データ・ストレージ・ドライブを解放するトリガ解除を行うホスト・アプリケーションによるコマンドを含む。
さらなる実施形態では、トリガ解除イベントは、所定のタイムアウト期間にわたって専用データ・ストレージ・ドライブが使用されないことを含む。所定のタイムアウト期間が満了すると、ドライブ・リソース・プロバイダは、可搬データ・ストレージ・カートリッジの1つが専用データ・ストレージ・ドライブにマウントされたままであるかどうかを判定し、マウントされている可搬データ・ストレージ・カートリッジをマウント解除するようにライブラリに通知する。
別の実施形態では、ライブラリは、複数の仮想ライブラリを含み、その複数の仮想ライブラリの少なくとも1つにより高い優先順位が割り当てられる。これにより、データ・ストレージ・ドライブのすべてが専用化されたことを意味して「m」−「n」がゼロに等しくなり、より高い優先順位の仮想ライブラリの仮想ドライブに関するトリガ・イベントが生じると、ドライブ・リソース・プロバイダは、より低い優先順位の仮想ライブラリからデータ・ストレージ・ドライブを割振り解除し、その割振り解除をドライブ・イメージ・プロバイダに通知し、割振り解除されたデータ・ストレージ・ドライブから可搬データ・ストレージ・カートリッジをマウント解除するようにライブラリに通知し、割振り解除されたデータ・ストレージ・ドライブをより高い優先順位の仮想ライブラリの仮想ドライブに専用化する。
さらに、ドライブ・リソース・プロバイダのデータ・ストレージ・ドライブのプール内でデータ・ストレージ・ドライブの追加、削除、または交換を行うことが可能であるが、ドライブ・イメージ・プロバイダは、仮想ドライブを不変であるものと特徴付ける
一実施形態では、ドライブ・リソース・プロバイダは、イメージを含む仮想データ・ストレージ・ドライブのリストを有し、仮想ドライブとして専用化されたプールのデータ・ストレージ・ドライブを示すドライブ・イメージ・テーブルを使用して、ドライブ・イメージ・プロバイダと通信する。
本発明のより十分な理解のため、添付の図面と併せて考慮されるべき以下の詳細な説明を参照されたい。
本発明を図を参照する以下の説明における好ましい実施形態で説明する。図では、同様の符号が同じ要素または同様の要素を表わしている。本発明を本発明の目的を実現するための最良の形態に関して説明するが、本発明の趣旨および範囲を逸脱することなく、以下の教示に鑑みて変形形態を実施することも可能であることが、当分野の技術者には認められよう。
図1〜3を参照すると、ホスト・アプリケーション11、12のなどのホスト・アプリケーションと、自動化されたデータ・ストレージ・ライブラリ17のデータ・ストレージ・ドライブ15の間の通信を誘導する仮想化システム10の実施形態が示されている。ライブラリは、ストレージ・シェルフ16の中に複数の可搬データ・ストレージ・カートリッジ14を格納し、ストレージ・シェルフとデータ・ストレージ・ドライブの間で可搬データ・ストレージ・カートリッジを運ぶためのアクセス機能ロボット18、20を提供する。
少なくとも1つのドライブ・イメージ・プロバイダ30が、1つまたは複数のホスト・アプリケーション11、12に結合され、少なくとも1つの固定の仮想データ・ストレージ・ドライブのイメージを各ホスト・アプリケーションに提供する一方で、実際には、ホスト・アプリケーションと、自動化されたデータ・ストレージ・ライブラリの「n」個のデータ・ストレージ・ドライブ15のプールのデータ・ストレージ・ドライブの間で通信を誘導する。これにより、ライブラリのドライブ15は、ホスト・アプリケーション間で共用される。ドライブ・イメージ・プロバイダは、固定識別子、および仮想ドライブのそれぞれに関するホスト・アプリケーションに対する応答の固定セットを使用することにより、ホストと通信してイメージを描き、ホストの仮想ドライブのすべてが、常時、ホストに専用である見かけがホスト・アプリケーションに提供されるようにする。さらに、基底の物理ドライブは、様々なアクセス時に異なる可能性があり、ドライブを追加すること、削除すること、または取り替えることがすべて、ホスト・アプリケーションのデバイス・ドライバの再構成を必要とすることなく可能である。
ドライブ・リソース・プロバイダ35が、ドライブ・イメージ・プロバイダ30に結合される。任意の一時点で、ドライブ・リソース・プロバイダは、「n」個のデータ・ストレージ・ドライブのプールの任意の「m」個をドライブ・イメージ・プロバイダに割り当てており、データ・ストレージ・ドライブのプールの「n」−「m」個は、解放されて、割当てに利用できるものとして示される。
ドライブ・リソース・プロバイダ35は、ホスト・アプリケーションの仮想ドライブとしてドライブを要求するトリガ・イベントに応答し、プールの「n」−「m」個のデータ・ストレージ・ドライブの1つを仮想ドライブとして専用化し、要求側ホスト・アプリケーションに関して固定の仮想ドライブの1つとしてドライブ・イメージ・プロバイダに対する専用化を示す。
ドライブ・イメージ・プロバイダ30は、要求側ホスト・アプリケーションに対する専用データ・ストレージ・ドライブを固定の仮想ドライブの1つとして特徴付け、仮想ドライブとして要求側ホスト・アプリケーション11、12による専用データ・ストレージ・ドライブ15に対する通信を誘導する。
物理ドライブの仮想ドライブとしての専用化に先立ち、ドライブ・イメージ・プロバイダ30は、要求側ホスト・アプリケーションに対する仮想ドライブを「ノット・レディー」として特徴付ける。例として、「ノット・レディー」は、ドライブに媒体がまったくロードされない報告状態の偽の完了応答を含む。
本発明によれば、ドライブ・リソース・プロバイダ35は、プールのすべてのデータ・ストレージ・ドライブが割振り済みであるときにデータ・ストレージ・ドライブに関する要求を受け取ると、その要求に関連する可搬データ・ストレージ・カートリッジのマウントを一切、保留するようにライブラリに指示する。さらに、ドライブのすべてが割振り済みであるときに要求を受け取ると、要求されたドライブは、可搬データ・ストレージ・カートリッジをマウントするために利用できるが、マウント済みの可搬データ・ストレージ・カートリッジを必要とする後続のコマンドを行うのに現在、利用できないという指示が行われることが可能である。これにより、ホスト・アプリケーション11、12は、データ・ストレージ・ドライブを有することが保証され、そのドライブに関して再試行すること、または次のコマンドを発行することができる。次のコマンドが、ドライブがレディーであること、または可搬データ・ストレージ・カートリッジがマウントされ、レディーであることを必要としない場合、ライブラリは、そのコマンドに対応することができることが可能である。
ドライブ・リソース・プロバイダ35は、指示を提供した後、データ・ストレージ・ドライブの割振り解除の要求、および割振り解除されたデータ・ストレージ・ドライブにおける可搬データ・ストレージ・カートリッジのマウント解除を待ち、割振り解除されたデータ・ストレージ・ドライブをドライブの要求に割り振り、その要求に関してマウントの保留を解除するようにライブラリに指示する。
一例では、1つまたは複数のライブラリ・イメージ・プロバイダ43も仮想ライブラリに提供することが可能であり、ライブラリ・リソース・プロバイダ39によって定義される1組の仮想ドライブ、および1組のストレージ・シェルフ16を含む。データ・ストレージ・ドライブ15は、仮想ライブラリの間で共用されるが、ストレージ・シェルフ16は、好ましくは、別々である。
ホスト・アプリケーション11、12は、IBM RS/6000またはIBM eServer pSeriesプロセッサなどのホスト・プロセッサ、およびホスト・プロセッサ上で実行されているすべてのアプリケーションを含むこと、またはホスト・プロセッサ上で実行されている複数のアプリケーションの1つを含むことが可能である。したがって、ホスト・アプリケーションはそれぞれ、プロセッサ36およびストレージ38を有する処理システムを含むものとして描いている。
自動化されたデータ・ストレージ・ライブラリ17は、例として、自動化されたテープ・カートリッジ・ストレージ、ならびにIBM3584などの磁気テープ・カートリッジの物理ボリュームを含むデータ記憶媒体を格納し、その媒体にアクセスするための検索ライブラリを含む。別法として、自動化されたデータ・ストレージ・ライブラリ17は、光ストレージ、ならびに可搬データ・ストレージ・カートリッジを格納しているものと本明細書でそれぞれ定義される検索ライブラリまたはテープ・カセット・ライブラリ等を含むことが可能である。データ・ストレージ・ドライブ15は、媒体上でデータを読み取ること、または書き込むこと、あるいはその両方を行い、プロセッサを含むことが可能である。ライブラリは、アクセス機能ロボット18、20を操作するためのロボット・コントローラ41と、ライブラリ・マネージャ40とをさらに含む。アクセス機能ロボット18、20は、選択された可搬データ・ストレージ・カートリッジ14を捉えるための把持部(gripper)20と、ストレージ・シェルフ16とドライブ15の間で、またはストレージ・シェルフの間で把持部を動かすためのアクセス機構18とを含む。アクセス機能ロボット18、20は、識別カートリッジ・ラベルを「読み取る」ための把持部20上に取り付けられたバーコード・スキャナ22、または同様の視覚システムも含むことが可能である。データ・ストレージ・ドライブ15は、光ディスク・ドライブまたは磁気テープ・ドライブであることが可能であり、可搬データ・ストレージ・カートリッジは、それぞれ、光媒体または磁気媒体を含むカートリッジ、またはカセット、あるいは任意の他の取外し可能なストレージを含むことが可能である。
ロボット・コントローラ41およびライブラリ・マネージャ40は、少なくとも1つのコンピュータ・プロセッサ、および関連するストレージを含み、入力/出力インターフェース42および端末装置28に結合されている。コンピュータ・プロセッサは、例えば、IBM RS/6000プロセッサを含むことが可能である。別法として、ロボット・コントローラ41およびライブラリ・マネージャ40がそれぞれ、コンピュータ・プロセッサを含むことが可能であり、そのコンピュータ・プロセッサが互いに接続される。この例では、ライブラリ・マネージャ40は、コンピュータ・プロセッサ45、および関連するストレージ46を含む。端末装置28は、フロッピー(R)・ディスクまたはCD−ROMなどのデータ記憶媒体を読み取るためのステーションを含むことが可能である。
ライブラリ・マネージャ40は、ドライブ15に結合され、ドライブ15のロード/アンロード、および関連するアクションを制御し、またライブラリ・マネージャ40は、ロボット・コントローラ41に結合され、ロボット・コントローラ41の動作を調整する。ライブラリ・マネージャは、インターフェース42を介してホスト・アプリケーション11、12に結合される。ライブラリ・マネージャ24は、テーブルおよびプログラムのためにストレージ46(通常、1つまたは複数のハードディスク・ドライブまたはフラッシュEEPROM)の中に記憶されたライブラリ・マネージャ・データベースを有する。データ・アクセス・コマンド、および選択された可搬データ・ストレージ・カートリッジ14上で記憶されるべき、または読み取られるべき情報が、データ・イメージ・プロバイダ30によって誘導されるとおりにドライブ15とホスト・アプリケーションの間で伝送される。ライブラリ・マネージャ40は、通常はボリューム通し番号、つまりVOLSERである識別子に関連して各可搬データ・ストレージ・カートリッジを定義し、あるいは別法として、各カートリッジの場所に関連して定義する。
ホスト・アプリケーション11、12は、通常、ホスト・アプリケーションと自動化されたデータ・ストレージ・ライブラリの中間の1つまたは複数の構成要素によってライブラリ17に結合される。
中間構成要素の例は、ホスト・バス・アダプタ50である。一例では、ホスト・バス・アダプタ50は、PCI、ESCON、FICON、SCSI、ファイバ・チャネルなどの、ライブラリ、または他の中間構成要素、およびホスト・アプリケーション11、12に結合する適切な接続とそれぞれインターフェースをとるインターフェース52および53を含む。アダプタは、プロセッサ54および不揮発性メモリ55、ならびに適切なバッファおよび相互接続を含む。ホスト・バス・アダプタ50の例は、IBM eServer pSeriesギガバイト・ファイバ・チャネル・アドレスを含む。ホスト・アプリケーション12は、図では、アダプタを含むことが可能なインターフェース53を有している。
中間構成要素の別の例は、前述したような、ネットワーク内の相互接続するいくつかのプロセッサに対する適切な接続を有する複数のインターフェース57を有するゲートウェイまたはルータ56を含む。ゲートウェイまたはルータは、オペレーティング・システム等を記憶するための不揮発性メモリ59を有するプロセッサ58を含む。ゲートウェイまたはルータの例は、IBM 2108 SANデータ・ゲートウェイである。当該のアダプタ、ルータ、またはゲートウェイに適切な他の技術は、「コントローラ」、「ディレクタ」、または「インテリジェント・スイッチ」であり、当分野の技術者は、その他のアプリケーションを思い描くこともできる。
プロセッサ54、58は、Intel i960などのマイクロプロセッサを含むことが可能である。
本発明によれば、ドライブ・イメージ・プロバイダ30またはドライブ・リソース・プロバイダ35あるいはその両方は、ホスト・アプリケーション11、12、中間構成要素50、56、または自動化されたデータ・ストレージ・ライブラリ17のいずれかに組み込むことができる。例として、ドライブ・イメージ・プロバイダ30はそれぞれ、関連するホスト・アプリケーション11、12に組み込まれ、ドライブ・リソース・プロバイダは、ホスト・アプリケーションと自動化されたデータ・ストレージ・ライブラリ17の中間の構成要素56に組み込まれる。ドライブ・リソース・プロバイダは、ドライブ・イメージ・プロバイダを有するホストのそれぞれ、またはホストのホスト・バス・アダプタに結合された構成要素に存在しなければならない。さらに別の例として、ドライブ・イメージ・プロバイダ30は、ホスト・アプリケーション11、12と自動化されたデータ・ストレージ・ライブラリ17の中間の構成要素50、56を含み、ドライブ・リソース・プロバイダ35は、ホスト・バス・アダプタ50またはホストとライブラリ17の中間の構成要素56を含む。さらなる例として、ドライブ・イメージ・プロバイダ30は、関連するホスト・アプリケーション11、12のデバイス・ドライバを含み、ドライブ・リソース・プロバイダ35は、ライブラリ・マネージャ40などの自動化されたデータ・ストレージ・ライブラリ17の構成要素を含む。さらに別の例は、ホスト・アプリケーションと自動化されたデータ・ストレージ・ライブラリの中間の構成要素50、56に組み込まれたドライブ・イメージ・プロバイダ30を含み、ドライブ・リソース・プロバイダ35は、自動化されたデータ・ストレージ・ライブラリ17の構成要素を含む。
ライブラリ・イメージ・プロバイダ43およびライブラリ・リソース・プロバイダ39は、好ましくは、ともに、自動化されたデータ・ストレージ・ライブラリ17に組み込まれる。
ホスト・アプリケーション11、12のプロセッサ36、中間構成要素50、56のプロセッサ54、58、およびライブラリのライブラリ・マネージャ40のプロセッサ45のそれぞれは、オペレーティング・システムおよびアプリケーション・プログラムを備えることが可能であり、本発明に従って動作するためのプログラムを含むことが可能である。各プロセッサは、テーブルおよびプログラムのためのストレージ(通常、不揮発性メモリ、または1つまたは複数のハードディスク・ドライブ)を含むデータベース、それぞれ38、55、59、46を備えることが可能である。アプリケーション・プログラムは、コンピュータ可読プログラム・コードを含む1つまたは複数のコンピュータ・プログラム製品を含むことが可能である。本発明のコンピュータ・プログラム製品は、アプリケーション・プログラムとともに供給され、提供されるストレージの中に記憶されていること、端末装置28においてディスケットまたはCD−ROMとともに供給され、製造品を含むこと、ホスト・システム11、12の1つから受け取られること、ネットワークから受け取られること、または他の同様な手段によって受け取られることが可能である。記憶媒体またはメモリの要件は、コンピュータ実行可能命令のデジタル表現を含むことである。コンピュータ可読プログラム・コードは、デバイスのコンピュータ・プロセッサまたはコンピュータ・プロセッサ群を介してデバイスを動作させる。
図4および5に、可搬データ・ストレージ・カートリッジ14の例を示しており、カートリッジ14は、例えば、磁気テープ・カートリッジを含む。カートリッジ14は、外縁部61上に識別ラベル60を有する。
図6および7は、ドライブ・リソース・プロバイダ35によって生成され、保持され、図1のドライブ・イメージ・プロバイダ30に提供されるドライブ・イメージ・テーブル70、71の例を示しており、このテーブル70、71内で、ドライブ・リソース・プロバイダは、データ・ストレージ・ドライブのプールの割り振られた専用のドライブを各ホスト・アプリケーションの仮想ドライブにマップする。ドライブ・イメージ・テーブルは、ドライブ・リソース・プロバイダにおいて定期的に、例えば、1/2秒毎にドライブ・イメージ・プロバイダによって読み取られ、更新されること、または各ドライブ・イメージ・プロバイダが、必要に応じて関連するドライブ・イメージ・テーブルにアクセスすることが可能である。ドライブ・イメージ・プロバイダは、各回にテーブルをリフレッシュする必要はなく、代わりに、変更を探すことができる。
ドライブ・イメージ・テーブルは、ドライブ・イメージ・プロバイダが報告し、応答を提供すべき仮想ドライブのリスト75を含む。例として、SCSIの用語では、リスト75は、仮想ドライブのそれぞれに関するテープ・ドライブLUN識別子などの固定アドレスを含むことが可能である。ドライブ・イメージ・プロバイダは、固定の用語で1つまたは複数の仮想データ・ストレージ・ドライブのホスト・アプリケーションにイメージを提供し、これらのドライブは、リスト75を使用して特定される。固定リストは、ドライブ・リソース・プロバイダが、仮想ドライブのそれぞれに関するホスト・アプリケーションに固定識別および固定セットの応答を提供することができるように、各仮想ドライブ76の特性の識別によって補足される。一例として、特性には、仮想ドライブに関する固有通し番号が含まれることが可能である。さらなる例として、特性は、仮想ドライブに関する同一のアドレスを含むことが可能である。さらなる例として、仮想ドライブは、タイプまたは製造業者による名称、およびモデル番号を含む特性を備えることが可能である。これにより、ドライブ・リソース・プロバイダが、データベースから固定セットの応答を決定することができるようになる。代替の実施形態として、ドライブ・リソース・プロバイダのドライブ・イメージ・テーブルが、各仮想ドライブに関する識別子75だけを含むことが可能であり、ドライブ・イメージ・プロバイダが、各仮想ドライブに関する特性76を保持することが可能である。
ドライブ・リソース・プロバイダが、ライブラリの物理ドライブのプールからのドライブをホスト・アプリケーションに関するドライブ・イメージ・プロバイダに専用にすると、それらのドライブも、例えば、SCSI用語で、LUNによって識別される77。例示した例では、「」は、いずれの物理ドライブにも現在、仮想ドライブが割り当てられていないという指示を表わす。また、「W」は、以下に説明するとおり、物理ドライブが割り当てられるが、現在、いずれも割り当てられていないことを表わす。オプションとして、ドライブ・リソース・プロバイダは、通し番号、タイプ、製造業者による名称、またはモデル番号あるいは以上すべてなどの、それぞれの割り当てられた物理ドライブの特性78も提供することが可能である。
図8をさらに参照すると、図1のドライブ・リソース・プロバイダ35またはライブラリ・リソース・プロバイダ39あるいはその両方が、物理ドライブ81のドライブ・テーブル80、および物理ドライブ81の現在の割当て、つまりステータス82を保持している。好ましくは、テーブル80は、前述したとおり、物理ドライブのそれぞれの特性83も含む。
図9をさらに参照すると、図2および3のライブラリ17が、ホスト・アプリケーションに直接に結合されるように構成され、例えば、特定された仮想ドライブにおいてストレージ・シェルフ16から特定された可搬データ・ストレージ・カートリッジ14をライブラリがマウントする要求を受け取ることが可能である。その要求に対応するため、ライブラリは、少なくとも1つのライブラリ・イメージ・テーブル85を含む。このテーブルは、仮想ライブラリ群90、および各仮想ライブラリに専用の仮想ドライブ87を明らかにする。さらに、ライブラリは、仮想ライブラリの優先順位88、ならびにいずれの仮想ライブラリまたは仮想ドライブが、スペア・ドライブを使用することを許可されているか89を示すことも可能である。この情報は、図1のライブラリ・イメージ・プロバイダ43を使用してホスト・アプリケーションに提示される。
各仮想ライブラリには、1組のストレージ・シェルフ16が割り当てられる。同一の仮想ライブラリが、複数のホスト・アプリケーションによって共用されること、または各ホスト・アプリケーションに関して別個の仮想ライブラリを含むこと、あるいはその組合せが存在することが可能である。テーブル85は、列90で仮想ライブラリを明らかにし、各仮想ライブラリに割り当てられた図2および3のストレージ・シェルフ16のセットが、列91で明らかにされている。当分野の技術者には周知のとおり、自動化されたデータ・ストレージ・ライブラリのストレージ・シェルフは、各仮想ライブラリに図3のストレージ・シェルフ92〜96のような特定の1組のストレージ・シェルフが割り当てられるように、ライブラリ・マネージャによって区分することが可能である。仮想ライブラリは、図1のライブラリ・リソース・プロバイダ39によって構成される。好ましくは、仮想ライブラリ、ならびにホスト・アプリケーションは、列97に描かれるとおり、図2および3のライブラリ17の物理ドライブ15のすべて、またはほとんどを共用する。あるデータ・ストレージ・ドライブは、仮想ドライブの要件に合致しないタイプであるとして、仮想ライブラリに関する「n」個のドライブのプールから差し控えられることが可能である。一例は、特定の状況においてだけ有用な低速ドライブである。別の例は、小さいデータ・レコードには使用できないストリーミング・ドライブである。
例として、図6、7、8、および9の例示したテーブル70、71、80、および85では、物理ドライブ「DR3」が、ドライブ・イメージ・テーブル70内で仮想ドライブ「AA」として割り当てられており、仮想ライブラリ「0」に入っている。このドライブは、ホスト・アプリケーションによって解放された際に、またはホスト・アプリケーションがドライブにマウント済みの可搬データ・ストレージ・カートリッジをマウント解除するコマンドを発行した際に割振り解除される。物理ドライブ「DR1」は、ドライブ・イメージ・テーブル71内で仮想ライブラリ「1」に割り当てられ、仮想ドライブ「EE」として専用化されている。「(L)」は、その物理ドライブが、ホスト・アプリケーションによって明確に解放されるまで、仮想ドライブとしてホスト・アプリケーションにロックされていることの指示であり、このドライブは、ホスト・アプリケーションが、ドライブにマウント済みの可搬データ・ストレージ・カートリッジをマウント解除するコマンドを発行した際に割振り解除されない。
仮想ライブラリの相対優先順位88は、プールのすべてのドライブが割当て済みであることを示すプールの「n」−「m」個のデータ・ストレージ・ドライブがゼロに等しくなった状況で、より高い優先順位のホスト・アプリケーション、例えば、優先順位「0」が、より低い優先順位のホスト・アプリケーション、例えば、優先順位「1」に既に専用にされているドライブを取ることができることを意味する。仮想ライブラリを使用して、テーブルは、物理ドライブ97を仮想ライブラリ90に割り当てるオプションを描いており、これにより、データ・ストレージ・ドライブのプールを定義している。1つのライブラリだけが使用される場合、スペアを除くすべてのデータ・ストレージ・ドライブが、ドライブのプールを構成する。物理ドライブ「DR2」は、現時点で、いずれの仮想ドライブにも割り当てられておらず、「解放されている」として示され、割当てに利用できる。物理ドライブ「DR7」は、「スペア」ドライブとして予約されており、プールのすべてのドライブが割当て済みであることを示して、プールの「n」−「m」個のデータ・ストレージ・ドライブがゼロに等しく、優先順位の割振り変更が行われないか、または割当て変更される可能性があるすべてのドライブが高い優先順位割当てを有する状況においてだけ使用することが可能である。スペアが、列89で示されるとおり許可されている場合、ドライブ・リソース・プロバイダは、スペア・ドライブの1つを要求に割り振る。別法として、ドライブ・リソース・プロバイダは、所定の期間だけ待ち、その所定の期間中にデータ・ストレージ・ドライブの割振り解除、および割振り解除されたデータ・ストレージ・ドライブにおける可搬データ・ストレージ・カートリッジのマウント解除が完了した場合、割振り解除されたデータ・ストレージ・ドライブをその要求に割り振り、そううでない場合、期間が満了した後、スペア・データ・ストレージ・ドライブを要求に割り振る。
スペア・データ・ストレージ・ドライブを割り振った後、ドライブ・リソース・プロバイダは、スペア・データ・ストレージ・ドライブの使用を示すメッセージをポストする。ポストされたメッセージは、スペア・データ・ストレージ・ドライブをプールに移すアクションを行うことができるというシステム・マネージャに対する通知を含むことが可能である。例として、スペア・ドライブをプールに移すことにより、ライブラリの費用が増大することがもたらされる。移転が行われる場合、ドライブ・リソース・プロバイダは、スペア・データ・ストレージ・ドライブをプールに加え、そのドライブをスペア・データ・ストレージ・ドライブとして削除する。
誘因として、ポストされたメッセージは、スペア・ドライブをプールに移すのを怠ることにより、スペア・データ・ストレージ・ドライブが将来、利用できなくなるという通知をさらに含むことが可能であり、ドライブ・リソース・プロバイダは、少なくとも1つのスペア・データ・ストレージ・ドライブをプールに移す要求がない場合、少なくとも1つの仮想ライブラリに対する複数のライブラリデータ・ストレージ・ドライブのスペア・ドライブとしての割当てを削除し、割当て済みのスペア・ドライブが、仮想ライブラリに対して、あるいは、ライブラリ・システムにおいて割当て解除されるようにする。
仮想ライブラリ0のドライブ・イメージ・テーブル70内で、仮想ドライブ「BB」は、まったく専用データ・ストレージ・ドライブを有しておらず、ホスト・アプリケーションが物理ドライブを必要とする状況にある。しかし、物理ドライブは、スペア・ドライブであれ、より低い優先順位の仮想ライブラリまたはより低い優先順位の仮想ドライブからのドライブであれ、利用できない。したがって、「W」は、データ・ストレージ・ドライブがライブラリの通常の動作において利用可能になるまで、待機が存在することを意味する。
図10は、図2および3のライブラリ17のデータ・ストレージ・ドライブ15を構成するための方法、つまり仮想ライブラリを構成する方法の実施形態を示している。
構成は、ステップ100において、ライブラリの始動または初期設定で始まる。別法として、物理ドライブの追加、削除、または取替えが行われることが可能であり、ステップ101で、再構成が始まる。さらなる別法として、前述したとおり、スペア・データ・ストレージ・ドライブを使用して、メッセージを受け取ったシステム・オペレータが、ステップ102から始めて、スペア・ドライブの1つまたは複数をドライブのプールに加えることを選択することが可能である。プール内のスペア・ドライブを使用するか、またはそのドライブを失う選択がシステム・オペレータに提示され、システム・オペレータが、そのドライブを失うことを選択した場合(可能性の低いシナリオ)、ステップ102は、旧スペア・ドライブまたは旧スペア・ドライブ群を「未割当て」ステータスに割当て変更することも提供することが可能である。この状況で、ライブラリの再構成は、実際には、まったく必要とされない。
ステップ105は、仮想ライブラリの使用がオプションである状況に関して使用することができ、仮想ライブラリが実装されるかどうかを決める。「はい」の仮想ライブラリが実装される場合、ステップ106が、構成されるべき次の仮想ライブラリを決める。「いいえ」の仮想ライブラリが実装されない場合、単一セットの仮想ドライブのために物理ライブラリが構成される。このプロセスは、ライブラリ・リソース・プロバイダまたはドライブ・リソース・プロバイダあるいはその両方によって行われることが可能であり、仮想ライブラリが実装される場合、ライブラリ・リソース・プロバイダが必要とされる。仮想ライブラリが実装されない場合、図9のライブラリ・イメージ・テーブル85は、単一のライブラリだけを含み、列90がなくなる。
ステップ110で、ライブラリに利用可能な物理ドライブが特定される。この情報は、システム・オペレータによって提供されること、または例えば、ドライブの数のすべてがすべての仮想ライブラリによって共用されるデフォルトを含むことが可能である。ステップ111で、スペア・ドライブが特定される。スペア・ドライブは、図2および3のライブラリ17が販売された時点、または設置された時点で確立されること、またはライブラリの代金として支払われる価格を規制するようにシステム・オペレータによって設定することが可能である。仮想ライブラリに関するドライブのプール内の物理ドライブ「n」の数は、用意された物理ドライブPDの数からスペア・ドライブSDの数を引いたものである。
ステップ120で、仮想ドライブの数、および仮想ドライブのそれぞれの固定識別が、例えば、担当のシステム・オペレータから、またはデバイス・ドライバから、各ホスト・アプリケーションとの通信のために特定される。これは、図6および7の列75、図9の列87で示すとおり、固定の仮想ドライブをアドレス指定するのにホスト・アプリケーションによって使用される識別子を含み、図8の列82で示す割振りのために使用される。特性情報76、83は、この時点で獲得することも可能である。ステップ115で、仮想ライブラリの相対優先順位が、例えば、システム・オペレータによって決定される。別法として、相対優先順位は、仮想ドライブに関して決定することも可能である。結果の相対優先順位は、図9の列88の中にポストされる。次に、ステップ121で、ドライブ・リソース・プロバイダが、各ドライブ・イメージ・プロバイダに関してドライブ・イメージ・テーブル70、71を構成する。マスタ・ドライブ・イメージ・テーブルが、ドライブ・リソース・プロバイダの中に保持され、データ・ストレージ・ドライブのプールの割り振られた専用のドライブを各ホスト・アプリケーションの仮想ドライブにマップする。前述したとおり、ドライブ・イメージ・テーブルは、ドライブ・リソース・プロバイダにおいて定期的にドライブ・イメージ・プロバイダによってアクセスおよびリフレッシュまたは更新が行われること、あるいは各ドライブ・イメージ・プロバイダが、必要に応じて関連するドライブ・イメージ・テーブルにアクセスすることが可能である。
ステップ125で、ライブラリ・リソース・プロバイダが、仮想ライブラリのすべてが構成されたかどうかを判定する。構成されている場合、または仮想ライブラリが実装されていない場合、プロセスは、ステップ126で示されるとおり終了する。仮想ライブラリのすべてが構成済みではない場合、プロセスは、ステップ106に循環して戻り、次の仮想ライブラリの構成を開始する。
図11は、ホスト・アプリケーションが、ステップ135で仮想ドライブに関するコマンドを提供した際の図1のドライブ・イメージ・プロバイダ30のプロセスを示している。イベントの例は、問合せコマンド、マウント済みの可搬データ・ストレージ・カートリッジから特定のデータを探索する探索コマンド、マウント済みの可搬データ・ストレージ・カートリッジからデータを読み取る読取りコマンド、マウント済みの可搬データ・ストレージ・カートリッジにデータを書き込む書込みコマンド、将来の使用のためにデータ・ストレージ・ドライブを予約する予約コマンド、予約済みのデータ・ストレージ・ドライブを解放する解放コマンド、または他の同様なタイプのコマンドである。
ドライブ・イメージ・プロバイダは、ステップ141および143で、ホスト・アプリケーションから受け取られたコマンドが、トリガ・イベントを構成するか、またはトリガ解除イベントを構成するかを判定する。コマンドがトリガ・イベントを構成する場合、ドライブ・イメージ・プロバイダは、ステップ144で、ドライブ・リソース・プロバイダにそのイベントを通知し、仮想ドライブを特定して、ホスト・アプリケーションを特定することができる。コマンドがトリガ解除イベントを構成する場合、ドライブ・イメージ・プロバイダは、ステップ149で、そのイベントをドライブ・リソース・プロバイダに通知し、仮想ドライブを特定して、ホスト・アプリケーションを特定することができる。
ステップ140で、ドライブ・イメージ・プロバイダは、仮想ライブラリに関する図6、7のドライブ・イメージ・テーブル70、71内で仮想ドライブをルックアップする。
ステップ136は、ステップ135のコマンドが、イベントに対する応答を完了するのに物理ドライブを必要とするかどうかを判定する。例えば、探索コマンド、読取りコマンド、および書込みコマンドはすべて、物理ドライブを必要とする。問合せコマンドは、物理ドライブを必要とせず、応答は、ドライブなしにドライブ・イメージ・プロバイダによって提供することが可能であり、ステップ137で、応答が提供される。ドライブ・イメージ・プロバイダは、アドレス指定された仮想ドライブとして応答し、図6、7のドライブ・イメージ・テーブル70、71からのドライブの特性、または等価物を使用する。探索コマンド、読取りコマンド、および書込みコマンドは、専用の物理ドライブに可搬データ・ストレージ・カートリッジがマウントされている場合に、ホスト・アプリケーションによって提供され、したがって、マウント・コマンドがライブラリに提供されていることになる。
仮想ドライブに対する物理ドライブの割振りおよび専用化をもたらすコマンドは、トリガ・イベントと呼ばれ、予約コマンド、および「そこにいますか(are you there)」タイプのコマンドなどのドライブ要求の効果を有する他のコマンドを含む。物理ドライブの割振り解除をもたらすコマンドは、トリガ解除イベントと呼ばれ、解放コマンド、およびドライブを解放する効果を有する他のコマンドを含む。予約コマンドおよび解放コマンド、ならびに仮想ドライブを要求する、または解放するコマンドは、ドライブ・イメージ・プロバイダによって受け取られる。
ステップ142で、ドライブ・イメージ・プロバイダが、ドライブ・イメージ・テーブルから、物理ドライブがコマンドの仮想ドライブに専用であるかどうかを判定する。「はい」の物理ドライブが仮想ドライブに専用である場合、ドライブ・イメージ・プロバイダは、ステップ143で、要求側ホスト・アプリケーションと、自動化されたデータ・ストレージ・ライブラリの「n」個のデータ・ストレージ・ドライブのプールの専用データ・ストレージ・ドライブの間で通信を誘導する。この通信は、ホスト・アプリケーションの見地から、通信がホスト・アプリケーションと仮想ドライブの間で行われているように見えるように、必要に応じてデステージされ、翻訳される。この通信は、コマンドの結果として生じると予期されることすべてを含み、例えば、予期されるヘッダ等を伴うデータの転送等を含む。
ホスト・アプリケーションがマウント・コマンドをライブラリに対して発行している場合、次に、仮想ドライブに対する探索等のコマンドを発行する可能性が高い。コマンドは、ドライブ・リソース・プロバイダによるドライブ・イメージ・テーブルの更新に先立って受け取られることが可能である。したがって、ドライブ・イメージ・プロバイダは、ドライブ・リソース・プロバイダがプールからの物理データ・ストレージ・ドライブを専用化するのに先立ち、ステップ142で、ドライブ・イメージ・テーブルから、要求側ホスト・アプリケーションに専用にされている物理ドライブは存在しないことを判定する。ドライブ・イメージ・プロバイダは、ステップ150で、偽の完了応答で要求側ホスト・アプリケーションに応答し、この応答は、要求が受け取られたこと、およびマウント済みの可搬データ・ストレージ・カートリッジを必要とするコマンドを完了するのに仮想ドライブが「ノット・レディー」であることをホスト・アプリケーションに知らせる効果を有する。ドライブ・イメージ・プロバイダは、2つのタイプの「ノット・レディー」偽完了応答を報告する。一例では、仮想ドライブが、待機中「w」としてドライブ・イメージ・テーブル内で示されている場合、ドライブ・イメージ・プロバイダは、その仮想ドライブが「今後レディー(coming ready)」であることを報告する。代替の例では、ドライブ・イメージ・プロバイダは、仮想ドライブにおいて「カートリッジが存在しない」ことを報告する。いずれの場合も、「ノット・レディー」応答は、要求された作業が完了したことの指示ではない。むしこ、この応答は、2つの理由のどちらかに基づくコマンド拒否の一形態である。
ステップ136が、前述したとおり、問合せコマンド、予約コマンド、または解放コマンドのように、物理ドライブがまったく必要とされないことを示すと、ドライブ・イメージ・プロバイダは、アドレス指定された仮想ドライブとして、図6、7のドライブ・イメージ・テーブル70、71からの仮想ドライブの特性を使用して応答する。
図12および13を参照すると、ステップ160は、ドライブをロックする要求を伴う、または伴わない、マウント・コマンド161、予約コマンド162、または「そこにいますか」要求のようなドライブの要求163の受領などの、トリガ・イベントの出現を指している。要求は、ドライブ・イメージ・プロバイダによって受け取られ、ドライブ・リソース・プロバイダが、図11のステップ144で通知を受け、あるいはマウント・コマンドがライブラリから、または仮想ライブラリから直接に受け取られた場合、このコマンドが、直接トリガ・イベントとしてドライブ・リソース・プロバイダに提供される。
ステップ170で、ドライブ・リソース・プロバイダが、要求側ホストによってトリガ・イベントが向けられた仮想ドライブを特定する。これは、通常、通知またはコマンド自体から特定される。ステップ172で、ドライブ・リソース・プロバイダは、仮想ドライブに関する図6および7のドライブ・イメージ・テーブル70、71を特定する。
ドライブ・イメージ・テーブルを特定すると、ドライブ・リソース・プロバイダは、ステップ175でそのドライブ・イメージ・テーブルにアクセスする。ステップ176で、ドライブ・リソース・プロバイダは、ドライブ・イメージ・テーブルから、物理ドライブが、そのイベントの仮想ドライブに専用であるかどうかを判定する。ドライブが専用化されている場合、プロセスは、ステップ177で終了し、ドライブ・イメージ・プロバイダが、図11のステップ143で示すとおり、要求側ホスト・アプリケーションと、仮想ドライブとしてのデータ・ストレージ・ドライブの間で通信を誘導している。
ドライブが専用化されていない場合、ドライブ・リソース・プロバイダは、ステップ180で、例えば図8のドライブ・テーブル80から、「n」−「m」がゼロより大きいかを判定する。「はい」の「n」−「m」がゼロより大きい場合、物理ドライブのすべてが割振り済みではなく、したがって、要求側ホスト・アプリケーションに割り振り、専用化するために物理ドライブが利用可能である。前述したとおり、ドライブのプールは、仮想ドライブの特性に適合するデータ・ストレージ・ドライブだけを含むことが可能である。例として、物理ドライブの多くは、ストリーミング・ドライブであり、要求される仮想ドライブは、そうではなく、ストップ−スタート式ドライブであることが可能である。
物理ドライブが利用可能であり、したがって、「n」−「m」>0である場合、ドライブ・リソース・プロバイダは、ステップ185で、物理ドライブを仮想ドライブに割り振り、物理ドライブを要求側ホスト・アプリケーションに専用にする。複数のドライブが利用可能である場合、特定のドライブの選択が、任意の適切なアルゴリズムに従って行われることが可能である。一例として、仮想ドライブに最も近い特性を有するドライブを選択することが可能である。別の例として、最も長い間、アイドルであったドライブを選択することが可能である。これにより、ドライブ・リソース・プロバイダは、「m」を値「m」+1に増分する。
ステップ185で物理データ・ストレージ・ドライブを割り振ると、ドライブ・リソース・プロバイダは、図6または7のドライブ・イメージ・テーブル70、71を更新する。前述したとおり、ドライブ・リソース・プロバイダは、これにより、データ・ストレージ・ドライブのプールの割り振られた専用のドライブを各ホスト・アプリケーションの仮想ドライブにマップする。更新されたドライブ・イメージ・テーブルは、ドライブ・リソース・プロバイダにおいて定期的にドライブ・イメージ・プロバイダによってアクセスされること、または各ドライブ・イメージ・プロバイダが、必要に応じて関連するドライブ・イメージ・テーブルにアクセスすることが可能である。図8のドライブ・テーブル80も更新され、ステップ185のドライブの割振りを含むことが可能である。ステップ187で、ドライブ・リソース・プロバイダが、後に述べるとおり、要求に関連する可搬データ・ストレージ・カートリッジのマウントの保留を解除するようにライブラリに指示する。
プールのデータ・ストレージ・ドライブのすべてが割振り済みであるときにデータ・ストレージ・ドライブの要求が受け取られたことを示す「n」−「m」がゼロに等しいこをと判定するステップ180で示されるとおり、「いいえ」の利用できる物理データ・ストレージ・ドライブが存在しない場合、ドライブ・リソース・プロバイダは、ステップ190で、その要求に関連する可搬データ・ストレージ・カートリッジのマウントを一切、保留するようにライブラリに指示する。このようにして、ライブラリは、カートリッジをマウントするのに利用可能な物理ドライブが存在しない場合に、所望の可搬データ・ストレージ・カートリッジを選択するアクセス機能ロボットの動きを開始することになるマウントを開始しない。ドライブなしのマウントを防止することにより、別のカートリッジをマウント解除して、マウント解除のドライブを利用可能にするのにアクセス機能ロボットが必要とされる可能性があるのに、1つのドライブにマウントされるべきカートリッジで当該のアクセス機能ロボットがロックアウトされる可能性が防止される。さらに、ステップ190で、マウント要求に対して偽の完了応答が提供され、これにより、コマンドを順次にしか扱うことができない場合に、「コマンド」ロックアップの可能性が防止される。ドライブが利用可能になり、いずれかのカートリッジがマウント解除されると、ステップ187で、マウントが解除される。ステップ180により、ドライブがまったく割り振られていないことが示された場合、ドライブ・リソース・プロバイダは、ステップ280で、ドライブ・イメージ・プロバイダに関するドライブ・イメージ・テーブル(例えば、図6のテーブル70)内に指示「W」をポストし、ドライブ・リソース・プロバイダが解放されたドライブを待っていることを示す。
単に、現在、割り振られているドライブが割振り解除されるのを待つ代わりに、様々なオプションの代案を使用して、物理ドライブを割り振ることができる。これらの代案を以下に説明する。これらの別法は、任意の順序で実施することができる。
ステップ180により、利用可能なドライブが存在しないことが示された場合、コネクタ208により、図13のステップ210に導かれる。ステップ210は、図9のライブラリ・イメージ・テーブル85の列88に描いたとおり、仮想ライブラリまたは仮想ドライブに相対優先順位が割り当てられている状況に関する。したがって、仮想ライブラリの少なくとも1つが、他の仮想ライブラリよりも高い優先順位を有する複数の仮想ライブラリを使用すると、ドライブ・リソース・プロバイダが、ステップ210で、仮想ライブラリ、または要求された仮想ドライブの優先順位を判定し、要求の仮想ライブラリまたは仮想ドライブがより高い優先順位であるかどうかを判定する。要求の仮想ライブラリまたは仮想ドライブがより高い優先順位である場合、ドライブ・リソース・プロバイダが、ステップ211で、より低い優先順位の仮想ライブラリからデータ・ストレージ・ドライブを選択する。ステップ212で、ドライブ・リソース・プロバイダが、より低い優先順位の仮想ライブラリのドライブ・イメージ・テーブルから選択されたデータ・ストレージ・ドライブを割振り解除し、その割振り解除をドライブ・イメージ・プロバイダに通知し、ステップ215で、割振り解除されたデータ・ストレージ・ドライブから可搬データ・ストレージ・カートリッジをマウント解除するようにそのライブラリに通知する。ドライブ・イメージ・プロバイダが、ステップ216で、ホスト・アプリケーションに対して、割振り解除されたデータ・ストレージ・ドライブの仮想ドライブを「ノット・レディー」として特徴付ける。ステップ220で、ドライブ・リソース・プロバイダが、割振り解除されたデータ・ストレージ・ドライブをより高い優先順位の仮想ライブラリに割り振る。コネクタ222によりステップ186に導かれ、ドライブが、ドライブ・イメージ・テーブル内で要求側ホスト・アプリケーションの仮想ドライブに専用にされ、ステップ187で、マウントの保留が解除される。ステップ150でドライブ・イメージ・プロバイダによって待ち行列に入れられた作業が、ステップ185、186、および187の結果、待機解除される。
前述したとおり、ドライブ・リソース・プロバイダは、さらに、複数のライブラリ・データ・ストレージ・ドライブの少なくとも1つをいずれのプールからも外れたスペア・ドライブとして割り当てることができる。すると、ドライブ・リソース・プロバイダは、スペア・ドライブを要求に割り振ることができる。一例として、より低い優先順位の状況において物理ドライブがまったく割り当てられていない場合、スペア・ドライブを使用することが可能である。別法として、高い優先順位の仮想ライブラリに関してだけ、スペア・ドライブを要求することも可能である。したがって、ステップ210により、要求の仮想ライブラリまたは仮想デバイスが高い優先順位であると判定された場合、ステップ230により、スペア・ドライブの使用が許可されるかどうかが判定される。ホスト・アプリケーションの優先順位がその判定に関与するか否かに関わらず、スペアの許可は、例えば、図9のライブラリ・イメージ・テーブル85の列89から判定することが可能である。
スペアが許可されたとしても、スペアの使用は制限される可能性がある。一例として、ステップ243によって検知されて、データ・ストレージ・ドライブが割振り解除され、解放される時間を見込むように、ステップ240でタイムアウトが設定される。ステップ243が示すところにより、ドライブが解放された場合、コネクタ205により、図12のステップ185に導かれ、解放されたドライブが割り振られる。ステップ243が示すところにより、解放されたドライブが存在しない場合、ステップ245により、タイムアウト期間が満了したかどうかが判定される。満了していない「いいえ」の場合、プロセスは、ステップ243に循環して戻り、解放されたドライブを待つ。
タイムアウト期間が満了した場合、スペアの使用に対するさらに別の制限を使用することができる。一例として、スペア・ドライブの使用は、所定の回数に制限することが可能である。以下に説明するとおり、システム・オペレータが、ドライブを「n」個のドライブのプールに追加するように要求され、スペア・ドライブを無制限に使用することを妨げられることが可能である。具体的には、ステップ253で、ドライブ・リソース・プロバイダが、プールのデータ・ストレージ・ドライブのすべてが割振り済みであるときにスペアの要求が受け取られた各回にカウントを増分する。ステップ254で、ドライブ・リソース・プロバイダが、増分されたカウントを所定の限度と比較し、増分されたカウントが所定の限度より少ない場合、ステップ255で、スペア・データ・ストレージ・ドライブを要求の仮想ライブラリに割り振る。図8のドライブ・テーブル80、および図9のライブラリ・イメージ・テーブル85が更新され、ドライブがスペアから解放されたドライブに移動されて、ドライブ「n」のプールが、「n」+1の値に一時的に増分され、テーブル85の列97の中でそのドライブが要求の仮想ライブラリに割り当てられる。コネクタ205により、要求側ホスト・アプリケーションの仮想ドライブに現時点で解放されたドライブを割り振るための図12のステップ185に導かれる。
オプションとして、ドライブ・リソース・プロバイダはさらに、スペア・データ・ストレージ・ドライブを割り振った後、ステップ260で、スペア・データ・ストレージ・ドライブの使用を示すメッセージをポストする。ポストされたメッセージは、一実施形態では、スペア・データ・ストレージ・ドライブをプールに移すアクションを行うことができるというシステム・マネージャに対する通知を含む。例として、スペア・ドライブをプールに移すことにより、ライブラリの費用が増大することがもたらされる。移転が行われる場合、ドライブ・リソース・プロバイダは、スペア・データ・ストレージ・ドライブをプールに永久に追加し、そのドライブをスペア・データ・ストレージ・ドライブとして削除する。
別の実施形態では、誘因として、ポストされたメッセージは、スペア・ドライブをプールに移すのを怠ることにより、スペア・データ・ストレージ・ドライブが将来、利用できなくなるという通知をさらに含み、ドライブ・リソース・プロバイダは、少なくとも1つのスペア・データ・ストレージ・ドライブをプールに移す要求がない場合、ライブラリデータ・ストレージ・ドライブのスペア・ドライブとしての割当てを削除し、割当て済みのスペア・ドライブが割当て解除されるようにする。前述したとおり、スペア・ドライブの使用は、ステップ254の所定の限度によって制限することが可能である。
ステップ230で、許可されているスペア・ドライブが存在しない場合、またはステップ253の増分されたカウントが、ステップ254の所定の限度に達している場合、ドライブ・リソース・プロバイダは、ステップ282で、データ・ストレージ・ドライブの割振り解除の要求、および割振り解除されたデータ・ストレージ・ドライブにおける可搬データ・ストレージ・カートリッジのマウント解除を待ち、データ・ストレージ・ドライブを解放する。ステップ282の判定により、解放されたドライブが存在しない場合、プロセスは、ループしつづける。ドライブが割振り解除されると、ステップ282は、ステップ185でドライブを要求しているホスト・アプリケーションに関する仮想ドライブに割振り解除されたデータ・ストレージ・ドライブを割り振るために図12のコネクタ205に進み、ステップ187の要求に関連するマウントの保留を解除するようにライブラリに指示する。
保留されたライブラリ・マウントを解除することに加えて、ドライブ・リソース・プロバイダは、保留されたマウント、または将来のマウントが実行されるべき専用物理データ・ストレージ・ドライブの指示も提供する。この指示は、ライブラリによってアクセスされる図8のドライブ・テーブル80に対するポスティングを含む。保留されたマウントの解除に関する補足の代案として、専用物理データ・ストレージ・ドライブの指示に、ライブラリに伝えられる解除指示を備える。
図14は、ステップ300のトリガ解除イベントに関する。トリガ解除イベントの一例は、所定のタイムアウト期間にわたって専用データ・ストレージ・ドライブが使用されないことを含む。一実施形態では、ドライブの使用を含む機能が、ステップ310で特定され、ステップ311で、そのドライブに関するタイマをリセットする。次に、ステップ312により、タイマが追跡され、期間が満了したかどうかが示される。
他のトリガ解除イベントは、仮想ドライブからカートリッジをマウント解除し、ストレージ・シェルフなどの別のポイントにカートリッジを移動するマウント解除要求315、予約された仮想データ・ストレージ・ドライブを解放する解放コマンド316、およびドライブ解放指示317を含む。前述したとおり、マウント解除コマンドは、通常、ライブラリに与えられ、図11のステップ135でドライブ・イメージ・プロバイダによって受け取られるコマンドではない。ライブラリは、マウント解除コマンドを受け取ると、仮想ドライブに専用の物理データ・ストレージ・ドライブを特定し、マウント解除を開始し、そのコマンドをドライブ・リソース・プロバイダに知らせる。解放コマンド、または仮想ドライブの解放を要求するコマンドが、図11のステップ135でドライブ・イメージ・プロバイダによって受け取られる。ドライブ・イメージ・プロバイダは、ステップ143で、そのコマンドがトリガ解除イベントであることを判定し、ステップ149でドライブ・リソース・プロバイダに通知する。図14のステップ320で、ドライブ・リソース・プロバイダが、要求側ホストがトリガ解除イベントを向けた仮想ドライブを特定する。これは、通常、コマンド自体から特定される。
ステップ325により、ドライブに可搬データ・ストレージ・カートリッジがマウントされているかどうかが判定される。これは、例えば、図1のライブラリ・プロセッサ45から判定することが可能である。マウント解除コマンドは、アクセス機能ロボットによる可搬カートリッジのマウント解除をもたらし、したがって、ステップ325により、ドライブにまったくカートリッジがマウントされていないことが示される。その他のトリガ解除イベントは、ドライブに可搬カートリッジがマウントされた状態では生じず、マウント解除を含まない可能性がある。ドライブにカートリッジがマウントされている場合、ドライブ・リソース・プロバイダは、ステップ326でカートリッジがマウント解除されるべきことをライブラリに指示する。
ステップ330で、ドライブ・リソース・プロバイダが、仮想ドライブに関する、またはステップ310〜312が物理ドライブを使用する場合、物理ドライブに関する図6または7のドライブ・イメージ・テーブル70、71を特定する。
ステップ331で、ドライブ・リソース・プロバイダは、ホスト・アプリケーションに関する仮想ドライブからドライブを割振り解除する。ドライブ・リソース・プロバイダは、ステップ343で、そのドライブが解放されたことを示し、「m」を「m」−1に減分する。オプションとして、スペア・ドライブが使用される場合、ステップ340により、割振り解除されたドライブが共用ドライブであったかどうかが判定される。共用ドライブであった場合、ステップ341は、そのドライブを元のステータスに戻し、「n」を「n」−1に減分する。ドライブがスペアであった場合、システム・オペレータは、次に、図13のステップ260のメッセージに応答し、1つまたは複数のスペア・ドライブをプールに追加することができる。ドライブがスペア・ドライブではなかった場合、ドライブ・リソース・プロバイダは、ステップ345に直接に進む。ステップ345で、図8のドライブ・テーブル80内でドライブをスペア・ドライブとしての元のステータスに戻して、または図8のドライブ・テーブル内でそのドライブが解放されたことを示して、テーブルが更新される。
図15〜17は、データ・ストレージ・ドライブを仮想ライブラリに対してロックすること、およびロック解除することを表わしている。図15のステップ400は、ロックを伴ってドライブが要求される図12のトリガ・イベント160を表わしている。ステップ401は、ドライブを仮想ドライブに専用にするための図12のステップ185と等価であり、図8のドライブ・テーブル80のドライブ「DR1」によって示されるとおり、ドライブ・テーブルに「ロック」を追加することをさらに含む。
図16のステップ410は、ロックの解除とともにドライブがホスト・アプリケーションによって解放される図14のトリガ解除イベント300を表わしている。ステップ411は、ステップ300に続いてすぐに行われることが可能であり、コマンドがロックの解除を含むかどうかの判定を含む。ロックの解除を含む場合、ロックは、ステップ412で、図8のドライブ・テーブル80においてドライブ・リソース・プロバイダによって解除される。
ステップ420は、マウント解除コマンドなどのロックの解除を含まない図14のトリガ解除イベント300を表わしている。ステップ421は、例えば、図8のドライブ・テーブル80を参照して、ドライブがロックされているかどうかを判定する。ドライブがロックされていない場合、図13のステップ320〜345のプロセスが行われる。デバイスがロックされており、図16のステップ412でロック解除されない場合、ステップ425で、要求されたイベントが行われ、ステップ426で、テーブルが変更のないままにされ、したがって、ドライブは、ホスト・アプリケーションにロックされたままになる。
以上のプロセスのステップは、適宜、順序を変更すること、または組合せること、および詳細を変更することができる。
本発明の好ましい実施形態を詳細に示したが、頭記の特許請求の範囲に記載する本発明の範囲を逸脱することなく、これらの実施形態に対する変更および適合を行うことができることは、当分野の技術者には明白であろう。
本発明による仮想化システムを示す図である。 本発明の実施形態を実施することが可能な自動化されたデータ・ストレージ・ライブラリを示す等角図である。 図2の自動化されたデータ・ストレージ・ライブラリを、ホスト・アプリケーション、および本発明の実施形態を実施することが可能なホスト・アプリケーションと自動化されたデータ・ストレージ・ライブラリの中間の構成要素とともに示すブロック図である。 図2および3の自動化されたデータ・ストレージ・ライブラリのストレージ・シェルフの中に格納することが可能な例示的な可搬データ・ストレージ・カートリッジを示す平面図である。 図2および3の自動化されたデータ・ストレージ・ライブラリのストレージ・シェルフの中に格納することが可能な例示的な可搬データ・ストレージ・カートリッジを示す端面図である。 本実施形態による例示的なドライブ・イメージ・テーブルを示す図である。 本実施形態による例示的なドライブ・イメージ・テーブルを示す図である。 本実施形態による例示的なドライブ・テーブルを示す図である。 本実施形態による例示的なライブラリ・イメージ・テーブルを示す図である。 図2および3の自動化されたデータ・ストレージ・ライブラリのドライブを構成するため、またはその構成を変更するための本発明の方法の実施形態を描いた流れ図である。 図1のドライブ・イメージ・プロバイダに関する本発明の方法の実施形態を描いた流れ図である。 トリガ・イベントに関して図1のドライブ・リソース・プロバイダに関する本発明の方法の実施形態を描いた流れ図である。 トリガ・イベントに関して図1のドライブ・リソース・プロバイダに関する本発明の方法の実施形態を描いた流れ図である。 トリガ解除イベントに関して図1のドライブ・リソース・プロバイダに関する本発明の方法の実施形態を描いた流れ図である。 データ・ストレージ・ドライブをロックするための図1のドライブ・リソース・プロバイダに関する本発明の方法の代替の実施形態を描いた流れ図である。 データ・ストレージ・ドライブをロックするための図1のドライブ・リソース・プロバイダに関する本発明の方法の代替の実施形態を描いた流れ図である。 データ・ストレージ・ドライブをロックすることに関して図1のドライブ・リソース・プロバイダに関する本発明の方法の代替の実施形態を描いた流れ図である。

Claims (30)

  1. データ・ストレージ・ドライブの少なくとも1つの要求に応答して、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、データ・ストレージ・ドライブにおいて前記可搬データ・ストレージ・カートリッジのマウントおよびマウント解除を行うために前記ストレージ・シェルフと前記データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶ自動化されたデータ・ストレージ・ライブラリの前記データ・ストレージ・ドライブを割り振るための割振りシステムであって、
    複数の前記ライブラリ・データ・ストレージ・ドライブをプールに割り当て、前記プールに対して前記データ・ストレージ・ドライブの割振りおよび割振り解除を行うドライブ・リソース・プロバイダを含み、前記ドライブ・リソース・プロバイダが、前記プールの前記データ・ストレージ・ドライブのすべてが割振り済みであるときにデータ・ストレージ・ドライブの前記要求を受け取ると、前記要求に関連する可搬データ・ストレージ・カートリッジのマウントを一切、保留するように前記ライブラリに指示するシステム。
  2. 前記プールの前記データ・ストレージ・ドライブのすべてが割振り済みであるときにデータ・ストレージ・ドライブの前記要求を受け取ると、マウント済みの可搬データ・ストレージ・カートリッジを必要とする後続のコマンドを完了するのに前記要求されたデータ・ストレージ・ドライブが、現在、利用できないことを示す前記ドライブ・リソース・プロバイダに結合されたドライブ・イメージ・プロバイダをさらに含む請求項1に記載の割振りシステム。
  3. 前記ドライブ・リソース・プロバイダがさらに、前記指示の後、データ・ストレージ・ドライブの割振り解除、および前記割振り解除されたデータ・ストレージ・ドライブにおける可搬データ・ストレージ・カートリッジのマウント解除を待ち、前記割振り解除されたデータ・ストレージ・ドライブを前記要求に割り振り、前記要求に関連する前記マウントの前記保留を解除するように前記ライブラリに指示する請求項1または2に記載の割振りシステム。
  4. 前記ドライブ・リソース・プロバイダがさらに、前記複数のライブラリ・データ・ストレージ・ドライブの少なくとも1つを前記プールの外のスペア・データ・ストレージ・ドライブとして割り当て、前記指示の後、前記少なくとも1つのスペア・データ・ストレージ・ドライブの前記1つを前記要求に割り振り、前記要求に関連する前記マウントの前記保留を解除するように前記ライブラリに指示する請求項1、2、または3に記載の割振りシステム。
  5. 前記ドライブ・リソース・プロバイダが、前記指示の後、所定の期間だけ待ち、データ・ストレージ・ドライブの割振り解除、および前記割振り解除されたデータ・ストレージ・ドライブにおける可搬データ・ストレージ・カートリッジのマウント解除を待ち、前記所定の期間中、前記割振り解除が行われた場合、前記割振り解除されたデータ・ストレージ・ドライブを前記要求に割り振り、行われなかった場合、前記期間の満了後、前記スペア・データ・ストレージ・ドライブを前記要求に割り振り、前記要求に対するデータ・ストレージ・ドライブの前記割振りの後、前記要求に関連する前記マウントの前記保留を解除するように前記ライブラリに指示する請求項4に記載の割振りシステム。
  6. 前記ライブラリが、データ・ストレージ・ドライブの前記少なくとも1つの要求に応答する複数の仮想ライブラリを含み、前記システムが、前記自動化されたデータ・ストレージ・ライブラリのデータ・ストレージ・ドライブを前記複数の仮想ライブラリに割り振り、前記複数の仮想ライブラリの少なくとも1つが、前記仮想ライブラリのその他よりも高い優先順位であり、前記ドライブ・リソース・プロバイダがさらに、データ・ストレージ・ドライブの前記要求の前記仮想ライブラリの前記優先順位を判定し、前記仮想ライブラリが前記より高い優先順位である場合、前記スペア・データ・ストレージ・ドライブを前記要求に割り振り、前記要求に関連する前記マウントの前記保留を解除するように前記ライブラリに指示する請求項4または5に記載の割振りシステム。
  7. 前記ドライブ・リソース・プロバイダがさらに、前記プールの前記データ・ストレージ・ドライブのすべてが割振り済みであるときに前記要求が受け取られた各回にカウントを増分し、前記増分されたカウントを所定の限度と比較し、前記増分されたカウントが前記所定の限度より少ない場合、前記スペア・データ・ストレージ・ドライブを割り振る請求項4、5、または6に記載の割振りシステム。
  8. 前記ドライブ・リソース・プロバイダがさらに、前記スペア・データ・ストレージ・ドライブの前記割振りの後、前記スペア・データ・ストレージ・ドライブの使用を示すメッセージをポストする請求項4、5、または6に記載の割振りシステム。
  9. 前記ドライブ・リソース・プロバイダによってポストされたメッセージが、少なくとも1つの前記スペア・データ・ストレージ・ドライブを前記プールに移すアクションを行うことができるというシステム・オペレータに対する通知を含む請求項8に記載の割振りシステム。
  10. 前記ドライブ・リソース・プロバイダがさらに、少なくとも1つのスペア・データ・ストレージ・ドライブを前記プールに移す要求に応答し、少なくとも1つの前記スペア・データ・ストレージ・ドライブを前記プールに追加し、前記データ・ストレージ・ドライブをスペア・データ・ストレージ・ドライブとして削除する請求項9に記載の割振りシステム。
  11. 前記ドライブ・リソース・プロバイダによってポストされたメッセージは、前記スペア・ドライブを前記プールに移すのを怠ることにより、スペア・データ・ストレージ・ドライブが将来、利用できなくなるという通知をさらに含み、前記ドライブ・リソース・プロバイダが、少なくとも1つのスペア・データ・ストレージ・ドライブを前記プールに移す要求がない場合、前記複数のライブラリデータ・ストレージ・ドライブの少なくとも1つのスペア・ドライブとしての割当てを削除し、前記割当て済みのスペア・ドライブが割当て解除されるようにする請求項10に記載の割振りシステム。
  12. 前記ドライブ・リソース・プロバイダがさらに、前記マウントに応答して偽の完了応答が提供されるべきことを指示する請求項1ないし11のいずれか一項に記載の割振りシステム。
  13. データ・ストレージ・ドライブの少なくとも1つの要求に応答して、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、データ・ストレージ・ドライブにおいて前記可搬データ・ストレージ・カートリッジのマウントおよびマウント解除を行うために前記ストレージ・シェルフと前記データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶ自動化されたデータ・ストレージ・ライブラリの前記データ・ストレージ・ドライブを割り振るための割振り方法であって、
    複数の前記ライブラリ・データ・ストレージ・ドライブをプールに割り当て、前記プールに対して前記データ・ストレージ・ドライブの割振りおよび割振り解除を行うステップと、
    前記プールの前記データ・ストレージ・ドライブのすべてが割振り済みであるときにデータ・ストレージ・ドライブの前記要求を受け取ると、前記要求に関連する可搬データ・ストレージ・カートリッジのマウントを一切、保留するように前記ライブラリに指示するステップとを含む方法。
  14. 少なくとも1つのホスト・アプリケーションがデータ・ストレージ・ドライブおよび自動化されたデータ・ストレージ・ライブラリに結合された、データ・ストレージ・ドライブの少なくとも1つの要求に応答して、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、前記データ・ストレージ・ドライブにおいて前記可搬データ・ストレージ・カートリッジのマウントおよびマウント解除を行うために前記ストレージ・シェルフと前記データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶ前記自動化されたデータ・ストレージ・ライブラリの前記データ・ストレージ・ドライブを割り振るためのコンピュータ可読プログラム・コードを内部に実現しているプログラマブル・コンピュータで使用可能なコンピュータ可読媒体のコンピュータ・プログラム製品であって、
    コンピュータ・プロセッサが、複数の前記ライブラリ・データ・ストレージ・ドライブをプールに割り当て、前記プールに対して前記データ・ストレージ・ドライブの割振りおよび割振り解除を行うようにさせるコンピュータ可読プログラム・コードと、
    コンピュータ・プロセッサが、前記プールの前記データ・ストレージ・ドライブのすべてが割振り済みであるときにデータ・ストレージ・ドライブの前記要求を受け取ると、前記要求に関連する可搬データ・ストレージ・カートリッジのマウントを一切、保留するように前記ライブラリに指示するようにさせるコンピュータ可読プログラム・コードとを含む製品。
  15. 少なくとも1つのホスト・アプリケーションに結合された自動化されたデータ・ストレージ・ライブラリであって、
    複数のデータ・ストレージ・ドライブと、
    複数の可搬データ・ストレージ・カートリッジを格納するための複数のストレージ・シェルフと、
    前記ストレージ・シェルフと前記データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶためのアクセス機能ロボットと、
    前記アクセス機能ロボットを操作するためのロボット・コントロールと、
    複数の前記ライブラリ・データ・ストレージ・ドライブをプールに割り当て、前記プールに対して前記データ・ストレージ・ドライブの割振りおよび割振り解除を行う前記ロボット・コントロールに結合されたドライブ・リソース・プロバイダとを含み、前記ドライブ・リソース・プロバイダが、前記プールの前記データ・ストレージ・ドライブのすべてが割振り済みであるときにデータ・ストレージ・ドライブの前記要求を受け取ると、前記要求に関連する可搬データ・ストレージ・カートリッジのマウントを一切、保留するように前記ロボット・コントロールに指示するライブラリ。
  16. 固定識別を有する固定の複数の仮想データ・ストレージ・ドライブのイメージをホスト・アプリケーションに提供する自動化されたデータ・ストレージ・ライブラリのための仮想化の方法であって、
    「n」個のドライブのプールの任意の「m」個をドライブ・イメージ・プロバイダに割り当て、前記プールの「n」−「m」個が解放され、割当てに利用できるステップと、
    ドライブを要求するトリガ・イベントに応答し、前記プールの前記「n」−「m」個のドライブの1つを前記仮想ドライブに専用にするステップと、
    前記ホストと固定の仮想ドライブとしての前記専用化されたドライブとの間で通信を誘導するステップと、
    ドライブの前記専用化に先立ち、前記要求側ホスト・アプリケーションに対して前記仮想ドライブを「ノット・レディー」として特徴付けるステップとを含む方法。
  17. 少なくとも1つのホスト・アプリケーションと、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、前記ストレージ・シェルフと物理データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶ自動化されたデータ・ストレージ・ライブラリの前記物理データ・ストレージ・ドライブとの間で通信を誘導するための仮想化システムであって、
    前記少なくとも1つのホスト・アプリケーションに結合され、前記少なくとも1つのホスト・アプリケーションに少なくとも1つの固定の仮想データ・ストレージ・ドライブのイメージを提供し、前記少なくとも1つの固定の仮想データ・ストレージ・ドライブのそれぞれに関して前記少なくとも1つのホスト・アプリケーションに固定識別および固定の1組の応答を提供し、前記少なくとも1つのホスト・アプリケーションと、前記自動化されたデータ・ストレージ・ライブラリの「n」個の前記物理データ・ストレージ・ドライブのプールの物理データ・ストレージ・ドライブとの間で通信を誘導する少なくとも1つのドライブ・イメージ・プロバイダと、
    任意の一時点で、物理データ・ストレージ・ドライブの前記プールの任意の「m」個を前記仮想データ・ストレージ・ドライブに割り当て、物理データ・ストレージ・ドライブの前記プールの「n」−「m」個が、解放され、割当てに利用できるとして示される前記少なくとも1つのドライブ・イメージ・プロバイダに結合されたドライブ・リソース・プロバイダとを含み、前記ドライブ・リソース・プロバイダは、前記仮想データ・ストレージ・ドライブの1つを要求する前記少なくとも1つのホスト・アプリケーションのトリガ・イベントに応答し、前記プールの前記「n」−「m」個の物理データ・ストレージ・ドライブの1つを前記1つの仮想データ・ストレージ・ドライブに専用にし、前記仮想物理データ・ストレージ・ドライブの前記ドライブ・イメージ・プロバイダに、前記プールの前記「n」−「m」個の物理データ・ストレージ・ドライブの1つが前記1つの仮想データ・ストレージ・ドライブに専用であることの指示を提供し、前記ドライブ・イメージ・プロバイダが、前記1つの固定の仮想ドライブとして前記要求側ホスト・アプリケーションに前記専用化された物理データ・ストレージ・ドライブを表わし、前記ドライブ・イメージ・プロバイダが、前記要求側ホスト・アプリケーションによる前記仮想データ・ストレージ・ドライブとしての前記専用化された物理データ・ストレージ・ドライブに対する通信を誘導し、前記ドライブ・リソース・プロバイダが前記物理データ・ストレージ・ドライブを専用化するのに先立って前記要求側ホスト・アプリケーションが仮想データ・ストレージ・ドライブを要求すると、前記ドライブ・イメージ・プロバイダが、前記要求側ホスト・アプリケーションに対して前記仮想データ・ストレージ・ドライブを「ノット・レディー」として表わすシステム。
  18. 前記トリガ・イベントが、
    仮想データ・ストレージ・ドライブにおいて前記可搬データ・ストレージ・カートリッジの選択された1つをマウントする前記要求側ホスト・アプリケーションによる要求であって、
    前記ドライブ・リソース・プロバイダがさらに、前記プールの前記「n」−「m」個のデータ・ストレージ・ドライブの前記専用化された1つにおいて前記選択された可搬データ・ストレージ・カートリッジがマウントされるべきことを前記ライブラリに示す要求か、
    前記ドライブ・イメージ・プロバイダの仮想データ・ストレージ・ドライブに関する前記要求側ホスト・アプリケーションによる「予約」要求であって、
    前記ドライブ・イメージ・プロバイダが、前記要求を前記ドライブ・リソース・プロバイダに通知し、前記ドライブ・リソース・プロバイダがさらに、前記仮想データ・ストレージ・ドライブにおいてマウントするために選択された可搬データ・ストレージ・カートリッジをマウントするために前記専用化された物理データ・ストレージ・ドライブが前記仮想データ・ストレージ・ドライブに専用化されていることを前記ライブラリに示す要求か、または
    仮想データ・ストレージ・ドライブに関する前記要求側ホスト・アプリケーションによる要求であって、
    前記ドライブ・リソース・プロバイダがさらに、前記仮想データ・ストレージ・ドライブにおいてマウントするために選択された可搬データ・ストレージ・カートリッジをマウントするために前記専用化された物理データ・ストレージ・ドライブが前記仮想データ・ストレージ・ドライブに専用化されていることを前記ライブラリに示す要求のいずれかを含む請求項17に記載の仮想化システム。
  19. 前記ドライブ・リソース・プロバイダがさらに、前記専用化された物理データ・ストレージ・ドライブを含む前記仮想データ・ストレージ・ドライブに関連するトリガ解除イベントに応答し、前記ドライブ・リソース・プロバイダが、前記物理データ・ストレージ・ドライブが前記仮想データ・ストレージ・ドライブから解放され、前記プールの前記解放された物理データ・ストレージ・ドライブに追加されたことを示す請求項17または18に記載の仮想化システム。
  20. 前記トリガ解除イベントが、
    前記仮想データ・ストレージ・ドライブの1つとして特定された前記専用化された物理データ・ストレージ・ドライブから前記可搬データ・ストレージ・カートリッジの前記1つをマウント解除する前記少なくとも1つのホスト・アプリケーションによるコマンドであって、
    前記ドライブ・リソース・プロバイダがさらに、前記可搬データ・ストレージ・カートリッジの前記1つがマウント解除されるべきことの指示を前記ライブラリに提供するコマンドか、
    前記仮想データ・ストレージ・ドライブの1つを解放する前記少なくとも1つのホスト・アプリケーションによる前記ドライブ・イメージ・プロバイダに対するコマンドであって、
    前記ドライブ・イメージ・プロバイダが、前記コマンドを前記ドライブ・リソース・プロバイダに通知し、前記専用化された物理データ・ストレージ・ドライブにマウントされた前記可搬データ・ストレージ・カートリッジをマウント解除するように前記ライブラリにさらに通知するコマンドか、
    または所定のタイムアウト期間にわたる前記専用化された物理データ・ストレージ・ドライブの非使用であって、
    前記所定のタイムアウト期間の満了後、前記ドライブ・リソース・プロバイダがさらに、前記専用化された物理データ・ストレージ・ドライブにマウントされた前記可搬データ・ストレージ・カートリッジをマウント解除するように前記ライブラリに通知する非使用のうち1つまたは複数を含む請求項19に記載の仮想化システム。
  21. 複数の仮想ライブラリをさらに含み、前記仮想ライブラリの少なくとも1つにより高い優先順位が割り当てられ、前記プールの前記物理データ・ストレージ・ドライブのすべてが専用化されていることを意味して「m」−「n」がゼロに等しくなり、前記より高い優先順位の仮想ライブラリに関するトリガ・イベントが生じると、前記ドライブ・リソース・プロバイダが、より低い優先順位の前記仮想ライブラリから物理データ・ストレージ・ドライブを割振り解除し、前記割振り解除を前記ドライブ・イメージ・プロバイダに通知し、前記割振り解除された物理データ・ストレージ・ドライブから可搬データ・ストレージ・カートリッジをマウント解除するように前記ライブラリに通知し、前記割振り解除された物理データ・ストレージ・ドライブを前記より高い優先順位のホスト・アプリケーションに関する前記仮想データ・ストレージ・ドライブに専用にし、前記ドライブ・イメージ・プロバイダが、前記より低い優先順位の仮想ライブラリの前記ホスト・アプリケーションに対して前記割振り解除された物理データ・ストレージ・ドライブの前記仮想データ・ストレージ・ドライブを「ノット・レディー」として特徴付ける請求項17ないし20のいずれか一項に記載の仮想化システム。
  22. 前記ドライブ・リソース・プロバイダが、前記仮想データ・ストレージ・ドライブの1つに対して前記物理データ・ストレージ・ドライブの1つをロックして、前記物理データ・ストレージ・ドライブが解放されたドライブとして利用できないようにする請求項17ないし21のいずれか一項に記載の仮想化システム。
  23. 前記物理データ・ストレージ・ドライブの少なくとも1つの追加、削除、交換が、前記ドライブ・リソース・プロバイダのデータ・ストレージ・ドライブの前記プール内で行われ、前記ドライブ・イメージ・プロバイダが、前記仮想データ・ストレージ・ドライブを無変更として表わす請求項17ないし22のいずれか一項に記載の仮想化システム。
  24. 前記ドライブ・イメージ・プロバイダの表現が、前記無変更の仮想データ・ストレージ・ドライブのそれぞれに関して同じ固有通し番号を使用すること、および前記無変更の仮想データ・ストレージ・ドライブのそれぞれに関して同じアドレスを使用することの1つまたは複数を含む請求項17ないし23のいずれかに記載の仮想化システム。
  25. 前記ドライブ・イメージ・プロバイダが、前記少なくとも1つのホスト・アプリケーションのデバイス・ドライバを含み、前記ドライブ・リソース・プロバイダが、複数の前記ホスト・アプリケーションのデバイス・ドライバを含むこと、
    前記ドライブ・リソース・プロバイダが、前記少なくとも1つのホスト・アプリケーションと前記自動化されたデータ・ストレージ・ライブラリの中間の構成要素を含み、前記ドライブ・イメージ・プロバイダが、前記少なくとも1つのホスト・アプリケーションのデバイス・ドライバを含み、前記ドライブ・リソース・プロバイダが、前記自動化されたデータ・ストレージ・ライブラリの構成要素を含むことのいずれか1つまたは両方を含むものである請求項17ないし24のいずれか一項に記載の仮想化システム。
  26. 少なくとも1つのホスト・アプリケーションと、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、前記ストレージ・シェルフと前記物理データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶ自動化されたデータ・ストレージ・ライブラリの物理データ・ストレージ・ドライブとの間で通信を誘導するための仮想化方法であって、
    前記少なくとも1つのホスト・アプリケーションに応答し、少なくとも1つの固定の仮想データ・ストレージ・ドライブのイメージを提供し、前記少なくとも1つの固定の仮想データ・ストレージ・ドライブのそれぞれに関して前記少なくとも1つのホスト・アプリケーションに固定識別および固定の1組の応答を提供し、前記少なくとも1つのホスト・アプリケーションと前記自動化されたデータ・ストレージ・ライブラリの前記物理データ・ストレージ・ドライブの間で通信を誘導するステップと、
    前記自動化されたデータ・ストレージ・ライブラリの「n」個の物理データ・ストレージ・ドライブのプールを提供し、任意の一時点で、物理データ・ストレージ・ドライブの前記プールの任意の「m」個を割り当て、データ・ストレージ・ドライブの前記プールの「n」−「m」個が解放され、割当に利用できるとして示されるステップと、
    前記仮想データ・ストレージ・ドライブの1つを要求する前記少なくとも1つのホスト・アプリケーションのトリガ・イベントに応答し、前記プールの前記「n」−「m」個の物理データ・ストレージ・ドライブの1つを前記1つの仮想データ・ストレージ・ドライブに専用にするステップと、
    前記要求側ホスト・アプリケーションに対して前記専用化された物理データ・ストレージ・ドライブを前記1つの固定仮想ドライブとして特徴付け、前記要求側ホスト・アプリケーションによる前記仮想データ・ストレージ・ドライブとしての前記専用化された物理データ・ストレージ・ドライブに対する通信を誘導するステップと、
    前記専用化ステップが前記物理データ・ストレージ・ドライブを専用化するのに先立って前記要求側ホスト・アプリケーションが仮想データ・ストレージ・ドライブを要求すると、前記要求側ホスト・アプリケーションに対して前記仮想データ・ストレージ・ドライブを「ノット・レディー」として特徴付けるステップとを含む方法。
  27. 少なくとも1つのホスト・アプリケーションと、前記ホスト・アプリケーションが結合された、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、前記ストレージ・シェルフと物理データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶ自動化されたデータ・ストレージ・ライブラリの前記物理データ・ストレージ・ドライブとの間で仮想化された通信を誘導するためのコンピュータ可読プログラム・コードを内部に実現しているプログラマブル・コンピュータで使用可能なコンピュータ可読媒体のコンピュータ・プログラム製品であって、
    コンピュータ・プロセッサが、前記少なくとも1つのホスト・アプリケーションに応答し、少なくとも1つの固定の仮想ドライブのイメージを提供し、前記少なくとも1つの固定の仮想データ・ストレージ・ドライブのそれぞれに関して前記少なくとも1つのホスト・アプリケーションに固定識別子および固定の1組の応答を提供し、前記少なくとも1つのホスト・アプリケーションと前記自動化されたデータ・ストレージ・ライブラリの物理データ・ストレージ・ドライブの間で通信を誘導するようにさせるコンピュータ可読プログラム・コードと、
    コンピュータ・プロセッサが、前記自動化されたデータ・ストレージ・ライブラリの「n」個の前記物理データ・ストレージ・ドライブのプールを特定し、任意の一時点で、物理データ・ストレージ・ドライブの前記プールの任意の「m」個を割り当て、物理データ・ストレージ・ドライブの前記プールの「n」−「m」個が解放され、割当てに利用可能であるとして示されるようにすることを行うようにさせるコンピュータ可読プログラム・コードと、
    コンピュータ・プロセッサが、前記仮想データ・ストレージ・ドライブの1つを要求する前記少なくとも1つのホスト・アプリケーションのトリガ・イベントに応答し、前記プールの前記「n」−「m」個の物理データ・ストレージ・ドライブの1つを前記1つの仮想データ・ストレージ・ドライブに専用にするようにさせるコンピュータ可読プログラム・コードと、
    コンピュータ・プロセッサが、前記要求側ホスト・アプリケーションに対して前記専用化された物理データ・ストレージ・ドライブを前記1つの固定の仮想ドライブとして特徴付け、前記要求側ホスト・アプリケーションによる前記仮想データ・ストレージ・ドライブとしての前記専用化された物理データ・ストレージ・ドライブに対する通信を誘導するようにさせるコンピュータ可読プログラム・コードと、
    コンピュータ・プロセッサが、前記物理データ・ストレージ・ドライブの前記専用化に先立って前記要求側ホスト・アプリケーションが仮想データ・ストレージ・ドライブを要求すると、前記要求側ホスト・アプリケーションに対して前記仮想データ・ストレージ・ドライブを「ノット・レディー」として特徴づけるようにさせるコンピュータ可読プログラム・コードとを含む製品。
  28. 少なくとも1つのホスト・アプリケーションに結合された自動化されたデータ・ストレージ・ライブラリであって、
    複数の物理データ・ストレージ・ドライブと、
    複数の可搬データ・ストレージ・カートリッジを格納するための複数のストレージ・シェルフと、
    前記ストレージ・シェルフと前記物理データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶためのアクセス機能ロボットと、
    前記アクセス機能ロボットを操作するためのロボット・コントロールと、
    前記少なくとも1つのホスト・アプリケーションに結合され、少なくとも1つの固定の仮想データ・ストレージ・ドライブのイメージを提供し、前記少なくとも1つの固定の仮想データ・ストレージ・ドライブのそれぞれに関して前記少なくとも1つのホスト・アプリケーションに固定識別と固定の1組の応答を提供し、前記少なくとも1つのホスト・アプリケーションと、「n」個の物理データ・ストレージ・ドライブのプールの物理データ・ストレージ・ドライブとの間で通信を誘導するための少なくとも1つのドライブ・イメージ・プロバイダと、
    前記少なくともドライブ・イメージ・プロバイダに結合され、任意の一時点で、物理データ・ストレージ・ドライブの前記プールの任意の「m」個を前記仮想データ・ストレージ・ドライブに割り当て、物理データ・ストレージ・ドライブの前記プールの「n」−「m」個が解放されて、割当てに利用できるとして示されるドライブ・リソース・プロバイダとを含み、前記ドライブ・リソース・プロバイダは、前記仮想データ・ストレージ・ドライブの1つを要求する前記少なくとも1つのホスト・アプリケーションのトリガ・イベントに応答し、前記プールの前記「n」−「m」個の物理データ・ストレージ・ドライブを前記1つの仮想データ・ストレージ・ドライブに専用にし、前記仮想データ・ストレージ・ドライブの前記ドライブ・イメージ・プロバイダに、前記プールの前記「n」−「m」個の物理データ・ストレージ・ドライブが前記1つの仮想データ・ストレージ・ドライブに専用にされていることの指示を提供し、前記ドライブ・イメージ・プロバイダが、前記要求側ホスト・アプリケーションに対して前記専用化された物理データ・ストレージ・ドライブを前記1つの固定の仮想ドライブとして特徴付け、前記ドライブ・イメージ・プロバイダが、前記要求側ホスト・アプリケーションによる前記仮想データ・ストレージ・ドライブとしての前記専用化された物理データ・ストレージ・ドライブに対する通信を誘導し、前記ドライブ・リソース・プロバイダが前記物理データ・ストレージ・ドライブを専用化するのに先立って前記要求側ホスト・アプリケーションが仮想データ・ストレージ・ドライブを要求すると、前記ドライブ・イメージ・プロバイダが、前記要求側ホスト・アプリケーションに対して前記仮想データ・ストレージ・ドライブを「ノット・レディー」として特徴付けるライブラリ。
  29. 少なくとも1つのホスト・アプリケーションと、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、前記ストレージ・シェルフと物理データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶ自動化されたデータ・ストレージ・ライブラリの前記物理データ・ストレージ・ドライブとの間で通信を誘導するための仮想化システムであって、
    固定の複数の仮想データ・ストレージ・ドライブのイメージを提供する前記仮想データ・ストレージ・ドライブのリストを含む少なくとも1つのドライブ・イメージ・テーブル、およびそれぞれの前記仮想データ・ストレージ・ドライブに関する固定識別子を提供し、任意の一時点で、前記自動化されたデータ・ストレージ・ライブラリの「n」個の前記物理データ・ストレージ・ドライブのプールの物理データ・ストレージ・ドライブの任意の「m」個を割り当て、データ・ストレージ・ドライブの前記プールの「n」−「m」個が解放され、割当てに利用できるとして示され、前記仮想データ・ストレージ・ドライブの1つを要求する前記少なくとも1つのホスト・アプリケーションのトリガ・イベントに応答し、前記プールの前記「n」−「m」個の物理データ・ストレージ・ドライブの1つを前記1つの仮想データ・ストレージ・ドライブに専用にし、前記ドライブ・イメージ・テーブル内で前記専用化された物理データ・ストレージ・ドライブを前記1つの仮想データ・ストレージ・ドライブとして特定するドライブ・リソース・プロバイダと、
    前記少なくとも1つのホスト・アプリケーションに結合され、前記ドライブ・リソース・プロバイダに結合された少なくとも1つのドライブ・イメージ・プロバイダであって、
    対応する前記ドライブ・イメージ・テーブルから導出された前記固定の仮想データ・ストレージ・ドライブの少なくとも1つのイメージを前記少なくとも1つのホスト・アプリケーションに提供し、前記固定の複数の仮想ドライブのそれぞれに関して前記少なくとも1つのホスト・アプリケーションに前記固定識別および固定の1組の応答を提供し、前記少なくとも1つのホスト・アプリケーションと前記自動化されたデータ・ストレージ・ライブラリの物理データ・ストレージ・ドライブの前記プールの前記物理データ・ストレージ・ドライブとの間で通信を誘導し、前記ドライブ・イメージ・テーブル内の前記物理データ・ストレージ・ドライブの前記専用化および前記特定に応答し、前記要求側ホスト・アプリケーションに対して前記専用化された物理データ・ストレージ・ドライブを前記固定の仮想データ・ストレージ・ドライブとして特徴付け、前記仮想データ・ストレージ・ドライブとしての前記専用化されたデータ・ストレージ・ドライブと前記要求側ホスト・アプリケーションの間の通信を誘導し、前記ドライブ・リソース・プロバイダが前記物理データ・ストレージ・ドライブを専用化することに先立って前記要求側ホスト・アプリケーションが仮想データ・ストレージ・ドライブを要求すると、前記要求側ホスト・アプリケーションに対して前記仮想データ・ストレージ・ドライブを「ノット・レディー」として特徴付けるドライブ・イメージ・プロバイダとを含むシステム。
  30. 少なくとも1つのホスト・アプリケーションと、ストレージ・シェルフの中に複数の可搬データ・ストレージ・カートリッジを格納し、前記ストレージ・シェルフと物理データ・ストレージ・ドライブの間で前記可搬データ・ストレージ・カートリッジを運ぶ自動化されたデータ・ストレージ・ライブラリの前記物理データ・ストレージ・ドライブとの間で通信を誘導するための仮想化方法であって、
    固定の複数の仮想データ・ストレージ・ドライブのイメージを提供する前記仮想データ・ストレージ・ドライブのリストを含む少なくとも1つのドライブ・イメージ・テーブル、およびそれぞれの前記仮想データ・ストレージ・ドライブに関する固定識別を提供するステップと、
    前記少なくとも1つのホスト・アプリケーションに応答し、対応する前記ドライブ・イメージ・テーブルから導出された前記固定の仮想データ・ストレージ・ドライブの少なくとも1つのイメージを前記少なくとも1つのホスト・アプリケーションに提供し、前記固定の仮想データ・ストレージ・ドライブのそれぞれに関して前記固定識別および前記固定の1組の応答を前記少なくとも1つのホスト・アプリケーションに提供するステップと、
    前記少なくとも1つのホスト・アプリケーションと前記自動化されたデータ・ストレージ・ライブラリの前記複数の物理データ・ストレージ・ドライブとの間で通信を誘導するステップと、
    前記自動化されたデータ・ストレージ・ライブラリの「n」個の前記物理データ・ストレージ・ドライブのプールを提供し、任意の一時点で、物理データ・ストレージ・ドライブの前記プールの任意の「m」個を割り当て、物理データ・ストレージ・ドライブの前記プールの「n」−「m」個が解放され、割当てに利用できるとして示されるステップと、
    前記仮想データ・ストレージ・ドライブの1つを要求する前記少なくとも1つのホスト・アプリケーションのトリガ・イベントに応答し、前記プールの前記「n」−「m」個の物理データ・ストレージ・ドライブの1つを前記1つの仮想データ・ストレージ・ドライブに専用にし、前記ドライブ・イメージ・テーブル内で前記専用化された物理データ・ストレージ・ドライブを前記1つの仮想データ・ストレージ・ドライブとして特定するステップと、
    前記ドライブ・イメージ・テーブル内の前記物理データ・ストレージ・ドライブの前記専用化および前記特定に応答し、前記要求側ホスト・アプリケーションに対して前記専用化された物理データ・ストレージ・ドライブを前記固定の仮想データ・ストレージ・ドライブの1つとして特徴付け、前記仮想データ・ストレージ・ドライブとしての前記専用化された物理データ・ストレージ・ドライブと前記要求側ホスト・アプリケーションの間との通信を誘導するステップと、
    前記専用化ステップが前記物理データ・ストレージ・ドライブを専用化するのに先立って前記要求側ホスト・アプリケーションが仮想データ・ストレージ・ドライブを要求すると、前記要求側ホスト・アプリケーションに対して前記仮想データ・ストレージ・ドライブを「ノット・レディー」として特徴付けるステップとを含む方法。
JP2006291201A 2001-09-10 2006-10-26 自動化されたデータ・ストレージ・ライブラリにおけるデータ・ストレージ・ドライブ Expired - Fee Related JP4516948B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/948,656 US6519678B1 (en) 2001-09-10 2001-09-10 Virtualization of data storage drives of an automated data storage library
US09/948,627 US6636778B2 (en) 2001-09-10 2001-09-10 Allocation of data storage drives of an automated data storage library

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003527583A Division JP3906324B2 (ja) 2001-09-10 2002-08-14 自動化されたデータ・ストレージ・ライブラリにおけるデータ・ストレージ・ドライブを割り振るための割振りシステム、方法及びコンピュータ可読プログラム

Publications (2)

Publication Number Publication Date
JP2007052812A true JP2007052812A (ja) 2007-03-01
JP4516948B2 JP4516948B2 (ja) 2010-08-04

Family

ID=27130276

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003527583A Expired - Fee Related JP3906324B2 (ja) 2001-09-10 2002-08-14 自動化されたデータ・ストレージ・ライブラリにおけるデータ・ストレージ・ドライブを割り振るための割振りシステム、方法及びコンピュータ可読プログラム
JP2006291201A Expired - Fee Related JP4516948B2 (ja) 2001-09-10 2006-10-26 自動化されたデータ・ストレージ・ライブラリにおけるデータ・ストレージ・ドライブ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2003527583A Expired - Fee Related JP3906324B2 (ja) 2001-09-10 2002-08-14 自動化されたデータ・ストレージ・ライブラリにおけるデータ・ストレージ・ドライブを割り振るための割振りシステム、方法及びコンピュータ可読プログラム

Country Status (10)

Country Link
EP (1) EP1472688B1 (ja)
JP (2) JP3906324B2 (ja)
KR (2) KR100745517B1 (ja)
CN (1) CN100530389C (ja)
AT (1) ATE343206T1 (ja)
AU (1) AU2002321460A1 (ja)
DE (1) DE60215546T2 (ja)
ES (1) ES2272753T3 (ja)
TW (1) TWI245989B (ja)
WO (1) WO2003023597A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011133944A (ja) * 2009-12-22 2011-07-07 Nec Corp ストレージ装置及びそのストレージ装置の記憶容量拡張方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4268156B2 (ja) * 2005-07-08 2009-05-27 富士通株式会社 ライブラリ装置、その制御方法、及び情報処理装置
JP4893130B2 (ja) * 2005-08-05 2012-03-07 セイコーエプソン株式会社 情報処理装置、データ処理方法およびプログラム
EP1777613B1 (en) 2005-10-11 2021-11-24 Infortrend Technology, Inc. Pool spares for data storage virtualization subsystem
JP4800059B2 (ja) * 2006-02-13 2011-10-26 株式会社日立製作所 仮想ストレージシステム及びその制御方法
US7752463B2 (en) * 2006-09-07 2010-07-06 International Business Machines Corporation Automatically filling a drive table
JP4792361B2 (ja) 2006-09-27 2011-10-12 富士通株式会社 応答装置、応答方法及び応答プログラム
US20090009902A1 (en) * 2006-11-01 2009-01-08 Bernd Klee Method for Con-trolling a Data Storage System
EP1992403B1 (en) 2007-05-15 2011-03-09 Corning Incorporated Microfluidic self-sustaining oscillating mixers and devices and methods utilizing same
KR100854662B1 (ko) * 2007-06-07 2008-08-28 삼성중공업 주식회사 로봇 제어 모듈의 프로세스 연결 방법
US8874867B2 (en) * 2008-11-21 2014-10-28 Lsi Corporation Identification and containment of performance hot-spots in virtual volumes
JP5482315B2 (ja) * 2010-03-10 2014-05-07 富士通株式会社 テープライブラリ装置を有する記憶装置の制御方法、および記憶装置
JP5699886B2 (ja) * 2011-09-29 2015-04-15 富士通株式会社 仮想計算機制御装置および仮想計算機制御プログラム
US10613882B2 (en) 2016-10-14 2020-04-07 Seagate Technology Llc Active drive API

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0491463A2 (en) * 1990-11-30 1992-06-24 Matsushita Graphic Communication Systems, Inc. Data storage system
EP1351233A1 (en) * 1998-04-10 2003-10-08 Sony Corporation Recording medium library device and control method thereof
US6842841B1 (en) * 1999-09-21 2005-01-11 Storage Technology Corporation Method and system for dynamically selecting tape drives to connect with host computers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011133944A (ja) * 2009-12-22 2011-07-07 Nec Corp ストレージ装置及びそのストレージ装置の記憶容量拡張方法

Also Published As

Publication number Publication date
JP2005502954A (ja) 2005-01-27
WO2003023597A2 (en) 2003-03-20
ES2272753T3 (es) 2007-05-01
KR20070038579A (ko) 2007-04-10
ATE343206T1 (de) 2006-11-15
KR100800347B1 (ko) 2008-02-04
AU2002321460A1 (en) 2003-03-24
CN100530389C (zh) 2009-08-19
EP1472688A2 (en) 2004-11-03
CN1568512A (zh) 2005-01-19
DE60215546T2 (de) 2007-05-24
KR100745517B1 (ko) 2007-08-03
TWI245989B (en) 2005-12-21
KR20040029169A (ko) 2004-04-03
JP3906324B2 (ja) 2007-04-18
JP4516948B2 (ja) 2010-08-04
EP1472688B1 (en) 2006-10-18
DE60215546D1 (de) 2006-11-30
WO2003023597A3 (en) 2004-08-12

Similar Documents

Publication Publication Date Title
JP4516948B2 (ja) 自動化されたデータ・ストレージ・ライブラリにおけるデータ・ストレージ・ドライブ
US6636778B2 (en) Allocation of data storage drives of an automated data storage library
US6519678B1 (en) Virtualization of data storage drives of an automated data storage library
US4771375A (en) Managing data storage devices connected to a digital computer
US6240467B1 (en) Input/output operation request handling in a multi-host system
US7062628B2 (en) Method and apparatus for storage pooling and provisioning for journal based storage and recovery
US7930474B2 (en) Automated on-line capacity expansion method for storage device
CN1159663C (zh) 数据库储库及其访问管理方法
US6170023B1 (en) System for accessing an input/output device using multiple addresses
JP3735571B2 (ja) ホスト・コンピュータに接続するためにテープ・ドライブを動的に選択するための方法及びシステム
JP5771280B2 (ja) 計算機システム及びストレージ管理方法
US7930506B2 (en) Information processing system and management device for managing relocation of data based on a change in the characteristics of the data over time
EP2239655B1 (en) Storage controller and storage control method
JP3308554B2 (ja) 制御装置及び制御装置の制御方法
JPS6310250A (ja) 仮想論理ボリユ−ム管理方式
EP1345113A2 (en) Management server
US6748494B1 (en) Device for controlling access to units of a storage device
JP2005301684A (ja) ストレージシステム
US5560040A (en) Library unit sharing system for ensuring sequential recording media access
US20120254531A1 (en) Storage apparatus and storage control device
US6934800B2 (en) Method and computer for data set separation
US6513074B1 (en) SCSI bus intelligent listening device and method
JPS62267965A (ja) 2次記憶装置のアクセス方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070216

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070709

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070709

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070918

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071005

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20081219

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100510

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100517

R150 Certificate of patent or registration of utility model

Ref document number: 4516948

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140521

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees