JP2003032245A - ピア・ツー・ピアネットワーク環境中のリソースの共有をセキュアに検証するためのシステムおよび方法 - Google Patents

ピア・ツー・ピアネットワーク環境中のリソースの共有をセキュアに検証するためのシステムおよび方法

Info

Publication number
JP2003032245A
JP2003032245A JP2002105859A JP2002105859A JP2003032245A JP 2003032245 A JP2003032245 A JP 2003032245A JP 2002105859 A JP2002105859 A JP 2002105859A JP 2002105859 A JP2002105859 A JP 2002105859A JP 2003032245 A JP2003032245 A JP 2003032245A
Authority
JP
Japan
Prior art keywords
peer
resource
resources
service
peer network
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.)
Withdrawn
Application number
JP2002105859A
Other languages
English (en)
Inventor
Victor Kouznetsov
クズネツォフ ヴィクトル
Charles L Vigue
エル. ヴィーグ チャールズ
Martin Fallenstedt
ファレンシュテット マーティン
Daniel Melchione
メルキオーネ ダニエル
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.)
McAfee LLC
Original Assignee
Networks Associates Technology Inc
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 Networks Associates Technology Inc filed Critical Networks Associates Technology Inc
Publication of JP2003032245A publication Critical patent/JP2003032245A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 ピア・ツー・ピアネットワーク環境中の帯域
幅およびリソースを効率的に利用する。 【解決手段】 ピア・ツー・ピアネットワークを介して
リソースをセキュアに共有する方法は、リクエスト元の
ピアによるリソースに関するリクエストをピア・ツー・
ピアネットワークを介してブロードキャストする工程で
あって、リクエストは、リソースの識別を含み、リソー
ス識別は、リソースバージョン識別子を含む、工程と、
ピア・ツー・ピアネットワーク上の応答元のピアから応
答を受信する工程であって、応答は、応答元のピアがリ
クエストされたリソースを有することを示す、工程と、
リクエストされたリソースを応答元のピアから取り出す
工程と、取り出されたリソース中にバージョン識別子が
埋め込まれているか否かを確認することにより、取り出
されたリソースを検証する工程とを包含する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】(関連出願の相互参照)本願
は、2001年4月6日に出願された「System
and Method for Efficient
Use of Bandwidth and Reso
urces in a Peer−to−Peer N
etwork Environment」というタイト
ルの米国仮特許出願第60/282,333号と、20
01年6月15日に出願された「System and
Method for Efficient Upd
ating of Virus Protection
Software and Other Effic
ient Uses of Bandwidth an
d Resources in a Peer−to−
Peer Network Environment」
というタイトルの米国仮特許出願第60/298,68
1号とにより得られる利益を主張する。本明細書中、こ
れらの出願両方の全体を参考のため援用する。
【0002】(発明の分野)本発明は概して、ピア・ツ
ー・ピアネットワーク環境中の帯域幅およびリソースを
効率的に利用するシステムおよび方法に関する。より詳
細には、ピア・ツー・ピアネットワーク環境中のリソー
スの共有をセキュアにしかつ検証して、帯域幅の効率的
利用を容易化するシステムおよび方法が開示される。
【0003】
【従来の技術】(関連分野の説明)従来から、コンピュ
ータが更新版のウイルス対策製品および/または署名フ
ァイルを入手する際、コンピュータは、プルアプローチ
と呼ばれるアプローチに依存している。このプルアプロ
ーチでは、各クライアントコンピュータまたはサーバコ
ンピュータが更新版のウイルス対策ファイルをインター
ネットを介してソースから直接取り出さなくてはならな
い。コンピュータネットワークの場合、ネットワーク管
理者は、有効な管理を行おうにも、ネットワーク上に存
在するクライアントの数があまりにも多いため、ウイル
ス対策のための署名ファイルを更新しないまま放置して
いる場合がある。あるいは、ネットワーク管理者は、ク
ライアントのスケジュールを調整して、各クライアント
がコンピュータにログオンしたときに更新版のウイルス
対策ファイルがインターネットから自動的に引き出され
るようにする場合もある。しかし、このようなアプロー
チを用いると、例えば、午前中の早い勤務時間中に多く
のユーザが自分のコンピュータにログオンした場合など
において、帯域幅が足りなくなる場合がある。
【0004】
【発明が解決しようとする課題】組織(特に中小規模の
組織)内からのインターネットへの接続速度は比較的低
速である場合がある。例えば、中小規模の企業では、1
本のケーブルまたはDSLモデム、56Kモデムまたは
ISDN線を共有している場合がある。それとは対照的
に、典型的なLANを通じて相互接続されたワークグル
ープでは、LANを通じた接続速度はずっと高速である
場合が多く、典型的なLAN接続速度は、100/TX
(100Mbps)である。そのため、ピア・ツー・ピ
アネットワークを用いると、コンピュータネットワーク
において帯域幅およびリソースを効率良く用いる必要性
が部分的に満たされる。
【0005】しかし、従来からのピア・ツー・ピアによ
る分配の場合、ネットワーク上の所望のリソースまたは
ファイルをファイル分配器として構成するが、これは、
ネットワーク上のファイルのコピーを配布するピアサー
バを制御することはしないため、セキュリティ性に欠
け、攻撃に対して特に脆弱である。このような構成は、
ファイルが実際に実行可能なバイナリである場合および
/またはファイルが潜在的に重要なデータを含む場合
(例えば、ウイルス対策製品の更新情報ファイルおよび
署名ファイルの場合)に特に問題となる。その上、ウイ
ルス対策製品更新情報などの製品更新情報の場合、リク
エスト元のピアは、他のピアコンピュータ上の製品ファ
イルが最新のものか更新がされていないものであるかを
判定することができない。
【0006】従って、ピア・ツー・ピアネットワーク環
境中のリソースをセキュアにし、検証するシステムおよ
び方法を提供して帯域幅の効率的利用を容易化し、これ
により、共有ファイルに不安な点が無くかつ/または最
新のものであることを保障することが望まれている。こ
のように、ピア・ツー・ピアネットワーク上のリソース
をセキュアにし、検証すれば、ネットワークのリソース
の共有を、より大規模なアプリケーション(例えば、娯
楽ソフトウェアに関する管理およびサービス)に拡大す
ることが理想的には可能になる。
【0007】
【課題を解決するための手段】ピア・ツー・ピアネット
ワークを介してリソースをセキュアに共有する、本発明
による方法は、リクエスト元のピアによるリソースに関
するリクエストを該ピア・ツー・ピアネットワークを介
してブロードキャストする工程であって、該リクエスト
は、該リソースの識別を含み、該リソース識別は、リソ
ースバージョン識別子を含む、工程と、該ピア・ツー・
ピアネットワーク上の応答元のピアから応答を受信する
工程であって、該応答は、該応答元のピアが該リクエス
トされたリソースを有することを示す、工程と、該リク
エストされたリソースを該応答元のピアから取り出す工
程と、該取り出されたリソース中に該バージョン識別子
が埋め込まれているか否かを確認することにより、該取
り出されたリソースを検証する工程とを包含する。
【0008】前記取り出されたリソースを検証する工程
は、該取り出されたリソースのデジタル署名を検証し
て、該取り出されたリソースの整合性を確認する工程を
さらに包含してもよい。
【0009】前記デジタル署名は、1024ビットのV
eriSignデジタル証明書であってもよい。
【0010】前記リソースを組み込む工程をさらに包含
してもよい。
【0011】リソースのリスト項目を含むカタログを取
り出す工程をさらに包含してもよい。
【0012】前記リソースのリスト項目と、前記リクエ
スト元のピアに組み込まれたリソースとを比較して、前
記ピア・ツー・ピアネットワークを介してどのリソース
がリクエストされたかを判定する工程をさらに包含して
もよい。
【0013】リクエスト対象の各リソースを別個のトラ
ンザクションにおいてリクエストして、これにより、同
じまたは異なる応答元のピアから該リクエスト対象の各
リソースを取り出すことができるようにする工程をさら
に包含してもよい。
【0014】ピア・ツー・ピアネットワークのノードに
組み込まれた製品の更新を自動的かつセキュアに行う、
本発明による製品更新サービスは、該製品用のリソース
の現在のリスト項目を含むカタログを所定の時間に自動
的にダウンロードする工程であって、各リソースは、リ
ソースバージョン識別子によって識別される、工程と、
該カタログ中の該リソースのリスト項目と、該ノードに
組み込まれたリソースとを比較して、該ピア・ツー・ピ
アネットワークを介してどのリソースがリクエストされ
たかを判定する工程と、リクエスト対象の各リソースを
別個のトランザクションにおいて該ピア・ツー・ピアネ
ットワークを介してリクエストする工程と、該リクエス
ト対象の各リソースを該ピア・ツー・ピアネットワーク
およびインターネット中のピアの1つから取り出す工程
と、該取り出されたリソースの内に該バージョン識別子
が埋め込まれていることを確認することにより、各取り
出されたリソースを検証する工程とを包含する。
【0015】前記各取り出されたリソースを検証する工
程は、該取り出されたリソースの各々のデジタル署名を
検証して、該取り出されたリソースの整合性を確認する
工程をさらに包含してもよい。
【0016】前記デジタル署名は、1024ビットのV
eriSignデジタル証明書であってもよい。
【0017】前記取り出されたリソースそれぞれを組み
込む工程をさらに包含してもよい。
【0018】ソフトウェア製品のセキュアな更新を提供
する、本発明による方法は、該製品用のリソースの現在
のリスト項目を含むカタログのインターネットを介した
検索を提供する工程と、該製品用のリソースのインター
ネットを介した検索を提供する工程と、を包含し、各リ
ソースは、リソースバージョン識別子によって識別さ
れ、該リソース内には、該リソースバージョン識別子が
埋め込まれている。
【0019】各リソースは、デジタル署名によってデジ
タルに署名されてもよい。
【0020】前記デジタル署名は、1024ビットのV
eriSignデジタル証明書であってもよい。
【0021】ピア・ツー・ピアネットワークを介してリ
ソースをセキュアに共有するための本発明によるコンピ
ュータプログラム製品は、リクエスト元のピアによるリ
ソースに関するリクエストを該ピア・ツー・ピアネット
ワークを介してブロードキャストするコンピュータコー
ドであって、該リクエストは、該リソースの識別を含
み、該リソース識別は、リソースバージョン識別子を含
む、コンピュータコードと、該ピア・ツー・ピアネット
ワーク上の応答元のピアから応答を受信するコンピュー
タコードであって、該応答は、該応答元のピアが該リク
エストされたリソースを有することを示す、コンピュー
タコードと、該リクエストされたリソースを該応答元の
ピアから取り出すコンピュータコードと、該取り出され
たリソース中に該バージョン識別子が埋め込まれている
か否かを確認することにより、該取り出されたリソース
を検証するコンピュータコードと、複数の該コンピュー
タコードを格納するコンピュータで読出し可能な媒体
と、を含む。
【0022】前記取り出されたリソースを検証する前記
コンピュータコードは、該取り出されたリソースのデジ
タル署名を検証して、該取り出されたリソースの整合性
を確認するコンピュータコードをさらに含んでもよい。
【0023】前記デジタル署名は、1024ビットのV
eriSignデジタル証明書であってもよい。
【0024】前記リソースを組み込むコンピュータコー
ドをさらに含んでもよい。
【0025】リソースのリスト項目を含むカタログを取
り出すコンピュータコードをさらに含んでもよい。
【0026】前記リソースのリスト項目と、前記リクエ
スト元のピアに組み込まれたリソースとを比較して、前
記ピア・ツー・ピアネットワークを介してどのリソース
がリクエストされたかを判定するコンピュータコードを
さらに含んでもよい。
【0027】リクエスト対象の各リソースを別個のトラ
ンザクションにおいてリクエストして、これにより、該
リクエスト対象のリソースそれぞれを、同じまたは異な
る応答元のピアから取り出すことを可能にするコンピュ
ータコードをさらに含んでもよい。
【0028】本発明のシステムおよび方法として、ピア
・ツー・ピアネットワーク環境中のリソースをセキュア
に検証して、帯域幅の効率的利用を容易化するシステム
および方法が開示される。上記ピア利用型のサービスシ
ステムおよび方法を用いると、分散型ネットワーク中の
相互接続されたピアにLANを介してロードを分配する
工程を、円滑、セキュアかつスケーラブルな様式で容易
化することが可能となる。上記ピア利用型サービスを用
いると、上記共有ファイルに不安な点が無くかつ/また
は最新の状態であることを保障するセキュリティメカニ
ズムが得られる。好適には、上記サービスイネーブル型
のアプリケーション(例えば、更新アプリケーション)
は、デジタル署名セキュリティをインプリメントして、
取り出されたデータの整合性を検証して、これにより、
上記リソース(例えば、更新情報)に不安点が無いこと
を保障する。上記サービスイネーブル型のアプリケーシ
ョンは好適には、バージョン情報セキュリティ評価(m
easure)をインプリメントして、上記リソースが
最新のものであるかまたはそうでなければ正しいバージ
ョンのものであることを保障することも行う。
【0029】本発明は多様な様式で実施可能であり、例
えば、プロセス、装置、システム、デバイス、方法、ま
たはコンピュータで読出し可能な媒体(例えば、コンピ
ュータで読出し可能な格納媒体もしくは光学的通信ライ
ンあるいは電子的通信ラインを介してプログラム命令を
送信するコンピュータネットワーク)として実施可能で
あることが理解されるべきである。以下、本発明の新規
な実施形態についていくつか説明する。
【0030】好適な実施形態によれば、ピア・ツー・ピ
アネットワークを介してリソースをセキュアに共有する
方法は概して、リクエスト元のピアによるリソースに関
するリクエストを上記ピア・ツー・ピアネットワークを
介してブロードキャストする工程であって、上記リソー
スは、リソースバージョン識別子によって識別される、
工程と、上記ピア・ツー・ピアネットワーク上の応答元
のピアから応答を受信する工程であって、上記応答は、
上記応答元のピアが上記リクエストされたリソースを有
することを示す、工程と、上記リクエストされたリソー
スを上記応答元のピアから取り出す(retriev
e)工程と、上記取り出されたリソースの内部に上記バ
ージョン識別子が埋め込まれているか否かを検証するこ
とにより、上記取り出されたリソースを検証する工程
と、を含む。好適には、上記検証工程は、上記取り出さ
れたリソースのデジタル署名(例えば、1024ビット
のVeriSignデジタル証明書)を検証して、上記
取り出されたリソースの整合性を保障する工程も含む。
【0031】上記方法は、リソースのリスト項目を含む
カタログを取り出す工程と、上記リソースリスト項目と
上記リクエスト元のピアに組み込まれたリソースとを比
較して、上記ピア・ツー・ピアネットワークを介してリ
クエストされたリソースを判定する工程と、別個のトラ
ンザクションにおいてこのようなリソースをそれぞれリ
クエストして、これにより、このようなリソースそれぞ
れを同じまたは別の応答元のピアから取り出すことが可
能になるようにする工程と、をさらに含んでもよい。
【0032】別の好適な実施形態によれば、ピア・ツー
・ピアネットワークのノードに組み込まれた製品を自動
的かつセキュアに更新する製品更新サービスは概して、
上記製品用のリソースの現在のリスト項目を含むカタロ
グを事前規定された時間に自動的にダウンロードする工
程と、上記リスト項目と上記ノードに組み込まれたリソ
ースとを比較して、リクエストされたリソースを判定す
る工程と、別個のトランザクションにおいてこのような
リソースそれぞれをピア・ツー・ピアネットワークを介
してリクエストする工程と、上記ピア・ツー・ピアネッ
トワークまたはインターネットにおいてピアから各リソ
ースを取り出す工程と、上記取り出されたリソースの内
部にバージョン識別子が埋め込まれているか否かを確認
することにより、各取り出されたリソースを検証する工
程と、を含む。
【0033】さらに別の好適な実施形態によれば、ソフ
トウェア製品をセキュに更新する方法は概して、上記製
品用のリソースの現在のリスト項目を含むカタログをイ
ンターネットを介して検索する工程と、上記製品用のリ
ソースをインターネットを介して検索する工程であっ
て、各リソースは、リソースバージョン識別子によって
識別され、自身の内部に上記リソースバージョン識別子
が埋め込まれ、かつ/またはデジタル署名(例えば10
24ビットののVeriSignデジタル証明書)を含
む、工程と、を含む。
【0034】本発明の上記および他の特徴ならびにその
利点について、以下の詳細な説明と、本発明の原理を例
示目的のために図示する添付の図面とにおいてより詳細
に説明する。
【0035】
【発明の実施の形態】(特定の実施形態の説明)本発明
は、以下の詳細な説明を添付の図面と共に参照すればよ
り容易に理解される。図面中、同様の参照符号は同様の
構成要素を指す。
【0036】ピア・ツー・ピアネットワーク環境中のリ
ソースの共有をセキュアにしかつ検証して、帯域幅の効
率的利用を容易化するシステムおよび方法が開示され
る。このピア利用型サービスを用いると、LANを通じ
て円滑、セキュアかつスケーラブルな様式で相互接続さ
れた分散型ネットワーク中のピアにロードを分配する工
程が容易化される。サービスイネーブル型のサービスま
たはアプリケーションを用いると、ピア・ツー・ピアネ
ットワーク中に常駐するリクエストされたリソースのロ
ーカルエイリアス化されたコピーをロケートすることを
試みることによって、例えばインターネットの帯域幅の
使用量を最小化または低減することができる。リクエス
トされたリソースのローカルエイリアス化されたコピー
がロケートされた場合、リクエスト元のコンピュータ
は、リクエストされたリソースをローカルに入手するこ
とができる。リクエスト元のコンピュータがリクエスト
されたリソースのコピーを(ローカルにしろまたはリモ
ートにしろ)入手した後、クエスト元のコンピュータ自
身が、その後の当該リソースに関するリクエストに対す
るリエイリアス化されたコピーについてのサーバとなる
ことができる。
【0037】以下の説明を読めば、いかなる当業者に
も、本発明の構築および使用が可能となる。特定の実施
形態およびその用途について説明するのはひとえに例示
目的のためであり、当業者であれば様々な改変例を容易
に想起する。本明細書中において定義される一般的な原
理は、本発明の趣旨および範囲から逸脱することなく、
他の実施形態および用途にも容易に適用が可能である。
よって、本明細書において開示される原理および特徴と
一致する数多くの別の実施形態、改変例およびその均等
物を包含する最も広い範囲が本発明に与えられるべきで
ある。説明を分かりやすくするため、または本発明を不
必要に分かりにくいものにしないため、本明細書中、本
発明に関連する技術分野において公知の技術の詳細につ
いては詳細な説明を差し控える。
【0038】図1は、例示的コンピュータネットワーク
100のブロック図である。このコンピュータネットワ
ーク100は、本明細書にて上述したような帯域幅およ
びリソースの効率的利用を容易化するためにピア・ツー
・ピアネットワークにおいてピア利用型サービスを実施
する用途に適している。詳細には、コンピュータネット
ワーク100は、ノード、コンピュータ、またはLAN
102を介して相互接続されたワークステーション10
4A〜104Eを含む。任意の適切なネットワークメカ
ニズム(例えば、有線ネットワークメカニズムおよび無
線ネットワークメカニズム)を用いてLAN102をイ
ンプリメントすることが可能であることが理解される。
例示的なコンピュータネットワーク100において、上
記ノードのうちノード104Dおよび104Eの2つの
ノードのみが、インターネットへのアクセスを有する。
【0039】図2は、例示的なピア利用型サービスシス
テムおよびその方法を図1のコンピュータネットワーク
のノードとしてインプリメントした様子を示すブロック
図である。図示するように、各ノード104(すなわ
ち、104A〜104E)は、サーバ106およびクラ
イアント110どちらの機能も備える。ピア利用型サー
ビスシステムは、ポート(例えば、ポート1967)を
用いて、方向付けられたあるいはブロードキャスト(同
報通信)されたメッセージをネットワーク上のピアに送
信する。サーバは好適には、埋込み型HTTPサーバ1
08(典型的にはマイクロHTTPサーバ)を含む。こ
のHTTPサーバ108を用いると、ネットワーク上の
他のピアがエイリアス化されたURLにアクセスするこ
とが可能となる。HTTPサーバ108は好適には、見
えなくされた(obscure)ポート(例えば、ポー
ト6515)を用い、好適には、例えば、キャッシュさ
れたファイルを分配する工程およびデータもしくはリク
エストをアップロードする工程を容易化するために必要
なオペレーションに限定される。
【0040】典型的には、各ノードは、サーバおよびク
ライアントの両方を実行するが、クライアントまたはサ
ーバのどちらかのみを実行することもできる。本発明に
よるピア利用システムおよび方法は好適には、ピア利用
型サービスアプリケーション(「サービス」もしくは
「サービスイネーブル型のアプリケーション」)または
デーモンプロセスとしてインプリメントされる。サービ
スイネーブル型のアプリケーションはサービスアプリケ
ーションでなくてもよい点に留意されたい。例えば、サ
ービスイネーブル型のアプリケーションは、サービスの
生成および通信の後にサービスの双方向シャットダウン
を行うサービスを認知する(service−awar
e)アプリケーションも指す。
【0041】ピア利用システムは好適には、リンク可能
なクライアントAPIライブラリ112を提供して、ピ
ア利用型サービスと、任意のサービスイネーブル型のア
プリケーションとの間の通信を容易化する。1つの好適
な実施形態において、ピア利用システムは、クライアン
トのAPIライブラリ112を任意のサービスイネーブ
ル型のアプリケーションにエクスポートして、これによ
り、サービスイネーブル型のアプリケーションがピア利
用型サービスを用いて、(例えばURLまたはURIを
用いて)識別することが任意の種類の可能なリソースを
発見することを可能にする。あるいは、リンク可能なク
ライアントAPIライブラリを用いずに、所与のアプリ
ケーションとピア利用型サービスとを緊密に結合しても
よい。
【0042】図3は、状態120を示す状態図であり、
ピア・ツー・ピアネットワーク中のピア利用クライアン
トからの所与のリクエストが典型的なピア利用サービス
サーバによって処理されている。最初、サービスサーバ
はアイドル状態122であり、この間、指定されたポー
ト上において、ネットワーク上のピアクライアントから
リクエストメッセージがブロードキャストされるのを認
識している。サービスサーバがブロードキャストリクエ
ストメッセージ(例えば、「ネットワーク上のピア利用
クライアントからの(例えばパケットが)「必要」との
旨のパケット(”I need” packet))を
受信すると、当該サービスサーバは、ローカルのエイリ
アス化されたコピー状態124をロケートするように移
行する。詳細には、当該サービスサーバは、ローカルの
エイリアス化されたコピーに関する自身のリストを参照
して、リクエストされたリソースのローカルコピーまた
は(例えばURL/URIによって識別される)アイテ
ムを自身が有するか否かを判定する。当該サービスサー
バは、リクエストされたリソースのローカルコピーを自
身が有しないと判定した場合、サーバアイドル状態12
2に戻る。
【0043】あるいは、サービスサーバは、自身がロー
カルコピーを有すると判定した場合、そのサービスサー
バは好適には、段階126において、ランダムに生成さ
れる遅延応答時間の間待機する。サービスサーバは、乱
数(例えば、0〜2000の乱数)を生成することがで
きる。このような乱数は、サービスサーバが応答するま
でに待機する際の待機時間の長さとして、サービスサー
バによって用いられる。好適な一実施形態において、乱
数は、サービスサーバがリクエストに応答するまでに待
機する時間を示す、ミリセカンド単位の数である。サー
ビスサーバは、ランダムに生成された遅延応答時間期間
が経過するのを待機している間、受信したリクエストパ
ケットに対応するリクエスト元のクライアントからの
(例えば、パケットを)「発見した」との旨のパケット
(”I found” packet)がブロードキャ
ストされるのを認識する。サービスサーバは、所与のピ
アリクエストに対するサービスサーバの状態に関係な
く、新規リクエスト(「必要」との旨のパケット)を認
識する点に留意されたい。リクエスト元のクライアント
からブロードキャストされた「発見した」旨のパケット
が示すのは、リクエスト元のクライアントがリクエスト
されたリソースを発見したことである。遅延応答時間が
経過し終わる前にサービスサーバがリクエスト元のクラ
イアントから「発見した」との旨のパケットを受信する
場合、そのサービスサーバは状態128に移行して、リ
クエストに対する応答をキャンセルし、サーバアイドル
状態122に戻る。
【0044】あるいは、サービスサーバは、遅延応答時
間が経過し終わる前に「発見した」との旨のパケットを
受信しなかった場合、状態130に移行して、(例えば
パケットを)「所持する」旨のパケット(”I hav
e” packet)をリクエスト元のピアクライアン
トに直接送信する。この「所持する」旨のパケットは好
適には、サービスサーバ上にあるリクエストされたオブ
ジェクトのうちリクエスト元のピアがサービスサーバの
HTTPサーバを介してアクセスすることができるオブ
ジェクトに関するローカルエイリアスを含む。あるい
は、これは好適ではないが、(上記のようにサービスサ
ーバに「所持する」旨のパケットをリクエスト元のクラ
イアントに直接送信させるのではなく)サービスサーバ
に「所持する」旨のパケットをネットワークを介してブ
ロードキャストさせてもよい。その後、サービスサーバ
はサーバアイドル状態122に戻る。
【0045】明らかなように、ランダムに生成された遅
延応答時間を用いると、複数のピアサーバがロードの共
有を規則的な様式で行うことが可能になる。詳細には、
遅延応答時間に乱数化を行うと、任意の所与のノードが
自動的にピアの大部分に対するデフォルトサーバとなる
のを避けることと、リクエストされたアイテムがサービ
スサーバからサービスクライアントに供給される際の供
給優先順位を実行するあらゆる必要性が不要となること
とが保証される。言い換えると、リクエストに応答する
前にランダムな待機時間を設けると、任意の1つのマシ
ンをアイテムでオーバーロード状態のサーバにしたり、
ネットワークの残り部分を更新する事態が確実に避けら
れる。その上、所与のアイテムをネットワーク上で伝播
させてネットワーク上のピアに到達させるため、任意の
1ノード上にかかるロードをさらに低減できる可能性が
高い。したがって、所与のサービスサーバがリクエスト
されたアイテムをサービスクライアントに供給する際に
発生するシステム負担を比較的最小にすることができ
る。
【0046】しかし、複数のサービスサーバが与えられ
たリクエストパケットに応答して「所持する」旨のパケ
ットをそれぞれ送信する事態が発生し得ることが理解さ
れる。例えば、第1のサービスサーバは、自身の遅延応
答時間が経過すると、「所持する」旨のパケットを送信
し得る。第1の「所持する」旨のパケットに対応する、
リクエスト元のピアによって送信されたまたは送信され
る予定の「発見した」旨のパケットを、第2のサービス
サーバの遅延応答時間が経過する前に第2のサービスサ
ーバに到着させることはできないかもしれなく、第2の
サービスサーバは、遅延応答時間が経過した後に「所持
する」旨のパケットを送信する。このように、リクエス
ト元のクライアントが複数のサービスサーバから「所持
する」旨の複数のパケットを受信する状況において、リ
クエスト元のクライアントは、第1の「所持する」旨の
応答のみを処理して、その後自身が受信し得る任意の
「所持する」旨のパケットを無視することができる。
【0047】図4Aおよび図4Bは、典型的なピア利用
型サービスクライアントがリソースに関する所与のリク
エストをピア・ツー・ピアネットワークを介して作成す
る状態140、140Aを示す別の状態図である。図4
Aを参照して、先ず、サービスクライアントはアイドル
状態142にある。サービスクライアントが所望のリソ
ース(例えば、インターネットリソース)を必要とする
場合、サービスクライアントは、「必要」との旨のパケ
ットを生成し、ピア・ツー・ピアネットワークを介して
ブロードキャストする。例えば、「必要」との旨のリク
エストは、URL(例えば、http://somet
hing.tld/someother/thing/
here)と、プロトコル(例えば、HTTPプロトコ
ル)と、所望のオペレーション(例えば、入手オペレー
ション)と、リクエスト元のピアが必要としているのは
キャッシュされたオブジェクトのみであることとを指定
することができる。
【0048】サービスクライアントは、「必要」との旨
のリクエストをブロードキャストした後、応答状態14
4を待機する態勢に移行する。この態勢において、サー
ビスクライアントは、遅延応答時間の最長長さと、任意
のサービスサーバからの応答の送信時間とを合計した時
間にかけて待機する。ランダムに生成された遅延応答時
間が0〜2000ミリセカンドである上記の実施例にお
いて、クライアントによる応答待機時間の長さは例えば
2200ミリセカンドであり、これにより、200ミリ
セカンドの送信時間を可能にする。
【0049】サービスクライアントが応答待機時間の間
に「所持する」旨の応答をサービスサーバから受信した
場合、当該サービスクライアントは状態146に移行し
て、「発見した」旨のメッセージを生成し、ネットワー
クを介してブロードキャストして、所望のリソースまた
はアイテムを発見した旨を残りのピア全てに通知する。
その後、サービスクライアントは、リクエストされたア
イテムが発見された状態158へと移行する。その後、
当該アイテムをリクエストしているサービスイネーブル
型のアプリケーションが、受信された「所持する」旨の
パケット中で指定されているネットワーク内の位置にお
いて、リクエストされたアイテムを応答元のサービスサ
ーバから取り出す。サービスイネーブル型のアプリケー
ションは一般的には、リクエストされたアイテムの取出
しをローカルHTTPサーバを通じて(例えばポート6
515を用いて)行う。サービスイネーブル型のアプリ
ケーションがリクエストされたアイテムの取出しに成功
した後、サービスクライアントは、同じマシン上で動作
しているサービスサーバに、リソースのローカルコピー
の存在を通知する。その後、サービスクライアントはア
イドル状態142に戻る。
【0050】あるいは、クライアントの応答待機時間の
間に応答が受信されない場合、サービスクライアントは
時間切れとなり、状態150に移行して、リクエストさ
れたアイテムそのものを例えばインターネットを介して
取り出す。この取出しを終了した後、サービスクライア
ントは、アイテム発見状態158に移行する。このアイ
テム発見状態158において、サービスクライアント
は、同じコンピュータまたは同じノード上で動作するサ
ービスサーバに、リソースのローカルコピーの存在を通
知する。その後、サービスクライアントはクライアント
アイドル状態142に戻る。明らかなように、サービス
クライアントがネットワーク上のサービスサーバから
「所持する」旨のパケットを受信したか否かに関係無
く、クライアントマシン自身が、自身のリクエストが成
功し完了した後、リクエストされたリソースに関するサ
ービスサーバとなることができる。
【0051】図4Bは、別の好適な実施形態における典
型的なサービスの状態140Aを示し、これは、ファイ
ルをダウンロードする工程を含むアプリケーションに特
に適している。状態140Aは、図4Aを参照して説明
および図示したような状態と、他のピアによってリクエ
ストされたアイテムの現在処理中のダウンロードを取り
扱う際のさらなる状態とを含む。このさらなる状態によ
り、ピアノードは、リクエストされたリソースをリクエ
スト元のサービスクライアントにダウンロードする工程
を終了すると同時に、そのリソースをすぐに自動分配す
ることができる。
【0052】詳細には、サービスクライアントは、サー
ビスクライアントによってリクエストが時間切れにされ
た後に状態150に直接移行してリクエストされたアイ
テムそのものを取り出す代わりに、「ダウンロードを待
機する?」状態148に移行する。この状態148にお
いて、サービスクライアントは、リクエストされたアイ
テムを別のピアがダウンロードする任意の進行中の工程
が完了するのを待機できるかまたは待機する予定か否か
を判定する。リクエストされたアイテムを別のピアがダ
ウンロードする任意の進行中の工程が完了するのを待機
できないかまたは待機しない予定である場合、サービス
クライアントは状態150に移行して、リクエストされ
たアイテムそのものを受信して、図4Aを参照して上述
したような状態移行を継続する。
【0053】サービスクライアントが任意の進行中のダ
ウンロードが終了するのを待機できるかまたは待機する
予定であると判定した場合、そのサービスクライアント
は、「進行中のダウンロードはある?」状態152に移
行する。このようなリクエストされたアイテムの進行中
のダウンロードが無い場合、サービスクライアントは状
態150に移行して、リクエストされたアイテムそのも
のを取り出して、図4Aを参照して上述したような状態
移行と共に継続する。
【0054】あるいは、リクエストされたアイテムにつ
いて進行中のダウンロードが少なくとも1つ行われてい
る場合、サービスクライアントは状態154に移行し
て、「発見した」旨のメッセージを生成およびブロード
キャストする。次いで、サービスクライアントは状態1
56に移行して、リクエストされたアイテムについて進
行中のダウンロードが完了するのを待機する。リクエス
トされたアイテムについて進行中のダウンロードが完了
すると、サービスクライアントは、リクエストされたア
イテムが発見されている状態158に移行する。サービ
スクライアントは、ネットワーク内のローカル位置から
リクエストされたアイテムを取り出す。自身のリクエス
トが完了した後、サービスクライアントは、同じマシン
上で動作するサービスサーバにリソースのローカルコピ
ーの存在を通知する。次いで、サービスクライアントは
アイドル状態142に戻る。
【0055】明らかなように、状態152においてサー
ビスクライアントが任意の進行中のダウンロードが行わ
れているか否かを判定するためには、サービスイネーブ
ル型のアプリケーションに関するファイルをダウンロー
ドしているサービスクライアントは好適には、「所持す
る」旨の応答メッセージではなく「自身でダウンロード
中」の旨のメッセージとともに、「ダウンロード中」の
旨を示すメッセージをブロードキャストすることおよび
/または、「必要」との旨のリクエストをブロードキャ
ストするクライアントサーバへの直接応答を行う。好適
な一実施形態において、サービスクライアントは、対応
するファイルに関するダウンロードフラグを真に設定す
る。
【0056】加えて、サービスイネーブル型のアプリケ
ーションは好適には、リソースがダウンロードされるの
を待機している任意のノードに周期的な進行パケットを
送信して、これにより、状態156において、これらの
ノードがダウンロード進行情報をエンドユーザに双方向
に表示できるようにする。あるいは、サービスイネーブ
ル型のアプリケーションは、このような周期的なダウン
ロード進行パケットをネットワークを介してブロードキ
ャストすることもできる。したがって、アイテム検索状
態150(取り出し状態)にあるノードは好適には、進
行情報を含む「ダウンロード中」メッセージを周期的に
送信する。
【0057】(サービス機能性およびサービスパケット
フォーマット)ピア利用型サービスによって提供される
1つの機能性として、中央クリアリングハウスによって
行われるサービスパケット(例えば、「必要」との旨の
パケット、「発見した」旨のパケットおよび「所持す
る」旨のパケット)のフォーマット化、送信、受信およ
び復号がある。言い換えると、ピア利用型サービスは、
リクエストされたアイテムを入手するピア・ツー・ピア
通信プロセスを管理する。所与のサービスパケットその
ものによって呼び出される特定の機能性そのものは概し
て、特定のサービスイネーブル型のアプリケーションに
よって異なる。
【0058】ブロードキャスト(例えば、「必要」との
旨のパケットおよび「発見した」旨のパケット)および
応答(例えば、「所持する」旨のパケット)において用
いられる通信プロトコルは典型的にはTCP/IPであ
る。各パケットは典型的にはサイズが約200バイトで
あり、送信元のノードIDおよび他の任意の適切な情報
を含む。リクエストされたアイテムをサービスサーバか
らサービスクライアントへの転送は、典型的には、HT
TPを介して行われる。
【0059】サービスパケットフォーマットは好適に
は、一般的に容認され、広く用いられているXMLフォ
ーマットに基づく。例えば、XMLサービスパケットの
フォーマットは、サービス識別および様々なキー値の対
(例えば、サービスによって挿入されるキー値の対およ
び対応するサービスイネーブル型のアプリケーションに
よって規定されるキー値の対)を含み得る。
【0060】ピア利用型サービスを用いて、様々なキー
値の対を各サービスパケットに挿入することが可能であ
る。適切なキー値の対の例を挙げると、識別キー値対、
タイプキー値対、およびバージョンキー値対がある。具
体的には、識別キー値対は、各リクエストを識別し、そ
のリクエストに応じて応答を行う。識別値は概して起点
ノードに対して一意に定まるが、ネットワーク全体に対
しては一意に定まらなくてもよい。識別値の範囲は、そ
の識別値に割り当てられたビット数に依存し得る。例え
ば、32ビットすなわち4オクテットを識別値に割り当
てた場合、識別値の範囲は0〜231である。タイプのキ
ー値対については、タイプ値は典型的には、リクエス
ト、エンドリクエスト、応答、および/または任意のア
プリケーションによって規定される値のいずれかであ
る。他の任意の適切なアプリケーションによって規定さ
れるキー値対も、サービスパケット中に含まれ得る。
【0061】例示的サービスパケットの例を以下に挙げ
る。 <service type=“request” v
ersion=“1.0”ID=“1111”meth
od=“get”href=“http:/domai
n.com/whatever”acceptprot
ocol=“http”/> 図5は、ピア利用サービスサーバがピア・ツー・ピアネ
ットワーク中のピア利用クライアントからのリクエスト
を処理する際の典型的なプロセス180を示すフローチ
ャートである。工程182において、サービスサーバ
は、指定されたポート上において、ネットワーク上のピ
アクライアントからのブロードキャストリクエストメッ
セージを認識する。工程184において、サービスサー
バは、指定されたポート上において、ブロードキャスト
リクエストメッセージ(例えば、「必要」との旨のパケ
ット)をネットワーク上のピア利用クライアントから受
信する。工程186において、サービスサーバは、リク
エストされたアイテムのローカルエイリアス化されたコ
ピーを自身が有するか否かを判定する。詳細には、サー
ビスサーバは、ローカルエイリアス化されたコピーに関
する自身のリストを参照して、リクエストされたリソー
スまたはアイテムのローカルバージョン(例えば、UR
L/URI)を自身が有するか否かを判定する。
【0062】サービスサーバがリクエストされたリソー
スのローカルコピーを自身が持たないと判定した場合、
プロセス180は終了する。あるいは、サービスサーバ
がローカルコピーを有すると判定した場合、サービスサ
ーバは好適には、工程188において、ランダムに生成
された遅延応答時間の間待機しながら、受信されたリク
エストパケットに対応するリクエスト元のクライアント
から「発見した」旨のパケットがブロードキャストされ
るのを認識する。上述したように、サービスサーバは、
0〜2000の乱数を自身が応答を行うまでのミリセカ
ンド単位の時間の長さとして生成し得る。リクエスト元
のクライアントからの「発見した」旨のパケットのブロ
ードキャストは、リクエスト元のクライアントが自身が
リクエストしたリソースを発見したことを示す。
【0063】サービスサーバは好適には、プロセス18
0の間中ずっと、リクエストメッセージについて任意の
さらなるブロードキャストが行われるのを継続的に認識
し、各リクエストメッセージのブロードキャストを受信
したときにプロセス180を行う点に留意されたい。
【0064】サービスサーバが「発見した」旨のパケッ
トをリクエスト元のクライアントから受信したタイミン
グが遅延応答時間が経過するよりも前だった場合、その
サービスサーバは工程190において当該リクエストに
対する応答をキャンセルし、プロセス180は終了す
る。あるいは、遅延応答時間が経過する前に「発見し
た」旨のパケットが受信されなかった場合、サービスサ
ーバは、工程192において「所持する」旨のパケット
をリクエスト元のピアクライアントに直接送信し、サー
バプロセス180は終了する。「所持する」旨のパケッ
トは好適には、サービスサーバ上のリクエストされたオ
ブジェクトに関するローカルエイリアスを含む。
【0065】図6は、ピア利用型サービスクライアント
がピア・ツー・ピアネットワークを介してリソースをリ
クエストしている様子の典型的なプロセス200を示す
フローチャートである。工程202において、サービス
クライアントは、指定されたポート上において、「必
要」との旨のパケットを生成し、ピア・ツー・ピアネッ
トワークを介してブロードキャストする。工程204に
おいて、サービスクライアントは、クライアント応答待
機時間(典型的には、遅延応答時間の最大長さに送信時
間を加算した値)に等しい期間の間、ネットワーク上の
任意のサービスサーバからの応答を待機する。
【0066】サービスクライアントは、クライアント応
答待機時間の間に「所持する」旨の応答をサービスサー
バから受信した場合、工程206において、「発見し
た」旨のメッセージを生成し、ネットワークを介してブ
ロードキャストする。その後、アイテムをリクエストし
ているサービスイネーブル型のアプリケーションは、工
程208において、受信した「所持する」旨のパケット
に指定されたネットワーク内の位置において、リクエス
トされたアイテムを応答元のサービスサーバから取り出
す。サービスイネーブル型のアプリケーションがリクエ
ストされたアイテムを取り出すのに成功した後、工程2
10において、サービスクライアントは、同じマシン上
で動作するサービスサーバにリソースのローカルコピー
がその時点で存在していることを通知する。その後、プ
ロセス200は終了する。
【0067】あるいは、クライアント応答待機時間の
間、応答を受信しなかった場合(すなわち、サービスク
ライアントが時間切れとなった場合)、工程214にお
いて、サービスクライアントは、サービスイネーブル型
のアプリケーションが別のピアによってリクエストされ
たアイテムの任意の進行中のダウンロードが終了するの
を待機できるかまたは待機する予定か否かを判定する。
サービスクライアントは、サービスイネーブル型のアプ
リケーションが別のピアによってリクエストされたアイ
テムの任意の進行中のダウンロードが終了するのを待機
できないかまたは待機する予定ではない場合、工程21
6において、リクエストされたアイテムそのものをイン
ターネットなどを介して取り出し、その後、工程210
に進んでプロセス200を終了する。
【0068】サービスクライアントは、任意の進行中の
ダウンロードが終了するのを待機できるかまたは待機す
る予定であると判定した場合、工程220において任意
の進行中のダウンロードの有無を判定する。このような
リクエストされたアイテムの進行中のダウンロードが無
い場合、サービスクライアントは工程210に進み、プ
ロセス200を終了する。
【0069】リクエストされたアイテムの進行中のダウ
ンロードが少なくとも1つある場合、工程222におい
て、サービスクライアントは、「発見した」旨のメッセ
ージを生成およびブロードキャストする。その後、工程
224において、サービスクライアントは、リクエスト
されたアイテムの進行中のダウンロードが完了するのを
待機する。例えば、サービスクライアントは、ダウンロ
ード元のピアから「所持する」旨のメッセージまたは
「ダウンロードが完了した」旨のメッセージを受信し得
る。
【0070】リクエストされたアイテムの進行中のダウ
ンロードが終了すると、工程226において、サービス
クライアントは、ネットワーク内のローカル位置からリ
クエストされたアイテムを取り出す。サービスクライア
ントは、自身のリクエストが成功して完了した後、工程
210へと進んで、プロセス200を完了する。工程2
14および工程220〜226は任意選択であり得、好
適には、ファイルのダウンロードを含むアプリケーショ
ンの際に実施可能である点に留意されたい。
【0071】明らかなように、工程220においてサー
ビスクライアントが任意の進行中のダウンロードがある
か否かを判定するためには、ネットワークの外部から
(例えば、インターネットから)サービスイネーブル型
のアプリケーションのファイルのダウンロードを行って
いるサービスクライアントが、自身のネットワーク上の
ピアにダウンロードプロセスが進行中であることを通知
する。例えば、図7は、この取出し工程216の好適な
実施形態をより詳細に示すフローチャートである。
【0072】図示するように、工程216Aにおいて、
サービスクライアントは、リクエストされたアイテムを
取り出す工程を開始する。工程216Bにおいて、サー
ビスクライアントは、「ダウンロード中」の旨のメッセ
ージをブロードキャストし、かつ/または「必要」との
旨のリクエストをブロードキャスト送信した任意のクラ
イアントサーバに対して「自身でダウンロード中」の旨
の応答メッセージと共に直接応答し得る。さらに、工程
216Cにおいて、サービスクライアントは好適には、
ブロードキャストまたは当該リソースを待機している任
意のノードに対して直接送信を行うことにより、進行中
パケットも周期的に送信し、これにより、当該ノードが
当該ノードにおけるエンドユーザに対してダウンロード
進行情報を双方向に表示できるようにする。あるいは、
工程216Bおよび工程216Cをまとめてパケットを
周期的に送信する工程にして、各パケットを、進行情報
を含む「ダウンロード中」の旨を示すメッセージとして
用いてもよい。
【0073】(サービスイネーブル型の製品を更新する
アプリケーション)本明細書中に記載のピア利用型サー
ビスの1つの例示的実施として、製品を更新するサービ
スの実施と、エージェントを共有するサービスイネーブ
ル型のアプリケーションとがある。エージェントは、ウ
イルス対策アプリケーションおよびファイアウォールア
プリケーションによって共有される。ピア利用型サービ
スは、更新サービスを行うためのコンポーネント(すな
わち、HTTPサーバを有するピア利用サーバ、ピア利
用クライアント、および製品更新サービス)を含む単一
のDLL中に収容される。
【0074】この製品更新サービスでは、更新をリクエ
ストする対象が決定される(ただし、そのような対象が
ある場合)。製品更新サービスにおいて更新が必要であ
るとの決定が下された場合、サービスクライアントは、
「必要」との旨のパケットをブロードキャストして、製
品を更新するのに必要な特定のURLをリクエストす
る。言い換えれば、ピア利用型サービスを用いると、サ
ービスイネーブル型のアプリケーション、そのエンジ
ン、およびそのウイルス署名ファイルを最新の状態に保
つことを可能にするメカニズムが得られる。
【0075】詳細には、第1のコンピュータまたはノー
ドが起動すると、その製品更新器は、「必要」との旨の
パケットをブロードキャストして、指定URLにあるm
yupdate.cab fileをリクエストする。
このmyupdate.cab fileは例えば約7
〜8kのサイズを有し、現在のバージョンの製品、エン
ジン、およびウイルス署名ファイルを利用可能な最新の
バージョンと比較確認する方法に関する命令を含むスク
リプトを含み、これにより、製品更新器によって更新の
必要性を判定することができるようにする。このファイ
ルはキャッシュ不可能であるため、サービスサーバによ
ってこのファイルを提供することは不可能であるが、そ
の代わり、インターネットを介してこのファイルを直接
入手することが可能である。
【0076】製品更新サービスがmyupdate.c
ab fileに基づいて更新が必要であると判定した
場合、製品更新サービスは、ピア利用型サービスを介し
て、「必要」との旨のパケットをネットワークを介して
ブロードキャストする。1つの更新は、エンジン、DA
T、および/または製品更新を含み得る。任意の更新フ
ァイルがダウンロードされると、そのファイルがインタ
ーネットから直接来たものであるか、かつ/または、そ
のファイルがネットワーク上の1つ以上のピアから来た
ものであるかに関わらず、製品更新サービスは好適に
は、その更新がデジタル署名付きであることを確認す
る。その更新は、認証を受けた後、リクエスト元のノー
ドにインストールされる。
【0077】製品更新サービスでは、任意の適切な事前
規定された間隔が経過する毎にかつ/または様々なイベ
ントが発生する毎に更新を確認する。例えば、製品更新
サービスでは、更新の確認を、起動時もしくは起動して
から5分経過後に、各確認が失敗してから6時間後に、
および/または予定に基づいて(例えば、1日1回、各
確認が成功してから12時間経過後)に行い得る。
【0078】更新は、ウイルス署名ファイル(DA
T)、エンジン、および/または製品更新を含み得る。
DATは典型的には週単位で(例えば、1週間のうち特
定の曜日に)更新され、その平均的サイズは約900〜
950kである。エンジンは通常は2〜3ヶ月毎に更新
され、その平均的サイズは約550〜600kである。
製品はホットフィックスとして更新されると利用可能と
なり、典型的には6〜8週毎に利用可能となるか、また
は、典型的には4〜6ヶ月ごとに新規バージョンとして
利用可能となる。製品の平均的サイズは約700〜75
0kである。
【0079】この実施例において、完全な更新は、エン
ジンと、ウイルス署名ファイルと製品とを含み、*.c
ab fileを6個含み、全体のサイズは約2.25
Mとなる。更新に用いられるこれらの6個の*.cab
fileと、その各平均サイズとを以下に列記しす
る: Myavdat.YYMMDDHHMM.cab:平均
サイズは910k Myxtrdat.YYMMDDHHMM.cab:平
均サイズは16k Mycioagt.YYMMDDHHMM.cab:平
均サイズは370k Vsasap.YYMMDDHHMM.cab:平均サ
イズは360k Vseng9x.YYMMDDHHMM.cab:平均
サイズは240k Vsengine.YYMMDDHHMM.cab:平
均サイズは340k これらの*.cab fileのうちいずれも更新は必
要であるため、各ファイルは好適には、別個のトランザ
クションにおいてピア利用型サービスを介してリクエス
トされる。したがって、必要とされる*.cab fi
leの一部または全てを別のノードおよび/またはイン
ターネットから引き出すことが可能である。
【0080】図8は、例示的な製品をセキュアに更新す
るプロセスを示すフローチャートであり、このプロセス
は、サービスイネーブル型の製品を更新するアプリケー
ションによってピア・ツー・ピアネットワークを介して
実施される。工程242において、このサービスイネー
ブル型の製品を更新するアプリケーションは、現在のバ
ージョンの製品に関するファイルのリスト項目を含むカ
タログを取り出す。工程244において、サービスイネ
ーブル型の製品を更新するアプリケーションは、カタロ
グに含まれる情報と、現在ノードに組み込まれているバ
ージョンとを比較して、更新が必要か否かを判定する。
より新規なバージョンが利用可能である場合、サービス
イネーブル型の製品を更新するアプリケーションは、工
程246においてその新規なバージョンを取り出す。更
新が必要でない場合、プロセス240は終了する。
【0081】好適には、新規なバージョンは、一意に定
まるURLにおいてロケートされる。このURLは、特
定のバージョンによって決定され、これにより、当該ア
プリケーションが現在組み込まれているバージョンのU
RLを組み込んだ場合に当該アプリケーションが前回用
いていたURLと異なる特定のURLをリクエストする
ように更新を行うことが可能になる。例えば、一意に定
まるURLを生成するには、ファイル名中の時間スタン
プを符号化する工程を設けて、これにより、VsASa
P.CABという名称のファイルが2001年1月13
日の午後3:11に発行された場合にVsASaP.2
00101131511.CABという名称となるよう
にすれば、一意に定まるURLが得られる。
【0082】URLを一意に定まる名称にするのが望ま
しい理由は、サービスイネーブル型の製品を更新するア
プリケーションは、特定のURLのローカルコピーをロ
ケートすることを試行するからである。そのため、この
更新アプリケーションの場合、ファイル名中に符号化さ
れたバージョン情報が別に無ければ、未更新のVsAS
aP.CABファイルのキャッシュコピーと最新のバー
ジョンのVsASaP.CABファイルのコピーとを区
別することができない場合がある。この一意に定まるフ
ァイル名があれば、更新アプリケーションは当該サービ
スに依頼して、ローカルネットワークセグメント上にV
sASaP.200101131511.CABのコピ
ーを探してもらい、更新カタログ中にリストされた所望
のファイルを確実に得ることができる。
【0083】この製品更新アプリケーションは好適に
は、工程248において、取り出されたデータの整合性
(integrity)を検証する。このような整合性
を検証する工程は、取り出されたデータが実際に実行可
能なバイナリであり得る場合、特に望ましい。さらに、
潜在的に重要なデータ(例えば、ネットワークにおいて
配布されるウイルス対策製品の更新情報および署名ファ
イル)がデータパケット中に含まれる場合、セキュリテ
ィは非常に重要な問題となる。その上、ピア・ツー・ピ
ア形式の分配の場合、データファイルの分配器は、ファ
イルを配布するピアサーバを制御することはしないた
め、攻撃に対して特に脆弱である。そのため、サービス
イネーブル型の更新アプリケーションは好適には、工程
248においてデジタル署名評価およびバージョン情報
セキュリティ評価を実施して、更新に不安点が無くかつ
適切にバージョン更新されていることを保障する。
【0084】詳細には、工程248は、デジタル署名ま
たは証明書で除名された取り出されたデータファイルの
コンテンツがデジタル署名のセキュリティ評価を用いて
改変されていないことを検証する工程を含み得る。詳細
には、デジタル署名を認証する際、ファイルのコンテン
ツがオリジナルのソースからダウンロードされた後に当
該ファイルのコンテンツが改変されていないかどうかを
検証する(すなわち、当該ファイルの真正性を検証す
る)。任意の適切なデジタル署名認証ツール(例えば1
024ビットのVeriSign証明書)を用いてよ
い。
【0085】別の所望のセキュリティ評価として、工程
248は、バージョン情報のセキュリティ評価をさらに
または代替的に含み得る。このバージョン情報のセキュ
リティ評価は、取り出されたデータファイルが名称変更
された後になって何者かがそのファイルを偽って指定フ
ァイルとして扱う事態を防ぐためのものである。ファイ
ル名はファイルのバージョンを示すために用いられるた
め、未更新のファイルがリクエストされたファイルとし
て名称変更される場合があり得る。ファイルに不安点が
あっても、そのファイルに署名が付与されてさらにはフ
ァイルのコンテンツの更新が遅れたり、現在のバージョ
ンとの適合性を失う可能性もある。従って、バージョン
情報セキュリティ評価が好適である。
【0086】好適な実施形態によれば、バージョン情報
のセキュリティを得るためには、デジタルに署名された
ファイル内のバージョン情報を含むデータのさらなるブ
ロックを符号化して、これによりこのさらなる符号化デ
ータを用いて当該ファイルが実際に所望のファイルであ
るか否かを検証することによって、実施が可能となる。
製品を更新する場合、cabinfo.iniファイル
をオプションとしてMyUpdate.cabに追加し
て、当該パッケージのオリジナルのファイル名を指定す
る。これにより、サービスサーバ上の未更新のファイル
が名称変更されて現在の更新ファイル名との整合性を持
つようになっても、当該ファイル中に埋め込まれた記述
(description)はクライアント上のMyU
pdate.cabファイル中に含まれる記述と整合し
ないため、その更新ファイルは拒否される。
【0087】最後に、工程250において、製品更新ア
プリケーションは、更新パッケージをノードに組み込
む。
【0088】上記にて説明したように、ピア利用型サー
ビスを用いると、セキュアなピア・ツー・ピア通信を用
いてファイルをネットワーク上のクライアントマシン
(例えば、LAN)にイントラネットを介して分配する
ことにより、インターネットを通じてファイルまたは他
のリソース(例えば、製品更新ファイル)を入手するこ
とを要するサービスクライアントの数を低減または最小
化することが容易になる。このピア利用型サービスを用
いると、サービスクライアント間に対して更新ファイル
のセキュアな自動分配を、ネットワーク管理者またはエ
ンド−ユーザから独立して行って、ネットワーク帯域幅
への影響を最小化しつつ、ウイルス対策およびファイア
ウォールアプリケーション/サービスを最新の状態に保
つことが可能となる。
【0089】ネットワーク上の多くのコンピュータは、
最新のウイルス対策ファイルおよび/またはファイアウ
ォールファイルを持っていない場合が多い。セキュアな
ピア利用型サービスを用いると、このようなファイルを
自動的かつセキュアに更新することが可能になり、ま
た、ネットワーク管理者がウイルス対策ファイル更新を
スクリプトする必要性を低減または無くす。その上、ロ
ードを効率的に分配し、高速LAN上のローカルネット
ワークにわたったリソースを利用することにより、コン
ピュータがインターネットから更新ファイルを引き出す
ことに起因する帯域幅の逼迫も低減する。よって、ピア
利用型サービスを用いれば、製品アップグレードの分配
が容易になり、また、必要なファイルを入手するのにイ
ンターネットへの接続を必要とする最少数のコンピュー
タで更新を行うことも可能になり、その結果、インター
ネット帯域幅の利用量が低減する。
【0090】ピア利用型サービスを用いると、所与のク
ライアントが(中央サーバに接続するためにさらに数回
ネットワークをホップする必要があるのではなく)ネッ
トワーク上の任意のノードからデータファイルを引き出
すことも可能になり、その結果、更新を分配する際にネ
ットワーク帯域幅を最適に利用することができる。
【0091】図9および図10は、本明細書中に記載の
方法およびプロセスをインプリメントするソフトウェア
プログラムを実行する用途に適切な汎用コンピュータシ
ステム1000の一例の模式図およびブロック図をそれ
ぞれ示す。コンピュータシステム1000は、コンピュ
ータプログラム製品である。本明細書中に図示および記
載するコンピュータシステム1000のアーキテクチャ
および構成は例示的なものに過ぎず、他のコンピュータ
システムアーキテクチャおよび構成も用いることが可能
である。
【0092】この例示的なコンピュータシステム100
0は、ディスプレイ1003と、画面1005と、キャ
ビネット1007と、キーボード1009と、マウス1
011とを含む。マウス1011は、画面1005上へ
の表示が可能なGUI(グラフィカルユーザインターフ
ェース)で双方向に作用する1つ以上のボタンを有し得
る。キャビネット1007は典型的には、コンピュータ
で読出し可能な格納媒体1015と、システムメモリ1
053と、ハードドライブ1055とを読み出すための
1つ以上のドライブを収容する。これらの格納媒体のう
ち任意の組み合わせを用いて、例えば、本明細書中に記
載の方法およびプロセスをインプリメントするコンピュ
ータコードを含むソフトウェアプログラムおよび/また
はソフトウェアプログラムと共に用いられるデータを格
納し、かつ/または、取出しを行うことが可能である。
コンピュータまたはプログラムコードの例としては、例
えば、コンパイラによって生成されたマシンコードまた
はインタープリターを用いて実行することが可能な高レ
ベルのコードを含むファイルを含む。
【0093】コンピュータで読出し可能な媒体は、様々
なコンピュータでインプリメントされるオペレーション
を行うためのプログラムコードを格納し、コンピュータ
格納製品として収容され得る。対応するCD−ROMド
ライブまたはフロッピー(R)ディスクドライブ101
3による読出しが可能な例示的なコンピュータで読出し
可能な格納媒体としてCD−ROMおよびフロッピー
(R)ディスク1015を図示しているが、コンピュー
タで読出し可能な格納媒体の他の任意の組み合わせも用
いることが可能である。コンピュータで読出し可能な媒
体は典型的には、コンピュータシステムによる読出しが
可能なデータを格納することのできる任意のデータ格納
デバイスを指す。コンピュータで読出し可能な格納媒体
の例としては、テープ、フラッシュメモリ、システムメ
モリを含み、ハードドライブをそれらの代わりにまたは
それらに追加して用いてもよい。コンピュータで読出し
可能な格納媒体を分類すると、以下のように分類するこ
とが可能である:すなわち、磁気媒体(例えば、ハード
ディスク、フロッピー(R)ディスクおよび磁気テー
プ);光媒体(例えば、CD−ROMディスク);磁気
光学的媒体(例えば、フロプティカルディスク);およ
び特別に構成されたハードウェアデバイス(例えば、特
定用途向けの集積回路(ASIC)、プログラム可能な
論理デバイス(PLD)、およびROMデバイスおよび
RAMデバイス。さらに、コンピュータで読出し可能な
格納媒体は、搬送波として実現されたデータ信号(例え
ば、ネットワークにおいて搬送される搬送波として実現
されたデータ信号)も含み得る。このようなネットワー
クは、企業または他の環境内のイントラネットである
か、インターネットであるか、または、結合された複数
のコンピュータの任意のネットワークであってもよく、
これにより、コンピュータで読出し可能なコードを分散
して格納および実行することが可能となる。
【0094】コンピュータシステム1000は、様々な
サブシステムを含む。コンピュータシステム1000の
サブシステムは概して、マイクロプロセッサ1051、
システムメモリ1053、固定格納部1055(例え
ば、ハードドライブ)、リムーバブル格納部1057
(例えば、CD−ROMドライブ)、表示アダプタ10
59、サウンドカード1061、変換器1063(例え
ば、スピーカおよびマイクロフォン)、ネットワークイ
ンターフェース1065、および/またはスキャナイン
ターフェース1067を含み得る。
【0095】マイクロプロセッササブシステム1051
は、CPU(中央処理ユニット)とも呼ばれる。CPU
1051は、単チッププロセッサまたは複数のプロセッ
サによってインプリメントされ得る。CPU1051は
汎用デジタルプロセッサであり、コンピュータシステム
1000のオペレーションを制御する。CPU1051
は、メモリから取り出した命令を用いて、データの入力
の受信および操作と、出力デバイス上へのデータの出力
および表示とを制御する。
【0096】ネットワークインターフェース1065を
用いると、ネットワーク接続を用いてCPU1051を
別のコンピュータ、コンピュータネットワークまたは情
報通信ネットワークに結合することが可能になる。CP
U1051は、情報の受信および/または送信をネット
ワークインターフェース1065を介して行い得る。こ
のような情報は、別のネットワークを指向するデータオ
ブジェクト、プログラム命令、出力情報を含み得る。イ
ンターフェースカードまたは類似のデバイスと、CPU
1051によってインプリメントされる適切なソフトウ
ェアとを用いて、コンピュータシステム1000を外部
ネットワークに接続し、標準的なプロトコルに従ってデ
ータを転送することが可能である。言い換えれば、本明
細書中に記載の方法およびプロセスは、CPU1051
だけで実行することが可能であり、かつ/または、処理
の一部を共有するリモートCPUと連携するネットワー
ク(例えば、インターネットネットワーク、イントラネ
ットネットワークまたはLAN(ローカルエリアネット
ワーク))上において行うことも可能である。さらに大
容量格納デバイス(図示せず)をネットワークインター
フェース1065を介してCPU1051に接続しても
よい。
【0097】本明細書中に記載したサブシステムは典型
的なコンピュータシステムのサブシステムを例示したも
のに過ぎず、他の任意の適切な組み合わせのサブシステ
ムをインプリメントおよび利用してもよい。例えば、別
のコンピュータシステムが、キャッシュメモリおよび/
またはさらなるプロセッサ1051を含み、例えば、マ
ルチプロセッサコンピュータシステムの場合のようなも
のであってもよい。
【0098】コンピュータシステム1000は、システ
ムバス1069も含む。しかし、これらの図示の特定の
バスは、様々なサブシステム間を連結するための任意の
相互接続方式を示すものに過ぎない。例えば、ローカル
バスを用いて、中央プロセッサをシステムメモリおよび
表示アダプタに接続してもよい。
【0099】ピア・ツー・ピアネットワーク環境中のリ
ソースをセキュアに検証して、帯域幅の効率的利用を容
易化するシステムおよび方法が開示される。上記ピア・
ツー・ピアネットワークを介してリソースをセキュアに
共有する方法は概して、リクエスト元のピアによるリソ
ースに関するリクエストを上記ピア・ツー・ピアネット
ワークを介してブロードキャストする工程であって、上
記リソースは、リソースバージョン識別子を用いて識別
される、工程と、上記ピア・ツー・ピアネットワーク上
の応答元のピアから応答を受信する工程であって、上記
応答は、上記応答元のピアがリクエストされたリソース
を有するか否かを示す、工程と、上記リクエストされた
リソースを上記応答元のピアから取り出す工程と、上記
取り出されたリソース内に上記バージョン識別子が埋め
込まれているか否かを確認することにより、上記取り出
されたリソースを検証する工程と、を含む。好適には、
上記検証工程は、上記取り出されたリソースのデジタル
署名(例えば、1024ビットのVeriSignデジ
タル証明書)を検証して、上記取り出されたリソースの
整合性を確認する工程も含む。
【0100】本明細書中、本発明の好適な実施形態につ
いて説明および図示しているが、これらの実施形態は例
示的なものに過ぎず、本発明の趣旨および範囲から逸脱
することなくこれらの実施形態に改変を加えることが可
能であることが理解される。よって、本発明は、本明細
書中の特許請求の範囲のみによって規定されることを意
図する。
【0101】
【発明の効果】本発明によれば、ピア・ツー・ピアネッ
トワーク環境中の帯域幅およびリソースを効率的に利用
するシステムおよび方法が提供される。本発明によれ
ば、ピア・ツー・ピアネットワーク環境中のリソースの
共有をセキュアにしかつ検証して、帯域幅の効率的利用
を容易化することができる。
【図面の簡単な説明】
【図1】図1は、ピア・ツー・ピアネットワークにおい
てピア利用型サービスを実施して帯域幅およびリソース
の効率的使用を容易化する際に適した例示的コンピュー
タネットワークのブロック図である。
【図2】図2は、図1のコンピュータネットワークのノ
ードにおいて実施される、例示的ピア利用型サービスシ
ステムおよび方法を示すブロック図である。
【図3】図3は、ピア・ツー・ピアネットワーク中のピ
ア利用クライアントからのリクエストがピア利用典型的
なサービスサーバによって処理される状態を示す状態図
である。
【図4A】図4Aは、ピア・ツー・ピアネットワーク上
のリクエスト元のリソース中にある典型的なピア利用型
サービスクライアントの状態を示す別の状態図である。
【図4B】図4Bは、ピア・ツー・ピアネットワーク上
のリクエスト元のリソース中にある典型的なピア利用型
サービスクライアントの状態を示す別の状態図である。
【図5】図5は、ピア利用サービスサーバがピア・ツー
・ピアネットワーク中のピア利用クライアントからのリ
クエストを処理する際の典型的なプロセスを示すフロー
チャートである。
【図6】図6は、ピア・ツー・ピアネットワーク上のリ
クエスト元のリソース中にあるピア利用型サービスクラ
イアントの典型的なプロセスを示すフローチャートであ
る。
【図7】図7は、図6の取出し工程の好適な実施形態を
より詳細に示すフローチャートである。
【図8】図8は、例示的な製品をセキュアに更新するプ
ロセス(このプロセスは、サービスイネーブル型の製品
を更新するアプリケーションによってピア・ツー・ピア
ネットワークを介して実施される)を示すフローチャー
トである。
【図9】図9は、本明細書中に記載の方法および処理の
様々な実施形態と共に用いることが可能なコンピュータ
システムの一例を示す。
【図10】図10は、図9のコンピュータシステムのシ
ステムブロック図を示す。
【符号の説明】
104 ノード 106 サーバ 108 HTTPサーバ 110 クライアント
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャールズ エル. ヴィーグ アメリカ合衆国 オレゴン 97007, ラ ピン, ピーオー ボックス 1736 (72)発明者 マーティン ファレンシュテット アメリカ合衆国 オレゴン 97007, ビ ーバートン, エス.ダブリュー. 182 エヌディー アベニュー 9045 (72)発明者 ダニエル メルキオーネ アメリカ合衆国 オレゴン 97739, ビ ーバートン, エスダブリュー 152エヌ ディー テラス 10380 Fターム(参考) 5J104 AA07 KA04 PA07

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 ピア・ツー・ピアネットワークを介して
    リソースをセキュアに共有する方法であって、 リクエスト元のピアによるリソースに関するリクエスト
    を該ピア・ツー・ピアネットワークを介してブロードキ
    ャストする工程であって、該リクエストは、該リソース
    の識別を含み、該リソース識別は、リソースバージョン
    識別子を含む、工程と、 該ピア・ツー・ピアネットワーク上の応答元のピアから
    応答を受信する工程であって、該応答は、該応答元のピ
    アが該リクエストされたリソースを有することを示す、
    工程と、 該リクエストされたリソースを該応答元のピアから取り
    出す工程と、 該取り出されたリソース中に該バージョン識別子が埋め
    込まれているか否かを確認することにより、該取り出さ
    れたリソースを検証する工程と、を包含する、方法。
  2. 【請求項2】 前記取り出されたリソースを検証する工
    程は、該取り出されたリソースのデジタル署名を検証し
    て、該取り出されたリソースの整合性を確認する工程を
    さらに包含する、請求項1に記載のピア・ツー・ピアネ
    ットワークを介してリソースをセキュアに共有する方
    法。
  3. 【請求項3】 前記デジタル署名は、1024ビットの
    VeriSignデジタル証明書である、請求項2に記
    載のピア・ツー・ピアネットワークを介してリソースを
    セキュアに共有する方法。
  4. 【請求項4】 前記リソースを組み込む工程をさらに包
    含する、請求項1に記載のピア・ツー・ピアネットワー
    クを介してリソースをセキュアに共有する方法。
  5. 【請求項5】 リソースのリスト項目を含むカタログを
    取り出す工程をさらに包含する、請求項1に記載のピア
    ・ツー・ピアネットワークを介してリソースをセキュア
    に共有する方法。
  6. 【請求項6】 前記リソースのリスト項目と、前記リク
    エスト元のピアに組み込まれたリソースとを比較して、
    前記ピア・ツー・ピアネットワークを介してどのリソー
    スがリクエストされたかを判定する工程をさらに包含す
    る、請求項5に記載のピア・ツー・ピアネットワークを
    介してリソースをセキュアに共有する方法。
  7. 【請求項7】 リクエスト対象の各リソースを別個のト
    ランザクションにおいてリクエストして、これにより、
    同じまたは異なる応答元のピアから該リクエスト対象の
    各リソースを取り出すことができるようにする工程をさ
    らに包含する、請求項6に記載のピア・ツー・ピアネッ
    トワークを介してリソースをセキュアに共有する方法。
  8. 【請求項8】 ピア・ツー・ピアネットワークのノード
    に組み込まれた製品の更新を自動的かつセキュアに行う
    製品更新サービスであって、 該製品用のリソースの現在のリスト項目を含むカタログ
    を所定の時間に自動的にダウンロードする工程であっ
    て、各リソースは、リソースバージョン識別子によって
    識別される、工程と、 該カタログ中の該リソースのリスト項目と、該ノードに
    組み込まれたリソースとを比較して、該ピア・ツー・ピ
    アネットワークを介してどのリソースがリクエストされ
    たかを判定する工程と、 リクエスト対象の各リソースを別個のトランザクション
    において該ピア・ツー・ピアネットワークを介してリク
    エストする工程と、 該リクエスト対象の各リソースを該ピア・ツー・ピアネ
    ットワークおよびインターネット中のピアの1つから取
    り出す工程と、 該取り出されたリソースの内に該バージョン識別子が埋
    め込まれていることを確認することにより、各取り出さ
    れたリソースを検証する工程と、を包含する、方法。
  9. 【請求項9】 前記各取り出されたリソースを検証する
    工程は、該取り出されたリソースの各々のデジタル署名
    を検証して、該取り出されたリソースの整合性を確認す
    る工程をさらに包含する、請求項8に記載のピア・ツー
    ・ピアネットワークのノードに組み込まれた製品の更新
    を自動的かつセキュアに行う製品更新サービス。
  10. 【請求項10】 前記デジタル署名は、1024ビット
    のVeriSignデジタル証明書である、請求項9に
    記載のピア・ツー・ピアネットワークのノードに組み込
    まれた製品の更新を自動的かつセキュアに行う製品更新
    サービス。
  11. 【請求項11】 前記取り出されたリソースそれぞれを
    組み込む工程をさらに包含する、請求項8に記載のピア
    ・ツー・ピアネットワークのノードに組み込まれた製品
    の更新を自動的かつセキュアに行う製品更新サービス。
  12. 【請求項12】 ソフトウェア製品のセキュアな更新を
    提供する方法であって、 該製品用のリソースの現在のリスト項目を含むカタログ
    のインターネットを介した検索を提供する工程と、 該製品用のリソースのインターネットを介した検索を提
    供する工程と、を包含し、各リソースは、リソースバー
    ジョン識別子によって識別され、該リソース内には、該
    リソースバージョン識別子が埋め込まれている、方法。
  13. 【請求項13】 各リソースは、デジタル署名によって
    デジタルに署名される、請求項12に記載のソフトウェ
    ア製品のセキュアな更新を提供する方法。
  14. 【請求項14】 前記デジタル署名は、1024ビット
    のVeriSignデジタル証明書である、請求項13
    に記載のソフトウェア製品のセキュアな更新を提供する
    方法。
  15. 【請求項15】 ピア・ツー・ピアネットワークを介し
    てリソースをセキュアに共有するためのコンピュータプ
    ログラム製品であって、 リクエスト元のピアによるリソースに関するリクエスト
    を該ピア・ツー・ピアネットワークを介してブロードキ
    ャストするコンピュータコードであって、該リクエスト
    は、該リソースの識別を含み、該リソース識別は、リソ
    ースバージョン識別子を含む、コンピュータコードと、 該ピア・ツー・ピアネットワーク上の応答元のピアから
    応答を受信するコンピュータコードであって、該応答
    は、該応答元のピアが該リクエストされたリソースを有
    することを示す、コンピュータコードと、 該リクエストされたリソースを該応答元のピアから取り
    出すコンピュータコードと、 該取り出されたリソース中に該バージョン識別子が埋め
    込まれているか否かを確認することにより、該取り出さ
    れたリソースを検証するコンピュータコードと、 複数の該コンピュータコードを格納するコンピュータで
    読出し可能な媒体と、を含む、コンピュータプログラム
    製品。
  16. 【請求項16】 前記取り出されたリソースを検証する
    前記コンピュータコードは、該取り出されたリソースの
    デジタル署名を検証して、該取り出されたリソースの整
    合性を確認するコンピュータコードをさらに含む、請求
    項15に記載のピア・ツー・ピアネットワークを介して
    リソースをセキュアに共有するためのコンピュータプロ
    グラム製品。
  17. 【請求項17】 前記デジタル署名は、1024ビット
    のVeriSignデジタル証明書である、請求項16
    に記載のピア・ツー・ピアネットワークを介してリソー
    スをセキュアに共有するためのコンピュータプログラム
    製品。
  18. 【請求項18】 前記リソースを組み込むコンピュータ
    コードをさらに含む、請求項15に記載のピア・ツー・
    ピアネットワークを介してリソースをセキュアに共有す
    るためのコンピュータプログラム製品。
  19. 【請求項19】 リソースのリスト項目を含むカタログ
    を取り出すコンピュータコードをさらに含む、請求項1
    5に記載のピア・ツー・ピアネットワークを介してリソ
    ースをセキュアに共有するためのコンピュータプログラ
    ム製品。
  20. 【請求項20】 前記リソースのリスト項目と、前記リ
    クエスト元のピアに組み込まれたリソースとを比較し
    て、前記ピア・ツー・ピアネットワークを介してどのリ
    ソースがリクエストされたかを判定するコンピュータコ
    ードをさらに含む、請求項19に記載のピア・ツー・ピ
    アネットワークを介してリソースをセキュアに共有する
    ためのコンピュータプログラム製品。
  21. 【請求項21】 リクエスト対象の各リソースを別個の
    トランザクションにおいてリクエストして、これによ
    り、該リクエスト対象のリソースそれぞれを、同じまた
    は異なる応答元のピアから取り出すことを可能にするコ
    ンピュータコードをさらに含む、請求項20に記載のピ
    ア・ツー・ピアネットワークを介してリソースをセキュ
    アに共有するためのコンピュータプログラム製品。
JP2002105859A 2001-04-06 2002-04-08 ピア・ツー・ピアネットワーク環境中のリソースの共有をセキュアに検証するためのシステムおよび方法 Withdrawn JP2003032245A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US28233301P 2001-04-06 2001-04-06
US60/282,333 2001-04-06
US29868101P 2001-06-15 2001-06-15
US60/298,681 2001-06-15
US09/921,543 2001-08-02
US09/921,543 US7721110B2 (en) 2001-04-06 2001-08-02 System and method for secure and verified sharing of resources in a peer-to-peer network environment

Publications (1)

Publication Number Publication Date
JP2003032245A true JP2003032245A (ja) 2003-01-31

Family

ID=27403297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002105859A Withdrawn JP2003032245A (ja) 2001-04-06 2002-04-08 ピア・ツー・ピアネットワーク環境中のリソースの共有をセキュアに検証するためのシステムおよび方法

Country Status (4)

Country Link
US (1) US7721110B2 (ja)
EP (1) EP1248438A3 (ja)
JP (1) JP2003032245A (ja)
KR (1) KR20020079425A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016510443A (ja) * 2012-12-11 2016-04-07 マイクロソフト テクノロジー ライセンシング,エルエルシー ピアツーピア性能の改善

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7024662B2 (en) 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US6757684B2 (en) * 2001-10-01 2004-06-29 Ipac Acquisition Subsidiary I, Llc Network-based photosharing architecture
US20030079142A1 (en) * 2001-10-22 2003-04-24 Aladdin Knowledge Systems Ltd. Classifying digital object security category
AU2002358290A1 (en) * 2001-12-28 2003-07-24 Woodstock Systems, Llc Personal digital servertm (pdstm)
US20030126199A1 (en) * 2002-01-02 2003-07-03 Kadri Seemab Aslam Peer-to-peer namespace directory and discovery
US7120691B2 (en) * 2002-03-15 2006-10-10 International Business Machines Corporation Secured and access controlled peer-to-peer resource sharing method and apparatus
US20040006586A1 (en) * 2002-04-23 2004-01-08 Secure Resolutions, Inc. Distributed server software distribution
US20030200300A1 (en) * 2002-04-23 2003-10-23 Secure Resolutions, Inc. Singularly hosted, enterprise managed, plural branded application services
US7178144B2 (en) * 2002-04-23 2007-02-13 Secure Resolutions, Inc. Software distribution via stages
US20040153703A1 (en) * 2002-04-23 2004-08-05 Secure Resolutions, Inc. Fault tolerant distributed computing applications
US7401133B2 (en) * 2002-04-23 2008-07-15 Secure Resolutions, Inc. Software administration in an application service provider scenario via configuration directives
US20030233483A1 (en) * 2002-04-23 2003-12-18 Secure Resolutions, Inc. Executing software in a network environment
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US9886309B2 (en) * 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US7752317B1 (en) * 2002-07-29 2010-07-06 Novell, Inc. Workstation virus lockdown in a distribution environment
US20040039781A1 (en) * 2002-08-16 2004-02-26 Lavallee David Anthony Peer-to-peer content sharing method and system
US7892087B1 (en) * 2002-12-02 2011-02-22 Sca Promotions, Inc. Authentication of game results
US9100431B2 (en) 2003-07-01 2015-08-04 Securityprofiling, Llc Computer program product and apparatus for multi-path remediation
US8984644B2 (en) 2003-07-01 2015-03-17 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9118708B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Multi-path remediation
US9118711B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US20070113272A2 (en) 2003-07-01 2007-05-17 Securityprofiling, Inc. Real-time vulnerability monitoring
US9118709B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9118710B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc System, method, and computer program product for reporting an occurrence in different manners
US9350752B2 (en) 2003-07-01 2016-05-24 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US20050044260A1 (en) * 2003-08-08 2005-02-24 Maven Networks, Inc. System and method for delivery of broadband content
US20050034153A1 (en) * 2003-08-08 2005-02-10 Maven Networks, Inc. System and method for delivery of broadband content with integrated interactive elements
KR100621092B1 (ko) * 2003-11-27 2006-09-08 삼성전자주식회사 P2p 프로토콜을 이용하여 어플리케이션을 공유하는 방법및 장치
US7673143B1 (en) * 2004-02-24 2010-03-02 Sun Microsystems, Inc. JXTA rendezvous as certificate of authority
US7796520B2 (en) * 2004-09-30 2010-09-14 Avaya Canada Corp. System and methods for announcing and locating services in a distributed peer-to-peer network
GB2432761B (en) * 2004-09-30 2009-03-11 Nimcat Networks Inc System and methods for announcing and locating services in a distributed peer-to-peer network
KR20060063348A (ko) * 2004-12-07 2006-06-12 한국전자통신연구원 인터넷에서 인증 assertion을 이용한 접속시간제어 방법
US7752659B2 (en) * 2005-02-14 2010-07-06 Lenovo (Singapore) Pte. Ltd. Packet filtering in a NIC to control antidote loading
US7958543B2 (en) * 2005-07-12 2011-06-07 Microsoft Corporation Account synchronization for common identity in an unmanaged network
JP4747733B2 (ja) * 2005-08-22 2011-08-17 ブラザー工業株式会社 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
US20070086435A1 (en) * 2005-10-19 2007-04-19 Microsoft Corporation Sharing devices on peer-to-peer networks
KR100718271B1 (ko) * 2005-12-02 2007-05-15 (재)대구경북과학기술연구원 하드웨어 디바이스 및 콘텐츠 자원공유를 위한 소프트웨어플랫폼이 장착된 임베디드 전자장치
US20070143446A1 (en) * 2005-12-21 2007-06-21 Morris Robert P Methods, systems, and computer program products for installing an application from one peer to another including application configuration settings and data
US8370928B1 (en) 2006-01-26 2013-02-05 Mcafee, Inc. System, method and computer program product for behavioral partitioning of a network to detect undesirable nodes
US20070226338A1 (en) * 2006-03-23 2007-09-27 Novell, Inc. Registration of peer-to-peer services
US8468131B2 (en) * 2006-06-29 2013-06-18 Avaya Canada Corp. Connecting devices in a peer-to-peer network with a service provider
US8218529B2 (en) * 2006-07-07 2012-07-10 Avaya Canada Corp. Device for and method of terminating a VoIP call
JP5464794B2 (ja) * 2006-07-24 2014-04-09 コニカミノルタ株式会社 ネットワーク管理方法およびネットワーク管理システム
US8037510B2 (en) * 2006-09-18 2011-10-11 Intel Corporation Techniques for negotiation of security policies in wireless mesh networks
US8239688B2 (en) 2007-01-07 2012-08-07 Apple Inc. Securely recovering a computing device
US8254568B2 (en) 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US8103272B2 (en) * 2007-01-07 2012-01-24 Apple Inc. Techniques for database updates
KR100871869B1 (ko) * 2007-01-23 2008-12-03 전자부품연구원 디지털기기들의 자원공유를 통한 사용자 서비스 제공방법및 이를 수행하는 디지털기기
US8316364B2 (en) * 2007-02-28 2012-11-20 Red Hat, Inc. Peer-to-peer software update distribution network
KR100861332B1 (ko) * 2007-02-28 2008-10-01 재단법인서울대학교산학협력재단 무선 네트워크 시스템 및 그의 자원공유방법
US20080288882A1 (en) * 2007-05-15 2008-11-20 Thomas Andrew Fink Systems and methods for privacy service
US8069251B2 (en) * 2007-06-01 2011-11-29 Adobe Systems Incorporated System and/or method for client-driven server load distribution
US8239548B2 (en) * 2007-07-17 2012-08-07 Adobe Systems Incorporated Endpoint discriminator in network transport protocol startup packets
US8060855B2 (en) * 2007-10-09 2011-11-15 Microsoft Corporation Artifact sharing from a development environment
US8145698B1 (en) 2008-01-03 2012-03-27 Adobe Systems Incorporated Self organizing peer-to-peer system, method, and/or apparatus
US20090187978A1 (en) * 2008-01-18 2009-07-23 Yahoo! Inc. Security and authentications in peer-to-peer networks
US8171147B1 (en) 2008-02-20 2012-05-01 Adobe Systems Incorporated System, method, and/or apparatus for establishing peer-to-peer communication
US8856088B2 (en) * 2008-04-01 2014-10-07 Microsoft Corporation Application-managed file versioning
US20090259855A1 (en) * 2008-04-15 2009-10-15 Apple Inc. Code Image Personalization For A Computing Device
US8150039B2 (en) 2008-04-15 2012-04-03 Apple Inc. Single security model in booting a computing device
US8341401B1 (en) 2008-05-13 2012-12-25 Adobe Systems Incorporated Interoperable cryptographic peer and server identities
US8312147B2 (en) * 2008-05-13 2012-11-13 Adobe Systems Incorporated Many-to-one mapping of host identities
US8301903B2 (en) * 2009-02-27 2012-10-30 Research In Motion Limited Low-level code signing mechanism
EP2438511B1 (en) 2010-03-22 2019-07-03 LRDC Systems, LLC A method of identifying and protecting the integrity of a set of source data
US8782173B2 (en) 2010-03-23 2014-07-15 International Business Machines Corporation Auditable distribution of a data file
US9578041B2 (en) * 2010-10-25 2017-02-21 Nokia Technologies Oy Verification of peer-to-peer multimedia content
EP3800854B1 (en) 2012-02-14 2024-06-12 INTEL Corporation Peer to peer networking and sharing systems and methods
US20130326494A1 (en) * 2012-06-01 2013-12-05 Yonesy F. NUNEZ System and method for distributed patch management
US8978160B2 (en) * 2012-09-12 2015-03-10 GM Global Technology Operations LLC Method for selective software rollback
US8938730B2 (en) * 2012-12-17 2015-01-20 Itron, Inc. Utilizing a multi-system set configuration to update a utility node system set
US10075385B1 (en) 2014-07-16 2018-09-11 Ivanti, Inc. Systems and methods for discovering and downloading configuration files from peer nodes
US9628485B2 (en) * 2014-08-28 2017-04-18 At&T Intellectual Property I, L.P. Facilitating peering between devices in wireless communication networks
US9800659B2 (en) * 2015-02-02 2017-10-24 International Business Machines Corporation Enterprise peer-to-peer storage and method of managing peer network storage
US10180845B1 (en) 2015-11-13 2019-01-15 Ivanti, Inc. System and methods for network booting
KR101893518B1 (ko) * 2016-10-28 2018-10-04 한국전자통신연구원 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법
CN110839235B (zh) * 2018-08-17 2022-07-05 中兴通讯股份有限公司 一种终端升级方法、装置、设备及计算机可读介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0685835A (ja) * 1992-09-07 1994-03-25 Fujitsu Ltd 端局間高速伝送を行う三階層通信処理方式
AU5386796A (en) * 1995-04-11 1996-10-30 Kinetech, Inc. Identifying data in a data processing system
US6298445B1 (en) * 1998-04-30 2001-10-02 Netect, Ltd. Computer security
US6317754B1 (en) * 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
EP0993163A1 (en) * 1998-10-05 2000-04-12 Backweb Technologies Ltd. Distributed client-based data caching system and method
FI990461A0 (fi) * 1999-03-03 1999-03-03 Nokia Mobile Phones Ltd Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
US6986134B1 (en) * 1999-03-16 2006-01-10 Sun Microsystems, Inc. Lightweight global distribution mechanism
US6742023B1 (en) * 2000-04-28 2004-05-25 Roxio, Inc. Use-sensitive distribution of data files between users
US7373643B2 (en) * 2001-03-06 2008-05-13 Cybersoft, Inc. Apparatus, methods and articles of manufacture for data transmission
US7047406B2 (en) * 2001-03-21 2006-05-16 Qurlo Holdings, Inc. Method and system for providing a secure peer-to-peer file delivery network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016510443A (ja) * 2012-12-11 2016-04-07 マイクロソフト テクノロジー ライセンシング,エルエルシー ピアツーピア性能の改善
US10574747B2 (en) 2012-12-11 2020-02-25 Microsoft Technology Licensing, Llc Improving peer-to-peer network performance through coordination of digital content distribution

Also Published As

Publication number Publication date
US7721110B2 (en) 2010-05-18
KR20020079425A (ko) 2002-10-19
EP1248438A3 (en) 2003-10-01
US20030163702A1 (en) 2003-08-28
EP1248438A2 (en) 2002-10-09

Similar Documents

Publication Publication Date Title
JP2003032245A (ja) ピア・ツー・ピアネットワーク環境中のリソースの共有をセキュアに検証するためのシステムおよび方法
JP2003016036A (ja) ピア・ツー・ピアネットワーク環境中のピアの信頼性ステータスを検証するシステムおよび方法
US7620816B1 (en) System and method for automatic selection of service provider for efficient use of bandwidth and resources in a peer-to-peer network environment
US6983326B1 (en) System and method for distributed function discovery in a peer-to-peer network environment
US10725768B1 (en) Application update using multiple network connections
JP4734592B2 (ja) クライアントリダイレクトによるプライベートネットワークへの安全なアクセス提供方法およびシステム
US7536458B2 (en) Distribution of binary executables and content from peer locations/machines
AU2004279202B2 (en) System and method for updating installation components in a networked environment
CA2507172C (en) System and method for managing and communicating software updates
JP4938092B2 (ja) エッジネットワークにおけるデータ配信方法、データ配信システム、および関連装置
US9807136B1 (en) System and method for streaming application isolation
US20050210459A1 (en) Controlling installation update behaviors on a client computer
US20070038681A1 (en) System and method of remote storage of data through connection from a server to a client
WO2008119273A1 (fr) Procédé pour libérer et télécharger un fichier, serveur de gestion, terminal et système
JP2000137641A (ja) 分散クライアントベ―スのデ―タキャッシングシステム
JP2005316993A (ja) ネットワーク上においてコンピュータ間でオブジェクトを共有するためのシステムおよび方法
JP2007058275A (ja) ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
US20050198296A1 (en) Distribution of binary executables and content from peer locations/machines
KR20040007602A (ko) 정보 분배 방법, 컴퓨터 프로그램 제품 및 시스템
US9832232B1 (en) System and method for on-line and off-line streaming application isolation
US20130247128A1 (en) Distribution of security policies for small to medium-sized organizations
CN113079210A (zh) 一种跨区数据自动同步的配置方法、终端设备及存储介质
US9762701B1 (en) System and method for cached streaming application isolation
JP2006178748A (ja) ウィルスチェック方法、ネットワークシステム、情報処理方法、情報処理プログラム及び情報処理装置
US11616821B1 (en) System and method for streaming application isolation

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050705