【誤訳訂正書】
【提出日】平成21年7月2日(2009.7.2)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
複数の属性を含むファイルを入力または出力するためのＩ／Ｏ要求を処理するＩ／Ｏシステムであって、該Ｉ／Ｏシステムに複数のドライバが含まれ、前記Ｉ／Ｏシステムが、
前記Ｉ／Ｏ要求に関連した前記ファイルの前記複数の属性のうちの一部の属性に応答する手段であって、前記一部の属性は、前記複数のドライバのうちの少なくとも１つの特定のドライバを前記ファイルに関連した前記Ｉ／Ｏ要求を処理するドライバとして特定する情報を含む、手段と、
前記複数のドライバのうち、前記情報が特定する前記少なくとも１つの特定のドライバに前記Ｉ／Ｏ要求を処理させる手段と、
を備えたＩ／Ｏシステム。
【請求項２】
請求項１記載のシステムにおいて、前記一部の属性は、前記少なくとも１つの特定のドライバを、前記ファイルに関係した前記Ｉ／Ｏ要求を処理する制御を引き受けることができるドライバとして特定するタグを含むこと、を特徴とするＩ／Ｏシステム。
【請求項３】
請求項１記載のシステムにおいて、前記ファイルの少なくとも前記一部の属性は、ローカル記憶媒体に格納され、前記ファイルの他の属性は、リモート記憶媒体に格納され、
前記一部の属性は、前記リモート記憶媒体内における前記ファイルの他の属性が格納された場所を示す場所情報を含むこと、を特徴とするＩ／Ｏシステム。
【請求項４】
請求項１記載のシステムにおいて、前記複数のドライバは、複数の層状のドライバであること、を特徴とするＩ／Ｏシステム。
【請求項５】
請求項４記載のシステムにおいて、前記層状のドライバの各々は、複数の階層に構成された処理のうちの対応する階層の処理の制御を引き受けること、を特徴とするＩ／Ｏシステム。
【請求項６】
請求項５記載のシステムにおいて、各前記層状ドライバは、それ自身が制御を引き受ける階層の処理とは別の階層の処理を要する前記Ｉ／Ｏ要求を受けたとき、前記別の階層の処理の制御を引き受ける他の層状ドライバに該Ｉ／Ｏ要求を渡すこと、を特徴とするＩ／Ｏシステム。
【請求項７】
複数の属性を含むファイルを入力又は出力するためのＩ／Ｏ要求を、複数のドライバを備えたＩ／Ｏシステムによって処理する処理方法であって、
前記Ｉ／Ｏ要求に関連した前記ファイルの前記複数の属性のうちの一部の属性に応答するステップであって、前記一部の属性は、前記複数のドライバのうちの少なくとも１つの特定のドライバを前記ファイルに関連した前記Ｉ／Ｏ要求を処理するドライバとして特定する情報を含む、ステップと、
前記複数のドライバのうち、前記情報が特定する前記少なくとも１つの特定のドライバに前記Ｉ／Ｏ要求を処理させるステップと、
を備えた処理方法。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】０００１
【訂正方法】変更
【訂正の内容】
【０００１】
本発明は、ファイル・システムにおいてリモート・ストレージに対する支援を与えるシステムおよび方法に関する。更に特定すれば、本発明は、ファイル・システムがリモート・ストレージに対してネーティブな支援(native support)を与えられるようにすることにより、一部分をリモートに格納してあるファイルまたはその他のエンティティにおいて、当該ファイル・システムが、ファイルまたはその他のエンティティに関係するＩ／Ｏ要求を本質的に識別しかつ処理することを可能とするものである。
【誤訳訂正３】
【訂正対象書類名】明細書
【訂正対象項目名】０００７
【訂正方法】変更
【訂正の内容】
【０００７】
従来技術の階層ストレージ・マネージャには、当該階層ストレージ・マネージャの非統合的本質により、既存のファイル・システムに殆どまたは全く影響を与えることなく、システム内に階層型記憶を実施することができるという１つの利点がある。このような階層ストレージ・マネージャは、各コールを検査して、それがスタブ・ファイルに関係するか否かについて判定を行うことができる。コールがスタブ・ファイルに関係する場合、階層ストレージ・マネージャはこのコールを傍受し、このコールを処理することができる。しかしながら、このコールがスタブ・ファイルに関係しない場合、階層ストレージ・マネージャはこのコールを正規のファイル・システムに渡すことができる。したがって、ファイル・システムは、階層ストレージ・マネージャが存在することを知る必要がない。残念なことに、このような手法では、コールがスタブ・ファイルに関係しない場合でも、コールが行われる毎に余分なオーバーヘッドが生じてしまう。これは、階層ストレージ・マネージャが各コールを検査しなければならないからである。システムが多数の階層ストレージ・マネージャを使用する場合、オーバーヘッドは急速に増加する虞れがある。したがって、既存のファイル・システムに殆どまたは全く変更が生じないという利点を維持しつつ、同時にリモート格納データのないファイルに対するあらゆるオーバーヘッドを極力抑えるかあるいは解消するような階層ストレージ・マネージャを提供することが望ましい。言い換えると、リモート格納データのないファイルに対しては既存のアクセス速度を維持し、リモート格納データのあるファイルについてのみ追加のオーバーヘッドを発生する、階層型記憶の手法を有することができれば非常に有利であろう。また、単一のシステムに複数の階層ストレージ・マネージャを用いる場合においてもこれらの特性全てを維持することができれば、非常に有利であろう。
【誤訳訂正４】
【訂正対象書類名】明細書
【訂正対象項目名】０００８
【訂正方法】変更
【訂正の内容】
【０００８】
従来技術の階層ストレージ管理方法には、これらの基準となるモデルが新たな記憶要件への組み込みや適応化に容易に対応できないという別の欠点がある。例えば、従来技術のリモート・データ格納方法は、通常のファイルをスタブ・ファイルと置換することを必要とした。このようなスタブ・ファイルは、事実上通常のファイルの全コンポーネントをスタブ・ファイルのコンポーネントと置換する。したがって、何らかの動作が通常のファイルに関係する場合、典型的に、要求を満たすためにリモート・ストレージからこれを検索しなければならない。特定のファイルに関連する情報の内どれがリモートに格納されているのか判定する際に高い自由度を可能とし、実行する頻度が高いと考えられる動作は、リモート・ストレージからファイル全体を呼び出すことなく処理可能とすることができれば、非常に有利であろう。
【誤訳訂正５】
【訂正対象書類名】明細書
【訂正対象項目名】００１１
【訂正方法】変更
【訂正の内容】
【００１１】
本発明では、ファイルおよびディレクトリは、典型的に、２つの広いカテゴリのコンポーネント即ち「属性」を有することを認識する。属性のカテゴリの一方は、典型的に、ユーザ制御情報を格納するために用いる。このユーザ属性カテゴリは、ファイルのデータ部分を含み、ユーザまたはその他のクライアント・プロセスが所望の情報を格納するところである。属性の他のグループは、典型的に、Ｉ／Ｏシステムによる主な使用または排他的な使用のために除外しておく。これらのシステム属性は、アクセス制御情報を含む。これは、どのユーザまたはクライアント・プロセスが当該ファイルを、そしてどのように（例えば、リード・オンリ・アクセス、リード・ライト・アクセス等）アクセスすることができるのか確認する。Ｉ／Ｏシステムによる主なアクセスまたは排他的なアクセスのために確保してある他の属性には、ローカル記憶媒体上のどこに主データ属性を格納してあるかファイル・システムに確認させる情報を含むことも可能である。本発明は、リモート・ストレージ属性(remote storage attribute)と呼ぶ、追加のシステム属性を加える。このリモート・ストレージ属性は、Ｉ／Ｏシステムが、リモートに格納してあるファイルまたはディレクトリの属性をどこで見つけることができるのか確認させるのに十分な情報を含む。
【誤訳訂正６】
【訂正対象書類名】明細書
【訂正対象項目名】００１４
【訂正方法】変更
【訂正の内容】
【００１４】
階層ストレージ・マネージャが、リモートに格納してある属性をリコールせずにはＩ／Ｏ要求を処理することができない場合、階層ストレージ・マネージャはリコール情報を発生し、これを適切なドライバまたはコンポーネントに渡すことによって、必要な情報をリコールすることができる。人の介入なく検索できるように情報を格納してある場合、このようなリコール手順は、Ｉ／Ｏ要求をドライバまたはその他のデータ・マネージャに発行することに関係する場合がある。その際、ドライバまたはその他のデータ・マネージャはリコール手順を起動し、一旦データを検索したなら、適切な情報を階層ストレージ・マネージャに渡す。代替案として、階層ストレージ・マネージャは、オペレータまたはその他の個人に適切な媒体を検索しロードするように警告することによって、情報にアクセスすることができる。本発明の構造全体は、広範囲にわたる記憶モデルおよび記憶階層を支援する際の高い柔軟性を提供する。
【誤訳訂正７】
【訂正対象書類名】明細書
【訂正対象項目名】００１５
【訂正方法】変更
【訂正の内容】
【００１５】
以上の要約から、多種多様の階層ストレージ・マネージャを実施し、既存のシステムに組み込むことができ、しかもリモートに格納した属性を有さないファイルまたはディレクトリにアクセスするＩ／Ｏ要求には全くオーバーヘッドの追加を招かないことが明白であろう。その理由は、このようなＩ／Ｏ要求は、階層ストレージ・マネージャを必要とすることなく処理するからである。ファイル・システム・ドライバは、ファイルがリモート格納属性(remotely stored attribute)を必要とせず、従来通りにＩ／Ｏ要求を満たす(fill)ように進めることを絶対的に判断することができる。しかしながら、リモートに格納してある属性を有するファイルに遭遇した場合、ファイル・システム・ドライバは適切な情報を階層ストレージ・マネージャに渡し、階層ストレージ・マネージャはこのＩ／Ｏ要求を処理する責務を引き受ける。この実現例では、リモートに格納してあるデータに対する支援は、通常ではＩ／Ｏ処理に関与しないソフトウエア・コンポーネントに介入させＩ／Ｏ要求を処理するための制御を引き受けさせる機構による、通常の処理シーケンスの割込と見なすことができる。
【誤訳訂正８】
【訂正対象書類名】明細書
【訂正対象項目名】００１６
【訂正方法】変更
【訂正の内容】
【００１６】
一実施形態では、リモート・ストレージ属性は、タグおよびデータ値双方を有する。タグは、リモート・ストレージ属性の「オーナ」である階層ストレージ・マネージャを特定するために用いる。通常、リモート・ストレージ属性のオーナは、関連するファイルに関係するＩ／Ｏ要求の全てまたは一部を処理する責務を負う。データ値は、リモート・ストレージ属性のオーナがその中に格納したデータを含む。オーナは、リモート・ストレージ属性の値を用いて、関連するファイルに関係するＩ／Ｏ要求を適正に完了するために必要なまたは役立つあらゆる情報を格納することができる。例えば、殆どではないにしても多くの階層ストレージ・マネージャは、このようなデータ値を用いて、リモートに格納してある属性の位置を格納することが予期される。加えて、データ値は、どの属性をローカルに格納し、どの属性をリモートに格納するのかを格納するためにも用いることができる。
【誤訳訂正９】
【訂正対象書類名】明細書
【訂正対象項目名】００３６
【訂正方法】変更
【訂正の内容】
【００３６】
リモート・ストレージ属性６０については以下で更に詳しく論ずるが、リモート・ストレージ属性６０は、通常、リモート格納処理ブロック４８が、リモート格納属性５０がどこに位置するのか確認するために必要なあらゆる情報を格納するために用いられる。加えて、リモート・ストレージ属性６０は、リモート格納処理ブロック４８の個々の実施にしたがって、多種多様のその他の情報を含むことができる。例えば、リモート・ストレージ属性６０内でどの属性をリモートに格納してあるかを格納することが望ましい場合がある。別の場合には、ファイル４２は、どの属性をリモートに格納してあるかについてのアイデンティティを、他の機構によって判定可能とするような構造である場合も恐らくあるであろう。同様に、他の情報もリモート・ストレージ属性６０に格納することも可能である。例えば、リモート格納処理ブロック４８は、リモート・ストレージ５４内に格納してあるデータの保全性(integrity)を全面的に信頼してはいない場合も恐らくあるであろう。このような場合、リモート格納処理ブロック４８は、リモート格納属性上でディジタル指紋またはサインを計算し、この指紋またはサインをリモート・ストレージ属性６０にセーブすることができる。この場合、リモート属性を検索すると、リモート属性に対して第２サインを計算し、計算したサインを、リモート・ストレージ属性６０に格納してあるサインと比較することができる。このような手順により、リモート格納処理ブロック４８は、リモート格納属性をリモート・ストレージ５４から検出する際に、それらに生じたあらゆる変化を検出することが可能になる。
【誤訳訂正１０】
【訂正対象書類名】明細書
【訂正対象項目名】００４２
【訂正方法】変更
【訂正の内容】
【００４２】
次に図３を参照し、リモート格納属性を有するファイルに関係するＩ／Ｏ要求の処理を表わす上位ブロック図を示す。本発明の関連においては、Ｉ／Ｏ要求は、本発明を実施するＩ／Ｏシステムが実行することができるあらゆる動作であるとする。したがって、Ｉ／Ｏ要求の定義は、単なるファイル・データの読み書きを遥かに越えるものである。状況によっては、特定のファイルをアクセスした場合にある電話番号に通話するというように、Ｉ／Ｏ要求が、従来のＩ／Ｏ動作と関連のない他のアクションをトリガする場合もある。本発明の状況においては、この用語は広く解釈することを想定する。
【誤訳訂正１１】
【訂正対象書類名】明細書
【訂正対象項目名】００４３
【訂正方法】変更
【訂正の内容】
【００４３】
Ｉ／Ｏ要求が、リモート格納属性を有するファイルまたはその他のエンティティに関係する場合、読み出し／書き込みデータ処理ブロック６２は、リモート格納属性が関与することを確認することができる。これは、リモート・ストレージ属性６０の存在によるものである。このような属性を検出した場合、リモート・ストレージ属性６０内の情報をリモート格納処理ブロック４８に渡すことができる。すると、リモート格納処理ブロック４８は、Ｉ／Ｏ要求を処理するために何をする必要があるかについて判定を行うことができる。種々の実施形態が、種々の形式の情報をリモート格納処理ブロック４８に渡すことができる。例えば、リモート・ストレージ属性６０内の情報を単にリモート格納処理ブロック４８に渡すことも可能である。次に、リモート格納処理ブロック４８がローカル・ストレージ６４からの他の情報を必要とする場合、リモート格納処理ブロック４８は、読み出し／書き込みデータ処理ブロック６２が所望の情報を検索することを要求することができる。あるいは、当初からより多くの情報をリモート格納処理ブロック４８に渡してもよい。このような詳細は、本発明にはさほど重要ではない設計上の選択事項と見なす。図３では、ローカル・ストレージ６４からリモート格納処理ブロック４８へ検索情報を渡す処理は、ファイル６６によって示しており、このファイルをリモート格納処理ブロック４８に渡す。
【誤訳訂正１２】
【訂正対象書類名】明細書
【訂正対象項目名】００４５
【訂正方法】変更
【訂正の内容】
【００４５】
特定的な例として、システムにアクセス可能な情報のコンテンツ・インデックス付け(content indexing)を実施するＩ／Ｏシステムについて検討する。このようなシステムでは、ユーザは、ローカルまたはリモート記憶デバイス上の個々のアドレスによってではなく、キー・ワードまたはその他のコンテンツ情報によって、情報を検索することができる。例えば、ユーザは、ある個人が著した文書全て、特定のトピックに関する文書全て、または特定の単語または文章を有する文書全てを要求することができる。このようなコンテンツ・インデックス付け方式の場合、情報を検査し、種々のコンテンツ・キーを格納する必要がある。実現例によっては、コンテンツ・キーを１つ以上のファイルの属性として格納することが可能な場合もある。その際、ファイルのデータをリモートに格納する場合であっても、コンテンツ・キーはローカルに保持するとよい。このような状況では、ユーザが、あるコンテンツ・キーを含む全ファイルのリストを要求する場合、コンテンツ・キーをローカルに保持してあれば、単にローカル・ストレージ６４から情報を読み出すことによって、この要求を満たすことができる。このような状況では、リモート格納処理ブロック４８は、単にローカル・ストレージ６４上で適切な情報を検査し、応答６８で例示するように、適切な応答を発生する。
【誤訳訂正１３】
【訂正対象書類名】明細書
【訂正対象項目名】００４７
【訂正方法】変更
【訂正の内容】
【００４７】
次に図４を参照し、本発明と共に用いるのに適したファイルの属性を表わす図を示す。これらの属性は、Microsoft Windows NT(R)に特定して開発したＮＴＦＳファイル・システムが用いる属性の修正リストを表わす。ＮＴＦＳファイル・システムについては、Microsoft Press（マイクロソフト・プレス社）が発行したHelen Custer（ヘレン・カスター）によるInside the Windows NT file System（Windows NTファイル・システムの内側）により詳細に記載されており、この言及により本願にも含まれるものとする。図４では、ファイルを構成する属性は、２つの基本的グループに分割することができる。第１グループはシステム属性を含み、第２グループはユーザ属性を含む。一般的に、システム属性は、システムがその種々の機能を実行するために必要なまたは要求される情報を格納するために用いられる。このようなシステム属性は、通常、ロバストなファイル・システムの実施を可能にする。システム属性の正確な数および形式は、概して、個々のオペレーティング・システムまたは利用する個々のファイル・システムに全面的に依存する。一方、ユーザ属性は、ユーザが制御するデータを格納するために用いられる。これは、ユーザがある状況の下では１つ以上のシステム属性へのアクセスを得られないということではない。しかしながら、ユーザ属性は、ユーザまたはクライアント・プログラムが対象のデータをプログラムに格納することができる格納場所を定義する。図４では、システム属性は全体的に７４で示し、ユーザ属性は全体的に７６で示している。
【誤訳訂正１４】
【訂正対象書類名】明細書
【訂正対象項目名】００４８
【訂正方法】変更
【訂正の内容】
【００４８】
システム属性は、例えば、標準情報属性７８、属性リスト８０、名称属性８２、セキュリティ記述子属性８４、およびリモート・ストレージ属性８６で構成することができる。標準情報属性７８は、読み出しのみ、読み出し／書き込み、隠れ(hidden)等のような標準的な"MS-DOS"属性を表す。属性リスト８０は、ファイルがマスタ・ファイル・テーブル内において２つ以上の記憶レコードを占有する場合に、ファイルを構成する追加の属性の場所を識別するためにＮＴＦＳが使用する属性である。マスタ・ファイル・テーブルは、ファイルまたはディレクトリの常駐属性全てを格納する場所である。名称属性８２は、ファイルの名称である。ＮＴＦＳでは、ファイルは多数の名称属性、例えば、長い名称、短いMS-DOS名称等を有する場合がある。セキュリティ記述子属性８４は、ファイルを所有するのが誰で、それにアクセスすることができるのは誰かを指定するために、Windows NT (R)が用いるデータ構造を含む。これらの属性については、先に言及して本願にも含まれるものとした、Inside the Windows NT File Systemに更に詳細に記載されている。
【誤訳訂正１５】
【訂正対象書類名】明細書
【訂正対象項目名】００４９
【訂正方法】変更
【訂正の内容】
【００４９】
リモート・ストレージ属性８６は、本発明が追加する新たな属性である。リモート・ストレージ属性８６は、特定のファイルを、リモート格納属性を有するものとして識別する。リモート・ストレージ属性は、リモート格納属性の場所を識別できるのに十分な情報を収容することが好ましい。全ての属性は、全体として捕らえた場合、特定のファイルのどの属性がリモート格納であり、どの属性がローカル格納か識別可能でなければならない。このような情報は、リモート・ストレージ属性８６に含めることができ、あるいはこのような情報は、ファイルの他の属性を検査することによって得ることも可能である。例えば、各属性が特定の長さである場合、または特定の属性の長さを属性と共に格納する場合、単純に予測長を実際にローカル・ストレージ上に格納してある長さと比較することによって、どの属性がリモート格納であるのか識別することが可能となる。例えば、あるデータ属性が１００Ｋバイト長であると予想し、実際に格納してある情報量がかなり少ない場合、このデータ属性はリモート格納と推定することができる。あるいは、このような情報は、単純にリモート・ストレージ属性８６に組み込むことも可能である。一実施形態では、リモート・ストレージ属性は、次のように構成する。
【誤訳訂正１６】
【訂正対象書類名】明細書
【訂正対象項目名】００５１
【訂正方法】変更
【訂正の内容】
【００５１】
以下で更に詳しく説明するように、本発明の実施形態のあるものは、Ｉ／Ｏ処理を実行するために複数のドライバ手段を利用し、リモート・データ格納処理を実施する場合がある。例えば、図２または図３のリモート格納処理ブロック４８は、Ｉ／Ｏ処理を実行するための１つのドライバ手段に実施することができ、読み出し／書き込みデータ処理ブロック６２は、Ｉ／Ｏ処理を実行するための他のドライバ手段を用いて実施することができる。この場合、これら２つのドライバ手段は、これらの間で情報をやりとりすることにより、本発明の目的を達成するように調整することができる。実際には、リモート格納処理の機能を実施するＩ／Ｏ処理を実行するためのドライバ手段は、単純に、Ｉ／Ｏシステム内の種々の目的のために用いる複数のドライバ手段の内の１つとしてもよい。このような実施形態について、以下に論ずる。このような状況では、リモート格納属性を有するファイルに関係するＩ／Ｏ要求を処理する責務を引き受けるのは、どのドライバであるのか確認する必要がある場合もある。本発明の範囲内の実施形態は、Ｉ／Ｏ要求の少なくとも一部を処理すべきドライバとして、特定のドライバ手段を特定する手段を備えることができる。特定のドライバをリモート・ストレージ属性のオーナとして特定する機構であれば、いずれでもこのような手段に用いることができる。リモート・ストレージ属性が、先のテーブルに示す構造を有する場合、このような手段は、例えば、タグ値を備えることができる。この例では、タグは、リモート・ストレージ属性のオーナのＩＤを含むデータ・ワードである。このような機構により、単一システム内に複数の階層ストレージ・マネージャが存在することが可能となり、各階層ストレージ・マネージャは、異なる形式のファイルまたは異なる形式のリモート記憶デバイスに関係するＩ／Ｏ要求を処理するように適合化してある。
【誤訳訂正１７】
【訂正対象書類名】明細書
【訂正対象項目名】００５６
【訂正方法】変更
【訂正の内容】
【００５６】
次に図４を参照し、ファイルのユーザ属性を表わすグループ７６について検討する。先に説明したように、ユーザ属性は、ユーザまたはクライアント・プロセス情報を格納するためにユーザまたはその他のクライアント・プロセスが用いる属性を表わす。ＮＴＦＳファイルは、典型的に、図４にデータ１属性８８およびデータ２属性９０として示す、１つ以上のデータ属性を有する。従来のファイル・システムの殆どは、単一のデータ属性に対応するに過ぎない。データ属性は、ユーザ制御データを格納可能な場所と基本的には全く同様である。例えば、ワード・プロセッシング文書では、典型的に、ファイルのデータ属性に文書を格納する。ＮＴＦＳファイル・システムでは、ファイルは多数のデータ属性を有することができる。１つのデータ属性を「無名」属性(unnamed attribute)と呼び、他の属性は各々関連する名称を有する名称付き属性である。データ属性の各々は、異なる形式のユーザ制御データを格納できる格納場所を表わす。本発明と組み合わせた場合、このようなファイル構造は、データ属性のいずれかまたは全てをローカルまたはリモートのいずれにも格納することが可能となる。これは、従来技術のシステムに対する有意義な利点を表わすことができる。従来技術のシステムでは、ファイル内のデータは、全てローカルに格納するか、あるいは全てリモートに格納するかのいずれかであった。データの一部分をローカルに、そしてデータの一部分をリモートに格納するという概念はなかった。ＮＴＦＳファイル・システムの多数のデータ属性を用いることにより、あるデータをローカルに格納し、他のデータをリモートに格納することが可能となる。したがって、あるファイルが、規則的にアクセスされるある種のデータ、および稀にしかアクセスされなかった他のデータを含む場合、稀にしかアクセスされなかったデータをリモート・ストレージに移動させることができ、一方頻繁にアクセスされたデータをローカル・ストレージに維持することができる。
【誤訳訂正１８】
【訂正対象書類名】明細書
【訂正対象項目名】００６８
【訂正方法】変更
【訂正の内容】
【００６８】
要約すると、本発明のある実施形態は、Ｉ／Ｏ要求の通常処理シーケンスを中断し、階層ストレージ管理の責務を負うドライバに、リモート格納属性を有するファイルまたはその他のエンティティに関係するＩ／Ｏ要求の処理に介入および関与させるシステムおよび方法を提供する。図５は複数の層状ドライバを示すが、複数のドライバの機能性を１つ以上のモノリシック・ドライバに組み込んでもよいことは明白であろう。このようなシステムでは、ドライバ間通信の必要性が軽減する。しかしながら、層状ドライバを有するＩ／Ｏシステムの様々な利点は得られない。本発明を複数の層状ドライバに実施するかまたは数個の層状ドライバの機能性を組み込んだ１つ以上のモノリシック・ドライバに実施するかの選択は、設計上の選択事項であり、本発明には重要ではない。しかしながら、種々の機能エレメントが本質的に図示した態様で協働することが好ましい。言い換えると、１つ以上のリモート格納属性を有するファイルに遭遇した場合、このようなファイルに関係するＩ／Ｏ要求を処理する責務を負う処理ブロックに制御を渡す。適切な機能性については、既に説明した。
【誤訳訂正１９】
【訂正対象書類名】明細書
【訂正対象項目名】００７６
【訂正方法】変更
【訂正の内容】
【００７６】
Ｉ／Ｏ要求がリモート格納属性を有するファイルまたはその他のエンティティに関係しない場合、ドライバは通常の方法でＩ／Ｏ要求を処理し、通常の方法でＩ／Ｏ要求に関連する情報を戻す。したがって、１つ以上の階層ストレージ・マネージャをインストールしているシステムは、リモート格納属性を有するファイルに関係するＩ／Ｏ要求に遭遇する前に、階層ストレージ・マネージャからは殆どまたは全く処理オーバーヘッドを受けることはない。例えば、図６では、ドライバＢ１２６がＩＲＰ１５０を受け取った場合、ＩＲＰ処理ブロック１５２がこれを通常の方法で処理することができる。処理の結果は、ＩＲＰ１５４に戻すことができる。図６には示さないが、ＩＲＰ１５４は、ドライバＢ１２６による処理の後、ドライバＡ１２４に戻すことができる。これは、通常のＩ／Ｏ処理の全部分であり、先に言及によって本願にも含まれるものとした、Inside Windows NTに更に詳細に説明されている。
【誤訳訂正２０】
【訂正対象書類名】明細書
【訂正対象項目名】００７７
【訂正方法】変更
【訂正の内容】
【００７７】
図５との関連で既に説明したように、複数のドライバ手段を利用して本発明の機能性を実施する実施形態では、リモート格納属性を有するファイルに関係するＩ／Ｏ要求に遭遇した場合、Ｉ／Ｏ要求の正常な処理を中断し、リモート格納属性を有するファイルに関係するＩ／Ｏ要求を扱うように特定して適合化したドライバに制御を移管する。このプロセスを遂行するために、本発明の範囲内の実施形態は、Ｉ／Ｏ要求の処理を中断する手段を備えている。このような手段は、Ｉ／Ｏ要求がリモート格納属性を有するファイルに関係し、Ｉ／Ｏ要求の処理を途中で終了し制御を他のドライバに移管できるようにすることをドライバが認識する機構であれば、そのいずれでもよい。図６では、このような手段は、例えば、リモート格納検出ブロック１５６で示している。
【誤訳訂正２１】
【訂正対象書類名】明細書
【訂正対象項目名】００７８
【訂正方法】変更
【訂正の内容】
【００７８】
リモート格納属性を有するファイルの検出は、種々の方法で実施することができる。これらの殆どについては、リモート・ストレージ属性の可能な１実現例との関連で既に論じてある。リモート・ストレージ属性の正確な内容および個々の実現例によっては、リモート・ストレージ属性の内容を単に検査することによって、リモート格納属性を有するファイルを識別することが可能なこともあり得る。既に論じたように、このようなリモート・ストレージ属性は、当該リモート・ストレージ属性がリモート格納属性に関する情報を含むときを特定する、フラグまたはその他の手段を備えることができる。あるいは、単にファイル自体の中の情報を検査することによって、リモート格納属性を有するファイルを識別することが可能な場合もあり得る。例えば、１つ以上の属性の予想長を、ローカル・ストレージ上に格納してある属性の実際の長さと比較することにより、リモート格納属性を有するファイルを識別することが可能な場合もある。更に第３の代替物では、リモート格納属性を有するファイルの識別は、ある実施形態では、リモート・ストレージ属性に格納してある情報およびファイルに格納してあるその他の情報双方を検査することによって遂行することも可能である。一旦リモート・ストレージ属性の正確な実現例およびファイル構造を識別したなら、リモート格納属性を有するファイルを検出するために使用可能な種々の選択肢は明らかとなろう。
【誤訳訂正２２】
【訂正対象書類名】明細書
【訂正対象項目名】００７９
【訂正方法】変更
【訂正の内容】
【００７９】
リモート格納検出ブロック１５６が、あるＩ／Ｏ要求がリモート格納属性を有するファイルに関係することを確認した場合、Ｉ／Ｏ要求の通常の処理を終了し、Ｉ／Ｏ要求を処理する責務を他のドライバに移管するためのステップを実行する。図６では、これらのステップはリモート格納処理ブロック１５８によって実行する。
【誤訳訂正２３】
【訂正対象書類名】明細書
【訂正対象項目名】００８０
【訂正方法】変更
【訂正の内容】
【００８０】
リモート格納処理ブロック１５８は、現ドライバから、Ｉ／Ｏ要求を処理する責務を引き受けるドライバに制御を移管するのに必要なあらゆる事前処理を実行する。例えば、リモート・ストレージ属性が既に論じたようにタグおよびデータ・フィールドを含む場合、リモート格納処理ブロック１５８は、リモート・ストレージ属性からタグおよびデータ・フィールドを抽出し、リモート・ストレージ属性のオーナへの移管のためにこれらを準備する。このように、本発明の範囲内の実施形態は、リモート格納情報をドライバに渡す手段を備えることができる。一例として、限定ではなく、図６ではリモート格納データ１６０によってこのような手段を示している。リモート格納データ１６０は、単に、リモート格納処理ブロック１５８が抽出したリモート格納情報を表わす。実施形態によっては、リモート・ストレージ属性からリモート格納情報を抽出し、図６に示すようにそれをＩ／Ｏマネージャ１２８を介して渡すのではなく、これを直接リモート・ストレージ属性のオーナに渡すことができる場合もある。本質的に、リモート格納情報のオーナに、リモート・ストレージ属性内に格納してある情報にアクセスさせる機構であれば、そのいずれでも、リモート格納情報をドライバに渡す手段として利用することができる。これは、リモート格納情報を格納してある場所またはリモート・ストレージ属性自体にポインタを渡すことを含む。一実施形態では、リモート格納データ１６０は、ＩＲＰに含まれており、別のドライバに渡される。
【誤訳訂正２４】
【訂正対象書類名】明細書
【訂正対象項目名】００８１
【訂正方法】変更
【訂正の内容】
【００８１】
リモート格納属性を有するファイルに関係するＩ／Ｏ要求を識別した場合、このＩ／Ｏ要求を処理する責務をドライバ間で移管する。したがって、本発明の範囲内の実施形態は、Ｉ／Ｏ要求を処理する制御をドライバ間で移管する手段を備えている。図６に示す実施形態では、このような手段は、例えば、完了ルーチン１６２を備えることができる。Windows NT (R)オペレーティング・システムのために書かれたドライバは、下位ドライバがＩＲＰを処理し終えた後に、Ｉ／Ｏマネージャがコールする１つ以上の完了ルーチンを備えることができる。例えば、ファイル・システム・ドライバおよびデバイス・ドライバを有する実施形態では、Ｉ／Ｏマネージャは、デバイス・ドライバがデータをファイルにまたはファイルから転送し終えた後に、ファイル・システム・ドライバの完了ルーチンをコールすることができる。完了ルーチンは、動作の成功、失敗、または取消についてファイル・システム・ドライバに通知することができ、ファイル・システムにクリーンアップ動作(cleanup operation)を実行させる。このように、通常の処理の間、ドライバＢ１２６がＩＲＰ１５０を受け取り、完全にこれを処理し、ＩＲＰ１５４を戻した場合、Ｉ／Ｏマネージャ１２８はブロック１６２における完了ルーチンをコールすることができ、これがドライバＡ１２４にＩ／Ｏ動作の成功または失敗を通知し、ドライバＡ１２４にあらゆるクリーンアップ処理を実行させる。
【誤訳訂正２５】
【訂正対象書類名】明細書
【訂正対象項目名】００８２
【訂正方法】変更
【訂正の内容】
【００８２】
Ｉ／Ｏマネージャ１２８は、下位ドライバがその処理を完了したときに完了ルーチンをコールするので、このような完了ルーチンは、リモート格納属性を有するファイルに関係するＩ／Ｏ要求を処理する制御の移管を検出する機構を配置する理想的な場所を形成する。したがって、完了ルーチン１６２は、リモート格納データ１６０を検査し、ドライバＡ１２４がリモート・ストレージ属性のオーナであり、Ｉ／Ｏ要求を処理する責務を引き受けなければならないか否か確認することができる。
【誤訳訂正２６】
【訂正対象書類名】明細書
【訂正対象項目名】００８３
【訂正方法】変更
【訂正の内容】
【００８３】
しかしながら、リモート格納属性を有するファイルに関係するＩ／Ｏ要求を処理する責務をドライバが引き受ける前に、当該ドライバは、自分がリモート・ストレージ属性のオーナであるか否かについて確認しなければならない。これまでの説明によって、複数の階層ストレージ・マネージャまたはその他の特殊化ドライバを特定のシステム内に組み込み可能であることは明白であろう。したがって、ドライバの各々は、何らかの形式の特殊化処理を実行するように適合化することができる。前述のようなリモート・ストレージ属性を用いて、ドライバの各々に一意のタグ値を割り当てる。下位ドライバがリモート・ストレージ属性を有するファイルに遭遇した場合、下位ドライバは、タグおよびリモート・ストレージ属性の値を抽出し、これを上位のドライバまで受け戻す。すると、上位のドライバの各々は、タグ値を検査し、それ自体がリモート・ストレージ属性のオーナであり、Ｉ／Ｏ要求を処理する責務を引き受けなければならないか否か確認する。このように、個々のシステム内に異なるドライバ記憶マネージャが存在し、協働して、記憶の階層的管理を達成することができる。リモート格納または他の形式の特殊化処理のいずれかに使用可能な、これらの原理を採用し一般化した機構が、"FILE SYSTEM PRIMITIVE ALLOWING REPROCESSING OF I/O REQUESTS BY MULTIPLE DRIVERS IN A LAYERED DRIVER I/O SYSTEM"（層状ドライバＩ／Ｏシステムにおける多数のドライバによってＩ／Ｏ要求の再処理を可能にするファイル・システム・プリミティブ）と題する、同時係属中の米国特許出願番号第０８／８６２，０２５号に開示されており（以下「再解析点」出願）、この言及により本願にも含まれるものとする。
【誤訳訂正２７】
【訂正対象書類名】明細書
【訂正対象項目名】００９０
【訂正方法】変更
【訂正の内容】
【００９０】
矢印１７６で示すように、クライアント・プロセス１７２がＩ／Ｏ要求を行うと、Ｉ／Ｏマネージャ１７８はＩＲＰ１９２を作成し、Ｉ／Ｏシステム内の種々のドライバ間でＩＲＰ１９２の転送を調整する。この例では、連続する各ドライバを介してＩＲＰ１９２を受け渡す。各ドライバは、ディスク・ドライバ１８４に到達するまで、下位ドライバの機能をイネーブルするために必要なあらゆる予備処理を実行する。次に、ディスク・ドライバ１８４は、ローカル・ストレージ１９０から所望の情報を検索し、このような情報をＩＲＰ１９４を介してファイル・システム・ドライバ１８２に戻す。Ｉ／Ｏ要求がリモート格納属性を有するファイルに関係する場合、ファイル・システム・ドライバ１８２は、ＩＲＰ１９４内において情報が戻されたときに、これを認識する。ファイル・システム・ドライバ１８２は、既に論じた種々の機構を用いて、個々のＩ／Ｏ動作が、リモート格納属性を有するファイルに関係するか否かについて検出することができる。図７では、リモート格納データ１９６のファイル・システム・ドライバ１８２への返送によって、これを具体的に示す。しかしながら、リモート格納データ１９６は、例えば、ＩＲＰ１９４のようなＩＲＰ内で戻してもよいことを思い出されたい。同様に、個々の実現例によっては、ＩＲＰ１９４はＩＲＰ１９２と同じＩＲＰとしてもよい場合もある。
【誤訳訂正２８】
【訂正対象書類名】明細書
【訂正対象項目名】００９１
【訂正方法】変更
【訂正の内容】
【００９１】
ファイル・システム・ドライバ１８２が、Ｉ／Ｏ動作がリモート格納属性を有するファイルに関係することを認識した場合、ファイル・システム・ドライバ１８２は、最小限、リモート・ストレージ属性内の情報を抽出し、その情報を上位ドライバに渡すことによって、上位ドライバの１つがそれ自体をリモート・ストレージ属性のオーナであることを認識し、Ｉ／Ｏ要求を処理する責務を引き受けるようにする。図７では、これは、ファイル・システム・ドライバ１８２がリモート格納データ１９６を階層ストレージ・マネージャ１８０に渡すことによって示している。これは、図６との関連で既に説明したように、Ｉ／Ｏマネージャが階層ストレージ・マネージャ１８０の完了ルーチンにコールすることによって遂行することができる。他の機構も適宜用いることができる。
【誤訳訂正２９】
【訂正対象書類名】明細書
【訂正対象項目名】００９６
【訂正方法】変更
【訂正の内容】
【００９６】
このシステムでは、ある種のファイル属性を暗号化してリモート・コンピュータ２１４に送り、アクセスを制限した安全な環境でこれらを格納する。したがって、暗号化しリモート・コンピュータ２１４に格納したファイルに関係するあらゆるＩ／Ｏ要求は、暗号化せずにローカルに格納した他のファイルとは別個に処理しなければならない。この例では、クライアント・プロセス２１０は、リモート・コンピュータ２１４上に格納してある暗号化ファイルに関係するＩ／Ｏ要求を行うと想定する。このような要求を行うには、例えば、矢印２３２で示すように、クライアント・プロセス２１０がオペレーティング・システム・サービス２２８をコールする。Ｉ／Ｏ要求をファイル・システム・ドライバ２２４に渡し、ディスク・ドライバ２２６を利用して適切な情報を検索する。ディスク・ドライバ２２６は、ディスク・コントローラ２３４を利用し、ローカル・ストレージ２３６から情報を検索する。暗号化ファイルにアクセスする試みが行われた場合、ファイル・システム・ドライバ２２４は、そのファイルがリモート格納属性であることを認める。次に、リモート・ストレージ属性内の情報を、暗号化ファイル・マネージャ２２２に渡し、暗号化ファイルを、リモート・コンピュータ２１４上に格納してあるものとして確認する。次に、暗号化ファイル・マネージャ２２２は、適切なファイルを検索するステップを実行する。
【誤訳訂正３０】
【訂正対象書類名】明細書
【訂正対象項目名】００９７
【訂正方法】変更
【訂正の内容】
【００９７】
適切なファイルを検索するステップは、Ｉ／Ｏ要求をリモート・コンピュータ２１４に送ることに関係する場合がある。Ｉ／Ｏ要求を暗号化ファイル・マネージャ２２２からリモート・コンピュータ２１４に転送するあらゆる機構が利用可能である。図８では、このようなＩ／Ｏ要求は、リディレクタ(redirector)２３８およびネットワーク・トランスポート・ドライバ２４０を介して送ることができる。リディレクタ２３８は、ローカル・コンピュータ２１２がネットワークを通じて他の機械にある資源にアクセスするために必要な利器 (facility)を備える。ネットワーク・トランスポート・ドライバ２４０は、ネットワーク・カード２１６および接続部２１８を通じてローカル・コンピュータ２１２からリモート・コンピュータ２１４に情報を転送する機構を備える。他の機構も使用可能であり、図８に示すコンポーネントは、あらゆる観点においても例示と見なして当然である。このような機構は、一般に、専用リンク、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、電話回線、ワイヤレス接続等のような、あらゆる形式の接続を２つのコンピュータ間に含むことができる。これらの通信機構に対応するために、種々の形式のソフトウエア・ドライバまたはコンポーネントが必要となる場合もあり得る。
【誤訳訂正３１】
【訂正対象書類名】明細書
【訂正対象項目名】０１０１
【訂正方法】変更
【訂正の内容】
【０１０１】
次のステップは、リモート・ストレージを記述する情報を設計することである。この情報は、リモート・ストレージ属性に置き、階層ストレージ・マネージャが用いるものである。このような情報は、リモート・ストレージ内のデータの完全な識別を可能にしなければならない。既に説明したように、このデータは、システム内に存在する各階層ストレージ・マネージャ毎に専用(private)であるので、あらゆる情報を含むことができ、あるいは階層ストレージ・マネージャが所望するあらゆるフォーマットを有することができる。オペレーティング環境を破壊する階層ストレージ・マネージャについては、リモート・ストレージ属性は適切な痕跡を含み、階層ストレージ・マネージャが、データをローカル・ストレージまたはリモート・ストレージに保持していた間に、データに何らかの変更があったか否かについて認識できるようにすることも可能である。
【誤訳訂正３２】
【訂正対象書類名】明細書
【訂正対象項目名】０１０２
【訂正方法】変更
【訂正の内容】
【０１０２】
次のステップは、リモート・ストレージ属性内に格納するデータを処理し、リモート格納属性を有するファイルに関係するＩ／Ｏ要求を処理するために、層状階層ストレージ・マネージャを構築することである。一旦層状階層ストレージ・マネージャを作成しシステム内にインストールしたなら、階層ストレージ・マネージャは、図５ないし図８との関連で既に論じたように、リモート格納属性を有するファイルに関係するＩ／Ｏ要求を処理する。既に論じたように、Ｉ／Ｏ要求を処理する場合、階層ストレージ・マネージャは、元のＩ／Ｏ要求と共に到来した情報にアクセスし、当該Ｉ／Ｏ要求を処理するために取るべきアクションを決定することができる。追加の情報にアクセスすることなく解決するアクションもあるが、ローカル・ストレージから情報を読み出したり、ローカル・ストレージに情報を書き込む必要のあるアクションもあり、更に、リモート・ストレージから情報を読み出したり、リモート・ストレージに情報を書き込む必要のある更に別のアクションもある。
【誤訳訂正３３】
【訂正対象書類名】明細書
【訂正対象項目名】０１０５
【訂正方法】変更
【訂正の内容】
【０１０５】
【図１】図１は、層状ドライバを用いたＩ／Ｏシステムを示す図である。
【図２】図２は、リモートに属性を格納するプロセスを示す図である。
【図３】図３は、リモートに格納してある属性に関係するＩ／Ｏ要求の処理を示す図である。
【図４】図４は、本発明と共に用いるのに適したファイルの属性を示す図である。
【図５】図５は、リモート・ストレージ属性に遭遇した場合の、ある層状ドライバから別の層状ドライバへの制御移管を示す図である。
【図６】図６は、２つの層状ドライバが提供するサービスを示し、本発明によるドライバへの全体的な機能性の組み込みを示す図である。
【図７】図７は、リモートに格納してあるデータに関係するＩ／Ｏ要求を処理するために、本発明をどのように利用することができるかについて示す一例である。
【図８】図８は、別のコンピュータを用いてＩ／Ｏ要求を完了する例を示す図である。