JP5839041B2 - ノード装置および通信方法 - Google Patents

ノード装置および通信方法 Download PDF

Info

Publication number
JP5839041B2
JP5839041B2 JP2013538400A JP2013538400A JP5839041B2 JP 5839041 B2 JP5839041 B2 JP 5839041B2 JP 2013538400 A JP2013538400 A JP 2013538400A JP 2013538400 A JP2013538400 A JP 2013538400A JP 5839041 B2 JP5839041 B2 JP 5839041B2
Authority
JP
Japan
Prior art keywords
node
cluster
information
hello packet
list
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.)
Active
Application number
JP2013538400A
Other languages
English (en)
Other versions
JPWO2013054425A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013054425A1 publication Critical patent/JPWO2013054425A1/ja
Application granted granted Critical
Publication of JP5839041B2 publication Critical patent/JP5839041B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/025Updating only a limited number of routers, e.g. fish-eye update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/30Connectivity information management, e.g. connectivity discovery or connectivity update for proactive routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/32Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、ネットワークに属する複数のノード装置の間での通信方法と、ノード装置に関する。
無線アドホックネットワークに属するノード装置は、ルーティング情報を伝播させるために、Helloパケットを用いる。例えば、図1に示すアドホックネットワークに属するノード装置Aは、ノード装置Aが保持しているルーティング情報を含むHelloパケットを生成し、周期的にブロードキャストする。Helloパケットを受信したノード装置Bは、ノード装置Bが保持しているルーティング情報と、Helloパケットに含まれている情報を比較し、ノード装置Bが保持していなかったルーティング情報をHelloパケットから取得する。さらに、ノード装置Bは、Helloパケットから経路の品質情報も取得し、なるべく品質情報の良い経路を用いて通信を行う。この品質情報には、ループ情報も含まれている。このように、アドホックネットワークに属するノード装置は、Helloパケットを用いて、ネットワーク中に含まれている他のノード装置への経路情報を学習し、得られた最適経路を用いて通信を行う。ここで、アドホックネットワークに含まれている各ノード装置は、アドホックネットワーク中の他の全てのノード装置までの経路をルーティングテーブル中に保持する。例えば、ノード装置Aは、アドホックネットワーク中のノード装置A以外のノード装置の各々への経路情報をルーティングテーブルに保持する。このため、ノード装置Aは、例えば、ノード装置Bを介してノード装置Cにデータパケットを送信することができる。このようなアドホックネットワークに用いられるノード装置には、パケットの最終宛先ごとに中継先とするノードについての重み付け情報を格納する重み付けテーブルを備えるノード装置も含まれる。このノード装置では、パケットを転送する際に、パケットの宛先ノードに対応付けられた重み付けテーブルを参照して、パケットを中継するための宛先とするノードを特定する。
しかし、各ノード装置がアドホックネットワーク中の他の全てのノード装置までの経路をルーティングテーブル中に保持する方法では、ネットワーク中のノード装置の数が増加すると、ルーティングテーブルの大きさが大きくなってしまう。そこで、ネットワーク中のノード装置をクラスタに分け、各ノード装置が同一のクラスタ内のノード装置までの経路情報をルーティングテーブルに記憶する方法が考案されている。
関連する技術として、記憶装置、グループ分割装置、通信経路選択装置、中継装置を備えた無線通信装置が考案されている。この無線通信装置では、記憶装置に記憶された経路情報に基づいて無線通信装置が属するクラスタを決定し、その結果を記憶装置に記憶する。
国際公開第2009/130918号 特開2003−78530号公報
クラスタの生成の際には制御パケットが使用される。例えば、背景技術で述べた、記憶装置に記憶された経路情報に基づいて無線通信装置が属するクラスタを決定する無線通信装置は、クラスタに参加する場合とクラスタから離脱する場合に、制御パケットを送受信する。制御パケットがユニキャスト送信される場合や、ネットワーク中の全てのノード装置に向けてフラッディングされる場合は、制御パケットの送受信や中継処理により、ネットワーク中のノード装置の負荷が増大してしまうという問題がある。
本発明では、アドホックネットワーク中のノード装置にかかる負荷を小さくすることを目的とする。
ノード装置は、複数のノード装置を含むネットワーク中のノード装置であって、受信部、クラスタ生成部、ハローパケット生成部、送信部を備える。受信部は、隣接するノード装置である隣接ノード装置からパケットを受信する。クラスタ生成部は、ネットワーク中の前記複数のノード装置の中で、経路情報を記憶するノード装置のグループであるクラスタに含まれるノード装置の装置識別情報を記録したクラスタリストを生成する。ハローパケット生成部は、前記経路情報の通知に用いられるハローパケットに、前記クラスタを識別するクラスタ識別情報を格納した第1のハローパケットを生成する。送信部は、前記第1のハローパケットをブロードキャスト送信する。前記クラスタ生成部は、クラスタに所属していないフリーノード装置から、前記フリーノード装置を識別する装置識別情報と前記クラスタ識別情報が対応付けられた情報を含む第2のハローパケットを受信することがある。この場合、前記クラスタ生成部は、前記クラスタリストに記録されたノード装置の数が閾値に達するまで、前記フリーノード装置の装置識別情報を前記クラスタリストに追加する。
アドホックネットワーク中のノード装置にかかる負荷が小さくなる。
アドホックネットワークの例を示す図である。 クラスタが生成されたネットワークの例を示す図である。 ノード装置の構成の例を示す図である。 ハローパケットのフォーマットの例を示す図である。 ノード種別判定部が記憶するテーブルの例を示す図である。 ノード装置のハードウェア構成の例を示す図である。 クラスタが形成される前のアドホックネットワークの例を示す図である。 クラスタの生成の際に行われる動作の例を説明するシーケンス図である。 クラスタが形成された後のアドホックネットワークの例を示す図である。 クラスタ生成部の動作の例を説明するフローチャートである。 ノードリスト生成部の動作の例を説明するフローチャートである。 クラスタリスト更新部の動作の例を説明するフローチャートである。 参加処理部の動作の例を説明するフローチャートである。 第2および第3の実施形態に係るアドホックネットワークの例を示す図である。 第2の実施形態に係るクラスタの生成の際に行われる動作の例を説明するシーケンス図である。 第3の実施形態に係るクラスタの生成の際に行われる動作の例を説明するシーケンス図である。
図2はクラスタが生成されたネットワークの例を示す。図2に示すアドホックネットワークには、ノードN1〜N14の14台のノード装置が含まれており、隣接するノード装置は実線で結ばれている。以下の説明では、複数のノード装置が互いにパケットを送受信できる距離に位置することを「隣接する」と記載する。また、あるノード装置から送信されたパケットを受信できる範囲に位置するノード装置のことを、そのノード装置の「隣接ノード」と記載することがある。例えば、あるノード装置から送信されたハローパケットは、送信元のノード装置の隣接ノードで受信される。以下の説明で、ハローパケットは、ネットワークの経路情報を通知するために用いられるパケットであるものとする。ここで、経路情報には、隣接ノードを特定する情報と、隣接ノードがルーティングテーブルに保持している経路情報が含まれる。
図2では、アドホックネットワークに含まれるノードのうち、ノードN4が起点ノードに指定されているものとする。「起点ノード」とは、クラスタの生成を開始するノード装置であり、起点ノード自身を含むクラスタを生成する。この例では、ノードN4は、ノードN4を含むクラスタC1を生成する。また、ノードN4がクラスタの生成を開始した時点では、ノードN1〜N3、N5〜N14は、いずれもクラスタに所属していない。以下の説明では、クラスタに所属していないノード装置のことを「フリーノード」と記載することがある。
起点ノードは、生成しているクラスタの識別子とそのクラスタに参加しているノード装置の識別子を含むハローパケットを、ブロードキャスト送信する。フリーノードは、起点ノードから送信されたハローパケットにより生成中のクラスタの識別子を認識する。さらに、フリーノードは、クラスタに参加する場合、参加するクラスタの識別子とそのフリーノードの識別子を対応付けた情報を含むハローパケットを生成し、生成したハローパケットをブロードキャスト送信する。図2の例では、ノードN4に隣接するノードN1、N3、N5、N6は、起点ノードN4から送信されてきたハローパケットを受信することにより、生成が開始されたクラスタC1の識別子を認識する。ノードN1、N3、N5、N6はクラスタに所属していないので、クラスタC1の識別子を認識すると、クラスタC1に参加することを決定する。そこで、ノードN1、N3、N5、N6は、ハローパケットにより、それぞれのノードの識別子とクラスタC1の識別子を対応付けた情報をブロードキャスト送信する。
起点ノードN4は、生成したクラスタC1の識別子に対応付けてノードの識別子が通知されると、クラスタC1への参加の要求を受信したと認識する。そこで、起点ノードN4は、受信したハローパケットにより、生成中のクラスタに参加するノードを認識し、認識したノードをクラスタに加える。クラスタに加えられたノード装置は、そのノード装置がクラスタに含まれていることを、起点ノードからのハローパケットで確認する。以下の説明では、クラスタに参加しているノードを「参加ノード」と記載することがある。参加ノードは、参加しているクラスタの識別子を含むハローパケットをブロードキャストする。フリーノードは、参加ノードで生成されたハローパケットから生成中のクラスタの識別子を認識すると、前述の手順によりクラスタに参加する。これらの処理は、クラスタに含まれるノード装置の数が閾値に達するまで繰り返される。
クラスタに含まれるノード装置の数が閾値に達すると、起点ノードは、新たなクラスタの生成を要求する情報(生成要求)を含むハローパケットをブロードキャスト送信する。生成要求を受信した参加ノードは、受信した生成要求を含めたハローパケットを生成してブロードキャスト送信する。生成要求を含むハローパケットを受信したフリーノードは、新たな起点ノードとして動作して、クラスタの生成を開始する。図2の例では、閾値は7であり、ノードN1〜N7がクラスタC1に参加した後で、生成要求を含むハローパケットがブロードキャスト送信される。生成要求を含むハローパケットを受信したノードN8は、新たなクラスタC2の生成を開始し、クラスタC1と同様の方法によりクラスタC2が生成される。クラスタが生成されると、各ノード装置は、同一のクラスタ内の他のノード装置に至る経路をルーティングテーブルに記録する。
このように、実施形態にかかる方法では、クラスタの生成に用いられる情報は、ハローパケットにより送受信される。このため、クラスタ生成時にノード装置がパケットを送受信することにより発生する負荷は、クラスタの生成のために特別な制御パケットが用いられる場合に比べて小さい。さらに、クラスタが生成されると、各ノード装置は、アドホックネットワークに含まれる全てのノード装置までの経路を記憶しなくても良い。このため、各ノード装置のルーティングテーブルの大きさは、アドホックネットワークがクラスタに分割されていない場合に比べて小さくなる。このため、各ノード装置において、経路情報を記憶することにより生じる負荷の大きさも軽減される。また、クラスタの生成に用いられる情報は、ハローパケットにより送受信されるため、制御パケットを用いる場合に比べてクラスタを生成するために行われる情報の送受信による帯域の消費量が少なくて良い。従って、制御パケットを用いる場合に比べてデータの送受信に用いることができる帯域が大きくなる。
<装置構成>
図3は、ノード装置10の構成の例を示す。ノード装置10は、受信部11、送信部12、設定部21、ノード種別判定部22、参加処理部23、クラスタリスト更新部24、クラスタ生成部25、ノードリスト生成部26、ハローパケット生成部27を備える。さらに、ノード装置10は、ノード種別情報31、クラスタリスト32、フリーノードリスト33を記憶する。
受信部11は、隣接するノード装置10から送信されたパケットを受信し、ハローパケットをノード種別判定部22に出力する。送信部12は、パケットを隣接するノード装置10に送信する。例えば、送信部12は、ハローパケット生成部27で生成されたハローパケットを隣接するノード装置10に送信する。
図4は、ハローパケットのフォーマットの例を示す。図4(a)に示すように、ハローパケットは、ヘッダとペイロードを含む。ヘッダは、Typeフィールド、グローバル宛先(Global Destination、GD)フィールド、グローバル送信元(Global Source、GS)フィールド、ローカル送信元(Local Source、LS)フィールド、ローカル宛先(Local Destination、LD)フィールドを含む。以下の説明で、「グローバル宛先」は、パケットの最終的な宛先のノード装置10を示すものとする。一方、「ローカル宛先」は、パケットをグローバル宛先に送信するために行われる1ホップの転送の際に、宛先として指定されるノード装置10を示す。「ローカル送信元」は、パケットが1ホップ転送される場合の転送元のノード装置10を指す。「グローバル送信元」は、パケットを生成したノード装置10を示す。ハローパケットは、送信元のノード装置10の隣接ノード装置にブロードキャストされるので、GDとLDは、全ての隣接ノードを表すブロードキャストアドレスであり、GSとLSはハローパケットを生成したノード装置10のアドレスである。Typeフィールドは、ペイロードに含まれるデータの種類を示す情報を記録する。ハローパケットの場合、Typeフィールドの値はハローパケットを特定する値に設定される。受信部11は、Typeフィールドの値を用いてハローパケット識別し、ノード種別判定部22に出力する。
ペイロードには、Helloヘッダの数を表す情報、Helloヘッダ、クラスタリストフィールド、フリーノードリストフィールドが含まれる。各々のHelloヘッダは経路情報を含む。経路情報は、ハローパケットを生成するノード装置10のルーティングテーブル(図示せず)に経路が記憶されているGDの識別子が含まれる。
クラスタリストフィールドには、ハローパケットの送信元のノード装置10に保持されているクラスタリスト32の情報が記録される。以下の説明では、クラスタリストフィールドに記録されている情報を「クラスタ情報」と記載することがある。クラスタリストの例を図4(b)に示す。クラスタリストには、クラスタ識別子(CID、cluster identifier)と、クラスタ識別子で識別されるクラスタに含まれているノード装置の識別子(装置識別子、NID、node identifier)のリスト、endフラグが記録される。endフラグは、クラスタ識別子で識別されるクラスタに新たなノード装置10が参加することができるかを示す情報である。endフラグの情報が「true」である場合、クラスタに含まれているノード数が閾値に達しているため、クラスタに新たなノード装置10が参加することができない。後述するように、endフラグ=trueのクラスタリスト32が含まれているハローパケットは、新たなクラスタの生成を要求するための情報(生成要求)として用いられる。一方、endフラグの情報が「false」である場合、クラスタに含まれているノード数が閾値に達していないため、クラスタに新たなノード装置10が参加することができる。従って、クラスタリスト32は、クラスタに含まれるノードと、クラスタにノード装置10の追加が可能であるかが記録されている。なお、図4(b)に示すように、クラスタリスト32に含まれる装置識別子の数は任意である。また、クラスタリスト32は、endフラグを含まなくても良い。endフラグはクラスタのノード数が上限であるかを示す値である。従って、クラスタリスト32にendフラグが含まれない場合、ノード装置10は、例えば、クラスタリストに含まれているノードIDの数などを用いて、新たなノード装置10がクラスタに参加可能かを判断することができる。これ以降はクラスタリスト32にendフラグが含まれている場合を例として説明する。
フリーノードリストフィールドには、ハローパケットの送信元のノード装置10に備えられたフリーノードリスト33中の情報が記録される。以下の説明では、フリーノードリストフィールドに記録されている情報を「フリーノード情報」と記載することがある。フリーノードリスト33の例を図4(c)に示す。フリーノードリスト33には、フリーノードの識別子と、そのフリーノードが参加しようとするクラスタのクラスタ識別子を対にした情報が含まれる。なお、フリーノードリスト33が含むフリーノードの識別子とクラスタの識別子の組合せの数は、任意である。
設定部21は、ノード装置10を起点ノード、参加ノード、フリーノードのいずれかに設定し、ノード装置10の種別を特定する情報を、ノード種別情報31に記録する。ノード種別情報31は、ノード装置10の種別を特定できる任意の形式の情報である。
ノード種別判定部22は、受信部11からハローパケットが入力されると、ノード種別情報31にアクセスすることにより、ノード装置10の種別を認識する。以下の説明では、ノード種別判定部22は、図5に示すようなテーブルを記憶するものとする。図5のテーブルでは、ノードの種別と、ハローパケット中のクラスタ情報およびフリーノード情報の出力先が関係付けられている。ノード種別判定部22は、図5のテーブルの欄に丸で示した出力先に、クラスタ情報やフリーノード情報を出力する。例えば、フリーノード中のノード種別判定部22は、受信したハローパケット中のクラスタ情報を参加処理部23に出力する。参加ノード中のノード種別判定部22は、クラスタ情報をクラスタリスト更新部24に出力し、フリーノード情報をノードリスト生成部26に出力する。起点ノード中のノード種別判定部22は、受信したハローパケット中のフリーノード情報をクラスタ生成部25に出力する。
ノード装置10が起点ノードである場合、フリーノード情報を入力されたクラスタ生成部25は、フリーノード情報中のクラスタ識別子と起点ノードが生成したクラスタの識別子が一致するかを確認する。両者が一致する場合、クラスタ生成部25は、自ノードで生成したクラスタへの参加要求を受信したと認識する。そこで、クラスタ中に含まれているノード装置10の数が閾値より小さい場合、クラスタ生成部25は、フリーノード情報に含まれているノード装置10をクラスタに追加し、クラスタリスト32を更新する。
ノード装置10が参加ノードである場合、ノードリスト生成部26がフリーノード情報を処理し、クラスタリスト更新部24がクラスタ情報を処理する。なお、以下の説明では、参加ノードが所属しているクラスタのことを「所属クラスタ」と記載することがある。
クラスタリスト更新部24は、ハローパケットで通知されたクラスタ情報が所属クラスタについての情報であるかを確認するために、クラスタ情報に含まれているクラスタ識別子と所属クラスタの識別子が一致するかを確認する。両者が一致する場合は所属クラスタの情報が通知されているので、クラスタリスト更新部24は、クラスタリスト32をクラスタ情報に合わせて更新する。さらに、クラスタリスト更新部24は、フリーノードリスト33からクラスタ情報に含まれているノードに関するエントリを削除する。一方、ノードリスト生成部26は、フリーノード情報が入力されると、フリーノード情報に含まれているノードの識別子をフリーノードリスト33に追加する。
ノード装置10がフリーノードである場合、参加処理部23がクラスタ情報を処理する。参加処理部23は、クラスタへの参加の要求と参加の確認を行う。参加処理部23は、ハローパケットを受信すると、クラスタ情報に含まれているクラスタ識別子とendフラグの値を確認する。さらに、参加処理部23は、自ノードの装置識別子を含むエントリがフリーノードリスト33に保持されているかを確認する。自ノードが既にクラスタへの参加を要求している場合、フリーノードリスト33に自ノードの装置識別子を含むエントリが含まれている。一方、フリーノードリスト33に自ノードの装置識別子を含むエントリがない場合は、自ノードはクラスタへの参加を要求していない。そこで、参加処理部23は、参加が可能なクラスタ(endフラグ=false)に参加を要求するために、クラスタ情報中のクラスタ識別子と自ノードの識別子の組合せをフリーノードリスト33に記録する。
一方、フリーノードリスト33に自ノードの装置識別子を含むエントリが含まれている場合、自ノードは既にクラスタへの参加を要求している。そこで、参加処理部23は、クラスタに参加できたかを確認するために、クラスタ情報に自ノードの識別子が含まれているかを確認する。クラスタ情報に自ノードの識別子が含まれている場合、参加処理部23は、自ノードはクラスタに参加していると判断してクラスタリストを更新し、フリーノードリスト33のエントリを削除する。また、クラスタ情報中のendフラグが「true」である場合、参加処理部23はフリーノードリストのエントリを削除する。フリーノードリストに自ノードの装置識別子が含まれていない場合に、同様にendフラグが「true」であるクラスタ情報を受信すると、自ノードを起点ノードに指定して、ノード種別情報31の情報を変更し、さらに、クラスタリスト32を生成する。
ハローパケット生成部27は、ハローパケットを生成し、送信部12に出力する。ハローパケットのフォーマットは、図4の通りである。また、ハローパケット生成部27は、クラスタリスト32とフリーノードリスト33を用いてハローパケットを生成する。なお、参加ノードもしくは起点ノードに備えられたハローパケット生成部27は、ルーティングテーブルに記録されている情報も、ハローパケットに含めることができる。
図6は、ノード装置10のハードウェア構成の例を示す図である。ノード装置10は、MicroProcessingUnit(MPU)100、バス101(101a〜101c)、PHYsical layer(PHY)チップ102、タイマIC104、Dynamic Random access Memory(DRAM)106、フラッシュメモリ107、無線モジュール108を備える。バス101a〜101cは、MPU100、PHYチップ102、タイマIC104、DRAM106、フラッシュメモリ107、無線モジュール108の間でデータの入出力が可能になるように接続する。
MPU100は、フラッシュメモリ107に格納されたファームウェアなどのプログラムを読み込んで処理を行う。このとき、MPU100は、DRAM106をワーキングメモリとして使用できる。MPU100は、設定部21、ノード種別判定部22、参加処理部23、クラスタリスト更新部24、クラスタ生成部25、ノードリスト生成部26、および、ハローパケット生成部27として動作する。DRAM106は、ノード種別情報31、クラスタリスト32、フリーノードリスト33、ルーティングテーブルを記憶し、さらに、MPU100での処理に用いられる情報を記憶できる。なお、ノード種別情報31はフラッシュメモリ107に格納されていても良い。この場合、起動後に、フラッシュメモリ107に格納されているノード種別情報31がDRAM106に読み込まれる。PHYチップ102や無線モジュール108は、受信部11および送信部12として動作する。ここで、PHYチップ102はオプションであり、ノード装置10は、PHYチップ102を介して回線による通信を行うことができる。例えば、L3ネットワークとアドホックネットワークとの間のゲートウェイとして動作するノード装置10は、L3ネットワーク中のノード装置とPHYチップ102を用いて通信することができる。タイマIC104は、ハローパケットを送信する時刻を決定する際に用いられる。ハローパケット生成部27や送信部12は、タイマIC104から得られた時刻情報に基づいてハローパケットを送信するタイミングを決定することができる。
なお、ファームウェアなどのプログラムは、コンピュータ読み取り可能な記憶媒体に格納されて提供され、ノード装置10にインストールされてもよい。または、プログラムは、ネットワークからPHYチップ102や無線モジュール108を介してダウンロードされることによりノード装置10にインストールされてもよい。また、実施形態に応じて、DRAM106やフラッシュメモリ107以外の他の種類の記憶装置が利用されることがある。また、ノード装置10は、コンピュータによって実現されても良い。
<第1の実施形態>
図7に、アドホックネットワークの例を示す。図7に示すネットワークには、ノードGW、ノードA〜Dの5つのノードが含まれている。図7では、隣接ノード同士を実線で結んでいる。例えば、ノードGWの隣接ノードは、ノードAであり、ノードAの隣接ノードは、ノードGWとノードBである。同様に、ノードCの隣接ノードはノードBとノードDである。以下の説明では、アドホックネットワークが形成されたときに、ノードGWが起点ノードに設定され、ノードA〜Dはフリーノードに設定されたものとする。
図8は、クラスタの生成の際に行われる動作の例を説明するシーケンス図である。以下、図8を参照しながら、図7のネットワークでクラスタが生成される場合について、個々のノード装置10の動作を説明する。以下の説明では、クラスタ中のノード装置10の数の上限(閾値)が3である場合を例として説明するが、クラスタ中のノード装置10の数の上限は、1以上の任意の整数に変更されることがある。さらに、以下の説明では、クラスタの識別子は、そのクラスタを生成した起点ノードのIDであるものとする。例えば、ノードGWが起点ノードとなっているクラスタの識別子はGWである。また、以下の記載では、クラスタを特定する際に、「クラスタ」という文字列の後にクラスタの識別子を続けた文字列を用いることがあるものとする。例えば、クラスタ識別子がGWであるクラスタを「クラスタGW」と記載することがある。なお、図8では図を見やすくするために、ハローパケットを受信したノードでクラスタリスト(CL)32やフリーノードリスト(FNL)33が更新されない場合、ハローパケットの送受信を表す矢印を省略している。
(1)ノードGWの設定部21は、ノードGWを起点ノードに設定し、ノードGWが起点ノードであることを示す情報をノード種別情報31に格納する。さらに、設定部21は、クラスタGWとクラスタGWの情報を記録するクラスタリスト32を生成する。ここで、設定部21は、クラスタGWを識別する識別子(GW)とクラスタGWに含まれるノードをクラスタリスト32に記録し、endフラグを「false」(f)に設定する。
(2)ノードGWのハローパケット生成部27は、ハローパケットを生成する。ハローパケット生成部27は、ヘッダ中のGSとLSをノードGWのアドレスにし、GDとLDを全ての隣接ノードを表すブロードキャストアドレスに設定する。さらに、ハローパケット生成部27は、クラスタリスト32に記録されている情報を、クラスタリストフィールドに格納する。このため、ノードGWは、ハローパケットにより、クラスタ識別子GWとendフラグ=falseという情報を隣接ノードに通知することができる。
ノードGWは起点ノードである。また、フリーノードリスト33中にエントリが含まれていないため、ノードGWのハローパケット生成部27は、フリーノード情報をハローパケットに含めない。さらに、この時点ではルーティングテーブルが生成されていないので、ハローパケット生成部27は、ルーティングテーブルの経路情報をハローパケットに含めない。従って、ノードGWは、ハローパケットにより、ノードGWが隣接ノードであることを、ハローパケットを受信するノード装置10に、経路情報として通知する。ハローパケット生成部27は、生成したハローパケットを送信部12に出力する。送信部12は、ハローパケットをブロードキャスト送信する。
(3)ノードAはノードGWの隣接ノードであるので、ノードGWから送信されたハローパケットを受信する。ノードAのノード種別判定部22は、受信部11を介してハローパケットを受信すると、ノード種別情報31を用いてノードAがフリーノードに設定されていることを認識する。そこで、ノード種別判定部22は、ハローパケットに含まれているクラスタ情報を参加処理部23に出力する。参加処理部23は、クラスタ情報中のendフラグの値が「false」であるので、クラスタGWに含まれているノード装置10の数が閾値未満であると認識する。そこで、参加処理部23は、ノードAをクラスタGWに参加させることを決定し、ノードAのIDとクラスタGWの識別子を対応付けてフリーノードリスト33に格納する。
(4)ノードAのハローパケット生成部27は、ハローパケットを生成する。このとき、ハローパケット生成部27は、フリーノードリスト33に記録されている情報を、フリーノード情報として、フリーノードリストフィールドに格納する。このため、ノードAは、ノードAがクラスタGWに参加しようとしていることを、ハローパケットにより隣接ノードに通知することができる。
この時点では、ノードAはいずれのクラスタにも所属しておらず、クラスタリスト32に情報が記録されていないため、ハローパケット生成部27は、クラスタ情報をハローパケットに含めない。また、ノードAではルーティングテーブルも生成されていないので、ハローパケットにはルーティングテーブルからの経路情報も含まれない。従って、ハローパケットにより、ノードAは、ノードAが隣接していることを、隣接ノードに経路情報として通知する。さらに、ハローパケット生成部27は、ヘッダ中のGSとLSを自ノードのアドレスに設定し、GDとLDを全ての隣接ノードを表すブロードキャストアドレスに設定する。ハローパケット生成部27は、生成したパケットを送信部12に出力する。ノードAの送信部12は、ハローパケットをブロードキャスト送信する。
(5)ノードGWとノードBは、ノードAが送信したハローパケットを受信する。ノードGWのノード種別判定部22は、ノードGWが起点ノードであることを確認すると、受信したハローパケットのフリーノード情報をクラスタ生成部25に出力する。クラスタ生成部25は、フリーノード情報に含まれているクラスタ識別子が生成したクラスタの識別子と一致しているかを確認する。フリーノード情報に含まれているクラスタ識別子が生成したクラスタの識別子と一致している場合、クラスタ生成部25は、フリーノード情報に含まれている識別子で識別されるノード装置10を、生成したクラスタに加えることができるかを確認する。
ここでは、クラスタ生成部25は、クラスタ識別子がGWであるかを確認する。手順(4)で述べたように、ノードAの識別子はクラスタGWの識別子に対応付けられているので、クラスタ生成部25は、ノードAをクラスタGWに加える。クラスタ生成部25は、ノードGWが保持しているクラスタリスト32にノードAの識別子(A)を加える。クラスタ生成部25は、ノードAが加わった後でクラスタGWに含まれているノードの数を閾値と比較する。このときは、クラスタGWにはノードGWとAが含まれているので、クラスタGW中のノード装置10の数は閾値を越えていない。そこで、クラスタ生成部25は、endフラグの値を「false」のままにする。
一方、ノードBは、フリーノードであるため、ノードBのノード種別判定部22は、ノードAから受信したハローパケットからクラスタ情報を抽出して参加処理部23に出力しようとする。しかし、手順(4)でノードAが送信したハローパケットにはクラスタ情報が含まれていない。そこで、ノードBはクラスタの生成に関する処理を終了する。
(6)ノードGWのハローパケット生成部27は、ハローパケットを生成する。ヘッダの設定は手順(2)と同様である。ハローパケット生成部27は、クラスタリスト32に記録されている情報を、クラスタリストフィールドに格納する。今回生成されるハローパケットのクラスタ情報により、
クラスタ識別子:GW
クラスタGWに参加しているノード:GW、A
endフラグ=false
という情報が隣接ノードに通知される。生成されたハローパケットは、ブロードキャスト送信される。
(7)ノードAがノードGWからハローパケットを受信すると、ノードAのノード種別判定部22は、ハローパケット中のクラスタ情報を参加処理部23に出力する。参加処理部23は、クラスタ情報に含まれているクラスタ識別子、クラスタに含まれるノード、および、endフラグの値を確認する。ここで、ノードAは、手順(4)で送信したハローパケットを用いてクラスタGWへの参加を要求しているので、参加処理部23は、クラスタに含まれるノードの識別子を確認することにより、クラスタGWにノードAが加えられたかを確認する。今回ノードAが受信したハローパケットのクラスタ情報には、クラスタGWに参加しているノードはノードGWとノードAであることが記録されている。そこで、参加処理部23は、ノードAがクラスタGWに参加したことを認識して、クラスタリスト32を更新する。更新後のクラスタリスト32に含まれている情報は、
クラスタ識別子:GW
クラスタGWに参加しているノード:GW、A
endフラグ=false
となる。
参加処理部23は、ノード種別情報31を更新することにより、ノードAの設定をフリーノードから参加ノードに変更する。さらに、参加処理部23は、フリーノードリスト33とクラスタ情報を比較し、クラスタ情報に含まれているノードをフリーノードリスト33から削除する。ここでは、手順(3)でノードAがフリーノードリスト33に記録されたが、その後に受信したクラスタ情報にノードAが含まれている。そこで、参加処理部23は、フリーノードリスト33からノードAのエントリを削除する。
(8)ノードAのハローパケット生成部27は、ハローパケットを生成する。このとき、ハローパケット生成部27は、クラスタリスト32に記録されている情報を、クラスタ情報として、クラスタリストフィールドに格納する。このため、ノードAは、クラスタGWに参加していること、クラスタGWに含まれるノード装置10、および、クラスタGWにまだノード装置10が参加できることを、ハローパケットを用いて隣接ノード装置に通知することができる。なお、この時点では、ノードAはフリーノードリスト33にフリーノードの情報を保持していないので、ハローパケットのフリーノードリストフィールドにはフリーノード情報が含まれない。ハローパケットのヘッダの設定は手順(4)と同様である。生成されたハローパケットはブロードキャスト送信される。
(9)ノードGWとノードBは、ノードAが送信したハローパケットを受信する。ノードBはフリーノードであるため、ノードBのノード種別判定部22は、受信したハローパケット中のクラスタ情報を参加処理部23に出力する。クラスタ情報に含まれているendフラグの値は「false」であるので、参加処理部23は、クラスタGWに含まれているノード装置10の数が閾値未満であることを認識する。そこで、参加処理部23は、ノードBをクラスタGWに参加させることを決定し、ノードBの識別子とクラスタGWの識別子を対応付けてフリーノードリスト33に格納する。
一方、ノードGWでは、手順(5)で述べたように、ハローパケット中のフリーノード情報が確認される。手順(8)で生成されたハローパケットにはフリーノード情報が含まれていないので、ノードGWのクラスタ生成部25は特に処理を行わない。
(10)ノードBのハローパケット生成部27は、ハローパケットを生成する。ここで生成されるハローパケットがブロードキャスト送信されることにより、ノードBがクラスタGWに参加しようとしていることが、ノードBの隣接ノードに通知される。
(11)ノードAのノード種別判定部22は、ノードBから送信されたハローパケットを受信する。ノードAは手順(7)で参加ノードに設定されているので、ノードAのノード種別判定部22は、図5に示すように、フリーノード情報をノードリスト生成部26に出力する。ノードリスト生成部26は、フリーノード情報に含まれている情報を用いてノードAのフリーノードリスト33を更新する。従って、更新後のノードAのフリーノードリスト33には、ノードBのIDとクラスタGWの識別子の組合せが格納される。
(12)ノードAのハローパケット生成部27は、ハローパケットを生成する。このとき、ハローパケット生成部27は、クラスタリスト32中の情報を、クラスタ情報として、クラスタリストフィールドに格納し、フリーノードリスト33中の情報をフリーノード情報としてフリーノードリストフィールドに格納する。従って、ノードAは、ノードBがクラスタGWに参加しようとしていることをハローパケットによってブロードキャストする。
(13)ノードGWとノードBは、ノードAが送信したハローパケットを受信する。ノードGWのノード種別判定部22は、ハローパケットから抽出したフリーノード情報をクラスタ生成部25に出力する。クラスタ生成部25は、手順(5)でノードAをクラスタGWに加えたときと同様の処理により、ノードBをクラスタGWに追加する。クラスタ生成部25は、ノードBが加わった後でクラスタGWに含まれているノードの数を閾値と比較する。このときは、クラスタGWにはノードGW、A、Bが含まれているので、クラスタGW中のノード装置10の数は、閾値と一致する。そこで、クラスタ生成部25は、endフラグの値を「true」に変更する。この処理により、ノードGWのクラスタリスト32は、
クラスタ識別子:GW
クラスタGWに参加しているノード:GW、A、B
endフラグ=true
のように更新される。
一方、ノードBはフリーノードであるため、ノードBのノード種別判定部22は、ノードAから受信したハローパケットからクラスタ情報を抽出すると、クラスタ情報を参加処理部23に出力する。クラスタ情報に含まれている情報は手順(9)でノードBが受信したハローパケットのクラスタ情報と同じであるため、ノードBは処理を終了する。
(14)ノードGWは、手順(6)と同様にハローパケットを生成し、生成したハローパケットをブロードキャスト送信する。
(15)ノードAがノードGWからハローパケットを受信すると、ノードAのノード種別判定部22は、ハローパケットに含まれているクラスタ情報をクラスタリスト更新部24に出力する。今回ノードAが受信したハローパケットのクラスタ情報には、クラスタGWに参加しているノードはノードGW、A、Bであることが記録されている。そこで、クラスタリスト更新部24は、クラスタ情報に合せてクラスタリスト32を更新する。更新後のクラスタリスト32に含まれている情報は、
クラスタ識別子:GW
クラスタGWに参加しているノード:GW、A、B
endフラグ=true
となる。
クラスタリスト更新部24は、フリーノードリスト33とクラスタ情報を比較し、クラスタ情報に含まれているノードをフリーノードリスト33から削除する。ここでは、手順(11)でノードBがフリーノードリスト33に記録されたが、その後に受信したクラスタ情報にノードBが含まれている。そこで、クラスタリスト更新部24は、フリーノードリスト33からノードBのエントリを削除する。
(16)ノードAのハローパケット生成部27は、手順(8)と同様に、ハローパケットを生成し、ブロードキャスト送信する。
(17)ノードBがノードAからハローパケットを受信すると、ノードBのノード種別判定部22は、ハローパケットに含まれているクラスタ情報を参加処理部23に出力する。以後、手順(7)でノードAの参加処理部23が行う動作と同様の動作を、ノードBの参加処理部23が行うことにより、クラスタリスト32とフリーノードリスト33が更新される。クラスタリスト32には、いずれのエントリも含まれなくなり、更新後のクラスタリスト32に含まれている情報は、
クラスタ識別子:GW
クラスタGWに参加しているノード:GW、A、B
endフラグ=true
となる。さらに、ノードBの設定は、フリーノードから参加ノードに変更される。
(18)ノードBのハローパケット生成部27は、手順(8)で述べた処理と同様の処理によりハローパケットを生成し、ブロードキャスト送信する。
(19)ノードA、Cは、ノードBが送信したハローパケットを受信する。ノードAでは、ノードBから受信したハローパケットによってはクラスタリスト32とフリーノードリスト33のいずれも変更されない。
ノードCはフリーノードであるため、ノードCのノード種別判定部22は、受信したハローパケットからクラスタ情報を抽出すると、クラスタ情報を参加処理部23に出力する。クラスタ情報に含まれているendフラグの値は「true」であるので、参加処理部23は、クラスタGWに含まれているノード装置10の数が閾値に達していることを認識する。そこで、参加処理部23は、ノードCをクラスタGWに参加させることができないと認識し、ノードCを起点ノードに設定する。また、参加処理部23はノード種別情報31の値を変更するとともに、ノードCを含むクラスタCを生成する。このときに生成されたクラスタリスト32に含まれる情報は、
クラスタ識別子:C
クラスタCに参加しているノード:C
endフラグ=false
となる。
(20)ノードCは、手順(2)でノードGWが行った処理と同様の処理によりハローパケットを生成し、ブロードキャストする。
(21)ノードDは、手順(3)でノードAが行った処理と同様の処理によりフリーノードリスト33を更新する。更新後のフリーノードリスト33には、ノードDの識別子とクラスタCの識別子が対応付けられている。さらに、ノードDは、手順(4)と同様の処理によりハローパケットを生成し、ブロードキャストする。この処理により、ノードDはクラスタCに参加しようとしていることを、ハローパケットにより隣接ノードに通知することができる。
(22)ノードCは、ノードDから送信されたハローパケットを受信すると、手順(5)で説明したノードGWの処理と同様の処理により、ノードDをクラスタCに追加する。さらに、ノードCは、手順(6)で説明したノードGWの処理と同様の処理により、ハローパケットをブロードキャスト送信する。
(23)ノードDは、ノードCからハローパケットを受信すると、クラスタリスト32とフリーノードリスト33を更新し、参加ノードに設定を変更する。このときの動作は、手順(7)で説明したノードAの動作と同様である。
以上説明した手順(1)〜(23)により、図9に示すようにクラスタGWとクラスタCが生成される。クラスタが生成されると、各ノード装置は、所属クラスタに含まれる他のノード装置に至る経路をルーティングテーブルに記録する。ルーティングテーブルの生成には、ハローパケットのヘッダ、経路情報、クラスタ情報中のクラスタ識別子が用いられる。各ノード装置は、ハローパケット中のクラスタ情報に含まれているクラスタ識別子が所属クラスタの識別子である場合、経路情報に記録されているノードかヘッダ中のLSをルーティングテーブルのGDとし、ハローパケットのLSをルーティングテーブルのLDとする。
図10は、クラスタ生成部25の動作の例を説明するフローチャートである。クラスタ生成部25は、クラスタリスト(CL)32のendフラグの値がtrueであるかを確認することにより、新たなノード装置10をクラスタに追加できるかを確認する(ステップS1)。endフラグの値がtrueではない場合、新たなノード装置10をクラスタに追加することができる。そこで、クラスタ生成部25は、入力されたフリーノード情報が、自ノードで生成したクラスタに参加しようとしているノードを特定できる情報であるかを確認する。このため、クラスタ生成部25は、フリーノード情報に含まれているクラスタ識別子と、クラスタリスト32に含まれているクラスタ識別子を比較する(ステップS1でNo、ステップS2)。フリーノード情報と、クラスタリスト32で含まれているクラスタ識別子が一致した場合、クラスタ生成部25は、自ノードが生成しているクラスタに対して参加が要求されたと認識する(ステップS2でNo)。そこで、クラスタ生成部25は、フリーノード情報に含まれているノード識別子で識別されるノードを、クラスタに追加する(ステップS3)。一方、ステップS1、2のいずれかでYesと判定された場合は、クラスタ生成部25は、新たなノード装置10をクラスタに追加せずに処理を終了する。
図11は、ノードリスト生成部26の動作の例を説明するフローチャートである。ステップS11、S12は、ステップS1、S2と同様の処理である。ステップS11によりノードリスト生成部26は、参加ノードの所属クラスタに、新たなノード装置10を追加できるかを確認する。フリーノード情報と、クラスタリスト32に含まれているクラスタ識別子が一致した場合、ノードリスト生成部26は、所属クラスタに対して参加が要求されたと認識する。そこで、ノードリスト生成部26は、フリーノード情報に含まれているノードの識別子が、クラスタリスト32に記録されているかを確認する(ステップS13)。フリーノード情報に含まれているノードの識別子が、クラスタリスト32に記録されていない場合、フリーノード情報に含まれているノードの識別子をフリーノードリスト33に加える(ステップS13でNo、ステップS14)。一方、ステップS11〜S13のいずれかでYesと判定された場合、ノードリスト生成部26は処理を終了する。
図12は、クラスタリスト更新部24の動作の例を説明するフローチャートである。クラスタリスト更新部24は、クラスタ情報に含まれているクラスタ識別子と、クラスタリスト32に含まれているクラスタ識別子を比較する(ステップS21)。クラスタ情報とクラスタリスト32でクラスタ識別子が一致した場合、クラスタリスト更新部24は、入力されたクラスタ情報が所属クラスタに関する情報であると認識する(ステップS21でNo)。そこで、クラスタリスト更新部24は、クラスタ情報に合せてクラスタリスト32を更新する(ステップS22)。さらに、クラスタリスト更新部24は、フリーノードリスト33に含まれているノードの識別子のうち、クラスタ情報に含まれている識別子のエントリをフリーノードリスト33から削除する。また、自ノードのクラスタ情報のendフラグがtrueであるときも、フリーノードリスト33に含まれているエントリを削除する(ステップS23)。ここで、自ノードのクラスタ情報のendフラグがtrueである場合のフリーノードリスト33からのエントリの削除は、所属クラスタにノード装置10を追加することができないために行われる。一方、クラスタ情報とクラスタリスト32でクラスタ識別子が一致しない場合、クラスタリスト更新部24は、ステップS22とS23の処理を行わずに処理を終了する(ステップS21のYes)。
図13は、参加処理部23の動作の例を説明するフローチャートである。参加処理部23は、フリーノードリスト33に自ノードのエントリがあるかを確認する(ステップS31)。フリーノードリスト33に自ノードのエントリがない場合、クラスタ情報に含まれているendフラグの値が「true」であるかを確認する(ステップS31でNo、ステップS32)。endフラグの値が「true」でない場合、参加処理部23は、自ノードの識別子をクラスタ情報に含まれているクラスタ識別子に対応付けてフリーノードリスト33に記録する(ステップS32でNo、ステップS33)。endフラグの値が「true」である場合、参加処理部23は、自ノードが起点ノードとして動作できるようにクラスタリスト32を生成する(ステップS32でYes、ステップS34)。このとき、クラスタリスト32には、自ノードの識別子がクラスタ識別子として記録され、新たに生成されたクラスタには、自ノードが含まれる。さらに、参加処理部23は、自ノードの設定を起点ノードに変更する(ステップS35)。
一方、フリーノードリスト33に自ノードのエントリがある場合、参加処理部23は、クラスタ情報に自ノードの識別子が含まれているかを確認する(ステップS36)。クラスタ情報に自ノードの識別子が含まれている場合、参加処理部23は、フリーノードリスト33から自ノードのエントリを削除し、クラスタ情報に含まれているノードの情報をクラスタリスト32に記録する(ステップS36でYes、ステップS37)。さらに、参加処理部23は、自ノードの設定を参加ノードに変更する(ステップS38)。一方、クラスタ情報に自ノードの識別子が含まれていない場合、参加処理部23は、クラスタ情報に含まれているendフラグの値が「true」であるかを確認する(ステップS36でNo、ステップS39)。クラスタ情報に含まれているendフラグの値が「true」でない場合、参加処理部23は処理を終了する(ステップS39でNo)。一方、クラスタ情報に含まれているendフラグの値が「true」である場合、参加処理部23は、参加を要求したクラスタのノード装置10の数が閾値に達したため、自ノードがクラスタに参加できなかったことを認識する(ステップS39でYes)。そこで、参加処理部23は、フリーノードリスト33から自ノードのエントリを削除する(ステップS40)。ステップS39、S40の処理が行われる場合については、後で詳しく説明する。
以上説明したように、実施形態にかかる方法では、クラスタを生成する際に用いられる情報がハローパケットによって送受信される。従って、クラスタ生成のためにハローパケット以外の制御パケットが使用される場合に比べて、制御パケットの送受信のために使用されるネットワーク中の帯域が少なくなる。従って、実施形態にかかる方法を用いることにより、ユーザデータを含むパケットの送受信に使用できる帯域を増やすことができる。
さらに、実施形態にかかる方法を用いると、アドホックネットワークに含まれる各ノード装置10が自律的に参加するクラスタを決定し、クラスタへの参加要求を行う。このため、例えば起点ノードが選択したノード装置10をクラスタに参加させることによりクラスタが生成される場合に比べ、クラスタの生成を行うために起点ノードが行う処理が軽減されている。従って、起点ノードとして用いられるノード装置10の処理能力が低くてもクラスタを生成できることになるので、処理能力の低いノード装置10で形成されたアドホックネットワークでもクラスタの生成を行うことができる。
また、クラスタの生成に用いられる制御情報がハローパケットで伝播されるため、制御情報がフラッディングされることを防ぐことができる。従って、ノード装置10の処理リソース(MPU100やDRAM106)の使用量も抑えることができる。
さらに、起点ノードは、生成しているクラスタのノード装置10の数が閾値以下になるように調整する。このため、クラスタの生成後にルーティングテーブルに記憶する経路の数は閾値が小さいほど小さくなる。従って、ノード装置10がネットワーク中の他のノード装置10に至る経路を記憶する負担も軽減される。
<第2の実施形態>
本実施形態では、フリーノード情報により参加を要求してきたノードがクラスタに参加できない場合の処理を説明する。図14は、アドホックネットワークの例を示す。図14に示すアドホックネットワークには、ノードGW、ノードA〜Eの6つのノードが含まれている。図14では、図7と同様に隣接ノード同士を実線で結んでいる。
図15は、クラスタの生成の際に行われる動作の例を説明するシーケンス図である。図15では、図14に示すアドホックネットワークのうちで、ノードGW、A、B、Eの間で送受信されるハローパケットに基づいて行われる動作を示す。以下の説明では、クラスタ中のノード装置10の数の上限(閾値)が3であるが、ノードGWとノードAが参加した状態のクラスタGWに、ノードBとノードEの2つのノード装置10が参加を要求した場合に行われる処理について説明する。なお、この例でも閾値が3である場合を例として説明するが、クラスタ中のノード装置10の数は、1以上の任意の整数とすることができる。図15の手順(31)〜(37)は、図8を参照しながら説明した手順(1)〜(7)と同様である。
(38)ノードAのハローパケット生成部27は、ハローパケットを生成する。ハローパケットの生成方法、および、生成されたハローパケットに含まれる情報は、図8を参照しながら説明した手順(8)と同様である。生成されたハローパケットは、ノードAからブロードキャスト送信される。このため、ノードAの隣接ノードであるノードGW、B、Eは、ノードAから送信されたハローパケットを受信する。
(39)ノードBはフリーノードであるため、ノードBのノード種別判定部22は、受信したハローパケットからクラスタ情報を抽出すると、クラスタ情報を参加処理部23に出力する。クラスタ情報中のendフラグの値は「false」であるので、参加処理部23は、クラスタGWに参加できる可能性があることを認識する。そこで、参加処理部23は、ノードBをクラスタGWに参加させるために、ノードBのIDとクラスタGWの識別子を対応付けてフリーノードリスト33に格納する。
(40)ノードEもフリーノードであるため、ノードEでも、ノードAから受信したハローパケットに含まれていたクラスタ情報を、参加処理部23が処理する。クラスタ情報中のendフラグの値は「false」であるので、ノードEの参加処理部23も、ノードBの参加処理部23と同様に、ノードEがクラスタGWに参加できる可能性があることを認識する。そこで、ノードEの参加処理部23も、ノードEをクラスタGWに参加させるためにフリーノードリスト33を更新する。この更新処理により、ノードEの識別子とクラスタGWの識別子の組み合わせがフリーノードリスト33に格納される。
(41)ノードBのハローパケット生成部27は、ハローパケットを生成する。ここで生成されるハローパケットには、ノードBのフリーノードリスト33の情報が含まれる。従って、ノードBは、ハローパケットをブロードキャスト送信することにより、ノードBがクラスタGWに参加しようとしていることを、ノードBの隣接ノード(ノードA、C)に通知する。
(42)ノードEのハローパケット生成部27も、ハローパケットを生成する。ここで生成されるハローパケットには、ノードEのフリーノードリスト33の情報が含まれる。従って、ノードEは、ノードEがクラスタGWに参加しようとしていることを、ハローパケットを用いて隣接ノード(ノードA)に通知する。
(43)ノードAのノードリスト生成部26は、ノードBから受信したハローパケット中のフリーノード情報により、ノードBがクラスタGWに参加しようとしていることを認識する。さらに、ノードリスト生成部26は、ノードEから受信したハローパケット中のフリーノード情報により、ノードEもクラスタGWに参加しようとしていることを認識する。そこで、ノードリスト生成部26は、ノードBとEの両方について、それぞれクラスタGWの識別子と対応付けてフリーノードリスト33に記録する。
(44)ノードAのハローパケット生成部27は、ハローパケットを生成してブロードキャスト送信する。ノードAが送信したハローパケットのフリーノード情報には、ノードBとノードEの両方がクラスタGWに参加しようとしていることが記録される。
(45)ノードGWのノード種別判定部22は、ハローパケットから抽出したフリーノード情報をクラスタ生成部25に出力する。クラスタ生成部25は、フリーノード情報から、ノードBとノードEの両方がクラスタGWに参加しようとしていることを認識する。クラスタ生成部25は、閾値が3であることと、クラスタGWに既にノードGWとノードAが参加していることから、一方のノード装置10をクラスタGWに参加させることができるが、他方をクラスタGWに含めることができないことを認識する。そこで、クラスタ生成部25は、クラスタGWへの参加を要求してきたノードのうちの1つをクラスタGWに参加させるノードに選択する。クラスタに加えるノードを選択するときにクラスタ生成部25が用いる選択方法は、任意である。以下の説明では、クラスタ生成部25はノードBをクラスタGWに参加させるノードとして選択したものとする。クラスタ生成部25は選択したノードBをクラスタGWに追加する。この処理により、クラスタ生成部25は、クラスタリスト32の情報を以下のように変更する。
クラスタ識別子:GW
クラスタGWに参加しているノード:GW、A、B
endフラグ=true
(46)ノードGWは、手順(6)と同様にハローパケットを生成し、生成したハローパケットをブロードキャスト送信する。
(47)ノードAがノードGWからハローパケットを受信すると、ノードAのクラスタリスト更新部24は、ハローパケット中のクラスタ情報を用いてクラスタリスト32とフリーノードリスト33を更新する。その後、ノードAのハローパケット生成部27は、ハローパケットを生成してブロードキャスト送信する。ノードAが送信したハローパケットのクラスタ情報には、ノードGW、ノードA、および、ノードBがクラスタGWに参加していることが記録されている。さらに、endフラグはtrueに設定されている。
(48)ノードBがノードAからハローパケットを受信すると、ノードBの参加処理部23は、ノードBがクラスタGWに参加したことを認識する。そこで、参加処理部23は、クラスタリスト32とフリーノードリスト33を更新し、さらに、ノードBの設定を参加ノードに変更する。
(49)ノードEがノードAからハローパケットを受信すると、ノードEの参加処理部23は、ノードEがクラスタGWに参加していないことと、クラスタGWにノード装置10が追加されないこと(endフラグ=true)を認識する。そこで、参加処理部23は、手順(42)で送信したハローパケットにより参加を要求したクラスタには参加できないため、他のクラスタに参加できるように、フリーノードリスト33のエントリを削除する。この処理により、ノードEはクラスタGW以外の他のクラスタに参加しているノード装置10からハローパケットを受信できれば、他のクラスタに参加を要求できるようになる。
(50)ノードAは、手順(47)と同様にハローパケットをブロードキャスト送信する。
(51)ノードEはノードAからハローパケットを受信する。受信したハローパケットのクラスタ情報には、クラスタGWを識別する識別子と、クラスタGWにはノード装置10を追加できないことを示す情報(endフラグ=true)が含まれている。ここで、ノードEは、手順(49)でフリーノードリスト33のエントリを削除した後に、クラスタGW以外のクラスタに所属するノード装置10からのハローパケットを受信できなかったものとする。すると、ノードEの参加処理部23は、ノードEを起点ノードに設定し、ノードEを含むクラスタを生成する。
(52)一方、ノードB、C、Dでは、手順(18)〜(23)で説明した処理が行われることにより、クラスタCが生成される。
以上の手順により、参加を要求したクラスタに参加できない場合でも、ノード装置10は、他のクラスタに参加を要求することができる。また、参加を要求できるクラスタが無いと判断した場合、ノード装置10は、起点ノードとしてクラスタの生成を開始できる。さらに、本実施形態でも、これらの処理に用いられる情報は、いずれも、ハローパケットにより送受信される。従って、クラスタ生成のためにハローパケット以外の制御パケットが使用される場合に比べて、制御パケットの送受信のために使用されるネットワーク中の帯域が少なくなる。
<第3の実施形態>
本実施形態では、参加ノードが、参加を要求するノードとして通知するノード装置10の数を、なるべくクラスタに参加できるノード数の上限を超えないように制限する場合のクラスタの生成について説明する。
本実施形態では、参加ノードがフリーノード情報を含むハローパケットを受信すると、参加ノードのノードリスト生成部26は、ハローパケットで通知されたノードの全てが所属クラスタに参加できるかを確認する。ハローパケットで通知されたノードの全てが所属クラスタに参加できない場合、ノードリスト生成部26は、所属クラスタに参加させるために起点ノードに通知するノードを選択し、選択したノードの識別子をフリーノードリスト33に記録する。
図16は、クラスタの生成の際に行われる動作の例を説明するシーケンス図である。以下、図16を参照しながら詳しい手順を説明する。図16でも、図15と同様に、図14に示すアドホックネットワークのうちで、ノードGW、A、B、Eの間で送受信されるハローパケットに基づいて行われる動作を示す。以下の説明でも、図15と同様に、クラスタへの参加を要求したノード装置10の数が、クラスタに所属できるノード数の上限を越えた場合について説明する。
図16の手順(61)〜(72)は、図15を参照しながら説明した手順(31)〜(42)と同様である。
(73)ノードAのノードリスト生成部26は、ノードBから受信したハローパケット中のフリーノード情報により、ノードBがクラスタGWに参加しようとしていることを認識する。さらに、ノードリスト生成部26は、ノードEから受信したハローパケット中のフリーノード情報により、ノードEもクラスタGWに参加しようとしていることを認識する。ノードリスト生成部26は、クラスタリスト32を参照することにより、クラスタGWに参加しているノード装置10の数を確認する。ここでは、クラスタリスト32に含まれている情報は、
クラスタ識別子:GW
クラスタGWに参加しているノード:GW、A
endフラグ=false
であり、クラスタGWに含まれるノード数は2である。一方、クラスタGWに参加できるノード数の上限は3である。そこで、ノードリスト生成部26は、ノードBとノードEのいずれかしかクラスタGWに参加できないことを認識し、クラスタGWに参加しようとしているノードとして通知するノード装置10を選択する。ここでは、ノードリスト生成部26はノードBを選択したものとする。なお、クラスタに加えるノードを選択するときにクラスタ生成部25が用いる選択方法は任意である。ノードリスト生成部26は、フリーノードリスト33にノードBの識別子とクラスタGWの識別子を対応付けて記録する。
(74)ノードAのハローパケット生成部27は、ハローパケットを生成してブロードキャスト送信する。ノードAが送信したハローパケットのフリーノード情報には、ノードBがクラスタGWに参加しようとしていることが記録される。
(75)ノードGWのノード種別判定部22は、ハローパケットから抽出したフリーノード情報をクラスタ生成部25に出力する。クラスタ生成部25は、フリーノード情報から、ノードBがクラスタGWに参加しようとしていることを認識する。クラスタ生成部25は、閾値が3であることと、クラスタGWに既にノードGWとノードAが参加していることから、ノードBをクラスタGWに参加させる。この処理により、クラスタ生成部25は、クラスタリスト32の情報を以下のように変更する。
クラスタ識別子:GW
クラスタGWに参加しているノード:GW、A、B
endフラグ=true
手順(76)〜(81)の処理は、図15を参照しながら説明した手順(46)〜(51)と同様である。さらに、ノードB、C、Dでは、手順(18)〜(23)で説明した処理が行われることにより、クラスタCが生成されるものとする。
本実施形態では、ノードリスト生成部26は、受信したフリーノード情報中の装置識別子からフリーノードリスト33に追加する装置識別子を選択し、選択した装置識別子をフリーノードリスト33に追加する。従って、本実施形態では、ノードリスト生成部26の動作のうち図11のステップS14は、「受信したフリーノード情報中の装置識別子から選択した装置識別子をフリーノードリスト33に追加する」という動作に変更される。ここで、ノードリスト生成部26が装置識別子を選択する方法は任意である。例えば、ノードリスト生成部26は、先に認識した装置識別子を優先的にフリーノードリスト33に追加することができる。また、ハローパケットに通信品質情報が含まれている場合、ノードリスト生成部26は、通信品質が良好なノード装置10の装置識別子を優先的にフリーノードリスト33に追加することもできる。なお、本実施形態でもノードリスト生成部26はステップS11〜S13の動作を行い、ステップS11〜S13は、図11を参照しながら説明したとおりである。
本実施形態では、参加要求の数がクラスタに参加できるノード数の上限を超えているかを参加ノードが確認し、上限を超える参加通知を参加ノードが起点ノードに通知しない。このため、起点ノードの負担をさらに軽減することができる。
なお、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。例えば、以上の説明では、クラスタ識別子が起点ノードの識別子と一致している場合を例として説明したが、クラスタ識別子は、個々のクラスタを一意に識別できる任意の形式の識別子とすることができる。
10 ノード装置
11 受信部
12 送信部
21 設定部
22 ノード種別判定部
23 参加処理部
24 クラスタリスト更新部
25 クラスタ生成部
26 ノードリスト生成部
27 ハローパケット生成部
31 ノード種別情報
32 クラスタリスト
33 フリーノードリスト
100 MPU
101 バス
102 PHYチップ
104 タイマIC
106 DRAM
107 フラッシュメモリ
108 無線モジュール

Claims (12)

  1. 複数のノード装置を含むネットワーク中のノード装置であって、
    隣接するノード装置である隣接ノード装置からパケットを受信する受信部と、
    ネットワーク中の前記複数のノード装置の中で、経路情報を記憶するノード装置のグループであるクラスタに含まれるノード装置の装置識別情報を記録したクラスタ情報を生成するクラスタ生成部と、
    前記経路情報の通知に用いられるハローパケットに、前記クラスタに含まれているノード装置の数が閾値に達しているかを表す情報を格納した第1のハローパケットを生成するハローパケット生成部と、
    前記第1のハローパケットをブロードキャスト送信する送信部
    を備え、
    クラスタに所属していないフリーノード装置から、前記フリーノード装置を識別する装置識別情報を含む第2のハローパケットを受信すると、前記クラスタ生成部は、前記クラスタ情報に記録されたノード装置の数が閾値に達するまで、前記フリーノード装置の装置識別情報を前記クラスタ情報に追加する
    ことを特徴とするノード装置。
  2. 前記クラスタ情報に記録されたノード装置の数が前記閾値に達すると、前記ハローパケット生成部は、前記クラスタに含まれているノード装置の数が閾値に達したことを表す情報を含み、前記クラスタとは異なる別のクラスタの生成を要求する第3のハローパケットを生成し、
    前記送信部が前記第3のハローパケットを送信することにより、前記第3のハローパケットを受信したフリーノード装置に、前記別のクラスタの生成の開始と、前記別のクラスタに含まれるノード装置の定を要求する
    ことを特徴とする請求項1に記載のノード装置。
  3. 前記ハローパケット生成部が、前記クラスタ情報に記録された情報を含む第4のハローパケットを生成し、前記送信部が前記第4のハローパケットをクラスタ内のノード装置に送信することにより、前記第4のハローパケットを受信したクラスタ内のノード装置に、前記クラスタ情報に追加されたノード装置を通知する
    ことを特徴とする請求項1もしくは2に記載のノード装置。
  4. 複数のノード装置を含むネットワーク中のノード装置であって、
    隣接するノード装置である隣接ノード装置からパケットを受信する受信部と、
    経路情報の通知に用いられるハローパケットに、前記経路情報を相互に記憶するノード装置のグループであるクラスタに参加しているノード装置を特定するクラスタ情報と、前記クラスタに含まれているノード装置の数が閾値に達していないことを表す情報を含むパケットである第1のハローパケットを受信し、さらに、前記クラスタ情報に前記ネットワーク中の前記ノード装置を識別する装置識別情報が含まれていない場合、前記クラスタに参加することを決定する参加処理部と、
    前記ネットワーク中の前記ノード装置がクラスタへの参加を要求することを前記隣接ノード装置に通知するために、前記クラスタを識別するクラスタ識別情報と前記装置識別情報を対応付けた情報を含む第2のハローパケットを生成するハローパケット生成部と、
    前記ハローパケット生成部で生成されたハローパケットをブロードキャスト送信する送信部
    を含むことを特徴とするノード装置。
  5. 前記クラスタに含まれているノード装置の数が前記閾値に達していることを表す情報を含む第3のハローパケットが受信されると、前記参加処理部は、前記クラスタとは異なる別のクラスタの生成を開始するとともに、前記別のクラスタに含まれるノード装置を特定するリストを生成し、
    前記ハローパケット生成部は、前記別のクラスタを識別するクラスタ識別情報を含む第4のハローパケットを生成する
    ことを特徴とする請求項4に記載のノード装置。
  6. 前記参加処理部は、前記第2のハローパケットがブロードキャストされた後に、前記クラスタ情報を含む第3のハローパケットを受信すると、前記第3のハローパケット中のクラスタ情報に前記装置識別情報が含まれているかを確認し、
    前記第3のハローパケット中のクラスタ情報に前記装置識別情報が含まれている場合、前記参加処理部は、
    前記ネットワーク中の前記ノード装置が前記クラスタに含まれることを認識すると共に、
    前記第3のハローパケット中のクラスタ情報を、前記ネットワーク中のノード装置が所属しているクラスタと同一のクラスタに所属している各ノード装置の装置識別情報を記録するクラスタリストに記録する
    ことを特徴とする請求項4に記載のノード装置。
  7. 複数のノード装置を含むネットワーク中のノード装置であって、
    隣接するノード装置である隣接ノード装置からパケットを受信する受信部と、
    経路情報の通知に用いられるハローパケットに、前記経路情報を相互に記憶するノード装置のグループであるクラスタに参加しているノード装置を特定するクラスタ情報と、前記クラスタに含まれているノード装置の数が閾値に達していないことを表す情報を含むパケットである第1のハローパケットを受信し、さらに、前記クラスタ情報に前記ネットワーク中の前記ノード装置を識別する装置識別情報が含まれていない場合、前記クラスタに参加することを決定する参加処理部と、
    前記ネットワーク中の前記ノード装置がクラスタへの参加を要求することを前記隣接ノード装置に通知するために、前記クラスタを識別するクラスタ識別情報と前記装置識別情報を対応付けた情報を含む第2のハローパケットを生成するハローパケット生成部と、
    前記ハローパケット生成部で生成されたハローパケットをブロードキャスト送信する送信部と、
    前記クラスタに所属していないフリーノード装置であって、かつ、前記クラスタへの参加を要求している要求ノード装置の装置識別情報を記録するフリーノードリストと、
    受信した第4のハローパケットに、前記クラスタ情報に記録されていないノード装置の装置識別情報と、前記クラスタ識別情報とを対応付けた参加要求情報が含まれていると、前記参加要求情報を前記フリーノードリストに加えるノードリスト生成部
    をさらに備え、
    前記ハローパケット生成部が、前記フリーノードリストを含む第5のハローパケットを生成し、前記送信部が前記第5のハローパケットを送信することにより、前記隣接ノード
    に前記要求ノード装置を通知する
    ことを特徴とするノード装置。
  8. 前記ノードリスト生成部は、前記クラスタ情報に記録されているノード装置の数と前記フリーノードリストに記録されているノード装置の合計値が、前記クラスタに含まれるノード装置の数の上限を表す閾値を超えないように、前記フリーノードリストに記録するノード装置の数を調整する
    ことを特徴とする請求項7に記載のノード装置。
  9. 起点ノードは、前記起点ノードを含むクラスタに含まれるノード装置の識別情報を記録したクラスタ情報を生成し、
    前記クラスタに含まれるノード装置の数が閾値に達するまで、経路情報の通知に用いられるハローパケットに、前記クラスタを識別する第1の識別情報と、前記クラスタに含まれているノード装置の数が閾値に達していないことを表す情報を含めた第1のハローパケットをブロードキャストし、
    クラスタに所属していないフリーノードは、前記第1のハローパケットを受信すると、前記第1の識別情報と前記フリーノードを識別する第2の識別情報を対応付けたリストを、前記フリーノードの経路情報を含む第2のハローパケットに含めてブロードキャストし、
    前記起点ノードは、前記クラスタに含まれるノード装置の数が閾値に達するまで、前記リストを用いて認識した前記フリーノードの識別情報を前記クラスタ情報に含め、
    記クラスタに参加している参加ノードは、前記クラスタに含まれるノードに至る経路を記憶する
    ことを特徴とする通信方法。
  10. 前記起点ノードは、前記クラスタに含まれるノードの数が前記閾値に達すると、前記第1の識別情報と前記クラスタのノード数が前記閾値に達していることを通知する通知情報を含む第3のハローパケットをブロードキャストし、
    前記通知情報を含むハローパケットを受信したフリーノードは、前記クラスタとは異なる別のクラスタの起点として、前記別のクラスタの生成を開始するとともに、前記別のクラスタに含まれるノード装置を特定する
    ことを特徴とする請求項9に記載の通信方法。
  11. 前記参加ノードは、前記第1の識別情報を含む第4のハローパケットをブロードキャストし、
    前記第4のハローパケットを受信したフリーノードは、前記第4のハローパケットに、前記クラスタのノード数が前記閾値に達していることを通知する通知情報が含まれていない場合、前記第1の識別情報、および、前記第4のハローパケットを受信したフリーノードを識別する第3の識別情報を対応付けた第2のリストを含む第5のハローパケットをブロードキャストし、
    前記第5のハローパケットを受信した前記参加ノードは、前記第2のリストを含むハローパケットをブロードキャストし、
    前記起点ノードは、前記第2のリストを含むハローパケットを受信すると、前記クラスタに含まれるノードの数が閾値に達していない場合、前記第3の識別情報で識別されるフリーノードを前記クラスタに含める
    ことを特徴とする請求項9もしくは10に記載の通信方法。
  12. 複数のノード装置を含むネットワーク中のノード装置に、
    隣接するノード装置である隣接ノード装置からパケットを受信し、
    経路情報の通知に用いられるハローパケットに、前記経路情報を相互に記憶するノード装置のグループであるクラスタに参加しているノード装置を特定するクラスタ情報と、前記クラスタに含まれているノード装置の数が閾値に達していないことを表す情報を含むパケットである第1のハローパケットを受信し、さらに、前記クラスタ情報に前記ネットワーク中の前記ノード装置を識別する装置識別情報が含まれていない場合、前記クラスタに参加することを決定し、
    前記ネットワーク中の前記ノード装置がクラスタへの参加を要求することを前記隣接ノード装置に通知するために、前記クラスタを識別するクラスタ識別情報と前記装置識別情報を対応付けた情報を含む第2のハローパケットを生成し、
    生成したハローパケットをブロードキャスト送信し、
    受信した第4のハローパケットに、前記クラスタ情報に記録されていないノード装置の装置識別情報と、前記クラスタ識別情報とを対応付けた参加要求情報が含まれている場合、前記クラスタに所属していないフリーノード装置であって、かつ、前記クラスタへの参加を要求している要求ノード装置の装置識別情報を記録するフリーノードリストに、前記参加要求情報を加え、
    前記フリーノードリストを含む第5のハローパケットを生成し、
    前記第5のハローパケットを送信することにより、前記隣接ノードに前記要求ノード装置を通知する
    処理を行わせることを特徴とする通信方法。
JP2013538400A 2011-10-13 2011-10-13 ノード装置および通信方法 Active JP5839041B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/073586 WO2013054425A1 (ja) 2011-10-13 2011-10-13 ノード装置および通信方法

Publications (2)

Publication Number Publication Date
JPWO2013054425A1 JPWO2013054425A1 (ja) 2015-03-30
JP5839041B2 true JP5839041B2 (ja) 2016-01-06

Family

ID=48081501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013538400A Active JP5839041B2 (ja) 2011-10-13 2011-10-13 ノード装置および通信方法

Country Status (3)

Country Link
US (1) US9439128B2 (ja)
JP (1) JP5839041B2 (ja)
WO (1) WO2013054425A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8965921B2 (en) * 2012-06-06 2015-02-24 Rackspace Us, Inc. Data management and indexing across a distributed database
WO2013190172A1 (en) * 2012-06-21 2013-12-27 Eye Solutions Oy Method, system, apparatus and computer program product for communication management
US8898680B2 (en) 2012-10-15 2014-11-25 Oracle International Corporation System and method for supporting asynchronous message processing in a distributed data grid
US9485173B2 (en) * 2014-06-13 2016-11-01 Telefonaktiebolaget L M Ericsson (Publ) Optimization to expand IS-IS leaf nodes during LFA computation
FR3029384B1 (fr) * 2014-11-27 2018-01-26 Traxens Procede d'affiliation a une grappe de dispositifs electroniques communiquant via un reseau sans fil, dispositif electronique mettant en oeuvre ledit procede et systeme associes
FR3034280B1 (fr) * 2015-03-25 2017-03-24 Traxens Procede de communication au sein d'une grappe de profondeur dynamique de dispostifs electroniques communicants, dispositif electronique mettant en oeuvre ledit procede et systeme associes
US10080124B2 (en) * 2015-06-29 2018-09-18 Qualcomm Incorporated Methods and apparatus for cluster management in DSRC cooperative safety systems
US10061841B2 (en) * 2015-10-21 2018-08-28 International Business Machines Corporation Fast path traversal in a relational database-based graph structure
US10833808B1 (en) * 2019-05-31 2020-11-10 Cisco Technology, Inc. Multicast error detection and recovery

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6993034B1 (en) * 1998-10-15 2006-01-31 International Business Machines Corporation Cluster destination address table—IP routing for clusters
US7171476B2 (en) * 2001-04-20 2007-01-30 Motorola, Inc. Protocol and structure for self-organizing network
JP2003078530A (ja) * 2001-08-30 2003-03-14 Matsushita Electric Ind Co Ltd 無線通信システム
US6788650B2 (en) * 2002-06-06 2004-09-07 Motorola, Inc. Network architecture, addressing and routing
JP4807701B2 (ja) * 2006-02-28 2011-11-02 国立大学法人 名古屋工業大学 移動端末装置、制御方法及び移動通信システム
US20070299950A1 (en) * 2006-06-21 2007-12-27 General Electric Company System for creating optimally-sized clusters
CN102017543B (zh) 2008-04-25 2015-11-25 富士通株式会社 节点装置及程序
KR101612475B1 (ko) * 2010-04-19 2016-04-27 삼성전자주식회사 가십 기반의 p2p 서비스의 파트너쉽 형성 방법 및 장치

Also Published As

Publication number Publication date
US20140219209A1 (en) 2014-08-07
JPWO2013054425A1 (ja) 2015-03-30
WO2013054425A1 (ja) 2013-04-18
US9439128B2 (en) 2016-09-06

Similar Documents

Publication Publication Date Title
JP5839041B2 (ja) ノード装置および通信方法
JP5928582B2 (ja) ノード装置および通信方法
JP5750973B2 (ja) 通信方法および通信装置
US9450830B2 (en) Node apparatus and communication method
US20050036486A1 (en) Route discovery in ad-hoc networks with data packets
JP2008011448A (ja) アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム
US8213352B2 (en) Wireless communication system, wireless communication device, wireless communication method, and program
KR20070081733A (ko) 다중 경로 설정 장치 및 방법
JP2008541505A (ja) 無線ネットワークにおけるルーティング方法およびその方法を使用する通信装置
JP4918900B2 (ja) 無線マルチホップネットワーク、ノード、マルチキャスト経路制御方法及びプログラム
JP2006211375A (ja) 無線アドホックネットワークにおける負荷分散方法
JP5958293B2 (ja) 通信方法、通信プログラム、および、ノード装置
US20080107033A1 (en) Radio communication network capable of radio communication with reduced overhead
JP5673840B2 (ja) ノード装置および通信方法
JP2015099985A (ja) ノード装置、制御プログラム、無線通信システム、及びデータ通信方法
US20180199396A1 (en) Method for Peer to Peer Communication and Related Communication Device
KR101762696B1 (ko) 이동 애드혹 네트워크에서 목적지 개시 기반 플러딩을 이용한 경로 유지관리 프로토콜
CN102088738A (zh) 请求发送方法和***、初始节点、中间节点和目的节点
JP2019121906A (ja) 無線通信装置、無線通信方法およびコンピュータプログラム
CN107950073A (zh) 发送数据、接收数据的方法和装置
CN111917868A (zh) 区块链节点的寻址方法、装置、路由设备及存储介质
JPWO2008114327A1 (ja) アドレス解決方法
JP5860135B2 (ja) 通信機器探索方法、通信機器、通信機器探索プログラムおよびアドホックネットワークシステム
US9532332B2 (en) Node device for releasing allocation of the unused channel to the radio interface
KR100964303B1 (ko) 메시 네트워크에서의 라우팅 방법 및 그 방법을 수행하는노드

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150608

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151026

R150 Certificate of patent or registration of utility model

Ref document number: 5839041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150