JP2014212366A - ノード装置、通信方法および通信プログラム - Google Patents

ノード装置、通信方法および通信プログラム Download PDF

Info

Publication number
JP2014212366A
JP2014212366A JP2013086241A JP2013086241A JP2014212366A JP 2014212366 A JP2014212366 A JP 2014212366A JP 2013086241 A JP2013086241 A JP 2013086241A JP 2013086241 A JP2013086241 A JP 2013086241A JP 2014212366 A JP2014212366 A JP 2014212366A
Authority
JP
Japan
Prior art keywords
node
route
packet
transmission
adjacent node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013086241A
Other languages
English (en)
Other versions
JP6098322B2 (ja
Inventor
允 温
Makoto On
允 温
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
Priority to JP2013086241A priority Critical patent/JP6098322B2/ja
Priority to US14/231,181 priority patent/US9572081B2/en
Publication of JP2014212366A publication Critical patent/JP2014212366A/ja
Application granted granted Critical
Publication of JP6098322B2 publication Critical patent/JP6098322B2/ja
Expired - Fee Related 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/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】データパケットの通信経路を適切に構築することを目的とする。
【解決手段】自律分散型ネットワークを形成するノード装置において、自装置と通信可能な複数の隣接ノード装置の各々が送信するパケットの送信先に関わる送信記録情報に基づき、他のパケットの送信先を、前記複数の隣接ノード装置の中から選択する選択部と、選択された前記隣接ノード装置に、前記他のパケットを送信する送信部とを有することを特徴とするノード装置。
【選択図】 図8

Description

本発明は、自律分散型ネットワークにおける通信技術に関する。
近年、基地局やアクセスポイントなどのネットワークインフラを用いずに、通信装置同士が通信してネットワークを構築するアドホックネットワークなどの自律分散型ネットワークが利用されている。
自律分散型ネットワークは、例えばコンピュータ、PDA(Personal Digital Assistant)、携帯電話端末等の無線接続に用いられている技術を用いて多数の通信装置をアクセスポイントの介在なしに相互に接続する。多数の通信装置は、マルチホップ通信によりパケットを送受信する。マルチホップ通信は、互いの通信圏内に存在しない通信装置同士であっても、各通信装置の通信圏内に存在する別の通信装置を介して通信を可能にする技術である。なお、各通信装置は、当該ネットワークにおけるノードと称される。
従来、各ノードが、ネットワーク内の通信経路を構築する手法が知られている。そして、当該手法においては、各ノードは、自ノードからデータパケットの最終宛先までの通信経路を自律的に構築する。各ノードは、自ノードから最終宛先までの経路のうち、品質が最もよい通信経路を優先経路とする。なお、マルチホップ通信におけるホップ数などに依存する経路コストが小さいほど、品質が良い経路ということになる。
一方、自律分散型のネットワークは、従来の固定的なネットワークとは異なり、トポロジーの変化が頻繁に発生する。したがって、経路構築時点で構築された優先経路が、実際のデータパケットの送信時点で利用できない場合もある。このような事態を考慮して、各ノードは、複数の通信経路のうち、優先経路以外に、代替経路を保持する。例えば、優先経路に通信障害が発生した場合に、ノードは、代替経路を利用したデータパケットの送信を行う。
ここで、代替経路の決定方法として、例えば、優先経路に次いで、ホップ数が少ない通信経路を代替経路として選択する方法が知られている。また、優先経路との空間相関性に基づき代替経路を選択する方法も知られている。
また、経路の構築において、ルーティングに利用される経路要求メッセージが中継ノードリストフィールドを備え、各ノードは中継ノードリストに自己のアドレスが存在する場合には、経路要求メッセージを破棄する方法もある。つまり、当該方法は、経路要求メッセージがループすることを防止するとともに、各ノードは、ループしない複数の経路を構築することができる。
さらに、有線アドホックネットワークに関する経路の構築においては、あるノード装置により送信された第1のフレームがネットワーク内をループして、第二のフレームとしてあるノードに受信された場合、ノード装置は、ループの発生を学習する方法がある。そして、ノードは、ループ検出テーブルにおいて、ループが生じるポートを学習し、ループが生じるポートへのフレーム送信を控える。
特開2004−336767号公報 特開2005−252452号公報 特開2005−64721号公報 特開2006−20221号公報 国際公開WO2010/131288公報
ホップ数や空間相関性に基づき代替経路を決定する方法は、ループが発生する通信経路を代替経路として決定する可能性がある。つまり、自ノードにおける優先経路に障害が発生した場合に、あるノードが代替経路へパケットを送信しなおしたとしても、自ノードにパケットが返ってくる可能性がある。
一方、経路要求メッセージに中継ノードフィールドを設ける方法は、ループを回避する経路の構築が可能である。しかし、経路の構築のためにノード間でやり取りされる経路要求メッセージのデータ量が、中継ノードリストの分だけ増加する。ひいては、ネットワーク全体の負荷が増大する。
また、自ノードが送信したフレームを再度受信したことでループを検出する方法においては、各ポートに対してフレームを一旦送信する必要がある。つまり、ループが発生するポートを予測した経路の構築を行うことはできない。
以上を踏まえて、一つの側面においては、本発明は、データパケットの通信経路を適切に構築することを目的とする。
上記課題を解決する為に、ひとつの実施態様においては、自律分散型ネットワークを形成するノード装置は、自装置と通信可能な複数の隣接ノード装置の各々が送信するパケットの送信先に関わる送信記録情報に基づき、他のパケットの送信先を、前記複数の隣接ノード装置の中から選択する選択部と、選択された前記隣接ノード装置に、前記他のパケットを送信する送信部とを有することを特徴とするノード装置。
本発明の一観点によれば、データパケットの通信経路を適切に構築することが可能になる。
図1は、本実施例に係るアドホックネットワークシステムの図である。 図2は、パケットのデータ構成例を示す図である。 図3は、ノードNxの機能ブロック図である。 図4は、経路情報記憶部18が記憶するデータの例を示す図である。 図5は、送信記録情報記憶部19が記憶するデータの例を示す図である。 図6は、他の実施例における送信記録情報記憶部19が記憶するデータの例を示す図である。 図7は、取得部16による送信記録情報の取得処理に関するフローチャートである。 図8は、代替経路の選択処理に関するフローチャートである。 図9は、警告信号の送信処理に関するフローチャートである。 図10は、警告信号の受信に伴う経路の再構築処理を説明するためのフローチャートである。 図11は、ノードNxのハードウェア構成の一例を示す図である。
以下詳細な本発明の実施例に関して説明する。なお、以下の各実施例は、処理の内容を矛盾させない範囲で適宜組み合わせることが可能である。以下、図面に基づいて各実施例について説明する。なお、以下では、自律分散型ネットワークの一例として、アドホックネットワークが利用される。
図1は、本実施例に係るアドホックネットワークシステムの図である。アドホックネットワークシステムは、複数のノードNxと、シンクノードSNと、サーバSとを含む。
サーバSとシンクノードSNとはインターネット、LAN、WANなどのネットワーク2を介して接続されている。ネットワーク2は、例えば固定ネットワークである。シンクノードSNとノードNxとは、アドホックネットワーク1を介して接続されている。なお、ノードNxは、無線通信が可能なコンピュータである。
アドホックネットワーク1内には、複数のノードNxが設けられている。図1では、代表としてノードNa〜Neを示している。以下、ノードNa乃至Neを区別する必要がない場合は、ノードNxと記す。
シンクノードSNは、アドホックネットワーク1とネットワーク2とを接続する中継機器である。シンクノードSNは、例えば、ゲートウェイ装置である。シンクノードSNは、アドホックネットワーク1のプロトコルの形式の情報とネットワーク2のプロトコルの形式の情報の両方を送受信可能である。
また、シンクノードSNは、アドホックネットワーク1とネットワーク2との間で情報をプロトコル変換する。例えば、アドホックネットワーク1内のノードNxのいずれかからサーバS宛に送信されたパケットは、シンクノードSNにてプロトコル変換される。その後、シンクノードSNが、パケットを、ネットワーク2に送信することで、パケットはサーバSに到達する。
サーバSは、アドホックネットワーク1を管理するとともに、各ノードNxからデータを収集するコンピュータである。
各ノードNxは、通信可能圏内に存在する他ノードNx、または通信可能圏内に存在するシンクノードSNと、直接通信可能な装置である。また、各ノードNxは、自ノードと直接通信可能なノードを経由することで、自ノードと直接通信不要な他ノードNxや、自ノードと直接通信不能なシンクノードSNと通信することができる。つまり、各ノードNxは、構築した経路を利用して、他のノードNxやシンクノードSNと通信する。
図1においては、点線で接続されたノードNx同士が、直接通信できる。さらに、自ノードと直接通信できるノードを、自ノードに対する隣接ノードと称する。
各ノードNxは、隣接ノードと各種パケットの送受信を行う。各種パケットの例としては、例えば、ハローパケットや、データパケットなどがある。
ハローパケットは、ブロードキャストされるパケットであって、マルチホップ転送の対象とはならないパケットである。ハローパケットは、各ノードNxが、自ノードと直接通信可能なノードに対して、自ノードの存在を通知するためのパケットである。
データパケットは、経路情報に従ってユニキャストされるパケットであって、マルチホップ転送を経て、後述のグローバルディスティネーションGDへ送られるパケットである。さらに、データパケットは、各ノードが取得したデータを含むパケットである。
図2は、各種パケットのデータ構成を説明するための図である。各種パケットは、ヘッダ情報格納部21と、ペイロードデータ格納部22とを有する。
ヘッダ情報格納部21には、ローカルソースLS、ローカルディスティネーションLD、グローバルソースGS、グローバルディスティネーションGDの情報が格納される。なお、ヘッダ情報格納部21には、さらに当該パケットの種別を示すパケットタイプ等の情報が格納されてもよい。
ローカルソースLSは、当該パケットの送信元を示す情報である。例えば、ローカルソースLSは、1ホップの通信における送信元のアドレス情報である。ローカルディスティネーションLDは、当該パケットの送信先を示す情報である。例えば、ローカルディスティネーションLDは、1ホップの通信における送信先のアドレス情報である。
グローバルソースGSは、当該パケットの経路の始点を示す情報である。例えば、グローバルソースGSは、マルチホップ通信を構成する初めの通信における送信元のアドレス情報である。グローバルディスティネーションGDは、当該パケットの経路の終点を示す情報である。例えば、グローバルディスティネーションGDは、マルチホップ通信を構成する最後の通信における送信先のアドレス情報である。
ここで、ハローパケットのような、ブロードキャスト型のパケットの場合は、ローカルディスティネーションLDとして、ブロードキャスト用のアドレスが設定される。例えば、あらかじめ用意されたアドレス「255.255.255.255」が設定される。また、ハローパケットのように、マルチホップ通信の対象外のパケットであれば、グローバルソースGSおよびグローバルディスティネーションGDは、設定されない。または、「000.000.000.000」などの架空のアドレスが設定される。
一方、データパケットのように、ユニキャスト型のパケットの場合は、構築された経路に基づき、次の送信先となるノードNxのアドレスが、ローカルディスティネーションLDとして設定される。また、データパケットのように、マルチホップ通信の対象であるパケットであれば、グローバルソースGSには、経路の始点のノードNxのアドレスが、グローバルディスティネーションGDには、経路の終点のノードNxまたはシンクノードSNのアドレスが設定される。
なお、本アドホックネットワーク1においては、各データパケットは最終的にシンクノードSNに収集されるものとする。また、本実施例においては、当該データパケットに含まれるデータはシンクノードSN経由でサーバSにより収集される。
次に、ペイロードデータ格納部22には、各パケットの毎に異なるデータが格納される。ハローパケットの場合は、例えば、シンクノードSNからのホップ数や、ハローパケットを生成した時刻の時刻情報が格納される。
また、データパケットの場合は、ペイロードデータ格納部22には、シンクノードSNへ送信すべきデータが格納される。さらに、データパケットの検証に利用される値が格納されてもよい。例えば、メッセージ認証符号(MAC)などが利用される。また、ペイロードデータ格納部22に格納されたデータは、暗号化されたデータでもよい。本実施例においては、暗号処理、データ検証処理は省略するが、セキュリティ確保のため、暗号処理、データ検証処理が適宜実施されることが望ましい。
ここで、ハローパケットを利用した経路情報の生成について、説明する。各ノードNxは、アドホックネットワーク1内における経路を、ハローパケットを用いて構築する。構築された経路は、経路情報として記憶される。経路情報は、後述するグローバルディスティネーションGDとローカルディスティネーションLDとを含む情報である。つまり、経路は、ローカルディスティネーションLD(隣接ノード)ごとに構築される。また、経路情報は、さらに、各経路の優劣を示す情報(優先順位)を含んでもよい。
各ノードNxおよびシンクノードSNは、定期的にハローパケットを送信する。まず、各ノードNxは、他のノードNxからハローパケットを受信することで、隣接ノードを把握することができる。また、各ノードNxは、各隣接ノードから受信したハローパケットに基づき、各隣接ノードを経由する経路についての経路コストを把握する。
経路コストは、自ノードからグローバルディスティネーションGDまで経路毎の品質を評価する値である。また、本実施例においては、経路コストは、自ノードからグローバルディスティネーションGDまでのホップ数に依存する。さらに、経路コストは、各隣接ノードからの単位時間当たりのハローパケットの受信数が加味されてもよい。ハローパケットには、経路コストまたは、経路コスト算出のために必要な情報の少なくとも一方が設定される。
例えば、図1において、シンクノードSNのハローパケットを、シンクノードSNに対する隣接ノードNaおよびNcが受信する。なお、ハローパケットには、ホップ数=1という経路コストを算出するための情報が含まれる。
ハローパケットを受信したノードNaは、ホップ数に「1」を加算し、「ホップ数=2」を設定したハローパケット生成する。そして、ハローパケットはブロードキャストされる。このとき、ブロードキャストされたハローパケットは、ノードNaの隣接ノードNb,Nd,Ne、シンクノードSNに受信される。同様に、ハローパケットを受信したノードNb,Nd,Neは、ホップ数に「1」を加算し、「ホップ数=3」を設定したハローパケットを、ブロードキャストする。
このとき、ノードNaは、シンクノードSNから、「ホップ数=1」というハローパケットを受信することで、シンクノードSNまでの経路のうち、直接シンクノードとパケットの授受を行う経路を把握する。そして、ノードNaは、当該経路について、経路コスト「1」を得る。なお、本実施例においては、ホップ数を経路コストとして取り扱う。しかし、これに限らず、ホップ数を用いて他の値を算出し、算出した値を経路コストとしてもよい。
また、ノードNaは、ノードNbから、「ホップ数=3」というハローパケットを受信することで、シンクノードSNまでの経路のうち、ノードNbを経由する経路を把握する。そして、ノードNaは、当該経路について、経路コスト「3」を得る。同様に、ノードNaは、シンクノードSNまでの経路のうち、ノードNdを経由する経路を把握するとともに、当該経路の経路コスト「3」を得る。
少なくとも1以上の経路が構築されたあと、各ノードNxは、各経路の経路コストに基づき、もっとも品質がよい経路を、優先経路に設定する。例えば、ノードNaは、シンクノードSNまでの経路のうち、シンクノードSNをローカルディスティネーションLDとする経路を、優先経路に設定する。
また、本実施例においては、各ノードNxは、各隣接ノードが送信したデータパケットを監視することなどにより、各隣接ノードの送信記録情報を取得する。なお、送信記録情報は、隣接ノードが送信したパケットの送信先(ローカルディスティネーションLD)に関わる情報である。
例えば、送信記録情報は、各隣接ノードが送信したデータパケットのうち、自ノードをローカルディスティネーションLDにしていたパケットの割合である。なお、当該アドホックネットワークにおいて、各ノードが一定周期でデータパケットを送信する場合には、各ノードは、割合の代わりに、各隣接ノードから受信したパケット数を利用することができる。
そして、ノードNxは、送信記録情報に基づき、各隣接ノードの優先経路を推定する。ノードNxは、自ノード以外のノードを優先経路におけるローカルディスティネーションLDとする隣接ノードを、代替経路として選択する。つまり、ノードNxは、自ノードを優先経路とする隣接ノードを代替経路に選択しない。
ノードNaが隣接ノード「Nb」「Nd」「Ne」を経由する経路を有している場合、ノードNaは、隣接ノード「Nb」「Nd」「Ne」各々の送信記録情報を取得する。例えば、ノードNbはノードNaをローカルディスティネーションLDに設定した経路を利用する割合が閾値以下であったとする。これを受けて、ノードNaは、隣接ノードNbにて選択されている優先経路は、自ノードNaを経由する経路ではないことを推定する。
よって、ノードNaが優先経路上に通信障害が発生したことを検知した場合に、隣接ノードNbを経由する経路を代替経路として選択することで、自ノードにパケットが送り返されることを防ぐことができる。
一方、隣接ノード「Nd」の送信記録情報から、ノードNdが、自ノードNaをローカルディスティネーションLDに設定した経路を利用する割合が閾値よりも大きいと判断される場合、ノードNaは、隣接ノードNdにて選択されている優先経路は、自ノードNaを経由する経路であることを推定する。
よって、ノードNaが、自ノードの優先経路上に通信障害が発生したことを検知した場合に、隣接ノードNdを経由する経路を代替経路として選択すると、データパケットはループして、自ノードNaに返却されることとなる。つまり、あらかじめループが生じる経路を特定することで、このような無駄なパケット送信を回避することができ、ネットワーク負荷の増大を防ぐことができる。
以上の通り、本実施例によれば、ノードNxは、隣接ノードにおける優先経路を推定することで、自ノードに対してデータパケットを送り返してくるような経路を代替経路として選択することを防ぐ。本実施例は、ネットワーク全体の負荷増大を防ぐことができる。
つぎに、各ノードNxの機能的構成について説明する。図3は、ノードNxの機能ブロック図である。ノードNxは、通信部10、制御部11、記憶部12を含む。
通信部10は、アドホックネットワーク1を構成するノードNxやシンクノードSNの少なくとも一部とパケットの授受を行う処理部である。制御部11は、ノードNx全体の処理を制御する処理部である。例えば、制御部11は、各種パケットの生成、経路情報の生成、送信記録情報の取得等を行う。記憶部12は、各種情報を記憶する記憶装置である。
通信部10は、受信部13および送信部14を含む。受信部13は、隣接ノードから、情報を受信する処理部である。たとえば、受信部13は、ハローパケットやデータパケットを受信する。送信部14は、隣接ノードへ、情報を送信する処理部である。たとえば、送信部14は、ハローパケットをブロードキャストしたり、データパケットを特定の隣接ノードに対して送信する。
制御部11は、生成部15、取得部16、選択部17を有する。生成部15は、受信部13が受信したハローパケットを取得し、ハローパケットに基づき、経路情報を生成する。そして、生成部15は、経路情報記憶部18に生成した経路情報を記憶する。なお、生成部15は定期的に経路情報の生成を行い、経路情報記憶部18の経路情報を更新する。
取得部16は、自ノードと直接通信可能な複数の隣接ノードの各々が送信する複数のパケットの送信先に関わる送信記録情報を取得する。例えば、取得部16は、データパケットに基づき、送信記録情報を生成する。そして、取得部16は、送信記録情報記憶部19に送信記録情報を記憶する。なお、取得部16は、定期的に送信記録情報の生成を行い、送信記録情報記憶部19の送信記録情報を更新する。
選択部17は、データパケットのローカルディスティネーションLDを選択する。そして、選択部17は、データパケットのヘッダ情報に各種アドレスを設定し、送信部14に対してデータパケットの送信を依頼する。
例えば、優先経路を利用したデータパケットの送信が失敗した場合に、選択部17は、送信記録情報に基づき、複数の隣接ノードのうち、自ノード以外を優先経路とする隣接ノードを、代替経路として選択する。
さらに、選択部17は、代替経路として選択可能な隣接ノードが存在しない場合に、送信部14を制御して、警告信号を送信させる。警告信号は、自ノードは優先経路以外にループを回避する経路を持たない旨を、隣接ノードへ知らせる信号である。あるノードから警告信号を受信したノードNxにおける選択部17は、警告信号の送信元である隣接ノードを経由する経路を、データパケットの送信経路から除外するように、経路の再構築を行う。
記憶部12は、経路情報記憶部18および送信記録情報記憶部19を有する。経路情報記憶部18は、経路情報を記憶する。なお、経路情報記憶部18は、一般的に、ルーティングテーブルとも称される。送信記録情報記憶部19は、送信記録情報を記憶する。
図4は、経路情報記憶部18が記憶するデータの例を示す図である。図4は、図1におけるノードNaの経路情報記憶部18である。
経路情報記憶部18は、グローバルディスティネーションGD、ローカルディスティネーションLD、経路コスト、優先順位、フラグを対応付けて記憶する。
グローバルディスティネーションGDには、各経路の終点となる装置のアドレスが格納される。本実施例においては、データパケットはシンクノードSNに集約されるため、グローバルディスティネーションGDには、シンクノードSNのアドレスが格納される。
ローカルディスティネーションLDは、各隣接ノードのアドレスが格納される。つまり、ローカルディスティネーションLDは、各隣接ノードを経由する各々の経路を示す。例えば、隣接ノード「SN」「Nb」「Nd」「Ne」各々のアドレスが、ローカルディスティネーションLDに格納される。
経路コストには、各経路の品質に関わる値が格納される。本実施例においては、経路コストとして、自ノードからグローバルディスティネーションGDまでのホップ数が、採用される。生成部15は、各隣接ノードから取得したハローパケットからホップ数を取得し、経路コストとして格納する。
例えば、隣接ノード「Nb」を経由する経路の場合は、経路コスト「3」が記憶される。なお、生成部15は、ホップ数に基づき経路コストを算出したのちに、経路情報記憶部18へ記憶してもよい。
優先順位には、各経路の経路コストに基づく、各経路の優劣を示す情報が格納される。本実施例においては経路コストが小さいほど、優先順位が高くなる(より小さな値となる)。例えば、経路コスト「1」である経路に対して、優先順位「1」が付与される。優先順位「1」が付与された経路は、優先経路となる。また、優先順位「2」が付与された経路は、代替経路となる。
図4の例では、隣接ノード「Nb」「Nd」「Ne」の各々をローカルディスティネーションとする経路の経路コストは、等しい。よって、3つの経路には、優先順位「2」が与えられる。ただし、送信記録情報が参照されることで、ループを生じる経路は、優先順位「2」であっても、代替経路から除外される。
フラグは、送信記録情報に基づき生成される情報であって、各経路が代替経路として選択可能であるかを示す情報である。フラグ「1」は、当該経路を、代替経路として選択可能であることを示す。一方、フラグ「0」は、当該経路を、代替経路として選択不能であることを示す。なお、初期状態においては、フラグは「1」である。
ここで、取得部16は、後述の送信記録情報記憶部19を参照し、自ノード以外を優先経路とする隣接ノードについては、フラグ「1」を設定する。ただし、経路情報記憶部18にフラグの領域を設けずとも、選択部17が送信記録情報記憶部19を参照することで、各経路が代替経路として選択可能であるかを判断することもできる。
本実施例においては、グローバルディスティネーションGD、ローカルディスティネーションLD、経路コスト、優先順位を経路情報と称する。そして、経路情報は、生成部15により生成される。経路情報記憶部18は、経路情報にさらにフラグを対応付けて記憶する。フラグは、送信記録情報に基づき設定される情報であって、取得部16がフラグを設定する。
図5は、送信記録情報記憶部19が記憶するデータの例を示す図である。なお、図5は、ノードNaにおける送信記録情報記憶部19を示す。送信記録情報記憶部19は、隣接ノードと送信記録情報とを対応付けて記憶する。
隣接ノードには、自ノードと直接通信可能なノードの情報が記憶される。受信部13がハローパケットを受信すると、生成部15は経路の構築を行うが、先に述べたとおり、ハローパケットを受信することで隣接ノードを把握することができる。生成部15は、自ノードと直接通信可能な隣接ノードを把握するたびに、送信記録情報記憶部19に、隣接ノードの情報を追加する。例えば隣接ノードのIDやアドレスが記録される。
そして、送信記録情報には、各隣接ノードによるデータパケットの送信先に関する情報が記憶される。例えば、各ノードが一定周期でデータパケットを送信するアドホックネットワークシステムであれば、自ノードがローカルディスティネーションLDに設定されたデータパケットを、一定時間内に受信した数が、送信記録情報として記憶される。
なお、データパケットのローカルソースLSに隣接ノードが設定されていればよく、グローバルソースGSは隣接ノードである必要はない。また、データパケットに再送回数が設定されている場合には、再送されたデータパケットについては、集計の対象外とする。
例えば、10分に1回データパケットを送信するアドホックネットワークシステムにおいて、取得部16は、自ノードをローカルディスティネーションLDとするデータパケットを、1時間あたりに受信した数を求める。
図5の例では、ノードNaが、隣接ノードNbから、1時間の中で、1回、自ノードNaをローカルディスティネーションLDとするデータパケットを受信したことを示している。つまり、隣接ノードNbは、1時間当たり6個のデータパケットを送信しているにも関わらず、ノードNaを経由する経路を1度しか利用していないことがわかる。
よって、ノードNbは、通常、他の経路を優先経路として利用していることが推測される。ノードNaがノードNbを経由する経路にデータパケットを送信した場合、データパケットはノードNbに受信されたのち、ノードNbの優先経路にしたがって自ノードNa以外のノードへ転送される。
一方、隣接ノードNdは、ノードNaを経由する経路を6度利用していることがわかる。よって、ノードNaは、ノードNdが自ノードNaを経由する経路を優先経路として利用していることを推測できる。したがって、ノードNaがノードNdを経由する経路にデータパケットを送信した場合、データパケットはノードNdに受信されたのち、ノードNdの優先経路にしたがって自ノードNaに転送される。つまり、ループが発生する。
ここで、取得部16は、送信記録情報に基づき、条件を満たす隣接ノードを、自ノード以外を優先経路とする隣接ノードとして特定する。例えば、送信記録情報として記憶された値が、閾値以下である場合に、取得部16は、条件を満たすと判定する。
閾値は、データパケットの送信周期と、送信記録情報の収集期間とを参照して、設定される値である。例えば、各ノードNxが10分に1回データパケットを送信するネットワークにおいて、1時間ごとに送信記録情報を集計する場合には、閾値は4に設定される。
そして、取得部16は、自ノード以外を優先経路とする隣接ノードを経由する経路については、経路情報記憶部18のフラグに「1」を設定する。一方、自ノードを優先経路とする隣接ノードを経由する経路については、経路情報記憶部18のフラグに「0」を設定する。そして、選択部17は、フラグ「1」の経路のうち、優先順位がより上位の経路を、代替経路として選択する。
一方、送信記録情報に関わるフラグ情報が格納されていない場合には、選択部17は、データパケットの送信経路を決定する際、送信記録情報が、閾値以下である隣接ノードを特定し、当該隣接ノードをローカルディスティネーションLDとする経路を、代替経路として選択する。
次に、各ノードNxが不定期でデータパケットを送信する場合の送信記録情報について説明する。図6は、他の実施例における送信記録情報記憶部19が記憶するデータの例を示す図である。
他の実施例における送信記録情報記憶部19は、隣接ノード、全データパケット数、自ノード宛データパケット数、送信記録情報を対応付けて記憶する。
隣接ノードには、自ノードと直接通信可能なノードの情報が記憶される。全データパケット数には、一定時間内に、各隣接ノードが送信したデータパケットの数が格納される。つまり、ローカルソースLSに隣接ノードのアドレスを持つデータパケットの受信数が格納される。
自ノード宛データパケット数には、ローカルディスティネーションLDに自ノードのアドレスが設定されたデータパケットの数が格納される。送信記録情報は、各隣接ノードが送信したデータパケットのうち、自ノードを経由する経路で送信されたデータパケットの割合に関する情報が格納される。つまり、全データパケット数に対する自ノード宛データパケット数の割合が格納される。
他の実施例においては、各ノードNxは無指向性のアンテナを有する。したがって、各ノードNxは、自ノードをローカルディスティネーションLDとしないデータパケットについても、受信することが可能である。
他の実施例においては、隣接ノードが送信した全データパケット数をカウントするために、受信したすべてのデータパケットを利用する。そして、取得部16は、隣接ノードごとに、隣接ノードのアドレスをローカルソースLSとするデータパケットを計数する。なお、受信したデータパケットが、自ノードをローカルディスティネーションLDとしないデータパケットである場合には、取得部16は、計数後、当該データパケットを破棄する。
また、取得部16は、隣接ノードのアドレスをローカルソースLSとするデータパケットであって、さらに、自ノードをローカルディスティネーションLDとするデータパケットについても計数する。なお、自ノードをローカルディスティネーションLDとするデータパケットである場合は、取得部16は、選択部17へ、経路の選択を依頼したうえで、当該データパケットを転送する。
そして、取得部16は、全データパケットおよび自ノードをローカルディスティネーションLDとするデータパケットの各々について、計数した値を用いて、隣接ノードが送信した全データパケット数に対する、自ノード宛データパケット数の割合を算出する。なお、本実施例においては、自ノードが受信できたデータパケットの数を、各隣接ノードが送信したデータパケットの全数とみなす。
図6の例では、隣接ノード「Nb」については、全データパケット数「10」、自ノード宛データパケット数「1」であるため、送信記録情報は「0.1」となる。隣接ノード「Nb」がノードNaを経由するデータパケットを送信する割合が低いため、隣接ノード「Nb」の優先経路は、ノードNaを経由する経路ではないと推測する。
取得部16は、条件を満たす隣接ノードを、自ノード以外を優先経路に設定するノードとして特定する。そして、取得部16は、経路情報記憶部18のフラグに「1」を設定する。一方、取得部16は、条件を満たさない隣接ノードを、自ノードを優先経路に設定するノードとして特定する。そして、取得部16は、経路情報記憶部18のフラグに「0」を設定する。
例えば、送信記録情報として記憶された値が、閾値以下である場合に、取得部16は、条件を満たすと判定する。閾値は、適宜設定される。例えば、閾値は0.6に設定される。
つぎに、各ノードNxにおける送信記録情報の取得処理について説明する。図7は、取得部16による送信記録情報の取得処理に関するフローチャートである。図7に示すフローチャートは、各ノードNxが一定周期でデータパケットを、シンクノードSNに送信するアドホックネットワークにおいて、送信記録情報を取得する場合のフローチャートである。
取得部16は、受信部13が受信したパケットを取得し、当該パケットがデータパケットであるか判定する(Op.1)。例えば、受信部13が受信したパケットに、グローバルソースGSおよびグローバルディスティネーションGDが設定されている場合に、受信したパケットはデータパケットであると判定される。また、取得部はデータパケットを受信するまで(Op.1No)、Op.1を繰り返す。
なお、取得部16は、各パケットがパケットタイプを有する場合には、当該パケットタイプから当該パケットがデータパケットであるか判定してもよい。例えば、パケットタイプが「1」であるパケットは、ハローパケットであることを示し、かつ、パケットタイプが「2」であるパケットは、データパケットを示す場合には、受信したパケットのパケットタイプが「2」である場合に、Op.1にて、取得部16は肯定の判断を行う。
次に、データパケットを受信した場合に(Op.1Yes)、取得部16は、受信したデータパケットのローカルディスティネーションLDに、自ノードのアドレスが設定されているかを判定する(Op.2)。Op.2は、ノードNxが指向性の高いアンテナを有する場合は省略してもよい。各ノードNxが無指向性のアンテナを有する場合には、自ノードのアドレスをローカルディスティネーションLDとするデータパケット以外にも、データパケットを受信することがあるため、Op.2の処理が実行される。
ローカルディスティネーションLDが自ノードのアドレスである場合には(Op.2Yes)、取得部16は、送信記録情報記憶部19を参照し、データパケットのローカルソースLSに対応する隣接ノードについて、送信記録情報を生成する(Op.3)。なお、すでに、送信記録情報が格納されている場合には、本処理において、送信記録情報は更新される。
例えば、取得部16は、図5に示した送信記録情報の例においては、受信したデータパケットのローカルソースLSに対応する隣接ノードについて、送信記録情報として記憶される受信数に1を加算する。
そして、取得部16は、送信記録情報を取得する(Op.4)。そして、取得部16は、送信記録情報が所定の条件を満たすかを判定する(Op.5)。例えば、取得部16は、送信記録情報として記憶された数値が閾値以下であるか否かを判定する。
所定の条件を満たす場合に(Op.5Yes)、取得部16は、処理を終了する。つまり、経路情報記憶部18におけるフラグは、初期状態である「1」のままとなる。一方、所定の条件を満たさない場合に(Op.5No)、取得部16は、データパケットのローカルソースLSに対応する隣接ノードについて、経路情報記憶部18におけるフラグを、「0」に設定する(Op.6)。
また、図7の例では、ローカルディスティネーションLDに自ノードのアドレスが設定されていない場合(Op.2No)については、処理をOp.1へ戻す。しかし、取得部16が図6に示す送信記録情報を取得する場合には、Op.1へ処理を戻す前に、全データパケット数に1を加算する。
なお、送信記録情報は、一定時間ごとにクリアされてもよい。この場合は、一期間前の送信記録情報に基づくフラグが、代替経路の選択に利用されることとなる。また、Op.1乃至Op.3を実施し、一定時間経過後に、Op.4乃至Op.6が実施されてもよい。つまり、各隣接ノードが一定以上のデータパケットの送信を行ったあとに、これらデータパケットの送信に関わる送信記録情報が取得される。そして、取得された送信記録情報を用いて、判定処理(Op.5)が実施されるとしてもよい。
以上のように、取得部16は、隣接ノードに関する送信記録情報を取得することができる。さらに、取得部16は、データパケットが一定周期で送信されるネットワークや、不定期で送信されるネットワークにおいても、送信記録情報を取得することができる。そして、送信記録情報を利用することで、ノードNxは、隣接ノードが、自ノードを経由する経路を優先経路として設定しているかを、把握することができる。
次に、データパケット送信時における、代替経路の選択処理について説明する。図8は、代替経路の選択処理に関するフローチャートである。まず、制御部11による制御の下、送信部14は、優先経路に対してデータパケットを送信する(Op.11)。
ここで、優先経路に対するデータパケットの送信について簡単に説明する。第一に、自ノードがグローバルソースGSとなる場合は、制御部11は、サーバSへ送信するデータを生成し、ペイロードデータ格納部22へ格納する。そして、選択部17は、経路情報記憶部18を参照し、グローバルディスティネーション「シンクノードSN」までの経路のうち、もっとも品質の良い経路を選択する。例えば、優先順位「1」の優先経路が選択される。
そして、選択部17は、選択した経路に対応するローカルディスティネーションLDを、経路情報記憶部18から取得する。そして、各種ヘッダ情報が、ヘッダ情報格納部21に設定される。なお、ローカルソースLSおよびローカルディスティネーションLDについては、自ノードのアドレスが設定される。そして、優先経路に対してデータパケットが送信される。
第二に、自ノードがローカルソースLSとなる場合(データパケットの転送を行う場合)は、選択部17は、隣接ノードから受信したデータパケットの、ヘッダ情報を書き換える。つまり、ローカルソースLSに自ノードのアドレスが、ローカルディスティネーションLDに自ノードにおける優先経路となる隣接ノードのアドレスが設定される。そして、優先経路に対して、データパケットが送信される。
次に、選択部17は、優先経路でのデータパケット送信が成功したか否かを判定する(Op.12)。例えば、データパケットの送信から一定時間以内に、選択部17は、シンクノードSNからデータパケットの受信を知らせる応答を、受信したか否かに基づき、判定を行う。一定時間以内に、応答を受信した場合は、選択部17は、優先経路でのデータパケット送信が成功したと判断する。
データパケットの送信が成功した場合は(Op.12Yes)、代替経路の選択処理は終了する。一方、データパケットの送信が成功しなかった場合は(Op.12No)、選択部17は、経路情報記憶部18を参照し、フラグが「1」である経路が存在するか否かを判定する(Op.13)。ここでは、優先経路以外で、フラグが「1」である経路が存在するか否かが判定される。なお、フラグで判定する方法以外にも、例えば、Op.13において、図7のOp.5の判定が実行されてもよい。
つまり、Op.13においては、自ノード以外を優先経路とする隣接ノードが存在するか否かが判定される。各経路におけるローカルディスティネーションLDとなる隣接ノードへデータパケットを送信したとしても、当該隣接ノードからデータパケットが自ノードへ送信されることがないような経路が存在するかが判定される。
フラグが「1」である経路が存在する場合は(Op.13Yes)、選択部17は、フラグが「1」の経路のうち、優先順位が高い経路を選択する(OP.14)。優先経路以外の経路のなかで、フラグが「1」であって、優先順位がより高い経路(優先順位が2以下の経路)が選択される。
そして、選択部17は選択した経路に基づきヘッダ情報を生成し、送信部14は、データパケットを送信する(Op.15)。そして、制御部11は、処理を終了させる。
ただし、選択部17は、優先経路同様、代替経路でのデータパケットの送信が成功したか否かを監視してもよい。そして、代替経路でのデータパケットの送信が成功しなかった場合には、他の代替経路を選択してもよい。
一方、フラグが「1」の経路が存在しない場合は(Op.13No)、選択部17は、一定時間待機する(Op.16)。そして、優先経路でデータパケットの送信を、再度試みる(Op.11)。
以上のとおり、本実施例によれば、適切な代替経路が選択される。つまり、選択部17は、自ノード以外を優先経路とする隣接ノードを、経路として選択する。したがって、自ノードにおける優先経路に障害が発生した場合に、各ノードは、当該優先経路を回避可能となる可能性の高い経路を選択することができる。
次に、優先経路以外に利用可能な代替経路が存在しない場合の各ノードの処理について説明する。図9は、警告信号の送信処理に関するフローチャートである。本実施例においては、警告信号の送信処理は、優先経路に障害を検知したタイミングで実行される。しかし、これに限らず、定期的に実行されてもよい。
まず、選択部17は、経路情報記憶部18を参照し、優先経路以外にフラグ「1」の経路があるか否かを判定する(Op.21)。優先経路以外にフラグ「1」の経路が存在しない場合(Op.21No)、制御部11の制御の下、送信部14は、警告信号を送信する(Op.22)。
警告信号は、自ノードが優先経路以外に、利用可能な代替経路を有さないことを知らせるための信号である。そして、警告信号は、隣接ノードに対して送信される。つまり、警告信号送信時点で、経路情報記憶部18にローカルディスティネーションLDとして記録された各隣接ノードに対して、警告信号が送信される。
警告信号は、各隣接ノードに対してユニキャストされてもよいし、全隣接ノードに対してブロードキャストされてもよい。また、グローバルディスティネーションGDとなる装置が複数存在する場合には、いずれのグローバルディスティネーションGDに対する警告信号であるのかを示す識別情報が、警告信号に含まれる。
次に、選択部17は、警告信号の送信先を、記憶部12に記憶する(Op.23)。例えば、警告信号送信時点で、経路情報記憶部18にローカルディスティネーションLDとして記録された各隣接ノードが、記憶部12に記憶される。そして、選択部17は、処理を終了する。
一方、優先経路以外にフラグ「1」の経路がある場合(Op.21Yes)、選択部17は、過去に警告信号を送信したか否かを判定する(Op.24)。例えば、警告信号の送信先が記憶されている場合には、過去に警告信号を送信したことが判定される。
過去に警告信号を送信している場合には(Op.24Yes)、選択部17は、新たな経路を構築したか否かを判定する(Op.25)。新たな経路とは、警告信号の送信先以外の隣接ノードをローカルディスティネーションLDとする経路である。
アドホックネットワークなどの自律分散型ネットワークにおいては、ネットワークのトポロジーの変化により、新たな経路が構築されることがある。これは、物理的にノードが追加された場合や、周囲の環境が変化したことにともない通信状況が変化した場合を含む。生成部15は、経路情報を定期的に生成するが、選択部17は、図9に示す警告信号の送信処理のタイミングで、新たな経路が経路情報記憶部18に格納されている場合には、新たな経路を構築したと判定する。例えば、警告信号の送信先として記憶されたノード以外のノードをローカルディスティネーションLDとする経路が、経路情報記憶部18に記憶されている場合に、新たな経路が構築されたことが判定される。
なお、経路情報の生成処理は、警告信号の送信処理とは独立に実行される。しかし、2つの処理が同期してもよい。つまり、一定周期ごとに経路情報が生成または更新されると、それに続いて、警告信号の送信処理が実行されてもよい。
新たな経路が構築されている場合には(Op.25Yes)、制御部11の制御の下、送信部14は、解除信号を送信する(Op.26)。解除信号は、自ノードが優先経路以外に、利用可能な代替経路を有することを知らせるための信号である。
解除信号は、過去の警告信号の送信先に対して、送信されてもよいし、解除信号送信時点で、経路情報記憶部18にローカルディスティネーションLDとして記録された各隣接ノードに対して、送信されてもよい。
一方、過去に警告信号を送信していない場合(Op.24No)や、新たな経路を構築していない場合(Op.25No)には、選択部17は処理を終了する。
以上のように、ノードNxは、優先経路以外に利用可能な代替経路を持たないことを検知した場合に、自ノードが不安定であることを隣接ノードに通知することができる。そして、新たな経路が構築された場合には、優先経路以外に利用可能な代替経路を持つことを隣接ノードに通知することができる。
次に、警告信号を受信した場合の各ノードの処理について説明する。図10は、警告信号の受信に伴う経路の再構築処理を説明するためのフローチャートである。図9に示す警告信号の送信処理を受けて、ノードNxが他のノードから警告信号を受信した場合に、図10の処理が実行される。
受信部13は、隣接ノードから警告信号を受信する(Op.31)。そして、生成部15は、受信した警告信号は、優先経路となる隣接ノードから受信した警告信号であるか否かを判定する(Op.32)。例えば、生成部15は、警告信号に設定されたローカルディスティネーションLDと、経路情報記憶部18における優先順位「1」である経路のローカルディスティネーションLDとが一致するかを判定する。
次に、受信した警告信号が、優先経路となる隣接ノードからの警告信号である場合(Op.32Yes)、生成部15は、フラグが「1」の経路が、優先経路以外に存在するか否かを判定する(Op.33)。フラグが「1」の経路が、優先経路以外に存在する場合(Op.33Yes)は、生成部15は、経路情報記憶部18における経路情報を更新する(Op.34)。つまり、生成部15は、各経路について、経路情報記憶部18に設定された優先順位を更新する。
例えば、生成部15は、優先経路となっていた経路に対応する優先順位を「99」などのあらかじめ決まった値に設定する。そして、生成部15は、優先順位「99」以外の値をもつ残りの経路について、順位が高いものから、順に「1」「2」「3」「・・・」を付与する。
一方、受信した警告信号が、優先経路となる隣接ノードからの警告信号でない場合(Op.32No)や、フラグが「1」の経路が、優先経路以外に存在しない場合(Op.33No)は、生成部15は、処理を終了する。
本実施例においては、生成部15は、受信した警告信号が、優先経路となる隣接ノードからの警告信号でない場合は、経路情報を更新する必要がないと判断する。なお、警告信号の送信元である隣接ノードをローカルディスティネーションLDとする経路の優先順位を最下位に設定するなどしてもよい。
また、本実施例においては、生成部15は、フラグが「1」の経路が、優先経路以外に存在しない場合は、経路情報を更新する必要がないと判断する。これは、自ノード以外を優先経路とする隣接ノードがない状態、つまり、利用可能な代替経路がない状態である。よって、他の経路を優先経路とすることができない状態においては、経路情報は更新しない。
ここで、警告信号の受信にともない、優先経路ではなくなった経路は、解除信号の受信によって、再度優先経路に設定される。したがって、本実施例においては、解除信号を受信した場合、生成部15は、解除信号の送信元をローカルディスティネーションLDとし、かつ優先順位に決まった値(例えば「99」)を有する経路が存在するかを判定する。そして、該当する経路が存在する場合に、生成部15は、当該経路に、再度、優先順位「1」を付与する。
以上のように、警告信号の受信を受けて、自ノードにおける経路を再構築することができる。つまり、本実施例に係るノードNxは、不安定な隣接ノードをローカルディスティネーションLDとする経路以外を優先経路とする経路情報へ更新することができる。また、ノードNxは、適切なタイミングで、品質の良い経路を、再度優先経路とすることができる。
例えば、図9に示す警告信号の送信処理が、複数のノードNxのうちの第一のノードにおける優先経路の障害検知を契機に実行される場合は、複数のノードNxのうちの警告信号を受信した第二のノードは、第一のノードにおける優先経路に障害が発生し、かつ、第一のノードは利用可能な代替経路を有しないことを把握することができる。
そして、第二のノードが第一のノードを自ノードにとっての優先経路として設定している場合には、当該優先経路を利用しても、データパケットの送信が失敗する可能性が高いことが推測できる。したがって、第二のノードは、経路情報における優先順位を更新する。つまり、第二のノードは、第一のノードをローカルディスティネーションLDとする経路以外の経路を優先経路に、再設定する。
一方、図9に示す警告信号の送信処理が定期的に実行される場合には、警告信号を受信した第二のノードは、警告信号の送信元である第一のノードにおいて、利用可能な代替経路が存在しないことを把握することができる。そして、第二のノードは、第一のノードが自ノードにとっての優先経路である場合であって、なんらかの理由で第一のノードにおける優先経路に障害が発生した場合に、データパケットの送信ができなくなる可能性があることを把握できる。
なぜなら、第一のノードは利用可能な代替経路を有しないことから、優先経路以外でのデータパケットの転送ができないためである。したがって、第二のノードは、経路情報における優先順位を更新する。つまり、第二のノードは、第一のノードをローカルディスティネーションLDとする経路以外の経路を優先経路に、再設定する。
なお、各ノードNxが、各隣接ノードに関する送信記録情報を取得するまでは、各ノードNxは、優先経路の次に品質が良い経路を、代替経路として利用してもよい。また、所定時間ごとの送信記録情報に基づき、各ノードは、代替経路として利用する隣接ノードを、定期的に選択してもよい。さらに、自ノード以外を優先経路とする隣接ノードが複数ある場合には、経路の品質がよりよい経路が選択される。
また、優先経路を選択する際にも、送信記録情報が参照されてもよい。例えば、図4におけるフラグ「1」に対応する経路で、もっとも経路コストが小さい経路が優先経路に選択されるとしてもよい。
次に、ノードNxのハードウェア構成を説明する。図11は、ノードNxのハードウェア構成の一例を示す図である。図11は、ノードNxのハードウェア構成例である。ノードNxは、無線通信機能を有するコンピュータである。ノードNxは、CPU(Central Processing Unit)101と、RAM(Random Access Memory)102と、フラッシュメモリ103と、通信装置104と、バス107とを備えている。CPU101乃至通信装置104は、バス107よってそれぞれ接続されている。
CPU101は、ノードNxの全体の制御を司る。CPU101は、RAM102にロードされたプログラムを実行することにより、制御部11などとして機能する。
RAM102は、CPU101のワークエリアとして使用される。フラッシュメモリ103は、プログラムや、経路情報、送信記録情報を記憶している。なお、フラッシュメモリ103は、記憶部12の一例である。プログラムには、例えば、フローチャートに示した各処理を実行させる為のプログラムが含まれる。例えば、図7乃至図10に示す通信処理を、ノードNxに実行させる為の制御プログラムが、フラッシュメモリ103に記憶される。
フラッシュメモリ103に記憶されたプログラムを、RAM102にロードし、CPU101が実行することで、ノードNxは、図3に記載した制御部11として機能する。また、ノードNxは、図7乃至図10に示した各種処理を実行する。
通信装置104は、マルチホップ通信によりパケットを送受信する。通信装置104は、通信部10の一例である。通信装置104は、アンテナや通信回路を含む。
ノードNxは、さらに、暗号化回路105や、センサ106を備えてもよい。暗号化回路105は、データを暗号化する場合に暗号鍵によりデータを暗号化する回路である。例えば、パケットを暗号化して送信する場合は、暗号化回路105が機能する。暗号化をソフトウェア的に実行する場合は、暗号化回路105に相当するプログラムをフラッシュメモリ103に記憶させておくことで、暗号化回路105は不要となる。
センサ106は、センサ106固有のデータを検出する。例えば、温度、湿度、水位、降水量、風量、音量、電力使用量、時間、時刻、加速度など、測定対象にあったデータを検出する。なお、CPU101が、センサ106からデータを取得することができる。例えば、センサ106が取得したデータが、データパケットのペイロードデータ格納部22に格納されて、サーバSにより収集される。
また、ノードNxは、無線通信機能を有する汎用コンピュータや、携帯電話、スマートフォンなどのコンピュータでもよい。この場合、ノードNxは、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、通信装置、HDD(Hard Disk Drive)、入力装置、表示装置、媒体読取装置を有しており、各部はバスを介して相互に接続されている。
各種フローチャートに示した通信プログラムは、コンピュータが読み取り可能な記録媒体に記録される。コンピュータが読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。
光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc − Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto − Optical disk)などがある。このプログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売されることが考えられる。
そして本実施例にかかる通信プログラムを実行するコンピュータは、例えば媒体読取装置が、通信プログラムを記録した記録媒体から、該プログラムを読み出す。CPUは、読み出されたプログラムをHDD若しくはROM、RAMに格納する。
CPUは、ノードNx全体の動作制御を司る中央処理装置である。そして、CPUが、通信プログラムをHDDから読み出して実行することで、CPUは、図3に示す制御部11として機能するようになる。通信プログラムはCPUとアクセス可能なROMまたはRAMに格納されていても良い。また、通信装置は、CPUの制御の下、通信部10として機能する。
さらに、HDDは、CPUの管理下で図2に示す記憶部12として機能する。つまり、HDDは、経路情報や送信記録情報を記憶する。通信プログラム同様、経路情報や送信記録情報はCPUとアクセス可能なROMまたはRAMに格納されても良い。さらに、処理の過程で生成される各種情報は、例えば、RAMに格納される。
入力装置は、各種入力を受け付ける。入力装置は、例えばキーボードやマウスである。表示装置は、各種情報を表示する。表示装置は、例えばディスプレイである。
1 アドホックネットワーク
2 ネットワーク
Nx ノード
SN シンクノード
S サーバ
10 通信部
11 制御部
12 記憶部
13 受信部
14 送信部
15 生成部
16 取得部
17 選択部
18 経路情報記憶部
19 送信記録情報記憶部
101 CPU
102 RAM
103 フラッシュメモリ
104 通信装置
105 暗号化回路
106 センサ
107 バス

Claims (11)

  1. 自律分散型ネットワークを形成するノード装置において、
    自装置と通信可能な複数の隣接ノード装置の各々が送信するパケットの送信先に関わる送信記録情報に基づき、他のパケットの送信先を、前記複数の隣接ノード装置の中から選択する選択部と、
    選択された前記隣接ノード装置に、前記他のパケットを送信する送信部とを有することを特徴とするノード装置。
  2. 前記選択部は、前記送信記録情報に基づき、前記複数の隣接ノード装置のうち、自装置以外を前記パケットの送信先とする確率が高い隣接ノード装置を選択することを特徴とする請求項1に記載のノード装置。
  3. 前記選択部は、自装置を前記パケットの送信先とする確率が高い他の隣接ノード装置を選択しないことを特徴とする請求項2に記載のノード装置。
  4. 前記ノード装置は、さらに、
    自装置から最終宛先までの経路であって、かつ前記複数の隣接ノードのいずれかを経由する複数の経路を生成するとともに、前記複数の経路のいずれかを、該最終宛先との通信において優先的に使用する優先経路に設定する生成部を備えることを特徴とする請求項1乃至請求項3のいずれか一項に記載のノード装置。
  5. 前記優先経路を用いた前記他のパケットの送信が失敗した場合に、前記選択部は前記隣接ノード装置を選択するとともに、前記送信部は、前記隣接ノード装置に前記他のパケットを送信することを特徴とする請求項4に記載のノード装置。
  6. 前記送信記録情報は、前記複数の隣接ノード装置各々が送信した前記パケットのうちの、前記自装置宛のパケットの割合であることを特徴とする請求項1乃至請求項5のいずれか一項に記載のノード装置。
  7. 前記複数のパケットは一定周期で送信される場合に、前記送信記録情報は、前記複数の隣接ノード装置各々からの、前記パケットの受信数であることを特徴とする請求項1乃至請求項5のいずれか一項に記載のノード装置。
  8. 前記自装置以外を前記パケットの送信先とする確率が高い前記隣接ノード装置が存在しない場合に、前記送信部は、前記複数の隣接ノード装置に対して、警告信号を送信することを特徴とする請求項2乃至請求項7のいずれか一項に記載のノード装置。
  9. 前記警告信号を受信する受信部をさらに備え、
    前記受信部が他のノード装置から前記警告信号を受信した場合に、前記選択部は、該他のノード装置を前記他のパケットの送信先から除外することを特徴とする請求項8に記載のノード装置。
  10. 自律分散型ネットワークを形成するコンピュータが、
    自装置と通信可能な複数の隣接ノード装置の各々が送信するパケットの送信先に関わる送信記録情報に基づき、他のパケットの送信先を、前記複数の隣接ノード装置の中から選択し、
    選択された前記隣接ノード装置に、前記他のパケットを送信する処理を実行することを特徴とする通信方法。
  11. 自律分散型ネットワークを形成するコンピュータに、
    自装置と通信可能な複数の隣接ノード装置の各々が送信するパケットの送信先に関わる送信記録情報に基づき、他のパケットの送信先を、前記複数の隣接ノード装置の中から選択し、
    選択された前記隣接ノード装置に、前記他のパケットを送信する処理を実行させることを特徴とする通信プログラム。
JP2013086241A 2013-04-17 2013-04-17 パケット転送方法、ノード装置およびプログラム Expired - Fee Related JP6098322B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013086241A JP6098322B2 (ja) 2013-04-17 2013-04-17 パケット転送方法、ノード装置およびプログラム
US14/231,181 US9572081B2 (en) 2013-04-17 2014-03-31 Communication method and apparatus in a multi-hop communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013086241A JP6098322B2 (ja) 2013-04-17 2013-04-17 パケット転送方法、ノード装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2014212366A true JP2014212366A (ja) 2014-11-13
JP6098322B2 JP6098322B2 (ja) 2017-03-22

Family

ID=51728906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013086241A Expired - Fee Related JP6098322B2 (ja) 2013-04-17 2013-04-17 パケット転送方法、ノード装置およびプログラム

Country Status (2)

Country Link
US (1) US9572081B2 (ja)
JP (1) JP6098322B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10313231B1 (en) * 2016-02-08 2019-06-04 Barefoot Networks, Inc. Resilient hashing for forwarding packets
CN107231639A (zh) * 2016-03-25 2017-10-03 富士通株式会社 中继节点的部署方法、装置和系统
GB2558923B (en) * 2017-01-20 2019-12-25 Airties Kablosuz Iletism Sanayi Ve Disticaret As Methods for link and path quality assessment
US10542127B2 (en) * 2017-09-06 2020-01-21 Sap Se Fault tolerant communication in a distributed system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006279482A (ja) * 2005-03-29 2006-10-12 Nec Corp ネットワーク、ルータ装置、それに用いる切替方法及びそのプログラム並びに記録媒体
JP2008278337A (ja) * 2007-05-01 2008-11-13 Brother Ind Ltd 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7453864B2 (en) 2003-04-30 2008-11-18 Harris Corporation Predictive route maintenance in a mobile ad hoc network
EP1653676B1 (en) 2003-08-08 2017-12-27 Sony Corporation Communication system, communication method and program
JP4605426B2 (ja) 2003-08-08 2011-01-05 ソニー株式会社 通信端末装置及びその制御方法、プログラム
JP4136970B2 (ja) 2004-03-02 2008-08-20 株式会社Kddi研究所 無線メッシュ網における代替経路決定方法
JP4526886B2 (ja) 2004-07-05 2010-08-18 株式会社日立製作所 無線装置、無線通信システムの制御方法、及び無線通信システム
US8085676B2 (en) * 2006-06-29 2011-12-27 Nortel Networks Limited Method and system for looping back traffic in QIQ ethernet rings and 1:1 protected PBT trunks
US8619769B2 (en) * 2008-06-12 2013-12-31 Mark Henrik Sandstrom Packet-layer transparent packet-switching network
CN102415054B (zh) 2009-05-11 2015-02-11 富士通株式会社 节点装置和通信方法
JP5561006B2 (ja) * 2010-08-05 2014-07-30 富士通株式会社 データ転送装置、データ受信装置、データ転送方法、およびデータ転送プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006279482A (ja) * 2005-03-29 2006-10-12 Nec Corp ネットワーク、ルータ装置、それに用いる切替方法及びそのプログラム並びに記録媒体
JP2008278337A (ja) * 2007-05-01 2008-11-13 Brother Ind Ltd 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法

Also Published As

Publication number Publication date
JP6098322B2 (ja) 2017-03-22
US9572081B2 (en) 2017-02-14
US20140313885A1 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
Petrioli et al. ALBA-R: Load-balancing geographic routing around connectivity holes in wireless sensor networks
Cheng et al. QoS aware geographic opportunistic routing in wireless sensor networks
US9842202B2 (en) Device proximity
US9356858B2 (en) Redirecting traffic via tunnels to discovered data aggregators
JP5939262B2 (ja) 送信制御方法、ノードおよび送信制御プログラム
ES2675758T3 (es) Gestión eficiente de una tabla proxy en redes de comunicación
TW201014394A (en) Route and link evaluation in wireless mesh communications networks
CN106161234B (zh) 路由消息递送方法、使用该方法的网络节点和通信系统
JP6036841B2 (ja) 通信制御方法、ネットワークシステム、および通信装置
JP5790665B2 (ja) 通信装置、通信システム、通信方法、および通信プログラム
JP5861769B2 (ja) 無線通信方法、ノードおよび監視ノード
JP6098322B2 (ja) パケット転送方法、ノード装置およびプログラム
Mast et al. Channel contention‐based routing protocol for wireless ad hoc networks
Cugola et al. A context and content-based routing protocol for mobile sensor networks
US20130201970A1 (en) Wireless communication system, wireless communication control method, and wireless communication device
Raffelsberger et al. Overview of hybrid MANET-DTN networking and its potential for emergency response operations
WO2013145026A1 (ja) ネットワークシステム、ノード、検証ノードおよび通信方法
US9686641B2 (en) Notification method, notification system and terminal for scenery are abased on ad hoc network
JP2006067377A (ja) 分散型ネットワークの情報集約方式
Singh Path reliability of multi path routing in MANET
KR101138712B1 (ko) 복수의 센서 노드들 중에서 대표 센서 노드를 선정하는 방법
JP6217174B2 (ja) 無線通信システム、無線端末、及び、障害検出方法
Martins et al. A hybrid method to detecting failures in mobile sensor networks using localization algorithms
JP2017050608A (ja) 無線通信装置、方法、プログラム及びシステム
Yacoab et al. An adaptive traffic aware data aggregation technique for wireless sensor networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160113

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170206

R150 Certificate of patent or registration of utility model

Ref document number: 6098322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees