(57)【要約】【課題】データライブラリシステムにおいて、一つ以上の第一の記録媒体から複数の第二の記録媒体へ高速にデータ転送を行う。【解決手段】記録媒体毎に対応しかつ第一の記録装置から第二の記録装置にデータの転送を行うデータ転送タスクをコントローラ上で動作させ、前記第一の記録装置に格納されたデータを、前記第二の記録装置にデータを転送する際に、並行して動作する前記データ転送タスクの数を制限する。【選択図】  図１３
2016134050.tif 000002
【特許請求の範囲】
【請求項１】
データの記録と再生を行うデータライブラリシステムにおいて、
データを格納する第一の記録装置と、
複数の記録媒体を備える第二の記録装置と、
前記記録媒体へのデータの記録と再生、前記第一の記録媒体と前記第二の記録装置の間のデータの転送を制御するコントローラと、を備え、
前記コントローラは、前記記録媒体毎に対応しかつ前記第一の記録装置から前記第二の記録装置にデータの転送を行うデータ転送タスクが前記コントローラ上で動作するよう制御し、前記第一の記録装置に格納されたデータを、前記第二の記録装置にデータを転送する際に、並行して動作する前記データ転送タスクの数を制限することを特徴とするデータライブラリシステム。
【請求項２】
請求項１に記載のデータライブラリシステムであって、
前記コントローラは、動作する前記データ転送タスクの数を１つに制限することを特徴とするデータライブラリシステム。
【請求項３】
請求項１に記載のデータライブラリシステムであって、
前記コントローラは前記第一の記録装置により提供される記憶領域である論理ボリュームをデータの格納先として管理し、動作する前記データ転送タスクの数を前記論理ボリューム毎に制限することを特徴とするデータライブラリシステム。
【請求項４】
請求項１に記載のデータライブラリシステムであって、
前記コントローラは、前記第一の記録装置に格納されたデータが所定のサイズ以上のデータを扱う前記データ転送タスクである場合は動作する前記データ転送タスクの数を一つに制限し、前記第一の記録媒体に格納されたデータが前記所定のサイズ以下のデータを扱う前記データ転送タスクである場合は動作する前記データ転送タスクの数を制限しないことを特徴とするデータライブラリシステム。
【請求項５】
請求項１に記載のデータライブラリシステムであって、
前記コントローラは、動作中の前記データ転送タスクが前記コントローラ上で動作する時間が所定以上経過したことを条件として、前記動作中のデータ転送タスクとは異なる前記データ転送タスクの動作を切り替えることを特徴とするデータライブラリシステム。
【請求項６】
請求項１に記載のデータライブラリシステムであって、
前記コントローラは動作中の前記データ転送タスクに対応するデータの格納先の容量と前記動作中のデータ転送タスクが扱うデータの容量の合計が所定の容量以上であることを条件として、前記動作中のデータ転送タスクとは異なる前記データ転送タスクの動作を切り替えることを特徴とするデータライブラリシステム。
【請求項７】
請求項１に記載のデータライブラリシステムであって、
前記コントローラ上で動作する前記所定のサイズ以上のデータを転送する第一のデータ転送タスクと前記所定のサイズ以下のデータを転送する複数の第二のデータ転送タスクがあり、
前記コントローラ上で前記第二のデータ転送タスクが動作しており、
前記コントローラは動作中の前記第二のデータ転送タスクが扱うデータと前記第二のデータ転送タスクに対応するデータの格納先の容量の合計が所定の容量以上となることを条件として、動作していない前記第一のデータ転送タスクの動作を切り替えることを特徴とするデータライブラリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データライブラリシステムに関するものである。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２００５−１００２６４号公報（特許文献１）には「リアルタイム性を損なうことなく、必要なデータ転送バンド幅の低減を図る。」について記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１００２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、少なくとも必要なバスバンド幅の大きい上位２つの処理の実行期間が同時に重ならないようにすることで、必要なバスバンド幅のピーク値を低く抑える発明である。
【０００５】
ところで、データを一旦ハードディスクに蓄えてから、該蓄えたデータをデータライブラリ装置にデータを転送して、データライブラリ装置内の複数の記録再生装置で記録させるデータライブラリシステムがある。
【０００６】
前記データライブラリシステムの記録性能は、ハードディスクに蓄えたデータを、データライブラリ装置に記録させる際の、ハードディスクからのデータ再生速度（以後ハードディスクの転送速度）と、データライブラリ装置内のデータ記録再生装置の合計記録速度（以後データライブラリ装置の記録速度）の遅い方で決まる。なので、必要となる記録性能に対して、十分な転送速度を持つハードディスクと、十分な記録速度を持つデータライブラリ装置をシステムに構成しなければならない。
【０００７】
そこで、前記データライブラリシステムに、前記ハードディスクの転送容量を抑制して、より廉価なハードディスクで処理を実現するために、特許文献１の技術を適用すると、以下の問題がある。
【０００８】
複数のデータライブラリ装置内の記録再生装置に記録するデータを、同じ実行期間にハードディスクからデータを読み出そうとすると、ハードディスクにランダムなＩＯ要求が発生して、シーケンシャルＩＯよりも転送速度が低下する。
【０００９】
データライブラリ装置内の各記録再生装置に記録するデータが小さく、ハードディスク内に散り散りに配置されている場合は、同じ期間に実行する処理を制限することで、かえってハードディスクの転送速度が低下することがある。
【００１０】
そこで、本発明は、前記データライブラリシステム、データライブラリ装置において、ハードディスクのデータ転送を効率化して、廉価なハードディスク構成を用いて必要な記録性能で記録することが可能なデータライブラリシステム、データライブラリ装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。 
【発明の効果】
【００１２】
本発明によれば、廉価なハードディスク構成を用いて必要な記録性能で記録することが可能なデータライブラリシステムを提供することができる。
【００１３】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】データライブラリシステムにおけるデータライブラリ装置の構成を示すブロック図
【図２ａ】データライブラリ装置の外観図(正面図)
【図２ｂ】データライブラリ装置の外観図(側面図)
【図３】データライブラリシステムにおけるサーバの構成を示すブロック図
【図４】データ記録再生装置の構成とデータ記録再生装置内の信号処理回路の構成を示すブロック図
【図５】光ディスク運搬装置の構成を示すブロック図
【図６】光ディスク運搬装置の外観図
【図７】データライブラリシステムのデータ記録のフローチャート
【図８】光ディスクへのデータ記録の詳細フローチャート
【図９】実施例１のファイルデータ記録のフローチャート
【図１０】光ディスクの管理テーブルの一例
【図１１】分割データの管理テーブルの一例
【図１２】実施例２のファイルデータ記録のフローチャート
【図１３】記録タスクの数の制限実施可否の状態遷移図
【図１４】実施例３のファイルデータ記録のフローチャート
【図１５】実施例３のポスト処理のフロー
【図１６】実施例３のウェイト処理のフロー
【発明を実施するための形態】
【実施例１】
【００１５】
以下、図面を用いて実施例を説明する。
【００１６】
図１はデータライブラリシステムの構成を示すブロック図である。
【００１７】
本システムでは、１台以上のサーバ１１５および端末１２０が、有線／無線のＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）、光ケーブル等のネットワーク１１６で接続されている。
【００１８】
前記サーバ１１５には、ハードディスク１１７、表示装置１１８、データライブラリ装置１０１が接続されている。ハードディスク１１７やデータライブラリ装置１０１は複数台接続されても良い。
【００１９】
データライブラリ装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２、ユーザＩ／Ｆ部１０３、情報表示部１０４、メモリ１０５、光ディスク運搬装置１０６、光ディスク格納装置１０７、１枚以上の光ディスク１０８、１台以上のデータ記録再生装置（図１では３台１０９、１１０、１１１）、記憶装置１１２、光ディスク格納装置着脱検知部１１３、扉開閉検出部１１４、サーバＩ／Ｆ部１１９、認証処理部１２１から構成される。
データライブラリ装置１０１は、記録時には、サーバ１１５からデータ記録命令を受け、データを受け取り、受け取ったデータを光ディスク１０８ａ、１０８ｂに記録する。再生時には、光ディスク１０８ａ、１０８ｂからデータを再生し、サーバ１１５にデータを受け渡す。
【００２０】
ＣＰＵ１０２は、サーバ１１５からの要求により、光ディスク運搬装置１０６を制御して、光ディスク格納装置１０７ａ、１０７ｂに格納された複数枚の光ディスク１０８ａ、１０８ｂの中から所望の光ディスクを選択し、データ記録再生装置１０９、１１０、１１１に送る。また、光ディスク運搬装置１０６を制御してデータ記録再生装置１０９、１１０、１１１から光ディスクを受け取り、光ディスク格納装置１０７ａ、１０７ｂ内の所定の位置に光ディスクを格納する。また、記憶装置１１２ａ、１１２ｂへの情報の読み書きを行う他、光ディスク格納装置着脱検出部１１３、扉開閉検出部１１４が検出した情報を取得し、取得した情報に基づく制御を行う。また、サーバ１１５がデータライブラリ装置１０１を正規に認定された装置であるか否かを判定するために、あるいは両者が互いに正当な装置であることを確認するために、認証処理部１２１がサーバＩ／Ｆ部１１９を介して特定の認証プロトコルに準拠して認証実行するための制御を行う。
【００２１】
ユーザＩ／Ｆ部１０３は、各種スイッチなど、ユーザがデータライブラリ装置を操作するための手段を提供する。
情報表示部１０４は、内蔵あるいは外付けの液晶ディスプレイやＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）に対してデータライブラリ装置の稼動状況など各種情報を出力する。
メモリ１０５は、各種のプログラムや情報を記憶し、例えばデータライブラリ装置のＣＰＵ１０２を制御するためのプログラムや設定情報もメモリ１０５に記憶している。
【００２２】
光ディスク運搬装置１０６は、データライブラリ装置のＣＰＵ１０２に制御されて、光ディスク１０８ａ、１０８ｂを光ディスク格納装置１０７ａ、１０７ｂから取り出し、運搬し、データ記録再生装置１０９、１１０、１１１に装填する。あるいは、光ディスク１０８ａ、１０８ｂをデータ記録再生装置１０９、１１０、１１１から受け取り、運搬し、光ディスク格納装置１０７ａ、１０７ｂへと格納する。
【００２３】
光ディスク格納装置１０７ａ、１０７ｂは、光ディスク１０８ａ、１０８ｂを複数備える。また、光ディスク格納装置１０７ａ、１０７ｂは着脱することができ、例えば、すべての光ディスクへデータを記録し終えたら光ディスク格納装置ごとデータライブラリ装置外部へ取り出し、代わりに未記録ディスクを格納した別の光ディスク格納装置をデータライブラリ装置内部へ入れることなどができる。
【００２４】
なお、図１では光ディスク格納装置１０７は２つしか図示しないが、ライブラリ装置内に３つ以上備えても良い。また、例えば一方は未記録ディスク格納装置、他方は記録済ディスク格納装置など、用途に応じて使い分けたり、一方は片面記録可能なディスク、他方は両面記録可能なディスクなど、ディスク種別に応じて使い分けたりしても構わない。もちろん、光ディスク格納装置１０７ａ、１０７ｂの内部を未記録ディスク格納領域と記録済ディスク格納領域とに区切っても構わない。
【００２５】
光ディスク１０８ａ、１０８ｂは、それぞれ光ディスク格納装置１０７ａ、１０７ｂの内部に複数枚格納されている。光ディスクは、データ記録時、光ディスク運搬装置１０６によって光ディスク格納装置１０７ａ、１０７ｂから取り出され、データ記録再生装置１０９、１１０、１１１に装填され、データ記録が終了すると、光ディスク運搬装置１０６によって光ディスク格納装置１０７ａ、１０７ｂへと戻される。一方、データ再生時、光ディスク１０８ａ、１０８ｂは光ディスク運搬装置１０６によって光ディスク格納装置１０７ａ、１０７ｂから取り出され、データ記録再生装置１０９、１１０、１１１に装填され、データを再生し、データ再生が終了すると、光ディスク運搬装置１０６によって光ディスク格納装置１０７ａ、１０７ｂへと戻される。
【００２６】
データ記録再生装置１０９、１１０、１１１は、データライブラリ装置のＣＰＵ１０２に制御されて、光ディスク１０８ａ、１０８ｂへのデータ記録または光ディスク１０８ａ、１０８ｂからのデータ再生を行う。また、データ記録再生装置は着脱することができ、例えば故障などが発生した際にはデータライブラリ装置から取り外し、代わりのデータ記録再生装置をデータライブラリ装置に設置することなどができる。なお、図１においてデータライブラリ装置は３つのデータ記録再生装置を搭載しているが、搭載台数は限定されず、例えばデータ記録再生装置を６つ搭載するなどしても構わない。
【００２７】
記憶装置１１２ａ、１１２ｂは、光ディスク格納装置に関する情報や光ディスク格納装置を制御する上で必要な情報を記憶しておく。
光ディスク格納装置着脱検出部１１３は、光ディスク格納装置１０７ａ、１０７ｂの着脱を検出し、検出した情報をＣＰＵ１０２に伝達する。
扉開閉検出部１１４は、データライブラリ装置が備える扉の開閉を検出し、検出した情報をＣＰＵ１０２に伝達する。
【００２８】
サーバＩ／Ｆ部１１９は、サーバ１１５とデータライブラリ装置１０１との間で、記録／再生するデータや各種制御コマンドや通知を送受信する。
認証処理部１２１は、サーバ１１５がデータライブラリ装置１０１を正規に認定された装置であるか否かを判定するために、あるいは両者が互いに正当な装置であることを確認するために、サーバＩ／Ｆ部１１９を介して特定の認証プロトコルに準拠して認証を行う。本認証処理は、データライブラリ装置１０１をサーバ１１５に接続した時、あるいはユーザによるシステム設定時等、任意のタイミングで実施する。また、認証が成功した場合に特定の鍵を共有し、該鍵を直接的あるいは間接的に使用してサーバ１１５とデータライブラリ装置１０１との間でやり取りする制御コマンドやデータを暗号化／復号化しても良い。ここで、前記鍵をサーバＩ／Ｆ部１１９に設定し、サーバＩ／Ｆ部１１９で制御コマンドやデータを暗号化／復号化しても良い。
【００２９】
図２にデータライブラリ装置の外観図を示す。図２ａが正面図、図２ｂが側面図である。
【００３０】
サーバ１１５は、データライブラリ装置１０１のＣＰＵ１０２との通信によってデータライブラリ装置にデータ記録再生制御させるとともに、ハードディスク１１７を介したデータ管理、表示装置１１８を介した情報表示、ネットワーク１１６を介して接続された他の機器とのデータ及び情報送受信制御を行う。１１６はネットワークであり、サーバ、データライブラリ装置等が複数接続される。１１７はハードディスクであり、データライブラリシステムの制御に関わるデータや情報を蓄積する。ハードディスク１１７は、ハードディスクにデータを記録再生するハードディスクドライブを１台以上から構成され、複数のハードディスクドライブや、複数のハードディスクドライブに分散記録再生を行うＲＡＩＤグループの１つまたは複数から構成しても良い。本明細書では、複数のハードディスクドライブ一式や、ＲＡＩＤグループ一式も、ハードディスク１１７と記載する。
【００３１】
１１８は表示装置であり、サーバあるいはサーバに接続されたデータライブラリ装置やハードディスクに関する情報を表示する。１１９はサーバインタフェース部であり、データライブラリ装置のＣＰＵ１０２とサーバ１１５のＣＰＵ３０１との間でのデータ送受信に関する制御を行う。
【００３２】
図３はデータライブラリシステムにおけるサーバの構成を示すブロック図である。
サーバ１１５には、１つ以上のデータライブラリ装置１０１と、ネットワーク１１６と、ハードディスク１１７と、表示装置１１８が接続されて構成される。
サーバ１１５は、ＣＰＵ３０１、メモリ３０２、データライブラリＩ／Ｆ部３０３、ハードディスクＩ／Ｆ部３０４、ネットワーク制御部３０５、外部表示制御部３０６、データベース管理部３０７、装置選択処理部３０８、ユーザＩ／Ｆ部３０９、認証処理部３１０から構成される。
【００３３】
ＣＰＵ３０１は、データ記録時には、ネットワーク１１６からネットワーク制御部３０５を介して受信したデータをハードディスクインタフェース部３０４を介してハードディスク１１７に記録する。または、データライブラリインタフェース部３０３を介してデータライブラリ装置１０１を制御し、データライブラリ装置１０１が内蔵する光ディスク１０８に記録する。
【００３４】
または、ＣＰＵ３０１は、ネットワーク１１６からネットワーク制御部３０５を介して受信したデータをハードディスクインタフェース部３０４を介してハードディスク１１７に一時的に記録して、一時的に記録したデータをハードディスクインタフェース部を介してハードディスク１１７から読み出し、データライブラリインタフェース部３０３を介してデータライブラリ装置１０１を制御し、データライブラリ装置１０１の内蔵する光ディスク１０８に記録する。
【００３５】
データ再生時には、ＣＰＵ３０１は、ハードディスクインタフェース部３０４を介してハードディスク１１７からデータを読み出し、読み出したデータをネットワーク制御部３０５を介してネットワーク１１６に送信する。あるいは、データライブラリインタフェース部３０３を介してデータライブラリ装置を制御し、データライブラリ装置が内蔵する光ディスクからデータを再生し、再生したデータを受け取り、受け取ったデータをネットワーク制御部３０５を介してネットワーク１１６に送信する。
【００３６】
または、ＣＰＵ３０１は、データライブラリインタフェース部３０３を介してデータライブラリ装置を制御し、データライブラリ装置が内蔵する光ディスクからデータを再生し、再生したデータを受け取り、受け取ったデータを、ハードディスクインタフェース部３０４を介してハードディスク１１７へデータを一時的に記録して、一時的に記録したデータをハードディスクインタフェース部３０４を介してハードディスク１１７から読み出し、読み出したデータをネットワーク制御部３０５を介してネットワーク１１６に送信する。
【００３７】
また、データライブラリ装置から受け取った各種の情報を適宜加工して記録、管理し、また、その情報を再生し、再生した情報に基づいて制御方針を決定するとともに、実際の制御を行う。さらには、外部表示制御部３０６を介して表示装置１１８に情報を表示する。
【００３８】
また、接続されたデータライブラリ装置１０１を正規に認定された装置であるか否かを判定するために、あるいはネットワーク１１６を介して接続された他のサーバ１１５との間で互いに正当な装置であることを確認するために、認証処理部３１０がデータライブラリＩ／Ｆ部３０３あるいはネットワーク制御部３０５を介して特定の認証プロトコルに準拠して認証実行するための制御を行う。
【００３９】
メモリ３０２は、サーバ１１５のＣＰＵ３０１を制御するためのプログラム、各種の情報が記録されている。また、データライブラリ装置１０１から送られた、データライブラリ装置内の熱情報や振動情報、さらには、データライブラリ装置が内蔵する各データ記録再生装置の特性情報を記録する。
【００４０】
データライブラリＩ／Ｆ部３０３は、データライブラリ装置１０１とサーバ１１５のＣＰＵ３０１との間でのデータ送受信に関する制御を行う。なお、図では１つのデータライブラリインタフェース部に複数のデータライブラリ装置が接続されているが、例えば、ネットワークを介して複数のデータライブラリ装置が接続されるような構成でもよい。
【００４１】
ハードディスクＩ／Ｆ部３０４は、ハードディスク１１７とＳＡＴＡ（Ｓｅｒｉａｌ Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）などの規格に準拠したデータ転送を行う。
ネットワーク制御部３０５は、ネットワーク１１６とサーバ１１５のＣＰＵ３０１との間でのデータ送受信に関する制御を行う。
【００４２】
データベース管理部３０７は、データライブラリシステムを制御するために使用する各種情報を記録したデータベースへのアクセスをつかさどる。具体的には、データベースへの情報登録、登録した情報の読み出しや検索などの処理を行う。なお、本実施例のデータベース管理部３０７では、システムを制御するためにデータベースの新規作成や更新が必要であるかといった判断や、どの情報をデータベースに登録するか、といった判断を行うものであり、データベースの本質的な操作や管理はＣＰＵ３０１に委ねるものとする。しかし、それに限定されることはなく、データベース管理部３０７においてデータベースの本質的な操作や管理を行うようにしても構わない。なお、データベースは、メモリ３０２、又はハードディスク１１７に格納されている。
【００４３】
装置選択処理部３０８は、データの記録や再生を行う際、サーバに接続された１つ以上のデータライブラリ装置のいずれを使うかの判断や選択、前記選択したデータライブラリ装置の内蔵する１つ以上のデータ記録再生装置のいずれを使うかの判断や選択、さらには、記録や再生を行う光ディスクの選択等を行う。
【００４４】
ユーザＩ／Ｆ部３０９は、ユーザが表示装置１１８に表示されている各種情報に基づき、サーバを制御したり、サーバを介して各データライブラリ装置を制御するための手段を提供する。
認証処理部３１０は、接続されたデータライブラリ装置１０１を正規に認定された装置であるか否かを判定するために、あるいはネットワーク１１６を介して接続された他のサーバ１１５との間で互いに正当な装置であることを確認するために、データライブラリＩ／Ｆ部３０３あるいはネットワーク制御部３０５を介して特定の認証プロトコルに準拠して認証を行う。データライブラリ装置１０１との間で使用する認証プロトコルと他のサーバ１１５との間で使用する認証プロトコルは異なるものとする。また、前記認証が成功した場合に特定の鍵を共有し、該鍵を直接的あるいは間接的に使用してデータライブラリ装置１０１あるいは他のサーバ１１５との間でやり取りする制御コマンドやデータを暗号化／復号化する。ここで、前記鍵をデータライブラリＩ／Ｆ部３０３あるいはネットワーク制御部３０５に設定し、データライブラリＩ／Ｆ部３０３あるいはネットワーク制御部３０５で制御コマンドやデータを暗号化／復号化しても良い。
【００４５】
管理テーブル３１１は、ハードディスク１１７及びメモリ３０２にあるデータベース管理部３０７により管理されるデータベースのテーブルである。前記テーブルは１つとは限らず、本実施例のデータライブラリシステムは必要な数のテーブルを管理する。
【００４６】
図３において、サーバ１１５に対して、複数のデータライブラリ装置１０１が接続されているが、複数のデータライブラリ装置１０１分を１つの筐体にまとめても良い。
【００４７】
図４はデータ記録再生装置１０９の構成を示すブロック図である。
【００４８】
データ記録再生装置１０９は、取り外し可能な光ディスク４０１、光ピックアップ４０２、増幅回路４０３、信号処理回路４０４、インタフェース回路４０５、サーボ回路４０６、ＣＰＵ４０７、メモリ４０８から構成される
ＣＰＵ４０７は、データ記録再生装置１０９の記録処理、再生処理の制御を行う。なお、ＣＰＵでなくとも、同様の制御が可能な任意の回路を用いてもよい。また、データ記録再生装置の記録処理または再生処理を開始する際に、自身の管理する各ブロックの負荷情報の収集を開始し、記録処理または再生処理を終了する際に、収集した情報をメモリに記録し、記録した情報をライブラリ装置のＣＰＵ１０２へ出力する。４０１はデータ記録媒体、例えばＢＤ−Ｒ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）やＢＤ−ＲＥ（Ｂｌｕ−ｒａｙ（登録商標） Ｄｉｓｃ Ｒｅｗｒｉｔａｂｌｅ）である。なお、以下の説明においては、単に光ディスク４０１として説明する。また、データ記録媒体は、必ずしも光ディスクに限定されるものではなく、光磁気ディスクやホログラム等の記録媒体であってもよい。
【００４９】
光ピックアップ４０２は、光ディスク４０１から信号を読み出して増幅回路４０３に送る。また、信号処理回路４０４から送られた変調信号を光ディスク４０１に記録する。
増幅回路４０３はで、光ピックアップ４０２を介して光ディスク４０１から読み出した再生信号を増幅して信号処理回路４０４に送る。また、サーボ信号を生成してサーボ回路４０６に送る。
【００５０】
信号処理回路４０４は、入力信号を復調し、誤り訂正等を行ったデータをインタフェース回路４０５に送る。また、インタフェース回路４０５から送られたデータに誤り訂正符号を付加する等を行い、変調して光ピックアップ４０２に送る。
インタフェース回路４０５は、例えばＳＡＴＡその他の転送方式に準拠したデータ転送処理を行う。データ転送時には、信号処理回路４０４から送られたデータをホストであるライブラリ装置のＣＰＵに送る。また、ホストであるライブラリ装置のＣＰＵから送られたデータを信号処理回路４０４に送る。
【００５１】
サーボ回路４０６は、増幅回路４０３にて生成されたサーボ信号により光ピックアップ４０２を制御する。４０８はメモリであり、データ記録再生装置を制御するためのプログラムや各種設定情報、光ディスクから取得した媒体情報などを格納する。なお、メモリ４０８はデータ記録再生装置内でＣＰＵ４０７と接続する例を示したが、データ記録再生装置内外のどこに接続されていてもよい。また、情報を保持できればメモリでなくてもよく、例えばハードディスクでもよい。
【００５２】
本実施例の信号処理回路４０４は、データ復調回路２１、デインタリーブ回路２２、メモリ２３、誤り訂正処理回路２４、デスクランブル回路２５、スクランブル回路２６、インタリーブ回路２７、データ変調回路２８、データパターン発生回路２９から構成される。
データ復調回路２１は、増幅回路４からの入力信号を１７ＰＰ復調してデインタリーブ回路２２に送る。デインタリーブ回路２２は、データ復調回路２１から送られたデータのインタリーブを解き、メモリ２３に書き込む。
メモリ２３は、誤り訂正用メモリ、誤り訂正符号付加メモリ、およびバッファメモリとして使用する。メモリ２３は、ＳＲＡＭ、ＤＲＡＭ等で実装するが、その他同様の機能を持つメモリ回路で代替してもよい。
【００５３】
誤り訂正処理回路２４は、メモリ２３からデータを読み出して誤り訂正を行いメモリ２３に書き込む。また、メモリ２３から読み出したデータに対して誤り訂正符号を生成し、メモリ２３に書き込む。
デスクランブル回路２５は、誤り訂正が完了したデータのスクランブルを解いてインタフェース回路６に送る。
【００５４】
スクランブル回路２６は、インタフェース回路６あるいはデータパターン発生回路２９から入力したデータにスクランブルを施しメモリ２３に書き込む。
インタリーブ回路２７は、メモリ２３から読み出したデータにインタリーブを施し、データ変調回路２８に送る。
データ変調回路２８は、インタリーブ回路２７から送られたデータを１７ＰＰ変調して光ピックアップに送る。
【００５５】
データパターン発生回路２９は、データライブラリ装置１０１のＣＰＵ３０１からデータライブラリＩ／Ｆ部３０３を介して送信され、インタフェース回路４０５を介して受信した複数のデータパターン、あるいは上書き消去用の複数のデータパターンを切り換えてスクランブル回路２６に送る。なお、データパターン発生回路２９は独立した回路ではなく、スクランブル回路２６等に含まれていても良い。
【００５６】
図５は光ディスク運搬装置１０６のブロック図、図６は光ディスク運搬装置１０６の外観図である。
【００５７】
光ディスク運搬装置１０６は、ＣＰＵ５０１、メモリ５０２、モータ制御回路５０３、ロボットアープ部５０４、５０５、５０６、ロボットハンド部５０７から構成される。
【００５８】
ＣＰＵ５０１は、光ディスク運搬装置１０６の制御を行う。
メモリ５０２は、光ディスク運搬装置１０６を制御するためのプログラムや各種設定情報等を格納する。また、収集した熱情報や振動情報を記録するための領域としても使用する。なお、メモリ５０２は光ディスク運搬装置内でＣＰＵ５０１と接続する例を示したが、光ディスク運搬装置内外のどこに接続されていてもよい。また、情報を保持できればメモリでなくてもよく、例えばハードディスクでもよい。
【００５９】
モータ制御回路５０３は、ＣＰＵ５０１からの指示に基づいて５０４、５０５、５０６のロボットアーム部を駆動する。また、ロボットハンド部５０７を駆動する。
ロボットアーム部５０４、５０５、５０６は、前進や後進といった直進運動や回転運動により、ロボットハンド部５０７の位置を調整する。
ロボットハンド部５０７は、光ディスク１０８ａ、１０８ｂを破損することなく保持可能な形状から成り、光ディスク格納装置１０７ａ、１０７ｂ及びデータ記録再生装置１０９、１１０、１１１に対して光ディスクの出し入れや受け渡しを行う。
【００６０】
上記構成の光ディスク運搬装置によって、データライブラリ装置のＣＰＵからの指示に従って、光ディスク格納装置とデータ記録再生装置との間で光ディスクを運搬する。
【００６１】
なお、ここでは光ディスク運搬装置がデータライブラリ装置内に１つ存在する例を示したが、複数の光ディスク運搬装置が存在しても構わない。また、光ディスク運搬装置の形状は図６の例に限らず、例えば、光ディスクの中心穴を利用して光ディスクを固定して運搬するようなものや、光ディスク格納装置から光ディスクを押し出して取り出し、取り出した光ディスクを運搬用のケースに格納し、ケースごと光ディスクを運搬するようなものであっても構わない。
【００６２】
本実施例では、記録媒体に光ディスクを用いたデータライブラリシステムを例に説明する。光ディスクは他の媒体に比べて長期保存に適すること、災害時のデータ保護の点で優れていることが知られている。しかし、本発明の有効範囲はこれに限ったものではなく、例えば記録媒体として磁気テープ等を用いても構わない。
【００６３】
また、光ディスクは光ディスク格納装置に複数枚格納され、光ディスクの交換は光ディスク格納装置ごと実施するものとする。データライブラリシステムでは、非常に大量のデータを扱い、記録する光ディスクの枚数も大量となるため、データライブラリシステムから取り外された光ディスク（以降、オフラインディスクとする。）を１枚単位で管理すると、管理コストが非常に大きくなる。そのため、複数の光ディスクをまとめた光ディスク格納装置の単位でオフライン管理を行うことで、管理コストの削減が可能になる。
【００６４】
また、このように光ディスク格納装置ごとに交換を実施する場合、光ディスク格納装置の交換頻度を削減するために、光ディスク格納装置ごとにユーザや格納するデータの種類等を決め、一度に再生される可能性が高いデータを同じ光ディスク格納装置に記録することが有用である。オフラインディスクの再生において、一度に再生する可能性が高いデータを同じ光ディスク格納装置に記録しておくことで、交換作業の回数を削減し、所望のデータを再生するまでの時間短縮や、交換作業により発生するコストの削減が可能となる。本実施例では、光ディスク格納装置ごとに設定されるユーザやデータの種類をグループとし、グループＩＤで管理を行う。つまり、複数の光ディスク格納装置に対して、同一のユーザが使用する場合や同一の種類のデータが記録される場合、該複数の光ディスク格納装置には、同一のグループＩＤが設定される。また、このグループＩＤはデータライブラリ装置に格納される全データに対しても設定され、データ記録時の光ディスクの選択等に用いられる。
【００６５】
図７は本実施例のデータライブラリシステムのデータ記録のフロー図である。前記データライブラリシステムのデータ記録とは、該システムの外の別のシステムのサーバ１１５や端末１２０から、ネットワーク１１６を介して、該システムのサーバ１１５がデータを、記録要求と共に受信して、該システムのハードディスク１１７や光ディスク１０８に記録する動作を指す。
【００６６】
Ｓ７０１は、システム外からデータを受信する動作で、送信元は、ネットワーク１１６を介して本実施例のシステムに接続された別のシステムのサーバ１１５や端末１２０で、本実施例のシステムのサーバ１１５が、記録要求と共にデータ受信する。前記記録要求は、例えばＮｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ（ＮＦＳ）のファイル作成及びファイル書き込み要求である。受信されたデータはハードディスク１１７に記録される。
【００６７】
また、記録要求の中には、例えばＮＦＳの場合、ファイル名、ディレクトリパス名、アクセス権限情報、所有者識別子、所属グループ識別子、時刻情報、ファイル識別子、ファイル容量情報、データオフセット情報、またはその他のデータに関する情報が含まれる。前記においては一例としてＮＦＳと記載したが、その他のプロトコルでも構わない。
【００６８】
Ｓ７０２は、光ディスクを割り当てる動作で、サーバ１１５のデータベース管理部３０７がハードディスク１１７またはメモリ３０２にある管理テーブル３１１にアクセスして、Ｓ７０１にて受信したデータを特定の光ディスク１０８に割り当てる。
【００６９】
前記割り当て処理では、管理テーブル３１１の内、光ディスク１０８毎にボリュームテーブルを作成して、該ボリュームテーブルに前記データを追加する。前記ボリュームテーブルは、割り当てられた光ディスク１０８を示すＩＤ等をテーブル名として持ち、テーブル内にはデータ名、データサイズ、データの日付情報、データのアクセス権限情報、データがファイル形式の場合は、ファイル名、パス情報等をデータ毎のレコードとして持つ。
【００７０】
Ｓ７０３は、前記データを光ディスクに記録する動作で、ハードディスク１１７に記録された前記データを、サーバ１１５がデータライブラリ装置１０１に転送して、光ディスク１０８に記録させる。
【００７１】
図８は、光ディスクに記録Ｓ７０３の詳細を示した動作フローである。Ｓ８０１は、データライブラリ装置に光ディスクを搬送させる処理で、サーバ１１５がデータライブラリ装置１０１に、データを記録する光ディスク１０８を光ディスク格納装置１０７からデータ記録再生装置１０９，１１０，１１１の内記録を行わせるものに搬送させる様に、搬送要求を出す。上記搬送要求を受けたデータライブラリ装置１１５は、データを記録する光ディスク１０８を光ディスク格納装置１０７からデータ
記録再生装置１０９，１１０，１１１の内記録を行わせるものに搬送させる。
【００７２】
Ｓ８０２は、メタデータを作成する処理で、サーバ１１５が、ＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ Ｆｏｒｍａｔ）等のファイルシステムのメタデータやデータライブラリシステムのデータベースのバックアップ等のメタデータを、作成してハードディスク１１７に保存する。
【００７３】
Ｓ８０３は、メタデータを記録する処理で、サーバ１１５がＳ８０２で作成したメタデータをハードディスク１１７から読み出し、Ｓ８０１の処理で搬送した光ディスク１０８に記録させる様に、データライブラリ装置１０１に記録要求と該メタデータを送信する。
【００７４】
Ｓ８０４はファイルデータを記録する処理で、端末１２０等からネットワーク１１６経由でサーバ１１５が受信したファイルデータを、サーバ１１５がハードディスク１１７から読み出して、Ｓ８０１の処理で搬送した光ディスク１０８に記録させる様に、データライブラリ装置１０１に記録要求と該メタデータを送信する。
【００７５】
Ｓ８０５は、メタデータミラーを記録する処理で、サーバ１１５がＳ８０２で作成したメタデータをハードディスク１１７から読み出し、Ｓ８０１の処理で搬送した光ディスク１０８に記録させる様に、データライブラリ装置１０１に記録要求と該メタデータを送信する。
【００７６】
Ｓ８０６は、メタデータを検証する処理で、サーバ１１５がＳ８０２で作成したメタデータをハードディスク１１７から読み出し、それと共にＳ８０１の処理で搬送した光ディスク１０８から検証させる様に、データライブラリ装置１０１に検証要求を送信して、データライブラリ装置１０１は該光ディスク１０８からメタデータを読み出すと共に、該光ディスクのメタデータが記録された領域の記録品質を検証して、サーバ１１５に該光ディスク１０８から読み出したメタデータをサーバ１１５に送信して、サーバ１１５はハードディスク１１７から読み出したメタデータと、該光ディスク１０８から読み出したメタデータをバイト単位で比較を行う。
【００７７】
Ｓ８０７はファイルデータを記録する処理で、端末１２０等からネットワーク１１６経由でサーバ１１５が受信したファイルデータを、サーバ１１５がハードディスク１１７から読み出して、それと共にＳ８０１の処理で搬送した光ディスク１０８から検証させる様に、データライブラリ装置１０１に検証要求を送信して、データライブラリ装置１０１は該光ディスク１０８からファイルデータを読み出すと共に、該光ディスクのファイルデータが記録された領域の記録品質を検証して、サーバ１１５に該光ディスク１０８から読み出したファイルデータをサーバ１１５に送信して、サーバ１１５はハードディスク１１７から読み出したファイルデータと、該光ディスク１０８から読み出したファイルデータをバイト単位で比較を行う。
【００７８】
Ｓ８０８は、メタデータミラーを検証する処理で、サーバ１１５がＳ８０２で作成したメタデータをハードディスク１１７から読み出し、それと共にＳ８０１の処理で搬送した光ディスク１０８から検証させる様に、データライブラリ装置１０１に検証要求を送信して、データライブラリ装置１０１は該光ディスク１０８からメタデータを読み出すと共に、該光ディスクのメタデータが記録された領域の記録品質を検証して、サーバ１１５に該光ディスク１０８から読み出したメタデータをサーバ１１５に送信して、サーバ１１５はハードディスク１１７から読み出したメタデータと、該光ディスク１０８から読み出したメタデータをバイト単位で比較を行う。
【００７９】
Ｓ８０９は、データライブラリ装置に光ディスクを搬送させる処理で、サーバ１１５がデータライブラリ装置１０１に、データを記録した光ディスク１０８をデータ記録再生装置１０９，１１０，１１１の内記録を行わせたものから光ディスク格納装置１０７に搬送させる様に、搬送要求を出す。上記搬送要求を受けたデータライブラリ装置１１５は、データを記録した光ディスク１０８をデータ記録再生装置１０９，１１０，１１１の内記録を行わせるものから光ディスク格納装置１０７に搬送させる。
【００８０】
図７に示した記録フローは、サーバ１１５上で動作する記録タスク上で動作する。前記記録タスクは同時に複数動作することが可能で、サーバ１１５に接続されるデータライブラリ装置１０１に内蔵するデータ記録再生装置分の記録タスクで動作することが出来る。
【００８１】
図７に従い、サーバ１１５はシステム外から受信したデータを、１枚ずつ光ディスク１０８に割り当てて、複数の前記データを受信して、光ディスク１０８の容量や上限ファイル数分だけ前記データが割り当てると、次の光ディスク１０８へ割り当てを行う。前記データは例えばファイル形式で受信される。ファイル形式で受信する場合は、例えばＣＩＦＳやＮＦＳプロトコルで、サーバ１１５はシステム外とやり取りする。
【００８２】
図９はファイルデータを記録する処理Ｓ８０４の詳細の処理フローである。  Ｓ９０1は他のタスクが動作中の場合、他のタスクから他のタスクを起こすＳ９０５処理をされるまで複数のタスクが動いている時、一つのタスクを除いた他のタスクがスリープする処理であり、記録タスク自身がスリープして処理を中断する。動いているタスクが一つである時はスリープしない。
Ｓ９０２はファイルを開く処理で、サーバ１１５がネットワーク１１６経由で端末１２０等から受信したファイルデータの内、自タスクが記録をする光ディスク１０８に割り当てられたファイルを１つずつ開く。Ｓ９０２では、前記ボリュームテーブルを参照して、データ情報を得る。データがファイル形式ではない場合は、データをハードディスク１１７から読み込む準備処理を行う。
【００８３】
Ｓ９０３はハードディスクからデータを読み出す処理で、サーバ１１５がハードディスク１１７から、Ｓ９０２で開いたファイルデータを読み出す。読み出すデータ容量は、前記ファイルの読み出し処理されていない残容量と、記録タスク毎に用意されたメモリ３０２上のバッファの残容量の内少ない容量分だけ読み出す。
【００８４】
Ｓ９０４はバッファが一杯になったか判定する処理で、サーバ１１５上の前記バッファが一杯になったか判定して、該バッファが一杯になった場合はＳ９０５に進み、該バッファが一杯になっていない場合はＳ９０８に進む。
【００８５】
Ｓ９０５は次のタスクを起こす処理で、スリープしている別の記録タスクの内、順番が次のものを起こす。前記順番は、例えばキューで管理され、スリープした順番で並び、先頭の記録タスクから順番に起こすタスクとして選び出されるＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）で処理される。メモリ３０２内のスリープフラグがＦＡＬＳＥの場合は、スリープしている別の記録タスクの全てを起こす。前記キューに他の記録タスクが無い場合は、他の記録タスクは起こさない。
【００８６】
Ｓ９０６はデータをデータライブラリに送信する処理で、サーバ１１５がハードディスク１１７からＳ９０３で読み出した前記バッファに格納されたデータを、データライブラリ装置１０１に送信する処理である。データ送信は例えばソケット通信で行われる。
【００８７】
Ｓ９０７はスリープする処理で、記録タスク自身がスリープして処理を中断する。スリープする際は前記キューに自身の記録タスクのＩＤを追加する。前記スリープフラグがＦＡＬＳＥの場合は、スリープは行わない。前記キューに別の記録タスクが無い場合は、スリープしない。
【００８８】
次のタスクを起こす処理Ｓ９０５とスリープする処理Ｓ９０７を行い、Ｓ９０５の前まで動作していたタスクから、Ｓ９０５で起こしたタスクに、動作中のタスクを切り替えることで、ハードディスクからデータを読み出す処理Ｓ９０３を並行して行うタスクの数を制限する。
【００８９】
Ｓ９０８はファイル内のデータは全て読み出したか判定する処理で、Ｓ９０２で開いたファイル内のデータの内、Ｓ９０３で全てのデータを読み出した場合はＳ９０９に進み、Ｓ９０３で読み出していない残りのデータ容量がある場合はＳ９０２に進む。
【００９０】
Ｓ９０９はファイルを閉じる処理で、Ｓ９０２で開いたファイルを閉じる処理である。Ｓ９１０は全てのファイルを読み出したか判定する判定する処理で、全てのファイルを読み出し終えた場合は処理を終了し、未だ読み出しを終えていないファイルが残っている場合はＳ９０２へ戻る。
【００９１】
図１０はディスクテーブル１０００で、管理テーブル３１１の１つで、データライブラリ装置１０１内の光ディスク１０８を管理するテーブルである。ディスクテーブル１０００は、光ディスク１０８の１枚ごとに、ディスクＩＤ１００１、データライブラリＩＤ１００２、光ディスク格納部ＩＤ１００３、現在位置１００４、格納位置１００５、残容量１００６、データ数１００７、状態１００８の情報が記録されるデータベーステーブルである。
【００９２】
前記テーブル１０００は、本実施例のデータライブラリシステムに、光ディスク格納装置が初めて接続された際や、一旦別のデータライブラリシステムに接続された後に再度接続された際に、該光ディスク格納装置が格納する光ディスク１０８の情報が登録や更新される。また、光ディスク１０８をデータ記録再生装置１０９〜１１１と光ディスク格納装置１０７との間を移動させられた際や、光ディスク１０８の残容量１００６やデータ数１００７や状態１００８に変更があった際にも更新される。
【００９３】
１００１はディスクＩＤであり、光ディスク１０８の一枚一枚を識別するための文字列や数字である。前記ＩＤは、光ディスク１０８の製造時に記録された個体識別可能なＩＤそのままか、それに基づいて生成されるか、或いは本実施例のデータライブラリシステムが独自に決めるＩＤである。
【００９４】
１００２はデータライブラリＩＤであり、データライブラリ１０１を識別するためのＩＤであり、ディスクテーブル１０００では、同じ行の光ディスク１０８が入っているデータライブラリ１０１のデータライブラリＩＤが記録される。
【００９５】
１００３は光ディスク格納部ＩＤであり、光ディスク格納部１０７を識別する文字列や数字である。前記ＩＤは、光ディスク格納部１０７に付属する記憶装置１１２内に、光ディスク格納装置１０７が製造や出荷前に決定され記録される。前記ＩＤはデータベーステーブルに登録や更新される際は、ＣＰＵ１０２が記憶装置１１２から読み取られる。
【００９６】
１００４は現在位置を示すもので、同じ行の光ディスク１０８が現在ある位置のデータ記録再生装置１０９〜１１１や光ディスク格納装置１０７内のアドレスである文字列や数字が記録される。
【００９７】
１００５は格納位置を示すもので、同じ行の光ディスク１０８が格納されるべき光ディスク格納装置１０７内のアドレスである文字列や数字が記録される。前記格納位置は、光ディスク１０８は出荷時に格納された光ディスク格納装置１０７内の位置である。
【００９８】
特定の位置を格納位置として記憶することで、停電やネットワーク障害で、サーバ１１５とデータライブラリ装置１０１が切断状態となり、データライブラリ装置１０１がサーバ１１５に光ディスク１０８の位置情報を通知不能な状態でも、装置の破損を防ぐため、データライブラリ装置１０１が搬送途中の光ディスク１０１を元の位置に戻せば、サーバ１１５が光ディスク１０８を見失うことが無い。
【００９９】
前記において、出荷時に格納された位置を、格納位置１００５とするとしたが、光ディスクの廃棄や、端末１２０等から、ユーザ要求として格納位置１００５の変更を命ぜられた場合等は、格納位置１００５は出荷時に格納された位置から変更される。また、光ディスク１０８の搬送要求の頻度に応じて並び替えるため、格納位置１００５が変更されることもある。
【０１００】
１００６は残容量で、同じ行の光ディスク１０８に割り当てられたデータの総容量分だけ、光ディスク１０８の全容量から引かれた数値が記録される。尚、前記割り当ては、光ディスク１０８に物理的にデータが記録された場合の容量ではなく、物理的にデータを記録開始する前に、仮想的に割り当てを行う処理である。但し、割り当て処理を、物理的な記録処理を伴うものとするか、仮想的な割り当てを行う処理とするかは、変更することが可能であり、データライブラリシステムでどちらかに予め定められる。
【０１０１】
図１１はファイルテーブルの一例を示す図であり、FileName_03というファイル名のファイルデータを、少なくとも１ＧＢと１７１ＭＢの２つに分割してDisc21とDisc22という光ディスクＩＤにそれぞれ記録する割り当てがされた状態を示す。尚図中省略されている部分にも、実際には分割された情報の全てが記録される。実施例の他においては、データの単位は、ブロックなのかファイルなのか、または別に管理された単位なのか、本発明は問わないが、図１１においては、便宜上、データの単位はファイルとして、データはファイルシステム上で管理されることとする。
【０１０２】
１１００はファイルテーブルで、データＩＤ１１０１、所有者ＩＤ１１０２、データサイズ１１０３、光ディスクＩＤ１１０４、光ディスク格納装置ＩＤ１１０５、分割ＩＤ１１０６、ファイル名１１１１、ファイルパス１１１２、タイムスタンプ情報１１１３、ディスク上の位置情報１１１４の情報が記録されるデータベースの分割ファイルの情報を管理するテーブルである。
【０１０３】
１１０１はデータＩＤであり、データを識別するための文字列や数字である。前記ＩＤはアーカイブシステムにファイルデータが格納される際に付けられる。データ固有のものであれば、どの様に付けても良いが、例えば数字のみなど、容量の少ない情報であれば、ファイルテーブル１１００に係る処理が軽快となり、都合が良い。
【０１０４】
１１０２は所有者ＩＤであり、同じ行のファイルの所有者を示すＩＤである。前記ファイルデータがデータライブラリシステムに格納される際に、該システムに該ファイルデータを格納したユーザの
ＵｓｅｒＩＤ（ＵＩＤ）等が記録される。前記ユーザではなく、ユーザが指定したＵＩＤを記録しても良い。
【０１０５】
１１０３はデータサイズで、同じ行のファイルデータの同じ行の分割ＩＤ１１０６の、分割ファイルデータの容量が記録される。１１０４は、光ディスクＩＤで、同じ行が示す分割ＩＤのファイルデータを記録する光ディスク１０８の、光ディスクＩＤが記録される。光ディスクＩＤは、光ディスク１０８を識別するためのＩＤである。１１０５は光ディスク格納装置ＩＤで、前記光ディスク１０８が格納される光ディスク格納装置１０７を識別するＩＤが記録される。
【０１０６】
１１０６は分割ＩＤであり、同じ行のファイルデータを分割した際に付けられる、該ファイルデータ内で、分割ファイルデータを識別するためのＩＤである。前記分割ＩＤは、ファイルデータの先頭から順番に付けられて、同じ行の分割データがファイルデータの先頭から何番目の分割ファイルデータであるか分かる。
【０１０７】
図１１の分割ファイルテーブル１１００には、オフセットの情報が無いが、分割ファイルデータの先頭が、ファイルデータの先頭から何バイト目なのかを示すオフセットを入れても良い。前記オフセットが無い場合は、データサイズ１１０３と分割ＩＤ１１０６からオフセットを割り出す。例えば、分割ＩＤ３の分割ファイルデータは、分割ＩＤ１と２のデータサイズを足したものがオフセットに相当する。
【０１０８】
１１１１はファイル名であり、同じ行のデータＩＤが示すファイルデータのファイル名が記録される。ファイル名は、ＵＴＦ−８などの文字コードでフォーマットの文字列や数字である。前記ファイル名１１１１の文字列のサイズは例えば２５５バイトに制限される。
【０１０９】
文字列のサイズは、本実施例のデータライブラリシステムが接続される他のシステムや端末の環境に合わせればよく、必要であれば、２５５バイトよりも大きいものとしても良いが、前記他のシステムや前記端末が前記制限の異なる複数の環境の場合、制限される文字列サイズが大きいものが、異なる制限の文字列サイズが小さいものの制限を越えるサイズのファイルデータを、データライブラリシステムに格納すると、該異なる制限の文字列サイズが小さいものから、該ファイルデータが読み出せなくなるため、どこからでも読み出せるように、最も小さいサイズに制限されるものと同じサイズに制限した方が良い。
【０１１０】
１１１２はファイルパスで、同じ行のファイルデータの、データライブラリシステム外に見せるファイルシステム上のファイルパスが記録される。前記ファイルシステムは、記録媒体上のファイルシステムと異なり、分割ファイルは、分割前のファイルデータとしてファイルを他のシステムや端末に見せる。
【０１１１】
本実施例のデータライブラリシステムの外から分割されたファイルデータにアクセスされた場合は、分割ファイルテーブル１１００を参照して、該当するファイルデータをファイル名とファイルパスをキーとして検索して、該当ファイルデータの全分割ファイルを読み出して、再生要求がファイルデータの先頭からであれば、分割ＩＤ１の分割ファイルデータからデータを読み出していく。前記再生要求が先頭からではなく、オフセット値を指定された場合は、該オフセット値以下で最大の分割ＩＤの分割ファイルデータからデータ読み出していく。
【０１１２】
１１１３は、タイムスタンプ情報で、本実施例のデータライブラリシステムの外からファイルデータの記録要求と共に受信するファイルデータの情報に含まれるタイムスタンプ情報が記録される。前記タイムスタンプ情報は、例えば、最終アクセス時刻や、最終修正時刻や、ファイル作成時刻等が含まれる。
【０１１３】
１１１４は、ディスク上の位置情報で、同じ行の分割ファイルデータが記録される、光ディスク１０８上の位置情報が記載される。光ディスク１０８上は、ファイルシステムがあるので、ファイル名とファイルパスのみで、該当分割ファイルを特定可能であるが、例えば光ディスク１０８上のファイルシステムが読み込み出来ない障害が発生した場合や、性能の問題がある場合など、光ディスク１０８のファイルシステムからファイルデータを読み出さない場合に、光ディスク１０８上の位置情報を使い該当分割ファイルデータを読み出せる。
【０１１４】
光ディスクに記録Ｓ７０３では、データライブラリシステムが、各データ容量が光ディスク１０８の容量よりも十分小さく、複数のデータを同じ光ディスク１０８に記録する場合は、分割ファイルテーブル１１００に従い、ディスクテーブル１０００の残容量１００６が任意の閾値以下となったものや、データ数が任意の閾値以上となった光ディスク１０８を記録する。
【０１１５】
分割ファイルテーブル１１００は、分割ファイルデータについて記録されるが、テーブルのサイズを削減するために、データ毎に分割記録される光ディスクの枚数分だけ記録しても良く、その場合はどの様に分割したかの情報も記録される。
【０１１６】
以上の形態のデータライブラリシステムでは、記録タスクがスリープと他の記録タスクを起こすことで、ハードディスク１１７へアクセスする記録タスクの数が限定されて、ハードディスク１１７へのＩＯ要求の連続性が向上して、ハードディスク１１７から読み出すデータの転送速度が高い効率の良いデータライブラリシステムが実現できる。
【実施例２】
【０１１７】
本発明は、実施例２の形態をとっても良い。実施例２は基本的には全て実施例１と同じ形態をとるが、以下の点において異なる。実施例２のハードディスク１１７は１つ以上のハードディスクドライブや複数のハードディスクドライブから成るＲＡＩＤグループから構成される。
【０１１８】
図１２はファイルデータを記録する処理Ｓ８０４の詳細の処理フローである。Ｓ１２０２はファイルの格納先を得る処理で、Ｓ１２０１にて開いたファイルの現在位置の格納先のハードディスクドライブまたはＲＡＩＤグループ情報を得て、Ｓ１２０３に進む。
【０１１９】
Ｓ１２０３はバッファフラグがＴＲＵＥか判定する処理で、メモリ３０２上のバッファフラグがＴＲＵＥの場合はＳ１２０４に進み、ＦＡＬＳＥの場合はＳ１２０５に進む。バッファフラグはＳ１２０７でＴＲＵＥにされ、Ｓ１２０４でＦＡＬＳＥにされる。
【０１２０】
Ｓ１２０４はスリープする処理で、記録タスク自身をスリープして処理を停止する。その際に格納先毎に用意されたキューの、Ｓ１２０２で得た格納先に対応するキューに自身の記録タスクＩＤを追加する。またその際に前記バッファフラグをＦＡＬＳＥにする。前記キューに他の記録タスクが入っていない場合はスリープをしない。Ｓ１２０５でデータをハードディスク１１７から読み込んだ後Ｓ１２０６に進み、サーバ１１５上の前記バッファが一杯になったか判定して、該バッファが一杯になった場合はＳ１２０７に進み、該バッファが一杯になっていない場合はＳ１２０９に進む。
【０１２１】
Ｓ１２０７は次のタスクを起こす処理で、Ｓ１２０２で得た格納先に対応するキューの次の記録タスクを起こす。その際に前記バッファフラグをＴＲＵＥにする。キューに記録タスクが無い場合は、別の記録タスクを起こさない。Ｓ１２０８でデータをライブラリ装置１０１に送信後Ｓ１２０９に進み、Ｓ１２０１で開いたファイル内のデータの内、Ｓ１２０５で全てのデータを読み出した場合はＳ１２１０に進み、Ｓ１２０５で読み出していない残りのデータ容量がある場合はＳ１２０３に進む。
【０１２２】
Ｓ１２１０にてＳ１２０３で開いたファイルを閉じた後、Ｓ１２１１に進んで全てのファイルを読み出したか判定し、全てのファイルを読み出し終えた場合は処理を終了し、未だ読み出しを終えていないファイルが残っている場合はＳ１２０１へ戻る。
【０１２３】
以上の形態のデータライブラリシステムでは、記録タスクがスリープと他の記録タスクを起こすことで、前記ハードディスクドライブ、またはＲＡＩＤグループ単位でアクセスする記録タスクの数が限定されて、ハードディスクドライブやＲＡＩＤグループ毎にハードディスク１１７へのＩＯ要求の連続性が向上して、且つハードディスクドライブやＲＡＩＤグループ毎に並列でアクセス可能となり、ハードディスク１１７から読み出すデータの転送速度が高い効率の良いデータライブラリシステムが実現できる。
【０１２４】
図１３は前記記録タスクの数を制限する状態（この状態をＯＮとする）と、制限しない状態（この状態をＯＦＦとする）の遷移を示した図である。本実施例では、Ｓ９０７やＳ１２０４のスリープと、Ｓ９０５やＳ１２０７の次のタスクを起こす処理を実施する状態ＯＮとしない状態ＯＦＦの二つの状態を持ち、この状態を管理する管理タスクをサーバ１１５上で動かす。
【０１２５】
上記状態は、サーバ１１５のメモリ３０２内にあるスリープフラグに保存され、ＯＮ時は該スリープフラグをＴＲＵＥとし、ＯＦＦ時は該スリープフラグをＦＡＬＳＥとする。
【０１２６】
本実施例のデータライブラリシステムが稼動開始すると状態をＯＮにする。ＯＮの状態では一定間隔でハードディスクの転送速度を監視して、状態切り替えの閾値よりも低い転送速度となると状態をＯＦＦとする。前記閾値は本実施例のシステムにプリセットされた値か、本実施例のシステムを設置する際の導入作業の中等で行うキャリブレーションの結果として得た値を用いる。前記キャリブレーションは、ハードディスク１１７からサーバ１１５がデータを読み出し、ハードディスクの転送速度を計測して、該計測した転送速度の定数倍したものを前記閾値とする。前記定数は０よりも大きく１未満の数字である。
【０１２７】
またＯＮの状態に切り替わった直後は、ＯＦＦの状態だった直前の転送速度と比べて、現在の転送速度が低い場合は状態をＯＦＦにする。
【０１２８】
ＯＦＦの状態では一定間隔で、ＯＦＦ状態になってからの時間と記録タスクがハードディスク１１７から読み出すファイルのサイズの平均値を監視する。ＯＦＦの状態は、ＯＦＦ状態になってから一定の時間が経過した場合は状態をＯＮにする。
【０１２９】
またＯＦＦの状態は、ファイルサイズの平均値が、システムに予め設定された一定の値である閾値よりも大きくなったら、状態をＯＮにする。
【０１３０】
またＯＦＦの状態に切り替わった直後は、ＯＮの状態だった直前の転送速度と比べて、現在の転送速度が低い場合は状態をＯＮにする。
【実施例３】
【０１３１】
本発明は、実施例３の形態をとっても良い。実施例３は基本的には全て実施例１と同じ形態をとるが、以下の点において異なる。
【０１３２】
図１４は実施例１の図９の代わりに実施例３でファイルデータを記録する処理Ｓ８０４の詳細の処理フローである。図１４のフローでは、ファイル容量に応じて処理を切り替えるポスト処理Ｓ１４０８、Ｓ１４１４とウエイト処理Ｓ１４１０、格納先に応じて処理を切り替える点等において、図９と異なる。
【０１３３】
Ｓ１４０３は、格納先が変わったか判定する処理で、Ｓ１４０２にて取得した格納先情報により、ファイルの格納先が変わった場合はＳ１４０８へ進み、変わらない場合はＳ１４０４へ進む。
【０１３４】
前記格納先は、ハードディスク１１７上に構成された論理ボリュームの何れかを示す物である。例えば、ハードディスク１１７は、ハードディスクドライブが１０台あり、ＲＡＩＤ５で該ハードディスクの５台毎にＲＡＩＤグループを形成し、２つのＲＡＩＤグループがあり、それぞれの該ＲＡＩＤグループに該論理ユニットを作り、該論理ユニット毎にファイルシステムでフォーマットし論理ボリュームを形成し、ファイルを該論理ボリューム上に格納されている場合は、格納先は該論理ボリュームの何れかを示す物である。
【０１３５】
Ｓ１４０４は前ファイル容量が閾値未満か判定する処理で、Ｓ１４０１にて直前に開いたファイルの前に開いていたファイルの容量が、システム内に予めて定められた閾値１に対して、小さい場合はＳ１４０５へ進み、等しいか大きい場合はＳ１４０９へ進む。前記等しい場合はＳ１４０９へ進むとしたが、Ｓ１４０５へ進むと定めても良い。前記閾値１は、例えば１０ＭＢと設定される。
【０１３６】
Ｓ１４０９はポストフラグがＴＲＵＥか判定する処理で、ＴＲＵＥの場合はＳ１４１０へ進み、ＦＡＬＳＥの場合はＳ１４１１へ進む。前記ポストフラグは図１５中のＳ１５０３の判定処理を行った際にＴＲＵＥにし、Ｓ１４０９の判定処理を行った際にＦＡＬＳＥにする。前記ポストフラグは各タスクで値を保持し、各タスクの値は連動しない。
【０１３７】
Ｓ１４０５はファイル容量を取得する処理で、Ｓ１４０１で開いたファイルの容量を取得する処理である。例えばＬｉｎｕｘ（登録商標）上でタスクが動作する場合は、ＳＴＡＴ処理等でファイル容量をファイルシステムから取得する。
【０１３８】
Ｓ１４０６はファイル容量が閾値以上か判定する処理で、Ｓ１４０５で取得したファイル容量が、前記閾値１よりも等しいか大きい場合はＳ１４０８へ進み、小さい場合はＳ１４０５へ進む。前記では閾値１と等しい場合はＳ１４０８へ進むとしたが、Ｓ１４０７に進むと定めても良い。
【０１３９】
Ｓ１４０７は合計容量が閾値以上か判定する処理で、前記格納先毎に持つ変数である合計容量に、前記Ｓ１４０５で取得したファイル容量を足し合わせ、前記合計容量が閾値２と等しいか大きい場合はＳ１４０８へ進み、小さい場合はＳ１４０９に進む。前記では閾値２と等しい場合はＳ１４０８に進むとしたが、Ｓ１４０９に進んでも良い。
【０１４０】
前記合計容量はウェイト処理Ｓ１４１０で図１６中のタイムアウトの初期化Ｓ１６０５を行うときに、初期化される。
Ｓ１４０８で次のタスクを起こすポスト処理を行った後、Ｓ１４１０に進む。Ｓ１４１０でウエイト処理を行った後Ｓ１４１１に進む。Ｓ１４１１でサーバ１１５がハードディスク１１７から、Ｓ１４０１で開いたファイルデータを読み出した後Ｓ１４１２に進み、サーバ１１５上の前記バッファが一杯になったか判定して、該バッファが一杯になった場合はＳ１４１４に進み、該バッファが一杯になっていない場合はＳ１４１３に進む。
Ｓ１４１３はタイムアウトしているか判定する処理で、前記格納先毎にある変数であるタイムアウト時刻に対して、現時刻が同じか後であればＳ１４１４へ進み、前であればＳ１４１５へ進み、サーバ１１５上の前記バッファが一杯になったか判定して、該バッファが一杯になった場合はＳ１４１６に進み、該バッファが一杯になっていない場合はＳ１４１７に進む。前記では現時刻が前記タイムアウト時刻と同じ場合は、Ｓ１４１４へ進むとしたが、Ｓ１４１５へ進むと定めても良い。
【０１４１】
Ｓ１４１７でＳ１４０１で開いたファイル内のデータの内、Ｓ１４１１で全てのデータを読み出した場合はＳ１４１８に進み、Ｓ１４１１で読み出していない残りのデータ容量がある場合はＳ１４０４に進む。
【０１４２】
Ｓ１４１８にてＳ１４０１で開いたファイルを閉じた後、Ｓ１４１９に進んで全てのファイルを読み出したか判定し、全てのファイルを読み出し終えた場合は処理を終了し、未だ読み出しを終えていないファイルが残っている場合はＳ１４０１へ戻る。
【０１４３】
前記タイムアウト時間は、前記論理ボリューム上の１つ以上の箇所に連続的に格納されているファイルを１つのタスクがＳ１４１１の読み出し処理を行う時間程度に設定すればよく、例えば、Ｓ１４１１の処理で前記論理ボリューム上の箇所に連続的に格納された１００ＭＢのファイルを読み出す場合に、前記論理ボリュームの連続読み出し性能が１ＧＢ／ｓ程度期待される場合は、１００ミリ秒以上である。前記タイムアウト延長時間は、前記同様に設定すればよく、例えば１００ミリ秒以上である。
【０１４４】
前記の通り各時間を設定することで、ファイル容量がＳ１４１１にて読み出す予め設定された一定容量より小さく、ウエイト処理Ｓ１４１０の中で他のタスクから起こされてから、同ウエイト処理Ｓ１４１０の中で他のスレッドに起こされるまで待つ図１６中のＳ１６０８処理に再び入るまでに、複数回Ｓ１４１１の処理を行うタスクが、タイムアウト時刻以降まで経過した場合に、Ｓ１４１４のポスト処理を実行して、他のタスクを起こす。
【０１４５】
前記のタイムアウト時刻以降まで経過して他のタスクを起こすことで、一部のタスクが、前記論理ボリュームにランダムに配置されたデータを読み出す等の事態となり、前記連続読み出し性能に対して遅い連続読み出し性能で読み出す事となっても、他のタスクが待つ時間に大きな影響を出さずに、それぞれのタスクに均等に１４１１の処理機会を与える事が出来、システム全体のＢＤ記録処理の性能を担保する事が出来る。
【０１４６】
前記の通り各時間を設定することで、ファイル容量がＳ１４１１にて読み出す予め設定された一定容量より大きく、前記論理ボリュームに対して連続読み出しで想定される性能でＳ１４１１が処理される場合は、該一定容量の読み出し処理が完了して、Ｓ１４１３によるタイムアウト判定による影響は受けない。
【０１４７】
前記タイムアウト時間と前記タイムアウト延長時間は同じでなくても良く、例えば前記閾値１よりも小さいファイルを開いたタスクが多い場合に、前記閾値１以上のファイルを開いたタスクの処理に対して優先的に時間を使い、処理を行いたい場合は、前記タイムアウト延長時間を前記タイムアウト時間よりも短く設定すればよい。
【０１４８】
前記において、タイムアウト処理を図１４に示したフローに従い行ったが、タイムアウト時刻に対して現時刻を監視するタスクを設けて、該監視するタスクが、該タイムアウト時刻以降となったら、図１４のフローを処理するタスクの内、Ｓ１４１１を処理中のタスクの処理を中断させて、Ｓ１４１４へ進ませるようにしても良い。前記変更により、Ｓ１４１１の処理の時間が掛かる場合においても、他のタスクの待つ時間への影響を抑制して、前記システム全体のＢＤ記録処理性能を改善できる。
【０１４９】
図１５は、図１４中のＳ１４０８とＳ１４１４のポスト処理のフローを示した物である。Ｓ１５０１はファイル容量が閾値以上か判定する処理で、Ｓ１４０１にて開いたファイルの容量が前記閾値１と等しいか大きい場合は、Ｓ１５０３へ進み、小さい場合はＳ１５０２へ進む。前記閾値１と等しい場合はＳ１５０３へ進むとしたが、Ｓ１５０２へ進むと定めても良い。
【０１５０】
Ｓ１５０２は動作中の最後のタスクかを判定する処理で、前記同じ格納先のファイルを開いたタスクの内、ウエイト処理１４０７のほかのタスクに起こされるまで待つＳ１６０８の処理で待っているタスク以外のタスクが、他に無い場合はＳ１５０３へ進み、他に有る場合は処理を終える。
【０１５１】
Ｓ１５０３はキューにタスクがあるか判定する処理で、キューにタスクが有る場合はＳ１５０５へ進み、無い場合はＳ１５０４へ進む。
【０１５２】
前記キューは、前記格納先毎にあり、該キューには、前記タスク単位のタスクを識別する識別子とタスクの開いているデータ容量が前記閾値１未満か以上かを判断できる情報をデータとして格納される。前記識別子は例えばスレッドＩＤである。前記情報Ｓ１５０３の判定処理が出来ればよく、は例えばファイル容量であり、またはファイル容量が閾値１以上の場合はＴＲＵＥとなるフラグである。
【０１５３】
Ｓ１５０４は続行フラグをＴＲＵＥにする処理で、前記格納先毎に値を保持する変数の続行フラグに、ＴＲＵＥを代入する。
【０１５４】
Ｓ１５０５は先頭タスクを起こす処理で、前記キューの先頭のタスクを起こす。前記先頭タスクは、前記キューに入っているタスクの中、もっとも早い時刻にキューに挿入されたタスクを指す。
【０１５５】
図１６は、Ｓ１４０７のウエイト処理のフローを示した物である。Ｓ１６０１はファイル容量が閾値以上か判定する処理で、前記ファイル容量が前記閾値１と等しいか大きい場合はＳ１６０５へ進み、小さい場合はＳ１６０２へ進む。前記等しい場合はＳ１６０２へ進むと定めても良い。
【０１５６】
Ｓ１６０２は合計容量が閾値以上か判定する処理で、前記合計容量が前記閾値２と等しいか大きい場合はＳ１６０５へ進み、小さい場合はＳ１６０３へ進む。前記等しい場合はＳ１６０３へ進んでも良い。
【０１５７】
Ｓ１６０３はタイムアウトしているか判定する処理で、前記タイムアウト時刻に対して現時刻が後であればＳ１６０５へ進み、前であればＳ１６０４へ進む。
【０１５８】
Ｓ１６０４はタスク数が上限を超えているか判定する処理で、同じ格納先の前記閾値１以下のファイル容量のファイルを開いたタスクが同時に動作可能なタスク数である閾値３に対して、現在動作しているタスク数が等しいか大きい場合はＳ１６０５へ進み、小さい場合は処理を終了する。
【０１５９】
Ｓ１６０１とＳ１６０２とＳ１６０３とＳ１６０４の処理により、前記ファイル容量が閾値未満のタスクが動作している場合は、同じ格納先のタスクが、前記合計容量とタイムアウト時刻に対する現時刻と現在動作しているタスク数が一定の範囲であれば、処理を続行する事が出来、ファイル容量が大きいファイルを開いているタスクへの影響が少ない範囲で、ファイル容量が小さいファイルを開くタスクに一定の処理可能な期間が確保され該タスクの一連の処理完了が遅くなるのを防止する。
【０１６０】
Ｓ１６０５はタイムアウトの処理化する処理で、前記タイムアウト時刻を現時刻よりも前記タイムアウト時間だけ後の時刻に設定する。前記処理では、同時に前記合計容量の初期化と前記同時動作のタスク数の初期化を行う。前記合計容量の初期化では、前記合計容量に自タスクの開いているファイル容量を代入する。前記同時動作のタスク数の初期化は、前記タスク数に１を代入する。
【０１６１】
Ｓ１６０６は続行フラグがＴＲＵＥか判定する処理で、前記続行フラグがＴＲＵＥであればＳ１６１０へ進み、ＴＲＵＥでなければＳ１６０７へ進む。
【０１６２】
Ｓ１６０７はキューに追加する処理で、前記キューの末尾に自タスクの前記識別子と前記情報を含むデータを挿入する。
【０１６３】
Ｓ１６０８では自タスクがスリープし、他のタスクに起こされるまで待つ。具体的には前記キューにあるタスクが先頭から順番に起こされて、自タスクが起こされるまで待つ処理である。
【０１６４】
先頭のタスクを起こす処理Ｓ１５０５と他のタスクに起こされるまで待つ処理Ｓ１６０８と同じグループの他のタスクを起こす処理Ｓ１６１２を行い、Ｓ１５０５の前まで動作していたタスクと該動作していたタスクと同じグループの他のタスクから、Ｓ１５０５で起こしたタスクと該起こしたタスクと同じグループのタスクに、動作中のタスクを切り替えることで、ハードディスクからデータを読み出す処理Ｓ１４１１を並行して行うタスクの数を、ファイル容量に応じて制限する。Ｓ１６０９はキューから削除する処理で、自タスクの情報をキューから削除する処理である。以上のＳ１５０４とＳ１５０５とＳ１６０６とＳ１６０７とＳ１６０８とＳ１６０９の処理により、格納先が同じファイルを開くタスクが、ファイル容量が閾値１以上の場合はＳ１４１１のハードディスクからデータを読み出す処理を１つずつ行い、閾値１未満の場合は閾値３未満のタスク数で同時に行い、ハードディスク１１７から効率的に読み出しを行う事が出来る。
【０１６５】
Ｓ１６１０はファイル容量が閾値以上か判定する処理で、前記ファイル容量が前記閾値１以上の場合はＳ１６１１へ進み、未満の場合は処理を終える。
【０１６６】
Ｓ１６１１は動作中の最初のタスクか判定する処理で、同じ格納先のファイルを開いたタスクの内、最後にＳ１６０６処理を行ったタスクはＳ１６１２へ進み、該タスク以外のタスクはＳ１６１３へ進む。
【０１６７】
Ｓ１６１２は同じグループの他のタスクを起こす処理で、該グループは前記同じ格納先の前記キューにある前記ファイル容量が前記閾値１未満のタスクが全て属するグループで、該グループに属するタスクを、前記キューの挿入された時刻が前の方から順番に起こす。
【０１６８】
前記起こす処理では、前記他のタスクを１つ起こす前に、前記同時動作のタスク数を１つ加算し、前記合計容量に起こしたタスクの開いているファイル容量を加算して、前記同時動作のタスク数が前記閾値３を超えるか、前記合計容量が閾値２を超える場合は、前記加算する前の値に、前記同時動作のタスク数と前記合計容量を戻し、Ｓ１６１２の処理を終える。
【０１６９】
Ｓ１６１３はタイムアウトを延長する処理で、前記タイムアウト時刻を前記タイムアウト延長時間だけ後の時刻に更新する。但し、タイムアウト時刻が現時刻のタイムアウト延長上限時間だけ後の時刻よりも後の時刻になる場合は、タイムアウト時刻を現時刻のタイムアウト延長上限時刻だけ後の時刻にする。
【０１７０】
以上実施例３の動作により、ファイル容量の閾値１より小さいファイルを開くタスクが存在しても、ファイル容量が閾値１より大きいファイルを開くタスクの一連の処理時間に与える影響を抑制する事が出来、ハードディスク１１７から効率的にデータを読み出す事が出来る。
【０１７１】
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１７２】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。 
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１７３】
１０１…データライブラリ装置、１０２…ＣＰＵ、１０３…ユーザＩ／Ｆ部、１０４…情報表示部、１０５…メモリ、１０６…光ディスク運搬装置、１０７…光ディスク格納装置、１０８…光ディスク、１０９、１１０、１１１…データ記録再生装置、１１２…記憶装置、１１３…光ディスク格納装置着脱検出部、１１４…扉開閉検出部、１１５…サーバ、１１６…ネットワーク、１１７…ハードディスク、１１８…表示装置、１１９…サーバＩ／Ｆ部、１２０…端末、１２１…認証処理部
【図１】
2016134050.tif 000003
【図２ａ】
2016134050.tif 000004
【図２ｂ】
2016134050.tif 000005
【図３】
2016134050.tif 000006
【図４】
2016134050.tif 000007
【図５】
2016134050.tif 000008
【図６】
2016134050.tif 000009
【図７】
2016134050.tif 000010
【図８】
2016134050.tif 000011
【図９】
2016134050.tif 000012
【図１０】
2016134050.tif 000013
【図１１】
2016134050.tif 000014
【図１２】
2016134050.tif 000015
【図１３】
2016134050.tif 000016
【図１４】
2016134050.tif 000017
【図１５】
2016134050.tif 000018
【図１６】
2016134050.tif 000019