(57)【要約】自動的なファイル分配が記述される。ピアツーピア・ネットワークのメンバーは、分配すべきファイルをファイル・サーバーから受信する。次いで、ファイルはピアツーピア・ネットワークを介してピアツーピア・ネットワークの他のメンバーへ分配される。ピアツーピア・ネットワークのメンバーは、他のメンバーに関連する信頼レベル又は評判に基づいて、そのメンバーからファイルを受信するかどうかを選択することができる。信頼レベルは、少なくとも部分的に、メンバー間の分離度に基づく。また、ファイルは、例えば、ファイルに関連するデジタル署名を検証することによって確認される。
2009525532.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって少なくとも部分的に実施される方法であって、
ファイルが利用可能なピアツーピア・ネットワークから第１のメンバー及び第２のメンバーを識別するステップ（６０４）と、
前記ピアツーピア・ネットワークの前記第１のメンバー及び前記第２のメンバーに関連する信頼度評価に基づいて、前記ピアツーピア・ネットワークの前記第１のメンバーから前記ファイルを受信するステップ（６１０）と
を備える方法。
【請求項２】
前記第２のメンバーに関連するネットワーク・トラフィックの自動的に検出されたレベルと比較しての、前記第１のメンバーに関連するネットワーク・トラフィックの自動的に検出されたレベルに基づいて、前記ピアツーピア・ネットワークの前記第１のメンバーから前記ファイルを受信するステップを更に備える、請求項１に記載の方法。
【請求項３】
ネットワーク待ち時間テストの結果に基づいて前記ピアツーピア・ネットワークの前記第１のメンバーから前記ファイルを受信するステップを更に備える、請求項１に記載の方法。
【請求項４】
前記第２のメンバーに関連する地理的場所と比較しての、前記第１のメンバーに関連する地理的場所に基づいて、前記ピアツーピア・ネットワークの前記第１のメンバーから前記ファイルを受信するステップを更に備える、請求項１に記載の方法。
【請求項５】
前記ファイルに対する要求に応答して前記ピアツーピア・ネットワークの前記第１のメンバーから前記ファイルを受信するステップを更に備える、請求項１に記載の方法。
【請求項６】
受信されたファイルを検証するステップを更に備える、請求項１に記載の方法。
【請求項７】
受信されたファイルを検証するステップが、該ファイルに関連するデジタル署名を確認するステップを含む、請求項６に記載の方法。
【請求項８】
前記ピアツーピア・ネットワークの前記第１のメンバー及び前記第２のメンバーに関連する信頼度評価が、ユーザーの社会的ネットワーク内の前記第１のメンバー及び前記第２のメンバーの位置に基づいており、
ユーザーの社会的ネットワークが、該ユーザーに関連するコンタクト・リストにおいて特定される前記ピアツーピア・ネットワークのメンバーを含む第１のレベルと、該ユーザーに関連する前記コンタクト・リストにおいて特定されるメンバーに関連するコンタクト・リストにおいて特定される前記ピアツーピア・ネットワークのメンバーを含む第２のレベルとを有する、
請求項１に記載の方法。
【請求項９】
前記ピアツーピア・ネットワークの前記第１のメンバーに関連する信頼度評価が、評判サービスから取得される評判データに更に基づく、請求項８に記載の方法。
【請求項１０】
前記ピアツーピア・ネットワークの前記第１のメンバーに関連する信頼度評価が、前記ピアツーピア・ネットワークの前記第１のメンバーに関連する証明書に基づく、請求項１に記載の方法。
【請求項１１】
前記ピアツーピア・ネットワークの前記第１のメンバーに関連する信頼度評価が、ユーザーのコンタクト・リストにおける前記第１のメンバーの独自性に基づいており、
前記ピアツーピア・ネットワークの前記第１のメンバーに関連する信頼度評価が、該ユーザーの友人に関連するコンタクト・リストにおける前記第２のメンバーの独自性に基づいている
請求項１に記載の方法。
【請求項１２】
ピアツーピア・ネットワークであって、
前記ピアツーピア・ネットワークのメンバーの友人を識別するデータを維持するよう構成されたメンバー・コンタクト・リスト格納部（４０２）と、
前記ピアツーピア・ネットワークの第１のメンバーに関して、前記ピアツーピア・ネットワークの一人以上の他のメンバーに関連する信頼レベルを決定し且つ維持するよう構成されたメンバー信頼度生成器（４０４）と、
を具備するピアツーピア・ネットワーク。
【請求項１３】
前記メンバー信頼度生成器が、前記ピアツーピア・ネットワークのメンバー間の分離度に基づいて信頼レベルを決定するよう構成される、請求項１２に記載のピアツーピア・ネットワーク。
【請求項１４】
特定のユーザーのコンタクト・リストにおいて識別される第１のメンバーに関連する信頼レベルの方が、前記第１のメンバーに関連するコンタクト・リストにおいて識別される第２のメンバーに関連する信頼レベルよりも高い、請求項１３に記載のピアツーピア・ネットワーク。
【請求項１５】
コンピュータによって少なくとも部分的に実施される方法であって、
分配されるべきファイルを受信するステップ（５０８）と、
ピアツーピア・ネットワークのメンバーに対して、前記ファイルが分配のために利用可能であることを通知するステップであって、前記メンバーが、特定のユーザーに関連するコンタクト・リストに少なくとも部分的に基づいて識別されるステップ（５１６）と、
前記ピアツーピア・ネットワークを介して前記ファイルを分配するステップ（５２０）と、
を具備する方法。
【請求項１６】
前記ピアツーピア・ネットワークを介して、前記メンバーから前記ファイルに対する要求を受信するステップと、
前記要求に応答して、前記ピアツーピア・ネットワークを介して前記ファイルを分配するステップと、
を更に備える、請求項１５に記載の方法。
【請求項１７】
前記ファイルに関連するデジタル署名を確認することによって、受信された前記ファイルを検証するステップを更に備える、請求項１５に記載の方法。
【請求項１８】
前記ファイルが、前記ピアツーピア・ネットワークの信頼されるメンバーから受信される、請求項１５に記載の方法。
【請求項１９】
前記ピアツーピア・ネットワークのメンバーに通知するステップが、ユーザーに関連するピアツーピア・ネットワーク・コンタクト・リストにおいて識別される該ユーザーの友人に通知するステップを含む、請求項１５に記載の方法。
【請求項２０】
前記ピアツーピア・ネットワークのメンバーに通知するステップが、
前記ユーザーに関連するコンタクト・リストにおいて識別される該ユーザーの友人を選択するステップと、
前記友人に関連するコンタクト・リストにおいて識別される該友人の友人に通知するステップと
を更に備える、請求項１９に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ウェブをベースとする製品サービスの操作に関連するコストは、当該サービスにユーザーが追加されるにつれて大幅に増大し得る。こうしたコストは帯域幅、電気及び設備を含み得る。多くの製品サービスの１つの重要な要素は、ユーザーによって可能な最高品質の経験を維持するための、製品又はサービスに関連するファイルの更新である。典型的には、更新サービスは、関連した製品及びサービスの最新のファイルをダウンロードすることができるオンライン・サービスを提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００２】
更新ファイルを分配するコストの低減は、こうした多くのユーザーにとって有益である。
【課題を解決するための手段】
【０００３】
この要約は、以下の詳細な説明において更に記述される「概念の選択」を簡単な形で導入するために提供される。この要約は、特許請求される主題の重要な特徴又は必須の特徴を識別することを意図してはおらず、また、特許請求される主題の範囲を決定する際の助けとして用いられることを意図してもいない。
【０００４】
自動的なファイル分配のための技術が記述される。ピアツーピア・ネットワーク内で、ユーザーの社会的ネットワークの第１のレベルが、ユーザーに関連するコンタクト・リストにおいて識別される他のユーザーに基づいて決定される。そうしたユーザーに関連するコンタクト・リストは、ユーザーの社会的ネットワークの追加のメンバーを識別するのに用いられる。社会的ネットワークは、任意の数のそうした相互作用に制限される。
【０００５】
信頼レベルは、ユーザーの社会的ネットワークの一部であるピアツーピア・ネットワークのメンバーに割り当てられる。信頼レベルは、少なくとも部分的に、特定のメンバーが社会的ネットワーク内のユーザーからどれだけ隔たっているかに基づいている。
【０００６】
ファイルは、ピアツーピア・ネットワークの種々のメンバーに関連する信頼レベルに少なくとも部分的に基づいて、ピアツーピア・ネットワークのメンバー間で分配される。ユーザーにとって、ピアツーピア・ネットワークの他のメンバーからのファイルが利用可能であるとき、他のメンバーに関連する信頼レベルが評価され、ユーザーがファイルを受信するかどうかが決定される。ファイルが受信されると、ファイルの確認が実行され（例えば、デジタル署名を検証し）、ファイルが改竄されていなかったことが確認される。
【発明を実施するための最良の形態】
【０００７】
以下に記述される実施の形態は、自動的なファイル分配のための技術を提供する。ファイル（典型的には、製品又はサービスのファイルであるが、これに限られるものではない）は、更新サービスから、ピアツーピア・ネットワークの一部をなすクライアント装置へダウンロードされる。ピアツーピア・ネットワークの一例は、マイクロソフト社のＭＳＮメッセンジャのようなインスタント・メッセージング・ネットワークである。ダウンロードされた更新ファイルはピアツーピア・ネットワークを介して他のクライアント装置に自動的に分配される。例示の実施形態においては、分配側のユーザーに関連した評判と更新ファイルに関連するデジタル署名とを用いて、ピアツーピア・ネットワークを介しての正当な更新ファイルの受信を保証する。
【０００８】
図１は、自動的なファイル分配が実施される例示のネットワーク環境を図示している。ユーザー１０２はクライアント装置１０４を用いてピアツーピア・ネットワーク１０６に接続する。パーソナル・コンピュータとして図示されてはいるが、クライアント装置１０４（及び、ピアツーピア・ネットワーク１０６内の他のクライアント装置のそれぞれ）は更新サービス１０８から更新ファイルを受信し、ピアツーピア・ネットワーク１０６を介して他のクライアント装置と対話することができる任意の形式のクライアント装置を表している。こうしたクライアント装置はパーソナル・コンピュータ、ラップトップ・コンピュータ、インターネット動作可能パーソナル・デジタル・アシスタンス（ＰＤＡ）、インターネット動作可能携帯電話、スマートフォン等々を含むが、これらに限定されない。
【０００９】
クライアント装置１０４は、更新ファイルが利用可能であるかどうかを決定するために、（例えば、インターネット１１０等を介して更新サービス１０８をピングすることによって）コンテンツ分配ネットワークにアクセスするよう構成される。任意の数の形式の更新ファイル、例えば、オペレーティング・システム更新ファイル、ソフトウェア・アプリケーション更新ファイル、ウィールス・エンジン更新ファイル、ウィールス署名更新ファイル等々が利用可能であり得る。ピングに応答して、更新サービス１０８は、矢印１１４、１１６に示すように、更新ファイル１１２をクライアント装置１０４へ送出する。例示の実施形態においては、更新ファイル１１２は、例えば公開鍵インフラストラクチャ（ＰＫＩ）を介して更新ファイルの信頼性が確認される機構を提供するよう、デジタル的に署名される。認証サーバー１１８は更新ファイルの署名及び確認をサポートするために設けられる。
【００１０】
クライアント装置１０４が更新ファイル１１２を受信した後、更新ファイルは、矢印１２０、１２２、１２４、１２６によって示すように、ピアツーピア・ネットワーク１０６を介して、他のユーザーに関連した他の１つ以上のクライアント装置へ分配される。例示の実施形態においては、更新ファイルはピアツーピア・ネットワーク１０６を介してデジタル署名と共に送信されるので、ピアツーピア・ネットワーク１０６を介して更新ファイルを受信するクライアント装置は、受信したファイルと更新サービスから提供されたオリジナルのコピーとが同一であることを確認することができる。
【００１１】
更に、ユーザー１０２は、クライアント装置１０４から分配されている更新ファイルを受信すべきかどうかを決定するためにピアツーピア・ネットワーク１０６内の他のユーザーが考慮すべき関連の評判を持っている。例示の実施形態においては、１つのユーザーが他のユーザーを信頼する程度は、少なくとも部分的に、ピアツーピア・ネットワーク１０６内のユーザー間の関係に基づいている。代替の実施形態においては、特定のユーザーを信頼し得るレベルを決定するために、第三者の評判サービスに助言を求めることができ、又は、１つ以上の評判サービスを含む任意の数の供給源から評判データの組み合わせを用いることができる。
【００１２】
ピアツーピア・ネットワーク・サービス１２８はピアツーピア・ネットワーク１０６内のメンバー間の直接接続を容易にするために実装される。例示のピアツーピア・ネットワーク・サービス１２８の選択要素については、図４を参照して更に詳細に説明する。
【００１３】
図２は、ピアツーピア・ネットワーク２００内の例示の関係を示している。典型的なピアツーピア・ネットワーク（例えば、インスタント・メッセージング・ネットワーク）においては、ユーザーは、電子メール・アドレスその他の識別情報によってユーザーの友人を識別するコンタクト・リスト２０２（ここでは「仲間リスト」とも呼ばれる）のメンバーになるよう、他のユーザーを勧誘する。こうした友人も仲間リストを有する。例えば、ユーザーの仲間リスト２０２は５人の友人という特定のユーザーを識別する。これらの友人も、仲間リスト２０４、２０６、２０８、２１０、２１２によって表される仲間リストを有する。同様に、友人の仲間リスト２０４、２０６、２０８、２１０、２１２において識別される個人もまた仲間リストを有する。例えば、友人の仲間リスト２０４において識別される二人の友人は仲間リスト２１４、２１６によって表される仲間リストを有する。同様に、友人の仲間リスト２０６及び友人の仲間リスト２０８において識別される個人は、友人の仲間リスト２１８によって表される仲間リストを有する。
【００１４】
例示的な実施形態においては、仲間リストは、勧誘によってのみユーザーが他のユーザーの仲間リストに追加され得るという信頼関係を表している。したがって、或るユーザーが他のユーザーの仲間リストにおいて識別されるならば、これら二人のユーザー間の或る種のレベルの信頼が仮定される。更に、ユーザーと友人の友人との間に或る程度の信頼が存在する。ユーザーの友人、友人の友人等はユーザーの社会的ネットワークとして考えることができる。
【００１５】
また、ユーザーの仲間リストのメンバーは、ユーザーによって規定される種々の方法でグループ化され得る。例えば、ユーザーは、仕事上のつながりの仲間グループ、友人である仲間グループ、家族である仲間グループを持ち得る。
【００１６】
図３は、ユーザーの社会的ネットワークの一部である仲間リストにおいて識別されるユーザーに関連する信頼レベルの例を示している。例示の実施形態においては、信頼レベルは、ユーザーに所属する仲間リストや、そのユーザーの友人や友人の友人に所属する種々の仲間リストにおいて識別されるユーザーと関連する。信頼レベルは、受信したファイルが正当であることをユーザーがどれだけ確信しているかを決定する助けとなるよう確立される。例えば、ユーザーの仲間リスト２０２において識別される友人から受信されたファイルの信頼度は高いけれども、更に遠くの友人の仲間リスト（例えば、友人の仲間リスト２１４、２１６又は２１８）において識別されるユーザーから受信されるファイルの信頼度は低い。
【００１７】
例示の実施形態においては、ユーザーの社会的ネットワークは、分離度を用いて記述することができる。例えば、ユーザーの仲間リスト２０２において特定される友人は、ユーザーから０°だけ分離されており、ユーザーの仲間リスト２０２において特定される友人に所属する仲間リストにおいて特定される個人は、ユーザーから１°だけ分離されている。仲間リスト２０４、２０６、２０８、２１０、２１２はそれぞれ、ユーザーの仲間リスト２０２において識別された個人に所属しているので、それぞれはユーザーから１°だけ隔たっている。同様に、仲間リスト２１４、２１６は仲間リスト２０４において識別される個人に関連し、仲間リスト２１８は仲間リスト２０６及び仲間リスト２０８において識別される個人に関連する。したがって、友人の仲間スト２１４、２１６、２１８はユーザーから２°だけ隔たっている。２°の分離のみが図示されているが、特定のユーザーの社会的ネットワークに対して任意の数の分離度を定義することができる。
【００１８】
例示の実施形態においては、それぞれの分離度は、それに関連した信頼レベルを有する。例えば、ユーザーの仲間リスト２０２において識別されるユーザーは０°だけ隔たっており、したがって１００％信頼されている。したがって、信頼されたユーザーの円３０２はユーザーの仲間リスト２０２において識別されるユーザー全部を含む。点線３０４はユーザーから１°だけ隔たった仲間リストを表している。図の例においては、１°だけ隔たった仲間リスト（例えば、友人の仲間リスト２０４、２０６、２０８、２１０、２１２）において識別される個人には、５０％の信頼レベルが割り当てられる。同様に、破線３０６はユーザーから２°だけ隔たった仲間リストを表している。図の例においては、２°だけ隔たった仲間リスト（例えば、友人の仲間リスト２１４、２１６、２１８）において識別される個人には、３０％の信頼レベルが割り当てられる。
【００１９】
ここで記述される信頼レベルは例としてのみ与えられている。認識されるように、特定の個人に関連する信頼レベルを決定するために任意の数の異なる方法を用いることができる。例えば、１つ以上の評判システム又は評判サービスを含み得る１つ以上の供給源からの評判データは、特定の個人に関連する信頼レベルを決定するのにも使用できる。また、デフォルトによって、画像や音楽のような他のファイルよりもデジタル署名付きの更新ファイルの方が信頼されるように、信頼レベルをファイル形式に対して割り当てることもできる。
【００２０】
記述された実施形態においては、信頼レベルは、信頼される友人の円３０２に対して種々の信頼度から追加される個人に対して割り当てられる。更に、特定の個人に関連する信頼レベルは、当該個人が複数回発見される場合には上昇される。例えば、特定の個人がユーザーの仲間リスト２０２においては識別されないが、ユーザーから１°だけ隔たった３つの仲間リスト（例えば、友人の仲間リスト２０８、２１０、２１２）において識別されるならば、その特定の個人には１５０％（即ち、その個人が識別される１°だけ隔たった仲間リストのそれぞれに対して５０％という等級が与えられるので、５０％＋５０％＋５０％となる）に等しい信頼レベルが割り当てられる。
【００２１】
しかし、ユーザーの仲間リスト２０２においては識別されない個人に１００％よりも高い信頼レベルが割り当てられないように、それぞれの分離度はその関連の最大信頼レベルを有する。例えば、１°の分離は９０％の最大信頼レベルを持ち、２°の分離は４５％の最大信頼レベルを有する。こうした最大値が与えられると、ユーザーの仲間リスト２０２において識別されない個人には、９０％を超える信頼レベルが割り当てられない。同様に、ユーザーの仲間リスト２０２又は友人の仲間リスト２０４、２０６、２０８、２１０又は２１２において識別されない（が、友人の仲間リスト２１４、２１６、２１８のうちの少なくとも１つには蓄積されている）個人には、４５％よりも高い信頼レベルを割り当てることができない。
【００２２】
記述される例示の実施形態においては、特定の個人に対して許容されるデフォルトの最大信頼レベルは、その個人が識別される最小の分離度によって決定される。例えば、友人の仲間リスト２１４、２１６、２１８において識別される個人には、４５％の信頼レベルが割り当てられる（友人の仲間リスト２１４からの３０％＋友人の仲間リスト２１６からの３０％＋友人の仲間リスト２１８からの３０％＝９０％であるが、２°の分離に対する最大値は４５％である）。一方、友人の仲間リスト２１２、２１４、２１８において識別される個人には、９０％の信頼レベルが割り当てられる（仲間リスト２１２からの５０％＋仲間リスト２１４からの３０％＋仲間リスト２１８からの３０％＝１１０％であるが、１°の分離の最大値は９０％である）。
【００２３】
例示の実施形態においては、ユーザーは、友人の友人から受信されたファイルを信頼し得る度合いを特定することができる。例えば、ユーザーが０°の信頼度を特定するならば、ユーザーの仲間リスト２０２において特定される個人から受信されるファイルのみが信頼される。ユーザーが１°の信頼度を特定するならば、ユーザーの仲間リスト２０２において特定される個人から受信されるファイル、又はユーザーの仲間リスト２０２から１°だけ隔たった仲間リスト（例えば、仲間リスト２０４、２０６、２０８、２１０、２１２）において特定される個人から受信されるファイルが信頼される。また、代替の実施形態においては、例えば、特定のユーザーから受信されるファイルは常に信頼される、特定のユーザーから受信されるファイルは信頼されない、特定の証明書を持つファイルは常に信頼される、特定の証明書を持つファイルは信頼されない等のように、ユーザーは、一人以上の個人又は証明書所有者に関連する信頼レベルを無効にすることが許容される。更に、代替の実施形態は、ファイルがダウンロードされた後にユーザーが同意する又は否認することができるようにする。こうして、ファイルはダウンロードされるが、ユーザーがそのダウンロードに同意するまで、ファイルはインストールされない。
【００２４】
代替の実施形態においては、ユーザーから種々の度合いで隔てられている個人に対して適用されるべき信頼レベルをユーザーが特定することができる。例えば、デフォルト設定は、ユーザーから１°だけ隔たっている個人に対して５０％の信頼レベルを割り当てるが、ユーザーは当該設定を無効にして、自分から１°だけ隔たっている個人に対して７０％の信頼レベルを割り当てることが許容される。同様に、代替の実施形態においては、ユーザーは種々の分離度に関連する最大信頼レベルをカスタマイズすることができる。例えば、デフォルト設定は、ユーザーから１°だけ隔たっている個人に対して９０％の最大信頼レベルを強制するが、ユーザーは当該デフォルトを無効にして、ユーザーから１°だけ隔たっている個人に対して９９％の最大信頼レベルを割り当てることができる。また、ユーザーは或る個人に対するデフォルト信頼レベルを無効にすることを許容される。例えば、ユーザーの仲間リストにおいて識別される或る友人は、何らかの理由で極めて信頼度が低い。したがって、ユーザーはその特定の友人に対してゼロ（又は他の何らかの数字の）％の信頼レベルを指定する。
【００２５】
更に、異なるデフォルト信頼レベルを、異なる仲間グループに対して割り当ててもよい。例えば、ユーザーの業務上のコンタクト・グループは高く信頼されるが、ユーザーの友人グループの信頼度は低い。代替の実施形態においては、ユーザーの仲間リストにおいて識別される特定の個人に関連する信頼度は、当該個人から受信される証明書に基づくことができる。
【００２６】
図４は、メンバーの仲間リスト格納部４０２とメンバー信頼度生成器４０４とを備える例示のピアツーピア・ネットワーク・サービス１２８の選択要素を示している。メンバーの仲間リスト格納部４０２は、ピアツーピア・ネットワークのそれぞれのメンバー毎に、各メンバーが通信したいと思うピアツーピア・ネットワークの他のメンバーを識別する仲間リストを維持する。メンバー信頼度生成器４０４は、ピアツーピア・ネットワークのそれぞれのメンバー毎に、ピアツーピア・ネットワークの一人以上の他のメンバーに関連する信頼レベルを決定及び／又は維持する。例示の実施形態においては、信頼レベルは、図３を参照して例示し記述したように、少なくとも部分的には、メンバー間の分離度に基づく。上述したとおり、信頼レベルは他の基準（例えば、個人に関連する証明書）にも基づいてよい。
【００２７】
自動的なファイル分配を実施するための方法は、コンピュータ実施可能命令という一般的な文脈で記述される。一般に、コンピュータ実施可能命令は、特定の機能を実行し又は特定の要約データ形式を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順等々を含む。また、この方法は、通信ネットワークを介してリンクされる遠隔処理装置によって機能が実行される分散型コンピューティング環境においても実行され得る。分散型コンピューティング環境においては、コンピュータ実施可能命令は、メモリ記憶装置を含むローカルの及びリモートのコンピュータ記憶媒体に置かれる。
【００２８】
図５〜図７は、自動的なファイル分配のための例示の方法を示している。図５〜図７は自動的なファイル分配の特定の例であり、限定とみなしてはならない。方法ブロックが記述される順序は限定とみさなれるべきではなく、記述される任意の数の方法ブロックは方法を実施するために組み合わされ得る。また、方法は任意の適宜のハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにおいて実施され得る。
【００２９】
図５は、ピアツーピア・ネットワークを介してファイルを自動的に分配するための例示の方法５００を示すフロー図である。ブロック５０２において、ピアツーピア・ネットワークとの接続が確立される。例えば、ユーザー１０２は、図１に示すように、クライアント装置１０４を用いてピアツーピア・ネットワーク１０６と接続する。
【００３０】
ブロック５０４において、更新サービス（又は他のコンテンツ分配ネットワーク）がコンタクトされる。例えば、クライアント装置１０４は更新サービス１０８をピングして、新たな更新ファイルが利用可能であるかどうかを決定する。
【００３１】
ブロック５０６において、更新ファイルが利用可能であるかどうかが決定される。例えば、更新サービスはクライアント装置１０４に利用可能な更新ファイルのリストを提供し、クライアント装置１０４はその利用可能なファイルを既にクライアント装置１０４に記憶されているファイルと比較し、既に記憶してあるファイルよりも任意の利用可能なファイルの方が新しいかどうかを決定する。利用可能なファイルの方が既存のファイルよりも新しいかどうかを決定するために、任意の数のファイル特徴を用いることができる。こうしたファイル特徴はファイル・チェックサム、ファイル名、ファイル・バージョン、日付／時間、ファイルの長さ及び／又はデジタル署名を含むが、これらに限定されるものではない。
【００３２】
更新ファイルが利用可能でないと決定されるならば（ブロック５０６からのＮＯの分岐）、処理は終了し（図示せず）、又は、ブロック５０４を参照して上で記述したように継続する。一方、更新ファイルが利用可能であると決定されるならば（ブロック５０６からのＹＥＳの分岐）、ブロック５０８において、更新ファイルがダウンロードされる。例えば、クライアント装置１０４は更新ファイルを要求し、更新サービス１０８はインターネットを介して更新ファイルを送信する。
【００３３】
ブロック５１０において、更新ファイルが検証される。例えば、クライアント装置１０４は認証サーバー１１８を介して公開鍵インフラストラクチャ（ＰＫＩ）を用いて、ダウンロードされた更新ファイルに関連するデジタル署名を検証し、受信されたファイルが送信期間に変更されなかったことを確認する。
【００３４】
ブロック５１２において、ダウンロードされた更新ファイルが検証されたかどうかを決定する。更新ファイルが検証されなかったならば（ブロック５１２のＮＯの分岐）、ブロック５１４において、ファイルが削除され、処理は終了し（図示せず）、又はブロック５０４を参照して上で記述したように継続する。
【００３５】
一方、更新ファイルが検証されたと決定されるならば（ブロック５１２のＹＥＳの分岐）、ブロック５１６において、ピアは更新ファイルがピアツーピア・ネットワークを介して利用可能であることを通知する。例えば、クライアント装置１０４はピアツーピア・ネットワーク１０６を介して自動的に通知を分配する。こうした通知をどのように分配するかを規定するために、任意の数のデフォルトのポリシー及び／又はユーザーにより定義されたポリシーが実施され得る。例えば、通知は、ユーザーの仲間リストにおいて識別される個人に対してのみ送出される。代わりに、通知は、ユーザーから２°、３°又は他の特定の度数までの分離度で識別される個人へ送出される。他の実施形態においては、通知は、ユーザーに関連する信頼レベルに基づいてユーザーへ送出される。代替の実施形態では、通知を送出するのではなく、この時点で、ファイルそのものがピアツーピア・ネットワークを介して一人以上の個人へ自動的に分配される。例えば、更新ファイルは特定のグループの仲間（例えば、業務上のコンタクト・グループ）のメンバーとして識別される全員へ自動的に分配される。
【００３６】
ブロック５１８において、更新ファイルに対するピア要求が受信される。例えば、クライアント装置１０４はピアツーピア・ネットワーク１０６を介して更新ファイルに対する要求を受信する。
【００３７】
ブロック５２０において、更新ファイルがピアツーピア・ネットワークを介して送信される。例えば、受信された要求に応答して、クライアント装置１０４はサイン付きの更新ファイルをピアツーピア・ネットワークを介して要求者へ送信する。代替の実施形態においては、更新ファイルは、一人以上のユーザーによる受信のために、それらのユーザーからの要求を待つことなく、ピアツーピア・ネットワークを介して自動的に送信される（即ち、ブロック５１８は実施形態によってはオプションである）。
【００３８】
図６は、ピアツーピア・ネットワークを介して自動的に分配されるファイルを受信するための例示の方法６００を示すフロー図である。ブロック６０２において、ピアツーピア・ネットワークとの接続が確立される。例えば、ユーザーはクライアント装置を用いてピアツーピア・ネットワーク１０６と接続する。
【００３９】
ブロック６０４において、ピアツーピア・ネットワークを介して利用可能である更新ファイルが識別される。例えば、ユーザーのクライアント装置は、ピアツーピア・ネットワークを介して他のユーザーから、更新ファイルが利用可能であることを示す通知を受信する。代わりに、ユーザーのクライアント装置は、ピアツーピア・ネットワークを介して、更新ファイルが利用可能であるかどうかについて質問する他のクライアント装置へのピングに対する応答を受信する。
【００４０】
ブロック６０６において、１つ以上の十分に信頼されたピアが識別される。信頼されたピアを識別するために任意の数の技術を実施することができ、ここで記述される例は限定とみなされるべきではない。例示の実施形態においては、第三者の評判サービスが、十分な評判を持つピアを識別するために参照される。代わりに、ユーザーの社会的ネットワーク内のユーザーが、例えば図３を参照して上で説明したように、それらユーザーに関連する信頼レベルに基づいて識別される。信頼レベル及び／又は評判に加えて、ピアは、自動的に検出されるネットワーク・トラフィック（例えば、最小のネットワーク・トラフィックを持つピアを選択する）、ピングに対する応答の待ち時間（例えば、最短の応答時間を持つピアを選択する）、ＩＰ−地形マッピングに基づく場所（例えば、最大近接度を持つピアを選択する）及び／又は他の変数に基づいて識別される。
【００４１】
ブロック６０８において、識別された１つ以上のピアから更新ファイルが要求される。ブロック６１０において、更新ファイルが受信される。例えば、ユーザーのクライアント装置はピアツーピア・ネットワークを介して送信された更新ファイルを受信する。ブロック６１２において、受信された更新ファイルが検証される。例えば、例示の実施形態においては、受信されたファイルは、更新ファイルを検証するのに用いることができるデジタル署名又は他の形式のデータを含む。
【００４２】
ブロック６１４において、更新ファイルが検証されたかどうかが決定される。更新ファイルが成功裡に検証されるならば（ブロック６１４からのＹＥＳの分岐）、処理はブロック６０４を参照して上で説明したように継続する。一方、更新ファイルが成功裡に検証されないならば（ブロック６１４からのＮＯの分岐）、ブロック６１６において、受信された更新ファイルが削除され、処理はブロック６０４を参照して上で説明したように継続する。
【００４３】
図７は、ピアツーピア・ネットワークを介して自動的に分配されるファイルを受信するための例示の方法７００を示すフロー図である。ブロック７０２において、ピアツーピア・ネットワークとの接続が確立される。例えば、ユーザーはクライアント装置を用いてピアツーピア・ネットワーク１０６と接続する。
【００４４】
ブロック７０４において、ピアツーピア・ネットワークを介して送信されている更新ファイルが識別される。例えば、ユーザーのクライアント装置は、送信されていてクライアント装置が受信するのに利用可能な更新ファイルを検出する。ブロック７０６において、更新ファイルの送信者が識別される。例えば、ユーザーのクライアント装置は、送信されている更新ファイルに関連するデータを検査して、更新ファイルを送出している個人を識別する。
【００４５】
ブロック７０８において、更新ファイルの送信者が十分に信頼されるかどうかを決定する。例えば、図３を参照して上で説明したように、ユーザーの社会的ネットワーク内の個人に対して種々の信頼レベルが割り当てられる。更新ファイルの送信者がユーザーの社会的ネットワーク内にいるかどうかに依存して、また、ユーザーの社会的ネットワーク内にいる場合にはユーザーの社会的ネットワーク内における送信者のポジションに依存して、送信者は十分に信頼されるとみなされ、又はみなされない。代替の実施形態においては、送信者の信頼は、例えば、第三者認証機関、送信者を評定するユーザーからのフィードバック又は機械評価、或いは、ユーザーの評判を表すものを提供する送信者評判サービス等の他の特徴に基づく。
【００４６】
送信者が十分信頼されないと決定されるならば（ブロック７０８からのＮＯの分岐）、処理はブロック７０４を参照して上で説明したように継続する。一方、送信者が十分信頼されると決定されるならば（ブロック７０８からのＹＥＳの分岐）、ブロック７１０において、更新ファイルが受信される。例えば、ユーザーのクライアント装置は、ピアツーピア・ネットワークを介しての更新ファイルを含む送信を受け入れる。例示の実施形態においては、ファイル・ダウンロードが生じようとしていることを示す通知がユーザーに対して提示され、ユーザーには、ダウンロードをキャンセルしてファイルを受信しないオプションが与えられる。また、ユーザー・インターフェースは、こうした通知をどのように提示すべきか又は提示すべきかどうかをユーザーが特定する設定領域を含む。
【００４７】
ブロック７１２において、受信された更新ファイルが検証される。例えば、例示の実施形態においては、受信されたファイルは、更新ファイルを検証するために用いられるデジタル署名又は他の形式のデータを含む。
【００４８】
ブロック７１４において、更新ファイルが検証されたかどうかが決定される。更新ファイルが成功裡に検証されるならば（ブロック７１４からのＹＥＳの分岐）、処理はブロック７０４を参照して上で説明したように継続する。一方、更新ファイルが成功裡に検証されないならば（ブロック７１４からのＮＯの分岐）、ブロック７１６において、受信された更新ファイルが削除され、処理はブロック７０４を参照して上で説明したように継続する。
【００４９】
自動的なファイル分配の実施の形態について、構造的特徴及び／又は方法に特有の用語で説明してきたが、理解されるとおり、特許請求の範囲の主題は、説明した特定の特徴又は方法に限定される訳ではない。むしろ、特定の特徴及び方法は、自動的なファイル分配の例示の実施形態として開示されている。
【図面の簡単な説明】
【００５０】
【図１】自動的なファイル分配が実施される例示のネットワーク環境を示す概念図である。
【図２】特定のユーザーに関連する例示のピアツーピア・ソーシャル・ネットワークを示すブロック図である。
【図３】図２に示すソーシャル・ネットワークの要素に対して信頼レベルが適用される例示の方法を示すブロック図である。
【図４】例示のピアツーピア・ネットワーク・サービスの選択要素を示すブロック図である。
【図５】ピアツーピア・ネットワークを介してファイルを分配するための例示の方法を示すフロー図である。
【図６】ピアツーピア・ネットワークを介してファイルを受信するための例示の方法を示すフロー図である。
【図７】ピアツーピア・ネットワークを介してファイルを受信するための例示の方法を示すフロー図である。
【図１】
2009525532.tif 000003
【図２】
2009525532.tif 000004
【図３】
2009525532.tif 000005
【図４】
2009525532.tif 000006
【図５】
2009525532.tif 000007
【図６】
2009525532.tif 000008
【図７】
2009525532.tif 000009
【国際調査報告】
2009525532.tif 000010
2009525532.tif 000011