JP2004213508A - File download method and system using peer to peer technique - Google Patents

File download method and system using peer to peer technique Download PDF

Info

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
Application number
JP2003001808A
Other languages
Japanese (ja)
Other versions
JP4233328B2 (en
Inventor
Tomokazu Kizawa
友和 鬼沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2003001808A priority Critical patent/JP4233328B2/en
Publication of JP2004213508A publication Critical patent/JP2004213508A/en
Application granted granted Critical
Publication of JP4233328B2 publication Critical patent/JP4233328B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To download a file over a tranfer rate of a server, and to download the file, even if it is difficult to receive data because of access concentration to the server, by receiving a file required by a client not only from the server but also from other PC on a network which retains a copy. <P>SOLUTION: On an information network NW capable of communicating one another, data is obtained not only from a server SV but also from a client C2, which retains a copy or a part of a required file, by peer to peer communication when a client C1 requires a file to the file server SV. Thus, the file can be downloaded at a higher speed. Besides, the file can be received from the client C2 even if it is difficult to download because network load is concentrated on the server SV. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、互いに通信可能でありネットワークに接続されている情報を提供するサーバとファイルを要求するクライアント間でファイルを転送する技術に関する。
【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…ブロック(ファイルを論理的に分割した単位)。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for transferring a file between a server that provides information that is communicable with each other and is connected to a network and a client that requests the file.
[0002]
[Prior art]
When downloading a file from a server connected to a network to a client, a problem is to reduce the download time by eliminating bottlenecks such as congestion between the server and the network and communication speed between the network and the client. On the other hand, in the technology described in Patent Document 1, a member who has contracted with an Internet service provider (hereinafter abbreviated as ISP) connects a personal computer (hereinafter abbreviated as PC) to the ISP via a general public line, and By connecting to the ISP simultaneously from the PC via the digital mobile phone public line by the member's mobile phone and establishing a two-line connection between the ISP and the PC, the divided files are sent out in parallel and downloaded to the PC at high speed Is what you do.
[0003]
In addition, the technology described in Patent Document 2 arranges an information object storage device called an object pump near a client that is broader than a server, distributes a data request from the client on behalf of the server, and further transmits the data. By discriminating and caching, the efficiency of communication between the client and the server is improved.
[0004]
[Patent Document 1] Japanese Patent Application Laid-Open No. 2002-215497 (FIG. 1, FIG. 6, etc.)
[0005]
[Patent Document 2] Japanese Patent Application Laid-Open No. 2001-184252 (FIGS. 2A to 2C and the like)
[0006]
[Problems to be solved by the invention]
However, in the technology described in Patent Literature 1, the communication path between the ISP and the PC is duplicated to improve the communication speed. Therefore, the mechanism in which data flows from the server to the client remains unchanged. It is not possible to cope with a decrease in transfer speed due to congestion in the server or concentration of access to the server. Further, the communication path is limited to only the handheld device, and the mobile phone public line is used in addition to the general public line, so that the communication cost becomes high.
[0007]
In the technique described in Patent Document 2, it is necessary to install an object pump as a dedicated device in advance, and the object pump can be regarded as a server on a network. There is.
[0008]
In addition, existing peer-to-peer communications on the Internet have a one-way data flow and do not serve as a complement to files.
[0009]
An object of the present invention is to obtain a file requested by a client not only from a server but also from another PC on a network holding a copy, so that the file can be downloaded at a speed exceeding the transfer speed of the server. Another object of the present invention is to provide a technique for downloading a file even when it is difficult to obtain data due to concentrated access to a server.
[0010]
[Means for Solving the Problems]
To achieve the above object, an invention according to claim 1 is a system in which a file server that provides a file and one or more clients that request the file are connected to a network, wherein the client downloads a desired file. Transmitting a file acquisition request from a first client to the file server; and transmitting the requested file to the first client from the file server that has received the file acquisition request. Starting transmission in block units obtained by dividing the file into a predetermined number, and determining whether there is a second client downloading the requested file in the file server that has received the file acquisition request. And there was the second client Instructing the first and second clients to send the block of the file that the second client has already obtained to the first client in peer-to-peer communication; Transmitting the block of the file from the second client to the first client in response to the request, and, in the first client, a block obtained from the file server and a block obtained from the second client And a step of composing a file in combination with the above.
[0011]
An invention according to claim 2 is a file download method in which a client downloads a desired file in a system in which a file server that provides a file and one or more clients that request the file are connected to a network. Transmitting a file acquisition request from the first client to the file server; and dividing the requested file into a predetermined number from the file server receiving the file acquisition request to the first client. Starting transmission in units; determining whether there is a plurality of second clients downloading the requested file in the file server receiving the file acquisition request; When there is a second client, Instructing the client and a plurality of second clients to send the block of the file that each of the second clients has already obtained to the first client in peer-to-peer communication; Transmitting the block of the file from each of the second clients to the first client in response to the instruction; and, in the first client, the block acquired from the file server and the plurality of second files. And constructing a file together with the blocks obtained from the client.
[0012]
The invention according to claim 3 is a file download method in which a client downloads a desired file in a system in which a file server that provides a file and one or more clients that request the file are connected to a network. Transmitting a file acquisition request from the first client to the file server; and, if the file server determines that data cannot be transmitted in response to the file acquisition request, Determining whether or not there is a client, and, when there is the second client, performing peer-to-peer communication with the first and second clients using the file already obtained by the second client. Instructs the first client to transmit A method, characterized by comprising a step of transmitting the file to the first client from the second client receives the instruction.
[0013]
The invention according to claim 4 is a file download method in which a client downloads a desired file in a system in which a file server that provides a file and one or more clients that request the file are connected to a network. Transmitting a file acquisition request from the first client to the file server; and, if the file server determines that data cannot be transmitted in response to the file acquisition request, the requested file is set to a predetermined number. Searching for a plurality of second clients having any of the divided blocks; and for each of the first clients and the plurality of searched second clients, each of the second clients Blocks the file that has already been Instructing transmission to the first client in two-peer communication; and transmitting the block of the file to the first client from each of the plurality of second clients in response to the instruction; And constructing a file by combining the blocks obtained from the plurality of second clients in the first client.
[0014]
According to a fifth aspect of the present invention, in the file download method according to the first or second aspect, the first client is transmitted in parallel with the data transmission from the second client to the first client by peer-to-peer communication. Transmitting the block of the file from the client to the second client.
[0015]
According to a sixth aspect of the present invention, in the file download method according to the first or fifth aspect, the blocks obtained by dividing the file are ordered in a predetermined order, and a block unit from the file server to the second client is provided. And the transmission in block units from the second client to the first client is performed in accordance with the order, and the transmission in block units from the file server to the first client and the transmission from the first client to the first client The transmission in units of blocks to the second client is performed in an order reverse to the above order.
[0016]
An invention according to claim 7 is a file download system in which a file server that provides a file and one or more clients that request the file are connected to a network, wherein the file server transmits the file from a first client. Means for receiving the requested file acquisition request, means for starting transmission to the first client which has transmitted the file acquisition request in units of blocks obtained by dividing the requested file into a predetermined number, and downloading the requested file. Means for determining whether or not there is a second client that is performing, and when there is the second client, the second client has already acquired the first and second clients. Indicating sending the block of the file to the first client in peer-to-peer communication And a means for transmitting a file acquisition request to the file server; and when the file server instructs the peer-to-peer communication, the first client connects to the instructed second client; Means for receiving a block of the file transmitted from a second client, and means for configuring a file by combining a block obtained from the file server and a block obtained from the second client, The client of claim 2, further comprising a unit that, when instructed by the file server to perform the peer-to-peer communication, connects to the designated first client and transmits the block of the file to the first client. And
[0017]
The invention according to claim 8 is a file download system in which a file server that provides a file and one or more clients that request the file are connected to a network, wherein the file server transmits the file from a first client. Means for receiving a requested file acquisition request, means for determining whether there is a second client having the requested file when it is determined that data cannot be transmitted in response to the file acquisition request, Means for instructing the first and second clients, when there is a client, to transmit the file already acquired by the second client to the first client by peer-to-peer communication. The first client sends a file acquisition request to the file server Means for connecting to the instructed second client when receiving the instruction of the peer-to-peer communication from the file server, and receiving the file transmitted from the second client. Wherein the client is connected to the instructed first client and transmits the file to the first client when the file server instructs the peer-to-peer communication.
[0018]
The invention according to claim 9 is a file server that supplies a file to one or more clients connected via a network, wherein the unit receives a file acquisition request transmitted from a first client, Means for determining whether a bandwidth for transmitting the requested file to the first client can be secured when receiving the file acquisition request; and, if the bandwidth can be secured, the requested file is reduced to a predetermined number. Means for starting transmission in divided block units, means for determining whether or not there is a second client downloading the requested file, and when there is the second client, the first and second In a second client, the block of the file already obtained by the second client is transmitted to the second client by peer-to-peer communication. Characterized in that it comprises means for instructing to send to the client.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be specifically described with reference to the drawings.
[0020]
FIG. 1 is an explanatory diagram showing the concept of a file download system using the peer-to-peer technology of the present embodiment. As shown in FIG. 1, a file server SV that provides a file to the public, and a client C1 and a client C2 that request download of the same file from the file server SV can communicate with each other via a communication network NW such as the Internet. Connected in a proper state. The server SV divides the file into logical information units called blocks, and transmits the data to the client C1 and the client C2 by dividing the data into data D1 and data D2 so that blocks do not overlap. The client C1 and the client C2 obtain address information of each other via the server SV and establish a connection. The client C1 stores the blocks transmitted from the server SV in itself, and transmits blocks not obtained by the client C2 to the client C2 (D4). Similarly, the client C2 transmits a block not obtained by the client C1 to the client C1 (D5).
[0021]
FIG. 2 is an explanatory diagram illustrating an example of a process in which a file is processed by a server or a client through a communication network. The server SV internally manages the file to be transmitted in units of blocks, and transmits the file to the client C1 and the client C2. For example, the file is transmitted from the first block to the client C2 in the order of blocking, and is transmitted to the client C1 in the reverse order from the end of the block. As a result, the block to be transmitted to the client C1 and the block to be transmitted to the client C2 are transmitted so as to avoid overlapping. FIG. 2 shows that blocks 1, 2, 3, and 4 are transmitted in this order from the server SV to the client C2, and that block 5 is currently being transmitted. Also, it is shown that blocks 10, 9, and 8 are transmitted in this order from the server SV to the client C1, and blocks 7 and 6 are currently being transmitted in this order.
[0022]
Upon completion of receiving one block, the client C1 saves the block in its own storage device, and immediately transmits the block to the client C2. Similarly, the client C2 transmits the reception block to the client C1. FIG. 2 shows the transmission of block 9 from client C1 to C2 and the transmission of blocks 3 and 4 from client C2 to C1. Each client combines all the blocks received from the server SV and the blocks received from the peer-to-peer connected partner and converts them into a target file.
[0023]
FIG. 2 shows a mode in which a target file is obtained by combining not only the peer-to-peer communication but also a block sent from the server SV and a block sent from another client in the peer-to-peer communication.
[0024]
FIG. 3 is an explanatory diagram illustrating a case where a client cannot connect to the server. The file server SV rejects the connection request (R1) of the client C1 exceeding the limit in order to secure a certain bandwidth when transferring a file to the client. Instead, the client C1 is instructed to acquire a file from the client C2 that has a copy of the requested file (F1) and is currently connected to the network NW (R2). However, an instruction is issued to start communication with the client C1 (R3). Thereafter, all the contents of the requested file F1 are transmitted from the client C2 to the client C1 (D8).
[0025]
FIG. 3 shows a mode in which a client obtains a target file from another client only by peer-to-peer communication.
[0026]
Next, the operation process of the present embodiment shown in FIGS. 1, 2 and 3 will be described using the flowchart of FIG. Upon receiving a file acquisition request from the client C1 existing on the network NW (S101), the file server SV acquires the address of the client C1 on the network and the requested file name (S102). At this time, the file server SV checks whether or not the file can be sent to the client C1 at a transfer rate higher than a certain reference by using the band check function (S103), and decides to send if there is enough band. , To S107. If there is not enough band, it is determined that the transmission from the file server SV is abandoned and only the file transfer between the peer-to-peer connections is performed, and the data transmission from the server SV is rejected (S104). However, it is checked whether there is another client having a copy of the same file on the network NW (S105), and if there is, the process proceeds to S110. If the target file does not exist in any client on the communicable network, the client C1 cannot obtain the file (S105, S106).
[0027]
If it is determined in S103 that data transmission from the file server SV is determined, it is checked from the stored client information whether another client connected to the same file as the file requested by the client C1 is downloading (see S103). S107). As a result, if the corresponding file is not being downloaded by another client, the file server SV transmits the file to the client C1 in order from the beginning of the block of the file, and receives when all the blocks are received by the client C1. Upon receiving the completion notification, the communication is terminated (S108). Thereafter, the information of the client C1 is deleted from the server SV (S109). However, if another client requests the file while the file is being received, the client C1 may be the target of a peer-to-peer communication pair. In that case, it plays the role of the client C2.
[0028]
As a result of the investigation (S107), if another client is in the process of downloading the file, a client that performs a peer-to-peer connection with the client C1 is selected. First, it is checked whether or not one client is downloading the file (S110). If there is one, the client is unconditionally determined as the client C2 to be paired (S110, S112). When there are a plurality of clients being downloaded, an address list of the corresponding client is transmitted to the client C1, and the client C1 is paired by a transfer speed test or a distance measurement between clients or a random selection based on the list. C2 is determined (S111, S112). Even when the data transmission from the server SV is rejected and the file transfer is only the peer-to-peer communication (when proceeding from S105 to S110), the client C2 to be paired is similarly determined.
[0029]
When the client C2 to be the peer-to-peer communication partner is determined, the file server SV notifies the client C2 of the address of the client C1 and instructs the client C2 to prepare for the peer-to-peer communication (S113). It instructs the client C1 to start the peer-to-peer communication by notifying the address of the client C2 (S114). The subsequent peer-to-peer communication is controlled between the clients according to the data flows D6 and D7 in FIG.
[0030]
Here, if the file transfer is not in the mode of only the peer-to-peer communication (that is, in the case of the mode of FIG. 2 instead of FIG. 3), the process proceeds from S115 to S116, and the data is transmitted from the file server SV to the client C1. Since the client C2 has already instructed the client C1 to transmit from the first block of the file by peer-to-peer communication in S113 and S114, the file server SV transmits the blocks in reverse order from the end of the file. This transmission is continued until a file reception completion notification is received from the client C1 (S116). When the notification is received, the information of the clients C1 and C2 is deleted (S117). If the file transfer is in the mode of only the peer-to-peer communication (that is, the mode of FIG. 3), the process proceeds from S115 to S117. Since the file transfer by the peer-to-peer communication has already been instructed in S113 and S114, there is no need to transmit data from the server SV.
[0031]
FIG. 5 is a flowchart showing a data transfer process between clients after the file server SV instructs the peer-to-peer connection in the processes S113 and S114 in FIG. When instructed to start the peer-to-peer connection in S113, the client C2 receives the address of the client C1 from the server SV and waits for a connection request from the client C1 (S201, S202). When the client C1 receives the address of the client C2 from the server SV in S114 and is instructed to start a peer-to-peer connection, the client C1 issues a connection request to the client C2 accordingly (S203, S204). When confirming this connection request, the client C2 instructs both clients to transfer data (S205).
[0032]
The file is transmitted to the client C1 in reverse order from the last block of the file with the file server SV as the transmission source (FIG. 2) or is not transmitted (FIG. 3). It is transmitted (S206). Conversely, since the file is transmitted from the file server SV to the client C2 in order from the head block of the file, the client C1 transmits the file in reverse order from the tail block of the file (S207). However, if the file existing in the client C2 is already the same as that on the file server SV, the transmission to the client C2 is not performed.
[0033]
FIG. 6 is a flowchart showing a file receiving process in the client. When the client requests the file server SV to acquire a file (S301), the server SV returns block information such as the block size of the target file and the total number of blocks, and downloads the file only from the server SV (S108 in FIG. 4). A mode is returned (S302) whether the server and the peer-to-peer communication are used together (FIG. 2), only the peer-to-peer communication is performed (FIG. 3), or the file cannot be acquired (S106 in FIG. 4). If the file can be obtained (S303), all the blocks are received (S304), assembled and filed (S305), and the server SV or the source of the peer-to-peer communication is notified of the completion of the file reception (S306). . If the file cannot be acquired (S303), the process ends.
[0034]
FIG. 7 is a flowchart showing the operation of a client having a copy of the same file as the server SV. It connects to the file server SV, registers its own address and information of the file it owns in the server, and waits for a client to be a peer-to-peer connection partner (S401). Thereafter, the peer-to-peer communication is started (S402), and when the exchange of the file is completed, the own information registered in the server SV is deleted (S403), so that the own information is registered again and the apparatus stands by (S401). Note that the loop termination condition until the registration with the server is stopped (S404) is that a certain period of time has elapsed since the client first acquired the file from the server SV, or the server SV recovered a file transfer speed higher than the reference. It is determined whether a certain time has elapsed since the start of the process.
[0035]
FIG. 8 is a table showing a table for managing connections with clients in the server SV. When the client connects to the server, the server is notified of the client's address, the requested file name, and, if the user already owns the file or a block that is a part, those information. The server SV stores such information in the management table of FIG. Records in this table are managed by assigning a unique management number to a single connection to a file or a connection between clients in a peer-to-peer connection. The mode column of the management table stores the type of download by the server alone, the combination of peer-to-peer and download from the server, or the download of peer-to-peer only. The status column stores the status of what kind of communication is currently being performed between the server and the client or between the clients. When the server receives a file download completion notification from each client, the corresponding connection information column is deleted.
[0036]
The server SV manages each client in such a table, and determines S107 and S104 in FIG. 7 based on this table. In S111 of FIG. 7, the information in this table is sent to the client to determine the peer of the peer-to-peer communication. Instead of having the client determine the peer-to-peer partner, the server SV may appropriately determine the partner client from the table in FIG.
[0037]
In the above embodiment, the case of two clients has been described. However, the download efficiency can be improved by executing parallel download and mutual complement for three or more clients. In this case, for example, the file to be downloaded can be divided into partial files corresponding to the number of clients on the server SV side, and each client can be downloaded from the first block of the divided partial file. Even in the case of three or more clients, the state of each client is managed by the server in a table similar to that shown in FIG. 8, so that which block should be transferred between which client and which client by peer-to-peer communication. Can all be managed by the server. Therefore, the server can issue necessary and sufficient instructions for peer-to-peer communication.
[0038]
【The invention's effect】
As described above, according to the present invention, not only the data transfer by the connection between the server and the client, but also the part that has not yet been obtained from the server is taken in parallel from another machine connected to the network. The information object can be obtained at higher speed. For this reason, there is no need to prepare devices on the network in advance.
[0039]
Further, by mutually complementing the file contents between the clients, not only the client that has requested the file later but also the client that was previously downloading alone has a higher transfer speed.
[0040]
Also, in managing the server that stores the files, it is possible to provide a constant transfer speed to the client by limiting the bandwidth, and it is possible to eliminate a bottleneck due to concentrated access to the server.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing the concept of a file download system using a peer-to-peer technology according to an embodiment;
FIG. 2 is an explanatory diagram of an example showing a process in which a file is processed through a network.
FIG. 3 is an explanatory diagram showing a case where a client cannot be connected to a server;
FIG. 4 is a flowchart showing the flow of processing of a file server in the embodiment.
FIG. 5 is a flowchart of data transmission processing in a client during peer-to-peer communication.
FIG. 6 is a flowchart of a file receiving process in a client.
FIG. 7 is a flowchart showing the operation of a client having a copy of the same file as the server.
FIG. 8 is a diagram showing a table for managing connection with a client in a server.
[Explanation of symbols]
SV: file server, C1: client, C2: client, NW: communication network, F1: file, 1 to 10: block (unit of logically divided file).

Claims (9)

ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
前記ファイル取得要求を受信した前記ファイルサーバから前記第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始するステップと、
前記ファイル取得要求を受信した前記ファイルサーバにて、要求されたファイルをダウンロードしている第2のクライアントがあるか否か判別するステップと、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、
前記指示を受けて第2のクライアントから前記第1のクライアントに、前記ファイルのブロックを送信するステップと、
前記第1のクライアントにて、前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成するステップと
を備えることを特徴とするファイルダウンロード方法。
In a system in which a file server providing a file and one or more clients requesting the file are connected to a network, a file download method in which the client downloads a desired file,
Transmitting a file acquisition request from the first client to the file server;
Starting transmitting the requested file to the first client from the file server that has received the file acquisition request in units of blocks obtained by dividing the requested file into a predetermined number;
At the file server receiving the file acquisition request, determining whether there is a second client downloading the requested file;
Sending the block of the file already acquired by the second client to the first client in peer-to-peer communication to the first and second clients when the second client is present; Instructing
Transmitting the block of the file from the second client to the first client in response to the instruction;
A file download method comprising the steps of: forming a file by combining the block obtained from the file server and the block obtained from the second client in the first client.
ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
前記ファイル取得要求を受信した前記ファイルサーバから前記第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始するステップと、
前記ファイル取得要求を受信した前記ファイルサーバにて、要求されたファイルをダウンロードしている複数の第2のクライアントがあるか否か判別するステップと、
前記複数の第2のクライアントがあったとき、前記第1のクライアント及び複数の第2のクライアントに対して、前記第2のクライアントのそれぞれが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、
前記指示を受けて前記第2のクライアントのそれぞれから前記第1のクライアントに、前記ファイルのブロックを送信するステップと、
前記第1のクライアントにて、前記ファイルサーバから取得したブロックと前記複数の第2のクライアントから取得したブロックとを合わせてファイルを構成するステップと
を備えることを特徴とするファイルダウンロード方法。
In a system in which a file server providing a file and one or more clients requesting the file are connected to a network, a file download method in which the client downloads a desired file,
Transmitting a file acquisition request from the first client to the file server;
Starting transmitting the requested file to the first client from the file server that has received the file acquisition request in units of blocks obtained by dividing the requested file into a predetermined number;
At the file server receiving the file acquisition request, determining whether there are a plurality of second clients downloading the requested file;
When there are the plurality of second clients, the block of the file that each of the second clients has already obtained is transmitted to the first client and the plurality of second clients by peer-to-peer communication. Instructing the first client to send;
Transmitting the block of the file from each of the second clients to the first client in response to the instruction;
A file download method, comprising the step of, at the first client, configuring a file by combining blocks obtained from the file server and blocks obtained from the plurality of second clients.
ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
前記ファイルサーバにて、前記ファイル取得要求に対してデータ送信できないと判断した場合、要求されたファイルを持つ第2のクライアントがあるか否か判別するステップと、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、
前記指示を受けて第2のクライアントから前記第1のクライアントに前記ファイルを送信するステップと
を備えることを特徴とするファイルダウンロード方法。
In a system in which a file server providing a file and one or more clients requesting the file are connected to a network, a file download method in which the client downloads a desired file,
Transmitting a file acquisition request from the first client to the file server;
When the file server determines that data cannot be transmitted in response to the file acquisition request, determining whether there is a second client having the requested file;
Instructing the first and second clients to send the file already acquired by the second client to the first client in peer-to-peer communication when the second client is present Steps to
Receiving the instruction and transmitting the file from a second client to the first client.
ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
前記ファイルサーバにて、前記ファイル取得要求に対してデータ送信できないと判断した場合、要求されたファイルを所定数に分割したブロックのうちの何れかのブロックを持つ複数の第2のクライアントを探索するステップと、
前記第1のクライアント及び探索された複数の第2のクライアントに対して、前記第2のクライアントのそれぞれが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示するステップと、
前記指示を受けて前記複数の第2のクライアントのそれぞれから前記第1のクライアントに、前記ファイルのブロックを送信するステップと、
前記第1のクライアントにて、前記複数の第2のクライアントから取得したブロックを合わせてファイルを構成するステップと
を備えることを特徴とするファイルダウンロード方法。
In a system in which a file server providing a file and one or more clients requesting the file are connected to a network, a file download method in which the client downloads a desired file,
Transmitting a file acquisition request from the first client to the file server;
When the file server determines that the data cannot be transmitted in response to the file acquisition request, a search is made for a plurality of second clients having any one of blocks obtained by dividing the requested file into a predetermined number. Steps and
For the first client and the plurality of searched second clients, transmitting the block of the file which each of the second clients has already obtained to the first client in peer-to-peer communication. Directing,
Transmitting the block of the file from each of the plurality of second clients to the first client in response to the instruction;
Configuring the file by combining the blocks obtained from the plurality of second clients in the first client.
請求項1または2に記載のファイルダウンロード方法において、
前記第2のクライアントから前記第1のクライアントへピアツーピア通信でデータ送信するのと並行して、前記第1のクライアントから前記第2のクライアントへ前記ファイルのブロックを送信することを特徴とするファイルダウンロード方法。
The file download method according to claim 1 or 2,
Transmitting a block of the file from the first client to the second client in parallel with transmitting data in a peer-to-peer communication from the second client to the first client. Method.
請求項1または5に記載のファイルダウンロード方法において、
前記ファイルを分割したブロックは所定の順序で順序付けられており、前記ファイルサーバから前記第2のクライアントへのブロック単位の送信及び前記第2のクライアントから前記第1のクライアントへのブロック単位の送信は前記順序に従って行い、前記ファイルサーバから前記第1のクライアントへのブロック単位の送信及び前記第1のクライアントから前記第2のクライアントへのブロック単位の送信は前記順序に対して逆の順序に従って行うことを特徴とするファイルダウンロード方法。
The file download method according to claim 1 or 5,
The blocks obtained by dividing the file are ordered in a predetermined order, and the block unit transmission from the file server to the second client and the block unit transmission from the second client to the first client The transmission is performed in accordance with the order, and the transmission in block units from the file server to the first client and the transmission in block units from the first client to the second client are performed in reverse order to the order. File download method characterized by the following.
ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、
前記ファイルサーバは、
第1のクライアントから送信されるファイル取得要求を受信する手段と、
前記ファイル取得要求を送信した第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、
要求されたファイルをダウンロードしている第2のクライアントがあるか否か判別する手段と、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示する手段と
を備え、
前記第1のクライアントは、
前記ファイルサーバにファイル取得要求を送信する手段と、
前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第2のクライアントと接続し、第2のクライアントから送信される前記ファイルのブロックを受信する手段と、
前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成する手段と
を備え、
前記第2のクライアントは、
前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて前記ファイルのブロックを送信する手段
を備えることを特徴とするファイルダウンロードシステム。
A file download system in which a file server providing a file and one or more clients requesting the file are connected to a network,
The file server,
Means for receiving a file acquisition request sent from the first client;
Means for starting transmission to the first client that has transmitted the file acquisition request in units of blocks obtained by dividing the requested file into a predetermined number;
Means for determining whether there is a second client downloading the requested file;
Sending the block of the file already acquired by the second client to the first client in peer-to-peer communication to the first and second clients when the second client is present; Means for instructing
The first client is
Means for transmitting a file acquisition request to the file server;
Means for connecting to the indicated second client when receiving the instruction of the peer-to-peer communication from the file server, and receiving the file block transmitted from the second client;
Means for composing a file by combining blocks obtained from the file server and blocks obtained from the second client,
The second client is
A file download system for connecting to the instructed first client and transmitting the file block to the first client when the file server instructs the peer-to-peer communication; .
ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、
前記ファイルサーバは、
第1のクライアントから送信されるファイル取得要求を受信する手段と、
前記ファイル取得要求に対してデータ送信できないと判断した場合、要求されたファイルを持つ第2のクライアントがあるか否か判別する手段と、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルをピアツーピア通信で前記第1のクライアントに送信することを指示する手段と
を備え、
前記第1のクライアントは、
前記ファイルサーバに対してファイル取得要求を送信する手段と、
前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第2のクライアントと接続し、第2のクライアントから送信される前記ファイルを受信する手段と
を備え、
前記第2のクライアントは、
前記ファイルサーバから前記ピアツーピア通信の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて前記ファイルを送信する手段
を備えることを特徴とするファイルダウンロードシステム。
A file download system in which a file server providing a file and one or more clients requesting the file are connected to a network,
The file server,
Means for receiving a file acquisition request sent from the first client;
Means for determining whether there is a second client having the requested file when it is determined that data cannot be transmitted in response to the file acquisition request;
Instructing the first and second clients to send the file already acquired by the second client to the first client in peer-to-peer communication when the second client is present Means to do,
The first client is
Means for transmitting a file acquisition request to the file server;
Means for connecting to the instructed second client when receiving the instruction of the peer-to-peer communication from the file server and receiving the file transmitted from the second client,
The second client is
A file download system, comprising: means for connecting to the instructed first client and transmitting the file to the first client when the file server instructs the peer-to-peer communication.
ネットワーク経由で接続された1台以上のクライアントに対してファイルを供給するファイルサーバであって、
第1のクライアントから送信されるファイル取得要求を受信する手段と、
前記ファイル取得要求を受信したとき、前記第1のクライアントに対して要求されたファイルを送信する帯域を確保できるか否か判別する手段と、
帯域を確保できる場合は、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、
要求されたファイルをダウンロードしている第2のクライアントがあるか否か判別する手段と、
前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で前記第1のクライアントに送信することを指示する手段と
を備えることを特徴とするファイルサーバ。
A file server for supplying a file to one or more clients connected via a network,
Means for receiving a file acquisition request sent from the first client;
Means for determining, when receiving the file acquisition request, whether or not a band for transmitting the requested file to the first client can be secured;
Means for starting transmission in units of blocks obtained by dividing the requested file into predetermined numbers if the bandwidth can be secured;
Means for determining whether there is a second client downloading the requested file;
Sending the block of the file already acquired by the second client to the first client in peer-to-peer communication to the first and second clients when the second client is present; Means for instructing the file server.
JP2003001808A 2003-01-08 2003-01-08 File download method and system using peer-to-peer technology Expired - Fee Related JP4233328B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003001808A JP4233328B2 (en) 2003-01-08 2003-01-08 File download method and system using peer-to-peer technology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003001808A JP4233328B2 (en) 2003-01-08 2003-01-08 File download method and system using peer-to-peer technology

Publications (2)

Publication Number Publication Date
JP2004213508A true JP2004213508A (en) 2004-07-29
JP4233328B2 JP4233328B2 (en) 2009-03-04

Family

ID=32819733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003001808A Expired - Fee Related JP4233328B2 (en) 2003-01-08 2003-01-08 File download method and system using peer-to-peer technology

Country Status (1)

Country Link
JP (1) JP4233328B2 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172472A (en) * 2004-12-14 2006-06-29 Microsoft Corp Method and system for downloading updates
WO2007023636A1 (en) * 2005-08-24 2007-03-01 Brother Kogyo Kabushiki Kaisha Information delivery system, information delivery method, node apparatus included in information delivery system, and storing medium in which information processing program has been stored
WO2007069576A1 (en) * 2005-12-16 2007-06-21 International Business Machines Corporation Network file system
JP2008011147A (en) * 2006-06-29 2008-01-17 Brother Ind Ltd Communication system, determining method for contents data to be transmittable or not, node device and node processing program or the like
WO2008061022A1 (en) * 2006-11-10 2008-05-22 Microsoft Corporation Peer-to-peer aided live video sharing system
JP2009501456A (en) * 2005-05-12 2009-01-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Peer data transfer integration
JP2009543182A (en) * 2006-06-27 2009-12-03 トムソン ライセンシング Peer-to-peer content on demand with performance in mind
JP2010191600A (en) * 2009-02-17 2010-09-02 Nec Corp Distributed data collection system and distributed data collection method
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 (en) * 2007-08-30 2010-12-09 トムソン ライセンシング Unified peer-to-peer cache system for content services in wireless mesh networks
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 (en) * 2011-06-03 2012-12-20 Fujitsu Ltd File distribution method, file distribution system, master server, file distribution program, data distribution method and data distribution system
KR101220671B1 (en) 2011-08-05 2013-01-09 (주)네오위즈게임즈 Device and method for controlling network for downloading file
CN102882925A (en) * 2011-08-05 2013-01-16 新游网络科技有限公司 Device and method for distributed control of file downloading network
JP2015008520A (en) * 2010-04-26 2015-01-15 インターデイジタル パテント ホールディングス インコーポレイテッド Method and apparatus to enable ad hoc networks
JP2015537306A (en) * 2013-04-28 2015-12-24 小米科技有限▲責▼任公司Xiaomi Inc. File download method, file download apparatus, system, program, and recording medium
JP2016521876A (en) * 2013-05-24 2016-07-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method, computer readable medium, and mobile device for sharing computing tasks among multiple devices, including at least one mobile device
KR102221638B1 (en) * 2019-10-29 2021-03-04 데이터비즈 주식회사 System, method and computer program for distributing large file

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172472A (en) * 2004-12-14 2006-06-29 Microsoft Corp Method and system for downloading updates
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 (en) * 2005-05-12 2009-01-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Peer data transfer integration
WO2007023636A1 (en) * 2005-08-24 2007-03-01 Brother Kogyo Kabushiki Kaisha Information delivery system, information delivery method, node apparatus included in information delivery system, and storing medium in which information processing program has been stored
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 (en) * 2005-12-16 2007-06-21 International Business Machines Corporation Network file system
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 (en) * 2006-06-27 2009-12-03 トムソン ライセンシング Peer-to-peer content on demand with performance in mind
JP2008011147A (en) * 2006-06-29 2008-01-17 Brother Ind Ltd Communication system, determining method for contents data to be transmittable or not, node device and node processing program or the like
JP4692414B2 (en) * 2006-06-29 2011-06-01 ブラザー工業株式会社 Communication system, content data transmission availability determination method, node device, node processing program, etc.
WO2008061022A1 (en) * 2006-11-10 2008-05-22 Microsoft Corporation Peer-to-peer aided live video sharing system
JP2010538529A (en) * 2007-08-30 2010-12-09 トムソン ライセンシング Unified peer-to-peer cache system for content services in wireless mesh networks
JP2010191600A (en) * 2009-02-17 2010-09-02 Nec Corp Distributed data collection system and distributed data collection method
CN106211239A (en) * 2010-04-26 2016-12-07 交互数字专利控股公司 The method and apparatus enabling AD HOC network
KR101791284B1 (en) * 2010-04-26 2017-10-27 인터디지탈 패튼 홀딩스, 인크 Method and apparatus to enable ad hoc networks
JP2017126990A (en) * 2010-04-26 2017-07-20 インターデイジタル パテント ホールディングス インコーポレイテッド Method and apparatus to enable ad hoc networks
JP2015008520A (en) * 2010-04-26 2015-01-15 インターデイジタル パテント ホールディングス インコーポレイテッド Method and apparatus to enable ad hoc networks
JP2012252593A (en) * 2011-06-03 2012-12-20 Fujitsu Ltd File distribution method, file distribution system, master server, file distribution program, data distribution method and data distribution system
KR101220671B1 (en) 2011-08-05 2013-01-09 (주)네오위즈게임즈 Device and method for controlling network for downloading file
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 (en) * 2011-08-05 2013-01-16 新游网络科技有限公司 Device and method for distributed control of file downloading network
KR101305062B1 (en) * 2011-08-05 2013-09-11 (주)네오위즈게임즈 Device and method for distributed control of file downloading network
WO2013022182A1 (en) * 2011-08-05 2013-02-14 Neowiz Games Corporation Device and method for distributed control of file downloading network
JP2015537306A (en) * 2013-04-28 2015-12-24 小米科技有限▲責▼任公司Xiaomi Inc. File download method, file download apparatus, system, program, and recording medium
US9800510B2 (en) 2013-04-28 2017-10-24 Xiaomi Inc. Method and device for downloading file
JP2016521876A (en) * 2013-05-24 2016-07-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method, computer readable medium, and mobile device for sharing computing tasks among multiple devices, including at least one mobile device
KR102221638B1 (en) * 2019-10-29 2021-03-04 데이터비즈 주식회사 System, method and computer program for distributing large file
WO2021086087A1 (en) * 2019-10-29 2021-05-06 데이터비즈 주식회사 Large file distribution system, method and computer program, and system

Also Published As

Publication number Publication date
JP4233328B2 (en) 2009-03-04

Similar Documents

Publication Publication Date Title
JP4233328B2 (en) File download method and system using peer-to-peer technology
CN109315004B (en) PDU type setting method and related entity
CN101039309B (en) Link sharing service apparatus and communication method thereof
EP1921792A1 (en) Communication system, key management/delivery server, terminal apparatus, data communication method used for them, and program thereof
CN101262487B (en) Data transmission processing method and device for point-to-point client
JP2004112319A (en) Relay apparatus, information transmission apparatus, and information transmission method
WO2012151994A1 (en) Resource downloading method, device and system
JP2002268979A (en) Method/device for downloading, downloading program and recording medium with the program recorded thereon
KR101573197B1 (en) Control method for transmitting distributed file based on P2Peer and P2P communication control apparatus therefor
CN102412875B (en) File sending and receiving method and device as well as file transmission method and system
WO2014179950A1 (en) File uploading method, client, and server
KR20190108371A (en) Communication method for selecting a network slice / service and a communication device performing the same
JP5476975B2 (en) Inter-network data distribution system, information communication terminal, content distribution server
JP2004040552A (en) Radio terminal and communication control method
CN111385325A (en) File distribution system and method based on P2P
JP2006227763A (en) Data sharing system, data sharing method, and program
JP2003288298A (en) Push service information relay device and push service information relay method
JP2001154964A (en) Method for distributing data resources
CN113746884B (en) Multimedia resource transmission method, device and system
CN110611702B (en) Block chain file rapid transmission method, equipment, system and storage medium
JP2008065611A (en) Software update method and software update program
JP2004336256A (en) Data communication system
WO2016177135A1 (en) Resource management method, device, and control terminal
CN102821118A (en) Method and system for backing up services in network with heterogeneous nodes
JP2008210083A (en) Download system and client side equipment

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