(57)【要約】  エッジネットワークにおけるデータ配信方法、データ配信システム、および関連装置が提供される。本方法は、クライアントからデータダウンロードリクエストを取得し、或るプロトコルに基づくデータのコンテンツＩＤであってダウンロードリクエストで搬送されるコンテンツＩＤを取得し；前記コンテンツＩＤに対応するエッジネットワークコンテンツＩＤを検索してエッジネットワークにおけるデータコンテンツを一意的に識別し、前記エッジネットワークコンテンツＩＤをインデックスとして使用することにより対応クライアント情報を取得し、前記クライアント情報を搬送するデータソース情報を前記クライアントに戻すステップを含む。従って、前記データは、エッジネットワーク全体を通じて共有可能であり、バックボーンネットワークに与える影響は有効に軽減される。
2010525420.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからデータダウンロードリクエストを取得し、特定のプロトコルに基づくデータのコンテンツＩＤであって前記ダウンロードリクエストで搬送されるコンテンツＩＤを取得するステップと、
前記コンテンツＩＤに対応すると共にエッジネットワークにおけるデータコンテンツを一意的に識別するエッジネットワークコンテンツＩＤを検索し、前記エッジネットワークコンテンツＩＤをインデックスとして使用することにより対応クライアント情報を取得し、前記クライアント情報を搬送するデータソース情報を前記クライアントに戻すステップとを含むデータ配信方法。
【請求項２】
前記エッジネットワークコンテンツＩＤが見つからなければ、前記クライアントによってリクエストされたデータをローカル記憶装置にダウンロードすると共に前記データのエッジネットワークコンテンツＩＤを計算して格納する旨をダウンロードプロキシサーバーに通知するステップと；ダウンロードサーバーによって戻されたエッジネットワークコンテンツＩＤを受信し、ローカル記憶装置情報を搬送する前記データソース情報と前記エッジネットワークコンテンツＩＤを前記クライアントに送信するステップを更に含む請求項１記載の方法。
【請求項３】
前記ダウンロードサーバーが前記ローカル記憶装置への前記データのダウンロードを完了する前に、前記コンテンツＩＤに対応するエッジネットワークコンテンツＩＤが見つからない場合、更に、
プリセットルールに従ってファイルデータの一部をダウンロードして、前記エッジネットワークの一時的コンテンツＩＤを計算するステップと、
前記エッジネットワークの格納された一時的コンテンツＩＤを検索し；前記エッジネットワークの一致した一時的コンテンツＩＤが見つからなければ、現在使用されているダウンロードプロトコルに固有のエッジネットワークの前記一致した一時的コンテンツＩＤに対応するデータのチェックデータを計算し；前記チェックデータが現在ダウンロードされているデータのチェックデータと同一であると判定すれば、前記クライアントに前記データのエッジネットワークＩＤを送信し；前記チェックデータが現在ダウンロードされているデータのチェックデータと異なると判定すれば、前記エッジネットワークの前記計算された一時的コンテンツＩＤを前記クライアントに送信するステップとを含む請求項１記載の方法。
【請求項４】
前記エッジネットワークの一時的コンテンツＩＤを計算するための方法は、プリセット長のファイルヘッダーデータ、プリセット長のファイルテイラーデータ、およびファイル長についてハッシュ演算を実施するステップを含む請求項３記載の方法。
【請求項５】
クライアントから、プロトコルに基づいて前記クライアントによってダウンロードされるべきデータのコンテンツＩＤを搬送するデータダウンロードリクエストを取得し；前記プロトコルに基づく前記コンテンツＩＤに対応するエッジネットワークコンテンツＩＤを検索し、前記エッジネットワークコンテンツＩＤをインデックスとして使用することにより対応クライアント情報を取得し、前記クライアント情報を搬送するデータソース情報を前記クライアントに戻し；ダウンロードプロキシサーバーによって戻された前記エッジネットワークコンテンツＩＤとプロキシサーバー情報を搬送する前記データソース情報とを前記クライアントに送信し；前記エッジネットワークコンテンツＩＤと前記コンテンツＩＤとの間のマッピングを保存するように構成されたリクエストルートサーバーと、
前記リクエストルートサーバーからの通知に従って前記データをダウンロードし、前記エッジネットワークコンテンツＩＤを戻すように構成されたダウンロードプロキシサーバーとを備えたデータ配信システム。
【請求項６】
前記リクエストルートサーバーが前記コンテンツＩＤに対応する前記エッジネットワークコンテンツＩＤを格納していなければ、前記ダウンロードプロキシサーバーは、前記データをダウンロードする旨を通知される請求項５記載のシステム。
【請求項７】
前記ダウンロードプロキシサーバーは、更に、現在ダウンロードされている前記データが既に格納されているかどうかを判定し；前記ダウンロードされている前記データが既に格納されていれば、前記データのダウンロードを停止し、前記データのエッジネットワークコンテンツＩＤを前記リクエストルートサーバーに送信するように構成された請求項５記載のシステム。
【請求項８】
前記ダウンロードプロキシサーバーによる判定は、
プリセットルールに従ってファイルデータの一部をダウンロードし、エッジネットワークの一時的コンテンツＩＤを計算し、前記ダウンロードプロキシサーバーによって既に格納されたエッジネットワークの一時的コンテンツＩＤを検索し；前記エッジネットワークの一致した一時的コンテンツＩＤについて、現在のダウンロードプロトコルに固有なエッジネットワークの前記一致した一時的コンテンツＩＤに対応するデータのチェックデータを計算し；前記チェックデータが現在ダウンロードされているデータのチェックデータと同一であれば、前記プロキシサーバーが現在ダウンロードされているデータを既に格納していると判定することを含む請求項７記載のシステム。
【請求項９】
前記ダウンロードプロキシサーバーによる前記エッジネットワークの一時的コンテンツＩＤの取得は、
プリセット長のファイルヘッダーデータ、プリセット長のファイルテイラーデータ、およびファイル長についてのハッシュ演算を実施することを含む請求項８記載のシステム。
【請求項１０】
前記ダウンロードプロキシサーバーは、現在ダウンロードされている前記データがローカル的に格納されていなければ、前記リクエストルートサーバーの命令に従って前記データをダウンロードし、前記エッジネットワークコンテンツＩＤを生成して格納し、前記エッジネットワークコンテンツＩＤを前記リクエストルートサーバーに送信するように構成された請求項８記載のシステム。
【請求項１１】
前記ダウンロードプロキシサーバーは、更に、前記リクエストルートサーバーに前記エッジネットワークの一時的コンテンツＩＤを送信するように構成され、
前記リクエストルートサーバーは、前記エッジネットワークの一時的コンテンツＩＤと前記コンテンツＩＤとの間のマッピングを保存し、前記マッピングを前記クライアントに送信し、前記データのダウンロードの完了の後に、前記ダウンロードプロキシサーバーによって生成されたエッジネットワークコンテンツＩＤに従って前記エッジネットワークの一時的コンテンツＩＤと前記コンテンツＩＤとの間の前記マッピングを更新するように構成された請求項１０記載のシステム。
【請求項１２】
クライアントを更に備え、
前記クライアントは、ダウンロードプロトコルに基づくデータダウンロード命令を取得し、前記プロトコルに基づいて前記クライアントによってダウンロードされるべきデータのコンテンツＩＤを搬送するダウンロードリクエストを前記リクエストルートサーバーに送信するように構成され、
前記ダウンロードプロキシサーバーは、前記エッジネットワークの一時的コンテンツＩＤまたは前記エッジネットワークコンテンツＩＤを取得し、データソースから前記エッジネットワークの一時的コンテンツＩＤまたは前記エッジネットワークコンテンツＩＤに対応するデータを取得するように構成され、
前記リクエストルートサーバーは、更に、前記クライアントと前記エッジネットワークコンテンツＩＤまたは一時的ネットワークファイルＩＤとの間のマッピングを保存するように構成された請求項１１記載のシステム。
【請求項１３】
ユーザのダウンロードプロトコル命令を解読し、プロトコルに基づいてユーザーがダウンロードすることをリクエストするデータのコンテンツＩＤを取得するように構成されたユーザーダウンロードインターフェイスと、
第１の接続管理ユニットを通じてリクエストルートサーバーとのデータ通信を実施するように構成され、前記コンテンツＩＤを搬送するデータダウンロードリクエストを前記リクエストルートサーバーに送信し、前記リクエストルートサーバーによって送信されたデータソース情報とダウンロードされるべきデータのエッジネットワークコンテンツＩＤを取得する第１のリクエストルートサーバー通信管理ユニットと、
前記エッジネットワークコンテンツＩＤに従ってデータソースから前記データをダウンロードするように構成されたダウンロード管理ユニットと、
外部装置とのデータ通信を実施するように構成された前記第１の接続管理ユニットとを備えたクライアント。
【請求項１４】
前記クライアントによって支援された前記ダウンロードプロトコルを記録するように構成されたダウンロードプロトコル管理ユニットを更に備えた請求項１３記載のクライアント。
【請求項１５】
前記ユーザーダウンロードインターフェイスは、ファイル・トランスファ・プロトコル（ＦＴＰ）またはハイパー・テキスト・トランスファ・プロトコル（ＨＴＴＰ）ダウンロード命令を取得するように構成され、前記ユーザーダウンロードインターフェイスによる前記コンテンツＩＤの取得は、
ＵＲＬ(Uniform Resource Locator)、コンテンツサイズ、更新時間についてのハッシュ演算を実施することを含む請求項１３記載のクライアント。
【請求項１６】
前記ユーザーダウンロードインターフェイスは、ＢＴ(Bit-Torrent)プロトコルのダウンロード命令を取得するように構成され、
前記取得されたコンテンツＩＤは、シードにおけるディレクトリＩＤと、ディレクトリにおける対応ファイルデータシーケンス番号を含む請求項１３記載のクライアント。
【請求項１７】
前記データソース情報は、ローカルクライアントによってダウンロードされたデータと同じデータをダウンロードするクライアントに関する情報と、ダウンロードプロキシサーバーに関する情報を含む請求項１３記載のクライアント。
【請求項１８】
プロトコルに基づくデータのコンテンツＩＤとエッジネットワークコンテンツＩＤとの間のマッピングを取得し、第１のクライアントによって送信された取得されたコンテンツＩＤに従って前記エッジネットワークコンテンツＩＤを検索し、前記エッジネットワークコンテンツＩＤが見つかれば、クライアント管理ユニットに通知するように構成されたプロトコルマッピングユニットと、
前記エッジネットワークコンテンツＩＤをインデックスとして使用することにより同一データをダウンロードするクライアントに関する情報を保持し、前記プロトコルマッピングユニットによって見つけられたエッジネットワークコンテンツＩＤに従って対応クライアント情報を取得し、前記クライアント情報を第１のクライアント通信管理ユニットに送信し、前記エッジネットワークコンテンツＩＤと前記第１のクライアントとの間のマッピングを付加するように構成された前記クライアント管理ユニットと、
第２の接続管理ユニットを通じてダウンロードしているクライアントとのメッセージ通信を実施するように構成され、前記クライアント情報と前記エッジネットワークコンテンツＩＤを搬送するデータソース情報を前記第１のクライアントに送信する前記第１のクライアント通信管理ユニットと、
外部装置とのメッセージ通信を実施するように構成された前記第２の接続管理ユニットとを備えたリクエストルートサーバー。
【請求項１９】
前記プロトコルマッピングユニットが前記エッジネットワークコンテンツＩＤを見つけることができないかどうかについて通知されるダウンロードプロキシ通信管理ユニットと、
前記第２の接続管理ユニットを通じてダウンロードプロキシサーバーとのメッセージ通信を実施するように構成され、前記プロトコルマッピングユニットの通知に従って前記プロキシサーバーにデータダウンロード通知を送信する前記ダウンロードプロキシ通信管理ユニットとを更に備えた請求項１８記載のリクエストルートサーバー。
【請求項２０】
前記クライアント管理ユニットにより保持された前記クライアント情報は、
クライアントＩＰアドレス、クライアントポート番号、シードユーザーか否かの指示を含む請求項１８記載のリクエストルートサーバー。
【請求項２１】
前記ダウンロードプロキシ通信管理ユニットの前記メッセージ通信は、前記ダウンロードプロキシサーバーから前記エッジネットワークコンテンツＩＤを取得することを含み、
前記クライアント管理ユニットは、前記ダウンロードプロキシ通信管理ユニットによって取得されたエッジネットワークコンテンツＩＤと前記第１のクライアントとの間のマッピングをセットアップする請求項１８記載のリクエストルートサーバー。
【請求項２２】
前記データソース情報は、ダウンロードプロキシサーバー情報を更に含む請求項１８記載のリクエストルートサーバー。
【請求項２３】
外部装置とのデータ通信を実施するように構成された第３の接続管理ユニットと、
前記第３の接続管理ユニットを通じてクライアントとのデータ通信を実施するように構成された第２のクライアント通信管理ユニットと、
前記第３の接続管理ユニットを通じてリクエストルートサーバーとのデータ通信を実施するように構成され、前記リクエストルートサーバーからデータダウンロード通知を取得し、前記データダウンロード通知をダウンロードプロキシユニットに送信し、前記ダウンロードプロキシユニットによって戻されたエッジネットワークコンテンツＩＤを受信し、前記エッジネットワークコンテンツＩＤを前記リクエストルートサーバーに送信する第２のリクエストルートサーバー通信管理ユニットと、
前記ダウンロード通知に従ってデータをダウンロードし、前記エッジネットワークコンテンツＩＤを計算するように構成された前記ダウンロードプロキシユニットと、
前記エッジネットワークコンテンツＩＤに対応するデータと前記エッジネットワークコンテンツＩＤを含み、データコンテンツを格納して管理するように構成された記憶ユニットとを備えたダウンロードプロキシサーバー。
【請求項２４】
前記ダウンロードプロキシユニットは、更に、プリセットルールに従って前記データの一部をダウンロードし、エッジネットワークの一時的コンテンツＩＤを計算して前記記憶ユニットに送信し、現在ダウンロードされているデータが既に格納されていると前記記憶ユニットが判定した場合に前記データのダウンロードを停止するように構成され、
前記記憶ユニットによる記憶と管理は、更に、前記ダウンロードプロキシユニットによって計算されたエッジネットワークの一時的コンテンツＩＤに従って現在ダウンロードされているデータが既に格納されているかどうかを判定し；現在ダウンロードされているデータが既に格納されていれば、前記ダウンロードプロキシユニットに通知し、そうでなければ、前記エッジネットワークの一時的コンテンツＩＤ、および、前記エッジネットワークの一時的コンテンツＩＤと現在ダウンロードされているデータとの間のマッピングを保持するように構成され、
前記第２のリクエストルートサーバー通信管理ユニットによって実施される前記データ通信は、更に、現在ダウンロードされているデータが既に格納されていると前記記憶ユニットが判定した場合、前記記憶ユニットに格納されたデータのエッジネットワークコンテンツＩＤを取得して送信し；そうでなければ、前記ダウンロードプロキシユニットによって生成されたエッジネットワークの一時的コンテンツＩＤを取得して送信することを含む請求項２３記載のダウンロードプロキシサーバー。
【請求項２５】
前記ダウンロードプロキシユニットは、ダウンロードリクエストに従って前記データをダウンロードして、前記エッジネットワークコンテンツＩＤを計算するように構成され、
前記記憶ユニットは、前記エッジネットワークコンテンツＩＤと前記エッジネットワークの一時的コンテンツＩＤとの間のマッピングと前記データを格納するように構成され、
前記リクエストルートサーバー通信管理ユニットは、前記ダウンロードプロキシユニットが前記データのダウンロードを完了した後に計算されたエッジネットワークコンテンツＩＤを送信するように構成された請求項２３記載のダウンロードプロキシサーバー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ配信技術(a data distribution technology)に関し、詳しくは、エッジネットワーク(edge network)におけるデータ配信方法及び関連装置及びシステムに関する。
【背景技術】
【０００２】
インターネット技術の普及に伴い、ピア・ツー・ピア(Peer-to-Peer; P2P)アプリケーションがインターネット上で普及している。Ｐ２Ｐシステムでは、Ｐ２Ｐプログラムの端末はクライアントとサーバーの両方である。
【０００３】
多くのインターネットユーザーは、Ｐ２Ｐソフトウェアを使用してファイルをダウンロードしたり共有しており、このようなファイルの多くは、大きなファイル長を特徴とするソフトウェア及びビデオファイルである。従って、Ｐ２Ｐファイルのダウンロードは、多くのネットワーク帯域を占有する。その上、Ｐ２Ｐソフトウェアは、ある程度、パートナー・ピア(partner peers)を盲目的に選択し、従って多大な無秩序のトラヒックを発生させると共にバックボーンネットワークに大きな影響を与える。
【０００４】
加えて、異なるダウンロードプロトコルの多くのコンテンツは反復的(repetitive)であり、従って一層多くの反復的なトラヒックを発生させる。大量の反復的なトラヒックは、ネットワーク輻輳をもたらし、ウェブブラウズや電子メールのような他のネットワークアプリケーションのＱｏＳ(Quality of Service)を劣化させる。
【０００５】
バックボーンネットワークへのＰ２Ｐダウンロードによって引き起こされる影響を低減させるために、従来技術においてＰ２Ｐトラヒックを制御するためのＰ２Ｐキャッシュ技術が適用されている。Ｐ２Ｐキャッシュは、各パケットについて深いパケット検査(deep packet inspection)を実施する必要があり、具体的には、各パケットのモードをマッチングし、そのパケットがＰ２Ｐ特性(P2P features)を有しているかどうかを判定し、最後に、そのパケットがＰ２Ｐパケットであるかどうかについての結論を出す。例えば、通常、ビット・トレント(Bit-Torrent; BT)プロトコルのパケットは、ビット・トレント識別子(BitTorrent identifier)を搬送する。従って、ビット・トレント識別子を有するパケットは、ＢＴプロトコルパケットとして判定される。Ｐ２Ｐキャッシュは、特定のＰ２Ｐプロトコル（例えば、eMule, BT, FastTrack, Gnutella)を支援し、転送されたＰ２Ｐパケットをローカル的にバッファリングする。もし、他のユーザーが同一のパケットをリクエストしていることをパケット分析が示せば、そのパケットは、そのようなユーザーに直接的に送信され、従ってエッジネットワークを通るトラヒックが低減される。
【０００６】
従来技術の欠点は、Ｐ２Ｐキャッシュが全てのルーティングされたパケットについて深いパケット検査の実施を必要とし、従って、ある程度、ネットワーク全体の応答速度に影響を及ぼすことである。また、現在では、通常、いくつかの暗号化(encryption)及びなりすまし(spoofing)技術がＰ２Ｐクライアントに適用され、従ってＰ２Ｐパケットをフィルタリングすることは困難である。よって、従来技術は、Ｐ２Ｐパケットによって引き起こされるバックボーンネットワークへの影響を取り除くには不十分である。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施形態は、バックボーンネットワークにおけるＰ２Ｐパケットトラヒックを低減させるデータ配信方法を提供する。
【課題を解決するための手段】
【０００８】
本発明の実施形態によるファイルデータ配信方法は、次の技術的ソリューションを通じて実施される。即ち、クライアントからデータダウンロードリクエストを取得し、上記ダウンロードリクエストで搬送されるコンテンツＩＤであって特定プロトコルに基づくデータのコンテンツＩＤを取得し、前記コンテンツＩＤに対応するエッジネットワークコンテンツＩＤを検索すると共に前記エッジネットワークにおけるデータコンテンツを一意的に識別し、前記エッジネットワークコンテンツＩＤをインデックスとして使用することにより対応クライアント情報を取得し、前記クライアント情報を搬送するデータソース情報を前記クライアントに戻すことを通じて実施される。
【０００９】
また、上記技術的ソリューションは、前記エッジネットワークコンテンツＩＤが見つからなければ、前記クライアントによってリクエストされた前記データをローカル記憶装置にダウンロードし、前記データのエッジネットワークコンテンツＩＤを計算して格納し、前記ローカル記憶装置情報を搬送するデータソース情報と前記エッジネットワークコンテンツＩＤを前記クライアントに送信する。
【００１０】
本発明の実施形態によるデータ配信システムが提供される。
【００１１】
本データ配信システムは、リクエストルートサーバーを備え、該リクエストルートサーバーは、プロトコルに基づくクライアントによってダウンロードされるべきデータのコンテンツＩＤを搬送するデータダウンロードリクエストを前記クライアントから取得し、前記プロトコルに基づく前記コンテンツＩＤに対応するエッジネットワークコンテンツＩＤを検索し、前記エッジネットワークコンテンツＩＤをインデックスとして使用することにより対応クライアント情報を取得し、前記クライアント情報を搬送するデータソース情報を前記クライアントに戻し、ダウンロードプロキシサーバーによって戻された前記エッジネットワークコンテンツＩＤと前記プロキシサーバー情報を運ぶデータソース情報とを前記クライアントに送信し、前記エッジネットワークコンテンツＩＤと前記コンテンツＩＤとの間のマッピングを保存するように構成される。
【００１２】
また、前記ダウンロードプロキシサーバーは、前記リクエストルートサーバーからの通知に従ってデータをダウンロードし、前記エッジネットワークＩＤを戻すように構成される。
【００１３】
クライアントは、本発明の実施形態に従って提供される。本クライアントは次のものを備える。
【００１４】
本クライアントは、ユーザーダウンロードインターフェイスを備え、このユーザーダウンロードインターフェイスは、ユーザーのダウンロードプロトコル命令を解読し、そしてユーザーが前記プロトコルに基づくダウンロードを要求するデータのコンテンツＩＤを取得するように構成される。
【００１５】
また、本クライアントは、第１のリクエストルートサーバー通信管理ユニットを備え、この第１のリクエストルートサーバー通信管理ユニットは、コンテンツＩＤを搬送するデータダウンロードリクエストをリクエストルートサーバーに送信し、ダウンロードされるべきデータのエッジネットワークコンテンツＩＤと前記リクエストルートサーバーによって送信されるデータソース情報を取得することを含み、第１の接続管理ユニットを通じて前記リクエストルートサーバーとデータ通信するように構成される。
【００１６】
また、本クライアントは、ダウンロード管理ユニットを備え、このダウンロード管理ユニットは、前記エッジネットワークコンテンツＩＤに従って前記データソースからデータをダウンロードするように構成される。
【００１７】
更に、前記第１の接続管理ユニットは、外部装置とのデータ通信を実施するように構成される。
【００１８】
リクエストルートサーバーは、本発明の実施形態において提供される。
【００１９】
本リクエストルートサーバーは、プロトコルマッピングユニットを備える。このプロトコルマッピングユニットは、プロトコルに基づくデータのコンテンツＩＤとエッジネットワークコンテンツＩＤとの間のマッピングを保持し、第１のクライアントによって送信された上記取得されたコンテンツＩＤに従って上記エッジネットワークコンテンツＩＤを検索し、そして、前記エッジネットワークコンテンツＩＤが見つかれば、クライアント管理ユニットに通知するように構成される。
【００２０】
また、上記クライアント管理ユニットは、上記エッジネットワークコンテンツＩＤをインデックスとして使用することにより同一のデータをダウンロードするクライアントに関する情報を保持し、前記プロトコルマッピングユニットによって見つけられた上記エッジネットワークコンテンツＩＤに従って対応クライアント情報を取得し、上記クライアント情報を第１のクライアント通信管理ユニットに送信し、そして前記エッジネットワークコンテンツＩＤと前記第１のクライアントとの間のマッピングを付加するように構成される。
【００２１】
また、前記第１のクライアント通信管理ユニットは、前記クライアント情報と前記エッジネットワークコンテンツＩＤを搬送する前記データソース情報を前記第１のクライアントに送信することを含み、第２の接続管理ユニットを通じてダウンロードクライアントとメッセージ通信を実施するように構成される。
【００２２】
また、前記第２接続管理ユニットは、外部装置とメッセージ通信を実施するように構成される。
【００２３】
ダウンロードプロキシサーバーは、本発明の実施形態に従って提供される。
【００２４】
本ダウンロードプロキシサーバーは、第３の接続管理ユニットを備え、この第３の接続管理ユニットは、外部装置とのデータ通信を実施するように構成される。
【００２５】
また、本ダウンロードプロキシサーバーは、第２のクライアント通信管理ユニットを備え、この第２のクライアント通信管理ユニットは、前記第３の接続管理ユニットを通じてクライアントとデータ通信を実施するように構成される。
【００２６】
また、本ダウンロードプロキシサーバーは、第２のリクエストルートサーバー通信管理ユニットを備え、この第２のリクエストルートサーバー通信管理ユニットは、前記リクエストルートサーバーからデータダウンロード通知を取得し、前記データダウンロード通知をダウンロードプロキシユニットに送信し、前記ダウンロードプロキシユニットによって戻されたエッジネットワークコンテンツＩＤを受信し、そして前記エッジネットワークコンテンツＩＤを前記リクエストルートサーバーに送信することを含み、前記第３の接続管理ユニットを通じてリクエストルートサーバーとデータ通信を実施するように構成される。
【００２７】
また、前記ダウンロードプロキシユニットは、前記ダウンロード通知に従ってデータをダウンロードし、そして前記エッジネットワークコンテンツＩＤを計算するように構成される。
【００２８】
また、本ダウンロードプロキシサーバーは、記憶ユニットを備え、この記憶ユニットは、前記エッジネットワークコンテンツＩＤと、このエッジネットワークコンテンツＩＤに対応するデータとを格納して管理するように構成される。
【００２９】
従来技術に関する研究中に、本発明者は、異なるダウンロードプロトコルに基づいてユーザーがダウンロードを要求するコンテンツは、通常、コンテンツＩＤとチェックモードを除いて同一であることを発見した。従って、この特性に基づいて、本発明者は、上記特性をエッジネットワークと統合することにより本発明の技術的解法を案出した。この技術的解法は、前記エッジネットワークコンテンツＩＤと前記格納されたデータのコンテンツＩＤとの間のマッピングに従って統一規格に基づいて前記エッジネットワークコンテンツＩＤに異なるプロトコルに基づく前記格納されたデータのコンテンツＩＤをマッピングし、同一のエッジネットワークに同一データを既に格納している装置を検索し、そしてこのような装置に関する情報と前記データのエッジネットワークコンテンツＩＤを、前記データをダウンロードすることを要求するクライアントに送信することである。従って同一のデータを既に格納する前記装置はデータソースとして機能してもよく、前記データをダウンロードすることを要求するクライアントにダウンロードされるべきデータを提供する。
【００３０】
従来技術においては、プロトコルに基づくデータのコンテンツＩＤは、他のダウンロードプロトコルには識別不能である。従って、前記エッジネットワークにおける装置は、バックボーンネットワークを通じて繰り返し同一のデータコンテンツをダウンロードする。従来技術とは対照的に、本発明の実施形態は、エッジネットワークの全体にわたってデータコンテンツを識別するための統一ＩＤを使用し、従って、従来技術において同一のデータコンテンツが異なるプロトコルに基づく異なるＩＤを有するという欠点を回避する。従って、エッジネットワークにおけるデータは最大限に共有可能であり、バックボーンネットワークにおける同一データコンテンツの繰り返しダウンロードが回避される。従って、バックボーンネットワークに対する影響が軽減される。その上、ネットワーク全体の速度は、従来技術のＰ２Ｐキャッシュ技術に比べても低下しない。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態によるデータ配信システムの構成図である。
【図２】本発明の実施形態によるシステムの第１のフローチャートである。
【図３】本発明の実施形態によるシステムの第２のフローチャートである。
【図４】本発明の実施形態によるシステムの第３のフローチャートである。
【図５】本発明の実施形態によるクライアントの構成図である。
【図６】本発明の実施形態におけるリクエストルートサーバーの構成図である。
【図７】本発明の実施形態によるダウンロードプロキシサーバーの構成図である。
【図８】本発明の実施形態による現在ダウンロードされるべきデータがローカル的に格納されているかどうかを判定するダウンロードプロキシサーバーのフローチャートである。
【発明を実施するための形態】
【００３２】
本発明は、従来技術におけるバックボーンネットワーク上のデータのダウンロードによって生じる影響を軽減することを目的とする。従って、データ配信方法、データ配信システム、および関連装置が、本発明の実施形態において提供される。本発明の実施形態は以下に詳細に述べられる。
【００３３】
上述の目的を達成するために、図１に示されるように、リクエストルートサーバー(request route server)１２およびダウンロードプロキシサーバー(download proxy server)１３がエッジネットワークに配置され、クライアント(client)１１へのデータのダウンロードを実施するために、本発明の実施形態で提供されるクライアントと接続される。クライアント１１は、特定支援のプロトコル（例えば、ＢＴプロトコル、eMuleプロトコル、FTP/HTTP）のＩＤおよびネームを格納する。プロトコルに基づくデータをダウンロードするために、クライアント１１は、ダウンロードリクエストをリクエストルートサーバー１２に送信し、ここで、上記リクエストは、特定プロトコルのＩＤと、上記特定プロトコルにおけるデータのコンテンツＩＤを搬送する。上記ダウンロードリクエストを受信した後、リクエストルートサーバー１２は、上記プロトコルに対応するマッピングテーブルを検索(search)し、そして上記データのコンテンツＩＤを統一規格に基づくエッジネットワークコンテンツＩＤにマッピングする。上記エッジネットワークコンテンツＩＤに従って、リクエストルートサーバー１２は、同一ファイルを格納またはダウンロードする他のクライアントに関する情報を探し出し(search out)、そして、その情報を、上記ダウンロードリクエストを送信したクライアントに戻す。
【００３４】
本発明の実施形態の処理は、添付の図面を参照して以下に詳細に述べられる。
【００３５】
図２は、クライアントにデータをダウンロードする通常処理を示す。図２に示されるように、本処理は、次のステップを含む。
【００３６】
ステップ２１．ユーザーがデータをダウンロードすることを選択する。
【００３７】
ステップ２２．クライアントがトリガーされる。
【００３８】
ステップ２３．クライアントが、リクエストルートサーバーにダウンロードリクエストを送信する。このリクエストのフォーマットは、クライアントの実施形態で説明される。
【００３９】
ステップ２４．リクエストルートサーバーは、ダウンロードされるべきコンテンツが存在するかどうかをチェックするためにプロトコルマッピングユニットを検索する（この実施形態では、コンテンツが存在するものと仮定する）。
【００４０】
ステップ２５．リクエストルートサーバーは、クライアント情報を、ファイルをダウンロードするクライアントのリストに記録する。
【００４１】
ステップ２６．リクエストルートサーバーは、ダウンロードクライアントにダウンロード応答メッセージを送信し、ここで、上記応答メッセージは、エッジネットワークコンテンツＩＤ、ダウンロードプロキシサーバー情報、および同一ファイルをダウンロードしている他のクライアントに関する情報を搬送する。上記応答メッセージのフォーマットは、クライアントの実施形態において説明される。
【００４２】
ステップ２７．クライアントは、ダウンロードプロキシサーバーにダウンロードリクエストを送信する。
【００４３】
ステップ２８．クライアントは、同一ファイルをダウンロードしている他のクライアントに上記ダウンロードリクエストを送信する。
【００４４】
ステップ２９．クライアントは、ダウンロードプロキシサーバーからファイルデータをダウンロードする。
【００４５】
ステップ２１０．ダウンロードするクライアントは、他のクライアントからデータをダウンロードする。
【００４６】
上述の処理のステップ２４において、リクエストルートサーバーは、プロトコルマッピングユニットを検索して、ダウンロードされるべきコンテンツを首尾よく取得するものと考えられる。もし、このようなコンテンツがプロトコルマッピングユニットに存在しなければ、図３に示された処理は次のステップを適用する。
【００４７】
ステップ３１．ユーザーはデータをダウンロードすることを選択する。
【００４８】
ステップ３２．クライアントはトリガーされる。
【００４９】
ステップ３３．クライアントは、リクエストルートサーバーにダウンロードリクエストを送信する。このリクエストのフォーマットは、クライアントの実施形態で説明される。
【００５０】
ステップ３４．リクエストルートサーバーは、ダウンロードされるべきコンテンツが存在するかどうかをチェックするためにプロトコルマッピングユニットを検索する（この実施形態では、コンテンツは存在しないものと仮定する）。
【００５１】
ステップ３５．リクエストルートサーバーは、クライアントにダウンロード応答メッセージを送信して、ダウンロードされるべきコンテンツがマッピングユニットに存在しないことをクライアントに通知する。
【００５２】
ステップ３６．リクエストルートサーバーは、ダウンロード通知メッセージをダウンロードプロキシサーバーに送信する。このダウンロード通知メッセージは、例えば、適用されるダウンロードプロトコルやコンテンツＩＤなどの、ダウンロード処理のために必要とされるデータを搬送する。詳細は、リクエストルートサーバーの実施形態で提供される。
【００５３】
ステップ３７．データは、対応ダウンロードプロトコルに従ってダウンロード通知によって指示されたときにダウンロードされる。
【００５４】
ステップ３８．ファイルデータの一部はダウンロードされ、エッジネットワークの一時的コンテンツＩＤが計算される。
【００５５】
エッジネットワークの一時的コンテンツＩＤを取得するための方法は、次の実施形態で述べられる。この実施形態は、エッジネットワークの一時的なコンテンツＩＤが、現在ダウンロードされるデータコンテンツの一部に従って取得されることを示している。その方法は次の処理を含む。
【００５６】
プリセット長(preset length)のファイルヘッダーデータ(file header data)をダウンロードし、プリセットルール(preset rules)に従ってプリセット長のファイルトレイラーデータ(file trailer data)をダウンロードし、そして、次の方法に従って、ダウンロードされたデータの一部のエッジネットワークの一時的なコンテンツＩＤを計算する。
【００５７】
ハッシュ（プリセット長のファイルヘッダーデータ＋プリセット長のファイルトレイラーデータ＋ファイル長）
【００５８】
或いは、エッジネットワークの一時的コンテンツＩＤは、ファイル長のようなパラメータのみに従って計算されてもよい。
【００５９】
ステップ３９．エッジネットワークの一時的コンテンツＩＤに従ってデータコンテンツがローカル的に既に格納されているかどうかについて判定がなされる。もし、データコンテンツがローカル的に既に格納されていれば、対応エッジネットワークコンテンツＩＤが検索され、そしてダウンロードが停止される（この実施形態では、データコンテンツはローカル的に既に格納されているものとする）。
【００６０】
ステップ３１０．ダウンロードプロキシサーバーは、リクエストルートサーバーにデータのエッジネットワークコンテンツＩＤを報告する。
【００６１】
ステップ３１１．エッジネットワークコンテンツＩＤとコンテンツＩＤとの間のマッピングを含み、データコンテンツ情報はプロトコルマッピングユニットに付加される。データコンテンツ情報のフォーマットは、リクエストルートサーバーにおけるプロトコルマッピングユニットに関する前述のセクションで述べられている。
【００６２】
ステップ３１２．リクエストルートサーバーは、クライアントにダウンロード通知メッセージを送信する。ここで、このメッセージは、エッジネットワークコンテンツＩＤ、ダウンロードプロキシサーバー情報、および同一ファイルをダウンロードしている他のクライアントに関する情報を搬送する。
【００６３】
ステップ３１３．クライアントは、ダウンロード通知応答メッセージを戻す。
【００６４】
ステップ３１４．現在ダウンロードされているデータコンテンツに対応して、このクライアントに関する情報は、リクエストルートサーバーのクライアント管理ユニットに付加される。
【００６５】
ステップ３１５．図２の処理におけるステップ２７−２１０に詳細に示されるように、クライアントは、ダウンロードプロキシサーバーと、同一ファイルをダウンロードしている他のクライアントとから、データをダウンロードする。
【００６６】
図３に示される処理におけるステップ３９では、ダウンロードプロキシサーバーは、現在ダウンロードされているデータコンテンツがローカル的に格納されていることを見つけるものとする。もし、現在ダウンロードされているデータコンテンツがローカル的に格納されていなければ、図４に示される処理が適用される。
【００６７】
ステップ４１．ユーザーはデータをダウンロードすることを選択する。
【００６８】
ステップ４２．クライアントはトリガーされる。
【００６９】
ステップ４３．クライアントは、リクエストルートサーバーにダウンロードリクエストを送信する。このリクエストのフォーマットは、クライアントに関するセクションで述べられる。
【００７０】
ステップ４４．リクエストルートサーバーは、プロトコルマッピングユニットを検索して、ダウンロードされるべきコンテンツが存在するかどうかをチェックする（この実施形態では、コンテンツは存在しないものとする）。
【００７１】
ステップ４５．リクエストルートサーバーは、クライアントにダウンロード応答メッセージを送信し、ダウンロードされるべきコンテンツがマッピングユニットに存在しないことをクライアントに通知する。
【００７２】
ステップ４６．リクエストルートサーバーは、ダウンロードプロキシサーバーにダウンロード通知メッセージを送信する。このダウンロード通知メッセージは、例えば、適用されるダウンロードプロトコルやコンテンツＩＤなど、ダウンロード処理のために必要とされるデータを搬送する。詳細は、リクエストサーバーの実施形態において提供される。
【００７３】
ステップ４７．ダウンロードプロキシサーバーは、対応ダウンロードプロトコルに従って、ダウンロード通知メッセージにより指示されると、データをダウンロードする。
【００７４】
ステップ４８．ファイルデータの一部はダウンロードされ、そしてエッジネットワークの一時的コンテンツＩＤが計算される。
【００７５】
ステップ４９．エッジネットワークの一時的コンテンツＩＤに従ってデータコンテンツがローカル的に既に格納されたかどうかについて判定がなされる。この実施形態では、現在ダウンロードされているデータコンテンツはローカル的に格納されていないものとする。従って、ダウンロードプロキシサーバーは、ファイルのダウンロードを継続する。
【００７６】
ステップ４１０．エッジネットワークの一時的コンテンツＩＤと、エッジネットワークの一時的コンテンツＩＤタイムスタンプは、リクエストルートサーバーに報告される。
【００７７】
エッジネットワークの一時的コンテンツＩＤは、データコンテンツのダウンロードの完了前に計算される。その上、この実施形態におけるエッジネットワークの一時的コンテンツＩＤを生成する方法に従って、エッジネットワークの一時的コンテンツＩＤは同一であるがファイルが異なる可能性(possibility)を考慮に入れて、エッジネットワークの一時的コンテンツＩＤタイムスタンプ情報が、更にこの実施形態に含まれる。
【００７８】
ステップ４１１．ファイル情報は、プロトコルマッピングユニットに付加される。
【００７９】
ステップ４１２．リクエストルートサーバーは、クライアントにダウンロード通知メッセージを送信する。ここで、このメッセージは、エッジネットワークの一時的コンテンツＩＤ、ダウンロードプロキシサーバー情報、および、同一ファイルをダウンロードしている他のクライアントに関する情報を搬送する。
【００８０】
ステップ４１３．クライアントは、ダウンロード通知応答メッセージを戻す。
【００８１】
ステップ４１４．現在ダウンロードされているデータコンテンツに対応して、このクライアントに関する情報が、リクエストルートサーバーのクライアント管理ユニットに付加される。
【００８２】
ステップ４１５．図２の処理におけるステップ２７−２１０に詳細が示されるように、クライアントは、ダウンロードプロキシサーバーと、同一ファイルをダウンロードしている他のクライアントとから、データをダウンロードする。
【００８３】
ステップ４１６．データのダウンロードが完了すると、ダウンロードプロキシサーバーは、エッジネットワークコンテンツＩＤを計算し、それをリクエストルートサーバーに報告する。
【００８４】
ステップ４１７．エッジネットワークコンテンツＩＤ情報は、クライアントマッピングユニットに付加される。特定の記憶フォーマットは、リクエストルートサーバーに関する関連セクションで述べられる。エッジネットワークの一時的コンテンツＩＤは、プロトコルマッピングユニットに格納される。
【００８５】
図４に示される処理では、クライアントは、エッジネットワークの一時的コンテンツＩＤに従って、ダウンロードプロキシサーバーによって既にダウンロードされているデータの一部をダウンロードしてもよい。しかしながら、この実施形態は、エッジネットワークが、バックボーンネットワークからのデータのダウンロードを完了する前に、データのダウンロードを禁止する実施を除外しない。この実施は、前述のエッジネットワークの一時的コンテンツＩＤを呼び出さない。とはいっても、本開示では、他のアルゴリズムを通じて又は他の手段によって、エッジネットワークの一時的コンテンツＩＤ及び／又はエッジネットワークコンテンツＩＤを取得する実施を排除しない。
【００８６】
前述の処理を参照すると、この実施形態における本システムに適用される方法は、次の処理を含む。
【００８７】
即ち、本方法は、クライアントからデータダウンロードリクエストを取得し、ダウンロードリクエストで搬送されるコンテンツＩＤであって特定のプロトコルに基づくデータのコンテンツＩＤを取得し、コンテンツＩＤに対応するエッジネットワークコンテンツＩＤを検索し、もしエッジネットワークコンテンツＩＤが見つかれば、エッジネットワークコンテンツＩＤをインデックスとして使用することにより対応クライアント情報を取得し、クライアント情報を搬送するデータソース情報をクライアントに戻し、または、もしエッジネットワークコンテンツＩＤが見つからなければ、クライアントによってリクエストされたデータをローカル記憶装置にダウンロードし、上記データのエッジネットワークコンテンツＩＤを計算して格納し、そして、エッジネットワークコンテンツＩＤと、ローカル記憶装置情報を搬送するデータソース情報とをクライアントに送信することを含む。
【００８８】
上述の方法では、コンテンツＩＤに対応するエッジネットワークコンテンツＩＤが見つからなければ、ファイルデータの一部が、プリセットルールに従って更にダウンロードされ、ローカル記憶装置へのデータのダウンロードが完了する前にエッジネットワークの一時的コンテンツＩＤが計算される。さらに、エッジネットワークの上記格納された一時的コンテンツＩＤが検索され、もしエッジネットワークの一致する一時的コンテンツＩＤが見つかれば、現在ダウンロードされているデータをプロキシサーバーが既に格納していると判定され、そしてこのデータのエッジネットワークＩＤがクライアントに送信される。そうでなければ、エッジネットワークの一時的コンテンツＩＤがクライアントに送信される。
【００８９】
上述の方法に基づいて、現在使用されているダウンロードプロトコルに固有のエッジネットワークの上記一致する一時的コンテンツＩＤに対応するデータのチェックデータが取得される。もし、このチェックデータが、現在ダウンロードされているデータのチェックデータと同一であれば、現在ダウンロードされているデータをプロキシサーバーが既に格納していると判定される。
【００９０】
当業者であれば、上述の実施形態におけるステップの一部または全部は、プログラムによって命令されるハードウェアを通じて実施されてもよいことが分かる。このプログラムは、読み出し専用メモリ／ランダムアクセスメモリ（ＲＯＭ／ＲＡＭ）、磁気ディスク、コンパクトディスクのようなコンピュータ読み出し可能な記憶媒体に格納されてもよい。
【００９１】
上述のエッジネットワークシステムにおける装置は以下に詳細に述べられる。
【００９２】
図５に示されるように、本発明の実施形態によるクライアント装置５０は、ユーザーダウンロードインターフェイス５１、ダウンロードプロトコル管理ユニット５２、第１のリクエストルートサーバー通信管理ユニット５３、ダウンロード管理ユニット５４、第１の接続管理ユニット５５を備える。
【００９３】
ユーザーダウンロードインターフェイス５１は、ユーザーに対する統一ダウンロードインターフェイス(unified download interface)を備える。当業者であれば、ＢＴ，eMule，ＦＴＰおよびＨＴＴＰのような、複数のダウンロードプロトコルを支援する公知の種々のダウンロードプロトコルに従って本発明の実施形態のためのユーザーダウンロードインターフェイスを把握することができる。このダウンロードインターフェイスは、ユーザーがプロトコルに基づいてダウンロードすることを要求するデータのコンテンツＩＤを取得するためのダウンロードプロトコルに基づくユーザーダウンロード命令を解読する。
【００９４】
データの配信(distribution)と共有(sharing)を容易化するために、従前のダウンロードプロトコルは、各識別モードに従ってデータコンテンツを識別する。
【００９５】
例としてＢＴプロトコルを取り上げると、ＢＴシードは(BT seed)、主に、トラッカーサーバー(tracker server)のＵＲＬリスト、ネーム(Name)、ピース長(Piece length)、ピース(Piece)、長さ(length)、パス(Path)を含む。“ネーム”はストリングであり、そのデフォルト値は、一般に、ファイルをセーブするときに適用し、“ピース長”は、伝送されるファイルフラグメントの長さであり、それは、通常、２５６ＫＢであり、“ピース”は、多数の２０バイトのストリングから構成され、各ストリングは、対応フラグメントのハッシュ値(Hush value)であり、“長さ”はファイル長であり、“パス”はサブディレクトリのリストネームのリストである。“ネーム”、“ピース長”、“ピース”、“長さ”、“パス”は、ＢＴシードに対応するコンテンツに関する情報(Info)である。ＢＴにおけるコンテンツを識別するモードは、２０バイト値を取得するために情報(Info)に対するＳＨＡＩ暗号化処理(SHAI encryption operation)を実施することである。
【００９６】
他の例では、eMuleプロトコルでのファイルチェックデータを計算するための方法は、それそれのサイズが９．２８ＭＢの複数のブロックにファイルを分割し（最後のブロックは９．２８ＭＢよりも小さくてもよい）、ＭＤ４アルゴリズムを通じて各ブロックのチェック値を計算することを含む。eMuleプロトコルでのコンテンツを識別する方法は、ＭＤ４アルゴリズムに基づいてハッシュ値を取得するために、上述のチェックデータに対するＭＤ４暗号化を実施することを含む。
【００９７】
更に、ＦＴＰまたはＨＴＴＰプロトコルでコンテンツＩＤを計算する方法は、次のことを含む。
【００９８】
ハッシュ（ＵＲＬ＋コンテンツサイズ＋更新時間）
【００９９】
ここで、ＵＲＬはユニフォームリソースロケータ(uniform resource locator)である。また、同一のＵＲＬは同一のサイズを有するため更新時間(modification time)が考慮されるが、そのコンテンツは、更新後では異なってもよい。従って、更新時間は、コンテンツＩＤの計算において、計算されたコンテンツＩＤの信頼性を改善すると考えられる。しかしながら、更新時間は、ＦＴＰまたはＨＴＴＰプロトコルに基づくデータのコンテンツＩＤを計算するためには不可欠である。
【０１００】
ＢＴプロトコルについて、データのコンテンツＩＤは、シード(seed)におけるディレクトリＩＤと、対応ファイルシーケンス番号から構成されてもよい。ＢＴプロトコルは、ディレクトリごとにコンテンツを識別する。一つのディレクトリは、複数のサブディレクトリと複数のファイルを含んでもよい。従って、もし、ディレクトリの複数のレイヤが、この実施形態におけるシードディレクトリにネスティング(nest)されれば、ディレクトリＩＤと、対応ファイルシーケンス番号は、ディレクトリを深く且つ優先的にトラバース(traverse)することにより取得されてもよい。しかしながら、当業者であれば、コンテンツＩＤおよび対応ファイルシーケンス番号を構成するディレクトリＩＤを取得するために、共通の書誌学的方法(bibliographical methods)を依然として使用してもよい。
【０１０１】
ダウンロードプロトコル管理ユニット５２は、クライアントにより支援されるダウンロードプロトコルを記録する。下記に、記録フォーマットの例を示す。
【０１０２】
【表１】
2010525420.tif 000003
【０１０３】
ダウンロードプロトコル管理ユニットは、ユーザー命令を解読するためにユーザーダウンロードインターフェイスのためのプロトコルサポートを提供する。ダウンロードプロトコル管理ユニットは、クライアントによって支援されるプロトコルを記録し、各プロトコルにプロトコルＩＤを割り当てる。プロトコルＩＤは、リクエストルートサーバー上のプロトコルＩＤと一致する。第１のリクエストルートサーバー通信管理ユニットは、プロトコルＩＤを取得するために、ダウンロードプロトコル管理ユニットを起動(invoke)し、そしてプロトコルＩＤと、対応コンテンツＩＤをリクエストルートサーバーに送信する。従って、リクエストルートサーバーは、このプロトコルに基づくコンテンツＩＤに対応するデータをダウンロードするために、クライアントダウンロードプロトコルと一致するプロトコルを使用してもよい。
【０１０４】
図５に示されるクライアントとは異なり、本発明の実施形態により他のクライアントが提供される。ここで、第１のリクエストルートサーバー通信管理ユニットとダウンロードプロトコル管理ユニットとの間の通信が削除され、ユーザーダウンロードインターフェイスがプロトコルＩＤを直接的に提供する。
【０１０５】
ダウンロード管理ユニット５４は、コンテンツソース（例えば、ダウンロードプロキシサーバー、このクライアントによってリクエストされたデータをダウンロードまたは格納する他のクライアント、ＦＴＰまたはＨＴＴＰサーバー）からデータコンテンツをダウンロードするように構成され、ここで、データコンテンツは、磁気ディスクのような記録媒体に格納される。詳細には、この実施形態では、エッジネットワークにおけるデータコンテンツは、エッジネットワークコンテンツＩＤによって識別される。従って、ダウンロード管理ユニットは、エッジネットワークコンテンツＩＤに従って、リクエストされたデータをデータソースからダウンロードする。
【０１０６】
第１のリクエストルートサーバー通信管理ユニット５３は、リクエストルートサーバーとのデータ／メッセージ通信を担い、リクエストルートサーバーに、少なくともデータのコンテンツＩＤを搬送するデータダウンロードリクエストを送信すること、リクエストルートサーバーによって送信されたデータソース情報とダウンロードされるべきデータのエッジネットワークコンテンツＩＤとを取得することを含み、これにより、ダウンロード管理ユニットは、少なくともデータソース情報とエッジネットワークコンテンツＩＤとに従ってデータをダウンロードする。
【０１０７】
第１の接続管理ユニット５５は、外部装置とのデータ通信を実施するように構成される。
【０１０８】
上述したように、ダウンロード管理ユニットは、第１の接続管理ユニット５５を通じてコンテンツソースからデータをダウンロードする。本発明の次の実施形態は、クライアントとデータソースとの間のメッセージインターフェイスのフォーマットを提供する（クライアント間のメッセージインターフェイス、データのダウンロードをリクエストするクライアントとそこに備えられるダウンロードプロキシサーバーとの間のメッセージインターフェイスを含む）。このメッセージインターフェイスには次の３つのタイプがある。
【０１０９】
（１）ハンドシェーク(handshake)及び応答メッセージ
【０１１０】
ハンドシェークメッセージのフォーマットを次に示す。
【０１１１】
【表２】
2010525420.tif 000004
【０１１２】
エッジネットワークコンテンツＩＤは、本発明の実施形態によるエッジネットワークで共有(share)される完全なデータコンテンツの統一的にフォーマットされた識別子である。ハンドシェークメッセージでは、エッジネットワークコンテンツＩＤはエンプティであってもよい。その理由は、クライアントがデータコンテンツをダウンロードすることをリクエストする場合、データコンテンツの一部のみ（即ち、不完全なデータコンテンツ）が、現在、エッジネットワークに格納されるからである（即ち、エッジネットワークは、ダウンロードしているが、バックボーンネットワークからデータコンテンツをダウンロードし終えていないからである）。従って、データコンテンツの残りの部分は、依然として、ダウンロードされるべきであり、エッジネットワークコンテンツＩＤを有していない。
【０１１３】
最適化法(optimization measure)が本発明の実施形態において提供される。即ち、バックボーンネットワークからダウンロードされているデータコンテンツ（この実施形態では、ダウンロードプロキシサーバーがこの機能を実施する）について、エッジネットワークの一時的コンテンツＩＤは、データコンテンツを識別するためにエッジネットワークコンテンツＩＤを置き換える。このように、クライアントは、ダウンロードを開始する前に、バックボーンネットワークからエッジネットワークへのデータコンテンツのダウンロードの完了を待つ必要がない。その代わり、クライアントは、エッジネットワーク（ダウンロードプロキシサーバー）のダウンロードの進行に伴いデータをダウンロードする。データコンテンツのダウンロードの完了前に、クライアントは、エッジネットワーク（ダウンロードプロキシサーバー）にダウンロードされたデータを最初にダウンロードしてもよい。
【０１１４】
上述の方法を実施するために、本発明の好ましい実施形態で提供されるハンドシェークメッセージは、エッジネットワークコンテンツＩＤに基づいてエッジネットワークの一時的なコンテンツＩＤ（その生成方法は後述される）を搬送する。
【０１１５】
更に、エッジネットワークの一時的コンテンツＩＤは、データコンテンツのダウンロードの完了前に計算される。その上、後述するエッジネットワークの一時的コンテンツＩＤを生成する方法により、エッジネットワークの一時的コンテンツＩＤは同一であるがファイルが異なる可能性を考慮して、エッジネットワークの一時的コンテンツＩＤタイムスタンプ情報が、この実施形態でのハンドシェークメッセージに更に含まれる。
【０１１６】
しかしながら、この実施形態は、エッジネットワークがバックボーンネットワークからデータをダウンロードし終える前にデータコンテンツをダウンロードすることを禁止する実施を排除しない。この実施は、エッジネットワークの上述の一時的コンテンツＩＤを呼び出さない。とはいっても、本開示は、他のアルゴリズムを通じてまたは他の手段により、エッジネットワークコンテンツＩＤ及び／又はエッジネットワークの一時的コンテンツＩＤを取得する実施を排除しない。
【０１１７】
上述のハンドシェークメッセージのフォーマットに対応して、この実施形態で提供されるハンドシェーク応答メッセージのフォーマットを次に示す。
【０１１８】
【表３】
2010525420.tif 000005
【０１１９】
（２）データリクエスト及び応答メッセージ
【０１２０】
データリクエストメッセージのフォーマットを次に示す。
【０１２１】
【表４】
2010525420.tif 000006
【０１２２】
データリクエスト応答メッセージのフォーマットを次に示す。
【０１２３】
【表５】
2010525420.tif 000007
【０１２４】
上述の表に示されるように、エッジネットワークにおけるデータは、この実施形態におけるフラグメントダウンロードモードを通じて共有(share)される。しかしながら、本開示は、エッジネットワークにおいてデータをダウンロードするモードに制限することを意図するものではない。エッジネットワークにおけるデータは、フラグメントダウンロードモード以外の他のモードでダウンロードされてもよい。例えば、データは、ファイルヘッダーの絶対オフセットを通じてクライアント間で共有されてもよい。例えば、クライアントＡが、クライアントＢに、ファイルヘッダーにおいて２０００番目のバイトで始まって３０００番目のバイトで終了するコンテンツをリクエストする。
【０１２５】
（３）データチェックリクエストメッセージ及びその応答メッセージ
【０１２６】
データチェックリクエストのフォーマットを次に示す。
【０１２７】
【表６】
2010525420.tif 000008
【０１２８】
データチェックリクエスト応答メッセージのフォーマットを次に示す。
【０１２９】
【表７】
2010525420.tif 000009
【０１３０】
一般に、通信データに関するチェックはデータ通信処理において必要である。従って、データの信頼性を改善するために、この実施形態は、データチェックリクエストメッセージと、その応答メッセージのフォーマットを提供する。このようなフォーマットは、データリクエストメッセージと（２）で提供されるその応答メッセージのフォーマットに基づいている。
【０１３１】
本発明の実施形態により提供されるリクエストルートサーバー６０は、図６を参照して以下に詳細に説明される。図６に示されるように、リクエストルートサーバーは、プロトコルマッピングユニット６１、クライアント管理ユニット６２、ダウンロードプロキシ通信管理ユニット６３、第１のクライアント通信管理ユニット６４、第２の接続管理ユニット６５を備える。
【０１３２】
プロトコルマッピングユニット６１は、ファイルごとにデータコンテンツを識別し、例えば、プロトコルに基づくデータのコンテンツＩＤとエッジネットワークコンテンツＩＤとの間のマッピングを保持する。また、プロトコルマッピングユニット６１は、第１のクライアントによって送信された取得されたコンテンツＩＤに従って、エッジネットワークコンテンツＩＤを検索する。もし、何らかのエッジネットワークコンテンツＩＤが見つかれば、プロトコルマッピングユニット６１は、他の種々のダウンロードプロトコルでのコンテンツＩＤをエッジネットワークコンテンツＩＤにマッピングし、そして、クライアント管理ユニットに通知し、そうでなければ、プロトコルマッピングユニット６１は、ダウンロードプロキシ通信管理ユニットに通知する。
【０１３３】
プロトコルマッピングユニットにおけるファイル毎のデータの識別のフォーマットを次に示す。このフォーマットは、プロトコルＩＤ、オリジナルのダウンロードプロトコルのコンテンツＩＤ、エッジネットワークコンテンツＩＤを含む。
【０１３４】
【表８】
2010525420.tif 000010
【０１３５】
もし、エッジネットワークの一時的コンテンツＩＤが、本発明のシステムにおいても適用されれば、プロトコルマッピングユニットは、次のＩＤフォーマット、即ち、プロトコルＩＤ、コンテンツＩＤ、エッジネットワークの一時的コンテンツＩＤ、エッジネットワークの一時的コンテンツＩＤタイムスタンプなどを更に格納する。コンテンツＩＤに対応するエッジネットワークの一時的コンテンツＩＤと、エッジネットワークの一時的コンテンツＩＤタイムスタンプは、プロトコルマッピングユニットがコンテンツＩＤに従って上述の表における対応エッジネットワークコンテンツＩＤを見つることができない場合（即ち、上述の表におけるエッジネットワークコンテンツＩＤがエンプティである場合）にのみ次の表に従って検索される。
【０１３６】
【表９】
2010525420.tif 000011
【０１３７】
クライアント管理ユニット６２は、同一ファイルをダウンロードするクライアントに関する情報を記録し、更に詳しくは、エッジネットワークコンテンツＩＤをインデックスとして使用することにより同一データをダウンロードするクライアントに関する情報を保持し、プロトコルマッピングユニットによって見つけられたエッジネットワークコンテンツＩＤに従って対応クライアント情報を取得し、このクライアント情報を第１のクライアント通信管理ユニットに送信し、そして更に、クライアントがファイルのダウンロードに合意した場合にエッジネットワークコンテンツＩＤとクライアントとの間のマッピングを記録する。
【０１３８】
クライアント管理ユニットにおいてクライアント管理ユニットの情報を記録するフォーマットを以下に例示する。
【０１３９】
【表１０】
2010525420.tif 000012
【０１４０】
クライアントのリストを次のフォーマットに示す。
【０１４１】
【表１１】
2010525420.tif 000013
【０１４２】
ダウンロードプロキシ通信管理ユニット６３は、プロトコルマッピングユニットの通知に従ってプロキシサーバーへデータダウンロードリクエストを送信することを含み、第２の接続管理ユニットを通じてダウンロードプロキシサーバーとのメッセージ通信を実施する。
【０１４３】
リクエストルートサーバーとダウンロードプロキシサーバーとの間のメッセージインターフェイスは、次の２つのタイプのメッセージを搬送する。
【０１４４】
（１）ダウンロード通知メッセージ及びその応答メッセージ
【０１４５】
リクエストルートサーバーが、ダウンロードクライアントからダウンロードリクエストを受信した後、もし、プロトコルマッピングユニットが対応記録を見つけることに失敗すれば（即ち、クライアントのダウンロードリクエストメッセージで運ばれるコンテンツＩＤに従って対応エッジネットワークコンテンツＩＤを見つけ出すことに失敗すると）、リクエストルートサーバーは、ダウンロードプロキシサーバーにダウンロード通知メッセージを送信する。このメッセージフォーマットは次のようである。
【０１４６】
【表１２】
2010525420.tif 000014
【０１４７】
上述の表に示されるように、リクエストメッセージは、プロトコルＩＤ、コンテンツＩＤ、プロトコル関連データ（例えば、ＢＴシードにおけるチェックデータ）を搬送する。
【０１４８】
（２）エッジネットワークコンテンツＩＤ報告メッセージ及びその応答メッセージ
【０１４９】
ダウンロードプロキシサーバーは、エッジネットワークコンテンツＩＤをリクエストルートサーバーに報告する。ここで、エッジネットワークコンテンツＩＤは、ダウンロードプロキシサーバーにデータをダウンロードすることを通知するためにリクエストルートサーバーによって適用(apply)される。
【０１５０】
この実施形態では、ダウンロード通知メッセージを取得した後、ダウンロードプロキシサーバーは、更に、リクエストルートサーバーによって通知されたときにダウンロードされるべきデータコンテンツがローカル的に格納されているかどうかを判定する。この場合、リクエストルートサーバーは、ダウンロード通知メッセージを通じて、エッジネットワークコンテンツＩＤに代えてコンテンツＩＤのみをダウンロードプロキシサーバーに送信することができる。従って、ダウンロードプロキシサーバーは、この処理において判定を行う。即ち、ダウンロードプロキシサーバーは、リクエストルートサーバーの命令に従ってファイルデータの一部をダウンロードし、データコンテンツの一部に従ってエッジネットワークの一時的コンテンツＩＤを計算し、そしてファイルが既に存在するかどうかをチェックするために、格納されたデータのエッジネットワークの一時的コンテンツＩＤを検索する。もし、ファイルが既に存在すれば、ダウンロードプロキシサーバーは、データのエッジネットワークコンテンツＩＤを検索して、それをリクエストルートサーバーに報告する。もし、このようなファイルが存在しなければ、ダウンロードプロキシサーバーは、エッジネットワークの一時的コンテンツＩＤを報告する（そして、エッジネットワークの一時的コンテンツＩＤタイムスタンプを更に報告する）。さらに、データコンテンツがダウンロードされた後、ダウンロードプロキシサーバーは、完全なデータコンテンツに従ってエッジネットワークコンテンツＩＤを計算し、そのエッジネットワークコンテンツＩＤ、エッジネットワークの一時的コンテンツＩＤ、およびエッジネットワークの一時的コンテンツＩＤタイムスタンプをリクエストルートサーバーに報告する。報告メッセージを受信した後、リクエストルートサーバーは、応答メッセージをダウンロードプロキシサーバーに送信する。（ダウンロードプロキシサーバーの構成および機能は後述する。）
【０１５１】
明らかに、上述の判定後の処理モードは、エッジネットワークがバックボーンネットワークからデータをダウンロードし終える前にクライアントがダウンロードを開始することを可能にすることを示す。もし、本システムが、エッジネットワークがバックボーンネットワークからデータをダウンロードし終える前にクライアントがデータをダウンロードすることを可能にしなければ、リクエストルートサーバーによって通知されたときにダウンロードされるべきデータがローカル的に格納されていないとダウンロードプロキシサーバーが判定した場合、ダウンロードプロキシサーバーは、リクエストルートサーバーにエッジネットワークの一時的コンテンツＩＤを何ら送信することなく、バックボーンネットワークからデータをダウンロードし続ける。バックボーンネットワークからのデータのダウンロードが完了すると、ダウンロードプロキシサーバーは、エッジネットワークＩＤ、エッジネットワークの一時的コンテンツＩＤ、およびエッジネットワークの一時的コンテンツＩＤタイムスタンプをリクエストルートサーバーに報告する。
【０１５２】
第１のクライアント通信管理ユニット６４は、クライアント情報とエッジネットワークコンテンツＩＤを搬送するデータソース情報を第１のクライアントに送信することを含み、第２の接続管理ユニットを通じてダウンロードクライアントとのメッセージ通信を実施する。
【０１５３】
クライアントとリクエストルートサーバーとの間のメッセージ通信は、２つのタイプのメッセージを搬送する。
【０１５４】
（１）ダウンロードリクエストメッセージ及びその応答メッセージ
【０１５５】
クライアントは、リクエストルートサーバーにダウンロードリクエストを送信し、リクエストルートサーバーは、ダウンロード応答メッセージを戻す。
【０１５６】
次の表に示すように、ダウンロードリクエストメッセージは、データをダウンロードするために使用されるプロトコルＩＤ、プロトコルに基づくデータのコンテンツＩＤ、プロトコルに関連したデータ（例えば、ＢＴシードにおけるチェックデータ）を搬送する。
【０１５７】
【表１３】
2010525420.tif 000015
【０１５８】
次の表に示すように、応答メッセージは、応答ＩＤとオプションデータを搬送する。例えば、もし、応答ＩＤが１であれば、それは、クライアントにリクエストされたときにダウンロードされるべきデータがエッジネットワーク（他のクライント又はダウンロードプロキシサーバー）に存在することを示す。この場合、オプションデータは、エッジネットワークにおけるデータのエッジネットワークコンテンツＩＤ、エッジネットワークの一時的コンテンツＩＤ、エッジネットワークの一時的コンテンツＩＤタイムスタンプ、プロキシサーバー情報、およびクライアント情報である。
【０１５９】
【表１４】
2010525420.tif 000016
【０１６０】
クライアントのリストにおける要素は、クライアントＩＰアドレス、クライアントポート番号、及びシードユーザーか否かを含んでもよい。
【０１６１】
（２）ダウンロード通知メッセージ及びその応答メッセージ
【０１６２】
ダウンロードプロキシサーバーによって報告されたエッジネットワークコンテンツＩＤを受信した後、リクエストルートサーバーは、ダウンロードを実施することをクライアントに通知する。この通知メッセージは、エッジネットワークコンテンツＩＤ、エッジネットワークの一時的コンテンツＩＤ、エッジネットワークの一時的コンテンツＩＤタイムスタンプを搬送する。ダウンロード通知メッセージを受信した後、クライアントは応答メッセージを送信する。この応答メッセージは、データダウンロードに対する同意(consent to)または取り消し(cancellation)を意味する。
【０１６３】
第２の接続管理ユニット６５は、外部装置とのメッセージ通信を実施するように構成される。
【０１６４】
図７は、本発明の実施形態において提供されるダウンロードプロキシサーバー７０を示す。図７に示されるように、ダウンロードプロキシサーバー７０は、ダウンロードプロキシユニット７１、記憶ユニット７２、第１のクライアント通信管理ユニット７３、第２のリクエストルートサーバー通信管理ユニット７４、及び第３の接続管理ユニット７５を備える。
【０１６５】
第３の接続管理ユニット７５は、外部装置とのデータ通信を実施するように構成されている。
【０１６６】
第２のクライアント通信管理ユニット７３は、第３の接続管理ユニットを通じてクライアントとのデータ通信を実施するように構成されている。クライアントとダウンロードプロキシサーバーとの間の通信のフォーマットに関しては、上述のクライアントとデータソースとの間の通信のフォーマットが参考になる。
【０１６７】
第２のリクエストルートサーバー通信管理ユニット７４は、リクエストルートサーバーからデータダウンロード通知を取得すること、このデータダウンロード通知をダウンロードプロキシユニットに送信すること、リクエストルートサーバーにエッジネットワークコンテンツＩＤを送信することを含み、第３の接続管理ユニットを通じてリクエストルートサーバーとのデータ通信を実施する。ダウンロードプロキシサーバーとリクエストルートサーバーとの間の通信のフォーマットに関しては、リクエストルートサーバーに関する上述のセクションが参考になる。
【０１６８】
ダウンロードプロキシユニット７１は、複数のダウンロードプロトコルをサポートし、第２のリクエストルートサーバー通信管理ユニットのダウンロード通知に従ってデータをダウンロードし、エッジネットワークコンテンツＩＤを計算し、エッジネットワークの一時的コンテンツＩＤを計算し、そして、リクエストルートサーバーによって通知されたときにダウンロードされるべきデータが既にローカル的に格納されているかどうかを判定する。
【０１６９】
ダウンロードプロキシサーバーは、この目的のために上述の判定を実施する。即ち、リクエストルートサーバーは、異なるプロトコルに基づくデータのコンテンツＩＤと、統一されたエッジネットワークコンテンツＩＤとの間のマッピングを格納し、そして、次の状況が発生するように、同一のデータは異なるダウンロードプロトコルに基づく異なるコンテンツＩＤを有する。即ち、クライアントによってリクエストされたデータと、このデータのエッジネットワークコンテンツＩＤは、エッジネットワーク（他のクライアント、またはダウンロードプロキシサーバー）に格納されているが、エッジネットワークコンテンツＩＤと現在のダウンロードプロトコルコンテンツＩＤとの間のマッピングは存在しない。従って、リクエストルートサーバーは、現在のダウンロードプロトコルコンテンツＩＤに従ってデータのエッジネットワークコンテンツＩＤを検索することができない。可能性のある原因として次のことがある。エッジネットワークは、最初に、現在のダウンロードプロトコルを通じてネットワークに格納されたデータコンテンツをダウンロードすることをリクエストする。例えば、データＡはエッジネットワークに格納され、そのエッジネットワークＩＤはａである。リクエストルートサーバーは、ＢＴプロトコルに基づくデータＡのコンテンツＩＤ“ｘ”とエッジネットワークＩＤ“ａ”との間のマッピングと、eMuleプロトコルに基づくデータＡのコンテンツＩＤ“ｙ”とエッジネットワークＩＤ“ａ”との間のマッピングを格納する。しかしながら、エッジネットワークにおけるクライアントが、最初に、ＦＴＰプロトコルを通じてデータＡをダウンロードすることをリクエストした場合、リクエストルートサーバーは、ＦＴＰプロトコルに基づくデータＡのコンテンツＩＤ“ｚ”とエッジネットワークのコンテンツＩＤ“ａ”との間のマッピングをセットアップしていない。従ってリクエストルートサーバーは、エッジネットワークにおける既存のデータＡを見つけ出すことができない。
【０１７０】
この理由から、この実施形態におけるダウンロードプロキシサーバーは、更に、クライアントによってリクエストされたデータがエッジネットワークに既に格納されているかどうかを判定する。この判定方法は、プリセットルールに従って、プリセット長のファイルヘッダーデータをダウンロードすること、プリセット長のトレイラーデータをダウンロードすること、そして、次の方法で、ダウンロードされたデータの一部のエッジネットワークの一時的コンテンツＩＤを計算することを含む。
【０１７１】
ハッシュ（プリセット長のファイルヘッダーデータ＋プリセット長のファイルトレイラーデータ＋ファイル長）
【０１７２】
或いは、エッジネットワークの一時的コンテンツＩＤは、ファイル長のようなパラメータのみに従って算出されてもよい。
【０１７３】
エッジネットワークの上記計算された一時的コンテンツＩＤに対して、ダウンロードプロキシサーバーは、格納された一時的コンテンツＩＤの何れかが、エッジネットワークの上記計算された一時的コンテンツＩＤと一致するかどうかをチェックするために、記憶ユニットにおけるエッジネットワークの上記格納された一時的コンテンツＩＤを検索する。
【０１７４】
もし、一致したアイテムが見つかれば、ダウンロードプロキシサーバーは、データのエッジネットワークコンテンツＩＤを取得し、そして、それを、第２のリクエストルートサーバー通信管理ユニット７４を通じてリクエストルートサーバーに報告する。もし、ダウンロードプロキシサーバーが、エッジネットワークの一時的コンテンツＩＤのみを格納するが、このときにエッジネットワークコンテンツＩＤを格納していなければ、ダウンロードプロキシサーバーがデータコンテンツをダウンロードしていると見なされ、ダウンロードプロキシサーバーは、リクエストルートサーバーにエッジネットワークの一時的コンテンツＩＤを報告してもよい。
【０１７５】
もし、一致したアイテムが存在しなければ、それは、ダウンロードプロキシサーバーの記憶ユニットが、現在ダウンロードされているデータコンテンツを格納していないことを示す。従って、ダウンロードプロキシユニット７１によって算出されたエッジネットワークの一時的コンテンツＩＤは、第２のリクエストルートサーバー通信管理ユニット７４を通じてリクエストルートサーバーに報告される。また、記憶ユニットは、データコンテンツ、および、ダウンロードされたデータとエッジネットワークの一時的コンテンツＩＤとの間のマッピングを記憶する。データのダウンロードが完了すると、ダウンロードプロキシユニット７１は、完全なデータコンテンツに従ってエッジネットワークコンテンツＩＤを計算し、そのＩＤを格納し、そして、そのＩＤを、第２のルートサーバー通信管理ユニットを通じてリクエストルートサーバーに送信する。
【０１７６】
エッジネットワークコンテンツＩＤは、多くの方法で完全なデータコンテンツに従って計算されてもよく、それは、本実施形態によって限定されない。例えば、ＭＤ４（全ファイルコンテンツ）、ＭＤ４（全ファイルコンテンツ）、ＳＨＡＩ（全ファイルコンテンツ）など、一意的なＩＤを得ることができるのであれば、任意の方法が実施可能である。
【０１７７】
エッジネットワークの一時的コンテンツＩＤをリクエストルートサーバーに報告することは、ダウンロードプロキシサーバーがエッジネットワークへの全データのダウンロードを完了する前に、エッジネットワークに既にダウンロードされたデータの一部をダウンロードすることをクライアントに開始させる。
【０１７８】
上述の判定方法に基づいて、ダウンロードプロキシサーバー７１は、エッジネットワークの一時的コンテンツＩＤを計算した後に現在のダウンロードプロトコルに基づく現在ダウンロードされているデータのチェックデータを取得してもよい。また、ダウンロードプロキシユニット７１は、エッジネットワークの一時的コンテンツＩＤをプロトコルのチェックデータと組み合わせて、現在ダウンロードされているデータが既にローカル的に格納されているかどうかを判定する。
【０１７９】
プロトコルのチェックデータは、ダウンロードプロトコルにおいてチェックデータを計算するための方法に従うダウンロードプロトコルに固有のファイルのチェックデータを指す。次に例を示す。
【０１８０】
eMuleプロトコルにおけるファイルチェックデータを計算するための方法は、ファイルを、それぞれのサイズが９．２８ＭＢの複数のブロック（最後のブロックは、９．２８ＭＢよりも小さくても良い）に分割し、そしてＭＤ４アルゴリズムを通じて各ブロックのチェック値を計算することを含む。
【０１８１】
ＢＴプロトコルにおいて、チェックデータを計算するための方法は次のようである。ＢＴプロトコルにおいて、コンテンツはディレクトリごとに識別され、そして全ファイルが、それぞれのサイズが２５６ＭＢの複数のブロックに分割され、単一のファイルについては、ディレクトリにおけるファイルの位置とファイルにおける第１の完全なフラグメントの位置とが最初に決定され、そしてファイルに対応した完全なファイルフラグメントのチェック値がＳＨＡＩアルゴリズムを通じて引き続き計算される。シードが３個のファイルを含むと仮定すると、第２のファイルチェックデータを計算するための手順は次のようである。第１に、ファイル２におけるファイル２に対応する第１の完全なブロックの位置が決定され、それから後続のデータブロックのチェック値が引き続いて計算される。
【０１８２】
他のダウンロードプロトコルについては、当業者であれば、関連する開示されたアルゴリズムを参照してチェックデータを得るであろう。
【０１８３】
図８を参照すると、エッジネットワークの一時的コンテンツＩＤをチェックデータと組み合わせて、現在ダウンロードされているデータが既にローカル的にダウンロードされているかどうかを判定するための方法が提供される。
【０１８４】
ステップ８１．ファイルヘッダーデータ及びファイルテイラーデータが最初にダウンロードされ、エッジネットワークの一時的コンテンツＩＤが計算され、そしてこのデータコンテンツのチェックデータが取得される。
【０１８５】
ステップ８２．エッジネットワークの一時的コンテンツＩＤが記憶ユニットに存在するかどうかに関するチェックが実施される。もし一時的コンテンツＩＤが存在すれば、処理はステップ８３に進み、存在しなければ、ステップ８６に進む。
【０１８６】
ステップ８３．エッジネットワークの一時的コンテンツＩＤと、現在のダウンロードプロトコルに固有のこのデータコンテンツは、記憶ユニットから取得される。
【０１８７】
ステップ８４．上記チェックデータが比較される。もしチェックデータが同一であれば、処理はステップ８５に進み、同一でなければ、ステップ８６に進む。
【０１８８】
ステップ８５．現在ダウンロードされているデータが既にプロキシサーバーにローカル的に格納されていると判定される。
【０１８９】
ステップ８６．現在ダウンロードされているデータがプロキシサーバーにローカル的に格納されていないと判定される。
【０１９０】
記憶ユニット７２は、ダウンロードプロキシサーバーのデータコンテンツを格納して管理する。
【０１９１】
上述した詳細は、本発明の実施形態において提供されたファイルデータ配信方法、および、関連装置である。本発明は、幾つかの典型的な実施形態を通じて述べられたが、本発明は、このような実施形態に限定されるものではない。当業者であれば、本発明の範囲および精神を逸脱することなく本発明の種々の修正および変形をなすことができる。本発明は、添付の特許請求の範囲またはそれらの均等物によって規定される保護の範囲に含まれる修正および変形に及ぶ。
【符号の説明】
【０１９２】
１１  クライアント
１２  リクエストルートサーバー
１３  ダウンロードプロキシサーバー
【図１】
2010525420.tif 000017
【図２】
2010525420.tif 000018
【図３】
2010525420.tif 000019
【図４】
2010525420.tif 000020
【図５】
2010525420.tif 000021
【図６】
2010525420.tif 000022
【図７】
2010525420.tif 000023
【図８】
2010525420.tif 000024
【手続補正書】
【提出日】平成21年7月15日(2009.7.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアントからデータダウンロードリクエストを取得し、特定のプロトコルに基づくデータのコンテンツＩＤであって前記ダウンロードリクエストで搬送されるコンテンツＩＤを取得するステップと、
前記コンテンツＩＤに対応するエッジネットワークコンテンツＩＤを検索し、前記エッジネットワークコンテンツＩＤをインデックスとして使用することにより対応クライアント情報を取得し、前記クライアント情報を搬送するデータソース情報を前記クライアントに戻すステップとを含むデータ配信方法。
【請求項２】
前記エッジネットワークコンテンツＩＤが見つからなければ、前記クライアントによってリクエストされたデータをローカル記憶装置にダウンロードすると共に前記データのエッジネットワークコンテンツＩＤを計算して格納する旨をダウンロードプロキシサーバーに通知するステップと；ダウンロードサーバーによって戻されたエッジネットワークコンテンツＩＤを受信し、ローカル記憶装置情報を搬送する前記データソース情報と前記エッジネットワークコンテンツＩＤを前記クライアントに送信するステップを更に含む請求項１記載の方法。
【請求項３】
前記ダウンロードサーバーが前記ローカル記憶装置への前記データのダウンロードを完了する前に、前記コンテンツＩＤに対応するエッジネットワークコンテンツＩＤが見つからない場合、更に、
プリセットルールに従ってファイルデータの一部をダウンロードして、前記エッジネットワークの一時的コンテンツＩＤを計算するステップと、
前記エッジネットワークの格納された一時的コンテンツＩＤを検索し；前記エッジネットワークの一致した一時的コンテンツＩＤが見つからなければ、現在使用されているダウンロードプロトコルに固有のエッジネットワークの前記一致した一時的コンテンツＩＤに対応するデータのチェックデータを計算し；前記チェックデータが現在ダウンロードされているデータのチェックデータと同一であると判定すれば、前記クライアントに前記データのエッジネットワークＩＤを送信し；前記チェックデータが現在ダウンロードされているデータのチェックデータと異なると判定すれば、前記エッジネットワークの前記計算された一時的コンテンツＩＤを前記クライアントに送信するステップとを含む請求項１記載の方法。
【請求項４】
前記エッジネットワークの一時的コンテンツＩＤを計算するための方法は、プリセット長のファイルヘッダーデータ、プリセット長のファイルテイラーデータおよびファイル長についてハッシュ演算を実施するステップを含む請求項３記載の方法。
【請求項５】
ユーザのダウンロードプロトコル命令を解読し、プロトコルに基づいてユーザーがダウンロードすることをリクエストするデータのコンテンツＩＤを取得するように構成されたユーザーダウンロードインターフェイス（５１）と、
第１の接続管理ユニット（５５）を通じてリクエストルートサーバー（６０）とのデータ通信を実施するように構成され、前記コンテンツＩＤを搬送するデータダウンロードリクエストを前記リクエストルートサーバー（６０）に送信し、前記リクエストルートサーバー（６０）によって送信されたデータソース情報とダウンロードされるべきデータのエッジネットワークコンテンツＩＤを取得する第１のリクエストルートサーバー通信管理ユニット（５３）と、
前記エッジネットワークコンテンツＩＤに従ってデータソースから前記データをダウンロードするように構成されたダウンロード管理ユニット（５４）と、
外部装置とのデータ通信を実施するように構成された前記第１の接続管理ユニット（５５）とを備えたクライアント。
【請求項６】
前記ユーザーダウンロードインターフェイスは、ファイル・トランスファ・プロトコル（ＦＴＰ）またはハイパー・テキスト・トランスファ・プロトコル（ＨＴＴＰ）ダウンロード命令を取得するように構成され、前記ユーザーダウンロードインターフェイスによる前記コンテンツＩＤの取得は、
ＵＲＬ(Uniform Resource Locator)、コンテンツサイズ、更新時間についてのハッシュ演算を実施することを含む請求項５記載のクライアント。
【請求項７】
前記ユーザーダウンロードインターフェイス（５１）は、ＢＴ(Bit-Torrent)プロトコルのダウンロード命令を取得するように構成され、
前記取得されたコンテンツＩＤは、シードにおけるディレクトリＩＤと、ディレクトリにおける対応ファイルデータシーケンス番号を含む請求項５記載のクライアント。
【請求項８】
プロトコルに基づくデータのコンテンツＩＤとエッジネットワークコンテンツＩＤとの間のマッピングを取得し、第１のクライアントによって送信された取得されたコンテンツＩＤに従って前記エッジネットワークコンテンツＩＤを検索し、前記エッジネットワークコンテンツＩＤが見つかれば、クライアント管理ユニット（６２）に通知するように構成されたプロトコルマッピングユニット（６１）と、
前記エッジネットワークコンテンツＩＤをインデックスとして使用することにより同一データをダウンロードするクライアントに関する情報を保持し、前記プロトコルマッピングユニット（６１）によって見つけられたエッジネットワークコンテンツＩＤに従って対応クライアント情報を取得し、前記クライアント情報を第１のクライアント通信管理ユニット（６４）に送信し、前記エッジネットワークコンテンツＩＤと前記第１のクライアントとの間のマッピングを付加するように構成された前記クライアント管理ユニット（６２）と、
第２の接続管理ユニット（６５）を通じてダウンロードしているクライアントとのメッセージ通信を実施するように構成され、前記クライアント情報と前記エッジネットワークコンテンツＩＤを搬送するデータソース情報を前記第１のクライアントに送信する前記第１のクライアント通信管理ユニット（６４）と、
外部装置とのメッセージ通信を実施するように構成された前記第２の接続管理ユニット（６５）とを備えたリクエストルートサーバー。
【請求項９】
前記プロトコルマッピングユニットが前記エッジネットワークコンテンツＩＤを見つけることができないかどうかについて通知されるダウンロードプロキシ通信管理ユニット（６３）と、
前記第２の接続管理ユニット（６５）を通じてダウンロードプロキシサーバーとのメッセージ通信を実施するように構成され、前記プロトコルマッピングユニットの通知に従って前記プロキシサーバーにデータダウンロード通知を送信する前記ダウンロードプロキシ通信管理ユニット（６３）とを更に備えた請求項８記載のリクエストルートサーバー。
【請求項１０】
外部装置とのデータ通信を実施するように構成された第３の接続管理ユニット（７５）と、
前記第３の接続管理ユニット（７５）を通じてクライアントとのデータ通信を実施するように構成された第２のクライアント通信管理ユニット（７３）と、
前記第３の接続管理ユニット（７５）を通じてリクエストルートサーバー（６０）とのデータ通信を実施するように構成され、前記リクエストルートサーバーからデータダウンロード通知を取得し、前記データダウンロード通知をダウンロードプロキシユニット（７１）に送信し、前記ダウンロードプロキシユニット（７１）によって戻されたエッジネットワークコンテンツＩＤを受信し、前記エッジネットワークコンテンツＩＤを前記リクエストルートサーバー（６０）に送信する第２のリクエストルートサーバー通信管理ユニット（７４）と、
前記ダウンロード通知に従ってデータをダウンロードし、前記エッジネットワークコンテンツＩＤを計算するように構成された前記ダウンロードプロキシユニット（７１）と、
前記エッジネットワークコンテンツＩＤに対応するデータと前記エッジネットワークコンテンツＩＤを含み、データコンテンツを格納して管理するように構成された記憶ユニット（７２）とを備えたダウンロードプロキシサーバー。
【請求項１１】
前記ダウンロードプロキシユニット（７１）は、更に、プリセットルールに従って前記データの一部をダウンロードし、エッジネットワークの一時的コンテンツＩＤを計算して前記記憶ユニット（７２）に送信し、現在ダウンロードされているデータが既に格納されていると前記記憶ユニット（７２）が判定した場合に前記データのダウンロードを停止するように構成され、
前記記憶ユニット（７２）による記憶と管理は、更に、前記ダウンロードプロキシユニット（７１）によって計算されたエッジネットワークの一時的コンテンツＩＤに従って現在ダウンロードされているデータが既に格納されているかどうかを判定し；現在ダウンロードされているデータが既に格納されていれば、前記ダウンロードプロキシユニット（７１）に通知し、そうでなければ、前記エッジネットワークの一時的コンテンツＩＤ、および、前記エッジネットワークの一時的コンテンツＩＤと現在ダウンロードされているデータとの間のマッピングを保持するように構成され、
前記第２のリクエストルートサーバー通信管理ユニット（７４）によって実施される前記データ通信は、更に、現在ダウンロードされているデータが既に格納されていると前記記憶ユニット（７２）が判定した場合、前記記憶ユニット（７２）に格納されたデータのエッジネットワークコンテンツＩＤを取得して送信し；そうでなければ、前記ダウンロードプロキシユニット（７１）によって生成されたエッジネットワークの一時的コンテンツＩＤを取得して送信することを含む請求項１０記載のダウンロードプロキシサーバー。
【請求項１２】
前記ダウンロードプロキシユニット（７１）は、ダウンロードリクエストに従って前記データをダウンロードして、前記エッジネットワークコンテンツＩＤを計算するように構成され、
前記記憶ユニット（７２）は、前記エッジネットワークコンテンツＩＤと前記エッジネットワークの一時的コンテンツＩＤとの間のマッピングと前記データを格納するように構成され、
前記リクエストルートサーバー通信管理ユニット（７４）は、前記ダウンロードプロキシユニットが前記データのダウンロードを完了した後に計算されたエッジネットワークコンテンツＩＤを送信するように構成された請求項１０記載のダウンロードプロキシサーバー。
【請求項１３】
請求項８または９の何れか１項記載のリクエストルートサーバー（６０）と、請求項１０ないし１２の何れか１項記載のダウンロードプロキシサーバー（７０）とを備えたデータ配信システム。
【請求項１４】
請求項５ないし７の何れか１項記載のクライアントと、請求項１０ないし１２の何れか１項記載のダウンロードプロキシサーバー（７０）とを備えたデータ配信システム。
【請求項１５】
コンピュータユニットに実行された場合に、コンピュータに、請求項１ないし４の何れか１項記載の処理を実行させるコンピュータプログラムコードを含むコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１９１
【補正方法】変更
【補正の内容】
【０１９１】
上述した詳細は、本発明の実施形態において提供されたファイルデータ配信方法、および、関連装置である。本発明は、幾つかの典型的な実施形態を通じて述べられたが、本発明は、このような実施形態に限定されるものではない。当業者であれば、本発明の範囲を逸脱することなく本発明の種々の修正および変形をなすことができる。本発明は、添付の特許請求の範囲またはそれらの均等物によって規定される保護の範囲に含まれる修正および変形に及ぶ。
【国際調査報告】
2010525420.tif 000025
2010525420.tif 000026
2010525420.tif 000027
2010525420.tif 000028