(57)【特許請求の範囲】
【請求項１】
複数の機器を含むピアツーピアのネットワークにおいてデータを複製する方法であって、該複数の機器の各々が複数のデータ項目を記憶しており、第１の機器において、
第２の機器が前記第１の機器によって所望されているデータ項目を供給できるか否かを調べることと、
前記第２の機器が前記所望されているデータ項目を有していない場合に、各々のデータ項目に対する転送値を算出することと、
前記第２の機器が供給できる１つ以上のデータ項目であって前記第１の機器が現在保持しているデータ項目の転送値よりも大きい転送値を有する１つ以上のデータ項目が存在するか否かを判定することであって、データ項目の各々の転送値が（ａ）該データ項目が他の機器で要求されている程度と（ｂ）該データ項目が他の機器に複製されている程度とによって決定される、該判定することと、
前記第２の機器に記憶されており、最も大きい転送値を有するデータ項目のコピーを前記第１の機器に送信することと、を含む、前記方法。
【請求項２】
前記第１の機器は、前記第２の機器から前記最も大きい転送値を有する前記データ項目を取得し、前記取得したデータ項目の前記最も大きい転送値が前記第１の機器に記憶されているデータ項目の最も小さい転送値よりも大きい場合にのみ、前記第１の機器に記憶されている前記最も小さい転送値を有するデータ項目を前記取得したデータ項目によって置き換えるように構成されている、請求項１に記載の方法。
【請求項３】
前記転送値がスカラー量である、請求項１または２に記載の方法。
【請求項４】
所与のデータ項目に対する前記転送値が、前記データ項目の要求の程度と前記データ項目の複製の程度との差分の大きさに依存する、請求項１〜３のうちのいずれか一項に記載の方法。
【請求項５】
データ項目が他の機器で要求されている前記程度が該データ項目の要求の数によって特定される、請求項１〜４のうちのいずれか一項に記載の方法。
【請求項６】
データ項目が他の機器で複製されている前記程度が該データ項目のコピーを保持している機器の数によって特定される、請求項１〜５のうちのいずれか一項に記載の方法。
【請求項７】
前記ネットワーク内のデータ項目のコピーの数がモニタされ、該数が、そのデータ項目を有する機器が前記ネットワークに入るか、あるいは前記ネットワークから出ると更新される、請求項１〜６のうちのいずれか一項に記載の方法。
【請求項８】
前記データ項目を有する機器が前記ネットワークに入るか、あるいは前記ネットワークから出る度に、カウンタが、それぞれ、増分、あるいは減分される、請求項７に記載の方法。
【請求項９】
前記機器が互いに一時的に接続可能である、請求項１〜８のうちのいずれか一項に記載の方法。
【請求項１０】
第１の機器であって、
データを処理するためのプロセッサと、
複数のデータ項目を記憶するためのメモリと、
データ項目を送受信するための送信ステージと、
を備え、
前記プロセッサが、
第２の機器が、前記第１の機器によって所望されているデータ項目を供給できるか否かを調べ、
前記第２の機器が前記所望されているデータ項目を有していない場合に、各々のデータ項目についての転送値を算出し、
前記第２の機器が供給できる１つ以上のデータ項目であって前記第１の機器が現在保持しているデータ項目の転送値よりも大きい転送値を有する１つ以上のデータ項目が存在するか否かを判定することであって、各々のデータ項目の転送値が（ａ）該データ項目が他の機器で要求されている程度と（ｂ）該データ項目が他の機器に複製されている程度とによって決定される、該判定し、
前記第２の機器に記憶されており、最も大きい転送値を有するデータ項目のコピーを前記第１の機器に送信する、
ように構成されている、前記第１の機器。
【請求項１１】
前記プロセッサは、前記第２の機器から前記最も大きい転送値を有する前記データ項目を取得し、前記取得したデータ項目の前記最も大きい転送値が前記第１の機器に記憶されているデータ項目の最も小さい転送値よりも大きい場合にのみ、前記第１の機器に記憶されており前記最も小さい転送値を有するデータ項目を前記取得したデータ項目によって置き換えるように更に構成されている、請求項１０に記載の第１の機器。
【請求項１２】
前記転送値がスカラー量である、請求項１０または１１に記載の第１の機器。
【請求項１３】
所与のデータ項目に対する前記転送値が、前記データ項目の要求の程度と前記データ項目の複製の程度との差分の大きさに依存する、請求項１０〜１２のうちのいずれか一項に記載の第１の機器。
【請求項１４】
データ項目が他の機器で要求されている前記程度が該データ項目の要求の数によって特定される、請求項１０〜１３のうちのいずれか一項に記載の第１の機器。
【請求項１５】
データ項目が他の機器で複製されている前記程度が該データ項目のコピーを保持している機器の数によって特定される、請求項１０〜１４のうちのいずれか一項に記載の第１の機器。
【請求項１６】
ネットワーク内のデータ項目のコピーの数がモニタされ、該数が、そのデータ項目を有する機器が前記ネットワークに入るか、あるいは前記ネットワークから出ると更新される、請求項１０〜１５のうちのいずれか一項に記載の第１の機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの複製に関し、特に、ピアツーピア・ネットワークにおけるデータの複製に関する。
【背景技術】
【０００２】
モバイル機器のオポチュニスティック（ｏｐｐｏｒｔｕｎｉｓｔｉｃ）ネットワークのようなピアツーピア・ネットワークにおいて、機器を携帯している２人のユーザが有効距離範囲内に移動すると、各機器は互いに通信を行うようになる。これが起きると、各機器が、データ項目を別の機器にコピーすることがある。データ項目の複製が広範囲になればなるほど、すなわち、データ項目を保持する機器の数が多くなればなるほど、有効距離範囲内の別の機器によって必要とされるデータ項目が、それだけ益々、入手可能になる。従って、一方において、データを広範囲に複製することは、アクセスし易くなるので、有益となり得る。しかしながら、他方においては、メモリは、限られたリソースである。
【０００３】
それ故、２つの機器が有効距離範囲内に入った時、データをコピーするか、あるいはデータを転送するかの決定は重要なものとなり得る。
【発明の概要】
【０００４】
本発明の一態様に従えば、複数のモバイル機器を含むピアツーピア・ネットワークにおいてデータを複製する方法であって、各々のモバイル機器が複数のデータ項目を記憶しており、第１の機器と第２の機器との間の接続を形成するステップと、上記第１の機器上に記憶されているデータ項目のコピーを、（ａ）そのデータ項目がその他の機器上で要求されている程度と、（ｂ）そのデータ項目がその他の機器上に複製されている程度とに応じて、上記第２の機器に送信するステップと、を含む上記方法が提供される。
【０００５】
上記送信が、（ａ）上記データ項目がその他の機器上で要求されている程度と、（ｂ）上記データ項目がその他の機器上に複製されている程度の両方に依存しているので、データを広範囲に複製する必要性とメモリを節約する必要性との間の均衡がとれる。
【０００６】
本発明の別の一態様に従えば、モバイル機器であって、データを処理するための処理機構と、複数のデータ項目を記憶するためのメモリと、データ項目を送受信するための送信ステージと、を備えており、上記処理のステージが、（ａ）そのデータ項目がその他の各機器上で要求されている程度と、（ｂ）そのデータ項目がその他の各機器上に複製されている程度とのインジケーション（ｉｎｄｉｃａｔｉｏｎ）に応じて、データ項目の送信決定を行なうように構成されている、モバイル機器が提供される。
【図面の簡単な説明】
【０００７】
【図１】本発明に従う通信システム１０を示す図である。
【図２】モバイル機器を示す図である。
【図３】追跡サーバを示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明を、上記の図面を参照しつつ、単なる例として説明する。
図１には、複数のモバイル機器１２ａ、１２ｂ、１２ｃ、及び、１２ｄと追跡サーバ（トラッカ・サーバ）１４とを含む通信システム１０が示されている。図２には、モバイル機器１２の１つが詳細に示されている。モバイル機器１２は、各々、短距離無線モード、例えばブルートゥース・プロトコルを使用して通信を行う短距離モジュール１６を有する。また、各々の機器は、追跡サーバ１４との間でそれぞれの通信チャネル２０を形成するために、有線ネットワークの複数の基地局の１つ（図示せず）と、長距離無線モード、例えばＧＳＭ（登録商標）を使用して通信するための長距離モジュール１８を備えている。通常、各モバイル機器は、電話機能を有するハンドヘルド機器である。有線ネットワークは、インターネットの一部であってもよい。
【０００９】
各モバイル機器は、長距離モジュール１８を用いて、有線ネットワークを介して間接的に互いに通信を行える。しかしながら、各モバイル機器は、互いの有効距離範囲内にある場合、短距離無線リンク１９を介して、短距離モードで互いに直接通信を行え、その距離は、代表的には数メートルであり、通常１０メートル未満である。各モバイル機器がそれぞれのユーザによって持ち運ばれるので、互いの有効距離範囲内に入ったり出たりし、その結果、ネットワーク・レベルで、各機器相互間の各接続が、時間と共に、ランダム、不確実、あるいは少なくとも予測困難と思われ得る態様で、変化する。すなわち、各機器相互間の各接続は、その場限りの（アドホックの）態様で形成される。
【００１０】
２つのモバイル機器が互いの有効距離範囲内に入ると、すなわち、互いに通信可能な状態になると、各々は、他方と、オポチュニスティック（ｏｐｐｏｒｔｕｎｉｓｔｉｃ）態様で、データを交換できる。すなわち、各々の機器は、他方の機器と近いことによって提供される機会を利用できる。このように、各モバイル機器は、オポチュニスティック・ネットワーク、あるいはアドホック・ネットワークを形成し、各々の機器がネットワークにおいてピアとして機能しているものであるとみることができる。
【００１１】
図２に戻ると、各々のモバイル機器１２には、データ処理ステージ２２が設けられており、短距離モジュール１６と長距離モジュール１８とに動作上接続され、これらから受信したデータを処理し、及び、送信用データを準備する。このデータ処理ステージは、各処理を行う処理機構２４と、コンテンツ・データを含むデータを記憶するメモリ２６とを有している。
【００１２】
各々のモバイル機器は、長距離モードにおいて、基地局を介してインターネットに接続されてもよい。インターネット内には１つ以上のサーバ（図示せず）が設けられており、各モバイル機器は、このサーバから、コンテンツにアクセスできる。さらに、あるいは別の一実施形態において、各モバイル機器は、例えば、イーサネット（登録商標）又はその他の電気的な接続形態のような通信モード、あるいは例えば、インターネットに接続するためのＷｉＦｉのような別の無線モードを有してもよい。従って、各ユーザは、長距離モードにおいて、インターネットからマルチメディア・データ（例えば、ビデオ・データ、オーディオ・データ、あるいは両者からなる番組）のようなコンテンツをダウンロードして、次に、短距離通信によってオポチュニスティック態様で各ユーザ間でそのコンテンツを回すことができる。
【００１３】
通信システム１０を、互いに通信を行う各モバイル機器によって形成されたオポチュニスティック・ネットワークであることを考慮すると、任意の機器（あるいはそのユーザ）が特定のファイルの取得を望む状況があり得る。そのファイルを記憶しているその他の機器の数が多ければ多いほど、上記任意の機器が、このファイルを記憶しているその他の一つの機器と交信できる可能性はますます高くなる。その結果、概して、若しファイルのコピーが多くの機器に記憶されているならば、上記任意の機器がそのファイルを取得するのに要する時間は低減される。しかしながら、記憶容量には限りがあるので、多くの相異なる機器にファイルを複製する、あるいは記憶することは、その他のファイルを記憶するために残される記憶スペースが少なくなることを意味している。
【００１４】
さらに、幾つかのファイルが過少に複製される、すなわち、それらのファイルの需要がそれらの供給（それらのファイルに対して複製の程度によって表されるもの）を上回ることがあり得る。逆に、その他の幾つかのファイルが過多に複製される、すなわち、供給が需要を上回ることがあり得る。
【００１５】
一実施形態において、供給対需要が、各々のファイルに対して、需要（各々のファイルの要求）とシステム内に記憶されているファイルのコピー数である供給とを常時追跡することによって、モニタされる。これは、追跡サーバ１４において集中的に行われても良いし、あるいは各々の機器１２において分散様式で行われても良い。需要に対する供給は、転送値によって表される。転送値がゼロに等しい時、この転送値は、中立（ニュートラル）点であると見なされる。転送値が正の値である時、ファイルが過少に複製されている、あるいは少ない（レア）と見なされる一方、負の値は、過多な複製を示している。転送値は、ここでは「超過要求値」とも呼ぶことにし、ファイルの複製に対する要求の超過のインジケーションとみることができる。
【００１６】
ファイルを１つの機器からもう１つの機器に転送すべきか、あるいはコピーすべきかの決定は、この転送値に従って、換言すれば、供給対需要に基づいて、行われる。データ・ファイルの転送値がそのファイルの需要対供給を表すので、ファイルをコピーすべきか否か、すなわち、ファイルを１つの機器からもう１つの機器に送信すべきか否かの判定の際の転送値の使用によって、概して、複製過少のファイルはより多く複製され、複製過多のファイルはより少なく複製されるようにする傾向になる。
【００１７】
さらに、システム内の任意のデータ・ファイルのコピー数が、例えばカウンタ装置でモニタされるので、ファイルを保持する各機器がシステムへ入ったこととシステムからの退出したことが考慮され、例えば、カウンタ値を増大、あるいは低減することによって考慮される。
【００１８】
図３において、追跡サーバ１４が、さらに詳細に示されている。追跡サーバ１４は、データを処理するためのプロセッサ２８と、データを記憶するためのメモリ３０とを有する。追跡サーバは、メモリ内にテーブルを保持するように構成されており、このテーブルにおいて、システム内に記憶されている各々のファイルが自己とＩＤとを関連付けており、このＩＤは、(ｉ)そのファイルのコピーを保持する機器の数を示す複製値と、(ｉｉ)そのファイルに対してなされた要求の数を示す要求値とにマッピングされている。
【００１９】
一実施形態において、モバイル機器が別のモバイル機器に対して任意のファイルを要求する際、要求側のモバイル機器は、通信チャネル２０を介して、追跡サーバに要求更新メッセージを送信する。追跡サーバは、これに応答して、そのファイルに対する要求値を１だけ増大することによって、その値を更新する。同様に、１つの機器が別の１つの機器からファイルのコピーを受信する際、受信側のモバイル機器は追跡サーバに複製更新メッセージを送信し、追跡サーバは、これに応答して、要求値を１だけ増大することによって、コピーされているそのファイルに対する複製値を更新する。また、同様に、１つのモバイル機器がファイルを削除する際、更新メッセージが追跡サーバに送信されて、これによって、追跡サーバは、そのファイルに対する複製値を低減できる。システムに入るモバイル機器は、自己が記憶している各ファイルを追跡サーバに通知する更新メッセージを送信するように構成されており、追跡サーバは、それに応答して、そのファイルの各々に対する複製値を増大する。
【００２０】
このようにして、各々のファイルに対する各複製値は、ファイルがコピーされるか、あるいは削除されるかに従って、増大される、あるいは低減される個別のカウンタとしてみることができる。また、各々のファイルに対する要求値は、要求がなされる毎に増大されるカウンタとしてみることができ、この要求値は、時折リセットされる。
【００２１】
次に、以下機器Ａ及び機器Ｂと称する２つのモバイル機器が短距離リンクを介して交信状態にある状況を例示する。機器Ａは、自己のメモリに記憶された、それぞれ、ｕ、ｖ、及び、ｗという名称の各ファイルを有している。機器Ａは、ファイルｚを入手しようとしている。機器Ｂは、ｗ、ｘ、及び、ｙという名称の各ファイルを有しており、ファイルｕを入手しようとしている。追跡サーバは、各々のファイルｕ、ｖ、ｗ、ｘ、ｙ、及び、ｚの各々に対して、それぞれ、複製値ｐ_ｕ、ｐ_ｖ、・・・、及び、ｐ_ｚと、それぞれ、要求値ｑ_ｕ、ｑ_ｖ、・・・、及び、ｑ_ｚとの各推定値を、上述の態様で、保持している。追跡サーバは、自己のテーブル内の現在の各頻度値と現在の各複製値とをブロードキャストする。モバイル機器が保持している１つ以上のファイルに対応する各値が、その機器によって取り込まれて、メモリにロードされ、ファイルをコピーするか、あるいは置き換えるかの決定に使用される。
【００２２】
機器Ａと機器Ｂが交信状態になると、以下の各ステップが行われる。
【００２３】
機器Ａは、機器Ｂにメッセージを送ることによって、機器Ｂが所望のファイル、すなわち、ファイルｚを供給できるか否かを調査する。機器Ｂは、ファイルｚを有していないので、否定の返答をし、機器Ａは、さらに、以下の各ステップを行なう。
【００２４】
機器Ａは、各々のファイルの超過要求を計算し、この量は、全てのファイルに対して、ｅｘｃｅｓｓ_ｕ＝ｑ_ｕ-Ｋｐ_ｕ、ｅｘｃｅｓｓ_ｖ＝ｑ_ｖ-Ｋｐ_ｖ、・・・によって与えられる。この場合、Ｋは、公称キャッシュ・サイズであり、ここでは３である。
【００２５】
次に、機器Ａは、機器Ｂが供給できるファイルであって、且つ、機器Ａが現在保持している各ファイルよりも高い超過要求レベルを有するファイルがあるか否かを判定する。
【００２６】
本例において、機器Ｂが保持している各ファイルのうち、ファイルｙが、最も大きい超過を有するものである（ｅｘｃｅｓｓ_ｙ＞ｅｘｃｅｓｓ_ｗ＞ｅｘｃｅｓｓ_ｘ）。ファイルｕは、機器Ａが保持している各ファイルのうち、最も小さい超過を有するものである（ｅｘｃｅｓｓ_ｕ＜ｅｘｃｅｓｓ_ｖ＜ｅｘｃｅｓｓ_ｗ）。機器Ａは、ｅｘｃｅｓｓ_ｙ＞ｅｘｃｅｓｓ_ｕの場合に限り、機器Ｂからファイルｙを入手して、自己のメモリ内に、ファイルｕの代わりに、入れるように構成されている。
【００２７】
仮に機器Ａが機器Ｂによって要求されるファイルを有していなかったならば、機器Ｂは、機器Ａとの関係において、上述と同じロジックに従うことになる。しかしながら、機器Ａが機器Ｂによって要求されるファイルを有しているので、機器Ｂは、単に、ファイルｕをダウンロードしてシステムから退出して、その際、所望のファイルｕを取得するためのスペースを空けるために任意のファイルを捨てること以外は、必ずしも、自己の、関連する各複製値を更新したり、あるいはその他のキャッシュの更新を行ったりすることはない。
【００２８】
その後、機器Ａと機器Ｂは、追跡サーバに、どのファイルが要求されたか、及び、どのファイルがコピーされたかを示す適切な更新メッセージを送信し、その結果、追跡サーバは、要求された、及び、転送されたファイルの各々に対する追跡サーバが有する複製値と要求値とを更新できる。
【００２９】
第２の実施形態において、要求値と複製値が集中的に保持され更新されるのではなく、個別の各機器が、自己の各ファイルの要求値と複製値とに対する自己の推定値を保持する。従って、追跡サーバが複製値ｐ_ｕ、ｐ_ｖ、・・・、及び、ｐ_ｚと、要求値ｑ_ｕ、ｑ_ｖ、・・・、及び、ｑ_ｚとの各推定値を保持する代わりに、機器Ａがこれらの値の自己の各推定値を保持することになる。すなわち、全てのファイルｕ、ｖ、ｗ、ｘ、ｙ、及び、ｚに対して、機器Ａは、自己のメモリ内に、自己の複製値の各推定値ｐ_ｕ（Ａ）、ｐ_ｖ（Ａ）、・・・、及び、ｐ_ｚ（Ａ）と、自己の要求値の各推定値ｑ_ｕ（Ａ）、ｑ_ｖ（Ａ）、・・・、及び、ｑ_ｚ（Ａ）とを保持する。同様に、全てのファイルｕ、ｖ、ｗ、ｘ、ｙ、及び、ｚに対して、機器Ｂは、自己のメモリ内に、自己の複製値の各推定値ｐ_ｕ（Ｂ）、ｐ_ｖ（Ｂ）、・・・、及び、ｐ_ｚ（Ｂ）と、自己の要求値の各推定値ｑ_ｕ（Ｂ）、ｑ_ｖ（Ｂ）、・・・、及び、ｑ_ｚ（Ｂ）を保持する。
【００３０】
ファイルをコピーすべきか否かを判定する際に機器Ａと機器Ｂとによって行われる各ステップは、第１の実施形態において行われるものと本質的に同じである。しかしながら、機器Ａが各々の項目に対して超過要求を計算する際、これは、追跡サーバからの各値ではなく、機器Ａが保持している各推定値を用いて、行われる。同様に、機器Ｂが各々の項目に対して超過要求を計算する際、これは、機器Ｂが保持している各推定値を用いて行われる。
【００３１】
さらに、機器Ａは、メモリ内に、ファイルｕの代わりに、ファイルｙを入れた後、自己の各推定値を更新し、例えば、ｐ_ｕ（Ａ）＝ ｐ_ｕ（Ａ）＋ｒ（０-ｐ_ｕ（Ａ））、（ここで、ｒは所定のパラメータであり、遭遇した機器Ｂが項目ｕを有していないので０が導入されている）、・・・、ｐ_ｗ（Ａ）＝ ｐ_ｗ（Ａ）＋ｒ（１- ｐ_ｗ（Ａ））（ここで、遭遇した機器Ｂが項目ｗを有しているので、付加的な項１が導入されている）とし、同様の更新が、各要求率に対して、行われる。
【００３２】
以上の説明はファイルの転送についてのものであるが、その他のデータ要素も同じ態様で転送できる。すなわち、同じ考えが、その他のデータ要素、例えば、パケット、オブジェクト、あるいはデータ・チャンクのようなデータ要素に適用できる。ファイルには、オーディオ・ビジュアル・データ、すなわち、映画のようなコンテンツが含まれてもよい。また、ファイルは、画像、オーディオ・データ、あるいはその他のデータであってもよい。
【００３３】
一実施形態において、各推定値を用いて、何人のユーザが所与のデータ項目を記憶しているか、及び、何人のユーザがそれを要求しているかを評価する。一実施形態において、各モバイル機器の各々は、（システムに入る、あるいはシステムから出る時、あるいは自己のコンテンツを変更する時に）この情報を定期的に追跡サーバに報告する。従って、サーバは、これらの値を常時モニタすることができ、これらの値を推定する必要性が低減される。
【００３４】
別の一実施形態において、サーバは、定期的に、全ノード、すなわち、全モバイル機器のうちの極僅かなもの（例えば１〜１０％）を対象に交信／サンプリングを行い、それらが何を記憶しているか、及び、何を要求しているかを尋ねる。これによって、追跡サーバは、真の各値の推定値を得る。
【００３５】
追跡サーバは、これらをユーザが利用できるように公開し、ユーザは、サーバと交信して、いつでも、必要とするこの情報を知ることができる。
【００３６】
まとめとして、以下に付記すれば、本発明者は、各々のモバイル・ユーザが、その他の幾人かのモバイル・ユーザが記憶しているコンテンツを入手したいと望むケース、すなわち、いわゆる、モバイル・ピアツーピア・システムについて考慮する。このコンテンツを取得する１つの方法は、それを記憶している別のユーザに遭遇して、それを無線転送によって（例えば、ＷｉＦｉ、あるいはブルートゥースを介して）取得することである。各モバイル・ユーザは、興味があるコンテンツを取得すると、このシステムから退出してもよい。
【００３７】
２人のユーザが互いに遭遇し、両ユーザの何れもが、他方のユーザが興味を持っているコンテンツを記憶していない場合、両ユーザは、それにも拘わらず、両ユーザが現在記憶しているコンテンツの一部の交換を選択できる。両ユーザは、これを、レアであるコンテンツ項目の複製の数を増やす目的で、行うことができ、それによって、その他の各ユーザがそれを迅速に取得することを可能にする。
【００３８】
これは、次の問題を呼び起こすことになる。すなわち、システムにおいて、どのコンテンツ項目がレアであり、どのコンテンツ項目が豊富であるか、及び、どのようにして、このような情報を使用して、各モバイル・ユーザが、オポチュニスティックに互いに遭遇した時に、どのようにコンテンツを交換すべきか、という問題が生じる。
【００３９】
特に、本システムは、(ａ)システム内のどの項目が「レア（稀）」であるかを識別する方法と、(ｂ)この情報を使用して、各モバイル・ユーザが、その他のモバイル・ユーザに遭遇した時、各モバイル・ユーザが記憶しているコンテンツをどのように複製すべきかを導く方法とを規定しようとするものである。
【００４０】
本システムには、（ａ）何人のユーザが、現在、所与のコンテンツ項目を要求しているか、及び、(ｂ) 何人のユーザがこの項目を記憶しているか、を常時モニタする装置、あるいはモジュールが含まれている。本発明者は、この装置を「トラッカ（追跡装置）」と呼ぶ。トラッカは、この情報を用いて、システム内で各ユーザが現在求めている各々の項目に数値を関連付ける。正の数値は、この項目が「過少に複製されている」、すなわち、「レア」であることを示している。負の数値は、この項目が「過多に複製されている」、すなわち、「豊富」であることを示している。この数値は、トラッカによって、各モバイル・ユーザにブロードキャストされる。次に、各モバイル・ユーザは、これらの値を使用して、遭遇時に、自己が記憶する各項目のうちの１つを、自己が出会ったユーザが取得している項目で置き換えるべきか否か、あるいは（逆もまた同様）自己の各項目のうちの１つを、他方のユーザに、送信すべきか否かを判定する。
【００４１】
以上から理解できるように、各本実施形態は、データの複製、特に、ピアツーピア・ネットワークにおけるデータの複製に関するものである。各々の機器は、複数のデータ項目を記憶している。２つの機器が有効距離範囲内に入ると、データ項目を複製すべきか否かについての決定が、そのデータ項目がその他の各機器によって要求されている程度と、(ｂ)そのデータ項目がその他の各機器上に複製されている程度とに応じて、なされる。このようにして、データ項目の需要と供給の両方が考慮される。
【図１】
0005938091.tif 000002
【図２】
0005938091.tif 000003
【図３】
0005938091.tif 000004