【実施例】
【0027】
図の実施例において、非制限的に、ピアPjのグループは、P1からP4(j=1乃至4)の4つのピアを有する。なお、本発明は、相互にコンテンツ・データを交換することが可能な少なくとも2個のピアを含むグループに関連する。
【0028】
一般的に、一グループのピアPjは、P1乃至PNのN個のピア(j=1乃至N)を有し、かつL個の異なったクラスC1、C2...CLに分割されてもよい。各々のクラスC
iのサイズは、C
ijであってもよい。各々のクラスC
iのピアの数は、Nに比例すると仮定してもよい。すなわち、全ての
iに対して、|C
i|=r
iN、ここでr
iは、(Nにおいて)定数である。さらに、同じクラスC
iのピアPjは、統計学的に同一であると仮定してもよい。同じクラスC
iのピアPjが同じ接続特徴、及び記憶容量を有するとすると、それらは、コンテンツを求める同じ要求を呈し、かつ特定のコンテンツを得ることによって同じユーティリティを得る。それにもかかわらず、ピアPjがこれらのクラスの存在に気がつかないと仮定(すなわち、ピアが、それがどのクラスC
iに帰属し、かつそれぞれのクラスに基づいて他のピアPjを区別することができるかについて知っていないと)する。このために、本発明の方法によってなされる決定、例えば、ピアのキャッシュメモリMCjにおいて何を記憶するべきか)は、クラスについての演繹的な知識に依存しない。
【0029】
以下の説明において、このワイヤレス・コミュニケーション・ネットワークWNは、ワイヤレス・コミュニケーション・ネットワークWNのIEEE802.11(すなわちWLAN(ワイヤレス・ローカル・エリア・ネットワーク)例えば、WiFiタイプ)であるとする。そして、ピアPj間のワイヤレス通信ネットワークは、WNを介して確立されると考えることとする。なお、本発明は、ワイヤレス・インフラストラクチャのこの実施例に限られない。実際、ワイヤレス・コミュニケーション・ネットワークWNは、例えば、モバイルあるいは携帯ネットワーク、Zygbeeネットワーク、ウルトラワイドバンドネットワーク又はIEEE802.15ネットワークであってもよい。ピアPj間のワイヤレス通信は、例えばワイヤレス・コミュニケーション・ネットワークWNとは異なるワイヤレス・ネットワーク(例えばブルートゥース・ネットワーク)で確立されてもよい。さらに、以下の説明で、ピアPjは、携帯電話であってもよい。なお、本発明は、この種のワイヤレス通信機器に限定されない。実際、本発明は、少なくとも一つの実行可能なP2P通信アプリケーションを有し、かつデータ(又はシンボル)をワイヤレス通信によってP2Pモードで他のワイヤレス通信機器又はネットワーク装置と交換することが可能なワイヤレス通信機器の任意のタイプに関する。したがって、ピアは、ワイヤレス通信インタフェース(又はワイヤレス通信と同等なもの)又は日和見的なコンテンツ配信を領域(例えばコンテンツ「ブース」(又は「throwbox」))においてサポートする車両(たとえばバス又は車)又は基地局に関連するノードを有する限り、ラップトップ、多機能電話、パーソナル携帯情報機器(PDA)であってもよい。
【0030】
さらに、以下の説明で、配布されるコンテンツとしてビデオを取り上げる。なお、本発明は、この種のコンテンツに限られない。実際、本発明は、P2Pモードで配布され得るあらゆるタイプのコンテンツに関連する。そして、特に情報データのファイル、一定量のビデオ、共有する画像、htmlファイル、オーディオファイル、及びソフトウェア・アップデート、RSS(Really Simple Syndication)フィード、及びより一般的には、あらゆるタイプのデータに関連する。
【0031】
図1に示すように、コンテンツは、ネットワークWN(ワイヤレス通信)を介して接続される(またはアクセスされ得る)少なくとも一つのコンテンツサーバCSから、ピアPjによってダウンロードされてもよい
上述したように、本発明は、特に、ピアPj間のピア・ツー・ピア(P2P)モードでコンテンツ(および、より正確に言うとコンテンツ・アイテム)の配布の制御を目的とする方法を提供する。
【0032】
各々のピアPjは、他のピアPj’(j’≠j)に接続した際にそれらから受信され、あるいは、それがネットワークWNにアクセスした際にコンテンツサーバCSから受信されるコンテンツ・アイテムを記憶するキャッシュメモリ(又は、バッファ)MCjを有するということが重要である。
【0033】
さらに、ピアPjがコンテンツ・アイテムを取得したい場合、それは専用のリクエスト又は要求を生成し送信する。このリクエスト又は要求は、各々のピアPj’(j’≠j)に対して、コンテンツ・アイテムを要求する識別子を含む。
【0034】
ピアPj、及びPj間の接続(又はミーティング)は、継続した時間の間に発生する。そして、ポアソン過程(Poisson process)のλ
j,j’の統計に従う。これは、Nに依存しない定数である。
【0035】
ピアPjが、クラスC
i’に帰属する他のピアPj’に接続する場合、このピアPj’は、一様にランダムにC
i’から選択される。したがって、いかなるPjも、一秒間に一定数の他のピアPj’に接続し、コンテンツを共有する。通常、ピアPjはバンド幅が制限されているということが重要である。
【0036】
また、ピアPj、及びPj’間の接続は対称的である(PjがPj’と接続するときは、いつでも、PjはPjと接続する)。その結果、riλ
j,j’ =riλ
j’ ,jとなる。この仮定を理解するには、C
iのピアPjがriλ
j,j’ /|C
j’|の割合で接続される場合、後者は、Pj’がPjと接続する場合と等しいことを理解すべきである。さらに、C
iの各々のピアPjが、μ
i>0(これもNに対して一定)の率で、ポアソン過程に従ってインフラストラクチャにアクセスすると仮定する。例えば、アクセス・イベントは、ピアがその家又はそのオフィスの中にあり、かつワイヤレス接続によりインターネットにアクセスすることができることを示す。このためには、μ
iは、確実に正であることが必要であり、結局、あらゆるピアは、インフラストラクチャにアクセスする。
【0037】
本発明による方法は、ピアPjにそれぞれ関連する本発明による制御デバイスDによってインプリメントすることができる。すなわち、これらのそれぞれは、1つの関連するピアPjのコンテンツ配布の制御に用いられる。
【0038】
図1において例示されるように、各々の(制御)デバイスDはその関連づけられたピアPjに設置されてもよい。なお、各々のデバイスDは、また、その関連づけられたピアPjに接続される器材または要素であってもよい。
【0039】
したがって、デバイスDは、少なくとも部分的に、ソフトウェアモジュール又は電子回路又はハードウェアモジュールで構成することができる。あるいは、ハードウェア、及びソフトウェアモジュールの組合せであってもよい(この場合、デバイスDは、また、ハードウェア、及びソフトウェアモジュール間の連携接続を可能とするソフトウェアインタフェースを有する)。
【0040】
本発明による方法は、このピアPjがネットワークWNに又は他のピアPjにアクセスするたびに、ピアPjに関連づけられたデバイスDによってインプリメントされる。そして、キャッシュメモリMCjに記憶することができるコンテンツに各々関連づけられた一つのグループの変数値を保持する。そして、それ(Pj)及び接続された他のピアPjに記憶されたコンテンツのユーティリティを示す。
【0041】
例えば、変数は、「票」(vote)という名前をつけられてもよい。
【0042】
本方法は、この種のピアPjがネットワークWNに又は他のピアPjにアクセスし、M個の最も高い変数値を有するM個のコンテンツをその変数値のグループにダウンロードするたびに、実行される。Mは、ピアPjがダウンロードされるコンテンツを記憶するためにそのキャッシュメモリMCjに使用する記憶容量に依存する数である。以下の説明において、本発明によるダウンロードは、「リシャッフリング(reshuffling)」と呼ぶ。
【0043】
事実、ピアPjがネットワークWNに又は他のピアPjにアクセスするたびに、その(関連する)デバイスDの制御手段CMは、そのM個の最も高い票値を決定するために、そのグループの票値(vote value)を分析する。そして、M個の対応するコンテンツが求まり、そして、そのピアPjに対して、これらのM個のコンテンツをダウンロードすることを許可する。
【0044】
ピアPjは、ネットワークWNに接続した全てのコンテンツをリシャッフルするというわけではないと仮定してもよい。(なお、それは常にこのコンテンツをリシャッフルする)。むしろ、ピアPj.の中で、その代わりに、それが、ある確率α=α(N)>0を有するコンテンツをリシャッフルすると仮定してもよい。ピアPjのMの数の関数とすることができる。
【0045】
以下において、vP
j,w(t)をピアPj及び時刻tにおけるコンテンツwの票(又は変数)値とする。そして、数1をピアPjの票値のグループとし、以下において票ベクトルと言う。
【0046】
【数1】
各々のピアPjは、それが他の接続されたピアPj’に伝送したレポート及びそれが他のピアPj’から受信したレポートから、それ自身の票値のグループを決定してもよい。このことは、より正確に言うと、このグループの判断を担当しているそのデバイスDの処理手段PMは、レポートを生成し、このレポートが、他の接続されたピアPj’に送信されると言うことである。
【0047】
「レポート」情報データは、ピアPjにコンテンツを記憶したこのピアPjのユーティリティを表す。クラスC
iのピアPjは、コンテンツwを見つけるのに必要とされる時間の関数であるユーティリティU
i,wを有する。すなわち、これらのユーティリティはピアPjの「苛立ち(impatience)」を表す。すなわち、早くコンテンツwを得ることにどれだけ敏感であるかを表す。全てのi及びwに対して、ユーティリティU
i,wは、増加せず(non−increasing)、微分可能(differentiable)であり、かつ|U
i,w|=o(e
ct)、for all c>0であると仮定する。
【0048】
ユーティリティU
i,wが増加しないという仮定は自然である。その理由は、ピアPjがコンテンツwを得ることを待たなければならない時間が長ければ長いほど、コンテンツwを見つけるユーティリティは低くなるからである。さらに、激減することは、ピアPjが非常に待てない状態(impatient)を表し、コンテンツwからほとんどユーティリティを受信しないことを示し、長い遅延によってwが取得される。
【0049】
ピアPjは、いかなるコンテンツもダウンロードしたくない少なくとも一つの(ウェブ)サイト又はアイテム(たとえばビデオ)を含む第1のリストを定義することができ、および/又は、永久にそれらを記憶するためにコンテンツをダウンロードしたい少なくとも一つの(ウェブ)サイト又はアイテム(たとえばビデオ)を含む第2のリストを定義してもよい。したがって、第1のリストはブラックリストのコンテンツ(又はアイテム)又はウェブサイトを含み、第2のリストは、好みのコンテンツ(又はアイテム)又はウェブサイトを含む。これらの第1および第2のリストは、処理手段PMによってピアPjに含まれるローカル・メモリ(例えばソフトウェア・タイプ)に記憶される。この場合、ピアグループへのM個の最も高い票値を有するM個のコンテンツは、第1のリストに帰属することができず、かつ、他の接続されたピアPjからダウンロードすることができない。
【0050】
処理手段PMは、自身に関連するピアPjのキャッシュメモリMCjによって使用される記憶容量を決定する。これは、このキャッシュメモリMCjの最大限の記憶容量と、第2のリストのサイトからダウンロードされるコンテンツを記憶するために使用し得るこのキャッシュメモリMCjの記憶容量との差を計算することによってなされる。このことは、第2のリストに帰属しているコンテンツがキャッシュメモリMCjに永久に記憶され、したがって、ピアPjのユーザの許可のない他のコンテンツと交換されることができないという事態が生じる。
【0051】
上述したように、ピアPjの票ベクトルは、指数関数的加重移動平均(EWMA:exponentially weighted moving average)であり、そのデバイスDによって生成されたレポート及びそれが接続された他のピアPj’から受信したレポートにより作られる。
【0052】
上記の説明を理解するために、まず以下の定義を知る必要がある。あらゆるコンテンツwに対して、ピアPjは、コンテンツwを記憶する最後の2つの連続する他のピアPj’ 又はネットワークWNとの接続の間のタイムスロットの数をトラッキングし続ける。時刻tでのこの量(すなわちタイムスロットの数)を、T
Pj,w(t)>0と表す。ピアPjは、また、全てのペンディングの要求のバッファを維持する。n
Pj,w(t)を、ピアPjが時刻tで有するコンテンツwのためのペンディング要求の数とする。ピアPjのキャッシュメモリMCjに記憶されたあらゆるコンテンツwに対しては、n
Pj,w(t)=0となる。
【0053】
T
Pj,w(t)、及びn
Pj,w(t)は、Pjが興味を持っているコンテンツwに対してだけ保たれることを必要とする。(すなわち、d
i,w>0、ここでd
i,wは、クラスC
iのピアPjによるコンテンツwの要求レートである)。実際には、過去のある日付においてコンテンツwの要求が出された場合だけ、ピアPjはこれらの値の情報をトラッキングし続けてもよい。
【0054】
ピアPjが他のピアPj’と接続(encounter)したときはいつでも、それは、後者(Pj’)にあらゆるコンテンツwに対する以下の量をレポートする。rep
Pj,w(t)=−T
Pj,w(t)*U’
i,w(T
Pj,w(t))*n
Pj,w(t)、ここでU’
i,wは、ユーティリティU
i,wのデリバティブである。この量rep
Pj,w(t)は、コンテンツwがピアPjのユーティリティに影響を及ぼす効果を捕捉したレポートとして役立つ。ピアPjがコンテンツwを記憶するピアPjに接続した場合、ピアPjは、第1に、rep
Pj,w(t)をレポートし、かつそれから値T
Pj,w(t)、及びn
Pj,w(t)をこれに従って更新する(例えば、T
Pj,w(t)を更新し、かつn
Pj,w(t)をゼロにセットする)、さらに、実際には、rep
Pj,w(t)は、ペンディング要求が存在する全てのコンテンツwのためだけにレポートされることを必要とする(すなわちn
Pj,w(t)>0)。他の全てのコンテンツwに対しては、rep
Pj,w(t)は、ゼロに等しく、かつレポートされる必要がない。
【0055】
処理手段PMは、それが接続した他のピアPj’に対して新しいレポートを生成するたびに、そして、その接続した他のピアPj’から新しいレポートを受信するたびに、そのピアPjの票値のグループを更新してもよい。
【0056】
クラスC
iのピアPjに対して、平均票値v
Pj,w(t)は、以下のようにして更新することができる。要求又は他のピアPjとの接続の間で、v
Pj,w(t)は、β=β(N)>0のレートで指数関数的に減衰する。これは、正のゲインファクターでありNに依存する。ピアPjがレポートを受信するときはいつでも、v
Pj,w(t)は、このレポート値によってインクリメントされる(すなわち、rep
Pj’,w(t)が、v
Pj,w(t)に加えられる)。さらに、ピアPjが要求を生成するときはいつでも、v
Pj,w(t)はU
i,w(0)―U
i,w(T
Pj,w(t))だけインクリメントされる。
【0057】
より正式には、小さいδ>0に対して、v
Pj,w(t+δ)=(1−β(N)δ)v
Pj,w(t)+β(N)g
Pj,w(t,t+δ)となる。ここで、確率1−O(δ
2)において、
【数2】
v
Pj,w(t)は、指数関数的減衰のため、これはEWMAと呼ばれている。ゲインファクターβ(N)は、プロセスが新しいレポートに対し多少影響されるようにすることを可能とする。そして、v
Pj,w(t)の変動性を制御する。
【0058】
ピアPjがネットワークWNにアクセスするか又は他のピアPj’に接続するときに、処理手段PMによって、そのキャッシュメモリMCjをリフレッシュするために、MCjにすでに記憶された少なくとも一部のコンテンツの最新版をダウンロードすることを許可される。
【0059】
本発明の方法によって計算されるピアPjのキャッシングポリシー(又はキャッシュ・コンテンツ)が、ピア毎の平均ユーティリティ(または、ソーシャルウェルフェア(social welfare))の最大化に関して最適であることを証明する。さらに、それは、バンド幅よりむしろ記憶容量の使用を最適化する。「キャッシングポリシー」は、基本的には、キャッシュに記憶されるコンテンツである。票ベクトルは、上述したようにキャッシュ・コンテンツを決定する(すなわちピアPjがネットワークWN(又は他のピアPj’)をアクセスするときはいつでも、それは最も高い票を有するM個のアイテムをダウンロードする)。
【0060】
本発明は上述の方法、制御デバイス、及びピア(又はワイヤレス通信機器)の実施例に限定されない。例として取り上げただけである。なお、これらは、下記の請求項の範囲内で、当業者によって考慮され得る全ての別の実施例を含む。