(57)【特許請求の範囲】
【請求項１】
ファイルがメタ情報ファイルおよび複数のピースに分割されてネットワーク上に分散配置され、一のピアが前記メタ情報ファイルを取得し、このメタ情報ファイルに基づいて、ネットワーク上の各ピアからP2P通信でピースを収集し、前記ファイルを再構築するP2P通信方法において、
ピアに参加しない非ピア端末と、
前記非ピア端末の代理でピアに参加するプロキシ端末とを備え、
前記非ピア端末が、
メタ情報ファイルを取得する手順と、
前記メタ情報ファイルを含むプロキシ要求を前記プロキシ端末へ送信する手順とを含み、
前記プロキシ端末が、
前記プロキシ要求のメタ情報ファイルに基づいてトラッカーからピア情報を取得する手順と、
前記ピア情報に基づいてネットワーク上の各ピアからピースをダウンロードする手順と、
前記収集したピースを非ピア端末へ送信する手順と、
前記ダウンロードしたピースを、当該ピースをアップロードしない非ピア端末に代わってアップロードする手順とを含み、
前記非ピア端末がさらに、
前記メタ情報ファイルおよび受信したピースを合成してファイルを再構築する手順を含み、
前記非ピア端末は、前記ダウンロードされたピースをアップロードしないことを特徴とするP2P通信方法。
【請求項２】
ファイルがメタ情報ファイルおよび複数のピースに分割されてネットワーク上に分散配置され、一のピアが前記メタ情報ファイルを取得し、このメタ情報ファイルに基づいて、ネットワーク上の各ピアからP2P通信でピースを収集してファイルを再構築するP2P通信システムにおいて、
ピアに参加しない非ピア端末と、
前記非ピア端末の代理でピアに参加するプロキシ端末とを備え、
前記非ピア端末が、
メタ情報ファイルを取得する手順と、
前記メタ情報ファイルを含むプロキシ要求を前記プロキシ端末へ送信する手順とを含み、
前記プロキシ端末が、
前記プロキシ要求のメタ情報ファイルに基づいてトラッカーからピア情報を取得する手順と、
前記ピア情報に基づいてネットワーク上の各ピアからピースをダウンロードする手順と、
前記メタ情報ファイルおよび収集したピースを合成してファイルを再構築する手順と、
前記再構築されたファイルを非ピア端末へ送信する手順と、
前記ダウンロードしたピースを、当該ピースをアップロードしない非ピア端末に代わってアップロードする手順とを含み、
前記非ピア端末は、前記ピースをアップロードしないことを特徴とするP2P通信方法。
【請求項３】
前記プロキシ端末がさらに、
各ピアから収集したピースを認証する手順を含むことを特徴とする請求項１または２に記載のP2P通信方法。
【請求項４】
前記プロキシ端末の上りリンク速度が前記非ピア端末の上りリンク速度よりも速いことを特徴とする請求項１ないし３のいずれかに記載のP2P通信方法。
【請求項５】
前記非ピア端末の下りリンク速度が上りリンク速度よりも速いことを特徴とする請求項１ないし４のいずれかに記載のP2P通信方法。
【請求項６】
ファイルがメタ情報ファイルおよび複数のピースに分割されてネットワーク上に分散配置され、一のピアが前記メタ情報ファイルを取得し、このメタ情報ファイルに基づいて、ネットワーク上の各ピアからP2P通信でピースを収集し、前記ファイルを再構築するP2P通信システムにおいて、
ピアに参加しない非ピア端末と、
前記非ピア端末の代理でピアに参加するプロキシ端末とを備え、
前記非ピア端末が、
メタ情報ファイルを取得する手段と、
前記メタ情報ファイルを含むプロキシ要求を前記プロキシ端末へ送信する手段とを含み、
前記プロキシ端末が、
前記プロキシ要求のメタ情報ファイルに基づいてトラッカーからピア情報を取得する手段と、
前記ピア情報に基づいてネットワーク上の各ピアからピースをダウンロードする手段と、
前記ダウンロードしたピースを非ピア端末へ送信する手段と、
前記ダウンロードしたピースを、当該ピースをアップロードしない非ピア端末に代わってアップロードする手段とを含み、
前記非ピア端末がさらに、
前記メタ情報ファイルおよび受信したピースを合成してファイルを再構築する手段を含み、
前記非ピア端末は、前記受信したピースをアップロードしないことを特徴とするP2P通信システム。
【請求項７】
ファイルがメタ情報ファイルおよび複数のピースに分割されてネットワーク上に分散配置され、一のピアが前記メタ情報ファイルを取得し、このメタ情報ファイルに基づいて、ネットワーク上の各ピアからP2P通信でピースを収集してファイルを再構築するP2P通信システムにおいて、
ピアに参加しない非ピア端末と、
前記非ピア端末の代理でピアに参加するプロキシ端末とを備え、
前記非ピア端末が、
メタ情報ファイルを取得する手段と、
前記メタ情報ファイルを含むプロキシ要求を前記プロキシ端末へ送信する手段とを含み、
前記プロキシ端末が、
前記プロキシ要求のメタ情報ファイルに基づいてトラッカーからピア情報を取得する手段と、
前記ピア情報に基づいてネットワーク上の各ピアからピースをダウンロードする手段と、
前記メタ情報ファイルおよび収集したピースを合成してファイルを再構築する手段と、
前記再構築されたファイルを非ピア端末へ送信する手段と、
前記ダウンロードしたピースを、当該ピースをアップロードしない非ピア端末に代わってアップロードする手段とを含み、
前記非ピア端末は、前記ピースをアップロードしないことを特徴とするP2P通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピア・ツー・ピア通信方法およびシステムに係り、特に、リンク速度が遅い端末でも高速なファイル交換を可能にするピア・ツー・ピア通信方法およびシステムに関するものである。
【背景技術】
【０００２】
近年の高速ADSLやFTTHを利用したインターネット接続の普及に伴い、従来のクライアント／サーバ型のサービス形態に代わり、特許文献１に開示されているような、サーバを介さずにコンピュータ端末同士がピア・ツー・ピア(P2P:Peer to peer)通信で映画や音楽などの大容量のコンテンツファイルを交換するサービスが増えている。特に、コンテンツファイルをピース状に細分化し、複数のピアが分散的にファイルを共有するBitTorrent（ビットトレント）のようなP2P通信が急激に増えている。
【０００３】
図１０は、BitTorrentのネットワーク構成を示したブロック図であり、映画や音楽などのコンテンツファイルは、ピース状に分割された多数のファイル片（以下、単にピースと表現する）と、後述するトラッカーへのリンクおよび各ピースのハッシュ値を含むメタ情報ファイルとに分割される。このメタ情報ファイルは、BitTorrentではトレントファイル(.torrent)と呼ばれ、所定のWebサーバに配置される。前記ピースは、ネットワーク上の多数のピアPiへ分散配置される。
【０００４】
コンテンツファイルのダウンロードを希望するピアP1は、そのトレントファイルが保存されているWebサーバにアクセス(1)して当該トレントファイルを取得(2)し、これをトラッカーへ送信(3)してピア情報を要求する。前記トラッカーは、トレントファイルごとにピアPiのIPアドレスを管理するサーバであり、ピア情報要求を受信したトラッカーは、指定されたトレントファイルと対応付けられているピア情報リストを要求元のピアP1へ返信(4)する。ピア情報リストを受信したピアP1は、リストアップされている各ピアPiとの間にP2P接続を確立(5)し、下りリンクを利用してピースをダウンロードする。
【０００５】
ピースを取得したピアP1は、当該ピースから計算されるハッシュ値とトレントファイルに予め登録されている当該ピースのハッシュ値とを比較し、両者が一致すれば正規のピースとして保存する一方、不一致であれば不正ファイルとして破棄する。その後、全てのピースが揃うと、これら全てのピースとトレントファイルとを合成してコンテンツファイルを生成する。その後、ピアP1はファイルの供給ノードとして機能し、各ピアからの要求に応答してピースを上りリンクでアップロードする。
【特許文献１】特開２００３−１１４８５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のP2P通信によるファイル交換では、ピア同士が上り速度および下り速度のいずれもが高速のADSLやFTTHのアクセス回線を使用していれば効率的かつ高速なファイル交換を実現できる。しかしながら、無線リンクを使用した接続では、ピアとなる端末の送信信号が基地局からの送信信号より一般に微弱であるため、下りリンク速度に較べて上りリンク速度が遅くなる。このため、ADSLやFTTHリンクに接続されたピア端末と無線リンクに接続されたピア端末との間でP2P通信する場合、無線リンクの上りリンクがボトルネックとなって効率の良い高速なファイル交換が難しくなる。
【０００７】
特に、BitTorrentのファイル交換アルゴリズムは、ファイル供給に寄与しないピアには、ピースをダウンロードさせない仕組みになっている。このため、無線リンクに接続されたピアのダウンロード速度は益々遅くなる。
【０００８】
本発明の目的は、上記した従来技術の課題を解決し、リンク速度が遅い端末でも高速なファイル交換を可能にするピア・ツー・ピア通信方法およびシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上記した目的を達成するために、本発明は、ファイルがメタ情報ファイルおよび複数のピースに分割されてネットワーク上に分散配置され、一のピアが前記メタ情報ファイルを取得し、このメタ情報ファイルに基づいて、ネットワーク上の各ピアからP2P通信でピースを収集し、前記ファイルを再構築するP2P通信方法において、ピアに参加しない非ピア端末、および非ピア端末の代理でピアに参加するプロキシ端末を配置し、この非ピア端末およびプロキシ端末が以下のような手順を実行することを特徴とする。
【００１０】
(1)非ピア端末が、メタ情報ファイルを取得する手順と、前記メタ情報ファイルを含むプロキシ要求を前記プロキシ端末へ送信する手順とを含み、
【００１１】
前記プロキシ端末が、前記プロキシ要求のメタ情報ファイルに基づいてトラッカーからピア情報を取得する手順と、前記ピア情報に基づいてネットワーク上の各ピアからピースをダウンロードする手順と、前記収集したピースを非ピア端末へ送信する手順とを含み、
【００１２】
前記非ピア端末がさらに、前記メタ情報ファイルおよび受信したピースを合成してファイルを再構築する手順を含むことを特徴とする。
【００１３】
(2)非ピア端末が、メタ情報ファイルを取得する手順と、前記メタ情報ファイルを含むプロキシ要求を前記プロキシ端末へ送信する手順とを含み、
【００１４】
前記プロキシ端末が、前記プロキシ要求のメタ情報ファイルに基づいてトラッカーからピア情報を取得する手順と、前記ピア情報に基づいてネットワーク上の各ピアからピースをダウンロードする手順と、前記メタ情報ファイルおよび収集したピースを合成してファイルを再構築する手順と、前記再構築されたファイルを非ピア端末へ送信する手順とを含むことを特徴とする。
【００１５】
(3)プロキシ端末がさらに、各ピアから収集したピースを認証する手順を含むことを特徴とする。
【００１６】
(4)プロキシ端末がさらに、ダウンロードしたピースをアップロードする手順を含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば以下のような効果が達成される。
【００１８】
(1)非ピア端末が、自身の代わりにプロキシ端末をピアに参加させ、このプロキシ端末がP2P通信で各ピアからダウンロードしたピースを、当該プロキシ端末から直接ダウンロードするので、非ピア端末のリンク速度が低速であったり、非ピア端末の処理能力が低い場合でも、高速なファイル交換が可能になる。
【００１９】
(2)P2P通信でダウンロードしたピースの認証をプロキシ端末で行うようにしたので、非ピア端末の処理負荷を低減できる。
【００２０】
(3)各ピアからダウンロードしたピースおよびトレントファイルを合成してコンテンツファイルを再構築する処理をプロキシ端末で行い、プロキシ端末から非ピア端末へコンテンツファイルが転送されるようにすれば、非ピア端末の処理負荷を更に低減できる。
【００２１】
(4)ダウンロードしたピースを、プロキシ端末が非ピア端末に代わってアップロードするようにしたので、非ピア端末の上りリンク速度が低速であり、かつピースのダウンロード速度がアップロード速度に依存する、BitTorrentのようはファイル交換アルゴリズムでも、高速なダウンロードが可能になる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の最良の実施の形態について詳細に説明する。図１は、本発明のP2P通信方法およびシステムが適用されるネットワーク構成の一例を示した図であり、ここでは、低速の無線リンクでゲートウエイ(GW)を介してインターネット１に接続できる携帯電話２が、インターネット１上の各ピア３から所望のコンテンツファイルを収集する場合を例にして説明する。
【００２３】
本実施形態では、前記携帯電話２がピアに参加しない非ピア端末であり、この携帯電話２にピア機能部５を設け、インターネット１と高速リンクで接続されたGWにプロキシ機能部４を設けてピアに参加させ、このプロキシ機能部４が、携帯電話２のピア機能部５から送信されるプロキシ要求に応答して各ピアからファイルのピースを代理で収集し、収集したピースを低速の無線リンク経由で携帯電話２のピア機能部５へ転送する。
【００２４】
図２は、前記非ピア端末としての携帯電話２に実装されるピア機能部５の主要部の構成を示した機能ブロック図であり、ここでは、本発明の説明に不要な構成は図示が省略されている。
【００２５】
メタ情報取得部２１は、ダウンロードするコンテンツファイルのメタ情報ファイルを管理するWebサーバにアクセスしてメタ情報ファイルを取得する。本実施形態では、メタ情報ファイルとしてトレントファイル(.torrent)が取得され、記憶部２０に記憶される。プロキシ要求部２２は、前記取得したトレントファイルを含むプロキシ要求をGWのプロキシ機能部４へ送信する。
【００２６】
ダウンロード部２３は、GWのプロキシ機能部４が各ピアから収集したピースを当該プロキシ機能部４からダウンロードして記憶部２０に記憶する。コンテンツファイル生成部２４は、記憶部２０に記憶されている全てのピースおよびトレントファイルを合成してコンテンツファイルを再構築し、これを記憶部２０に記憶する。コンテンツファイル再生部２５は、前記再構築されたコンテンツファイルを適宜に再生する。
【００２７】
図３は、前記GWに実装されるプロキシ機能部４の主要部の構成を示した機能ブロック図であり、ここでも、本発明の説明に不要な構成は図示が省略されている。
【００２８】
プロキシ要求受付部４１は、携帯電話２のピア機能部５から送信されたプロキシ要求を受信し、当該プロキシ要求に登録されているトレントファイル（メタ情報ファイル）を抽出し、これを記憶部４０へ記憶する。ピア情報取得部４２は、前記抽出されたトレントファイルを含むピア情報要求をトラッカーへ送信してピア情報リストを取得し、これを記憶部４０に記憶する。ダウンロード部４３は、前記取得されたピア情報リストに登録されている各ピアとの間にP2P接続を確立してピースをダウンロードする。
【００２９】
ピース認証部４４は、ダウンロードされたピースから計算されるハッシュ値とトレントファイルに予め登録されている当該ピースのハッシュ値とを比較し、両者が一致すれば正規のピースとして記憶部４０に保存する一方、不一致であれば不正ファイルとして破棄する。ピース転送部４５は、認証に成功したピースを携帯電話２のピア機能部５へ転送する。アップロード部４６は、ダウンロードしたピースを適宜にアップロードする。
【００３０】
前記ピア情報取得部４２、ダウンロード部４３、ピース認証部４４およびアップロード部４６は、従来のピアが備える機能と同一または同等であり、既知のBitTorrentクライアントなどで実現できる。
【００３１】
次いで、本実施形態の動作を図４，５のフローチャートおよび図６のシーケンスフローを参照して説明する。図４は、前記携帯電話２のピア機能部５の動作を示し、図５は、前記GWのプロキシ機能部４の動作を示している。
【００３２】
携帯電話２のピア機能部５では、図４のステップＳ１１において、ユーザによりトレントファイルおよびその保存先が指定されると、ステップＳ１２では、トレントファイルの識別子を含むトレントファイル要求が、前記メタ情報取得部２１から、その保存先のWebサーバへ送信される。Webサーバからトレントファイルが送信され、これがステップＳ１３で受信されると、ステップＳ１４では、GWのプロキシ機能部４との間で接続・認証処理が実行される。
【００３３】
プロキシ機能部４では、図５のステップＳ３１において、携帯電話２のピア機能部５からの接続・認証要求が前記プロキシ要求受付部４１で受信されると、ステップＳ３２で接続・認証処理が実行される。ステップＳ３３において、接続・認証に成功したと判定されると、ステップＳ３４ではBitTorrentクライアントが起動される。その結果、前記ピア情報取得部４２、ダウンロード部４３、ピース認証部４４およびアップロード部４６が仮想的に実装され、携帯電話２に対してクライアント起動通知が送信される。なお、前記ステップＳ３３において、接続・認証に失敗すると、ステップＳ４７へ進んで接続が切断される。
【００３４】
図４へ戻り、携帯電話２のピア機能部５では、ステップＳ１５において前記クライアント起動通知を受信すると、ステップＳ１６では、前記Webサーバから取得したトレントファイルが、前記プロキシ要求部２２によってGWのプロキシ機能部４へ送信される。
【００３５】
図５へ戻り、プロキシ機能部４では、このトレントファイルがステップＳ３５で前記プロキシ要求受付部４１において受信されると、ステップＳ３６では、当該トレントファイルを含むピア情報要求が、前記ピア情報取得部４２からトラッカーへ送信される。ステップＳ３７において、トラッカーから返信されたピア情報リストが受信されると、ステップＳ３８では、当該リストに登録されている各ピアからP2P通信によりピースを収集するピース受信処理が、前記ダウンロード部４３において実行される。
【００３６】
本実施形態では、ステップＳ３９においてピースが受信されるごとにステップＳ４０へ進み、前記ピース認証部４４において、当該受信されたピースから計算されるハッシュ値と、当該受信したピースに対応付けられてトレントファイルに登録されているハッシュ値とに基づいてファイル認証が実行される。ステップＳ４１において、認証に成功したと判定されたピースは一時記憶されると共に、ステップＳ４２において、前記ピース転送部４５により携帯電話２へ転送される。認証に失敗したと判定されたピースは、ステップＳ４８で破棄される。
【００３７】
上記したピース受信処理は、全てのピースの受信が完了するまで繰り返され、ステップＳ４３において、全てのピースの受信を完了すると、ステップＳ４４において携帯電話２へ終了通知が送信される。
【００３８】
図４へ戻り、携帯電話２のピア機能部５では、GWのプロキシ機能部４が前記ステップＳ４２で転送したピースが、ステップＳ１７においてダウンロード部２３において受信されると、ステップＳ２１へ進んで当該ピースが記憶される。その後、全ピースの転送・蓄積が完了し、プロキシ機能部４が前記ステップＳ４４で送信した終了通知がステップ１８で受信されると、ステップＳ１９でACKが返信される。ステップＳ２０では、前記コンテンツファイル生成部２４において、全てのピースとトレントファイルとが合成されてコンテンツファイルが生成される。
【００３９】
図５へ戻り、GWのプロキシ機能部４では、前記ACKがステップＳ４５で受信されると、ステップＳ４６では、ダウンロードしたピースのアップロードが開始される。
【００４０】
本実施形態によれば、非ピア端末である携帯電話２が、自身の代わりにGWをプロキシ端末としてピアに参加させ、このプロキシ端末がP2P通信で各ピアからダウンロードしたピースを、当該プロキシ端末から直接ダウンロードするので、非ピア端末のリンク速度が低速であったり、非ピア端末の処理能力が低い場合でも、高速なファイル交換が可能になる。
【００４１】
また、本実施形態では、P2P通信でダウンロードしたピースの認証をプロキシ端末で行うようにしたので、非ピア端末の処理負荷を低減できる。
【００４２】
図７、８は、前記GWのプロキシ機能部４および携帯電話２のピア機能部５の他の構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表している。
【００４３】
上記した実施形態では、GWのプロキシ機能部４から携帯電話２のピア機能部５へピースが転送され、携帯電話２がトレントファイルと全ピースとに基づいてコンテンツファイルを再構築するものとして説明したが、本実施形態では、GWのプロキシ機能部４がトレントファイルと全ピースとに基づいてコンテンツファイルを再構築し、コンテンツファイルを携帯電話２へ転送する。
【００４４】
本実施形態では、図７に示した携帯電話２のピア機能部５において、前記ファイル生成部２４が省略され、記憶部２０ではピースの記憶領域が省略されている。これに対して、図８に示したGWのプロキシ機能部４では、自身でダウンロードしたピースおよびトレントファイルに基づいてコンテンツファイルを再構築するファイル生成部４７が追加されると共に、前記ピース転送部４５に代えて、コンテンツファイルを携帯電話２のピア機能部５へ転送するファイル転送部４８が設けられている。
【００４５】
本実施形態によれば、コンテンツファイルを再構築する処理がGWに委ねられるので、携帯電話２の処理負荷を更に低減できるようになる。
【００４６】
図９は、本発明のP2P通信方法およびシステムが適用される他のネットワーク構成の一例を示した図であり、ユーザの宅内GWにはコンピュータPCが高速な有線LANで接続されると共に、無線アクセスポイントAPを経由して無線LAN対応のPDAが、低速の無線LANで接続されている。
【００４７】
上記した各実施形態では、携帯電話２が携帯IPネットワーク経由でピースあるいはコンテンツファイルをダウンロードするものとして説明したが、本実施形態では、コンピュータPCに前記プロキシ機能部４を実装してピア参加させ、コンピュータPCがプロキシとして各ピア３からダウンロードしたピースまたはトレントファイルが、GWおよびAPを経由して無線LANでPDAのピア機能部５に転送されるようにした点に特徴がある。本実施形態によれば、携帯IPネットワークのように帯域の制約が大きいネットワークを経由することなくBitTorrentを利用できるようになる。
【００４８】
なお、上記した実施形態では、クライアントソフトとしてBitTorrentを用い、トレントファイルをトラッカーサイトへ送信してピア情報リストを取得するものとして説明したが、本発明はこれのみに限定されるものではなく、コンテンツファイルがトレントファイル等のメタ情報ファイルおよび複数のピースに分割されてネットワーク上に分散配置され、一のピアが前記メタ情報ファイルを取得し、このメタ情報ファイルに基づいて、ネットワーク上の各ピアからP2P通信でピースを収集してコンテンツファイルを再構築するP2P通信システムであれば、どのようなP2P通信システムにも同様に適用できる。
【図面の簡単な説明】
【００４９】
【図１】本発明のP2P通信方法およびシステムが適用されるネットワーク構成の一例を示した図である。
【図２】携帯無線端末に実装されるピア機能部５の機能ブロック図である。
【図３】GWに実装されるプロキシ機能部の機能ブロック図である。
【図４】携帯電話のピア機能部の動作を示したフローチャートである。
【図５】GWのプロキシ機能部の動作を示したローチャートである。
【図６】本発明の一実施形態のシーケンスフローである。
【図７】携帯無線端末に実装されるピア機能部５の他の機能ブロック図である。
【図８】GWに実装されるプロキシ機能部の他の機能ブロック図である。
【図９】本発明のP2P通信方法およびシステムが適用される他のネットワーク構成の一例を示した図である。
【図１０】BitTorrentのネットワーク構成を示したブロック図である。
【符号の説明】
【００５０】
１…インターネット，２…携帯電話，３…ピア，４…プロキシ機能部，５…ピア機能部
【図１】
0004999000.tif 000002
【図２】
0004999000.tif 000003
【図３】
0004999000.tif 000004
【図４】
0004999000.tif 000005
【図５】
0004999000.tif 000006
【図６】
0004999000.tif 000007
【図７】
0004999000.tif 000008
【図８】
0004999000.tif 000009
【図９】
0004999000.tif 000010
【図１０】
0004999000.tif 000011