"コンピュータシステムにおいて、データストリームの一部を第1ストレージロケーションから第2ストレージロケーションに移動する方法であって、前記第2ストレージロケーションへの移動のために、前記データストリームの少なくとも一部分を識別するステップと、前記少なくとも一部分を前記第2ストレージロケーションに動かすステップと、前記ストリームのデータ関係を保存するステップと、から成ることを特徴とする方法。請求項1記載の方法において、前記第1ストレージロケーションおよび前記第2ストレージロケーションは、異なるボリューム上に位置することを特徴とする方法。請求項1記載の方法において、前記第2ストレージロケーションへの移動のために、前記データストリームの少なくとも一部分を識別するステップは、既定の基準にしたがって前記少なくとも一部分を識別するステップを含むことを特徴とする方法。請求項3記載の方法において、前記第2ストレージロケーションへの移動のために、前記データストリームの少なくとも一部分を識別するステップは、アーカイブ単位のサイズを指定するステップを含むことを特徴とする方法。請求項3記載の方法において、前記第2ストレージロケーションへの移動のために、前記データストリームの少なくとも一部分を識別するステップは、更新領域のサイズを指定するステップを含むことを特徴とする方法。請求項3記載の方法において、前記第2ストレージロケーションへの移動のために、前記データストリームの少なくとも一部分を識別するステップは、前記第1ストレージロケーションに適用可能なデータストリームのメモリ割り当て制限を指定するステップを含むことを特徴とする方法。請求項6記載の方法において、前記少なくとも一部分を動かす前記ステップは、前記メモリ割り当て制限を超過することなく実行することを特徴とする方法。請求項1記載の方法において、前記データストリームは、少なくとも1つの識別可能な更新領域を有することを特徴とする方法。請求項1記載の方法において、前記第2ストレージロケーションへの移動のために、前記データストリームの少なくとも一部分を識別するステップは、データストリームのタイプを識別するステップを含むことを特徴とする方法。請求項9記載の方法において、前記データストリームのタイプは、アペンドオンリファイルであることを特徴とする方法。請求項9記載の方法において、前記データストリームのタイプは、第1ストレージブロックライトオンリファイルであることを特徴とする方法。請求項1記載の方法において、前記第2ストレージロケーションは、シーケンシャルアクセスメディアSAMであることを特徴とする方法。請求項1記載の方法において、前記第1ストレージロケーションはローカルロケーションであり、前記第2ストレージロケーションはリモートロケーションであることを特徴とする方法。請求項1記載の方法において、前記第1ストレージロケーションは非安全ストレージロケーションであり、前記第2ストレージロケーションは安全ストレージロケーションであることを特徴とする方法。請求項1記載の方法において、前記第1ストレージロケーションはオンラインロケーションであり、前記第2ストレージロケーションはオフラインロケーションであることを特徴とする方法。請求項1記載の方法において、前記ストリームのデータ関係を保存する前記ステップは、前記関係の記述のためにメタデータを発生するステップを含むことを特徴とする方法。請求項16記載の方法において、前記関係の記述のための前記メタデータは、ワールドワイドウェブコンポーネントに組み込み可能なスクリプト可能インターフェースにしたがってフォーマットすることを特徴とする方法。請求項16記載の方法において、前記関係の記述のための前記メタデータは、拡張可能マークアップ言語XML、分散コンポーネントオブジェクトモデルDCOM、およびJavaの内少なくとも1つのしたがってフォーマットすることを特徴とする方法。請求項1記載の方法において、前記第1ストレージロケーションにおける前記少なくとも一部分に対するストレージは、前記少なくとも一部分を前記第2ストレージロケーションに動かした後、前記システムによる使用のために解放することを特徴とする方法。請求項1記載の方法において、前記データストリームは散在ファイルであることを特徴とする方法。請求項1記載の方法を実行するようにコンピュータに命令するコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体。少なくとも一部分を第1ストレージロケーションから第2ストレージロケーションに移動させるデータストリームの移動特性に関するメタデータを格納するためにコンピュータ読み取り可能媒体上に格納したデータ構造であって、少なくとも一部分を移動させる前記データストリームを識別する識別子と、前記少なくとも一部分の移動と共に用いられるストレージサービスを表すデータと、前記少なくとも一部の移動部分のメモリマッピングを表すデータと、から成ることを特徴とするデータ構造。請求項22記載のコンピュータ読み取り可能媒体上に格納したデータ構造であって、更に、前記データストリームの前記少なくとも一部分の移動時刻に関する時間的データを備えることを特徴とするデータ構造。請求項22記載のコンピュータ読み取り可能媒体上に格納したデータ構造において、該データ構造は、ワールドワイドウェブコンポーネントに組み込むことが可能なスクリプト可能インターフェースのフォーマットにしたがって格納することを特徴とするデータ構造。請求項22記載のコンピュータ読み取り可能媒体上に格納したデータ構造において、拡張マークアップ言語XML、分散コンポーネントオブジェクトモデルDCOM、およびJavaフォーマットの内少なくとも1つで、前記データ構造を格納することを特徴とするデータ構造。請求項22記載のコンピュータ読み取り可能媒体上に格納したデータ構造において、該データ構造をジェットデータベースに格納することを特徴とするデータ構造。請求項22記載のデータ構造をエンコードする情報を搬送する変調データ信号。コンピュータシステムにおいて用い、請求項1記載の方法にしたがって部分的移動技法の監督のためにデータストリームを登録可能なアプリケーションプログラミングインターフェースAPI。請求項28記載のAPIにおいて、前記インターフェースは、データストリームの二次ストレージへの部分的移動に関するメタデータを発生し、格納する共通方法を提供することを特徴とするAPI。コンピュータシステムであって、部分的移動のためにデータストリームを監督する階層記憶管理HSMシステムと、前記HSMシステムがサービスするデータストリームを格納したソースストレージロケーションと、を備え、前記HSMシステムは、既定の基準にしたがって、前記データストリームの少なくとも一部分を識別してターゲットストレージロケーションに移動し、前記少なくとも一部の移動部分のデータ関係の記述のためにメタデータを発生することを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記HSMシステムは、アーカイブ単位のサイズを指定することを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記HSMシステムは、更新領域のサイズを指定することを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記HSMシステムは、前記ソースストレージロケーションに適用可能なデータストリームに対するメモリ割り当て制限を指定することを特徴とするコンピュータシステム。請求項33記載のコンピュータシステムにおいて、前記HSMシステムは、前記データストリームの少なくとも一部分を移動し、前記メモリロケーション制限を超過しないようにすることを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記HSMシステムは、少なくとも1つの識別可能な更新領域を有するデータストリームを識別することを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記HSMシステムによる前記少なくとも一部分の識別は、データストリームのタイプを識別することを含むことを特徴とするコンピュータシステム。請求項36記載のコンピュータシステムにおいて、前記データストリームのタイプは、アペンドオンリファイルであることを特徴とするコンピュータシステム。請求項36記載のコンピュータシステムにおいて、前記データストリームのタイプは、第1ストレージブロックライトオンリファイルであることを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記ターゲットストレージロケーションは、シーケンシャルアクセスメディアSAMであることを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記ソースストレージロケーションは、オンラインロケーションであり、前記ターゲットストレージロケーションは、オフラインロケーションであることを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記ソースストレージロケーションは、非安全ストレージロケーションであり、前記ターゲットストレージロケーションは、安全ストレージロケーションであることを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記メタデータは、ワールドワイドウェブコンポーネントに組み込むことが可能なスクリプト可能インターフェースのフォーマットにしたがってフォーマットすることを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記関係の記述のための前記メタデータは、拡張マークアップ言語XML、分散コンポーネントオブジェクトモデルDCOM、およびJavaフォーマットの内少なくとも1つで、フォーマットすることを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記HSMシステムは、前記少なくとも一部分を前記ターゲットストレージロケーションに動かした後、前記ソースストレージロケーションにおける前記少なくとも一部分のためのストレージを、使用のために解放することを特徴とするコンピュータシステム。請求項30記載のコンピュータシステムにおいて、前記データストリームは散在ファイルであることを特徴とするコンピュータシステム。しかしながら、ファイルの階層的記憶管理における技術的現状では、殆どのコンテクストにおいてファイルの部分的移動に対処しておらず、ファイルの所定部分を一方のロケーションから他方のロケーションに移動しつつファイルのその他の部分を保持するという要望に取り組んでいない。更に、本技術分野では、書き込みや更新に適したデータストリームの領域や、オフライン即ちリモートストレージに適したデータストリームの領域を指定する機構に対する要望にも取り組んでいない。端的に言うと、ファイルの所定部分をリモートストレージに移動させ、その他の部分をローカルストレージに保持することが望ましい場合があるが、現行のファイルサーバは、どのデータを保持し、どのデータを他の場所にエクスポートするか指定しない。加えて、ファイル管理における技術的現状では、あるデータストリームに対してオンラインディスク/メモリ割り当てに制限を加えつつ、ストリーム全体を任意に成長させることが望ましい、特定の場合に取り組んでいない。例えば、アペンドオンリデータ構造の場合に当てはまる。例示すると、オンラインボリュームでは、1メガバイトまでのストリームを維持しつつ、全ストリームが1メガバイトよりも大きいサイズを有することを許すことが望ましい場合がある。この場合は、今日の階層記憶管理システムでは対応できない。以上のように、現行のファイルサーバ/HSMシステムに伴う不十分を考慮すると、コンピュータシステムにおいて、ファイルまたはオブジェクトのある部分を別のメモリロケーションに部分的に移動し、ファイルの残りの部分を保持する柔軟性のあるアーキテクチャを提供することができれば望ましいであろう。予め設定した基準にしたがって、オブジェクトのどの部分が移動に適しており、どの部分がそれらの現ストレージロケーションに適しているか指定することができれば有効であろう。ファイルまたはオブジェクトの第1ストレージロケーションから第2ストレージロケーションに、例えば、オンラインストレージからリモートストレージへの部分的移動が可能であれば有効であろう。更に、構造および特性がわかっているファイルや、例えば、アペンドオンリタイプのファイルの場合のように、指定可能なファイルの効率的な部分的移動が行なえれば有効であろう。このように、ファイルまたはオブジェクトの一部をルートボリュームからリモートボリュームに移動させつつ、当該ファイルまたはオブジェクトの種々のデータ関係を維持する共通の手法が存在しない。本発明は、当技術分野におけるこれらの要望を考慮して開発されたのである。本発明は、コンピュータシステムと共に用いられる階層記憶管理HSMシステムに関する。第1ストレージロケーションに位置するデータを移動監督のために登録し、既定の基準にしたがって、別のストレージロケーションに適したデータストリームを移動させ、システムのストレージ効率を最大限高める技法を提供する。ファイルシステムは、移動監督のために登録されているファイル/ストリーム、または既定の基準にしたがってポールすることができるファイル/ストリームの監視を可能にするファシリティを使用することができる。データのストリームが、別のストレージロケーションに移動させる部分を有する場合、HSMシステムはそのデータを、長期またはオフラインストレージのような、別のストレージロケーションに移動させ、メタデータによってストリームのデータ関係を保存する。この技法では、移動ターゲットロケーションによって多数のボリュームを補うspanことができ、更に、HSMシステムおよびメタデータによって、移動したファイル/ストリームのソースおよびターゲット部分にアクセスすることができる。例示の実施形態では、データをシーケンシャルアクセスメディアに移動させる。本発明のその他の特徴について、以下に説明する。オブジェクトの一部を部分的にリモートストレージに移動migrateさせるシステムおよび方法について、添付図面を参照しながら更に説明する。一般的に、本発明は、一方のロケーションから他方のロケーションへのファイルの部分的な移動が望ましいシステムに関する。本発明は、システムの既存のファイルサーバと共に利用することができる。本発明は、ファイルの一部の移動において用いるオンディスク割り当てに制限を与える即ち指定するために用いることができるという利点がある。したがて、本発明は、シーケンシャルアクセスメディアSAMのようなオフディスクストレージに、オンディスク制限を超過したデータの部分を移動させるために利用することができる。即ち、本発明は、データストリームが、割り当てられたディスク割り当て量quota即ち制限を超えて増大した場合に、リモートストレージへの部分的移動を可能にする。このように、本発明は、ファイルに関連する種々のデータストリームのために特殊化階層記憶管理を行い、データストリームを移動監督migrationadministrationのために登録することができる。移動させたデータストリームの一部は、従来のHSMシステムの部分的リコール動作と同様に、リコールし読み出すことができる。例示の一実施形態では、本発明は、ターゲットロケーションに対してSAMの使用を含む。一部を別の記憶ロケーションに移動させることが好ましいデータストリーム、オブジェクト、またはファイルの例には、書き込みが最後のストレージブロックのみに行われるファイルのような、アペンドオンリファイル、書き込みが最初のストレージブロックのみで行われるファイルのように、更新領域が規定されているファイル、または一部のアクセスまたは読み取りが頻繁に行われないファイル、一部をロバストおよび/またはリモートストレージに不変に格納することが望ましいデータストリーム、オンディスクメモリ割り当て制限を実施することによる等によってファイルの増大に制約が設けられているストレージロケーションに位置するファイル、増大が任意または予測不可能なデータストリーム等が含まれる。移動ソースロケーションおよび移動ターゲットロケーション対の例には、ストリームデータ、オブジェクトまたはファイルの一部の、オンラインストレージからオフラインストレージへ、ローカルストレージからリモートストレージへ、揮発性ストレージから不揮発性ストレージへ、非安全メモリから安全メモリへ、等の移動が含まれる。したがって、本発明は、コンピュータシステムと共に用いる階層記憶管理HSMシステムに関する。第1ストレージロケーションに位置するデータストリームを、既定の基準にしたがって分析し、データストリームが別のストレージロケーションに適した部分を有するか否か判定を行い、システムの格納効率を最大限高めることができる。既定の基準は、移動アーカイブ単位のサイズおよび更新領域のロケーションのように、システムの特性にしたがって予め指定することができ、あるいはユーザが入力することもできる。ファイルシステムは、移動監督のために登録したファイルの監視を可能にするファシリティを使用することができる。ファイルシステムがストリーム/ファイルを監視する方法を備えていない場合、移動に登録したストリーム/ファイルを既定の間隔でポールし、更に別の移動の必要性に関する情報を取得する方法を実装することもできる。先の間隔は、システムの移動特性に一致するように動的に変更可能である。データストリームが、別のストレージロケーションに移動させる部分を有する場合、ファイルサーバHSMシステムは、このデータを別のストレージロケーションに移動させ、移動したデータと第1ストレージロケーション内のデータストリームとの間の関係を保存する。これらの関係は、その部分の移動に伴って発生したメタデータによって保存することができる。後に、このメタデータをHSMシステムと共に利用し、移動したデータにアクセスすることができる。移動データターゲットロケーションによって多数のボリュームを分散することができ、多数のファイルシステムを、そうすることに巻き込むことができる。前述のように、本発明は、既定の基準にしたがって、別のストレージロケーションに適したデータストリームまたはオブジェクトの一部を移動させる方法を提供する。既定の基準は、種々の方法で設定することができる。実施の一例では、本発明は、オンディスク割り当てに制限を加える方法を含む。割り当て制限は、例えば、ストリーム毎またはファイル毎に指定し、データストリームに対して制限が実施されるようにすることができる。例えば、アーカイブ単位のサイズを指定することができ、するとユーザアカウントの割り当てを、更新のファイル領域のサイズに関して指定することができる。移動監督のためのその他のファイルは、アペンドオンリモードでアクセスされるファイル、または別の識別可能な更新領域を有するファイルとすることができる。したがって、本発明は、識別可能な更新の領域を有するファイルの一部を、リモートストレージに移動させる方法を提供する。本発明は、オンディスク制限を超過したファイルの部分をSAMに部分的に移動させることによって、オンディスク割り当て制限を行なうために用いることができるという利点がある。即ち、本発明は、データストリームが割り当てられたディスク割り当て量即ち制限を超えて増大した際に、第1ストレージロケーションから第2ストレージロケーションに、そのリモートストレージへの部分的移動を可能にする。例示の実施形態では、本発明は、この割り当ての制約に対応する際、オンラインストレージ制限を超過したデータをリモートストレージに移動させる。これは、SAMにそれを移動させることによって行なう。このように、本発明は、部分的移動機能および現行のHSMシステムの効率的な統合を勘案して開発されたのである。即ち、本発明は、第1ストレージロケーションから別のストレージロケーションにファイル移動動作を効率的に実行するために開発されたのである。図1および以下の論述は、本発明を実現するのに適した計算機環境の端的な一般的な説明を行なうことを意図している。必ずしもその必要はないが、本発明の説明は、少なくとも部分的には、プログラムモジュールのような、パーソナルコンピュータが実行する一般的なコンピュータ実行可能命令に関連して行なう。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行したり、あるいは特定の抽象的データタイプを実装する。更に、本発明は、別のコンピュータシステム構成でも実施可能であることを当業者は認めよう。別のコンピュータシステム構成には、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルの消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ等が含まれる。また、本発明は、分散型計算機環境においても実施可能であり、この場合、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクを実行する。分散型計算機環境では、プログラムモジュールは、ローカルおよびリモートのメモリ記憶装置双方に配置することができる。図1に示したように、1つの例示的な汎用計算システムは、従来のパーソナルコンピュータ20等を含む。このパーソナルコンピュータ20は、処理ユニット21、システムメモリ22、およびシステムメモリ22から処理ユニット21までを含む種々のシステムコンポーネントを結合するシステムバス23を含む。システムバス23は、数種類のバス構造のいずれでもよく、メモリバスまたはメモリコントローラ、周辺バス、および種々のバスアーキテクチャのいずれかを用いたローカルバスが含まれる。システムメモリ22は、リードオンリメモリROM24およびランダムアクセスメモリRAM25を含む。基本入出力システム26BIOSは、起動中のように、パーソナルコンピュータ20内のエレメント間におけるデータ転送を補助する基本的なルーティンを含み、ROM24内に格納されている。更に、パーソナルコンピュータ20は、図示しないハードディスクの読み書きを行なうハードディスクドライブ27、リムーバブル磁気ディスク29の読み書きを行なう磁気ディスクドライブ28、CD-ROMまたはその他の光媒体のようなリムーバブル光ディスク31の読み書きを行なう光ディスクドライブ30のような種々の周辺ハードウエアデバイスも含む。ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30は、それぞれ、ハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33、および光ドライブインターフェース34を介して、システムバス23に接続されている。ドライブおよびそれに関連するコンピュータ読取可能媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュールおよびパーソナルコンピュータ20のその他のデータの不揮発性格納を行なう。ここに記載する環境の一例は、ハードディスク、リムーバブル磁気ディスク29およびリムーバブル光ディスク31を採用するが、磁気カセット、フラッシュメモリカード、ディジタルビデオディスクDVD、ベルヌーイカートリッジ、ランダムアクセスメモリRAM、リードオンリメモリROM等のように、コンピュータによるアクセスが可能なデータを格納することができる、別の形式のコンピュータ読取可能媒体も、動作環境例では使用可能であることは、当業者には認められよう。ハードディスク、磁気ディスク29、光ディスク31、ROM24またはRAM25上には、多数のプログラムモジュールを格納可能であり、オペレーティングシステム35、1つ以上のアプリケーションプログラム36、その他のプログラムモジュール37、およびプログラムデータ38を含む。ユーザは、キーボード40およびポインティングデバイス42のような入力デバイスによって、コマンドおよび情報をパーソナルコンピュータ20に入力することができる。他の入力デバイス図示せずは、マイクロフォン、ジョイスティック、ゲームパッド、衛星ディッシュ、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、システムバス23に結合するシリアルポートインターフェース46のような周辺ハードウエアデバイスを介して、処理ユニット21に接続されるが、パラレルポート、ゲームポートまたはユニバーサルシリアルバスUSBのようなその他のインターフェースによって接続することも可能である。また、ビデオアダプタ48のような周辺ハードウエアインターフェースデバイスを介して、モニタ47またはその他の種類のディスプレイ装置もシステムバス23に接続してある。モニタ47に加えて、パーソナルコンピュータは、典型的に、スピーカおよびプリンタのような、その他の周辺出力デバイス図示せずを含む。パーソナルコンピュータ20は、リモートコンピュータ49のような1つ以上のリモートコンピュータへの論理接続を用いれば、ネットワーク環境においても動作可能である。リモートコンピュータ49は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の共通ネットワークノードとすることができ、典型的に、パーソナルコンピュータ20に関して先に述べたエレメントの多くまたは全てを含むが、図1にはメモリ記憶装置50のみを図示している。図1に示す論理接続は、ローカルエリアネットワークLAN51およびワイドエリアネットワークWAN52を含む。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットでは一般的である。LANネットワーキング環境で用いる場合、パーソナルコンピュータ20は、ネットワークインターフェースまたはアダプタ53を介してLAN51に接続する。WANネットワーキング環境で用いる場合、パーソナルコンピュータ20は、典型的に、モデム54、またはインターネットのようなワイドエリアネットワーク52を通じて通信を確立する、その他の手段を含む。モデム54は、内蔵でも外付けでもよく、シリアルポートインターフェース46を介してシステムバス23に接続する。ネットワーク環境では、パーソナルコンピュータ20に関して図示したプログラムモジュールまたはその一部は、ローカルまたはリモートメモリ記憶装置に格納することができる。尚、図示のネットワーク接続は一例であり、コンピュータ間に通信リンクを確立する別の手段も使用可能であることは認められよう。尚、前述のコンピュータは、コンピュータネットワークの一部として展開可能であり、本発明は、あらゆる数のメモリまたは記憶装置、あらゆる数のボリュームにわたって実行するあらゆる数のアプリケーションおよびプロセスを有するあらゆるコンピュータシステムにも関係することを注記しておく。このように、本発明は、ネットワーク環境において展開され、リモートストレージまたはローカルストレージを有するサーバコンピュータおよびクライアントコンピュータ双方に適用可能である。図2は、ネットワーク環境の一例を示し、サーバがネットワークを通じてクライアントコンピュータと通信し、この中に本発明を用いることができる。図示のように、多数のサーバ10a,10b等が通信ネットワーク14LAN、WAN、イントラネットまたはインターネットとすることができるを通じて、多数のクライアントコンピュータ20a,20b,20c等と相互接続されている。例えば、通信ネットワーク14がインターネットであるネットワーク環境では、サーバ10はウェブサーバとすることができ、クライアント20は、ハイパーテキストトランスファプロトコルHTTPのような多数の公知のプロトコルのいずれかによって、ウェブサーバと通信する。各クライアントコンピュータ20およびサーバコンピュータ10には、種々のアプリケーションプログラムモジュール36、その他のプログラムモジュール37およびプログラムデータ38、ならびに種々のタイプのストレージエレメントまたはオブジェクトに対する接続またはアクセスを装備することができ、これらを通じてファイルを格納し、ファイルの一部を移動させることができる。このように、本発明は、ネットワークにアクセスし相互作用するクライアントコンピュータと、クライアントコンピュータと相互作用するサーバコンピュータとを有するコンピュータネットワーク環境において利用することができる。本発明によれば、改良したHSMシステム技法を用いて、データストリームの一部を移動し、移動の記述のためにメタデータを発生する。これらの技術およびそれに伴う通信は、種々のネットワークシステムアーキテクチャを用いて実現可能であり、したがってあらゆる特定のフォーマットにも限定されないことは当然である。このように、本発明は、コンピュータシステムにおいて柔軟性のあるアーキテクチャを効率的に実現し、データストリーム、ファイルまたはオブジェクトの一部を部分的に移動させ、ファイルのその他の部分を保持する。移動に適したオブジェクトの部分およびローカルストレージ、ベースストレージまたはルートストレージに適した部分を、既定の基準にしたがって指定する方法を提供する。ファイルまたはオブジェクトの第1ストレージロケーションから第2ストレージロケーションへ、例えば、オンラインストレージからリモートストレージへ、部分的移動を行なう方法を提供する。部分的移動に対する基準の一例は、例えば、アペンドオンリタイプファイルのように、構造および特性がわかっているファイル、それ以外の方法で更新の領域が識別可能なファイル、メモリ割り当てが制限されているファイル等を含む。HSMシステムによって、ファイルまたはオブジェクトの一部をルートボリュームからリモートまたはその他のボリュームへ移動しつつ、ファイルまたはオブジェクトに対する種々のデータ関係を維持する共通の手法を提供する。本発明は、ファイルの部分的移動から得られる効率や、オンディスク割り当て量の提供に適切に取り組んでいない従来技術のファイルシステムに対する改良である。本発明の方法は、例えば、本発明の部分的移動技法のいずれもが可能なように、システムファイルサーバと共に実現することができる。ストレージ割り当て量機構を利用することによって、HSMシステムは、データをリモートストレージに移動することが望ましいときを判定することができる。既定の基準は、データアクセスからの時間、ソースファイルおよび/またはファイルデータ構造、システム状態等に関する予備知識のように、その他の所定の規則に基づくことも可能である。どのデータを移動させるかに関するこの選択は、したがってHSMシステムに委ねられ、ユーザは、アーカイブ単位のサイズおよびオンディスク割り当て量を含む、選択のための基準を指定すればよい。したがって、ストリームサイズの制約を指定することができ、あるいは、ストレージロケーション自体の特性によって、制約は既に課されている場合もある。本発明は、割り当て単位のサイズの方により大きな制約を課する。この点に関して、本発明にしたがって指定されたオンディスク割り当て制限よりも小さなファイルシステム量がストレージロケーションに課されている場合、本発明はこれらの制約を保存する。ファイルシステムの割り当て量が、本発明にしたがって指定されたオンディスク割り当て量よりも大きい場合、本発明の割り当て量は、ファイルシステムの割り当て量を先取りするpreempt。移動監督のためのファイルを指定する別の方法は、ファイルがアペンドオンリモードでアクセスされるか否か、またはいつファイルが別の識別可能な更新領域を有するか判定を行なうことである。ファイルの部分的移動のために維持する理念は、ファイル使用履歴およびその他の動的なシステム特性に基づいて、再度評価することもできる。例えば、あるオンディスクメモリ割り当て制限が、種々の理由のいずれか1つのために、厳しすぎる場合、制限を緩和することができ、代わりに一層効率的なデータ量を移動することも可能である。このように、本発明の部分的移動技法は、ある種のファイルタイプを想定している。このようなファイルタイプの一例は、識別可能な更新領域を有するデータのストリームである。図3は、識別可能な更新領域を有するファイルの一例を示す。ファイルストリーム1は、横に繋がった種々のストレージブロックまたはオンディスク割り当て単位M1,M2,...,M6として描かれているが、ストレージブロックは、どこに位置してもよく、あらゆる数およびタイプのストレージエレメントおよびデータストリームでも、本発明にしたがって移動させることができる部分を有することは認められよう。データストリーム1では、ファイルの使用履歴の分析および/またはファイルに関してわかっている特性から、破線の更新領域ROU1,ROU2として示す、2つの領域が、更新または書き込みが行われることが識別される。第3の不変領域Imm1も、頻繁に更新や書き込みが行われないと識別されるが、全く更新されない訳ではない。アーカイブ単位のサイズ、ならびに更新領域のサイズおよびロケーションは、既定のまたは入力した基準にもしたがって、指定することができる。不変データImm1は、移動可能であり、したがってリモートストレージまたはSAMのような第2ストレージロケーションへの移動対象とする。現時点における好適な実施態様によれば、ストリーム1が増大し、データがROU1を超過すると、ROU2の開始まで、長期ストレージに移動させる。ROU2は、引き続きストリーム1の終端に位置し、ROU2は、ストリーム1が増大するに連れて前方に移動し、ROU2を超過したデータを移動させないようにする。また、メタデータを発生し、ファイルの非移動部分に対して、リモートストレージに移動させたファイルの部分を記述する。このメタデータは、ストレージ関係を記述するのに適したいずれのフォーマット、および/または種々のワールドワイドウェブコンポーネントへの組み込みに適したいずれのフォーマットにしたがって実施することも可能である。例示の実施形態では、メタデータは、分散コンポーネントオブジェクトモデルDCOM記述にしたがってフォーマットされているが、Java登録商標、拡張可能マークアップ言語XML、およびその他の適切なフォーマットであればいずれでも利用可能である。図4および図5は、例えば、ファイルの先頭または終端にデータを追加した、識別可能な更新領域を有するデータストリームの更に特定した例、または共通の例を示す。図4は、ファイルストリーム2の先頭においてデータを更新する場合を示す。時間がt1からt2に、そしてt3に進むに連れて、ファイルは長くなるが、データおよびそのストレージブロックは、ファイルが増大するに連れて更新領域から外れるので、SAMのような他のストレージに移動させることができる。時点t1において、ストレージブロックまたは部分M3,M4をリモートストレージに移動させることができ、t2においてM5をリモートストレージに移動させることができ、そしてt3においてM6をリモートストレージに移動させることができる、等となる。図5は、アペンドオンリの場合を示し、更新領域は、ファイルの終端にある部分である。図4と同様に、データストリーム3の、更新領域ROUの範囲内にない部分を、リモートストレージに移動させることができる。t1からt2まで、そしてt3まで等でファイルが増大するに連れて、新たなストレージブロックをSAMのようなリモートストレージに移動させることができる。移動監督のための登録後、t1において、M1,M2を移動させることができ、t2においてM3を移動させることができ、t3においてM4を移動させることができる。移動したデータにアクセスするために、利用したリモートストレージサービスを記述したメタデータを発生し、移動させたストレージブロックの範囲を記述し、最後の移動の日時のようなその他の情報を記述する以下の例を参照。尚、図3の移動したブロックについてオフセットマッピングを記述するメタデータは、後方にbackwards発生することができ、ストリーム2の終端をメタデータにおけるオフセット0と指定し、したがってそれ以降のブロックを0オフセットのアーカイブ単位のサイズおよびファイルサイズに対して記述すればよいことを注記しておく。このように、アペンドオンリモードでファイルをアクセスする場合、あるいは関連するファイルまたはシステム特性に基づいて識別可能な更新領域がある場合、システムは、更新されないファイルのエリア、即ち、不変部分または頻繁にアクセスされない部分を効率的に移動させる。このようなファイルの一例は、新たな追加レコードをファイルの終端に追加するレコード保持ファイルであろう。つまり、一旦レコードを入力すると、これは恐らく頻繁にアクセスや更新が行われないファイルの領域と見なされ、したがって、ローカルメモリ限度を保存するためまたはその他の効率上の理由のために、リモートストレージに移動させられる。このように、特殊化階層記憶管理技法を採用することによって、リモートストレージに格納したデータストリームの断片を、ファイルサーバのユーザに対してシームレスにリコール、コピーおよび/または読み出しを行なうことができる。好適な実施形態では、移動したデータはシーケンシャルアクセスメディアSAMに書き込まれ、データは一旦SAMに書き込まれると、不変で安全であるので、有効である。また、本発明は、確定した更新領域を有するファイルのデータストリームにも適用可能である。例えば、更新は、単にバイトをストリームに添付するだけで行なうことができるアペンドオンリの場合。第2の場合は、書き込みがストリームの最後のバイトブロックを対象にするときである最終ブロックの場合。アペンドオンリの場合、アペンドされたバイトを除いてストリーム内のバイト全てを不変と見なし、したがって、どのバイトを部分的に移動可能かを識別するのは、簡単である。移動可能なのは、既に書き込まれたバイトである。最終ブロックの場合、例えば、最後のバイトブロック以外の全てのバイトを不変と見なし、したがって移動可能と見なす。アペンドオンリおよび最終ブロック双方の場合において、階層記憶管理システムは、こうしてストリームの不変領域をリモートストレージに移動することができる。不変のサブストリームの部分的移動は、ストリーム自体を更新している最中であっても行なうことができるという利点がある。その際、不変部分を、ファイルサーバの観点から別個に扱う。現在では、これら部分的移動の特殊化技法は、従来のHSMシステムには用いられていない。また、本発明は、オンディスクファイルメモリ割り当て制限を設け、ファイル/ストリームのサイズを制限する能力も含む。本発明は、このような制約に対して移動を支援する。また、アーカイブ単位のサイズおよび更新領域のサイズを指定可能であるので、ファイルサイズもストレージ割り当て制限によって制限される場合、本発明はストレージ割り当て制限を実施する機構となる。図6は、ファイルの増大が、破線で示すストレージ割り当て制限によって制限される状況の一例を示す。アーカイブ単位のサイズが指定され、更新領域のサイズも指定されている。t1において、ファイルは制約の範囲内にあり許される。t2において、ファイルは、制約によって許される最大サイズに達した。t3において、その増大が制約を超過したが、ファイルの一部は、本発明にしたがって、SAMのようなリモートストレージに移動させることができ、これによって割当量違反を防止する。図7は、本発明による部分移動方法のフロー図の一例を示す。400において、本発明にしたがってファイルを移動監督のために登録することができる。例えば、更新領域のサイズ、アーカイブ単位のサイズ移動する部分のサイズ、および移動したデータの移動宛先を指定し、オンディスクメモリ割り当て制限を指定することができる。410において、HSMシステムは、ファイル特性に応じてファイルを監視し、使用特性および/または部分移動の所望性を調べるファシリティを利用する。420において、移動のタグが付けられた部分を二次ロケーションに移動させる。430において、ファイル移動を記述するメタデータを発生し、このメタデータを、データベース、好ましくはジェットデータベースのような記憶装置内に格納する。このメタデータは、後に、リモートストレージに格納されているデータにアクセスする際に用いることができる。440において、ファイルサーバは、移動データをそれまで格納していたストレージブロックまたはロケーションを解放する。ステップ450において、部分移動動作を受けたファイルにとって適当であれば、更新領域をシフトする。別の利点として、本発明は、いずれの時点においてもリモートストレージ内のストリームの断片全てを再組み立てすることができ、それによって表されるデータが未だ有効か否かについて検証する必要はない。何故なら、リモートストレージに移動したストリームの断片は全て不変であるからである。更に、ストリームのある領域を削除した場合、HSMシステムは、それ自体の内部システムデータにおいて削除した領域に対応するバイトのギャップを表すことができる。その結果、HSMシステムは、都合がよいときに、残りのバイト範囲を再組み立てすることができ、削除された領域が以前に用いていた領域を効率的に再生することができる。加えて、HSMシステムは、移動のためにあらゆる適切な記憶装置および伝送媒体を選択することができる。選択は、通常、リモートストレージへの転送動作の瞬時的および/または高総合データレートを最適化するように行われる。先に示唆したように、あるファイルをリモートストレージへの部分的移動の対象とする場合、各データストリーム毎にそしていずれの所与の時点においても、既定の規則にしたがって順守すべきストレージ割り当て量がある。したがって、本発明を用いて移動によってディスク割り当て制限を保存する場合、ストリームに対するボリュームオンライン割り当ては制限したままで、ストリームサイズの任意の増大を許すという利点がある。ファイルシステムのコール元が現ファイル終点を超えてデータを書き込むと、ストリームサイズは対応して増大し、ストリームのデータを格納するために必要なディスク割り当て数も増大する。一旦ローカル割り当て量を超過すると、本発明のHSMシステムはファイルデータの一部をリモートストレージに移動させ、必要なオンディスクメモリ割り当て量を削減することができる。HSMシステムは、ファイルから移動するバイト範囲を選択することができ、この選択は、1組の所定の規則に従えばよい。このように、移動するバイトグループを選択する場合、広い範囲の基準を用いることができる。例えば、元のデータストリームをシーケンシャルアクセスのために開いている場合、移動を開始する論理領域は、現在のオンディスク割り当てを反映して、オフセットが最も小さいバイトを含む領域となる。別の例では、ランダムアクセスのためにファイルを開いている場合、いずれのバイト領域でも等しく移動に相応しい選択となる。ファイルの統計的分析でも、移動に適した部分を解明することができる。別の代替案では、本発明によるHSMシステムは、追加のランタイム情報を追跡し、ファイルのどのエリアが、直ぐにアクセスされる可能性が少ないか判定することができる。次いで、識別したエリアを移動のために指定すればよい。好ましくは、移動の最少単位は、ローカルファイルシステムにおけるストレージ割り当ての最少単位と等しくする。何故なら、移動サイズが小さい程、ローカルストレージの割り当て解除効果が低いからである。好ましくは、本発明は、データストリーム内で0範囲を割り当て解除する、散在ファイルsparsefileに対応するファイルシステムと共に用いる。現時点において好適な実施態様では、移動の最少単位は64Kとなっている。また、移動目的のための最少単位は、ファイルシステムに関連する最少割り当て単位によって限定される必要はない。最少単位のサイズは、いくつかの割り当て単位、例えば、16単位にしたがって計算し、これらのメモリ割り当てを追跡するために必要なシステムデータ量を最少化し、ファイルシステムが利用する元の圧縮単位の一致というような、付加的な最適化を可能にするようにする。システムパラメータに適したサイズを選択したなら、HSMシステムは、これによってある種のアドレス変換動作を最適化または能率化することができる。例えば、転送単位のサイズとして、2の累乗が用いられていると仮定すると、アクセス動作に関連して1バイトのオフセットが与えられた場合、HSMシステムは、単位サイズの対数基底2に等しいビット数だけ与えられたオフセットを右にビットシフトすることに基づいて、内部アドレスを素早く決定することができる。他の種類のシステムパラメータに関しても同様に、他の最適化を利用することができる。また、本発明は、ファイルサーバのユーザに対して透過的である。ファイルが部分的に移動したか否かには関わらず、アクセスはシームレスである。何故なら、HSMアーキテクチャは本技法の機能性を統合しているからである。したがって、SAMにデータを保管する方法は、ストリームの移動部分、およびオンディスク割り当てに格納されているデータを含む、ストリームのデータ全てに対するアクセスを許す。本発明の現時点において好適な実施態様では、基礎のファイルシステムは散在ファイルに対応する。移動した全てのバイト領域または多数の領域は、したがって、ローカルファイル内において、バイトの分散孔として表すことができる。また、基礎のファイルおよびファイルシステムは、データの暗号化および解読だけでなく、データ圧縮および解凍にも対応することができる。一旦部分的移動技法によってファイルを部分的にリモートに格納したなら、クライアントは、ファイルをその現ボリューム内において一方のボリュームから他方に動かすmoveことを選択することもできる。ムーブ動作は、一般的に、ファイルの名称を変更するアクションのことを意味し、その結果ファイルは異なるディレクトリおよび/または異なるボリュームのメンバとなるか、またはこれと関連付けられる。加えて、ボリューム内ムーブ動作は、ソースおよびターゲットボリュームを伴う。これらは、別個のサーバまたはマシン上に位置する可能性がある別個のファイルマネージャによって管理されている場合がある。また、ムーブ動作は、2つの別個のプロセス、即ち、データの宛先ボリュームへのコピー、およびデータのソースボリュームからの削除を伴う場合もある。したがって、一旦ファイルの一部を本発明にしたがって移動したなら、ファイルシステムを作成し、典型的な移動ファイルのリロケーション、ムーブ、コピー、名称変更、およびその他の典型的なファイル動作の処理を可能にする。これは、例えば、ファイル移動情報、またはファイルに対する移動情報を指定する移動ファイル動作と共に用いるメタデータを与えることによって、行なうことができる。したがって、本発明は、部分移動ファイルのためにメタデータを定義し、これによってメタデータが部分移動ファイルについての格納関係を指定するような機構を提供する。このメタデータは、HSMシステムが部分移動ファイルの存在および性質を認識するため、そして部分移動ファイルに伴う動作を効率的に実行するために用いられる。このメタデータは、例えば、DCOM、Java、拡張可能ヘッダ、XMLフォーマット等でエンコードすることができる。このように、本発明は、ファイルの部分移動を勘案して開発されたのである。何故なら、現在のHSMシステムは部分移動技法に適切に対処していないからである。限定のつもりではないが、メタデータ記述の一例は、移動データに利用されるリモートストレージサービスの識別、移動したストレージブロックの範囲の記述、および最後の移動の時刻のような、関連があるその他のあらゆる情報を含むことができる。例えば、図5のストリーム3のメタデータは、時点t3において、データの移動に用いられるリモートストレージサービスのIDを含むことができる。また、時点t3におけるストリーム3のメタデータは、移動したストレージブロックの範囲の記述も含むことができる。範囲記述に用いられる単位は、割り当て単位とすることができる。図5の例では、範囲リストを次のようにすることができる。M1:<0,m1>M2:<m11,m2>M3:<m21,m3>M4:<m31,m4>更に、メタデータは、例えば、最後の移動が行われたとき、または現在の移動が行われているときを記述する時間的情報を含むこともできる。図8および図9、ならびに時点t3におけるストリーム3の前述のメタデータ記述を参照し、コール元540に応答したHSM500の、メタデータ520による、移動ストレージ530内のバイト範囲nないしmに対する検索プロセスを示す。メタデータ520は、ジェットデータベースのように、あらゆるタイプのストレージエレメントにも格納可能である。コール元540は、アプリケーション、サービス等のように、HSM500にデータを要求するいずれのタイプのオブジェクトでもよい。移動ストレージ530は、データを移動したあらゆる種類の多数の記憶装置を表すことができる。600において、HSM500は、バッファ510の調達を確保し、ここにコールしたバイトnないしmの全てを戻すことができる。610において、HSM500は、どのブロックMiMiは、一般的に、M1,M2,M3等のようないずれかのストレージブロックを示すが範囲nないしmからのデータを含むのかを、前述の範囲リストから読み出すことによって判定を行なう。メタデータ記述によるこのような判定によって、例えば、nないしn1がM2にあり、n11ないしmがM3内にあることがわかった場合、620において、M2内のデータを移動ストレージ530から検索する。630において、nないしn1をM2から読み出し、リターンバッファ510内に置く。640において、M3内のデータを移動ストレージ530から検索する。650において、n11ないしmをM3から読み出し、リターンファイル510内に置く。660において、バッファ510が要求されたバイト範囲nないしmで満杯となり、HSM500は要求された範囲のバイトをバッファ510からコール元540に送る。部分的移動ファイルに関する移動情報を維持する方法は、ファイルシステムメタデータファイルの属性およびボリューム内におけるそのロケーションを記述するために用いると、ファイルのリモートデータエクステントのロケーションとの間の関係を定義することを含むとよい。例えば、バックエンドリモートストレージに対するインターフェースを、DCOMイネーブルインターフェースアプリケーションプログラミングインターフェースAPIによって実現する場合、ファイルのディスク割り当てに関する情報を維持するNTファイルサーバの一部は、SAMのハードウエアを管理するNTファイルサーバの一部から離れて位置してもよい。したがって、本発明は、一方のストレージロケーションから他方のストレージロケーションへの部分ファイルの移動の際に用いられる方法および技法を記載し、これらの方法および技法を柔軟かつ効率的なHSMシステムに組み込む。ここに記載した種々の技法は、ハードウエアまたはソフトウエア、または適切であれば、双方の組み合わせでも実現可能である。したがって、本発明の方法および装置、またはその内のある態様または部分は、フロッピディスケット、CD-ROM、ハードドライブ、またはその他の機械読み取り可能記憶媒体のような、有形媒体内に具体化したプログラムコード即ち、命令の形態を取ることができる。この場合、プログラムコードをコンピュータのような機械にロードして実行すると、この機械は本発明を実施する装置となる。プログラム可能なコンピュータ上におけるプログラムコードの実行の場合、コンピュータは、一般的に、プロセッサ、プロセッサが読み取り可能な記憶媒体揮発性および不揮発性メモリおよび/または記憶エレメントを含む、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含む。好ましくは、1つ以上のプログラムを上位手順またはオブジェクト指向プログラミング言語で実施し、コンピュータシステムと通信する。しかしながら、プログラムは、望ましければ、アセンブリまたは機械語で実施することも可能である。いずれの場合でも、言語はコンパイルまたはインタープリト言語であり、ハードウエア実施態様と組み合わせることができる。また、本発明の方法および装置は、電気ワイヤまたはケーブル、光ファイバ、またはその他のいずれかの伝送形態のように、伝送媒体を通じて送信されるプログラムコードの形態で具体化することも可能である。この場合、機械がプログラムコードを受信し、ロードし、実行すると、EPROM、ゲートアレイ、プログラマブルロジックデバイスPLD、クライアントコンピュータ、ビデオレコーダ等のように、機械は本発明を実施する装置となる。汎用プロセッサ上で実現する場合、プログラムコードはプロセッサと結合し、本発明のインデックス化機能性を実行するように動作する一意の装置を提供する。例えば、本発明と共に用いる記憶技法は、一定不変にハードウエアおよびソフトウエアの組み合わせとすることができる。以上種々の図の好適な実施形態と関連付けて本発明について説明したが、他の同様の実施形態も使用可能であり、本発明から逸脱することなく、記載した実施形態に対して変更や追加を行い、その同一機能を実行することも可能であることは理解されよう。例えば、散在ファイルを本発明によるファイル移動と共に用いたが、更新または変更が生ずるあらゆるタイプのデータのあらゆるファイルまたはストリームでも、部分的移動技法に適している場合もあり得る。また、多くの異なる通信およびネットワークプロトコルが、本発明によるファイル移動情報メタデータの発生および格納に適している場合もあることも理解されよう。更に、ハンドヘルドデバイスオペレーティングシステムや、その他のアプリケーション特定オペレーティングシステムを含む種々のコンピュータプラットフォームも想定していることを強調しておく。したがって、本発明は、いずれの単一実施形態にも限定されることはなく、添付した特許請求の範囲にしたがって、その広さおよび範囲を解釈すべきである。"