JP5228369B2 - COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM - Google Patents
COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM Download PDFInfo
- Publication number
- JP5228369B2 JP5228369B2 JP2007119881A JP2007119881A JP5228369B2 JP 5228369 B2 JP5228369 B2 JP 5228369B2 JP 2007119881 A JP2007119881 A JP 2007119881A JP 2007119881 A JP2007119881 A JP 2007119881A JP 5228369 B2 JP5228369 B2 JP 5228369B2
- Authority
- JP
- Japan
- Prior art keywords
- content
- node
- function providing
- providing means
- content node
- 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 Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、通信システム、通信方法、及びプログラムに関し、特にIPネットワーク上において、サーバを介さず端末同士が直接通信する通信システム、通信方法及びプログラムに関する。 The present invention relates to a communication system, a communication method, and a program, and more particularly, to a communication system, a communication method, and a program in which terminals communicate directly with each other without using a server on an IP network.
近年、P2P(Peer to Peer)技術を用いたファイル共有ネットワークにより、テキストだけでなく画像や音声、映像といった様々なコンテンツがユーザ間で直接やりとりされるようになってきた。 In recent years, not only text but also various contents such as images, sounds, and videos have been directly exchanged between users by a file sharing network using P2P (Peer to Peer) technology.
P2P技術の例としてコード(Chord)がある。コード(Chord)は分散ハッシュテーブルを用いるP2P技術の一つで、参加するノードはハッシュ関数を用いて生成されたID(identifier)を付与され、そのIDの順にオーバーレイネットワーク上でリング状に接続する。コンテンツも同様にハッシュ関数によりIDを付与され、コンテンツIDとコンテンツ場所情報の組み合わせデータがIDに従いネットワークに参加するノードに保存される。ノードがあるコンテンツを検索する場合、分散ハッシュテーブルを用いて検索メッセージをノード間でルーティングし、所望のコンテンツの場所情報を持つノードを検索する。ノードは定期的に近隣のノードと存在を確認しあうことでコード(Chord)リングを維持する。 An example of the P2P technology is a code (Chord). A code (Chord) is one of the P2P technologies using a distributed hash table. Participating nodes are given IDs (identifiers) generated using a hash function, and are connected in a ring shape on the overlay network in the order of the IDs. . The content is similarly given an ID by a hash function, and the combination data of the content ID and the content location information is stored in a node participating in the network according to the ID. When searching for content with a node, a search message is routed between nodes using a distributed hash table to search for a node having location information of the desired content. Nodes maintain a chord ring by periodically checking their existence with neighboring nodes.
電話で通話を行う場合のように端末同士を繋げる目的の場合にもコード(Chord)を利用できる。例えばP2P−SIP(Session Initiation Protocol)ではSIP−URI(Uniform Resource Identifier)をコンテンツとしてSIP−URIをハッシュ関数に適用した結果をコンテンツIDとしてIP(Internet Protocol)アドレスと共にコード(Chord)リングに登録しておき、通信する場合はSIP−URIをキーにIPアドレスをコード(Chord)リング上で検索する。 A code (Chord) can also be used for the purpose of connecting terminals such as when making a phone call. For example, in P2P-SIP (Session Initiation Protocol), SIP-URI (Uniform Resource Identifier) is used as content, and the result of applying SIP-URI to the hash function is registered as a content ID in a code (Chord) ring together with IP (Internet Protocol) address. In the case of communication, the IP address is searched on the code ring using the SIP-URI as a key.
コード(Chord)に限らず一般のP2Pネットワークでは参加するノードは任意のタイミングでP2Pネットワークを離脱することができる。コード(Chord)の場合、あるノードが離脱してしまうとコンテンツIDとIPアドレス情報が消滅してしまうため、その情報をバックアップする必要がある。 In a general P2P network as well as a code (Cord), a participating node can leave the P2P network at an arbitrary timing. In the case of a code (Cord), if a node leaves, the content ID and the IP address information disappear, so that information needs to be backed up.
例えばバックアップを、リングを伝い上流・下流それぞれ数ノードに対し情報のコピーを渡しておく、といった方法がある。 For example, there is a method in which a copy of information is transferred to several nodes upstream and downstream along the ring.
あるいは特許文献1(特開2004−72603号公報)のように、ノードそれぞれにバックアップのノードを設定し、そのノードにデータのコピーを渡しておく、といった方法もある。 Alternatively, as disclosed in Patent Document 1 (Japanese Patent Application Laid-Open No. 2004-72603), there is a method in which a backup node is set for each node and a copy of data is transferred to the node.
このようにコンテンツIDとコンテンツ場所情報の組み合わせデータを残しておくことで、ノードの離脱が発生してもコード(Chord)リングを正常に動作させることができる。
従来の問題は、ノードが離脱した場合でも正常に動作するために他のノードに自ノードの持つ情報をバックアップしなければならない、ということである。 The conventional problem is that even if a node leaves, the information of the node must be backed up to another node in order to operate normally.
その理由は、P2Pネットワークでは任意のタイミングでノードの離脱が許されるためである。そのためにはあるノードは他のノードに離脱する前に自ノードの持つ情報をコピーしておかなければならない。また、あるノードとバックアップのノード両方が同時にP2Pネットワークから離脱する可能性があるため、そのような状況を避けるためにはバックアップのノードを増やさなければならず、結果として1つのノードに保存しなければならない情報量が多量になってしまう。すなわちリング修復能力を高めるためには1つのノードが保存しなければならない情報量が増え、一方で1つのノードが保存しなければならない情報量を削減しようとするとリング修復能力が低下してしまう。 This is because a node is allowed to leave at an arbitrary timing in a P2P network. In order to do so, a node must copy its own information before leaving another node. Also, both nodes and backup nodes may leave the P2P network at the same time, so to avoid such a situation, the number of backup nodes must be increased and as a result must be stored in one node. The amount of information that must be handled becomes large. That is, in order to increase the ring repair capability, the amount of information that one node must store increases, while on the other hand, if the amount of information that one node must store is reduced, the ring repair capability decreases.
(目的)
本発明の目的は、あるノードに冗長に情報を持たせることなく、P2Pネットワークに参加している任意のノードが離脱した時に当該P2Pネットワークを修復できる通信システムを提供することにある。
(the purpose)
An object of the present invention is to provide a communication system capable of repairing a P2P network when any node participating in the P2P network leaves without giving a node redundant information.
上記課題を解決するため本発明は、1又は複数のコンテンツを保持するノード上の当該コンテンツに対して一意の識別情報を付与し、前記コンテンツをコンテンツノードとする、コンテンツオリエンテッドなP2P型のネットワークリングを構成することを特徴とする。 In order to solve the above problems, the present invention provides a content-oriented P2P network in which unique identification information is assigned to the content on a node holding one or a plurality of content and the content is the content node. It is characterized by constituting a ring.
以下に、発明を実施するための最良の形態で使用される番号を括弧付きで用いて、課題を解決するための手段をより詳細に説明する。これらの番号は、特許請求の範囲の記載と発明を実施するための最良の形態との対応関係を明らかにするために付加されたものである。但し、それらの番号を、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。 In the following, means for solving the problem will be described in more detail using the numbers used in the best mode for carrying out the invention in parentheses. These numbers are added to clarify the correspondence between the description of the claims and the best mode for carrying out the invention. However, these numbers should not be used for the interpretation of the technical scope of the invention described in the claims.
本発明の第1の通信システムは、1つまたは複数のコンテンツを持つ複数のノードで構成され、各ノードは外部ネットワークと接続され、他のノードまたはコンテンツノードとの情報を送受信する送受信部1と、コンテンツデータベース6に登録されているコンテンツ1つに対し1つ生成され、担当するコンテンツについてのコンテンツノード機能を提供するコンテンツノード機能部2と、コンテンツデータベース6にコンテンツが登録させると、追加されたコンテンツを担当するコンテンツノード機能部2を追加するコンテンツノード生成機能部3と、コンテンツデータベース6からコンテンツが削除させると、削除されたコンテンツを担当していたコンテンツノード機能部2を削除するコンテンツノード削除機能部4と、検索したいコンテンツのID番号をハッシュ関数から求め、コンテンツノード機能部にコンテンツ検索リクエストを送信することで、コンテンツを検索するコンテンツノード検索機能部5と、他のノードに対し公開するコンテンツを保存するコンテンツデータベース6と、ノード内に存在するコンテンツノード機能部2で用いるフィンガーテーブルを保存するフィンガーテーブルデータベース7と、を有する。このような構成を採用し、P2Pネットワークをコンテンツオリエンテッドな構成にし、当該ネットワークにはコンテンツノードが参加することによって、各ノードにコンテンツの場所情報を登録する必要をなくし、さらにあるノードが離脱しコンテンツノードが当該ネットワークから離脱した場合に、離脱したコンテンツノードの下流側のコンテンツノードが離脱したコンテンツノードの上流側コンテンツノードを検索し、両者を結びつけ当該ネットワークを修復することによって、本発明の目的を達成することができる。
The first communication system of the present invention includes a plurality of nodes having one or a plurality of contents, and each node is connected to an external network, and a transmission /
送受信部1は、外部ネットワークと接続されており、コンテンツノード機能部2から発信されるDHT参加メッセージとコンテンツ検索メッセージとキープアライブ(keep alive)メッセージとを、そのメッセージに記載の他のノードへ情報を送信する機能と、他のノードからDHT参加メッセージとコンテンツ検索メッセージとキープアライブ(keep alive)メッセージとを受信した場合、そのメッセージに記載のコンテンツノード機能部2に、そのメッセージを通知する機能と、を有する。この動作により他のノードまたは他のコンテンツノードとの情報の送受信を実現する。
The transmission /
コンテンツノード機能部2は、コンテンツデータベース6に登録されているコンテンツ1つに対し1つ生成され、担当するコンテンツのコンテンツノードをP2Pネットワーク上に登録する機能を提供するDHT参加機能部21と、所定のアルゴリズムに従ってメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信するDHT検索機能部22と、他のコンテンツノードとキープアライブ(keep alive)メッセージを送受信しあい、当該ネットワークを維持する機能を持つDHT管理機能部23と、を有する。この構成により当該ネットワークを構成するためのDHT管理と、当該ネットワーク上でのコンテンツ検索機能を提供する。
The content
コンテンツノード機能部2は、コンテンツノード生成機能部により生成されると、DHT参加機能部21を用いてP2Pネットワーク上に自コンテンツノードを参加させる機能と、他のコンテンツノードからDHT参加メッセージを受信すると、DHT管理部23を用いて、DHT参加メッセージを送信してきたコンテンツノードを当該ネットワーク上に参加させる機能と、コンテンツノード検索機能部5から、コンテンツ検索リクエストを受けると、DHT検索機能部22を用いフィンガーテーブルデータベース7を参照し、自コンテンツノードに関するフィンガーテーブル以外の同じノード内に存在する他のコンテンツノードに関するフィンガーテーブルも参照した上で所定のアルゴリズムに従ってコンテンツノードを検索、コンテンツメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する機能と、他のコンテンツノードからコンテンツ検索メッセージを受信すると、DHT検索機能部を用いフィンガーテーブルデータベース7を参照し、自コンテンツノードに関するフィンガーテーブル以外の同じノード内に存在する他のコンテンツノードに関するフィンガーテーブルも参照した上で所定のアルゴリズムに従ってコンテンツノードを検索、コンテンツメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する機能と、コンテンツノード削除機能部4からコンテンツノード削除リクエストを受信すると、自身を削除する機能と、を有する。
When the content
DHT参加機能部21は、他のコンテンツノードに対し、DHT参加メッセージを送信することで、担当するコンテンツのコンテンツノードをP2Pネットワーク上に登録する機能を有する。
The DHT
DHT検索機能部22は、コンテンツノード検索機能部からのコンテンツノード検索リクエストを受信すると、フィンガーテーブルデータベース7を参照し、自コンテンツノードに関するフィンガーテーブル以外の同じノード内に存在する他のコンテンツノードに関するフィンガーテーブルも参照した上で所定のアルゴリズムに従ってメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する機能と、他のコンテンツノードか らコンテンツ検索メッセージを受信すると、フィンガーテーブルデータベース7を参照し、自コンテンツノードに関するフィンガーテーブル以外の同じノード内に存在する他のコンテンツノードに関するフィンガーテーブルも参照した上で所定のアルゴリズムに従ってメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する機能と、を有する。
When the DHT
DHT管理部23は、他のコンテンツノードとフィンガーテーブルデータベース7に含まれる自コンテンツノードに関するフィンガーテーブルの情報を含むキープアライブ(keep alive)メッセージを送受信しあい、フィンガーテーブルの情報を更新し、P2Pネットワークを維持する機能と、キープアライブ(keep alive)メッセージの送受信を定期的に実施し、キープアライブ(keep alive)メッセージを送信後、一定時間返信がなく、キープアライブ(keep alive)メッセージを再送しても返信がない場合は、そのコンテンツノードは当該ネットワークを離脱したとすることで、他のコンテンツノードの離脱を検出する機能と、あるコンテンツノードが離脱したことを検出した場合、かつ離脱したコンテンツノードが自コンテンツノードから見て下流であった場合、離脱したコンテンツ ノードから見て下流のノードからの離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを一定時間待つ機能と、あるコンテンツノードが離脱したことを検出した場合、かつ離脱したコンテンツノードが自コンテンツノードから見て上流であった場合、DHT検索機能部22を用い離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを送信することで、離脱したコンテンツノード先に存在するコンテンツノードと通信し当該ネットワークを修復する機能と、離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを待っている場合に、離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを送信してきたコンテンツノードとキープアライブ(keep alive)メッセージを送受信しあうことでリングの修復を完了する機能と、離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを待ち、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージが一定時間経過後も届かない場合、フィンガーテーブルデータベース7を参照し、自コンテンツノードのID番号よりも大きくかつ、最も近いID番号を持つコンテンツノードから順に接続を試み、接続が成功した場合はそのコンテンツノードとリングを修復し、接続できなかった場合は再度フィンガーテーブルデータベース7を参照し、接続可能なコンテンツノードが見つかるまで上記動作を繰り返す機能と、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを待つ場合、一定時間経過す る間に複数の離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを受信した場合、通常のコンテンツ検索メッセージと同様フィンガーテーブルデータベース7を参照し効率のよいコンテンツ検索メッセージ送信先がある場合は、そのコンテンツノードに対し、コンテンツ検索 メッセージを送信する機能と、フィンガーテーブルデータベース7を参照し効率のよいコンテンツ検索メッセージ送信先がない場合、すなわち複数のリング修復 オプションの付いたコンテンツ検索メッセージについて自コンテンツノードが最適な受信者であった場合、コンテンツ検索メッセージ送信元のコンテンツノードのID番号を比較し、自コンテンツノードのID番号よりも大きくかつ、最も近いID番号を持つコンテンツノードから順に接続を試み、それ以外のコンテンツ検索メッセージについては全て破棄する機能と、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを送信後、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを待っていたコンテンツノードからのキープアライブ(keep alive)メッセージを待つ機能と、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを送信後一定時間経過後もキープアライブ(keep alive)メッセージを受信しない場合は、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージの再送を実施する機能と、再送を含む全てのコンテンツ検索メッセージに対してもキープアライブ(keep alive)メッセージを受信しない場合は、フィンガーテーブルデータベース7を参照し、自コンテンツノードのID番号よりも小さくかつ、最も近いID番号を持つコンテンツノードから順に接続を試み、接続が成功した場合はそのコンテンツノードとリングを修復し、接続できなかった場合は再度フィンガーテーブルデータベース7を参照し、接続可能なコンテンツノードが見つかるまで上記動作を繰り返す機能と、を有する。
The DHT
本発明の第1の通信方法は、他のコンテンツノードと、キープアライブ(keep alive)メッセージの送受信を定期的に実施し、キープアライブ(keep alive)メッセージを送信後、一定時間返信がなく、キープアライブ(keep alive)メッセージを再送しても返信がない場合は、そのコンテンツノードはP2Pネットワークを離脱したとすることによってコンテンツノードの離脱を検出するステップS−1と、離脱したコンテンツノードの当該ネットワーク上での方向を確認するステップS−2と、離脱したコンテンツノードの当該ネットワーク上での方向が、離脱したコンテンツノードが自コンテンツノードから見て下流であった場合の動作を規定するステップS−Aと、離脱したコンテンツノードの当該ネットワーク上での方向が、離脱したコンテンツノードが自コンテンツノードから見て上流であった場合の動作を規定するステップS−Bと、キープアライブ(keep alive)メッセージを送受信し、当該ネットワークを修復するステップS−C1と、を有する。 The first communication method of the present invention periodically transmits and receives keep alive messages to and from other content nodes, and after sending a keep alive message, there is no reply for a certain period of time. If there is no reply even after resending the keep alive message, the content node detects that the content node has left the network by leaving the P2P network, and the network of the content node that has left the network Step S-2 for confirming the direction above, and Step S- for defining the operation when the direction of the content node that has left the network is downstream as viewed from the content node. A and the corresponding node of the detached content node Step SB that defines the operation when the content node that has left the network is upstream when viewed from its own content node, and a keep alive message are sent and received to repair the network. Step S-C1.
また、ステップS−Aは、離脱したコンテンツノードから見て下流のノードからの離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを一定時間待つ状態になるステップS−A1と、離脱したコンテンツノードから見て下流のノードからの離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを一定時間内に受信したかどうかを確認するステップS−A2と、離脱したコンテンツノードから見て下流のノードからの離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを一定時間内に受信しなかった場合に、フィンガーテーブルデータベースを参照し、自コンテンツノードのID番号よりも大きくかつ、最も近いID番号を持つコンテンツノードから順に接続を試みるステップS−A3と、離脱したコンテンツノードから見て下流のノードからの離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを一定時間内に受信した場合に、フィンガーテーブルデータベースを参照し効率のよいコンテンツ検索メッセージ送信先があるか確認するステップS−A4と、ステップS−A4で決定したコンテンツノードに対し、キープアライブ(keep alive)メッセージを送信するステップS−A6と、を有する。 Further, the step S-A waits for a certain period of time for a content search message with a ring repair option for searching for a detached content node from a downstream node as seen from the detached content node. Step S-A2 for confirming whether or not a content search message with a ring repair option for searching for a content node that has left the downstream node when viewed from the content node is received, and from the content node that has left When a content search message with a ring repair option for searching for a content node that has left the node that has been viewed is not received within a certain period of time, the finger table database is referred to and the ID number of the content node is Big and closest A step S-A3 that tries to connect in order from the content node having the D number, and a content search message with a ring repair option for searching for a detached content node from the downstream node as seen from the detached content node within a certain time If received, step S-A4 confirms whether there is an efficient content search message transmission destination by referring to the finger table database, and a keep alive message is sent to the content node determined in step S-A4. Transmitting step S-A6.
ステップS−Bは、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを送信するステップS−B1と、一定時間以内にキープアライブ(keep alive)メッセージを受信したか確認するステップS−B2と、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを再送するステップS−B3と、一定時間以内にキープアライブ(keep alive)メッセージを受信したか確認するステップS−B4と、フィンガーテーブルデータベースを参照し、自コンテンツノードのID番号よりも小さくかつ、最も近いID番号を持つコンテンツノードから順に接続を試みるステップS−B5と、を有する。 Step S-B is a step S-B1 for transmitting a content search message with a ring repair option for searching for a detached content node, and a step S for confirming whether a keep alive message has been received within a predetermined time. Step S-B3 for resending a content search message with a ring repair option for searching for a detached content node, and step S-B4 for confirming whether or not a keep alive message has been received within a predetermined time. And step S-B5 which refers to the finger table database and tries connection in order from the content node having the closest ID number which is smaller than the ID number of the content node.
本発明の通信プログラムは、上記通信方法を、コンピュータに実行させるためのプログラムである。 The communication program of the present invention is a program for causing a computer to execute the communication method.
本発明の第1の効果は、あるノードに冗長に情報を持たせることなく、P2Pネットワークに参加していた任意のノードが離脱した時に当該ネットワークを修復できることである。 The first effect of the present invention is that a network can be repaired when an arbitrary node that has participated in the P2P network leaves without giving a node redundant information.
その理由は、1又は複数のコンテンツを保持するノード上の当該コンテンツに対して一意の識別情報を付与し、前記コンテンツをコンテンツノードとする、コンテンツオリエンテッドなP2P型のネットワークリングを構成するからである。すなわち、P2P型ネットワークリングをコンテンツオリエンテッドな構成にし、当該ネットワークリングにはコンテンツノードが参加することによって、各ノードにコンテンツの場所情報を登録する必要をなくし、さらに、あるノードが離脱しコンテンツノードが当該ネットワークリングから離脱した場合に、離脱したコンテンツノードの下流側のコンテンツノードが離脱したコンテンツノードの上流側コンテンツノードを検索し、両者を結びつけることにより、当該ネットワークを修復するためである。 The reason for this is that a unique identification information is given to the content on a node that holds one or a plurality of contents, and a content-oriented P2P type network ring is configured with the content as a content node. is there. That is, a P2P type network ring is configured in a content-oriented manner, and content nodes participate in the network ring, so that it is not necessary to register content location information in each node. When the network node leaves the network ring, the content node on the downstream side of the content node that has left the network searches the upstream content node of the content node that has left the network and connects the two to restore the network.
(第1の実施の形態)
以下に本発明の第1の実施の形態について添付図を参照して説明する。
(First embodiment)
A first embodiment of the present invention will be described below with reference to the accompanying drawings.
(第1の実施の形態の構成)
図1は、本実施の形態による通信システムの物理的構成を示す概略図である。
(Configuration of the first embodiment)
FIG. 1 is a schematic diagram showing a physical configuration of a communication system according to the present embodiment.
図1を参照すると、本実施の形態による通信システムは、ネットワーク上に配置された情報処理端末であるノード100が、複数のコンテンツを有しうるものとする。
Referring to FIG. 1, in the communication system according to the present embodiment, a
図2は、本実施の形態による通信システムの論理的構成を示す概略図である。 FIG. 2 is a schematic diagram showing a logical configuration of the communication system according to the present embodiment.
図2を参照すると、本実施の形態による通信システムは、P2P(Peer to Peer)のネットワークをコンテンツオリエンテッドな構成し、ノード100が有する各コンテンツ(コンテンツノード)に一意のノードID(identifier)を割り振り、ノードID(identifier)2、3、・・・、56、61としてストラクチャードに当該ネットワーク上に参加させたものである。なお、本実施の形態によるネットワークのトポロジはリング(リングネットワーク)であるが、トポロジはリングに制限されるものではない。
Referring to FIG. 2, the communication system according to the present embodiment configures a P2P (Peer to Peer) network in a content-oriented manner, and assigns a unique node ID (identifier) to each content (content node) of the
図3は、本実施の形態によるノードの構成を示すブロック図である。 FIG. 3 is a block diagram showing a configuration of a node according to the present embodiment.
図3を参照すると、本実施の形態の通信システムを構成するノードは、送受信部1と、コンテンツノード機能部2と、コンテンツノード生成機能部3と、コンテンツノード削除機能部4と、コンテンツノード検索機能部5と、コンテンツデータベース6と、フィンガーテーブルデータベース7を有する。
Referring to FIG. 3, the nodes constituting the communication system according to the present embodiment are the transmission /
またコンテンツノード機能部2は、DHT(Distributed Hash Table)参加機能部21と、DHT検索機能部22と、DHT管理機能部23と、を有する。
The content
送受信部1は、外部ネットワークと接続されており、コンテンツノード機能部2から発信されるDHT参加メッセージとコンテンツ検索メッセージとキープアライブ(keep alive)メッセージとを、そのメッセージに記載の他のノードへ情報を送信する。また、他のノードからDHT参加メッセージとコンテンツ検索メッセージとキープアライブ(keep alive)メッセージとを受信した場合、そのメッセージに記載のコンテンツノード機能部2に、そのメッセージを通知する。
The transmission /
コンテンツノード機能部2は、コンテンツデータベース6に登録されているコンテンツ1つに対し1つ生成され、担当するコンテンツについてのコンテンツノード機能を提供する。すなわち、コンテンツノード機能部2のひとつがリングネットワーク上のコンテンツノード1つに該当し、リングネットワークを構成するためのDHT管理と、リングネットワーク上でのコンテンツ検索機能を提供する。ここで、コンテンツノードのリングネットワーク上のID(identifier)は、コンテンツに関する情報をハッシュ関数に適用した結果を用いる。コンテンツに関する情報とは、例えばコンテンツ名、などがある。
One content
コンテンツノード機能部2は、コンテンツノード生成機能部3により生成されると、DHT参加機能部21を用いてリングネットワーク上に自コンテンツノード(自コンテンツノード機能部2)を参加させる。
When the content
また、コンテンツノード機能部2は、他のコンテンツノードからDHT参加メッセージを受信すると、DHT管理部23を用いて、DHT参加メッセージを送信してきたコンテンツノードをリングネットワーク上に参加させる。
When the content
また、コンテンツノード機能部2は、コンテンツノード検索機能部5から、コンテンツ検索リクエストを受けると、DHT検索機能部22を用いコンテンツ検索メッセージを送受信部1に発信する。すなわち、DHT検索機能部22は、フィンガーテーブルデータベース7を参照し、後述する所定のアルゴリズムに従ってメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する。
When the content
ここで、フィンガーテーブルデータベース7にはノードに存在するコンテンツノード機能部2全てに関するフィンガーテーブルが保存されている。DHT検索機能部22がフィンガーテーブルデータベース7を参照し、所定のアルゴリズムに従ってメッセージ送信先を決める場合に、自コンテンツノード機能部に関するフィンガーテーブル以外に他のコンテンツノード機能部に関するフィンガーテーブルも参照することで、自コンテンツノードに関するフィンガーテーブルを参照するだけでは知ることのできないコンテンツノード情報を得ることができる。すなわち、多くのコンテンツノード情報を参照できるため、効率のよいメッセージ送信先を決めることができる。ここで効率のよいメッセージ送信先とは、コンテンツ検索メッセージで検索したいコンテンツノードそのものであるが、その情報がない場合は、検索したいコンテンツノードのID番号よりも小さいID番号を持つコンテンツノードの中で最大のID番号を持つコンテンツノードである。
Here, the
また、コンテンツノード機能部2は、他のコンテンツノードからコンテンツ検索メッセージを受信すると、DHT検索機能部22及びフィンガーテーブルデータベース7を用い所定のアルゴリズムに従ってコンテンツノードを検索、コンテンツメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する。
When the content
また、コンテンツノード機能部2は、コンテンツノード削除機能部4からコンテンツノード削除リクエストを受信すると、自身を削除する。
Further, upon receiving the content node deletion request from the content node
DHT参加機能部21は、担当するコンテンツのコンテンツノードをリングネットワーク上に登録する機能を提供する。すなわち、リングネットワーク上にコンテンツノードを登録するために、他のコンテンツノードに対し、DHT参加メッセージを送信する。
The DHT
DHT検索機能部22は、コンテンツノード検索機能部5からのコンテンツノード検索リクエストを受信すると、フィンガーテーブルデータベース7を参照し、所定のアルゴリズムに従ってメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する。
Upon receiving the content node search request from the content node
また、DHT検索機能部22は、他のコンテンツノードからコンテンツ検索メッセージを受信すると、フィンガーテーブルデータベース7を参照し、所定のアルゴリズムに従ってメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する。
When the DHT
DHT管理部23は、他のコンテンツノードとキープアライブ(keep alive)メッセージを送受信しあい、リングネットワークを維持する機能を持つ。ここで、キープアライブ(keep alive)メッセージにはフィンガーテーブルデータベース7に含まれる自コンテンツノードに関するフィンガーテーブルも含まれ、他のコンテンツノードとフィンガーテーブルを送受信しあうことでフィンガーテーブルを最新の状態にする。すなわち、他のコンテンツノードから受信したフィンガーテーブルが自コンテンツノードの持つフィンガーテーブルより新しい場合、他のコンテンツノードから受信したフィンガーテーブルの情報を参照し、自コンテンツノードのフィンガーテーブルを更新する。ここで、キープアライブ(keep alive)メッセージはリングネットワーク上上流及び下流のコンテンツノード1つまたは複数に対し実行される。
The
ここで、リングネットワーク上で上流とは、リングネットワークにおいてあるコンテンツノードから見てID番号が小さいコンテンツノードが存在する方向を指し、リングネットワーク上で下流とは、リングネットワークにおいてあるコンテンツノードから見てID番号が大きいコンテンツノードが存在する方向を指す。ただしID番号の継ぎ目に当たる部分において、あるコンテンツノードから見てどちらの方向のコンテンツノードIDも小さい場合は、より小さいID番号を持つコンテンツノード側を下流とし、逆側を上流とする。 Here, upstream on the ring network refers to the direction in which a content node with a small ID number exists when viewed from a content node on the ring network, and downstream on the ring network refers to a content node on the ring network. This refers to the direction in which content nodes with large ID numbers exist. However, if the content node ID in either direction as viewed from a certain content node is small in the portion corresponding to the joint of the ID number, the content node side having the smaller ID number is set as the downstream side, and the opposite side is set as the upstream side.
さらに、DHT管理部23は、キープアライブ(keep alive)メッセージの送受信を定期的に実施することで、他のコンテンツノードの離脱を検出する。すなわちキープアライブ(keep alive)メッセージを送信後、一定時間返信がなく、キープアライブ(keep alive)メッセージを再送しても返信がない場合は、そのコンテンツノードはリングネットワークを離脱したとする。
Furthermore, the
DHT管理部23は、あるコンテンツノードが離脱したことを検出した場合、離脱したコンテンツノード先に存在するコンテンツノードと通信しリングネットワークを修復する機能を持つ。離脱したコンテンツノードが自コンテンツノードから見て下流であった場合、離脱したコンテンツノードから見て下流のノードからの離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを一定時間待つ。一方、離脱したコンテンツノードが自コンテンツノードから見て上流であった場合、DHT検索機能部22を用い離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを送信する。
When the
離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを待っていたDHT管理部23は、離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを送信してきたコンテンツノードとキープアライブ(keep alive)メッセージを送受信しあうことでリングの修復を完了する。
The
ここで、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを待つ場合、ネットワーク上の状態及びリングネットワークの破損状態によっては離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージが一定時間経過後も届かない場合も考えられる。この場合、フィンガーテーブルデータベース7を参照し、自コンテンツノードのID番号よりも大きくかつ、最も近いID番号を持つコンテンツノードから順に接続を試みる。接続が成功した場合はそのコンテンツノードとリングを修復し、接続できなかった場合は再度フィンガーテーブルデータベース7を参照し、接続可能なコンテンツノードが見つかるまで上記動作を繰り返す。
Here, when waiting for a content search message with a ring repair option to search for a detached content node, content search with a ring repair option to search for a detached content node depending on the state of the network and the damage state of the ring network It is also possible that the message does not arrive after a certain time. In this case, referring to the
さらに、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを待つ場合、一定時間経過する間に複数の離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを受信する可能性もある。この場合、まずは通常のコンテンツ検索メッセージと同様フィンガーテーブルデータベース7を参照し効率のよいコンテンツ検索メッセージ送信先がある場合は、そのコンテンツノードに対し、コンテンツ検索メッセージを送信する。一方フィンガーテーブルデータベース7を参照し効率のよいコンテンツ検索メッセージ送信先がない場合、すなわち複数のリング修復オプションの付いたコンテンツ検索メッセージについて自コンテンツノードが最適な受信者であった場合、コンテンツ検索メッセージ送信元のコンテンツノードのID番号を比較し、自コンテンツノードのID番号よりも大きくかつ、最も近いID番号を持つコンテンツノードから順に接続を試みる。それ以外のコンテンツ検索メッセージについては全て破棄する。
In addition, when waiting for a content search message with a ring repair option to search for a detached content node, it is possible to receive a content search message with a ring repair option to search for multiple detached content nodes within a certain period of time. There is also sex. In this case, first, when there is an efficient content search message transmission destination by referring to the
また、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを送信する場合、DHT検索機能部22はリング修復オプションのないコンテンツ検索メッセージと同様、フィンガーテーブルデータベース7を参照する場合に、自コンテンツノード機能部2に関するフィンガーテーブル以外に他のコンテンツノード機能部2に関するフィンガーテーブルも参照することで、自コンテンツノードに関するフィンガーテーブルを参照するだけでは知ることのできないコンテンツノード情報を得ることができる。すなわち、多くのコンテンツノード情報を参照できるため、効率のよいメッセージ送信先を決めることができる。ここで効率のよいメッセージ送信先とは、コンテンツ検索メッセージで検索したいコンテンツノード、すなわち離脱したコンテンツノードのID番号よりも小さいID番号を持つコンテンツノードの中で最大のID番号を持つコンテンツノードである。このような検索を繰り返すことで、離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを待つコンテンツノードにメッセージが届けられる。
When a content search message with a ring repair option for searching for a detached content node is transmitted, the DHT
離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを送信後、DHT管理部23は離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを待っていたコンテンツノードからのキープアライブ(keep alive)メッセージを待つ。
After sending a content search message with a ring repair option to search for a detached content node, the
ここで、一定時間経過後もキープアライブ(keep alive)メッセージを受信しない場合は、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージの再送を実施する。再送回数は1回とは限らず、ネットワーク状態により再送を複数回実施することもできる。 Here, if a keep alive message is not received even after a certain time has elapsed, a content search message with a ring repair option for searching for a detached content node is retransmitted. The number of retransmissions is not limited to one, and retransmissions can be performed a plurality of times depending on the network state.
この再送した全てのコンテンツ検索メッセージに対してもキープアライブ(keep alive)メッセージを受信しない場合は、フィンガーテーブルデータベース7を参照し、自コンテンツノードのID番号よりも小さくかつ、最も近いID番号を持つコンテンツノードから順に接続を試みる。接続が成功した場合はそのコンテンツノードとリングを修復し、接続できなかった場合は再度フィンガーテーブルデータベース7を参照し、接続可能なコンテンツノードが見つかるまで上記動作を繰り返す。
If a keep alive message is not received for all of the resent content search messages, the
コンテンツノード生成機能部3は、コンテンツデータベース6にコンテンツが登録されると、追加されたコンテンツを担当するコンテンツノード機能部2を追加する。
When the content is registered in the
コンテンツノード削除機能部4は、コンテンツデータベース6からコンテンツが削除されると、削除されたコンテンツを担当していたコンテンツノード機能部2を削除する。
When the content is deleted from the
すなわち、コンテンツデータベース6に新たにコンテンツが追加された場合、ノードはコンテンツノード生成機能部3を用い、追加されたコンテンツを担当するコンテンツノード機能部2を追加する。追加されたコンテンツノード機能部は、DHT参加機能部21を用い自身をリングネットワークに参加させる。一方、コンテンツデータベース6からコンテンツが削除された場合、ノードはコンテンツノード削除機能部4を用い、削除されたコンテンツを担当していたコンテンツノード機能部2を削除する。
That is, when a new content is added to the
コンテンツノード検索機能部5は、検索したいコンテンツのID番号をハッシュ関数から求め、コンテンツノード機能部2にコンテンツ検索リクエストを送信することで、コンテンツを検索する。ここで、ノード内に存在するコンテンツノード機能部2のうち、検索したいコンテンツのID番号よりID番号が小さいコンテンツを担当するコンテンツノード機能部の中で最大のID番号を担当するコンテンツノード機能部2に対し、コンテンツ検索リクエストを送信することで、効率のよい検索を実施することができる。
The content node
コンテンツデータベース6は、他のノードに対し公開するコンテンツを保存する。なお、コンテンツとは、便宜上設けた概念であり、例えば、URI(Uniform Resource Identifier)のように、インターネット上における情報資源の存在場所を指し示す情報が含まれる。
The
フィンガーテーブルデータベース7は、ノード内に存在するコンテンツノード機能部2で用いるフィンガーテーブルを保存する。また、ノード100は、自ノード内に複数の前記フィンガーテーブルが存在する場合、各フィンガーテーブルを関連付けてフィンガーテーブルデータベース7に保存する。フィンガーテーブルとは本実施の形態における所定のアルゴリズムにおいてコンテンツノードを検索する場合に用いるルーティングテーブルのようなもので、コンテンツノードのID番号とIPアドレスなどのコンテンツノードに関する情報が記載されている。
The
ハッシュ空間を2m の値で定義し(mはパラメータ)、ノード100の各コンテンツノードに対し、各コンテンツノードを識別するノードIDをハッシュ関数を用いて算出し、付与する。
A hash space is defined with a value of 2 m (m is a parameter), and a node ID for identifying each content node is calculated and assigned to each content node of the
従って、1つのノード100が複数のノードIDを持つ場合があり、1つのノード100が複数のコンテンツ(ノードID)を持つ場合、ハッシュ空間ではノードが各コンテンツノードによって複数存在しているように見える。
Accordingly, one
ノード100の存在場所となるIPアドレスと、コンテンツの存在場所となるノードIDの組がフィンガーテーブルとしてフィンガーテーブルデータベース7に記録され、当該フィンガーテーブルの情報が、本実施の形態における所定のアルゴリズムによって各ノードに分散する。
A set of an IP address that is the location of the
各コンテンツノードは、ハッシュ空間上で当該コンテンツノードの上流側の隣に位置するコンテンツノード(Pノード)のノードID及びIPアドレスと、ハッシュ空間上で当該コンテンツノードの下流側の隣に位置するコンテンツノード(Sノード)のノードID及びIPアドレスとを有する。 Each content node has a node ID and an IP address of a content node (P node) located next to the upstream side of the content node on the hash space, and content located next to the downstream side of the content node on the hash space It has a node ID and an IP address of the node (S node).
また、各コンテンツノードは、フィンガーテーブルとして、ノードID及びIPアドレスの組をmエントリ有し、自身のノードID=Aとして、iエントリ目のノードIDを、(A+2i) mod 2m 0≦i≦m−1の式(1)によって求めるとする場合、当該iエントリ目のノードIDより大きいノードIDを持つ現存するノードのノードIDの情報を有する。
Also, each content node has m entries of a set of node ID and IP address as a finger table, and its own node ID = A, and the node ID of the i-th entry is (A + 2 i )
図4は、本実施の形態の形態による各ノードが有するフィンガーテーブルデータベース7をまとめて示した図である。
FIG. 4 is a diagram collectively showing the
図4を参照すると、ハッシュ空間において、各コンテンツノードは、当該コンテンツノードの上流側の隣に位置するコンテンツノード(Pノード)のノードIDと、当該コンテンツノードの下流側の隣に位置するコンテンツノード(Sノード)のノードIDと、ハッシュ空間26(m=6)において、上記式(1)によって求められるm=0からm=6−1までのノードIDとを有する。 Referring to FIG. 4, in the hash space, each content node has a node ID of a content node (P node) located next to the upstream side of the content node, and a content node located next to the downstream side of the content node. The node ID of (S node) and the node IDs from m = 0 to m = 6-1 determined by the above equation (1) in the hash space 2 6 (m = 6).
例えば、ノードIDのコンテンツノードは、フィンガーテーブルとして、P=61、S=3、i(0)=3、i(1)=8、i(2)=8、i(3)=13、i(4)=18、i(5)=37の情報を有する。 For example, the content node of the node ID has P = 61, S = 3, i (0) = 3, i (1) = 8, i (2) = 8, i (3) = 13, i as finger tables. (4) = 18 and i (5) = 37 information.
なお、本実施の形態は、分散ハッシュを用いることなく一意のIDを割り振ったストラクチャードのリングネットワークにも適用できる。 The present embodiment can also be applied to a structured ring network to which a unique ID is assigned without using a distributed hash.
(第1の実施の形態の動作)
次に、図を参照して本実施の形態のハッシュ空間が 26=64の場合における通信システムの動作について詳細に説明する。
(Operation of the first embodiment)
Next, the operation of the communication system when the hash space of the present embodiment is 2 6 = 64 will be described in detail with reference to the drawings.
図5は、本実施の形態のステイビライゼイション(stabilization)動作を示すシーケンス図である。 FIG. 5 is a sequence diagram showing a stabilization operation according to the present embodiment.
各コンテンツノードは、Pノード(predecessorノード)との間及びSノード(successorノード)との間でキープアライブメッセージの送受信を定期的に実施し、互いに互いの差分データをやり取りする。 Each content node periodically sends and receives keepalive messages to and from the P node (predecessor node) and to the S node (successor node), and exchanges difference data with each other.
各コンテンツノードは、どのデータがステイビライゼイション動作を行う相手にとって新しいデータなのかを示すフラグを用いることによって、データの差分を提供し、データの差分がない場合(データの更新がなされていない場合)、空のレスポンスを行う。 Each content node provides a data difference by using a flag indicating which data is new to the party performing the stabilization operation, and if there is no data difference (data has not been updated) Case), perform an empty response.
各コンテンツノードは、データの差分を要求するステイビライゼイションメッセージに対して返事がない場合、保持しているデータを用い、返事がないSノードの隣のSノードに対してステイビライゼイションメッセージを送信し、あるいは、返事がないPノードの隣のPノードに対してステイビライゼイションメッセージを送信し、ステイビライゼイション動作を行う。 If there is no response to the stabilization message requesting the data difference, each content node uses the stored data and uses the stored data to send a stabilization message to the S node adjacent to the S node that does not respond. Is transmitted, or a stabilization message is transmitted to the P node adjacent to the P node that does not respond, and the stabilization operation is performed.
図6は、ノード又はコンテンツノードがリングネットワークから離脱した際のステイビライゼイション動作を示すシーケンス図である。 FIG. 6 is a sequence diagram showing a stabilization operation when a node or a content node leaves the ring network.
図6を参照すると、ノードID40のコンテンツノードと、ノードID48のコンテンツノードが、互いにステイビライゼイションメッセージの送受信を定期的に行い、ノードID33のコンテンツノードと、ノードID40のコンテンツノードが、互いにステイビライゼイションメッセージの送受信を定期的に行っている。
Referring to FIG. 6, the content node with
次いで、ノードID40のコンテンツノードが、互いにステイビライゼイションメッセージの送受信を定期的に行っているノードID48のコンテンツノード及びID33のコンテンツノードに対し、リングネットワークを離脱する旨を通知することなくリングネットワークから離脱すると、ノードID48のコンテンツノードノード及びID33のコンテンツノードは、送信したステイビライゼイションメッセージに対する応答がないことにより、ノードID40のコンテンツノードの離脱を認識する。
Next, the content node of the
次いで、ノードID33のコンテンツノードは、返事がないSノード(ノードID40のコンテンツノード)の隣のSノード(ノードID48のコンテンツノード)に対してステイビライゼイションメッセージを送信し、一方、ノードID48のコンテンツノードは、返事がないPノード(ノードID40のコンテンツノード)の隣のPノード(ノードID33のコンテンツノード)に対してステイビライゼイションメッセージを送信し、互いにステイビライゼイションメッセージの送受信を定期的に行う。
Next, the content node with the
なお、ノードID40のコンテンツノードが、互いにステイビライゼイションメッセージの送受信を定期的に行っているノードID48のコンテンツノード及びID33のコンテンツノードに対し、リングネットワークを離脱する旨(終了メッセージ)を通知して離脱した正規終了時は、終了メッセージを受けたノード(ノードID33のコンテンツノード及びノードID48のコンテンツノード)の動作はステイビライゼイション動作における離脱認識時と同様の動作である。
Note that the content node with the
次に、リングネットワーク修復における基本動作の概略を説明する。 Next, an outline of basic operations in ring network restoration will be described.
まず、ノード100又はコンテンツノードが、ノードIDが連続した2ノード(コンテンツノード)の消滅(リングネットワークからの離脱)を検出すると、上流ノードが離脱したノード100又はコンテンツノードが、送信先を自身のフィンガーテーブル上最もノードIDの値が大きいノードとして、エラーメッセージ付きで離脱したノード(コンテンツノード)を検索するメッセージを出す。下流ノードが離脱したノード100又はコンテンツノードは、エラー待ち状態に移行する。
First, when the
リングネットワーク上の各ノードは、通常シーケンスでメッセージを転送する。 Each node on the ring network transfers messages in a normal sequence.
エラー待ち状態のノード100又はコンテンツノードは、メッセージを受信すると、検索先とフィンガーテーブルを比べ、検索先のノードIDの値を越えない最大のノードIDを付与されたノード(コンテンツノード)に対し、受信したメッセージを転送する。
When receiving the message, the
エラー待ち状態のノード100又はコンテンツノードは、メッセージを受信した際、転送先がない(=条件に適合するのが自ノード(コンテンツノード))場合、メッセージの送信元と接続する。
When receiving a message, the
なお、エラー待ち状態のノード100又はコンテンツノードは、複数のメッセージを受信した場合、ノードIDの小さい方を優先してメッセージを転送する。
Note that when receiving a plurality of messages, the
一方、上流ノードが離脱したノード100又はコンテンツノードは、送信したメッセージに対する応答が一定時間待ってもない場合、1度だけメッセージを再送する。
On the other hand, the
図7は、ノード100又はコンテンツノードがリングネットワークから離脱した場合のリングネットワーク修復のより詳細な動作例を示すフローチャートである。
FIG. 7 is a flowchart showing a more detailed operation example of the ring network repair when the
図7を参照すると、ノード100又はコンテンツノードが、ノードIDが連続した2ノード(コンテンツノード)の消滅(リングネットワークからの離脱)を検出すると(ステップS−1)、消滅したノード(コンテンツノード)のノードIDと自身のノードIDの値の大きさを比較し、ノードIDの大小を判別する(ステップS−2)。
Referring to FIG. 7, when the
ステップS101において、ノード100又はコンテンツノードは、他のコンテンツノードと、キープアライブ(keep alive)メッセージの送受信を定期的に実施することで、他のコンテンツノードの離脱を検出する。すなわちキープアライブ(keep alive)メッセージを送信後、一定時間返信がなく、キープアライブ(keep alive)メッセージを再送しても返信がない場合は、そのコンテンツノードはリングネットワークを離脱したとする。
In step S101, the
他のコンテンツノードの離脱が検出された場合、離脱したコンテンツノードのリングネットワーク上での方向により、動作が異なる。離脱したコンテンツノードが自ノード100又はコンテンツノードから見て下流であった場合、ステップS−A1へ移行する。一方、離脱したコンテンツノードが自自ノード100又はコンテンツノードから見て上流であった場合、ステップS−B1へ移行する。
When the removal of another content node is detected, the operation differs depending on the direction of the detached content node on the ring network. When the detached content node is downstream as viewed from the
消滅(離脱)したノード(コンテンツノード)のノードIDが自身のノードIDより小さい場合(上流ノードが離脱した場合)、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、離脱したコンテンツノードを検索するリング修復オプションのついたエラー付き検索メッセージの受信待ち状態となる(ステップS−A1)。
When the node ID of the extinguished (leaved) node (content node) is smaller than its own node ID (when the upstream node leaves), the
次いで、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、一定時間内にエラー付き検索メッセージを受信しなかった場合(ステップS−A2)、フィンガーテーブルデータベースを参照し、フィンガーテーブル上最も自身のノードIDに近いノードIDのノード(コンテンツノード)と前述のステイビライゼイション動作を行う(ステップS−A3)。
Next, when the
すなわち、ステップS−A3において、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、自コンテンツノードのノードIDよりも大きくかつ、最も近いノードIDを持つコンテンツノードから順に接続を試み、接続が成功した場合はステップS114に移行し、接続できなかった場合は再度フィンガーテーブルデータベースを参照し、接続可能なコンテンツノードが見つかるまで上記動作を繰り返した後、ステップS114に移行する。
That is, in step S-A3, the
一方、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、一定時間内にエラー付き検索メッセージを受信した場合(ステップS−A2)、自身が最適受信者であるか否かを判定する(ステップS−A4)。この判定は、検索対象となるノードIDの最大値を超えない最大のノードIDの値が自身のノードIDである場合に、自身が最適受信者であると判定する。
On the other hand, when the
ステップS−A4において、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、自身が最適受信者でないと判定した場合、フィンガーテーブルに基づいてエラー付き検索メッセージを転送し(ステップS−A5)、ステップS−A2に戻り、一方、自身が最適受信者であると判定した場合、エラー付き検索メッセージに対してレスポンス(キープアライブ(keep alive)メッセージ)を送信する(ステップS−A6)。
In step S-A4, when the
ステップS−A6において、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、複数のエラー付き検索メッセージを受信した場合、送信元のノードIDがより小さい値の送信元から受信したエラー付き検索メッセージに対するレスポンスの送信を優先し、他から受信したエラー付き検索メッセージを破棄する。
In step S-A6, when the
次いで、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードが、レスポンスの送信元のノード(コンテンツノード)と接続してキープアライブ(keep alive)メッセージを送受信することによって(ステップS−C1)、リングネットワークが修復される。
Next, the
これに対し、ステップS−2において、消滅(離脱)したノード(コンテンツノード)のノードIDが自身のノードIDより大きい場合(下流ノードが離脱した場合)、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、検索対象を離脱したノード(コンテンツノード)とし、離脱したノード(コンテンツノード)を検索するリング修復オプションを付けたエラー付き検索メッセージを送信する(ステップS−B1)。
On the other hand, in step S-2, when the node ID of the extinguished (leaved) node (content node) is larger than its own node ID (when the downstream node leaves), the node (content node) is detected to leave. The
次いで、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、送信したエラー付き検索メッセージ対するレスポンス(キープアライブ(keep alive)メッセージ)を一定時間内に受信した場合(ステップS−B2)、レスポンスの送信元のノード(コンテンツノード)と接続してキープアライブ(keep alive)メッセージを送受信することによって(ステップS−C1)、リングネットワークが修復される。
Next, the
一方、ステップS−B2において、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、送信したエラー付き検索メッセージ対するレスポンス(キープアライブ(keep alive)メッセージ)を受信しなかった場合、一定時間経過後に、離脱したノード(コンテンツノード)を検索するリング修復オプションを付けたエラー付き検索メッセージを再送し(ステップS−B3)、再送したエラー付き検索メッセージ対するレスポンス(キープアライブ(keep alive)メッセージ)を一定時間内に受信しなかった場合(ステップS−B4)、フィンガーテーブル上最も自身のノードIDに遠いノードIDのノード(コンテンツノード)と前述のステイビライゼイション動作を行う(ステップS−B5)。なお、ノード(コンテンツノード)の離脱を検出したノード100又はコンテンツノードは、ステップS−B5においてステイビライゼイション動作を行えない場合、ダウンする。
On the other hand, in step S-B2, the
一方、再送したエラー付き検索メッセージ対するレスポンス(キープアライブ(keep alive)メッセージ)を一定時間内に受信した場合(ステップS−B4)、レスポンスの送信元のノード(コンテンツノード)と接続してキープアライブ(keep alive)メッセージを送受信することによって(ステップS−C1)、リングネットワークが修復される。 On the other hand, if a response (keep alive message) to the resent search message with an error is received within a certain time (step S-B4), the connection is made with the response transmission source node (content node) and keep alive. By transmitting and receiving (keep alive) messages (step S-C1), the ring network is restored.
なお、ステップS−2において、上流ノード及び下流ノードが離脱した場合、ステップS−A1〜の処理及びステップS−B1〜の処理の両方を行う。 In step S-2, when the upstream node and the downstream node leave, both the processing of step S-A1 and the processing of step S-B1 are performed.
(第1の実施の形態の効果)
次に、本実施の形態の効果について説明する。
(Effects of the first embodiment)
Next, the effect of this embodiment will be described.
本実施の形態によれば、P2Pのネットワークをコンテンツオリエンテッドな構成にし、複数のコンテンツを有しうるノード上のコンテンツ(コンテンツノード)に一意のノードIDを割り振り、ストラクチャードに当該ネットワークに参加することによって、各ノードにコンテンツの場所情報を登録する必要をなくし、さらにあるノードが離脱しコンテンツノードが当該ネットワークから離脱した場合に、離脱したコンテンツノードの下流側のコンテンツノードが、離脱したコンテンツノードの上流側コンテンツノードを検索し、両者を結びつけ当該ネットワークを修復することによって、ノードに冗長に情報を持たせることなく、任意のノードが離脱した時にリングが修復することができる。 According to the present embodiment, a P2P network is configured in a content-oriented manner, a unique node ID is allocated to content (content node) on a node that can have a plurality of contents, and the structured network is joined to the network. This eliminates the need to register content location information in each node, and when a certain node leaves and the content node leaves the network, the content node downstream of the detached content node By searching the upstream content node, connecting the two and repairing the network, the ring can be repaired when an arbitrary node leaves without redundant information.
また、本実施の形態によれば、1つのノード100に存在するコンテンツノード機能部2全てに関するフィンガーテーブルが当該ノード100のフィンガーテーブルデータベース7に保存されているため、DHT検索機能部22がフィンガーテーブルデータベース7を参照し、所定のアルゴリズムに従ってメッセージ送信先を決める場合に、自コンテンツノード機能部2に関するフィンガーテーブル以外に他のコンテンツノード機能部2に関するフィンガーテーブルも参照することで、自コンテンツノードに関するフィンガーテーブルを参照するだけでは知ることのできないコンテンツノード情報を得ることができる。すなわち、多くのコンテンツノード情報を参照できるため、効率のよいメッセージ送信先を決めることができる。従って、1つのノード100に存在する複数のコンテンツノード機能部2間で当該メッセージのやりとりを行うことを防止でき、また、あるノード100から一旦出力された当該メッセージが当該ノード100に戻ってくることを防止できる。
Further, according to the present embodiment, since the finger table relating to all the content
(第2の実施の形態)
以下に本発明の第2の実施の形態について添付図を参照して説明する。
(Second Embodiment)
Hereinafter, a second embodiment of the present invention will be described with reference to the accompanying drawings.
本実施の形態による通信システムのネットワークが、コード(Chord)の技術を用いたコード(Chord)リングである点で第1の実施の形態と相違する。以下、第1の実施の形態と相違する点を中心に説明する。 The network of the communication system according to the present embodiment is different from the first embodiment in that the network of the communication system is a chord ring using chord technology. The following description will focus on the points that differ from the first embodiment.
(第2の実施の形態の構成) (Configuration of Second Embodiment)
本実施の形態によるコンテンツノード機能部2は、コンテンツデータベース6に登録されているコンテンツ1つに対し1つ生成され、担当するコンテンツについてのコンテンツノード機能を提供する。すなわち、コンテンツノード機能部2のひとつがコード(Chord)リング上のコンテンツノード1つに該当し、コード(Chord)リングを構成するためのDHT管理と、コード(Chord)リング上でのコンテンツ検索機能を提供する。ここで、コンテンツノードのコード(Chord)リング上のIDは、コンテンツに関する情報をハッシュ関数に適用した結果を用いる。コンテンツに関する情報とは、例えばコンテンツ名、などがある。
One content
本実施の形態によるコンテンツノード機能部2は、コンテンツノード生成機能部3により生成されると、DHT参加機能部21を用いてコード(Chord)リング上に自コンテンツノード(コンテンツノード機能部2)を参加させる。
When the content
また、本実施の形態によるコンテンツノード機能部2は、他のコンテンツノードからDHT参加メッセージを受信すると、DHT管理部23を用いて、DHT参加メッセージを送信してきたコンテンツノードをコード(Chord)リング上に参加させる。
When the content
また、本実施の形態によるコンテンツノード機能部2は、コンテンツノード検索機能部5から、コンテンツ検索リクエストを受けると、DHT検索機能部22を用いコンテンツ検索メッセージを送受信部1に発信する。すなわち、DHT検索機能部22は、フィンガーテーブルデータベース7を参照し、コード(Chord)アルゴリズムに従ってメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する。
When the content
ここで、本実施の形態によるフィンガーテーブルデータベース7にはノードに存在するコンテンツノード機能部2全てに関するフィンガーテーブルが保存されている。DHT検索機能部22がフィンガーテーブルデータベース7を参照し、コード(Chord)アルゴリズムに従ってメッセージ送信先を決める場合に、自コンテンツノード機能部に関するフィンガーテーブル以外に他のコンテンツノード機能部に関するフィンガーテーブルも参照することで、自コンテンツノードに関するフィンガーテーブルを参照するだけでは知ることのできないコンテンツノード情報を得ることができる。すなわち、多くのコンテンツノード情報を参照できるため、効率のよいメッセージ送信先を決めることができる。ここで効率のよいメッセージ送信先とは、コンテンツ検索メッセージで検索したいコンテンツノードそのものであるが、その情報がない場合は、検索したいコンテンツノードのID番号よりも小さいID番号を持つコンテンツノードの中で最大のID番号を持つコンテンツノードである。
Here, the
また、本実施の形態によるコンテンツノード機能部2は、他のコンテンツノードからコンテンツ検索メッセージを受信すると、DHT検索機能部22及びフィンガーテーブルデータベース7を用いコード(Chord)アルゴリズムに従ってコンテンツノードを検索、コンテンツメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する。
When the content
本実施の形態によるDHT参加機能部21は、担当するコンテンツのコンテンツノードをコード(Chord)リング上に登録する機能を提供する。すなわち、コード(Chord)リング上にコンテンツノードを登録するために、他のコンテンツノードに対し、DHT参加メッセージを送信する。
The DHT
本実施の形態によるDHT検索機能部22は、コンテンツノード検索機能部5からのコンテンツノード検索リクエストを受信すると、フィンガーテーブルデータベース7を参照し、コード(Chord)アルゴリズムに従ってメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する。
Upon receiving the content node search request from the content node
また、本実施の形態によるDHT検索機能部22は、他のコンテンツノードからコンテンツ検索メッセージを受信すると、フィンガーテーブルデータベース7を参照し、コード(Chord)アルゴリズムに従ってメッセージ送信先を決め、コンテンツ検索メッセージにメッセージ送信先を記載の上送受信部1に発信する。
Further, when the DHT
本実施の形態によるDHT管理部23は、他のコンテンツノードとキープアライブ(keep alive)メッセージを送受信しあい、コード(Chord)リングを維持する機能を持つ。ここで、キープアライブ(keep alive)メッセージにはフィンガーテーブルデータベース7に含まれる自コンテンツノードに関するフィンガーテーブルも含まれ、他のコンテンツノードとフィンガーテーブルを送受信しあうことでフィンガーテーブルを最新の状態にする。すなわち、他のコンテンツノードから受信したフィンガーテーブルが自コンテンツノードの持つフィンガーテーブルより新しい場合、他のコンテンツノードから受信したフィンガーテーブルの情報を参照し、自コンテンツノードのフィンガーテーブルを更新する。ここで、キープアライブ(keep alive)メッセージはコード(Chord)リング上上流及び下流のコンテンツノード1つまたは複数に対し実行される。
The
ここで、コード(Chord)リング上で上流とは、コード(Chord)リングにおいてあるコンテンツノードから見てID番号が小さいコンテンツノードが存在する方向を指し、コード(Chord)リング上で下流とは、コード(Chord)リングにおいてあるコンテンツノードから見てID番号が大きいコンテンツノードが存在する方向を指す。ただしID番号の継ぎ目に当たる部分において、あるコンテンツノードから見てどちらの方向のコンテンツノードIDも小さい場合は、より小さいID番号を持つコンテンツノード側を下流とし、逆側を上流とする。 Here, upstream on the code (Chord) ring indicates a direction in which a content node having a small ID number as seen from a content node in the code (Chord) ring exists, and downstream on the code (Chord) ring is This indicates a direction in which a content node having a large ID number as seen from a certain content node exists in a code ring. However, if the content node ID in either direction as viewed from a certain content node is small in the portion corresponding to the joint of the ID number, the content node side having the smaller ID number is set as the downstream side, and the opposite side is set as the upstream side.
さらに、本実施の形態によるDHT管理部23は、キープアライブ(keep alive)メッセージの送受信を定期的に実施することで、他のコンテンツノードの離脱を検出する。すなわちキープアライブ(keep alive)メッセージを送信後、一定時間返信がなく、キープアライブ(keep alive)メッセージを再送しても返信がない場合は、そのコンテンツノードはコード(Chord)リングを離脱したとする。
Furthermore, the
本実施の形態によるDHT管理部23は、あるコンテンツノードが離脱したことを検出した場合、離脱したコンテンツノード先に存在するコンテンツノードと通信しコード(Chord)リングを修復する機能を持つ。
When the
コンテンツデータベース6に新たにコンテンツが追加された場合、本実施の形態によるノード100はコンテンツノード生成機能部3を用い、追加されたコンテンツを担当するコンテンツノード機能部2を追加する。追加された本実施の形態によるコンテンツノード機能部は、DHT参加機能部21を用い自身をコード(Chord)リングに参加させる。一方、コンテンツデータベース6からコンテンツが削除された場合、ノードはコンテンツノード削除機能部4を用い、削除されたコンテンツを担当していたコンテンツノード機能部2を削除する。
When new content is added to the
本実施の形態によるフィンガーテーブルデータベース7は、ノード内に存在するコンテンツノード機能部2で用いるフィンガーテーブルを保存する。フィンガーテーブルとはコード(Chord)アルゴリズムにおいてコンテンツノードを検索する場合に用いるルーティングテーブルのようなもので、コンテンツノードのID番号とIPアドレスなどのコンテンツノードに関する情報が記載されている。
The
(第2の実施の形態の動作)
次に、図8を参照して本実施の形態の動作について詳細に説明する。
(Operation of Second Embodiment)
Next, the operation of the present embodiment will be described in detail with reference to FIG.
(1)ステップS−11
本発明の初期状態である。
(1) Step S-11
It is an initial state of the present invention.
(2)ステップS−12
他のコンテンツノードと、キープアライブ(keep alive)メッセージの送受信を定期的に実施することで、他のコンテンツノードの離脱を検出する。すなわちキープアライブ(keep alive)メッセージを送信後、一定時間返信がなく、キープアライブ(keep alive)メッセージを再送しても返信がない場合は、そのコンテンツノードはコード(Chord)リングを離脱したとする。
(2) Step S-12
By periodically sending and receiving keep alive messages with other content nodes, the detachment of other content nodes is detected. In other words, after sending a keep alive message, if there is no reply for a certain period of time and there is no reply even if the keep alive message is retransmitted, it is assumed that the content node has left the chord ring. .
(3)ステップS−13
他のコンテンツノードの離脱を検出した場合、離脱したコンテンツノードのコード(Chord)リング上での方向により、動作が異なる。離脱したコンテンツノードが自コンテンツノードから見て下流であった場合、ステップS−A11へ移行する。一方、離脱したコンテンツノードが自コンテンツノードから見て上流であった場合、ステップS−B1へ移行する。
(3) Step S-13
When the removal of another content node is detected, the operation differs depending on the direction of the separated content node on the chord ring. When the detached content node is downstream from the content node, the process proceeds to step S-A11. On the other hand, when the detached content node is upstream from the content node, the process proceeds to step S-B1.
(4)ステップS−A11
離脱したコンテンツノードから見て下流のノードからの離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを一定時間待つ状態になる。
(4) Step S-A11
A content search message with a ring repair option for searching for a detached content node from a downstream node as viewed from the detached content node is waited for a certain period of time.
(5)ステップS−A12
離脱したコンテンツノードから見て下流のノードからの離脱したコンテンツノードを検索するリング修復オプションのついたコンテンツ検索メッセージを一定時間内に受信した場合は、ステップS−A4に移行する。一方、そうでなかった場合はステップS−A13に移行する。
(5) Step S-A12
When a content search message with a ring repair option for searching for a content node that has left the downstream node when viewed from the content node that has left is received within a predetermined time, the process proceeds to step S-A4. On the other hand, when that is not right, it transfers to step S-A13.
(6)ステップS−A13
フィンガーテーブルデータベースを参照し、自コンテンツノードのID番号よりも大きくかつ、最も近いID番号を持つコンテンツノードから順に接続を試みる。接続が成功した場合はステップS−C11に移行する。接続できなかった場合は再度フィンガーテーブルデータベースを参照し、接続可能なコンテンツノードが見つかるまで上記動作を繰り返した後、ステップS−C11に移行する。
(6) Step S-A13
By referring to the finger table database, connection is attempted in order from the content node having an ID number that is larger than the ID number of the self-content node and closest. If the connection is successful, the process proceeds to step S-C11. If the connection could not be established, the finger table database is referred again, and the above operation is repeated until a connectable content node is found, and then the process proceeds to step S-C11.
(7)ステップS−A14
通常のコンテンツ検索メッセージと同様フィンガーテーブルデータベースを参照し効率のよいコンテンツ検索メッセージ送信先がある場合は、そのコンテンツノードに対し、コンテンツ検索メッセージを送信し、ステップS−A11に移行する。一方フィンガーテーブルデータベースを参照し効率のよいコンテンツ検索メッセージ送信先がない場合、すなわち複数のリング修復オプションの付いたコンテンツ検索メッセージについて自コンテンツノードが最適な受信者であった場合、コンテンツ検索メッセージ送信元のコンテンツノードのID番号を比較し、自コンテンツノードのID番号よりも大きくかつ、最も近いID番号を持つコンテンツノードから順に接続を試みる。それ以外のコンテンツ検索メッセージについては全て破棄する。
(7) Step S-A14
When there is an efficient content search message transmission destination by referring to the finger table database as in the case of a normal content search message, the content search message is transmitted to the content node, and the process proceeds to step S-A11. On the other hand, if there is no efficient content search message destination by referring to the finger table database, that is, if the content node is the best recipient for content search messages with multiple ring repair options, the content search message sender The ID numbers of the content nodes are compared, and the connection is attempted in order from the content node having the closest ID number that is larger than the ID number of the own content node. All other content search messages are discarded.
(8)ステップS−A15
ステップS−A14で決定したコンテンツノードに対し、キープアライブ(keep alive)メッセージを送信する。
(8) Step S-A15
A keep alive message is transmitted to the content node determined in step S-A14.
(9)ステップS−B11
離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを送信する。
(9) Step S-B11
A content search message with a ring repair option for searching the detached content node is transmitted.
(10)ステップS−B12
一定時間以内にキープアライブ(keep alive)メッセージを受信した場合は、ステップS−C11に移行する。それ以外はステップS−B3に移行する。
(10) Step S-B12
If a keep alive message is received within a certain time, the process proceeds to step S-C11. Otherwise, the process proceeds to step S-B3.
(11)ステップS−B13
離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージを再送する。
(11) Step S-B13
Resend a content search message with a ring repair option to search for a detached content node.
(12)ステップS−B4
一定時間以内にキープアライブ(keep alive)メッセージを受信した場合は、ステップS−C1に移行する。それ以外はステップS−B5に移行する。
(12) Step S-B4
If a keep alive message is received within a certain time, the process proceeds to step S-C1. Otherwise, the process proceeds to step S-B5.
(13)ステップS−B15
フィンガーテーブルデータベースを参照し、自コンテンツノードのID番号よりも小さくかつ、最も近いID番号を持つコンテンツノードから順に接続を試みる。接続が成功した場合はステップS−C11に移行する。接続できなかった場合は再度フィンガーテーブルデータベースを参照し、接続可能なコンテンツノードが見つかるまで上記動作を繰り返した後、ステップS−C11に移行する。
(13) Step S-B15
By referring to the finger table database, connection is attempted in order from the content node having the closest ID number that is smaller than the ID number of the self-content node. If the connection is successful, the process proceeds to step S-C11. If the connection could not be established, the finger table database is referred again, and the above operation is repeated until a connectable content node is found, and then the process proceeds to step S-C11.
(14)ステップS−C1
キープアライブ(keep alive)メッセージを送受信し、コード(Chord)リングを修復する。ステップS−1に移行する。
(14) Step S-C1
Send and receive keep alive messages and repair the chord ring. The process proceeds to step S-1.
本実施の形態の動作について、ステップS−B11からステップS−B14までにおいて、離脱したコンテンツノードを検索するリング修復オプションを付けたコンテンツ検索メッセージの再送を1度しか実施していないが、再送回数は1回とは限らず、ネットワーク状態により再送を複数回実施することもできる。 Regarding the operation of the present embodiment, in step S-B11 to step S-B14, the content search message with the ring repair option for searching for the detached content node is retransmitted only once. Is not limited to once, and retransmission may be performed a plurality of times depending on the network state.
(第2の実施の形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of the second embodiment)
Next, the effect of this embodiment will be described.
本実施の形態によれば、コード(Chord)リングをコンテンツオリエンテッドな構成にし、コード(Chord)リングにはコンテンツノードが参加することによって、各ノードにコンテンツの場所情報を登録する必要をなくし、さらにあるノードが離脱しコンテンツノードがコード(Chord)リングから離脱した場合に、離脱したコンテンツノードの下流側のコンテンツノードが離脱したコンテンツノードの上流側コンテンツノードを検索し、両者を結びつけコード(Chord)リングを修復することによって、ノードに冗長に情報を持たせることなく、任意のノードが離脱した時にリングが修復することができる。 According to the present embodiment, the code (Chord) ring has a content-oriented configuration, and the content node participates in the code (Chord) ring, thereby eliminating the need to register content location information in each node, Further, when a certain node leaves and the content node leaves the code (Chord) ring, the content node on the downstream side of the detached content node searches for the upstream content node of the detached content node, and connects the two to the code (Chord). ) By repairing the ring, the ring can be repaired when an arbitrary node leaves without giving the node redundant information.
また、本実施の形態によれば、例えばP2P−SIP(Session Initiation Protocol)において、SIP−URI(Uniform Resource Identifier)をコンテンツとしてSIP−URIをハッシュ関数に適用した結果をコンテンツIDとしてIP(Internet Protocol)アドレスと共にコード(Chord)リングに登録しておき、通信する場合はSIP−URIをキーにIPアドレスをコード(Chord)リング上で検索することによって、電話で通話を行う場合のように端末同士を繋げる場合にも、上記本実施の形態の効果を達成することができる。 Also, according to the present embodiment, for example, in P2P-SIP (Session Initiation Protocol), IP (Internet Protocol) is obtained with the result obtained by applying SIP-URI (Uniform Resource Identifier) as content and SIP-URI as hash function as content ID. ) Registered in the code (Chord) ring together with the address, and when communicating, by searching for the IP address on the code (Chord) ring using the SIP-URI as a key, the terminals can communicate with each other as in the case of making a phone call. Also in the case of connecting, the effect of the present embodiment can be achieved.
(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
(Third embodiment)
Next, a third embodiment of the present invention will be described in detail with reference to the drawings.
図9を参照すると、本実施の形態は、本発明の第1の実施の形態と同様に、送受信部1と、コンテンツノード機能部2と、コンテンツノード生成機能部 3と、コンテンツノード削除機能部4と、コンテンツノード検索機能部5と、コンテンツデータベース6と、フィンガーテーブルデータベース7を有する。
Referring to FIG. 9, the present embodiment is similar to the first embodiment of the present invention in that the transmission /
更に、本実施の形態は、通信システム用プログラム8を有する。
Furthermore, the present embodiment has a
分散認証システム用プログラム8は、送受信部1と、コンテンツノード機能部2と、コンテンツノード生成機能部3と、コンテンツノード削除機能部4と、コンテンツノード検索機能部5と、コンテンツデータベース6と、フィンガーテーブルデータベース7と、に読み込まれ送受信部1と、コンテンツノード機能部2と、コンテンツノード生成機能部3と、コンテンツノード削除機能部4と、コンテンツノード検索機能部5と、コンテンツデータベース6と、フィンガーテーブルデータベース7の動作を制御する。送受信部1と、コンテンツノード機能部2と、コンテンツノード生成機能部3と、コンテンツノード削除機能部4と、コンテンツノード検索機能部5と、コンテンツデータベース6と、フィンガーテーブルデータベース7は、通信システム用プログラム8の制御により第1の実施の形態における通信システムによる処理と同一の処理を実行する。
The distributed
ここで、ノード100のハードウェア構成の説明をする。
Here, the hardware configuration of the
図10は、本実施の形態による通信システムのノード100のハードウェア構成例を示すブロック図である。
FIG. 10 is a block diagram illustrating a hardware configuration example of the
図10を参照すると、本発明によるノード100は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、CPU(Central Processing Unit)1001、RAM(Random Access Memory)等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部1002、インターネット2000を介してデータの送受信を行う通信制御部1003、液晶ディスプレイ、プリンタやスピーカ等の提示部1004、キーボードやマウス等の入力部1005、周辺機器と接続してデータの送受信を行うインタフェース部1006、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部1007、本情報処理装置の上記各構成要素を相互に接続するシステムバス1008等を備えている。
Referring to FIG. 10, a
本発明によるノード100は、その動作を、ノード100内部にそのような機能を実現するプログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のCPU1001で実行することにより、ソフトウェア的に実現することができる。
In the
すなわち、CPU1001は、補助記憶部1007に格納されている分散認証システム用プログラム8を、主記憶部1002にロードして実行し、ノード100の動作を制御することにより、上述した各機能をソフトウェア的に実現する。
That is, the
(第3の実施の形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of the third embodiment)
Next, the effect of this embodiment will be described.
本実施の形態によれば、本発明の第1及び第2の実施の形態の効果と同様の効果を得るために、通信システム用プログラムである分散認証システム用プログラム8を用いることによりコンピュータを通信システムとして動作させることができる。
According to the present embodiment, in order to obtain the same effect as the effects of the first and second embodiments of the present invention, the computer is communicated by using the distributed
実施例1において、第1の実施の形態によるリングネットワーク修復の1動作例をより詳細に説明する。 In Example 1, an example of operation of ring network restoration according to the first embodiment will be described in more detail.
図11は、ノード100又はコンテンツノードがリングネットワークから離脱した場合のリングネットワーク修復の動作例を示すフローチャートであり、図12は、当該動作例の状態遷移を示す図である。
FIG. 11 is a flowchart illustrating an operation example of ring network restoration when the
前提として、ノードID13、16、37、42のノード(以下、ノード(13、16、37、42)のように記載)が、リングネットワークを離脱する旨(終了メッセージ)を他のノードに対して通知することなく離脱したものとする。
As a premise, the
図13に、ノード(13、16、37、42)が離脱した状態のフィンガーテーブルを示す。なお、図13において、空欄部分は離脱したノードのノードIDを示し、斜線部分はコンテンツ検索メッセージの転送に失敗した箇所を示す。 FIG. 13 shows the finger table with the nodes (13, 16, 37, 42) detached. In FIG. 13, the blank portion indicates the node ID of the node that has left, and the hatched portion indicates the location where the content search message transfer failed.
図11〜図13を参照すると、それぞれ上流のノードが切れたノード(18、48)は、離脱した右隣のノードを検索対象とし、自身のフィンガーテーブル上、iエントリの値が最も大きいノードIDのノードに対して、エラーメッセージ(IPアドレス付き)を付加したコンテンツ検索メッセージ(エラー付き検索メッセージ)を送信して検索を実施する(ステップS101)。 Referring to FIGS. 11 to 13, the nodes (18, 48) whose upstream nodes are cut off are searched for the next node to the right and the node ID having the largest i entry value in its own finger table. A content search message (search message with error) with an error message (with IP address) is transmitted to the node (2) to perform a search (step S101).
すなわち、ノード(18)は、当該メッセージをノード(52)に送信してノード(16)を検索し、また、ノード(48)は、当該メッセージをノード(16)に送信しても応答が無いため、当該メッセージをiエントリの値が次に大きいノード(2)に送信してノード(42)を検索する。 That is, the node (18) transmits the message to the node (52) to search for the node (16), and the node (48) does not respond even if the message is transmitted to the node (16). Therefore, the message is transmitted to the node (2) having the next largest i entry value to search for the node (42).
また、ステップS201において、それぞれ下流のノードが切れたノード(33、8)は、当該メッセージ待ち状態に移行する。 Further, in step S201, the nodes (33, 8) whose downstream nodes are disconnected transition to the message waiting state.
次いで、当該メッセージを受け取ったノードは、通常の検索シーケンスに従って当該メッセージを転送する(ステップS102)。 Next, the node that has received the message transfers the message according to a normal search sequence (step S102).
すなわち、ノード(52)は、ノード(18)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(16)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(16)を超えないiエントリの値が最も大きいノードIDのノード(ノード(8))に対して、コンテンツ検索メッセージを転送する。ノード(8)は、ノード(52)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(16)を超えない最大のノード(13)に対してコンテンツ検索メッセージを転送しても失敗するため、検索対象のノード(16)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。 That is, when the node (52) receives the content search message from the node (18), the maximum node that does not exceed the search target node (16) is not itself on the finger table, so that the node (52) is the optimum recipient. Therefore, the content search message is transferred to the node (node (8)) having the largest node ID value that does not exceed the node (16). Upon receiving the content search message from the node (52), the node (8) forwards the content search message to the largest node (13) that does not exceed the search target node (16) on its finger table. Therefore, the largest node that does not exceed the search target node (16) is itself, and the node itself is the optimum recipient, so that the reception of the error message is waited.
一方、ノード(2)は、ノード(48)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(42)を超えない最大のノード(37)に対してコンテンツ検索メッセージを転送すると失敗するため、ノード(42)を超えないiエントリの値が次に大きいノード(18)に対して、コンテンツ検索メッセージを転送する。ノード(18)は、ノード(2)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(42)を超えない最大のノード(37)に対してコンテンツ検索メッセージを転送すると失敗するため、ノード(42)を超えないiエントリの値が次に大きいノード(27)に対して、コンテンツ検索メッセージを転送する。ノード(27)は、ノード(18)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(42)を超えない最大のノード(37)に対してコンテンツ検索メッセージを転送すると失敗するため、ノード(42)を超えないiエントリの値が次に大きいノード(33)に対して、コンテンツ検索メッセージを転送する。ノード(33)は、ノード(27)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノード(37)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(42)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。 On the other hand, when the node (2) receives the content search message from the node (48), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (2) is the optimum receiver. However, since the transfer of the content search message to the largest node (37) that does not exceed the node (42) fails, the value of the i entry that does not exceed the node (42) becomes the next largest node (18). On the other hand, the content search message is transferred. When the node (18) receives the content search message from the node (2), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (18) is not the optimal recipient. However, if the content search message is transferred to the largest node (37) that does not exceed the node (42), it fails, so the value of the i entry that does not exceed the node (42) is the next largest node (27). Forward content search messages. When the node (27) receives the content search message from the node (18), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (27) is not the optimal recipient. However, if the content search message is transferred to the largest node (37) that does not exceed the node (42), it fails, so the value of the i entry that does not exceed the node (42) is the next largest node (33). Forward content search messages. Upon receiving the content search message from the node (27), the node (33) forwards the content search message to the largest node (37) not exceeding the search target node (42) on its finger table. Therefore, the largest node that does not exceed the node (42) is itself, and the node itself is the optimum recipient, so that it waits for reception of an error message.
次いで、エラーメッセージの受信待機状態の当該ノード(8、33)は、一定時間エラーメッセージを受信しない場合、それぞれコンテンツ検索メッセージの送信元のノードと再接続する(ステップS103)。 Next, when the error message reception standby state node (8, 33) does not receive the error message for a certain period of time, it reconnects with the source node of the content search message (step S103).
すなわち、一定時間エラーメッセージを受信しない場合、ノード(8)はノード(18)と再接続し、ノード(33)はノード(48)と再接続することによって、リングネットワークが修復する。 That is, when no error message is received for a certain period of time, the ring network is restored by reconnecting the node (8) with the node (18) and reconnecting the node (33) with the node (48).
実施例2において、第1の実施の形態によるリングネットワーク修復の1動作例をより詳細に説明する。 In Example 2, one operation example of ring network restoration according to the first embodiment will be described in more detail.
図14は、当該動作例の状態遷移を示す図である。 FIG. 14 is a diagram illustrating state transition in the operation example.
前提として、実施例1の状態に加え、ノード(18)も、リングネットワークを離脱する旨(終了メッセージ)を他のノードに対して通知することなく離脱したものとする。 As a premise, in addition to the state of the first embodiment, it is assumed that the node (18) also leaves without notifying other nodes that the ring network is to be removed (end message).
図15に、ノード(13、16、18、37、42)が離脱した状態のフィンガーテーブルを示す。なお、図15において、空欄部分は離脱したノードのノードIDを示し、斜線部分はコンテンツ検索メッセージの転送に失敗した箇所を示す。 FIG. 15 shows a finger table in a state in which the nodes (13, 16, 18, 37, 42) are detached. In FIG. 15, the blank part indicates the node ID of the detached node, and the hatched part indicates the location where the transfer of the content search message has failed.
図11、図14及び図15を参照すると、それぞれ上流のノードが切れたノード(22、48)は、離脱した右隣のノードを検索対象とし、自身のフィンガーテーブル上、iエントリの値が最も大きいノードIDのノードに対して、エラーメッセージ(IPアドレス付き)を付加したコンテンツ検索メッセージ(エラー付き検索メッセージ)を送信して検索を実施する(ステップS101)。 Referring to FIG. 11, FIG. 14 and FIG. 15, the nodes (22, 48) whose upstream nodes are disconnected are searched for the right adjacent node that has left, and the value of the i entry is the highest on its finger table. A content search message (search message with error) to which an error message (with IP address) is added is transmitted to a node with a large node ID to perform a search (step S101).
すなわち、ノード(22)は、当該メッセージをノード(56)に送信してノード(18)を検索し、また、ノード(48)は、当該メッセージをノード(16)に送信しても応答が無いため、当該メッセージをiエントリの値が次に大きいノード(2)に対して送信してノード(42)を検索する。 That is, the node (22) transmits the message to the node (56) to search for the node (18), and the node (48) does not respond even if the message is transmitted to the node (16). Therefore, the message is transmitted to the node (2) having the next largest i entry value to search for the node (42).
また、ステップS201において、それぞれ下流のノードが切れたノード(33、8)は、当該メッセージ待ち状態に移行する。 Further, in step S201, the nodes (33, 8) whose downstream nodes are disconnected transition to the message waiting state.
次いで、当該メッセージを受け取ったノードは、通常の検索シーケンスに従って当該メッセージを転送する(ステップS102)。 Next, the node that has received the message transfers the message according to a normal search sequence (step S102).
すなわち、ノード(56)は、ノード(22)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(16)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(16)を超えないiエントリの値が最も大きいノードIDのノード(ノード(8))に対して、コンテンツ検索メッセージを転送する。ノード(8)は、ノード(56)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(16)を超えない最大のノード(13)に対してコンテンツ検索メッセージを転送しても失敗するため、検索対象のノード(16)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。 That is, when the node (56) receives the content search message from the node (22), the maximum node that does not exceed the search target node (16) is not itself on the finger table, so that the node (56) is the optimal recipient. Therefore, the content search message is transferred to the node (node (8)) having the largest node ID value that does not exceed the node (16). Upon receiving the content search message from the node (56), the node (8) forwards the content search message to the largest node (13) that does not exceed the search target node (16) on its finger table. Therefore, the largest node that does not exceed the search target node (16) is itself, and the node itself is the optimum recipient, so that the reception of the error message is waited.
一方、ノード(2)は、ノード(48)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(42)を超えない最大のノード(37)に対してコンテンツ検索メッセージを転送すると失敗し、ノード(42)を超えないiエントリの値が次に大きいノード(18)に対してコンテンツ検索メッセージを転送しても失敗し、ノード(42)を超えないiエントリの値が次に大きいノード(13)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(42)を超えないiエントリの値が次に大きいノード(8)に対して、コンテンツ検索メッセージを転送する。ノード(8)は、ノード(2)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(42)を超えない最大のノード(27)に対してコンテンツ検索メッセージを転送する。ノード(27)は、ノード(8)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(42)を超えない最大のノード(37)に対してコンテンツ検索メッセージを転送すると失敗するため、ノード(42)を超えないiエントリの値が次に大きいノード(33)に対して、コンテンツ検索メッセージを転送する。ノード(33)は、ノード(27)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノード(37)に対してコンテンツ検索メッセージを転送をしても失敗するため、ノード(42)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。 On the other hand, when the node (2) receives the content search message from the node (48), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (2) is the optimum receiver. However, if the content search message is transferred to the largest node (37) that does not exceed the node (42), it fails, and the value of the i entry that does not exceed the node (42) is the next largest node (18). If the content search message is transferred to the node (13) having the next largest i-entry value that does not exceed the node (42), the content search message also fails. The content search message is transferred to the node (8) having the next largest i entry value that does not exceed. When the node (8) receives the content search message from the node (2), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (8) is not the optimal recipient. Forwards the content search message to the largest node (27) not exceeding the node (42). When the node (27) receives the content search message from the node (8), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (27) is not the optimum receiver. However, if the content search message is transferred to the largest node (37) that does not exceed the node (42), it fails, so the value of the i entry that does not exceed the node (42) is the next largest node (33). Forward content search messages. When receiving the content search message from the node (27), the node (33) transfers the content search message to the largest node (37) not exceeding the search target node (42) on its finger table. However, since the largest node that does not exceed the node (42) is itself and becomes the optimum receiver, the state waits for the reception of the error message.
次いで、エラーメッセージの受信待機状態の当該ノード(8、33)は、一定時間エラーメッセージを受信しない場合、それぞれコンテンツ検索メッセージの送信元のノードと再接続する(ステップS103)。 Next, when the error message reception standby state node (8, 33) does not receive the error message for a certain period of time, it reconnects with the source node of the content search message (step S103).
すなわち、一定時間エラーメッセージを受信しない場合、ノード(8)はノード(22)と再接続し、ノード(33)はノード(48)と再接続することによって、リングネットワークが修復する。 That is, when the error message is not received for a certain period of time, the node (8) reconnects with the node (22), and the node (33) reconnects with the node (48), thereby repairing the ring network.
実施例3において、第1の実施の形態によるリングネットワーク修復の1動作例をより詳細に説明する。 In Example 3, one operation example of ring network restoration according to the first embodiment will be described in more detail.
図16は、当該動作例の状態遷移を示す図である。 FIG. 16 is a diagram illustrating state transition in the operation example.
前提として、ノード(27、30、37、42)が、リングネットワークを離脱する旨(終了メッセージ)を他のノードに対して通知することなく離脱したものとする。 As a premise, it is assumed that the nodes (27, 30, 37, 42) have left without notifying other nodes of the fact that they have left the ring network (end message).
図17に、ノード(27、30、37、42)が離脱した状態のフィンガーテーブルを示す。なお、図17において、空欄部分は離脱したノードのノードIDを示し、斜線部分はコンテンツ検索メッセージの転送に失敗した箇所を示す。 FIG. 17 shows the finger table with the nodes (27, 30, 37, 42) detached. In FIG. 17, the blank part indicates the node ID of the detached node, and the hatched part indicates the location where the transfer of the content search message has failed.
図11、図16及び図17を参照すると、それぞれ上流のノードが切れたノード(33、48)は、離脱した右隣のノードを検索対象とし、自身のフィンガーテーブル上、iエントリの値が最も大きいノードIDのノードに対して、エラーメッセージ(IPアドレス付き)を付加したコンテンツ検索メッセージ(エラー付き検索メッセージ)を送信して検索を実施する(ステップS101)。 Referring to FIG. 11, FIG. 16, and FIG. 17, each of the nodes (33, 48) whose upstream node is cut off searches for the right adjacent node that has left, and the value of the i entry is the highest on its finger table. A content search message (search message with error) to which an error message (with IP address) is added is transmitted to a node with a large node ID to perform a search (step S101).
すなわち、ノード(33)は、当該メッセージをノード(2)に送信してノード(30)を検索し、また、ノード(48)は、当該メッセージをノード(16)に送信してノード(42)を検索する。 That is, the node (33) transmits the message to the node (2) to search for the node (30), and the node (48) transmits the message to the node (16) to transmit the node (42). Search for.
また、ステップS201において、それぞれ下流のノードが切れたノード(22、33)は、当該メッセージ待ち状態に移行する。 In step S201, the nodes (22, 33) whose downstream nodes are cut off shift to the message waiting state.
次いで、当該メッセージを受け取ったノードは、通常の検索シーケンスに従って当該メッセージを転送する(ステップS102)。 Next, the node that has received the message transfers the message according to a normal search sequence (step S102).
すなわち、ノード(2)は、ノード(33)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(30)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(30)を超えないiエントリの値が最も大きいノードIDのノード(ノード(18))に対して、コンテンツ検索メッセージを転送する。ノード(18)は、ノード(2)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(30)を超えない最大のノード(27)に対してコンテンツ検索メッセージを転送しても失敗するため、検索対象のノード(30)を超えないiエントリの値が次に大きいノード(22)に対して、コンテンツ検索メッセージを転送する。ノード(22)は、ノード(18)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(30)を超えない最大のノード(27)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(30)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。 That is, when the node (2) receives the content search message from the node (33), the maximum node that does not exceed the search target node (30) is not itself on the finger table, so that the node (2) is the optimum recipient. Therefore, the content search message is transferred to the node (node (18)) having the largest i entry value that does not exceed the node (30). Upon receiving the content search message from the node (2), the node (18) forwards the content search message to the largest node (27) that does not exceed the search target node (30) on its finger table. Therefore, the content search message is transferred to the node (22) having the next largest i entry value that does not exceed the search target node (30). Upon receiving the content search message from the node (18), the node (22) forwards the content search message to the largest node (27) that does not exceed the search target node (30) on its finger table. Therefore, the largest node that does not exceed the node (30) is itself, and itself is the optimum recipient, so that reception of an error message is waited.
一方、ノード(16)は、ノード(48)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(42)を超えない最大のノード(33)に対してコンテンツ検索メッセージを転送する。ノード(33)は、ノード(16)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノード(37)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(30)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。 On the other hand, when the node (16) receives the content search message from the node (48), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (16) is the optimum receiver. Therefore, the content search message is transferred to the largest node (33) that does not exceed the node (42). When receiving the content search message from the node (16), the node (33) transfers the content search message to the largest node (37) not exceeding the search target node (42) on its finger table. Therefore, the largest node that does not exceed the node (30) is itself, and itself is the optimum recipient, so that reception of an error message is waited.
次いで、エラーメッセージの受信待機状態の当該ノード(22、33)は、一定時間エラーメッセージを受信しない場合、それぞれコンテンツ検索メッセージの送信元のノードと再接続する(ステップS103)。 Next, when the error message reception standby node (22, 33) does not receive the error message for a certain period of time, it reconnects with the source node of the content search message (step S103).
すなわち、一定時間エラーメッセージを受信しない場合、ノード(22)はノード(33)と再接続し、ノード(33)はノード(48)と再接続することによって、リングネットワークが修復する。 That is, when no error message is received for a certain time, the node (22) reconnects with the node (33), and the node (33) reconnects with the node (48), so that the ring network is restored.
実施例4において、第1の実施の形態によるリングネットワーク修復の1動作例をより詳細に説明する。 In Example 4, one operation example of ring network restoration according to the first embodiment will be described in more detail.
図18は、当該動作例の状態遷移を示す図である。 FIG. 18 is a diagram illustrating state transition in the operation example.
前提として、ノード(2、3、16、18、27、30、37、42、52)が、リングネットワークを離脱する旨(終了メッセージ)を他のノードに対して通知することなく離脱したものとする。 It is assumed that the node (2, 3, 16, 18, 27, 30, 37, 42, 52) has left without notifying other nodes that it has left the ring network (end message). To do.
図19に、ノード(2、3、16、18、27、30、37、42、52)が離脱した状態のフィンガーテーブルを示す。なお、図19において、空欄部分は離脱したノードのノードIDを示し、斜線部分はコンテンツ検索メッセージの転送に失敗した箇所を示し、太字下線の部分はフィンガーテーブルを更新した箇所を示す。 FIG. 19 shows the finger table in a state in which the nodes (2, 3, 16, 18, 27, 30, 37, 42, 52) are detached. In FIG. 19, the blank portion indicates the node ID of the detached node, the shaded portion indicates the location where the content search message transfer failed, and the bold underline indicates the location where the finger table has been updated.
図11、図18及び図19を参照すると、それぞれ上流のノードが切れたノード(8、22、33、48)は、離脱した右隣のノードを検索対象とし、自身のフィンガーテーブル上、iエントリの値が最も大きいノードIDのノードに対して、エラーメッセージ(IPアドレス付き)を付加したコンテンツ検索メッセージ(エラー付き検索メッセージ)を送信して検索を実施する(ステップS101)。 11, 18, and 19, the nodes (8, 22, 33, and 48) whose upstream nodes are disconnected are searched for the right adjacent nodes that have left, and i entries are stored in their finger tables. A content search message (search message with error) to which an error message (with IP address) is added is transmitted to the node having the largest node ID, and the search is performed (step S101).
すなわち、ノード(8)は、自身のフィンガーテーブル上、検索対象のノード(3)を超えないノード(42、27、16)に対してコンテンツ検索メッセージを転送しても失敗するため、当該メッセージをiエントリの値が次に大きいノード(13)に送信してノード(3)を検索する。また、ノード(22)は、当該メッセージをノード(56)に送信してノード(18)を検索する。また、ノード(33)は、自身のフィンガーテーブル上、検索対象のノード(30)を超えないノード(2、52、42、37)に対してコンテンツ検索メッセージを転送しても失敗するため、検索対象のノード(30)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。また、ノード(48)は、自身のフィンガーテーブル上、検索対象のノード(42)を超えないノード(16、2)に対してコンテンツ検索メッセージを転送しても失敗するため、当該メッセージをiエントリの値が次に大きいノード(56)に送信してノード(42)を検索する。 That is, since the node (8) fails to transfer the content search message to the nodes (42, 27, 16) that do not exceed the search target node (3) on its finger table, The node (3) is searched by transmitting to the node (13) having the next largest i entry value. The node (22) transmits the message to the node (56) and searches for the node (18). In addition, since the node (33) fails to transfer the content search message to the nodes (2, 52, 42, 37) that do not exceed the search target node (30) in its own finger table, the search is failed. Since the largest node that does not exceed the target node (30) is itself and is the optimum recipient, the reception of the error message is awaited. In addition, since the node (48) fails to transfer the content search message to the nodes (16, 2) that do not exceed the search target node (42) on its finger table, the node (48) is referred to as i entry. Is sent to the next largest node (56) to search for the node (42).
また、ステップS201において、それぞれ下流のノードが切れたノード(13、22、33、61)は、当該メッセージ待ち状態に移行する。 In step S201, the nodes (13, 22, 33, 61) whose downstream nodes are cut off shift to the message waiting state.
次いで、当該メッセージを受け取ったノードは、通常の検索シーケンスに従って当該メッセージを転送する(ステップS102)。 Next, the node that has received the message transfers the message according to a normal search sequence (step S102).
すなわち、ノード(13)は、ノード(8)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(3)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(3)を超えないiエントリの値が最も大きいノードIDのノード(ノード(48))に対して、コンテンツ検索メッセージを転送する。ノード(48)は、ノード(13)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(3)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(3)を超えない最大のノード(2)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(3)を超えないiエントリの値が次に大きいノード(56)に対して、コンテンツ検索メッセージを転送する。ノード(56)は、ノード(48)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(3)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(3)を超えない最大のノード(2)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(3)を超えないiエントリの値が次に大きいノード(61)に対して、コンテンツ検索メッセージを転送する。ノード(61)は、ノード(56)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(3)を超えない最大のノード(2)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(3)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。 That is, when the node (13) receives the content search message from the node (8), the maximum node that does not exceed the search target node (3) is not itself on the finger table, so that the node (13) is the optimum receiver. Therefore, the content search message is transferred to the node (node (48)) having the largest node ID value that does not exceed node (3). When the node (48) receives the content search message from the node (13), the maximum node that does not exceed the search target node (3) is not itself because it is not the optimum recipient on its finger table. However, even if the content search message is transferred to the largest node (2) that does not exceed the node (3), it fails, so the value of the i entry that does not exceed the node (3) becomes the next largest node (56). On the other hand, the content search message is transferred. When the content search message is received from the node (48), the node (56) is not the optimum recipient because the maximum node that does not exceed the search target node (3) is not itself on the finger table. However, even if the content search message is transferred to the largest node (2) that does not exceed the node (3), it fails, so the value of the i entry that does not exceed the node (3) becomes the next largest node (61). On the other hand, the content search message is transferred. Upon receiving the content search message from the node (56), the node (61) forwards the content search message to the largest node (2) not exceeding the search target node (3) on its finger table. Therefore, the largest node that does not exceed the node (3) is itself, and the node itself is the optimum recipient, so that it waits for reception of the error message.
また、ノード(56)は、ノード(22)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(18)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(18)を超えないiエントリの値が最も大きいノードIDのノード(ノード(8))に対して、コンテンツ検索メッセージを転送する。ノード(8)は、ノード(56)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(18)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(18)を超えない最大のノード(16)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(18)を超えないiエントリの値が次に大きいノード(13)に対して、コンテンツ検索メッセージを転送する。ノード(13)は、ノード(8)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(18)を超えない最大のノード(16)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(18)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。 Further, when the node (56) receives the content search message from the node (22), the maximum node that does not exceed the search target node (18) is not itself on the finger table, so that the node (56) is the optimum recipient. Therefore, the content search message is transferred to the node (node (8)) having the largest i entry value that does not exceed the node (18). When the node (8) receives the content search message from the node (56), the maximum node that does not exceed the search target node (18) is not itself on the finger table, so that the node (8) is not the optimal recipient. However, even if the content search message is transferred to the largest node (16) that does not exceed the node (18), it fails. On the other hand, the content search message is transferred. Upon receiving the content search message from the node (8), the node (13) forwards the content search message to the largest node (16) that does not exceed the search target node (18) on its finger table. Therefore, the largest node that does not exceed the node (18) is itself, and the node itself is the optimum recipient, so that it waits for the reception of the error message.
さらに、ノード(56)は、ノード(22)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(42)を超えない最大のノード(27)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(42)を超えないiエントリの値が次に大きいノードIDのノード(ノード(8))に対して、コンテンツ検索メッセージを転送する。ノード(8)は、ノード(56)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(42)を超えない最大のノード(27)に対してコンテンツ検索メッセージを転送しても失敗し、ノード(42)を超えないiエントリの値が次に大きいノード(16)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(42)を超えないiエントリの値が次に大きいノード(13)に対して、コンテンツ検索メッセージを転送する。ノード(13)は、ノード(8)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノード(30)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(42)を超えないiエントリの値が次に大きいノード(22)に対して、コンテンツ検索メッセージを転送する。ノード(22)は、ノード(13)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないが、ノード(42)を超えない最大のノード(30)に対してコンテンツ検索メッセージを転送しても失敗し、ノード(42)を超えないiエントリの値が次に大きいノード(27)に対してコンテンツ検索メッセージを転送しても失敗するため、ノード(42)を超えない最大のノードが自身であり自身が最適受信者となることから、エラーメッセージの受信を待機する状態となる。 Furthermore, when the node (56) receives the content search message from the node (22), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (56) is the optimum recipient. However, even if the content search message is transferred to the largest node (27) that does not exceed the node (42), it fails, so the value of the i entry that does not exceed the node (42) is the next largest node ID. The content search message is transferred to the node (node (8)). When the node (8) receives the content search message from the node (56), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (8) is not the optimal recipient. However, even if the content search message is transferred to the largest node (27) that does not exceed the node (42), it fails, and the value of the i entry that does not exceed the node (42) is the next largest node (16). Therefore, the content search message is transferred to the node (13) having the next largest i entry value that does not exceed the node (42). When receiving the content search message from the node (8), the node (13) forwards the content search message to the largest node (30) not exceeding the search target node (42) on its finger table. Therefore, the content search message is transferred to the node (22) having the next largest i entry value that does not exceed the node (42). When the content search message is received from the node (13), the node (22) is not the optimum recipient because the maximum node that does not exceed the search target node (42) is not itself on the finger table. However, even if the content search message is transferred to the largest node (30) that does not exceed the node (42), it fails, and the value of the i entry that does not exceed the node (42) is the next largest node (27). Thus, even if the content search message is transferred, it fails, so that the largest node that does not exceed the node (42) is itself and is the optimum recipient, so that it waits to receive an error message.
次いで、エラーメッセージの受信待機状態の当該ノード(61、13、33、22)は、一定時間エラーメッセージを受信しない場合、それぞれコンテンツ検索メッセージの送信元のノードと再接続する(ステップS103)。 Next, when the error message reception standby state node (61, 13, 33, 22) does not receive the error message for a certain period of time, it reconnects with the source node of the content search message (step S103).
すなわち、一定時間エラーメッセージを受信しない場合、ノード(61)はノード(8)と再接続し、ノード(13)はノード(22)と再接続し、ノード(22)はノード(48と再接続することによって、リングネットワークが修復するが、ノード(33)はいずれのノードからもコンテンツ検索メッセージが送信されないためダウンする。 That is, if no error message is received for a certain time, the node (61) reconnects with the node (8), the node (13) reconnects with the node (22), and the node (22) reconnects with the node (48). As a result, the ring network is restored, but the node (33) goes down because no content search message is transmitted from any node.
このため、実施例4の通信ネットワークは、ノード(8、13、22、48、56、61)によってリングネットワークを再構成する。 For this reason, the communication network of Example 4 reconfigures a ring network by the nodes (8, 13, 22, 48, 56, 61).
なお、ノード(48)とノード(56)の間は、ノード(52)がひとつ落ちた状態で、通常シーケンスによって接続を維持する(図6参照)。 The connection between the node (48) and the node (56) is maintained by a normal sequence with one node (52) dropped (see FIG. 6).
実施例5において、第1の実施の形態によるリングネットワーク修復の1動作例をより詳細に説明する。 In Example 5, one operation example of ring network restoration according to the first embodiment will be described in more detail.
図20は、当該動作例の状態遷移を示す図である。 FIG. 20 is a diagram illustrating state transition in the operation example.
前提として、ノード(3、8、13、18、27、30、37、42、52、56、61)が、リングネットワークを離脱する旨(終了メッセージ)を他のノードに対して通知することなく離脱したものとする。 As a premise, the node (3, 8, 13, 18, 27, 30, 37, 42, 52, 56, 61) does not notify other nodes that it has left the ring network (end message). It is assumed that it has left.
図21に、ノード(3、8、13、18、27、30、37、42、52、56、61)が離脱した状態のフィンガーテーブルを示す。なお、図21において、空欄部分は離脱したノードのノードIDを示し、斜線部分はコンテンツ検索メッセージの転送に失敗した箇所を示し、太字下線の部分はフィンガーテーブルを更新した箇所を示す。 FIG. 21 shows the finger table in a state where the nodes (3, 8, 13, 18, 27, 30, 37, 42, 52, 56, 61) are detached. In FIG. 21, the blank portion indicates the node ID of the detached node, the shaded portion indicates the location where the content search message transfer failed, and the bold underline indicates the location where the finger table has been updated.
図11、図20及び図21を参照すると、それぞれ上流のノードが切れたノード(2、16、33、48)は、離脱した右隣のノードを検索対象とし、自身のフィンガーテーブル上、iエントリの値が最も大きいノードIDのノードに対して、エラーメッセージ(IPアドレス付き)を付加したコンテンツ検索メッセージ(エラー付き検索メッセージ)を送信して検索を実施する(ステップS101)。 Referring to FIG. 11, FIG. 20, and FIG. 21, the nodes (2, 16, 33, and 48) whose upstream nodes are cut off are searched for the right adjacent node that has left, and i entries are entered in its own finger table. A content search message (search message with error) to which an error message (with IP address) is added is transmitted to the node having the largest node ID, and the search is performed (step S101).
すなわち、ノード(16)は、自身のフィンガーテーブル上、検索対象のノード(13)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(13)を超えないiエントリの値が最も大きいノードIDのノード(ノード(48))に対して当該メッセージを送信してノード(13)を検索する。また、ノード(33)は、自身のフィンガーテーブル上、検索対象のノード(30)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(30)を超えないiエントリの値が最も大きいノードIDのノード(ノード(2))に対して当該メッセージを送信してノード(30)を検索する。また、ノード(48)は、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(42)を超えないiエントリの値が最も大きいノードIDのノード(ノード(16))に対して当該メッセージを送信してノード(42)を検索する。また、ノード(2)は、自身のフィンガーテーブル上、検索対象のノード(61)を超えないノード(37、18、13、8、3)に対してコンテンツ検索メッセージを転送しても失敗するため、検索対象のノード(61)を超えない最大のノードが自身であり自身が最適受信者となるため、エラーメッセージの受信を待機する状態となる。 That is, the node (16) does not exceed the node (13) because the node (16) is not the optimum recipient because the maximum node that does not exceed the search target node (13) is not itself on the finger table. The message is transmitted to the node having the largest entry ID (node (48)) and the node (13) is searched. Also, the node (33) does not exceed the node (30) because the node (33) is not the optimum receiver because the largest node that does not exceed the search target node (30) is not itself on the finger table. The message is transmitted to the node having the largest entry ID (node (2)) to search for the node (30). The node (48) does not exceed the node (42) because the node (48) is not the optimum receiver because the maximum node that does not exceed the search target node (42) is not itself on the finger table. The message is transmitted to the node having the largest entry ID (node (16)) and the node (42) is searched. Further, node (2) fails even if it forwards the content search message to nodes (37, 18, 13, 8, 3) that do not exceed the search target node (61) on its finger table. Since the largest node that does not exceed the search target node (61) is itself, and the node itself is the optimum recipient, the reception of the error message is awaited.
また、ステップS201において、それぞれ下流のノードが切れたノード(2、22、33、48)は、当該メッセージ待ち状態に移行する。 In step S201, the nodes (2, 22, 33, 48) whose downstream nodes are cut off shift to the message waiting state.
次いで、当該メッセージを受け取ったノードは、通常の検索シーケンスに従って当該メッセージを転送する(ステップS102)。 Next, the node that has received the message transfers the message according to a normal search sequence (step S102).
すなわち、ノード(48)は、ノード(16)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(13)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(13)を超えないiエントリの値が最も大きいノードIDのノード(ノード(2))に対して、コンテンツ検索メッセージを転送する。ノード(2)は、ノード(48)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(13)を超えない最大のノード(8)に対してコンテンツ検索メッセージを転送しても失敗し、ノード(13)を超えないiエントリの値が次に大きいノード(3)に対してコンテンツ検索メッセージを転送しても失敗し、ノード(13)を超えない最大のノードが自身であり自身が最適受信者となることから、エラーメッセージの受信を待機する状態となる。 That is, when the node (48) receives the content search message from the node (16), the maximum node that does not exceed the search target node (13) is not itself on the finger table, so that the node (48) is the optimum receiver. Therefore, the content search message is transferred to the node (node (2)) having the largest i entry value that does not exceed the node (13). Upon receiving the content search message from the node (48), the node (2) forwards the content search message to the largest node (8) not exceeding the search target node (13) on its finger table. Fails, even if the content search message is transferred to the node (3) having the next largest i-entry value that does not exceed the node (13), the maximum node that does not exceed the node (13) is unsuccessful. Since there is itself an optimum recipient, it waits for the receipt of an error message.
また、ノード(16)は、ノード(48)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(42)を超えないiエントリの値が最も大きいノードIDのノード(ノード(33))に対して、コンテンツ検索メッセージを転送する。ノード(33)は、ノード(16)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(42)を超えない最大のノード(37)に対してコンテンツ検索メッセージを転送しても失敗し、ノード(42)を超えない最大のノードが自身であり自身が最適受信者となることから、エラーメッセージの受信を待機する状態となる。 Further, when the node (16) receives the content search message from the node (48), the maximum node that does not exceed the search target node (42) is not itself on the finger table, so that the node (16) is the optimum receiver. Therefore, the content search message is transferred to the node (node (33)) having the largest node ID value that does not exceed the node (42). When receiving the content search message from the node (16), the node (33) transfers the content search message to the largest node (37) not exceeding the search target node (42) on its finger table. And the largest node that does not exceed the node (42) is itself and is the optimum recipient, and thus waits to receive an error message.
次いで、エラーメッセージの受信待機状態の当該ノード(2、33)は、一定時間エラーメッセージを受信しない場合、それぞれコンテンツ検索メッセージの送信元のノードと再接続する(ステップS103)。 Next, when the error message reception standby state (2, 33) does not receive the error message for a certain period of time, it reconnects with the node that sent the content search message (step S103).
すなわち、一定時間エラーメッセージを受信しない場合、ノード(2)がノード(16)と再接続し、ノード(33)がノード(48)と再接続することによって、リングネットワークが修復する。 That is, when no error message is received for a certain time, the node (2) reconnects with the node (16), and the node (33) reconnects with the node (48), so that the ring network is restored.
ここで、最適受信者のノード(2)は、ノード(16)を送信元とするコンテンツ検索メッセージと、ノード(33)を送信元とするコンテンツ検索メッセージと受信するが、ノードIDの値がより小さいノード(16)を送信元とするコンテンツ検索メッセージを優先し、ノード(33)を送信元とするコンテンツ検索メッセージを破棄するため、ノード(16)と再接続している。 Here, the optimum recipient node (2) receives the content search message with the node (16) as the transmission source and the content search message with the node (33) as the transmission source, but the value of the node ID is more In order to prioritize the content search message originating from the small node (16) and discarding the content search message originating from the node (33), the node (16) is reconnected.
なお、ノード(16)とノード(22)の間は、ノード(18)がひとつ落ちた状態で、通常シーケンスによって接続を維持する(図6参照)。 The connection between the node (16) and the node (22) is maintained by a normal sequence with one node (18) dropped (see FIG. 6).
実施例6において、第1の実施の形態によるリングネットワーク修復の1動作例をより詳細に説明する。 In Example 6, one operation example of ring network restoration according to the first embodiment will be described in more detail.
図22は、当該動作例の状態遷移を示す図である。 FIG. 22 is a diagram illustrating state transition in the operation example.
前提として、実施例5と比較し、リングネットワーク上に元々ノード(3、8、13、18、37、42)が参加しておらず、ノード(27、30、52、56、61)が、リングネットワークを離脱する旨(終了メッセージ)を他のノードに対して通知することなく離脱したものとする。 As a premise, compared with Example 5, the nodes (3, 8, 13, 18, 37, 42) are not originally joined on the ring network, and the nodes (27, 30, 52, 56, 61) are It is assumed that the node has left without notifying other nodes that the ring network is to be disconnected (end message).
図23に、リングネットワーク上に元々ノード(3、8、13、18、37、42)が参加しておらず、ノード(27、30、52、56、61)が離脱した状態のフィンガーテーブルを示す。なお、図23において、ドット部分はリングネットワーク上に元々参加していないノードのノードIDを示し、空欄部分は離脱したノードのノードIDを示し、斜線部分はコンテンツ検索メッセージの転送に失敗した箇所を示し、太字下線の部分はフィンガーテーブルを更新した箇所を示す。 FIG. 23 shows a finger table in a state where nodes (3, 8, 13, 18, 37, 42) are not originally joined on the ring network and nodes (27, 30, 52, 56, 61) have left. Show. In FIG. 23, the dot portion indicates the node ID of a node that does not originally participate in the ring network, the blank portion indicates the node ID of the node that has left, and the shaded portion indicates the location where the content search message transfer failed. The bold underlined portion indicates the location where the finger table is updated.
図11、図22及び図23を参照すると、それぞれ上流のノードが切れたノード(2、33)は、離脱した右隣のノードを検索対象とし、自身のフィンガーテーブル上、iエントリの値が最も大きいノードIDのノードに対して、エラーメッセージ(IPアドレス付き)を付加したコンテンツ検索メッセージ(エラー付き検索メッセージ)を送信して検索を実施する(ステップS101)。 Referring to FIG. 11, FIG. 22, and FIG. 23, each of the nodes (2, 33) whose upstream node is cut off searches for the right adjacent node that has left, and the value of the i entry is the highest on its finger table. A content search message (search message with error) to which an error message (with IP address) is added is transmitted to a node with a large node ID to perform a search (step S101).
すなわち、ノード(2)は、自身のフィンガーテーブル上、検索対象のノード(61)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(61)を超えないiエントリの値が最も大きいノードIDのノード(ノード(16)=Sノード)に対して当該メッセージを送信してノード(61)を検索する。また、ノード(33)は、自身のフィンガーテーブル上、検索対象のノード(30)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(30)を超えないiエントリの値が最も大きいノードIDのノード(ノード(2))に対して当該メッセージを送信してノード(30)を検索する。 That is, since the maximum node that does not exceed the search target node (61) is not itself, the node (2) does not exceed the node (61) because the maximum node that does not exceed the search target node (61) is not itself. The message is transmitted to the node having the largest entry value (node (16) = S node) and the node (61) is searched. Also, the node (33) does not exceed the node (30) because the node (33) is not the optimum receiver because the largest node that does not exceed the search target node (30) is not itself on the finger table. The message is transmitted to the node having the largest entry ID (node (2)) to search for the node (30).
次いで、当該メッセージを受け取ったノードは、通常の検索シーケンスに従って当該メッセージを転送する(ステップS102)。 Next, the node that has received the message transfers the message according to a normal search sequence (step S102).
すなわち、ノード(16)は、ノード(2)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(61)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(61)を超えないiエントリの値が最も大きいノードIDのノード(ノード(48))に対して、コンテンツ検索メッセージを転送する。ノード(48)は、ノード(16)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(61)を超えない最大のノード(52)に対してコンテンツ検索メッセージを転送しても失敗し、ノード(61)を超えない最大のノードが自身であり自身が最適受信者となることから、エラーメッセージの受信を待機する状態となる。 That is, when the node (16) receives the content search message from the node (2), the maximum node that does not exceed the search target node (61) is not itself on the finger table, so that the node (16) is the optimum receiver. Therefore, the content search message is transferred to the node (node (48)) having the largest i entry value that does not exceed the node (61). Upon receiving the content search message from the node (16), the node (48) forwards the content search message to the largest node (52) not exceeding the search target node (61) on its finger table. And the largest node that does not exceed the node (61) is itself and is the optimum recipient, so that it waits for reception of an error message.
また、ノード(2)は、ノード(33)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(30)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(30)を超えないiエントリの値が最も大きいノードIDのノード(ノード(16)=Sノード)に対して当該メッセージを送信する。ノード(16)は、ノード(2)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(30)を超えない最大のノードが自身ではないことから自身が最適受信者ではないため、ノード(30)を超えないiエントリの値が最も大きいノードIDのノード(ノード(22))に対して、コンテンツ検索メッセージを転送する。ノード(22)は、ノード(16)からコンテンツ検索メッセージを受信すると、自身のフィンガーテーブル上、検索対象のノード(30)を超えない最大のノードが自身であり自身が最適受信者となることから、エラーメッセージの受信を待機する状態となる。 In addition, when the node (2) receives the content search message from the node (33), the maximum node that does not exceed the search target node (30) is not itself on the finger table. Therefore, the message is transmitted to the node having the largest node ID (node (16) = S node) that does not exceed the node (30). When receiving the content search message from the node (2), the node (16) is not the optimum recipient because the maximum node that does not exceed the search target node (30) is not itself on the finger table. Therefore, the content search message is transferred to the node (node (22)) having the largest node ID value that does not exceed the node (30). When the node (22) receives the content search message from the node (16), the maximum node that does not exceed the search target node (30) is itself, and the node (22) is the optimum receiver. Then, it waits for reception of an error message.
次いで、エラーメッセージの受信待機状態の当該ノード(48、22)は、一定時間エラーメッセージを受信しない場合、それぞれコンテンツ検索メッセージの送信元のノードと再接続する(ステップS103)。 Next, when the node (48, 22) in the standby state for receiving the error message does not receive the error message for a certain period of time, it reconnects with the source node of the content search message (step S103).
すなわち、一定時間エラーメッセージを受信しない場合、ノード(48)がノード(2)と再接続し、ノード(22)がノード(33)と再接続することによって、リングネットワークが修復する。 That is, when the error message is not received for a certain time, the node (48) reconnects with the node (2), and the node (22) reconnects with the node (33), so that the ring network is restored.
実施例7において、第1の実施の形態によるリングネットワークにノードを追加する際の1動作例を詳細に説明する。 In Example 7, one operation example when adding a node to the ring network according to the first embodiment will be described in detail.
図24は、実施例7におけるリングネットワークの初期構成を示す図である。 FIG. 24 is a diagram illustrating an initial configuration of a ring network according to the seventh embodiment.
図24を参照すると、前提として、ノード(3、10、14、29、33、48)が、リングネットワークに参加している。 Referring to FIG. 24, as a premise, nodes (3, 10, 14, 29, 33, 48) are participating in the ring network.
図25は、実施例7による各ノードが有するフィンガーテーブルデータベース7をまとめて示した図である。
FIG. 25 is a diagram collectively showing the
すなわち、図25を参照すると、各ノードについて、各ノードの前後のノードのノードID及びIPアドレスと、iエントリ毎のノードID及びIPアドレスが示されている。 That is, referring to FIG. 25, for each node, node IDs and IP addresses of nodes before and after each node, and node IDs and IP addresses for each i entry are shown.
ここで、ブートストラップノードのノードIDをノード(3)として、ノード(40)をリングネットワークに追加した際の動作を説明する。 Here, the operation when the node ID of the bootstrap node is the node (3) and the node (40) is added to the ring network will be described.
図26は、実施例7によるノードを追加した際の動作を示すシーケンス図であり、図27及び図28は、ノードを追加した際の概略を説明する図である。 FIG. 26 is a sequence diagram illustrating an operation when a node is added according to the seventh embodiment, and FIGS. 27 and 28 are diagrams illustrating an outline when a node is added.
ステップS201・FINDROUTE:ノードID40がノードID3に対してノードID40のノードID及びIPアドレスを通知する。
Step S201 FINDEROUTE: The
ステップS202・:ノードID3がノードID40に対して応答する。
Step S202: The
ステップS203・TESTRANGE:ノードID3が、ノードID3のフィンガーテーブルに基づいて決定した宛先によって、ノードID29に対してノードID40のSノードの情報を要求する。
Step S203 TESTRANGE: The
ステップS204・NOTINRANGE:ノードID29が、ノードID29のフィンガーテーブルに基づいて決定したノードID33のIPアドレスを、ノードID3に対して通知する。
Step S204 / NOTINRANGE: The
ステップS205・TESTRANGE:ノードID3が、ノードID33に対してノードID40のSノードの情報を要求する。
Step S205 TESTRANGE: The
ステップS206・INRANGE:ノードID33が、ノードID33のフィンガーテーブルに基づいて決定したノードID48のIPアドレスを、ノードID3に対して通知する。
Step S206 · INRANGE: The
ステップS207・:ノードID3が、ノードID48のIPアドレスを、ノードID40に対して通知する。
Step S207: The
ステップS208・:ノードID40がノードID3に対して応答する。
Step S208: The
ステップS209・NOTIFY:ノードID40が、ノードID40のIPアドレスを、ノードID48に対して通知する。
Step S209 / NOTIFY: The
ステップS210・:ノードID48が、ノードID48のデータを、ノードID40に対して通知する。
Step S210: The
ステップS211・NOTIFY:ノードID40が、ノードID40のIPアドレスを、ノードID33に対して通知する。
Step S211: NOTIFY: The
ステップS212・:ノードID33が、ノードID33のデータを、ノードID40に対して通知する。
Step S212: The
このように、リングネットワークに新たに参加するノードID40は、隣接ノードのデータ全てを通知してもらう。なお、隣接ノードのみ保証される。
As described above, the
ノード(40)が新たに参加することで、既に参加しているノードは隣のノードとのリンクが切れる場合があるが、上記動作によって、ネットワークを修復できる。 When a node (40) newly joins, a node that has already joined may break a link with an adjacent node, but the network can be repaired by the above operation.
図29に、上記動作終了後のノードID40、ノードID40に隣接するノードID33及びノードID48のフィンガーテーブルを示す。太字下線の部分が更新された箇所である。
FIG. 29 shows a finger table of the
図30に、上記動作終了後のノードID40、ノードID40に隣接するノードID33及びノードID48のより詳細なデータを示す。
FIG. 30 shows more detailed data of the
図30に示すように、各ノードは自分自身のノード情報の他にPノード及びSノードのノード情報を持つ。 As shown in FIG. 30, each node has node information of P node and S node in addition to its own node information.
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。 Although the present invention has been described with reference to the preferred embodiments, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea. .
100:ノード
1:送受信部1
2:コンテンツノード機能部2
21:DHT参加機能部
22:DHT検索機能部
23:DHT管理部
3:コンテンツノード生成機能部3
4:コンテンツノード削除機能部4
5:コンテンツノード検索機能部5
6:コンテンツデータベース6
7:フィンガーテーブルデータベース7
8:通信システム用プログラム8
1001:CPU
1002:主記憶部
1003:通信制御部
1004:提示部
1005:入力部
1006:インタフェース部
1007:補助記憶部
1008:システムバス
2000:インターネット
100: Node 1: Transmission /
2: Content
21: DHT participation function unit 22: DHT search function unit 23: DHT management unit 3: Content node
4: Content node
5: Content node
6:
7:
8:
1001: CPU
1002: Main storage unit 1003: Communication control unit 1004: Presentation unit 1005: Input unit 1006: Interface unit 1007: Auxiliary storage unit 1008: System bus 2000: Internet
Claims (40)
前記ノードが、
自ノードが保持する一又は複数のコンテンツごとに生成されるコンテンツノード機能提供手段を備え、
前記コンテンツノード機能提供手段が、各コンテンツノード機能提供手段により形成される参加型のネットワークリングに参加する
ことを特徴とする通信システム。 A P2P type network ring communication system composed of a plurality of nodes,
The node is
A content node function providing means generated for each one or a plurality of contents held by the own node ;
A communication system, wherein the content node function providing means participates in a participation type network ring formed by each content node function providing means .
離脱した前記コンテンツノード機能提供手段のさらに隣に位置する、前記ネットワークリングをコンテンツオリエンテッドに構成する他のコンテンツノード機能提供手段を検索し、
検索した当該コンテンツノード機能提供手段との間で通信接続を実行することにより前記ネットワークリングを修復することを特徴とする請求項1に記載の通信システム。 The content node function providing means for the content node function providing means detects that it has detached from the network ring adjacent,
Further located next to breakaway the content node function providing unit searches other content nodes function providing means for configuring the network ring in the content-oriented,
The communication system according to claim 1, wherein the network ring is repaired by executing a communication connection with the searched content node function providing means .
隣接の前記コンテンツノード機能提供手段が前記ネットワークリングから離脱したことを検出した前記コンテンツノード機能提供手段は、
離脱した前記隣の連続する複数のコンテンツノード機能提供手段のさらに隣に位置する、前記ネットワークリングをコンテンツオリエンテッドに構成する他のコンテンツノード機能提供手段を検索し、
検索した当該コンテンツノード機能提供手段との間で通信接続を実行することにより前記ネットワークリングを修復することを特徴とする請求項1又は請求項2に記載の通信システム。 When a plurality of the content node function providing means located adjacent to each other are separated from the network ring,
The content node function providing means for the content node function providing means adjacent detects that it has detached from the network ring,
Further located next to a plurality of content nodes function providing means for continuous withdrawal and said next searches other content nodes function providing means for configuring the network ring in the content-oriented,
3. The communication system according to claim 1, wherein the network ring is restored by executing a communication connection with the retrieved content node function providing unit .
前記ネットワークによって接続された他の前記ノード又は前記コンテンツノード機能提供手段と情報を送受信する送受信手段と、
1又は複数のコンテンツを保持するコンテンツデータベースと、
前記コンテンツノード機能提供手段に付与された一意の識別情報に基づいて、前記コンテンツノード機能提供手段が担当するコンテンツの検索を要求するコンテンツ検索リクエストを前記コンテンツノード機能提供手段に対して送信するコンテンツノード検索手段とを備えることを特徴とする請求項1から請求項3のいずれか1項に記載の通信システム。 The node is
Transmitting / receiving means for transmitting / receiving information to / from other nodes connected by the network or the content node function providing means ;
A content database holding one or more content;
A content node that transmits to the content node function providing unit a content search request that requests a search for the content that the content node function providing unit is in charge of based on the unique identification information given to the content node function providing unit communication system according to any one of claims 1 to 3, characterized in Rukoto a search means.
前記一意の識別情報と、当該一意の識別情報を付与されたコンテンツノード機能提供手段に対応するコンテンツを保持する前記ノードのIPアドレスと対応付けて記憶するフィンガーテーブルを有し、
前記コンテンツノード検索手段は、
前記フィンガーテーブルの前記一意の識別情報及び前記IPアドレスに基づいて前記コンテンツ検索リクエストを生成することを特徴とする請求項4に記載の通信システム。 The node is
A finger table that stores the unique identification information in association with the IP address of the node that holds the content corresponding to the content node function providing means to which the unique identification information is assigned;
The content node search means includes:
The communication system according to claim 4, wherein the content search request is generated based on the unique identification information and the IP address of the finger table.
自ノード内に複数の前記フィンガーテーブルが存在する場合、各前記フィンガーテーブルを関連付けて保存することを特徴とする請求項4又は請求項5に記載の通信システム。 The node is
The communication system according to claim 4 or 5, wherein when there are a plurality of finger tables in the own node, the finger tables are associated with each other and stored.
他の前記コンテンツノード機能提供手段との間で前記フィンガーテーブルの情報をやり取りし、前記フィンガーテーブルを更新することを特徴とする請求項5又は請求項6に記載の通信システム。 The content node function providing means includes:
The communication system according to claim 5 or 6, wherein information of the finger table is exchanged with the other content node function providing means, and the finger table is updated.
前記ネットワーク上に参加するためのDHT参加メッセージを生成し、
前記送受信手段は、
前記DHT参加メッセージ、前記コンテンツ検索メッセージ及びキープアライブメッセージを、当該メッセージで示された送信先に対して送信することを特徴とする請求項4から請求項8のいずれか1項に記載の通信システム。 The content node function providing means includes:
It generates a DHT join message for participating on the previous SL network,
The transmitting / receiving means includes
The communication system according to any one of claims 4 to 8, wherein the DHT participation message, the content search message, and the keep-alive message are transmitted to a transmission destination indicated by the message. .
他の前記ノード又は他の前記コンテンツノード機能提供手段からの前記DHT参加メッセージ、コンテンツ検索メッセージもしくはキープアライブメッセージを、当該メッセージで示された他の前記コンテンツノード機能提供手段に対して送信することを特徴とする請求項9に記載の通信システム。 The transmitting / receiving means includes
Other of the node or other of the DHT join message from the content node function providing unit, a content retrieval message or keep-alive message, to send to the other the content node function providing means shown in the message The communication system according to claim 9, wherein the communication system is characterized.
前記コンテンツデータベースに登録されているコンテンツ1つに対し1つ生成され、
前記コンテンツノード機能提供手段を前記ネットワークリング上に登録する機能を提供するDHT参加機能提供手段と、
所定のアルゴリズムに従って決めた前記DHT参加メッセージ、前記コンテンツ検索メッセージ及びキープアライブメッセージの送信先を、前記コンテンツ検索メッセージに記載して発信するDHT検索手段と、
他の前記コンテンツノード機能提供手段とキープアライブメッセージを送受信し合い、前記ネットワークリングを維持する機能を持つDHT管理手段とを有することを特徴とする請求項9又は請求項10に記載の通信システム。 The content node function providing means includes:
One is generated for each content registered in the content database,
DHT participation function providing means for providing a function of registering the content node function providing means on the network ring;
DHT search means for transmitting the destination of the DHT participation message, the content search message, and the keep-alive message determined according to a predetermined algorithm described in the content search message;
11. The communication system according to claim 9, further comprising: a DHT management unit having a function of maintaining a network ring by transmitting and receiving keep-alive messages to / from another content node function providing unit .
他のコンテンツノード機能提供手段からDHT参加メッセージを受信した場合に、前記DHT参加機能提供手段を機能させ、
前記コンテンツノード検索手段から前記コンテンツ検索リクエストを受信した場合、及び、他のコンテンツノード機能提供手段から前記コンテンツ検索メッセージを受信した場合に、前記DHT検索手段を機能させることを特徴とする請求項11に記載の通信システム。 The content node function providing means includes:
When the DHT participation message is received from another content node function providing unit , the DHT participation function providing unit is caused to function,
12. The DHT search unit is caused to function when the content search request is received from the content node search unit and when the content search message is received from another content node function providing unit. The communication system according to 1.
他の前記コンテンツノード機能提供手段に対し、前記DHT参加メッセージを送信することによって、担当するコンテンツの前記コンテンツノード機能提供手段を前記ネットワークリング上に登録する機能を有することを特徴とする請求項11又は請求項12に記載の通信システム。 The DHT participation function providing means is:
12. The function of registering the content node function providing unit of the content in charge on the network ring by transmitting the DHT participation message to the other content node function providing unit. Or the communication system of Claim 12.
前記コンテンツノード検索手段からのコンテンツノード検索リクエストを受信すると、自コンテンツノード機能提供手段に関する前記フィンガーテーブル以外の同じノード内に存在する他の前記コンテンツノード機能提供手段に関するフィンガーテーブルも参照した上で、前記コンテンツ検索メッセージに記載する前記メッセージの送信先を所定のアルゴリズムに従って決めることを特徴とする請求項11から請求項13のいずれか1項に記載の通信システム。 The DHT search means includes:
Upon receiving the content node search request from the content node search means , after referring to the finger table related to the other content node function providing means existing in the same node other than the finger table related to the self content node function providing means , The communication system according to any one of claims 11 to 13, wherein a transmission destination of the message described in the content search message is determined according to a predetermined algorithm.
他の前記コンテンツノード機能提供手段からの前記コンテンツ検索メッセージを受信すると、自コンテンツノード機能提供手段に関する前記フィンガーテーブル以外の同じノード内に存在する他のコンテンツノード機能提供手段に関するフィンガーテーブルも参照した上で、前記コンテンツ検索メッセージに記載する前記メッセージの送信先を所定のアルゴリズムに従って決めることを特徴とする請求項11から請求項14のいずれか1項に記載の通信システム。 The DHT search means includes:
When the content search message from the other content node function providing means is received, the finger table related to other content node function providing means existing in the same node other than the finger table related to the self content node function providing means is also referred to. The communication system according to claim 11, wherein a destination of the message described in the content search message is determined according to a predetermined algorithm.
他の前記コンテンツノード機能提供手段と、互いに自コンテンツノード機能提供手段に関する前記フィンガーテーブルの情報を含むキープアライブメッセージを送受信しあい、フィンガーテーブルの情報を更新し、前記リングを維持することを特徴とする請求項11から請求項15のいずれか1項に記載の通信システム。 DHT management means
And other of the content node function providing means, mutually send and receive keepalive messages containing information of the finger table about its own content node function providing means together, and updates the information of the finger table, and maintains the ring The communication system according to any one of claims 11 to 15.
前記キープアライブメッセージの送受信を定期的に実施し、前記キープアライブメッセージを送信後、一定時間返信がなく、キープアライブメッセージを再送しても返信がない場合、
そのコンテンツノード機能提供手段は前記ネットワークリングを離脱したと判断することによって、他の前記コンテンツノード機能提供手段の離脱を検出することを特徴とする請求項16に記載の通信システム。 DHT management means
When sending and receiving the keep alive message periodically, after sending the keep alive message, there is no reply for a certain period of time, and there is no reply even if the keep alive message is resent,
Communication system according to claim 16, by determining that the content node function providing means has left the network ring, and detecting a disengagement of the other of said content nodes function providing unit.
ある前記コンテンツノード機能提供手段が離脱したことを検出した場合であって、かつ離脱した前記コンテンツノード機能提供手段が自コンテンツノード機能提供手段から見て下流であった場合、
離脱した前記コンテンツノード機能提供手段から見てさらに下流のノードから送信された、離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションのついたコンテンツ検索メッセージを一定時間待つことを特徴とする請求項17に記載の通信システム。 DHT management means
When it is detected that a certain content node function providing means has left, and the detached content node function providing means is downstream as viewed from its own content node function providing means ,
Sent further from the downstream node when viewed from the breakaway the content node function providing unit, a network ring repair options marked with contents search message for searching the content node function providing unit that has left, characterized in that waiting a predetermined time The communication system according to claim 17.
ある前記コンテンツノード機能提供手段が離脱したことを検出した場合、かつ離脱した前記コンテンツノード機能提供手段が自コンテンツノード機能提供手段から見て上流であった場合、
離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションを付けたコンテンツ検索メッセージをDHT検索手段を用いて送信することで、離脱した前記コンテンツノード機能提供手段から見てさらに上流に存在する前記コンテンツノード機能提供手段と通信し前記ネットワークリングを修復することを特徴とする請求項17又は請求項18に記載の通信システム。 DHT management means
If there is the content node function providing means is detected that has left, and when leaving the said content node function providing means is an upstream when viewed from the own content node function providing means,
By transmitting a content search message with a network ring repair option for searching for the content node function providing means that has left the network using the DHT search means, the content node function providing means that exists further upstream as viewed from the content node function providing means that has left 19. The communication system according to claim 17, wherein the network ring is repaired by communicating with a content node function providing unit .
離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションのついたコンテンツ検索メッセージを待っている場合、
離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションのついたコンテンツ検索メッセージを送信してきた前記コンテンツノード機能提供手段とキープアライブメッセージを送受信しあうことで前記ネットワークリングの修復を完了することを特徴とする請求項18に記載の通信システム。 DHT management means
When waiting for a content search message with a network ring repair option to search for the content node function providing means that has left,
Completing the repair of the network ring by transmitting / receiving keep-alive messages to / from the content node function providing means that has transmitted the content search message with the network ring repair option for searching the content node function providing means that has left the network. The communication system according to claim 18.
離脱した前記コンテンツノード機能提供手段を検索するリング修復オプションのついたコンテンツ検索メッセージを待ち、離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションを付けたコンテンツ検索メッセージが一定時間経過後も届かない場合、
前記フィンガーテーブルデータベースを参照し、自コンテンツノード機能提供手段に付与された前記識別情報よりも大きくかつ、最も近い前記識別情報を持つ前記コンテンツノード機能提供手段から順に接続を試み、
接続が成功した場合は当該コンテンツノード機能提供手段と前記ネットワークリングを修復し、接続できなかった場合は再度前記フィンガーテーブルデータベースを参照し、接続可能な前記コンテンツノード機能提供手段が見つかるまで上記動作を繰り返すことを特徴とする請求項18に記載の通信システム。 DHT management means
Waiting for a content search message with a ring repair option to search for the content node function providing means that has left the network, and after the content search message with the network ring repair option to search for the content node function providing means has left a certain time If not,
Refer to the finger table database, try to connect in order from the content node function providing means having the identification information that is larger than and closest to the identification information given to the own content node function providing means ,
If the connection is successful, the content node function providing means and the network ring are repaired. If the connection is not successful, the finger table database is referred again, and the above operation is performed until the connectable content node function providing means is found. The communication system according to claim 18, wherein the communication system is repeated.
離脱した前記コンテンツノード機能提供手段を検索するリング修復オプションを付けたコンテンツ検索メッセージを待つ場合において、一定時間経過する間に複数の離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションを付けたコンテンツ検索メッセージを受信した場合、
通常の前記コンテンツ検索メッセージと同様に前記フィンガーテーブルデータベースを参照し前記コンテンツ検索メッセージの効率のよい送信先があるときは、そのコンテンツノード機能提供手段に対して前記コンテンツ検索メッセージを送信することを特徴とする請求項18に記載の通信システム。 DHT management means
In the case of waiting for the ring repair option Paste content search message for searching the content node function providing unit that has left, with the network ring repair option to search the content node function providing means in which a plurality of withdrawal during the predetermined time elapses Received a content search message,
When there is an efficient transmission destination of the content search message by referring to the finger table database as in the normal content search message, the content search message is transmitted to the content node function providing means . The communication system according to claim 18.
前記フィンガーテーブルデータベースを参照し、ネットワークリング修復オプションの付いた複数のコンテンツ検索メッセージについて自コンテンツノード機能提供手段が最適な受信者であった場合、
前記コンテンツ検索メッセージの送信元の前記コンテンツノード機能提供手段に付与された前記識別情報の値を比較し、自コンテンツノード機能提供手段の前記識別情報よりも大きくかつ、最も近い前記識別情報を持つ前記コンテンツノード機能提供手段から順に接続を試みることを特徴とする請求項22に記載の通信システム。 DHT management means
If the content node function providing means is the optimum recipient for a plurality of content search messages with the network ring repair option referring to the finger table database,
Compares the value of the identification information given to the content node function providing means that is the transmission source of the content search message, and has the identification information that is larger than and closest to the identification information of the content node function providing means 23. The communication system according to claim 22, wherein connection is tried in order from the content node function providing means .
受信した複数のコンテンツ検索メッセージのうち、前記コンテンツ検索メッセージの送信元の前記コンテンツノード機能提供手段に付与された前記識別情報が、自コンテンツノード機能提供手段の前記識別情報よりも大きくかつ最も近い前記識別情報で無い場合、当該コンテンツ検索メッセージについては全て破棄することを特徴とする請求項22に記載の通信システム。 DHT management means
Among the plurality of received content search messages, the identification information given to the content node function providing unit that is the transmission source of the content search message is larger and closest to the identification information of the own content node function providing unit 23. The communication system according to claim 22, wherein when the information is not identification information, all the content search messages are discarded.
離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションを付けたコンテンツ検索メッセージを送信後、
離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションを付けたコンテンツ検索メッセージを待っていた前記コンテンツノード機能提供手段からのキープアライブメッセージを待つことを特徴とする請求項19又は請求項22に記載の通信システム。 DHT management means
After sending a content search message with a network ring repair option to search for the content node function providing means that has left,
Claim 19 or claim 22, characterized in that waiting for a keepalive message from the content node function providing means waiting with the content retrieval message network ring repair option to search breakaway the content node function providing means The communication system according to 1.
離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションを付けたコンテンツ検索メッセージを送信後、
一定時間経過後もキープアライブメッセージを受信しない場合は、
離脱した前記コンテンツノード機能提供手段を検索するネットワークリング修復オプションを付けたコンテンツ検索メッセージの再送を実施することを特徴とする請求項23から請求項25のいずれか1項に記載の通信システム。 DHT management means
After sending a content search message with a network ring repair option to search for the content node function providing means that has left,
If you do not receive a keepalive message after a certain period of time,
The communication system according to any one of claims 23 to 25, wherein a content search message with a network ring repair option for searching for the content node function providing means that has left is retransmitted.
再送を含む全ての前記コンテンツ検索メッセージに対してもキープアライブメッセージを受信しない場合、
前記フィンガーテーブルデータベースを参照し、自コンテンツノード機能提供手段に付与された前記識別情報よりも小さくかつ、最も近い前記識別情報を持つ前記コンテンツノード機能提供手段から順に接続を試み、
接続が成功した場合は当該コンテンツノード機能提供手段と前記ネットワークリングを修復し、接続できなかった場合は再度前記フィンガーテーブルデータベースを参照し、接続可能な前記コンテンツノード機能提供手段が見つかるまで上記動作を繰り返すことを特徴とする請求項26に記載の通信システム。 DHT management means
If no keep-alive message is received for all the content search messages including retransmissions,
Refer to the finger table database, try to connect in order from the content node function providing means having the identification information that is smaller than and closest to the identification information given to the own content node function providing means ,
If the connection is successful, the content node function providing means and the network ring are repaired. If the connection is not successful, the finger table database is referred again, and the above operation is performed until the connectable content node function providing means is found. 27. The communication system of claim 26, wherein the communication system repeats.
前記ノードが備えるコンテンツノード機能提供手段が、各コンテンツノード機能提供手段により形成される参加型のネットワークリングに参加するステップと、
隣接する前記コンテンツノード機能提供手段が前記ネットワークリングから離脱したことを検出した前記コンテンツノード機能提供手段において、
離脱した前記コンテンツノード機能提供手段のさらに隣に位置する、前記ネットワークリングをコンテンツオリエンテッドに構成する他のコンテンツノード機能提供手段を検索するステップと、
検索した当該コンテンツノード機能提供手段との間で通信接続を実行することにより前記ネットワークリングを修復するステップを有し、
前記コンテンツノード機能提供手段は、前記ノードが保持する一又は複数のコンテンツごとに生成される
ことを特徴とする通信方法。 A communication method in a communication system of a P2P type network ring composed of a plurality of nodes ,
The content node function providing means included in the node participates in a participation type network ring formed by each content node function providing means ;
In the content node function providing means adjacent detects that it has detached from the network ring said content node function providing means,
Further located next to breakaway the content node function providing means, retrieving other content nodes function providing means for configuring the network ring in the content-oriented,
Have a step of repairing the network ring by performing a communication connection with the found the content node function providing means,
The content node function providing means is generated for each one or a plurality of contents held by the node .
隣接の前記コンテンツノード機能提供手段が前記ネットワークリングから離脱したことを検出した前記コンテンツノード機能提供手段において、
離脱した前記隣の連続する複数のコンテンツノード機能提供手段のさらに隣に位置する、前記ネットワークリングをコンテンツオリエンテッドに構成する他のコンテンツノード機能提供手段を検索するステップと、
検索した当該コンテンツノード機能提供手段との間で通信接続を実行することにより前記ネットワークリングを修復するステップを有することを特徴とする請求項29に記載の通信方法。 When a plurality of the content node function providing means located adjacent to each other are separated from the network ring,
In the content node function providing means adjacent detects that it has detached from the network ring said content node function providing means,
Searching for another content node function providing means that configures the network ring to be content-oriented , which is located further next to the plurality of adjacent continuous content node function providing means that have left the network;
30. The communication method according to claim 29, further comprising a step of repairing the network ring by executing a communication connection with the retrieved content node function providing unit .
他のコンテンツノード機能提供手段と、キープアライブメッセージの送受信を定期的に実施し、キープアライブメッセージを送信後、一定時間返信がなく、キープアライブメッセージを再送しても返信がない場合に、当該他のコンテンツノード機能提供手段が前記ネットワークリングを離脱したと検出するステップと、
自コンテンツノード機能提供手段を基準にして、離脱した前記他のコンテンツノード機能提供手段の前記ネットワークリング上での方向を確認するステップと、
離脱した前記他のコンテンツノード機能提供手段の方向が自コンテンツノード機能提供手段を基準にして下流の場合、
離脱した前記他のコンテンツノード機能提供手段からさらに下流のノードからの離脱した前記他のコンテンツノード機能提供手段を検索するネットワークリング修復オプションのついたコンテンツ検索メッセージの受信を待機する待機ステップと、
受信しなかった場合に、前記コンテンツノード機能提供手段に付与された一意の識別情報と、当該一意の識別情報を付与されたコンテンツノード機能提供手段に対応するコンテンツを保持する前記ノードのIPアドレスとを対応付けて記憶するフィンガーテーブルデータベースを参照し、自コンテンツノード機能提供手段に付与された前記一意の識別情報よりも大きくかつ、当該一意の識別情報に最も近い前記一意の識別情報を持つ他の前記コンテンツノード機能提供手段から順に接続を試みるステップと、
受信した場合に、前記フィンガーテーブルデータベースを参照し、前記コンテンツ検索メッセージの効率のよい送信先があるか否かを確認するステップと、
確認した前記効率のよい送信先のコンテンツノード機能提供手段に対し、キープアライブメッセージを送信するステップとを有することを特徴とする請求項29又は請求項30に記載の通信方法。 In the DHT management means provided in the content node function providing means,
Regularly send and receive keep-alive messages with other content node function providing means, and after sending keep-alive messages, if there is no reply for a certain period of time and there is no reply even if the keep-alive message is resent, the other Detecting that the content node function providing means has left the network ring;
Confirming the direction on the network ring of the other content node function providing means that has left, with reference to its own content node function providing means ;
When the direction of the separated other content node function providing means is downstream with respect to its own content node function providing means ,
A waiting step for waiting for reception of a breakaway the other content nodes function network ring further searching the other content nodes function providing means separated from the downstream node from the providing means repair options marked with contents search message,
If not received, the unique identification information given to the content node function providing means, and the IP address of the node that holds the content corresponding to the unique identification information content node function providing means has been granted Other than the unique identification information that is larger than the unique identification information given to the content node function providing means and closest to the unique identification information. Trying to connect in order from the content node function providing means ;
If received, refer to the finger table database to check whether there is an efficient destination of the content search message; and
31. The communication method according to claim 29, further comprising a step of transmitting a keep-alive message to the confirmed content node function providing means of the efficient transmission destination.
他のコンテンツノード機能提供手段と、キープアライブメッセージの送受信を定期的に実施し、キープアライブメッセージを送信後、一定時間返信がなく、キープアライブメッセージを再送しても返信がない場合に、当該他のコンテンツノード機能提供手段が前記ネットワークリングを離脱したと検出するステップと、
自コンテンツノード機能提供手段を基準にして、離脱した前記他のコンテンツノード機能提供手段の前記ネットワークリング上での方向を確認するステップと、
離脱した前記他のコンテンツノード機能提供手段の方向が自コンテンツノード機能提供手段を基準にして上流の場合、
離脱した前記他のコンテンツノード機能提供手段を検索するネットワークリング修復オプションを付けたコンテンツ検索メッセージを送信するステップと、
キープアライブメッセージを受信したか否かを確認する受信確認ステップと、
キープアライブメッセージを受信した場合に、キープアライブメッセージを返信するステップとを有することを特徴とする請求項29から請求項32のいずれか1項に記載の通信方法。 In the DHT management means provided in the content node function providing means,
Regularly send and receive keep-alive messages with other content node function providing means, and after sending keep-alive messages, if there is no reply for a certain period of time and there is no reply even if the keep-alive message is resent, the other Detecting that the content node function providing means has left the network ring;
Confirming the direction on the network ring of the other content node function providing means that has left, with reference to its own content node function providing means ;
If the direction of withdrawal and said other content nodes function providing means upstream with respect to the own content node function providing means,
Sending a content search message with a network ring repair option to search for the other content node function providing means that has left;
An acknowledgment step for confirming whether or not a keep-alive message has been received;
33. The communication method according to claim 29, further comprising a step of returning a keep-alive message when a keep-alive message is received.
キープアライブメッセージを受信しなかった場合に、前記一意の識別情報と、当該一意の識別情報を付与されたコンテンツを保持する前記ノードのIPアドレスとを対応付けて記憶するフィンガーテーブルデータベースを参照し、自コンテンツノード機能提供手段に付与された前記一意の識別情報よりも小さくかつ、当該一意の識別情報に最も近い前記一意の識別情報を持つ他の前記コンテンツノード機能提供手段から順に接続を試みるステップを有することを特徴とする請求項33に記載の通信方法。 In the DHT management means,
When the keep alive message is not received, refer to the finger table database that stores the unique identification information and the IP address of the node that holds the content to which the unique identification information is stored in association with each other, Attempting to connect in order from the other content node function providing means having the unique identification information that is smaller than the unique identification information given to the own content node function providing means and closest to the unique identification information; 34. The communication method according to claim 33, comprising:
前記ノードが備えるコンテンツノード機能提供手段に、
各コンテンツノード機能提供手段により形成される参加型のネットワークリングに参加する機能を実現させ、
隣接する前記コンテンツノード機能提供手段が前記ネットワークリングから離脱したことを検出した当該ノード上の前記コンテンツノード機能提供手段に、
離脱した前記コンテンツノード機能提供手段のさらに隣に位置する、前記ネットワークリングをコンテンツオリエンテッドに構成する他のコンテンツノード機能提供手段を検索する機能と、
検索した当該コンテンツノード機能提供手段との間で通信接続を実行することにより前記ネットワークリングを修復する機能とを実現させ、
前記コンテンツノード機能提供手段は、前記ノードが保持する一又は複数のコンテンツごとに生成される
ことを特徴とする通信プログラム。 A communication program executed on a node constituting a P2P type network ring,
In the content node function providing means provided in the node ,
Realize the function to participate in the participation type network ring formed by each content node function providing means ,
To the content node function providing means on the node that detects that the content node function providing means adjacent is disconnected from the network ring,
Further located next to breakaway the content node function providing unit, a function to search other content nodes function providing means for configuring the network ring in the content-oriented,
Realizing a function of repairing the network ring by executing a communication connection with the searched content node function providing means ,
The communication program, wherein the content node function providing means is generated for each of one or a plurality of contents held by the node .
隣接の前記コンテンツノード機能提供手段が前記ネットワークリングから離脱したことを検出した当該ノード上の前記コンテンツノード機能提供手段に、
離脱した前記隣の連続する複数のコンテンツノード機能提供手段のさらに隣に位置する、前記ネットワークリングをコンテンツオリエンテッドに構成する他のコンテンツノード機能提供手段を検索する機能と、
検索した当該コンテンツノード機能提供手段との間で通信接続を実行することにより前記ネットワークリングを修復する機能とを実現させることを特徴とする請求項36に記載の通信プログラム。 When a plurality of the content node function providing means located adjacent to each other are separated from the network ring,
To the content node function providing means on the node that detects that the content node function providing means adjacent is disconnected from the network ring,
A function of searching for another content node function providing unit that configures the network ring in a content-oriented manner , which is located next to the plurality of adjacent continuous content node function providing units that have left;
37. The communication program according to claim 36, wherein a function for restoring the network ring is realized by executing a communication connection with the retrieved content node function providing means .
他のコンテンツノード機能提供手段と、キープアライブメッセージの送受信を定期的に実施し、キープアライブメッセージを送信後、一定時間返信がなく、キープアライブメッセージを再送しても返信がない場合に、当該他のコンテンツノード機能提供手段が前記ネットワークリングを離脱したと検出する機能と、
自コンテンツノード機能提供手段を基準にして、離脱した前記他のコンテンツノード機能提供手段の前記ネットワークリング上での方向を確認する機能と、
離脱した前記他のコンテンツノード機能提供手段の方向が自コンテンツノード機能提供手段を基準にして下流の場合、
離脱した前記他のコンテンツノード機能提供手段からさらに下流のノードからの離脱した前記他のコンテンツノード機能提供手段を検索するネットワークリング修復オプションのついたコンテンツ検索メッセージの受信を所定の時間待機する待機機能と、
所定の時間内に受信しなかった場合に、前記コンテンツノード機能提供手段に付与された一意の識別情報と、当該一意の識別情報を付与されたコンテンツノード機能提供手段に対応するコンテンツを保持する前記ノードのIPアドレスとを対応付けて記憶するフィンガーテーブルデータベースを参照し、自コンテンツノード機能提供手段に付与された前記一意の識別情報よりも大きくかつ、当該一意の識別情報に最も近い前記一意の識別情報を持つ他の前記コンテンツノード機能提供手段から順に接続を試みる機能と、
所定の時間内に受信した場合に、前記フィンガーテーブルデータベースを参照し、前記コンテンツ検索メッセージの効率のよい送信先があるか否かを確認する機能と、
確認した前記効率のよい送信先のコンテンツノード機能提供手段に対し、キープアライブメッセージを送信する機能とを実現させることを特徴とする請求項36又は請求項37に記載の通信プログラム。 In the DHT management means provided in the content node function providing means,
Regularly send and receive keep-alive messages with other content node function providing means, and after sending keep-alive messages, if there is no reply for a certain period of time and there is no reply even if the keep-alive message is resent, the other A function of detecting that the content node function providing means has left the network ring;
A function of confirming the direction of the other content node function providing means that has left on the network ring with reference to its own content node function providing means ;
When the direction of the separated other content node function providing means is downstream with respect to its own content node function providing means ,
Waiting feature to wait for reception of a breakaway the other content nodes function network ring further searching the other content nodes function providing means separated from the downstream node from the providing means repair options marked with contents search message a predetermined time When,
If not received within a predetermined time, the holding of the content corresponding to the content node capabilities and unique identification information given to providing means, a content node function providing unit granted the unique identification information The unique identification that is larger than the unique identification information given to the content node function providing means and is closest to the unique identification information with reference to the finger table database that stores the IP address of the node in association with each other A function of trying to connect in order from the other content node function providing means having information;
A function that, when received within a predetermined time, refers to the finger table database and confirms whether there is an efficient destination of the content search message;
38. The communication program according to claim 36 or 37, wherein the confirmed content node function providing means of the transmission destination realizes a function of transmitting a keep alive message.
他のコンテンツノード機能提供手段と、キープアライブメッセージの送受信を定期的に実施し、キープアライブメッセージを送信後、一定時間返信がなく、キープアライブメッセージを再送しても返信がない場合に、当該他のコンテンツノード機能提供手段が前記ネットワークリングを離脱したと検出する機能と、
自コンテンツノード機能提供手段を基準にして、離脱した前記他のコンテンツノード機能提供手段の前記ネットワークリング上での方向を確認する機能と、
離脱した前記他のコンテンツノード機能提供手段の方向が自コンテンツノード機能提供手段を基準にして上流の場合、
離脱した前記他のコンテンツノード機能提供手段を検索するネットワークリング修復オプションを付けたコンテンツ検索メッセージを送信する機能と、
キープアライブメッセージを所定の時間内に受信したか否かを確認する受信確認機能と、
所定の時間内にキープアライブメッセージを受信した場合に、キープアライブメッセージを返信する機能とを実現させることを特徴とする請求項36から請求項38のいずれか1項に記載の通信プログラム。 In the DHT management means provided in the content node function providing means,
Regularly send and receive keep-alive messages with other content node function providing means, and after sending keep-alive messages, if there is no reply for a certain period of time and there is no reply even if the keep-alive message is resent, the other A function of detecting that the content node function providing means has left the network ring;
A function of confirming the direction of the other content node function providing means that has left on the network ring with reference to its own content node function providing means ;
If the direction of withdrawal and said other content nodes function providing means upstream with respect to the own content node function providing means,
A function of transmitting a content search message with a network ring repair option for searching for the other content node function providing means that has left;
A reception confirmation function for confirming whether or not the keep-alive message is received within a predetermined time;
The communication program according to any one of claims 36 to 38, wherein a function of returning a keep-alive message when a keep-alive message is received within a predetermined time is realized.
所定の時間内にキープアライブメッセージを受信しなかった場合に、前記一意の識別情報と、当該一意の識別情報を付与されたコンテンツを保持する前記ノードのIPアドレスとを対応付けて記憶するフィンガーテーブルデータベースを参照し、自コンテンツノード機能提供手段に付与された前記一意の識別情報よりも小さくかつ、当該一意の識別情報に最も近い前記一意の識別情報を持つ他の前記コンテンツノード機能提供手段から順に接続を試みる機能を実現させることを特徴とする請求項39に記載の通信プログラム。 In the DHT management means,
A finger table that stores the unique identification information and the IP address of the node that holds the content to which the unique identification information is associated in a case where a keep-alive message is not received within a predetermined time. Refer to the database, and in order from the other content node function providing means having the unique identification information that is smaller than the unique identification information given to the own content node function providing means and closest to the unique identification information 40. The communication program according to claim 39, wherein a function for attempting connection is realized.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007119881A JP5228369B2 (en) | 2007-04-27 | 2007-04-27 | COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007119881A JP5228369B2 (en) | 2007-04-27 | 2007-04-27 | COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008276551A JP2008276551A (en) | 2008-11-13 |
JP5228369B2 true JP5228369B2 (en) | 2013-07-03 |
Family
ID=40054419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007119881A Expired - Fee Related JP5228369B2 (en) | 2007-04-27 | 2007-04-27 | COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5228369B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160006781A (en) | 2013-05-17 | 2016-01-19 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Multi-tier push hybrid service control architecture for large scale conferencing over information centric network, icn |
JP6131907B2 (en) * | 2014-04-24 | 2017-05-24 | カシオ計算機株式会社 | Distributed database, data sharing method, program, and apparatus |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4696498B2 (en) * | 2004-08-20 | 2011-06-08 | ブラザー工業株式会社 | Information distribution system, node device, location information search method, location information search processing program, etc. |
-
2007
- 2007-04-27 JP JP2007119881A patent/JP5228369B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008276551A (en) | 2008-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7859992B2 (en) | Router redundancy in data communication networks | |
US7065059B1 (en) | Technique for restoring adjacencies in OSPF in a non-stop forwarding intermediate node of a computer network | |
US20070097880A1 (en) | Resource matched topology database synchronization in communications networks having topology state routing protocols | |
JPH07122862B2 (en) | Computer in network and operating method thereof | |
CN1345148A (en) | Method and device for implementation of resynchronization of topological data base in communication network having topological state routing protocol | |
JP2505063B2 (en) | Method and system for establishing and managing virtual chains | |
JP2011521573A (en) | Maintaining a distributed hash table in overlay networks | |
US8817595B2 (en) | Overlay network node and overlay networks | |
JP4803066B2 (en) | Routing methods and nodes | |
EP2109969B1 (en) | Intelligent database exchange for ospf | |
JP5228369B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM | |
JP2006227763A (en) | Data sharing system, data sharing method, and program | |
JP4685776B2 (en) | A computer network that identifies multiple nodes that match the same label | |
CN101340457B (en) | Peer-to-peer network starting method and system independent of central server | |
WO2022083122A1 (en) | Fault tolerance method and apparatus of network device system, computer device, and storage medium | |
CN110661836A (en) | Message routing method, device and system, and storage medium | |
KR100872170B1 (en) | Multiple routing method on p2p network | |
JP4409604B2 (en) | Overlay network construction and maintenance method and program | |
JP4481988B2 (en) | Virtual network | |
JP3705121B2 (en) | Multiprocessor call processing method | |
JP4180488B2 (en) | Node device and network topology reconstruction method | |
CN113765783B (en) | Communication method and device | |
CN110493292B (en) | Capability notification method, device, system, storage medium and electronic device | |
CN106992928B (en) | Graceful restart flow interrupt processing method and device | |
JP4231002B2 (en) | Communication apparatus, network system, and link generation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100316 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130201 |
|
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: 20130219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130304 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 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 |