(57)【要約】特にピア・ツー・ピア（マスターレス）において個別要素間における通信を促進し、パケット・アトミシティ（１１００）、ブラインドACK（１８００）、NATブリッジング、ロッキング、マルチキャスト・スパニングおよびミラーリング、そして認証など、1つ以上の独自の機能を含む通信プロトコル、システム、および方法。
2006506847.tif 000002
【特許請求の範囲】
【請求項１】
パケットを介してネットワーク全体のターゲット装置にデータを転送する方法であって、：
少なくとも一部のパケットのそれぞれが、カプセル化したパケットとカプセル化されたパケットの両方を含むスプリットIDパケットであり、
スプリットIDパケットのそれぞれが、IDの一部がカプセル化されたパケットから取得され、別の部分がカプセル化したパケットのヘッダー部分から取得されるように分割された、１つの識別子を含む方法。
【請求項２】
ターゲット装置が複数の記憶領域を含み、装置がその複数の記憶領域のそれぞれとネットワーク・アドレスを関連付ける請求項１に記載の方法。
【請求項３】
スプリットIDが、ターゲット装置の記憶領域の１つ以上と関連付けられたネットワーク・アドレスを含み、カプセル化したパケットをターゲット装置へ経路指定するためにネットワーク・アドレスも使用される請求項２に記載の方法。
【請求項４】
ネットワーク・アドレスがカプセル化したIPパケットの制御部分に位置するIPアドレスである請求項３に記載の方法。
【請求項５】
少なくとも一部のパケットにコマンドおよびトークンが含まれ、ターゲット装置がパケットのトークンを使用して、パケットのコマンドを実行するかどうかを決定する請求項４に記載の方法。
【請求項６】
カプセル化されたパケットを介してネットワーク全体のターゲット装置にデータを転送する方法であって、
少なくとも一部のパケットそれぞれがスプリットIDを含み、
ターゲット装置が複数の記憶領域を含み、装置がその複数の記憶領域それぞれにネットワーク・アドレスを関連付け、
スプリットIDが、ターゲット装置の記憶領域の１つと関連付けられたIPアドレスであるネットワーク・アドレスを含み、IPアドレスはカプセル化したパケットをターゲット装置へ経路指定するためにも使用され、IPアドレスはカプセル化したIPパケットの制御部分に位置し、
IPアドレスに関連付けられた各記憶領域はターゲット装置ではないクライアント装置にも関連付けられており、パケットはコマンドを含み、パケットのスプリットIDのIPアドレスと関連付けられた記憶領域に関連したクライアント装置によってそのパケットが送信されたと思われる場合にのみ、コマンドが実行される方法。
【請求項７】
コマンドの実行が、ターゲット装置でもクライアント装置でもない、第３の装置からのデータの取得を引き起こす請求項６に記載の方法。
【請求項８】
ターゲット装置と第３装置が、NATブリッジによって分離される請求項７に記載の方法。
【請求項９】
少なくとも一部のパケットがPSANパケットである請求項１に記載の方法。
【請求項１０】
カプセル化されたパケットを介してネットワーク全体のターゲット装置にデータを転送する方法であって、少なくとも一部のパケットそれぞれがスプリットIDを含み、装置によって後で操作されるデータブロックを装置に伝送するよう適合され、さらにこの方法はデータブロックを順番に並べられた一連のサブ・ブロックへ分割することと、発信された以外の順番で装置がブロックを受け取ることを許可する形で、サブ・ブロックを装置へ転送することを含み、装置はそのサブ・ブロックを並び替えずにサブ・ブロックを操作する方法。
【請求項１１】
一連の記憶領域を持つ１つ以上の装置を含む、IPネットワークであって、各記憶領域は一連の記憶ブロックを含み、記憶領域にはIPアドレスが関連付けられており、ネットワーク上のパケットの宛先として、１つ以上の装置における特定の記憶領域を指定することができ、少なくとも一部のパケットのそれぞれが、パケットの宛先アドレスに対応する、記憶領域の記憶ブロックを特定する、ブロックIDを含むIPネットワーク。
【請求項１２】
１つ以上の装置が記憶領域に関連付けられたIPアドレスをネットワーク・アドレス・サーバーから取得する、請求項１１に記載のネットワーク。
【請求項１３】
ブロックIDを含む少なくとも一部のパケットのブロックIDが、IPパケット内に入れられたPSANパケットの制御部分に位置する、請求項１２に記載のネットワーク。
【請求項１４】
請求項１１のネットワークに結合され、少なくとも一部のPSANパケットを処理するよう適合された装置。
【請求項１５】
データブロックを受信するよう適合され、データブロックがサブ・ブロックに分割された後、装置はブロックを再び組み立てずにサブ・ブロックを処理する請求項１４に記載の装置。
【請求項１６】
データの要求に応答するよう装置が適合され、その装置が１要求あたり１ブロックのみを送信するよう適合された、請求項１７に記載の装置。
【請求項１７】
少なくとも一部のパケットのそれぞれがスプリットIDを含む、カプセル化されたパケットを介してネットワーク全体のターゲット装置にデータを転送する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照により全体として本明細書に組み込まれる米国仮出願番号６０/４２５８６７の利益を請求する。
【０００２】
発明の属する分野は、ネットワークされた装置および通信プロトコルである。
【背景技術】
【０００３】
装置間におけるデータの送信に通信プロトコルのレイヤーを利用することは、よく知られている。データを伝送する役割を持つプロトコルが、データにヘッダーを追加してユニットを形成し、そのユニットを一般に下位レベルのプロトコルと考えられている別のプロトコルに渡すことで、データ送信を行うことはよくある。より高位のプロトコルによって提供されたユニットにヘッダーを追加することは、ユニットのカプセル化と呼ばれている。したがって、より高位のプロトコルによって作成されたユニットが、下位レベルのプロトコルのデータ部分内にカプセル化される、プロトコルのレイヤーが話題にされるのはよくあることである。所与のプロトコル・レイヤーによって形成されるユニットは、ユニットを形成するプロトコル、または形成されるユニットのプロトコルの、特徴の一部を示す名前でしばしば呼ばれることになる。このような名前には、「データグラム」、「パケット」、および「フレーム」などがあるが、これらに限定されない。
【０００４】
相互に協調するように適合された一連のプロトコルは、しばしばスィートと呼ばれる。プロトコルの一般的なスィートの一つはTCP/IPスィートであり、特に、IP、TCPとUDPプロトコルを含む。IETF  RFC７９１によって規定されているインターネット・プロトコル（IP）は、TCP/IPスィートのルーティング・レイヤー・データグラム・サービスであり、ホストからホストへフレームを経路指定するためにスィート内のその他のプロトコルの大部分によって使用される。IPヘッダーは、データグラム・デリバリーに関連したルーティング情報および制御情報を含んでいる。IETF  RFC７６８によって規定されているユーザー・データグラム・プロトコル（UDP）は、シンプルであるが、信頼性のないメッセージ・サービスをトランザクション志向サービスに提供する。各UDPヘッダーは、発信ポートIDと宛先ポートIDの両方を伝達するため、高位レベルのプロトコルが、複数のホストの間で特定のアプリケーションおよびサービスに的を絞ることができる。IETF  RFC７９３によって規定されている伝送制御プロトコル（TCP）は、シーケンス番号付きの肯定応答を使用して、アプリケーションに対し確実性をもったストリーム・デリバリーおよび仮想接続サービスを提供し、必要な場合にはパケットの再送を行う。
【発明の開示】
【課題を解決するための手段】
【０００５】
発明の要旨
本願発明は、特に、ピア・ツー・ピア（マスターレス）ネットワークの個別要素間における通信を促進する通信プロトコルおよび方法と、そのような個別要素として機能するように適合された装置も対象とする。そのような装置は一般的に、前述の方法およびプロトコルのうち、１つ以上を実施しており、ネットワーク・アドレスを使用して、自らの装置または他の装置内のいずれかにある記憶領域にアクセスする。本書で記述するプロトコルおよび方法の様々な実施態様は、数多ある独自の特徴のうち、一つ以上を備えることになる。このような特徴には、パケット・アトミシティ、ブラインドACK、NATブリッジング、ロッキング、マルチキャスト・スパニングおよびミラーリング、そして認証が含まれるが、必ずしもこれらに限定されない。
【０００６】
パケット・アトミシティ
ヘッダーに含まれるコマンドを先行パケットまたは後続パケットを結合する必要なく実行できる場合、そのパケットについてパケット・アトミシティが存在する。各パケット、または少なくとも実質上すべてのパケットが、パケット・アトミシティを持つプロトコルを介して伝送される場合、プロトコルにパケット・アトミシティがある。パケット・アトミシティを持つプロトコルは一般的に、コマンドにそれぞれ自律性があり、以前の状態の前提なしに実行できる一連のコマンドを備えることになる。より大きいデータブロックの一部を転送するためにパケットが使用される例では、パケット・アトミシティは、その大きいデータブロック内のパケットに相対的なデータ位置を指定するIDを含めることによって取得できる。
【０００７】
パケット・アトミシティが望ましいのは、パケット・アトミシティを使用することで、装置間における無接続型通信の使用が可能になるためである。したがって、パケット・アトミシティを持つ高位のプロトコルは、TCPなどの接続ベースプロトコル、またはUDPのようなコネクションレス・プロトコルのいずれに対しても実施できる。また、パケット・アトミシティを持つプロトコルは、IPプロトコルのような下位レベル接続プロトコルの機能を活用することができるため、パケット・アトミシティを持つプロトコルの機能を容易に拡張、実施することができる。
【０００８】
パケット・アトミシティ達成の好ましい方法は、一つのパケットに収容可能なデータより大きなデータブロック上で動作するパケット・コマンドを避けることと、データに影響を及ぼす各パケットのヘッダー内に独自のブロック識別子を含めることが考えられる。また、２つの装置が通信する場合、パケットのデータユニットを、装置の２つのブロックサイズのうち小さい方に設定することが有利であるとも、考えられる。
【０００９】
従来、パケットサイズの拡大がネットワーク性能を向上させる方法として好まれていたが、パケットデータブロックのサイズを、パケット送信先の装置の最も小さな物理的ブロックと等しいサイズに限定することデータゲットにおける処理時間を減少させることが、全体のパフォーマンスを向上させる結果となることが考えられる。
【００１０】
また、装置が後で操作するデータブロックを、装置に伝送する好ましい方法は、データブロックをサブ・ブロックに分割し、装置がブロックを再び組み立てるか、またはパケットを並び替えずにサブ・ブロックを操作することが含まれるとも考えられる。
【００１１】
好ましい通信方法を利用している装置は、第２装置からデータを要求する方法を使用することができる。その場合、第２装置上のデータが物理的または論理的にサブユニットに分割され、要求側は、要求するサブユニットを特定する論理ブロックアドレスなどの番号を記憶装置に提供することで、第２装置からサブユニット１個のみを要求することができ、サブユニットは１個のデータパケットとして要求側に送信される。
【００１２】
ブラインドACK
ブラインドACKは、パケットの受信に特有の肯定応答である。データ転送を、パケット１個に収まるデータブロックに限定することと、転送されるデータブロックに対応するストレージ・ロケーションIDを含むことによって、肯定応答パケット送信の必要性が排除されると考えられる。好ましい実施態様においては、要求側装置は、適切なコマンドを含むパケットと、転送されるデータブロックのIDを送信することによって転送を開始する。要求側装置がその後、転送されるデータブロックのIDを含む転送パケットを受信すると、何の動作も行われない。タイムアウト期間が終了した後、要求側装置がそのような転送パケットを受信しなかった場合は、単にデータブロックの転送が再要求される。したがって、転送側の装置は、追加の要求を満たす場合以外にデータを再送信する必要がなく、要求側装置から受信確認を受信することを必要としない。本質的には、要求側装置がパケットに含まれるデータを再要求しないことが、パケットの受信を示す肯定応答の役割を果たす。
【００１３】
NATブリッジング
好ましい実施態様は、トンネリングに頼ることなくNAT（ネットワーク・アドレス翻訳）ブリッジを通して通信できる、NATブリッジングをサポートする。したがって、第１要素が第２要素へ、第２要素と第３要素の間におけるデータ転送を引き起こすパケットを送信できることが好ましい。第２要素と第３要素は、NATのようなブリッジで分離されている。したがって、好ましいネットワークは、特にブリッジがNATの場合に、２つのピアにブリッジを介して通信するよう命令するコマンドを持つプロトコルを備えている。好ましい方法の例としては、第１要素が記憶要素以外の何かで、第２および第３要素が記憶要素（SE）である場合である。第２要素（第１要素と同じNAT側にあるSE）に適切なコマンドを送信することによって、第２要素が第３要素（第１要素のNATとは反対側にあるSE）とのデータ転送を開始することになる。あまり好ましくない実施態様では、第１要素は、第３要素への転送要求において、第２要素のIPアドレスを利用する。そのような場合、第３要素による応答は第１要素ではなく第２要素にするよう、NATによって指定されることができる。
【００１４】
ロッキング
好ましい方法およびプロトコルは、受信装置がデータのロックを外すまで転送装置が転送したデータの変更を防ぐように、受信装置へデータを転送している装置がデータをロックする能力を含むことになる。
【００１５】
マルチキャスティング
下位レベル・プロトコルのマルチキャスティング機能を（おそらく変更と共に）利用することで、ミラーリングおよびRAID運用などによるディスク冗長性を実施し、高位レベルに対して透明性のある方法でディスク・スパニングをサポートする能力を提供する。
【００１６】
認証
特定のパケットが信頼されたソースから送信されており、受信装置への転送の間に汚染されなかったことを受信装置が確実に認証するために、認証は、装置間における通信の不注意または悪意の汚染を拒絶する能力を提供する。認証は、特に装置でデータを変更するときに重要であると考えられる。したがって、一部の実施態様はデータ変更を引き起こすコマンドについてのみ、認証を実施することができる。
【００１７】
カプセル化されたパケットを経由してターゲット装置へデータを送信するための好ましい方法は、データブロックを含むカプセル化されたデータパケット、データブロックをターゲット装置の記憶領域内のストレージ・ロケーションへマッピングするID、およびコマンドを実行するかどうかを判断するためにターゲット装置が使用するトークン（または一連のトークン）を利用することであろう。場合によっては、この方法は、実行されるコマンドによって、ターゲット装置がストレージ・ロケーションの内容を、カプセル化されたパケットのデータブロックと置き換える場合にのみ適用されるであろう。好ましい実施態様においては、記憶領域は特定の装置およびコマンドに割り当てられ、コマンドはコマンドのソースが、そのコマンドによって影響を受ける記憶領域に関連した装置である場合にのみ、実行されることになる。一部の実施態様においては、ターゲット装置は特定のソースから受信したコマンド数を維持し、一定数のコマンドをソースから受信した後に、コマンドの実行を停止する。
【００１８】
トークンは、コマンドソースのMACアドレス、ターゲット装置のMACアドレス、記憶装置IDおよび記憶領域IDのうち少なくとも１つの組み合わせを使用して得られると考えられる。記憶装置および／または記憶領域IDを使用してトークンを取得することによって、ターゲット装置は、トークンが最初に取得されて以来、IDが汚染されていないことを検証することができる。一部の例では、特定のソースから提供されたコマンドの受け入れは、予めソースからターゲット装置に提供されたキーを伴う計算に、一部依存することができる。
【００１９】
コマンドソースの認証として特定のトークンの受け入れは、その前後に行われる他のトークンの受理に依存せず、特定のトークンはターゲット装置に対してソースの認証を行うために１度のみ使用できることが好ましい。また、特定のソースからコマンドを受信したことを認証するために、任意の時点で、複数のトークンが利用可能であることも好ましい。
【００２０】
内部記憶の外部アクセス
外部ネットワーク・アドレスを使用して内部記憶領域（NAIS装置）にアクセスする装置は、特に、個別コンポーネントの要素として機能するよう、うまく適合される。さらに正確に言えば、好ましい装置は、その装置によって提供されるストレージが記憶領域に分割され、その記憶領域が記憶ブロックに分割されるように、セグメント化された記憶モデルを実施する。このとき、各記憶領域にネットワーク・アドレスが割り当てられ、記憶領域内の各記憶ブロックに、記憶領域内で独自のIDが割り当てられる。現在、装置の記憶領域に割り当てられているアドレスを宛先とするネットワーク・トラフィックは、装置によってピックアップされ、適切に処理されることになる。したがって、パケットをネットワーク全体の装置に経路指定するためにも、デバイス内の特定の記憶領域に経路指定するためにも、１つのネットワーク・アドレスを使用することができる。好ましいNAIS装置は、記憶領域を割り当てる能力、および割り当てられたあらゆる記憶領域に名前とネットワーク・アドレスを割り当てる能力の両方を持つことになる。いくつかの例では、割り当てられたネットワーク・アドレスが時とともに変わることがある。ただし、基本的には、記憶領域が割り当てられた状態である限り、特定の記憶領域の名前は変わらない。割り当てられた記憶領域に名前を関連付けることによって、たとえ、記憶領域の割り当て以降に記憶領域に関連付けられたネットワーク・アドレスが変わったとしても、記憶領域を特定することが可能になると考えられる。好ましいネットワークにおいては、記憶領域と関連付けられたネットワーク・アドレスは、ネットワーク・アドレスをネットワーク・インターフェースに割り当てるために使用されるのと類似した方法で、動的に割り当てられることになる。
【００２１】
個別化
本書で述べる方法と装置は、装置がPVR（personal  video  recorders）などの構成要素から取り除かれ、複数の装置によって共有できるようにネットワークに結合された要素の場合、特に有利である。そのような例では、この要素は、コンポーネント内に埋め込まれている必要がないにも関わらず、埋め込み型要素の機能を提供する。「個別」PVRは、一般的に制御要素と記憶要素を含み、制御要素は、制御要素と記憶要素を接続しているネットワークを通して記憶要素と通信することになる。そして「個別」PVRは、ネットワーク・アドレスを使用して制御要素に割り当てられた記憶領域のデータにアクセスするようになる。
【００２２】
スパニング
特にNAIS装置が記憶装置（SD）（主に他の装置にストレージを提供するために機能している装置）の場合、NAIS装置によって提供されるストレージは、複数のNAIS装置にまたがることができると考えられる。例えば、ストレージの装置への割り当てる要求を最初に受け取ったSDに、要求を満たすのに十分な容量がない可能性がある。しかし、別のSDに使用可能な容量がある場合、最初に受け取った要求を満たすために、最初のSDはストレージを１つ以上の別のSDに割り当てることができる。場合によって、SDのデータに影響を及ぼす転送は必ず最初のSDを通過するよう、他のSDを制御している最初のSDによって上記が実行されるであろう。別の場合においては、転送が最初のSDを通過することなく、他のSDの１つに行われるよう、ネットワークのマルチキャスト機能を使用することができる。
【００２３】
ミラーリング
ミラーリングおよびその他の冗長形式のサポートは、一つの要求を複数のNAIS  SDに受信させることによって、提供できると考えられる。場合によって、マルチキャストIPアドレスを、別々のSD上の記憶領域に関連付けることができる。あるいは、第２SDに送信された書き込み要求（ことによると読み取りおよびその他の要求も）を、第１SDが第２SDに保管されるデータをミラーリングするために使用するよう、宛先が第２SDであるパケットを待つよう第１SDに命令することができる。さらに別の代替案では、マルチキャスト・パケットと類似した方法で、ブロードキャストパケットを使用することができるが、これはあまり好ましくないオプションである。
【００２４】
本願発明の様々な目的、機能、側面および利点は、以下に記載した発明の好ましい実施態様の詳細な説明と添付図面によってさらに明らかになるであろう。添付図面においては、類似した数字は類似したコンポーネントを表す。
【発明を実施するための最良の形態】
【００２５】
詳細な説明
以下にさらに詳細に述べるように、好ましいプロトコルは１つ以上のトークンド・パケット、スプリットIDパケット（「SIDパケット」）、またはアトミック・パケットを含むことになる。トークンド・パケットとは、単に認証トークンを含むパケットである。スプリットIDパケットは、カプセル化したパケットおよびカプセル化されたパケットを含むパケットであり、スプリットIDパケットは、IDの一部がカプセル化されたパケットから取得され、別の部分はカプセル化したパケットから取得されるように、分割されたIDも含む。アトミック・パケットは、先行するパケットまたは後続のパケットを結合することなく実行できるコマンドのみを含む、完全に自己完結したパケットである。最も好ましいプロトコルは、１つ以上のアトミック、トークンド、スプリットIDパケット（「ATSIDパケット」）を含む。つまり、アトミックおよびトークンド・パケットで、しかもスプリットIDを含むパケットとなる。
【００２６】
スプリットIDパケット
上述の通り、SIDパケットは、カプセル化したパケットとカプセル化されたパケットを含むパケットであり、また、SIDパケットは、IDの１つ以上のセグメントがカプセル化されたパケットに位置する一方、別の１つ以上のセグメントがカプセル化したパケットに位置するように、分割されたIDを含む。図１を参照すると、SIDパケット１００は、スプリットID（「SID」）１３０を含む。多くの実施態様においては、カプセル化したパケットとカプセル化されたパケットは、制御部分を含み、SIDセグメントはそれらの制御部分に位置することになる。図２を参照すると、SIDパケット２００は、制御部分２１０、およびパケット２５０を構成するデータ部分２００を含む。パケット２５０は制御部分２６０およびデータ部分２７０を含み、SID１３０のセグメント２３１および２３２は、コントロール部分２１０とコントロール部分２１０の間で分割されている。
【００２７】
SIDは２つを上回るセグメントを含む場合があることに留意されたい。図３に示したように、SID１３０は、制御部分３１０内の２つ以上のセグメントと、制御部分３５０内の１つのセグメントを含むことができる。図４に示したように、SID１３０は、制御部分４５０における２つ以上のセグメントと、制御部分４１０における１つのセグメントを含むことができる。図５に示したように、SID１３０は、制御部分５１０と制御部分５５０の両方に２つ以上のセグメントを含むことができる。SID１３０を、複数のカプセル化されたパケットに分割することもできる。図６で示すとおり、SID１３０は、３つ以上のパケットの制御部分に分割された、３つ以上のセグメントを含み、１つ以上のセグメントが、その３パケット以上のパケットにそれぞれに位置している。
【００２８】
SIDパケットは、マルチ・セグメントアドレスがストレージ・ロケーションを特定するために使用するストレージ・モデルを実施する、２つの装置間の通信に有利に使用できる。図７に、そのストレージ・モデルを示す。図７では、ストレージシステム７００は記憶領域７１０−７４０に分割され、各記憶領域は記憶ブロック（領域７１０の１−３、領域７２０の１−４、領域７３０の１−２、および領域７４０の１−３）に分割される。図７のモデルでは、どの特定の記憶ブロックも、２つのセグメント、１つの記憶領域セグメント、そして１つの記憶ブロック・セグメントを含む１つのアドレスによって特定できる。セグメントXとYを含むアドレスを記録する１つの方法は、（X，Y）の形式で記述することである。したがって、ブロック７１１は、アドレス（４１，１）、ブロック７１３はアドレス（４１，３）、ブロック７４３はアドレス（４４，３）によって特定されることになる。SIDパケットがそのようなモデルと共に使用される場合、SIDはマルチ・セグメントアドレスと同等のものと考えることができる。好ましい実施態様においては、記憶領域はカプセル化したパケットの制御部分に位置し、記憶ブロック・セグメントはカプセル化されたパケットの制御部分に位置することになる。したがって、本書でマルチ・セグメントアドレスに使用される概念を、スプリットIDにも使用することができる。
【００２９】
一部の実施態様では、モデル７００は記憶装置の物理的構造と密接に結び付けられる一方、他の実施態様では、モデル７００は単に、全く異なる構造を持つシステムに強制される論理的構造でもよい点に留意されたい。密接な結び付けられた実施の例として、記憶領域７１０−７４０がハードディスク上のパーティションとなっている、１つのストレージ・スペースを説明するためにモデル７００を使用できる。このような実施においては、ブロックを特定しているスプリットIDの記憶領域セグメントがパーティションIDで、記憶ブロック・セグメントが、パーティション内のブロックに割り当てられた論理ブロックアドレスである可能性が高い。それほど密接に結び付けられていない実施においては、記憶領域７００は、ワイドエリアネットワークに結合された複数の記憶装置を含むストレージネットワークなど、別の場所にある複数の装置によって提供されたストレージを含む可能性がある。
【００３０】
マルチセグメント記憶モデルを実施している記憶装置の実際の物理的構造は通常、マルチセグメント・アドレッシングをサポートしている限り問題ではなく、それによって、スプリットIDパケットを通信に有利に使用することができる。
【００３１】
記憶モデルがネットワークと結合されてストレージシステム内で実施され、各記憶領域にネットワーク・アドレスが割り当てられ、ストレージシステム内の記憶領域に割り当てられたネットワーク・アドレスを含むパケットの分析にストレージシステムが適合される場合、SIDパケットの使用は特に有利である。図８で示すとおり、ストレージシステム８００はネットワーク・インターフェース８０１を経由してネットワーク８９０と結合される。システム８００によって提供されるストレージは、割り当てられた領域８１０Bおよび８１０D、および未割当領域８１０A、８１０C、および８１０Eを含む。
【００３２】
ネットワーク・インターフェース８０１には、ネットワーク・アドレス５０が割り当てられる。記憶領域８０１Bには、ネットワーク・アドレス５１が割り当てられる。記憶領域８０１Dには、ネットワーク・アドレス５２が割り当てられる。記憶ブロック８２１はID（５１，１）、ブロック８２２はID（５１，３）、ブロック８２３はID（５２，１）、ブロック８２４はID（５２，２）によって特定される。したがって、ストレージシステム８００には３つのネットワークIDが割り当てられ、そのうち２つは記憶領域に割り当てられる。宛先アドレスが５０、５１、または５２であるパケットは、システム８００によって検査される必要があり、アドレス５１および５２を宛先とするパケットは、それぞれ記憶領域８１０Bおよび８１０Dの内容を操作するために使用される。代替の実施形態では、図８Bおよび８Cに示したとおり、ストレージシステムはネットワークへの複数の接続を含むことができる。図８では、システム８００はネットワーク・インターフェース８０２Aおよび８０２Bを経由してネットワーク８９０Bに結合されている。ネットワーク・アドレス５０は、インターフェース８０２Aに、アドレス５１は８０２Bに、そしてアドレス５３は記憶領域８１０Fに割り当てられている。ブロック８２５は、ID（５３，１）およびブロック８２６はID（５３，２）によって特定されている。図８Cでは、システム８００Cは、ネットワーク・インターフェース８０３A、８０３B、および８０３Cを経由してネットワーク８９０Cと結合され、３つの割り当て済み記憶領域、８１０G、８１０H、および８１０Jと、６つのネットワーク・アドレス、５０−５５を持つ。ネットワーク・アドレス５０は、インターフェース８０３Aに、アドレス５２はインターフェース８０３Bに、５４はインターフェース８０３Cに割り当てられており、アドレス５１は記憶領域８１０Jに、５３は記憶領域８１０Hに、そして５５は記憶領域８１０Gに割り当てられている。図８Cにおいては、ネットワーク記憶領域に１つにつき、１つのネットワーク・インターフェースがあることに留意されたい。あまり好ましい実施態様ではないが、そのような場合は、アドレス５１、５３、および５５が必要なくなるように、インターフェースと記憶領域の各組み合わせに、１つのアドレスを割り当てることができる。
【００３３】
ストレージシステム８００A、８００B、および８００Cは、ネットワーク・アドレスを使用して内部記憶領域へアクセスすることに留意されたい。ネットワーク・アドレスを使用して内部記憶領域（NAIS装置）にアクセスする装置は、ストレージシステムおよび装置に限られない。例えば、デジタルカメラのようなNAIS装置は、単に、他の装置へのアクセスを可能にする内部記憶装置を含む場合がある。デジタル・カメラはストレージを含むが、デジタルカメラの主な目的は、他の装置にストレージを提供することではない。したがって、メモリー量が限られているため、ストレージシステムとしては通常うまく機能しない。しかし、カメラがNAIS装置である場合、本書で説明した方法を用いて、別の装置がカメラ内にアクセスし、かつ／または操作できる可能性がある。
【００３４】
ストレージ・モデルが、IPネットワークに結合されたストレージシステムなどのNAIS装置において実施され、記憶領域に割り当てられるネットワーク・アドレスがIPアドレスである場合、現在SIDパケットの使用が最も有利であると考えられる。図９においては、ストレージシステム９００は、ネットワーク・インターフェース９０１、および割り当てられた記憶領域９１０Aおよび９１０Bを含み、IPネットワーク９９０に結合されている。ネットワーク・インターフェース９０１は、MACアドレス００：０A：Bl：０１：FC：２２およびIPアドレスに３．３．３．３を割り当てらている。記憶領域９１０Aには、IPアドレス３．３．３．４が割り当てられており、９１０Bにはアドレス３．３．３．５が割り当てられている。記憶ブロック９１１はID（３．３．３．４，１）、ブロック９１４はID（３．３．３．４，４）によって特定されている。IPネットワーク上に格納される記憶装置については、ネットワーク・インターフェースおよび／または記憶領域のネットワーク・アドレスを動的に割り当てることができる。例えば、DHCPサーバーなどのネットワーク・アドレス・サーバーを、IPアドレスを動的に割り当てるために使用することができる。
【００３５】
いくつかの例では、ストレージ・モデルは３つ以上の分離レベルを含むことができ、３つ以上のセグメントを含むIDを使用して特定の記憶ブロックを特定することができる。そのような場合、ネットワークがアドレッシング階層をサポートする場合、その階層を部分的または完全に適用して、同様の方法でブロックを特定することができる。したがって、IPおよびUDPパケットが使用されているネットワークに結合された装置は、一連の記憶領域にIPアドレスを、一連の記憶領域内の各記憶領域にUDPポート番号を割り当てることができる。または、１つのIPアドレスに４つのセグメントが含まれるとして見なすこともできる。各セグメントは、IPアドレスがサブネット内の装置を識別するために使用される方法と類似の方法で、特定の記憶領域を特定するのに役立つ。
【００３６】
一部の実施態様においては、スプリットIDの値を決定するには、カプセル化したパケットとカプセル化されたパケットの両方の制御部分が利用可能である必要があるため、プロトコルのスプリットIDパケットに関連した部分が、カプセル化したパケットのプロトコルへの拡張部分として使用される。これは、カプセル化したパケットのヘッダーのすぐ後にカプセル化されたパケットのヘッダーが続くよう、パケットの制御部分がヘッダーとして実施され、ヘッダーの後にパケットのデータ部分が続く場合に、とりわけ当てはまる。一部の実施態様においては、マルチ・セグメントアドレスが単一パケットの制御部分の一部である場合、ストレージ・ロケーションの特定にそのマルチ・セグメントアドレスを使用できると考えられる。したがって、IPヘッダーの宛先アドレス部分がストレージ・ロケーションに割り当てられたIPアドレスである場合、記憶ブロックIDをIPパケットのヘッダーに追加することで、同じメモリー・モデルおよびマルチセグメント・アドレッシングを、実施することができる。
【００３７】
トークンド・パケット
上述の通り、トークンド・パケットとは、単に認証トークンを含むパケットである。この場合、認証トークンは、パケットのソースおよび／または少なくともパケットの内容の一部を認証するために使用される値または一連の値である。図１０Aはトークン１０４０を含むトークンド・パケット１０００Aを示す。図１０Bは、２つ以上のトークン・セグメント、１０４１および１０４２を含む、トークンド・パケット１０００Bを示す。好ましい実施態様では、トークンはカプセル化されたパケットの制御部分の一部となる。図１０Cにおいては、パケット１０００Cは制御部分１０１０およびデータ部分１０２０を含む。データ部分１０２０は制御部分１０３０およびデータ部分１０３５を持つカプセル化されたパケットを含み、トークン１０４０Cは制御部分１０３０に位置している。
【００３８】
認証トークンは、権限のない装置によって無効なパケットを有効なパケットして受け入れる原因となるトークンが生成されることを防ぐことができる方法で、１つ以上のアルゴリズムおよび／またはデータ値を使用して生成されることが望ましい。無効なパケットとは、トークンで特定されたソース以外のソースを起点とするパケット（「偽パケット」）、または、ソースによって提供されたように見えるが、トークンで特定されたソースによってパケットに入れられた値ではないデータ値を含んでいるパケットである（「汚染パケット」）。一部の実施態様では、トークンはソースによって前もって提供されたキーを使用して解読される一連の暗号化されたデータでもよい。その他の例では、検証されるパケットの部分を、トークンを解読するキーとして使用することができる。その他の暗号化メカニズムまたは暗号化されていないトークンも使用できることに留意されたい。例えば、あまり好ましくない実施態様においては、トークンは、パケットを受信する装置に対してソース装置と関連付けることを支持する、暗号化されていないデータ文字列のみを含むことができる。宛先装置に前もって提供されたデータ文字列とトークンが一致すれば、そのパケットは有効として受け入れられる。
【００３９】
アトミック・パケット
上述のとおり、アトミック・パケットは、先行するパケットまたは後続のパケットを結合することなく実行可能なコマンドのみを含む、完全に自己完結したパケットである。ストレージ・ブロックの転送に用いられるパケットの位置IDを含む、１つのストレージ・ブロックにデータ転送を制限することで、このアトミシティが確立される。
【００４０】
ATSIDパケット
上述のとおり、ATSIDパケットは、アトミックおよびトークンドの、スプリットIDを含むパケットであり、一般的に、上記のアトミック、トークンド、そしてスプリットIDパケットに関連した記述は、ATSIDパケットに適用される。ATSIDパケットは、データブロックの内容をパケットのデータ部分と置き換えるよう装置に命令を与えるコマンドを含むデータ転送パケットや、または別の装置からのデータ要求に応答して生成されたパケットに適用される場合に、特に有利であると考えられる。どちらの場合でも、ATSIDパケットがデータの転送に使用されることが好ましい。上記の好ましい実施態様に関して述べたとおり、ATSIDパケットは、第２パケットをパケット化する第１パケットを含む。トークンは、カプセル化されたパケットの制御部分に含まれており、マルチセグメント・アドレスは、カプセル化したパケットの制御部分と、カプセル化されたパケットの制御部分に分割される。
【００４１】
PSANプロトコル
プレファード・ストレージ・エリア・ネットワーク（「SAN」）プロトコルは、ATSIDパケット、トークンド・パケット、スプリットIDパケットを含み、パケット・アトミシティ、ブラインドACK、NATブリッジング、ロッキング、マルチキャスト・スパニングおよびミラーリング、および認証などの上記で説明した特徴も含まれる。本書で「PSANプロトコル」と呼ばれるこのプロトコルは、ブロック転送プロトコルや名前解決プロトコルなど、いくつかのサブ・プロトコルを含むことが望ましい。PSANサブ・プロトコルは、他の装置との通信時に規則を実行する特定の装置によって使用されるソフトウェアおよび／またはハードウェアだけでなく、パケットの生成および解釈に適用される、一連の規則として考えることができる。一部の例では、装置はPSANサブ・プロトコルのサブセットだけを実施することができる。
【００４２】
PSANプロトコルを実施する好ましい方法は、PSANプロトコル（「PSANパケット」）に従って形成されたパケット１１００（図１１を参照）が、制御部分１１１０と、場合によってはデータ部分（図１１の実施態様においてはデータ部分１１２０）を含む方法である。その場合、制御部分１１１０はヘッダーとして実施され、該当する場合はデータ部分１１２０がその後に続く。各PSANパケットの制御部分は、パケットのほかの制御部分のフォーマットと、パケットの機能を特定するコマンド１１０１を含む。好ましい実施態様においては、コマンド値はパケットの最初のビットを含み、さらに望ましくは、パケットの最初のバイト（８ビット）を含む。しかし、代案の実施態様では、コマンド値を違う場所におくことができる。
【００４３】
一部の場合では、受信側装置がコマンドの値を評価し、その値に基づいて同等の命令または一連の命令を実施するという点で、コマンド１１０１は「実行される」と言うことができる。したがって、パケットは受信側装置に対して特定のアクションまたは一連のアクションを指示するコマンドとして扱われるため、パケットをコマンドとして参照することができる。
【００４４】
特定パケットの制御部分のフォーマットを、パケットに含まれるコマンド値に基づいて決定できるため、本書で説明するフォーマットは、対応するコマンド値、さらに正確には、対応するコマンド値に割り当てられた名前を参照することにより、参照される。次の表（表１）は、好ましい一連のコマンドの、好ましい値を特定している：
【表１】
2006506847.tif 000003
2006506847.tif 000004
【００４５】
コマンドの実質値は上記と異なる場合があるが、PSANプロトコルの一部の実施態様は、本質的または完全に、表１に記載されたコマンドを含むことができると考えられる。
【００４６】
大多数のPSANパケットは、図１２−１４で示すトークンドおよび／またはスプリットIDパケットとなる。図１２では、パケット１２００は、コマンド１２０１と認証トークン１２０２を含んでいる。好ましい実施態様においては、トークン１２０２は、ASCII  １２０２Aと、その後に続く区切り文字１２０２Bを含む。図１３では、パケット１３００は、コマンド値１３０１と、スプリットID１３０３のセグメントを含む。図１４では、パケット１４００は、コマンド値１４０１と、トークン（１４０２Aおよび１４０２B）およびスプリットID  １４０３のセグメントの両方を含む。
【００４７】
好ましい実施態様においては、PSANパケットはIP−UDPまたはIP−TCPパケットなどの低いレベルのプロトコル・パケット内でカプセル化されることになる。そして、あらゆるPSANスプリットIDパケットの第２セグメントは、カプセル化したパケットのネットワーク・アドレスを含むことになる。
【００４８】
最も好ましい実施態様においては、スプリットIDパケットの第２セグメントは、カプセル化したIPパケットの宛先IPアドレスを含むことになる。
【００４９】
好ましい実施態様においては、装置の記憶領域の記憶ブロックは、ディスク・パーティション内における論理ブロックアドレス（「LBA」）の使用方法と類似した方法で、順番に番号が振られることになり、セグメント１４０３は、記憶領域内の記憶ブロックのLBAと同等物を含むことになる。したがって、セグメント１４０３は本書にて「LBA」として参照されることができるが、そのような場合は、セグメント１４０３が、カプセル化したパケットに基づくセグメントと共に独自に記憶ブロックを特定する、あらゆるIDでありうることに留意する必要がある。好ましい実施態様においては、ネットワーク・アドレスはIPアドレスを含むため、カプセル化したパケットに見られるスプリットIDのセグメントを、本書内でIPアドレスとして参照できる。しかし、そのような場合は、カプセル化したパケット内に位置するセグメントは、セグメント１４０３と共に記憶ブロックを独自に特定する、あらゆるIDでありうることに留意する必要がある。
【００５０】
PSANプロトコル−ブロック転送
PSANブロック転送プロトコルは、本質的にTRANSFERコマンド、REQUESTコマンド、REQUEST  LOCKコマンド、RELEASE  PARTITIONコマンド、ACKコマンド、ERRORコマンドを含む。好ましい実施態様においてPSANブロック転送プロトコルは、別の装置による第３の装置へのTRANSFER、REQUEST、そしてREQUEST  LOCKコマンドの送信を引き起こすために使用される、対応した一連の「GO」コマンドを含む。GOコマンドは、GO  TRANSFER、GO  REQUEST、そしてGO  REQUEST  LOCKである。マルチキャストをサポートする実施態様は、SET  MULTIPCAST  IPコマンド、RELEASE  MULTICAST  IPコマンド、およびSET  LBA  OFFSETコマンドを含む。好ましい実施態様においては、各コマンドの値は、表１の値に対応する。
【００５１】
好ましいTRANSFERパケット１５００は、図１５に示すとおり、制御部分１５１０およびデータ部分１５２０の両方を含む。制御部分は、コマンド１５０１、トークン（１５０２Aおよび１５０２B）およびLBA１５０３を含む。TRANSFERパケットは、装置への「書き込み」、またはREQUESTパケットへの応答のどちらかとしてデータを転送するために使用される。カプセル化されたPSAN  TRANSFERパケットは、トークンおよびスプリットIDを含み、パケットのコマンドはTRANSFERパケットをATSIDパケットにしているパケットのデータ部分１５２０内に含まれるデータにのみ適用されることからアトミックであるため、ATSIDパケットである。
【００５２】
初期書き込みとして、または要求への応答として生成されたかどうかに関わらず、TRANSFERコマンドは同じ効果を持つ。つまり、受信側装置のストレージ・ロケーションの内容を、パケットのデータ部分１５２０の内容で置き換える効果である。PSAN  TRANSFERコマンドは、一つのストレージ・ロケーションに限られ、そのストレージ・ロケーションに影響を及ぼすすべてのデータを含むことが望ましい。したがって、TRANSFERコマンドは、その実行を他のどのパケットにも依存しない。たとえブロックが連続しているとしても、複数の記憶ブロックが関わる転送は、記憶ブロックにつき１パケットの複数の転送コマンド/パケットの使用を通して達成される。
【００５３】
TRANSFERコマンドが、第１装置から第２の装置に送信されるとき、データ部分１５２０のサイズを、装置のブロックサイズ２つのうち小さい方に合わせることが有利である。従来、パケットサイズの拡大がネットワーク性能を向上させる方法として好まれていたが、パケットデータブロックのサイズを、パケット送信先の装置の最も小さな物理的ブロックと等しいサイズに限定することデータゲットにおける処理時間を減少させることが、全体のパフォーマンスを向上させる結果となる。通信している２つの装置間で物理的ブロックサイズが異なる例では、装置によって後で操作されるデータブロックの装置への伝送には、データブロックのサブ・ブロックへの分割が伴うことができ、装置はブロックを再び組み立てるか、またはパケットの並び替えを行うことなく、サブ・ブロックを操作する。
【００５４】
転送ブロックのデータ部分は、特別に許可されない限り、データパケットの最大許容サイズ以下のサイズになる点に留意されたい。データブロック・サイズの減少は、送信側または受信側装置のうちの１つまたは両方における処理をなくすか、あるいは／または追加パケットの受信を待つ時間をなくすことによって、パフォーマンスの向上をもたらすことができる。
【００５５】
好ましい実施態様においては、「０」値のLBAを含むTRANSFERコマンドは、記憶領域を装置に割り当てるために用いられる。一般に、記憶領域は、装置がRELEASE  PARTITIONコマンドを発行するまで、装置（「クライアント」）専用になっている。記憶領域が一旦割り当てられたら、記憶領域の割り当てを要求している装置がパーティションへのアクセスを制御するように、アクセス認証用のトークンを提供できないあらゆる装置が記憶領域にアクセスできないことが望ましい。いくつかの例では、割り当てにパケットのソースのバリデーションは必要としない。したがって、トークンにはNULL値を含むことができる。好ましい実施態様においては、記憶領域の割り当に用いられているTRANSFERコマンドのデータ部分は、名前、トークン、文字列、認証タグ、パーティション・サイズ、そしてパーソナリティ・タグを含むことになる。
【００５６】
名前は、あらゆる関連付けられたIPアドレスに加え、割り当てられた記憶領域と関連付けられる文字列またはその他の独自のIDとすることが望ましい。IPアドレスは、動的に記憶領域に割り当てられることが望ましい。したがって、一般に記憶領域にアクセスするには、まず最初にその記憶領域に関連付けられたIPアドレスを特定することが必要となる。記憶領域の割り当てを要求するとき、名前を指定することによって、たとえIPアドレスが元々記憶領域と関連付けられたIPアドレスでなくても、その記憶領域に関連付けられたIPアドレスを決定するために指定された名前を後で用いることができる。
【００５７】
トークンは、トークンド・パケットに関して前述したトークンである。ID文字列は、割り当て状態応答において説明テキストを提供するために用いられる公開パーティション名である。認証タグとは、割り当てられた記憶領域に強制される認証のタイプを定義するのに用いられる一連のタグである。パーティション・サイズは、単に、装置が割り当てを要求しているストレージの量である。パーソナリティ・タグは、ライトワンス・パーティショニングまたは帯域幅割り当てなど、記憶装置が割り当てられた記憶領域に提供する様々なオプションを確立する一連の値である。
【００５８】
好ましいREQUESTパケット１６００は、図１６に示すとおり、制御部分１６１０を含む。制御部分は、コマンド１６０１、トークン（１６０２Aおよび１６０２B）とLBA１６０３を含む。REQUESTコマンドは、カプセル化したIPパケットの宛先アドレスとして提供されたLBAおよびIPアドレスによって特定されるデータブロックの内容を要求側／送信側装置に転送するよう受信側装置に要求するために、送信側装置によって使用される。REQUESTパケットを受信する装置は、TRANSFERパケットで応答する。
【００５９】
REQUESTパケットと同じLBAを含んでいるTRANSFERパケットの受信は、REQUESTパケットを受信したことを示す肯定応答の役割を果たす点に留意されたい。
【００６０】
同様に、REQUESTパケットを受信し、かつTRANSFERパケットを送信した装置は、REQUESTのソースからACKパケットを受信する必要がない。これは、要求したパケットを受信しないことは、REQUESTパケットの再送信によって処理されるためである。したがって、好ましい実施態様においては、対応するTRANSFERパケット（すなわち、同じLBAを持っているパケット）が、一定の時間内に受信されない場合、REQUESTが再送信される。
【００６１】
好ましい実施態様では、装置がその能力の報告を要求するために「０」値LBAを含むREQUESTコマンドが使用される。好ましい実施態様では、そのような要求への応答は、バージョン、総容量、使用可能容量、速度、信頼性、ポータビリティ、QoS機能のうちの１つ以上を含む。いくつかの例では、ステータス要求にパケットのソースのバリデーションは必要ない。したがって、トークンにはNULL値１つを含むだけでよい。
【００６２】
好ましい実施態様では、記憶領域の特性のレポートを装置に要求するために、「１」値LBAおよびNULLトークンを含むREQUESTコマンドが、使用される。好ましい実施態様では、そのような要求への応答は、ID文字列とサイズのうち１つ以上を含む。サイズとは、割り当てられた記憶領域のサイズを示し、ID文字列とは、割り当て要求の一部として提供された公開文字列を示す。
【００６３】
好ましいREQUEST  LOCKパケット１７００は、図１７に示すとおり、制御部分１７１０を含む。制御部分は、コマンド１７０１、トークン（１７０２Aおよび１７０２B）およびLBA１７０３を含む。REQUEST  LOCKパケットの受信により、特定の記憶ブロックの内容を転送し（REQUESTパケットと同様に）、その内容を「ロック」するよう装置に命令が出される。すなわち、ロックを要求した装置からのTRANSFERコマンドを受信するまで、またはタイムアウトが起こるまで、その記憶ブロックへのアクセスを禁止する。その後、同じ記憶ブロックの要求を同じ装置から受信した場合、第２の要求が実際に新しいロック要求を開始するように、タイムアウト期間をカウントダウンしているタイマーがリセットされる。いくつかの例では、ロックを要求した装置から、同じ記憶ブロックのREQUEST（REQUEST  LOCKでない）コマンドを後で受信すると、ロックが解除される場合がある。いくつかの例では、REQUEST  LOCKは、１つの記憶ブロックだけでなく、記憶領域全体をロックすることができる。
【００６４】
好ましいACKパケット１８００は、図１８に示すとおり、制御部分１８１０を含む。制御部分は、コマンド１８０１とLBA１８０３を含む。このコマンドは、転送の成功を通知するもので、REQUESTコマンドに応答してTRANSFERコマンドが発行されない場合に使用される。そのような例では、TRANSFERコマンドの受信は、本質的には特定された記憶ブロックへパケットのデータ部分の内容を書き込むための命令である。一旦そのプロセスが完了すれば、コマンドが実行されたことを伝えるために、ACKメッセージがTRANSFERコマンドのソースに送られる。
【００６５】
好ましいERRORパケット１９００は、図１９に示すとおり、制御部分１９１０を含む。制御部分は、コマンド１９０１、LBA１９０３、およびエラーコード１９０４A、テキスト・メッセージ１９０４B、および区切り文字１９０４Cで構成されたエラーメッセージ１９０４を含む。ERRORパケットは、何かの理由で要求された操作が完了できなかったことを示すために用いられ、一般に、REQUESTまたはTRANSFERコマンドに答えてACKまたはTRANSFERコマンドの代わりに送信される。以下のエラーメッセージは、あらゆる好ましい実施態様において、有利に実施されることができる：
【表２】
2006506847.tif 000005
【００６６】
いくつかの例では、PSANプロトコルの実施態様は、本質的に表２に記載されたメッセージを含むか、またはそれらのメッセージのみを含むことができる。
【００６７】
好ましいRELEASE  PARTITIONパケット２０００は、図２０に示すとおり、制御部分２０１０を含む。制御部分は、コマンド２００１、トークン（２００２Aおよび２００２B）を含む。上に述べたように、RELEASE  PARTITIONコマンドは、一般に、以前TRANSFER  COMMANDを使用してパーティションの割り当てを要求した装置によって、発行される。RELEASE  PARTITIONコマンドの実行には、一般に、記憶領域に含まれるあらゆるデータを消去し、その記憶領域に関連付けられたIPアドレスを解放し、そうでない場合は、記憶領域内の記憶ブロックを割り当て可能にすることが含まれる。
【００６８】
１つの装置が、他の２つの装置（それらがNATブリッジのようなブリッジによって分離されているとしても）間のデータ転送の実行を要求できることが望ましい。したがって、好ましい実施態様はTRANSFER、REQUEST、およびREQUEST  LOCKパケットの「GO」バージョンを含み、パケットのGOバージョンは第２装置が第３装置と転送を始めるために必要な情報を提供するために適合される。
【００６９】
好ましいGO  TRANSFERパケット２１００は、図２１に示すとおり、制御部分２１１０およびデータ部分２１２０を含む。制御部分は、コマンド２１０１、トークン（２１０２Aおよび２１０２B）、スプリットIDセグメント２１０３、２１０５、および２１０７、そして第２トークン２１０５を含む。スプリットIDセグメント２１０３と２１０７はLBAで、セグメント２１０５は第３装置上の記憶ブロックを特定するためにLBA  ２１０７と共に使用される、第３装置の記憶領域のIPアドレスである。LBA  ２１０３は、GO  TRANSFERパケットを受信する第２装置上の、特定の記憶領域内の記憶ブロックを特定するために、GO  TRANSFERパケットの宛先IPアドレスと結合される。第１装置からGO  TRANSFERパケットを受信すると、第２装置はTRANSFERコマンドを送信する。このコマンドは、LBA  ２１０３によって特定されたブロックの内容を、IPアドレス２１０５とLBA  ２１０７によって特定されたブロックに、本質的に書き込むものであり、第２トークン２０１６がそのような書き込みを許可する。
【００７０】
好ましいGO  REQUESTパケット２２００は、図２２に示すとおり、制御部分２２１０を含む。制御部分は、コマンド２２０１、トークン（２２０２Aおよび２２０２B）、スプリットIDセグメント２２０３、２２０５、および２２０７、および第２トークン（２２０６Aおよび２２０６B）を含む。スプリットIDセグメント２２０３および２２０７はLBAで、セグメント２２０５はLBA  ２２０７と共に第３装置上の記憶ブロックを特定するために使用される、第３装置の記憶領域のIPアドレスである。LBA  ２２０３は、GO  REQUESTパケットを受信する第２装置上の特定の記憶領域内の記憶ブロックを特定するために、GO  REQUESTパケットの宛先IPアドレスと結合される。第１装置からGO  REQUESTパケットを受け取り次第、第２装置は、REQUESTコマンドを送信する。このコマンドは、IPアドレス２２０５とLBA  ２２０３によって特定されるブロックの内容を、要求を認証する第２トークン（２２０６Aと２２０６B）と共に第２装置に転送することを要求するもので、第２装置は、転送されたデータを使用して、LBA  ２２０３およびGO  REQUESTパケットの宛先IPアドレスによって特定されたブロックの内容の置き換えを行う。
【００７１】
好ましいGO  REQUEST  LOCKパケット２３００は、図２３に示すとおり、制御部分２３１０を含む。制御部分は、コマンド２３０１、トークン（２３０２Aおよび２３０２B）、スプリットIDセグメント２３０３、２３０５、および２３０７、および第２トークン（２３０６Aおよび２３０６B）を含む。このパケットは、GO  REQUESTパケットと同じ方法で使用されるが、前述のREQUEST  LOCKコマンドに見られる追加的な特徴を提供する。
【００７２】
図２８で示した通り、SET  MULTICAST  IPパケット２８００は、コマンド２８０１、トークン（２８０２Aおよび２８０２B）、およびマルチキャストIPアドレス（または別の形のマルチキャストアドレス）２８０９を含む、制御部分２８１０を含む。このパケットは、割り当てられたマルチキャストアドレスを含むTRANSFERおよびTRANSFER  REQUESTパケットなどのパケットが、そのマルチキャストアドレスに関連付けられた記憶領域にアクセスすることができるよう、指定されたマルチキャストIPアドレスを割り当てられた記憶領域に関連付けるよう装置に命令するために用いられる。いくつかの例では、マルチキャストIPアドレスを設定することは、マルチキャストIPアドレスに関連付けられた記憶領域にアクセスするためのユニキャストIPアドレスの使用を禁ずることになる。その他の例では、どちらのアドレスを使用しても記憶領域に含まれるデータにアクセスできるよう、ユニキャストおよびマルチキャストIPアドレスの両方に記憶領域を関連付けることができる。SET  MULTICAST  IPパケットを受信次第、装置はIP  Group  Management  Protocol（IGMP）Joinメッセージを発行し、その後でIGMPクエリに応答することもあり得る。
【００７３】
図２９で示した通り、RELEASE  MULTICAST  IPパケット２９００は、コマンド２９０１、トークン（２９０２Aおよび２９０２B）、およびマルチキャストIPアドレス（または別の形のマルチキャストアドレス）２９０９を含む、制御部分２９１０を含む。このパケットを受け取る装置は、以前にマルチキャストIPアドレスが関連付けられたあらゆるパーティションから、指定されたマルチキャストIPアドレスを切り離す。
【００７４】
図３０で示した通り、好ましいSET  LBA  OFFSETパケット３０００は、コマンド３００１、トークン（３００２Aおよび３００２B）、およびLBAオフセット３００９を含む、制御部分３０１０を含む。このコマンドは、記憶領域のLBA開始アドレスを設定するために用いられる。したがって、記憶領域の最も小さいLBA値は１で、このパケットの受信後、オフセット値が指定される。
【００７５】
前述のSET  MULTICAST  IPおよびRELEASE  MULTICAST  IPパケットによって容易に可能になるマルチキャスティング、特にIPマルチキャスティングおよびIGMPプロトコルの使用は、特に記憶領域ミラーリングを実施しようとする際に有利である。第１記憶領域を、第２記憶領域にミラーリングするには、SET  MULTICAST  IPコマンドを通してその両方の記憶領域が共通のマルチキャストアドレスに関連付けられるだけでよい。そのアドレスを使用してその後に発行されるTRANSFERコマンドは、両方の記憶領域に含まれるデータのアップデートをもたらす。
【００７６】
また、利用可能な容量より大きなストレージの割り当て要求を記憶装置が受信するときにもマルチキャスティングの使用が有利である。そのような場合、記憶装置が、複数の装置にまたがる仮想記憶領域へのアクセスを要求側装置に提供することによって、その要求を満たすことができる。このとき、実質的には要求を満たすために複数の記憶領域を提供している。そのような場合、要求を満たすために使用されるパーティションに、１つのマルチキャストIPアドレスと、一つを除くすべてのパーティションに（SET  LBA  OFFSETコマンドを通して）LBAオフセットを割り当てることができる。割り当てられたパーティションを含む記憶装置は、マルチキャストアドレスを通して受信したあらゆるパケットのLBAを分析し、パケットのLBAが、装置内の記憶領域に割り当てられたLBAの範囲内である場合、パケットは目的のとおりに使用される。
【００７７】
PSANプロトコル−ブロードキャスト名前解決
好ましいFINDパケット２４００は、図２４に示すとおり、コマンド２４０１を含む制御部分２４１０を含む。このパケットは、各アクセス可能記憶領域のIPアドレスを探している要求側装置によって、ブロードキャスト・リクエストとして発行される。そのようなブロードキャストパケットを受信している装置で、割り当てられた記憶領域を含むものは、１つ以上のFIND  RESPONSEパケットで応答すべきであり、装置上の割り当てられた記憶領域１つにつき、１つのFIND  RESPONSEパケットを送信する。
【００７８】
好ましいFINDパケット２５００は、図２５に示すとおり、コマンド２５１０およびIPアドレス２５０８を含む制御部分２５１０を含む。IPアドレス２５０８は、特定の記憶領域に割り当てられたIPアドレスである。
【００７９】
好ましいNAME  RESOLUTION  REQUESTパケット２６００は、図２６に示すとおり、コマンド２６０１および名前２６０９を含む制御部分２６１０を含む。名前２６０９が付けられた割り当て済み記憶領域を含むあらゆる装置は、現在その記憶領域に関連付けられたIPアドレスを含むNAME  RESOLUTION  RESPONSEパケットで応答しなければならない。その結果、記憶領域の割り当てを要求した装置は、NAME  RESOLUTION  REQUESTを発行することによって、名前を指定して記憶領域の割り当てを要求し、その名前に関連付けられた現行のIPアドレスを取得することができる。
【００８０】
好ましいNAME  RESOLUTION  RESPONSEパケット２７００は、図２７に示すとおり、コマンド２７０１、名前２７０９、IPアドレス２７０８を含む制御部分２７１０を含む。前述のとおり、NAME  RESOLUTION  RESPONSEパケットは、NAME  RESOLUTION  REQUESTに応答して発行される。
【００８１】
PSANプロトコル−認証
PSANプロトコルの実施態様は、PSANプロトコルを実施している装置が少なくとも６つのセキュリティレベルのうち１つを選択できるように、少なくとも４つの、一部の場合では少なくとも５つのパケット認証レベルをサポートすることが望ましい。本書に記述したとおり、レベル０は最低レベルと同じ認証であり、レベル５は最高レベルと尾奈jに認証を示す。すべての好ましい実施態様は、少なくともレベル０−２をサポートすることになる。
【００８２】
レベル０で動作する装置の場合、あらゆるソースからのあらゆる要求を受け入れる。
【００８３】
レベル１で動作している装置は、記憶領域に影響を及ぼすパケット、および元々記憶領域を割り当てたクライアントではないソースから取得したパケットを拒絶する。そのような拒絶は、パケットに含まれるソースMACまたはIPアドレスなど、受信されたパケットに含まれるソースIDに依存しなければならない。MACバリデーションの使用は、ネットワーク・インターフェース・カード（NIC）内でIPスプーフィングに対する高水準のハードウェア保護を提供するが、クライアントのみが割り当てられた記憶領域にアクセスできるため、柔軟性が限られることになる。単一装置によるアクセスが望ましい場所でも、MACアドレス転送のメカニズムが存在しない限り、その装置の置き換えはデータロスの原因となる。IPバリデーションは、パケットのソースIPアドレスをより簡単に操作できるため、多くの場合、スプーフィングに対する保護の程度は比較的低いが、割り当てられた記憶領域をより簡単に共有できる。残念なことに、装置を接続しているハードウェアとソフトウェアへの十分なアクセスがあれば、MACとIPアドレス両方のスプーフィングが可能である。
【００８４】
レベル２で動作している装置は、循環キーを使用して、循環キー（rotating  key）の同期シードを持たないクライアントからの、偶然または悪意のパケットを拒絶する。キーの特別クラスである循環キーを利用することで、パケットの受信者は、有効な循環パケット・キーの可変ウィンドウを提供できる。パケット・キーは一旦使用されれば、１回の同期において二度と使用されない。各パケットが確認応答を受け取るか、タイムアウトすることで、スライディング・ウィンドウ内でのキーの循環が起きる。このスキーマのウィンドウ性質は、IP独自の可変タイムオブフライトおよびアウトオブオーダー・パケットの柔軟性に対応する。受信者の循環キー・ウィンドウの同期は、有効なパケットを受信する平均移動ウィンドウを使用して受信者のウィンドウ部分を計算するときに維持される。
【００８５】
パケット・キーのシストリック処理の使用によって、クライアントは、キーの長さを制御することができる。したがって、パケット・キーを認証するには、最大限の瞬間的処理負担が必要である。パケットLBAを使用して、スライディング・ウィンドウ内で、もっと小さいキー・グループにインデックスを付けることで、認証はさらに加速される。
【００８６】
レベル２循環キー・パケット・バリデーションは、同時にクライアント間でデータを共有するより大きな柔軟性を提供する一方で、おそらくレベル０またはレベル１より高い保護を提供する。また、マルチキャスト・パケットにおいて遭遇する特別なケースのセキュリティ問題にも対応する。
【００８７】
独自のMCまたはIPを持つクライアントが同期を実行するたびに、新しいウィンドウが作成される。独自の認証ウィンドウを、ウィンドウサイズ、有効時間（time−of−life）、キーの長さとは関係なく、設定することができる。使用されていないウィンドウは、有効時間を過ぎても使用されないままの場合、割り当てが解除される。もしウィンドウのパラメータがマルチキャストの全メンバー間で同一でない場合は、そのマルチキャスト受信者は、それぞれ自分のウィンドウを持つ点に留意されたい。
【００８８】
有効なキーの前にすべてのデータが受信されるように、循環キーはパケットの最後に置かれるのが最適であろう。これによって、有効なクライアントによって送信される有効なパケット内における、データの悪意または過失による汚染が防止される。
【００８９】
レベル３で動作している装置は、循環キーおよびMACを使用して、循環キーの同期シードがなく、発信元クライアントではないクライアントからの偶然または悪意のパケットを拒絶する。
【００９０】
追加されたハードウェア・パケット・バリデーションを持つレベル３循環キーは、装置への偶然または悪意のアクセスに対し、おそらく最も大きな保護を提供する。レベル２よりも高いセキュリティレベルは、装置間におけるアクセスの共有を犠牲にして実現する。このセキュリティレベルは、２つの装置間における高いセキュリティ・アクセスを主に想定している。
【００９１】
レベル４で動作している装置は、搬送機構のレベル０−３にData  Authentication  Coding（DAC）を追加することで、受信者は、搬送のプロセスにおいて、LBAとデータに偶然または悪意の変更が加エラーれていないことを検証することができる。あらゆる既知の、または後で開発されたDACアルゴリズムを、この目的のために使用できることが考えられる。レベル５で動作している装置は、レベル０−４にLBAの暗号化を追加する。レベル５の操作は、レベル３および４にある程度類似したアルゴリズムを使用して、パケットのLBAが暗号化されることを必要とする。LBAを暗号化することは、LBAは、潜在的な悪意あるソースによるLBAヒストグラムのスヌーピングを防ぎ、ファイルシステム・ディレクトリの格納に用いられる部分など、記憶領域の機密に関わる領域への攻撃に集中する助けとなる。LBAは、循環認証キーに使用されるものとは異なるキーおよびアルゴリズムを使用して、暗号化される。異なるアルゴリズム、シード、キーを使用することは、悪意のあるクライアントが既知のLBAアクセス・パターンを使用して認証キーを統計学的にデコードすることを防ぐ助けとなる。
【００９２】
NAISストレージシステム
図３１を参照すると、NAISストレージシステム３１１０は、ワイヤレス・ネットワークを通して複数の装置３１２１−３１２４を結合している。ストレージシステム３１１０は、複数の割り当てられた記憶領域３１１１−３１１４を含み、各記憶領域にはIPアドレスが１つと名前１つが割り当てられており、NAIS  ３１１０にもIPアドレス（「ルートIP」と呼ばれる場合もある）が割り当てられている。NAISストレージシステムは、以下の方法で、PSANプロトコルの各コマンド・パケットを処理するように適合されることが望ましい。
【００９３】
追加ストレージの取得を望むクライアント装置は、ネットワーク上のNAIS記憶装置を最初に特定して、次に一定のストレージ容量の割り当てを要求するTRANSFER要求を送信する。NAIS装置は、要求されたストレージ容量を（おそらく他のNAIS装置と協力して）割り当て、そのストレージに関連付けられるIPアドレスを取得し、取得したIPアドレスとクライアントによって提供された名前の両方を、ストレージと関連付けることによって、その要求に応答する。後でNAIS記憶装置の電源が切られるか、そうでない場合はネットワークから一時的に切断された場合、NAIS記憶装置はネットワークに再接続されたときに代替IPアドレスを要求する。IPアドレスは時間とともに変化することができるため、NAISストレージシステムをNAME  RESOLUTION  REQUESTコマンドに応答するよう適合することによって、割り当てられた記憶領域に関連付けられた名前を使用して装置が現在のIPアドレスを取得できる。また、NAIS記憶装置は、前述の方法でFIND要求に応答するようにも適合される。
【００９４】
NAIS記憶装置の割り当てられた記憶領域へのデータ書き込みを要求しているクライアント装置は、その記憶領域に関連付けられたIPアドレスと、記憶領域内のブロックを特定しているLBAを含むスプリットIDを含む、TRANSFERパケットを送信する。NAIS記憶装置は、パケットを受信および認証次第、スプリットIDによって特定された記憶ブロックの内容を、受信したTRANSFERパケットのデータ部分と置換し、その後、転送がエラーなく行われたことを通知するACKパケットか、または転送の間にエラーが起きたことを示すERRORパケットをクライアントに送信する。
【００９５】
NAIS記憶装置の割り当てられた記憶領域からデータを取得することを望むクライアント装置は、その記憶領域に関連付けられたIPアドレスと、記憶領域内のブロックを特定しているLBAを含むスプリットIDを含む、REQUESTパケットを送信する。NAIS記憶装置は、パケットを受信および認証次第、要求されたブロックの内容を含むTRANSFERパケットで応答するか、または転送が完了できなかった理由を示すERRORパケットで応答する。装置が、要求されたデータブロックの転送後の改変を禁止したい場合、クライアントはREQUESTパケットの代わりにREQUEST  LOCKパケットを使用することができる。
【００９６】
一般に、NAISストレージシステムは、割り当てられた記憶領域への不正アクセスを防ぎ、本書に記載された認証レベルの少なくとも１つを実施するよう、適合されるべきである。割り当てられた記憶領域が必要なくなったとき、クライアントはRELEASE  PARTITIONコマンドを送信できる。NAIS装置は、記憶領域の内容を消去し、次に、解放されたストレージのその後の割り当てを可能にすることで、そのようなコマンドに応答する。どのクライアントも、割り当てを行ったクライアントの認証なく、割り当てられた記憶領域の内容にアクセスできるべきではない。好ましい実施態様では、NAIS装置は割り当てを行ったクライアントの許可なく、記憶領域の内容にアクセスすることができない。そして、ストレージ内の割り当てられたパーティションからのリカバリーは、許可されたRELEASE  PARTITIONコマンドの受信によって、またはNAIS記憶装置の割り当て済み記憶領域のすべてを削除することによってのみ、達成される。
【００９７】
複数の装置にまたがるストレージシステム
図３２では、クライアント３２１０とNAIS記憶装置３２２１および３２２２は、ネットワーク３２３０に結合されている。クライアント３２１０は元々、NAIS  ３２２１上で利用可能なスペースを超えたストレージ・スペースの割り当てを、NAIS  ３２２１に要求した。したがって、NAIS  ３２２１は、提供できないスペースを、NAIS  ３２２２が代わりに提供するよう要求した。割り当てられたストレージ・スペース３２２３が、NAIS装置にまたがるという事実は、クライアント３２１０に本質的に明らかである。これは、そのようなスパニングが発生したことを示す唯一の兆候として、NAIS  ３２２１から返されたIPアドレスがマルチキャストIPとなるためである。スパニングの実施方法としてマルチキャスティングが望ましいが、一般に、非NAIS記憶装置に適用できる方法を、NAIS記憶装置にも実施することができる。
【００９８】
ミラーリングされたストレージシステム
図３３では、クライアント３３１０とNAIS記憶装置３３２１および３３２２が、ネットワーク３３３０を経由して結合されている。表示されたシステムでは、クライアント３３１０はNAIS  ３３２１および３３２２の両方と通信するためにマルチキャストIPアドレスを使用している。両NAIS装置の記憶領域の初期割り当ては、クライアント３３１０が両装置上のスペースの割り当てを要求し、次に、割り当てられたそれぞれの記憶領域へのアクセスに使用されるマルチキャストIPアドレスを設定することによって実行できる。または、ストレージ・スペースのあらゆる割り当て要求が、NAIS  ３３２１からNAIS  ３３２２への対応する要求、およびNAIS  ３３２１からクライアント３３１０に返されるマルチキャストIPアドレスという結果になるよう、NAIS  ３３２１を設定することができる。
【００９９】
NAISストレージシステム
ミラーリングおよびスパニングにおける上述のメソッドを、RAID（Redundant  Array  of  Independent  Disks）ストレージシステムを開発するために利用することができる。一部の実施態様では、RAIDシステムは、ネットワーク全体で個別にアクセス可能な装置が含むことになる。その他の場合、RAIDシステムは、コントローラにNAIS装置を結合する専用のネットワークを含むことができる。コントローラは、RAIDシステムを他のどのNAIS装置とも区別がつかないようにし、RAIDシステムを使用している装置が、ブロードキャスト・アドレスを利用する必要性をなくす。そのような場合、コントローラは単に着信パケットのSIDを、内部ネットワークで使用するためにブロードキャストIPアドレスとLBAに翻訳する。図３４を参照すると、RAIDシステム３４０１は、ネットワーク３４１０、NAIS記憶装置３４２１−３４２３、そしてネットワーク３４４０およびネットワーク３４１０に結合されたコントローラ３４３０を含む。NAIS記憶装置３４２１−３４２３は、上述のNAIS記憶装置の好ましい特徴を持つ。
【０１００】
例−パソコン・ストレージ
図３５を参照すると、ネットワーク３５１０、パソコン３５２１および３５２２、DHCPサーバー/NATブリッジ３５４０、およびNAIS記憶装置３５５０を含むシステムが示されている。NAIS  ３５５０は、DHCPサーバー/NATブリッジ３５４０から、割り当てられた記憶領域のIPアドレスを取得する。パソコン３５２１および３５２２は、NAIS  ３５５０からストレージを取得する。そうでない場合は、PSANプロトコルを使用してNAIS記憶装置３５５０と対話する。NAIS記憶装置３５５０は、上述のNAIS記憶装置の好ましい特徴を持つ。
【０１０１】
例−デジタル写真およびビデオ撮影
図３６を参照すると、ネットワーク３６１０、デジタルカメラ３６２１、ビデオカメラ３６２２、テレビ３６３０、DHCPサーバー/NATブリッジ３６４０、およびNAIS記憶装置３６５０を含むシステムが示されている。カメラ３６２と３６２２は、NAIS  ３６５０からストレージを取得し、そのストレージをデジタル画像およびビデオの格納に使用する。カメラ３６２１と３６２２から認証を受信次第、カメラ３６２１と３６２２、および／またはNAIS３６５０に格納されている映像および写真を表示するためにテレビ３６３０を使用できる。NAIS  ３６５０は、DHCPサーバー/NATブリッジ３６４０から、割り当てられた記憶領域のIPアドレスを取得する。NAIS記憶装置３５５０は、上述のNAIS記憶装置の好ましい特徴を持つ。PSANパケットは、様々な装置によってネットワーク３６１０全体における通信およびデータ転送のために使用される。
【０１０２】
例−PVR（パーソナル・ビデオ・レコーダー）およびセットトップボックス
図３７を参照すると、ケーブル・プログラミング・ネットワーク３７１０、チューナー３７２１および３７２２、IPネットワーク３７３０、NAIS記憶装置３７４１および３７４２、デコーダー３７５１および３７５２、テレビ３７６１および３７６２で構成されたシステムが、示されている。NAIS記憶装置３７５０は、上述のNAIS記憶装置の好ましい特徴を持つ。チューナー３７２１および３７２２は、ケーブル・プログラミング・ネットワーク３７１０のプログラム・ブロードキャストを取得し、そのようなブロードキャストをNAIS記憶装置３７４１および３７４２に格納する。デコーダー３７５１および３７５２は、そのような格納されたブロードキャストを装置３７４１および／または３７４２から取得し、テレビ３７６１および３７６２で表示する。PSANパケットは、様々な装置によってネットワーク３７１０全体の通信およびデータ転送のために使用される。
【０１０３】
実施態様の特徴
表３は、発明の対象に含まれるがそれだけに限定されない、代替の実施態様の特徴を表す代替および／または追加の説明を提供する。表内の各説明は、説明A１がA組の最初の説明を表すよう、組と番号を指定することで参照される。追加詳細は、並行して出願されたPCT出願番号、「IP対応パーティションを備えたデータ記憶装置」という名称の発明、およびPCT出願番号、「改良型通信機能付き電気装置」という名称の発明にて参照可能である。それらの開示は、参照により本書に組み込まれる。
【表３】
2006506847.tif 000006
2006506847.tif 000007
2006506847.tif 000008
【０１０４】
したがって、通信方式とプロトコル、および内部記憶領域の外部アドレッシングを利用した装置の、特定の実施態様および応用例が開示された。しかしながら、当技術分野の技術者なら、すでに説明されたもの以外にも、本書の発明概念から逸脱しない範囲で数多くの修正が可能であることは、明白であるはずである。したがって発明の対象は、添付の特許請求の範囲の趣旨を除き、制限されるものではない。さらに、明細書と特許請求の範囲の両方を解釈する際に、すべての用語は、文脈と一貫性がある限り、できるだけ幅広く解釈されなければならない。特に、用語「含む」、そして、「含まれる」は、参照される要素、構成要素、または手順が存在、または利用可能であり、あるいはその他の明示的に参照されていない要素、構成要素、または手順と組み合わせて用いることができることを示し、要素、構成要素または手順に対する非排他的な参照として解釈されるべきである。
【図面の簡単な説明】
【０１０５】
【図１】スプリットIDパケットの概略図である。
【図２】図SID１のスプリットIDパケットの詳細図である。
【図３】図SID１のSIDパケットの実施態様の概略図である。
【図４】図SID１のSIDパケットの実施態様の概略図である。
【図５】図SID１のSIDパケットの実施態様の概略図である。
【図６】図SID１のSIDパケットの実施態様の概略図である。
【図７】マルチ・セグメントアドレスを利用した記憶モデルの概略図である。
【図８Ａ】SID４のモデルを利用したストレージシステムの概略図である。
【図８Ｂ】SID４のモデルを利用したストレージシステムの概略図である。
【図８Ｃ】SID４のモデルを利用したストレージシステムの概略図である。
【図９】IPネットワーク上のストレージシステムの概略図である。
【図１０Ａ】トークンド・パケットの概略図である。
【図１０Ｂ】トークンド・パケットの概略図である。
【図１０Ｃ】カプセル化されたパケットの制御部分にトークンを使用した、トークンド・パケットの概略図である。
【図１１】PSANパケットの概略図である。
【図１２】トークンドPSANパケットの概略図である。
【図１３】スプリットID  PSANパケットの概略図である。
【図１４】トークンド、スプリットID  PSANパケットの概略図である。
【図１５】TRANSFERパケットの概略図である。
【図１６】REQUESTパケットの概略図である。
【図１７】REQUEST  LOCKパケットの概略図である。
【図１８】ACKパケットの概略図である。
【図１９】ERRORパケットの概略図である。
【図２０】RELEASE  PARTITIONパケットの概略図である。
【図２１】GO  TRANSFERパケットの概略図である。
【図２２】GO  REQUESTパケットの概略図である。
【図２３】GO  REQUEST  LOCKパケットの概略図である。
【図２４】FINDパケットの概略図である。
【図２５】FIND  RESPONSEパケットの概略図である。
【図２６】NAME  RESOLUTION  REQUESTパケットの概略図である。
【図２７】NAME  RESOLUTION  RESPONSEパケットの概略図である。
【図２８】SET  MULTICAST  IPパケットの概略図である。
【図２９】RELEASE  MULTICAST  IPパケットの概略図である。
【図３０】SET  LBA  OFFSETパケットの概略図である。
【図３１】共有NAIS記憶装置の概略図である。
【図３２】複数のNAIS記憶装置にまたがって割り当てられたストレージの概略図である。
【図３３】ミラーリングされたNAIS記憶装置の概略図である。
【図３４】NAIS記憶装置を使用して実施されたRAID装置の概略図である。
【図３５】は共有NAIS記憶装置を備えたPCネットワークの概略図である。
【図３６】NAIS記憶装置を備えたホーム・エンターテイメント・システムの概略図である。
【図３７】NAIS記憶装置を備えたデジタル写真およびビデオ撮影システムの概略図である。
【図１】
2006506847.tif 000009
【図２】
2006506847.tif 000010
【図３】
2006506847.tif 000011
【図４】
2006506847.tif 000012
【図５】
2006506847.tif 000013
【図６】
2006506847.tif 000014
【図７】
2006506847.tif 000015
【図８Ａ】
2006506847.tif 000016
【図８Ｂ】
2006506847.tif 000017
【図８Ｃ】
2006506847.tif 000018
【図９】
2006506847.tif 000019
【図１０Ａ】
2006506847.tif 000020
【図１０Ｂ】
2006506847.tif 000021
【図１０Ｃ】
2006506847.tif 000022
【図１１】
2006506847.tif 000023
【図１２】
2006506847.tif 000024
【図１３】
2006506847.tif 000025
【図１４】
2006506847.tif 000026
【図１５】
2006506847.tif 000027
【図１６】
2006506847.tif 000028
【図１７】
2006506847.tif 000029
【図１８】
2006506847.tif 000030
【図１９】
2006506847.tif 000031
【図２０】
2006506847.tif 000032
【図２１】
2006506847.tif 000033
【図２２】
2006506847.tif 000034
【図２３】
2006506847.tif 000035
【図２４】
2006506847.tif 000036
【図２５】
2006506847.tif 000037
【図２６】
2006506847.tif 000038
【図２７】
2006506847.tif 000039
【図２８】
2006506847.tif 000040
【図２９】
2006506847.tif 000041
【図３０】
2006506847.tif 000042
【図３１】
2006506847.tif 000043
【図３２】
2006506847.tif 000044
【図３３】
2006506847.tif 000045
【図３４】
2006506847.tif 000046
【図３５】
2006506847.tif 000047
【図３６】
2006506847.tif 000048
【図３７】
2006506847.tif 000049
【手続補正書】
【提出日】平成17年10月31日(2005.10.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パケットを介してネットワーク全体のターゲット装置にデータを転送する方法であって、：
少なくとも一部のパケットのそれぞれが、カプセル化したパケットとカプセル化されたパケットの両方を含むスプリットIDパケットであり、
スプリットIDパケットのそれぞれが、IDの一部がカプセル化されたパケットから取得され、別の部分がカプセル化したパケットのヘッダー部分から取得されるように分割された、１つの識別子を含み、
前記スプリットIDパケットのそれぞれが、識別子によりターゲット装置の適切なサブセットへ直接的にアドレス指定される、方法。
【請求項２】
ターゲット装置が複数の記憶領域を含み、装置がその複数の記憶領域のそれぞれとネットワーク・アドレスを関連付ける請求項１に記載の方法。
【請求項３】
スプリットIDが、ターゲット装置の記憶領域の１つ以上と関連付けられたネットワーク・アドレスを含み、カプセル化したパケットをターゲット装置へ経路指定するためにネットワーク・アドレスも使用される請求項２に記載の方法。
【請求項４】
ネットワーク・アドレスがカプセル化したIPパケットの制御部分に位置するIPアドレスである請求項３に記載の方法。
【請求項５】
少なくとも一部のパケットにコマンドおよびトークンが含まれ、ターゲット装置がパケットのトークンを使用して、パケットのコマンドを実行するかどうかを決定する請求項４に記載の方法。
【請求項６】
カプセル化されたパケットを介してネットワーク全体のターゲット装置にデータを転送する方法であって、
少なくとも一部のパケットそれぞれがスプリットIDを含み、
ターゲット装置が複数の記憶領域を含み、装置がその複数の記憶領域それぞれにネットワーク・アドレスを関連付け、
スプリットIDが、ターゲット装置の記憶領域の１つと関連付けられたIPアドレスであるネットワーク・アドレスを含み、IPアドレスはカプセル化したパケットをターゲット装置へ経路指定するためにも使用され、IPアドレスはカプセル化したIPパケットの制御部分に位置し、
IPアドレスに関連付けられた各記憶領域はターゲット装置ではないクライアント装置にも関連付けられており、パケットはコマンドを含み、パケットのスプリットIDのIPアドレスと関連付けられた記憶領域に関連したクライアント装置によってそのパケットが送信されたと思われる場合にのみ、コマンドが実行される方法。
【請求項７】
コマンドの実行が、ターゲット装置でもクライアント装置でもない、第３の装置からのデータの取得を引き起こす請求項６に記載の方法。
【請求項８】
ターゲット装置と第３装置が、NATブリッジによって分離される請求項７に記載の方法。
【請求項９】
少なくとも一部のパケットがPSANパケットであり、各PSANパケットは制御部分と前記制御部分に続いてデータ部分を有し、前記制御部分は前記PSANパケットの機能を示すコマンドを有する、請求項１に記載の方法。
【請求項１０】
カプセル化されたパケットを介してネットワーク全体のターゲット装置にデータを転送する方法であって、少なくとも一部のパケットそれぞれがスプリットIDを含み、装置によって後で操作されるデータブロックを装置に伝送するよう適合され、さらにこの方法はデータブロックを順番に並べられた一連のサブ・ブロックへ分割することと、発信された以外の順番で装置がブロックを受け取ることを許可する形で、サブ・ブロックを装置へ転送することを含み、装置はそのサブ・ブロックを並び替えずにサブ・ブロックを操作する方法。
【請求項１１】
一連の記憶領域を持つ１つ以上の装置を含む、IPネットワークであって、各記憶領域は一連の記憶ブロックを含み、記憶領域にはIPアドレスが関連付けられており、ネットワーク上のパケットの宛先として、１つ以上の装置における特定の記憶領域を直接的に指定することができ、少なくとも一部のパケットのそれぞれが、パケットの宛先アドレスに対応する、記憶領域の記憶ブロックを特定する、ブロックIDを含むIPネットワーク。
【請求項１２】
１つ以上の装置が記憶領域に関連付けられたIPアドレスをネットワーク・アドレス・サーバーから取得する、請求項１１に記載のネットワーク。
【請求項１３】
ブロックIDを含む少なくとも一部のパケットのブロックIDが、IPパケット内に入れられたPSANパケットの制御部分に位置し、PSANパケットは制御部分と前記制御部分に続いてデータ部分を有し、前記制御部分は前記PSANパケットの機能を示すコマンドを有する、請求項１２に記載のネットワーク。
【請求項１４】
請求項１１のネットワークに結合され、少なくとも一部のPSANパケットを処理するよう適合された装置であって、各PSANパケットは制御部分と前記制御部分に続いてデータ部分を有し、前記制御部分は前記PSANパケットの機能を示すコマンドを有する、装置。
【請求項１５】
データブロックを受信するよう適合され、データブロックがサブ・ブロックに分割された後、装置はブロックを再び組み立てずにサブ・ブロックを処理する請求項１４に記載の装置。
【請求項１６】
少なくとも一部のパケットのそれぞれが、ターゲット装置の一部分を直接的にアドレス指定する識別子を含む、カプセル化されたパケットを介してネットワーク全体のターゲット装置にデータを転送する方法。
【請求項１７】
データの要求に応答するよう装置が適合され、その装置が１要求あたり１ブロックのデータのみを送信するよう適合された、請求項１６に記載の装置。
【請求項１８】
前記パケットの各々は、最初に先行するパケットまたは後続のパケットからのデータを結合することなく実行可能なコマンドのみを含む、完全に自己完結したアトミック・パケットである、請求項１７に記載の方法。
【国際調査報告】
2006506847.tif 000050