JP4622755B2 - 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム - Google Patents

情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム Download PDF

Info

Publication number
JP4622755B2
JP4622755B2 JP2005260479A JP2005260479A JP4622755B2 JP 4622755 B2 JP4622755 B2 JP 4622755B2 JP 2005260479 A JP2005260479 A JP 2005260479A JP 2005260479 A JP2005260479 A JP 2005260479A JP 4622755 B2 JP4622755 B2 JP 4622755B2
Authority
JP
Japan
Prior art keywords
information
node device
node
inquiry
existence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005260479A
Other languages
English (en)
Other versions
JP2007074490A (ja
Inventor
建太郎 牛山
康一 飯島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2005260479A priority Critical patent/JP4622755B2/ja
Publication of JP2007074490A publication Critical patent/JP2007074490A/ja
Application granted granted Critical
Publication of JP4622755B2 publication Critical patent/JP4622755B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の情報通信システム及び方法等の技術分野に関する。
ピアツーピア型の情報通信システムにおいて、例えば、分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して論理的に構築されたオーバレイネットワークでは、各ノード装置が、当該オーバレイネットワークに参加している全てのノード装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
このようなオーバレイネットワークにおいては、ノード装置の参加及び脱退(離脱)が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献1には、オーバレイネットワークにおいて、参加及び脱退(離脱)が頻繁に行われる場合であっても、適切に負荷分散を行うための技術が開示されている。
「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報
上述のように、ピアツーピア型の情報通信システムは、ノード装置の参加や脱退に柔軟に適応できる技術であるが、あるノード装置が保持している他のノード装置のリンク情報について、当該リンク情報に係る他のノード装置が存在しているか否かを確認するために、存在確認メッセージを当該ノード装置に送信する必要がある。
このような存在確認メッセージは、通常、定期的に送信されるが、必要以上に当該メッセージの送信数が多いとシステムにおける通信トラフィックが過大となる。また、当該メッセージの送信数がごく少ないと、リンク情報を記憶しているはずの他のノード装置が存在していないという状況が多くなり、情報の転送処理が滞ったり、正しくルーティングできなくなる場合があるため、システムにおいて急な障害が起こった場合に対応できなくなる可能性がある。
本発明は、以上の不都合に鑑みてなされたものであり、システムに含まれるノード装置の存在確認メッセージを送信するに際し、通信トラフィックが過大となることやシステムの障害に対応できないといった不都合を解消し、適切な間隔で存在確認メッセージを送信できる情報通信システム及び方法等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、複数のノード装置により生成されるオーバレイネットワークにより、前記複数のノード装置が相互に通信を行う情報通信システムであって、前記複数のノード装置に含まれるノード装置は、前記オーバレイネットワークに接続された前記複数のノード装置にメッセージを送信する送信先が登録されたルーティングテーブルであって、一以上の特定の前記ノード装置対応する固有の識別情報が登録された前記ルーティングテーブルを記憶する記憶手段と、前記記憶手段が記憶している前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置の存在を問い合わせる存在問合せ情報を、前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置に定期的に送信する存在問合せ手段と、前記存在問合せ情報に対して返信されてきた回答を示す回答情報を受信する回答情報受信手段と、前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記ルーティングテーブルを更新する更新手段と、を有することを特徴とする情報通信システムである。
これによれば、情報通信システムに含まれるノード装置が、ルーティングテーブルに識別情報が登録されたノード装置の存在の有無を確認することができる。
上記課題を解決するために、請求項2に記載の発明は、請求項1に記載の情報通信システムであって、前記ノード装置は、前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記存在問合せ情報を定期的に送信する間隔を変更する間隔制御手段をさらに備え、前記存在問合せ手段は、さらに、前記ルーティングテーブルに前記識別情報が登録されていない前記識別情報の領域に属する前記識別情報に対応する前記ノード装置に向けてその存在を問い合わせる前記存在問合せ情報を送信し、前記間隔制御手段は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合、及び、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属する場合には、前記存在問合せ情報を定期的に送信する間隔を短くし、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属しない場合には、前記存在問合せ情報を定期的に送信する間隔を長くすることを特徴とする情報通信システムである。
これによれば、存在の問合せに係る識別情報のノード装置の存在の有無により、当該識別情報の領域のノード装置に対し、存在問合せ情報を定期的に送信する間隔を調整することができる。すなわち、その識別情報の領域におけるノード装置のシステムへの参加・脱退が多い場合には、送信間隔を短くしてできる限り高い割合でノード装置の存在を確認するようにできる。そのため、高い確率で各識別情報の領域のノード装置の所在を記憶しておくようにできるため、情報の転送処理が滞ったり、正しくルーティングできないという不都合が低減され、システム内における何らかの障害が起きたときに対応がしやすくなる。また、その識別情報の領域におけるノード装置が変わらずに長い間存在し、システムへの参加・脱退が少ない場合には、送信間隔を長くしてシステム内の通信トラフィックが過大となることを防止できる。このようにして、存在問合せ情報を定期的に送信する間隔を適切に調整することが可能となる。
また、ルーティングテーブルに識別情報が登録されていない識別情報の領域についても、存在問合せ情報を送信することにより、この識別情報の領域の情報に変更があったか否かに応じて、当該領域や次の領域に対する問合せ情報を定期的に送信する間隔を変更することができる。具体的に、ある識別情報の領域に含まれる仮に決めた識別情報に対して存在問合せ情報を送信した場合に、当該識別情報に対応するノード装置から回答情報を受信した場合、及び、当該識別情報に対応しないノード装置から回答情報を受信し、かつ、当該回答情報の送信元のノード装置が上述の識別情報の領域に含まれる場合には、情報がなかった状態から情報がある状態に変更されたと捉え、存在問合せ情報を定期的に送信する間隔を短くする。一方、ある識別情報の領域に含まれる仮に決めた識別情報に対して存在問合せ情報を送信した場合に、当該識別情報に対応しないノード装置から回答情報を受信し、かつ、当該回答情報の送信元のノード装置が上述の識別情報の領域に含まれない場合には、情報がなかった状態から変更がないと捉え、存在問合せ情報を定期的に送信する間隔を長くする。
上記課題を解決するために、請求項に記載の発明は、複数のノード装置により生成されるオーバレイネットワークにより、前記複数のノード装置が相互に通信を行う情報通信システムにおける情報通信方法であって、前記複数のノード装置に含まれるノード装置が、前記オーバレイネットワークに接続された前記複数のノード装置にメッセージを送信する送信先が登録されたルーティングテーブルであって、一以上の特定の前記ノード装置対応する固有の識別情報が登録された前記ルーティングテーブルを記憶する記憶工程、記憶されている前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置の存在を問い合わせる存在問合せ情報を、前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置に定期的に送信する存在問合せ工程、前記存在問合せ情報に対して返信されてきた回答を示す回答情報を受信する回答情報受信工程、前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記ルーティングテーブルを更新する更新工程、有することを特徴とする情報通信方法である。
上記課題を解決するために、請求項に記載の発明は、請求項3に記載の情報通信方法であって、前記ノード装置が、前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記存在問合せ情報を定期的に送信する間隔を変更する間隔制御工程、をさらに有し、前記存在問合せ工程は、さらに、前記ルーティングテーブルに前記識別情報が登録されていない前記識別情報の領域に属する前記識別情報に対応する前記ノード装置に向けてその存在を問い合わせる前記存在問合せ情報を送信し、前記間隔制御工程は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合、及び、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属する場合には、前記存在問合せ情報を定期的に送信する間隔を短くし、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属しない場合には、前記存在問合せ情報を定期的に送信する間隔を長くすることを特徴とする情報通信方法である。
上記課題を解決するために、請求項に記載の発明は、複数のノード装置により生成されるオーバレイネットワークにより、前記複数のノード装置が相互に通信を行う情報通信システムに含まれるノード装置であって、前記オーバレイネットワークに接続された前記複数のノード装置にメッセージを送信する送信先が登録されたルーティングテーブルであって、一以上の特定の前記ノード装置対応する固有の識別情報が登録された前記ルーティングテーブルを記憶する記憶手段と、前記記憶手段が記憶している前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置の存在を問い合わせる存在問合せ情報を、前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置に定期的に送信する存在問合せ手段と、前記存在問合せ情報に対して返信されてきた回答を示す回答情報を受信する回答情報受信手段と、前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記ルーティングテーブルを更新する更新手段と、を有することを特徴とするノード装置である。
これによれば、情報通信システムに含まれるノード装置が、ルーティングテーブルに識別情報が登録されたノード装置の存在の有無を確認することができる。
上記課題を解決するために、請求項6に記載の発明は、請求項5に記載のノード装置であって、前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記存在問合せ情報を定期的に送信する間隔を変更する間隔制御手段をさらに有することを特徴とするノード装置である。
これによれば、情報通信システムに含まれるノード装置が存在問合せ情報を送信するに際し、システム内の通信トラフィックが過大となることや障害に対応できないといった不都合を解消し、適切な間隔で存在問合せ情報を送信することが可能となる。
上記課題を解決するために、請求項に記載の発明は、請求項に記載のノード装置であって、前記間隔制御手段は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合には、前記存在問合せ情報を定期的に送信する間隔を長くし、前記回答情報を受信しない場合及び前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在しないことを認識した場合には、前記存在問合せ情報を定期的に送信する間隔を短くすることを特徴とするノード装置である。
これによれば、問合せに係るノード装置が存在する場合には問合せ情報を定期的に送信する間隔を長くし、問合せに係るノード装置が存在しない場合には問合せ情報を定期的に送信する間隔を短くするため、システム内の通信トラフィックが過大となることや障害に対応できないといった不都合を解消し、適切な間隔で存在問合せ情報を送信することが可能となる。特に、存在の有無が変わりやすい識別情報の領域または時間帯に対しては徐々に間隔を短くし、長く存在し続ける識別情報の領域または時間帯に対しては徐々に間隔を長くすることができる。
上記課題を解決するために、請求項に記載の発明は、請求項に記載のノード装置であって、前記回答情報を受信しない場合及び前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在しないことを認識した場合には、前記更新手段は、前記回答情報に対応する前記ノード装置前記識別情報を前記ルーティングテーブルから削除し、且つ、前記回答情報の送信元の前記ノード装置に対応する前記識別情報の属する領域に属する前記識別情報が前記ルーティングテーブルに登録されていない場合には、前記回答情報の送信元の前記ノード装置に対応す前記識別情報を前記ルーティングテーブルに登録することを特徴とするノード装置である。
これによれば、存在確認の問合せ間隔を適切に調整できる他、存在しないノード装置識別情報を削除し、また、新たなノード装置の識別情報を登録することにより、ルーティングテーブルに登録される情報を更新していくことができる。そのため、各ノード装置は、現時点での可能な限り適切な他のノード装置の情報を記憶しておくことが可能となる。
上記課題を解決するために、請求項に記載の発明は、請求項6乃至8のいずれか一項に記載のノード装置であって、前記存在問合せ手段は、前記ルーティングテーブルに前記識別情報が登録されていない前記識別情報の領域に属する前記識別情報に対応する前記ノード装置に向けてその存在を問い合わせる前記存在問合せ情報を送信し、前記回答情報を受信しない場合及び前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在しないことを認識した場合には、前記更新手段は、前記回答情報に対応する前記ノード装置の前記識別情報を前記ルーティングテーブルから削除し、且つ、前記回答情報の送信元の前記ノード装置に対応する前記識別情報の属する領域に属する前記識別情報が前記ルーティングテーブルに登録されていない場合には、前記回答情報の送信元の前記ノード装置に対応する前記識別情報を前記ルーティングテーブルに登録することを特徴とするノード装置である。
上記課題を解決するために、請求項10に記載の発明は、請求項乃至のいずれか一項に記載のノード装置であって、前記存在問合せ手段は、前記識別情報の属する領域毎に前記存在問合せ情報を定期的に送信し、前記間隔制御手段は、前記識別情報の属する領域毎に前記存在問合せ情報を定期的に送信する間隔を変更することを特徴とするノード装置である。
これによれば、識別情報の属する領域毎に存在問合せ情報を定期的に送信し、当該領域毎に当該情報を定期的に送信する間隔を変更するので、上述のようにノード装置のシステムへの参加・脱退の頻度によって、領域毎に存在問合せ情報を定期的に送信する間隔を調整し、適切な間隔とすることができる。
上記課題を解決するために、請求項11に記載の発明は、請求項10に記載のノード装置であって、前記間隔制御手段は、前記識別情報の属する領域におけ前記識別情報が削除され又は新たに登録された場合には、当該識別情報の属する領域における前記存在問合せ情報を定期的に送信する間隔を短くすることを特徴とするノード装置である。
これによれば、識別情報の属する領域におけ識別情報が削除され、又は、新たに登録された場合には、当該領域における情報に変更があったと捉えて、存在問合せ情報を定期的に送信する間隔を短くする。そのため、当該領域の次に存在問合せ情報を送信するまでの時間が短くなり、当該領域のメンテナンス(削除された情報の代わりに新たな情報を登録すること)を早く行うことができる。よって、識別情報の属する領域に対応するノード装置が存在しているにもかかわらず、当該ノード装置の情報が登録されていないという不都合が低減される。また、情報が新たに登録された場合にも、当該領域はノード装置の変動が多い可能性があるため、問合せの間隔を短くして当該領域のノード装置に何らかの障害が起きた場合の対応をしやすくすることができる。
上記課題を解決するために、請求項12に記載の発明は、請求項6乃至11のいずれか一項に記載のノード装置において、前記存在問合せ手段は、さらに、前記ルーティングテーブルに前記識別情報が登録されていない前記識別情報の領域に属する前記識別情報に対応する前記ノード装置に向けてその存在を問い合わせる前記存在問合せ情報を送信し、前記間隔制御手段は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合、及び、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属する場合には、前記存在問合せ情報を定期的に送信する間隔を短くし、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属しない場合には、前記存在問合せ情報を定期的に送信する間隔を長くすることを特徴とするノード装置である。
これによれば、ルーティングテーブルに識別情報が登録されていない識別情報の領域についても、存在問合せ情報を送信することにより、この識別情報の領域の情報に変更があったか否かに応じて、当該領域や次の領域に対する問合せ情報を定期的に送信する間隔を変更することができる。具体的に、ある識別情報の領域に含まれる仮に決めた識別情報に対して存在問合せ情報を送信した場合に、当該識別情報に対応するノード装置から回答情報を受信した場合、及び、当該識別情報に対応しないノード装置から回答情報を受信し、かつ、当該回答情報の送信元のノード装置が上述の識別情報の領域に含まれる場合には、情報がなかった状態から情報がある状態に変更されたと捉え、存在問合せ情報を定期的に送信する間隔を短くする。一方、ある識別情報の領域に含まれる仮に決めた識別情報に対して存在問合せ情報を送信した場合に、当該識別情報に対応しないノード装置から回答情報を受信し、かつ、当該回答情報の送信元のノード装置が上述の識別情報の領域に含まれない場合には、情報がなかった状態から変更がないと捉え、存在問合せ情報を定期的に送信する間隔を長くする。
上記課題を解決するために、請求項13に記載の発明は、請求項12に記載のノード装置であって、前記更新手段は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合、及び、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属する場合には、前記回答情報の送信元の前記ノード装置に対応す前記識別情報を前記ルーティングテーブルに登録することを特徴とするノード装置である。
これによれば、ルーティングテーブルに識別情報が登録されていない識別情報の領域についても、存在問合せ情報を送信することにより、当該領域に対応するノード装置が存在することを確認することができる場合があり、そのような場合には、ノード装置が記憶している情報のメンテナンスを行うことができる。
上記課題を解決するために、請求項14に記載の発明は、請求項乃至13のいずれか一項に記載のノード装置であって、前記存在問合せ情報を受信した場合には、前記存在問合せ情報に付された前記識別情報に基づいて、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近いか否かを判断する転送判断手段と、前記転送判断手段が、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近いと判断した場合には、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近い旨の前記回答情報を送信する回答送信手段と、前記転送判断手段が、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近くないと判断した場合には、前記存在問合せ情報に対応する前記ノード装置に向けて前記存在問い合わせ情報を送信する問合せ情報転送手段と、前記回答情報受信手段が、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近い旨の前記回答情報を受信した場合には、当該回答情報の送信元の前記ノード装置が前記存在問合せ情報に対応する前記ノード装置か否かを判断する回答情報判断手段と、をさらに有し、前記存在問合せ手段は、問い合わせに係る前記ノード装置の前記識別情報を付して前記存在問合せ情報送信し、前記間隔制御手段は、前記回答情報判断手段により前記回答情報の送信元の前記ノード装置が前記存在問合せ情報に対応する前記ノード装置であると判断した場合には、前記存在問合せ情報に対応する前記ノード装置が存在することを認識し、前記回答情報判断手段により前記回答情報の送信元の前記ノード装置が前記存在問合せ情報に対応する前記ノード装置でないと判断した場合には、前記存在問合せ情報に対応する前記ノード装置が存在しないことを認識することを特徴とするノード装置である。
これによれば、存在問合せ情報を受信したノード装置は、当該存在問合せ情報に対応するノード装置に最も近いか否かを判断し、最も近い場合にはその旨の回答情報を存在問合せ情報のノード装置に送ることとなる。よって、当該回答情報を受信したノード装置は、存在問合せ情報に対応するノード装置から回答情報が送信されたか否か、回答情報の送信元のノード装置を新たに記憶可能か、等を判断し、上述のように存在問合せ情報の送信間隔を変更したり、新たにノード装置の情報を記憶したりできる。また、存在問合せ情報に対応するノード装置に最も近くない場合には、通常の情報の転送処理を行うことにより、存在問合せ情報をより対応するノード装置に近い装置に届けることができる。
上記課題を解決するために、請求項15に記載の発明は、請求項乃至14のいずれか一項に記載のノード装置であって、前記間隔制御手段は、前記存在問合せ情報を定期的に送信する間隔の値に所定数を掛けること、当該間隔の値を所定数で割ること、当該間隔の値に所定数を足すこと、又は、当該間隔の値から所定数を引くこと、の少なくともいずれか一により間隔の値を変更することを特徴とするノード装置である。
これによれば、存在問合せ情報を定期的に送信する間隔の変更の仕方を、上述のいずれかの方法とすることを決めておくことにより、間隔制御手段による管理がしやすくなる。
上記課題を解決するために、請求項16に記載の発明は、請求項乃至15のいずれか一項に記載のノード装置であって、前記間隔制御手段は、前記存在問合せ情報を定期的に送信する間隔の上限値又は下限値の少なくともいずれか一方を規定することを特徴とするノード装置である。
これによれば、存在問合せ情報を定期的に送信する間隔の上限値を規定することにより、長期間にわたって脱退したノード装置を記憶し続けておき障害が生じること等が防止できる。また、当該間隔の下限値を規定することにより、ノード装置の参加・脱退が多い識別情報の領域であってもシステム内の通信トラフィックが過大になることを防止できる。
上記課題を解決するために、請求項17に記載の発明は、コンピュータを、請求項乃至16のいずれか一項に記載のノード装置として機能させることを特徴とする情報処理プログラムである。
本発明によれば、情報通信システムに含まれるノード装置が、ルーティングテーブルに識別情報が登録されたノード装置の存在の有無を確認することができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、DHT、識別情報としてのノードID及びノード情報としてのIPアドレスを利用して存在問合せ情報(存在確認メッセージ)を他のノード装置に送信する情報通信システムに本発明を適用した場合の実施形態である。
[1.情報通信システムの構成等]
始めに、図1を参照して、情報通信システムの概要構成等について説明する。
図1は、本実施形態に係る情報通信システムにおける各ノード装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、および通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
情報通信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置1a,1b,1c・・・1x,1y,1z・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノード装置1a,1b,1c・・・1x,1y,1z・・には、ノード装置を示す情報(本発明におけるノード情報)としての固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号およびIPアドレスは、複数のノード装置1間で重複しないものである。なお、以下の説明において、ノード装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置1という場合がある。
[1.1.DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用したアルゴリズムについて説明する。
上述した情報通信システムSにおいて、当該ノード装置1同士が、互いに情報をやり取りする際には、お互いのノード情報としてのIPアドレスを知っていなければならない。
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク8に参加している各ノード装置1が互いにネットワーク8に参加している全てのノード装置1のIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノード装置1のIPアドレスを覚えておくのは現実的ではない。また、任意のノード装置の電源がON或いはOFFとすると、各ノード装置1にて記憶している当該任意のノード装置のIPアドレスの更新が頻繁になり、運用上困難となる。
そこで、1台のノード装置1では、ネットワーク8に参加している全てのノード装置1のうち、必要最低限のノード装置1のIPアドレスだけを覚えて(記憶して)おいて、IPアドレスを知らない(記憶していない)ノード装置1については、各ノード装置1間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバレイネットワーク9が構築されることになる。つまり、このオーバレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバレイネットワーク9を前提としており、このオーバレイネットワーク9上に配置されたノード装置1を、情報通信システムSに参加(言い換えれば、オーバレイネットワーク9に参加)しているノード装置1という。なお、情報通信システムSへの参加は、未だ参加していないノード装置が、既に参加している任意のノード装置1に対して参加要求を送ることによって行われる。
情報通信システムSに参加している各ノード装置1のノードID(識別情報)は、それぞれのノード装置毎にユニーク(固有)な番号を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128≒340×10^36台のノード装置を運用できる。
より具体的には、各ノード装置1のノードIDは、それぞれのノード装置のIPアドレスあるいは製造番号等のノード装置毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。なお、本実施形態では、IPアドレス(グローバルIPアドレス;ノード情報)を共通のハッシュ関数によりハッシュ化した値をノードIDとする。
[1.2.ルーティングテーブルの作成]
図2を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。図2は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
各ノード装置1に付与されたノードIDは、共通のハッシュ関数によって生成したため、図2(A)乃至図2(C)に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は8bitでノードIDを付与し、図示したものである。図中黒点はノードIDを示し、反時計回りでIDが増加するものとする。
まず、図2(A)に示す如く、ID空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長8Bitの4進数で表すこととした。そして、ノード装置1NのノードIDを「1023」とし、このノード装置1Nのルーティングテーブルを作る例について説明する。
(レベル1のルーティング)
まず、ID空間を4分割とすると、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは0から3の自然数、以下同様。)で分けられる。ノード装置1Nは、当該ノード装置1N自身のノードIDが「1023」であるため、図中左下「1XXX」のエリアに存在することになる。そして、ノード装置1Nは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレスをレベル1のテーブルに記憶する。図3(A)がレベル1のテーブルの一例である。2列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無い。
(レベル2のルーティング)
次に、図2(B)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「10XX」「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレスをレベル2のテーブルに記憶する。図3(B)がレベル2のテーブルの一例である。1列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無い。
(レベル3のルーティング)
さらに、図2(C)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「100X」「101X」、「102X」、「103X」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレスをレベル1のテーブルに記憶する。図3(C)がレベル3のテーブルの一例である。3列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無く、2列目、4列目はそのエリアにノード装置が存在しないため空白となる。
このようにして、レベル4まで同様にルーティングテーブルを図3(D)に示す如く作成することにより、8bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置1が夫々作成して所有することになる。このように、ノード装置1は、他のノード装置1の宛先情報としてのIPアドレスと、グループ・グループ群としてのノードID空間のエリア、すなわちDHTの各レベル及び各列と、を対応付けて記憶している。
なお、ノードIDの桁数に応じてレベルの数が決まり、進数の数に応じて図3(D)における各レベルの注目桁の数が決まる。具体的に、16桁16進数である場合には、64bitのIDとなり、レベル16で注目桁の(英)数字は0〜fとなる。後述するルーティングテーブルの説明においては、各レベルの注目桁の数を示す部分を単に「列」ともいう。
[2.ノード装置の構成等]
次に、図4を参照して、ノード装置1の構成および機能について説明する。尚、各ノード装置1は、それぞれが行う処理によって初めに主情報を送信するノード装置1、受信した主情報を転送するノード装置1等として作用するが、その構成は同じである。
図4は、ノード装置1の概要構成例を示す図である。
各ノード装置1は、図4に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、コンテンツデータ、インデックス情報、上記DHTおよびプログラム等を記憶保存(格納)するためのHD等から構成された記憶手段としての記憶部12(上記コンテンツデータは、保存されていないノード装置1もある)と、受信されたコンテンツデータ等を一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノード装置1との間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14および通信部20はバス22を介して相互に接続されている。
そして、制御部11におけるCPUが記憶部12等に記憶された各種プログラムを実行することにより、ノード装置1全体を統括制御するようになっており、また、入力部21からの指示信号に応じて、コンテンツデータ登録処理等を行うようになっている。ノード装置1は、実行されるプログラムに応じて、元の主情報を送信するノード装置、主情報を受信して転送するノード装置等として機能する。具体的には、ノード装置1の制御部11は、存在問合せ手段、回答情報受信手段、間隔制御手段、転送判断手段、回答送信手段、問合せ情報転送手段又は回答情報判断手段として機能する。
[3.情報通信システムの概略]
本実施形態の情報通信システムSの概略を説明する。本実施形態の情報通信システムSは、各ノード装置1がIPアドレスとノードIDとを対応付けたルーティングテーブルを記憶部12に記憶しており、ノード装置1がIPアドレスを記憶している他のノード装置1に対して存在を問い合わせ、当該ノード装置1の存在の有無に基づいて存在を問い合わせる間隔を変更するものである。具体的には、問合せに係るノード装置1が存在しなくなった場合等のルーティングテーブルに変更があった場合には、問合せの間隔を短くし、問合せに係るノード装置1が存在し続けている場合等のルーティングテーブルに変更がない場合には、問合せの間隔を長くすることにより、ルーティングテーブルの対応するノードIDの領域に対して適切な間隔で存在を問い合わせることができることとなる。
[3.1情報通信システムの動作]
次に、情報通信システムSの動作について図5乃至図9を用いて説明する。
[3.1.1.情報通信システム全体の動作]
以下に、図5及び図6を参照して、情報通信システム全体の動作について説明する。
(存在確認)
一のノード装置1をノードZ(ノードID:2132)とし、本例においてはノードZが図5(A)に示す4桁4進数からなるルーティングテーブルを保持していることを前提とする。このルーティングテーブルに示すように、ノードID(本発明の識別情報)のレベルと各レベルの注目桁Yからなる各領域に分けて、他のノード装置(ノードA〜ノードG)のIPアドレス(本発明のノード情報)を、ノードZが記憶している。
ノードZは、ルーティングテーブルとして記憶されているIPアドレスが有効か否か、すなわち、当該IPアドレスに対応するノード装置1が存在しているか否かを確認するために、記憶しているノードA〜ノードGの各IPアドレスに対して、順番に存在問合せ情報を送信する。当該存在問合せ情報にはノードIDを含ませて、該当するノード装置1のIPアドレスに向けて存在問合せ情報を送信する。
ノードZがこの存在問合せ情報をノードA(ノードID:0132)に送信した際に、ノードAが存在している場合、ノードAは存在問合せ情報を受信し、ノードAのルーティングテーブルの中で問合せに係るノードID「0132」に最も近いノード装置1を検索し、最も近いノード装置1がノードA自身と判断して、自ノード装置が最もノードID「0132」に近い旨の回答情報を存在問合せ情報の送信元のノードZに送信する。
ノードZは、当該回答情報を受け取ると、回答情報の送信元であるノードAのノードID「0132」を確認し、問合せに係るノードAが存在していることを認識し、ルーティングテーブルは変更しない。この場合、ルーティングテーブルには変更がないため、次に存在問合せ情報を送信する間隔を長くする。
一方、ノードZがこの存在問合せ情報をノードF(ノードID:2312)に送信した際に、図5(B)に示すようにノードFが存在しなくなっていると、ノードZは予め定められた所定の時間を過ぎても回答情報が得られないこととなる。
そのため、ノードZは、問合せに係るノードFが存在していないことを認識し、ノードFのIPアドレスを削除することによりルーティングテーブルを更新する。この場合、ルーティングテーブルに変更があったため、次に存在問合せ情報を送信する間隔を短くする。
(ルーティングテーブルのメンテナンス)
また、ノードZは、IPアドレスを記憶しているノード装置1のみならず、ノード装置1のIPアドレスを記憶しておらず、ルーティングテーブルにおける空欄となっている部分に対応するノード装置1が新たに参加しているか否かを確認する。
本例においてはノードZが図5(B)に示す4桁4進数からなるルーティングテーブルを保持していることを前提とする。このルーティングテーブルに示すように、ノードID(本発明の識別情報)の各領域に分けて、他のノード装置(ノードA〜ノードE、ノードG)のIPアドレス(本発明のノード情報)を、ノードZが記憶している。ノードZは、記憶していないノードIDの領域、例えばレベル2の注目する桁数が3の列(破線で囲んだ領域)に対し、存在問合せ情報を送信する。当該存在問合せ情報には、上述の存在確認と同様にノードIDを含ませて、該当するノード装置1に最も近いIPアドレスに向けて存在問合せ情報を送信する。この場合には、図5(C)に示すように、ノードEに対してノードIDを仮に「2300」として存在問合せ情報を送信する。仮に決めたノードIDは、当該ノードIDの領域に相当する「2300」〜「2333」のいずれかであればよく、特に限定されない。
ノードZがノードIDを「2300」とした存在問合せ情報をノードEに送信すると、ノードEが存在問合せ情報を受信し、ノードEはノードEのルーティングテーブルの中で最も2300に近いノード装置1を検索し、最も近いノード装置1がノードFと判断してノードF(ノードID:2312)に存在問合せ情報を転送する。
存在問合せ情報を受信したノードFは、ノードFのルーティングテーブルの中で最も2300に近いノード装置1を検索し、最も近いノード装置1がノードF自身と判断して、自ノード装置が最も2300に近い旨の回答情報を、存在問合せ情報の送信元のノードZに送信する。
ノードZは、当該回答情報を受け取ると、回答情報の送信元であるノードFのノードID「2312」を確認し、記憶していないノードIDの領域に該当するノード装置1であるため、ノードFのIPアドレスを新たに記憶し、ルーティングテーブルを更新する。この場合、ルーティングテーブルに変更があったため、次に存在問合せ情報を送信する間隔を短くする。
一方、ノードZがこのような問合せ情報をノードEに送信した際に、ノードEのルーティングテーブルの中で最も2300に近いノード装置1を検索し、最も近いノード装置1がノードE自身と判断した場合には、図5(D)に示すように、ノードEは自ノード装置が最も2300に近い旨の回答情報を、存在問合せ情報の送信元のノードZに送信する。
ノードZは、当該回答情報を受け取ると、回答情報の送信元であるノードEのノードID「2202」を確認し、ノードEが記憶していないノードIDの領域に該当するノード装置1でなく、既に他のノードIDの領域にノードEのIPアドレスが記憶されているため、ルーティングテーブルを変更しない。このとき、存在問合せ情報に係るノードIDの領域は、依然として他のノード装置1の情報を記憶しない状態となるため、ルーティングテーブルに変更がなく、次に存在問合せ情報を送信する間隔を長くする。
また、図示しないが、ノードEがノードID「2300」に該当するノード装置1のIPアドレスを記憶している場合、ノードZがノードIDを「2300」とした存在問合せ情報をノードEに送信すると、ノードEが存在問合せ情報を受信し、ノードEはノードEのルーティングテーブルの中で最も2300に近いノード装置1を検索し、最も近いノード装置1(ノードID:2300)に存在問合せ情報を転送する。存在問合せ情報を受信したノード装置1は、当該ノード装置1のルーティングテーブルの中で最も2300に近いノード装置1を検索し、最も近いノード装置1が自ノード装置であると判断して、自ノード装置が最も2300に近い旨の回答情報を、存在問合せ情報の送信元のノードZに送信する。
ノードZは、当該回答情報を受け取ると、回答情報の送信元であるノード装置1のノードID「2300」を確認し、問合せに係るノード装置が存在していたため、ノードIDが「2300」であるノード装置1のIPアドレスを記憶し、ルーティングテーブルを更新する。この場合、ルーティングテーブルに変更があったため、新たに記憶したノード装置1に対応するノードIDの領域の次に存在問合せ情報を送信する時刻の間隔を短くする。
また、ノードZは回答情報の送信元のノード装置1が存在問合せ情報に係るノードIDの領域に該当するノード装置1でない場合であって、当該送信元のノード装置1に対応するノードIDの領域に他のノード装置1のIPアドレス等が記憶されていない場合には、当該回答情報の送信元のノード装置1のIPアドレス等を記憶し、ルーティングテーブルを更新する。この場合、ルーティングテーブルに変更があったため、次に存在問合せ情報を送信する間隔を短くする。
さらに、ノードZは、回答情報以外の情報を受信した場合、例えばコンテンツを要求するための要求情報等を受信した場合に、同様に当該情報の送信元のノード装置1のノードIDに対応する領域に他のノード装置の情報を記憶していない場合には、送信元のノード装置1の情報を記憶し、ルーティングテーブルを更新することができる。この場合、ルーティングテーブルに変更があったため、次に存在問合せ情報を送信する間隔を短くする。
このようにルーティングテーブルのメンテナンスを行うことにより、記憶されているノード装置1が多くなり、素早く確実にコンテンツを見つけられる等、情報通信システムS全体の動作が速やかに進むこととなる。
(存在問合せ情報送信間隔)
本実施形態においては、上述のように、ノード装置1の記憶するルーティングテーブルの変更の有無によって、ルーティングテーブルのレベルと列(各レベルの注目桁)によって分けられたノードIDの領域毎に、順に、存在問合せ情報を送信する間隔を変更している。
図6に存在問合せ情報を送信する間隔X(以下、存在問合せ間隔X、又は単に間隔Xという。)の変動の一例を示す。図6は、ルーティングテーブルに変更があった場合、存在問合せ間隔Xを1/2倍に短くし、ルーティングテーブルに変更がない場合、存在問合せ間隔Xを2倍に長くしている例である。また、存在問合せ間隔Xの最大値を24時間としている。図6の横軸が存在問合せ回数(単位:回)を示し、縦軸が存在問合せ間隔X(単位:時間)を示す。なお、存在問合せ回数によって問い合わせるルーティングテーブルのノードIDの領域が異なっていくが、存在問合せ回数とノードIDの領域の関係については説明を省略する。
図6に示すように、存在問合せ間隔Xの初期値を2時間とすると、ルーティングテーブルに変更がない状態が二回続くことにより、間隔Xが8時間(3回)と長くなり、その後変更があると間隔Xが4時間(4回)と短くなる。さらにルーティングテーブルに変更がない状態が三回続くことにより、間隔Xが24時間(7回)と長くなり、その後変更がなくても間隔Xが最大値の24時間(8回)を維持し、変更があった場合には間隔Xが12時間(9回)と短くなる。さらにルーティングテーブルに変更がない状態となることにより、間隔Xが24時間(10回)と長くなり、その後変更がなくても間隔Xが最大値の24時間(11〜13回)で推移し、変更があった場合には間隔Xが12時間(14回)と短くなる。存在問合せ回数6回から13回まではルーティングテーブルの変更が少なく、存在問合せ間隔Xが比較的長く、定常状態といえる。
次いで、ルーティングテーブルの変更が四回続けてあることにより、間隔Xが0.75時間(18回)と短くなり、その後変更がなく間隔Xが1.5時間(19回)と長くなる。さらに変更あり、なしが不規則に続くため、存在問合せ間隔Xはごく短い時間のまま推移する。チェック回数14回から27回まではルーティングテーブルの変更が多く、存在問合せ間隔Xが比較的短いため、情報通信システムS内の当該ノードIDの領域において、一斉にノード装置1が参加したり、一斉にノード装置1が脱退するなど、大規模な変化があったと考えられる。
次いで、ルーティングテーブルに変更があり、間隔Xが3時間(28回)と短くなり、その後二回は変更がなく、間隔Xが12時間(30回)と長くなる。さらに変更なし、あり、次いでしばらく変更がない状態が続くため、間隔Xが長くなり、35回においてまた間隔Xが24時間となる。さらに、36回、37回と、ルーティングテーブルに変更がないために存在問合せ間隔Xは最大値である24時間のまま推移している。チェック回数28回から37回まではルーティングテーブルの変更が少なくなり、存在問合せ間隔Xが徐々に長くなるため、情報通信システムS内の当該ノードIDの領域における大規模な変化が落ち着き、定常状態に復旧したと考えられる。
[3.1.2.ノード装置の動作]
次に、(1)一のノード装置1(上述のノードZ)がルーティングテーブルの各領域に対して存在問合せ情報を送信し、存在問合せ間隔Xを変更する処理(以下、存在問合せ間隔変更処理という。)、(2)(1)の処理におけるルートノード検索処理、及び、(3)当該ノードZから存在問合せ情報を受信した他のノード装置1(例えば、上述のノードA、ノードE)で行われる処理(以下、存在問合せ対応処理という。)について図7乃至図9を用いて詳細に説明する。なお、ノード装置1の動作の説明において、ルーティングテーブルにIPアドレス及びノードIDを記憶することを「登録する」ともいう。
(1)存在問合せ間隔変更処理
図7を参照してノードZの存在問合せ間隔変更処理について説明する。なお、ノードZは、上述の一例のように、図5(B)に示すルーティングテーブルを保持(記憶)しているものとする。
ノードZの制御部11は、自ノード装置に電源が入れられ、当該ノードZの各種設定を初期化すると、存在問合せ間隔変更処理を開始する(スタート)。
存在問合せ間隔変更処理が開始されると、制御部11は、存在問合せ間隔Xを初期値、例えば2時間とし、次の存在問合せ時刻Tmを現在時刻(例えば、2005年8月1日14時20分00秒)とし、ターゲットとなるルーティングテーブルの位置[i][j]を[0][0]に決定する(ステップS1)。
ここで、ルーティングテーブルの位置について説明すると、領域[i][j]における[i]はレベル数に対応し、[j]は各レベルにおける注目桁Yの列に対応する。本実施形態では、図5(B)のルーティングテーブルにおける最も上側で最も左側でありノードAが記憶されている領域を[0][0]とし、レベルが上がり下側の領域になるにつれて[i]の値が増加し、注目桁の数が上がり右側の領域になるにつれて[j]の値が増加する。本実施形態においては、ルーティングテーブルにおけるノードIDが4桁4進数で構成されるため、[i]の最大値が[3]となり、[j]の最大値も[3]となる。
具体的に、図5(B)のルーティングテーブルにおける最も下側で最も右側でありノードID「2133」に対応する領域を[3][3]とする。後述するステップS14にあるように、jの値が全列の値である4と同一となると、当該レベルの全ての領域について各処理が完了しているため次のレベルに移行する。また、後述するステップS19にあるように、iの値が全レベルの値である4と同一となると、全ての領域について各処理が完了しているため、最初の[0][0]の領域に移行する。
フローチャートに戻ると、次いで、制御部11は、ルーティングテーブルの[i][j]の位置、すなわち[0][0]の位置に自ノード装置が登録されているか否かを判断する(ステップS2)。制御部11は、図5(B)に示すルーティングテーブルを参照し、[0][0]の位置にノードAが登録されており、自ノード装置が登録されていないと判断すると(ステップS2:NO)、次の問合せ時刻Tmを、それまでの問合せ時刻Tm+Xの時刻とする(ステップS3)。具体的には、Tmが2005年8月1日14時20分00秒であり、間隔Xが2時間であるため、次の問合せ時刻Tmは、2005年8月1日16時20分00秒である。
ノードZの制御部11は、現在時刻が次の存在問合せ時刻Tm以降であるか否かを判断し(ステップS4)、現在時刻が次の存在問合せ時刻Tm以降でないと判断した場合には(ステップS4:NO)、電源がオフとなったか否か判断する(ステップS5)。具体的に、次の存在問合せ時刻Tmである2005年8月1日16時20分00秒の前である場合には現在時刻が次の存在問合せ時刻Tm以降でないと判断し、通常、すぐに電源オフとはならないため、電源がオフとなっていないと判断し(ステップS5:NO)、ステップS4に戻る。このようにして、現在時刻が次の存在問合せ時刻になるまでステップS4とS5とを繰り返す。実際には、次の存在問合せ時刻Tmまで待って、次のステップS6が行われ、この間に電源が切れると存在問合せ間隔変更処理が終了することとなる。
現在時刻が次の存在問合せ時刻Tm以降となると、制御部11は、現在時刻が次の存在問合せ時刻Tm以降であると判断し(ステップS4:YES)、ルーティングテーブルの[0][0]に他のノード装置1が登録されているか否かを判断する(ステップS6)。具体的に、ルーティングテーブルの[0][0]にはノードAが登録されているため、そのように判断し(ステップS6:YES)、登録されているノード装置のノードIDを「ID1」と決めて記憶する(ステップS7)。具体的には、ルーティングテーブル[0][0]の位置に登録されているノードAのノードID「0132」を「ID1」と決めて記憶する。
制御部11は、このとき、テーブル変更フラグをオフにする(ステップS8)。このテーブル変更フラグは、後述するように、存在問合せ間隔Xを変更する基準となるものである。テーブル変更フラグがオンであれば、ルーティングテーブルに変更があったことを示し、テーブル変更フラグがオフであれば、ルーティングテーブルに変更がなかったことを示す。
次いで、存在問合せ手段としての制御部11は、「ID1」についてのルートノードを検索する処理を行い、回答情報の送信元となるノード装置(ルートノード;この例ではノードA)のノードIDを「ID2」と決めて記憶する(ステップS9)。このステップS9の処理は、図8の(2)ルートノード検索処理として後述する。なお、この処理において、テーブル変更フラグがオンになる場合がある。
次いで、回答情報判断手段としての制御部11は、「ID2」が新たにルーティングテーブルに登録が可能か否かを判断する(ステップS10)。ここで、「ID2」が存在しているノードAに対応するものである場合は、「ID2」が「ID1」と同一であるため、新たに登録する必要がなく、制御部11は、「ID2」は新たにルーティングテーブルに登録が可能でないと判断する(ステップS10:NO)。このように、回答情報判断手段としての制御部11は、回答情報の送信元のノード装置(「ID2」に対応)が存在問合せ情報に対応するノード装置(「ID1」に対応)か否かを判断し、この結果及びルーティングテーブルの登録状況に応じて「ID2」が新たに登録可能か否かを判断している。
次いで、間隔制御手段としての制御部11は、上述のテーブル変更フラグがオンか否かを判断する(ステップS11)。具体的に、この処理においてはテーブル変更フラグがオフのままであれば、制御部11は、テーブル変更フラグがオンでないと判断し(ステップS11:NO)、存在問合せ間隔Xを2倍の値にする(ステップS12)。具体的には、存在問合せ間隔Xが2時間であったのを2倍の4時間とする。
次いで、制御部11は、ターゲットとなるノードIDの領域[i][j]の[j]を[j+1]の値に変更する(ステップS13)。具体的には、元のノードAの領域[i][j]が[0][0]であったため、制御部11は、[i][j]を[0][1]に変更する。次いで、制御部11は、変更後の[j]の値が全列の値と同一か否かを判断する(ステップS14)。具体的には、変更後の[j]の値、[1]が全列の値[4]と同一でないため、制御部11は、変更後の[j]の値が全列の値と同一でないと判断し(ステップS14:NO)、ステップS2に戻る。このようにして、ルーティングテーブルの一のノードIDの領域[0][0]における存在問合せ間隔変更処理が終了し、次の領域[0][1]の処理に移る。
次いで、制御部11は、ルーティングテーブルの[0][1]の領域に記憶されているノードBについて、ステップS2からの処理を行う。ルーティングテーブルの位置[0][1]の領域に自ノード装置が登録されていないため(ステップS2:NO)、ステップS3に進む。
次いで、制御部11は、次の存在問合せ時刻Tmをそれまでの存在問合せ時刻Tmに存在問合せ間隔Xを足した値とする(ステップS3)。具体的に、制御部11は、次の存在問合せ現在時刻Tmである2005年8月1日16時20分00秒に、変更した存在問合せ間隔X4時間を足し、次の存在問合せ時刻Tmを2005年8月1日20時20分00秒とする。
ステップS4からS8を経て、2005年8月1日20時20分00秒以降に、ノードBのノードID「1001」を「ID1」として記憶し、テーブル変更フラグをオフにする。ステップS9において、ノードBがシステムSから脱退している場合には、制御部11はノードBから回答情報を受信できない。また、ステップS9において、テーブル変更フラグがオンになり、ノードBのノード情報が削除され、他のノード装置1からノードBのノードIDのルートノードである旨の回答情報が送信されてくるため、当該回答情報の送信元のノード装置のノードIDを「ID2」として記憶する。
次いで、制御部11は、ステップS10において、「ID2」が新たに登録可能であれば(ステップS10:YES)、「ID2」のノード装置1のノード情報をルーティングテーブルに登録し(ステップS15)、テーブル変更フラグをオンにする(ステップS16)。なお、「ID2」が新たに登録可能とは、ルーティングテーブルにおける「ID2」に該当する領域に他のノード装置1が登録されていない場合をいう。
次いで、制御部11は、ステップS11において、テーブル変更フラグがオンであると判断し(ステップS11:YES)、存在問合せ間隔Xの値を1/2倍の値にする(ステップS17)。具体的には、存在問合せ間隔Xが4時間であったのを1/2倍の2時間とする。なお、これ以降の図7の説明において、存在問合せ間隔X及び次の問合せ時刻Tmの具体的数値は省略して説明するが、上述してきたのと同様に、ステップS12またはS17において存在問合せ間隔Xが変更され、これに基づいてステップS3において次の存在問合せ時刻Tmが決定される。
次いで、制御部11は、ステップS13において、元のノードBの領域[i][j]が[0][1]であったため、制御部11は、[i][j]を[0][2]に変更する。次いで、制御部11は、ステップS14において、変更後の[j]の値、[2]が全列の値[4]と同一でないため、制御部11は、変更後の[j]の値が全列の値と同一でないと判断し(ステップS14:NO)、ステップS2に戻る。このようにして、ルーティングテーブルの一のノードIDの領域[0][1]における存在問合せ間隔変更処理が終了し、次の領域[0][2]の処理に移る。
次いで、制御部11は、ルーティングテーブルの[0][2]の領域に記憶されているノード装置について、ステップS2からの処理を行う。ここで、ルーティングテーブルの領域[0][2]に自ノード装置が登録されているため(ステップS2:YES)、ステップS13に進む。
次いで、制御部11は、ステップS13において、自ノード装置が存在する領域[i][j]が[0][2]であったため、制御部11は、[i][j]を[0][3]に変更する。次いで、制御部11は、ステップS14において、変更後の[j]の値、[3]が全列の値[4]と同一でないため、制御部11は、変更後の[j]の値が全列の値と同一でないと判断し(ステップS14:NO)、ステップS2に戻る。このようにして、ルーティングテーブルの一のノードIDの領域[0][2]が自ノード装置の存在する領域であるため、当該領域の存在問合せ間隔変更処理は行わず、次の領域[0][3]の処理に移る。
次いで、制御部11は、ルーティングテーブルの[0][3]の領域に記憶されているノードCについて、ステップS2からの処理を行う。ルーティングテーブルの位置[0][3]の領域に自ノード装置が登録されていないため(ステップS2:NO)、ステップS3に進む。そして、ステップS3〜S12またはS15〜17を経て、ステップS13に進む。
次いで、制御部11は、ステップS13において、元のノードCが存在する領域[i][j]が[0][3]であったため、制御部11は、[i][j]を[0][4]に変更する。次いで、制御部11は、ステップS14において、変更後の[j]の値、[4]が全列の値[4]と同一であるため、制御部11は、変更後の[j]の値が全列の値と同一であると判断し(ステップS14:YES)、ターゲットとなるノードIDの領域(ルーティングテーブルの位置)[i][j]の[j]を0、[i]をi+1の値にする(ステップS18)。具体的には、元のノードCが存在する領域[i][j]が[0][3]であったため、制御部11は、[i][j]を[1][0]に変更する。
次いで、制御部11は、変更後の[i]の値が全レベルの値と同一か否かを判断する(ステップS19)。具体的には、変更後の[i]の値、[1]が全レベルの値[4]と同一でないため、制御部11は、変更後の[i]の値が全レベルの値と同一でないと判断し(ステップS19:NO)、ステップS2に戻る。このようにして、ルーティングテーブルのレベル1のノードID全ての領域[0][−]における存在問合せ間隔変更処理が終了し、次の領域[1][−]の処理に移る。
次いで、ルーティングテーブルにおけるレベル2に登録されているノードD、ノードEについても同様の各ステップにより処理が行われる。
そして、ノードID[1][3]のノード装置1の情報が登録(記憶)されていない領域についての処理を説明する。
ステップS2からS6を経て、次の問合せ時刻Tm以降に、ルーティングテーブルの[1][3]に他のノード装置1が登録されているか否かを判断する(ステップS6)。具体的に、ルーティングテーブルの[1][3]には他のノード装置1が登録されていないため、そのように判断し(ステップS6:NO)、ルーティングテーブルの位置[1][3]に登録できるノード装置の適当なノードIDを「ID1」と決めて記憶する(ステップS20)。ここでは、図5(C)に示すように、ルーティングテーブルの位置[1][3]に登録できるノードIDを「2300」とする。なお、ルーティングテーブルの位置[1][3]に登録できるノードIDは「2300」〜「2333」であるため、この範囲内のノードIDを「ID1」として用いることができる。
制御部11は、このとき、テーブル変更フラグをオフにする(ステップS8)。そして、後述するステップS9を経て、ノードID「2312」のノードFから回答情報が送信されてきた場合には、制御部11は、当該ノードID「2312」を「ID2」として記憶する。
次いで、制御部11は、ステップS10において、「ID2」が新たにルーティングテーブルに登録が可能であると判断する(ステップS10:YES)。なお、「ID2」である「2312」は、ルーティングテーブルの空いている[1][3]の領域(レベル2、各レベルの注目桁Y=3)に登録できるノードIDであるため、制御部11は、上述のように判断する。
次いで、制御部11は、「ID2」に対応するノードFのノード情報をルーティングテーブルに登録し(ステップS15)、テーブル変更フラグをオンにする(ステップS16)。
次いで、制御部11は、ステップS11において、テーブル変更フラグがオンであると判断し(ステップS11:YES)、存在問合せ間隔Xの値を1/2倍の値にする(ステップS17)。
次いで、制御部11は、ステップS13において、ノードFの領域[i][j]が[1][3]であったため、制御部11は、[i][j]を[1][4]に変更する。次いで、制御部11は、ステップS14において、変更後の[j]の値、[4]が全列の値[4]と同一であると判断し(ステップS14:YES)、ステップS18において、ノードFが存在する領域[i][j]が[1][3]であったため、領域[i][j]を[2][0]に変更する。
次いで、制御部11は、ステップS19において、変更後の[i]の値、[2]が全レベルの値[4]と同一でないと判断し(ステップS19:NO)、ステップS2に戻る。このようにして、ルーティングテーブルのレベル2のノードID全ての領域[1][−]における存在問合せ間隔変更処理が終了し、次の領域[2][−]の処理に移る。
次いで、ルーティングテーブルにおけるレベル3のノードG、他のノード装置1が登録されていない領域[2][1]、[2][2]についても同様の各ステップにより処理が行われる。さらに、ルーティングテーブルにおけるレベル4の他のノード装置1が登録されていない領域[3][0]、[3][1]、[3][3]についても同様の各ステップにより処理が行われる。
ルーティングテーブルの領域[3][3]について、各ステップを経て、ステップS19まで進むと、制御部11は、ステップS19において、変更後の[i]の値、[4]が全レベルの値[4]と同一であると判断し(ステップS19:YES)、ターゲットとなるノードIDの領域(ルーティングテーブルの位置)[i][j]の[i]を0にする(ステップS21)。具体的には、領域[i][j]が[0][4]となっているため、制御部11は、[i][j]を[0][0]に変更し、ステップS2に戻る。
このようにして、存在問合せ間隔変更処理を行う領域がルーティングテーブルの最初の領域[0][0]に戻り、当該ノード装置(ノードZ)の電源がオンになっている間は、上述してきたように、各領域について順番に存在問合せ及び問合せ間隔の変更が行われる。そして、ノードZの電源がオフになった場合には、ステップS5において、制御部11は電源がオフであると判断し(ステップS5:YES)、当該存在問合せ間隔変更処理を終了する(エンド)。
このようにして、ルーティングテーブルにおける各ノードIDの領域について、順番に存在問合せ情報を送信し、その存在の有無を確認することができ、ルーティングテーブルの変更の有無に基づいて存在問合せ間隔Xを変更することができる。なお、存在問合せを送信する順番は、ルーティングテーブルに記載された(並んでいる)順としたが、各領域に平等に存在問合せ情報を送信することができれば、この順番は限定されるものではない。
(2)ルートノード検索処理
図8を参照して、ノードZにおける上述のステップS9に対応するルートノード検索処理について説明する。以下においては、まず、ルーティングテーブルの領域[i][j]が[0][0]であるノードAの領域を例に説明する。なお、ルートノードは、目的のノードIDに対し、ノードID空間において最も近いと判断されるノードIDに対応するノード装置1を示す。
ノードZの制御部11は、上述の図7におけるステップS8によりノードAの領域[0][0]についてテーブル変更フラグをオフにすると(ステップS8)、図8のルートノード検索処理を開始する(ステップS9:スタート)。
存在問合せ手段としての制御部11は、ノードID空間において「ID1」のノードIDに最も近いノード装置のノードIDをテーブルから選択する(ステップS31)。具体的には、図7を用いて説明したように、「ID1」が「0132」であるため、当該ノードID「0132」が「ID1」のノードIDに最も近いノードIDとして選択される。
次いで、制御部11は、選択したノードIDが自ノード装置のノードIDか否かを判断する(ステップS32)。具体的には、選択したノードID「0132」は自ノード装置のノードID「2132」ではないため、制御部11はそのように判断し(ステップS32:NO)、存在問合せ手段としての制御部11は、選択したノードIDに対応するノード装置1に「ID1」の存在問合せ情報を送信する(ステップS33)。ここでは、選択したノードID「0132」に対応するノードAに対し、「ID1」である「0132」のノード装置の存在の有無を問い合わせる。問い合わせられたノードAの処理については、図9を用いて後述する。
ノードAが存在している場合には、ノードA自身が当該ノードIDのルートノードになるため、その旨の回答情報がノードAからノードZに送信される。そこで、回答情報受信手段としての制御部11は、回答情報を受信したか否かを判断し(ステップS34)、ここでは、回答情報を受信しているため(ステップS34:YES)、回答情報の送信元のノードIDを「ID2」として記憶する(ステップS35)。具体的に、制御部11は、回答情報の送信元であるノードAのノードID「0132」を「ID2」として記憶し、ルートノード検索処理を終了して(エンド)、図8のステップS10に進む。
次いで、ルーティングテーブルの領域[i][j]が[0][1]であるノードBの領域を例に説明する。
ノードZの制御部11は、上述の図7におけるステップS8によりノードBの領域[0][1]についてテーブル変更フラグをオフにすると(ステップS8)、図8のルートノード検索処理を開始する(ステップS9:スタート)。
ノードZの制御部11は、ステップS31において、ノードBの領域についての「ID1」が「1001」であるため、当該ノードID「1001」が「ID1」のノードIDに最も近いノードIDとして選択する。
次いで、制御部11は、ステップS32において、選択したノードID「1001」は自ノード装置のノードID「2132」ではないと判断し(ステップS32:NO)、ステップS33において、選択したノードID「1001」に対応するノードBに対し、「ID1」である「1001」のノード装置の存在の有無を問い合わせる。
ノードBが存在しなくなっている場合には、ノードBから回答情報が得られないため、制御部11は、ステップS34において、回答情報を受信していないと判断し(ステップS34:NO)、問い合わせてから、すなわち存在問合せ情報を送信してから所定の時間が経過したか否かを判断する(ステップS36)。具体的には、所定の時間を例えば2分と設定しておき、存在問合せ情報を送信してから2分が経過していない場合には、そのように判断して(ステップS36:NO)ステップS34の判断に戻り、当該所定の時間が経過する(ステップS36:YES)か、または、回答情報を受信する(ステップS34:YES)までステップS34:NO、ステップS36:NOを繰り返す。
次いで、制御部11は、問い合わせてから所定の時間が経過した場合(ステップS36:YES)には、選択したノードIDに対応するノード装置がシステムSから脱退したと判断されるため、選択したノードIDのノード情報をルーティングテーブルから削除する(ステップS37)。具体的には、ノードZの制御部11は、ルーティングテーブルからノードBのノード情報を削除する。
次いで、制御部11は、ルーティングテーブルに変更があったため、テーブル変更フラグをオンにし(ステップS38)、ステップS31に戻る。
次いで、制御部11は、ステップS31において、ノードBの領域についての「ID1」が「1001」であるため、ノード情報が削除されたノードB以外で「ID1」のノードIDに最も近いノードAのノードIDを選択する。
そして、制御部11は、ステップS32:YES、S33、S34:YESを経ると、ステップS35において、回答情報を受信したあるノード装置1のノードIDを「ID2」とし、ルートノード検索処理を終了する(エンド)。なお、ノードAは、図9を用いて後述するように、存在問合せ情報の転送処理を行う。
また、詳述しないが、ステップS31において、ルーティングテーブルにおける他のノード装置1が登録されていない領域であって、上述の[1][3]の領域について存在問合せ情報を送信する場合には、「ID1」である「2300」に最も近いノードEのノードIDを選択し、ノードEに対して存在問合せ情報を送信することとなる(ステップS33)。
また、ルーティングテーブルにおける他のノード装置1が登録されていない領域であって、上述の[3][1]の領域について存在問合せ情報を送信する場合について説明する。この場合には、「ID1」は「2131」となるため、ステップS31において、ノードZの制御部11は、「ID1」である「2131」に最も近いノード装置のノードIDとして、自ノード装置のノードID「2132」を選択する。次いで、制御部11は、ステップS32において、選択したノードIDは自ノード装置のノードID「2132」であると判断する(ステップS32:YES)。次いで、制御部11は、自ノード装置のノードID「2132」を「ID2」として記憶し(ステップS39)、当該処理を終了する(エンド)。なお、自ノード装置のノードIDを「ID2」とした場合には、上述のステップS10において、「ID2」は新たに登録が可能でない(ステップS10:NO)と判断される。
このように、(1)の存在問合せ間隔変更処理と、(2)のルートノード検索処理において、ルーティングテーブルに変更があった場合にテーブル変更フラグがオンにされ、ルーティングテーブルに変更がなかった場合にはテーブル変更フラグがオフのままであるため、このテーブル変更フラグに応じて(1)の処理におけるステップS11、S12、S17で存在問合せ間隔Xが変更されることとなる。
(3)存在問合せ対応処理
図9を参照してノードZから存在問合せ情報を受信したノードA及びノードEの存在問合せ対応処理について説明する。ノードA及びノードEは、図8におけるステップS33において、ノードZが送信した存在問合せ情報を受信したことを前提とする。
まず、ノードAは、ノードZから存在問合せ情報を受信すると、存在問合せ対応処理を開始する(スタート)。ノードAの制御部11は、自ノード装置のルーティングテーブルから、受信した存在問合せ情報に含まれるノードIDに最も近いノード装置のノードIDを選択する(ステップS41)。具体的に、ノードAは、受信した存在問合せ情報にノードID「0132」が含まれているため、このノードIDに最も近いノード装置1は自ノード装置であると判断し、自ノード装置のノードID「0132」を選択する。
次いで、転送判断手段としての制御部11は、選択したノードIDが自ノード装置のノードIDか否かを判断する(ステップS42)。具体的には、制御部11は、選択したノードID「0132」が自ノード装置のノードIDであるため、そのように判断し(ステップS42:YES)、回答送信手段としての制御部11は、自ノード装置が問合せに係るノード装置1のルートノードである旨の回答情報を存在問合せ情報の送信元のノード装置に送信し(ステップS43)、存在問合せ対応処理を終了する。具体的には、ノードAは、自己がルートノードである旨の回答情報をノードZに送信する。なお、ステップS43においてノードAが回答情報を送信すると、ノードZにおいて、図8におけるステップS34:YESの処理が開始される。なお、上述の処理は、存在問合せ情報の送信元であるノード装置1(ノードZ)以外のノード装置1から転送されてきた場合にも同様である。
また、図5(C)に示すように、ノードEがノードID「2300」に係る存在問合せ情報を受信した場合を例に存在問合せ対応処理について説明する。
ノードEは、ノードZから存在問合せ情報を受信すると、存在問合せ対応処理を開始する(スタート)。ノードEの制御部11は、ステップS41として、受信した存在問合せ情報にノードID「2300」が含まれているため、ルーティングテーブルにおいてこのノードIDに最も近いノード装置1はノードID「2312」であるノードFであると判断し、ノードID「2312」を選択する。
次いで、転送判断手段としての制御部11は、選択したノードID「2312」が自ノード装置のノードIDでないため、選択したノードIDが自ノード装置のノードIDでないと判断する(ステップS42:NO)。そして、問合せ情報転送手段としての制御部11は、選択したノードIDに対応するノード装置1に存在問合せ情報を送信(転送)する(ステップS44)。具体的には、ノードEは、選択したノードIDに対応するノードFに存在問合せ情報を転送する。
次いで、制御部11は、存在問合せ情報の転送に成功したか否かを判断し(ステップS45)、転送に成功した場合には(ステップS45:YES)、存在問合せ対応処理を終了する(エンド)。
なお、ステップS45において、転送先のノード装置1が存在しなくなっており、転送に成功しなかった場合には(ステップS45:NO)、制御部11は、当該存在しなくなったノード装置1のノード情報をルーティングテーブルから削除し(ステップS46)、ステップS41に戻る。次いで、制御部11は、ステップS41、S42を経て、転送可能なノード装置1に対して存在問合せ情報を送信し(ステップS44)、又は、自ノード装置がルートノードである旨の回答情報を送信し(ステップS43)、上述のような各処理が行われて、存在問い合わせ対応処理が終了する(エンド)。
なお、ステップS44においてノードEが存在問合せ情報を転送すると、ノードFにおいて、同様に、図9におけるステップS41における処理が開始される。上述の処理は、存在問合せ情報の送信元のノード装置1(ノードZ)以外のノード装置1から転送されてきた場合にも同様である。
[4.変形形態]
上述の各実施形態においては、通信経路を介して互いに接続された複数のノード装置の参加により形成されたピアツーピア型の情報通信システムSであって、分散ハッシュテーブル(DHT)を利用したルーティングテーブルを各ノード装置1が記憶していることとして説明したが、本発明はこの形態に限定されない。具体的には、各ノード装置1が情報通信システムS内における他の一部のノード装置1の情報を記憶しており、記憶しているノード装置1の存在を問い合わせることによりノード装置の存在を確認する形態であれば、本発明を適用することができる。
また、ノード装置1、DHTを利用したルーティングテーブルのように、他のノード装置1の識別情報が属する領域毎に各ノード装置1の情報を記憶している場合には、好ましく本発明を適用できる。この場合には、ノード装置1は、識別情報の属する領域毎に存在問合せ情報を送信し、識別情報の属する領域毎に存在問合せ情報を送信する間隔Xを変更する形態とすることができる。
上述の実施形態に説明したように、ノード装置1は、少なくとも記憶部12に記憶している識別情報(本実施形態のノードID)に対応するノード装置1の存在を問い合わせる存在問合せ情報を他のノード装置1に送信し、当該存在問合せ情報に対して返信されてきた回答を示す回答情報を受信し、回答情報の受信成否又は回答情報の内容から認識される他のノード装置1の存在の有無に基づいて存在問合せ情報を送信する間隔Xを変更することができればよい。
本発明における存在問合せ情報を送信する間隔は、上述の実施形態における存在問合せ間隔Xに該当する。間隔制御手段がこの存在問合せ情報を送信する間隔を変更する場合には、上述の実施形態のように存在問合せ間隔Xを変更して次の問合せ時刻Tmを決定してもよいし、存在問合せ間隔Xのパラメータを具体的に用いることなく間隔を変更して次の問合せ時刻Tmを決定してもよい。
なお、上述の実施形態において、問合せ時刻Tmを設定していたが、問い合わせ時間を設定し、設定した直後からの時間をタイマにてカウントし、設定時間となったら、問い合わせを行うようにしても良い。
上述の実施形態においては、図7を用いて説明したように、次の存在問合せ時刻Tmは、以前の存在問合せ時刻Tmに変更後の存在問合せ間隔Xを加えた時刻としているが、本発明において、次の存在問合せ時刻Tmの決定の仕方はこれに限定されない。具体的には、ノード装置1が存在問合せに係る他のノード装置1以外のノード装置1から回答情報を受信した場合や、コンテンツ要求情報等の他の情報を受信した場合に、当該情報の送信元のノード装置1の情報を新たにルーティングテーブル等に登録できる場合には、当該情報をルーティングテーブル等に記憶し、存在問合せ間隔Xを短く変更することができる。
このように存在問合せ間隔Xを短くした場合には、直前の存在問合せ時刻Tmに変更後の間隔Xを加えた時刻Tmを次の存在問合せ時刻Tmとすることもできる。このように次の存在問合せ時刻Tmを変更すると、変更した存在問合せ時刻Tmが現在時刻以降となる場合には、現在時刻を存在問合せ時刻Tmとして、それ以降の存在問合せ間隔Xを変更することもできる。
上述の実施形態において、図7を用いて説明したノードZの存在問合せ間隔変更処理においては、存在問合せ間隔Xを変更するに際し、所定数を掛けること、具体的には2倍又は1/2倍にすることにより変更しているが、この形態は特に限定されない。存在問合せ情報を送信する間隔(存在問合せ間隔)Xの値に所定数を掛けるほか、存在問合せ間隔Xの値を所定数で割ること、存在問合せ間隔Xの値に所定数を足すこと、又は、存在問合せ間隔Xの値から所定数を引くこと、の少なくともいずれか一により間隔の値を変更することができる。この所定数も特に限定されず、存在問合せ間隔Xが適切な範囲で変動していくようにすればよい。
また、上述の実施形態において、図6を用いて存在問合せ間隔Xを説明した際には上限値を設ける形態としたが、この形態も特に限定されず、下限値を設けてもよいし、上限値、下限値を設けなくてもよい。しかしながら、存在問合せ間隔Xの上限値、下限値を設けることにより、存在問合せ間隔Xが長すぎたり、短すぎるために情報通信システムSの通信状況が悪化することを防止できる。この上限値、下限値も特に限定されず、存在問合せ間隔Xが適切な範囲で変動していくように設定すればよい。また、図7のフローチャートにおいては、存在問合せ間隔Xの上限値や下限値を設定した形態となっていないが、上限値を設定する場合には、ステップS12の後に存在問合せ間隔Xの値が上限値よりも大きい場合には存在問合せ間隔Xを上限値に変更する処理を加えればよい。存在問合せ間隔Xの下限値を設定する場合には、ステップS17の後に存在問合せ間隔Xの値が下限値よりも小さい場合には存在問合せ間隔Xを下限値に変更する処理を加えればよい。
上述の実施形態においては、ルーティングテーブルの変更の有無が明確になるように「テーブル変更フラグ」を利用して存在問合せ間隔変更処理を行ったが、この「テーブル変更フラグ」を用いずに当該処理を行うことも可能である。
上述の実施形態において、図7を用いて説明した存在問合せ間隔変更処理は、一のルーティングテーブルについて、一の存在問合せ間隔Xと次の問合せ時刻Tmの値を用い、ノードIDの各領域について順番に存在問合せ情報の送信と間隔Xの変更を行っている。存在問合せ間隔変更処理は、この形態に限定されず、ノードIDの各領域毎に存在問合せ間隔Xと次の問合せ時刻Tmの値を設定し、存在問合せ情報の送信と間隔Xの変更を行ってもよい。また、存在問合せ間隔変更処理は、一のルーティングテーブルについて一の存在問合せ間隔Xと次の問合せ時刻Tmの値を設定し、問合せ時刻Tmになったら各領域のノードIDについて一斉に存在問合せ情報の送信を行い、この結果に応じて間隔Xの変更を行ってもよい。
また、上述のノード装置1の各動作に対応するプログラムをフレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、或いはインターネット等のネットワークを介して取得して記録しておき、これをマイクロコンピュータ等により読み出して実行することにより、当該マイクロコンピュータを各実施形態に係る制御部11として機能させることも可能である。
本実施形態に係る情報通信システムにおける各ノード装置の接続態様の一例を示す図である。 DHTによるID空間及びルーティングテーブルが作成される様子の一例を示す図である。 (A)レベル1のテーブルの一例である。(B)レベル2のテーブルの一例である。(C)レベル3のテーブルの一例である。(D)完成したルーティングテーブルの一例である。 ノード装置1の概要構成例を示す図である。 (A)(B)は本実施形態においてノードZが保持するルーティングテーブルの一例であり、(C)(D)はノードZが他のノード装置の存在を問い合わせる際の様子を模式的に示す図である。 あるノードIDの領域について存在問合せ間隔が変動する様子の一例を示す図である。 本実施形態におけるノード装置1の存在問合せ間隔変更処理を示すフローチャートである。 本実施形態におけるノード装置1のルートノード検索処理を示すフローチャートである。 本実施形態におけるノード装置1の存在問合せ対応処理を示すフローチャートである。
符号の説明
1 ノード装置
8 ネットワーク
9 オーバレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S 情報通信システム

Claims (17)

  1. 複数のノード装置により生成されるオーバレイネットワークにより、前記複数のノード装置が相互に通信を行う情報通信システムであって、
    前記複数のノード装置に含まれるノード装置は、
    前記オーバレイネットワークに接続された前記複数のノード装置にメッセージを送信する送信先が登録されたルーティングテーブルであって、一以上の特定の前記ノード装置対応する固有の識別情報が登録された前記ルーティングテーブルを記憶する記憶手段と、
    前記記憶手段が記憶している前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置の存在を問い合わせる存在問合せ情報を、前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置に定期的に送信する存在問合せ手段と、
    前記存在問合せ情報に対して返信されてきた回答を示す回答情報を受信する回答情報受信手段と
    前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記ルーティングテーブルを更新する更新手段と、
    を有することを特徴とする情報通信システム。
  2. 請求項1に記載の情報通信システムであって、
    前記ノード装置は、
    前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記存在問合せ情報を定期的に送信する間隔を変更する間隔制御手段をさらに備え、
    前記存在問合せ手段は、さらに、前記ルーティングテーブルに前記識別情報が登録されていない前記識別情報の領域に属する前記識別情報に対応する前記ノード装置に向けてその存在を問い合わせる前記存在問合せ情報を送信し、
    前記間隔制御手段は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合、及び、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属する場合には、前記存在問合せ情報を定期的に送信する間隔を短くし、
    前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属しない場合には、前記存在問合せ情報を定期的に送信する間隔を長くすることを特徴とする情報通信システム。
  3. 複数のノード装置により生成されるオーバレイネットワークにより、前記複数のノード装置が相互に通信を行う情報通信システムにおける情報通信方法であって、
    前記複数のノード装置に含まれるノード装置が、前記オーバレイネットワークに接続された前記複数のノード装置にメッセージを送信する送信先が登録されたルーティングテーブルであって、一以上の特定の前記ノード装置に対応する固有の識別情報が登録された前記ルーティングテーブルを記憶する記憶工程、
    記憶されている前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置の存在を問い合わせる存在問合せ情報を、前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置に定期的に送信する存在問合せ工程、
    前記存在問合せ情報に対して返信されてきた回答を示す回答情報を受信する回答情報受信工程、
    前記ノード装置が、前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記ルーティングテーブルを更新する更新工程、
    を有することを特徴とする情報通信方法。
  4. 請求項3に記載の情報通信方法であって、
    前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記存在問合せ情報を定期的に送信する間隔を変更する間隔制御工程、
    をさらに有し、
    前記存在問合せ工程は、さらに、前記ルーティングテーブルに前記識別情報が登録されていない前記識別情報の領域に属する前記識別情報に対応する前記ノード装置に向けてその存在を問い合わせる前記存在問合せ情報を送信し、
    前記間隔制御工程は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合、及び、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属する場合には、前記存在問合せ情報を定期的に送信する間隔を短くし、
    前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属しない場合には、前記存在問合せ情報を定期的に送信する間隔を長くすることを特徴とする情報通信方法。
  5. 複数のノード装置により生成されるオーバレイネットワークにより、前記複数のノード装置が相互に通信を行う情報通信システムに含まれるノード装置であって、
    前記オーバレイネットワークに接続された前記複数のノード装置にメッセージを送信する送信先が登録されたルーティングテーブルであって、一以上の特定の前記ノード装置に対応する固有の識別情報が登録された前記ルーティングテーブルを記憶する記憶手段と、
    前記記憶手段が記憶している前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置の存在を問い合わせる存在問合せ情報を、前記ルーティングテーブルに登録された前記識別情報に対応する前記ノード装置に定期的に送信する存在問合せ手段と、
    前記存在問合せ情報に対して返信されてきた回答を示す回答情報を受信する回答情報受信手段と、
    前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記ルーティングテーブルを更新する更新手段と、
    を有することを特徴とするノード装置。
  6. 請求項5に記載のノード装置であって、
    前記回答情報の受信成否又は前記回答情報の内容から認識される前記ノード装置の存在の有無に基づいて、前記存在問合せ情報を定期的に送信する間隔を変更する間隔制御手段をさらに有することを特徴とするノード装置。
  7. 請求項6に記載のノード装置であって、
    前記間隔制御手段は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合には、前記存在問合せ情報を定期的に送信する間隔を長くし、
    前記回答情報を受信しない場合及び前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在しないことを認識した場合には、前記存在問合せ情報を定期的に送信する間隔を短くすることを特徴とするノード装置。
  8. 請求項6に記載のノード装置であって、
    前記回答情報を受信しない場合及び前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在しないことを認識した場合には、
    前記更新手段は、前記回答情報に対応する前記ノード装置の前記識別情報を前記ルーティングテーブルから削除し、且つ、前記回答情報の送信元の前記ノード装置に対応する前記識別情報の属する領域に属する前記識別情報が前記ルーティングテーブルに登録されていない場合には、前記回答情報の送信元の前記ノード装置に対応する前記識別情報を前記ルーティングテーブルに登録することを特徴とするノード装置。
  9. 請求項6乃至8のいずれか一項に記載のノード装置であって、
    前記存在問合せ手段は、前記ルーティングテーブルに前記識別情報が登録されていない前記識別情報の領域に属する前記識別情報に対応する前記ノード装置に向けてその存在を問い合わせる前記存在問合せ情報を送信し、
    前記回答情報を受信しない場合及び前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在しないことを認識した場合には、
    前記更新手段は、前記回答情報に対応する前記ノード装置の前記識別情報を前記ルーティングテーブルから削除し、且つ、前記回答情報の送信元の前記ノード装置に対応する前記識別情報の属する領域に属する前記識別情報が前記ルーティングテーブルに登録されていない場合には、前記回答情報の送信元の前記ノード装置に対応する前記識別情報を前記ルーティングテーブルに登録することを特徴とするノード装置。
  10. 請求項6乃至9のいずれか一項に記載のノード装置であって、
    前記存在問合せ手段は、前記識別情報の属する領域毎に前記存在問合せ情報を定期的に送信し、
    前記間隔制御手段は、前記識別情報の属する領域毎に前記存在問合せ情報を定期的に送信する間隔を変更することを特徴とするノード装置。
  11. 請求項10に記載のノード装置であって、
    前記間隔制御手段は、前記識別情報の属する領域における前記識別情報が削除され又は新たに登録された場合には、当該識別情報の属する領域における前記存在問合せ情報を定期的に送信する間隔を短くすることを特徴とするノード装置。
  12. 請求項6乃至11のいずれか一項に記載のノード装置において、
    前記存在問合せ手段は、さらに、前記ルーティングテーブルに前記識別情報が登録されていない前記識別情報の領域に属する前記識別情報に対応する前記ノード装置に向けてその存在を問い合わせる前記存在問合せ情報を送信し、
    前記間隔制御手段は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合、及び、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属する場合には、前記存在問合せ情報を定期的に送信する間隔を短くし、
    前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属しない場合には、前記存在問合せ情報を定期的に送信する間隔を長くすることを特徴とするノード装置。
  13. 請求項12に記載のノード装置であって、
    前記更新手段は、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在することを認識した場合、及び、前記回答情報により前記存在問合せ情報に対応する前記ノード装置が存在していないことを認識した場合であって前記回答情報の送信元の前記ノード装置に対応する前記識別情報が前記存在問合せ情報に対応する前記識別情報の属する領域に属する場合には、前記回答情報の送信元の前記ノード装置に対応する前記識別情報を前記ルーティングテーブルに登録することを特徴とするノード装置。
  14. 請求項6乃至13のいずれか一項に記載のノード装置であって、
    前記存在問合せ情報を受信した場合には、前記存在問合せ情報に付された前記識別情報に基づいて、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近いか否かを判断する転送判断手段と、
    前記転送判断手段が、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近いと判断した場合には、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近い旨の前記回答情報を送信する回答送信手段と、
    前記転送判断手段が、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近くないと判断した場合には、前記存在問合せ情報に対応する前記ノード装置に向けて前記存在問い合わせ情報を送信する問合せ情報転送手段と、
    前記回答情報受信手段が、前記存在問合せ情報に対応する前記ノード装置に自ノード装置が最も近い旨の前記回答情報を受信した場合には、当該回答情報の送信元の前記ノード装置が前記存在問合せ情報に対応する前記ノード装置か否かを判断する回答情報判断手段と、
    をさらに有し、
    前記存在問合せ手段は、問い合わせに係る前記ノード装置の前記識別情報を付して前記存在問合せ情報を送信し、
    前記間隔制御手段は、前記回答情報判断手段により前記回答情報の送信元の前記ノード装置が前記存在問合せ情報に対応する前記ノード装置であると判断した場合には、前記存在問合せ情報に対応する前記ノード装置が存在することを認識し、前記回答情報判断手段により前記回答情報の送信元の前記ノード装置が前記存在問合せ情報に対応する前記ノード装置でないと判断した場合には、前記存在問合せ情報に対応する前記ノード装置が存在しないことを認識することを特徴とするノード装置。
  15. 請求項6乃至14のいずれか一項に記載のノード装置であって、
    前記間隔制御手段は、前記存在問合せ情報を定期的に送信する間隔の値に所定数を掛けること、当該間隔の値を所定数で割ること、当該間隔の値に所定数を足すこと、又は、当該間隔の値から所定数を引くこと、の少なくともいずれか一により間隔の値を変更することを特徴とするノード装置。
  16. 請求項6乃至15のいずれか一項に記載のノード装置であって、
    前記間隔制御手段は、前記存在問合せ情報を定期的に送信する間隔の上限値又は下限値の少なくともいずれか一方を規定することを特徴とするノード装置。
  17. コンピュータを、請求項5乃至16のいずれか一項に記載のノード装置として機能させることを特徴とする情報処理プログラム。
JP2005260479A 2005-09-08 2005-09-08 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム Expired - Fee Related JP4622755B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005260479A JP4622755B2 (ja) 2005-09-08 2005-09-08 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005260479A JP4622755B2 (ja) 2005-09-08 2005-09-08 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2007074490A JP2007074490A (ja) 2007-03-22
JP4622755B2 true JP4622755B2 (ja) 2011-02-02

Family

ID=37935535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005260479A Expired - Fee Related JP4622755B2 (ja) 2005-09-08 2005-09-08 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP4622755B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2201729A1 (en) * 2007-10-16 2010-06-30 Telefonaktiebolaget LM Ericsson (PUBL) Radio telecommunications network node and method of adjusting routing table update interval
JP2010102612A (ja) 2008-10-27 2010-05-06 Seiko Epson Corp デバイス状態通知装置
WO2010137229A1 (ja) * 2009-05-26 2010-12-02 日本電気株式会社 定期処理実行システム、定期処理実行方法及び定期処理実行プログラム
JP5212292B2 (ja) * 2009-07-16 2013-06-19 ブラザー工業株式会社 情報通信システム、ノード装置、ノード装置確認方法及びプログラム
JP6028728B2 (ja) * 2011-07-01 2016-11-16 日本電気株式会社 オブジェクト配置装置、オブジェクト配置方法及びプログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207745A (ja) * 1997-01-24 1998-08-07 Matsushita Electric Works Ltd プロセッサ間生存確認方法
JP2001195377A (ja) * 2000-01-17 2001-07-19 Nec Software Kyushu Ltd 孤立判定システムとその管理方法及び記録媒体
JP2002369255A (ja) * 2001-06-08 2002-12-20 Sony Corp 無線通信方法、無線通信システム、並びに無線伝送装置
JP2004153439A (ja) * 2002-10-29 2004-05-27 Sharp Corp 無線通信システム及び通信端末
JP2004260530A (ja) * 2003-02-26 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> 通信異常状態対応通信方法
JP2004274652A (ja) * 2003-03-12 2004-09-30 Hitachi Ltd Ip網用の移動端末およびパケット通信方法
JP2004320260A (ja) * 2003-04-14 2004-11-11 Matsushita Electric Works Ltd 遠隔機器監視制御システムの生存確認方法及び遠隔機器監視制御システム
JP2005124204A (ja) * 2003-10-17 2005-05-12 Nec Corp ネットワークの監視方法およびシステム
JP2005159911A (ja) * 2003-11-27 2005-06-16 Fujitsu Prime Software Technologies Ltd 情報検索方法、情報検索装置、および情報検索プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207745A (ja) * 1997-01-24 1998-08-07 Matsushita Electric Works Ltd プロセッサ間生存確認方法
JP2001195377A (ja) * 2000-01-17 2001-07-19 Nec Software Kyushu Ltd 孤立判定システムとその管理方法及び記録媒体
JP2002369255A (ja) * 2001-06-08 2002-12-20 Sony Corp 無線通信方法、無線通信システム、並びに無線伝送装置
JP2004153439A (ja) * 2002-10-29 2004-05-27 Sharp Corp 無線通信システム及び通信端末
JP2004260530A (ja) * 2003-02-26 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> 通信異常状態対応通信方法
JP2004274652A (ja) * 2003-03-12 2004-09-30 Hitachi Ltd Ip網用の移動端末およびパケット通信方法
JP2004320260A (ja) * 2003-04-14 2004-11-11 Matsushita Electric Works Ltd 遠隔機器監視制御システムの生存確認方法及び遠隔機器監視制御システム
JP2005124204A (ja) * 2003-10-17 2005-05-12 Nec Corp ネットワークの監視方法およびシステム
JP2005159911A (ja) * 2003-11-27 2005-06-16 Fujitsu Prime Software Technologies Ltd 情報検索方法、情報検索装置、および情報検索プログラム

Also Published As

Publication number Publication date
JP2007074490A (ja) 2007-03-22

Similar Documents

Publication Publication Date Title
JP4418897B2 (ja) 情報配信システム、情報更新プログラム、及び情報更新方法等
JP4375303B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
JP4371056B2 (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
JP4599581B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
WO2006075424A1 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
US8190779B2 (en) Information processing apparatus and storing apparatus, information processing method and storing method, and recording medium that promptly and efficiently distributes content
JP2007280303A (ja) 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP2010028551A (ja) コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法
US8619631B2 (en) Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program
JP4715388B2 (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
JP4622755B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP4539603B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP2006195744A (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP2007200203A (ja) 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム
US8332463B2 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP2011211543A (ja) 情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP4692278B2 (ja) コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラム
JP2007235243A (ja) 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム
JP2008092236A (ja) コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
KR100436431B1 (ko) 피어투피어 네트워크상에서의 협업적인 정보 교환시스템
JP4770804B2 (ja) オーバレイネットワーク型通信システム、オーバレイネットワーク型ノード装置およびプログラム
WO2007125698A1 (ja) ノード装置、情報処理方法及びノード装置用プログラムが記録された記録媒体
JP4947106B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
JP2008181408A (ja) 通信システム、稼動制御方法、ノード装置及びノード処理プログラム
JP2008181409A (ja) 通信システム、ノード稼動制御方法、ノード稼動制御装置、及びノード稼動制御処理プログラム等

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080430

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100628

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: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101018

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees