JP4233328B2 - ピアツーピア技術を用いたファイルダウンロード方法及びシステム - Google Patents

ピアツーピア技術を用いたファイルダウンロード方法及びシステム Download PDF

Info

Publication number
JP4233328B2
JP4233328B2 JP2003001808A JP2003001808A JP4233328B2 JP 4233328 B2 JP4233328 B2 JP 4233328B2 JP 2003001808 A JP2003001808 A JP 2003001808A JP 2003001808 A JP2003001808 A JP 2003001808A JP 4233328 B2 JP4233328 B2 JP 4233328B2
Authority
JP
Japan
Prior art keywords
file
client
peer
block
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003001808A
Other languages
English (en)
Other versions
JP2004213508A (ja
Inventor
友和 鬼沢
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/ja
Publication of JP2004213508A publication Critical patent/JP2004213508A/ja
Application granted granted Critical
Publication of JP4233328B2 publication Critical patent/JP4233328B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

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のクライアントにて、前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成するステップと、前記指示を受けて前記第1のクライアントから前記第2のクライアントに、前記第1のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で送信するステップと、前記第2のクライアントにて、前記ファイルサーバから取得したブロックと前記第1のクライアントから取得したブロックとを合わせてファイルを構成するステップとを備えることを特徴とする。
【0011】
請求項2に係る発明は、ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、前記ファイル取得要求を受信した前記ファイルサーバから前記第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始するステップと、前記ファイル取得要求を受信した前記ファイルサーバにて、要求されたファイルを現在ダウンロード中である複数の第2のクライアントがあるか否か判別するステップと、前記複数の第2のクライアントがあったとき、前記第1のクライアント及び複数の第2のクライアントに対して、ピアツーピア通信を開始することを指示するステップと、前記指示を受けて前記第2のクライアントのそれぞれから前記第1のクライアントに、前記第2のクライアントのそれぞれが既に取得している前記ファイルのブロックをピアツーピア通信で送信するステップと、前記第1のクライアントにて、前記ファイルサーバから取得したブロックと前記複数の第2のクライアントから取得したブロックとを合わせてファイルを構成するステップと、前記指示を受けて前記第1のクライアントから前記第2のクライアントのそれぞれに、前記第1のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で送信するステップと、前記第2のクライアントのそれぞれにて、前記ファイルサーバから取得したブロックと前記第1のクライアントから取得したブロックとを合わせてファイルを構成するステップとを備えることを特徴とする。
【0015】
請求項に係る発明は、請求項1またはに記載のファイルダウンロード方法において、前記ファイルを分割したブロックは所定の順序で順序付けられており、前記ファイルサーバから前記第2のクライアントへのブロック単位の送信及び前記第2のクライアントから前記第1のクライアントへのブロック単位の送信は前記順序に従って行い、前記ファイルサーバから前記第1のクライアントへのブロック単位の送信及び前記第1のクライアントから前記第2のクライアントへのブロック単位の送信は前記順序に対して逆の順序に従って行うことを特徴とする。
【0016】
請求項4に係る発明は、ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、前記ファイルサーバは、第1のクライアントから送信されるファイル取得要求を受信する手段と、前記ファイル取得要求を送信した第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、要求されたファイルを現在ダウンロード中である第2のクライアントがあるか否か判別する手段と、前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、ピアツーピア通信を開始することを指示する手段とを備え、前記第1のクライアントは、前記ファイルサーバにファイル取得要求を送信する手段と、前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、指示された第2のクライアントと接続し、第2のクライアントから送信される前記ファイルのブロックを受信する手段と、前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成する手段と、前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、前記第2のクライアントへ第1のクライアントが既に取得している前記ファイルのブロックを送信する手段とを備え、前記第2のクライアントは、前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて第2のクライアントが既に取得している前記ファイルのブロックを送信する手段と、前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、前記第1のクライアントから送信される前記ファイルのブロックを受信する手段と、前記ファイルサーバから取得したブロックと前記第1のクライアントから取得したブロックとを合わせてファイルを構成する手段とを備えることを特徴とする。
【0017】
請求項5に係る発明は、ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、前記ファイルサーバは、第1のクライアントから送信されるファイル取得要求を受信する手段と、前記ファイル取得要求を送信した第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、要求されたファイルを現在ダウンロード中である複数の第2のクライアントがあるか否か判別する手段と、前記複数の第2のクライアントがあったとき、前記第1のクライアント及び複数の第2のクライアントに対して、ピアツーピア通信を開始することを指示する手段とを備え、前記第1のクライアントは、前記ファイルサーバにファイル取得要求を送信する手段と、前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、指示された複数の第2のクライアントと接続し、第2のクライアントのそれぞれから送信される前記ファイルのブロックを受信する手段と、前記ファイルサーバから取得したブロックと前記複数の第2のクライアントから取得したブロックとを合わせてファイルを構成する手段と、前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、前記複数の第2のクライアントのそれぞれに、第1のクライアントが既に取得している前記ファイルのブロックを送信する手段とを備え、前記複数の第2のクライアントのそれぞれは、前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて第2のクライアントのそれぞれが既に取得している前記ファイルのブロックを送信する手段と、前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、前記第1のクライアントから送信される前記ファイルのブロックを受信する手段と、前記ファイルサーバから取得したブロックと前記第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 (5)

  1. ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
    第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
    前記ファイル取得要求を受信した前記ファイルサーバから前記第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始するステップと、
    前記ファイル取得要求を受信した前記ファイルサーバにて、要求されたファイルを現在ダウンロード中である第2のクライアントがあるか否か判別するステップと、
    前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、ピアツーピア通信を開始することを指示するステップと、
    前記指示を受けて前記第2のクライアントから前記第1のクライアントに、前記第2のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で送信するステップと、
    前記第1のクライアントにて、前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成するステップと、
    前記指示を受けて前記第1のクライアントから前記第2のクライアントに、前記第1のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で送信するステップと、
    前記第2のクライアントにて、前記ファイルサーバから取得したブロックと前記第1のクライアントから取得したブロックとを合わせてファイルを構成するステップと
    を備えることを特徴とするファイルダウンロード方法。
  2. ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたシステムにおいて、前記クライアントが所望のファイルをダウンロードするファイルダウンロード方法であって、
    第1のクライアントから前記ファイルサーバに対してファイル取得要求を送信するステップと、
    前記ファイル取得要求を受信した前記ファイルサーバから前記第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始するステップと、
    前記ファイル取得要求を受信した前記ファイルサーバにて、要求されたファイルを現在ダウンロード中である複数の第2のクライアントがあるか否か判別するステップと、
    前記複数の第2のクライアントがあったとき、前記第1のクライアント及び複数の第2のクライアントに対して、ピアツーピア通信を開始することを指示するステップと、
    前記指示を受けて前記第2のクライアントのそれぞれから前記第1のクライアントに、前記第2のクライアントのそれぞれが既に取得している前記ファイルのブロックをピアツーピア通信で送信するステップと、
    前記第1のクライアントにて、前記ファイルサーバから取得したブロックと前記複数の第2のクライアントから取得したブロックとを合わせてファイルを構成するステップと、
    前記指示を受けて前記第1のクライアントから前記第2のクライアントのそれぞれに、前記第1のクライアントが既に取得している前記ファイルのブロックをピアツーピア通信で送信するステップと、
    前記第2のクライアントのそれぞれにて、前記ファイルサーバから取得したブロックと前記第1のクライアントから取得したブロックとを合わせてファイルを構成するステップと
    を備えることを特徴とするファイルダウンロード方法。
  3. 請求項1または2に記載のファイルダウンロード方法において、
    前記ファイルを分割したブロックは所定の順序で順序付けられており、前記ファイルサーバから前記第2のクライアントへのブロック単位の送信及び前記第2のクライアントから前記第1のクライアントへのブロック単位の送信は前記順序に従って行い、前記ファイルサーバから前記第1のクライアントへのブロック単位の送信及び前記第1のクライアントから前記第2のクライアントへのブロック単位の送信は前記順序に対して逆の順序に従って行うことを特徴とするファイルダウンロード方法。
  4. ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、
    前記ファイルサーバは、
    第1のクライアントから送信されるファイル取得要求を受信する手段と、
    前記ファイル取得要求を送信した第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、
    要求されたファイルを現在ダウンロード中である第2のクライアントがあるか否か判別する手段と、
    前記第2のクライアントがあったとき、前記第1及び第2のクライアントに対して、ピアツーピア通信を開始することを指示する手段と
    を備え、
    前記第1のクライアントは、
    前記ファイルサーバにファイル取得要求を送信する手段と、
    前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、指示された第2のクライアントと接続し、第2のクライアントから送信される前記ファイルのブロックを受信する手段と、
    前記ファイルサーバから取得したブロックと前記第2のクライアントから取得したブロックとを合わせてファイルを構成する手段と、
    前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、前記第2のクライアントへ第1のクライアントが既に取得している前記ファイルのブロックを送信する手段
    を備え、
    前記第2のクライアントは、
    前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて第2のクライアントが既に取得している前記ファイルのブロックを送信する手段と、
    前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、前記第1のクライアントから送信される前記ファイルのブロックを受信する手段と、
    前記ファイルサーバから取得したブロックと前記第1のクライアントから取得したブロックとを合わせてファイルを構成する手段と
    を備えることを特徴とするファイルダウンロードシステム。
  5. ファイルを提供するファイルサーバと、ファイルを要求する1台以上のクライアントとがネットワークに接続されたファイルダウンロードシステムであって、
    前記ファイルサーバは、
    第1のクライアントから送信されるファイル取得要求を受信する手段と、
    前記ファイル取得要求を送信した第1のクライアントに、要求されたファイルを所定数に分割したブロック単位で送信を開始する手段と、
    要求されたファイルを現在ダウンロード中である複数の第2のクライアントがあるか否か判別する手段と、
    前記複数の第2のクライアントがあったとき、前記第1のクライアント及び複数の第2のクライアントに対して、ピアツーピア通信を開始することを指示する手段と
    を備え、
    前記第1のクライアントは、
    前記ファイルサーバにファイル取得要求を送信する手段と、
    前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、指示された複数の第2のクライアントと接続し、第2のクライアントのそれぞれから送信される前記ファイルのブロックを受信する手段と、
    前記ファイルサーバから取得したブロックと前記複数の第2のクライアントから取得したブロックとを合わせてファイルを構成する手段と、
    前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、前記複数の第2のクライアントのそれぞれに、第1のクライアントが既に取得している前記ファイルのブロックを送信する手段
    を備え、
    前記複数の第2のクライアントのそれぞれは、
    前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、指示された第1のクライアントと接続し、第1のクライアントに向けて第2のクライアントのそれぞれが既に取得している前記ファイルのブロックを送信する手段と、
    前記ファイルサーバから前記ピアツーピア通信の開始の指示があったとき、前記第1のクライアントから送信される前記ファイルのブロックを受信する手段と、
    前記ファイルサーバから取得したブロックと前記第1のクライアントから取得したブロックとを合わせてファイルを構成する手段と
    を備えることを特徴とするファイルダウンロードシステム。
JP2003001808A 2003-01-08 2003-01-08 ピアツーピア技術を用いたファイルダウンロード方法及びシステム Expired - Fee Related JP4233328B2 (ja)

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 JP2004213508A (ja) 2004-07-29
JP4233328B2 true 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)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716660B2 (en) * 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
KR100694079B1 (ko) 2005-01-08 2007-03-12 학교법인 대양학원 유무선 통합 네트워크에서 p2p 서비스를 위한 데이터다운로드 방법 및 그 노드
US7490140B2 (en) * 2005-05-12 2009-02-10 International Business Machines Corporation Peer data transfer orchestration
JP4715388B2 (ja) * 2005-08-24 2011-07-06 ブラザー工業株式会社 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
JP4670604B2 (ja) 2005-11-21 2011-04-13 ブラザー工業株式会社 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法
US8291093B2 (en) 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation
JP5030791B2 (ja) * 2005-12-16 2012-09-19 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークファイルシステム
KR100813972B1 (ko) 2006-03-08 2008-03-14 삼성전자주식회사 컨텐츠 스트리밍 클라이언트 장치 및 방법, 그 방법을수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
KR101359081B1 (ko) * 2006-06-27 2014-02-05 톰슨 라이센싱 성능 인식 p2p 콘텐트 온 디맨드
JP4692414B2 (ja) * 2006-06-29 2011-06-01 ブラザー工業株式会社 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
US7733808B2 (en) * 2006-11-10 2010-06-08 Microsoft Corporation Peer-to-peer aided live video sharing system
KR101404008B1 (ko) * 2007-08-30 2014-06-05 톰슨 라이센싱 무선 메시 네트워크들에서의 콘텐츠 서비스들에 관한 통합된 피어-투-피어 및 캐시 시스템
JP5428374B2 (ja) * 2009-02-17 2014-02-26 日本電気株式会社 分散データ収集システム及び分散データ収集方法
CN106211239A (zh) * 2010-04-26 2016-12-07 交互数字专利控股公司 启用ad hoc网络的方法和设备
JP5776339B2 (ja) * 2011-06-03 2015-09-09 富士通株式会社 ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム
KR101305062B1 (ko) * 2011-08-05 2013-09-11 (주)네오위즈게임즈 파일 다운로드 네트워크 분산 제어 방법 및 장치
KR101220671B1 (ko) * 2011-08-05 2013-01-09 (주)네오위즈게임즈 파일 다운로드를 위한 네트워크 제어 장치 및 방법
CN103237300B (zh) * 2013-04-28 2015-09-09 小米科技有限责任公司 一种文件下载的方法、装置及系统
US9326236B2 (en) * 2013-05-24 2016-04-26 International Business Machines Corporation Method, apparatus and computer program product providing performance and energy optimization for mobile computing
KR102221638B1 (ko) * 2019-10-29 2021-03-04 데이터비즈 주식회사 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템

Also Published As

Publication number Publication date
JP2004213508A (ja) 2004-07-29

Similar Documents

Publication Publication Date Title
JP4233328B2 (ja) ピアツーピア技術を用いたファイルダウンロード方法及びシステム
JP7014887B2 (ja) Pduタイプ設定方法、ueポリシー設定方法、および関連エンティティ
JP4938092B2 (ja) エッジネットワークにおけるデータ配信方法、データ配信システム、および関連装置
US11856065B2 (en) Data transmission for service integration between a virtual private cloud and an intranet
EP1921792A1 (en) Communication system, key management/delivery server, terminal apparatus, data communication method used for them, and program thereof
CN106790420B (zh) 一种多会话通道建立方法和系统
CN101039309B (zh) 链路共享服务装置以及通信方法
JP2003016036A (ja) ピア・ツー・ピアネットワーク環境中のピアの信頼性ステータスを検証するシステムおよび方法
US8341285B2 (en) Method and system for transferring files
WO2012151994A1 (zh) 资源下载方法、装置及系统
WO2014179950A1 (zh) 一种文件上传方法、客户端和服务端
WO2009011555A2 (en) System and method for providing device management service to electronic device having no broadband communication module
WO2007066929A1 (en) Method and apparatus for providing streaming service based on p2p and streaming service system using the same
KR20190108371A (ko) 네트워크 슬라이스/서비스를 선택하는 통신 방법 및 이를 수행하는 통신 장치
WO2012075853A1 (zh) 一种点对点通信方法、装置及系统
CN112243038B (zh) 下载方法、终端及计算机存储介质
US9119180B2 (en) Transport independent architecture
JP2006227763A (ja) データ共有システム、データ共有方法及びプログラム
US8145698B1 (en) Self organizing peer-to-peer system, method, and/or apparatus
CN113055444B (zh) 一种文件共享方法及其相关装置
JP2003288298A (ja) プッシュサービス情報中継装置およびプッシュサービス情報中継方法
CN114363204A (zh) 请求监控方法、网络设备及存储介质
CN113542282A (zh) 一种跨计算中心文件传输方法、装置、设备及存储介质
WO2016177135A1 (zh) 资源管理方法、装置及控制终端
JP2006025211A (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