JP2006221457A - Servant for replication control in pure p2p communication, replication control method for the same, and program - Google Patents

Servant for replication control in pure p2p communication, replication control method for the same, and program Download PDF

Info

Publication number
JP2006221457A
JP2006221457A JP2005034840A JP2005034840A JP2006221457A JP 2006221457 A JP2006221457 A JP 2006221457A JP 2005034840 A JP2005034840 A JP 2005034840A JP 2005034840 A JP2005034840 A JP 2005034840A JP 2006221457 A JP2006221457 A JP 2006221457A
Authority
JP
Japan
Prior art keywords
servant
history information
file
replication
control method
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.)
Pending
Application number
JP2005034840A
Other languages
Japanese (ja)
Inventor
Shinya Nogami
慎也 能上
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005034840A priority Critical patent/JP2006221457A/en
Publication of JP2006221457A publication Critical patent/JP2006221457A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To speed up and streamline the acquisition of target information in pure P2P communication in a simpler procedure. <P>SOLUTION: For the execution of replication, a history information generation part 6a generates history information associating filenames and IP addresses of destination servants, a publication processing part 6b transmits the history information to other servants specified in a predetermined procedure, and a history information storage processing part 6c, when receiving such history information from other servants, stores the history information in a memory 5. For the transmission of a file search request packet, if a history information reference part 6d finds a search request target file by reference to the history information stored in the memory 5, a packet generation/transmission processing part 6e transmits a download request packet to the servant of the associated IP address. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、IP(Internet Protocol)ネットワーク上で構築されるPure型P2P(Peer-to-Peer)通信技術に係わり、特に、レプリケーションされたファイルの検索効率を向上させるのに好適な技術に関するものである。   The present invention relates to a Pure-type P2P (Peer-to-Peer) communication technology constructed on an IP (Internet Protocol) network, and more particularly to a technology suitable for improving the retrieval efficiency of a replicated file. is there.

近年、IPネットワークであるインターネット上では、P2P型通信によるコンテンツの検索・転送サービスの利用が増えている。P2P型通信においては、ネットワークで接続されたパーソナルコンピュータ等の各コンピュータ端末に、「Napster」、「Gnutella」等のファイル共有アプリケーションがインストールされ、各端末は、サーバとクライアントの両方の機能を有し、ピアもしくはサーバント(Servent)と呼ばれる。   In recent years, on the Internet, which is an IP network, the use of content search / transfer services by P2P communication is increasing. In P2P communication, file sharing applications such as “Napster” and “Gnutella” are installed in each computer terminal such as a personal computer connected via a network, and each terminal has functions of both a server and a client. Called Peer or Servant.

P2P型通信には大別して、「Napster」に代表されるHybrid型と、「Gnutella」に代表されるPure型の2種類の型がある。Hybrid型は、目的情報(ファイル)の所在を一括管理する専用サーバが存在するタイプであり、Pure型は、目的情報の所在を伝言ゲーム方式で、サーバント間で次々に問い合わせていくタイプである。   P2P type communication can be broadly classified into two types: Hybrid type typified by “Napster” and Pure type typified by “Gnutella”. The Hybrid type is a type in which a dedicated server that collectively manages the location of the objective information (file) exists, and the Pure type is a type in which the location of the objective information is inquired one after another by a message game method.

Hybrid型は、各サーバントからの検索要求パケットが、専用サーバに集中するため、そのサーバがボトルネックとなりやすい。   In the Hybrid type, search request packets from each servant are concentrated on a dedicated server, and the server is likely to be a bottleneck.

また、Pure型では、各サーバントは、パケットのTTL(Time to Live、パケットの生存時間)に設定された値のホップ数の範囲まで次々に目的情報(ファイル)の有無を隣接サーバントに対して問い合わせを行う。すなわち、各サーバント間では、それぞれの隣接サーバントヘ延ばしている「腕の数(ディグリー:degree)」の分だけ分岐してパケットによる問い合わせを実行する。   Also, in the Pure type, each servant inquires the adjacent servant for the existence of target information (file) one after another up to the range of the hop count of the value set in the packet TTL (Time to Live). I do. That is, between each servant, a branch is made by an amount corresponding to the “number of arms (degree)” extended to each adjacent servant, and an inquiry by a packet is executed.

このようなPure型P2P通信におけるファイルのダウンロード要求に関する通常の手順では、あるファイルを要求する任意のサーバントは、まず、(i)「Queryパケット(検索文字列を含んだ検索要求パケットであり、予め指定された回数だけ送出される)」を、周囲のサーバント(「PINGパケット」と「PONG」パケットにより特定されるサーバント)に対して送出することにより検索する。(ii)「QueryHitパケット(Queryパケットに対して要求に合致したファイルを保持しているサーバントからの応答パケット)」が返ってくれば、すなわち、「ヒット」すれば、その情報から当該ファイルを保持しているサーバントを把握する。そして、(iii)その当該ファイルを保持しているサーバントに対してダウンロード要求(「PUSH」等)を出し、(iv)ダウンロードを実行する、という手順を経て目的のファイルを入手する。   In a normal procedure related to a file download request in such Pure-type P2P communication, an arbitrary servant that requests a certain file is first (i) a “Query packet (a search request packet including a search character string, Is transmitted to the surrounding servant (servant specified by the “PING packet” and “PONG” packet). (Ii) If a “QueryHit packet (response packet from a servant holding a file that matches the request for the Query packet)” is returned, that is, if it “hits”, the file is held from that information. Know what servant is doing. Then, a target file is obtained through a procedure of (iii) issuing a download request (such as “PUSH”) to the servant holding the file and (iv) executing the download.

従来のPure型P2P通信では、ファイルのダウンロード要求が発生したサーバントは、そのファイルをどのサーバントが保持しているかを探索する上記手順を、その都度、最初から行う必要があった。そのため、「ヒット」率が低い場合、すなわち、近辺のサーバントに目的のファイルが無い場合には、パケット情報検索パケット(Queryパケット)が多数のサーバントから並列に発信されることとなり、網内のパケット数が爆発的に増加し、網内の広域に渡っての混雑が発生する。   In the conventional Pure type P2P communication, a servant that has made a request to download a file has to perform the above procedure for searching which servant holds the file from the beginning each time. Therefore, when the “hit” rate is low, that is, when there is no target file in the nearby servant, the packet information search packet (Query packet) is transmitted in parallel from many servants, and the packet in the network The number increases explosively and congestion over a wide area in the network occurs.

このような問題に対象する従来技術としては、例えば、非特許文献1〜3に記載のレプリケーション技術がある。このレプリケーション技術では、IP網においてP2P型通信を行っている場合に、あるコンテンツ(ファイル)へのヒット率を向上させるために、当該コンテンツの複製(レプリカ)を他のサーバントに送っておくものであり、サーバントの負荷や回線の使用率上昇を抑えることができる。   As a conventional technique for dealing with such a problem, for example, there are replication techniques described in Non-Patent Documents 1 to 3. In this replication technology, when performing P2P communication in an IP network, a copy (replica) of the content is sent to another servant in order to improve the hit rate for the content (file). Yes, servant load and line usage rate increase can be suppressed.

すなわち、この技術によりレプリケーションが実行されると、元々はソースサーバントのみに保持されていたそのファイルが、いくつかの他のサーバントでも保持されることになる。そのため、そのファイルを要求する任意のサーバントからの平均的距離が短くなり、要求元サーバントから見つけやすくなり、ダウンロードするための時間も平均的には短くなる。   In other words, when replication is executed by this technique, the file that was originally held only by the source servant is also held by some other servants. Therefore, the average distance from any servant that requests the file is shortened, it is easy to find from the requesting servant, and the download time is also shortened on average.

しかしながら、この場合にも、要求元のサーバントは、上述の(i)〜(iv)の通常の手順を実行しなければ、目的のファイルを入手することはできない。   However, also in this case, the requesting servant cannot obtain the target file unless the normal procedures (i) to (iv) described above are executed.

P2Pネットワークの中でレプリケーションが頻繁に行われるような状況になると、上記の通常手順をいちいち実行すること無く、より簡便な手順でスピーディに効率よく目的ファイルを入手できることが望まれる。   In a situation where replication is frequently performed in the P2P network, it is desired that the target file can be obtained quickly and efficiently by a simpler procedure without executing the normal procedure.

Q.LV,P.Cao,E.Cohen,K.Li,and S.Shenker,“Search and replication in unstructured peer-to-peer networks、”proceedings of 16th ACM International Conference on Supercomputing(ICS’02),June 2002.Q. LV, P. Cao, E .; Cohen, K. Li, and S. Shenker, “Search and replication in unstructured peer-to-peer networks,” proceedings of 16th ACM International Conference on Supercomputing (ICS’02), June 2002. 後藤、阿多、村田:“P2Pネットワークにおけるサービス安定性向上のためのレプリケーション配置手法”信学技報NS2002−152,Oct.2002.Goto, Ata, Murata: “Replication placement method for improving service stability in P2P networks” IEICE Tech. Bulletin NS2002-152, Oct. 2002. 能上、内田:“Pure型P2Pにおけるファイル検索&レプリケーションについて”信学総大2004(2004年3月発表)。Nogami, Uchida: “File Search and Replication in Pure P2P”, Shingaku Sodai 2004 (announced in March 2004).

解決しようとする問題点は、従来の技術では、Pure型P2P通信において、レプリケーションを実行した場合にも、ファイル(コンテンツ/データ)の要求元のサーバントが目的のファイルを入手するためには、「Queryパケット」を周囲のサーバントに送出する手順を含む、上述の(i)〜(iv)の通常の手順を実行しなければならない点である。   The problem to be solved is that, in the conventional technology, even in the case of performing replication in Pure type P2P communication, in order for the servant that requested the file (content / data) to obtain the target file, “ The point is that the above-described normal procedures (i) to (iv) must be executed, including the procedure of sending the “Query packet” to surrounding servants.

本発明の目的は、これら従来技術の課題を解決し、P2Pネットワークでの目的ファイルの入手を、より簡便な手順でスピーディに効率良く行うことを可能とすることである。   An object of the present invention is to solve these problems of the prior art and to obtain a target file in a P2P network quickly and efficiently by a simpler procedure.

上記目的を達成するため、本発明では、Pure型P2P通信において、各サーバントは、ファイル(コンテンツ)のレプリケーションの実行時に、当該レプリケーションをいつ実行したか、どのサーバントに対して実行したか、どのファイルに関して実行したか、といった情報からなる履歴情報を生成して、P2Pネットワーク上で有効と特定されるサーバントに対して通知する。通知を受けたサーバントは、通知された履歴情報を記憶装置に記憶し、ファイルの検索要求を行う際には、記憶した履歴情報を参照し、当該ファイルに関する履歴情報があれば、当該ファイルのレプリケーション実行先のサーバントを特定して、当該サーバントにファイルの検索要求パケットを送出する。また、他のサーバントからの検索要求パケットを受信した際にも、記憶した履歴情報を参照し、当該ファイルに関する履歴情報があれば、当該ファイルのレプリケーション実行先のサーバントの識別情報(IPアドレス)を、検索要求パケット送信元のサーバントに通知することで、以降の検索要求パケットの配信を抑える。尚、履歴情報の送信先サーバントの特定は、ホップ数を用いて、あるいは、ホップ数と共に、ディグリー(隣接サーバントへ伸ばしている腕の数)およびヒット数の少なくともいずれか1つを用いて行う。例えば、予め定められたホップ数範囲内の全てのサーバント、あるいは、予め定められたホップ数範囲内のサーバントで、かつ、ディグリーもしくはヒット数のいずれかが予め定められた閾値以上のサーバントを送信先として特定する。   In order to achieve the above object, according to the present invention, in Pure-type P2P communication, when performing replication of a file (content), each servant performs when the replication is performed, for which servant, and which file. History information consisting of information such as whether or not it has been executed is generated and notified to a servant identified as valid on the P2P network. Upon receiving the notification, the servant stores the notified history information in the storage device, and when making a file search request, refers to the stored history information, and if there is history information about the file, replication of the file is performed. The execution destination servant is specified, and a file search request packet is sent to the servant. Also, when a search request packet is received from another servant, the stored history information is referred to. If there is history information about the file, the identification information (IP address) of the servant that is the replication destination of the file is displayed. By notifying the servant that is the source of the search request packet, distribution of subsequent search request packets is suppressed. The history information transmission destination servant is specified by using the number of hops, or by using at least one of the degree (the number of arms extending to the adjacent servant) and the number of hits together with the number of hops. For example, all servants within a predetermined hop number range, or servants within a predetermined hop number range, and either a degree or the number of hits is greater than or equal to a predetermined threshold value. As specified.

本発明によれば、P2P型通信を行うサーバントに対して、いつどこにどの種類のファイルに対してレプリケーションを行ったかといった情報を周知するので、周知されたサーバントにおいては、当該ファイルの検索要求時に通常手順をいちいち実行する必要がなくなり、また、当該ファイルの検索要求を受けた際にも以降の通常手順を実行する必要がなくなり、各サーバントは、より簡便な手順で、スピーディ(短時間に)に、効率よく、目的のファイルを発見し、入手することが可能となり、ネットワーク内の問い合わせパケット数を減らすことが可能となる。   According to the present invention, information such as when and where and what type of file is replicated is made known to a servant that performs P2P type communication. It is no longer necessary to execute the procedure step by step, and it is no longer necessary to execute the subsequent normal procedure when a search request for the file is received. Each servant is quicker (in a short time) with a simpler procedure. This makes it possible to efficiently find and obtain the target file, and to reduce the number of inquiry packets in the network.

以下、図を用いて本発明を実施するための最良の実施形態例を説明する。図1は、本発明に係わるレプリケーション制御を行うサーバントの構成例を示すブロック図であり、図2は、図1におけるサーバントによる履歴情報の通知先の特定手順例を示す説明図、図3は、図1におけるサーバントによる履歴情報の通知先の他の特定手順例を示す説明図である。   DESCRIPTION OF THE PREFERRED EMBODIMENTS The best embodiment for carrying out the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a servant that performs replication control according to the present invention, FIG. 2 is an explanatory diagram showing an example of a procedure for specifying a history information notification destination by the servant in FIG. 1, and FIG. It is explanatory drawing which shows the other specific procedure example of the notification destination of the historical information by the servant in FIG.

図1において、1はPure型P2P通信におけるレプリケーション制御機能を有するサーバントであって、2はキーボードやCRT等からなる入出力装置(コンソール)であり、外部からの情報(コマンド)を入力し、サーバント1の処理結果を画面表示するための機能を有し、10はサーバント1と図示していない他のサーバント等とを接続するインターネット等のIP網である。   In FIG. 1, 1 is a servant having a replication control function in Pure type P2P communication, 2 is an input / output device (console) composed of a keyboard, a CRT, etc., and inputs information (command) from the outside, and the servant 1 is an IP network such as the Internet that connects the servant 1 to another servant (not shown).

サーバント1は、CPU(Central Processing Unit)や主記憶装置(主メモリ)、表示装置、入力装置、外部記憶装置、周辺装置等を具備した一般的なPC(パーソナルコンピュータ)等のコンピュータ構成からなり、周辺装置としての光ディスク駆動装置等を介してCD−ROM等の記憶媒体に記録されたファイル共有アプリケーション等のプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、各処理部の実行機能を構成しており、P2Pアプリケーションレイヤとしてはサーバントとして見える。   The servant 1 has a computer configuration such as a general PC (personal computer) including a CPU (Central Processing Unit), a main storage device (main memory), a display device, an input device, an external storage device, a peripheral device, and the like. A program or data such as a file sharing application recorded on a storage medium such as a CD-ROM via an optical disk drive as a peripheral device is installed in the external storage device, and then read from the external storage device into the main memory. As a result, the execution function of each processing unit is configured, and the P2P application layer appears as a servant.

具体的には、サーバント1は、メモリ部3、情報管理・転送処理部4、レプリケーション実行部5、履歴情報管理処理部6、PAD7、パケット送信部8、パケット受信部9の各処理機能部を具備している。   Specifically, the servant 1 includes processing function units such as a memory unit 3, an information management / transfer processing unit 4, a replication execution unit 5, a history information management processing unit 6, a PAD 7, a packet transmission unit 8, and a packet reception unit 9. It has.

PAD7は、パケット組み立て/分解機能を持ち、各種情報をIPパケットに変換したり、その逆にIPパケットから各種情報への分解を行ったりする。パケット送信部8は、IPパケットをIP網10で接続された他のサーバントに送出する機能を持ち、パケット受信部9は、IP網10内の他のサーバントからの到着パケットを受信する機能を持つ。   The PAD 7 has a packet assembling / disassembling function and converts various information into IP packets, and conversely, disassembles IP packets into various information. The packet transmission unit 8 has a function of sending IP packets to other servants connected by the IP network 10, and the packet reception unit 9 has a function of receiving arrival packets from other servants in the IP network 10. .

メモリ部3は、メモリ容量の管理や情報の記憶制御や削除制御等を行うメモリ制御部3aと、各種レプリケーション情報やヒット情報、保持しているファイルに関する情報、各サーバントまでのRTT(Round Trip Time:往復遅延時間)情報、サーバントのIPアドレス、本発明に係わる履歴情報等を記憶(格納/蓄積)するメモリ3bからなる。   The memory unit 3 includes a memory control unit 3a that performs memory capacity management, information storage control, deletion control, and the like, various replication information, hit information, information about the held files, and RTT (Round Trip Time) to each servant. : A round-trip delay time) information, a servant's IP address, history information according to the present invention, and the like.

尚、RTT情報は、次のようにして取得する。まず、パケット送信部8からPingパケットを飛ばし、パケット受信部9に戻ってきたPingパケットにより相手サーバントのIPアドレスを取得し、次に、そのアドレス宛にパケット送信部8から測定パケットを飛ばしてパケット受信部9に戻ってくるまでの、発着の時間差を測定することで相手サーバントまでのRTTを測定する。   The RTT information is acquired as follows. First, the Ping packet is skipped from the packet transmission unit 8, the IP address of the counterpart servant is acquired from the Ping packet returned to the packet reception unit 9, and then the measurement packet is skipped from the packet transmission unit 8 to the address. The RTT to the partner servant is measured by measuring the time difference between arrival and departure until returning to the receiving unit 9.

レプリケーション実行部5は、過去に実行したレプリケーションに関する各種情報を解析/判断する機能を持つと共に、ヒット率や問い合わせ回数などの情報を基にして、どのサーバントに対してその情報をいつレプリケーションするかを決定してそれを実行する機能を持つ。   The replication execution unit 5 has a function of analyzing / determining various types of information related to replication executed in the past, and based on information such as the hit rate and the number of inquiries, to which servant when the information is replicated. Has the ability to decide and execute it.

本例では、レプリケーション実行部5は、上述した非特許文献3に記載の技術を用いて、レプリケーションするサーバントの決定を行うものとする。   In this example, it is assumed that the replication execution unit 5 determines a servant to be replicated using the technique described in Non-Patent Document 3 described above.

すなわち、レプリケーション実行部5は、ある時刻において直近T時間における(すなわち現在から遡ってT時間分における)当該ファイルのヒット率がある閾値以上になれば(Step1)、全方路にある(途中経路も含めて)kホップ先の各サーバントiに注目し(Step2)、そのサーバントiに対して、ディグリー(degree、腕の数)が所定の値m以上(Deg(i) ≧m)ならば確率P(腕の数に比例した割合)でレプリケーションの対象に決定し(Step3)(但し、mは0以上の正数で、iは1≦i≦Nj、Njはj回目のkホップ先のサーバントの総数)、サーバントiのうちの割合Xにある方路Mi(Mi=「「X*Deg(i)」」)(但し、Mi=「「X*Deg(i)」」はX*Deg(i)を超えない最大の正数)をランダムに選択してkホップ先のサーバントに注目する(Step4)。そして、Step3〜4をNj回(i=1〜Nj)実行し(Step5)、Step3〜5をL回(j=1〜L)実行することで、当該ファイルのレプリケーション実行先サーバントを決定する。   That is, if the hit rate of the file in the latest T time (that is, T time retroactively from the present time) exceeds a certain threshold at a certain time (Step 1), the replication execution unit 5 is in all routes (intermediate route). Pay attention to each servant i of k hops ahead (Step 2), and if the degree (degree, number of arms) is greater than or equal to a predetermined value m (Deg (i) ≥ m) for that servant i, the probability The target of replication is determined by P (ratio proportional to the number of arms) (Step 3) (where m is a positive number of 0 or more, i is 1 ≦ i ≦ Nj, and Nj is the servant at the j-th k-hop destination. ), The route Mi (Mi = “X * Deg (i)”) in the ratio X of the servant i) (where Mi = “X * Deg (i)” is X * Deg ( Select the largest positive number that does not exceed i) at random and pay attention to servants at k hops away That (Step4). Then, Steps 3 to 4 are executed Nj times (i = 1 to Nj) (Step 5), and Steps 3 to 5 are executed L times (j = 1 to L), thereby determining the replication execution destination servant of the file.

尚、問い合わせ回数を基にしたレプリケーションの実行先の決定は次のようにして行う。ここでは「問い合わせ」とは、あるサーバントに着目した場合に、任意のサーバントから、様々なファイルの検索パケットが到着して通過するが、その際の「どの時点で、どのファイルを探していた」かという情報の問い合わせであり、従って、「問い合わせ回数」情報は、例えば、時刻Tから現時点までに、「ファイルAに関するQueryパケットの到着数が5回」、「ファイルBに関するQueryパケットの到着数が1回」といった内容である。そして、「問い合わせ回数」が「5回」以上のサーバントをレプリケーション実行先として決定する。   The replication execution destination based on the number of inquiries is determined as follows. Here, "inquiry" means that when a particular servant is focused on, search packets for various files arrive and pass from any servant. At that time, "Which file was being searched for at what point" Therefore, the “inquiry count” information includes, for example, “the number of arrivals of the Query packet related to the file A is five times” and “the number of arrivals of the Query packet related to the file B are “One time”. Then, a servant whose “inquiry count” is “5 times” or more is determined as a replication execution destination.

また、「ヒット数」や「問い合わせ回数」に基づき決定したサーバントに対して「いつ」レプリケーションを実行するかの制御は、負荷を分散させるために有効である。例えば、レプリケーションを50個のサーバントに対して実行する場合には、第1から第25のサーバント(第1のグループ)に対しては10時00分に実行し、第26から第50のサーバント(第2のグループ)に対しては10時10分に実行することで、その実行時間をずらし、実行元のサーバントの負荷、周囲のネットワークの負荷等を分散させる。この際のグループ分けの例としては、ヒット数や問い合わせ回数の大きい順番とする等が掲げられる。   In addition, the control of “when” replication is executed for the servant determined based on “number of hits” and “number of inquiries” is effective for distributing the load. For example, when replication is executed for 50 servants, the 1st to 25th servants (first group) are executed at 10:00 and the 26th to 50th servants ( By executing at 10:10 for the second group), the execution time is shifted, and the load on the execution source servant, the load on the surrounding network, and the like are distributed. As an example of grouping at this time, the order of increasing the number of hits and the number of inquiries is listed.

履歴情報管理処理部6は、本発明のレプリケーション制御を実行するものであり、履歴情報生成部6aと、周知処理部6b、履歴情報記憶処理部6c、履歴情報参照部6d、パケット生成・送信処理部6e、および、履歴情報通知処理部6fからなる。   The history information management processing unit 6 executes the replication control of the present invention, and includes a history information generation unit 6a, a well-known processing unit 6b, a history information storage processing unit 6c, a history information reference unit 6d, a packet generation / transmission process. And a history information notification processing unit 6f.

履歴情報生成部6aは、レプリケーション実行部5で実行したレプリケーションの結果に基づき、当該ファイルの識別情報(ファイル名)とレプリケーション実行先のサーバントの識別情報(IPアドレス)とを少なくとも対応付けた履歴情報を生成する。   Based on the result of replication executed by the replication execution unit 5, the history information generation unit 6a associates at least the identification information (file name) of the file and the identification information (IP address) of the replication execution servant (history information). Is generated.

本例では、履歴情報としてレプリケーションの実行時刻を含むものとし、具体的には、直近の時間T2内でのレプリケーション実行部5で実行したレプリケーションに関する以下の情報セットを生成する。   In this example, it is assumed that the execution time of replication is included as history information, and specifically, the following information set related to replication executed by the replication execution unit 5 within the latest time T2 is generated.

(R1(S1,Q1,T1),R2(S2,Q2,R2),…,Rk(Sk,Qk,Tk),…)、および、Sk={Ak1,Ak2,…}   (R1 (S1, Q1, T1), R2 (S2, Q2, R2),..., Rk (Sk, Qk, Tk),...), And Sk = {Ak1, Ak2,.

ここで、「Rk」は、現時点から遡ってk番目に行ったレプリケーション情報であり、「Sk」は、k番目にレプリケーションを行ったサーバントの集合、「Qk」はk番目のレプリケーションを行ったファイル名、「Tk」はk番目のレプリケーションを実行した時刻、「Aki」は、k番目にレプリケーションを行ったi番目のIPアドレスである。   Here, “Rk” is k-th replication information retroactive from the present time, “Sk” is a set of servants that have performed k-th replication, and “Qk” is a file that has undergone k-th replication. “Tk” is the time when the k-th replication was executed, and “Aki” is the i-th IP address where the k-th replication was performed.

周知処理部6bは、履歴情報生成部6aで生成した履歴情報を予め定められた手順で特定される他のサーバントに、情報管理・転送処理部4、PAD7、パケット送信部8、IP網10を介して送信する。   The well-known processing unit 6b sends the information management / transfer processing unit 4, the PAD 7, the packet transmission unit 8 and the IP network 10 to other servants specified by the predetermined procedure for the history information generated by the history information generation unit 6a. Send through.

履歴情報記憶処理部6cは、IP網10、パケット受信部9、PAD7、情報管理・転送処理部4を介して、他のサーバントから送信されてきた履歴情報をメモリ部3を介してメモリ3bに記憶する。   The history information storage processing unit 6 c stores history information transmitted from other servants via the IP network 10, the packet receiving unit 9, the PAD 7, and the information management / transfer processing unit 4, into the memory 3 b via the memory unit 3. Remember.

履歴情報参照部6dは、入出力装置2を介して入力されるユーザからの任意のファイルの検索要求に応じて、あるいは、IP網10、パケット受信部9、PAD7、情報管理・転送処理部4を介して入力される他のサーバントからの任意のファイルの検索要求に応じて、メモリ部3のメモリ3bに記憶されている履歴情報を参照する。   The history information reference unit 6d responds to a search request for an arbitrary file input from the user via the input / output device 2, or the IP network 10, the packet receiving unit 9, the PAD 7, the information management / transfer processing unit 4 The history information stored in the memory 3b of the memory unit 3 is referred to in response to a search request for an arbitrary file from another servant input via the.

パケット生成・送信処理部6eは、入出力装置2を介して入力されるユーザからの任意のファイルの検索要求に対応する履歴情報参照部6dの参照結果で、メモリ3bに記憶されている履歴情報に、検索要求対象のファイル名(目的ファイル名)があれば、履歴情報において当該目的ファイル名に対応付けられた識別情報(IPアドレス)を読み出し、当該IPアドレスのサーバントに対して、当該目的ファイルのダウンロード要求パケット(PUSHパケット)を生成し、情報管理・転送処理部4、PAD7、パケット送信部8、IP網10を介して送信し、また、履歴情報に検索要求対象のファイル名(目的ファイル名)が無ければ、通常の検索要求パケットを生成して隣接する各サーバントに、情報管理・転送処理部4、PAD7、パケット送信部8、IP網10を介して送信する。   The packet generation / transmission processing unit 6e is a reference result of the history information reference unit 6d corresponding to a search request for an arbitrary file input from the user via the input / output device 2, and the history information stored in the memory 3b. If there is a search request target file name (target file name), the identification information (IP address) associated with the target file name in the history information is read, and the target file is sent to the servant with the IP address. Download request packet (PUSH packet) is generated and transmitted via the information management / transfer processing unit 4, the PAD 7, the packet transmission unit 8, and the IP network 10, and the search request target file name (target file) If there is no name), a normal search request packet is generated and each adjacent servant is assigned the information management / transfer processing unit 4, PAD 7, Transmitted via the Tsu door transmitter unit 8, IP network 10.

履歴情報通知処理部6fは、他のサーバントからの任意のファイルの検索要求に対応する履歴情報参照部6dの参照結果で、メモリ3bに記憶されている履歴情報に、検索要求対象のファイル名(目的ファイル名)があれば、履歴情報において当該目的ファイル名に対応付けられた識別情報(IPアドレス)を読み出し、当該IPアドレスを、検索要求パケットの送信元のサーバントに、情報管理・転送処理部4、PAD7、パケット送信部8、IP網10を介して通知する。本例では、サーバント1が送出するパケットは、通常のTCP/IPで用いられているルーティングプロトコル(例えば、OSPF:Open Shortest Path First)に則って送られるものであり、履歴情報通知処理部6fは、このルーティングプロトコルを利用する。   The history information notification processing unit 6f is a reference result of the history information reference unit 6d corresponding to a search request for an arbitrary file from another servant. The history information stored in the memory 3b includes the name of the search request target file ( If there is a target file name), the identification information (IP address) associated with the target file name in the history information is read, and the IP address is sent to the servant that is the source of the search request packet as an information management / transfer processing unit 4, PAD 7, packet transmitter 8, and notification via IP network 10. In this example, the packet sent by the servant 1 is sent in accordance with a routing protocol (for example, OSPF: Open Shortest Path First) used in normal TCP / IP, and the history information notification processing unit 6f Use this routing protocol.

尚、履歴情報参照部6dが参照した履歴情報において、検索要求対象のファイル名(目的ファイル名)に、複数のサーバントが対応付けて登録されている場合には、履歴情報通知処理部6fおよびパケット生成・送信処理部6eは、予め定められた手順で1つのサーバントを選択する。例えばランダムに、もしくは登録順に選択して1つのサーバントに絞る処理を行う。   In the history information referred to by the history information reference unit 6d, when a plurality of servants are registered in association with the search request target file name (target file name), the history information notification processing unit 6f and the packet The generation / transmission processing unit 6e selects one servant according to a predetermined procedure. For example, a process of narrowing down to one servant by selecting at random or in the order of registration is performed.

また、パケット生成・送信処理部6eでの「ダウンロード要求パケット(PUSHパケット)」の送信においては、送信するIPパケット内に埋め込まれているTCPフレームの中にさらに埋め込まれている例えば「Gnuttelaフレーム」の中の「Gnuttelaヘッダ」の中の「payload discritor」でビットを指定することで「PUSH」を選択し、当該ファイルの送出(ダウンロード)を依頼する。もし、依頼先のサーバントに当該ファイルのレプリカが残っておらず、タイムオーバーとなった場合には、再度、ランダムに他のサーバントを選択してダウンロードを依頼し、他のサーバントが無ければ、通常のQueryパケットでの検索要求を行う。   Further, in the transmission of the “download request packet (PUSH packet)” in the packet generation / transmission processing unit 6e, for example, a “Gnuttela frame” further embedded in a TCP frame embedded in the IP packet to be transmitted. “PUSH” is selected by specifying a bit in “payload discritor” in “Gnuttela header”, and the transmission (download) of the file is requested. If there is no replica of the file in the requested servant and the time is over, select another servant at random and request the download. If there is no other servant, A search request is made with a Query packet.

また、周知処理部6bは、履歴情報の送信先となるサーバントの特定を、ホップ数を用いて、あるいは、ホップ数と共に、ディグリー(腕の数)およびヒット数の少なくともいずれか1つを用いて行う。例えば、予め定められたホップ数範囲内の全てのサーバント、あるいは、予め定められたホップ数範囲内のサーバントで、かつ、ディグリーもしくはヒット数のいずれかが予め定められた数以上のサーバントを送信先として特定する。   Further, the well-known processing unit 6b uses the number of hops or the degree of hops together with the degree (number of arms) and the number of hits to specify the servant as the transmission destination of the history information. Do. For example, all servants within a predetermined hop number range, or servants within a predetermined hop number range, and a servant whose degree or hit number is greater than a predetermined number are sent to As specified.

例えば、履歴情報を周知する対象サーバントとして、レプリケーションを実行したサーバント1からMホップ以内で、かつ、(1)現時点でのディグリー(隣接サーバントへ伸ばしている腕の数)がD以上で、(2)直近の時間T1内でのヒット数H(T1)がH1以上である、との条件を満たすものとし、より広範囲に周知する場合には、ホップ数Mの値を増加させ、また、より限定したサーバントに対して効率よく周知したい場合には、ディグリーやヒット数の閾値D、H1を増加させる。   For example, as the target servant for notifying the history information, the servant 1 that has performed replication is within M hops, and (1) the current degree (the number of arms extending to the adjacent servant) is D or more, (2 ) If the condition that the number of hits H (T1) within the most recent time T1 is equal to or greater than H1 is to be satisfied, and if it is widely known, the value of the number of hops M is increased and more limited. When it is desired to make the servant efficiently known, the thresholds D and H1 for the degree and the number of hits are increased.

ヒット数やディグリー等の情報の収集は、例えば(1)レプリケーション実行元のサーバントにおいて、定期的にMホップ内のサーバント間で情報パケットを送出しあってヒット数やディグリーを伝え合う、または(2)レプリケーション実行元のサーバントにおいて、定期的にMホップ内のサーバントにQueryパケットを送出し、それに対する返信パケット内の情報を読んで、ヒット数やディグリーを取得すること等で行うことができる。   For example, (1) in the servant that is the replication execution source, information packets are periodically transmitted between the servants in the M hops to communicate the number of hits and the degree, or (2) ) In the servant that is the replication execution source, a query packet is periodically sent to the servant in the M hop, information in the reply packet is read, and the number of hits and degree are obtained.

本例では、Mホップ内の全ての全てのサーバントに履歴情報を通知して周知させ、各サーバントは、直近の時間T1内でのヒット数H(T1)が予め定められた閾値以上、あるいは、その時点でのディグリー(腕の数)が予め定められた閾値D以上との条件をクリアしていると判断した場合に、通知された履歴情報を記憶し、それ以外であれば、履歴情報を無視することで、履歴情報を周知させる。   In this example, all the servants in M hops are notified of the history information so that each servant has a hit count H (T1) within the most recent time T1 equal to or greater than a predetermined threshold, or When it is determined that the degree (the number of arms) at that time is a predetermined threshold D or more, the notified history information is stored. Otherwise, the history information is stored. Ignoring it makes the history information known.

図2においては、当該サーバント21からのホップ数M=3以内を条件に、さらに、ディグリーの閾値D=3、ヒット数の閾値H1=10を条件とした場合において、履歴情報の周知先となる対象サーバント(図中、網掛けの丸印)の特定状況を示している。尚、本図2において、各対象サーバントの添えられている数字(1〜4,6,7,9〜13,15)はヒット数である。   In FIG. 2, when the number of hops from the servant 21 is within M = 3, and further when the degree threshold D = 3 and the hit number threshold H1 = 10, the history information is known. The specific status of the target servant (shaded circle in the figure) is shown. In FIG. 2, the numbers (1 to 4, 6, 7, 9 to 13 and 15) attached to each target servant are the number of hits.

また、図3においては、履歴情報の周知先としての対象サーバントを、レプリケーション実行元の当該サーバント31からのホップ数K以上先のサーバントに特定するものである。この場合、履歴情報を送信するパケットのTTL(Time To Live)の値がLであれば、K+1ホップ以上でLホップ以下の全てのサーバントが周知先の対象サーバントとなる。ここでは、ホップ数K=3、TTL=7の例を示している。   Further, in FIG. 3, the target servant as a known destination of history information is specified as a servant that is more than the number of hops K from the servant 31 that is the replication execution source. In this case, if the value of TTL (Time To Live) of a packet for transmitting history information is L, all servants that are K + 1 hops or more and L hops or less become target servants as known destinations. Here, an example in which the number of hops K = 3 and TTL = 7 is shown.

また、周知処理部6bは、履歴情報生成部6aで生成された履歴情報を、一定間隔で(例えば予め定められたT分毎に)、各対象サーバントに通知し、各対象サーバントでは、常に、直近Q(=n×T:nは適当な正数)分の履歴情報だけを保持することとする。このようにすることにより、各対象サーバントでは、常に、直近Q分の情報だけが保持され、サーバント1,21,31からの履歴情報が通知されるたびに、Q分以前のT分ぶんの履歴情報は削除されることとなり、各対象サーバントにおける履歴情報を定期的にリフレッシュ(更新)することができる。   Further, the well-known processing unit 6b notifies each target servant of the history information generated by the history information generating unit 6a at regular intervals (for example, every predetermined T minutes). Only the history information for the latest Q (= n × T: n is an appropriate positive number) is held. In this way, each target servant always holds only the information for the latest Q, and every time history information from the servants 1, 21 and 31 is notified, the history of T minutes before Q minutes. Information is deleted, and history information in each target servant can be periodically refreshed (updated).

このように、本例によれば、レプリケーションを実行したサーバントにおいて、レプリケーション対象のファイルと実行先のサーバントを特定する、情報セット(S,Q,T)からなる履歴情報を生成して、特定のサーバント群に送信し、各サーバントにおいては、受信した履歴情報を記憶しておき、自サーバントからあるファイルの検索要求を行う際には、履歴情報を参照し、当該ファイルが有れば、当該ファイルに対応付けられたIPアドレスのサーバントに対して、通常の検索要求パケット(Queryパケット)ではなく、ダウンロード要求パケット(PUSHパケット)を送出する。このことにより、検索要求パケット(Queryパケット)を含む通常の手順でのパケットの送信が不要となり、サーバントの負荷、および、ネットワーク負荷が軽減される。   As described above, according to this example, in the servant that has executed replication, the history information including the information set (S, Q, T) that identifies the replication target file and the execution destination servant is generated, and the specific information is generated. In each servant, the received history information is stored, and when making a search request for a file from its own servant, the history information is referred to. Instead of a normal search request packet (Query packet), a download request packet (PUSH packet) is sent to the servant with the IP address associated with. This eliminates the need for packet transmission in a normal procedure including a search request packet (Query packet), reducing the load on the servant and the network load.

特に、履歴情報を周知する先のサーバントの特定に、レプリケーション実行先のサーバントの特定に用いた手順と同様な手順を用いることにより、レプリケーション実行先サーバントの近くにあるサーバントが、周知先サーバントとなり、レプリケーションの利用効率が向上する。   In particular, the servant near the replication execution servant becomes a known servant by using a procedure similar to the procedure used for specifying the replication servant to identify the servant to which the history information is made known. Increases the efficiency of using replication.

また、履歴情報に、レプリケーション実行元のサーバントの識別情報は含まれないものとすると、この場合、レプリケーション実行元サーバントに対する、ファイルのダウンロード要求が、分散されることとなり、レプリケーション実行元サーバントの負荷を軽減することができる。   Also, if the history information does not include the identification information of the servant that is the replication execution source, in this case, file download requests to the replication execution servant are distributed, and the load on the replication execution servant is reduced. Can be reduced.

また、通常、各サーバントはお互いに隣り合うサーバントに関してのみ、各々保持しているファイルの情報を認識できるだけであるの対し、本例では、履歴情報(情報セット)を例えば少ないホップ数内の近くにある各サーバントに周知させることにより、履歴情報を通知されたサーバントにおいては、比較的に少ないホップ数範囲内で、すなわち近くで、検索目的のファイルを保持しているサーバントのIPアドレスを、その情報セット(S,Q,T)から知ることができる。   In addition, normally, each servant can only recognize the information of each retained file only with respect to the servants adjacent to each other, whereas in this example, history information (information set) is set close to within a small number of hops, for example. By informing each servant of the servant, the servant that has been informed of the history information has the IP address of the servant holding the file to be searched within a relatively small number of hops, that is, nearby. It can be known from the set (S, Q, T).

また、本例では、ヒット数とディグリーのいずれかが予め定められた値より多いサーバントに履歴情報を周知させているが、これは、ヒット数やディグリーが多いサーバントは、いわゆる「活発なサーバント」であり、保持してるファイル数も多く、他のサーバントとの送受信が多いからである。すなわち、このような「活発なサーバント」は、ファイルを要求してダウンロードしたり、その逆に、要求されてファイルを送るというP2P通信動作を比較的頻繁に行っており、このような「活発なサーバント」に履歴情報を周知されることにより、当該周知情報が活用される機会が多くなる。   In this example, history information is made known to servants whose number of hits or degree is greater than a predetermined value. This is because servants with a large number of hits and degrees are so-called “active servants”. This is because the number of files held is large, and transmission / reception with other servants is large. That is, such an “active servant” performs a P2P communication operation of requesting and downloading a file, and vice versa, and sending a file when requested. By making the history information known to the servant, the opportunity to utilize the known information increases.

尚、ヒット数とは、各サーバントにおける、自サーバントに保持するファイルへの検索宇要求パケットの受信回数、より厳密には、各サーバントが、自サーバントが保持するファイルへの検索要求パケットを受信して、要求されているファイルと自サーバントが保持するファイルが一致したと確認した回数である。   The number of hits means the number of times a search request packet is received for a file held by the servant in each servant. More strictly, each servant receives a search request packet for a file held by the servant. This is the number of times that the requested file and the file held by the local servant match.

次に、図4および図5を用いて、サーバント1による本発明に係わるレプリケーション制御方法に関する処理手順を説明する。   Next, a processing procedure related to the replication control method according to the present invention by the servant 1 will be described with reference to FIGS.

図4は、本発明に係わるレプリケーション制御方法の第1の実施例を示すフローチャート、図5は、本発明に係わるレプリケーション制御方法の第2の実施例を示すフローチャートである。   FIG. 4 is a flowchart showing a first embodiment of the replication control method according to the present invention, and FIG. 5 is a flowchart showing a second embodiment of the replication control method according to the present invention.

図4は、図1のサーバント1の履歴情報管理処理部6における履歴情報生成部6aと周知処理部6bによる処理手順例を示すものであり、まず、予め設定された時間T毎に(ステップS401)、レプリケーション実行部5による新たなレプリケーションが実行された否かを判別し(ステップS402)、新たなレプリケーションが実行されれば、履歴情報生成部6aにより履歴情報を生成し、生成した履歴情報を周知処理部6bにより、予め定められた手順で特定される各サーバントに対して送信する(ステップS403)。   FIG. 4 shows an example of a processing procedure performed by the history information generation unit 6a and the well-known processing unit 6b in the history information management processing unit 6 of the servant 1 of FIG. 1, and first, at each preset time T (step S401). ), It is determined whether or not a new replication is executed by the replication execution unit 5 (step S402). If a new replication is executed, history information is generated by the history information generation unit 6a, and the generated history information is The well-known processing unit 6b transmits to each servant identified by a predetermined procedure (step S403).

図5は、図1のサーバント1の履歴情報管理処理部6における履歴情報記憶処理部6cと履歴情報参照部6dによる処理手順例を示すものであり、履歴情報周知用のパケットの到着を検出すると(ステップS501)、履歴情報記憶処理部6cにおいて、履歴情報における各パラメータ(ホップ数MとディグリーDおよびヒット数H1の組、あるいは、ホップ数KとTTL値Lの組)を読み取り(ステップS502)、自サーバントが、当該パラメータで特定されるサーバントに該当するか否かを判別し(ステップS503)、該当すれば、受信した履歴情報をメモリ5に書き込み、履歴情報参照部6dにおいて目的ファイルの検索要求時に参照する(ステップS504)。   FIG. 5 shows an example of a processing procedure by the history information storage processing unit 6c and the history information reference unit 6d in the history information management processing unit 6 of the servant 1 of FIG. (Step S501) The history information storage processing unit 6c reads each parameter (a pair of the hop number M and the degree D and the hit number H1 or a pair of the hop number K and the TTL value L) in the history information (Step S502). Then, it is determined whether or not the own servant corresponds to the servant specified by the parameter (step S503), and if it corresponds, the received history information is written in the memory 5, and the history information reference unit 6d searches for the target file. Reference is made at the time of request (step S504).

自サーバントが、当該パラメータで特定されるサーバントに該当しなければ、履歴情報周知用パケットにおけるTTLの値がゼロ(0)か否かを判別し(ステップS505)、ゼロであれば、そのままステップS501の処理に戻り、ゼロでなければ、当該履歴情報周知用のパケットを次のサーバントに転送した後にステップS501の処理に戻る(ステップS506)。   If the own servant does not correspond to the servant specified by the parameter, it is determined whether or not the TTL value in the history information notification packet is zero (0) (step S505). If the result is not zero, the history information notification packet is transferred to the next servant, and then the process returns to step S501 (step S506).

以上、図1〜図5を用いて説明したように、本例では、レプリケーションが実行された際に、そのレプリケーションの実施場所、複製されたファイルの種別、時刻、等の情報をセット(S、Q、T)で履歴情報として保持し、周辺のサーバントに対してそれを周知し、それにより各サーバントが探索しようとしているファイルの発見をより容易にする。尚、「S」はレプリケーションを行ったサーバントの集合{A1,A2,…,Ai,…}であり、「Q」はレプリケーションを行ったファイル名、「T」はレプリケーションを行った時刻であり、また、「Ai」はレプリケーションを行ったi番目のサーバントのIPアドレスである。   As described above with reference to FIGS. 1 to 5, in this example, when replication is executed, information such as the location of the replication, the type of the copied file, and the time are set (S, Q, T) is stored as history information, and is made known to neighboring servants, thereby making it easier for each servant to find a file that the servant seeks. “S” is a set of servants that have replicated {A1, A2,..., Ai,..., “Q” is a file name that has been replicated, and “T” is a time at which replication is performed. “Ai” is the IP address of the i-th servant that performed replication.

より詳細には、直近の時間T2内での自身が実行したレプリケーションに関する情報セットとして、(R1(S1,Q1,T1),R2(S2,Q2,T2),…,Rk(Sk,Qk,Tk),…)、および、Sk={Ak1,Ak2,…,Aki,…}を保持する。   More specifically, as an information set related to the replication performed by itself within the latest time T2, (R1 (S1, Q1, T1), R2 (S2, Q2, T2), ..., Rk (Sk, Qk, Tk) ),...) And Sk = {Ak1, Ak2,..., Aki,.

ここで、Rkは、現時点からさかのぼってk番目に行ったレプリケーション情報であり、Skは、現時点からさかのぼってk番目にレプリケーションを行ったサーバントの集合、Qkは、現時点からさかのぼってk番目にレプリケーションを行ったファイル名、Tkは、現時点からさかのぼってk番目にレプリケーションを行った時刻、Akiは現時点からさかのぼってk番目にレプリケーションを行ったi番目のサーバントのIPアドレスである。   Here, Rk is the k-th replication information retroactive from the present time, Sk is the set of servants that have been replicated k-th from the current time, and Qk is the k-th replication from the current time. The performed file name, Tk, is the time when the k-th replication was performed retroactively from the current time, and Aki is the IP address of the i-th servant that performed the k-th replication from the current time.

そして、自サーバントでファイル検索を行う際には、この情報セットを参照し、もし目的とするファイルがこれらの情報の中にある場合には、しかるべきサーバントにダウンロード要求を送出する。尚、これらの情報に目的ファイルが含まれていない場合には通常の検索手順を実行する。   When searching for a file with its own servant, this information set is referred to. If the target file is included in the information, a download request is sent to the appropriate servant. Note that if the target file is not included in these pieces of information, a normal search procedure is executed.

サーバント1で実行するPure型P2P通信において、複数のファイルに関してレプリケーションが比較的頻繁に実行されているような状況においては、上述のように、「どのファイルに対して、どの時刻に、どのサーバントに対してレプリケーションを実行した」といった情報からなる履歴情報を、キーとなる、すなわちP2Pネットワーク上で重要と思われるサーバントに対して積極的に周知してやることが、このP2Pネットワーク上での情報伝達の効率性を高めるうえで重要であり、本例では、サーバント1において、このような処理を実行するために、履歴情報の通知を、どのサーバントに対して実行したらよいか、また、どのような内容の履歴情報を伝えたらよいか等の処理を実行する機能と、その履歴情報を保持するための機能を持たせている。   In a P2P communication performed by the servant 1, in a situation where replication is performed relatively frequently for a plurality of files, as described above, “to which servant for which file, at which time, It is the efficiency of information transmission on the P2P network that the history information consisting of information such as “executed replication” is actively communicated to the servant that is considered to be important on the P2P network. In this example, in this example, in order to execute such processing in the servant 1, to which servant should be notified of history information, and what kind of contents A function to execute processing such as whether history information should be conveyed, and to retain the history information It is made to have the ability.

すなわち、サーバント1は、レプリケーション実行部5によりファイルのレプリケーションを実行した際には、履歴情報生成部6aにより、少なくとも、当該ファイルの識別情報(ファイル名)とレプリケーション実行先のサーバントの識別情報(IPアドレス)とを対応付けた履歴情報を生成し、周知処理部6bにより、当該履歴情報を、予め定められた手順で特定される他のサーバントに送信し、逆に他のサーバントからの履歴情報を受信すると、履歴情報記憶処理部6cにより、当該履歴情報をメモリ5に記憶する。   That is, when the replication execution unit 5 executes file replication, the servant 1 uses the history information generation unit 6a to at least identify the file (name) and the identification information (IP History information associated with the address), and the well-known processing unit 6b transmits the history information to another servant specified by a predetermined procedure, and conversely, history information from the other servant is obtained. When received, the history information is stored in the memory 5 by the history information storage processing unit 6c.

そして、例えば入出力装置2からの指示入力に応じて任意のファイルの検索要求パケットを送信する際には、履歴情報参照部6dにより、メモリ5に記憶した履歴情報を参照し、検索要求対象のファイルが有れば、当該ファイルに識別情報(ファイル名)が対応付けられたIPアドレスのサーバントに対して、当該ファイルのダウンロード要求パケットを送信し、検索要求対象のファイルが無ければ、通常の手順通り、隣接する各サーバントに対して、当該ファイルの検索要求パケットを転送する。   For example, when a search request packet for an arbitrary file is transmitted in response to an instruction input from the input / output device 2, the history information stored in the memory 5 is referred to by the history information reference unit 6d, and the search request target If there is a file, a download request packet for the file is transmitted to the servant with the IP address associated with identification information (file name) in the file, and if there is no file to be searched, a normal procedure is performed. As described above, a search request packet for the file is transferred to each adjacent servant.

また、他のサーバントから転送されてきた検索要求パケットを受信した場合には、履歴情報参照部6dにより、メモリ5に記憶した履歴情報を参照し、検索要求対象のファイルが有れば、履歴情報通知処理部6fにより、履歴情報において当該目的ファイル名に対応付けられた識別情報(IPアドレス)を読み出し、当該IPアドレスを、検索要求パケットの送信元のサーバントに通知する。   When a search request packet transferred from another servant is received, the history information stored in the memory 5 is referred to by the history information reference unit 6d. If there is a search request target file, the history information is stored. The notification processing unit 6f reads the identification information (IP address) associated with the target file name in the history information, and notifies the IP address to the servant that is the transmission source of the search request packet.

尚、周知処理部6bにおいて、当該履歴情報の送信先のサーバントを特定する際には、ホップ数や、ディグリー、ヒット数等を用いて行う。例えば、予め定められたホップ数範囲内のサーバントを送信先として特定する。あるいは、予め定められたホップ数範囲内のサーバントで、かつ、ディグリーもしくはヒット数のいずれかが予め定められた数以上のサーバントを送信先として特定する。   In the well-known processing unit 6b, when the servant as the transmission destination of the history information is specified, the number of hops, the degree, the number of hits, and the like are used. For example, a servant within a predetermined hop number range is specified as a transmission destination. Alternatively, a servant within a predetermined hop count range and a servant whose degree or hit count is greater than or equal to a predetermined number is specified as a transmission destination.

このように、本例では、Pure型P2P型通信を行う際に、網内の各サーバントに対して、いつどこにどの種類のファイルに対してレプリケーションを行ったかという情報を周知することにより、ネットワーク内の問い合わせパケット数を減らしながら短時間で目的のファイルを発見することができる。   As described above, in this example, when performing Pure type P2P type communication, information on when and what type of file replication is performed to each servant in the network, so that The target file can be found in a short time while reducing the number of inquiry packets.

尚、本発明は、図1〜図5を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、履歴情報を、レプリケーション実行先サーバントの近くの(所定ホップ数範囲内の)サーバントに周知させる構成となっているが、これに限定されるものではなく、履歴情報を任意のサーバントに周知させることでも良い。この場合でも、履歴情報を保持したサーバントは、ダウンロードしたい目的ファイルに関する履歴情報が有れば、これを利用して、当該目的ファイルを保持しているサーバントを容易に特定でき、従来のように最初から検索要求パケットを用いて目的ファイルを探す手間が省ける。   In addition, this invention is not limited to the example demonstrated using FIGS. 1-5, In the range which does not deviate from the summary, various changes are possible. For example, in this example, the history information is made known to servants (within a predetermined hop count range) near the replication execution servant, but the present invention is not limited to this. It may be made known to the servant. Even in this case, the servant holding the history information can easily identify the servant holding the target file by using the history information about the target file to be downloaded. This eliminates the trouble of searching for the target file using the search request packet.

また、本例では、履歴情報には、レプリケーション実行元のサーバントの識別情報は含まれていないものとして説明したが、履歴情報に、レプリケーション実行元のサーバントの識別情報を含ませることも可能である。この場合も、レプリケーション実行元サーバントにおけるダウンロード要求に対する負荷を、レプリケーション実行先サーバントに分散させることができる。   In this example, the history information has been described as not including the identification information of the servant that is the replication execution source. However, the history information can include the identification information of the servant that is the replication execution source. . Also in this case, the load on the download request in the replication execution source servant can be distributed to the replication execution destination servant.

また、本例では、コンピュータ構成例として、キーボードや光ディスクの駆動装置を設けた構成としているが、これらの装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、FD(Flexible Disk)等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。   In this example, as a computer configuration example, a keyboard and an optical disk drive device are provided. However, a computer configuration without these devices may be used. In this example, an optical disk is used as a recording medium. However, an FD (Flexible Disk) or the like may be used as a recording medium. As for the program installation, the program may be downloaded and installed via a network via a communication device.

本発明に係わるレプリケーション制御を行うサーバントの構成例を示すブロック図である。It is a block diagram which shows the structural example of the servant which performs replication control concerning this invention. 図1におけるサーバントによる履歴情報の通知先の特定手順例を示す説明図である。It is explanatory drawing which shows the example of a specific procedure of the notification destination of the historical information by the servant in FIG. 図1におけるサーバントによる履歴情報の通知先の他の特定手順例を示す説明図である。It is explanatory drawing which shows the other specific procedure example of the notification destination of the historical information by the servant in FIG. 本発明に係わるレプリケーション制御方法の第1の実施例を示すフローチャートである。It is a flowchart which shows the 1st Example of the replication control method concerning this invention. 本発明に係わるレプリケーション制御方法の第2の実施例を示すフローチャートである。It is a flowchart which shows the 2nd Example of the replication control method concerning this invention.

符号の説明Explanation of symbols

1:サーバント、2:入出力装置(コンソール)、3:メモリ部、3a:メモリ制御部、3b:メモリ、4:情報管理・転送処理部、5:レプリケーション実行部、6:履歴情報管理処理部、6a:履歴情報生成部、6b:周知処理部、6c:履歴情報記憶処理部、6d:履歴情報参照部、6e:パケット生成・送信処理部、6f:履歴情報通知処理部、7:PAD、8:パケット送信部、9:パケット受信部、10:IP網(インターネット)。   1: servant, 2: input / output device (console), 3: memory unit, 3a: memory control unit, 3b: memory, 4: information management / transfer processing unit, 5: replication execution unit, 6: history information management processing unit 6a: history information generation unit, 6b: well-known processing unit, 6c: history information storage processing unit, 6d: history information reference unit, 6e: packet generation / transmission processing unit, 6f: history information notification processing unit, 7: PAD, 8: Packet transmission unit, 9: Packet reception unit, 10: IP network (Internet).

Claims (17)

Pure型P2P通信におけるレプリケーション制御を行うサーバントであって、
レプリケーションを実行したファイルの識別情報とレプリケーション実行先のサーバントの識別情報とを対応付けた履歴情報を生成する第1の手段と、
該履歴情報を予め定められた手順で特定される他のサーバントに送信する第2の手段と、
他のサーバントから受信した上記履歴情報を記憶装置に記憶する第3の手段と、
任意のファイルの検索要求パケットを送信する際、記憶した履歴情報を参照する第4の手段と、
該第4の手段の参照結果で、検索対象のファイルに関する履歴情報が有れば当該ファイルに識別情報が対応付けられたサーバントに対して当該ファイルのダウンロード要求パケットを送信し、検索対象のファイルが無ければ隣接する各サーバントに対して当該ファイルの検索要求パケットを送信する第5の手段と
を有することを特徴とするサーバント。
A servant that performs replication control in Pure type P2P communication,
A first means for generating history information in which identification information of a file that has undergone replication is associated with identification information of a servant that is a replication execution destination;
A second means for transmitting the history information to another servant specified by a predetermined procedure;
Third means for storing the history information received from another servant in a storage device;
A fourth means for referring to the stored history information when transmitting a search request packet for an arbitrary file;
If there is history information related to the file to be searched as a result of the reference by the fourth means, a download request packet for the file is transmitted to the servant associated with the identification information for the file, And a fifth means for transmitting a search request packet for the file to each adjacent servant if there is none.
請求項1に記載のサーバントであって、
上記第2の手段は、予め定められたホップ数範囲内のサーバントを、上記履歴情報の送信先として特定する手段を有することを特徴とするサーバント。
The servant according to claim 1,
The servant characterized in that the second means includes means for specifying a servant within a predetermined hop number range as a transmission destination of the history information.
請求項1に記載のサーバントであって、
上記第2の手段は、予め定められたホップ数範囲内のサーバントで、かつ、ディグリーもしくはヒット数のいずれかが予め定められた閾値以上のサーバントを、上記履歴情報の送信先として特定する手段を有することを特徴とするサーバント。
The servant according to claim 1,
The second means is a means for specifying a servant within a predetermined hop number range and having a degree or hit number equal to or greater than a predetermined threshold as a transmission destination of the history information. A servant characterized by comprising:
請求項1に記載のサーバントであって、
上記第2の手段は、ディグリーとヒット数の少なくともいずれか1つと、ホップ数とを用いて、上記履歴情報の送信先サーバントを特定する手段を有することを特徴とするサーバント。
The servant according to claim 1,
The servant characterized in that the second means includes means for specifying a destination servant of the history information using at least one of the degree and the number of hits and the number of hops.
請求項1から請求項4のいずれかに記載のサーバントであって、
生成した上記履歴情報を予め定められた時間間隔Tで、上記特定されたサーバントに送信する手段と、
他のサーバントから上記履歴情報を受信する度に、予め定められた直近Q(=n×T:nは任意の正数)以前に受信した履歴情報を削除する手段と
を有することを特徴とするサーバント。
The servant according to any one of claims 1 to 4,
Means for transmitting the generated history information to the specified servant at a predetermined time interval T;
Each time the history information is received from another servant, there is provided means for deleting history information received before a predetermined latest Q (= n × T: n is an arbitrary positive number). servant.
請求項1から請求項5のいずれかに記載のサーバントであって、
上記履歴情報として、レプリケーションの実行時刻を含むことを特徴とするサーバント。
The servant according to any one of claims 1 to 5,
A servant characterized in that the history information includes a replication execution time.
請求項1から請求項6のいずれかに記載のサーバントであって、
上記第5の手段は、上記第4の手段の参照結果で上記履歴情報において検索対象のファイルに識別情報が対応付けられたサーバントが複数あれば、予め定められた手順で1つのサーバントを選択して、当該ファイルのダウンロード要求パケットを送信する
ことを特徴とするサーバント。
The servant according to any one of claims 1 to 6,
The fifth means selects one servant according to a predetermined procedure if there are a plurality of servants in the history information in which identification information is associated with the file to be searched in the reference result of the fourth means. And transmitting a download request packet of the file.
請求項1から請求項7のいずれかに記載のサーバントであって、
他のサーバントから受信した検索要求パケットで要求されるファイルが上記履歴情報にあれば、当該ファイルに対応付けられたサーバントの識別情報を上記検索要求パケットの送信元サーバントに通知する手段と、
他のサーバントから通知された識別情報のサーバントに当該ファイルのダウンロード要求パケットを送信する手段と
を有することを特徴とするサーバント。
The servant according to any one of claims 1 to 7,
Means for notifying the servant of the search request packet of the identification information of the servant associated with the file if the file requested in the search request packet received from another servant is in the history information;
And a means for transmitting a download request packet for the file to a servant having identification information notified from another servant.
コンピュータを、請求項1から請求項8のいずれかに記載のサーバントにおける各手段として機能させるためのプログラム。   The program for functioning a computer as each means in the servant in any one of Claims 1-8. Pure型P2P通信を行うサーバントにおけるレプリケーション制御方法であって、
ファイルのレプリケーションを実行したサーバントが、少なくとも当該ファイルの識別情報とレプリケーション実行先のサーバントの識別情報とを対応付けた履歴情報を生成し、該履歴情報を、予め定められた手順で特定される他のサーバントに送信する手順と、
上記履歴情報を受信したサーバントが、上記履歴情報を記憶装置に記憶し、任意のファイルの検索要求パケットを送信する際、記憶した履歴情報を参照し、検索対象のファイルに関する履歴情報が有れば当該ファイルに識別情報が対応付けられたサーバントに対して当該ファイルのダウンロード要求パケットを送信し、検索対象のファイルが無ければ隣接する各サーバントに対して当該ファイルの検索要求パケットを送信する手順と
からなることを特徴とするレプリケーション制御方法。
A replication control method in a servant that performs Pure type P2P communication,
A servant that has performed replication of a file generates history information that associates at least the identification information of the file with the identification information of the servant that is the replication execution destination, and the history information is specified by a predetermined procedure. To send to other servants,
When the servant that has received the history information stores the history information in a storage device and transmits a search request packet for an arbitrary file, the stored history information is referred to and there is history information about the file to be searched. From the procedure of transmitting the download request packet of the file to the servant associated with the identification information in the file, and transmitting the search request packet of the file to each adjacent servant if there is no search target file A replication control method characterized by:
請求項10に記載のレプリケーション制御方法であって、
上記履歴情報の送信先サーバントを特定する手順では、予め定められたホップ数範囲内のサーバントを送信先として特定することを特徴とするレプリケーション制御方法。
The replication control method according to claim 10, comprising:
A replication control method characterized in that, in the procedure for specifying a destination servant of the history information, a servant within a predetermined hop number range is specified as a destination.
請求項10に記載のレプリケーション制御方法であって、
上記履歴情報の送信先サーバントを特定する手順では、予め定められたホップ数範囲内のサーバントで、かつ、ディグリーもしくはヒット数のいずれかが予め定められた閾値以上のサーバントを送信先として特定することを特徴とするレプリケーション制御方法。
The replication control method according to claim 10, comprising:
In the procedure for specifying the history information transmission destination servant, a servant within a predetermined number of hops and having a degree or hit count equal to or greater than a predetermined threshold is specified as the transmission destination. A replication control method characterized by the above.
請求項10に記載のレプリケーション制御方法であって、
上記履歴情報の送信先サーバントを特定する手順では、ディグリーとヒット数の少なくともいずれか1つと、ホップ数とを用いて送信先サーバントを特定することを特徴とするレプリケーション制御方法。
The replication control method according to claim 10, comprising:
A replication control method characterized in that, in the procedure for specifying the destination servant of the history information, the destination servant is specified by using at least one of the degree, the hit number, and the hop number.
請求項10から請求項13のいずれかに記載のレプリケーション制御方法であって、
レプリケーション実行元のサーバントが、生成した上記履歴情報を予め定められた時間間隔Tで、上記特定されたサーバントに送信する手順と、
上記履歴情報を受信したサーバントが、該履歴情報を受信する度に、予め定められた直近Q(=n×T:nは任意の正数)以前に受信した履歴情報を削除する手順と
を有することを特徴とするレプリケーション制御方法。
The replication control method according to any one of claims 10 to 13,
A procedure in which the servant of the replication execution source transmits the generated history information to the specified servant at a predetermined time interval T;
Each time the servant that has received the history information receives the history information, the servant has a procedure for deleting the history information received before a predetermined latest Q (= n × T: n is an arbitrary positive number). A replication control method characterized by the above.
請求項10から請求項14のいずれかに記載のレプリケーション制御方法であって、
上記履歴情報として、レプリケーションの実行時刻を含むことを特徴とするレプリケーション制御方法。
The replication control method according to any one of claims 10 to 14,
A replication control method, wherein the history information includes a replication execution time.
請求項10から請求項15のいずれかに記載のレプリケーション制御方法であって、
上記履歴情報を受信したサーバントは、上記履歴情報において検索対象のファイルに識別情報が対応付けられたサーバントが複数あれば、予め定められた手順で1つのサーバントを選択して、当該ファイルのダウンロード要求パケットを送信する
ことを特徴とするレプリケーション制御方法。
The replication control method according to any one of claims 10 to 15,
If there is a plurality of servants whose identification information is associated with the search target file in the history information, the servant that has received the history information selects one servant by a predetermined procedure and downloads the file. A replication control method characterized by transmitting a packet.
請求項10から請求項16のいずれかに記載のレプリケーション制御方法であって、
上記履歴情報を受信したサーバントが、他のサーバントから受信した検索要求パケットで要求されるファイルが上記履歴情報にあれば、当該ファイルに対応付けられたサーバントの識別情報を上記検索要求パケットの送信元サーバントに通知する手順と、
該送信元サーバントが、通知された識別情報のサーバントに当該ファイルのダウンロード要求パケットを送信する手順と
を有することを特徴とするレプリケーション制御方法。
The replication control method according to any one of claims 10 to 16, comprising:
If the servant that has received the history information has a file requested in the search request packet received from another servant in the history information, the servant identification information associated with the file is transmitted from the source of the search request packet. To notify the servant,
A replication control method, wherein the transmission source servant transmits a download request packet of the file to the servant of the notified identification information.
JP2005034840A 2005-02-10 2005-02-10 Servant for replication control in pure p2p communication, replication control method for the same, and program Pending JP2006221457A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005034840A JP2006221457A (en) 2005-02-10 2005-02-10 Servant for replication control in pure p2p communication, replication control method for the same, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005034840A JP2006221457A (en) 2005-02-10 2005-02-10 Servant for replication control in pure p2p communication, replication control method for the same, and program

Publications (1)

Publication Number Publication Date
JP2006221457A true JP2006221457A (en) 2006-08-24

Family

ID=36983749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005034840A Pending JP2006221457A (en) 2005-02-10 2005-02-10 Servant for replication control in pure p2p communication, replication control method for the same, and program

Country Status (1)

Country Link
JP (1) JP2006221457A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975282B2 (en) 2007-11-01 2011-07-05 Sharp Laboratories Of America, Inc. Distributed cache algorithms and system for time-shifted, and live, peer-to-peer video streaming
US7979419B2 (en) 2007-11-01 2011-07-12 Sharp Laboratories Of America, Inc. Distributed search methods for time-shifted and live peer-to-peer video streaming

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975282B2 (en) 2007-11-01 2011-07-05 Sharp Laboratories Of America, Inc. Distributed cache algorithms and system for time-shifted, and live, peer-to-peer video streaming
US7979419B2 (en) 2007-11-01 2011-07-12 Sharp Laboratories Of America, Inc. Distributed search methods for time-shifted and live peer-to-peer video streaming

Similar Documents

Publication Publication Date Title
KR102301353B1 (en) Method for transmitting packet of node and content owner in content centric network
US9686194B2 (en) Adaptive multi-interface use for content networking
EP2491745B1 (en) System and method of utilizing a framework for information routing in large-scale distributed systems using swarm intelligence
US7788400B2 (en) Utilizing proximity information in an overlay network
US20080130516A1 (en) P2p Overplay Network Construction Method and Apparatus
JP6601784B2 (en) Method, network component, and program for supporting context-aware content requests in an information-oriented network
JP2017069950A (en) Information centric network by small multi-pass or single-pass transfer state
JP5684110B2 (en) Method for maintaining a routing table and node for use in an overlay network
JP2007066161A (en) Cache system
CN107925674A (en) The method and apparatus of propelling data in the network (CCN) centered on content
US20040246911A1 (en) Network location management system
JP2016059039A (en) Interest keep alive in intermediate router in ccn
JP4590651B2 (en) Replication control method, system and program
US7848339B2 (en) Data communication apparatus, method for its network configuration, and computer readable recording medium storing its program
US10530893B2 (en) Method for managing packets in a network of information centric networking (ICN) nodes
US20110282883A1 (en) Indexing server and method therefor
KR101384794B1 (en) Message routing platform
JP2006221457A (en) Servant for replication control in pure p2p communication, replication control method for the same, and program
JP2015220699A (en) Method for searching cache node
JP2007328736A (en) Resource retrieval system
JP2016149714A (en) Transfer device for content distribution network
KR100872170B1 (en) Multiple routing method on p2p network
JP2005092784A (en) Dynamic switching method for search system, switching device for dynamically switching search system, and switching program dynamically switching search system
JP2009218728A (en) Information transfer apparatus, information transfer method, and program
JP2004341912A (en) Information searching method, servant, program, and recording medium with program recorded thereon