(57)【特許請求の範囲】
【請求項１】
データを蓄積し、少なくとも一つのデジタルファイルのデータを含む蓄積部（４）と、
前記蓄積部（４）の少なくとも一つのデジタルファイルにアクセスする少なくとも一つのネットワーククライアント（６）と、
少なくとも一つのネットワーククライアント（６）と前記蓄積部（４）との間のリエゾンを形成する仲介ネットワークスイッチ（８）と、
を含むネットワークデータストレージシステム（２）であって、
前記蓄積部（４）は少なくとも二つのデータストレージサーバー（１０）を含み、各データストレージサーバー（１０）は少なくとも一つのデジタルファイルのデジタルファイルセグメントを含むローカルストレージコンポーネント（１２）を有し、かつ、各データストレージサーバー（１０）は、データストレージサーバー（１０）のローカルストレージコンポーネント（１２）内の少なくとも一つのデジタルファイルセグメントの物理的位置をオーガナイズするローカルデジタルファイル管理方法を実行し、
各データストレージサーバー（１０）は他のデータストレージサーバー（１０）と前記蓄積部（４）内で通信し、かつ配信されたデジタルファイルの管理方法を実行し、前記配信されたデジタルファイルの管理方法は各データストレージサーバー（１０）のデジタルファイルセグメントに関する動作の記録を保持し、他のデータストレージサーバー（１０）と内的に通信して前記データストレージサーバー（１０）上のデジタルファイルセグメンツに関する情報を交換し、かつ前記蓄積部（４）上に蓄積された全てのデジタルファイルに関する全ての情報の概要を取得し、前記ネットワークデータストレージシステム（２）は以下を特徴とする。
前記仲介ネットワークスイッチ（８）はロードバランサー（１３）を有し、
前記ロードバランサー（１３）は各データストレージサーバー（１０）の現在の及び想定されるアクションの最新の記録を保持し、ネットワーククライアント（６）の要求をデータストレージサーバー（１０）の一つに前記蓄積部（４）にアクセスするために通信し、前記デジタルファイルを受信及び通信し、前記デジタルファイルはデジタルファイル読み出し要求に従い、前記クライアント（６）に対して前記データストレージサーバー（１０）から転送される時間的に同期したデータセグメントを含んでおり、前記データセグメントは、リアルタイムでの使用に供する連続したデータストリームを形成し、現在のデータストレージサーバーと前記データセグメントの次のデータセグメントを含む後続のデータストレージサーバーのクロックサイクルの同期を取ることによって時間的に同期されるように構成され、
前記現在のデータストレージサーバー（１０）は、前記後続のデータストレージサーバーが前記ロードバランサー（１３）に前記次のデータセグメントの通信を開始する時間を示す正確な開始時間を、前記後続のデータストレージサーバーに送信するように構成される。
【請求項２】
配信されたデジタルファイルの管理方法を実行する点に特徴のある請求項１に記載のネットワークデータストレージシステム（２）であって各データストレージサーバー（１０）は、少なくとも一つのネットワーククライアント（６）に対する及び前記データストレージサーバー（１０）間におけるデータ通信をオーガナイズする手段と、前記蓄積部（４）上に蓄積された全てのデジタルファイルに関する全ての情報の概略に基づいて前記データストレージサーバー（１０）上の少なくとも一つのデジタルファイルのデジタルファイルセグメントの論理的なオーガナイゼーションを管理するための手段とを有している。
【請求項３】
請求項１又は２に記載のネットワークデータストレージシステム（２）であって以下の点に特徴がある。
各データストレージサーバー（１０）は前記仲介ネットワークスイッチ（８）と通信し、前記ネットワーククライアント（６）は前記蓄積部（４）へのユニーク仮想エントリーポイントを有しており、前記配信されたデジタルファイルの管理方法データストレージサーバー（１０）は前記蓄積部（４）に対し前記ネットワーククライアント（６）を統合記憶部（４）として提示し前記ネットワーククライアント（６）から前記データストレージサーバー（１０）及び前記ローカルストレージコンポーネント（１２）を隠す。
【請求項４】
請求項１から３のいずれかに記載のネットワークデータストレージシステム（２）であって下記の点を特徴とする。
各データストレージサーバー（１０）は前記ネットワーククライアント（６）のデジタルファイル書き込み要求に従い、少なくとも一つのデジタルファイルをデジタルファイルセグメントに分割し、少なくとも二つのデータストレージサーバー（１０）のローカルストレージコンポーネント（１２）に前記デジタルファイルセグメントを通信して記憶させる。
【請求項５】
請求項１から４のいずれかに記載のネットワークデータストレージシステム（２）であって以下の点を特徴とする。
各データストレージサーバー（１０）は各ネットワーククライアント（６）のデジタルファイル読み出し要求に応じ、前記ローカルストレージコンポーネント（１２）から少なくとも一つのデジタルファイルの各データセグメントの回復を時間的に同期させてデータセグメントのリアルタイム連続ストリームを形成し、データセグメントの重複や不連続なしに少なくとも一つのデジタルファイルを再構築する。
【請求項６】
請求項１から５のいずれかに記載のネットワークデータストレージシステム（２）であって、各ローカルストレージコンポーネント（１２）はRAID（redundant array of independent disks）であることを特徴とするネットワークデータストレージシステム（２）。
【請求項７】
各ローカルストレージコンポーネント（１２）はハードディスクドライブであることを特徴とする、請求項１から５に記載のネットワークデータストレージシステム（２）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルネットワークを介してストレージユニットとデータを通信するためのネットワークデータストレージシステムに関する。
【背景技術】
【０００２】
ストレージデバイス上に蓄積されたデータは、NAS（Network Attached Storage）などのネットワークストレージシステムを用いたネットワークに接続された複数のクライアントやアプリケーションに対してアクセス可能に作られている。ネットワークアタッチドストレージは一般的に所定数のクライアントやアプリケーションがリンクされているネットワークスイッチにNAS装置を接続することによって、実現される。
【０００３】
NAS装置は、サービスを提供するという事実のためにしばしばサーバと呼ばれ、ファイルシステム方法やファイル管理方法を実行するソフトウェアを含み、ストレージデバイスに直接接続されている。ストレージデバイスを用いた通信は、高速SCSE(Small Computer System Interface)または、IDE（Integrated Drive Electronic）リンクを通じて実行される。
【０００４】
NASを用いて蓄積されたデジタルファイルは、ネットワーク上の各クライアントから見ることができ(visible)、デジタルファイルに対する要求の間、ファイルシステムはストレージデバイスの物理的に異なる場所に蓄積されたデジタルファイルのデータのセクタを取得し、完全なデジタルファイルをクライアントに通信する。
【０００５】
クライアントにとっては、ＮＡＳシステムは管理が容易であり、クライアントがデジタルファイルを要求すると、その要求されたデジタルファイルは１つの非分割単位として配信される。しかし、NAS装置に入る１つの通信チャネルを通じて複数のクライアントがNAS装置と通信するので、大量のデータがNAS装置にまたはNAS装置から転送される場合、またはクライアントからたくさんの要求がある場合、NASストレージシステムは通信のボトルネックを引き起こす。
【０００６】
ストレージエリアネットワーク（SAN）などのクラスタストレージシステムは、NASシステムによって起こるボトルネックを除去もしくは低減する。SANは、SANスイッチに並列に接続された複数のストレージデバイスを含み、クライアントはそのSANスイッチに直接接続されているか、またはサーバを介してSANスイッチに間接的に接続されている。複数のストレージデバイスに蓄積データが配信されるので、共有データへの同時アクセスが増加して通信のボトルネックが悪化するリスクが低減する。
【０００７】
しかし、SANシステムはより複雑な分散ファイルシステム(distributed file system)を必要とし、クライアントによるデータストレージの管理を要する。分散ファイルシステムは、クライアントにより用いられ、複数のストレージデバイスに分散されたデジタルファイルのデータセグメントを取得する。NFS (Network File System)またはCIFS(Common Internet File System)などの標準的な分散ファイルシステムは分散型ストレージの機能を実現出来ず、特別で高価なハードウエアが分散型ストレージの機能を実現するために必要とされる。
【０００８】
マルチメディアデータとは、一般的に、ビジュアル、オーディオ、アニメーション、グラフィクスまたはテキスト情報もしくはこれらの任意の組み合わせを言う。マルチメディアデータは、高速ビットレート通信を必要とする大量のデータを有していることが多い。マルチメディアデータの転送は、データが連続的にストリーム化されていることを必要とし、そのようなデータはリニアで連続的な通信を必要とする。マルチメディアデータは例えば、医療アプリケーション、軍事用アプリケーション、及びテレビ局のオーディオビジュアルアプリケーションに現在使用されている。
【０００９】
マルチメディアデータのネットワークストレージは、従来の情報技術データのネットワークストレージとは蓄積容量およびアクセス要求の点で異なっている。マルチメディアデータ環境で用いられるネットワークデータストレージシステムは、非常に大容量のデータをサポートし、高いバンド幅を提供することを必要とし、蓄積されたマルチメディアデータへのリニアで連続的なアクセスを優先することを必要とする。
【００１０】
マルチメディアデータを要求するネットワーク上のクライアントまたはアプリケーションは、ストレージユニットから配信されるデータの時間的連続性に対し、厳密な要求を有している。マルチメディアデータはリアルタイムで処理される(consumed)されるために、マルチメディアデータの転送には時間に関する厳密な遵守(respect)及び制御が必要であり、マルチメディアデータの受信の遅延は許されない。
【００１１】
NASシステムの通信のボトルネックはマルチメディアデータストリーミングにとって問題であり、マルチメディアデータの時間に対する厳密な要求を遵守していない(not respect)。SANシステムは、複数のストレージデバイスでのデータストレージを管理するために、複雑な分散ファイルシステムを使用する負担をクライアントが負う。
【００１２】
本発明の目的は、リニアなデータ通信における時間に関する厳密な要求を満たすデータ通信が可能なネットワークデータストレージシステムであって、そのファイルシステム管理がクライアントにとって簡易であるシステムを提供することにある。
【発明の開示】
【課題を解決するための手段】
【００１３】
本発明は、請求項１に記載のネットワークデータストレージシステムを提供することを目的とする。
【００１４】
インターフェースデバイスの他の特徴は従属クレームに記載されている。
【００１５】
本発明の上記の目的、特徴及び他の利点は添付図面とともに詳細な説明から最もよく理解されるであろう。
【発明を実施するための最良の形態】
【００１６】
図面では、同一の参照符号は同一の構成要素を示すのに用いられている。
【００１７】
図１は、デジタルネットワークを介し、デジタルファイルを蓄積部４に書き込み、デジタルファイルを蓄積部４から読み出すネットワークデータストレージシステムを示す。この例では、デジタルネットワークはイーサネット（登録商標）のネットワークインプリメンテーションを用いて構成される。デジタルファイルは、例えばデジタルビデオレコーディングのような情報を表す２進数の数字データのビットシーケンスを含む。このデジタルファイルは、デジタルファイル名やファイルの最新の更新日などの情報を含むメタデータを関連づける。ネットワークデータストレージシステムは、蓄積部４との通信を確立するために用いられる少なくとも１つのネットワーククライアントまたはアプリケーション６を含み、各ネットワーククライアント６は仲介ネットワークスイッチ８を介して蓄積部４にリンクされている。
【００１８】
ネットワーククライアント６はソフトウェアを含む装置であり、このソフトウェアは蓄積部４内のサーバソフトウェアと呼ばれる他のソフトウェアと通信することにより遠隔サービスにアクセスするようになっている。ネットワーククライアント６は、例えば生中継のテレビ局に設置されたオーディオビジュアル装置であり、このオーディオビジュアル装置は蓄積されたアーカイブデータを取得してスタジオの視聴者に表示する。テレビ局のスタジオは生中継でテレビ視聴者に同時に放映される。
【００１９】
仲介ネットワークスイッチ８は、各ネットワーククライアント６と蓄積部４とを含むネットワークセグメンツを接続し、デジタルネットワークを形成する。データはデジタルネットワーク上をデータパケットの形で伝送され、各データパケットは、デジタルネットワークを介してデータをその宛先にナビゲーションする少なくとも１つのナビゲーションデータ部と、ネットワークデータストレージシステム２の管理に関するマルチメディアデータまたは制御データを有するデータペイロードとを含む。
【００２０】
データは、ネットワーククライアント６によって仲介ネットワークスイッチ８に送信され蓄積部４を宛先としており、宛先MAC(Media Access Controller)アドレスを含むナビゲーションデータ部を含む。MACアドレスは、蓄積部４またはネットワークに接続された別の装置に関連づけられているアドレスである。仲介ネットワークスイッチ８は、ネットワーククライアント６のMACアドレスと、仲介ネットワークスイッチ８のポートであってデータが到着したポートと、をMACアドレステーブルに保存するように構成されている。仲介ネットワークスイッチ８は、続いてMACアドレステーブルを調べ、宛先MACアドレスに関連づけられた仲介ネットワークスイッチポートにデータをルーティングし、そのポートから宛先へデータを転送する。
【００２１】
蓄積部４からネットワーククライアント６に送られたデータは、仲介ネットワークスイッチ８を通り、同様な方法でネットワークを介してナビゲートされる。仲介ネットワークスイッチ８は、受信データポートを除く全てのポートに対して受信データをルーティングすることによりデータをマルチキャストするように構成され、そのポートから対応する関連づけられた宛先へデータを転送する。
【００２２】
蓄積部４は、少なくとも２つのデータストレージサーバ１０を含み、各データストレージサーバ１０はローカルストレージコンポーネント１２を含む。この例ではローカルストレージコンポーネントはRAID（redundant array of independent disks）である。別の例では、ローカルストレージコンポーネントはハードディスクドライブである。
【００２３】
各データストレージサーバ１０は、独立して仲介ネットワークスイッチ８に接続されている。しかし、クライアント６は、蓄積部４へのユニークな仮想エントリーポイントを有している。ユニーク仮想エントリーポイントは、蓄積部４に割り当てられているユニークなIP（internet protocol）アドレスを用いて実現される。クライアント６が蓄積部４との通信を確立しようとする時、IPアドレスを含むデータパケットのナビゲーションデータ部は仲介ネットワークスイッチ８によって検証される。そのIPアドレスが蓄積部４のIPアドレスに対応していることが検証されると、そのデータは蓄積部４に通信される。
【００２４】
各データストレージサーバ１０はさらに隣接するストレージサーバ１０に接続され、これにより任意のストレージサーバ１０は他の任意のストレージサーバ１０と蓄積部４内で内部的に通信することができる。
【００２５】
仲介ネットワークスイッチ８はロードバランサ１３を更に含む。ロードバランサ１３は蓄積部４のデータストレージサーバ１０のワークロードを管理するように形成され、クライアント６に対して蓄積部４が１つのユニークなストレージデバイスであるように見せる。
【００２６】
ロードバランサ１３は、クライアントコミュニケーションを、データストレージサーバ１０の１つに転送するように形成されている。所定のルールセットが、どのデータストレージサーバ１０がクライアントからの通信を受信するかを決定するのに用いられる。本実施例で用いられる所定のルールセットは、データストレージサーバ１０へのコネクションの中の最小番号である。本発明の他の実施例では、ラウンドロビンまたはソース／宛先ハッシングが用いられる。データストレージサーバ１０への通信には、NAT(Network Address Translation)転送技術が用いられる。他の実施形態では、IPトンネリング及びIP直接ルーティングが用いられる。ロードバランサ１３は更に、クライアントから蓄積部４へのデジタルファイル読出要求に従って、蓄積部４からクライアントへ通信されるデジタルファイルを受信し、転送するように形成されている。
【００２７】
ロードバランサ１３は、ルーティングテーブルを含み、クライアントまたはデータストレージサーバ１０とのコネクションの最新のアカウントをルーティングテーブル内に保持するように形成されている。データストレージサーバ１０の現在及び想定されるコネクションが、クライアントまたはデータストレージサーバ１０とのコネクションの想定される終了と共に、ルーティングテーブルに保持される。
【００２８】
各データストレージサーバ１０は、データストレージサーバ１０のローカルストレージコンポーネント１２におけるデータの蓄積と取得とを制御するためのストレージサーバプロセッサ１４、仲介ネットワークスイッチ８とデータストレージサーバ１０とをインターフェイス接続するネットワークインターフェイスデバイス１６、及びネットワークインターフェイスデバイス１６とローカルストレージコンポーネント１２とをインターフェイス接続するRAIDコントローラ１８を含む。ネットワークインターフェイスデバイス１６は、更に、データストレージサーバ１０間の内部的通信のために、データストレージサーバ１０を近隣のデータストレージサーバ１０とインターフェイス接続する。
【００２９】
ネットワークインターフェイスデバイス１６は、専用のハードウエアプロセッサを含み、この専用のハードウエアプロセッサはデータパケットのナビゲーションデータ部を処理し、仲介ネットワークスイッチ８へ及び仲介ネットワークスイッチ８から、ストレージサーバプロセッサ１４へ及びストレージサーバプロセッサ１４から、及びRAIDコントローラ１８へ及びRAIDコントローラ１８から、他のデータストレージサーバ１０との間でデータを通信する。
【００３０】
ストレージサーバプロセッサ１４との間でのデータ通信 は、ネットワークデータストレージシステム２の管理に関する制御データのみを有するデータペイロードを含んでいる。RAIDコントローラ１８とのデータ通信は、マルチメディアデータだけを有するデータペイロードを含み、仲介ネットワークスイッチ８とのネットワークデータ通信は、マルチメディアデータまたは制御データを有するデータペイロードを含んでいる。データストレージサーバ１０間のデータ通信は、蓄積部４のデータストレージサーバ１０のシンクロナイゼーション（synchronisation） 及び管理に関する制御データを有するデータペイロードを含んでいる。
【００３１】
RAIDコントローラ１８は、専用のハードウエアで実現され、制御部、ストリームプロセッサ、ストリッピングプロセッサ、及びSCSIコントローラを含む。制御部は、ストレージサーバ１４のコマンドを実行し、ストリッピングプロセッサ及びSCSIコントローラと通信するようになっている。ストリームプロセッサは、デジタルネットワーク上を転送されるように、ネットワークインターフェイス１６にマルチメディアデータペイロードを送出する。ストリームプロセッサはまた、ネットワークインターフェイスデバイス１６からストリッピングプロセッサへマルチメディアデータを送信し、ストリッピングプロセッサは、データのストリームを、RAIDディスクのディスクアクセスサイズに応じて１６ビットのワードに分割する。ストリームプロセッサの２つの動作は双方向かつ同時である。SCSIコントローラは、シリアルアタッチドSCSIインターフェイスを通してRAIDディスクと通信し、RAIDに１６ビットのデータワードを書き込み、RAIDディスクからデータを読み出す。ディスクへのまたはディスクからのデータの送受信におけるSCSIコントローラの応答性を高めることにより、蓄積部４とデジタルネットワークとの間のデータ転送速度を最大限に高めることができる。RAIDコントローラ１８はハードウェアであり、ストレージサーバプロセッサ１４に関連づけられたRAIDディスク上でデータのRAIDレベル５のオーガニゼーションをプログラムにより実行する。
【００３２】
ストレージサーバプロセッサ１４は、蓄積部４内のデジタルファイルの蓄積及び取得を管理するための、分散デジタルファイルの管理方法を実行するように形成されたサーバソフトウェアを含む。
【００３３】
デジタルファイル書込要求に従い、各データストレージサーバ１０の分散デジタルファイルの管理方法は、少なくとも２つのデジタルファイルセグメントにデジタルファイルを分割し、ローカルストレージコンポーネント１２内の蓄積の為に少なくとも２つのデータストレージサーバ１０にデジタルファイルセグメントを通信する。例えば、蓄積部４が２つのデータストレージサーバ１０と２つのセグメントに分割されたデジタルファイルとを含む場合、各データストレージサーバ１０はデジタルファイルの全てのセグメントを受信するか、または各データストレージサーバ１０で異なるたった１つのセグメントを受信するかのどちらかである。
【００３４】
デジタルファイルを複数のデータストレージサーバ１０に蓄積されたデジタルファイルセグメントに分割することにより、蓄積部４との間のデータの通信中に、１つのデータストレージサーバ１０へのデータの集中を防止する。
【００３５】
分散デジタルファイルの管理方法により、更に、クライアント６に対して蓄積部４が統合されたストレージエンティティ (storage entity)として提示され、蓄積部４の内部構造、データストレージサーバ１０の存在、及びローカルストレージコンポーネント１２の存在が直接クライアント６から見えないようになる(concealed)。
【００３６】
蓄積部４上に蓄積されたデジタルファイルは、クライアントに対し、ディレクトリとルートディレクトリとを有するデジタルファイルの論理的なセットを持つ統合されたストレージオーガナイゼーションとして提示される。クライアント６がデジタルファイルを要求すると、クライアントの視点からは、蓄積部４へのクライアント６のユニーク仮想エントリーポイントを介し、蓄積部４の統合ファイルシステムへの要求が生成され、クライアント６が蓄積部４のユニーク仮想エントリーポイントを介して蓄積部４の統合ファイルシステムから非分割のエンティティーとしてデジタルファイルを受信する。
【００３７】
各データストレージサーバ１０のストレージサーバプロセッサ１４は蓄積管理テーブル２０を含み、このテーブルは分散デジタルファイルの管理方法により更新される。蓄積管理テーブル２０は、データストレージサーバ１０へのデジタルファイルセグメントへの書き込みや更新などのデータストレージサーバ１０により実行される動作に関する情報を含んでいる。蓄積管理テーブル２０は、データストレージサーバ１０で結合されるデジタルファイルセグメントに関する情報を含み、更にまた蓄積部４の他の全てのストレージサーバ１０が有するデジタルファイルセグメントに関する情報を含む。
【００３８】
データストレージサーバ１０上でのデジタルファイルセグメントの書き込みや変更などの動作に従い、関連するデータストレージサーバ１０はその蓄積管理テーブル２０を更新し、全ての他のデータストレージサーバ１０にその動作を通信する。他のデータストレージサーバ１０のそれぞれは、続いて各自の蓄積管理テーブル２０を、付加された新たなデジタルファイルセグメントにより、または既存のデジタルファイルファイルセグメントに加えた変更により、更新する。
【００３９】
各データストレージサーバ１０は、データストレージサーバ１０間の通信を介して、他のデータストレージサーバ１０のそれぞれの各蓄積管理テーブル２０にアクセスする。
【００４０】
各データストレージサーバ１０は、各データストレージサーバ１０において実行されるデジタルファイルセグメントの書き込み及び更新動作だけでなく、蓄積部４上に蓄積された全てのデジタルファイル及びデータストレージサーバ１０間のデジタルファイルセグメントの分散について、十分な知識を持つ。
【００４１】
各データストレージサーバ１０は、分散デジタルファイルの管理方法を実行することにより、蓄積部４上に蓄積された全てのデジタルファイルを把握し、かつディレクトリとルートディレクトリとを有するデジタルファイルの論理的なセットを持つ統合ストレージオーガナイゼーション(unified storage organisation)をクライアント６に提示する。デジタルファイルの書込要求の間、分散デジタルファイルの管理方法により、蓄積部４上に蓄積された全てのデジタルファイルに関する全ての情報の概要を用い、分割されたデジタルファイルのデジタルファイルセグメントを通信するデータストレージサーバ１０を決定する。
【００４２】
分散デジタルファイルの管理方法では、データストレージサーバ１０内のデジタルファイルセグメントの書き込みまたは変更プロセスの間、蓄積管理テーブル２０へのエントリの付加または関連するデジタルデータストレージサーバ１０の蓄積管理テーブル２０の既存のエントリの更新を行う。
【００４３】
データストレージサーバ１０内のデジタルファイルセグメントの書き込みまたは変更プロセスの間、分散デジタルファイルの管理方法により書き込みまたは変更中のデジタルファイルセグメントへのアクセスをブロックする。他のデータストレージサーバ１０またはデジタルファイルセグメントがそこで書き込まれているまたは変更されているそのデータストレージサーバ１０は、書き込みまたは更新プロセスの間は、デジタルファイルセグメントにアクセスし、クライアントへの転送やデジタルファイルセグメントの更新を実行することはできない。
【００４４】
分散デジタルファイルの管理方法ではまた、デジタルファイルセグメントが属しているデジタルファイルの変更要求がクライアント６から発行された場合、読み出し中のデジタルファイルセグメントへのアクセスをブロックする。分散デジタルファイルの管理方法では、デジタルファイルセグメントが属するデジタルファイルの読出要求がクライアント６から発行された場合、読み出し中のデジタルファイルセグメントへのアクセスをブロックしない。これにより、蓄積されたデジタルファイルへのクライアントからの複数の読出アクセスが可能になる。
【００４５】
変更中のまたは書き込み中のデジタルファイルセグメントを持つデジタルファイルを有するディレクトリのコンテンツを１または複数のクライアントが検索している場合、そのデジタルファイルに関するデータ、例えばメタデータは、全てのクライアント６に対して簡素化及び統合された蓄積部４のビューを維持するために、蓄積管理テーブル２０が更新された時に転送されるだけである。
【００４６】
分散デジタルファイルの管理方法ではデータストレージサーバ１０間のデジタルファイルセグメントの分散に関する蓄積管理テーブル２０内の情報にアクセスできるけれども、データストレージサーバ１０のローカルストレージコンポーネント１２上のデジタルファイルセグメントの物理的位置及びオーガナイゼーションに関する情報にはアクセスしない。各データストレージサーバ１０のストレージサーバプロセッサ１４は、ローカルデジタルファイル管理方法を実行するソフトウェアを含み、このソフトウェアはローカルストレージコンポーネント１２上のデジタルファイルセグメントの物理的配置及びオーガナイゼーションを管理する。
【００４７】
RAIDコントローラ１８は、ストレージサーバプロセッサ１４の管理下でRAIDディスクに転送するためのファイルセグメントデータを準備し、ローカルデジタルファイル管理方法はそのディスク上のデータの物理的オーガナイゼーションを管理する。データストレージサーバ１０により受信されたデジタルセグメントのRAIDコントローラ１８による１６ビットディスクアクセスワードへの分割に続き、ローカルデジタルファイル管理方法では、５１２バイトサイズのRAIDディスクのディスクセクタへの１６ビットディスクアクセスワードの物理的配置をオーガナイズする。
【００４８】
ローカルデジタルファイル管理方法では、ストレージサーバプロセッサ１４内のファイルセグメント割り当てテーブル２２を更新することにより、ディスクセクタ内のデータの物理的な位置を追跡する 。ファイルセグメント割り当てテーブル２２は、どのファイルセグメントにどのセクターが属するか、及びどのセクターが未使用のままか、を管理するために用いられる。
【００４９】
クライアント６からのデジタルファイル読出要求に続き、関連するデータストレージサーバ１０における分散デジタルファイルの管理方法では、データストレージサーバ１０からの正しい順序にデジタルファイルの各デジタルファイルセグメントを時間的にシンクロナイズして復元させ 、デジタルファイルセグメントの連続的なストリームを形成し、ロードバランサ１３を介してクライアント６に送信し、クライアント6によるリアルタイムでの使用に供する。
【００５０】
そのようなシンクロナイズが必要とされるのは、クライアント６に非常に大きなメモリバッファと過剰なデータ処理を要求する、マルチメディアデータに含まれる大容量データの為にデータバッファリングが用いられないからである。
【００５１】
蓄積部４からのマルチメディアデータに対する読出要求は、各データストレージサーバ１０からのデジタルファイルセグメントの転送の順序が厳密に遵守(respect)されており、かつデジタルファイルセグメントが時間的に厳密に連続的に配信されることを必要とする。図２Ｃは、データストレージサーバAとデータストレージサーバBそれぞれからの第１及び第２デジタルファイルセグメントを含むデジタルファイルの理想的な取得を示す。図２Ａ及び図２Ｂに示す場合とは異なり、図２Ｃでは、デジタルファイルの取得は正しい順序で行われ、デジタルファイルセグメント間で時間的に連続性が保たれている。図２Ａ及び図２Ｂは、クライアントへのマルチメディアデータの到着の妨げを結果的に生じる、デジタルファイルセグメント間のとぎれ及び重複の場合を示す。
【００５２】
分散デジタルファイルの管理方法では、図３に示すようにシンクロナイズ処理２９が実行され、複数のデータストレージサーバ１０に含まれる１つのデジタルファイルのデジタルファイルセグメントの処理をシンクロナイズさせ、１つのデジタルファイルをクライアント６に正しく配信する。
【００５３】
デジタルファイル読出要求は、ロードバランサ１３を介してデータストレージサーバ１０の任意の１つにおいて受信される（本実施形態においては最も小さなワークロードのデータストレージサーバ１０）。もし受信したデータストレージサーバ１０がデジタルファイルの最初のデジタルファイルセグメントを持たないデジタルストレージサーバ１０であれば、受信データストレージサーバ１０はその蓄積管理テーブル２０を調べ、他のデータストレージサーバ１０上のデジタルファイルの全てのデジタルファイルセグメントの分散に関する情報を復元(recuperate)する。分散デジタルファイルの管理方法は、要求されたデジタルファイルの最初のデジタルファイルセグメントを含むデータストレージサーバ１０に対して読出要求を内部的に通信する。
【００５４】
最初のデジタルファイルセグメントを持つデータストレージサーバ１０における分散デジタルファイルの管理方法では、同様にして情報を蓄積管理テーブル２０から復元(recuperate)する。蓄積管理テーブル２０には、他のデータストレージサーバ１０上のデジタルファイルの全てのデジタルファイルセグメントの配置に関する情報が含まれている。最初のデジタルファイルセグメントを含むデータストレージサーバ１０での分散デジタルファイルの管理方法では、次いで他のデジタルファイルセグメントのそれぞれを含む他のデータストレージサーバ１０に対して読出要求が発行されたことを通知し、ローカルストレージコンポーネント１２から転送されるべきデジタルファイルセグメントを通知する。分散デジタルファイルの管理方法ではまた、ロードバランサ１３に、自身が最初のデータセグメントを含むデータストレージサーバ１０であることを通知し、ロードバランサ１３は自身のルーティングテーブルをそれによって更新する。ロードバランサ１３にはまた、後続のデータセグメントを通信するであろうデータストレージサーバ１０の通知が送られる。
【００５５】
最初のデジタルファイルセグメントを含むデータストレージサーバ１０は、最初のデジタルファイルセグメントの転送を開始する。デジタルファイルの最初のデジタルファイルセグメントを含むデータストレージサーバ１０（図３のデータストレージサーバ“A”によって示されている）は、第1の処理ステップ３０を実行し、最初のデジタルセグメントの取得を開始し、最初のデジタルファイルセグメントはロードバランサ１３に通信される。ロードバランサ１３は、自身のルーティングテーブルに記録されている情報に従って、クライアント６への最初のデジタルファイルセグメントの転送を続行する。
【００５６】
最初のデータセグメント を含むデータストレージサーバ１０は次いで通信ステップ３２を実行し、いつ処理が後続のデータストレージサーバ１０に渡されるのか（図３のデータストレージサーバ“Ｂ”によって示される）または現在のデータセグメントがデジタルファイルの最後のデータセグメントである場合、いつ現在のデジタルセグメントの取得が終了するのか、を示すイーサネットフレーム番号を、ロードバランサ１３に通知する。
【００５７】
時間シンクロナイズステップ３４では、データストレージサーバ間の内部的通信を介して、現在のデータストレージサーバ１０と2つ目のデジタルファイルセグメントを有する後続のデータストレージサーバ１０とのクロック周期をシンクロナイズさせる。これにより、１つのデータストレージサーバから後続のデータストレージサーバ１０へ処理の実行主体が移る間 、データ転送の厳密な時間に対する要求を担保することが出来る。
【００５８】
通知ステップ３６では、後続のデジタルファイルセグメントを含むデータストレージサーバ１０に対して厳密な開始時間を送信する。前記後続のデジタルファイルセグメントは、後続のデジタルファイルセグメントを含むデータストレージサーバ１０が、クライアント６に対して２つ目のデジタルファイルセグメントの転送を続行するロードバランサ１３に、次のデータセグメントの通信を開始する時間を示す。 開始時間の通知により、関連するデータストレージサーバ１０は、開始時間に先立って後続のデジタルファイルセグメントの処理及び取得を準備することが出来、後続のデータストレージサーバ１０は転送を続行し、かつデータ転送の時間的連続性を遵守(respect)することができる。
【００５９】
停止ステップ３８では、開始時間において正確に最初のデジタルファイルセグメントの処理を停止し、第２処理ステップ４０では、次いでロードバランサ１３に通信されるべき次のデジタルセグメントを、後続のデータストレージサーバ１０において開始時間から取得し始める。
【００６０】
反復ステップ４２では、現在のデータセグメントがデジタルファイルの最後のデータセグメントであり第１処理ステップ、通信ステップ、及び停止ステップだけが反復される場合を除き、前述の全てのステップを要求されたデジタルファイルの各データセグメントに対して繰り返す。
【００６１】
分散デジタルファイルの管理方法で用いられるシンクロナイズ処理２９により、デジタルストレージサーバ１０から正しい順序でデジタルファイルが取得され、デジタルファイルセグメント間の時間的な連続性が遵守(respect)される。クライアントは蓄積部４からのデジタルファイルを要求し、蓄積部４からの連続的なデータストリームにおいて統合されたデジタルファイルを取得する。
【００６２】
クライアント６によるデジタルファイル書込要求は、デジタルファイル読出要求により要求される厳密な時間的連続性を要求しない。しかし、上記のシンクロナイズ処理に類似するシンクロナイズ処理は、データストレージサーバ１０に対してデジタルファイルセグメントの書き込みをシンクロナイズさせるために用いられる。処理ステップは、次いでデジタルファイルセグメントをデータストレージサーバ１０に通信し、蓄積させる。
【００６３】
蓄積部４が、ローカルストレージコンポーネント１２を有する内部的に接続された複数のデータストレージサーバ１０と、全てのデータストレージサーバ１０に関する全ての情報へのアクセスを有する分散デジタルファイルの管理方法とを有しているため、リニアなデータ通信の厳密な時間的要求を遵守する(respect)、クライアント６へのデータ通信が可能である。分散デジタルファイルの管理方法により、更にクライアントに対して統合された蓄積部を提示でき、クライアントにとってファイルシステムの管理を簡略化することができる。
【００６４】
本例では、デジタルネットワークはイーサネットを用いて構成されている。しかし、本発明での他の実施形態では、デジタルネットワークは、例えばATM（asynchronous transfer mode）ネットワークなどの他のネットワークを用いて実現することができる。
【００６５】
加えて、本実施形態はマルチメディアデータの蓄積及び通信に適した形態を記載している。しかし、本発明によるネットワークデータストレージシステム２は、IT（information technology）データなどのあらゆるタイプのデータの通信及び蓄積に同様に用いることができる。
【００６６】
本実施形態において分散デジタルファイルの管理方法により蓄積管理テーブル２０に記録されるように選択される動作及びデジタルファイルセグメントへのアクセスをブロックする動作は、本発明の１つの実施形態の一例に過ぎないことは理解されるべきである。本発明の他の実施形態においては、ネットワークデータストレージシステムの異なる動作及び機能は、蓄積管理テーブル２０に記録される付加的な動作またはより少ない動作を選択することによって、及びデジタルファイルセグメントへのアクセスをブロックする動作を変更することによって、実現される。
【００６７】
更に、アクセスは異なるレベルにおいてブロック可能であり、例えばディレクトリレベルでのデジタルファイルセグメントのみに限らない。
【図面の簡単な説明】
【００６８】
【図１】本発明のネットワークデータストレージスステムの概略的なブロック図である。
【図２Ａ】ネットワークデータストレージスステムにおけるデジタルファイルのデータセグメントの処理に付随する潜在的な問題を示す概略的なブロック図である。
【図２Ｂ】ネットワークデータストレージスステムにおけるデジタルファイルのデータセグメントの処理に付随する潜在的な問題を示す概略的なブロック図である。
【図２Ｃ】ネットワークデータストレージスステムにおけるデジタルファイルのデータセグメントの処理に付随する潜在的な問題を示す概略的なブロック図である。
【図３】図１のネットワークデータストレージスステムにおけるデジタルファイルのデータセグメントの処理を同期するための方法のフローチャートである。
【図１】
0005208446.tif 000002
【図２Ａ】
0005208446.tif 000003
【図２Ｂ】
0005208446.tif 000004
【図２Ｃ】
0005208446.tif 000005
【図３】
0005208446.tif 000006