説明

コンテンツアドレスマッピングを維持するためのコンテンツアドレス記憶デバイス

コンテンツアドレスマッピングを維持するよう構成されたコンテンツアドレス記憶デバイスを開示する。コンテンツアドレス記憶デバイスに記憶されるデータオブジェクト、及び送信ソースに識別されるローカルデータオブジェクトの識別子を送信ソースから受信しり。コンテンツアドレス記憶デバイスに関係付けられたコンテンツアドレスが、データオブジェクトのコンテンツの少なくとも一部に基づいて特定される。このデータオブジェクトは、コンテンツアドレス記憶デバイス上で、コンテンツアドレスに関係付けられた記憶ロケーションに記憶される。ローカルデータオブジェクト識別子をコンテンツアドレスに関係付けるマッピングは、コンテンツアドレス記憶デバイスで維持される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して言えばデータ記憶に関係し、より詳しくは、コンテンツアドレスマッピングを維持するように構成されたコンテンツアドレス記憶デバイスが開示されている。
(関連出願)
「CONTENT ADDRESSED STORAGE DEVICE WITH WEB SERVICES INTERFACE」という表題の同時係属の米国出願が、引用としてここにその全体を組み入れられ、また、「IMPLEMENTING APPLICATION SPECIFIC MANAGEMENT POLICIES ONN A CONTENT ADDRESSED STORAGE DEVICE」という表題の同時係属の米国出願が、引用としてここにその全体を組み入れられる。
【背景技術】
【0002】
コンテンツアドレス記憶(CAS)デバイスは、典型的には固定コンテンツを、ネットワークを介して記憶サーバーに記憶する。マサチューセッツ州のHopkintonにあるEMCTM社で製造販売されているCenteraTMCASデバイスはその一例である。通常、アプリケーションは記憶されるべきデータをCASデバイスへ送信する。CASデバイスは、記憶されるコンテンツの少なくとも一部に基づいて“コンテンツアドレス(CA)”を計算することにより、記憶場所を決定する。その後、CASデバイスは、その選択された場所にコンテンツを記憶し、データを送信したアプリケーションにそのコンテンツアドレスを戻す。コンテンツアドレスはクレーム確認などに用いられ、記憶アプリケーション(即ち、理論的には、CAを提供する別のアプリケーション)が前に記憶したコンテンツを検索できるようにする(そして、あるときは、削除などの制限されたオペレーションを実行する)。
【0003】
上述した典型的なアプローチの下では、アプリケーションはコンテンツアドレスを受信し、そしてそのコンテンツアドレスとローカルオブジェクト識別子(例えば、ファイル名及び/又はパス)との間のマッピングを追跡(トレース)し、これによって記憶されたデータオブジェクトが、アプリケーションが実行するローカルシステムにおいて既知となる。これは、ローカルシステにおけるマッピング及び消費時間及びリソースを維持するよう構成されたアプリケーションに対するCASデバイスの使用を制限する。アプリケーションのあるタイプについて、上記マッピングを維持する機能性は既に存在していたり、組み込むとしても比較的簡単であるが、他のアプリケーションについては、データトラッキングの要求レベルは、記憶用CASデバイスを使用する上で障害になるかもしれない。
【0004】
それゆえ、CASデバイス上のデータに関連するコンテンツアドレスと、アプリケーションが実行するローカルシステム上のデータオブジェクトのローカルオブジェクト識別子との間のマッピングをアプリケーションが維持することを要求することなく、アプリケーションが記憶用CASデバイスを使用できるようにする方法が求められている。
【発明の開示】
【課題を解決するための手段】
【0005】
本発明は様々な方法で実現し得る。様々な方法とは、プロセス、装置、システム、合成物、あるいは、コンピュータで読み取り可能なメディア(例えば、コンピュータ読み取り可能記録媒体、又は、プログラム命令が光もしくは電気的な通信リンクに送られるネットワーク等)を含むものである。本明細書では、このような実現方法や本発明がとり得る他の形式を技術として言及する。一般に、開示された処理ステップの順序は発明の範囲で変わり得る。
【0006】
本発明の一又は複数の実施例の詳細な説明が、本発明の原理を示した添付図に従って開示される。そのような実施例に関連して本発明を記載するが、本発明は開示した実施例に限るものではない。発明の範囲は請求項のみにより限定され、発明は多数の代替案、修正、あるいは均等物を含む。本発明の完全な理解を得るため、以下に幾つかの具体的な詳細を説明する。これらの詳細は例を示すためのものであり、本発明は、説明した詳細に関わらず請求項に従い実現され得る。明確さを目的として、本発明を不必要に不明瞭にしないようにするため、本発明に関連する技術分野で知られている技術構成については詳細には説明しない。
本発明の様々な実施例は、以下の詳細な説明及び添付の図面において開示される。
【発明を実施するための最良の形態】
【0007】
コンテンツアドレスマッピングを維持するよう構成されたコンテンツアドレス可能な記憶デバイスを開示する。ある実施例では、コンテンツアドレス記憶デバイスに記憶されたデータオブジェクト、及びローカルデータオブジェクト識別子であってこの識別子によってデータオブジェクトが送信ソース(例えば、アプリケーション)を識別するそのようなローカルデータオブジェクト識別子を受信する。コンテンツアドレス記憶デバイスのデータオブジェクトに関連付けられたコンテンツアドレスは、データオブジェクトのコンテンツの少なくとも一部に基づいて特定される。そのデータは、コンテンツアドレス記憶デバイス上のコンテンツアドレスに関連付けられた記憶ロケーションにオブジェクトが記憶されている。ローカルデータオブジェクト識別子をコンテンツアドレスに関連付けるマッピングは、コンテンツアドレス記憶デバイスで維持される。
【0008】
図1は、先行技術の典型的なコンテンツアドレス記憶(CAS)デバイスを説明するブロック図である。アプリケーション102は、記憶するためのCASデバイス104にデータを送信する。CASデバイス104は、データを記憶し、そのデータに関連したコンテンツアドレス(CA)をアプリケーション102に戻す。アプリケーション102は、各ファイル又は、CASデバイス104によってデータ用アプリケーション102に戻された対応のコンテンツアドレスと一緒に記憶用CASデバイス104に送信された他のデータセットを、ローカルデータオブジェクト識別子(例えば、ファイル名及び/又はパス)に関連付けるコンテンツマップ106を維持する。例示すれば、データオブジェクト“D:\data1”がCASデバイス104のアプリケーション102によって記憶され、そしてコンテンツアドレス“G45H433”がCASデバイス104によって戻され、CASデバイスのどこにデータオブジェクト“D:\data1”が記憶されたかをアプリケーション102に示す。将来、アプリケーション102が、CASデバイス104に記憶されたとしてデータオブジェクト“D:\data1”にアクセスする必要があるとすれば、アプリケーション102は、コンテンツマップ106内の対応コンテンツアドレスを探してそのコンテンツアドレスを使い、CASデバイス104のデータをアクセスするだろう。上述したように、図1に示したアプローチの下では、アプリケーション102は、コンテンツマップ106を維持するよう構成されなければならず、コンテンツマップ106は、付加的な機能性がアプリケーション102に構築され、アプリケーション102が実行するホスト上の付加メモリ及び処理リソースを消費することを要求する。
【0009】
図2は、コンテンツアドレスマッピングを維持するよう構成されたコンテンツアドレス可能な記憶デバイスのブロック図である。アプリケーション202は、記憶されるCASデバイス204にデータを送信する。アプリケーションは、さらにアプリケーションに関連した固有識別子及びローカルデータオブジェクト識別子を提供し、これによって、送信されたデータは、アプリケーション及び/又はそのアプリケーションが実行するローカルホストに対して既知となる。CASデバイス204は、データの少なくとも一部に基づいてコンテンツアドレスを計算し、且つそのデータをコンテンツに関連する場所に記憶する。次に、CASデバイス204は、送信アプリケーション202用のCASデバイス204に維持されたコンテンツマップ206に、アプリケーション202がデータを識別するローカルデータオブジェクト識別子と、CASデバイス204条のデータに関連するコンテンツアドレスとの間の関連性を記憶する。例に示すように、アプリケーション202用のCASデバイス204によって維持されたコンテンツマップ206は、CASデバイス204によって維持された複数のコンテンツマップ206〜210の1つであり、CASデバイス204のデータを記憶する各アプリケーションのためのコンテンツマップである。
【0010】
コンテンツマップ206〜210のそれぞれは、コンテンツマップに関係するアプリケーションに関連する固有のアプリケーション識別子(例えば、“アプリケーション#345”)によって識別される。各アプリケーション用のコンテンツマップは、CASデバイス204によって維持されているので、アプリケーション202などのアプリケーションは、コンテンツアドレス記憶デバイス及びローカルデータオブジェクト識別子によって生成されるコンテンツアドレス間のマッピングを維持するよう構成することは必要とされない。代りに、アプリケーションは、アプリケーションが実行しているローカルホストで既知となるローカルデータオブジェクト識別子によってCASデバイスが記憶するデータに対して、ただアクセス又は参照することができる。このアプローチは、例えば、CASデバイスは典型的には、他のデバイスが同様の方法でローカルドライブとしてCASデバイスにアクセスすることが要求されるような本来のファイルシステムを有していないにもかかわらず、記憶デバイスにアドレスされたコンテンツがローカルホストで付加的なドライブとしてあらわになることを可能にする。図2に示す例の場合、データが記憶され、関連のコンテンツマップが更新されると、CASデバイス204はアプリケーション202に対してオペレーション状態レポート又はメッセージを戻す。それは、例えば、データ記憶が成功したこと(又は可能であれば、成功しなかったこと)を示すものである。
【0011】
ある実施例では、アプリケーション202は、TCP/IPネットワーク(不図示)などのネットワークを介してCASデバイス204にアクセスする。CASデバイス204は、ネットワークインタフェースカード(NIC)などの通信インタフェースを備え、通信を容易にする。加えて、CASデバイス204は、コンテンツマップ206〜210を記憶するのに用いるメモリ、アプリケーション202などのアプリケーションによってCASデバイス204に送信されたデータを記憶するよう構成された1以上の記憶ノード、及びデータの記憶・検索・CASデバイス204やコンテンツマッピングオペレーションの管理機能を実行するよう構成された1以上のプロセッサを含む。1又はそれ以上のプロセッサは、ソフトウェアによって構成された汎用プロセッサ(例えば、CPU)を含むことができ、上記機能及びオペレーション、及び/又は特定用途向け集積回路、フィールド・プログラマブル論理デバイス、又は同様に構成された他のデバイスを実行する。
【0012】
図3は、CASデバイス上のコンテンツ・マッピングを維持する実施例で使用されるプロセスを説明するフローチャートである。
ある実施例の場合、図3のプロセスは、図2のCASデバイス204などのCASデバイスで実行する。データが検索される(302)。送信アプリケーションの固有アプリケーション識別子がそのデータに与えられたり、及び/又は、そうでなければ(例えば、データと一緒に受信された他の情報、データを受信したつながり等に基づいて)既知であるならば(304)、データを記憶する(308)。アプリケーション識別子が与えられず、しかも既知でもないとき(304)、アプリケーション識別子を得て(306)、データを記憶する(308)。
【0013】
ある実施例の場合、各アプリケーションがそれ自身の識別子を生成し、その識別子をCASデバイスに提供する。このCASデバイスは、識別子が固有(unique)であるならば、承認し(acknowledge)及び認定(authorize)するが、その代わりに当該識別子を拒絶し、そしてアプリケーションによって提案された識別子が既に別のアプリケーションでCASデバイスと関連づけられているイベントにおいて、アプリケーションがアプリケーション用の異なる識別子を提案することを要求する。他の実施例においては、CASデバイスは相互作用する各アプリケーション用の固有アプリケーション識別子を生成するよう構成される。そのような実施例においては、306はアプリケーション用の固有識別子を生成すること、及び割当てられる固有識別子のアプリケーションを通知することを含む。その結果、このアプリケーションは記憶用CASデバイスへ送信される将来のデータとともに固有識別子を含むことができる。ある実施例において、アプリケーションは、記述されたヘッダー又は記憶用CASデバイスへデータを送信するためのアプリケーションによって使用されるメッセージの他のフィールドに識別子を含むことによってその固有識別子を提供する。ある代替的な実施例の場合、サードパーティの登録又は同様のサービスが固有アプリケーション識別子を登録アプリケーションに対して全体的に割当てる。そのような実施例では、306は、上記サードパーティ及び/又はアプリケーションがそのように行う要求からアプリケーション用の識別子を入手することを含む。
【0014】
データを記憶すること(308)は、記憶されるコンテンツの少なくとも一部に基づいて、データ用のコンテンツアドレスを計算することを含む。このコンテンツアドレスは、CASデバイスをローカルデータオブジェクト識別子(例えば、ファイル名及び/又はパス)に関連づけ、この識別子によって、記憶されたデータオブジェクトが送信アプリケーション(例えば、アプリケーションが実行しているローカルホスト上のデータオブジェクト用のファイル名及び/又はパス)にとって既知となる(310)。コンテンツアドレスと対応のローカルデータオブジェクト識別子との間の関連性は、送信アプリケーションに関連するコンテンツマップにあるCASデバイスに記憶される(312)。ある実施例の場合、310及び312が結合され、送信アプリケーションに関連するコンテンツマップ内のロケーションに関係して、対応の値を記憶することによって、コンテンツアドレスと対応のローカルデータオブジェクト識別子との間の関連性行う。オペレーションの結果は送信アプリケーション(314)に報告され、その後、記憶されるべき次のデータが受信され且つ処理される(302)。上述したように、報告された結果は、要求されたデータ記憶オペレーションが上手く完了したことの報告を含むことができる。コンテンツアドレスを報告する必要はない。なぜなら、そのアプリケーション識別子及びアプリケーションにとってデータが既知のローカルデータオブジェクト識別子を提供することによって、CASデバイスによって維持されているコンテンツマップは、アプリケーションがCASデバイスに記憶されているデータをこのアプリケーションによってアクセス(例えば、検索)することを可能にするからである。より詳細については後述する。
【0015】
図4は、CASデバイスに記憶されたデータにアクセスするための要求を処理する実施例で使用されるプロセスを説明するフローチャートである。
CASデバイスに記憶されたデータオブジェクトを受信するための要求が受信される(402)。ある実施例では、この要求は、要求アプリケーション及び、その要求アプリケーションによって要求データが既知となるローカルデータオブジェクト識別子に関連するアプリケーション識別子を含む。ローカルデータオブジェクト識別子は、CASデバイス上の対応のコンテンツアドレスにマップされる(404)。データはコンテンツアドレスに関連するローケーションから検索され(406)、要求アプリケーションに提供される(408)。
【0016】
図5は、対応のコンテンツアドレスに対するローカルデータオブジェクト識別子をマップする実施例で使用されるプロセスを説明するフローチャートである。
ある実施例の場合、図5のプロセスは、図4のインプリメント(implement)404のために用いられる。要求アプリケーションに関連するアプリケーション識別子は、要求青に関連するコンテンツマップを識別するために用いられる(502)。ある実施例を挙げれば、その要求は、要求アプリケーションで維持されるコンテンツマップを含んだり及び/又は添付される。ある実施例では、コンテンツマップはCASデバイスによって維持される。コンテンツマップは、要求データに関連したローカルデータオブジェクト識別子を、CASデバイス上の対応のコンテンツアドレスにマップするために用いられる(504)。ある実施例では、ローカルデータオブジェクト識別子は、要求アプリケーションから受信された要求の中に含まれている。要求アプリケーションは、ローカルデータオブジェクト識別子を使うことによってデータを識別し、それゆえCASデバイス上のデータに関連するコンテンツアドレスを学習することも追跡することもまったく必要としてない。
【0017】
図2に示す例に戻ると、アプリケーション202などのアプリケーションは、アプリケーション202に対してデータが既知となるローカルデータオブジェクト識別子(例えば、“D:\data1”によってデータを識別する要求をCASデバイス204に送信することによって、そしてアプリケーション用のアプリケーション識別子(例えば、“345”)を提供することによって、ある実施例のデータにアクセスするだろう。次に、CASデバイス204は、適用可能なコンテンツマップとしてコンテンツマップ206を識別し、次に、CASデバイス204の要求データに関連する対応コンテンツアドレスに対する要求の中にあるローカルデータオブジェクト識別子をマップするために(例えば、オブジェクト識別子“D:\data1”をコンテンツアドレス“G45H433”にマッピングすることによって)、コンテンツマップ206を使用する。次に、CASデバイス204は、対応データを検索するためにコンテンツアドレスを使用し、要求に応答してそれを要求アプリケーション202へ提供する。
【0018】
図6は、CASデバイスにデータを記憶する実施例で使用されるプロセスのフローチャートである。
例示したように、アプリケーション(又は他の要求プロセス、システム、又はエンティティ)は、任意選択的に、CASデバイス上の対応コンテンツアドレスに対し、ローカルデータオブジェクト識別子のマッピングを維持したり、又はその代りにアプリケーション用の上記マッピングを維持するためにCASデバイスに依存するよう構成される。このアプローチは、マッピングを維持するよう構成されていない軽量及び/又は新規のアプリケーションなどのアプリケーションはもちろん、大規模データ記憶/バックアップアプリケーションなどの上記マッピング、及び/又はCASデバイスでのデータ記憶用のマッピングを維持するよう構成されたレガシー(legacy)アプリケーションの両方にCASデバイスが機能できるようにするものである。ある実施例では、図6のプロセスは、図2のCASデバイス204などのCASデバイスで実行される。データが受信される(602)。データを受信したアプリケーションが、CASデバイスがコンテンツマップを維持しているアプリケーションであるかどうかを判断する(604)。ある実施例では、CASデバイスがコンテンツマップを維持するソース(例えば、アプリケーション)からデータを受信したかどうかを、CASデバイスにデータを送るために送信アプリケーションによって使用されたメッセージのヘッダー又は他の部分にあるフラグ値又は他のデータフィールドを読み出すことにより判断する。ある実施例の場合、その決定は、アプリケーション識別子が存在する場合に、アプリケーションがアプリケーション識別子を供給したかどうか、そしてコンテンツマップがCASデバイス上で維持されたかどうかを決定することによって行われる。
【0019】
ある実施例では、その決定はデータに関連したアプリケーション識別子を使って行われ、アプリケーションが、コンテンツデバイスがCASデバイスで維持されているアプリケーションであるか否かを、例えばテーブルを読み出すことによって、決定する。CASデバイスは、管理者又はユーザの何れかによって、即ち、アプリケーション自体によって、例えば、独占的に又は公に利用可能なAPI又は他のインタフェースで記述されるような1以上のコンフィギュレーションメッセージを送信することによって、上記決定を行うよう構成することもできる。コンテンツマップがCASデバイスで維持されないソース(例えば、アプリケーション)からデータを受信した場合、そのデータは記憶され(606)、そして関連のコンテンツアドレスが送信アプリケーションに報告される(608)。その後、そのプロセスは次の受信データのために繰り返される。コンテンツマップがCASデバイスで維持されるソースからデータを受信した場合、そのデータは記憶され(610)、CASデバイス上のデータに関連したコンテンツアドレスが、対応のローカルデータオブジェクト識別子に関連付けられ、この識別子によってデータオブジェクトが送信アプリケーション(例えば、他のソース)に対して既知となる(612)。送信アプリケーション用のCASデバイスで維持されたコンテンツマップが更新される(614)。そして、オペレーションの結果(例えば、成功、失敗など)が送信アプリケーションに報告される(616)。その後、そのプロセスは次の受信データのために繰り返される。
【0020】
図7は、あるアプリケーション(又は他のソース)用であって、その他のためではないコンテンツマップを維持するよう構成されたCASデバイスのデータにアクセスするための要求を処理する実施例で使用されるプロセスのフローチャートである。
CASデバイスに記憶されたデータオブジェクトにアクセスするための要求が受信される(702)。要求アプリケーション(又は他のソース)が、コンテンツマップがCASデバイス上で維持されるためのアプリケーションであるかどうかを判断する。ある実施例の場合、604に関して上述した1以上のアプローチが用いられ、704でその決定を行う。ある実施例では、704での決定は、その要求がデータオブジェクトのためのコンテンツアドレスを含んでいるかどうかに基づいて行われる。要求アプリケーションが、コンテンツマップがCASデバイス上で維持されるためのアプリケーションでない場合(704)、要求データが(例えば、要求に含まれ及び/又は要求とともに提供されるコンテンツアドレスを使って)検索され、そして要求アプリケーションへ提供する(708)。その後、このプロセスが終了する。要求アプリケーションが、コンテンツマップがCASデバイス上で維持されるためのアプリケーションである場合(704)、例えば、要求アプリケーション用のCASデバイスで維持されたコンテンツマップを使って(706)、要求データに関連したローカルデータオブジェクト識別子が対応のコンテンツアドレスにマップされる。そして、要求されたデータを検索するためにコンテンツマップが使われ、要求アプリケーションにそれを提供して(708)、その後、このプロセスは終了する。
【0021】
ここで述べたアプローチを用いれば、ローカルデータオブジェクト識別子に対してコンテンツアドレスのマッピングを維持するよう構成されないアプリケーションは、データを記憶するためにCASデバイスを依然として使用することができる。これにより、アプリケーション開発を単純化させ、アプリケーションが実行するローカルホスト上のリソースの消費を削減し、そしてオフシステム(off-system)記憶装置用のCASデバイスを使用できるアプリケーションの分野を拡大することが可能になる。
【0022】
先の実施例においては、理解を明確にすることを目的として詳細に説明したのであるが、本発明はこの詳細さに限定されるものではない。本発明を実行する多くの代替的な方法がある。開示した明細書は、限定的に解釈されるものではなく例示的にみなされるものである。
【図面の簡単な説明】
【0023】
【図1】先行技術の典型的なコンテンツアドレス記憶(CAS)デバイスを説明するブロック図である。
【図2】コンテンツアドレスマッピングを維持するよう構成されたコンテンツのブロック図である。
【図3】CASデバイス上のコンテンツマッピングを維持する実施例で使用されるプロセスを説明するフローチャートである。
【図4】CASデバイスに記憶されたデータにアクセスするための要求を処理する実施例で使用されるプロセスを説明するフローチャートである。
【図5】対応のコンテンツアドレスに対するローカルデータオブジェクト識別子をマップする実施例で使用されるプロセスを説明するフローチャートである。
【図6】CASデバイスにデータを記憶する実施例で使用されるプロセスのフローチャートである。
【図7】あるアプリケーション(又は他のソース)用であって、その他のためではないコンテンツマップを維持するよう構成されたCASデバイスのデータにアクセスするための要求を処理する実施例で使用されるプロセスのフローチャートである。

【特許請求の範囲】
【請求項1】
コンテンツアドレス記憶デバイスにデータを記憶する方法であって、
前記コンテンツアドレス記憶デバイスに記憶されるデータオブジェクト、及びローカルデータオブジェクト識別子を送信ソースから受信する処理であって、その識別子によって前記データオブジェクトは前記送信ソースに識別されることになる当該処理と、
前記コンテンツアドレス記憶デバイス上のデータオブジェクトに関連付けられたコンテンツアドレスを、前記データオブジェクトのコンテンツの少なくとも一部に基づいて特定する処理と、
前記コンテンツアドレス記憶デバイス上のデータオブジェクトを、前記コンテンツアドレスに関係付けられた記憶ロケーションに記憶する処理と、
前記コンテンツアドレス記憶デバイス上で、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関係付けるマッピングを維持する処理と、
を含む方法。
【請求項2】
前記送信ソースが送信アプリケーションを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記コンテンツアドレス記憶デバイス上で、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関係付けるマッピングを維持する処理が、送信ソースに関係付けられたコンテンツマップを更新することを含む、請求項1に記載の方法。
【請求項4】
前記ローカルデータオブジェクト識別子が、前記送信ソースに関係付けられたローカルホストのデータオブジェクトに関係するファイル名を含む、請求項1に記載の方法。
【請求項5】
前記ローカルデータオブジェクト識別子が、前記送信ソースに関係付けられたローカルホストのデータオブジェクトに関係するファイルパスを含む、請求項1に記載の方法。
【請求項6】
前記データオブジェクトがファイルを含む、請求項1に記載の方法。
【請求項7】
前記データオブジェクトの記憶が成功したことを前記送信ソースに報告する処理を更に含む、請求項1に記載の方法。
【請求項8】
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものであるかを判断する処理を更に含む、請求項1に記載の方法。
【請求項9】
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものであるかを判断する処理と、
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものである場合、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関連付けるマッピングを前記コンテンツアドレス記憶デバイスで維持する前記処理を実行する処理と、
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものでない場合、前記維持する処理を省き、且つ前記コンテンツアドレスを前記送信ソースに送信する処理と、
を含む請求項1に記載の方法。
【請求項10】
前記送信ソースに関連付けられたソース識別子が識別されるかどうかを判断する処理を更に含み、前記ソース識別子が識別される場合は、そのソース識別子を用いて前記送信ソースに関連付けられたコンテンツマップを特定し、この場合、前記マッピングが前記コンテンツマップに維持されていることを特徴とする請求項1に記載の方法。
【請求項11】
前記データオブジェクトにアクセスするため、前記ローカルデータオブジェクト識別子を有する要求を要求者から受信する処理と、
前記マッピングを用いて前記ローカルデータオブジェクト識別子に関連付けられたコンテンツアドレスを特定する処理と、
前記コンテンツアドレスを用いて前記データオブジェクトを検索する処理と、
前記データオブジェクトを前記要求者に提供する処理と、
を更に含む、請求項1に記載の方法。
【請求項12】
コンテンツアドレス記憶デバイスであって、
(1)前記コンテンツアドレス記憶デバイスに記憶されるデータオブジェクト、及びローカルデータオブジェクト識別子を送信ソースから受信するよう構成された通信インタフェースであって、その識別子によって前記データオブジェクトは前記送信ソースに識別されることになる当該通信インタフェースと、
(2)メモリと、
(3)(i)前記コンテンツアドレス記憶デバイス上のデータオブジェクトに関連付けられたコンテンツアドレスを、前記データオブジェクトのコンテンツの少なくとも一部に基づいて特定し、
(ii)前記メモリ内のデータオブジェクトを、前記コンテンツアドレスに関係付けられた記憶ロケーションに記憶し、
(iii)前記コンテンツアドレス記憶デバイス上で、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関係付けるマッピングを維持する、
よう構成されたプロセッサと、
を備えたコンテンツアドレス記憶デバイス。
【請求項13】
前記送信ソースが送信アプリケーションを含むことを特徴とする請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項14】
送信ソースに関係付けられたコンテンツマップを更新することによって、前記プロセッサが、前記コンテンツアドレス記憶デバイス上で、少なくとも一部で、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関係付けるマッピングを維持するよう構成された、請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項15】
前記ローカルデータオブジェクト識別子が、前記送信ソースに関係付けられたローカルホストのデータオブジェクトに関係するファイル名を含む、請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項16】
前記ローカルデータオブジェクト識別子が、前記送信ソースに関係付けられたローカルホストのデータオブジェクトに関係するファイルパスを含む、請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項17】
前記データオブジェクトがファイルを含む、請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項18】
前記プロセッサが、前記データオブジェクトの記憶が成功したことを前記送信ソースに報告するよう更に構成されたことを特徴とする、請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項19】
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものであるかを判断するよう前記プロセッサが構成されていることを特徴とする、請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項20】
前記プロセッサは、
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものであるかを判断し、
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものである場合、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関連付けるマッピングを前記コンテンツアドレス記憶デバイスで維持し、
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものでない場合、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関連付けるマッピングを前記コンテンツアドレス記憶デバイスで維持せず、且つ前記コンテンツアドレスを前記送信ソースに送信する、
よう更に構成されている、請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項21】
前記送信ソースに関連付けられたソース識別子が識別されるかどうかを判断することを更に含み、前記ソース識別子が識別される場合は、そのソース識別子を用いて前記送信ソースに関連付けられたコンテンツマップを特定し、この場合、前記マッピングが前記コンテンツマップに維持されていることを特徴とする請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項22】
前記通信インタフェースが、前記データオブジェクトにアクセスするため、前記ローカルデータオブジェクト識別子を有する要求を要求者から受信するよう更に構成され、
前記プロセッサが、前記マッピングを用いて前記ローカルデータオブジェクト識別子に関連付けられたコンテンツアドレスを特定し、前記コンテンツアドレスを用いて前記データオブジェクトを検索し、そして前記データオブジェクトを前記要求者に提供するよう更に構成された、請求項12に記載のコンテンツアドレス記憶デバイス。
【請求項23】
コンテンツアドレス記憶デバイスにデータを記憶するためコンピュータ読み出し可能な媒体に組み込まれたコンピュータプログラム製品であって、
前記コンテンツアドレス記憶デバイスに記憶されるデータオブジェクト、及びローカルデータオブジェクト識別子を送信ソースから受信し、その識別子によって前記データオブジェクトは前記送信ソースに識別されることになり、
前記コンテンツアドレス記憶デバイス上のデータオブジェクトに関連付けられたコンテンツアドレスを、前記データオブジェクトのコンテンツの少なくとも一部に基づいて特定し、
前記コンテンツアドレス記憶デバイス上のデータオブジェクトを、前記コンテンツアドレスに関係付けられた記憶ロケーションに記憶し、
前記コンテンツアドレス記憶デバイス上で、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関係付けるマッピングを維持する、
コンピュータ命令を含むコンピュータプログラム製品。
【請求項24】
前記送信ソースが送信アプリケーションを含むことを特徴とする請求項23に記載のコンピュータプログラム製品。
【請求項25】
前記コンテンツアドレス記憶デバイス上で、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関係付けるマッピングを維持することが、送信ソースに関係付けられたコンテンツマップを更新することを含む、請求項23に記載のコンピュータプログラム製品。
【請求項26】
前記ローカルデータオブジェクト識別子が、前記送信ソースに関係付けられたローカルホストのデータオブジェクトに関係するファイル名を含む、請求項23に記載のコンピュータプログラム製品。
【請求項27】
前記ローカルデータオブジェクト識別子が、前記送信ソースに関係付けられたローカルホストのデータオブジェクトに関係するファイルパスを含む、請求項23に記載のコンピュータプログラム製品。
【請求項28】
前記データオブジェクトがファイルを含む、請求項23に記載のコンピュータプログラム製品。
【請求項29】
前記データオブジェクトの記憶が成功したことを前記送信ソースに報告するコンピュータ命令を更に含む、請求項23に記載のコンピュータプログラム製品。
【請求項30】
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものであるかを判断するコンピュータ命令を更に含む、請求項23に記載のコンピュータプログラム製品。
【請求項31】
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものであるかを判断し、
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものである場合、前記ローカルデータオブジェクト識別子を前記コンテンツアドレスに関連付けるマッピングを前記コンテンツアドレス記憶デバイスで維持することを実行し、
前記送信ソースが、前記ローカルデータオブジェクト識別子と対応のコンテンツアドレスとの間のマッピングを前記コンテンツアドレス記憶デバイスで維持するためのものでない場合、前記維持する処理を省き、且つ前記コンテンツアドレスを前記送信ソースに送信する、
コンピュータ命令を含む請求項23に記載のコンピュータプログラム製品。
【請求項32】
前記送信ソースに関連付けられたソース識別子が識別されるかどうかを判断するコンピュータ命令を更に含み、前記ソース識別子が識別される場合は、そのソース識別子を用いて前記送信ソースに関連付けられたコンテンツマップを特定し、この場合、前記マッピングが前記コンテンツマップに維持されていることを特徴とする請求項23に記載のコンピュータプログラム製品。
【請求項33】
前記データオブジェクトにアクセスするため、前記ローカルデータオブジェクト識別子を有する要求を要求者から受信し、
前記マッピングを用いて前記ローカルデータオブジェクト識別子に関連付けられたコンテンツアドレスを特定し、
前記コンテンツアドレスを用いて前記データオブジェクトを検索し、
前記データオブジェクトを前記要求者に提供する、
コンピュータ命令を更に含む、請求項23に記載のコンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2008−519362(P2008−519362A)
【公表日】平成20年6月5日(2008.6.5)
【国際特許分類】
【出願番号】特願2007−540155(P2007−540155)
【出願日】平成17年11月7日(2005.11.7)
【国際出願番号】PCT/US2005/040377
【国際公開番号】WO2006/052939
【国際公開日】平成18年5月18日(2006.5.18)
【出願人】(507024769)イーエムシー コーポレイション (13)
【Fターム(参考)】