JP4331203B2 - ピアツーピアネットワークのためのコンテンツ分散型オーバーレイネットワーク - Google Patents

ピアツーピアネットワークのためのコンテンツ分散型オーバーレイネットワーク Download PDF

Info

Publication number
JP4331203B2
JP4331203B2 JP2006514997A JP2006514997A JP4331203B2 JP 4331203 B2 JP4331203 B2 JP 4331203B2 JP 2006514997 A JP2006514997 A JP 2006514997A JP 2006514997 A JP2006514997 A JP 2006514997A JP 4331203 B2 JP4331203 B2 JP 4331203B2
Authority
JP
Japan
Prior art keywords
node
content
peer
child
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.)
Expired - Fee Related
Application number
JP2006514997A
Other languages
English (en)
Other versions
JP2006526850A (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 JP2006526850A publication Critical patent/JP2006526850A/ja
Application granted granted Critical
Publication of JP4331203B2 publication Critical patent/JP4331203B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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]

Description

本発明はピアツーピアネットワークに関し、より具体的には、ピアツーピアネットワーク上でコンテンツを効果的に分散させるよう管理する技術に関する。
分散型コンピューティング環境は相互に通信するように相互接続された多数のコンピューティングシステムによって定義され、各コンピューティングシステムはクライアントとサーバのどちらの機能も果たすことができる。ピアツーピア(P2P)ネットワークは分散型コンピューティング環境を表し、P2Pネットワーク内の各コンピューティングシステムはネットワーク内の全てのその他のコンピューティングシステムのピアとして定義される。本文では、P2Pネットワーク内の各ピアのコンピューティングシステムはノードと呼ばれる。さらに、P2Pネットワーク内の各ノードは実質的に等価の機能性を有するソフトウェアを実行するように構成されている。従って、各ノードはP2Pネットワークを通じて、データのプロバイダとユーザのどちらとしても機能することが可能である。
P2Pネットワーク全体の一般的なアクティビティとしては、P2Pネットワークのある一定のリクエストノードへコンテンツを分散することが挙げられる。しかし、このコンテンツ分散はプロセッサ集中的なものであり、またコンテンツを受け取るために、リクエストノードに対して遅延を生じさせる。例えば、ノードのリクエストが映像コンテンツである場合は、そのコンテンツが提供され、リクエストノードが使用できるフォーマットへトランスコード(コード変換)が行われることが必要である。リクエストノードに対してコンテンツのトランスコードを行うように割り当てられたノードは、P2Pネットワーク上で利用可能な全てのノードから選択される。
従来技術では、リクエストノードに対してコンテンツのトランスコードを行うために、ある一定のノードを割り当てる技術は多数あるが、これらのアルゴリズムは一般に非常に恣意的であり、リクエストノードに対してノードのトランスコードを行うキャパビリティについては考慮していない。この一方的な割り当てのために、リクエストノードは効率的な方法でコンテンツを取得することができず、また、P2Pネットワークの他のノードであれば一層効率的に処理できたはずのタスクによって、ノードのトランスコーディングが過負荷になってしまうということも起こりえる。
前述の事項に鑑み、リクエストノードをサービスするように割り当てられるノード及びリクエストノードをより包括的に分析することが求められている。
概して本発明は、ピアツーピアネットワークで使用されるコンテンツ分散型オーバーレイネットワークに対して、方法、システム及び構成を提供する。このコンテンツ分散型オーバーレイネットワークは、リクエストするエンドユーザの各々の能力に適した効率的な方法で、エンドユーザ近くに高需要のコンテンツを分散するために使用される。本発明は、コンピュータ可読媒体上で、処理、装置、システム、デバイス又は方法などの様々な方法で実装できることが分かる。本発明の幾つかの実施形態を以下に説明する。
一実施形態では、ピアツーピアネットワークに対してコンテンツ分散型オーバーレイネットワークを構築するための方法が開示されている。方法は、ピアツーピアネットワークのリクエストノードからコンテンツノードにおけるコンテンツに対するリクエストを受け取るステップを含む。このコンテンツノードはリクエストノードに示すためのコンテンツを処理するキャパビリティを有する。この方法は更に、コンテンツノードの子ノードがコンテンツを処理するキャパビリティを有するか判断するために、オーバーレイネットワークを参照するステップを含み、コンテンツノードはオーバーレイネットワークのヘッドノードである。方法では、子ノードがリクエストノードに対して、コンテンツを処理するキャパビリティを有している場合は、子ノードはリクエストノードへ示すためのコンテンツを処理するように割り当てられる。また、子ノードの、コンテンツを処理するためのキャパビリティは、ヘッドノードよりも低い。
ピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法が開示されている。方法は、ピアツーピアネットワークのリクエストノードからコンテンツノードにおけるコンテンツに対するリクエストを受け取るステップを含む。次に、オーバーレイネットワークのヘッドノードとして、コンテンツノードを識別するためにオーバーレイネットワークを参照する。ヘッドノードはコンテンツのトランスコードを行うためのキャパビリティを備えている。次いで方法は、リクエストノードに対するコンテンツのトランスコードを行うキャパビリティを備えたヘッドノードの最下位の子ノードを識別する。この最下位の子ノードはリクエストノードへ示すためのコンテンツのトランスコードを行うように割り当てられ、また、オーバーレイネットワークの各親にはその子に対するコンテンツのトランスコードが割り当てられる。最下位の子ノードは、トランスコードが行われたコンテンツを、最下位の子ノードのフォーマットでその親から受け取る。また、オーバーレイネットワークはピアツーピアネットワークと無関係である。本方法によれば、オーバーレイネットワークのノードはキャパビリティに応じて配置され、また、ヘッドノードはオーバーレイネットワークにおいて最も高いキャパビリティを有する。
ピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させるためのシステムが開示されている。システムはピアツーピアネットワークのリクエストノードからコンテンツノードにおいてコンテンツに対するリクエストを受け取る手段を含む。オーバーレイネットワークのヘッドノードとしてコンテンツノードを識別するために、オーバーレイネットワークを参照する手段が提供されており、また、ヘッドノードはコンテンツのトランスコードを行うキャパビリティを備えている。リクエストノードに対するコンテンツのトランスコードを行うキャパビリティを備えたヘッドノードの、最下位の子ノードを識別する手段が提供されており、また、最下位の子ノードにリクエストノードに与えるコンテンツのトランスコードを割り当てる手段が提供されている。オーバーレイネットワークにおいて、各親が割り当てられており、その子に対するコンテンツのトランスコードを行い、また、最下位の子ノードはトランスコードが行われたコンテンツをその親から、最下位の子ノードのフォーマットで受け取る。オーバーレイネットワークはピアツーピアネットワークと無関係であり、オーバーレイネットワークのノードはキャパビリティに応じて配置される。ヘッドノードはオーバーレイネットワークにおいて最も高いキャパビリティを有する。
オーバーレイコンテンツ分散型ツリー構造が開示されている。このツリー構造は第1フォーマットから第2フォーマットへ、及びヘッドノードの子ノードへコンテンツのトランスコードを行うことができるヘッドノードを備えている。子ノードはヘッドノードから第2フォーマットでコンテンツを受け取ることができ、また、子ノードは第2フォーマットから第3フォーマットへ、受信したコンテンツのトランスコードを行うことができる。ヘッドノードと子ノードはキャパビリティに応じて配置され、かつ、ヘッドノードは子ノードよりも高いキャパビリティを有する。ヘッドノード及び子ノードはマルチレベル親子オーバーレイツリー構造を定義する。
本発明のその他の形態は、本発明の一般的な原理によって例示されている添付の図面とともに以下の詳細な説明を読めば明らかであろう。
本発明の実施形態は、添付の図面と併せて、以下の説明を参照すれば最も良く理解することができる。
以下の実施形態では、キャパビリティに応じてピアツーピアネットワークのある一定ノードを配置するために使用される、オーバーレイコンテンツ分散型ネットワークを定義する。ピアツーピアネットワークでは、コンテンツを保持しているノードからある一定のピアがコンテンツをリクエストする。このコンテンツが例えば映像データである場合は、コンテンツを保持しているノードはこの映像データをリクエストノードのフォーマットにトランスコードを行う必要がある。コンテンツがリクエストノードへ分散するのをサポートするために、オーバーレイネットワークが定義される。オーバーレイネットワークはコンテンツを保持するヘッドノード、及び1つもしくはそれ以上の子ノードレベルで構成される。子ノードはコンテンツ上にトランスコーディングサービスも提供可能なノードである。
オーバーレイネットワークでは、ノードの各々はキャパビリティに応じて階層配置される。キャパビリティが高いノードは上位に、キャパビリティが小さいノードは下位に配置される。ヘッドノードは最高にキャパビリティが高いノードである。従って、リクエストノードが所望するフォーマットへトランスコードを行うことができる最下位の子ノードによって、リクエストノードへトランスコーディングが提供される。1つのフォーマットから別のフォーマットへの、映像コンテンツのトランスコーディングが詳細に説明されているが、ピアツーピアネットワークとともに用いられるオーバーレイネットワークを使用して、どの処理オペレーションも分散されることを理解されたい。しかし、本発明がある程度の、もしくは全てのこれらの具体的な詳細が無くても実装されることは当業者には明らかであろう。その他の例では、本発明を無用に不明瞭にしないように、周知の処理オペレーションは詳細に説明されていない。
ピアツーピアネットワークは、ネットワークのノードを定義するピアで構成された、分散型コンピューティングシステムである。いくつかの一般的な実施形態では、ピアは、いずれのコンピューティングデバイス、例えば、デスクトップクラスコンピュータ、サーバクラスコンピュータ、携帯機器、携帯端末、携帯電話、PDA、ゲーム機、ゲーム機器、などを含み得る。しかし、別の実施形態では、ピアはコンピューティングデバイスがP2Pネットワークに接続されている間は、別のコンピューティングデバイスとの通信を確立できるコンピューティングデバイスである。
クライアント/サーバ環境などの集中コンピューティングシステムとは違って、P2Pネットワークの全てのピアは、P2Pネットワークの全てのその他のピアと直接インタラクトできる。一例のP2Pネットワークは完全に接続されたP2Pネットワークである。図1は多数のピアによって定義されるピアツーピアネットワーク100を例示している。簡明化のために、ピアP1からP10の間にはいくつかの一般的な接続が描かれているが、より多くの、もしくはより少ない接続が常に存在し得る。従って、ピアツーピアネットワーク100にはより多くの、もしくはより少ないピアが適宜接続されている。ピアツーピアネットワークには一般的であるが、各ピアは相互接続されるが、各ピアのキャパビリティは様々である。例えば、ピアのキャパビリティとしては、ピアの処理能力、ピアのネットワーク接続(例えば、高帯域幅接続、もしくは低帯域幅接続)、ピアのその他の処理タスク、ピアオーナーが設定するリソース制約、ピアの安定性、などが挙げられる。ピアのキャパビリティを測定するために使用される多数の測定基準が存在することが分かる。
説明のために、ピアP8は低キャパビリティを有すピアとして、ピアP7は高キャパビリティを有すピアとして識別される。ピアP8がコンテンツ102の効率的共有を希望する場合、ピアP8はピアP7などの高キャパビリティピアを探す。そのため、ピアツーピアネットワーク100のその他のピアへ最終的に分散を行うように、ピアP8はピアP7へコンテンツを提供する。
図1B−1から1B−4はピアP8からピアP7へコンテンツを移動するために用いられる手順の一例を示す。図1B−1では、ピアP8は高キャパビリティノードに対してリクエストをパブリッシュする。一般に、ピアツーピアネットワーク100の一部である1つ以上の高キャパビリティノードが存在する。以下に説明しているように、識別された高キャパビリティノードに対してオーバーレイネットワークツリーが定義され、また、識別された高キャパビリティノードと各子ノードとが関連付けられる。従って、各高キャパビリティノードに対して複数のオーバーレイネットワークツリーを構成することができる。別の実施形態では、複数のオーバーレイネットワークツリーを構成しないが、その代わりに、高キャパビリティノードの各々は互いの親及び子ノードとなる。説明を簡単にするために、以下の例では、単一の高キャパビリティピアP7、及びその高キャパビリティピアP7に対してのオーバーレイネットワークツリーが参照される。
図1B−1を振り返ると、ピアP8がパブリッシュしたリクエストに対して、ピアP7は自身が高キャパビリティピアであると識別した。図1B−2では、ピアP7は、P8のコンテンツをピアP7の分散リストへ追加可能であるか否かに関する情報、即ちアベラビリティ情報とともに応答する。ピアP7がアベイラビリティを有する、つまり使用可能である場合、ピアP7はピアP8からコンテンツを取得する。ピアP8がコンテンツをピアP7へストリーム送信することによって、もしくはピアP7がコンテンツをピアP8から単にダウンロードすることで、P7へコンテンツを与えることができる。ピアP7は、図1B−4に示されるコンテンツを得た後に、コンテンツが利用可能であるとパブリッシュし、コンテンツに対するリクエストをサービスできる状態であることを通知する。コンテンツが映像コンテンツである場合、ピアP7はピアP7のネイティブフォーマットから別のピアのネイティブフォーマットへとコンテンツをトランスコード実施可能なノードとなるであろう。
図2Aは本発明の一実施形態によるオーバーレイコンテンツ分散型ネットワークのブロック図を例示している。ピアツーピアネットワークの特定の個々のノードはオーバーレイコンテンツ分散型ネットワークのノードを定義するが、このオーバーレイコンテンツ分散型ネットワークは図1のピアツーピアネットワークとは独立している。オーバーレイコンテンツ分散型ネットワークは親トランスコーディングノード152、及び少なくとも1つの、子トランスコーディングノード154を備えている。親トランスコーディングノード152は、その子トランスコーディングノードよりも高いキャパビリティを有するノードである。親トランスコーディングノード152は、各ノード152及び154が定義するツリー構造のヘッドノードである。一般に、親トランスコーディングノード152は第1フォーマットから第2フォーマットへコンテンツのトランスコードを行うことができる。好ましくは、第2フォーマットは子トランスノード154のネイティブフォーマットである。例えば、コンテンツは映像コンテンツであり、トランスコーディングによって、子トランスコーディングノード154が、子トランスコーディングノード154のネイティブフォーマットである映像フォーマットでコンテンツを受け取ることが出来る。そのため、子トランスコーディングノード154はトランスコードが行われたコンテンツを親トランスコーディングノード152から受け取ることができる。また、子トランスコーディングノード自身はリクエストリーフノードのネイティブフォーマットである第3フォーマットにコンテンツのトランスコードを行うことができる。本文中で使用されているように、リーフノードとはコンテンツもしくはサービスをトランスコーディングノードのうちの1つから、もしくは通過ノードから受け取るノードである。通過ノードとはコンテンツのトランスコードは行わないが、トランスコードが行われたコンテンツを受け取り、そのコンテンツを別のノードへ送ることができるノードである。この基本的定義に従って、親トランスコーディングノード152と子トランスコードノード154はマルチレベルの親子オーバーレイツリー構造を定義する。
図2Bは、オーバーレイコンテンツ分散型ネットワークを例示しており、親トランスコーディングノード152は多数の子トランスコーディングノード154を備えている。特定の親トランスコーディングノード152へ割り当てられる子トランスコーディングノード154の数は、親トランスコーディングノード152の帯域幅キャパビリティに対応する。例えば、親トランスコーディングノード152によってトランスコードが行われているコンテンツは、コンテンツの受け取りを希望する多数の子トランスコーディングノード154のためにトランスコードが行われる必要がある。子トランスコーディングノード154の数が多数に及ぶと、親トランスコーディングノード152は子トランスコーディングノード154の各々へトランスコーディングサービス、及び結果としてもたらされるコンテンツをタイムリーに提供することができない。従って、親トランスコーディングノード152のキャパビリティによって、子トランスコーディングノード154セットはその数に制限が設けられる。オーバーレイコンテンツ分散型ネットワークに対して、2レベルの親子関係だけが示されているが、特定のピアツーピアネットワークの一部であるノードのキャパビリティに応じて、多数の親子関係レベルが可能であることは理解されよう。
図2Cは論理的にピアツーピアネットワーク100の上を覆うコンテンツ分散型オーバーレイネットワーク200のブロック図を例示している。このピアツーピアネットワーク100はコンテンツ分散型オーバーレイネットワーク200とは独立に機能する。しかし、コンテンツ分散型オーバーレイネットワーク200は、下部のピアツーピアネットワーク100のピアによって定義される。コンテンツ分散型オーバーレイネットワーク200を定義するノードの各々は、特定のノードのキャパビリティ及びアベイラビリティに基づくピアツーピアネットワークから選択される。いくつかの実施形態では、必須ではないが、各ノードの地理的位置によって特定のノードがコンテンツ分散型オーバーレイネットワークへ追加されるかどうかが定義される。
図2A及び2Bの例では、親トランスコーディングノード152は子トランスコーディングノード154よりも高いキャパビリティを有する。ツリー構造が大きくなれば、上位レベルが下位レベルよりも高いキャパビリティを有するように、子トランスコーディングノードレベルの構成が定義される。各レベルでは、同一キャパビリティを有するノードが1つ以上存在する。特定の子ノードが過負荷とならないように、特定の子ノードのワークロードに応じて、それほどビジーでない子ノードを選択するようにトランスコーディングが送られる。
図3Aは一般的なコンテンツ分散型オーバーレイネットワーク200を例示している。コンテンツ分散型オーバーレイネットワーク200では、トランスコーディングノード204及び206上に論理的にヘッドトランスコーディングノード202を定義する。これらのトランスコーディングノード204及び206のキャパビリティはヘッドノード202よりも低い。同様に、トランスコーディングノード208のキャパビリティはトランスコーディングノード204よりも低い。トランスコーディングノード208はリーフノード212a及び212bをサービスして示されており、各リーフノードはPDA(Personal Digital Assistance)として識別される。トランスコーディングノード206は携帯電話スイッチとして機能するノード210をサービスして示されている。ノード210はサブリーフノード214a、214b、及び214cをサービスする。リーフノード214aから214cはノード210のサービスを使用する携帯電話により定義される。
従って、コンテンツ分散型オーバーレイネットワーク200は、トランスコーディングサービスをリクエストノードへ提供する特定ノードのキャパビリティに基づき定義される。リクエストノードはピアツーピアネットワークの一部である。このリクエストノードは、リクエストノードが希望するコンテンツの分散ができることを通知するヘッドノードからサービス及び/又はコンテンツをリクエストする。リクエストノードがヘッドトランスコーディングノード202からリクエストをすると、ヘッドトランスコーディングノード202は、トランスコードが行われたコンテンツをリクエストノードへ送る処理ができるコンテンツ分散型オーバーレイネットワーク200に、下位の子ノードが存在するかどうかを確認する。一例では、トランスコーディングノード204はトランスコーディングサービスをリクエストノードへ提供でき、これはリーフノード212aとして見ることができる。
しかし、その次に、トランスコーディングノード204は、トランスコーディングノード204の子ノードがリクエストノードへトランスコーディングサービスを提供できるかどうかを判断する。この例では、トランスコーディングノード208はトランスコーディングノード204の子ノードである。トランスコーディングノード208の親であるトランスコーディングノード204は、トランスコーディングノード208へトランスコーディングサービスを提供する。次に、トランスコーディングノード208は、ヘッドトランスコーディングノード202から最初にコンテンツをリクエストしたリーフノードに対して、トランスコーディングサービスを提供する。その結果、トランスコーディングノード208はリーフノード212aが理解できるフォーマットへのトランスコードが行われたコンテンツを提供できる。説明したプロセスでは、ヘッドトランスコーディングノードの帯域幅は、一般的なトランスコーディング帯域幅である、1600×1200×64(100FP5 vide)となっている。その他のノードに対する一般的な下位のトランスコーディング帯域幅は図面に例示されている。従って、ヘッドトランスコーディングノードは、リクエストノード212aへトランスコーディングサービスを直接的に提供することができるが、しかしながら、トランスコードを行う責任、即ちトランスコードレスポンシビリティは、コンテンツ分散型オーバーレイネットワーク200のヘッドトランスコーディングノード202から最下位のキャパビリティを有する子ノードへと伝達されていくことになる。
しかし、一実施形態では、コンテンツ分散型オーバーレイネットワーク200の最下位の子ノードは、帯域幅、アベイラビリティ、及びキャパビリティの点から、リクエストノードへトランスコーディングサービスを提供可能とすることができる。キャパビリティのある子ノードが存在しない場合は、ヘッドトランスコーディングノードはリクエストノードへ直接的にトランスコーディングを提供できる。
例えば、ノード210もヘッドトランスコーディングノード202から携帯電話のスイッチング機能を要求するリクエストノードである。携帯電話スイッチ210が求めるキャパビリティは、トランスコーディングノード204及び208のいずれのキャパビリティよりもさらに高い。従って、ヘッドトランスコーディングノード202は、子ノード206を通じてトランスコーディングサービスのみを送ることになる。その結果、子ノード206は親ヘッドトランスコーディングノード202からトランスコーディングサービスを受け取り、トランスコーディングノード206は順にその子ノード210へトランスコードを行う。従って、コンテンツ分散型オーバーレイネットワークは、ヘッドトランスコーディングノードの下部に存在する複数のトランスコーディングノードによって定義される。個々のノードの子ノードのキャパビリティは、親ノードよりも低い。
従って、各トランスコーディングノードはそのキャパビリティに基づき、コンテンツ分散型オーバーレイネットワークに構成され、ツリーの低位ノードのキャパビリティは最も低く、最上位ヘッドノードのキャパビリティは最も高い。従って、リクエストノードのキャパビリティ及び要件に応じて、トランスコーディングサービスをリクエストノードへ直接的に提供するようにトランスコーディングノードが割り当てられる。
図3Bはコンテンツ分散型オーバーレイネットワーク200を図で例示しており、リクエストピアP10はリクエストノードである。図4ではピアP10はコンテンツ242へリクエストを提供するものとして例示されている。ピアP10はピアツーピアネットワークの一部であり、かつ図3Bにおいてはリクエストノードである。ピアP7はピアツーピアネットワークにおいては高キャパビリティピアであり、また、コンテンツ分散型オーバーレイネットワーク200のヘッドトランスコーディングノード202としても定義される。一実施形態では、リクエストノードピアP10がリクエストするキャパビリティ要件に応じて、トランスコーディングノード202が直接的にリクエストノードをサービスする必要があるかどうか、もしくは、コンテンツ分散型オーバーレイネットワークの下位ノードにトランスコーディングを行うべきかどうか、を判断するために、ヘッドトランスコーディングノード202で受け取られるリクエストが分析される。
本例では、リーフノード212aは、ピアツーピアネットワーク100のピアP10により定義される。リクエストノードピアP10のキャパビリティは、ヘッドトランスコーディングノード202のキャパビリティよりもずっと低い。本例では、ヘッドトランスコーディングノード202はトランスコーディングノード204が理解するフォーマットへコンテンツをトランスコードする。トランスコーディングノード204は図4に示されるようにピアP6によって定義される。リクエストノードがトランスコーディングノード204よりも低いキャパビリティを有しているかどうかについて、また、トランスコーディングノード204の下位の子ノードへとトランスコーディングができるかについて、トランスコーディングノード204が再度判断を行う。本例では、トランスコーディングノード204(図4ではピアP6と定義される)は、トランスコーディングノード208(図4ではピアP5と定義される)にダイレクトトランスコーディングを行う。
トランスコーディングノード208がトランスコーディングノード204(ピアP6)からトランスコードが行われたコンテンツを受信すると、リクエストノードピアP10に対するトランスコーディングが可能となるように、下位ノードへトランスコーディングサービスを直接的に送る必要があるかどうか、トランスコーディングノード208によって再度判断される。本例では、トランスコーディングノード208によって定義されるピアP5は、リクエストノードピアP10に対するコンテンツのトランスコードを行うことができる最下位の子ノードである。従って、トランスコーディングノード208(本例ではピアP5により定義される)は、リクエストノードピアP10(リーフノード212a)がリクエストするフォーマットにコンテンツのトランスコードを行う。
図4に示すように、分散のためにピアP8によってピア7に与えられたコンテンツは次にリクエストノードピアP10へ送られる。しかし、高キャパビリティピアP7はピアP10に対するトランスコーディングサービスを直接提供を行うわけではない。代わりに、ピアP10へ提供されたトランスコーディングサービスは、リクエストノードがリクエストするレベルへトランスコーディングサービスを提供できるコンテンツ分散型ネットワークの最下位の子ノードによって提供されている。その結果、トランスコーディングサービスが、コンテンツ分散型オーバーレイネットワークの、図4のコンテンツ分散ネットワークパス240によって定義された多数のノード間に分散された。
なお、ここでは、“delegation:送る”はノードがコンテンツを単に送ることを意味するのではなく、“delegation:送る”は、ノードがコンテンツのトランスコードを行い、次に、トランスコードが行われたコンテンツを下位の子ノードに対して送ることを意味し、ここでは、トランスコーディングが再度、低キャパビリティで行われる。その結果、例では、高キャパビリティピアP7は単にピアP6が理解する下位キャパビリティフォーマットへコンテンツのトランスコードを行い、また、ピアP6はピアP5が理解する低キャパビリティレベルへコンテンツのトランスコードを行い、ピアP5はピアP10がリクエストする低キャパビリティレベルへ情報のトランスコードを行う。しかし、ピアP5よりもキャパビリティは高いが、ピアP6よりは低いキャパビリティをピアP10が有していたとすれば、ピアP10はトランスコードが行われたコンテンツをピアP6から直接受け取っていたであろう。従って、ピアツーピアネットワーク全体にわたるコンテンツの分散は、ピアツーピアネットワーク100によって定義される接続と独立した、コンテンツ分散型オーバーレイネットワークによって定義されるキャパビリティ階層によって管理される。
図5はピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを利用するシステムにより実施される方法オペレーションのフローチャートを例示している。この方法はまずオペレーション302から開始する。302では、リクエストノードからのコンテンツリクエストがピアツーピアネットワークのコンテンツ保持ノードにおいて受け取られる。コンテンツ保持ノードはコンテンツの分散が可能なノードと仮定される。コンテンツの分散が可能なノードは図1のノードP7などの、高キャパビリティノードであることが求められる。リクエストノードは、コンテンツ保持ノードからコンテンツの取得を希望するピアツーピアネットワークの一部であるどのノードであってもよい。
次に方法は304へと移り、ここではリクエストを受け取ると、リクエストノードでリクエストされたコンテンツを処理できる子ノードを識別するために、オーバーレイ分散型ネットワークが参照される。上述のように、コンテンツ保持ノードの子ノードがリクエストノードに対するコンテンツを処理できる場合、コンテンツ保持ノードはオーバーレイ分散型ネットワークの子ノードへ追加の処理を送る。上述しているように、オーバーレイ分散型ネットワークツリー構造はピアツーピアネットワークとは独立しており、また、オーバーレイ分散型ツリーは、少なくともコンテンツに対するリクエストの処理が可能な親ノード、及び親ノードほどのキャパビリティは有していないが、リクエストノードからのコンテンツに対してリクエストの処理が可能な子ノードによって定義される。本方法で使用されているように、処理には例えば映像コンテンツのトランスコーディングを含む。
次に方法はオペレーション306へと移る。306では、リクエストノードのコンテンツを処理できると識別された子ノードには、リクエストノードに対するデータ処理を行う仕事(デューティ)が割り当てられる。上述のように、子ノードはリクエストノードに対するコンテンツの処理が可能なノードであるが、オーバーレイ分散型ネットワークツリーにより定義される階層によれば、子ノードは親ノードほどの高いキャパビリティを備えていない。従って、割り当てされた子ノードはリクエストノードによってリクエストされる処理を行い、また、リクエストノードは、少なくともリクエストノードのキャパビリティを満たすことができるキャパビリティレベルを有したコンテンツを提供できる子ノードからコンテンツを受け取る。
大まかに言えば、ツリーの各親はコンテンツを処理し、そのコンテンツをその子へ与えるように構成されており、その子に対するコンテンツを順に処理する。
図6はピアツーピアネットワークとともにオーバーレイ分散型ネットワークを用いた更に詳しい処理例のフローチャート350を例示している。オペレーション352では、リクエストノードからのリクエストはピアツーピアネットワークのコンテンツ保持ノードにおけるコンテンツに対して受け取られる。上述のように、コンテンツ保持ノードは多数のピアへコンテンツを分散できるノードであること、かつ、高キャパビリティノードであることが求められる。図1に示す例では、高キャパビリティノードはノードピアP7である。従って、ピアP7はオーバーレイ分散型ネットワークのヘッドを定義し、また、リクエストノードがリクエストするコンテンツの処理もできるその他のピアは、オーバーレイ分散型ネットワークのヘッドノードの子ノードを定義する。
動作354では、リクエストノードに対するコンテンツのトランスコードを行うことができるコンテンツ保持ノードの子ノードを識別するために、オーバーレイ分散型ネットワークが参照される。先に述べているように、コンテンツ保持ノードの子ノードは、リクエストノードに対するコンテンツのトランスコードを行うデューティを子ノードへ割り当てるように、リクエストノードへコンテンツのトランスコードを行うことが少なくともできることが求められる。リクエストノードに対するコンテンツのトランスコードを子ノードが行うことができる場合は、方法は356へと移り、ここでは、識別された子ノードはリクエストノードに対するコンテンツのトランスコードを行うように割り当てられる。識別された子ノードはオーバーレイ分散型ネットワークの親子ツリー構造のどの特定レベルであってよい。
識別されたノードは、下層にいくほどそのノードのキャパビリティは低い。しかし、識別されたノードは、リクエストノードに対するコンテンツのトランスコードを行うキャパビリティを備えている必要がある。リクエストノードが高キャパビリティノードである場合は、子ノードはリクエストノードに対してトランスコーディングサービスを提供することができず、その結果、コンテンツ保持ノード(ヘッドノード)はリクエストノードへ直接的にコンテンツのトランスコードを実行する必要がある。次に方法はオペレーション358へと移り、ここではコンテンツ保持ノードでコンテンツのトランスコーティング処理を開始する。
下位の各子レベルでは、最下位に割り当てられた子ノードがコンテンツを取得し、リクエストノードに対するコンテンツのトランスコードを行うまで、各ノードはコンテンツの、より下位のトランスコーディングも完了する。そのため、オーバーレイ分散型ネットワークの各親は、リクエストノードに対するコンテンツのトランスコードが直接的に行われるまで、その子ノードに対するコンテンツのトランスコードを行う。
大まかに言えば、ノードのツリーはオーバーレイネットワークを定義するように構成され、ツリーの各ノードは、キャパビリティに基づき配置される。ツリーの最上位のノードは最高のキャパビリティを備えている。また、ツリーの各親ノードは各子ノードへ与えられるコンテンツのトランスコーディングを提供する。各ノードは、子を有す場合は、子ノードへ送られる前にコンテンツのトランスコーディングを提供する。ある状況では、ノードは通過ノードであり、その特定のノードにおいてトランスコーディングは発生しない。従って、ピアツーピアネットワークでは、トランスコーディングをリクエストピアと近いキャパビリティを有する低キャパビリティの子ピアへ移動させることができる。例えば、携帯電話などの低キャパビリティデバイスが映像コンテンツをリクエストする場合、低キャパビリティの子ノードはリクエスト中の携帯電話へトランスコードが行われたコンテンツを提供する。上位ノードもトランスコーディングを実施しているが、これは、中間の子ノードに対してだけトランスコーディングが実施されているに過ぎない。従って、エンドユーザの近くにコンテンツを分散することができる。
本発明は各エンドユーザのキャパビリティに適した効率的な方法でエンドユーザへ高需要(例えば、映像、音声、音声/映像、及びその他のデータストリーム)コンテンツをストリームするために特に便利である。従って、オーバーレイネットワークは、分散されたピアの自己構成型オーバーレイネットワークとして、トランスコーディングノードのキャパビリティ検知(capability-aware)分散フォレストである。更なる一実施形態では、音声及び映像ストリームは単一オーバーレイの同じパスに沿って送信される。これにより、音声は10分の1の大きさで送信でき、演算処理がそれほど複雑ではないことが分かる。従って、どちらのストリームに対しても1つのオーバーレイを再使用することが保証され、オーバーレイのメンテナンスを大幅に減らすことができる。
別の実施形態では、音声及び映像ストリームは完全に別々のオーバーレイに沿って送信される。これにより、音声のオーバーヘッドは、我々が望むようにそれほど重要ではないことが分かり、従ってオーバーレイを別々に管理してその処理(送信及びトランスコーディング)を最適化すればよい。
更に別の実施形態では、音声と映像が一般に同じパスを取るハイブリッドモデルは、階層の別レベルで自身のパスを見つけることもできる。これによりオーバーレイメンテナンス共有のいくつかの利点を得ることができ、また、音声ストリームは低帯域幅の音響をよりよく処理できるが、最低質の映像であってもサポートすることができない中間ツリーノードを見つけることができる。このことはまた、1つの音声(又は映像)トランスコーディングノードがN個の様々な出力フォーマットへのトランスコーディングを処理できることを示すことに留意されたい。
本発明の実施形態は更に一般化される。最新のメディアプレゼンテーションでは、音声、映像、3D、3Dアニメーション、静止画像、などをエンコードできる多くの別々のストリーム(“エレメンタリーストリーム”と呼ばれる)が存在する。これらの全てにトランスコーディングが行われ得る。従って、ツリーの各ノードを構成するために用いる単一の適応メトリック(fitness metric)をN個の適応メトリックとする必要がある。次に、ツリーを包括的に、及び局所的に最適化するために、最も処理に時間がかかるメトリック(映像など)へ重み付けが与えられ、継続して構成が行われ、残りのN個のメトリックを通じて、最適化処理が順番に行われる。上記に定義したハイブリッドモードでは、やや複雑ではあるが、様々なエレメンタリーストリームの各々に対する、冗長オーバーレイメンテナンスオーバーヘッドと、最適なパスの検知と、の間に最良のバランスが実現される。そのようなものとして、定義された実施形態は一例にすぎず、ピアツーピアネットワーク上で交換されているデータのタイプに応じて、所望の結果に到達するように変更もしくは組み合わせられることができる。
本発明の実施形態は、様々なコンピュータシステム構造で実行することができ、それらには携帯端末、マイクロプロセッサシステム、マイクロプロセッサベースの、もしくはプログラム可能な消費家電、ミニコンピュータ、メインフレームコンピュータなど、を含む。本発明はまた、ワイアベースもしくはワイアレスネットワークを通じて接続された遠隔処理デバイスによってタスクが実施される分散型コンピューティング環境で実行することもできる。
上述の実施形態を念頭において、本発明はコンピュータシステムに記録されるデータを含む、様々なコンピュータ実装オペレーションで使用できることを理解されたい。これらのオペレーションは、物理的品質の物理的操作を必要とするものである。絶対的ではないが通常は、これらの品質は格納、転送、結合、比較、もしくは操作が可能な電気もしくは磁気信号形式である。
本発明の一部を形成する、本明細書に説明したいずれのオペレーションは有益なマシンオペレーションである。本発明はまた、これらのオペレーションを実施するためのデバイスもしくは装置にも関する。本装置は所要の目的のために特別に構成されている。あるいは、本装置はコンピュータに記録されたコンピュータプログラムによって選択的に起動する、もしくは構成される多目的コンピュータであり得る。特に、様々な多目的マシンが本文中の教示に従い書かれたコンピュータプログラムとともに使用され得る。もしくは、所望のオペレーションを実施するために、より具体的な装置を構成すればさらに便利である。
本発明はコンピュータ可読媒体にコンピュータ可読コードとして組み込まれることもできる。このコンピュータ可読媒体は、コンピュータシステムによって後で読み出しされ得る、データの記録が可能ないずれのデータストレージデバイスである。コンピュータ可読媒体の例としては、ハードドライブ、ネットワーク接続ストレージ(NAS)、ROM、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、及びその他の光学及び非光学データストレージデバイス、が挙げられる。コンピュータ可読媒体はまた、コンピュータ可読コードが分散形式で格納されて実行されるように、ネットワーク結合されたコンピュータシステム上に分散されている。
前述の発明は本発明を明確に理解するためにいくつかの詳細が説明されているが、添付の請求の範囲内で一定の変更及び修正が可能なことは明らかであろう。従って、本実施形態は例示的なものであって制限的なものではないと考えられ、また本発明は本文中に与えられている詳細に制限されずに、添付の請求項と等価の範囲内で修正され得る。
本発明の一実施形態による、ある一定のピアが様々なキャパビリティを有す一般的なピアツーピアネットワークの説明図。 本発明の一実施形態による、分散のために高キャパビリティノードへコンテンツを通信するための一般的手順を例示した説明図。 本発明の一実施形態による、ピアツーピアネットワークと関連するオーバーレイネットワーク構造の例を例示した説明図。 本発明の一実施形態による、キャパビリティにより構成されたノードを有するオーバーレイネットワークツリー構造を例示した説明図。 本発明の一実施形態による、キャパビリティにより構成されたノードを有するオーバーレイネットワークツリー構造を例示した説明図。 本発明の一実施形態による、ピアツーピアネットワークと関連するコンテンツ分散型オーバーレイネットワークの図解説明図。 本発明のキャパビリティ的例において実施される方法オペレーションの一般的フローチャート。 本発明のキャパビリティ的例において実施される方法オペレーションの一般的フローチャート。

Claims (31)

  1. それぞれキャパビリティを有する複数のノードを備えたピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築する方法であって、
    コンテンツを有するノードからのリクエストを、当該コンテンツを有するノードよりキャパビリティが高いノードで受け取るステップを有し、
    前記キャパビリティに基づいて、前記リクエストを受けたノードが、当該ノード自身が高キャパビリティノードであると識別して、前記コンテンツを有するノードからコンテンツを得るステップを有し、
    前記高キャパビリティノードよりもキャパビリティが小さいノードを前記高キャパビリティノードの子ノードとして関連づけ、かつ、前記子ノードよりもキャパビリティが小さいノードを前記子ノードの子ノードとして更に関連づけることで、前記ピアツーピアネットワークとは独立したオーバーレイネットワークのツリー構造を定義するステップを有し、
    前記コンテンツを得た高キャパビリティノードをコンテンツノードとして、このコンテンツノードが、ピアツーピアネットワークのリクエストノードからのコンテンツに対するリクエストを当該コンテンツノードにおいて受け取るステップを有し、前記コンテンツノードは、前記コンテンツを処理して前記リクエストノードへ与えるためのキャパビリティを有するものであり、
    前記コンテンツノードが、前記コンテンツノードの子ノードが前記コンテンツを処理するキャパビリティを有しているかどうかを判断するためにオーバーレイネットワークを参照するステップを有し、前記コンテンツノードは前記オーバーレイネットワークのヘッドノードであり、
    前記コンテンツノードが、前記子ノードが前記リクエストノードに対する前記コンテンツを処理するキャパビリティを有している場合に、前記子ノードに前記リクエストノードへ与られる前記コンテンツの処理を割り当てるステップを有し、かつ、前記子ノードは前記ヘッドノードよりもコンテンツを処理するキャパビリティが低いものである、ピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築する方法。
  2. 前記コンテンツの処理には、前記コンテンツのトランスコードを行うことが含まれ、かつ、前記割り当てられた子ノードは、前記リクエストノードに対するトランスコーディングが可能な他のノードに対して負荷が分散されており、前記割り当てられた子ノードは、負荷が最も低くなっている、請求項1記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築する方法。
  3. 前記コンテンツの処理には、前記コンテンツのトランスコードを行うことが含まれる、請求項1記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築する方法。
  4. 前記オーバーレイネットワークは、前記ヘッドノードを含み、また、前記ヘッドノードは1つもしくはそれ以上の子ノードを含み、かつ、前記子ノードの各々は、順に、ピアツーピアネットワークとは独立にマルチレベルの親子オーバーレイツリー構造を定義するために子ノードを有することが出来る、請求項3記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築する方法。
  5. 前記マルチレベル親子オーバーレイツリー構造はその1つもしくはそれ以上の子に対してトランスコーディングを行う、請求項4記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築する方法。
  6. 前記ヘッドノードは前記コンテンツを処理するための高キャパビリティノードである、請求項1記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築する方法。
  7. 前記ヘッドノードは1つもしくはそれ以上の下位の子ノードを有しており、かつ、各下位ノードは前記コンテンツを処理するためのキャパビリティが上位ノードよりも小さい、請求項6記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築する方法。
  8. 前記割り当てられた子ノードは、前記リクエストノードに対するトランスコーディングを効率的に処理することができるように、その他のノードに対して負荷が分散されている、請求項3記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築する方法。
  9. それぞれキャパビリティを有する複数のノードを備えたピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法であって、
    コンテンツを有するノードからのリクエストを、当該コンテンツを有するノードよりキャパビリティが高いノードで受けるステップを有し、
    前記キャパビリティに基づいて、前記リクエストを受けたノードが、当該ノード自身が高キャパビリティノードであると識別して、前記コンテンツを有するノードからコンテンツを得るステップを有し、
    前記高キャパビリティノードよりもキャパビリティが小さいノードを前記高キャパビリティノードの子ノードとして関連づけ、かつ、前記子ノードよりもキャパビリティが小さいノードを前記子ノードの子ノードとして更に関連づけることで、前記ピアツーピアネットワークとは独立したオーバーレイネットワークのツリー構造を定義するステップを有し、
    前記コンテンツを得た高キャパビリティノードをコンテンツノードとして、このコンテンツノードが、前記ピアツーピアネットワークのリクエストノードから、コンテンツのリクエストをコンテンツノードで受け取るステップを有し、
    前記コンテンツノードが、前記オーバーレイネットワークのヘッドノードとして前記コンテンツノードを識別するためにオーバーレイネットワークを参照するステップを有し、前記ヘッドノードは、前記コンテンツのトランスコードを行うキャパビリティを備えるものであり、
    前記コンテンツノードが、前記リクエストノードに対する前記コンテンツのトランスコードを行うキャパビリティを備えた前記ヘッドノードの最下位の子ノードを識別するステップを有し、
    前記コンテンツノードが、前記最下位の子ノードに前記リクエストノードに与える前記コンテンツのトランスコードを割り当てるステップを有し、前記オーバーレイネットワークの各親ノードには、その子ノードに対してのコンテンツのトランスコードが割り当てられかつ、前記最下位の子ノードはその親ノードから当該最下位の子ノードのフォーマットでトランスコードが行われたコンテンツを受け取り、前記オーバーレイネットワークは前記ピアツーピアネットワークとは独立しており、前記オーバーレイネットワークのノードはキャパビリティに応じて配置され、前記ヘッドノードは前記オーバーレイネットワークの最も高いキャパビリティを有する、ピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  10. 前記ヘッドノードは、前記コンテンツをトランスコードするためのトランスコーディング帯域幅キャパビリティを有し、かつ、前記ヘッドノードは、1つ以上の子ノードを識別し、各子ノードは、前記コンテンツをトランスコードするためのトランスコーディング帯域幅を備えた1つ以上の子ノードを識別し、
    前記識別するステップにおける前記ヘッドノードの前記最下位の子ノードは、前記リクエストノードのための前記コンテンツをトランスコードするためのトランスコーディング帯域幅キャパビリティを有し、
    前記オーバーレイネットワークは、前記オーバーレイネットワークのトランスコーディング帯域幅キャパビリティに応じて配置され、前記割り当てられた最下位の子ノードは、前記リクエストノードに対するトランスコーディングが可能な他のノードに対して負荷が分散されており、前記割り当てられた子ノードは、負荷が最も低くなっている、請求項9記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  11. 前記オーバーレイネットワークは、マルチレベル親子オーバーレイツリー構造を定義する、請求項9記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  12. 前記ヘッドノードは、前記コンテンツのトランスコードを行うための高キャパビリティノードである、請求項9記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  13. 前記割り当てされた最下位の子ノードが前記リクエストノードに対して効率的にトランスコーディングを処理することができるように、前記その他のノードに対して負荷が分散される、請求項9記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  14. 前記オーバーレイネットワークの各親ノードには所定数の子ノードが割り当てられ、前記親ノードは、負荷が分散されたトランスコーディングを前記所定数の子ノードへ提供できる、請求項9記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  15. 前記オーバーレイネットワークはコンテンツのトランスコーディングを提供できる、利用可能な子ノードに応じて動的に調整される、請求項9記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  16. 前記マルチレベル親子オーバーレイツリー構造はトランスコーディング帯域幅キャパビリティに応じて構成され、かつ前記マルチレベル親子オーバーレイツリー構造の前記最上位のノードは前記最下位の子ノードよりも高いトランスコーディング帯域幅キャパビリティを有する、請求項9記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  17. 前記マルチレベル親子オーバーレイツリー構造は前記コンテンツに対するトランスコーディングを提供できる前記子ノードとその他の子ノードの負荷特性に応じてトランスコードを行うために選択される、請求項16記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  18. 前記コンテンツは映像コンテンツ、音声コンテンツのいずれか、もしくは音声と映像コンテンツの両方でもよく、トランスコーディングにより1つの解像度フォーマットから別の解像フォーマットへコンテンツが変形される、請求項9記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させる方法。
  19. それぞれキャパビリティを有する複数のノードを備えたピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させるシステムであって、
    コンテンツを有するノードからのリクエストを、当該コンテンツを有するノードよりキャパビリティが高いノードで受け取る手段を有し、
    前記キャパビリティに基づいて、前記リクエストを受けたノードが、当該ノード自身が高キャパビリティノードであると識別して、前記コンテンツを有するノードからコンテンツを得る手段を有し、
    前記高キャパビリティノードよりもキャパビリティが小さいノードを前記高キャパビリティノードの子ノードとして関連づけ、かつ、前記子ノードよりもキャパビリティが小さいノードを前記子ノードの子ノードとして更に関連づけることで、前記ピアツーピアネットワークとは独立したオーバーレイネットワークのツリー構造を定義する手段を有し、
    前記コンテンツを得た高キャパビリティノードをコンテンツノードとして、前記ピアツーピアネットワークのリクエストノードからのコンテンツリクエストを前記コンテンツノードにおいて受け取る手段を有し、
    前記オーバーレイネットワークのヘッドノードとして前記コンテンツノードを識別するためにオーバーレイネットワークを参照する手段を有し、前記ヘッドノードは前記コンテンツのトランスコードを行うキャパビリティを有するものであり、
    前記リクエストノードに対する前記コンテンツのトランスコードを行うキャパビリティを有する前記ヘッドノードの最下位の子ノードを識別する手段を有し、
    前記最下位の子ノードに前記リクエストノードへ与える前記コンテンツのトランスコードを割り当てる手段を有し、
    前記オーバーレイネットワークの各親ノードには、その子ノードに対してのコンテンツのトランスコードが割り当てられかつ、前記最下位の子ノードにはその親ノードから当該最下位の子ノードのフォーマットでトランスコードが行われたコンテンツを受け取り、前記オーバーレイネットワークは前記ピアツーピアネットワークとは独立しており、前記オーバーレイネットワークのノードはキャパビリティに応じて配置され、前記ヘッドノードは前記オーバーレイネットワークの最も高いキャパビリティを有する、ピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させるシステム。
  20. 前記オーバーレイネットワークは、マルチレベル親子オーバーレイツリー構造を定義し、キャパビリティベースのトランスコーディングサービスを前記ピアツーピアネットワークのリクエストノードへ提供するように前記マルチレベル親子オーバーレイツリー構造のうちの複数の構造が存在することができ、前記複数の構造はマルチレベル親子オーバーレイツリー構造のフォレストを定義する、請求項19記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させるシステム。
  21. 前記ヘッドノードは前記コンテンツのトランスコードを行うための高キャパビリティノードである、請求項19のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させるシステム。
  22. 前記割り当てられた最下位の子ノードは前記リクエストノードに対するトランスコーディングを効率的に処理することができるように、その他のノードに対して負荷が分散される、請求項19記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させるシステム。
  23. 前記オーバーレイネットワークの各親ノードには所定数の子ノードが割り当てられ、前記親ノードは前記所定数の子ノードに対して負荷が分散されたトランスコーディングを提供できる、請求項19記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させるシステム。
  24. 前記オーバーレイネットワークは、前記コンテンツのトランスコーディングを提供できる、利用可用な子ノードに応じて動的に調整される、請求項19記載のピアツーピアネットワークとともにコンテンツ分散型オーバーレイネットワークを動作させるシステム。
  25. それぞれキャパビリティを有する複数のノードを備えたピアツーピアネットワークに対するプログラム命令を含むコンピュータ可読媒体であって、前記コンピュータ可読媒体は、
    コンテンツを有するノードからのリクエストを、当該コンテンツを有するノードよりキャパビリティが高いノードで受け取るプログラム命令を有し、
    前記キャパビリティに基づいて、前記リクエストを受けたノードが、当該ノード自身が高キャパビリティノードであると識別して、前記コンテンツを有するノードからコンテンツを得るプログラム命令を有し、
    前記高キャパビリティノードよりもキャパビリティが小さいノードを前記高キャパビリティノードの子ノードとして関連づけ、かつ、前記子ノードよりもキャパビリティが小さいノードを前記子ノードの子ノードとして更に関連づけることで、前記ピアツーピアネットワークとは独立したオーバーレイネットワークのツリー構造を定義するプログラム命令を有し、
    前記コンテンツを得た高キャパビリティノードをコンテンツノードとして、前記ピアツーピアネットワークのリクエストノードからのコンテンツリクエストを前記コンテンツノードにおいて受け取るためのプログラム命令を有し、前記コンテンツノードは、前記リクエストノードへ示すための前記コンテンツを処理するキャパビリティを備えており、
    オーバーレイネットワークのヘッドノードである前記コンテンツノードの子ノードが前記コンテンツを処理するキャパビリティを有しているかどうかを判断するために、オーバーレイネットワークを参照するためのプログラム命令を有し、
    前記子ノードが前記リクエストノードに対する前記コンテンツを処理するキャパビリティを有している場合に、前記子ノードに前記リクエストノードへ与える前記コンテンツの処理を割り当てるためのプログラム命令を有し、前記子ノードは前記ヘッドノードよりもコンテンツを処理するキャパビリティが低いものである、ピアツーピアネットワークに対するプログラム命令を含むコンピュータ可読媒体。
  26. 前記コンピュータ可読記録媒体は、前記ピアツーピアネットワークに接続されたコンピュータノードのメモリに記録されたプログラム命令を含むものであり、
    前記オーバーレイネットワークを参照するためのプログラム命令は、前記オーバーレイネットワークのヘッドノードである前記コンテンツノードの子ノードが前記コンテンツをトランスコードするためのトランスコーディング帯域幅キャパビリティを有しているかどうかを判断するために、前記ヘッドノードを参照するものであり、
    前記コンテンツの処理を割り当てるためのプログラム命令は、前記子ノードが前記リクエストノードに対する前記コンテンツをトランスコードするためのキャパビリティを有している場合に、前記子ノードに前記リクエストノードへ与える前記コンテンツのトランスコードを動的に割り当てるものであり、
    前記割り当てられた子ノードは、当該割り当てられた子ノードが負荷が最も低くなるように、他のノードに対して負荷が分散されている、ピアツーピアネットワークに対するプログラム命令を含む、請求項25記載のコンピュータ可読媒体。
  27. 前記コンテンツの処理には前記コンテンツのトランスコーディングが含まれる、請求項25記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築するためのプログラム命令を含むコンピュータ可読媒体。
  28. 前記オーバーレイネットワークは前記ヘッドノードを含み、かつ前記ヘッドノードは1つもしくはそれ以上の子ノードを含み、かつ、前記子ノードの各々は順に、前記ピアツーピアネットワークとは独立してマルチレベル親子オーバーレイツリー構造を定義するように子ノードを有することができる、請求項27記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築するためのプログラム命令を含むコンピュータ可読媒体。
  29. 前記マルチレベル親子オーバーレイツリー構造はその1つもしくはそれ以上の子に対するトランスコーディングを提供する、請求項28記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築するためのプログラム命令を含むコンピュータ可読媒体。
  30. 前記ヘッドノードは前記コンテンツをトランスコードするための高キャパビリティノードである、請求項25記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築するためのプログラム命令を含むコンピュータ可読媒体。
  31. 前記ヘッドノードは1つもしくはそれ以上の下位の子ノードを有し、かつ、各下位ノードの前記コンテンツをトランスコードするためのトランスコーディング帯域幅キャパビリティは、上位ノードよりも小さい、請求項30記載のピアツーピアネットワークに対するコンテンツ分散型オーバーレイネットワークを構築するためのプログラム命令を含むコンピュータ可読媒体。
JP2006514997A 2003-06-04 2004-05-28 ピアツーピアネットワークのためのコンテンツ分散型オーバーレイネットワーク Expired - Fee Related JP4331203B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47608403P 2003-06-04 2003-06-04
PCT/US2004/016830 WO2004110018A1 (en) 2003-06-04 2004-05-28 Content distribution overlay network for a peer to peer network

Publications (2)

Publication Number Publication Date
JP2006526850A JP2006526850A (ja) 2006-11-24
JP4331203B2 true JP4331203B2 (ja) 2009-09-16

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 Active JP4499716B2 (ja) 2003-06-04 2004-06-01 ピアツーピアネットワークにおけるアプリケーションの実行

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2006515076A Active JP4499716B2 (ja) 2003-06-04 2004-06-01 ピアツーピアネットワークにおけるアプリケーションの実行

Country Status (6)

Country Link
US (3) US7792915B2 (ja)
EP (1) EP1636968B1 (ja)
JP (2) JP4331203B2 (ja)
CN (2) CN1833423B (ja)
TW (2) TWI245515B (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 国际商业机器公司 用于内容信息共享的方法和装置
JP2007058414A (ja) * 2005-08-23 2007-03-08 Hitachi Ltd 計算機のログ管理プログラム、そのログ管理方法、及び計算機システム
US8719255B1 (en) 2005-08-23 2014-05-06 Amazon Technologies, Inc. Method and system for determining interest levels of online content based on rates of change of content access
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
US20090007171A1 (en) * 2005-11-30 2009-01-01 Qwest Communications International Inc. Dynamic interactive advertisement insertion into content stream delivered through ip network
US8752090B2 (en) * 2005-11-30 2014-06-10 Qwest Communications International Inc. Content syndication to set top box 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
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
US7953785B2 (en) * 2006-06-30 2011-05-31 Microsoft Corporation Content synchronization in a file sharing environment
US8386509B1 (en) * 2006-06-30 2013-02-26 Amazon Technologies, Inc. Method and system for associating search keywords with interest spaces
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
US8437267B2 (en) 2008-12-22 2013-05-07 Ltn Global Communications, Inc. 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
US10075519B2 (en) * 2013-01-10 2018-09-11 Telefonaktiebolaget Lm 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 수원대학교산학협력단 응용 계층 멀티캐스트 서비스 제공을 위한 분산적 부모 피어 선택 방법
US8782122B1 (en) 2014-01-17 2014-07-15 Maximilian A. Chang Automated collaboration for peer-to-peer electronic devices
US8782121B1 (en) 2014-01-17 2014-07-15 Maximilian A. Chang Peer-to-peer electronic device handling of social network activity
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
WO2019232750A1 (zh) * 2018-06-07 2019-12-12 Guan Chi 一种网络通信方法、对等体及系统

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
TWI245515B (en) 2005-12-11
US7421708B2 (en) 2008-09-02
US7792915B2 (en) 2010-09-07
JP2006526856A (ja) 2006-11-24
TWI249922B (en) 2006-02-21
EP1636968B1 (en) 2019-03-06
US20050198290A1 (en) 2005-09-08
JP4499716B2 (ja) 2010-07-07
US20040255027A1 (en) 2004-12-16
WO2004110019A1 (en) 2004-12-16
CN1833423B (zh) 2012-01-11
JP2006526850A (ja) 2006-11-24
CN1833423A (zh) 2006-09-13
EP1636968A1 (en) 2006-03-22
TW200509608A (en) 2005-03-01
US20100287272A1 (en) 2010-11-11
CN1829998A (zh) 2006-09-06
TW200520466A (en) 2005-06-16
US8346882B2 (en) 2013-01-01
WO2004110018A1 (en) 2004-12-16

Similar Documents

Publication Publication Date Title
JP4331203B2 (ja) ピアツーピアネットワークのためのコンテンツ分散型オーバーレイネットワーク
US10356365B2 (en) Framework to support a hybrid of meshed endpoints with non-meshed endpoints
US10491523B2 (en) Load distribution in data networks
US7720909B2 (en) Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices
JP5921724B2 (ja) コンピューティング・デバイスおよび方法
US20180102945A1 (en) Graceful scaling in software driven networks
KR101286903B1 (ko) 토폴로지 인식 캐시 협동
US8892625B2 (en) Hierarchically clustered P2P streaming system
EP2592550B1 (en) Distributed mapping function for large scale media clouds
US20040267965A1 (en) System and method for rendering content on multiple devices
US20060120411A1 (en) Splitting a workload of a node
US9420513B1 (en) Clustering approach to estimating a network metric for nodes
JP5934828B2 (ja) P2p基盤のストリーミングサービスのデータストリームをパケット化するシステムおよび方法
KR20130040236A (ko) 오디오 및 비디오 온 디맨드를 위한 방법, 서버 및 단말기
CN110944067B (zh) 一种负载均衡方法和服务器
KR20040008106A (ko) 그리드에서 사용자의 QoS와 응용특성에 근거한동적자원 할당방법
Zhuoqing et al. Achieving service portability using self-adaptive data paths
Bruneo et al. Gridvideo: a practical example of nonscientific application on the grid
JP5516403B2 (ja) 配信システム設計支援装置、配信システム設計支援方法、およびプログラム
JP2008129981A (ja) 接続先決定サーバ及び負荷分散方法
Ooi Design and implementation of distributed programmable media gateways

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090209

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090216

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4331203

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130626

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

LAPS Cancellation because of no payment of annual fees