以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下に示す項目順序に従って当該「発明を実施するための最良の形態」を説明する。
〔1〕無線マルチホップネットワークの概要
〔2〕本実施形態にかかる通信システムの概要
〔3〕本実施形態に至る経緯
〔4〕本実施形態にかかる無線通信装置の構成
〔5〕本実施形態にかかるゲートウェイの構成
〔6〕本実施形態にかかる通信システムの動作
〔7〕まとめ
〔1〕無線マルチホップネットワークの概要
まず、図1を参照し、本実施形態に関連する、一般的な無線マルチホップネットワークについて概略的に説明する。
図1は、一般的な無線マルチホップネットワークの構成を示した説明図である。図1に示したように、無線マルチホップネットワークは、複数の無線通信装置30A〜30Fを含む。従来のP2P型(Peer to Peer)の無線ネットワークでは、ある無線通信装置が自装置と通信可能な全ての無線通信装置へメッセージを送信する場合には、ブロードキャスト通信が利用される。これに対し、図1に示した無線マルチホップネットワークにおいては、ある無線通信装置が自装置と通信可能な全ての無線通信装置へメッセージを送信する場合には、フラッディング通信が利用される。
フラッディング通信は、例えば経路情報を含むメッセージを受信した各無線通信装置が、該メッセージをブロードキャストすることにより、該メッセージを次々に中継伝播させる通信である。このようにメッセージがある無線通信装置により中継されることは、ホップと表現される場合もある。
図1には、無線通信装置30Aから送信されたメッセージがフラッディング通信により伝播していく様子が矢印で表されている。具体的には、無線通信装置30Aによりブロードキャストされたメッセージを無線通信装置30Bが受信し、無線通信装置30Bは受信したメッセージをブロードキャストする。すると、無線通信装置30Bによりブロードキャストされたメッセージを無線通信装置30Cが受信し、無線通信装置30Cは受信したメッセージをブロードキャストする。同様に、無線通信装置30D、無線通信装置30Eが受信した該メッセージをブロードキャストし、該メッセージが無線通信装置30Fへ到達する。
なお、一般的な無線マルチホップネットワークにおいては、2の無線通信装置間の通信経路はルーティングプロトコルにより決定され、決定された通信経路に従って2の無線通信装置間で無線通信が行われる。したがって、各無線通信装置において、ルーティングプロトコルに基づいて他の無線通信装置ごとに異なる通信経路が決定される。そして、各無線通信装置は、決定されている通信経路に応じた無線通信装置に対してメッセージを送信し、中継させることにより宛先となる無線通信装置へメッセージを到達させることができる。
〔2〕本実施形態にかかる通信システムの概要
以上、図1を参照し、一般的な無線マルチホップネットワークについて簡単に説明した。続いて、図2を参照し、本実施形態にかかる通信システム1について概略的に説明する。
図2は、本実施形態にかかる通信システム1の構成を示した説明図である。図2に示したように、当該通信システム1は、バックボーンネットワーク12と、複数の無線通信装置20A〜20Dと、複数のゲートウェイ22X〜22Zを含む。なお、図1においては、各無線通信装置を区別するために、無線通信装置20A〜20Dのように符号の後に大文字のアルファベットを付しているが、各無線通信装置を特に区別する必要が無い場合、単に無線通信装置20と総称する。ゲートウェイ22X〜22Zについても同様に、各ゲートウェイを特に区別する必要が無い場合、単にゲートウェイ22と総称する。
バックボーンネットワーク12は、バックボーンネットワーク12に接続されている装置から送信されるメッセージの伝送路であって、該伝送路は有線であっても無線であってもよい。例えば、バックボーンネットワーク12は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)、IEEE802.11a、b、g、nを含む各種のLAN(Local Area Network)、IEEE802.16に企画されるWiMAXなどのWAN(Wide Area Network)、IP−VPN(Internt Protocol−Virtual Private Network)などの専用回線網を含んでもよい。
ゲートウェイ22は、バックボーンネットワーク12および無線通信装置20A〜20Dからなる無線マルチホップネットワークを接続し、バックボーンネットワーク12および無線マルチホップネットワークでの通信を可能とする。具体的には、ゲートウェイ22は、無線マルチホップネットワークから送信されたメッセージをバックボーンネットワーク12用のメッセージにデータ変換し、変換したメッセージをバックボーンネットワーク12へ送信する。同様に、ゲートウェイ22は、バックボーンネットワーク12から受信したメッセージを無線マルチホップネットワーク用のメッセージにデータ変換し、変換したデータを無線マルチホップネットワークへ無線で送信する。また、ゲートウェイ22は、無線通信装置20からフラッディング通信により受信したメッセージをブロードキャストする機能も備える。
なお、ゲートウェイ22Xは、無線通信装置20Aおよび20Bをバックボーンネットワーク12との接続対象としており、ゲートウェイ22X、無線通信装置20Aおよび20Bが一のサブネットワークを形成する。同様に、ゲートウェイ22Yは、無線通信装置20Cおよび20Dをバックボーンネットワーク12との接続対象としており、ゲートウェイ22Y、無線通信装置20Cおよび20Dが一のサブネットワークを形成する。
無線通信装置20は、特定の無線通信装置へメッセージを送信するユニキャストや、「〔1〕無線マルチホップネットワークの概要」において説明したフラッディング通信を行うことができる。なお、図2においては無線通信装置20を丸印で簡略化して示しているが、無線通信装置20は、PC(Personal Computer)、家庭用映像処理装置(DVDレコーダ、ビデオデッキなど)、携帯電話、PHS(Personal Handyphone System)、携帯用音楽再生装置、携帯用映像処理装置、PDA(Personal Digital Assistants)、家庭用ゲーム機器、携帯用ゲーム機器、家電機器などの任意の情報処理装置であってもよい。ゲートウェイ22も無線通信装置20と同様に上記のような任意の情報処理装置であってもよいし、ルータであってもよい。
このように、本実施形態にかかる通信システム1は、無線マルチホップネットワークとバックボーンネットワーク12がゲートウェイ22により接続されている。したがって、本実施形態にかかる通信システム1においては、無線マルチホップネットワークのみに限られず、バックボーンネットワーク12も利用してフラッディング通信を行うことが可能である。
〔3〕本実施形態に至る経緯
しかし、本実施形態に関連する通信システム8においては、図3および図4に示すように、フラッディングされたメッセージがバックボーンネットワーク12および無線マルチホップネットワーク間をループしてしまうという問題があった。かかる問題について以下に詳細に説明する。
図3および図4は、本実施形態に関連する通信システム8におけるフラッディング通信の流れを示した説明図である。まず、無線通信装置30Aからメッセージのフラッディング通信が開始されると、図3に示したように、メッセージがゲートウェイ32Xにより受信される。すると、ゲートウェイ32Xは、該メッセージを無線でブロードキャストすると共に、該メッセージをバックボーンネットワーク12へ送信する。無線通信装置30Bは、ゲートウェイ32Xから無線でブロードキャストされたメッセージを受信すると、該メッセージをさらにブロードキャストする。その結果、該メッセージが無線通信装置30Cに到達する。
一方、ゲートウェイ32Xからバックボーンネットワーク12へ送信されたメッセージは、バックボーンネットワーク12を介し、ゲートウェイ32Yおよびゲートウェイ32Zにより受信される。すると、ゲートウェイ32Yおよびゲートウェイ32Zは、受信したメッセージを無線でブロードキャストする。その結果、無線通信装置30Cおよび30Dへ、ゲートウェイ32Yからブロードキャストされたメッセージが到達する。
このように、無線通信装置30Cには、無線マルチホップネットワークのみを介する経路、およびバックボーンネットワーク12を介する経路の双方を利用してフラッディングされたメッセージが到達する。ここで、無線通信装置30Cが、自装置に到達した2のメッセージを同一のメッセージであると認識することができれば、該メッセージのブロードキャストのブロードキャストを中止することが可能である。
しかし、「〔2〕本実施形態にかかる通信システムの概要」において説明したように、ゲートウェイ32は、メッセージを無線ネットワーックおよびバックボーンネットワーク12間で送受信する際にデータ変換を行なう。その結果、無線通信装置30Cは、自装置に到達した2のメッセージを同一のメッセージであると認識することができない場合がある。
この場合、無線通信装置30Cは、バックボーンネットワーク12を介して到達したメッセージをブロードキャストするため、図4に示すように、該メッセージが無線通信装置30Bを介して再度ゲートウェイ32Xへ到達する。そして、ゲートウェイ32Xは、無線通信装置30Cと同様に、無線通信装置30Bから受信したメッセージと以前にバックボーンネットワーク12へ送信したメッセージとが同一であると認識できない。このため、ゲートウェイ32Xは、無線通信装置30Bから受信したメッセージを再度バックボーンネットワーク12へ送信する。その結果、ゲートウェイ32Y、無線通信装置30C、無線通信装置30B、ゲートウェイ32X、バックボーンネットワーク12という経路をメッセージがループすることになり、不要に帯域が使用されることとなる。
また、図面の明瞭性の観点から図4においては記載を省略したが、無線通信装置30Cからブロードキャストされたメッセージはゲートウェイ32Yに到達し、ゲートウェイ32Yが該メッセージをバックボーンネットワーク12へ送信する。その結果、図4に示したループと逆向きの、ゲートウェイ32X、無線通信装置30B、無線通信装置30C、ゲートウェイ32Y、バックボーンネットワーク12という経路のループも発生する。
そこで、上記のような事情を一着眼点にして本実施形態にかかる通信システム1を創作するに至った。本実施形態にかかる通信システム1によれば、フラッディング通信における上記のようなループを回避することが可能である。以下、このような通信システム1を構成する無線通信装置20およびゲートウェイ22の構成および通信システム1の動作について詳細に説明する。
〔4〕本実施形態にかかる無線通信装置の構成
図5は、本実施形態にかかる無線通信装置20の構成を示した機能ブロック図である。図5に示したように、当該無線通信装置20は、通信部216と、ゲートウェイ認識部220と、記憶部224と、送信データ生成部228と、シーケンス番号抽出部232と、送信制御部236と、を備える。
通信部216は、ゲートウェイ22や他の無線通信装置20Bなどの外部装置とのインターフェースであって、ゲートウェイ22や他の無線通信装置20Bなどと各種情報を送受信する送信部、および受信部としての機能を有する。例えば、通信部216は、ゲートウェイ22から送信された高周波の無線信号をベースバンド信号にダウンコンバージョンし、ベースバンド信号をビット列に変換する。また、通信部216は、送信データ生成部228により生成された送信データのビット列をベースバンド信号に変換し、ベースバンド信号を高周波の無線信号に周波数変換してゲートウェイ22へ送信する。
なお、通信部216は、IEEE(Institute of Electrical and Electronic Engineers)802.11a、b、gなどに規定される無線通信機能を有してもよいし、IEEE802.11nに規定されるMIMO(Multiple Input Multiple Output)通信機能を有してもよい。さらに、通信部216は、IEEE802.16に企画されるWiMAX(Worldwide Interoperability for Microwave Access)に対応する通信機能を有してもよい。
ゲートウェイ認識部220は、無線通信装置20をバックボーンネットワーク12との接続対象とする(すなわち、無線通信装置20と同一のサブネットワークを形成する)ゲートウェイ22を認識し、認識したゲートウェイ22を記憶部224に記録する。ゲートウェイ認識部220は、任意の方法で自装置のゲートウェイ22を認識することができる。例えば、ゲートウェイ22は所定周期でゲートウェイ22の存在を報知するためのビーコンを送信しており、ゲートウェイ認識部220は、通信部216により受信されたビーコンの送信元アドレスを確認することによりゲートウェイを認識することができる。
また、ゲートウェイ認識部220は、複数のゲートウェイ22から送信されたビーコンを受信した場合には、無線通信装置20へ到達するに至るまでのホップ数が少ない方のビーコンの送信元を、無線通信装置20を接続対象とするゲートウェイ22と認識してもよい。また、ゲートウェイ認識部220は、ゲートウェイ22を探索するメッセージを送信し、該メッセージに対する応答をゲートウェイ22から得ることにより無線通信装置20を接続対象とするゲートウェイ22と認識してもよい。
記憶部224は各種情報が記録される記憶媒体である。各種情報としては、例えば、周囲のゲートウェイ22のアドレス、無線通信装置20をバックボーンネットワーク12との接続対象とするゲートウェイ22のアドレス、他の無線通信装置の各々への経路情報、受信済みメッセージのシーケンス番号などがあげられる。
また、記憶部224は、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable Read Only Memory)などの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクや、CD−R(Compact Disc Recordable)/RW(ReWritable)、DVD−R(Digital Versatile Disc Recordable)/RW/+R/+RW/RAM(Ramdom Access Memory)およびBD(Blu−Ray Disc(登録商標))―R/BD−REなどの光ディスクや、MO(Magneto Optical)ディスクなどの記憶媒体であってもよい。
送信データ生成部228は、通信部216から送信させるためのメッセージを生成する。例えば、送信データ生成部228は、特定の無線通信装置20Bへユニキャストするメッセージを生成する際には、記憶部224に記録されている特定の無線通信装置20Bまでの経路情報に応じたアドレスを次ホップ装置として記載する。
また、送信データ生成部228は、フラッディング通信を行うためのメッセージを生成する際には、図6に示すように、特定のフィールドにゲートウェイアドレスを記載する。
図6は、送信データ生成部228により生成されるメッセージのフォーマット例を示した説明図である。図6の中段に示したように、メッセージは、ヘッダ40とペイロード50を含む。ヘッダ40には、図6の上段に示したように、従来から宛先アドレス72、送信元アドレス74、およびシーケンス番号76が含まれていた。
ここで、宛先アドレス72には、ユニキャストの場合、最終的に到達することが期待される無線通信装置20のアドレスが記載され、フラッディング通信の場合、ブロードキャストアドレスが記載される。送信元アドレス74には、当該メッセージの送信元である自装置のアドレスが記載される。シーケンス番号76には、当該メッセージを識別する例えば通し番号などの識別情報が記載される。
一方図6の下段に示したように、本実施形態においては、ヘッダ40には宛先アドレス42、送信元アドレス44、およびシーケンス番号46に加え、ゲートウェイアドレス48が記載される。送信データ生成部228は、フラッディング通信を行う場合、記憶部224に記録されている自装置を接続対象とするゲートウェイアドレス22のアドレスをゲートウェイアドレス48に記載する。ゲートウェイアドレス48に記載されたアドレスは、詳細については「〔5〕本実施形態にかかるゲートウェイの構成」において後述するように、当該メッセージをバックボーンネットワーク12へ送信できるゲートウェイ22を限定する機能を有する。
また、ペイロード50には、音楽、講演およびラジオ番組などの音楽データや、映画、テレビジョン番組、ビデオプログラム、写真、文書、絵画および図表などの映像データや、ゲームおよびソフトフェアなどの任意のデータが含まれる。
ここで図5を参照して無線通信装置20の構成の説明に戻ると、シーケンス番号抽出部232は、通信部216により受信されたメッセージに含まれるシーケンス番号を抽出し、記憶部224に記録する。すなわち、記憶部224に記録されたシーケンス番号を有するメッセージは既に受信済みのメッセージである。
送信制御部236は、通信部216によりフラッディング通信によりメッセージが受信された場合、通信部216に該メッセージのブロードキャストを行なわせるか否かを制御する。例えば、送信制御部236は、通信部216により受信されたメッセージのシーケンス番号に、記憶部224に記録されているシーケンス番号が記載されていた場合、該メッセージを既に受信済みであると判断し、通信部216にブロードキャストを行わせない。一方、送信制御部236は、通信部216により受信されたメッセージのシーケンス番号に、記憶部224に記録されているシーケンス番号が記載されていなかった場合、該メッセージを新たなメッセージと判断し、通信部216にブロードキャストさせる。
〔5〕本実施形態にかかるゲートウェイの構成
以上、図5および図6を参照して本実施形態にかかる無線通信装置20の構成について説明した。続いて、図7および図8を参照して本実施形態にかかるゲートウェイ22の構成について説明する。
図7は、本実施形態にかかるゲートウェイ22のハードウェア構成を示した説明図である。図7に示したように、ゲートウェイ22は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、ホストバス204と、ブリッジ205と、外部バス206と、インタフェース207と、入力装置208と、出力装置210と、ストレージ装置(HDD)211と、ドライブ212と、通信装置215とを備える。
CPU201は、演算処理装置および制御装置として機能し、各種プログラムに従ってゲートウェイ22内の動作全般を制御する。また、CPU201は、マイクロプロセッサであってもよい。ROM202は、CPU201が使用するプログラムや演算パラメータ等を記憶する。RAM203は、CPU201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバスなどから構成されるホストバス204により相互に接続されている。
ホストバス204は、ブリッジ205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス206に接続されている。なお、必ずしもホストバス204、ブリッジ205および外部バス206を分離構成する必要はなく、一のバスにこれらの機能を実装してもよい。
入力装置208は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU201に出力する入力制御回路などから構成されている。ゲートウェイ22のユーザは、該入力装置208を操作することにより、ゲートウェイ22に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置210は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Display)装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置で構成される。出力装置210は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
ストレージ装置211は、本実施形態にかかるゲートウェイ22の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置211は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置211は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置211は、ハードディスクを駆動し、CPU201が実行するプログラムや各種データを格納する。また、このストレージ装置211には、シーケンス番号、経路情報、配下の(同一サブネットワークを形成する)無線通信装置20のアドレスなどが記録される。
ドライブ212は、記憶媒体用リーダライタであり、ゲートウェイ22に内蔵、あるいは外付けされる。ドライブ212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体24に記録されている情報を読み出して、RAM203に出力する。
通信装置215は、例えば、バックボーンネットワーク12、および無線通信装置20に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置215は、無線LAN(Local Area Network)対応通信装置であっても、ワイヤレスUSB対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。この通信装置215は、バックボーンネットワーク12や無線通信装置20との間で各種データを送受信する。
なお、上記では図7を参照してゲートウェイ22のハードウェア構成について説明したが、無線通信装置20のハードウェアはゲートウェイ22と実質的に同一に構成することが可能であるため、説明を省略する。
続いて、図8を参照して本実施形態にかかるゲートウェイ22の機能を説明する。
図8は、本実施形態にかかるゲートウェイ22の構成を示した機能ブロック図である。図8に示したように、当該ゲートウェイ22は、通信部256と、シーケンス番号抽出部260と、記憶部264と、アドレス抽出部268と、送信制御部272と、データ処理部276と、を備える。
通信部256は、バックボーンネットワーク12や無線通信装置20とのインターフェースであって、バックボーンネットワーク12や無線通信装置20との間で各種情報を送受信する送信部、および受信部としての機能を有する。例えば、通信部256は、無線通信装置20やゲートウェイ22から送信された高周波の無線信号をベースバンド信号にダウンコンバージョンし、ベースバンド信号をビット列に変換する。また、通信部256は、データ処理部276によりデータ処理されたメッセージを、送信制御部272による制御に従って無線でブロードキャストしたり、バックボーンネットワーク12へ送信したりする。
なお、通信部256は、無線通信装置20の通信部216と同様に、IEEE802.11a、b、gなどに規定される無線通信機能を有してもよいし、IEEE802.11nに規定されるMIMO通信機能を有してもよい。また、通信部256は、IEEE802.16に企画されるWiMAXに対応する通信機能を有してもよい。さらに、通信部256は、バックボーンネットワーク12との間で通信を行なうための機能も備える。
シーケンス番号抽出部260は、通信部256により受信されたメッセージに含まれるシーケンス番号を抽出し、記憶部264に記録する。すなわち、記憶部264に記録されたシーケンス番号を有するメッセージは既に受信済みのメッセージである。
記憶部264は、例えばシーケンス番号抽出部260により抽出されたシーケンス番号が記録される記憶媒体である。当該記憶部264は、無線通信装置20の記憶部224と同様に、EEPROM、EPROMなどの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクや、CD−R/RW、DVD−R/RW/+R/+RW/RAMおよびBD(Blu−Ray Disc(登録商標))―R/BD−REなどの光ディスクや、MOディスクなどの記憶媒体であってもよい。
アドレス抽出部268は、通信部256により受信されたメッセージにゲートウェイアドレスが記載されている場合、該ゲートウェイアドレスを抽出する。
送信制御部272は、アドレス抽出部268により抽出されたゲートウェイアドレスが、自装置のアドレスと一致しているか否かを判断する。そして、送信制御部272は、アドレス抽出部268により抽出されたゲートウェイアドレスが自装置のアドレスでなかった場合、該メッセージを通信部256からバックボーンネットワーク12に送信させない。また、送信制御部272は、メッセージにゲートウェイアドレスが記載されていなかった場合にも同様に、該メッセージを通信部256からバックボーンネットワーク12に送信させない。
なお、送信制御部272は、バックボーンネットワーク12へメッセージを送信させない場合でも、メッセージに含まれるシーケンス番号に基づいて該メッセージが新たなメッセージであると判断される場合、該メッセージを通信部256にブロードキャストさせる。
一方、送信制御部272は、アドレス抽出部268により抽出されたゲートウェイアドレスが自装置のアドレスと一致していると判断した場合、通信部256から該メッセージをバックボーンネットワーク12へ送信させる。ただし、送信制御部272は、メッセージに含まれるシーケンス番号に基づいて該メッセージが受信済みのメッセージであると判断される場合、該メッセージをバックボーンネットワーク12へ送信させない。
さらに、送信制御部272は、メッセージに含まれるシーケンス番号に基づいて該メッセージが受信済みのメッセージであると判断される場合を除き、通信部256に該メッセージを無線でブロードキャストさせる。
また、送信制御部272は、バックボーンネットワーク12を介してメッセージが受信された場合、データ処理部276によりデータ処理が施されたメッセージを通信部256から無線でブロードキャストさせる。
具体的には、データ処理部276は、バックボーンネットワーク12を介してメッセージのゲートウェイアドレスとして、自装置のアドレスを記載する。すなわち、該メッセージのゲートウェイアドレスとして他のゲートウェイのアドレスが記載されていた場合には、該他のゲートウェイのアドレスを自装置のアドレスに変更する。また、該メッセージにゲートウェイアドレスが記載されていなかった場合には、ゲートウェイアドレスとして自装置のアドレスを追加する。なお、データ処理部276は、バックボーンネットワーク12を介して受信されたメッセージであることを示すフラグをメッセージに追加してもよい。
このようなゲートウェイ22の構成により、以下の動作ルール1および動作ルール2を実現することができる。
(動作ルール1)無線マルチホップネットワークに属する無線通信装置20からフラッディング通信により送信されたメッセージは、ゲートウェイアドレスにアドレスが記載されているゲートウェイノード22に限り、バックボーンネットワーク12へ該メッセージをブロードキャストメッセージとして送信できる。
(動作ルール2)バックボーンネットワーク12から無線マルチホップネットワークにフラッディング通信により送信されたメッセージは、再びゲートウェイ22を介してバックボーンネットワーク12へは戻らない。
〔6〕本実施形態にかかる通信システムの動作
以上、本実施形態にかかる無線通信装置20およびゲートウェイ22の構成について説明した。続いて、無線通信装置20およびゲートウェイ22を含む通信システム1の動作について図9〜図15を参照して説明する。
図9および図10は、本実施形態にかかる通信システム1の第1の動作例を示した説明図である。まず、図9に示したように、無線通信装置20Aが、宛先アドレスとしてブロードキャストアドレス(BA)、送信元アドレスとしてA、ゲートウェイアドレスとしてXを記載したメッセージをフラッディング通信により送信したとする。なお、本明細書においては説明の便宜上、各装置を示す符号の後に付したアルファベットが、該装置のアドレスに対応するものとする。例えば、本明細書においては、ゲートウェイ22XのアドレスがXであるものとして説明する。
そして、ゲートウェイ22Xは、無線通信装置20Aからブロードキャストされたメッセージを受信すると、該メッセージを無線でブロードキャストする。さらに、ゲートウェイ22Xの送信制御部272は、無線通信装置20Aから受信したメッセージのゲートウェイアドレスに自装置のアドレスが記載されているため、通信部256から該メッセージをバックボーンネットワーク12へ送信させる。ゲートウェイ22Xによりバックボーンネットワーク12へ送信されたメッセージは、バックボーンネットワーク12を介してゲートウェイ22Yおよび22Zに到達する。
一方、ゲートウェイ22Xにより無線でブロードキャストされたメッセージは、無線通信装置20B、無線通信装置20Cを経てゲートウェイ22Yに到達する。ゲートウェイ22Yは、無線通信装置20Cからメッセージを受信すると、該メッセージを無線でブロードキャストし、該メッセージが無線通信装置20Dに到達する。しかし、ゲートウェイ22Yは、無線通信装置20Cから受信したメッセージに自装置のゲートウェイアドレスが記載されていないため、該メッセージのバックボーンネットワーク12への送信は行なわない。
続いて、図10に示すように、ゲートウェイ22Yは、バックボーンネットワーク12を介して受信したメッセージを無線でブロードキャストする。このとき、ゲートウェイ22Yのデータ処理部276が、メッセージに含まれるゲートウェイアドレスを、自装置のアドレスであるYに変更する。当該ゲートウェイアドレスがYに変更されたメッセージは、無線通信装置20C、および無線通信装置20Bを経てゲートウェイ22Xに到達する。
ここで、ゲートウェイ22Xは、該メッセージが以前に送信済みのメッセージであると認識できなかった場合であっても、ゲートウェイアドレスとしてYが記載されているため、該メッセージのバックボーンネットワーク12への送信を行なわない。
このように、本実施形態においては、バックボーンネットワーク12を介して無線マルチホップネットワークへ送信されたメッセージが再度バックボーンネットワーク12へ送信される場合を抑制できるため、ループの発生を回避することが可能である。
図11は、本実施形態にかかる通信システム1の第2の動作例を示した説明図である。第2の動作例は、ゲートウェイアドレスとしてアドレスが記載されていないメッセージが送信される点で第1の動作例と異なる。具体的には、図11に示したように、無線通信装置20Aから、宛先アドレスとしてブロードキャストアドレス(BA)、送信元アドレスとしてA、ゲートウェイアドレスとして0(記載無し)を記載したメッセージがフラッディング通信により送信されたとする。
この場合、該メッセージを受信したゲートウェイ22Xは、ゲートウェイアドレスにアドレスが記載されていないため、該メッセージのバックボーンネットワーク12への送信を行なわない。一方、ゲートウェイ22Xは、該メッセージを無線でブロードキャストする。
ゲートウェイ22Xからブロードキャストされたメッセージは、無線通信装置20Bおよび無線通信装置20Cを経てゲートウェイ22Yに到達する。この場合、ゲートウェイ22Yは、ゲートウェイアドレスにアドレスが記載されていないため、該メッセージのバックボーンネットワーク12への送信を行なわない。一方、ゲートウェイ22Yは、該メッセージを無線でブロードキャストする。その結果、該メッセージが無線通信装置20Dへ到達する。このように、ゲートウェイアドレスの記載の無いメッセージを受信したゲートウェイ22Xは、該メッセージにゲートウェイアドレスを追加せずにブロードキャストする。したがって、送信元装置がゲートウェイを認識していない、あるいはバックボーンネットワークへの送信を所望しないなどの事情を、周囲の装置が把握することができる。ただし、上記では、ゲートウェイアドレスの記載の無いメッセージを受信したゲートウェイ22Xが、該メッセージにゲートウェイアドレスを追加せずにブロードキャストする例を説明したが、本実施形態はかかる例に限定されない。例えば、ゲートウェイアドレスの記載の無いメッセージを受信したゲートウェイ22Xは、ゲートウェイアドレスとして自装置のアドレスを記載してメッセージをブロードキャストしてもよい。
以上、図9〜図11を参照して通信システム1の具体的な動作例について説明した。続いて、図12〜図15を参照し、無線通信装置20およびゲートウェイ22の動作を説明する。
図12は、無線通信装置20におけるフラッディング送信処理の流れを示したフローチャートである。図12に示したように、無線通信装置20がゲートウェイを認識している場合、すなわち記憶部224にゲートウェイのアドレスが記録されている場合(S304)、送信データ生成部228が、フラッディングするメッセージのゲートウェイアドレスに、記憶部224に記録されているゲートウェイのアドレスを記載する(S308)。
続いて、送信制御部236による制御に基づき、送信データ生成部228により生成されたメッセージを通信部216がブロードキャスト、すなわちフラッディング通信により送信する(S312)。
図13は、無線通信装置20におけるフラッディング受信処理の流れを示したフローチャートである。図13に示したように、まず、通信部216によりメッセージが受信された場合、シーケンス番号抽出部232が該メッセージのシーケンス番号を抽出する(S350)。
そして、送信制御部236は、シーケンス番号抽出部232により抽出されたシーケンス番号と、記憶部224に記録されているシーケンス番号に基づき、該メッセージが重複受信されたものであるか否かを判断する(S354)。
続いて、送信制御部236は、該メッセージが重複受信されたものでない、すなわち新たなメッセージであると判断した場合、通信部216から該メッセージをブロードキャストさせる(S358)。
図14は、ゲートウェイ22におけるフラッディング送信処理の流れを示したフローチャートである。図14に示したように、データ処理部276は、自装置のアドレスをゲートウェイアドレスとして記載したメッセージを生成する(S404)。そして、通信部256が、送信制御部272による制御に基づき、データ処理部276により生成されたメッセージをブロードキャストする(S408)。
図15は、ゲートウェイ22におけるフラッディング受信処理の流れを示したフローチャートである。図15に示したように、通信部256によりメッセージが受信されると、シーケンス番号抽出部260が該メッセージからシーケンス番号を抽出する(S450)。そして、送信制御部272は、シーケンス番号抽出部260により抽出されたシーケンス番号と、記憶部264に記録されているシーケンス番号に基づき、該メッセージが重複受信されたものであるか否かを判断する(S454)。
続いて、送信制御部272は、該メッセージが重複受信されたものでない、すなわち新たなメッセージであると判断した場合、該メッセージのゲートウェイアドレスに自装置のアドレスが記載されているか否かを判断する(S458)。そして、送信制御部272は、該メッセージのゲートウェイアドレスに自装置のアドレスが記載されている場合、通信部256から該メッセージをバックボーンネットワーク12へ送信させる(S462)。さらに、送信制御部272は、通信部256から該メッセージを無線でブロードキャストさせる(S466)。
〔7〕まとめ
以上説明したように、本実施形態にかかるゲートウェイ22は、受信した他装置宛のメッセージの特定のフィールドに自装置のアドレスが記載されている場合にのみ、当該他装置宛のメッセージをバックボーンネットワーク12に送信する。すなわち、他装置宛のメッセージの特定のフィールドに記載されているアドレスを有するゲートウェイ22のみが、当該他装置宛のメッセージをバックボーンネットワーク12に送信することができる。このように、他装置宛のメッセージをバックボーンネットワーク12へ送信できるゲートウェイが限定されるため、同一のメッセージがバックボーンネットワーク12と無線マルチホップネットワーク間をループしてしまう場合を抑制することが可能である。
また、無線通信装置20は、他装置宛のメッセージの特定のフィールドに、自装置をバックボーンネットワーク12との接続対象とするゲートウェイ22のアドレスを記載する。かかる構成においては、他装置宛のメッセージをバックボーンネットワーク12へ送信できるゲートウェイ22が、他装置宛のメッセージの送信元の無線通信装置をバックボーンネットワーク12に接続するゲートウェイ22に限定される。その結果、他のゲートウェイ22からバックボーンネットワーク12へ他装置宛のメッセージが送信されることを防止しつつ、バックボーンネットワーク12を介した他装置宛のメッセージの送信を有効に行なうことができる。
また、ゲートウェイ22は、バックボーンネットワーク12から他装置宛のメッセージが受信された場合に、他装置宛のメッセージのゲートウェイアドレスとして自装置のアドレスを記載するデータ処理部276をさらに備え、通信部256は、データ処理部276により自装置のアドレスが記載されたメッセージを無線でブロードキャストする。かかる構成においては、ゲートウェイ22から送信された他装置宛のメッセージが、該他装置宛のメッセージをバックボーンネットワーク12へ送信した他のゲートウェイ22に到達しても、該他のゲートウェイ22は該他装置宛のメッセージをバックボーンネットワーク12へ送信することができない。したがって、同一のメッセージがバックボーンネットワーク12と無線マルチホップネットワーク間をループしてしまう場合をより確実に防止することが可能である。
さらに、送信制御部272は、通信部256による他装置宛のメッセージの受信が2度目以降であるか否かを判断し、2度目以降であると判断した場合、該メッセージのゲートウェイアドレスとして自装置のアドレスが記載されているか否かにかかわらず、通信部256に無線のブロードキャストおよびバックボーンネットワーク12への送信の双方を行なわせない。かかる構成においては、該メッセージのゲートウェイアドレスとして自装置のアドレスをしてブロードキャストしたゲートウェイ22は、該他装置宛のメッセージを周囲の無線通信装置20から再度受信した場合であっても、該他装置宛のメッセージをバックボーンネットワーク12へ送信しない。したがって、1度バックボーンネットワーク12から無線マルチホップネットワークへブロードキャストされたメッセージが、再度バックボーンネットワーク12へ送信される場合を防止できる。
また、本実施形態によれば、ゲートウェイ22と無線通信装置20の間で特別な庶路をすることなくループを回避することができるため、比較的容易に無線マルチホップネットワークへ適用することができる。さらに、本実施形態は、バックボーンネットワーク12に依存せずに実現可能であることから、有線ネットワークや、無線マルチホップネットワークと異なる無線ネットワークなど、多様なバックボーンネットワーク12に適用することができる。
なお、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、本明細書の無線通信装置20およびゲートウェイ22の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、無線通信装置20およびゲートウェイ22の処理における各ステップは、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)を含んでもよい。
また、無線通信装置20およびゲートウェイ22に内蔵されるCPU201、ROM202およびRAM203などのハードウェアを、上述した無線通信装置20およびゲートウェイ22の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。また、図5の機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。同様に、図8の機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。