JP6111452B2 - デジタルデータを配信するための方法および装置 - Google Patents

デジタルデータを配信するための方法および装置 Download PDF

Info

Publication number
JP6111452B2
JP6111452B2 JP2013171978A JP2013171978A JP6111452B2 JP 6111452 B2 JP6111452 B2 JP 6111452B2 JP 2013171978 A JP2013171978 A JP 2013171978A JP 2013171978 A JP2013171978 A JP 2013171978A JP 6111452 B2 JP6111452 B2 JP 6111452B2
Authority
JP
Japan
Prior art keywords
data
digital data
cache
network
data source
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
JP2013171978A
Other languages
English (en)
Other versions
JP2014029694A (ja
Inventor
デイビツド・フアーガソン
ブライアン・アムスベリー
Original Assignee
サウンド・ビュー・イノベーションズ・エル・エル・シー
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
Priority claimed from US11/949,297 external-priority patent/US7908362B2/en
Priority claimed from GB0723664A external-priority patent/GB2455301A/en
Application filed by サウンド・ビュー・イノベーションズ・エル・エル・シー filed Critical サウンド・ビュー・イノベーションズ・エル・エル・シー
Publication of JP2014029694A publication Critical patent/JP2014029694A/ja
Application granted granted Critical
Publication of JP6111452B2 publication Critical patent/JP6111452B2/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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/1072Discovery involving ranked list compilation of candidate 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/1085Resource delivery mechanisms involving dynamic management of active down- or uploading connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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

Landscapes

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

Description

本発明は、特にピアツーピアネットワークにおいて、複数のデータソースからデジタルデータを供給するための方法およびネットワーク、ならびにデジタルデータを供給するためのスポット市場に関する。
今日のインターネットシステムでは、インターネットサービスプロバイダ(ISP)が利用者または加入者にインターネット接続を提供している。ISPは、通常他の会社によって運営されるバックボーンによって他のISPに接続されている。インターネットに接続するために、ISPは、ISPのうちの様々なものの間、およびデータソース間にもデータを配信するインターネットバックボーンのうちの1つの上の帯域幅を購入することになる。たとえばシンガポールにおけるISPは、シンガポールと米国との間の太平洋横断ケーブル上の、ならびにヨーロッパとオーストラリアおよびシンガポールとの間のケーブル上の帯域幅を購入することになる。購入した帯域幅は対称型である。しかし、たとえばアジア太平洋地域の多くのISPは、デジタルデータのエンドユーザ、すなわちそれらの地域からのISPの利用者はインターネットへのデータの提供者というよりも彼らの地域外で生産されたデータの活動的な「利用者」なので、帯域幅のネットダウンロード者である。バックボーンシステムにおいてISPが利害関係者になることも可能である。
したがって、アジア太平洋地域のISPはインターネットからのデータのネットダウンロード者である。しかし、ISPはインターネットバックボーン上で対称的な容量を購入した。購入した容量は、ISPの利用者によって要求されたデータのために必要なダウンロード速度に対応するのに十分である。しかし、ISPからインターネットにデータをアップロードするにはかなりの設備過剰がある。その結果、アジア太平洋ISPから残りのインターネットへのデータのアップロードには追加コストがほとんど必要ない。スイッチなどのハードウェアの多くは対称的なので、ネットワークにデータをアップロードするためには導入されるコストの増加はほとんどないだろう。
コンテンツ配信ネットワーク(CDN)は、デジタルデータをコンテンツ(ビデオおよび音声ファイルを含む大きなメディアコンテンツなど)の形でエンドユーザに配信するために協働する、インターネット中に共にネットワークされたコンピュータのシステムである。このようなコンテンツベースのCDNには、SandpiperおよびSkycache、ならびにAkamai、Digital Island、および出願人自身のVelociXネットワークがある。たとえばAkamai CDNは単一のソースから多くの接続を多くのユーザに提供する。
CDNは、コンテンツが格納された1つまたは複数のサーバを有する。これらのCDNサーバは通常複数の位置で展開され、しばしばISPから複数のバックボーンを介して到達されうる。これらのCDNサーバは、ISPの利用者などのエンドユーザによるコンテンツへの要求を満たすために相互に協働することになる。従来技術のシステムでは、CDNサーバはエンドユーザへのデジタルデータの配信過程を最適化するために舞台裏でコンテンツを動かすことになる。配信過程の最適化は、帯域幅コストの減少および/またはエンドユーザパフォーマンスの改善の形をとることができる。
CDNにおけるCDNサーバの数は様々であり、CDNのアーキテクチャによる。CDNのうちのいくつかは、数万のサーバがある数千のノードを有する。ユーザがコンテンツをダウンロードしたい場合、通常はエンドユーザからCDNにコンテンツ(デジタルデータ)を求める要求が送信される。これらのコンテンツ要求は、最も良いサービスを提供できるCDNサーバのうちの1つに宛てられる。サービスを最適化する場合、要求されたコンテンツを最も迅速にエンドユーザにサービスできる地理的位置に位置するCDNサーバが、通常コンテンツ要求を満たすよう選択されることになる。CDNサーバのこの選択は、デジタルデータを要求しているエンドユーザ(要求者と呼ばれる)から最も少ないホップ、または最も少ないネットワーク秒の数だけ離れている地理的位置を選択する原理に支配されてよい。あるいは、従来技術で知られているCDNは、ローカルネットワークを介したデジタルデータの配信を最適化するようにCDNサーバを選択することになる。コストを最適化する場合、サービスにより費用のかからない地理的位置に位置するCDNサーバがコンテンツ要求を満たすように選択されてよい。エンドユーザに近いそれらのCDNサーバは、従来技術のシステムにおいてエンドユーザと同じネットワーク内に位置しているためコストを削減するという利点を有するので、しばしばこれらの2つの目的は合致する傾向がある。
同時係属英国特許出願第GB061596.3号(および米国特許出願第11/598,115号)は、サーバのデータ監視装置がデジタルデータ配信についての少なくとも1つのサービス品質(QoS)パラメータを監視するコンテンツ配布ネットワークを開示している。この特許出願は、QoSパラメータのうちの1つがデジタルデータの配信のコストであり得ることを開示している。
CacheLogic Ltd,Cambridge,UKに譲渡された同時係属英国特許出願第GB0615962.8号(および米国特許出願第11/598,114号)は、デジタルデータをダウンロードするキャッシュの選択が、少なくとも部分的にデジタルデータを選択するユーザの位置に基づいているコンテンツ配布ネットワークを教示している。Serenade Systems,Mountain View,CA,USAに譲渡されたUS2004/0148344は、インターネットを使用するコンテンツ配布ネットワークを示している。Serenade systemは、効率的なファイル配布のためにピアグループが関連付けられて維持されるピアツーピアネットワークを示している。この出願におけるキャッシュは利用可能性およびコストに基づいて優先順位をつけられる。ネットワークは、利用可能なまたは最大の所望の供給帯域幅を活用していないどのようなピアも、コンテンツをピアツーピアネットワークに押し出し始めるように構成されてよい。上述のように、現在CacheLogic Ltd,Cambridge,UKは現在、ビデオなどのデジタルデータを配信したいと望むクライアントが割り当てられた配信速度および/または固定コストで配信できる、VelociXビデオ配信システムを提供している。これにより、たとえばビデオ受信のためにプレミア価格を支払っているエンドユーザは、完全なデジタルデータの到着がネットワーク状態に依存するのを待つことなく、保証された時間枠内に受信できるようになる。VelociXビデオ配信システムは、http://www.cachelogic.com/home/pages/video/index.php(2007年6月16日にダウンロードされた)に開示されている。
デジタルデータの配布のためにネットワーク帯域幅容量を使えるように設定するための、マーケットベースのリソース割当てシステムを作成するための過去の努力が知られている。たとえば、Invisible Hand Networksに譲渡されたWO01/88811は、帯域幅および/またはバッファスペースの購入のためのスポット市場システムの作成を教示している。
米国特許出願公開第2004/0148344号明細書 国際公開第01/88811号
「Velocixビデオ配信システム」http://www.cachelogic.com/home/pages/video/index.php
本発明は、データソースに関連する少なくとも1つのパラメータを有する、少なくとも2つの異なるデータソースを備えるネットワークからデジタルデータをエンドユーザに配信するための方法を提供する。この少なくとも2つのデータソースは、複数の部分からなるデジタルデータの実質的に同じコピーを有し、エンドユーザに接続されている。この方法は関連パラメータを有する少なくとも2つのデータソースのサブセットの少なくとも1つのリストを受信するステップと、少なくとも2つのデータソースのうちの選択されたデータソースの構成が、デジタルデータをエンドユーザに配信するための仕様に合うように、リストに基づいて少なくとも2つのデータソースのサブセットのうちの1つまたは複数を選択するステップとを備える。少なくとも2つのデータソースのうちの選択されたデータソースからデジタルデータの少なくとも一部がエンドユーザに配信される。デジタルデータをエンドユーザに配信するためのパラメータが監視されて、少なくとも2つのデータソースのうちの選択されたデータソースの構成の結合された構成が仕様に合うように、少なくとも2つのデータソースのうちの選択されたデータソースの構成が監視されたパラメータに基づいて調整される。
本発明により、ネットワーク内でデジタルデータをエンドユーザに供給するためのデータソースの選択が最適化できるようになる。デジタルデータの配信の間、キャッシュからエンドユーザへのネットワークパス上の契約された帯域幅が最小限のコストまたは輻輳を満たすように、デジタルデータを配信するためのデータソースが動的に選択されるという点で、データソースの選択が最適化される。データソースの選択に加えて他の以前選択されたデータソースが、データソースからエンドユーザへの契約された帯域幅、たとえば最小限のコストまたは要求された配信速度を確実に満たすことに役立つ限り、データソースがネットワーク内のどこに位置するかはエンドユーザとって重要ではない。
本発明によりさらに、データソースの選択の基礎を配信コストならびにデータソースからエンドユーザへの目標配信速度のどちらかまたは両方に置くことができるようになる。したがって、データソースのうち十分に利用されていないものがデジタルデータをより低いパラメータ(配信コスト)で提供する傾向にあるので、サービスの品質(この場合は配信速度)をデータソースの使用の配信と結合することが可能になる。
一態様によれば、本発明により、デジタルデータの一部のエンドユーザへの配信方法をデータソースに独自に決定させることによって、ネットワーク内の帯域幅の最適な選択がさらにできるようになる。したがって、中央コントローラがなく、エンドユーザのプライバシーに対する懸念が十分に対処されうる。
本発明はさらに、デジタルデータが複数の部分を備える、デジタルデータをエンドユーザに配信するための装置を提供する。本発明の装置は、パラメータでデジタルデータの一部をエンドユーザに供給する、少なくとも2つのデータソースのネットワークを備える。少なくとも2つの異なるデータソースはエンドユーザに接続されており、トラッカは少なくとも2つのデータソースのリストを提供する。この装置は、少なくとも2つのデータソースのうちの選択されたデータソースの構成がデジタルデータをエンドユーザに配信するための仕様に合うように、デジタルデータの一部のうちの少なくともいくつかをエンドユーザ供給するために、2つのデータソースのうちの1つまたは複数をリストに基づいて選択するための選択装置をさらに含む。デジタルデータをエンドユーザに配信するためのパラメータを監視するための監視装置は、少なくとも2つのデータソースのうちの選択されたデータソースの構成の結合された構成が仕様に合うように、少なくとも2つのデータソースのうちの選択されたデータソースのうちの少なくとも1つの構成を、監視されたパラメータに基づいて調整するための調整装置とともに装置内に含まれる。
本発明の他の態様では、データソースからエンドユーザにデジタルデータを配信するためにデータソースを選択するための方法は、ネットワーク内で接続されている少なくとも2つのデータソースからデジタルデータをエンドユーザに配信するための提案を受信するステップを備える。この提案は、デジタルデータを配信するために、パラメータで少なくとも2つのデータソースからエンドユーザへの接続上の帯域幅を提供する。このパラメータは、たとえばデジタルデータの配信コストまたは配信速度である。
本発明は、さらなる態様において、ネットワーク内で接続された少なくとも2つのデータソースからエンドユーザへの接続上で提案を受信するための、およびデジタルデータを配信するために、パラメータでネットワークパス上の帯域幅を提供するための受信装置を備える、データソースからデジタルデータを配信するためのデータソースを選択するための装置をさらに含む。選択装置は、パラメータに基づいて、少なくとも2つのデータソースから提案を選択して、選択されたデータソースの構成が、デジタルデータをエンドユーザに配信するための仕様に合うように、提案のうちの選択された1つに対応するデータソースを選択する。
当技術分野で知られているピアツーピアネットワークを示す図である。 デジタルデータのダウンロードを求める要求を示す図である。 本発明によるネットワークの概要を示す図である。 コンテンツの配布の概要を示す図である。 コンテンツ配布ネットワークの地理的実装を示す図である。 サービスポイントオブプレゼンスの概要を示す図である。 データポイントオブプレゼンスの概要を示す図である。 データ配信コントローラおよびモニタの概要を示す図である。 デジタルデータを配信するためのネットワークの概要を示す図である。 デジタルデータを配信するための方法の流れ図である。 デジタルデータを配信するための帯域幅の割当てのためのネットワークの概要を示す図である。 デジタルデータを配信するための帯域幅の割当ての流れ図である。 デジタルデータを配信するためにデータソースが目標とする目標配信速度を示す図である。
ピアツーピア(P2Pとも呼ばれる)コンピュータネットワークは、比較的少数のサーバ内の計算能力および帯域幅に集中するよりも、コンピュータネットワーク内の参加者の計算能力および帯域幅に主に依存するネットワークである。一般にP2Pコンピュータネットワークは、コンピュータネットワークのノードを主としてアドホック接続を介して接続するために使用される。P2Pコンピュータネットワークは多くの目的に役立つ。たとえば音声、ビデオ、およびデータを含むコンテンツファイルの共有が非常に一般的である。電話トラフィックなどのリアルタイムデータもP2Pネットワークを使用して伝えられる。
純粋なP2Pネットワークにはクライアントまたはサーバの概念を有さず、ネットワーク上の他のノードに対して「クライアント」および「サーバ」の両方として同時に機能する等しいピアノードだけを有する。ネットワーク構成のこのモデルは、通信が通常中央サーバを往復するクライアント−サーバモデルとは異なる。P2Pファイル転送ではないものの典型的な例は、クライアントおよびサーバプログラムが全く異なるFTPサーバである。FTPサーバでは、クライアントがダウンロード/アップロードを開始し、サーバが反応してクライアントからのこれらの要求を満たす。
Napstar、OpenNAP、またはIRC@findなどのいくつかのネットワークおよびチャネルは、あるタスク(たとえば検索)のためにクライアント−サーバ構造を、また他のタスクのためにP2P構造を使用している。GnutellaまたはFreenetなどのネットワークは全ての目的のためにP2P構造を使用し、時々真のP2Pネットワークと呼ばれるが、Gnutellaはネットワークアドレスのピアを他のピアに知らせるディレクトリサーバによって非常に容易になっている。
現在P2Pネットワークで使用される最も人気のあるファイル配布プログラムのうちの1つは、Bram Cohenによって作成されたBitTorrentである。BitTorrentは、費用のかかるサーバおよび帯域幅リソースにおいて対応する消費を招かずに大量のデータを広範囲に配布するように設計されている。BitTorrentを通じてファイルまたはファイルのグループを共有するために、クライアントはまず「torrentファイル」を作成する。これは、共有されるべきファイルについての、およびファイル配布を統合するホストコンピュータ(「トラッカ」)についてのメタ情報を含む小さいファイルである。torrentファイルはトラッカのURLを指定する「アナウンス」セクション、ならびに(提案された)ファイルの名前、その長さ、使用されるピースの長さ、およびクライアントが受信するデータの完全性を検証するために使用するべきそれぞれのピースごとのSHA−1ハッシュコードを含む「情報」セクションを含む。
トラッカはどのシード(すなわち、完全なファイルまたはファイルのグループを有するノード)およびピア(すなわち、完全なファイルまたはファイルのグループをまだ有していないノード)がスウォーム(単一のファイルまたはファイルのグループの配布に関わる全てのシードおよびピアの表現)の中にあるかを追跡するサーバである。ノードは定期的におよび時々情報をトラッカにレポートして、ノードが接続できる他のノードについての情報を要求および受信する。トラッカはデータ転送に直接関わらず、ファイルのコピーを有する必要がない。ファイルのダウンロードを終了したノードは、シード、すなわちファイルの完全なコピーを提供するノードの機能を果たすように選択してもよい。torrentファイルが作成された後、torrentファイルへのリンクがウェブサイト上または別の場所に配置され、通常はトラッカに登録される。BitTorrentトラッカは、現在それぞれのtorrentに参加しているノードのリストを維持する。ファイルの最初のコピーを有するコンピュータは最初のシーダと呼ばれる。
ユーザはウェブブラウザを使用してtorrentを載せているサイトをナビゲートし、torrentをダウンロードし、自分のローカルマシンに格納されたBitTorrentクライアントでtorrentを開ける。torrentを開けた後、BitTorrentクライアントはトラッカに接続し、トラッカはBitTorrentクライアントに現在そのファイル(または複数のファイル)をダウンロードしているクライアントのリストを提供する。
最初はスウォームの中に他のピアがない場合があり、この場合クライアントは最初のシーダに直接接続してピースの要求を開始する。BitTorrentプロトコルはファイルをいくつかのより小さいピース(一般に4分の1メガバイト(256キロバイト)の大きさ)に分ける。ファイルサイズが大きいほど、一般に大きなピースを有する。たとえば、4.37ギガバイトのファイルは4メガバイト(4096キロバイト)の大きさのピースを有することができる。ピースはBitTorrentクライアントによって受信されると、エラーのないことを確実にするためにハッシュアルゴリズムを使用して検査される。
標準的なBitTorrentプロトコルには、ピアのうちのいずれからの配信速度についての情報もない。BitTorrentクライアントはファイルのピースについての4つのソースをスウォーム内のピアに与えることになる。これによりピアに3つの最良シードおよび少なくとも1つのランダムシードの詳細を提供することになる。この理由は、以下でさらに説明するように、BitTorrentクライアントは自分のデータ量を最大にしようとしているからである。
さらなるピアがスウォームに入ると、最初のシーダから直接ダウンロードする代わりに、全てのピアがピースを相互に共有し始める。クライアントは自分のダウンロードおよびアップロード速度を最適化するためのメカニズムを組み込む。ピアはランダムな順序でピースをダウンロードしてよく、データ交換の機会を増やすために、その中で最も珍しいピースをダウンロードすることを好んでよい。データ交換は、2つのピアがファイルの異なるサブセットを有する場合のみ可能である。BitTorrentプロトコルでは、たとえば、最初にスウォームに参加するピアがそのスウォームの他のメンバーに、ピアの他のメンバーによるダウンロードに利用可能な、そのピアが有するデジタルデータのピースの最初のセットを示すBitFieldメッセージを送信することが知られている。ピースのうちのさらなるピースを受信すると、ピアは他のピアにHaveメッセージを送信してピースのうちのさらなるピースがダウンロードに利用可能であることを示す。
図1は、本発明の様々な実施形態を実施できる環境を示すブロック図である。図1はピアツーピア(P2P)ネットワーク100を示している。P2Pネットワーク100は、以下ではピア102と呼ばれる相互に接続されたピア102a、102b、102c、102d、102e、および102fなどの複数のピアを含む。P2Pネットワーク100はローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、無線ネットワークなどでよい。P2Pネットワーク100内にあるピア102は格納されたデジタルデータを含む。デジタルデータの様々な例にはアプリケーションファイル、ビデオファイル、音楽ファイルなどがあるが、これに限定されない。P2Pネットワーク100内では、ピア102間でデジタルデータが共有される。ピア102はデジタルデータの複数のコピーを格納してよいことが理解されるべきである。
図2は、本発明の実施形態による、ピア102aを通じてデジタルデータのダウンロードを求める要求を送信しているユーザ202を示すブロック図である。図2はピア102a、ユーザ202、サーバ204、およびトラッカサーバ206を含む。本発明の一実施形態では、サーバ204は、以下ではtorrentファイル208と呼ばれるtorrentファイル208a、208b、および208cなどの1つまたは複数のtorrentファイルを含む。本発明を、例示的実施形態としてBitTorrentプロトコルについて説明してきた。本発明は全てのP2Pプロトコルに適用可能であることが当業者には理解されるべきである。
ユーザ202はピア102aでデジタルデータをダウンロードする要求を行う。ピア102aはサーバ204と通信して、サーバ204にダウンロードされるべきデジタルデータについての情報を提供する。次に、サーバ204はピア102aによってダウンロードのために要求されたデジタルデータに関連するtorrentファイルのうちの1つ、たとえばtorrentファイル208aの位置を探す。本発明の様々な実施形態では、torrentファイル208は、ピア102aによってダウンロードされるべきデジタルデータについての名前、大きさ、ピースの数、およびチェックサムエラーに関連する情報を含む。
次に、本発明の様々な実施形態では、トラッカサーバ206はP2Pネットワーク100内にあるピア102のリストにダウンロードされるべきデジタルデータのピースを提供する。その後ピア102aは、関連デジタルデータをダウンロードするためにピア102の利用可能リストと通信する。ピア102aは、ピア102aが有するデジタルデータのピースのbitfieldを送信することによってピア102と通信する。ピア102aが全てのbitfieldをピア102から受信後、ピア102aは関連データを見つけたピア102にメッセージを送信して、要求されたデジタルデータのピースのダウンロードを開始する。
図3は、本発明の実施形態による、キャッシュロケーションサーバ(CLS)302と通信しているピア102aを示すブロック図である。図3は、ピア102a、CLS302、データベース304、インターネットサービスプロバイダドメインネームサーバ(ISP DNS)306、中央ドメインネームサーバ(中央DNS)308、キャッシュDNS310、および以下ではキャッシュ312と呼ばれるキャッシュ312a、キャッシュ312b、およびキャッシュ312cなどの1つまたは複数のキャッシュを含む。
ピア102aはCLS302と通信する。本発明の一実施形態では、ピア102aによってCLS302に送信された情報もピア102aのIPアドレスを含む。受信した情報に基づいて、CLS302は位置ストリングをピア102aに伝える。本発明の一実施形態では、CLS302はデータベース304から位置ストリングを取得してよい。データベース304は、ピア102に関して特定の位置ストリングを生成するために国、ISP、地域、都市などのIPアドレス範囲についての情報を格納する。
次いでピア102aは位置ストリングおよびTorrent File208からの情報を使用してISP DNS306との通信を行う。
本発明の様々な実施形態では、ピア102aによってISP DNS306に送信される情報は以下の通りでよい:
Protocol−TruncatedHash.Protocol−Publisher−LocationString.Find−Cache.com
CLS302によってピア102aに送信される情報の一例は以下の通りでよい:
bt−1234.bt−bigcorp−bigispnyc.fmd−cache.com
上記で、「bt」はピア102aによって使用されるBitTorrentプロトコルを表し、「1234」はピア102aによってダウンロードされるべきデジタルデータに関連付けられる特定のハッシュ値を表し、「bigcorp」はダウンロードされるべきデジタルデータの発行人(架空の「大企業」)を表し、「bigispnyc」はピア102aのための位置ストリング(架空の「大きなISP」のためのニューヨークのポイントオブプレゼンス)を表している。
この通信に基づいて、ISP DNS306は要求を中央DNS308(通信内に含まれるドメインのためのネームサーバ)に転送する。その後、中央DNS308はキャッシュDNS310のアドレスをISP DNS306に提供する。したがって、キャッシュDNS310はISP DNS306からダウンロードされるべきデジタルデータを求めるDNS要求を受信する。次にキャッシュDNS310は、たとえばキャッシュ312aなどの、キャッシュ312のうちの1つを割り振る。本発明の様々な実施形態では、キャッシュDNS310は、キャッシュ312のうちの1つをロード、利用可能性、およびコンテンツに基づいてそれぞれに割り振ってよい。キャッシュDNS310はこの情報をISP DNS306に伝え、次にISP DNS306がこの情報をピア102aに伝える。その後、ピア102aがデジタルデータをダウンロードするためにキャッシュ312aと通信を行う。ピア102aとキャッシュ312aとの間の通信は図4で詳細に説明する。
図4は、P2Pネットワーク100におけるコンテンツ配布のためのシステム400を示すブロック図である。システム400は、ピア102a、102b、および102c、キャッシュ312aおよび312b、第1コンテンツサーバ402、第2コンテンツサーバ403、プライベートトラッカ404、パブリックトラッカ406、ビジネス論理ユニット408、中央データベースサーバ410、ならびにユーザインターフェースユニット412を含む。
ピア102aはデジタルデータのダウンロードを求める要求をキャッシュ312aに送信する。キャッシュ312aは第1コンテンツサーバ402および/または第2コンテンツサーバ403、ならびにプライベートトラッカ404に接続されている。本発明の様々な実施形態では、第1コンテンツサーバ402および第2コンテンツサーバ403は両方ともP2Pネットワーク100に格納された複数のデジタルデータの完全なコピーを含む。本発明の一態様によれば、第1コンテンツサーバ402および/または第2コンテンツサーバ403は発行人のコンピュータネットワークに接続されている。コンテンツサーバ402と第2コンテンツサーバ403の両方は、発行人のコンピュータネットワークから配布されるべきデジタルデータを受信する。たとえば、P2Pネットワーク100内でビデオファイルを配布したい発行人は、まずそのビデオファイルを第1コンテンツサーバ402または第2コンテンツサーバ403にアップロードする。その後、そのビデオファイルは次にピア102によって第1コンテンツサーバ402または第2コンテンツサーバ403からダウンロードされうる。
本発明の一態様によれば、発行人がデジタルデータのピースを第1コンテンツサーバ402または第2コンテンツサーバ403にアップロードするとすぐに、そのデジタルデータはピア102がダウンロードするために利用可能になる。したがって、発行人がデジタルデータの後続のピースのアップロードを進行すると、ピア102はそれらのアップロードされたピースを並列にダウンロードできる。したがって、システム400が第1コンテンツサーバ402または第2コンテンツサーバ403からデジタルデータを並列アップロードおよびダウンロードを実行する能力は、P2Pネットワーク100内のデジタルデータの効率的なリアルタイムの利用可能性を確実にする。
キャッシュ312aは、ピア102aからの要求に基づいて、第1コンテンツサーバ402または第2コンテンツサーバ403あるいはキャッシュ312bからデジタルデータをダウンロードする。プライベートトラッカ404は、キャッシュ312ならびに第1コンテンツサーバ402および第2コンテンツサーバ403のうちのいずれかで、デジタルデータのうちのどれが利用可能か分かり、この情報をキャッシュ312aに提供する。ピア102aによって要求されたデジタルデータがキャッシュ312上で利用可能な場合、ピア102aはキャッシュ312aからそのデジタルデータをダウンロードする。デジタルデータがキャッシュ312a上で利用可能でない場合、キャッシュ312aは要求されたデジタルデータを第1コンテンツサーバ402および/または第2コンテンツサーバ403ならびに/またはキャッシュ312bからダウンロードする。その後、キャッシュ312aはピア102aがデジタルデータをダウンロードできるようにする。本発明の一態様によれば、ピア102aは、ピア102bおよびピア102cなどのP2Pネットワーク100内で利用可能な他のピア102から関連デジタルデータもダウンロードしてよい。
本発明の他の態様によれば、キャッシュ312aはP2Pネットワーク100内で利用可能なピア102からデジタルデータをアップロードしてよい。このような場合、キャッシュ312aはピア102のうちの1つとして働く。
上述のように、プライベートトラッカ404は、第1コンテンツサーバ402および第2コンテンツサーバ403、ならびにキャッシュ312上で利用可能な全てのデータの追跡を維持する。パブリックトラッカ406は、P2Pネットワーク100内のキャッシュ312の全ておよびピア102の全てに接続されている。パブリックトラッカ406はキャッシュ312およびピア102間で転送されたデジタルデータの全ての追跡を維持する。特に、パブリックトラッカ406は、P2Pネットワーク100内で利用可能なデジタルデータのコピーを保持するピア102およびキャッシュ312の全てのリストを維持する。
ビジネス論理ユニット408は、全てのキャッシュ312およびプライベートトラッカ404に接続されている。ビジネス論理ユニット408は、ピア102がどのデジタルデータもアップロードできるようにする前に、ピア102を認証する。さらに、ビジネス論理ユニット408は中央データベースサーバ410に接続されている。ビジネス論理ユニット408は、P2Pネットワーク100と中央データベースサー410との間のインターフェースとして働く。中央データベースサーバ410は、キャッシュ312ならびに第1コンテンツサーバ402および第2コンテンツサーバ403へ、またはそこから転送された全てのデータについてのログレポートを、ビジネス論理ユニット408を通じてプライベートトラッカ404およびキャッシュ312から取得する。ビジネス論理ユニット408を介して中央データベースサーバ410から入手したログレポートなどの情報を使用して、ユーザインターフェースユニット412は請求書作成およびレポート作成のための要求された情報を提供する。
本発明の一実施形態では、中央データベースサーバ410はパブリックトラッカ406に接続されてよい。本発明の他の実施形態では、パブリックトラッカ406はプライベートトラッカ404に接続されてよい。
図5は、本発明の様々な態様による、キャッシュ配布ネットワーク500の例示的な地理的実装を示すブロック図である。キャッシュ配布ネットワーク500は、以下でサービスポイントオブプレゼンス(POP)502と呼ばれるサービスポイントオブプレゼンス502aおよび502bなどの、1つまたは複数のサービスポイントオブプレゼンスを含む。キャッシュ配布ネットワーク500は、以下でデータポイントオブプレゼンス(POP)504と呼ばれるデータポイントオブプレゼンス504a、504b、504c、および504dなどの1つまたは複数のデータポイントオブプレゼンスをさらに含む。サービスPOP502は、たとえばロンドン、サンノゼなどの離れた地理的位置に位置されている。サービスPOP502の位置の数はスケーラブルであり、ネットワークトラフィックの増加に伴って増加しうることが当業者によって理解されるべきである。サービスPOP502aおよび502bなどのサービスPOP502は相互に接続されている。サービスPOP502の間の接続により、サービスPOP502の全ての間でリアルタイムのデータおよび情報転送が可能になる。
さらに、データPOP504も、例えばニューヨーク、フランクフルトなどの世界中の離れた地理的位置に位置されている。データPOP504の位置の数はスケーラブルであり、P2Pネットワーク100内のネットワークトラフィックおよび利用可能なデジタルデータの増加に伴って増加しうることが当業者によって理解されるべきである。データPOP504aおよび504bなどのデータPOP504は、P2Pネットワーク100内の全ての利用可能なサービスPOP502に接続されている。デジタルデータPOP504とサービスPOP502との間の接続により、デジタルデータPOP504とサービスPOP502との間でリアルタイムのデータアップデートおよび情報転送ができるようになる。
本発明の一実施形態では、地理的位置はサービスPOP502aとデータPOP504aの両方を含んでよい。
図6は、本発明の一実施形態による、サービスPOP502aの構成要素の構成600を示すブロック図である。サービスPOP502aのための構成600は、キャッシュ位置サーバ302、中央ドメインネームサーバ308、コンテンツまたはコンテンツサーバ403、プライベートトラッカ404、および中央データベースサーバ410を含む。さらに、本発明の一実施形態では、サービスPOP502aのための構成600はキャッシュ312aおよび312bなどのキャッシュ312を含んでよい。さらに、本発明の一実施形態では、POP502aのための構成600はパブリックトラッカ406、ビジネス論理ユニット408、およびユーザインターフェースユニット412を含む。
本発明の様々な実施形態では、中央データベースサーバ410はそれぞれのサービスPOP502内に位置される。それぞれのサービスPOP502の中央データベースサーバ410は相互に接続されており、中央データベースユニットとして働く。
サービスPOP502aのための構成600内に図示された構成要素はスケーラブルであり、P2Pネットワーク100内の利用可能なネットワークトラフィックおよびデジタルデータに基づいて増加しうることが当業者によって理解されるべきである。
図7は、本発明の一態様による、データPOP504aの構成要素の構成700を示すブロック図である。データPOP504aのための構成700は、キャッシュ312a、312b、312c、および312dなどのキャッシュ312、ならびにキャッシュDNS310を含む。簡単にするために、単一のキャッシュDNS310だけが図7に示されている。しかし、データPOP504aは単一のキャッシュDNS310のうちの複数を含んでよい。データPOP504はP2Pネットワーク100内のピア102にデジタルデータを提供する。データPOP504はサービスPOP502からデータをダウンロードする。
データPOP504aのための構成700内に図示された構成はスケーラブルであり、P2Pネットワーク100内の利用可能なネットワークトラフィックおよびデジタルデータに基づいて増加しうることが当業者には理解されるべきである。
図4に関連して上述したように、ピア102aはキャッシュ312aから、およびP2Pネットワーク100内の利用可能な他のピア102からダウンロードする。デジタルデータの提供における品質およびコストがそうであるように、デジタルデータのピースを表すデジタルデータの配信速度は複数のソースと異なる。たとえば、ピア102からのデジタルデータは(必ずしも)高品質ではなく、デジタルデータの配信速度は、必ずしもそうとは限らないが、遅いことがある。一方、キャッシュ312からのデジタルデータの配信速度は、特にキャッシュ312からピア102aへの接続が高い帯域幅を有する場合は相当速い。デジタルデータの品質も高く、たとえばデジタルデータは多くのエラーを含まない。しかし、キャッシュ312からのデジタルデータの配信コストは、ピア102からのデジタルデータの配信コストよりも高い。
キャッシュ312にはさらなる問題がある。ピア102aからキャッシュ312への接続のコストは、通常キャッシュ312によって提供される最大スループットに関連する。その結果、たとえば日中はキャッシュ312が非常に多忙かもしれないが、夜間はキャッシュ312がそれほど多忙ではないことがある。キャッシュ312(およびピア102aからキャッシュ312への接続)は、支払われている夜間にキャッシュ312にとって利用可能な容量を有することになる。したがって、夜間のキャッシュ312からのデジタルデータの配信における増分コストは、日中のサーバ312からのデジタルデータの配信における増分コストよりもはるかに少ない。
したがって、ピア102aへのデジタルデータの配信速度は、他のピア102およびキャッシュ312からのデジタルデータの配信速度の組合せである。デジタルデータを配信するためのコストは、複数のソース(すなわちピア102および/またはキャッシュ312)のうちのどれがデジタルデータを供給するかによって異なる。主に他のピア102からピア102aが接続されているところへデジタルデータが供給されると、デジタルデータの配信コストは小さくなる。特に、他のピア102が同じISPによってサービスされている場合、コストは非常に小さくなる。
許容できないサービス品質は、ピア102aがデジタルデータを十分な速度で受信しない、または受信したデジタルデータに含まれるエラーが多すぎるときである。許容できないサービス品質の一例は、ピア102aのユーザ202がビデオを観たいときに発生することがある。ビデオはビデオデータ形式のデジタルデータとして格納されている。一定の量のデジタルデータが、固定の時間間隔内にピア102に到着して、ピア102aがビデオを観られるようにビデオバッファ内に格納されなければならない。5つのデジタルデータのピースを表すデジタルデータがピア102aで十分な配信速度で受信されない場合、ユーザ202はビデオ伝送における中断を経験することになる。これは、図13に関してより詳細に説明する。
デジタルデータのピースはキャッシュ312およびピア102からダウンロードされてよい。キャッシュ312からのデジタルデータのダウンロードは帯域幅がより広いためによりコストがかかるので、デジタルデータは専用線を介して通らなければならない場合があるが、デジタルデータの配信速度はより高くなる。ピア102aは、ユーザ202がビデオを視聴できるようにするためにキャッシュ312から十二分にデジタルデータを取得でき、データ品質は高くなる。
データ配信のこの組合せを実行するために、図8に示されるようにキャッシュ312はデータ配信モニタ800aおよび800bを備える。図8は、データ配信モニタ800aおよび800bだけでなく、ピア102aにデジタルデータを供給している他のピア102bおよび102c、ならびにピア102aにデジタルデータを供給しているキャッシュ312aおよび312bのうちの2つも示している。実際はピア102aが複数の他のピア102、および場合によっては複数のキャッシュ312に接続されることになることが理解されよう。
データ配信モニタ800は所定のサービス品質(QoS)パラメータを備えている。デジタルデータのうちの異なるものは、異なる所定のサービス品質パラメータを有することになる。データ配信モニタ800は、キャッシュ312からピア102aへのデジタルデータの配信速度を監視する。監視されたリアルタイムのサービス品質パラメータは、所定のサービス品質パラメータと比較される。所定のサービス品質パラメータは、データ配信モニタ800内にあらかじめプログラムされてもよく、および/またはアプリケーションプログラミングインターフェースを使用して調整されてもよい。ピア102aへのデジタルデータの配信速度は、以下で説明する比較に基づいて調整されてよい。それぞれのキャッシュ312に取り付けられたデータ配信モニタ800が相互に独立して動作することに留意されたい。
サービス品質パラメータは、これに限定されないが、ピア102aへのデジタルデータ配信の受信速度、デジタルデータ配信のコスト、および受信したデジタルデータのエラー率を含む。たとえば、所定のサービス品質パラメータは、ピア102aでユーザ202がビデオを視聴できるように、デジタルデータが1秒あたり1Mbから1.2Mbの間の速度で受信されるという要件を含みうる。所定のサービス品質パラメータは、デジタルデータを配信するための総コストが、たとえば1ギガバイトあたり30セントを超えないよう要求することがある。
キャッシュ312はデータ配信コントローラ810aおよび810bも含むことが好ましい。データ配信コントローラ810の機能は、データ配信モニタ800からQoS情報を受信して、キャッシュ312からのデジタルデータの配信速度を調整することである。それぞれのデータ配信モニタ800は、データ配信モニタ800のうちの他のものとは独立に動作する。
本発明の一態様におけるデータ配信モニタ800は、ピア102によって送信されたBitTorrentプロトコル内のBitFieldおよびHave messagesなどのコンテンツ利用可能性メッセージを監視することによってデジタルデータの受信を監視する。同等の技法およびメッセージが他のP2Pプロトコル内に存在する。
本発明の一態様では、上述のように、ピア102は十分に利用されていない、またはより安価なキャッシュ312からのデジタルデータを優先的に調達するよう選択してもよい。図5を使用して例を挙げると、たとえばドイツにおけるピア102aのためのデジタルデータの最も近いキャッシュ312はフランクフルトに位置する。位置の観点からすれば、デジタルデータを配信するためにフランクフルトにあるキャッシュ312を使用するのが最適であろう。一方、ピア102aが朝デジタルデータにアクセスしている場合、フランクフルトにあるキャッシュ312が最大スループットで、またはほぼ最大スループットで動作している間、サンノゼにあるキャッシュ312は異なるタイムゾーンのために利用されていない可能性がある。最小限の増分コストで利用可能な帯域幅がサンノゼのキャッシュの312から入手できるかもしれない。その結果、ピア102はコストを最小にするために優先的にサンノゼのキャッシュ312からデジタルデータの受信を試みることになる。あるいは、コストがより低い位置にコンテンツサーバ402、403が存在することがあり得る。
これは、本発明の一態様を示す、第1キャッシュ912aおよび第2キャッシュ912bからエンドユーザ902へのデジタルデータを配信するためのネットワーク900の図9に関してより詳細に説明されうる。エンドユーザ902は少なくとも2つの異なるネットワークパスによって第1キャッシュ912aおよび第2キャッシュ912bにそれぞれ接続されている。第1キャッシュ912aおよび第2キャッシュ912bはそれぞれ所与のパラメータでデジタルデータの一部をエンドユーザ902に供給する。第1キャッシュ912aおよび第2キャッシュ912bの両方は実質的に同じデジタルデータのコピーを含む。本発明の一態様では、この所与のパラメータはデジタルデータの配信速度だが、所与のパラメータはデジタルデータの配信コストを示してもよく、別のパラメータでもよい。仕様905は、所与のパラメータのための値の範囲を備える。たとえば仕様905は、これに限定されないが、デジタルデータをエンドユーザ902に配信するための契約された最小限の帯域幅、およびデジタルデータのコストを含む。契約された最小限の帯域幅は、後に説明するように、一般にネットワークトラフィック900の事業者とデジタルデータのコンテンツプロバイダとの間の交渉の結果である。コンテンツプロバイダはたとえば、契約された帯域幅でネットワーク900の事業者によって配布されたデジタルデータなどの自らのコンテンツを有し、コンテンツプロバイダは契約された帯域幅でデジタルデータを配信するよう契約によってエンドユーザ902に拘束される。エンドユーザ902がたとえばビデオの形式でデジタルデータを受信するためにコンテンツプロバイダに支払って、ジャミングおよび中断なしにネットワーク900を介してスムーズなビデオのストリーミングを楽しむことを期待する場合は、契約された帯域幅は関連性があり得る。
第1キャッシュ912aおよび第2キャッシュ912bの所有者は異なっている場合があり、また第1キャッシュ912aおよび/または第2キャッシュ912bとエンドユーザ902との間のネットワークパスは異なるエンティティによって所有されてよい点に留意するべきである。第1キャッシュ912aと第2キャッシュ912bの所有者ならびにネットワークパスの供給者と、第1キャッシュ912aおよび/または第2キャッシュ912bとエンドユーザ902との間のネットワークパスを使用できるようにするためにエンドユーザ902が接続されているISPとの間には、契約上の協定がある。
第1キャッシュ912aおよび第2キャッシュ912bはそれぞれデジタルデータの目標配信速度を示す構成913aおよび913bを有する。目標配信速度は、第一キャッシュ912aまたは第2キャッシュ912bのうちのそれぞれがデジタルデータの一部をエンドユーザ902に配信できる配信速度である。通常、必ずというわけではないが、第1キャッシュ912aおよび第2キャッシュ912bは異なる構成913aおよび913bを有する。
ネットワークはトラッカ915をさらに含む。トラッカ915は、第1キャッシュ912aおよび第2キャッシュ912bならびにデジタルデータの一部を供給できるネットワーク900内の他のキャッシュおよびピアのリスト916をエンドユーザ902に提供する。たとえば、このリストは第1キャッシュ912aおよび第2キャッシュ912bを指すURLなどのレファレンスを提供できる。
エンドユーザ902は、一般にリスト916で与えられたデータのソースの全てに接続する。したがってこの例では、エンドユーザ902は第1キャッシュ912aと第2キャッシュ912の両方、ならびにデジタルデータの関連部分を供給できるいずれのピア102にも接続することになる。
ネットワーク900は第1キャッシュ906aに第1監視装置906a、および第2キャッシュ906bに第2監視装置906bも含む。上述のように、第1監視装置906aは第1キャッシュ912aからエンドユーザ902へのデジタルオブジェクトの一部の配信を監視する。同様に、第1キャッシュ912aは第1キャッシュ912aの構成を調整するための第1調整装置907aを含む。第2監視装置906bおよび第2調整装置907bは第2キャッシュ912bのために同様の機能を実行する。第1調整装置907aおよび第2調整装置907bは、第1監視装置906aおよび第2監視装置906bによって監視された配信に基づいて、エンドユーザ902によって受信されたデジタルデータの受信の速度が仕様905に合うかどうかを調整する。第1調整装置907aおよび第2調整装置907bによる調整は、結合された構成、すなわち第1キャッシュ912aおよび第2キャッシュ912bならびにいずれかのピアからのデジタルデータの結合された配信速度が仕様905に確実に合う方法で行われる。たとえば、第1キャッシュ912aおよび第2キャッシュ912bのうちの選択されたキャッシュのうちの1つの構成が0.5MB/秒で、もう1つの構成が0.4MB/秒の場合、結合された構成は合計0.9MB/秒になる。したがって、0.4MB/秒の構成を0.1MB/秒だけ0.5MB/秒に増加させることによって、1.0MB/秒の結合された構成を増加することができる。
本発明の一態様によれば、エンドユーザ902が第1キャッシュ912aおよび第2キャッシュ912bのうちの選択されたキャッシュのうちのどちらからデジタルデータのどの部分を受信したかについての「have messages」を、第1キャッシュ912aおよび第2キャッシュ912bのうちの選択されたキャッシュがエンドユーザ902から受信する。「have messages」の結果は、エンドユーザ902でのデジタルオブジェクトの受信速度を示す。
実質的に、第1キャッシュ912aおよび第2キャッシュ912bは相互に独立に動作して、相互に独立に自分の構成913を増減する。
したがって、第1キャッシュ912aまたは第2キャッシュ912bのうちの高価なキャッシュは、他のソースからエンドユーザ902に十分なデジタルデータが供給されていることを高価なキャッシュが検出する場合、デジタルデータの配信を減らすことができる。
したがって、ネットワーク900内のキャッシュ912は、ダウンロード中実質的に常に、少なくとも契約された帯域幅および最小限のコストで、確実にデジタルデータがエンドユーザ902に配信されるように、エンドユーザ902へのデジタルデータの自分の配信を動的に調整する。
図13は、デジタルデータをエンドユーザ902に配信するためのネットワーク900内のシナリオを示している。
図13に示したように、第1キャッシュ912aおよび第2キャッシュ912bは、それぞれダウンロードの間の様々なポイントで何バイトのデジタルデータが受信されるべきであったかを示す目標プロファイルを有する。Y軸は配信されたバイト数を示し、X軸は時間を示している。明らかに時間ゼロでは第1キャッシュ912aも第2キャッシュ912bも全く何も配信できていないが、第1キャッシュ912aおよび第2キャッシュ912bの両方は到達する目標を有している。キャッシュ912aの配信コストはキャッシュ912bの配信コストよりも低いので、キャッシュ912aの線は実質的にキャッシュ912bの線より高い。エンドユーザ902でのデジタルオブジェクトの目標受信速度はより低い実線で示されている。
グラフ上の曲がりくねった曲線は、エンドユーザ902によるデジタルデータの実際の受信を示している。グラフの最初の部分では、第1キャッシュ912aと第2キャッシュ912bの両方がデジタルオブジェクトの一部に寄与している。曲線が第1キャッシュ912aの配信速度を通過すると、エンドユーザ902はより安価なキャッシュ912bから十分に供給されているので、第1キャッシュ912aはこれ以上の部分をエンドユーザ902に配信する必要がない。したがって、第1キャッシュ912aはもはやデジタルデータの部分をエンドユーザ902に供給せず、デジタルデータの一部はより安価な第2キャッシュ912bおよびいずれかのピア102からのみ供給される。同様に、曲線が第2キャッシュ912bの線の上に行くと、ネットワーク900内のピア102が十分な配信速度でデジタルデータの部分を供給するので、第2キャッシュ912bはもはやデジタルデータの部分を供給する必要がない。これは曲線が第2キャッシュ912b(および必要であれば第1キャッシュ912a)に再び切り替えできるポイントで必要な速度より下に落ちるまで続く。
デジタルデータがすぐに必要ではない場合、第1キャッシュ912aも第2キャッシュ912bもデジタルデータの一部を最初に供給しないことが可能である。エンドユーザ902はピア102が十分なデータを供給するかどうか見守る。
本発明の一例では、ビデオバッファが満たされている間、最初はデジタルデータの目標受信速度が高い。ビデオバッファが満たされると目標速度が下がる。
第1キャッシュ912aまたは第2キャッシュ912bのプロファイルは直線である必要はなく、交点(線がY軸と交わる点)が正数でなくてもよい。曲線の範囲は、できればピアソースだけを使用してダウンロードが完了することが望ましい長いダウンロードに使用されてよい。このようなカーブは、予想される配信時間の半分までX軸上にあってよい。
次に、本発明の方法を図10に示した流れ図を用いて説明する。
ステップ1011で、第1キャッシュ912aおよび第2キャッシュ912bならびにデジタルデータを供給できるピア102のうちのいくつかのリストがトラッカ915から受信される。
ステップ1012で、エンドユーザ902はピア102、第1キャッシュ912aおよび第2キャッシュ912bに接続して、デジタルデータの一部を受信する。
ステップ1013で、第1キャッシュ912aまたは第2キャッシュ912bあるいはステップ1012で接続されたピアのうちの接続されたものからのデジタルデータの一部のうちの少なくとも1つがエンドユーザ902に配信される。
ステップ1014で、エンドユーザ902はデジタルデータのどの部分を受信したかを示しているメッセージが、エンドユーザ902から第1キャッシュ912aおよび第2キャッシュ912bのうちの接続されたキャッシュへ送信される。これはステップ1015で仕様905と比較され、必要であればステップ1016で第1キャッシュ912aおよび第2キャッシュ912bのうちの選択されたキャッシュの構成913aまたは913bが調整される。この調整は、結合された構成が仕様905に合うような方法で行われる。上述のように、結合された構成は第1キャッシュ912aおよび第2キャッシュ912bのうちの選択されたキャッシュのそれぞれの構成913aおよび913bから得られる。
本発明はネットワーク900およびデジタルデータを配信するための帯域幅を割り振るための方法で使用されうる。コンテンツプロバイダからデジタルデータを配信するためのある価格決定モデルでは、コンテンツプロバイダがコンテンツ配布ネットワークの事業者と契約してデジタルデータを特定の価格で配布する。したがって、デジタルデータをより安い価格で配布することはCDN事業者の利益にかなう。その結果、CDN事業者はデジタルデータが提供される最も安いサーバ(たとえば、第1キャッシュ912aまたは第2キャッシュ912b)、またはサーバファームを見つけることに関心がある。エンドユーザ902で配信速度への要件が満たされている限り、一部がコンテンツ配布サーバ(たとえば、第1キャッシュ912aまたは第2キャッシュ912b)によって提供されるか、または一部がネットワーク900内のピア(図示せず)によって提供されるかは重要ではない。したがって、CDN事業者は契約された配信速度を満たすためにより迅速なサーバに切り替えできる。
コンテンツ(たとえば、第1キャッシュ912aまたは第2キャッシュ912b)サーバの事業者は、自分のキャッシュの使用を最適化することに関心がある。上記で説明したように、いくつかのISPは大量の受信データを有するが発信データはほとんどないのに、デジタルデータの対称的なダウンロードおよびアップロードのためのインフラストラクチャを有している。その結果、ISPネットワーク上のアップローディングチャネルは十分に活用されていない。利用を増やすために、ISPは十分に活用されていないアップローディングチャネル上の帯域幅をCDN事業者に提供できる。提供された帯域幅の価格は、ISP自身の加入者によってインターネット内にアップロードされている現在のデータ量によって異なる。ISPの利用者がより活動的である日中は、アップローディングチャネルはISPの利用者によってより多く使用されている。ISPは、ISPの利用者ではないエンドユーザに供給するためにデジタルデータをアップロードするための多くの容量を有していない。したがって、ISPが動作しているタイムゾーンにおける睡眠時間の間よりも帯域幅の価格が高くなりうる。たとえば、夜間はアップロードされているトラフィックがほとんどないので、CDN事業者がデジタルデータの配布のためにISPを使用するのを奨励するために、帯域幅の価格は下落されうる。ISPは十分に活用されていない場所にインフラストラクチャを有しており、増分コストは請求書送付構造だけになる。
コンテンツプロバイダは、自分のコンテンツがどのキャッシュ(たとえば、第1キャッシュ912aまたは第2キャッシュ912b)から配布されているかを知る必要がない。それはビジネスモデルにとって重要ではない。できる限り最善の価格を取得するために、CDN事業者だけがISPおよびサーバファームの所有者とビジネス協定を交渉する必要がある。
理想的な協定では、複数のISPが、ISPの加入者によるアップローディングチャネルの現在の利用によって異なる価格で、キャッシュからエンドユーザおよびCDN事業者に帯域幅を提供できる。したがって、CDN事業者は、複数のISPによって提供される最も経済的および/または最も迅速な配信帯域幅を選択することを選べる。これにより、ISPが特定の価格について保障された最低配信速度でキャッシュから帯域幅容量を提供するスポット市場の発展が可能になる。CDN事業者は、この提供を受容するかまたは少なくとも提供のオプションを購入するか、あるいは提供を断るかを選べる。提供が受容されると、その提供は非常に短い時間枠内にCDN事業者に割り振られる。
図11は本発明のこの態様の一例を示している。ネットワーク1100は、第1キャッシュ1112a(図9の912a、および図4の402と等しい)および第2キャッシュ1112b(図9の912b、および図4の403と等しい)から、それぞれ第1提案1111aおよび第2提案1111bを受信する受信装置1106を含む。第1キャッシュ1112aおよび第2キャッシュ1112bは、第1提案1111aおよび第2提案1111bを提案選択装置1104に送信することによって、デジタルデータを配信するためのパラメータでCDN事業者に帯域幅を提供する。提案選択装置1104は、デジタルデータを配信するための仕様1105に対応する、第1キャッシュ1112aまたは第2キャッシュ1112bからの提案1111a、1111bのうちから1つ選択する。仕様1105はデジタルデータを配信するための契約された最小帯域幅および/または、デジタルデータをエンドユーザ1102に配信するためにコンテンツプロバイダとCDN事業者との間で交渉されたようにデジタルデータを配信するための契約された価格を備えると考えられる。しかし、仕様は他のファクタを含むことができる。
提案選択装置1104は、仕様1105に対応する第1提案1111aおよび第2提案1111bの中から、パラメータにとって好ましい値、たとえば帯域幅のコストまたはデジタルデータの供給について最も安い価格を有する提案(あるいはそれらの複数の提案)を選択することになる。
提案選択装置1104が選択を行った後、デジタルデータの配信に利用できる、第1キャッシュ1112aおよび第2キャッシュ1112bのうちの利用できるキャッシュの情報がトラッカ915に供給されて、トラッカ915は上述のようにエンドユーザ902にリストを供給できるようになる。
本発明の一態様では、異なる提案の間の違いは、ネットワークパスのための異なるコストモデルならびに/または第1キャッシュ1112aおよび第2キャッシュ1112bの動作に基づく。本発明によって考えられるこのようなコストモデルの1つの可能性は、上述のように第1キャッシュ1112aまたは第2キャッシュ1112bにおけるネットワークパス上のアップローディング容量の利用可能性である。
本発明の一態様は、帯域幅取引のためのスポット市場を含む。本発明のこの態様では、提案選択装置1104は、デジタルデータの複数の供給者(第1キャッシュ1112aでも第2キャッシュ1112bでもよく、他の記憶装置でもよい)からたとえば第1提案1111aおよび第2提案1111bなどの複数の提案を受信する。提案選択装置1104は継続的に、または少なくとも定期的に提案を監視して、利用可能な最も良い提案を選択する。次いでトラッカ1103は、複数の供給者のうちの、デジタルデータを配信するために利用可能な最も良い条件(たとえば価格)を提供している供給者をエンドユーザ902に供給する。この選択は、実質的にリアルタイムまたはより長い時間枠の間に起こりうる。
提案1111aまたは1111bがキャッシュ1112aおよび1112bから受信される必要はない点に留意されたい。提案1111aまたは1111bは、キャッシュ1112aまたは1112bがインストールされたネットワークと同じネットワーク内の他の装置から受信されてよい。
本発明のこの態様を、図12に示した流れ図を用いてさらに説明する。ステップ1211で、ネットワーク900内で接続されてネットワークパスに沿ってエンドユーザから第1キャッシュ1112aならびに/または第2キャッシュ1112bに、デジタルデータを配信するために所与のパラメータで帯域幅を提供しているデジタルデータの複数の供給者から提案1111aおよび1111bが受信される。本発明のこの態様では、所与のパラメータは帯域幅の価格を備える。次いでステップ1212で、デジタルデータを配信するための仕様に対応する、受信された提案1111aまたは1111bのうちの少なくとも1つが選択される。仕様は通常、デジタルデータを配信するために契約された最小帯域幅および/またはデジタルデータを配信するために契約された価格を備える。
最後にステップ1213でトラッカ915は、デジタルデータをエンドユーザ902に供給できる第1キャッシュ1112aおよび/または第2キャッシュ1112bのリスト916を供給される。
さらなるステップ1214で、さらなる提案が要求され、これらが用意されている場合は選択過程が継続される。理想のマーケットでは、複数のCDN事業者が帯域幅の複数の供給者および/またはサーバファームから帯域幅を捜すことになる。さらに、帯域幅を要求しているデータの他の配布者も市場内で活動的になる。
本発明の一態様では、パラメータはコンテンツ配信ネットワークのコントローラによって変化することができ、これを行うためにアプリケーションプログラミングインターフェースが利用可能である。
本発明を図示した例に関して説明してきた。添付の特許請求の範囲の趣旨および範囲内で、修正を加えて本発明を実施できることを当業者は理解できるであろう。本発明は、本発明の詳細な説明および/または本発明の例に限定されない点に少なくとも留意されたい。本発明は少なくとも部分的にハードウェアおよび/またはソフトウェアにおいて実現できること、ならびに複数の物理的装置または製品に転移できることが当業者には明らかである。本発明は少なくとも1つのコンピュータプログラム製品に転移できる。さらに本発明は複数の装置で実現されてよい。

Claims (30)

  1. ネットワーク(1100)を介してデータソース(1112a、1112b)からエンドユーザ(902)にデジタルデータを配信するためのデータソース(1112a、1112b)を選択するための方法であって、
    パラメータに従ってネットワークを介してデジタルデータをエンドユーザ(902)に配信するための帯域幅を提供する、少なくとも2つのデータソース(1112a、1112b)からネットワーク(1100)を介してデジタルデータをエンドユーザ(902)に配信するための提案(1111a、1111b)を受信するステップ(1211)と、
    ネットワーク(1100)に含まれる提案選択装置(1104)において、データソース(1112a、1112b)からの提案(1111a、1111b)のうちから、パラメータに基づいて、提案を選択するステップ(1212)であって、提案のうちの選択された提案が、デジタルデータをエンドユーザ(02)に配信するための仕様(1105)に対応し、仕様(1105)がデジタルデータを配信するための契約された最小帯域幅を備える、選択するステップ(1212)と、
    提案のうちの選択された提案に従ってエンドユーザ(902)にデジタルデータを供給する、データソース(1112a、1112b)のリスト(916)を、提案選択装置(1104)からデジタルデータの配信を統合するネットワークデバイスへ供給するステップ(1213)とを備える、方法。
  2. 少なくとも2つのデータソース(1112a、1112b)のうちの選択されたデータソースの前記構成が仕様(1105)に対応しない場合、少なくとも2つのデータソース(1112a、1112b)のうちの選択されたデータソースさらなるデータソース(1112a、1112b)の結合された構成がデジタルデータをエンドユーザ(902)に配信するための仕様(1105)に対応するように、少なくとも2つのデータソース(1112a、1112b)からさらなるデータソース(1112a、1112b)を選択するステップ(1212)をさらに備える、請求項1に記載の方法。
  3. さらなるデータソース(1112a、1112b)の選択がさらなる提案に基づく、請求項2に記載の方法。
  4. 少なくとも2つのデータソース(1112a、1112b)のうちの選択されたデータソースの構成の結合された構成が仕様(1105)に合うように、少なくとも2つのデータソース(1112a、1112b)のうちの1つの前記構成を調整するステップ(1214)をさらに備える、請求項1から3のいずれか一項に記載の方法。
  5. パラメータが帯域幅の価格を備える、請求項1から4のいずれかに記載の方法。
  6. データソースからの提案は、エンドユーザ(902)からデータソース(1112a、1112b)へネットワークを介して帯域幅を提供することを備える、請求項1から5のいずれかに記載の方法。
  7. 仕様(1105)がデジタルデータを配信するための契約された価格をさらに備える、請求項1から6のいずれかに記載の方法。
  8. 提供された帯域幅が契約された最小帯域幅を超える、またはそれと等しい場合、提案のうちの選択された提案に対応する少なくとも2つのデータソース(1112a、1112b)のうちの選択されたデータソースの前記構成が仕様(1105)に合う、請求項1から7のいずれかに記載の方法。
  9. 提案のうちの選択された提案がパラメータにとって最も低い値を有する、請求項1から8のいずれかに記載の方法。
  10. 提案の間の相違が少なくとも部分的に、接続のうちの異なる接続についての異なるコストモデルに基づく、請求項1から9のいずれかに記載の方法。
  11. コストモデルが、少なくとも2つのデータソース(1112a、1112b)での接続上のアップローディング容量の利用可能性を備える、請求項1から10のいずれかに記載の方法。
  12. ネットワーク(1100)がコンテンツ配信ネットワークである、請求項1から11のいずれかに記載の方法。
  13. コンテンツ配信ネットワークの事業者が少なくとも2つのデータソース(1112a、1112b)に提案を要求する、請求項12に記載の方法。
  14. データソース(1112a、1112b)の所有者が提案を競売にかけることができる、請求項1から13のいずれかに記載の方法。
  15. データソース(1112a、1112b)の所有者がスポット市場上で提案をすることができる、請求項1から14のいずれかに記載の方法。
  16. データソース(1112a、1112b)からネットワーク(1100)に接続されたエンドユーザ(902)へネットワーク(1100)を介してデジタルデータを配信するためのデータソース(1112a、1112b)の選択のための装置であって、
    パラメータに従って接続上でデジタルデータを配信するための帯域幅を提供するデータソース(1112a、1112b)からエンドユーザ(902)への接続上で提案を受信するための、ネットワーク(1100)に含まれる受信装置(1106)と、
    パラメータに基づいて、データソース(1112a、1112b)から提案(1111a、1111b)のうちの少なくとも1つを選択する、ネットワーク(1100)に含まれる選択装置(1104)であって、提案(1111a、1111b)のうちの選択された提案が、エンドユーザ(902)へデジタルデータを配信するための仕様(1105)に対応し、仕様(1105)がデジタルデータを配信するための契約された最小帯域幅を備える、選択装置(1104)と、
    エンドユーザ(02)へ選択装置(1104)からの提案のうちの選択された提案に対応するデータソース(1112a、1112b)のうちの選択されたデータソースのリスト(915)を供給するためのトラッカ(915)とを備える、
    置。
  17. データソース(1112a、1112b)のうちの選択されたデータソースの前記構成が仕様(1105)に対応しない場合、さらなるデータソース(1112a、1112b)とデータソース(1112a、1112b)のうちの選択されたデータソースの結合された構成が、デジタルデータをエンドユーザ(02)に配信するための仕様(1105)に対応するように、選択装置(1104)がデータソース(1112a、1112b)からさらなるデータソース(1112a、1112b)をさらに選択する、請求項16に記載の装置。
  18. 選択装置(1104)がさらなるデータソース(1112a、1112b)の選択の基礎をさらなる提案に置く、請求項16または17に記載の装置。
  19. データソース(1112a、1112b)のうちの選択されたデータソースの結合された構成が仕様(1105)に合うように、データソース(1112a、1112b)のうちの選択されたデータソースの前記構成を調整するための調整装置(1107)をさらに備える、請求項16から18のいずれか一項に記載の装置。
  20. パラメータが帯域幅の価格を備える、請求項16から19のいずれか一項に記載の装置。
  21. データソースからの提案は、エンドユーザ(902)からデータソース(1112a、1112b)へネットワークを介して帯域幅を提供することを備える、請求項16から20のいずれか一項に記載の装置。
  22. 仕様(1105)がデジタルデータを配信するための契約された価格をさらに備える、請求項16から21のいずれか一項に記載の装置。
  23. 提供された帯域幅が契約された最小帯域幅を超える、またはそれと等しい場合、提案のうちの選択された提案に対応する少なくとも2つのデータソース(1112a、1112b)のうちの選択されたデータソースの前記構成が仕様(1105)に合う、請求項16から22のいずれか一項に記載の装置。
  24. 提案選択装置(1104)が、仕様に対応する、およびパラメータにとって最も低い値を有する提案の中から選択する、請求項16から23のいずれか一項に記載の装置。
  25. 提案の間の相違が接続のための異なるコストモデルに基づく、請求項16から24のいずれかに記載の装置。
  26. コストモデルが、少なくとも2つのデータソース(1112a、1112b)での接続上のアップローディング容量の利用可能性を備える、請求項16から25のいずれかに記載の装置。
  27. ネットワーク(1100)がコンテンツ配信ネットワークである、請求項16から26のいずれか一項に記載の装置。
  28. コンテンツ配信ネットワークの事業者が少なくとも2つのデータソース(1112a、1112b)に提案を要求できる、請求項27に記載の装置。
  29. 少なくとも2つのデータソース(1112a、1112b)の所有者が自分の提案を競売にかけることができる、請求項16から27のいずれか一項に記載の装置。
  30. 少なくとも2つのデータソース(1112a、1112b)の所有者が提案を提供する、請求項16から29のいずれかに記載の装置を備えるスポット市場取引装置。
JP2013171978A 2007-12-03 2013-08-22 デジタルデータを配信するための方法および装置 Expired - Fee Related JP6111452B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/949,297 US7908362B2 (en) 2007-12-03 2007-12-03 Method and apparatus for the delivery of digital data
US11/949,297 2007-12-03
GB0723664.9 2007-12-03
GB0723664A GB2455301A (en) 2007-12-03 2007-12-03 Dynamic adjustment of the delivery of digital data from multiple data sources

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010536434A Division JP2011508916A (ja) 2007-12-03 2008-12-03 デジタルデータを配信するための方法および装置

Publications (2)

Publication Number Publication Date
JP2014029694A JP2014029694A (ja) 2014-02-13
JP6111452B2 true JP6111452B2 (ja) 2017-04-12

Family

ID=40718256

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010536434A Withdrawn JP2011508916A (ja) 2007-12-03 2008-12-03 デジタルデータを配信するための方法および装置
JP2013171978A Expired - Fee Related JP6111452B2 (ja) 2007-12-03 2013-08-22 デジタルデータを配信するための方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010536434A Withdrawn JP2011508916A (ja) 2007-12-03 2008-12-03 デジタルデータを配信するための方法および装置

Country Status (5)

Country Link
EP (1) EP2235907B1 (ja)
JP (2) JP2011508916A (ja)
KR (1) KR101520519B1 (ja)
CN (1) CN101933308A (ja)
WO (1) WO2009071566A2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7908362B2 (en) 2007-12-03 2011-03-15 Velocix Ltd. Method and apparatus for the delivery of digital data
US8433814B2 (en) * 2009-07-16 2013-04-30 Netflix, Inc. Digital content distribution system and method
TWI489889B (zh) * 2012-12-28 2015-06-21 Ind Tech Res Inst 內容遞送網路及同儕網路之流量控制方法及系統
EP3017377B1 (en) * 2013-07-03 2018-11-21 Ericsson AB System and method for delivering content in a content delivery network
CN107396136A (zh) * 2017-08-22 2017-11-24 深圳创维-Rgb电子有限公司 一种视频数据获取方法、装置、服务器及介质
JP7183762B2 (ja) 2018-12-19 2022-12-06 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びプログラム
CN114915559B (zh) * 2021-02-08 2024-01-23 北京金山云网络技术有限公司 Cdn节点带宽规划方法、装置及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3401478B2 (ja) * 2000-06-20 2003-04-28 日本電信電話株式会社 拠点選択装置、拠点選択システムおよび記録媒体
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
KR100485974B1 (ko) * 2002-10-10 2005-05-03 엔에이치엔(주) 컨텐츠 제공 방법 및 시스템
JP2004246790A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信方法、トポロジ制御装置、クライアント装置、並びにそのプログラム及び記録媒体
US7555559B2 (en) * 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
JP4146373B2 (ja) * 2004-03-08 2008-09-10 日本電信電話株式会社 動的なネットワークにおけるサービス選択方法およびサービス選択システム
US7593333B2 (en) * 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network

Also Published As

Publication number Publication date
KR20100113504A (ko) 2010-10-21
EP2235907B1 (en) 2019-08-28
WO2009071566A3 (en) 2010-02-25
KR101520519B1 (ko) 2015-05-14
CN101933308A (zh) 2010-12-29
JP2014029694A (ja) 2014-02-13
JP2011508916A (ja) 2011-03-17
EP2235907A2 (en) 2010-10-06
WO2009071566A2 (en) 2009-06-11

Similar Documents

Publication Publication Date Title
US7908362B2 (en) Method and apparatus for the delivery of digital data
JP6111452B2 (ja) デジタルデータを配信するための方法および装置
US7995473B2 (en) Content delivery system for digital object
US10893118B2 (en) Content delivery network with deep caching infrastructure
US9161080B2 (en) Content delivery network with deep caching infrastructure
CN101641685B (zh) 用对等模型和客户端服务器模型传送文件到客户端的方法
US8321494B2 (en) Method and apparatus for reporting and invoicing of data downloads
Sweha et al. Angelcast: cloud-based peer-assisted live streaming using optimized multi-tree construction
US20230119540A1 (en) Content delivery system special network device and special local area network connection, content discovery, data transfer, and control methods
EP2252057B1 (en) Method and system for storing and distributing electronic content
WO2008017502A1 (en) Content distribution network
US9154552B2 (en) Method and apparatus for cooperative file distribution with receiver determined quality of services
GB2455301A (en) Dynamic adjustment of the delivery of digital data from multiple data sources
WO2008017504A1 (en) Content delivery system for digital object

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150724

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150914

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20151009

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161026

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170118

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170216

R150 Certificate of patent or registration of utility model

Ref document number: 6111452

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees