(57)【要約】【解決手段】クライアント（４００）からサーバ（４０１）へとファイルデータを書き込むための方法であって、この方法は、クライアント（４００）からサーバ（４０１）へとファイルデータを書き込むことを含み、クライアント（４００）は、転送すべき複数のファイルの名前および各ファイルの属性を含むファイル転送プロポーザル（４０２）をサーバ（４０１）へと発行する。サーバ（４０１）は、複数のファイルにとって最適な記憶位置、ならびにデータ転送にとって最適な順序およびサイズを決定し、記憶位置およびデータ転送の最小回数に関して最適化された順番で複数のファイルを転送する要求をクライアント（４００）へと発行することによって、クライアント（４００）からサーバ（４０１）へのデータ転送速度を最大にする。【選択図】図４
2004533039.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピュータから第２のコンピュータへとファイルデータを書き込むための方法であって、
転送すべきファイルに関連付けられた少なくとも１つの属性を備えるファイル転送プロポーザルを、前記第１のコンピュータによって前記第２のコンピュータへと発行し、
前記転送すべきファイルにとって最適な少なくとも１つの記憶位置および最適なデータ転送速度を前記第２のコンピュータにおいて決定し、
前記転送すべきファイルを前記最適なデータ転送速度を使用して転送する要求を、前記第２のコンピュータによって前記第１のコンピュータへと発行する方法。
【請求項２】
請求項１に記載の方法であって、
前記少なくとも１つの属性はファイル長を含む、方法。
【請求項３】
請求項１に記載の方法であって、
前記第１のコンピュータはクライアントコンピュータであり、前記第２のコンピュータはサーバコンピュータである、方法。
【請求項４】
請求項１に記載の方法であって、
前記第２のコンピュータは、前記ファイル転送プロポーザルをもとに前記データのサイズを決定して最大転送速度を算出し、前記第２のコンピュータによって前記第１のコンピュータへと発行される前記要求は、前記最大転送速度を含むことによって、前記データ転送の回数を、サーバリソースを使い尽くすことなしに最小化する、方法。
【請求項５】
請求項１に記載の方法であって、
前記第２のコンピュータは前記転送すべきファイルを格納するための取り外し可能な媒体要素を含み、前記ファイル転送プロポーザルは転送すべき複数のファイルを含み、前記第２のコンピュータは前記媒体要素にアクセスするために最適な順序を決定し、前記ファイルを転送する要求は前記最適な順序を含む、方法。
【請求項６】
第１のコンピュータ上のソースファイルから第２のコンピュータ上の宛先ファイルへとファイルデータを書き込むための方法であって、前記第１のコンピュータ上にある前記ファイルデータは、ストレージエリアネットワーク上の第１の記憶装置上に物理的に配置されており、前記第２のコンピュータ上にある前記宛先ファイルは、前記ストレージエリアネットワーク上の第２の記憶装置上に物理的に配置されており、前記方法は、
前記ソースファイルに関連付けられた各データセクタのストレージエリアネットワーク装置上における配置を含むファイル転送プロポーザルを、前記第１のコンピュータによって前記第２のコンピュータへと発行し、
前記ソースファイルを前記第２の記憶装置上に作成する要求を、前記第２のコンピュータによって前記ストレージエリアネットワーク上のルータシステムへと発行し、
前記ソースファイルを前記宛先ファイルに転送する要求を、前記第２のコンピュータによって前記ストレージエリアネットワーク上のルータシステムへと発行する方法。
【請求項７】
請求項６に記載の方法であって、
前記ファイル転送プロポーザルは、前記ソースファイルに関連付けられた複数の属性を更に含む、方法。
【請求項８】
請求項７に記載の方法であって、
前記複数の属性はファイル名を含む、方法。
【請求項９】
請求項６に記載の方法であって、更に、
前記ソースファイルが前記宛先ファイルに転送された後に、前記ルータから前記サーバへと完了メッセージを送信する方法。
【請求項１０】
複数のファイルに関連付けられた複数の名前および複数の属性を含むファイル転送プロポーザルをクライアントコンピュータから受信し、前記複数のファイルにとって最適な記憶位置、ならびにデータ転送動作にとって最適な順序および最適なサイズを決定し、前記最適な記憶位置、前記最適な順序、および前記データ転送動作にとって最適なサイズにしたがって前記複数のファイルを順番に転送する要求を前記クライアントへと発行するように構成されたオペレーティングシステムを備えるファイルサーバコンピュータ。
【請求項１１】
複数のファイルに関連付けられた複数の名前および複数の属性を含むファイル転送プロポーザルをサーバコンピュータへと発行し、前記サーバコンピュータによって決定された順番で前記複数のファイルを転送する要求を前記サーバコンピュータから受信するように構成されたオペレーティングシステムを備えるクライアントコンピュータ。
【請求項１２】
ネットワーク化されたクライアントコンピュータおよびネットワーク化されたファイルサーバを備えるネットワークであって、前記クライアントは、複数のファイルに関連付けられた複数の名前および複数の属性を含むファイル転送プロポーザルを発行するように構成されており、前記サーバは、前記複数のファイルにとって最適な記憶位置、ならびにデータ転送動作にとって最適な順序および最適なサイズを決定し、前記最適な記憶位置、前記最適な順序、前記データ転送動作にとって最適なサイズにしたがって前記複数のファイルを順番に転送する要求を前記クライアントへと発行するように構成されており、前記クライアントは、前記要求を受信し、前記最適な順序にしたがって前記複数のファイルを転送するように構成されている、ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータファイルサーバシステムおよびクライアントコンピュータに供するストレージエリアネットワークの分野に関し、より具体的には、クライアントとサーバとの間でデータを転送する方法に関する。
【背景技術】
【０００２】
図１は、クライアントコンピュータ１０２およびコンピュータファイルサーバシステム１０４に供する代表的なストレージエリアネットワーク１００を示している。クライアント１０２およびサーバ１０４は、ネットワーク１０６を介して通信する状態にある。
【０００３】
クライアントコンピュータ１０２は、ネットワークポート１１２と、ファイバーポート１１４と、メモリ１１６とにバス１１０を介して結合されたプロセッサ１０８を含むことができる。プロセッサ１０８は、例えば、カリフォルニア州サンタクララ市所在のインテル社によって製造されているＩｎｔｅｌ  Ｐｅｎｔｉｕｍ（登録商標）４のプロセッサであって良い。また、別の一例として、プロセッサ１０８は、特定用途向け集積回路（Application Specific Integrated Circuit, ＡＳＩＣ）であっても良い。バス１１０の一例としては、チップ（例えばマザーボードチップやメインボードチップ等）、拡張ボード、およびプロセッサ／メモリサブシステム等を相互に接続するための高性能バスであるＰＣＩ（peripheral component interconnect）ローカルバスがある。
【０００４】
ネットワークポート１１２は、イーサネットポート、シリアルポート、パラレルポート、ユニバーサルシリアルバス（ＵＳＢ）ポート、米国電気電子学会（ＩＥＥＥ）１３９４ポート、小型コンピュータ用周辺機器インターフェース（ＳＣＳＩ）ポート、およびＰＣメモリカード国際協会（ＰＣＭＣＩＡ）ポート等であっても良い。クライアントコンピュータ１０２のメモリ１１６は、プロセッサ１０８によって実行されるように構成された複数の命令を格納することができる。メモリ１１６は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、揮発性メモリ、不揮発性メモリ、フラッシュＲＡＭ、ポリマー強誘電性ＲＡＭ、Ｏｖｏｎｉｃｓ  Ｕｎｉｆｉｅｄメモリ、磁気ＲＡＭ、キャッシュメモリ、ハードディスクドライブ、磁気記憶装置、光記憶装置、光磁気記憶装置、またはこれらの組み合わせであっても良い。
【０００５】
クライアントコンピュータ１０２は、ネットワーク１０６を介してサーバコンピュータ１０４に結合することができる。サーバ１０４は、例えば、カリフォルニア州パロアルト市所在のヒューレット・パッカード社によるウィンドウズＮＴサーバや、カリフォルニア州パロアルト市所在のサン・マイクロシステムズによるＵＮＩＸサーバ等であって良い。サーバ１０４は、ネットワークポート１２２と、ファイバーポート１２４と、メモリ１２６とにバス１２０を介して結合されたプロセッサ１１８を含むことができる。ネットワークポート１２２の例としては、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、インターネット、無線ネットワーク、有線ネットワーク、コネクションオリエンテッドネットワーク、パケットネットワーク、インターネットプロトコル（ＩＰ）ネットワーク、またはこれらの組み合わせが可能である。
【０００６】
本発明の実施形態を説明するにあたって使用される「結合」または「接続」という用語は、直接的な接続、間接的な接続、またはこれらの任意の組み合わせを包含する。同様に、結合された２つの装置は、直接的な通信、間接的な通信、またはこれらを任意に組み合わせた状態にあって良い。さらに、結合された２つの装置は、必ずしも常時通信の状態にある必要はなく、標準的、周期的、断続的、散発的、偶発的等の通信状態にあっても良い。さらに、「通信」という用語は、直接的な通信に限定されず、間接的な通信も包含する。
【０００７】
本発明の実施形態は、１つまたはそれ以上のネットワークを介したデータ通信に関する。データ通信は、１つまたはそれ以上のネットワークの１つまたはそれ以上の通信チャネルによって実行され得る。ネットワークは、有線通信リンク（例えば、同軸ケーブル、銅線、光ファイバ、およびこれらの組み合わせ等）、無線通信リンク（例えば、衛星通信リンク、地上無線通信リンク、衛星−地上通信リンク、およびこれらの組み合わせ等）、またはこれらの組み合わせを含むことができる。通信リンクは、通信を行う通信チャネルを１つまたはそれ以上含むことができる。通信リンクとしては、例えば、時分割多重化（ＴＤＭ）チャネル、周波数分割多重化（ＦＤＭ）チャネル、符号分割多重化（ＣＤＭ）チャネル、波分割多重化（ＷＤＭ）チャネル、およびこれらを組み合わせたもの等の、多重化通信チャネルが含まれる。
【０００８】
本発明の一実施形態にしたがうと、プロセッサによって実行され、それによって方法を実施するように構成された命令は、コンピュータによって読み取り可能な媒体に格納されている。コンピュータによって読み取り可能な媒体は、デジタル情報を格納する装置であって良い。例えば、コンピュータによって読み取り可能な媒体は、格納ソフトウェアの技術分野において知られているコンパクトディスクを使った読み出し専用メモリ（ＣＤ−ＲＯＭ）を含む。コンピュータによって読み取り可能な媒体は、実行されるように構成された命令の実行に適したプロセッサによってアクセスされる。ただし、「実行されるように構成された命令」および「実行されるべき命令」という表現は、現状（例えば機械コード）のままで既にプロセッサによる実行が可能である任意の命令、またはプロセッサによる実行を可能にするために更なる操作（例えば、コンパイル、非暗号化、またはアクセスコードの付与等）を必要とする任意の命令を含むものとする。
【０００９】
ストレージエリアネットワーク１００は、ファイバールータ１３０を介してアクセス可能である複数のネットワーク化された記憶装置１２８を含む。ネットワーク化された記憶装置１２８は、例えば、１つまたはそれ以上のハードディスクドライブ１３２，１３４，１３６、光記憶装置１３８、取り外し可能な記憶装置１４０、またはその他の類似の記憶装置を含み得る。ファイバールータ１３０は、例えば、Ｃｈａｐａｒａｌ  ＦＶＳ１１３、Ｃｒｏｓｓｒｏａｄｓ  ４２５０、またはＡＴＴＯ  Ｆｉｂｅｒ  Ｂｒｉｄｇｅ  ３２００であって良い。クライアントコンピュータ１０２およびサーバコンピュータ１０４は、記憶装置１２８に格納されている情報に対し、これらの記憶装置があたかもそのコンピュータに直接取り付けられているがごとくにアクセスすることが可能である。例えば、ディスク１３２上の記憶領域は、サーバ１０４上に「マウント」されて良く、ディスク１３４上の記憶領域は、クライアント１０２上にマウントされて良い。これらのコンピュータ上で実行されるアプリケーションの観点からは、これらの記憶領域が、それぞれのコンピュータシステムに直接取り付けられているように見える。
【００１０】
代表的なクライアント・サーバ環境では、クライアントコンピュータは、サーバシステムに格納されているデータを読み出したり、サーバシステムにデータを書き込んだりする必要がある。このようなタスクを達成するための従来のシステムおよび方法は、最適化がなされておらず、図１に示したようなストレージエリアネットワークを有効に活用することができない。例えば、クライアントからサーバ上のファイルへとデータを書き込む従来のプロセスは、図２に示したような通信フローをたどる。この例では、クライアント１０２は、転送してサーバ１０４に格納する必要があるデータを、ディスク１３２に格納された状態で有している。図２において、実線で表されるトランザクションは、クライアントコンピュータとサーバコンピュータとの間で送信されるメッセージまたはデータからなる。点線は、クライアント１０２と、サーバ１０４と、ルータ１３０を介してアクセスされるネットワーク化された記憶装置１２８との間における実際のやりとりを表す。
【００１１】
ステップ２０１において、クライアント１０２は、クライアントがサーバ１０４によって維持されるファイルに書き込むべきデータを有する旨をサーバ１０４に通知することによって、データ書き込み要求を開始する。ステップ２０２において、サーバ１０４は、ハードディスク１３４等のネットワーク化された記憶装置１２８の１つに新しい空ファイルを作成する。ステップ２０３において、サーバ１０４は、ファイルが作成された旨を通知するメッセージをクライアント１０２に送信する。ステップ２０４および２０５において、クライアント１０２は、ハードディスク１３４からデータを取り出す。ステップ２０６において、クライアント１０４は、取り出したデータを、そのデータを新しいファイルに書き込む命令とともにサーバ１０４に送信する。ステップ２０７において、サーバ１０４は、そのデータをハードディスク１３４上の新しいファイルに書き込む。ステップ２０８〜２１５では、全てのデータがクライアント１０２からサーバ１０４へと転送されるまで、クライアント１０２はデータの取り出しを、そしてサーバ１０４はデータの書き込みをそれぞれ続ける。
【００１２】
この従来のデータ転送方法は、２つのシステム間における有効なファイルの転送を実現することができない。特に、図２に示すように、１つのストレージエリアネットワーク１００の中で１つの物理的位置からもう１つの物理的位置に移動されれば良いだけのデータが、そのストレージエリアネットワークの外に転送されてしまうので、この通信の流れは最適化されていない。具体的に言うと、データは、ルータ１３０を介してストレージエリアネットワーク１００からクライアント１０２へと流れる。そして、クライアント１０２が、ネットワーク１０６を介してサーバ１０４にデータを転送する。最後に、サーバ１０４が、ルータ１３０を介してストレージエリアネットワーク１００にデータを転送して戻す。
【００１３】
従来のファイル転送システムに関連した非効率性に関するもう１つの問題は、サーバがデータ転送動作を管理するための十分な情報を有していないので、そのデータの格納を最適化できないことにある。これは、ローカル接続された記憶装置にデータが格納されるクライアント・サーバシステムはもちろん、図１に示すようなストレージエリアネットワークにもあてはまる。クライアントは、先ず、新しい空ファイルを作成するようにサーバに要求する。サーバは、それが完了した時点で応答する。すると、クライアントは、ファイルの全データを、一連の書き込み動作のそれぞれにおいて一部ずつ書き込む。サーバは、使用されるプロトコルの特性次第で、データの受信に対して肯定応答してもしなくても良い。同様に、クライアントがファイルの全データをサーバ上のファイルに書き込み終えたときも、サーバは、使用されるプロトコル次第で最終の要求を発行してもしなくても良い。
【００１４】
図３は、上述した非効率性の問題を詳細に示している。ステップにおいて、クライアント３００は、データをサーバ３０１に転送する要求を開始する。ステップ３０３において、サーバ３０１は、新しい空ファイルが作成された旨を示すことによって要求に応答する。ステップ３０４〜３０５において、クライアント３００は、１つまたはそれ以上のデータパケットを、ファイル全体がクライアント３００からサーバ３０１へと転送されるまで送信し続ける。サーバ３０１は、転送されているデータに関する完全な情報を有していないので、データは、様々な大きさの断片の形で次々と新しいファイルに書き込まれる。この結果、使用可能なディスクスペースは、効率的に利用されなくなる。複数のファイルを転送すべきである場合は、ステップ３０７および３０８に示したように、ステップ３０２〜３０６を繰り返さなければならない。
【００１５】
上述したような従来の方法は、ファイルのデータスペースを埋めるために広く使用されており、データの数および内容を事前に知ることができない場合に有効である。しかしながら、サーバは、常に書き込みデータ動作全体の一部のみに対して作用させられるので、サーバを最適化する機会は限られてしまう。特に、最終的なファイルの大きさが未知であるため、サーバは、記憶媒体の有効記憶位置の中でどの位置がファイルの格納に最も適しているかを決定することができない。さらに、サーバは、クライアントによるデータの送信にとって望ましい順序を指定することができない。あるいは、クライアントが最終的に２つ以上のファイルをサーバに送信する場合は、サーバは、それらのファイルの順番を指定することができない。この欠陥は、クライアントが、クライアントのみが内容および大きさを知る多数のファイルを通常的に転送するストレージエリアネットワークにおいて、特に顕著である。このような環境では、ファイルの内容が断片的に転送されるので、データの転送速度は低減される。
【００１６】
図２および図３に示した従来のデータ転送方法を利用するにあたっては、クライアントからサーバ上の１つまたはそれ以上の取り外し可能な記憶装置にファイルを移動させる際に、もう１つの大きな制約が生じる。このようなシステムでは、それぞれが有限の容量を有した一連の媒体をサーバによって管理して良い。これらの媒体にデータが配置されるにつれて、各媒体が有するスペースの残量も変化する。これらの方法を利用してデータを断片的に書き込むとき、サーバは、ファイルのデータを、それが最終的に適合しない媒体に格納する恐れがある。このような状況では、部分的に書き込まれたファイルを新しい位置に移すことによって、更なる書き込み動作に備える必要がある。
【００１７】
したがって、ファイルの転送速度を向上させ、データ記憶媒体上において効率的にデータを配置するための、システムおよび方法が必要とされている。
【００１８】
クライアントシステムとサーバシステムとの間でデータを転送するための上述した一般的なプロセスは、ネットワークファイルシステム（ＮＦＳ）やコモンインターネットファイルシステム（ＣＩＦＳ）など、クライアントコンピュータによってサーバ上に空ファイルを作成し、そのファイルにサーバを介して断片的にデータを書き込むコモンネットワークファイル共有プロトコルにおいても使用される。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明は、コンピュータネットワークにおいて、クライアントとサーバとの間でのデータの転送速度を向上させることを目的とする。
【００２０】
本発明は、また、転送する一組のデータブロックに関する情報をクライアントとサーバとの間で交換するストレージネットワークにおいて、第三者コピー機能の使用を向上させ、第三者に転送を委託することによって、データの転送速度を向上させ、サーバおよびクライアントの負荷の軽減を図ることを目的とする。
【００２１】
更には、クライアントからサーバ上の１つまたはそれ以上の取り外し可能な媒体装置へとファイルを移動させるために必要とされるステップの数を減らすことを目的とする。
【００２２】
また、取り外し可能な媒体の利用を向上させることを目的とする。
【００２３】
これらの目的、および以下の開示内容から明らかになるその他の目的は、クライアントからサーバへとファイルデータを書き込むための方法およびシステムを一態様として備える本発明によって達成される。この一態様は、複数のファイルの名前および各ファイルの属性を含むファイル転送プロポーザルを、クライアントによってサーバへと発行し、複数のファイルにとって最適な記憶位置、ならびにデータ転送にとって最適な順序およびサイズを、サーバによって決定し、記憶位置およびデータ転送の最小回数に関して最適化された順序で複数のファイルを転送する要求を、サーバによってクライアントへと発行することによって、クライアントからサーバへのデータ転送速度を最大にすることを含む。
【００２４】
前述したように、従来のファイル転送方法に関連した問題は、転送がクライアントから開始されるという事実に起因する。このため、サーバシステムによって管理される記憶媒体にファイルを効率的に配置するには、使用できる情報が少なすぎる。従来のファイル転送方法に伴うもう１つの問題は、ストレージエリアネットワークのいわゆる「第三者コピー」機能を適切に使用するには、使用できる情報が少なすぎるという点にある。第三者コピーのシナリオでは、クライアントおよびサーバは、１つのシステムから他のシステムへと転送すべきデータブロックを識別する必要がある。この情報は、続いて第三者に提供されなければならず、すると、その第三者は、対応するストレージエリアネットワークのＩ／Ｏ動作を発行してデータの移動を生じさせる。クライアントからサーバへとデータを書き込むためには、第三者コピーを開始する関係者が、クライアントおよびサーバの両方におけるそのデータの位置（ブロックアドレス）を知らなければならない。書き込み動作がクライアントによって開始され、断片的に実施されるとき、サーバは、予想されるデータにスペースを割り振る機会をまだ有していない。したがって、第三者コピー機能は使用できない。
【発明を実施するための最良の形態】
【００２５】
本発明の第１の実施形態にしたがって、第１のコンピュータから第２のコンピュータへと、１つまたはそれ以上のファイルにデータを書き込むための新しい方法が開示される。この方法では、データが転送される前に、１つまたはそれ以上のファイルを記述する情報が、第１のコンピュータシステムから第２のコンピュータシステムへと先ず送信される。この情報にもとづいて、第２のコンピュータシステムは、クライアントに対し、第２のコンピュータのニーズに応じて最適化された方式でファイルデータを要求する。すなわち、第２のコンピュータは、データの転送を完了するための順序、時間、および通信媒体を指示する。したがって、サーバは、データの配置および転送を最適化することができる。
【００２６】
図４は、本発明の一実施形態にしたがって１つまたはそれ以上のファイルを１つのシステムから別のシステムへと転送するための新しい方法を示している。図４において、クライアント４００のユーザは、３つのファイル、すなわち指定されたファイル１、ファイル２、およびファイル３を転送しようとしている。これら３つのファイルを全て転送しようとするクライアントによるプロポーザルは、その転送を最も容易にするための各ファイルの属性とともに、サーバへと送信される。これらの属性は、例えば、ファイル長や、ファイルを構成する各データブロックのネットワーク記憶装置上における位置等を含んでいて良い。例えば、サーバ４０１は、これらの３つのファイルを転送する要求を処理し、これらのファイルをファイル２、ファイル１、ファイル３の順序でそれぞれ転送すれば最適なパフォーマンスを得られることを決定する。決定された順序は、ディスクヘッドシーキングを減少させることによってデータの転送を最適化する。したがって、ステップ４０３において、サーバ４０１は、ファイル２の内容を送信するようにクライアント４００に指示する。ステップ４０４において、クライアント４００は、要求された内容を送信する。ステップ４０５および４０６では、図４に示したように、ファイル１のデータが要求され送信される。同様に、ステップ４０７および４０８では、ファイル３のデータが要求され転送される。ファイル転送要求は、ファイル転送のプロセスを更に改善する目的で、割り振りデータを含んでいても良い。割り振りデータは、例えば、データを最大のデータ転送速度で転送する宛先であるストレージエリアネットワーク上のアドレスからなっていて良い。割り振りデータは、また、ディスク上に割り振られているブロックの分散・収集リストを含み得る。
【００２７】
本発明によって得られる第１の改良点は、第２のコンピュータ、本実施例ではサーバ４０１、が有する選択転送サイズを用意する能力である。従来の方法を使用するとき、第１のコンピュータ、この場合におけるクライアント４００、は、他方のコンピュータが特定のサイズのデータ転送を受け入れられると想定しなければならない。このように想定するということは、一般に、受信側のシステムがメモリリソースを使い尽くすことのないように、送信側のシステムが慎重な選択をしなければならないことを意味する。反対に、本発明の方法を使用するときは、受信側のシステムは、転送すべきデータのサイズを（クライアント４００によって送信されるファイルの属性故に）事前に受信するので、サーバ４０１は、可能な限り大きい転送に備えることができ、送信側のシステムに（割り振りデータを介して）通知することができる。このように、サーバのリソースを使い尽くすことなしに、最小限の回数のデータ転送によって、１つのファイルの転送を達成することが可能である。これは、サーバのリソースの制約内において、クライアントからサーバへとデータを転送する速度を最大にする。
【００２８】
本発明によって実現される第２の改良点は、転送すべきファイルの順序をサーバで制御することによって得られる。ストレージライブラリをともなうシステムに代表される取り外し可能な媒体システムでは、一般に、特定のファイルを特定の媒体上に配置することによってパフォーマンスを最適化することが行われる。さらに、どの時点であっても、一部の媒体が他の媒体よりも素早くアクセス可能であることは多々ある。図４の実施例に関して言うと、ファイル１、ファイル２、およびファイル３の転送が要求された時点では、ファイル２を保持すべき媒体が最も素早くアクセス可能であるかもしれない。この場合は、他のどのファイルよりも先にファイル２を転送すると有利である。本発明によって具体化されるこの方法では、あらゆる選択肢を一度にサーバに提示し、サーバ自身に性能を最適化する順序を決定させることによって、これを可能にしている。
【００２９】
第３の改良点は、第三者によるコピー動作を実施するために必要な情報がクライアントとサーバとで交換可能であることによって得られる。このような動作は、性能を最適化するものとして幅広く認識されている。なぜなら、このような動作によれば、クライアントまたはサーバがリソースを使い果たすことなしに、第三者のエージェントを通してデータの転送が行われるためである。図５および図６は、本発明によって第三者によるコピー動作がどのように促進されるかを示している。図５および図６に示したように、本発明は、クライアントと、サーバと、ストレージエリアネットワークとの間におけるやり取りを大幅に簡略化する。本発明にしたがうと、ファイルの転送を完成するにあたって、ストレージエリアネットワーク１００の外にデータを転送する必要はない。その代わりに、ルータ１３０は、ストレージエリアネットワーク内でファイル転送動作を実行するように指示される。
【００３０】
図５は、第三者コピー動作を実施することを目的とした、クライアント１０２と、サーバ１０４と、記憶装置１２８との間における、本発明の一実施形態に従ったやり取りを示している。この実施形態では、システム間において、肯定応答メッセージのやり取りは行われない。ステップ５０１において、クライアント１０２は、サーバ１０４にメッセージを送信してファイルの転送を開始する。初期メッセージは、本明細書において「ソースファイル」とも称される転送すべきファイルの属性を含む。前述したように、属性は、ソースファイルのサイズおよび位置等の情報を含んでいて良い。この実施形態において、ソースファイルの位置は、更に、ファイルを構成する各データ成分を示している記憶媒体上の実際のデータセクタの識別を含む。この情報は、記憶媒体全体に分散されたデータの物理的位置を識別するものであり、データを検索するにあたって必要とされることから、当該分野では、一般に「分散・収集」データと称される。この情報は、コピー要求の形でクライアントに送信され、要求パケットの中に格納される。
【００３１】
ステップ５０２において、サーバ１０４は、宛先ファイルになる新しい空ファイルを作成し、ソースファイルからその新しい空ファイルへのデータ転送を行うように、ルータ１３０に対して指示する。ステップ５０２において作成されるメッセージは、クライアント１０２から受け取った１つまたはそれ以上のファイル属性を含む。ステップ５０３において、ルータ１３０は、ソース位置から宛先位置へとデータを転送する。すなわち、ルータ１３０は、分散・収集リストにおいて特定されたセクタからデータを検索し、それらのデータを、宛先である記憶媒体上の有効セクタの中に配置する。宛先ファイルのヘッダブロックには、後の参照のために、新しいファイルを構成するセクタが含まれている。
【００３２】
図６は、第三者によるデータ転送を促進することを目的とした、本発明を具現化する別の一例を示している。この実施例は、図５に示した全てのステップに加えてステップ６０１〜６０３を含む。ステップ６０１において、サーバ１０４は、クライアント１０２に確認メッセージを戻す。この確認は、新しいファイルが作成された旨をクライアント１０２に通知する。ルータ１３０によるデータ転送の完了後に実施されるステップ６０２において、ルータ１３０は、サーバ１０４にメッセージを送信する。メッセージ６０２は、データ転送が正常に完了した旨をサーバ１０４に通知する。ステップ６０３において、サーバ１０４は、データ転送が正常に完了した旨をクライアント１０２に通知する。
【００３３】
本発明の好ましい実施形態に関する前述の開示内容は、例示および説明を目的として提示されたものである。これらは、包括的であることを意図するのではなく、開示された形態に本発明を厳密に限定することを意図するのでもない。当業者ならば、本明細書に記載された実施形態を、上記の開示内容に照らして変更したり改良したりすることが可能である。本発明の範囲は、添付の特許請求の範囲のみによって規定されるのではなく、それらの等価物によっても同様に規定される。
【００３４】
さらに、本発明の代表的な実施形態を説明するにあたり、本明細書では、順序だったステップのかたちで本発明の方法および／またはプロセスが提示された。しかしながら、本発明の方法またはプロセスは、記載された特定の順序だったステップに依存しない限りは、上述した特定の順序だったステップに限定されるべきでない。当業者に理解されるように、他の順序だったステップも可能である。したがって、本明細書に記載された特定の順序だったステップは、特許請求の範囲に記載された限定事項として解釈されるべきでない。また、本発明の方法および／またはプロセスに関する特許請求の範囲は、記載された順序のステップによって得られるパフォーマンスに限定されるべきでなく、当業者ならば、これらの順序を変更したものなお本発明の主旨および範囲に含まれることを、容易に理解することができる。
【図面の簡単な説明】
【００３５】
【図１】従来のアーキテクチャの概略図であり、本発明は、ストレージエリアネットワーク装置を使用して、このアーキテクチャにおけるクライアントシステムとサーバシステムとの間のファイル転送の向上を図る。
【図２】図２は、１つのファイルにデータを書き込むことを目的とした、クライアントシステムと、サーバシステムと、ストレージエリアネットワークとの間におけるトランザクションを、従来の方法にしたがって示したタイムラインである。
【図３】図３は、複数のファイルにデータを書き込むことを目的とした、クライアントシステムと、サーバシステムとの間におけるトランザクションを、従来の方法にしたがって示したタイムラインである。
【図４】図４は、複数のファイルにデータを書き込むことを目的とした、クライアントシステムと、サーバシステムとの間におけるトランザクションを、本発明の一実施形態にしたがって示したタイムラインである。
【図５】図５は、１つのファイルにデータを書き込むことを目的とした、クライアントシステムと、サーバシステムと、ストレージエリアネットワークとの間におけるトランザクションを、本発明の一実施形態にしたがって示したタイムラインである。
【図６】図６は、１つのファイルにデータを書き込むことを目的とした、クライアントシステムと、サーバシステムと、ストレージエリアネットワークとの間におけるトランザクションを、本発明の別の一実施形態にしたがって示したタイムラインである。
【図７】図７は、一アーキテクチャの概略図であり、本発明は、ＩＳＣＳＩアーキテクチャにしたがってネットワーク化された記憶装置を使用して、このアーキテクチャにおけるクライアントシステムとサーバシステムとの間のファイル転送の向上を図る。
【符号の説明】
【００３６】
１００…ストレージエリアネットワーク
１０２…クライアントコンピュータ
１０４…サーバコンピュータ
１０６…ネットワーク
１０８…プロセッサ
１１０…バス
１１２…ネットワークポート
１１４…ファイバーポート
１１６…メモリ
１１８…プロセッサ
１２０…バス
１２２…ネットワークポート
１２４…ファイバーポート
１２６…メモリ
１２８…記憶装置
１３０…ファイバールータ
１３２，１３４，１３６…ハードディスクドライブ
１３８…光記憶装置
１４０…取り外し可能な記憶装置
３００…クライアント
３０１…サーバ
４００…クライアント
４０１…サーバ
【図１】
2004533039.tif 000003
【図２】
2004533039.tif 000004
【図３】
2004533039.tif 000005
【図４】
2004533039.tif 000006
【図５】
2004533039.tif 000007
【図６】
2004533039.tif 000008
【図７】
2004533039.tif 000009
【国際公開パンフレット】
2004533039.tif 000010
2004533039.tif 000011
2004533039.tif 000012
2004533039.tif 000013
2004533039.tif 000014
2004533039.tif 000015
2004533039.tif 000016
2004533039.tif 000017
2004533039.tif 000018
2004533039.tif 000019
2004533039.tif 000020
2004533039.tif 000021
2004533039.tif 000022
2004533039.tif 000023
2004533039.tif 000024
2004533039.tif 000025
2004533039.tif 000026
2004533039.tif 000027
2004533039.tif 000028
2004533039.tif 000029
2004533039.tif 000030
2004533039.tif 000031
2004533039.tif 000032
【国際調査報告】
2004533039.tif 000033