JP4499716B2 - ピアツーピアネットワークにおけるアプリケーションの実行 - Google Patents

ピアツーピアネットワークにおけるアプリケーションの実行 Download PDF

Info

Publication number
JP4499716B2
JP4499716B2 JP2006515076A JP2006515076A JP4499716B2 JP 4499716 B2 JP4499716 B2 JP 4499716B2 JP 2006515076 A JP2006515076 A JP 2006515076A JP 2006515076 A JP2006515076 A JP 2006515076A JP 4499716 B2 JP4499716 B2 JP 4499716B2
Authority
JP
Japan
Prior art keywords
peer
network
component
grid
application
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 - Lifetime
Application number
JP2006515076A
Other languages
English (en)
Other versions
JP2006526856A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of JP2006526856A publication Critical patent/JP2006526856A/ja
Application granted granted Critical
Publication of JP4499716B2 publication Critical patent/JP4499716B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • 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/1063Discovery through centralising entities
    • 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
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1089Hierarchical topologies
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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]

Landscapes

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

Description

本発明はピアツーピアネットワークに関し、より具体的には、仮想/現実世界に接続した環境において、ピアがデータへアクセスし、アプリケーションとインタラクトし、またコンテンツを検索することができるフレームワークインフラストラクチャに関する。
分散型コンピューティング環境は相互に通信するように相互接続された多数のコンピューティングシステムによって定義され、各コンピューティングシステムはクライアントとサーバ両方の機能を果たすことができる。ピアツーピア(P2P)ネットワークは分散型コンピューティング環境を表し、P2Pネットワーク内の各コンピューティングシステムはネットワーク内の全てのその他のコンピューティングシステムのピアとして定義される。本文では、P2Pネットワーク内の各ピアのコンピューティングシステムはノードと呼ばれる。さらに、P2Pネットワーク内の各ノードは実質的に等価の機能を有するソフトウェアを実行するように構成されている。従って、各ノードはP2Pネットワークを通じて、データのプロバイダ及びユーザの双方として機能することが可能になる。
ピアツーピアネットワーキングは長年にわたり改良され、新たな用法がそのようなネットワーキングを利用し続けているが、ピアツーピアネットワーキングの主な機能はあまり変わっていない。一般にネットワークの各ピアは1つ又はそれ以上のアプリケーションを有し、そのようなアプリケーションはその他のピアのその他のアプリケーションとの通信を行う。いくつかのピアはリクエストピアへデータを送り、その他のピアはその他のピアに対してデータを処理する。そのような機器構成では、ネットワークのアクティブメンバーになるために各ピアが要求する投資額は多大となる。ピアコンピュータにピアネットワーキングアプリケーションをロードする必要があり、あるアプリケーションにアクセスするためにはドライバをインストールする必要があり得、また、他のピアとの通信は接続を必要とするネットワークのピアプロトコルが命令する。
前述の点を鑑みて、接続したピアツーピアネットワーク上でフレキシブルな通信と、アプリケーション及びデータとのインターフェース接続を可能にするフレームワークが求められている。
概して、本発明はアーキテクチャ、方法、及びコンピュータ可読媒体を提供する。アーキテクチャ及びコンピュータに実装された方法は、ピアツーピアネットワークのグリッド上にコンポーネント形式でアプリケーションを実行するためのフレームワークを定義する。テレスペースフレームワークは特定のタイプのアプリケーションを実行するために必要なコンポーネントを定義するための、もしくはメッセージを伝達するためのアプリケーションを使用可能にする。このテレスペースフレームワークはピアライブラリ(PeerLib)を含み、これはピアツーピアネットワークの特定のグリッドに接続したピアとの通信機能を使用可能にする。本発明は様々な方法で、例えば、コンピュータ可読媒体上の方法、デバイス、システム、装置、もしくはプロセスなど、で実装され得る。本発明の様々な独創的実施形態が以下に説明されている。
ピアツーピアネットワークで通信を行うための相互接続フレームワークが開示されている。相互接続フレームワークのピアは、ピアツーピアネットワーク上でコンポーネントブロックのパブリッシング、メッセージング、及びロケーティングを行うためのピアライブラリと、そのピアにおいて実行されるアプリケーションの要件に応じて、コンポーネントブロックを管理するためのテレスペースフレームワークを備えている。ピアライブラリによって送られてくるコンポーネントブロックは、その要件に応じて、ピアにおいてアプリケーションの実行を可能にする。
ピアツーピアネットワークのアプリケーションプログラミングインターフェース(API)を促進するためのネットワーカーコンポーネントが開示されている。このネットワーカーコンポーネントはピアのリソースをピアツーピアネットワークのその他のピアへパブリッシュし、アプリケーションに対するオブジェクトを、ピアツーピアネットワークのその他のピアから取得するためのリソースマネージャを備えている。さらに、ピアツーピアネットワークの特定のグリッドを生成もしくは特定のグリッドに接続するために、グリッドマネージャを備えている。また、ピアにおいてピアツーピアネットワークからメッセージを受信するためのディスパッチャも備えている。さらに、グリッドマネージャからの命令に応じて特定のグリッドを生成するためのネットワーカーの一部として、ダイナミックオーバーレイオブジェクト(DOO)コンポーネントが提供される。
ピアツーピアネットワークに接続されたテレスペースフレームワークを備えたピアにおいてアプリケーションを実行するための方法が開示されている。方法はまず、ピアツーピアネットワーク上でコンポーネントブロックのパブリッシング、メッセージング、及びロケーティングを行うためのピアライブラリを定義する。次いで、方法はピアにおいて実行されるアプリケーションの要件に応じてコンポーネントブロックを管理するためのテレスペースフレームワークを定義する。このコンポーネントブロックはピアライブラリにより送られ、要件に応じてピアにおいてアプリケーションの実行を可能にする。
ピアツーピアネットワークに接続されたテレスペースフレームワークを備えたピアにおいてアプリケーションを実行するためのプログラム命令を含むコンピュータ可読媒体が開示されている。このコンピュータ可読媒体は、ピアツーピアネットワーク上でコンポーネントブロックのパブリッシング、メッセージング、及びロケーティングを行うためのピアライブラリを定義するプログラム命令を含む。コンピュータ可読媒体はさらに、ピアにおいて実行されるアプリケーションの要件に応じて、コンポーネントブロックを管理するためのテレスペースフレームワークを定義する。ピアライブラリにより送られてくるコンポーネントブロックは、要件に応じて、ピアにおいてアプリケーションの実行を可能にする。
ピアツーピアネットワークにおいて通信を行うための相互接続フレームワークが提供されている。相互接続フレームワークのピアはピアツーピアネットワーク上でコンポーネントブロックのパブリッシング、メッセージング、及びロケーティングを行うためのピアライブラリ手段を備えている。この相互接続フレームワークはさらに、ピアで実行されるアプリケーションの要件に応じて、コンポーネントブロックを管理するためのフレーム手段を備えている。このコンポーネントブロックはピアライブラリ手段により送られ、要件に応じて、ピアにおいてアプリケーションの実行を可能にする。
本発明のその他の形態は、本発明の原理の一例によって例示されている添付の図面と併せて以下の説明を読めば明らかであろう。
本発明の実施形態は添付の図面と併せて以下の説明を参照すれば、最も良く理解できる。
図1はピアツーピアネットワークの一部であるピアのオペレーティングシステム114上で機能するテレスペースコンポーネント100を例示している。一実施形態では、テレスペースコンポーネント100はアプリケーションを含み得る。本例では、アプリケーションは仮想世界アプリケーション102である。仮想世界アプリケーション102はどのアプリケーションのコンピューティング機能に対してもユーザアクセスできるようにするためのアプリケーションである。このアプリケーションはいずれのタイプであることができ、与えられている機能には、現実世界のオブジェクトをシミュレートするコンポーネント及び形態とのインタラクティビティを含む。例えば、現実世界では、人々は一般的な現代生活において機能するように多くのリソースを使用する。
そのようなリソースには、コンピュータ、電話、セルラー通信機器、ゲームプログラム、ビデオ及びオーディオエンターテインメント、新聞、個人対個人のコミュニケーション、が挙げられる。人がいる場所に応じて、現実世界は様々な経験とアクセスを提供し、特定のリソースとインタラクトできる。例えば、ある人物がオフィスにいる間に利用可能なリソースは、その人物が自宅やレストランにいる間に利用可能なリソースとは異なり得る。多くの場合、リソース、例えば歌のオーディオライブラリ、は、その人物の自宅のコンピュータ上のみで利用可能であり、オフィスでは利用できない。別の例では、通りを歩いているある人物は自宅では利用できない多くのリソースに遭遇する。そのようなリソースとしては、例えば、店頭、気象条件、銀行、他の人物、ポスター、レストラン、自動車など、が挙げられる。つまり、多くの場合、人々は自分たちの物理的な場所に応じて、自分たちが利用できるリソースを知ったうえで、現実世界で機能する傾向があることは良く知られているであろう。仮想世界アプリケーション102は、その人物がどこに旅行したいか、あるいはインタラクトしたいかに基づいて、現実世界の模倣を試みており、どのようなタイプのリソースやコンテンツに遭遇するかに関しては、仮想的には無制限となっている。
その結果、仮想世界アプリケーション102により、ユーザは、利用可能な“インタレストスペース(興味空間)”のメニューを提供する環境に入ることができ、ユーザの選択結果に応じて、仮想世界で利用可能なオプションの更に下の階層が表示される。例えば、ユーザがゲーム部屋に入ることを希望する場合、興味空間には、現在進行しているか、あるいはユーザが利用可能であるゲームセッションが含まれる。興味空間の一部として、同じ興味空間を選択した他のユーザ達は既に相互接続され得、また、情報、プログラムコンポーネント、データ、及び通信メッセージを相互に共有することができる。基本的なピアツーピアネットワークの相互接続性は、本文中では多くの同義語によって呼ばれ、そのような同義語には“ピアツーピアオーバーレイ”、“グリッド”、“ネットワークグリッド”または、“グリッドオーバーレイ”が挙げられる。ピアツーピアネットワーキングはネットワーク通信形式を意味し、全てのノードはデータの送受信を行うための略等価の機能を有す。従って、仮想世界アプリケーション102は単なる一例であって、ピアが興味空間に入ることを選択すると、そのネットワークグリッド(ピアはそのネットワークグリッドの一部である)も変わるであろう。興味空間でユーザ(つまり、接続したピア)がやりたいことに基づいて、そのピアはその他の利用可能なアプリケーションを選択することができる、以下に説明しているように、アプリケーションは実質的に変化する。また、ピア上で実行中のアプリケーションは分散型のコンポーネントアーキテクチャに基づき動作する。
興味空間マネージメントでは、フィルタリングが実行される。このフィルタリングにより特定のピアによりアクセスされる特定のグリッドが使用可能にされる。このフィルタリングは、タスク依存、プライオリティ依存、エンティティ依存、インタラクティブ/リアルタイム評価、データ収集とキャッシング、及び要求駆動型実行(lazy evaluation)と拡張可能な興味区域のフィルタリング、としてもよい。まず、あるピアに対する開始地点は“ホームスペース”であり、これはピアユーザが最も興味のあるグリッドオーバーレイを定義する。ホームスペースへのアクセスはサブスクリプションベース、もしくは実生活のように中央集権型に組織化したものとしてもよい。ローカルスペースvs.共有スペースもまたフィルタリングを決定する要因であり得る。あるいは、フィルタリングを物理的ベース(つまり、バーチャルロケーションマッピングに対するGPS)のものとすることもできる。
従って、ピア上で実行中のアプリケーションはコンポーネントブロック(オブジェクト)によって定義される。これらはテレスペースフレームワーク104のコンポーネントアーキテクチャ106の一部である。テレスペースフレームワーク104はさらに、パブリッシュ及びサブスクライブ(P&S)コンポーネント107、ビアライブラリ(PeerLib)108、及び、PeerLib108の一部であるP2P API110を備えている。その結果、ピアツーピアネットワークの各ピアのテレスペースコンポーネント100は自身のオペレーティングシステム114上で実行する。
ここでは、用語“テレスペース”は、スペースのタイプを識別するものであり、ピアツーピアネットワークのピアがそのスペースにおいて、その他のピアまたはピアグループに接続する、あるいはその他のピアまたはピアグループに入る、その他のピアまたはピアグループから出る、その他のピアまたはピアグループにインタラクトする、その他のピアまたはピアグループを通じて通信する、及び、単にその他のピアまたはピアグループと通信する、というタイプのものである、ということを識別するものである。従って、特定のテレスペースのスペースは、特定のグリッドに接続済みのあるピアが相互にインタラクトし、データを共有し(例えば、ファイルデータ、コンポーネントデータ、オーディオ及び/またはビデオデータ、ゲームデータ、マルチメディアデータ、など)、コンポーネントもしくはオブジェクトを共有し、1つまたはそれ以上のピアとのリンクセッションを確立できる多数のグリッドもしくは定義された対象となる特定のグリッドを含み得る。従って、用語“テレスペース”には、特定のスペースに対する説明した構造及び/または機能に対するコンテキストを提供する広い定義が与えられるべきである。しかしながら、これにより請求項を限定することを意図するものではない。
上述の定義を念頭において、テレスペースフレームワークAPI104はアプリケーションに応じて様々な機能を提供する。図2の単純な例では、アプリケーションは制限された単純な例として、接続性アプリケーション102a、ゲームアプリケーション102b、ゲームアプリケーション102c、及びより広範囲を包含する仮想世界アプリケーション102を含み得る。仮想世界アプリケーション102に関連して、仮想世界アプリケーション102を定義するアプリケーションはこのアプリケーションを定義するためにあるコンポーネントブロックを要求する。このコンポーネントブロックはテレスペースフレームワークAPIのコンポーネントアーキテクチャ106によって管理される。コンポーネントアーキテクチャ106のコンポーネントブロックはデータ及び/または方法周辺のラッパー(wrapper)を定義するオブジェクトである。本アプリケーションで使用されているように、オブジェクトとコンポーネントブロックはインターチェンジャブルで、相互に置き換えが可能である。しかし、いくつかのオブジェクトは1つ以上のコンポーネントブロックから構成されている。これらの集団となったブロックはエンティティと呼ばれる。
テレスペースコンポーネント100のピアツーピア環境では、アプリケーションはコンポーネントアーキテクチャ106のコンポーネントブロックによって定義される。アプリケーションに応じて、あるコンポーネントブロックはアプリケーションの機能を定義するために、ピアツーピアグリッドのピアから要求される。テレスペースフレームワークAPI104はさらに、パブリッシュ及びサブスクライブ(P&S)コンポーネント107を備えている。このP&Sコンポーネント107はピアライブラリ(PeerLib)コンポーネント108と通信する。PeerLibコンポーネント108はパブリッシュ/メッセージ/ロケート(PML)コンポーネント111と、ピアツーピア(P2P)API110を備えている。このP2P API110の詳細は以下に説明されており、これはネットワーカー302と定義される。
P&Sコンポーネント107はコンポーネントアーキテクチャ106の一部であるコンポーネントブロック(つまり、オブジェクト)の属性をパブリッシュする。このようにして、グリッドオーバーレイに接続した他のピアは、コンポーネントブロックのどの属性が共有可能であるかが分かる。このP&Sコンポーネント107はまた、サブスクライブを行う。このサブスクライブ機能によってグリッドオーバーレイ上のその他のパブリッシュ済みのオブジェクトへメッセージが送信される。従って、ピアは、これらのピアがグリッドオーバーレイ上のその他のピアと共有できるオブジェクトを保持していることをパブリッシュし、また、ピアがグリッドオーバーレイ上にある既にパブリッシュ済みのオブジェクトから情報とステータスのサブスクライブを行う。その結果、コンポーネントアーキテクチャ106のコンポーネントブロックは、P&Sコンポーネント107を使用して属性をパブリッシュし、グリッドオーバーレイ上のコンポーネントの属性をサブスクライブする。
P&Sコンポーネント107はメッセージベース(例えば、階層的ASCII、バイナリ、XMLのような、など)である。物理的表現(physical representation)はコンポーネント間通信のためのデータ転送ソリューションには依存しない。そのため、P&S機構107は所定のコンピュータアーキテクチャに対して最適化され、また、ネットワーク転送に対して最適化される。従って、一実施形態では、サブスクライブされた場合だけデータが送信される。そのため、P&Sコンポーネント107はソースコンポーネントからの命令に基づき(例えば、実行後、フラッグの変更、など)、及び遠隔複製コンポーネントを含むその他のコンポーネントからのリクエストに基づき、サブスクリプションリクエストのトラッキングとパブリッシュ可能な属性を送る。このP&Sコンポーネント107はさらに、サブスクライブしたデータを送信する。例としては、メッセージキューハンドリング、ペアレントコーリング(例えば、次のメッセージを受取る)、自動データプレースメント(通知あり、通知なしで)、半自動データプレースメント、などが挙げられる。
一方で、PMLコンポーネント111はグリッドオーバーレイとのオブジェクトのパブリッシング、メッセージング、及びオブジェクトのロケーティングを行う。PMLコンポーネント111のパブリッシュコードは、オブジェクトをパブリッシュするだけでなく、P&Sコンポーネント107に対する属性もパブリッシュする。従って、PeerLibコンポーネント108はアプリケーションの必要性に応じて、P2P API110を通じてコンポーネントブロック(つまり、オブジェクト)を取得する必要がある。上述のように、特定のピア上で実行中のアプリケーションはコンポーネントアーキテクチャ106が管理するコンポーネントブロックから構成される。次いでアプリケーションはコンポーネントブロックへアクセスし、ファンクショナルアプリケーションを形成する。従って、所望のアプリケーションに応じて、コンポーネントブロックはPeerLib 108のPMLコンポーネント111によって、グリッドオーバーレイ上に送られる。
これらのコンポーネントブロックはグリッドオーバーレイ上に共有されているので、ピアがグリッドオーバーレイに接続し、もしくはグリッドオーバーレイを離れる場合は、コンポーネントブロックはその他の接続したピアへ移動する。このようにして、特定のコンポーネントのブロックの機能を必要とするピアはコンポーネントブロックを取得することができ、もしくは、コンポーネントの可用性あるいはコンポーネントが利用可能であるか否かをパブリッシュする別のピアからコンポーネントブロックにアクセスすることができる。
図2を参照すると、アプリケーション102aと102bはコンポーネントアーキテクチャ106を必要としないアプリケーションを利用する。例えば、接続性アプリケーション102aはP2P API100を通じて、グリッドとのメッセージ(例えば、単純なデータもしくはファイルを含む)を簡単に交換できる。従って、電話会議もしくはファイルを共有するために使用され得る接続性アプリケーション102aの動作においては、コンポーネント必要ではない。メッセージ通信を使用するだけでピアツーピアのオンラインゲームとインタラクトできるゲームアプリケーション102bに対して、アーキテクチャ106のコンポーネントブロックは必要としない。しかしゲームアプリケーション102cでは、このゲームアプリケーションはローカルピア上の機能を使用可能にするために、あるコンポーネントを必要とする。従って、コンポーネントアーキテクチャ106はファンクショナルゲームアプリケーション102cを動作させるのに要求される、必要なコンポーネントブロックをリクエストし取得する。その結果、テレスコープを形成するグリッドによって定義されたピアツーピア環境において、どのタイプのアプリケーションも処理することができることは理解されよう。その結果、テレスペースは仮想世界の点から、及び選択された興味空間のより具体的なサブセットの点から、広い意味に定義される。
図3はテレスペース200のグラフィカル表示であり、ピアコンピュータ上で実行中の仮想世界アプリケーション102‘に接続されている。この仮想世界アプリケーション102’は市街道路の一例の画像を示している。この市街道路はピアユーザの故郷の道路とすることもでき、その市街道路では、ユーザはあるソースへアクセスする必要があり得る。このテレスペース200を通じて、ピアユーザは様々なデバイスと通信もしくはアクセスでき、それらは例えば、携帯電話202、媒体204、遠隔制御(例えば、802.11)デバイス206、カメラ208、PDAデバイス210、IP電話、などである。ソースがグリッドで利用可能である限り、異なるタイプのソースに対する競合は事実上無制限である。しかしながら、特定のグリッドオーバーレイで利用可能なソースのタイプは、グリッドオーバーレイに含まれる興味空間のタイプに対応するであろう。
図4はネットワーカーコンポーネント302を例示しており、これは上記の図1及び図2のP2P API110に類似している。ネットワーカーコンポーネント302はアプリケーションプログラミングインターフェース(API)であり、本発明のP2Pネットワークにおいて、ピアに対するグリッドオーバーレイとの通信を行う。ネットワークコンポーネント302はリソースマネージャ304、グリッドマネージャ306、ディスパッチャ308、及びダイナミックオーバーレイオブジェクト(dynamic overlay object:DOO)310を含む。DOOはフル接続グラフ(fully connected graph:FCG)312コンポーネントとChord314コンポーネントを備えている。FCG312とChord314の基本的機能は当業者には周知である。しかし、ネットワーカーコンポーネント302の一部として配置される方法はPeerLib108内に実効性と包括的統合性を提供する。明確にするために、ネットワーカーコンポーネント302は図1及び2で示しているように、PeerLib108の一部であるP2P API112として識別される機能を提供することは理解されよう。
リソースマネージャ304は,グリッドオーバーレイネットワークのピア上のパブリッシュ済みオブジェクトとのアクセス可能性を管理するように構成されている。例えば、ピアは,リソースに対するグリッドへリクエストを送信することができる。1つまたはそれ以上のピアのグリッド上でリソースが検知されると、リクエストピアはそのリソースをダウンロードするか、そのソースがリクエストピアへ流れるようにリクエストする。従って、ピアは共有可能なリソースをパブリッシュするためにリソースマネージャ304を使用し、また、ピアは後続のアクセスに対してリソースのロケーションをリクエストできる。
グリッドマネージャ306はDOO310と通信するように構成されている。DOO310は適切なグリッド相互接続トポロジーへリクエストピアを接続するサービスを提供する。従って、ピア上で実行中のアプリケーションが接続もしくは生成を要求するグリッドに応じて、グリッドマネージャ306はDOO310を使用して適切なオーバーレイを選択しロードする。ピアがグリッドオーバーレイに接続もしくはグリッドオーバーレイを生成すると、ピアはグリッドに接続されたその他のピアとのメッセージを受信し、伝達できる。
ディスパッチャ308はメッセージの受信を希望するパブリッシュオブジェクトに対してメッセージをディスパッチする。メッセージの受信を希望するパブリッシュオブジェクトはメッセージハンドラでパブリッシュされる。従って、メッセージがグリッドから入り、ピアに到達すると、メッセージはディスパッチャ308へ入る。そのメッセージが受信ピアに対するものでない場合は、ディスパッチャはそのメッセージをChord314もしくはFCG312へ送り、そのメッセージを順に別のピアへ送る。ピアツーピアネットワークはグリッドのパティシパントのグループによって定義されているので、メッセージは目的のピアに到達するまでチェーンを通じて送られる。メッセージをすぐ隣のピアに送るだけではなく、FCG接続を通じ、エントリポイントを使用してメッセージをその他のピアへ送ることができる。しかし、そのメッセージがそのピアに対するものである場合は、別のピアにメッセージを送るのではなく、メッセージはそのピアのアプリケーションへ送られる。
テレスペースにおいてエントリポイントを検知する機構は、例えば、ハブピア(所定のエントリポイントサーバに対して)、多層ブロードキャスト/ホップリングマルチキャスト、マニュアル仕様書、ランダムテイル(random tail)、などである。
図4を参照すると、ネットワーカーコンポーネント302はソケットAPI400にも接続されている。ソケットAPI400は上記の図1及び2のオペレーティングシステム114の一部である。従って、ネットワーカーコンポーネント302はピアに対するグリッドへインターフェース接続し、これによりピアはピア(及び、ピアの共有リソース)が定義する仮想世界アプリケーションで機能することができる。その結果、アプリケーションのコンポーネント化によってグリッド内に共有の実効的リソースが使用可能になり、また、ネットワーカーコンポーネント302は本発明の接続グリッドで機能するために必要な、パブリッシング、サブスクライビング、メッセージング、及びロケーティングを行うために求められる実効的通信パワーを提供する。
図5から図7はグリッドオーバーレイに接続した多数のピア502の例を例示している。図5のグリッド500aでは、ピア502は本発明の“Chord”定義によるリンク504によって接続されている。従って、時計回りのリンク504はピア502とピア502間の後続の接続を定義し、また、反時計回りのリンク504は前の接続を定義する。中心のリンク504はフィンガーテーブル接続を定義する。本例では、ピアはその他のピアを配置し、グリッドから必要なリソースをフェッチすることができる。各ピアに対して、16進法のデバイスIdは個々のピアを定義し、また、16進数は時計回り方向に増加する。
図6のグリッド500bでは、ピア502は上記に定義しているように、引き続きコードによって相互接続されるが、さらにフル接続グリッド(FCG)接続が追加される。FCG接続506aはグリッド500bのピア502が使用する接続を定義し、ゲーム(つまり、P2Pゲーム)をプレイすることができる。実効的プレイとインタラクションを可能にするためにゲームは短いレイテンシを要求するため、FCG接続は図4のDOO310によって提供される付加的オーバーレイを提供する。
図7のグリッド500cでは、ピア502はコードに接続されたままであるが、いくつかのその他のFCG接続も含まれる。この例では、テレビ電話会議に対して低レイテンシを要求する接続が示されており、接続506bにより定義される。さらに追加されているのは、インスタントメッセージチャットセッション(例えば、YahooのIRC AIM)である。従ってこのグリッド500cでは、ピアはグリッドと特定の他のピアとの接続、その他のピアとの共有コンポーネント、及びその他のピアとのメッセージ、を確立することができる。
概要として、ピアツーピアグリッドの接続プラットフォーム間に制御されたデータを交換することができるように、仮想世界アプリケーションが提供されている。この仮想世界アプリケーションは“TeleSpace(テレスペース)”とも呼ばれる。一例として、仮想世界アプリエーションは一般のインターフェースとオペレーティング規約(operating convention)を提供する。一実施形態では、一般のインターフェースとオペレーティング規約により、APIに対して、接続プラットフォーム間でのデータ交換の制御が与えられる。このAPIと関連のフレームワークは、分散型シーングラフタイプのアプリケーションを生成することができる。この仮想世界アプリケーションは、コンポーネントベースのインターネットワークアプリケーションで使用するとともに通信を行うために、必要に応じて適用可能で、かつすぐに変更できるソフトウエアインフラストラクチャに基づいている。この仮想世界アプリケーションは、様々なアプリケーション、プラットフォーム、ユーザ、エンティティ、及びデータベースに高性能とスケーラビリティを提供するように設計される。
ピアツーピアネットワークは、ネットワークのノードを定義するピアで構成された、分散型コンピューティングシステムである。いくつかの一般的な実施形態では、ピアはいずれのコンピューティングデバイス、例えば、デスクトップクラスコンピュータ、サーバクラスコンピュータ、携帯機器、携帯端末、携帯電話、PDA、ゲーム機、ゲーム機器、などを含み得る。しかし、別の実施形態では、ピアはコンピューティングデバイスがP2Pネットワークに接続されている限り、別のコンピューティングデバイスとの通信を確立できるコンピューティングデバイスであり得る。
本発明の実施形態は、様々なコンピュータシステム構造で実行することができ、それらには携帯端末、マイクロプロセッサシステム、マイクロプロセッサベースの、もしくはプログラム可能な消費家電、ミニコンピュータ、メインフレームコンピュータなど、を含む。本発明はまた、ワイヤベースもしくはワイヤレスネットワークを通じて接続された遠隔処理デバイスによってタスクが実施される分散型コンピューティング環境で実行することもできる。
上述の実施形態を念頭において、本発明はコンピュータシステムに格納されるデータを含む、様々なコンピュータ実装オペレーションで使用できることを理解されたい。これらのオペレーションは、物理的品質の物理的操作を必要とするものである。絶対的ではないが通常は、これらの品質は格納、転送、結合、比較、もしくは操作が可能な電気もしくは磁気信号形式である。
本発明の一部を形成する、本明細書に説明したいずれのオペレーションも、有益なマシンオペレーションである。本発明はまた、これらのオペレーションを実施するためのデバイスもしくは装置にも関する。本装置は所要の目的のために特別に構成されている。あるいは、本装置はコンピュータに格納されたコンピュータプログラムによって選択的に起動する、もしくは構成される多目的コンピュータであり得る。特に、様々な多目的マシンが本文中の教示に従い書かれたコンピュータプログラムとともに使用され得る。もしくは、所望のオペレーションを実施するために、より具体的な装置を構成すればさらに便利である。
本発明はコンピュータ可読媒体にコンピュータ可読コードとして組み込まれることもできる。このコンピュータ可読媒体は、コンピュータシステムによって後で読み出しされ得る、データの格納が可能ないずれのデータストレージデバイスである。コンピュータ可読媒体の例としては、ハードドライブ、ネットワーク接続ストレージ(network attached storage:NAS)、ROM、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、及びその他の光学及び非光学データストレージデバイス、が挙げられる。コンピュータ可読媒体はまた、コンピュータ可読コードが分散形式で格納されて実行されるように、ネットワーク結合されたコンピュータシステム上に分散されている。
前述の発明は本発明を明確に理解するためにいくつかの詳細が説明されているが、添付の請求の範囲内で一定の変更及び修正が可能なことは明らかであろう。従って、本実施形態は例示的なものであって制限的なものではないと考えられ、また本発明は本文中に与えられている詳細に制限されずに、添付の請求項と等価の範囲内で修正され得る。
本発明の一実施形態によるピアツーピアネットワークにおけるピアのテレスペースフレームワークを定義した説明図。 アプリケーションがコンポーネントを利用してアプリケーションを定義し、PeerLibが本発明のピアツーピアネットワークのグリッドとの通信を可能にする、テレスペースフレームワークの例の説明図。 本発明の一実施形態による、ピアコンピュータ上で実行中の仮想世界アプリケーションに接続されたテレスペースの説明図。 本発明の一実施形態による、PeerLibのネットワーカーコンポーネントの説明図。 本発明の一実施形態による、グリッドオーバーレイに接続された多数のピアの例の説明図。 本発明の一実施形態による、グリッドオーバーレイに接続された多数のピアの例の説明図。 本発明の一実施形態による、グリッドオーバーレイに接続された多数のピアの例の説明図。

Claims (23)

  1. ピアツーピアネットワークで通信を行うための相互接続フレームワークシステムであって、前記相互接続フレームワークシステムのピアは、
    前記ピアツーピアネットワーク上でコンポーネントブロックのパブリッシング、メッセージング、及びロケーティングを行うピアライブラリと、
    前記ピアにおいて実行されるアプリケーションの要件に応じてコンポーネントブロックを管理するためのテレスペースフレームワークシステムと、を有し、前記ピアライブラリによって送られてくる前記コンポーネントブロックは、前記要件に応じて、前記ピアにおいて前記アプリケーションの実行を可能にするものであり、
    前記ピアライブラリは、前記ピアが、前記ピアツーピアネットワークの選択したグリッドのピアとの通信を可能にするネットワーカーコンポーネントを含み、
    前記ネットワーカーコンポーネントはさらに、
    前記ピアのリソースを前記ピアツーピアネットワークのその他のピアへパブリッシュし、前記ピアツーピアネットワークのその他のピアからオブジェクトを取得するためのリソースマネージャと、
    前記ピアツーピアネットワークの特定のグリッドを生成もしくは特定のグリッドを接続するとともに、特定のピアにより特定のグリッドがアクセス可能となるようにグリッドのフィルタリングを行うグリッドマネージャと、
    前記ピアツーピアネットワークから前記ピアにおいてメッセージを受信するためのディスパッチャと、を含む、ピアツーピアネットワークで通信を行うための相互接続フレームワークシステム。
  2. 1つまたはそれ以上のコンポーネントブロックによりオブジェクトが構成される、請求項1記載のピアツーピアネットワークで通信を行うための相互接続フレームワークシステム。
  3. 集合コンポーネントブロックによりエンティティが構成される、請求項1記載のピアツーピアネットワークで通信を行うための相互接続フレームワークシステム。
  4. 前記テレスペースフレームワークシステムはさらに、
    パブリッシュ及びサブスクライブコンポーネントを有し、前記パブリッシュ及びサブスクライブコンポーネントは前記ピアにおいて、あるオブジェクトが利用できるかを前記ピアツーピアグリッドのピアに通知し、かつ、前記グリッド上のその他のピアのオブジェクトからステータス通知を要求するように構成されている、請求項2記載のピアツーピアネットワークで通信を行うための相互接続フレームワークシステム。
  5. 前記ディスパッチャは、前記受信したメッセージを前記アプリケーションへ伝達する、もしくは前記メッセージを別のピアへ送るように構成されている、請求項1記載のピアツーピアネットワークで通信を行うための相互接続フレームワークシステム。
  6. 前記ネットワーカーコンポーネントはさらに、ダイナミックオーバーレイオブジェクトコンポーネントを含む、請求項1記載のピアツーピアネットワークで通信を行うための相互接続フレームワークシステム。
  7. 前記ダイナミックオーバーレイオブジェクトコンポーネントは前記ピアツーピアネットワークにおいてグリッドオーバーレイを確立するためのコードコンポーネント及びフル接続グラフコンポーネントを含む、請求項6記載のピアツーピアネットワークで通信を行うための相互接続フレームワークシステム。
  8. ピアツーピアネットワークにおいてピアのアプリケーションプログラミングインターフェース(API)のためのネットワーカーコンポーネント装置であって、前記ネットワーカーコンポーネント装置は、
    前記ピアのリソースを前記ピアツーピアネットワークのその他のピアへパブリッシュし、かつ、アプリケーションに対する前記ピアツーピアネットワークの前記その他のピアからオブジェクトを取得するためのリソースマネージャと、
    前記ピアツーピアネットワークの特定のピアを生成する、もしくは特定のピアを接続するとともに、特定のピアにより特定のグリッドがアクセス可能となるようにグリッドのフィルタリングを行うグリッドマネージャと、
    前記ピアツーピアネットワークから、前記ピアにおいてメッセージを受信するためのディスパッチャと、
    前記グリッドマネージャからの命令に応じて、前記特定のグリッドを生成するためのダイナミックオーバーレイオブジェクト(DOO)を含み、
    前記ダイナミックオーバーレイオブジェクトコンポーネントは前記ピアツーピアネットワークにおいてグリッドオーバーレイを確立するためのコードコンポーネント及びフル接続グラフコンポーネントを備えている、ピアツーピアネットワークにおいてピアのアプリケーションプログラミングインターフェース(API)のためのネットワーカーコンポーネント装置。
  9. 前記ディスパッチャは前記受信したメッセージを前記アプリケーションへ伝達する、もしくは前記メッセージを別のピアへ送るように構成されている、請求項8記載のピアツーピアネットワークにおいてピアのアプリケーションプログラミングインターフェース(API)をのためのネットワーカーコンポーネント装置。
  10. 前記アプリケーションは前記アプリケーションの完全な機能のために要求される特定のオブジェクトを命令する属性を識別し、前記アプリケーションは前記ピアツーピアネットワーク上で前記アプリケーションを実行するオブジェクトを操作できる、請求項8記載のピアツーピアネットワークにおいてピアのアプリケーションプログラミングインターフェース(API)のためのネットワーカーコンポーネント装置。
  11. 前記オブジェクトは1つまたはそれ以上のコンポーネントブロックによって構成され、かつ、集合コンポーネントブロックは前記ピアの前記アプリケーションによって利用されるエンティティを構成する、請求項10記載のピアツーピアネットワークにおいてピアのアプリケーションプログラミングインターフェース(API)のためのネットワーカーコンポーネント装置。
  12. 前記ネットワーカーコンポーネント装置は前記ピアのオペレーティングシステムのソケットAPIと通信する、請求項8記載のピアツーピアネットワークにおいてピアのアプリケーションプログラミングインターフェース(API)のためのネットワーカーコンポーネント装置。
  13. 前記アプリケーションはピアに対する興味空間を確立するフィルタリングを定義し、前記ピアに対する前記興味空間は前記アプリケーションに関連するメッセージ、もしくはコンポーネントブロックとメッセージの両方を共有もしくは交換するピアのサブセットを含む、請求項8記載のピアツーピアネットワークにおいてピアのアプリケーションプログラミングインターフェース(API)のためのネットワーカーコンポーネント装置。
  14. ピアツーピアネットワークに接続されたテレスペースフレームワークを有するピアにおいてアプリケーションを実行する方法であって、
    前記ピアが、
    前記ピアツーピアネットワーク上でコンポーネントブロックのパブリッシング、メッセージング、及びロケーティングを行うピアライブラリを定義するステップと、
    前記ピアが、
    前記ピアにおいて実行されるアプリケーションの要件に応じてコンポーネントブロックを管理するためのテレスペースフレームワークを定義するステップとを有し、前記コンポーネントブロックは、前記ピアライブラリによって取得され、前記要件に応じて、前記ピアにおいて前記アプリケーションの実行を可能にし、
    前記ピアライブラリは、前記ピアが前記ピアツーピアネットワークの選択されたグリッドのピアとの通信を可能にするためのネットワーカーコンポーネントを含み、
    前記ネットワーカーコンポーネントは、
    前記ピアのリソースを前記ピアツーピアネットワークのその他のピアへパブリッシュし、かつ前記ピアツーピアネットワークの前記その他のピアからオブジェクトを取得するためのリソースマネージャと、
    前記ピアツーピアネットワークの特定のグリッドを生成もしくは特定のグリッドに接続するとともに、特定のピアにより特定のグリッドがアクセス可能となるようにグリッドのフィルタリングを行うグリッドマネージャと、
    前記ピアツーピアネットワークから前記ピアにおいてメッセージを受信するためのディスパッチャと、を含む、ピアツーピアネットワークに接続されたテレスペースフレームワークを有すピアにおいてアプリケーションを実行する方法。
  15. 前記アプリケーションの前記要件は、アプリケーションのタイプを定義する、請求項14記載のピアツーピアネットワークに接続されたテレスペースフレームワークを有すピアにおいてアプリケーションを実行する方法。
  16. パブリッシュ及びサブスクライブコンポーネントを実行するステップを更に含み、前記パブリッシュ及びサブスクライブコンポーネントは前記ピアにおいて、あるオブジェクトが利用可能であるかを前記ピアツーピアグリッドのピアに通知し、かつ、前記グリッド上のその他のピアのオブジェクトからステータス通知を要求するように構成されている、請求項14記載のピアツーピアネットワークに接続されたテレスペースフレームワークを有すピアにおいてアプリケーションを実行する方法。
  17. ピアツーピアネットワークに接続されたテレスペースフレームワークを備えたピアにおいてアプリケーションを実行するためのプログラム命令を含むコンピュータ可読媒体であって、前記コンピュータ可読媒体は、
    前記ピアツーピアネットワーク上でブロックコンポーネントのパブリッシング、メッセージング、及びロケーティングを行うためのピアライブラリを定義するためのプログラム命令と、
    前記ピアにおいて実行されるアプリケーションの要件に応じてコンポーネントブロックを管理するためのテレスペースフレームワークを定義するためのプログラム命令と、を含み、前記コンポーネントブロックは、前記ピアライブラリによって取得され、前記要件に応じて、前記ピアにおいて前記アプリケーションの実行を可能にするものであり、
    前記ピアライブラリを定義するためのプログラム命令には、前記ピアが前記ピアツーピアネットワークの選択したグリッドのピアと通信することを可能にするネットワーカーコンポーネントを含み、
    前記ネットワーカーコンポーネントはさらに、
    前記ピアのリソースを前記ピアツーピアネットワークのその他のピアへパブリッシュし、前記ピアツーピアネットワークのその他のピアからオブジェクトを取得するためのリソースマネージャと、
    前記ピアツーピアネットワークの特定のグリッドを生成もしくは特定のグリッドを接続するとともに、特定のピアにより特定のグリッドがアクセス可能となるようにグリッドのフィルタリングを行うグリッドマネージャと、を含むものである、ピアツーピアネットワークに接続されたテレスペースフレームワークを備えたピアにおいてアプリケーションを実行するためのプログラム命令を含むコンピュータ可読媒体。
  18. 前記アプリケーションの前記要件はアプリケーションのタイプを定義する、請求項17記載のコンピュータ可読媒体。
  19. 前記コンピュータ可読媒体はさらに、
    パブリッシュ及びサブスクライブコンポーネントを実行するためのプログラム命令を含み、前記パブリッシュ及びサブスクライブコンポーネントは前記ピアにおいて、あるオブジェクトが利用可能であるかを前記ピアツーピアグリッドのピアに通知し、かつ、前記グリッド上のその他のピアのオブジェクトからステータス通知を要求するように構成されている、請求項17記載のコンピュータ可読媒体。
  20. ピアツーピアネットワークで通信を行うための相互接続フレームワークシステムであって、前記相互接続フレームワークシステムのピアは、
    前記ピアツーピアネットワーク上でコンポーネントブロックのパブリッシング、メッセージング、及びロケーティングを行うピアライブラリ手段、及び
    前記ピアにおいて実行されるアプリケーションの要件に応じてコンポーネントブロックを管理するためのフレームワーク手段を含み、前記コンポーネントブロックは前記ピアライブラリ手段によって送られており、前記要件に応じて、前記ピアにおいて前記アプリケーションの実行を可能にし、
    前記ピアライブラリ手段は、前記ピアが前記ピアツーピアネットワークの選択したグリッドのピアとの通信を可能にするネットワーカー手段を含み、
    前記ネットワーカー手段はさらに、
    前記ピアのリソースを前記ピアツーピアネットワークのその他のピアへパブリッシュし、かつ前記ピアツーピアネットワークの前記その他のピアからオブジェクトを取得するためのリソースマネージング手段、
    前記ピアツーピアネットワークの特定のグリッドを生成し、もしくは特定のグリッドに接続するとともに、特定のピアにより特定のグリッドがアクセス可能となるようにグリッドのフィルタリングを行うためのグリッドマネージング手段、及び、
    前記ピアツーピアネットワークから前記ピアにおいてメッセージを受信するためのディスパッチ手段、を含む、ピアツーピアネットワークで通信を行うための相互接続フレームワークシステム。
  21. 1つまたはそれ以上のコンポーネントブロックによりオブジェクトが構成される、請求項20記載の相互接続フレームワークシステム。
  22. 集合コンポーネントブロックによりエンティティが構成され、請求項20記載の相互接続フレームワークシステム。
  23. 前記フレームワーク手段はさらに、
    前記ピアにおいて、あるオブジェクトが利用可能であるかを前記ピアツーピアグリッドのピアに通知し、かつ、前記グリッドのその他のピアのオブジェクトからステータス通知を要求するためのパブリッシング及びサブスクライビング手段を含む、請求項21記載の相互接続フレームワークシステム。
JP2006515076A 2003-06-04 2004-06-01 ピアツーピアネットワークにおけるアプリケーションの実行 Expired - Lifetime JP4499716B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47608403P 2003-06-04 2003-06-04
PCT/US2004/017306 WO2004110019A1 (en) 2003-06-04 2004-06-01 Application execution in a peer-to-peer network

Publications (2)

Publication Number Publication Date
JP2006526856A JP2006526856A (ja) 2006-11-24
JP4499716B2 true JP4499716B2 (ja) 2010-07-07

Family

ID=33511753

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006514997A Expired - Fee Related JP4331203B2 (ja) 2003-06-04 2004-05-28 ピアツーピアネットワークのためのコンテンツ分散型オーバーレイネットワーク
JP2006515076A Expired - Lifetime JP4499716B2 (ja) 2003-06-04 2004-06-01 ピアツーピアネットワークにおけるアプリケーションの実行

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006514997A Expired - Fee Related JP4331203B2 (ja) 2003-06-04 2004-05-28 ピアツーピアネットワークのためのコンテンツ分散型オーバーレイネットワーク

Country Status (6)

Country Link
US (3) US7792915B2 (ja)
EP (1) EP1636968B1 (ja)
JP (2) JP4331203B2 (ja)
CN (2) CN1833423B (ja)
TW (2) TWI249922B (ja)
WO (2) WO2004110018A1 (ja)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603464B2 (en) * 2003-06-04 2009-10-13 Sony Computer Entertainment Inc. Method and system for identifying available resources in a peer-to-peer network
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
US8087025B1 (en) * 2004-06-30 2011-12-27 Hewlett-Packard Development Company, L.P. Workload placement among resource-on-demand systems
US7719971B1 (en) 2004-09-15 2010-05-18 Qurio Holdings, Inc. Peer proxy binding
CN1798048A (zh) * 2004-12-29 2006-07-05 国际商业机器公司 用于内容信息共享的方法和装置
US7966395B1 (en) 2005-08-23 2011-06-21 Amazon Technologies, Inc. System and method for indicating interest of online content
JP2007058414A (ja) * 2005-08-23 2007-03-08 Hitachi Ltd 計算機のログ管理プログラム、そのログ管理方法、及び計算機システム
US8752090B2 (en) * 2005-11-30 2014-06-10 Qwest Communications International Inc. Content syndication to set top box through IP network
US20090007171A1 (en) * 2005-11-30 2009-01-01 Qwest Communications International Inc. Dynamic interactive advertisement insertion into content stream delivered through ip network
US20090063645A1 (en) * 2005-11-30 2009-03-05 Qwest Communications Internatinal Inc. System and method for supporting messaging using a set top box
US8583758B2 (en) * 2005-11-30 2013-11-12 Qwest Communications International Inc. Network based format conversion
US8621531B2 (en) * 2005-11-30 2013-12-31 Qwest Communications International Inc. Real-time on demand server
US7516116B2 (en) * 2006-04-07 2009-04-07 Microsoft Corporation Range and cover queries in overlay networks
FR2901439A1 (fr) * 2006-05-22 2007-11-23 France Telecom Procede de selection d'au moins un pair serveur pour la transmission de donnees de visualisation,terminal,serveur, et produit programme d'ordinateur correspondants.
US7945689B2 (en) * 2007-03-23 2011-05-17 Sony Corporation Method and apparatus for transferring files to clients using a peer-to-peer file transfer model and a client-server transfer model
DE602007004984D1 (de) * 2006-06-13 2010-04-08 British Telecomm Peer-to-peer-meldesystem über reputation der dienstgüte
US8386509B1 (en) * 2006-06-30 2013-02-26 Amazon Technologies, Inc. Method and system for associating search keywords with interest spaces
US7953785B2 (en) * 2006-06-30 2011-05-31 Microsoft Corporation Content synchronization in a file sharing environment
US9013511B2 (en) * 2006-08-09 2015-04-21 Qualcomm Incorporated Adaptive spatial variant interpolation for image upscaling
US7873988B1 (en) 2006-09-06 2011-01-18 Qurio Holdings, Inc. System and method for rights propagation and license management in conjunction with distribution of digital content in a social network
US7992171B2 (en) 2006-09-06 2011-08-02 Qurio Holdings, Inc. System and method for controlled viral distribution of digital content in a social network
CN100433689C (zh) * 2006-09-13 2008-11-12 华中科技大学 一种流媒体直播系统中控制流的树形网络组织方法
US7801971B1 (en) 2006-09-26 2010-09-21 Qurio Holdings, Inc. Systems and methods for discovering, creating, using, and managing social network circuits
US7925592B1 (en) 2006-09-27 2011-04-12 Qurio Holdings, Inc. System and method of using a proxy server to manage lazy content distribution in a social network
US8554827B2 (en) * 2006-09-29 2013-10-08 Qurio Holdings, Inc. Virtual peer for a content sharing system
US7782866B1 (en) 2006-09-29 2010-08-24 Qurio Holdings, Inc. Virtual peer in a peer-to-peer network
WO2008040585A1 (en) * 2006-10-02 2008-04-10 International Business Machines Corporation Method and system of automatically adapting a user interface
US20080115170A1 (en) * 2006-10-30 2008-05-15 Qualcomm Incorporated Methods and apparatus for recording and sharing broadcast media content on a wireless communication device
US20080126294A1 (en) * 2006-10-30 2008-05-29 Qualcomm Incorporated Methods and apparatus for communicating media files amongst wireless communication devices
US7886334B1 (en) 2006-12-11 2011-02-08 Qurio Holdings, Inc. System and method for social network trust assessment
US7730216B1 (en) 2006-12-14 2010-06-01 Qurio Holdings, Inc. System and method of sharing content among multiple social network nodes using an aggregation node
US8027342B2 (en) * 2006-12-21 2011-09-27 Motorola Mobility, Inc. Method and apparatus for establishing peer-to-peer communications
US8693392B2 (en) * 2007-02-21 2014-04-08 Avaya Canada Corp. Peer-to-peer communication system and method
GB0703974D0 (en) * 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
JP5390413B2 (ja) * 2007-03-20 2014-01-15 トムソン ライセンシング 階層的にクラスタ化されたp2pストリーミング・システム
US8135018B1 (en) 2007-03-29 2012-03-13 Qurio Holdings, Inc. Message propagation in a distributed virtual world
US8116323B1 (en) * 2007-04-12 2012-02-14 Qurio Holdings, Inc. Methods for providing peer negotiation in a distributed virtual environment and related systems and computer program products
US8000328B1 (en) 2007-05-22 2011-08-16 Qurio Holdings, Inc. Filtering messages in a distributed virtual world based on virtual space properties
US8996723B2 (en) * 2007-06-04 2015-03-31 Microsoft Technology Licensing, Llc ISP-aware peer-to-peer content exchange
US8433656B1 (en) 2007-06-13 2013-04-30 Qurio Holdings, Inc. Group licenses for virtual objects in a distributed virtual world
US7657648B2 (en) * 2007-06-21 2010-02-02 Microsoft Corporation Hybrid tree/mesh overlay for data delivery
US7814154B1 (en) 2007-06-26 2010-10-12 Qurio Holdings, Inc. Message transformations in a distributed virtual world
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US7769806B2 (en) * 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
CN101946466B (zh) * 2007-12-21 2015-01-28 英特尔公司 多个应用的对等流传输和api服务
US8238559B2 (en) 2008-04-02 2012-08-07 Qwest Communications International Inc. IPTV follow me content system and method
US8606967B2 (en) 2008-06-17 2013-12-10 Qualcomm Incorporated Methods and apparatus for proxying of devices and services using overlay networks
US8619775B2 (en) * 2008-07-21 2013-12-31 Ltn Global Communications, Inc. Scalable flow transport and delivery network and associated methods and systems
TW201010360A (en) * 2008-08-25 2010-03-01 Univ Nat Taiwan Multimedia broadcast system and method for use in peer-to-peer network coordinative code-transfer
AU2008207678B1 (en) * 2008-09-02 2009-03-19 Simmersion Holdings Pty Limited Interactivity platform system and method
US8127236B2 (en) * 2008-09-12 2012-02-28 International Business Machines Corporation Virtual universe subject matter expert assistance
US8688665B2 (en) * 2008-10-03 2014-04-01 Motorola Mobility Llc Collaborative transcoding
US8260873B1 (en) 2008-10-22 2012-09-04 Qurio Holdings, Inc. Method and system for grouping user devices based on dual proximity
US20100106797A1 (en) * 2008-10-23 2010-04-29 Qualcomm Incorporated Methods and apparatus for hybrid broadcast and peer-to-peer network using cooperative mimo
US20100153189A1 (en) * 2008-12-17 2010-06-17 Noah Labe Dudley Method and apparatus for processing responses from a remote, live audience
GB2478687B (en) 2008-12-22 2014-05-21 Ltn Global Communications Inc A system and method for recovery of packets in overlay networks
US8126985B1 (en) 2008-12-31 2012-02-28 Qurio Holdings, Inc. Prioritizing virtual object downloads in a distributed virtual environment
TWI384812B (zh) * 2008-12-31 2013-02-01 Ind Tech Res Inst 運用暫存管理與資料傳輸負載平衡之點對點代理服務裝置與方法
US9853922B2 (en) 2012-02-24 2017-12-26 Sococo, Inc. Virtual area communications
US8977765B1 (en) * 2009-02-27 2015-03-10 Symantec Corporation Method and apparatus for streaming applications to a plurality of clients within a peer to-peer network
US8413168B2 (en) * 2009-03-05 2013-04-02 Nokia Corporation Method, apparatus and computer program product for providing an event scheme for context models
US9301238B2 (en) * 2009-03-06 2016-03-29 Qualcomm Incorporated Methods and apparatus for automated local network formation using alternate connected interfaces
US8599851B2 (en) 2009-04-03 2013-12-03 Ltn Global Communications, Inc. System and method that routes flows via multicast flow transport for groups
US9106569B2 (en) 2009-03-29 2015-08-11 Ltn Global Communications, Inc. System and method that routes flows via multicast flow transport for groups
US8996568B2 (en) 2009-07-14 2015-03-31 Qualcomm Incorporated Methods and apparatus for efficiently processing multiple keyword queries on a distributed network
US8213506B2 (en) 2009-09-08 2012-07-03 Skype Video coding
GB2476271B (en) * 2009-12-17 2015-09-02 Skype Coding data streams
US20130232198A1 (en) * 2009-12-21 2013-09-05 Arbitron Inc. System and Method for Peer-to-Peer Distribution of Media Exposure Data
US20110153391A1 (en) * 2009-12-21 2011-06-23 Michael Tenbrock Peer-to-peer privacy panel for audience measurement
US10826751B2 (en) * 2009-12-28 2020-11-03 Telefonaktiebolaget Lm Ericsson (Publ) Management of functional interconnections between application modules on resource nodes in a social web
KR101110202B1 (ko) * 2010-08-02 2012-02-16 (주)엔써즈 동영상 데이터들의 상호 관계에 기초한 데이터베이스 형성 방법 및 데이터베이스 형성 시스템
US9466073B2 (en) 2010-12-28 2016-10-11 Google Inc. Targeting an aggregate group
US8806049B2 (en) * 2011-02-15 2014-08-12 Peerialism AB P2P-engine
US8443086B2 (en) 2011-06-22 2013-05-14 National Chiao Tung University Decentralized structured peer-to-peer network and load balancing methods thereof
US8898327B2 (en) 2011-10-05 2014-11-25 Peerialism AB Method and device for arranging peers in a live streaming P2P network
US8849977B2 (en) * 2012-03-09 2014-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and a control node in an overlay network
TWI452875B (zh) * 2012-03-23 2014-09-11 Ind Tech Res Inst 調整對等串流網路之樹狀覆蓋網的方法與系統
US10261938B1 (en) 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US9491801B2 (en) 2012-09-25 2016-11-08 Parallel Wireless, Inc. Dynamic multi-access wireless network virtualization
WO2014108356A2 (en) * 2013-01-10 2014-07-17 Telefonaktiebolaget L M Ericsson (Publ) Connection mechanism for energy-efficient peer-to-peer networks
CN103179191B (zh) * 2013-02-07 2016-05-25 北京邮电大学 P2p网络管控装置及p2p网络管控系统
KR101462353B1 (ko) * 2013-10-28 2014-11-14 수원대학교산학협력단 응용 계층 멀티캐스트 서비스 제공을 위한 분산적 부모 피어 선택 방법
US8782121B1 (en) 2014-01-17 2014-07-15 Maximilian A. Chang Peer-to-peer electronic device handling of social network activity
US8782122B1 (en) 2014-01-17 2014-07-15 Maximilian A. Chang Automated collaboration for peer-to-peer electronic devices
CN105338374A (zh) * 2015-10-29 2016-02-17 无锡天脉聚源传媒科技有限公司 一种数据处理方法及装置
US9930134B2 (en) 2015-11-25 2018-03-27 International Business Machines Corporation File replication on location-aware devices
US10057337B2 (en) 2016-08-19 2018-08-21 AvaSure, LLC Video load balancing system for a peer-to-peer server network
US10616324B1 (en) * 2017-07-20 2020-04-07 Architecture Technology Corporation Decentralized ledger system and method for enterprises
CN110192382B (zh) * 2018-06-07 2021-08-31 关迟 一种网络通信方法、对等体及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905776A (en) * 1996-04-04 1999-05-18 Siemens Information And Communication Networks, Inc. System and method of co-ordinating communications for telecommuters
US6754181B1 (en) * 1996-11-18 2004-06-22 Mci Communications Corporation System and method for a directory service supporting a hybrid communication system architecture
US6314470B1 (en) * 1997-07-25 2001-11-06 Hewlett Packard Company System and method for asynchronously accessing a graphics system for graphics application evaluation and control
US6505254B1 (en) * 1999-04-19 2003-01-07 Cisco Technology, Inc. Methods and apparatus for routing requests in a network
US6446113B1 (en) * 1999-07-19 2002-09-03 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a dynamics manager
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
DE60042965D1 (de) * 2000-05-24 2009-10-29 Sony Deutschland Gmbh Dienstqualitätsunterhandlung
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US20040122741A1 (en) * 2002-01-25 2004-06-24 David Sidman Apparatus, method and system for effecting information access in a peer environment
US20020116533A1 (en) * 2001-02-20 2002-08-22 Holliman Matthew J. System for providing a multimedia peer-to-peer computing platform
US7383347B2 (en) * 2001-07-18 2008-06-03 International Business Machines Corporation Method and apparatus for providing extensible scalable transcoding of multimedia content
US7120691B2 (en) * 2002-03-15 2006-10-10 International Business Machines Corporation Secured and access controlled peer-to-peer resource sharing method and apparatus
US7251689B2 (en) * 2002-03-27 2007-07-31 International Business Machines Corporation Managing storage resources in decentralized networks
US7613796B2 (en) * 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
US7123696B2 (en) * 2002-10-04 2006-10-17 Frederick Lowe Method and apparatus for generating and distributing personalized media clips
US7401132B1 (en) * 2002-12-20 2008-07-15 Symantec Operating Corporation Method and system for creating a peer-to-peer overlay network
US7437440B2 (en) * 2003-01-27 2008-10-14 Microsoft Corporation Peer-to-peer networking framework application programming interfaces
US20040205219A1 (en) * 2003-02-19 2004-10-14 Wen-Syan Li Virtual active network for live streaming media
US7644182B2 (en) * 2004-03-11 2010-01-05 Hewlett-Packard Development Company, L.P. Reconfiguring a multicast tree
US20060010203A1 (en) * 2004-06-15 2006-01-12 Nokia Corporation Personal server and network
ATE544286T1 (de) * 2009-03-30 2012-02-15 Alcatel Lucent Verfahren zum aufbau von zwei parallelen verteilbäumen eines nicht-hierarchischen netzes

Also Published As

Publication number Publication date
EP1636968A1 (en) 2006-03-22
JP4331203B2 (ja) 2009-09-16
JP2006526850A (ja) 2006-11-24
CN1833423B (zh) 2012-01-11
JP2006526856A (ja) 2006-11-24
TW200520466A (en) 2005-06-16
EP1636968B1 (en) 2019-03-06
US20050198290A1 (en) 2005-09-08
US7792915B2 (en) 2010-09-07
CN1829998A (zh) 2006-09-06
WO2004110019A1 (en) 2004-12-16
CN1833423A (zh) 2006-09-13
TWI249922B (en) 2006-02-21
US20100287272A1 (en) 2010-11-11
WO2004110018A1 (en) 2004-12-16
US8346882B2 (en) 2013-01-01
US20040255027A1 (en) 2004-12-16
TW200509608A (en) 2005-03-01
TWI245515B (en) 2005-12-11
US7421708B2 (en) 2008-09-02

Similar Documents

Publication Publication Date Title
JP4499716B2 (ja) ピアツーピアネットワークにおけるアプリケーションの実行
Frécon et al. DIVE: A scaleable network architecture for distributed virtual environments
US7543023B2 (en) Service support framework for peer to peer applications
US7912959B2 (en) Architecture for building a peer to peer messaging platform
US7493413B2 (en) APIS to build peer to peer messaging applications
JP4463999B2 (ja) 通信ネットワークにおける方法及び装置
US20040076155A1 (en) Caching with selective multicasting in a publish-subscribe network
Gaddah et al. A survey of middleware paradigms for mobile computing
CN107231290A (zh) 一种即时通信方法和系统
CN102257792A (zh) 用于包括策略数据库的内容传递的方法
Grace et al. Middleware awareness in mobile computing
Antunes et al. Pulsarcast: Scalable, reliable pub-sub over P2P nets
Coulson et al. A component‐based middleware framework for configurable and reconfigurable Grid computing
Grace et al. Interoperating with services in a mobile environment
KR100556716B1 (ko) 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템
Padovitz et al. Agent communication using publish-subscribe genre: architecture, mobility, scalability and applications
US11863592B2 (en) Active speaker tracking using a global naming scheme
US20240223621A1 (en) Active speaker tracking using a global naming scheme
Cao et al. Design and implementation of distributed multimedia surveillance system based on object-oriented middleware
Laszlo A Distributed Publish/Subscribe System built on a DHT Substrate
Baloch et al. Profile context management in ubiquitous computing
Pairot et al. Achieving load balancing in structured peer-to-peer grids
Chien et al. A generic publish/subscribe framework for peer-to-peer environment
Sànchez-Artigas et al. p2pWeb: An open, decentralized infrastructure of Web servers for sharing ephemeral Web content
Koutsoloukas et al. Asynchronous event-based communication across Service Brokers

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090309

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091208

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100106

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: 20100330

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: 20100415

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4499716

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: 20130423

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250