JP4913128B2 - 分散型で非集中型のデータ格納および検索を行うシステムおよび方法 - Google Patents

分散型で非集中型のデータ格納および検索を行うシステムおよび方法 Download PDF

Info

Publication number
JP4913128B2
JP4913128B2 JP2008507655A JP2008507655A JP4913128B2 JP 4913128 B2 JP4913128 B2 JP 4913128B2 JP 2008507655 A JP2008507655 A JP 2008507655A JP 2008507655 A JP2008507655 A JP 2008507655A JP 4913128 B2 JP4913128 B2 JP 4913128B2
Authority
JP
Japan
Prior art keywords
network
store
chunk
stream
fragment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008507655A
Other languages
English (en)
Other versions
JP2008537258A (ja
Inventor
エム.ムーア ジョージ
セリ イストバン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008537258A publication Critical patent/JP2008537258A/ja
Application granted granted Critical
Publication of JP4913128B2 publication Critical patent/JP4913128B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Description

概して、本発明は分散型で非集中型のデータ格納および検索を行うシステムおよび方法に関する。より詳細には、本発明は、例えば、リッチメディア広告、写真およびビデオの共有および格納、ならびにビデオ電子メールなどのピアベースサービスを可能にするために費用効果の高い機構を提供する分散型の格納モデルおよび検索モデルに関する。
いくつかのシナリオがピアベースの分散型格納システムを介して可能とされる。この種のシナリオの例は、ピアベースのテキストおよびリッチメディア広告の格納/キャッシング(caching)/レプリケーション(replication)、ピアベースのデジタル写真およびビデオの格納および共有、ならびにピアベースのビデオ電子メールを含む。しかし、これらのシナリオは、格納費用がデータセンタでは抑制されなくなる可能性があるのでサービスを集中されると法外な費用がかかる傾向がある。
多くのウェブサイトは、ユーザから以前に学んだ情報に基づいて掲載される高度のターゲット広告を有する純然たる広告ベースモデルに移行している。例えば、大量の人口統計学的データが人々について収集され、たくさんの情報が、ウェブサイトのクリックストリーム(clickstream)で収集されたデータだけに基づいて推論されることができることはよく知られている。例えば、高度のターゲット広告は、検索キーワードに基づいていてもよい。典型的には、この種のシナリオは多くの記憶装置を要する。
集中型の方法でのこの種の広告の格納は以前に行われていた。しかし、異なる費用構造がローカル装置に対して広告を効率的に格納し、転送し、キャッシュに入れることができるために必要とされうるので、問題が新生市場などのある種の市場に存在する。多くの場合には、概して広告が様々な世界的市場にローカライズされているので、これらの広告を集中化し、データセンタで格納費用を支払うことは法外な費用である。世界中に広告を発送するために帯域幅の費用を支払うことは通常、効率的なまたは安価なモデルではない。
写真共有に関する既存の解決策は、2つの主要なグループに分類される、すなわち集中格納(例えば、photos.msn.com)または二地点間(「P2P」)写真共有(例えば、Googleの「Picasa」の現バージョン)。集中格納は明確な制限を有する、すなわちそれが無料で提供される場合、写真格納に利用できる総スペースは厳しく制限されうる。一方、典型的な利用者手数料は、ユーザ自身のディスクを単に購入するためにユーザにかかる費用をはるかに超過する傾向がある。しかし、ユーザがユーザ自身のディスクを購入する場合、ユーザは写真をバックアップすることに関与し、ほとんどのブロードバンド接続がアップロードの速度を落とすので写真を見ることができる人数で厳しく制限されうる。
GrooveまたはGoogleのPicasaの現バージョンなどのP2P写真共有の解決策は、ピアグループに関与するすべての装置にわたって写真を全コピーする。これは、上述の格納費用および帯域幅の問題を回避するが、それは異なる問題をもたらす。例えば、多くの人々がグループに関与していない場合、参加者の写真が、それらのローカルコピーが失われた場合に利用できない可能性がある機会がかなりある(様々なピアの使用可能時間に応じて)。さらに、この力づく的解決策はすべてのピアの100%がすべての写真の100%を格納する必要がある。これは、全ピアグループにわたって使用される多くの予備の記憶装置をもたらす結果となり、よく評価されない。
電子メールを介して配信されるビデオメッセージは、写真共有に関連して上述の同一の問題の多くを被るが、それらはサイズがさらに大規模である(格納を高価にする)。また配信が、中央のデータセンタからサービスされない限り信頼性のない結果となる。生放送のP2Pビデオ電話会議は格納問題を有しないが(ビデオが送信されると同時にビデオは取り込まれる)、それは話し手側の同時性と共に品質(帯域幅によって制限される)を中心にしてさらなる制限を有する。
したがって、当技術分野では、例えば、リッチメディア広告、写真/ビデオの共有/格納、およびビデオ電子メールなどのピアベースサービスを可能にするために費用効果の高い機構を提供する分散型の格納モデルの必要性がある。
本発明は、非集中型で分散型のデータ格納および検索のためのシステムおよび方法を提供する。この種のシステムは相互接続されたノードのネットワークを含むことができる。各ノードは、「ローカルキャッシュおよびトランスポート層」、「ストリーム・ストア層」、「チャンク・ストア層」および「フラグメント・ストア層」を形成する1つまたは複数のプロセスの集合体をその上で実行することができる。プロセスの集合体は「ブロック」格納のために提供されてもよい。
ローカルキャッシュおよびトランスポート層は、ストレージサービスと、ルーティングサービスとを含むことができる。ストレージサービスは、任意長のあるビットストリームを格納するための格納要求を受信することができる。ルーティングサービスは、ビットストリームをストリーム・ストア・サービスのうちのいずれかに伝達することができる。ストリーム・ストア・サービスは、その後の検索のためにローカル固定記憶装置(persistent storage)にビットストリームを格納し、ビットストリームを1つまたは複数の「チャンク」に分割することもできる。次いでストリーム・ストア・サービスは、チャンクを各チャンク・ストア・サービスに伝達することができる。チャンク・ストア・サービスは、その後の検索のためにローカル固定記憶装置にチャンクを格納し、チャンクを1つまたは複数の「フラグメント」に分割することもできる。次いでチャンク・ストア・サービスは、フラグメントをチェックブロック(check block)に符号化し、それらを各フラグメント・ストア・サービスに伝達することができる。フラグメント・ストア・サービスはその後の検索のためにローカル固定記憶装置にフラグメントを格納することができる。したがって、ビットストリームは複数のチェックブロックに分割され、概して各チェックブロックは、この種のノードの広大なネットワーク上で分散された、異なるネットワークノード上に格納されることができる。
この種の非集中型でピアツーピアの分散型格納システムは、例えば広告が見られるべきである実際の地方または都市に存在するクライアントPC内など、デジタル広告をローカルに格納しキャッシュに入れるために使用されることができる。デジタル写真およびビデオの格納および共有に関しては基本的な分散型格納機構が、大量の冗長度を必要とすることなく写真の非常に高い信頼性および可用性を実現するために利用されることができる。ビデオ電子メールに関しては分散型格納モデルが、大規模なビデオメッセージのために調整される信頼性のある電子メール配信システムを構築するために利用されることができる。
〈コンピューティング環境の例〉
図1および下記の説明は、本発明の一例の実施形態が実現される適切なコンピューティング環境の簡単な一般的説明を行うものである。しかし、すべての種類のハンドヘルド機器、携帯機器、および他のコンピューティング機器が、本発明に関連して使用するために企図されることは理解されよう。汎用コンピュータが下記で説明されているが、これは単に一例である。本発明は、ネットワークサーバの相互運用性および対話を有するシンクライアント(thin client)上で動作可能であってもよい。したがって、本発明の一例の実施形態は、ほとんどないクライアントリソースまたは最小のクライアントリソースが含まれているネットワークのホストサービスの環境で実現されることができる(例えば、クライアント機器がワールドワイドウェブに対するブラウザまたはインターフェースとしてだけ働くネットワーク環境)。
要求されていないが、本発明は開発者またはテスタによって使用されるためにアプリケーション・プログラミング・インタフェース(API)を介して実現される、および/または1つまたは複数のコンピュータ(例えば、クライアントワークステーション、サーバ、または他の装置)によって実行されるプログラムモジュールなどのコンピュータの実行可能な命令の一般的なコンテキストで説明されるネットワーク・ブラウザ・ソフトウェア内に含まれることができる。概して、プログラムモジュールは、特定のタスクを実行するまたは特定の抽象データ型を実行するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。典型的には、プログラムモジュールの機能は、様々な実施形態で望まれるように結合されるまたは分散されることができる。さらに、当業者は、本発明が他のコンピュータシステム構成を用いて実施されることができることを理解することになる。本発明を用いて使用に適しうる他のよく知られたコンピューティングシステム、環境、および/または構成は、パーソナルコンピュータ(PC)、現金自動預け払い機、サーバコンピュータ、ハンドヘルドまたはラップトップ機器、マルチプロセッサシステム、マイクロプロセッサベースシステム、プログラマブル家庭用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、などを含むが限定されるものではない。本発明の一実施形態は、タスクが、通信ネットワークまたは他のデータ伝送メディアを介して接続される遠隔処理装置によって実行される分散型コンピューティング環境で実施されることもできる。分散型コンピューティング環境ではプログラムモジュールは、メモリ記憶装置を含むローカルコンピューティング格納メディアおよび遠隔コンピュータ格納メディアの両方に配置されることができる。
したがって、図1は、本発明が実現されることができる適切なコンピューティングシステム環境100の一例を示すが、上記で明確にしたようにコンピューティングシステム環境100は、適切なコンピューティング環境の一例だけであって、本発明の使用または機能の範囲に関していかなる限定も示唆するものではない。コンピューティング環境100は、例示の動作環境100で示される構成要素のうちのいずれか1つまたは組合せに関係するいかなる依存性または要求を有するものとして解釈されるべきでもない。
図1を参照して、本発明を実現する一例のシステムは、コンピュータ110の形で汎用コンピューティング装置を含む。コンピュータ110の構成要素は、処理ユニット120、システムメモリ130、およびシステムメモリを含む様々なシステム構成要素を処理ユニット120に結合するシステムバス121を含むことができるが限定されるものではない。システムバス121は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのうちのいずれかを使用するローカルバスを含むいくつかの種類のバス構造のうちのいずれかであってよい。例として(限定されない)、この種のアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子標準協会(VESA)ローカルバス、周辺装置相互接続(PCI)バス(メザニンバス(Mezzanine bus)としても知られている)などを含む。
典型的には、コンピュータ110は様々なコンピュータ可読メディアを含む。コンピュータ可読メディアは、コンピュータ110によってアクセスされることができる任意の利用可能メディアであってよく、揮発性および不揮発性、着脱式および固定式メディアの両方を含む。例として(限定されない)、コンピュータ可読メディアは、コンピュータ格納メディアと、通信メディアとを備えることができる。コンピュータ格納メディアは、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を格納するための任意の方法または技術で実現される揮発性および不揮発性、着脱式および固定式のメディアの両方を含む。コンピュータ格納メディアは、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクリードオンリメモリ(CDROM)、デジタルバーサタイルディスク(DVD)もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を格納するために使用されることができ、コンピュータ110によってアクセスされることができる任意の他のメディアを含むが限定されるものではない。典型的には通信メディアは、コンピュータ可読命令、データ構造、プログラムモジュールまたは搬送波または他の搬送機構などの変調されたデータ信号内での他のデータを具現化し、任意の情報配信メディアを含む。用語「変調されたデータ信号」は、信号内で情報を符号化するような方法で設定されるまたは変更されるその特性のうちの1つまたは複数を有する信号を意味する。例として(限定されない)、通信メディアは、有線ネットワークまたは直接配線接続などの有線メディア、ならびに音響、無線周波数(RF)、赤外線、および他の無線メディアなどの無線メディアを含む。上記のいずれかの組合せもコンピュータ可読メディアの範囲内に含まれるべきである。
システムメモリ130は、ROM131およびRAM132などの揮発性メモリおよび/または不揮発性メモリの形でコンピュータ格納メディアを含む。起動中など、コンピュータ110内の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム133(BIOS)は、典型的にはROM131に格納される。典型的にはRAM132は、すぐにアクセス可能でありおよび/または処理ユニット120によって現在動作されているデータおよび/またはプログラムモジュールを含む。例として(限定されない)、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。RAM132は他のデータおよび/またはプログラムモジュールを含むことができる。
コンピュータ110は、他の着脱式/固定式、揮発性/不揮発性のコンピュータ格納メディアも含むことができる。単に例として、図1は、固定式で不揮発性の磁気メディアから読み取るまたは固定式で不揮発性の磁気メディアに書き込むハードディスクドライブ141、着脱式で不揮発性の磁気ディスク152から読み取るまたは着脱式で不揮発性の磁気ディスク152に書き込む磁気ディスクドライブ151、およびCD ROMまたは他の光メディアなどの着脱式で不揮発性の光ディスク156から読み取るまたは着脱式で不揮発性の光ディスク156に書き込む光ディスクドライブ155を示す。例の動作環境で使用されることができる他の着脱式/固定式、揮発性/不揮発性のコンピュータ格納メディアは、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、半導体RAM、半導体ROMなどを含むが限定されることはない。典型的にはハードディスクドライブ141は、インターフェース140などの固定式バブルメモリインターフェースを介してシステムバス121に接続されており、典型的には磁気ディスクドライブ151および光ディスクドライブ155は、インターフェース150などの着脱式メモリインターフェースによってシステムバス121に接続されている。
上述の図1に示されるドライブおよびそれらの関連したコンピュータ格納メディアは、コンピュータ110に関するコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの格納を行う。例えば、図1ではハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納することとして示されている。これらの構成要素は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同一であるまたは異なるもののいずれかであってよいことは留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147は、少なくともそれらが異なるコピーであることを示すために本明細書では異なる番号を与えられている。ユーザは、キーボード162およびマウス、トラックボールまたはタッチパッドと一般に呼ばれるポインティングデバイス161などの入力機器を介してコンピュータ110に命令および情報を入力することができる。他の入力機器(図示せず)は、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含むことができる。これらの入力機器および他の入力機器は、システムバス121に結合されているユーザ入力インターフェース160を介して処理ユニット120a〜120fにしばしば接続されているが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)など、他のインターフェースおよびバス構造によって接続されていてよい。
モニタ191または他の種類の表示装置はまた、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続されている。モニタ191に加えてコンピュータは、出力周辺インターフェース195を介して接続されることができるスピーカ197およびプリンタ196などの他の周辺出力機器も含むことができる。
コンピュータ110は、リモートコンピュータ180などの1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置または他の一般のネットワークノードであってよく、典型的には、メモリ記憶装置181だけが図1に示されているがコンピュータ110に対する上述の要素の多くまたはすべてを含む。図1に示される論理接続は、ローカルエリアネットワーク(LAN)171および広域ネットワーク(WAN)173を含むが他のネットワークも含むことができる。この種のネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットで一般的である。
LANネットワーキング環境で使用されるとき、コンピュータ110は、ネットワークインターフェースまたはアダプタ170を介してLAN171に接続されている。WANネットワーキング環境で使用されるとき、典型的にはコンピュータ110は、モデム172またはインターネットなどのWAN173上で通信を確立する他の手段を含む。内蔵または外付けであってよいモデム172は、ユーザ入力インターフェース160または他の適切な機構を介してシステムバス121に接続されてよい。ネットワーク環境では、コンピュータ110に対して説明されるプログラムモジュールまたはその一部は、遠隔メモリ記憶装置に格納されることができる。例として(限定されない)、図1は、メモリ装置181上に存在することとしてリモートアプリケーションプログラム185を示す。図示されたネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段が使用されてよい。
当業者は、コンピュータ110または他のクライアント装置がコンピュータネットワークの一部として配置されることができることは理解できる。これに関連して本発明は、任意の数のメモリまたは格納ユニットを有するいかなるコンピュータシステムならびに任意の数の格納ユニットまたは容量にわたって生じる任意の数のアプリケーションおよびプロセスに関する。本発明の一実施形態は、遠隔記憶装置またはローカル記憶装置を有してネットワーク環境に配置されるサーバコンピュータおよびクライアントコンピュータを備える環境に適用することができる。本発明は、プログラミング言語機能、変換処理および実行能力を有する独立型のコンピューティング装置に適用されることもできる。
〈分散ネットワーク〉
図2は、複数のネットワークノード10A〜10Hを備える分散ネットワークの一例を示す。例えば、この種のノードは、パーソナルコンピュータまたは例えばサーバ、ルータ、ネットワークPC、ピア装置など、処理およびデータ格納能力を含む他の任意のネットワーク装置であってよい。例えば、ノード10A〜10Hは、イントラネットまたはインターネットなどのローカルネットワークまたは広域ネットワーク上で互いに相互接続されているピアであってよい。
各ノード10A〜10Hは固有のアドレスを割り当てられることができる。アドレスの長さは、各ノードが固有のアドレスを有することを保証するために選択されることができる。ネットワークが数千万個のノードを含むことが予想される一例のインタネットベースシステムでは、160ビットのアドレスが使用されることができる。この種のアドレス方式は、TCPの上部にルーティング・オーバーレイ(routing overlay)を形成することができる。
いくつかのノード10A〜10Hの中に分散されるプロセスは、シンプル・オブジェクト・アクセス・プロトコル(「SOAP」)メッセージを介してネットワーク上で互いに通信することができる。SOAPは、よく知られた軽量のXMLベースの分散コンピューティングプロトコルである。SOAPメッセージは、SOAPエンベロープを含むXML文書である。エンベロープは、任意選択のSOAPヘッダおよび必須のSOAPボディを含む。SOAPメッセージヘッダは、メッセージのメタデータ(metadata)を表し、SOAPを拡張するための方法を提供する。SOAPメッセージボディは、実際のメッセージのペイロード(payload)である。分散プロセスは、SOAPパケットをネットワーク上で動かすことによって互いに通信することができる。
プロセスは、メッセージ発信元(例えば、図示のノード10A上)、所期のメッセージ受信先(例えば、図示のノード10G上)、または中継先(例えば、図示のノード10C上)であってよい。メッセージ発信元は、初めからSOAPメッセージをネットワーク上で動かすプロセスである。所期のメッセージ受信先は、メッセージが最終的に定められたプロセスである。したがって、メッセージ発信元から創出するSOAPメッセージは、所期のメッセージ受信先に関連したアドレスを含むことができる。
しかし、メッセージ発信元が所期のメッセージ受信先のアドレスを知らないことが、特に大規模ネットワークで可能である。実際にはメッセージ発信元は、所期のメッセージ受信先が存在することすら知らない。したがって、所期の受信先(10G上)へメッセージを伝えるために中継先ノード(10C)上でのプロセスは、メッセージ(12C)を受信し、メッセージを変更および/またはコピーし、メッセージの1つまたは複数のコピー(12D〜12F)をネットワーク上に戻すことができる。したがって、メッセージは、メッセージ(12G)が所期のメッセージ受信先(10G上)に結局、ホップ(hop)するまでネットワークの中を「ホップ」することができる。約1千万個のノードを有するネットワークの場合、平均ホップカウントは約3回であり、最大ホップカウントは約5.8回である。
発信元から所期のメッセージ受信先へメッセージを伝えるためにかかるホップ回数を最適化するために、ノードは「ゴシップする(gossip)」ことができる。つまり、時々、ノードはネットワーク上にそれら自体についての情報を伝達することができる。例えば、ノードは、その使用可能時間または帯域幅およびその隣接ノードの状態についてゴシップすることができる。ノードはまた、それらの隣接ノードによって伝達されているこの種の情報をリッスン(listen)する。その結果、各ノードは、そのピアのうちのいくつかについて知り、情報を保持する。
この種のゴシッピングによりメッセージ発信元が、所期のメッセージ受信先のアドレスの特定の情報なしに所期のメッセージ受信先へメッセージを伝えることができる。例えば、メッセージ発信元がある装置へメッセージを伝えたい場合、メッセージ発信元はできるだけその装置に近いメッセージ(例えば、所期のメッセージ受信先について何かを知りうる他のノードへのメッセージ、または所期のメッセージ受信先について何かを知りうる他のノードについての何かを対処するなど)を伝えることだけが必要である。所期のメッセージ受信先の隣接ノードは所期のメッセージ受信先の情報を有することになるので、メッセージは結局、所期のメッセージ受信先にホップすることになる。したがって、例えば、メッセージ発信元は所期のメッセージ受信者に直接到達する方法を知らない、または例えば、ファイアウォールなどのために所期のメッセージ受信者に直接到達することができない場所にさえメッセージを配信することができる弾力性のあるネットワークが構築されることができる。
各ノード10A〜10H上のサービスは、1つまたは複数の隣接ノードに代わりにローカル・ルーティング・テーブル14A〜14Hを維持することもできる。ローカル・ルーティング・テーブルは、下記でより詳細に説明される。
〈分散型データ格納のためのシステムおよび方法〉
図3Aおよび図3Bは、分散型データ格納のための一例のシステムを示す。図示されるようにこの種のシステムは、上述などの相互接続されたノードのネットワーク(例えば、30A、30B〜30N)を含むことができる。各ノード30A〜30Nは、その上で実行する任意の数のプロセスを有することができる。例えば、各ノード30A〜30Nは、「ローカルキャッシュおよびトランスポート層」20を形成する1つまたは複数のプロセスの集合体と、「ストリーム・ストア層」32を形成するプロセスの集合体と、「チャンク・ストア層」34を形成するプロセスの集合体と、「フラグメント・ストア層」36を形成するプロセスの集合体とを有することができる。プロセスの集合体(図示せず)が、チェックブロック格納のために含まれていてもよい。
ローカルキャッシュおよびトランスポート層20は、ストレージサービス22とルーティングサービス24とを含むことができる。ストレージサービス22およびルーティングサービス24は、同一のノードまたは異なるノード上に存在することができる。ストレージサービス22は、ネットワークを介して同一のノードからまたは異なるノードから格納要求(ビットストリーム)を受信することができる。格納要求は、あるビットストリームを格納するための要求を含むことができる。概して、この種のビットストリームはいかなる任意長Mを有することができる。ルーティングサービス24は、ビットストリームを1つまたは複数のストリーム・ストレージサービス32A〜32Nのうちのいずれかに伝達することができる。ビットストリームを受信するストリーム・ストレージサービスは、ルーティングサービスと同一のノード上または異なるノード上に存在することができる。
受信者ノード(図示の32A)でのストリーム・ストア・サービスは、ビットストリームを含む1つまたは複数のパケットを受信することができる(例えば、ビットストリームが非常に長いので2つ以上のパケットがビットストリームをストリーム・ストア・サービスに伝達するために必要とされる)。ストリーム・ストア・サービス32Aは、その後の検索のためにローカル固定記憶装置内にビットストリームを格納することができる。ストリーム・ストア・サービス32Aは、ビットストリームを1つまたは複数の「チャンク」に分割することもできる。各チャンクは長さm≦Mビットであってよい。一例の実施形態では、各チャンクは約64Kビットの長さを有することができる。次いで、ストリーム・ストア・サービス32Aは、1つまたは複数のチャンクのそれぞれを各チャンク・ストア・サービス34A〜34Nに伝達することができる。チャンクを受信するチャンク・ストア・サービスは、ストリーム・ストア・サービス32Aと同一のノード上または異なるノード上に存在することができる。
受信者ノード(図示の34A)でのチャンク・ストア・サービスは、チャンクを含む1つまたは複数のパケットを受信し、その後の検索のためにローカルの永続性記憶装置内にチャンクを格納することができる。チャンク・ストア・サービス34Aは、チャンクを1つまたは複数の「フラグメント」に分割することもできる。各フラグメントは長さl≦mビットであってよい。一例の実施形態では各フラグメントは、約2Kビットの長さを有することができる。次いで、チャンク・ストア・サービス34Aは、フラグメントをチェックブロックに符号化し、1つまたは複数のチェックブロックのそれぞれを各フラグメント・ストア・サービス36A〜36Nに伝達することができる。フラグメントを受信するフラグメント・ストア・サービスは、チャンク・ストア・サービス34Aと同一のノード上または異なるノード上に存在することができる。
受信者ノード(図示の36A)でのフラグメント・ストア・サービスは、フラグメントを含む1つまたは複数のパケットを受信し、その後の検索のためにローカル固定記憶装置内にフラグメントを格納することができる。受信者ノードでのフラグメント・ストア・サービス36A〜36Nは、各チェックブロックを含む1つまたは複数のパケットを受信することができ、それぞれは、その後の検索のためにローカル固定記憶装置内に各チェックブロックを格納することができる。したがって、Mビットのビットストリームは、複数のkビットのチェックブロックに分割され、概して各ブロックは、この種のノードの広大なネットワーク上に分散された異なるネットワークノード上に格納される。
各チャンクが分割されるチェックブロック数は、多大な自信を持って信頼性のある検索を保証するために十二分であることが好ましい。いくつかの知られたアルゴリズムのいずれかは、元のビットストリームがチェックブロックから再構築されることができることを一定の自信レベルを持って保証するために格納されるべきチェックブロック数を決定するために使用されることができる。この種のアルゴリズムは当業者には知られており、したがって本明細書で詳細に説明される必要はない。
データ検索システム(下記で説明される)がその後、格納されたデータを見いだすことができることを保証するためにアドレス方式が、データを格納すべき場所(すなわち、どのノード上)を決定するために使用されることができる。例えば、ルーティングサービスは、ビットストリームをルーティングすべきノードのアドレスをビットストリーム自体に基づいて計算することができる。例えば、各ノードが固有のアドレスによって識別されることができる上述などのシナリオではハッシュ(hash)が、ビットストリームに基づいて計算されることができ、ハッシュテーブルは、ハッシュ値に対応するノードアドレスを決定するために調べられることができる。
ビットストリームはビットストリーム識別子を有することができる。例えば、ビットストリームはファイルであってよく、すなわちファイルはファイル名を有する。したがって、ファイル名がビットストリーム識別子と見なされてよい。ユーザ(すなわち、ビットストリームを格納するように求める人)はユーザ識別子を有することができる。例えば、ユーザに関連する公開鍵があってよい。一例の実施形態では、ビットストリーム識別子およびユーザ識別子が連結され、連結されたストリング(string)のハッシュが計算されることができる。上述のように計算されたハッシュ値は、ビットストリームが格納および後続の格納処理のために送信されるべきノードのアドレスを決定するために使用されることができる。同様に、各ハッシュ値は、ビットストリームが分解されるチャンクごと、フラグメントごとおよびチェックブロックごとに計算されることができる。次いで、チャンク、フラグメント、およびチェックブロックは、計算されたハッシュ値に対応するアドレスを有するノードに送信されることができる。
数百万個のノードを有するネットワーク環境では、各ノードがあらゆるノードに関連する各アドレスを含むハッシュテーブルを格納し維持することは実際的ではない(および望ましくない)。したがって、一例の実施形態では、各ノード10A〜10H上のサービスは、1つまたは複数の隣接ノードの代わりにローカル・ルーティング・テーブル14A〜14Hを維持することができる(図2参照)。あらゆるノードがアドレス空間(すなわち、いくつかのノードを一意的に識別するために使用されるアドレス方式)について知っているが、各ノードはその隣接ノードのいくつかのためだけにルーティングテーブルを維持することが好ましい。したがって、ハッシュテーブルはいくつかのノードの間に分散されることができる。
分散されたハッシュテーブルを使用することによって各ノードは、全アドレス空間のほんの一部だけを洞察する。しかし、上述のように、メッセージ発信元が所期の受信先のアドレスを知る必要がないことが基本的ファブリック(fabric)の性質である。メッセージ発信元は格納されるべきビットストリーム(またはチャンクまたはフラグメントまたはブロック)に基づいてハッシュを計算し、そのローカルハッシュテーブルを調べることができる。アドレスが見いだされた場合、メッセージ発信元は所期の受信先にメッセージを直接送信することができる。そうでない場合、メッセージ発信元はメッセージをファブリック上で動かし、メッセージは、それが所期の受信先に達するまで1つまたは複数の中継先を介してホップする。
結局は、上述のようにデータ(例えば、チェックブロック、フラグメント、チャンク、またはビットストリーム)は送信先ノードで永続的である(すなわち、記憶装置に永久的に格納される)。データが永続的であるとき、送信先ノードは、データが永続的であることを発信元ノードに通知するためにファブリック上でメッセージを動かすことができる。発信元ノードが情報メッセージを受信するとき、発信元ノードはデータが永続的であることを受諾する。
例えば、チェックブロックが送信先ノード上で永続的であるとき、フラグメント・ストア・サービスは、チェックブロックが永続的であることをチェックブロックの格納を要求したチャンク・ストア・サービスに通知することができる。同様に、所与のチャンクに関連するすべてのチェックブロックが永続的であるとき、チャンク・ストア・サービスは、チャンクが永続的であることをチャンクの格納を要求したストリーム・ストア・サービスに通知することができる、など。結局は、ローカルキャッシュおよびトランスポート層でのルーティングサービスは、ビットストリームが格納されていることを通知される。
格納が適切に行われたことを確認するために格納を要求するサービスは、データが格納のために送信されるときにタイマを開始することができる。例えば、チャンク・ストア・サービスが格納のためにそのフラグメントを送出するとき、チャンク・ストア・サービスはフラグメント格納確認のタイマを開始することができる。チャンク・ストア・サービスは、特定のフラグメントが、タイマが終了する前に格納されたという確認を受信しない場合、チャンク・ストア・サービスは、フラグメントが格納されなかったと結論を出し、フラグメントを他の場所に格納しようとする。
しかし、上述の分散システムが時間を「変える」能力を有することができることは理解されよう。つまり、各ノードは、絶対システム時間に対してそのノードのために計時するタイムマネジャを有することができる。したがって、時間は、絶対システム時間におよび他のノードのタイムフレームに対して特定ノード上で遅くされる、停止される、または逆行さえされてよい。したがって、格納を要求するノードでの時間が、データが格納されるべきノード(または中継ノード)での時間より速く進みうるので格納を要求するノードでのタイマは、たとえ格納プロセスに何か不具合がなくても(時間が単に遅く進んでいる)データが永続的である前に終了することができる。これに対して対応するために、格納ノードは、たとえ格納がまだ完了されていなくても格納を要求するノードがタイムアウトになるべきでないことを、格納を要求するノードに通知するために格納を要求するノードにメッセージを定期的に送信することができる。
ビットストリーム(または下記に説明されるようにビットストリームの一部)を検索するためにローカルキャッシュおよびトランスポート層20でのルーティングサービス24は、データが、それが格納されるノードから検索されるべきことを要求するネットワーク上にメッセージを動かすことができる。データを検索するためにルーティングサービス24は、データに関連するキーを計算することができる。例えば、上述のように、ルーティングサービスはビットストリーム識別子およびユーザ識別子のハッシュを計算することができる。計算されたハッシュ値は、ビットストリームが格納および後続の格納処理のために送信されるノードのアドレスを決定するために使用されることができる。
次いでルーティングサービスは、ハッシュに関連するアドレス(または最も近い隣接アドレス)を決定するためにローカル・ルーティング・テーブルを調べ、そのアドレスにビットストリームを要求することができる。ビットストリームがそのストリーム・ストア・サービスに関連するローカルキャッシュ内に依然として格納されている場合、ストリーム・ストア・サービスは、1つまたは複数のパケット内のビットストリームを、それを要求したノードに戻す。ビットストリームが、そのストリーム・ストア・サービスに関連するローカルキャッシュ内にまだ格納されていない場合、ストリーム・ストア・サービスは、ビットストリームが分解されたチャンクに関連するハッシュを計算し、それらのチャンクが格納プロセス中に送信されたチャンク・ストア・サービスにそれらのチャンクを要求する。
チャンクが、そのチャンク・ストア・サービスに関連するローカルキャッシュ内に残存する場合、そのチャンクはそれを要求したノードに戻される。そうでない場合、チャンク・ストア・サービスは、そのチャンクに関連するフラグメントに関連するハッシュを計算し、それらのフラグメントが格納されたノードにそれらのフラグメントを要求する。
ビットストリームが再構成され、それを要求したノードビットストリームに戻されるまでこのプロセスが続けられる(フラグメントを再構成するためにチェックブロックを検索すること、チャンクを再構成するためにフラグメントを検索すること、ビットストリームを再構成するためにチャンクを検索すること)。上述のように、基本的なファブリックの性質は、キーにルーティングすることによりメッセージが、データが格納されているノードに送られることである。
上述のように、ビットストリームが複数の連続的なチェックブロック(フラグメント、チャンク)に分割されることができる。したがって、検索プロセスは全ビットストリームを検索する必要がなく、チェックブロック(フラグメント、チャンク)のサブセットだけを検索することができる。概して、検索プロセスはビットストリーム内の任意のチェックブロック(フラグメント、チャンク)で開始し、他の任意のチェックブロック(フラグメント、チャンク)で終了することができる。ビットストリームの一部だけを検索するために検索サービスは、ビットストリームのその一部を構成するチェックブロック(フラグメント、チャンク)に関連するアドレスを決定し、それらのチェックブロック(フラグメント、チャンク)にビットストリームのその一部の再構成を要求することだけを必要とする。ハッシュプロセスは、以前の層の識別子およびチャンクの序数(すなわち、オフセット)、つまりより低い層内でのチェックブロックをハッシュすることによって動作するのでその部分のいずれかのハッシュ値を見いだすことが可能である。
チェックブロックが永続的であるノードが、データが検索されたときに、もはやネットワーク上にない可能性がある(例えば、データが上書きされた、削除された、または破損された可能性がある、ノードが、データが必要とされるときに利用できない可能性がある、ノードがネットワークから永久に除去されてしまう可能性がある、など)ことが予想される。上述のように各チャンクが分割されるチェックブロック数は、いくつかのチェックブロックが修復できないときでさえ、多大な自信を持って信頼性のある検索を保証するために十二分であることが好ましい。1つまたは複数のノードが、データが格納される時点とデータが検索される時点との間でネットワークに追加されることができることも予想される。キーにより近い新しいノードが導入された場合、基本的ファブリックの性質により以前の既存のノード(データが格納された時点で存在したノード)は新しいノードが導入されたことおよび新しいノードが検索されるように求められるデータにより近いことを理解することになる。したがって、新しいノードは、データが格納されるノードにメッセージをホップするプロセスを続けるために新しいノードへの適切なメッセージを「強いる」ことができる。
本発明の1つの態様により、非集中型でピアツーピアの分散型格納機構は、例えば、広告が見られるべきである実際の地方または都市に存在するクライアントPC内など、ローカルに広告を格納しキャッシュに入れるために使用されることができる。このようにして、テキスト広告およびバナー広告が格納されるだけでなく、特定の地域、近所、または個人に局部化されたリッチメディア(例えば、ステレオ音声に加えてフルモーションビデオ)のテレビ型広告も格納されることができる。
デジタル写真およびビデオの格納および共有に関しては基本的な分散型格納機構は、GoogleのPicasaの現バージョンでなど、この種の多大な量の冗長度を必要とすることなく写真の非常に高い信頼性および可用性を実現するために利用されることができる。具体的にはこのシナリオは、市場に現れる電話ベースカメラの数の増大を考慮すると重要でありうる。それ自体のローカル大容量記憶装置を有する電話ベースカメラの場合でさえ、ユーザは、写真をバックアップしそれらを電子的に共有する問題を依然として有する可能性がある。これは、携帯電話の利用がより迅速な無線インフラストラクチャの増設により急増している新生市場で特に興味がありうる。
ビデオ電子メールに関して、分散型格納モデルは、大規模のビデオメッセージのために調整される信頼性のあるメール配信システムを構築するために利用されることができる。この種のシステムでは品質問題は、システムが送信者または受信者のいずれかの帯域幅制限によってもはや拘束されないので解決されることができる。それによって受信側が、同時に同一の場所で自由にされることもできる。このシナリオは、複雑なスクリプトがキーボード上でテキストメッセージをタイプすることを困難にし、高い率の誤字が任意の種類のテキストメッセージを送信することを困難にする新生市場で重要でありうる。
したがって、拡張SOAP環境でのデータの分散型で非集中型の格納および検索のためのシステムおよび方法が説明されている。この種のシステムおよび方法は、データ格納および検索に必要な帯域幅だけでなく計算要求も分散化することは理解されよう。つまり、この種のシステムおよび方法は、1つのノードがすべての格納および検索処理を行う必要性を軽減し、単一のノードがすべてのデータを送信するまたは受信するように求められない。
本発明は様々な図で示されるある種の好ましい実施形態に関連して説明されているが、他の同様の実施形態が使用されることができ、変更または追加が、それから逸脱することなく本発明を実施するために説明された実施形態になされることができることがさらに理解されよう。例えば、データが格納されているとき、データは暗号化され符合化されるなどができ、それによって検索処理は、実際に検索されたデータが予想されたデータであることを検証することができるようになる。したがって、本発明は任意の単一の実施形態に限定されるべきでなく、特許請求の範囲による幅および範囲で解釈されるべきである。
本発明の態様が実行されるコンピューティング環境の一例を示す構成図である。 分散ネットワークの一例を示す図である。 分散型格納システムの一例を示す図である。 分散型格納システムの一例を示す図である。

Claims (7)

  1. 相互接続されたネットワークノードのネットワークに基づく分散型のデータ格納のためのネットワークベースシステムであって、前記ネットワークにおける各ネットワークノードは、1つまたは複数の隣接ネットワークノードに関連するアドレスを含むローカル・ルーティング・テーブルを維持し、前記ネットワークベースシステムは、
    ビットストリームを格納するための要求を受信し、前記ビットストリームを含むストリーム・ストア・メッセージを前記ネットワーク上にルーティングするように、前記ネットワークにおける複数のネットワークノードで実現されているストリーム提供手段であって、前記ビットストリームは識別子を有し、前記ストリーム提供手段は、前記ストリーム・ストア・メッセージを、前記ビットストリームを格納すべきネットワークノードに送信するために、前記ビットストリームの識別子からハッシュ値を計算し、ローカルに維持されるローカル・ルーティング・テーブルでハッシュ値を使って調べ、前記ビットストリームを格納すべきネットワークノードに対応したアドレスが見いだされた場合に、前記ストリーム・ストア・メッセージを、前記ビットストリームを格納すべきネットワークノードに直接送信し、そうでない場合に、前記ストリーム・ストア・メッセージを前記ネットワーク上で動かして、前記ストリーム・ストア・メッセージが、前記ビットストリームを格納すべきネットワークノードに達するまで1つまたは複数の中継先ネットワークノードを介してホップするようにさせる、ストリーム提供手段と、
    前記ストリーム・ストア・メッセージを受信し、前記ストリーム・ストア・メッセージに含まれるビットストリームを複数のチャンクに分割し、前記複数のチャンクのそれぞれ1つを含む複数のチャンク・ストア・メッセージをそれぞれ前記ネットワーク上にルーティングするように、前記ネットワークにおける複数のネットワークノードで実現されているストリーム格納手段であって、前記複数のチャンクに分割された前記ビットストリームは前記識別子を有し、前記ストリーム格納手段は、それぞれのチャンク・ストア・メッセージを、それぞれのチャンクを格納すべきネットワークノードに送信するために、前記ビットストリームの識別子および当該ビットストリームにおけるチャンクのオフセット値からハッシュ値を計算し、ローカルに維持されるローカル・ルーティング・テーブルでハッシュ値を使って調べ、前記チャンクを格納すべきネットワークノードに対応したアドレスが見いだされた場合に、前記チャンクを含むチャンク・ストア・メッセージを、前記チャンクを格納すべきネットワークノードに直接送信し、そうでない場合に、前記チャンク・ストア・メッセージを前記ネットワーク上で動かして、前記チャンク・ストア・メッセージが、前記チャンクを格納すべきネットワークノードに達するまで1つまたは複数の中継先ネットワークノードを介してホップするようにさせる、ストリーム格納手段と、
    前記チャンク・ストア・メッセージを受信し、前記チャンク・ストア・メッセージに含まれるチャンクをローカルに格納するように、前記ネットワークにおける複数のネットワークノードで実現されているチャンク格納手段と
    を備え、前記ストリーム格納手段は、前記ストリーム・ストア・メッセージを受信した後に、前記ストリーム・ストア・メッセージに含まれるビットストリームをローカルに格納するように、さらに実現されていることを特徴とする分散型のデータ格納のためのネットワークベースシステム。
  2. 前記チャンク格納手段は、前記チャンク・ストア・メッセージを受信した後に、前記チャンクを複数のフラグメントに分割し、前記複数のフラグメントのそれぞれ1つを含む複数のフラグメント・ストア・メッセージをそれぞれ前記ネットワーク上にルーティングするように、さらに実現されており、前記複数のフラグメントに分割された前記チャンクは識別子を有し、前記チャンク格納手段は、それぞれのフラグメント・ストア・メッセージを、それぞれのフラグメントを格納すべきネットワークノードに送信するために、前記チャンクの識別子および当該チャンクにおけるフラグメントのオフセット値からハッシュ値を計算し、ローカルに維持されるローカル・ルーティング・テーブルでハッシュ値を使って調べ、前記フラグメントを格納すべきネットワークノードに対応したアドレスが見いだされた場合に、前記フラグメントを含むフラグメント・ストア・メッセージを、前記フラグメントを格納すべきネットワークノードに直接送信し、そうでない場合に、前記フラグメント・ストア・メッセージを前記ネットワーク上で動かして、前記フラグメント・ストア・メッセージが、前記フラグメントを格納すべきネットワークノードに達するまで1つまたは複数の中継先ネットワークノードを介してホップするようにさせ、
    前記ネットワークベースシステムは、前記フラグメント・ストア・メッセージを受信し、前記フラグメント・ストア・メッセージに含まれるフラグメントをローカルに格納するように、前記ネットワークにおける複数のネットワークノードで実現されているフラグメント格納手段をさらに備えることを特徴とする請求項1に記載のネットワークベースシステム。
  3. 前記フラグメント格納手段は、前記フラグメント・ストア・メッセージを受信した後に、前記フラグメントを複数のチェックブロックに符号化し、前記複数のチェックブロックのそれぞれ1つを含む複数のチェックブロック・ストア・メッセージをそれぞれ前記ネットワーク上にルーティングするように、さらに実現されており、前記複数のチェックブロックに符号化された前記フラグメントは識別子を有し、前記フラグメント格納手段は、それぞれのチェックブロック・ストア・メッセージを、それぞれのチェックブロックを格納すべきネットワークノードに送信するために、前記フラグメントの識別子および当該フラグメントにおけるチェックブロックのオフセット値からハッシュ値を計算し、ローカルに維持されるローカル・ルーティング・テーブルでハッシュ値を使って調べ、前記チェックブロックを格納すべきネットワークノードに対応したアドレスが見いだされた場合に、前記チェックブロックを含むチェックブロック・ストア・メッセージを、前記チェックブロックを格納すべきネットワークノードに直接送信し、そうでない場合に、前記チェックブロック・ストア・メッセージを前記ネットワーク上で動かして、前記チェックブロック・ストア・メッセージが、前記チェックブロックを格納すべきネットワークノードに達するまで1つまたは複数の中継先ネットワークノードを介してホップするようにさせ、
    前記ネットワークベースシステムは、前記チェックブロック・ストア・メッセージを受信し、前記チェックブロック・ストア・メッセージに含まれるチェックブロックをローカルに格納するように、前記ネットワークにおける複数のネットワークノードで実現されているチェックブロック格納手段をさらに備えることを特徴とする請求項2に記載のネットワークベースシステム。
  4. 各フラグメントは、所定の程度の自信の範囲内で前記フラグメントの検索を保証するために十分なチェックブロック数に符号化されることを特徴とする請求項3に記載のネットワークベースシステム。
  5. 前記ストリーム提供手段は、前記ビットストリームが格納されているという確認を前記ストリーム格納手段から受信することを特徴とする請求項1に記載のネットワークベースシステム。
  6. 前記ストリーム提供手段は、前記ビットストリームが格納のために送出されるときにタイマを開始し、前記ストリーム提供手段が、前記タイマが終了する前に前記ビットストリームが格納されているという確認を前記ストリーム格納手段から受信しない場合、前記ストリーム提供手段は前記ビットストリームを異なるネットワークノード上に格納しようとすることを特徴とする請求項に記載のネットワークベースシステム。
  7. 前記ネットワークにおける各ネットワークノードは、絶対システム時間に対してそのネットワークノードのために計時するタイムマネジャを有し、前記ストリーム格納手段は、前記ビットストリームが依然として格納されるプロセス中であるのでタイムアウトしないことを前記ストリーム提供手段に通知することを特徴とする請求項に記載のネットワークベースシステム。
JP2008507655A 2005-04-20 2006-03-09 分散型で非集中型のデータ格納および検索を行うシステムおよび方法 Expired - Fee Related JP4913128B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/110,128 US8266237B2 (en) 2005-04-20 2005-04-20 Systems and methods for providing distributed, decentralized data storage and retrieval
US11/110,128 2005-04-20
PCT/US2006/008647 WO2006115594A2 (en) 2005-04-20 2006-03-09 Systems and methods for providing distributed, decentralized data storage and retrieval

Publications (2)

Publication Number Publication Date
JP2008537258A JP2008537258A (ja) 2008-09-11
JP4913128B2 true JP4913128B2 (ja) 2012-04-11

Family

ID=37188296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008507655A Expired - Fee Related JP4913128B2 (ja) 2005-04-20 2006-03-09 分散型で非集中型のデータ格納および検索を行うシステムおよび方法

Country Status (6)

Country Link
US (2) US8266237B2 (ja)
EP (1) EP1872282B1 (ja)
JP (1) JP4913128B2 (ja)
KR (1) KR101312856B1 (ja)
CN (1) CN101427246B (ja)
WO (1) WO2006115594A2 (ja)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701528B1 (en) * 2000-01-26 2004-03-02 Hughes Electronics Corporation Virtual video on demand using multiple encrypted video segments
JP2006126894A (ja) * 2004-10-26 2006-05-18 Sony Corp コンテンツ配信方法、プログラムおよび情報処理装置
US11340988B2 (en) * 2005-09-30 2022-05-24 Pure Storage, Inc. Generating integrity information in a vast storage system
US20070101019A1 (en) * 2005-11-03 2007-05-03 Cromer Daryl C Apparatus, system, and method for managing response latency
US7970835B2 (en) * 2006-04-04 2011-06-28 Xerox Corporation Peer-to-peer file sharing system and method using downloadable data segments
WO2007148300A2 (en) * 2006-06-20 2007-12-27 Gal Zuckerman Methods and systems for push-to-storage
US9178693B2 (en) * 2006-08-04 2015-11-03 The Directv Group, Inc. Distributed media-protection systems and methods to operate the same
US9225761B2 (en) * 2006-08-04 2015-12-29 The Directv Group, Inc. Distributed media-aggregation systems and methods to operate the same
GB2444344A (en) * 2006-12-01 2008-06-04 David Irvine File storage and recovery in a Peer to Peer network
US7903652B2 (en) * 2006-12-14 2011-03-08 At&T Intellectual Property I, L.P. System and method for peer to peer video streaming
US20110047272A1 (en) * 2007-03-09 2011-02-24 Anne-Marie Bosneag Dissemination of Network Management Tasks in a Distributed Communication Network
WO2008117295A2 (en) * 2007-03-28 2008-10-02 Unison Play Ltd. Distributed storage management
GB2450473A (en) * 2007-06-04 2008-12-31 Sony Comp Entertainment Europe A Server in a Peer to Peer system selecting and notifying a device that it is to become a member of a peer group
KR100916244B1 (ko) * 2007-09-03 2009-09-10 전자부품연구원 Soap 오퍼레이션을 이용한 질의된 컨텐츠 서비스방법
WO2009031915A1 (fr) * 2007-09-03 2009-03-12 Obschestvo S Ogranichennoi Otvetstvennostiyu 'meralabs' Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés
US8386630B1 (en) * 2007-09-09 2013-02-26 Arris Solutions, Inc. Video-aware P2P streaming and download with support for real-time content alteration
CN101217564B (zh) * 2008-01-16 2012-08-22 上海理工大学 简单对象存取协议的并行通信系统及其实现方法
US7636760B1 (en) * 2008-09-29 2009-12-22 Gene Fein Selective data forwarding storage
US7636758B1 (en) * 2008-07-10 2009-12-22 Gene Fein Advertisement forwarding storage and retrieval network
US7636759B1 (en) * 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US7631051B1 (en) 2008-09-29 2009-12-08 Gene Fein Geolocation assisted data forwarding storage
US7636761B1 (en) 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US8458285B2 (en) 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US7668926B2 (en) * 2008-04-25 2010-02-23 Gene Fein Real-time communications over data forwarding framework
US8452844B2 (en) 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8599678B2 (en) * 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US9098519B2 (en) * 2008-09-16 2015-08-04 File System Labs Llc Methods and apparatus for distributed data storage
US7636762B1 (en) * 2008-09-29 2009-12-22 Gene Fein Disassembly/reassembly in data forwarding storage
US8769055B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
US8560639B2 (en) * 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
US8769049B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Intelligent tiers of backup data
US8935366B2 (en) * 2009-04-24 2015-01-13 Microsoft Corporation Hybrid distributed and cloud backup architecture
US20100312749A1 (en) * 2009-06-04 2010-12-09 Microsoft Corporation Scalable lookup service for distributed database
IT1398195B1 (it) * 2009-06-25 2013-02-14 St Microelectronics Srl "procedimento e sistema per la distribuzione di contenuti informativi, relativo prodotto informatico"
CN102792291B (zh) 2009-08-17 2015-11-25 阿卡麦科技公司 基于http的流分发的方法和系统
CA3129946A1 (en) * 2009-08-28 2011-03-03 Ust Global (Singapore) Pte. Limited System and method for employing the use of neural networks for the purpose of real-time business intelligence and automation control
US9542408B2 (en) 2010-08-27 2017-01-10 Pneuron Corp. Method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests
US8868746B2 (en) * 2009-10-15 2014-10-21 International Business Machines Corporation Allocation of central application resources based on social agreements
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US8589637B2 (en) * 2009-10-30 2013-11-19 Cleversafe, Inc. Concurrent set storage in distributed storage network
US10009396B2 (en) 2009-12-11 2018-06-26 Thomson Licensing Queue-based adaptive chunk scheduling for peer-to-peer live streaming
US9532092B1 (en) * 2009-12-30 2016-12-27 Akamai Technologies, Inc. Multiple bitrate format-agnostic streaming architecture
JP2012018487A (ja) * 2010-07-06 2012-01-26 Fujitsu Ltd ノード決定プログラム、ノード決定装置およびノード決定方法
US9020868B2 (en) 2010-08-27 2015-04-28 Pneuron Corp. Distributed analytics method for creating, modifying, and deploying software pneurons to acquire, review, analyze targeted data
GB2484268A (en) 2010-09-16 2012-04-11 Uniloc Usa Inc Psychographic profiling of users of computing devices
CN101944124B (zh) * 2010-09-21 2012-07-04 卓望数码技术(深圳)有限公司 分布式文件系统管理方法、装置以及对应的文件系统
US8589732B2 (en) 2010-10-25 2013-11-19 Microsoft Corporation Consistent messaging with replication
US8667126B2 (en) * 2010-12-03 2014-03-04 International Business Machines Corporation Dynamic rate heartbeating for inter-node status updating
US8880633B2 (en) 2010-12-17 2014-11-04 Akamai Technologies, Inc. Proxy server with byte-based include interpreter
US20120265853A1 (en) * 2010-12-17 2012-10-18 Akamai Technologies, Inc. Format-agnostic streaming architecture using an http network for streaming
EP2689570A1 (en) * 2011-03-21 2014-01-29 Thomson Licensing Anonymous and unlinkable distributed communication and data sharing system
CA2832444C (en) 2011-04-07 2017-10-17 Pneuron Corp. Legacy application migration to real time, parallel performance cloud
US8825985B2 (en) * 2011-07-14 2014-09-02 Dell Products L.P. Data transfer reduction in scale out architectures
US10630559B2 (en) 2011-09-27 2020-04-21 UST Global (Singapore) Pte. Ltd. Virtual machine (VM) realm integration and management
EP2873008A4 (en) * 2012-07-16 2016-06-29 Pneuron Corp METHOD AND PROCESS FOR ACTIVATING THE DISTRIBUTION OF CACHE DATA SOURCES FOR QUERY PROCESSING AND DISTRIBUTING PLATE INTERMEDIATE STORAGE OF GREAT DATA AND ANALYSIS REQUESTS
JP2016513383A (ja) * 2013-01-19 2016-05-12 トロンデルト オーユー 数値制御製造システムにおける安全なストリーミング手法と、安全な数値制御製造システム
KR102111573B1 (ko) * 2013-10-07 2020-05-15 에스케이텔레콤 주식회사 콘텐츠 동기화 방법 및 이를 위한 장치
US10410244B2 (en) 2013-11-13 2019-09-10 Bi Science (2009) Ltd Behavioral content discovery
US9367562B2 (en) 2013-12-05 2016-06-14 Google Inc. Distributing data on distributed storage systems
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
KR102127116B1 (ko) * 2014-03-12 2020-06-26 삼성전자 주식회사 분산 데이터 저장 장치 및 분산 데이터 저장 방법
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
JP2016038615A (ja) * 2014-08-05 2016-03-22 株式会社未来少年 端末装置及び管理サーバ
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9467492B2 (en) * 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US10108672B2 (en) * 2014-10-03 2018-10-23 Netscout Systems Texas, Llc Stream-based object storage solution for real-time applications
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
CN104750858A (zh) * 2015-04-16 2015-07-01 成都影泰科技有限公司 一种基于网络的数据存储方法
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
CN105608159B (zh) * 2015-12-18 2019-04-19 北京奇虎科技有限公司 数据缓存的方法和装置
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10264099B2 (en) 2016-03-07 2019-04-16 Cisco Technology, Inc. Method and system for content closures in a content centric network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US10209901B2 (en) 2017-01-04 2019-02-19 Walmart Apollo, Llc Systems and methods for distributive data storage
WO2019199288A1 (en) * 2018-04-10 2019-10-17 Black Gold Coin, Inc. System and method for secure storage of electronic material
US10956229B2 (en) 2018-10-04 2021-03-23 International Business Machines Corporation Managing resource sharing and task bidding on the internet of things (IoT)
CN109542900B (zh) * 2018-11-08 2021-07-13 中国银联股份有限公司 一种数据处理方法及装置
CN109756561B (zh) * 2018-12-12 2022-10-14 北京世纪互联宽带数据中心有限公司 数据存储方法及其装置、电子设备、计算机可读介质
US11126659B2 (en) * 2018-12-24 2021-09-21 Graphen, Inc. System and method for providing a graph protocol for forming a decentralized and distributed graph database
CN111565168B (zh) * 2020-03-02 2023-05-23 杭州云毅网络科技有限公司 一种对象存储方法、系统、存储介质及电子设备
US11641392B2 (en) 2020-06-04 2023-05-02 Nec Corporation Methods and systems for de-centralized data sharing with enforced data usage control for cross-party data analytics
RU2768615C1 (ru) * 2020-12-28 2022-03-24 Общество С Ограниченной Ответственностью "Дельта Солюшнс" Система хранения данных в соответствии с профилем хранения данных
US20220397889A1 (en) * 2021-06-14 2022-12-15 Transportation Ip Holdings, Llc Facility control and communication system
US11611615B1 (en) * 2021-12-07 2023-03-21 Theta Labs, Inc. Decentralized edge storage network with flexible file sharding
WO2023158780A1 (en) * 2022-02-17 2023-08-24 Theta Labs, Inc. Decentralized edge storage network with flexible file sharding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966120A (en) * 1995-11-21 1999-10-12 Imedia Corporation Method and apparatus for combining and distributing data with pre-formatted real-time video
US20030177435A1 (en) * 2002-03-18 2003-09-18 Robin Budd End-to-end checksumming for read operations
US20030233609A1 (en) * 2002-06-18 2003-12-18 Ikonomopoulos Gus P. Parallel error checking for multiple packets
JP2004126716A (ja) * 2002-09-30 2004-04-22 Fujitsu Ltd 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置
JP2004221756A (ja) * 2003-01-10 2004-08-05 Sony Corp 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
JP2005070987A (ja) * 2003-08-22 2005-03-17 Nippon Telegr & Teleph Corp <Ntt> ファイル共有システムで用いられるノード、ファイル共有システムで用いられるファイル保存方法及びファイル保存プログラム。

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717535A (en) * 1995-01-25 1998-02-10 Seagate Technology, Inc. Block address integrity check for storage medium
US5948062A (en) 1995-10-27 1999-09-07 Emc Corporation Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access
US6310876B1 (en) 1997-02-14 2001-10-30 Advanced Micro Devices, Inc. Method and apparatus for managing bin chains in a memory
US6792454B2 (en) * 1998-02-04 2004-09-14 Interwoven, Inc. System and method for website development
EP0975123A1 (en) * 1998-07-15 2000-01-26 Telefonaktiebolaget L M Ericsson (Publ) Communication device and method for reliable and low-delay packet transmission
AU6619300A (en) 1999-08-02 2001-02-19 Randall M. Chung Vod from a server or a user to another user
US6941338B1 (en) * 1999-09-01 2005-09-06 Nextwave Telecom Inc. Distributed cache for a wireless communication system
US6732162B1 (en) 1999-11-15 2004-05-04 Internet Pictures Corporation Method of providing preprocessed images for a plurality of internet web sites
US20020080888A1 (en) * 2000-12-22 2002-06-27 Li Shu Message splitting and spatially diversified message routing for increasing transmission assurance and data security over distributed networks
WO2002065329A1 (en) 2001-02-14 2002-08-22 The Escher Group, Ltd. Peer-to peer enterprise storage
US7209973B2 (en) * 2001-04-09 2007-04-24 Swsoft Holdings, Ltd. Distributed network data storage system and method
US6757684B2 (en) 2001-10-01 2004-06-29 Ipac Acquisition Subsidiary I, Llc Network-based photosharing architecture
US6565392B2 (en) * 2001-10-01 2003-05-20 Litton Systems, Inc. Compliant section for an electrical contact
US6849589B2 (en) 2001-10-10 2005-02-01 3M Innovative Properties Company Cleaning composition
US20030105831A1 (en) 2001-12-04 2003-06-05 O'kane Robert Peer-to-peer (P2P) and internet content delivery based user based digital acknowledgement trigger used for file transfer
US7243103B2 (en) 2002-02-14 2007-07-10 The Escher Group, Ltd. Peer to peer enterprise storage system with lexical recovery sub-system
US20030158958A1 (en) 2002-02-20 2003-08-21 Koninklijke Philips Electronics N.V. Distributed storage network architecture using user devices
JP2004192483A (ja) * 2002-12-13 2004-07-08 Hitachi Ltd 分散ストレージシステムの管理方法
US20050050292A1 (en) * 2003-05-23 2005-03-03 Oh Jae C. Method and apparatus for per-process based virtual memory hierarchy and disk storage for distributed systems enabled as middleware for main memory and disk blocks on demand
US8001187B2 (en) 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US7366092B2 (en) 2003-10-14 2008-04-29 Broadcom Corporation Hash and route hardware with parallel routing scheme
US7555527B1 (en) 2003-11-07 2009-06-30 Symantec Operating Corporation Efficiently linking storage object replicas in a computer network
US7328303B1 (en) * 2004-06-30 2008-02-05 Sun Microsystems, Inc. Method and system for remote execution of code on a distributed data storage system
JP4598494B2 (ja) * 2004-11-26 2010-12-15 富士通株式会社 利用者仮識別子を用いるネットワークサービスシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966120A (en) * 1995-11-21 1999-10-12 Imedia Corporation Method and apparatus for combining and distributing data with pre-formatted real-time video
US20030177435A1 (en) * 2002-03-18 2003-09-18 Robin Budd End-to-end checksumming for read operations
US20030233609A1 (en) * 2002-06-18 2003-12-18 Ikonomopoulos Gus P. Parallel error checking for multiple packets
JP2004126716A (ja) * 2002-09-30 2004-04-22 Fujitsu Ltd 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置
JP2004221756A (ja) * 2003-01-10 2004-08-05 Sony Corp 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
JP2005070987A (ja) * 2003-08-22 2005-03-17 Nippon Telegr & Teleph Corp <Ntt> ファイル共有システムで用いられるノード、ファイル共有システムで用いられるファイル保存方法及びファイル保存プログラム。

Also Published As

Publication number Publication date
US8549095B2 (en) 2013-10-01
EP1872282A4 (en) 2010-09-29
US20120096127A1 (en) 2012-04-19
KR20080008338A (ko) 2008-01-23
KR101312856B1 (ko) 2013-09-30
WO2006115594A2 (en) 2006-11-02
US20060242155A1 (en) 2006-10-26
JP2008537258A (ja) 2008-09-11
US8266237B2 (en) 2012-09-11
WO2006115594A3 (en) 2008-02-07
CN101427246A (zh) 2009-05-06
EP1872282A2 (en) 2008-01-02
CN101427246B (zh) 2011-07-27
EP1872282B1 (en) 2018-04-25

Similar Documents

Publication Publication Date Title
JP4913128B2 (ja) 分散型で非集中型のデータ格納および検索を行うシステムおよび方法
US7978631B1 (en) Method and apparatus for encoding and mapping of virtual addresses for clusters
Ahlgren et al. Design considerations for a network of information
US20080130630A1 (en) Secure peer to peer messaging service
CN104081739B (zh) 在覆盖网络中利用压缩和差异化引擎的基于主机/路径的数据差异化装置和系统
JP5526137B2 (ja) 選択的データ転送ストレージ
US20060224687A1 (en) Method and apparatus for offline cooperative file distribution using cache nodes
KR20080106187A (ko) 분산형 네트워크에 저장될 파일들을 인코딩하기 위한 컴퓨터 구현 프로세스 및 이를 실행하기 위한 컴퓨터 판독 가능 매체, 피어 투 피어 네트워크의 저장 신뢰도 및 효율성을 향상시키기 위한 시스템, 및 분산형 네트워크에 저장된 인코딩된 파일을 디코딩하기 위한 컴퓨터 구현 프로세스
US20080040420A1 (en) Content distribution network
JP2008234445A (ja) コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム
JP2006074744A (ja) 拡張可能なメディアの分散ストリーミングのシステムおよび方法
JP2012504284A (ja) データ転送記憶における分解/再構築
JP2011528141A (ja) 広告転送用記憶および検索ネットワーク
JP2013257798A (ja) データ収集システムおよびデータ収集方法
JP2017102914A (ja) コンテンツ指向型ネットワークにおける明示的なコンテンツ削除コマンド
Ip et al. COPACC: An architecture of cooperative proxy-client caching system for on-demand media streaming
JP2016046809A (ja) コンテンツ中心ネットワークにおけるオールインワンコンテンツストリームについてのシステム及び方法
WO2008017502A1 (en) Content distribution network
CN106411842B (zh) 在内容中心网络堆栈中传输状态
WO2007008567A1 (en) Secure peer to peer messaging service
WO2007116630A1 (ja) ノード装置、記憶制御プログラムを記録した記録媒体及び情報記憶方法
JP2010113573A (ja) コンテンツ分散保存システム、コンテンツ保存方法、サーバ装置、ノード装置、サーバ処理プログラム、及びノード処理プログラム
WO2012029248A1 (ja) データ転送システム
Lombera et al. Peer-to-peer publication, search and retrieval using the Android mobile platform
de Asis López-Fuentes et al. Dynamic network coding for collaborative multisource system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110516

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120118

R150 Certificate of patent or registration of utility model

Ref document number: 4913128

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees