JP2004213508A - ピアツーピア技術を用いたファイルダウンロード方法及びシステム - Google Patents
ピアツーピア技術を用いたファイルダウンロード方法及びシステム Download PDFInfo
- Publication number
- JP2004213508A JP2004213508A JP2003001808A JP2003001808A JP2004213508A JP 2004213508 A JP2004213508 A JP 2004213508A JP 2003001808 A JP2003001808 A JP 2003001808A JP 2003001808 A JP2003001808 A JP 2003001808A JP 2004213508 A JP2004213508 A JP 2004213508A
- Authority
- JP
- Japan
- Prior art keywords
- file
- client
- server
- peer
- clients
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【解決手段】相互に通信可能な情報ネットワークNW上において、クライアントC1がファイルサーバSVにファイルを要求する場合、サーバSVからだけでなく、要求するファイルのコピーまたは一部分を保持するクライアントC2からもピアツーピア通信でデータを取得するようにする。これにより、より高速にファイルをダウンロードすることが可能となる。さらに、サーバSVにネットワーク負荷が集中してダウンロードが困難な場合でも、クライアントC2からファイルを入手することができる。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、互いに通信可能でありネットワークに接続されている情報を提供するサーバとファイルを要求するクライアント間でファイルを転送する技術に関する。
【0002】
【従来の技術】
ネットワークに接続されたサーバからクライアントにファイルをダウンロードする際には、サーバとネットワーク間の混雑及びネットワークとクライアント間での通信速度等のボトルネック解消による、ダウンロード時間の短縮が課題である。これに対し、特許文献1に記載の技術では、インターネットサービスプロバイダ(以下、ISPと略す)と契約した会員が、パーソナルコンピュータ(以下、PCと略す)を一般公衆回線を介してISPに接続すると共に、PCから会員の携帯電話によりデジタル携帯電話公衆回線を介して同時にISPに接続し、ISPとPC間で2回線の接続を確立することにより、分割したファイルを並行送出し、高速にPCにダウンロードするものである。
【0003】
また、特許文献2に記載の技術は、オブジェクトポンプと呼ばれる情報オブジェクト格納装置を、サーバより広帯域なクライアントの近傍に配置し、クライアントからのデータ要求をサーバの代理で配信したり、さらにそのデータを判別してキャッシュしておくことによってクライアント・サーバ間の通信の効率を上げるものである。
【0004】
【特許文献1】特開2002−215497号公報(図1、図6など)
【0005】
【特許文献2】特開2001−184252号公報(図2A〜図2Cなど)
【0006】
【発明が解決しようとする課題】
しかしながら、特許文献1に記載の技術では、ISPとPC間の通信経路を二重化して通信速度の向上を図っているので、サーバからクライアントに対してデータが流れるという仕組みには変わりは無く、インターネット内の混雑やサーバにアクセスが集中することによる転送速度の低下に対しては対処することができない。また、通信経路は手持ちの機器のみに限定され、なおかつ一般公衆回線の他に携帯電話公衆回線も利用するので通信費が割高となる。
【0007】
また、特許文献2に記載の技術では、オブジェクトポンプを事前に専用機として設置しておく必要があり、またオブジェクトポンプをネットワーク上のサーバと見なすことができるため、アクセスの集中に関しては同様の問題がある。
【0008】
さらに、インターネットに存在する既存のピアツーピア通信は、データの流れが一方向であり、ファイルの相互補完の役割は果たしていない。
【0009】
本発明の目的は、クライアントが要求するファイルを、サーバだけでなくコピーを保持しているネットワーク上の他のPCから入手することにより、サーバの転送速度を超えてファイルをダウンロードすることを可能にすると共に、サーバにアクセスが集中するなどしてデータの入手が困難な場合でもファイルをダウンロードできるようにする技術を提供することである。
【0010】
【課題を解決するための手段】
上記目的を達成するため、請求項1に係る発明は、ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、前記ファイル取得要求を受信した前記ファイルサーバから前記第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始するステップと、前記ファイル取得要求を受信した前記ファイルサーバにて、要求されたファイルをダウンロードしている第2のクライアントがあるか否か判別するステップと、前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、前記指示を受けて第2のクライアントから前記第1のクライアントに、前記ファイルのブロックを送信するステップと、前記第1のクライアントにて、前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成するステップとを備えることを特徴とする。
【0011】
請求項2に係る発明は、ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、前記ファイル取得要求を受信した前記ファイルサーバから前記第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始するステップと、前記ファイル取得要求を受信した前記ファイルサーバにて、要求されたファイルをダウンロードしている複数の第2のクライアントがあるか否か判別するステップと、前記複数の第2のクライアントがあったとき、前記第1のクライアント及び複数の第2のクライアントに対して、前記第2のクライアントのそれぞれが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、前記指示を受けて前記第2のクライアントのそれぞれから前記第1のクライアントに、前記ファイルのブロックを送信するステップと、前記第1のクライアントにて、前記ファイルサーバから取得したブロックと前記複数の第2のクライアントから取得したブロックとを合わせてファイルを構成するステップとを備えることを特徴とする。
【0012】
請求項3に係る発明は、ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、前記ファイルサーバにて、前記ファイル取得要求に対してデータ送信できないと判断した場合、要求されたファイルを持つ第2のクライアントがあるか否か判別するステップと、前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、前記指示を受けて第2のクライアントから前記第1のクライアントに前記ファイルを送信するステップとを備えることを特徴とする。
【0013】
請求項4に係る発明は、ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、前記ファイルサーバにて、前記ファイル取得要求に対してデータ送信できないと判断した場合、要求されたファイルを所定数に分割したブロックのうちの何れかのブロックを持つ複数の第2のクライアントを探索するステップと、前記第1のクライアント及び探索された複数の第2のクライアントに対して、前記第2のクライアントのそれぞれが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、前記指示を受けて前記複数の第2のクライアントのそれぞれから前記第1のクライアントに、前記ファイルのブロックを送信するステップと、前記第1のクライアントにて、前記複数の第2のクライアントから取得したブロックを合わせてファイルを構成するステップとを備えることを特徴とする。
【0014】
請求項5に係る発明は、請求項1または2に記載のファイルダウンロード方法において、前記第2のクライアントから前記第1のクライアントへピアツーピア通信でデータ送信するのと並行して、前記第1のクライアントから前記第2のクライアントへ前記ファイルのブロックを送信することを特徴とする。
【0015】
請求項6に係る発明は、請求項1または5に記載のファイルダウンロード方法において、前記ファイルを分割したブロックは所定の順序で順序付けられており、前記ファイルサーバから前記第2のクライアントへのブロック単位の送信及び前記第2のクライアントから前記第1のクライアントへのブロック単位の送信は前記順序に従って行い、前記ファイルサーバから前記第1のクライアントへのブロック単位の送信及び前記第1のクライアントから前記第2のクライアントへのブロック単位の送信は前記順序に対して逆の順序に従って行うことを特徴とする。
【0016】
請求項7に係る発明は、ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、前記ファイルサーバは、第1のクライアントから送信されるファイル取得要求を受信する手段と、前記ファイル取得要求を送信した第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、要求されたファイルをダウンロードしている第2のクライアントがあるか否か判別する手段と、前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示する手段とを備え、前記第1のクライアントは、前記ファイルサーバにファイル取得要求を送信する手段と、前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第2のクライアントと接続し、第2のクライアントから送信される前記ファイルのブロックを受信する手段と、前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成する手段とを備え、前記第2のクライアントは、前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて前記ファイルのブロックを送信する手段を備えることを特徴とする。
【0017】
請求項8に係る発明は、ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、前記ファイルサーバは、第1のクライアントから送信されるファイル取得要求を受信する手段と、前記ファイル取得要求に対してデータ送信できないと判断した場合、要求されたファイルを持つ第2のクライアントがあるか否か判別する手段と、前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルをピアツーピア通信で前記第1のクライアントに送信することを指示する手段とを備え、前記第1のクライアントは、前記ファイルサーバに対してファイル取得要求を送信する手段と、前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第2のクライアントと接続し、第2のクライアントから送信される前記ファイルを受信する手段とを備え、前記第2のクライアントは、前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて前記ファイルを送信する手段を備えることを特徴とする。
【0018】
請求項9に係る発明は、ネットワーク経由で接続された1台以上のクライアントに対してファイルを供給するファイルサーバであって、第1のクライアントから送信されるファイル取得要求を受信する手段と、前記ファイル取得要求を受信したとき、前記第1のクライアントに対して要求されたファイルを送信する帯域を確保できるか否か判別する手段と、帯域を確保できる場合は、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、要求されたファイルをダウンロードしている第2のクライアントがあるか否か判別する手段と、前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示する手段とを備えることを特徴とする。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して具体的に説明する。
【0020】
図1は、本実施形態のピアツーピア技術を用いたファイルダウンロードシステムの概念を示す説明図である。図1に示すように、パブリックにファイルを提供するファイルサーバSVと、そのファイルサーバSVから同一ファイルのダウンロードを要求するクライアントC1およびクライアントC2が、インターネットなどの通信ネットワークNWを介して相互に通信可能な状態で接続されている。サーバSVは、ファイルをブロックと呼ばれる論理的な情報単位に分割し、クライアントC1とクライアントC2に向けてブロックの重複がないようにデータD1とデータD2に分けて送信する。クライアントC1とクライアントC2は、サーバSVを介して互いのアドレス情報を取得して接続を確立する。クライアントC1は、サーバSVから送信されたブロックを自身に溜め込むと共に、クライアントC2が入手していないブロックをクライアントC2に向けて送信する(D4)。クライアントC2も同様に、クライアントC1が入手していないブロックをクライアントC1に向けて送信する(D5)。
【0021】
図2は、ファイルが通信ネットワークを通してサーバやクライアントで処理される過程を示す例の説明図である。サーバSVは、送信するファイルを内部でブロック単位に分けて管理し、クライアントC1とクライアントC2に送信する。例えば、クライアントC2に対してはファイルをブロック化した順番で先頭のブロックから順に送信し、クライアントC1に対してはブロック化した末尾から逆順に送信する。これにより、クライアントC1に送信するブロックとクライアントC2に送信するブロックとがなるべく重複しないように送信する。図2は、サーバSVからクライアントC2に向けて、ブロック1,2,3,4までこの順に送信し、現在ブロック5を送信中であることを示している。また、サーバSVからクライアントC1に向けて、ブロック10,9,8までこの順に送信し、現在ブロック7,6をこの順に送信中であることを示している。
【0022】
クライアントC1は、1つのブロックの受信を完了すると自己の記憶装置に保存すると共に、直ちにそのブロックをクライアントC2に向けて送信する。クライアントC2も同様に、受信ブロックをクライアントC1に向けて送信する。図2は、クライアントC1からC2へブロック9を送信し、クライアントC2からC1へブロック3,4を送信しているところを示す。各クライアントは、サーバSVから受信したブロックとピアツーピア接続した相手から受信したブロックを全て結合して目的のファイルに変換する。
【0023】
以上の図2は、ピアツーピア通信だけでなく、サーバSVから送られたブロックとピアツーピア通信で他のクライアントから送られたブロックとを結合して目的のファイルを得るモードである。
【0024】
図3は、サーバにクライアントが接続不可能な場合の事例を示す説明図である。ファイルサーバSVは、クライアントへファイル転送する際に一定の帯域を確保するために、制限を越えるクライアントC1の接続要求(R1)を拒否する。その代わりとして、要求されたファイル(F1)の複製を持ち、かつ現在ネットワークNWに接続中であるクライアントC2からファイルを取得するようにクライアントC1に指示を出し(R2)、同様にクライアントC2に対してもクライアントC1と通信を開始するように指示を出す(R3)。その後、要求されたファイルF1の全ての内容がクライアントC2からクライアントC1に送信される(D8)。
【0025】
以上の図3は、クライアントがピアツーピア通信だけで他のクライアントから目的のファイルを得るモードである。
【0026】
次に、図4のフローチャートを用いて、図1、図2および図3に示した本実施形態の動作処理を説明する。ファイルサーバSVは、ネットワークNW上に存在するクライアントC1からファイルの取得要求を受信すると(S101)、クライアントC1のネットワーク上のアドレスと要求されたファイル名を取得する(S102)。このときにファイルサーバSVは、クライアントC1に対してある基準以上の転送速度でファイルが送出可能かどうか帯域調査機能を用いて調査し(S103)、帯域に余裕があれば送出することを決定し、S107に進む。帯域に余裕が無ければ、ファイルサーバSVからの送出を諦めてピアツーピア接続間でのファイル転送のみとすることを決定し、サーバSVからのデータ送信を拒否する(S104)。ただし、ネットワークNW上に同ファイルのコピーを持つ他のクライアントがあるか否かチェックし(S105)、あればS110へ進む。通信可能なネットワーク上のどのクライアントにも目的のファイルが存在しなければ、クライアントC1はファイルを入手することができない(S105、S106)。
【0027】
S103でファイルサーバSVからのデータ送出を決定した場合は、蓄えられているクライアントの情報の中からクライアントC1が要求するファイルと同じファイルを接続中の他のクライアントがダウンロード中でないかを調査する(S107)。その結果、該当するファイルを他のクライアントがダウンロード中でなければ、ファイルサーバSVは、クライアントC1に向けてそのファイルのブロックの先頭から順番に送信し、ブロックが全てクライアントC1に受信されると受信完了通知を受け取って通信を終了する(S108)。その後、サーバSVからクライアントC1の情報を削除する(S109)。ただし、そのファイルの受信中に別のクライアントがそのファイルを要求してきた場合、クライアントC1はピアツーピア通信のペアの対象となる可能性がある。その場合はクライアントC2の役割を果たす。
【0028】
調査(S107)の結果、該当ファイルを他のクライアントがダウンロードしている途中であった場合は、クライアントC1とペアになってピアツーピア接続を行うクライアントを選定する。まず、該当ファイルをダウンロード中であるクライアントが1台であるか否かをチェックする(S110)。1台であれば、そのクライアントが無条件にペアとなるクライアントC2として決定される(S110、S112)。ダウンロード中のクライアントが複数の場合、該当するクライアントのアドレスリストをクライアントC1に送信し、クライアントC1がそのリストをもとにクライアント間の転送速度テストや距離の測定、またはランダム選択によってペアとなるクライアントC2を決定する(S111、S112)。サーバSVからのデータ送信を拒否されて、ファイル転送がピアツーピア通信のみの場合(S105からS110に進んだ場合)でも、同様にしてペアとなるクライアントC2を決定する。
【0029】
ピアツーピア通信の相手となるクライアントC2が決定すると、ファイルサーバSVは、クライアントC2に対してクライアントC1のアドレスを通知し、ピアツーピア通信の準備をするように指示する(S113)。クライアントC1に対しては、クライアントC2のアドレスを通知してピアツーピア通信を開始するように指示する(S114)。これ以降のピアツーピア通信は、図2のデータの流れD6、D7に従って各クライアント間で制御される。
【0030】
ここで、ファイル転送がピアツーピア通信のみのモードで無ければ(すなわち、図3でなく図2のモードの場合)、S115からS116に進み、ファイルサーバSVからクライアントC1に向けてデータが送信される。既にS113とS114によりピアツーピア通信でクライアントC2からクライアントC1にファイルの先頭ブロックから送信することを指示済であるので、ファイルサーバSVからは当該ファイルの末端からブロックを逆順に送信する。この送信は、クライアントC1からファイルの受信完了通知を受けるまで続ける(S116)。また、通知を受け取ったらクライアントC1とC2の情報を削除する(S117)。ファイル転送がピアツーピア通信のみのモード(すなわち、図3のモード)の場合は、S115からS117に進む。既にS113とS114でピアツーピア通信によるファイル転送を指示しているので、サーバSVからデータ送信する必要はない。
【0031】
図5は、図4の処理S113、S114でファイルサーバSVがピアツーピア接続の指示をした後のクライアント間のデータ転送処理を示すフローチャートである。クライアントC2は、S113でピアツーピア接続の開始を指示されると、クライアントC1のアドレスをサーバSVから受信してクライアントC1からの接続要求を待つ(S201、S202)。クライアントC1は、S114でサーバSVからクライアントC2のアドレスを受信してピアツーピア接続の開始を指示されると、それに従いクライアントC2に接続要求を出す(S203、S204)。クライアントC2は、この接続要求を確認すると、両クライアントに対してデータの転送指示を行う(S205)。
【0032】
クライアントC1に対しては、ファイルサーバSVを送信元として当該ファイルの末尾ブロックから逆順に送信される(図2)か、または送信されない(図3)ので、クライアントC2は当該ファイルの先頭ブロックから順に送信する(S206)。逆にクライアントC2に対してはファイルサーバSVを送信元として当該ファイルの先頭ブロックから順に送信されているので、クライアントC1からは当該ファイルの末尾ブロックから逆順に送信する(S207)。ただし、クライアントC2に存在するファイルがすでにファイルサーバSV上のものと同一である場合、クライアントC2への送信は行わない。
【0033】
図6は、クライアントでのファイルの受信処理を示すフローチャートである。クライアントがファイルサーバSVにファイルの取得を要求すると(S301)、サーバSVから、対象ファイルのブロックサイズや総ブロック数などのブロック情報が返されるとともに、サーバSVのみからのダウンロードか(図4のS108)、サーバとピアツーピア通信の併用か(図2)、ピアツーピアのみの通信となるか(図3)、ファイル取得不可能か(図4のS106)のモードが返される(S302)。ファイルが取得可能であれば(S303)、ブロックを全て受信し(S304)、組み立ててファイル化して(S305)、サーバSVやピアツーピア通信の送信元に対してファイルの受信完了を通知する(S306)。ファイル取得不可能のときは(S303)、そのまま終了する。
【0034】
図7は、サーバSVと同じファイルのコピーを持つクライアントの動作を示すフローチャートである。ファイルサーバSVに接続して自分のアドレスや所有するファイルの情報をサーバに登録し、ピアツーピア接続の相手となるクライアントが現れるまで待機する(S401)。その後、ピアツーピア通信が開始され(S402)、ファイルのやり取りが完了するとサーバSVに登録された自分の情報が削除されるので(S403)、あらためて自分の情報を登録して待機する(S401)。なお、サーバへの登録を止めるまで(S404)のループ終了条件は、該クライアントがサーバSVから該ファイルを最初に取得してから一定時間経過したか、サーバSVが基準以上のファイル転送速度を回復してから一定時間経過したか、等によって判断する。
【0035】
図8は、サーバSVにおいてクライアントとの接続を管理するテーブルを示した表である。クライアントがサーバに接続すると、当該クライアントのアドレス、要求するファイル名、既に該当ファイルや一部分であるブロックを所持する場合はそれらの情報が、サーバに通知される。サーバSVは図8の管理テーブルにそれらの情報を格納する。このテーブルのレコードには、ファイルに対する一つの接続やピアツーピア接続のクライアント同士の接続に対して一意の管理番号を振り、管理を行う。管理テーブルのモードの列には、サーバ単独でのダウンロード、ピアツーピアとサーバからのダウンロードの併用、またはピアツーピアのみのダウンロードの種別が格納される。状態の列には、サーバとクライアント間やクライアント同士で現在どのような通信が行われているかの状態が格納される。サーバが各クライアントからファイルのダウンロードの終了通知を受け取ると、該当する接続情報の列を削除する。
【0036】
サーバSVは、このようなテーブルで各クライアントを管理し、このテーブルにより図7のS107やS104の判別を行っている。また、図7のS111ではこのテーブルの情報をクライアントに送ってピアツーピア通信の相手を決定させている。なお、クライアントにピアツーピアの相手を決定させる代わりに、サーバSVが図8のテーブルから適宜に相手クライアントを決定するようにしてもよい。
【0037】
上記実施の形態では、クライアント2台の場合を示したが、3台以上のクライアントにおいても同様に、並列ダウンロードと相互補完を実行することで、ダウンロード効率を向上できる。この場合、例えばダウンロード対象のファイルをサーバSV側でクライアント台数分の部分ファイルに分割し、各クライアントにはそれぞれ分割された部分ファイルの先頭ブロックからダウンロードさせる、等の方法によって実現可能である。3台以上のクライアントの場合でも、図8に示したのと同様なテーブルで各クライアントの状態をサーバで管理することにより、どのクライアントとどのクライアント間でピアツーピア通信によりどのブロックを転送すればよいかは、すべてサーバが管理できる。従って、サーバは必要充分なピアツーピア通信の指示が出せる。
【0038】
【発明の効果】
以上説明したように、本発明によれば、サーバとクライアント間の接続によるデータ転送だけでなく、まだサーバから取得していない部分をネットワークに接続された別のマシンから並列で取り込むことにより、従来より高速に情報オブジェクトを取得することができる。このために事前に機器をネットワーク上に用意していく必要も無い。
【0039】
さらに、クライアント同士でファイルの内容を相互に補完しあうことにより、後からファイルを要求したクライアントだけでなく、先に単独でダウンロード途中であったクライアントも転送速度がより高速になる。
【0040】
また、ファイルを格納するサーバを管理する上でも、帯域を制限することでクライアントに一定の転送速度を提供することが可能となり、サーバへのアクセス集中によるボトルネックを解消できる。
【図面の簡単な説明】
【図1】実施形態のピアツーピア技術を用いたファイルダウンロードシステムの概念を示す説明図
【図2】ネットワークを通してファイルが処理される過程を示す例の説明図
【図3】サーバにクライアントが接続不可能な場合の事例を示す説明図
【図4】本実施形態でのファイルサーバの処理の流れを示すフローチャート図
【図5】ピアツーピア通信時のクライアントにおけるデータ送信処理のフローチャート図
【図6】クライアントでのファイル受信処理のフローチャート図
【図7】サーバと同じファイルのコピーを持つクライアントの動作を示すフローチャート図
【図8】サーバにおいてクライアントとの接続を管理するテーブルを示す図
【符号の説明】
SV…ファイルサーバ、C1…クライアント、C2…クライアント、NW…通信ネットワーク、F1…ファイル、1〜10…ブロック(ファイルを論理的に分割した単位)。
Claims (9)
- ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
前記ファイル取得要求を受信した前記ファイルサーバから前記第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始するステップと、
前記ファイル取得要求を受信した前記ファイルサーバにて、要求されたファイルをダウンロードしている第2のクライアントがあるか否か判別するステップと、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、
前記指示を受けて第2のクライアントから前記第1のクライアントに、前記ファイルのブロックを送信するステップと、
前記第1のクライアントにて、前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成するステップと
を備えることを特徴とするファイルダウンロード方法。 - ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
前記ファイル取得要求を受信した前記ファイルサーバから前記第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始するステップと、
前記ファイル取得要求を受信した前記ファイルサーバにて、要求されたファイルをダウンロードしている複数の第2のクライアントがあるか否か判別するステップと、
前記複数の第2のクライアントがあったとき、前記第1のクライアント及び複数の第2のクライアントに対して、前記第2のクライアントのそれぞれが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、
前記指示を受けて前記第2のクライアントのそれぞれから前記第1のクライアントに、前記ファイルのブロックを送信するステップと、
前記第1のクライアントにて、前記ファイルサーバから取得したブロックと前記複数の第2のクライアントから取得したブロックとを合わせてファイルを構成するステップと
を備えることを特徴とするファイルダウンロード方法。 - ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
前記ファイルサーバにて、前記ファイル取得要求に対してデータ送信できないと判断した場合、要求されたファイルを持つ第2のクライアントがあるか否か判別するステップと、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、
前記指示を受けて第2のクライアントから前記第1のクライアントに前記ファイルを送信するステップと
を備えることを特徴とするファイルダウンロード方法。 - ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
前記ファイルサーバにて、前記ファイル取得要求に対してデータ送信できないと判断した場合、要求されたファイルを所定数に分割したブロックのうちの何れかのブロックを持つ複数の第2のクライアントを探索するステップと、
前記第1のクライアント及び探索された複数の第2のクライアントに対して、前記第2のクライアントのそれぞれが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、
前記指示を受けて前記複数の第2のクライアントのそれぞれから前記第1のクライアントに、前記ファイルのブロックを送信するステップと、
前記第1のクライアントにて、前記複数の第2のクライアントから取得したブロックを合わせてファイルを構成するステップと
を備えることを特徴とするファイルダウンロード方法。 - 請求項1または2に記載のファイルダウンロード方法において、
前記第2のクライアントから前記第1のクライアントへピアツーピア通信でデータ送信するのと並行して、前記第1のクライアントから前記第2のクライアントへ前記ファイルのブロックを送信することを特徴とするファイルダウンロード方法。 - 請求項1または5に記載のファイルダウンロード方法において、
前記ファイルを分割したブロックは所定の順序で順序付けられており、前記ファイルサーバから前記第2のクライアントへのブロック単位の送信及び前記第2のクライアントから前記第1のクライアントへのブロック単位の送信は前記順序に従って行い、前記ファイルサーバから前記第1のクライアントへのブロック単位の送信及び前記第1のクライアントから前記第2のクライアントへのブロック単位の送信は前記順序に対して逆の順序に従って行うことを特徴とするファイルダウンロード方法。 - ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、
前記ファイルサーバは、
第1のクライアントから送信されるファイル取得要求を受信する手段と、
前記ファイル取得要求を送信した第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、
要求されたファイルをダウンロードしている第2のクライアントがあるか否か判別する手段と、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示する手段と
を備え、
前記第1のクライアントは、
前記ファイルサーバにファイル取得要求を送信する手段と、
前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第2のクライアントと接続し、第2のクライアントから送信される前記ファイルのブロックを受信する手段と、
前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成する手段と
を備え、
前記第2のクライアントは、
前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて前記ファイルのブロックを送信する手段
を備えることを特徴とするファイルダウンロードシステム。 - ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、
前記ファイルサーバは、
第1のクライアントから送信されるファイル取得要求を受信する手段と、
前記ファイル取得要求に対してデータ送信できないと判断した場合、要求されたファイルを持つ第2のクライアントがあるか否か判別する手段と、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルをピアツーピア通信で前記第1のクライアントに送信することを指示する手段と
を備え、
前記第1のクライアントは、
前記ファイルサーバに対してファイル取得要求を送信する手段と、
前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第2のクライアントと接続し、第2のクライアントから送信される前記ファイルを受信する手段と
を備え、
前記第2のクライアントは、
前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて前記ファイルを送信する手段
を備えることを特徴とするファイルダウンロードシステム。 - ネットワーク経由で接続された1台以上のクライアントに対してファイルを供給するファイルサーバであって、
第1のクライアントから送信されるファイル取得要求を受信する手段と、
前記ファイル取得要求を受信したとき、前記第1のクライアントに対して要求されたファイルを送信する帯域を確保できるか否か判別する手段と、
帯域を確保できる場合は、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、
要求されたファイルをダウンロードしている第2のクライアントがあるか否か判別する手段と、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示する手段と
を備えることを特徴とするファイルサーバ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003001808A JP4233328B2 (ja) | 2003-01-08 | 2003-01-08 | ピアツーピア技術を用いたファイルダウンロード方法及びシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003001808A JP4233328B2 (ja) | 2003-01-08 | 2003-01-08 | ピアツーピア技術を用いたファイルダウンロード方法及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004213508A true JP2004213508A (ja) | 2004-07-29 |
JP4233328B2 JP4233328B2 (ja) | 2009-03-04 |
Family
ID=32819733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003001808A Expired - Fee Related JP4233328B2 (ja) | 2003-01-08 | 2003-01-08 | ピアツーピア技術を用いたファイルダウンロード方法及びシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4233328B2 (ja) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006172472A (ja) * | 2004-12-14 | 2006-06-29 | Microsoft Corp | アップデートをダウンロードする方法およびシステム |
WO2007023636A1 (ja) * | 2005-08-24 | 2007-03-01 | Brother Kogyo Kabushiki Kaisha | 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体 |
WO2007069576A1 (ja) * | 2005-12-16 | 2007-06-21 | International Business Machines Corporation | ネットワークファイルシステム |
JP2008011147A (ja) * | 2006-06-29 | 2008-01-17 | Brother Ind Ltd | 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等 |
WO2008061022A1 (en) * | 2006-11-10 | 2008-05-22 | Microsoft Corporation | Peer-to-peer aided live video sharing system |
JP2009501456A (ja) * | 2005-05-12 | 2009-01-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ピア・データ転送の統合 |
JP2009543182A (ja) * | 2006-06-27 | 2009-12-03 | トムソン ライセンシング | パフォーマンスを考慮した、ピアツーピア・コンテンツ・オンデマンド |
JP2010191600A (ja) * | 2009-02-17 | 2010-09-02 | Nec Corp | 分散データ収集システム及び分散データ収集方法 |
US7821945B2 (en) | 2005-01-08 | 2010-10-26 | Sejong Industry-Academy Cooperation Foundation | Method of downloading data in peer-to-peer service of wired and wireless integrated network and node therefor |
JP2010538529A (ja) * | 2007-08-30 | 2010-12-09 | トムソン ライセンシング | 無線メッシュ・ネットワークにおけるコンテンツ・サービスのための統一されたピア・ツー・ピア・キャッシュ・システム |
US8010488B2 (en) | 2005-11-21 | 2011-08-30 | Brother Kogyo Kabushiki Kaisha | Information distribution system, information processing device and memory medium |
US8266316B2 (en) | 2006-03-08 | 2012-09-11 | Samsung Electronics Co., Ltd. | Client apparatus and method of streaming content, and computer readable recording medium storing program for performing the method |
US8291093B2 (en) | 2005-12-08 | 2012-10-16 | Microsoft Corporation | Peer-to-peer remediation |
JP2012252593A (ja) * | 2011-06-03 | 2012-12-20 | Fujitsu Ltd | ファイル配布方法、ファイル配布システム、マスタサーバ、ファイル配布プログラム、データ配布方法、及びデータ配布システム |
KR101220671B1 (ko) | 2011-08-05 | 2013-01-09 | (주)네오위즈게임즈 | 파일 다운로드를 위한 네트워크 제어 장치 및 방법 |
CN102882925A (zh) * | 2011-08-05 | 2013-01-16 | 新游网络科技有限公司 | 文件下载网络的分散控制装置及其方法 |
JP2015008520A (ja) * | 2010-04-26 | 2015-01-15 | インターデイジタル パテント ホールディングス インコーポレイテッド | アドホックネットワークを可能にするための方法および装置 |
JP2015537306A (ja) * | 2013-04-28 | 2015-12-24 | 小米科技有限▲責▼任公司Xiaomi Inc. | ファイル・ダウンロード方法、ファイル・ダウンロード装置、そのシステム、プログラム及び記録媒体 |
JP2016521876A (ja) * | 2013-05-24 | 2016-07-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 少なくとも1つのモバイル・デバイスを含む複数のデバイスの間で計算タスクを共有するための方法、コンピュータ可読媒体、およびモバイル・デバイス |
KR102221638B1 (ko) * | 2019-10-29 | 2021-03-04 | 데이터비즈 주식회사 | 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템 |
-
2003
- 2003-01-08 JP JP2003001808A patent/JP4233328B2/ja not_active Expired - Fee Related
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006172472A (ja) * | 2004-12-14 | 2006-06-29 | Microsoft Corp | アップデートをダウンロードする方法およびシステム |
US7821945B2 (en) | 2005-01-08 | 2010-10-26 | Sejong Industry-Academy Cooperation Foundation | Method of downloading data in peer-to-peer service of wired and wireless integrated network and node therefor |
JP2009501456A (ja) * | 2005-05-12 | 2009-01-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ピア・データ転送の統合 |
WO2007023636A1 (ja) * | 2005-08-24 | 2007-03-01 | Brother Kogyo Kabushiki Kaisha | 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体 |
US8010488B2 (en) | 2005-11-21 | 2011-08-30 | Brother Kogyo Kabushiki Kaisha | Information distribution system, information processing device and memory medium |
US8924577B2 (en) | 2005-12-08 | 2014-12-30 | Microsoft Corporation | Peer-to-peer remediation |
US8291093B2 (en) | 2005-12-08 | 2012-10-16 | Microsoft Corporation | Peer-to-peer remediation |
WO2007069576A1 (ja) * | 2005-12-16 | 2007-06-21 | International Business Machines Corporation | ネットワークファイルシステム |
US8266316B2 (en) | 2006-03-08 | 2012-09-11 | Samsung Electronics Co., Ltd. | Client apparatus and method of streaming content, and computer readable recording medium storing program for performing the method |
US8838823B2 (en) | 2006-06-27 | 2014-09-16 | Thomson Licensing | Performance aware peer-to-peer content-on-demand |
JP2009543182A (ja) * | 2006-06-27 | 2009-12-03 | トムソン ライセンシング | パフォーマンスを考慮した、ピアツーピア・コンテンツ・オンデマンド |
JP2008011147A (ja) * | 2006-06-29 | 2008-01-17 | Brother Ind Ltd | 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等 |
JP4692414B2 (ja) * | 2006-06-29 | 2011-06-01 | ブラザー工業株式会社 | 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等 |
WO2008061022A1 (en) * | 2006-11-10 | 2008-05-22 | Microsoft Corporation | Peer-to-peer aided live video sharing system |
JP2010538529A (ja) * | 2007-08-30 | 2010-12-09 | トムソン ライセンシング | 無線メッシュ・ネットワークにおけるコンテンツ・サービスのための統一されたピア・ツー・ピア・キャッシュ・システム |
JP2010191600A (ja) * | 2009-02-17 | 2010-09-02 | Nec Corp | 分散データ収集システム及び分散データ収集方法 |
CN106211239A (zh) * | 2010-04-26 | 2016-12-07 | 交互数字专利控股公司 | 启用ad hoc网络的方法和设备 |
KR101791284B1 (ko) * | 2010-04-26 | 2017-10-27 | 인터디지탈 패튼 홀딩스, 인크 | 애드 혹 네트워크를 가능하게 하는 방법 및 장치 |
JP2017126990A (ja) * | 2010-04-26 | 2017-07-20 | インターデイジタル パテント ホールディングス インコーポレイテッド | アドホックネットワークを可能にするための方法および装置 |
JP2015008520A (ja) * | 2010-04-26 | 2015-01-15 | インターデイジタル パテント ホールディングス インコーポレイテッド | アドホックネットワークを可能にするための方法および装置 |
JP2012252593A (ja) * | 2011-06-03 | 2012-12-20 | Fujitsu Ltd | ファイル配布方法、ファイル配布システム、マスタサーバ、ファイル配布プログラム、データ配布方法、及びデータ配布システム |
KR101220671B1 (ko) | 2011-08-05 | 2013-01-09 | (주)네오위즈게임즈 | 파일 다운로드를 위한 네트워크 제어 장치 및 방법 |
WO2013022183A1 (en) * | 2011-08-05 | 2013-02-14 | Neowiz Games Corporation | Device and method for controlling network for downloading file and network system therefor |
CN102882925A (zh) * | 2011-08-05 | 2013-01-16 | 新游网络科技有限公司 | 文件下载网络的分散控制装置及其方法 |
KR101305062B1 (ko) * | 2011-08-05 | 2013-09-11 | (주)네오위즈게임즈 | 파일 다운로드 네트워크 분산 제어 방법 및 장치 |
WO2013022182A1 (en) * | 2011-08-05 | 2013-02-14 | Neowiz Games Corporation | Device and method for distributed control of file downloading network |
JP2015537306A (ja) * | 2013-04-28 | 2015-12-24 | 小米科技有限▲責▼任公司Xiaomi Inc. | ファイル・ダウンロード方法、ファイル・ダウンロード装置、そのシステム、プログラム及び記録媒体 |
US9800510B2 (en) | 2013-04-28 | 2017-10-24 | Xiaomi Inc. | Method and device for downloading file |
JP2016521876A (ja) * | 2013-05-24 | 2016-07-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 少なくとも1つのモバイル・デバイスを含む複数のデバイスの間で計算タスクを共有するための方法、コンピュータ可読媒体、およびモバイル・デバイス |
KR102221638B1 (ko) * | 2019-10-29 | 2021-03-04 | 데이터비즈 주식회사 | 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템 |
WO2021086087A1 (ko) * | 2019-10-29 | 2021-05-06 | 데이터비즈 주식회사 | 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
JP4233328B2 (ja) | 2009-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4233328B2 (ja) | ピアツーピア技術を用いたファイルダウンロード方法及びシステム | |
CN109315004B (zh) | Pdu类型的设置方法及相关实体 | |
EP1921792A1 (en) | Communication system, key management/delivery server, terminal apparatus, data communication method used for them, and program thereof | |
CN101262487B (zh) | 点对点客户端的数据传输处理方法及装置 | |
WO2012151994A1 (zh) | 资源下载方法、装置及*** | |
JP2002268979A (ja) | ダウンロード方法及び装置、ダウンロード用プログラム並びにそのプログラムを記録した記録媒体 | |
KR101573197B1 (ko) | 피투피 기반 파일 전송 제어 방법 및 이를 위한 피투피 통신 제어 장치 | |
US20150127837A1 (en) | Relay apparatus and data transfer method | |
CN102412875B (zh) | 文件发送、接收方法及装置和文件传输方法及*** | |
WO2014179950A1 (zh) | 一种文件上传方法、客户端和服务端 | |
CN111385325A (zh) | 基于p2p的文件分发***和方法 | |
KR20190108371A (ko) | 네트워크 슬라이스/서비스를 선택하는 통신 방법 및 이를 수행하는 통신 장치 | |
JP5476975B2 (ja) | ネットワーク間データ配信システム、情報通信端末、コンテンツ配信サーバ | |
JP2004096726A (ja) | 点対点、点対多点のインターネット接続を行なう方法 | |
JP2006227763A (ja) | データ共有システム、データ共有方法及びプログラム | |
JP2003288298A (ja) | プッシュサービス情報中継装置およびプッシュサービス情報中継方法 | |
JP2001154964A (ja) | データ資源を配付する方法 | |
US20060181734A1 (en) | Method and apparatus for transmitting data to network and method and apparatus for receiving data from network | |
CN110611702B (zh) | 区块链的文件快速传输方法、设备、***及存储介质 | |
WO2008050585A1 (fr) | Système de communication bidirectionnelle, appareil serveur, appareil de relais, procédé et programme de communication bidirectionnelle | |
JP2008065611A (ja) | ソフトウェア更新方式及びソフトウェア更新プログラム | |
JP2004336256A (ja) | データ通信システム | |
JP3642305B2 (ja) | 通信システムとそのパケット交換方法、及び交換プログラムを記録した記録媒体 | |
WO2016177135A1 (zh) | 资源管理方法、装置及控制终端 | |
JP2008210083A (ja) | ダウンロードシステム及びクライアント側機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080918 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081209 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081209 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |