JP4915848B2 - オーバーレイネットワークでピア・ツー・ピアのファイル送受信を行うコンピュータプログラム - Google Patents
オーバーレイネットワークでピア・ツー・ピアのファイル送受信を行うコンピュータプログラム Download PDFInfo
- Publication number
- JP4915848B2 JP4915848B2 JP2006225268A JP2006225268A JP4915848B2 JP 4915848 B2 JP4915848 B2 JP 4915848B2 JP 2006225268 A JP2006225268 A JP 2006225268A JP 2006225268 A JP2006225268 A JP 2006225268A JP 4915848 B2 JP4915848 B2 JP 4915848B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- file
- relay
- response
- request
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
下位レイヤのネットワークを意識せずに(例えば、IPネットワークに存在するセグメントを意識せずに)、ユーザは、アップロードやダウンロードの相手方を自由に取捨選択できる。
(1)ファイルを要求する要求ノード、
(2)ファイルを提供する提供ノード、
(3)提供ノードから要求ノードへのファイル送信を中継する中継ノード、
のいずれのノードとしても機能させることができるように構成されている。具体的には、以下の通りである。
(a1)該ユーザ所望のファイルを保持しているP2Pノードに、該ユーザ所望のファイルを送信することのファイル送信要求を送信するステップと、
(a2)前記ファイル送信要求に対応した前記ユーザ所望のファイルを受信するステップと
を前記コンピュータに実行させる。具体的には、例えば、ユーザ所望のファイルを保持しているか否かのファイル有無問合せを送信するステップと、前記ファイル有無問合せを受信した複数のP2Pノードから、それぞれ、前記ユーザ所望のファイルの有無を含んだ複数のファイル有無応答を受信するステップと、前記ユーザ所望のファイルを保持しているP2Pノードを前記複数のファイル有無応答から特定し、該特定したP2Pノードに、前記ファイル送信要求を送信するステップとを前記コンピュータに実行させることができる。
(b1)前記オーバーレイネットワークで前記コンピュータとP2Pの通信が可能な複数のP2Pノードの中から、前記下位レイヤ通信プログラムとの対話により、前記下位レイヤネットワークでの自ノード(前記コンピュータ)と前記第一の他のコンピュータとの間の経路におけるボトルネック部分よりも自ノード側に存在するP2Pノードを特定し、該特定したP2Pノードを、自ノードから前記第一の他のコンピュータへのファイル送信を中継する中継ノードに決定するステップと、
(b2)前記決定した中継ノードである第二の他のコンピュータに、前記受信したファイル送信要求に対応したファイルを送信するステップと、
(b3)前記第一の他のコンピュータを表す要求ノード情報を、前記第二の他のコンピュータに通知するステップと
を前記コンピュータに実行させる。前記下位レイヤ通信プログラムとの対話では、例えば、前記複数のP2Pノードにそれぞれ対応した複数の識別子(例えばホスト名)を前記下位レイヤ通信プログラムに通知し、該複数のP2Pノードのうち、前記ボトルネック部分よりも自ノード側に存在するP2Pノードを前記下位レイヤ通信プログラムに調べさせ、該調べた結果として、自ノード側に存在するP2Pノードの識別子を受けることにより、前記ボトルネック部分よりも自ノード側に存在するP2Pノードを特定することができる。この方法に代えて、他の方法により、該P2Pノードの特定が行われても良い。例えば、前記下位レイヤ通信プログラムから、前記ボトルネック部分よりも自ノード側に存在する全てのノードにそれぞれ対応した全ての識別子を取得し、取得した全ての識別子のうち、前記複数のP2Pノードのそれぞれの識別子に対応する識別子を特定することにより、前記ボトルネック部分よりも自ノード側に存在するP2Pノードを特定してもよい。
(c1)P2Pノードである第三の他のコンピュータから前記或るファイルを受信するステップと、
(c2)前記受信した或るファイルを前記コンピュータの記憶資源に格納するステップと、
(c3)前記第三の他のコンピュータから、前記或るファイルを要求したP2Pノードを表す要求ノード情報を受信するステップと、
(c4)前記要求ノード情報が表すP2Pノードである第四の他のコンピュータと自ノードとの間のボトルネックが解消された場合に、前記格納した或るファイルを、前記第四の他のコンピュータに送信するステップと
を前記コンピュータに実行させる。P2Pノードは、WEBサーバ等と違って、ユーザによって電源が落とされる可能性があるので、例えば、このコンピュータプログラムは、自分の周辺のP2Pノードが稼動しているか否かを確認するために、定期的に又は不定期的に、問い合わせ(例えばping)を発行することができる。その問い合わせに対する応答(例えばpong)が返って来ない場合(例えば、応答が全く返って来ない場合、或いは、返って来たものの一定時間内に返って来なかった場合)、応答が返って来ない経路は、ボトルネックということになる。しかし、応答が返って来れば(例えば、全く返って来なかった応答がやっと返って来れば、或いは、問い合わせを送信してから一定時間内に応答が返って来るようになれば)、ボトルネックが解消されたということになる。従って、ここで、例えば、前記「ボトルネックが解消された場合」とは、定期的に又は不定期的に前記第四の他のコンピュータに送信した問い合わせに対する応答を前記第四の他のコンピュータから受信した場合(例えば問い合わせを送信してから一定時間内に受信した場合)である。送信する問い合わせは、P2Pに従う問い合わせであっても良いし、下位レイヤの通信プロトコルに従う問い合わせであってもよい。
(1)P2Pネットワークへの参加、
(2)ファイル送信の要求、
(3)中継ノードの選定、
に大別することができる。(1)の時に、中継ノード候補が決定される。(2)の時にも、中継ノード候補が決定され、(3)で、その中継ノード候補の中から中継ノードが選定される。以下、具体的に説明する。
Claims (9)
- 下位レイヤのネットワークでの通信を制御する下位レイヤ通信プログラムが実行されるコンピュータに、前記下位レイヤのネットワークの上位に重ねられたオーバーレイネットワークであるP2PネットワークでP2Pのファイル送受信を実行させるコンピュータプログラムであって、
(A)ファイルの指定を受けた場合、
(a1)該ファイルを保持しているP2Pノードに、該ファイルを送信することのファイル送信要求を送信するステップと、
(a2)前記ファイル送信要求に対応した前記ファイルを受信するステップと、
(B)ファイルを要求するP2Pノードである要求ノードから、ファイル送信要求を受信した場合、
(b1)前記P2PネットワークでP2Pに従う第一の問合せをそれぞれ送信し、該第一の問合せに対する第一の応答を受信し、該第一の応答の返信元のP2Pノードに対して、前記下位レイヤの通信プロトコルに従う第二の問合せを前記下位レイヤ通信プログラムに送信させ、該第二の問合せに対する第二の応答を受信した前記下位レイヤ通信プログラムから該第二の応答に関する情報を取得し、該情報が所定の条件を満たす場合に、前記第二の応答を返信したP2Pノードを中継ノード候補に決定し、該決定した複数の中継ノード候補の中から、前記下位レイヤネットワークでの前記自ノードと前記要求ノードとの間の経路におけるボトルネック部分よりも前記自ノード側に存在する2以上のP2Pノードを特定し、該特定した2以上のP2Pノードである2以上の特定中継ノード候補から、前記自ノードから前記要求ノードへのファイル送信を中継する複数の中継ノードを決定するステップと、
(b2)前記決定された複数の中継ノードに、前記受信したファイル送信要求に対応したファイルをそれぞれ送信するステップと、
(b3)前記要求ノードを表す要求ノード情報を、前記複数の中継ノードに通知するステップと、
(C)前記自ノードが前記中継ノードとして決定されたP2Pノードである場合、
(c1)提供ノードから送信されたファイルを受信するステップと、
(c2)前記受信したファイルを前記自ノードの記憶資源に格納するステップと、
(c3)前記提供ノードから、要求ノードを表す要求ノード情報を受信するステップと、
(c4)前記要求ノード情報が表す要求ノードと前記自ノードとの間のボトルネックが解消された場合に、前記(c2)で格納したファイルを、前記要求ノードに送信するステップと
を前記コンピュータに実行させるコンピュータプログラム。 - 前記P2Pネットワークに参加した場合に、前記P2PネットワークでP2Pに従う第一の問合せを送信し、該第一の問合せに対する第一の応答を受信し、該第一の応答の返信元のP2Pノードに対して、前記下位レイヤの通信プロトコルに従う第二の問合せを前記下位レイヤ通信プログラムに送信させ、該第二の問合せに対する第二の応答を受信した前記下位レイヤ通信プログラムから該第二の応答に関する情報を取得し、該情報が所定の条件を満たす場合に、前記第二の応答を返信したP2Pノードを中継ノード候補に決定し、該決定した複数の中継ノード候補に関する情報を記録したリストを、前記コンピュータの記憶資源に格納するステップ、
を更に前記コンピュータに実行させる請求項1記載のコンピュータプログラム。 - 前記(b1)では、前記第二の応答に関する情報として、該第二の応答の返信元と自ノードとの前記下位レイヤネットワークでの経路の距離、該経路での帯域、前記第二の問合せが送信されてから前記第二の応答を受信するまでの応答時間長のうちの少なくとも一つを取得する、
請求項1又は2に記載のコンピュータプログラム。 - 前記第一の応答には、該第一の応答を返信したP2Pノードの能力に関する能力情報が含まれており、
前記(b1)では、P2Pノードの能力情報と、前記ボトルネック部分と各中継ノード候補との間の余剰帯域とのうちの少なくとも一つに基づいて、前記中継ノードを決定する、
請求項1乃至3のうちのいずれか1項に記載のコンピュータプログラム。 - 前記能力情報には、該能力情報を送信したP2PノードのCPU使用率と空き記憶容量とが含まれており、
前記(b1)では、前記CPU使用率が第一の値以下で前記空き記憶容量が第二の値以上の中継ノード候補を前記中継ノードに決定する、
請求項4記載のコンピュータプログラム。 - 前記(b1)では、前記CPU使用率が高く前記空き記憶容量が多い第一の中継ノード候補と、該第一の中継ノード候補に比して前記CPU使用率が低く前記空き記憶容量が少ない第二の中継ノード候補とのうち、前記第一の中継ノード候補を前記中継ノードに決定する、
請求項4又は5記載のコンピュータプログラム。 - 前記(C)における新たなステップ(c5)として、前記送信したファイルを前記コンピュータの記憶資源から削除するステップを前記コンピュータに更に実行させる、
請求項1乃至6のうちのいずれか1項に記載のコンピュータプログラム。 - 前記受信したファイル送信要求に応答して前記要求ノードにファイルを送信するのに失敗した場合に、前記(b1)を実行する、
請求項1乃至7のうちのいずれか1項に記載のコンピュータプログラム。 - 下位レイヤのネットワークの上位に重ねられたオーバーレイネットワークであるP2PネットワークでのP2Pのファイル送受信方法において、
ファイルを要求するP2Pノードである要求ノードが、所望されたファイルを保持しているP2Pノードに、該ファイルを送信することのファイル送信要求を送信するステップと、
前記ファイル送信要求を受信したP2Pノードである提供ノードが、前記P2PネットワークでP2Pに従う第一の問合せをそれぞれ送信し、該第一の問合せに対する第一の応答を受信し、該第一の応答の返信元のP2Pノードに対して、前記下位レイヤの通信プロトコルに従う第二の問合せを前記下位レイヤ通信プログラムに送信させ、該第二の問合せに対する第二の応答を受信した前記下位レイヤ通信プログラムから該第二の応答に関する情報を取得し、該情報が所定の条件を満たす場合に、前記第二の応答を返信したP2Pノードを中継ノード候補に決定し、該決定した複数の中継ノード候補の中から、前記下位レイヤネットワークでの該提供ノードと前記要求ノードとの間の経路におけるボトルネック部分よりも前記提供ノード側に存在する2以上のP2Pノードを特定し、該特定した2以上のP2Pノードである2以上の特定中継ノード候補から、前記提供ノードから前記要求ノードへのファイル送信を中継する複数の中継ノードを決定するステップと、
前記提供ノードが、前記複数の中継ノードに前記ファイルをそれぞれ送信するステップと、
前記提供ノードが、前記要求ノードを表す要求ノード情報を前記複数の中継ノードに通知するステップと、
前記複数の中継ノードの各々が、前記提供ノードから前記ファイルを受信するステップと、
前記複数の中継ノードの各々が、前記受信したファイルを該中継ノードの記憶資源に格納するステップと、
前記複数の中継ノードの各々が、該中継ノードと前記要求ノードとの間のボトルネックが解消された場合に、前記格納したファイルを、前記提供ノードから通知された前記要求ノード情報が表す前記要求ノードに送信するステップと、
前記要求ノードが、前記中継ノードから前記ファイルを受信するステップと
を有するファイル送受信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006225268A JP4915848B2 (ja) | 2006-08-22 | 2006-08-22 | オーバーレイネットワークでピア・ツー・ピアのファイル送受信を行うコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006225268A JP4915848B2 (ja) | 2006-08-22 | 2006-08-22 | オーバーレイネットワークでピア・ツー・ピアのファイル送受信を行うコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008052340A JP2008052340A (ja) | 2008-03-06 |
JP4915848B2 true JP4915848B2 (ja) | 2012-04-11 |
Family
ID=39236373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006225268A Expired - Fee Related JP4915848B2 (ja) | 2006-08-22 | 2006-08-22 | オーバーレイネットワークでピア・ツー・ピアのファイル送受信を行うコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4915848B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7636758B1 (en) * | 2008-07-10 | 2009-12-22 | Gene Fein | Advertisement forwarding storage and retrieval network |
US7636761B1 (en) | 2008-09-29 | 2009-12-22 | Gene Fein | Measurement in data forwarding storage |
US7636759B1 (en) | 2008-09-29 | 2009-12-22 | Gene Fein | Rotating encryption in data forwarding storage |
US8458285B2 (en) | 2008-03-20 | 2013-06-04 | Post Dahl Co. Limited Liability Company | Redundant data forwarding storage |
US9203928B2 (en) | 2008-03-20 | 2015-12-01 | Callahan Cellular L.L.C. | Data storage and retrieval |
US7599997B1 (en) | 2008-08-01 | 2009-10-06 | Gene Fein | Multi-homed data forwarding storage |
JP5280082B2 (ja) * | 2008-03-28 | 2013-09-04 | 京セラ株式会社 | 携帯無線端末装置 |
JP5003556B2 (ja) * | 2008-03-28 | 2012-08-15 | 富士通株式会社 | 通信検知装置、通信検知方法、及び通信検知プログラム |
US8386585B2 (en) | 2008-04-25 | 2013-02-26 | Tajitshu Transfer Limited Liability Company | Real-time communications over data forwarding framework |
US7668926B2 (en) * | 2008-04-25 | 2010-02-23 | Gene Fein | Real-time communications over data forwarding framework |
US8452844B2 (en) | 2008-05-07 | 2013-05-28 | Tajitshu Transfer Limited Liability Company | Deletion in data file forwarding framework |
US8370446B2 (en) | 2008-07-10 | 2013-02-05 | Tajitshu Transfer Limited Liability Company | Advertisement forwarding storage and retrieval network |
US8599678B2 (en) | 2008-07-10 | 2013-12-03 | Tajitshu Transfer Limited Liability Company | Media delivery in data forwarding storage network |
US8478823B2 (en) | 2008-09-29 | 2013-07-02 | Tajitshu Transfer Limited Liability Company | Selective data forwarding storage |
US8352635B2 (en) | 2008-09-29 | 2013-01-08 | Tajitshu Transfer Limited Liability Company | Geolocation assisted data forwarding storage |
JP5637115B2 (ja) * | 2011-10-18 | 2014-12-10 | 株式会社バッファロー | ネットワークストレージシステム、ネットワークストレージシステムにおけるデータ操作方法、記憶装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002152258A (ja) * | 2000-11-10 | 2002-05-24 | Nec Corp | データ取得システム及びデータ取得方法 |
JP4182974B2 (ja) * | 2005-11-04 | 2008-11-19 | 日本電気株式会社 | 経路計算システム、ネットワークシステム,キャッシュサーバ,経路計算方法、キャッシュサーバ制御方法及び記録媒体 |
-
2006
- 2006-08-22 JP JP2006225268A patent/JP4915848B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008052340A (ja) | 2008-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4915848B2 (ja) | オーバーレイネットワークでピア・ツー・ピアのファイル送受信を行うコンピュータプログラム | |
JP4714698B2 (ja) | ピアツーピア・ネットワーク通信の改善方法 | |
US7652998B2 (en) | Multicast communication path calculation method and multicast communication path calculation apparatus | |
EP1388073B1 (en) | Optimal route selection in a content delivery network | |
TWI584194B (zh) | 在一服務導向架構(soa)網路中尋求服務之技術 | |
JP2003249958A (ja) | 大規模ネットワークのためのピアツーピアベースのネットワーク性能測定および分析システムおよび方法 | |
JP4598789B2 (ja) | 経路計算制御方法、経路計算制御プログラムおよび経路計算制御装置 | |
US8964738B2 (en) | Path computation element protocol support for large-scale concurrent path computation | |
JP5160405B2 (ja) | P2p配信システム及び配信方法 | |
Ascigil et al. | A native content discovery mechanism for the information-centric networks | |
EP1440529B1 (en) | System and method for information object routing in computer networks | |
CA2595438C (en) | Method for improving peer to peer network communication | |
Kerrouche et al. | AC-QoS-FS: Ant colony based QoS-aware forwarding strategy for routing in Named Data Networking | |
JP4729506B2 (ja) | 分散型データ処理装置 | |
WO2015176650A1 (en) | Method for optimizing network traffic engineering and system thereof | |
JP2007251805A (ja) | 通信装置およびネットワークシステム | |
JP5598474B2 (ja) | ネットワーク設計システム、ネットワーク設計方法、データ転送経路決定方法、ネットワーク設計プログラム | |
EP2785017A1 (en) | Content-centric networking | |
JP2010199882A (ja) | 通信システム、経路計算装置、経路計算方法及びプログラム | |
JP5506640B2 (ja) | コンテンツ配信方法及びシステム | |
KR100872170B1 (ko) | P2p 네트워크 다중 라우팅 방법 | |
JP2016046785A (ja) | キャッシュサーバ選択装置、分散キャッシュシステム、及びキャッシュサーバ選択方法 | |
JP3964808B2 (ja) | ルーチング方法及びルーチング装置並びにプログラム及び記録媒体 | |
JP3977786B2 (ja) | マルチキャストネットワーク、マルチキャスト転送経路計算方法、マルチキャスト転送経路計算プログラムおよびそのプログラムを記録した記録媒体 | |
JP5598475B2 (ja) | ネットワーク運用システム、ネットワーク運用方法、及びネットワーク運用プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110510 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110706 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110913 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111207 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111214 |
|
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: 20120118 |
|
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: 20120119 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150203 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |