本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線装置を用いた無線ネットワーク100の概略図である。無線ネットワーク100は、無線装置31〜43を備える。なお、無線ネットワーク100は、音からなるデータを含まない無線パケット(=無音データからなるパケット)を破棄し、音からなるデータを含む有音パケット(=有音データからなるパケット)のみを送信する無音廃棄方式に従って無線通信を行なう無線ネットワークである。
無線装置31〜43は、無線通信空間に配置される。アンテナ51〜63は、それぞれ、無線装置31〜43に装着される。
例えば、無線装置31から無線装置42へデータを送信する場合、無線装置32,35〜41は、無線装置31からのデータを中継して無線装置42へ届ける。
この場合、無線装置31は、各種の経路を介して無線装置42との間で無線通信を行なうことができる。即ち、無線装置31は、無線装置37,41を介して無線装置42との間で無線通信を行なうことができ、無線装置32,36,39を介して無線装置42との間で無線通信を行なうこともでき、無線装置32,35,38,40を介して無線装置42との間で無線通信を行なうこともできる。
即ち、無線装置31は、無線装置37,41または無線装置32,36,39または無線装置32,35,38,40を中継器として無線装置42との間で無線通信を行なう。
従って、無線ネットワーク100は、マルチホップ通信によって送信元と送信先との間で無線通信を行なうマルチホップネットワークである。
このようなマルチホップネットワークにおいては、複数のトラフィックが1つの中継器に集中することがある。例えば、無線装置31が無線装置32,36,39を介して無線装置42と双方向の無線通信を行ない、無線装置33が無線装置35,36,41を介して無線装置43と双方向の無線通信を行なっている場合、4個のトラフィックが中継器としての無線装置36に集中する。
そこで、以下においては、無線ネットワーク100において複数の無線通信が行なわれている場合に、中継器における通信負荷を低減して送信元と送信先との間で無線通信を行なう方法について説明する。
なお、送信元と送信先との間で通信経路を確立するプロトコルとしてOLSRプロトコルを用いる。このOLSRプロトコルは、テーブル駆動型のルーティングプロトコルであり、HelloメッセージおよびTC(Topology Control)メッセージを用いて経路情報を交換し、ルーティングテーブルを作成するプロトコルである。
図2は、図1に示す無線装置31の構成を示す概略ブロック図である。無線装置31は、アンテナ11と、入力部12と、出力部13と、ユーザアプリケーション14と、通信制御部15とを含む。
アンテナ11は、図1に示すアンテナ51〜63の各々を構成する。そして、アンテナ11は、無線通信空間を介して他の無線装置からデータを受信し、その受信したデータを通信制御部15へ出力するとともに、通信制御部15からのデータを無線通信空間を介して他の無線装置へ送信する。
入力部12は、無線装置31の操作者が入力したメッセージおよびデータの宛先を受付け、その受付けたメッセージおよび宛先をユーザアプリケーション14へ出力する。出力部13は、ユーザアプリケーション14からの制御に従ってメッセージを表示する。
ユーザアプリケーション14は、入力部12からのメッセージおよび宛先に基づいてデータを生成する。
そして、ユーザアプリケーション14は、通信制御部15から破棄要求を受けると、その生成したデータのうち、無音データからなる無音パケットを破棄し、有音データからなる有音パケットのみを通信制御部15へ送信する。
また、ユーザアプリケーション14は、通信制御部15から破棄中止要求を受けると、その生成したデータが無音データであるか有音データであるかに拘わらず、その生成したデータからなるパケットを通信制御部15へ送信する。
通信制御部15は、ARPA(Advanced Research Projects Agency)インターネット階層構造に従って、通信制御を行なう複数のモジュールからなる。即ち、通信制御部15は、無線インターフェースモジュール16と、MAC(Media Access Control)モジュール17と、バッファ18と、LLC(Logical Link Control)モジュール19と、IP(Internet Protocol)モジュール20と、ルーティングテーブル21と、TCPモジュール22と、UDPモジュール23と、ルーティングデーモン24とからなる。
無線インターフェースモジュール16は、物理層に属し、所定の規定に従って送信信号の変調または受信信号の復調を行なうとともに、アンテナ11を介して信号を送受信する。
MACモジュール17は、MAC層に属し、MACプロトコルを実行して、以下に述べる各種の機能を実行する。
即ち、MACモジュール17は、ルーティングデーモン24から受けたHelloパケットを無線インターフェースモジュール16を介してブロードキャストする。
また、MACモジュール17は、データ(パケット)の再送制御等を行なう。
バッファ18は、データリンク層に属し、パケットを一時的に格納する。
LLCモジュール19は、データリンク層に属し、LLCプロトコルを実行して隣接する無線装置との間でリンクの接続および解放を行なう。
IPモジュール20は、インターネット層に属し、IPパケットを生成する。IPパケットは、IPヘッダと、上位のプロトコルのパケットを格納するためのIPデータ部とからなる。そして、IPモジュール20は、TCPモジュール22またはUDPモジュール23からデータを受けると、その受けたデータをIPデータ部に格納してIPパケットを生成する。
そうすると、IPモジュール20は、ルーティングテーブル21を検索し、生成したIPパケットを送信するための経路を決定する。そして、IPモジュール20は、IPパケットをLLCモジュール19へ送信し、決定した経路に沿ってIPパケットを送信先へ送信する。
また、IPモジュール20は、ルーティングテーブル21に格納された経路のうちのある経路を用いて無線通信が行なわれた場合、その無線通信のコピーであるルーティングテーブル21のキャッシュを作成し、その作成したキャッシュをメモリ(図示せず)に保持する。
そして、IPモジュール20は、その作成したキャッシュを参照して、自己が搭載された無線装置31における単位時間当たりのパケット送信数を演算する。なお、この演算したパケット送信数は、無線装置31が他の無線装置から受信して転送する単位時間当たりのパケット数と、無線装置31が送信を開始する単位時間当たりのパケット数との和からなる。
IPモジュール20は、無線装置31が無線通信を中継する中継器である場合、演算した単位時間当たりのパケット送信数が無線通信の品質が低下したか否かを判断する基準である閾値Thmax以上に増加すると、後述する方法によって、無音パケットの破棄を要求するための破棄要求を送信すべき無線装置を選択し、その選択した無線装置へ破棄要求を送信する。
また、IPモジュール20は、無線装置31が無線通信を中継する中継器である場合、演算した単位時間当たりのパケット送信数が閾値Thmax以上に増加した後に、単位時間当たりのパケット送信数が無線通信の品質の回復を示す閾値Thminよりも少なくなると、後述する方法によって、無音パケットの破棄の中止を要求するための破棄中止要求を送信すべき無線装置を選択し、その選択した無線装置へ破棄中止要求を送信する。
更に、IPモジュール20は、無線装置31が送信元の無線装置である場合、無線通信を中継する中継器から破棄要求を受信すると、その受信した破棄要求をユーザアプリケーション14へ通知する。
更に、IPモジュール20は、無線装置31が送信元の無線装置である場合、無線通信を中継する中継器から破棄中止要求を受信すると、その受信した破棄中止要求をユーザアプリケーション14へ通知する。
ルーティングテーブル21は、インターネット層に属し、後述するように、各送信先に対応付けて経路情報を格納する。
TCPモジュール22は、トランスポート層に属し、TCPパケットを生成する。TCPパケットは、TCPヘッダと、上位のプロトコルのデータを格納するためのTCPデータ部とからなる。そして、TCPモジュール22は、生成したTCPパケットをIPモジュール20へ送信する。
UDPモジュール23は、トランスポート層に属し、ルーティングデーモン24によって作成されたUpdateパケットをブロードキャストし、他の無線装置からブロードキャストされたUpdateパケットを受信してルーティングデーモン24へ出力する。
ルーティングデーモン24は、プロセス/アプリケーション層に属し、他の通信制御モジュールの実行状態を監視するとともに、他の通信制御モジュールからのリクエストを処理する。
また、ルーティングデーモン24は、最適な経路を算出してルーティングテーブル21をインターネット層に動的に作成する。
なお、図1に示す無線装置32〜43の各々も、図2に示す無線装置31の構成と同じ構成からなる。
図3は、図2に示すIPモジュール20の一部の機能を示す機能ブロック図である。IPモジュール20は、送受信手段201と、選択手段202と、通知手段203と、キャッシュ204とを含む。なお、送受信手段201は、IPモジュール20が搭載された無線装置が送信元と送信先との間でパケットを中継する場合、「中継手段」と言う。
送受信手段201は、UDPモジュール23またはTCPモジュール22から受けたパケットをIPデータ部に格納してIPパケットを作成し、その作成したIPパケットを送信先へ送信するための経路をルーティングテーブル21を参照して探索する。そして、送受信手段201は、その探索した経路に沿ってIPパケットを送信する。
また、送受信手段201は、他の無線装置から受信したパケットを上位層へ出力する。
更に、送受信手段201は、自己が送信元の無線装置に搭載されている場合、無線通信を中継している無線装置から破棄要求を受信すると、その受信した破棄要求をユーザアプリケーション14へ通知する。
更に、送受信手段201は、自己が送信元の無線装置に搭載されている場合、無線通信を中継している無線装置から破棄中止要求を受信すると、その受信した破棄中止要求をユーザアプリケーション14へ通知する。
選択手段202は、後述する方法によって、キャッシュ204を参照して送受信手段201が単位時間当たりに送信するパケット送信数TXNを随時演算し、その演算したパケット送信数TXNが閾値Thmax以上であるか否かを判定する。
そして、選択手段202は、パケット送信数TXNが閾値Thmax以上であるとき、送受信手段201から受けたパケットに基づいて、後述する方法によって、無音パケットの破棄を要求するための破棄要求を送信すべき無線装置を選択し、その選択した無線装置を通知手段203へ出力する。なお、選択手段202は、パケット送信数TXNが閾値Thmaxよりも小さいとき、通知手段203へ何も出力しない。
また、選択手段202は、パケット送信数TXNが閾値Thmax以上に増加した後、パケット送信数TXNが閾値Thmin(<Thmax)よりも小さくなったか否かを判定する。
そして、選択手段202は、パケット送信数TXNが閾値Thminよりも小さくなったと判定したとき、後述する方法によって、無音パケットの破棄の中止を要求するための破棄中止要求を送信すべき無線装置を選択し、その選択した無線装置を通知手段203へ出力する。なお、選択手段202は、パケット送信数TXNが閾値Thmin以上であるとき、通知手段203へ何も出力しない。
通知手段203は、破棄要求を送信すべき無線装置を選択手段202から受けると、破棄要求をメッセージとして含む専用パケットPKT_D1を生成し、その生成した専用パケットPKT_D1を選択手段202から受けた無線装置へ送信する。
また、通知手段203は、破棄中止要求を送信すべき無線装置を選択手段202から受けると、破棄中止要求をメッセージとして含む専用パケットPKT_D2を生成し、その生成した専用パケットPKT_D2を選択手段202から受けた無線装置へ送信する。
キャッシュ204は、各無線通信における送信先、送信元および通信量等を格納する。
図4は、OLSRプロトコルにおけるパケットPKTの構成図である。パケットPKTは、パケットヘッダPHDと、メッセージヘッダMHDとからなる。なお、パケットPKTは、UDPモジュール23のポート番号698番を使用して送受信される。
パケットヘッダPHDは、パケット長と、パケットシーケンス番号とからなる。パケット長は、16ビットのデータからなり、パケットのバイト数を表す。また、パケットシーケンス番号は、16ビットのデータからなり、どのパケットが新しいかを区別するために用いられる。そして、パケットシーケンス番号は、新しいパケットが生成される度に“1”ずつ増加される。従って、パケットシーケンス番号が大きい程、そのパケットPKTが新しいことを示す。
メッセージヘッダMHDは、メッセージタイプと、有効時間と、メッセージサイズと、発信元アドレスと、TTLと、ホップ数と、メッセージシーケンス番号と、メッセージとからなる。
メッセージタイプは、8ビットのデータからなり、メッセージ本体に書かれたメッセージの種類を表し、0〜127は、予約済みである。有効時間は、8ビットのデータからなり、受信後に、このメッセージを管理しなければならない時間を表す。そして、有効時間は、仮数部と、指数部とからなる。
メッセージサイズは、16ビットのデータからなり、メッセージの長さを表す。発信元アドレスは、32ビットのデータからなり、メッセージを生成した無線装置を表す。TTLは、8ビットのデータからなり、メッセージが転送される最大ホップ数を指定する。そして、TTLは、メッセージが転送される時に“1”ずつ減少される。そして、TTLが“0”である場合、メッセージは、転送されない。ホップ数は、8ビットのデータからなり、メッセージの生成元からのホップ数を表す。そして、ホップ数は、最初、“0”に設定され、転送される毎に“1”ずつ増加される。メッセージシーケンス番号は、16ビットのデータからなり、各メッセージに割当てられる識別番号を表す。そして、メッセージシーケンス番号は、メッセージが作成される毎に、“1”ずつ増加される。メッセージは、送信対象のメッセージである。
OLSRプロトコルにおいては、各種のメッセージが図4に示す構成のパケットPKTを用いて送受信される。
図5は、図2に示すルーティングテーブル21の構成図である。ルーティングテーブル21は、送信先、次の無線装置およびホップ数からなる。送信先、次の無線装置およびホップ数は、相互に対応付けられている。“送信先”は、送信先の無線装置のIPアドレスを表す。“次の無線装置”は、送信先にパケットPKTを送信するときに、次に送信すべき無線装置のIPアドレスを表す。“ホップ数”は、送信先までのホップ数を表す。例えば、図1において、無線装置31−無線装置32−無線装置36−無線装置39−無線装置42の経路によって無線装置31と無線装置42との間で無線通信が行なわれる場合、無線装置31のルーティングテーブル21のホップ数には、“4”が格納される。
OLSRプロトコルに従ったルーティングテーブル21の作成について詳細に説明する。無線装置31〜43は、ルーティングテーブル21を作成する場合、HelloメッセージおよびTCメッセージを送受信する。
Helloメッセージは、各無線装置31〜43が有する情報の配信を目的として、定期的に送信される。このHelloメッセージを受信することによって、各無線装置31〜43は、周辺の無線装置に関する情報を収集でき、自己の周辺にどのような無線装置が存在するのかを認識する。
OLSRプロトコルにおいては、各無線装置31〜43は、ローカルリンク情報を管理する。そして、Helloメッセージは、このローカルリンク情報の構築および送信を行なうためのメッセージである。ローカルリンク情報は、「リンク集合」、「隣接無線装置集合」、「2ホップ隣接無線装置集合とそれらの無線装置へのリンク集合」、「MPR(Multipoint Relay)集合」、および「MPRセレクタ集合」を含む。
リンク集合は、直接的に電波が届く無線装置(隣接無線装置)の集合へのリンクのことであり、各リンクは2つの無線装置間のアドレスの組の有効時間によって表現される。なお、有効時間は、そのリンクが単方向なのか双方向なのかを表すためにも利用される。
隣接無線装置集合は、各隣接無線装置のアドレス、およびその無線装置の再送信の積極度(Willingness)等によって構成される。2ホップ隣接無線装置集合は、隣接無線装置に隣接する無線装置の集合を表す。
MPR集合は、MPRとして選択された無線装置の集合である。なお、MPRとは、各パケットPKTを無線ネットワーク100の全ての無線装置31〜43へ送信する場合、できる限り少ない数の無線装置によってパケットPKTを全ての無線装置31〜43へ送信できるように中継無線装置を選択することである。
MPRセレクタ集合は、自己をMPRとして選択した無線装置の集合を表す。
ローカルリンク情報が確立される過程は、概ね、次のようになる。Helloメッセージは、初期の段階では、各無線装置31〜43が自己の存在を知らせるために、自己のアドレスが入ったHelloメッセージを隣接する無線装置へ送信する。これを、無線装置31〜43の全てが行ない、各無線装置31〜43は、自己の周りにどのようなアドレスを持った無線装置が存在するのかを把握する。このようにして、リンク集合および隣接無線装置集合が構築される。
そして、構築されたローカルリンク情報は、再び、Helloメッセージによって定期的に送り続けられる。これを繰返すことによって、各リンクが双方向であるのか、隣接無線装置の先にどのような無線装置が存在するのかが徐々に明らかになって行く。各無線装置31〜43は、このように徐々に構築されたローカルリンク情報を蓄える。
更に、MPRに関する情報も、Helloメッセージによって定期的に送信され、各無線装置31〜43へ告知される。各無線装置31〜43は、自己が送信するパケットPKTの再送信を依頼する無線装置として、いくつかの無線装置をMPR集合として隣接無線装置の中から選択している。そして、このMPR集合に関する情報は、Helloメッセージによって隣接する無線装置へ送信されるので、このHelloメッセージを受信した無線装置は、自己をMPRとして選択してきた無線装置の集合を「MPRセレクタ集合」として管理する。このようにすることにより、各無線装置31〜43は、どの無線装置から受信したパケットPKTを再送信すればよいのかを即座に認識できる。
Helloメッセージの送受信により各無線装置31〜43において、ローカルリンク集合が構築されると、無線ネットワーク100全体のトポロジーを知らせるためのTCメッセージが無線装置31〜43へ送信される。このTCメッセージは、MPRとして選択されている全ての無線装置によって定期的に送信される。そして、TCメッセージは、各無線装置とMPRセレクタ集合との間のリンクを含んでいるため、無線ネットワーク100の全ての無線装置31〜43は、全てのMPR集合および全てのMPRセレクタ集合を知ることができ、全てのMPR集合および全てのMPRセレクタ集合に基づいて、無線ネットワーク100全体のトポロジーを知ることができる。各無線装置31〜43は、無線ネットワーク100全体のトポロジーを用いて最短路を計算し、それに基づいて経路表を作成する。
なお、各無線装置31〜43は、Helloメッセージとは別に、TCメッセージを頻繁に交換する。そして、TCメッセージの交換にも、MPRが利用される。
各無線装置31〜43のUDPモジュール23は、上述したHelloメッセージおよびTCメッセージを送受信し、ルーティングデーモン24は、UDPモジュール23が受信したHelloメッセージおよびTCメッセージに基づいて無線ネットワーク100全体のトポロジーを認識し、その無線ネットワーク100全体のトポロジーに基づいて、最短路を計算し、それに基づいて、図5に示すルーティングテーブル21を動的に作成する。
無線ネットワーク100においては、送信元と送信先との間で無線通信を中継する無線装置におけるパケットの送信数(単位時間当たりの送信数)TXNが閾値Thmax以上に達した場合、中継器として機能する無線装置における遅延時間およびパケットエラー率を低減するために、無音パケットの破棄が送信元において行なわれる。
そこで、無音パケットの破棄について説明する。この場合、無線装置33が無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路を用いて無線装置43と無線通信を行なっており、無線装置38が無線装置38−無線装置36−無線装置37からなる経路を用いて無線装置37と無線通信を行なっており、無線装置32が無線装置32−無線装置36−無線装置39−無線装置40からなる経路を用いて無線装置40と無線通信を行なっており、無線装置32が無線装置32−無線装置36−無線装置39−無線装置42からなる経路を用いて無線装置42と無線通信を行なっている場合に、4つの無線通信の中継器となる無線装置36の動作を中心にして無音パケットの破棄について説明する。
なお、4つの無線通信は、VoIP(Voice over Internet Protocol)による音声通信であるものとする。
図6は、ルーティングテーブル21のキャッシュの一例を示す図である。なお、図6に示すキャッシュCACHE1は、ルーティングテーブル21の実際のキャッシュを構成する項目のうち、本発明に関連のある項目のみを構成要素としている。
ルーティングテーブル21のキャッシュCACHE1は、Ifaceと、Destinationと、Useと、Sourceとを含む。Ifaceは、インターフェースを表し、Destinationは、送信先を表し、Useは、単位時間当たりのパケット送信数を表し、Sourceは、送信元を表す。
また、キャッシュCACHE1は、無線装置36におけるルーティングテーブル21のキャッシュであり、eth1は、イーサネット(登録商標)を表し、アドレス“4009000A”は、無線装置43を表し、アドレス“3E090C0A”は、無線装置33を表し、アドレス“9F090C0A”は、無線装置40を表し、アドレス“99090D0A”は、無線装置32を表し、アドレス“99090C0B”は、無線装置37を表し、アドレス“99090C0A”は、無線装置38を表し、“50080C0C”は、無線装置42を表すものとする。
図7は、無線ネットワーク100における無音パケットの破棄を示す概念図である。また、図8は、図7に示す無線装置36が保持するルーティングテーブル21Aを示す図である。
なお、図7において、実線の太さは、通信量を表し、相対的に太い線は、相対的に多い通信量を表す。
上述した4つの無線通信を中継している無線装置36の選択手段202は、キャッシュCACHE1を参照して、随時、送受信手段201が単位時間当たりに送信するパケット送信数TXNを演算する。
この場合、無線装置36の送受信手段201は、無線装置33から無線装置43への無線通信を340個/秒のパケット送信数で中継し、無線装置43から無線装置33への無線通信を200個/秒のパケット送信数で中継している。また、無線装置36の送受信手段201は、無線装置32から無線装置40への無線通信を80個/秒のパケット送信数で中継し、無線装置40から無線装置32への無線通信を90個/秒のパケット送信数で中継している。更に、無線装置36の送受信手段201は、無線装置38から無線装置37への無線通信を150個/秒のパケット送信数で中継し、無線装置37から無線装置38への無線通信を80個/秒のパケット送信数で中継している。更に、無線装置36の送受信手段201は、無線装置32から無線装置42への無線通信を40個/秒のパケット送信数で中継し、無線装置42から無線装置32への無線通信を60個/秒のパケット送信数で中継している(図6参照)。
従って、無線装置36の選択手段202は、各無線通信におけるパケット送信数を加算して単位時間当たりのパケット送信数TXN=1040個/秒(=340+200+80+90+150+80+40+60)を演算する。
また、無線装置36の選択手段202は、閾値Thmaxとして1000個/秒を保持している。そして、この閾値Thmax=1000個/秒は、次の方法によって決定される。
各無線装置31〜43がIEEE802.11の無線デバイスである場合、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)の機能により、同時にパケットを送信できる無線装置は、1台のみであり、全ての無線装置31〜43の送信機会は、均等である。
ここで、音声データのサイズが160バイトであり、パケット送信間隔が20msであるG711コーデックを用いたVoIPを想定する。各無線装置31〜43がIEEE802.11bの無線デバイスである場合、1つのパケットの送信に要する平均時間は、0.945ms(再送なし)である。5個の無線通信が1つの無線装置に集中する場合、その1つの無線装置が1秒間に処理しなければならないパケット数は、1000個/秒(=2×2×50(個/秒)×5)となるため、その1つの無線装置は、1つのパケットを1msで処理する必要がある。この1msは、1つのパケットの送信に要する時間(=0.945ms)よりも長いため、5個の無線通信が1つの無線装置に集中する場合、その1つの無線装置は、5個の無線通信を中継することができる。
一方、6個の無線通信が1個の無線装置に集中した場合、その1つの無線装置が1秒間に処理しなければならないパケット数は、1200個/(=2×2×50(個/秒)×6)となるため、その1つの無線装置は、1つのパケットを0.8msで処理する必要がある。この0.8msは、1つのパケットの送信に要する時間(=0.945ms)よりも短いため、6個の無線通信が1つの無線装置に集中する場合、その1つの無線装置は、6個の無線通信を中継することができず、無線通信の品質が劣化する。
以上の結果より、6個の無線通信が1個の無線装置に集中する場合、パケット損失率および遅延時間に大きな性能劣化があり、5個の無線通信が1個の無線装置に集中する場合、1個の無線装置は、パケット損失率および遅延時間を劣化させずにパケットを処理可能である。
従って、この発明においては、無線通信の品質が低下したか否かを判断する基準である閾値Thmaxを1000個/秒に設定し、無線通信を中継する無線装置における単位時間当たりのパケット送信数が1000個/秒(=Thmax)以上になると、通信品質が低下したことを検知することにしたものである。
無線装置36の選択手段202は、パケット送信数TXN=1040個/秒を演算すると、その演算したパケット送信数TXNが閾値Thmax以上であるか否かを判定する。そして、パケット送信数TXNが閾値Thmax以上であるとき、無線装置36の選択手段202は、無線通信の品質が低下したことを検知し、パケット送信数TXNを次式に代入して破棄要求を送信すべき無線通信の個数Ncom1を演算する。
Ncom1=(TXN−Thmax)/50+n・・・(1)
式(1)において、nは、マージンである。このnは、複数個の無線通信が1つの無線装置に集中した場合に、その1つの無線装置における単位時間当たりのパケット送信数TXNを閾値Thmaxよりも少なくするためのものである。そして、nは、例えば、“2”に設定される。
従って、パケット送信数TXNが1040個/秒である場合、破棄要求を送信すべき無線通信の個数Ncom1は、Ncom1=(1040−1000)/50+2=0.8+2≒3となる。この場合、無線装置36の選択手段202は、(1040−1000)/50の演算結果である0.8の小数点以下を切り上げて“1”と演算する。そして、無線装置36の選択手段202は、(TXN−Thmax)/50の結果が小数点以下第2位以下の数値である場合も、小数点以下を切り上げて“1”と演算する。このように、無線装置36の選択手段202は、送受信手段201(中継手段)において閾値Thmaxを超えた単位時間当たりのパケット送信数をAとし、送信元における単位時間当たりのパケット送信数をBとした場合、A/Bが相対的に大きくなれば、相対的に多くなり、A/Bが相対的に小さくなれば、相対的に少なくなるように、個数Ncom1を決定する。
無線装置36の選択手段202は、破棄要求を送信すべき無線通信の個数Ncom1(=3)を演算すると、破棄要求を送信すべき無線装置を選択する。この場合、無線装置36の選択手段202は、通信帯域に与える影響が多い順に破棄要求を送信すべき無線通信を選択し、その選択した無線通信の送信元および送信先を破棄要求を送信すべき無線装置として選択する。即ち、無線装置36の選択手段202は、送信元から送信先までのホップ数が多い順に破棄要求を送信すべき無線通信を選択し、その選択した無線通信の送信元および送信先を破棄要求を送信すべき無線装置として選択する。
具体的に説明する。無線装置36の送受信手段201は、上述した4個の無線通信を中継しており、選択手段202は、キャッシュ204(CACHE1)を参照すれば、送受信手段201が中継している無線通信の送信元および送信先を検出できる。
従って、無線装置36の選択手段202は、キャッシュ204(CACHE1)を参照して、無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路を用いた無線通信における送信元(無線装置33または無線装置43)および送信先(無線装置43または無線装置33)を検出する。
また、無線装置36の選択手段202は、キャッシュ204(CACHE1)を参照して、無線装置38−無線装置36−無線装置37からなる経路を用いた無線通信における送信元(無線装置38または無線装置37)および送信先(無線装置37または無線装置38)を検出する。
更に、無線装置36の選択手段202は、キャッシュ204(CACHE1)を参照して、無線装置32−無線装置36−無線装置39−無線装置40からなる経路を用いた無線通信における送信元(無線装置32または無線装置40)および送信先(無線装置40または無線装置32)を検出する。
更に、無線装置36の選択手段202は、キャッシュ204(CACHE1)を参照して、無線装置32−無線装置36−無線装置39−無線装置42からなる経路を用いた無線通信における送信元(無線装置32または無線装置42)および送信先(無線装置42または無線装置32)を検出する。
そして、無線装置36の選択手段202は、各無線通信の送信元および送信先を検出すると、無線装置36から各送信元および各送信先までのホップ数をルーティングテーブル21A(図8参照)を参照して検出する。つまり、無線装置36の選択手段202は、その検出した各無線装置の送信元および送信先を送信先とする経路のホップ数をルーティングテーブル21Aを参照して検出することにより、無線装置36から各送信元および各送信先までのホップ数を検出する。
そうすると、無線装置36の選択手段202は、その検出した無線装置36から送信元までのホップ数と無線装置36から送信先までのホップ数との和を演算して各無線通信における送信元から送信先までのホップ数を演算する。
即ち、無線装置36の選択手段202は、無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路を用いた無線通信における送信元から送信先までのホップ数を演算する場合、ルーティングテーブル21Aに基づいて、無線装置36から無線装置33までのホップ数である“2”を検出し、無線装置36から無線装置43までのホップ数である“2”を検出し、その検出した2つのホップ数の和(=2+2)を演算して無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路を用いた無線通信における送信元から送信先までのホップ数を“4”と演算する。
無線装置36の選択手段202は、同様にして、無線装置38−無線装置36−無線装置37からなる経路を用いた無線通信における送信元から送信先までのホップ数を“2”(=1+1)と演算し、無線装置32−無線装置36−無線装置39−無線装置40からなる経路を用いた無線通信における送信元から送信先までのホップ数を“3”(=1+2)と演算し、無線装置32−無線装置36−無線装置39−無線装置42からなる経路を用いた無線通信における送信元から送信先までのホップ数を“3”(=1+2)と演算する。
そうすると、無線装置36の選択手段202は、その演算した送信元から送信先までのホップ数が多い順に破棄要求を送信すべき3個(=Ncom1)の無線通信を選択する。この場合、無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路を用いた無線通信における送信元から送信先までのホップ数が“4”であり、無線装置32−無線装置36−無線装置39−無線装置40からなる経路および無線装置32−無線装置36−無線装置39−無線装置42からなる経路を用いた無線通信における送信元から送信先までのホップ数が“3”であり、無線装置37−無線装置36−無線装置38からなる経路を用いた無線通信における送信元から送信先までのホップ数が“2”であるので、無線装置36の選択手段202は、無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路を用いた無線通信、無線装置32−無線装置36−無線装置39−無線装置40からなる経路を用いた無線通信および無線装置32−無線装置36−無線装置39−無線装置42からなる経路を用いた無線通信を破棄要求を送信すべき無線通信として選択する。
そして、無線装置36の選択手段202は、その選択した3個の無線通信の送信元(=無線装置32,33)および送信先(=無線装置40,42,43)を破棄要求を送信すべき無線装置として選択する(図7の(a)参照)。
そうすると、無線装置36の選択手段202は、その選択した無線装置32,33,40,42,43を通知手段203へ出力する。
無線装置36の通知手段203は、破棄要求を送信すべき無線装置32,33,40,42,43を選択手段202から受けると、破棄要求をメッセージに含む専用パケットPKT_D1を生成し、その生成した専用パケットPKT_D1をユニキャストによって無線装置32,33,40,42,43へ送信する(図7の(b)参照)。
無線装置32,33,40,42,43の送受信手段201は、専用パケットPKT_D1を無線装置36から受信し、その受信した専用パケットPKT_D1に基づいて、無音パケットの破棄要求を検出する。そして、無線装置32,33,40,42,43の送受信手段201は、その検出した破棄要求をユーザアプリケーション14へ通知する。
そうすると、無線装置32,33,40,42,43のユーザアプリケーション14は、送受信手段201から破棄要求を受け、無音パケットを破棄し、有音パケットのみを通信制御部15へ送信する。そして、無線装置32,33,40,42,43の送受信手段201は、ユーザアプリケーション14から送信された有音パケットを送信先へ送信するための経路をルーティングテーブル21を参照して探索し、その探索した経路に沿って有音パケットを送信先へ送信する。
これによって、無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路における無線通信、無線装置32−無線装置36−無線装置39−無線装置40からなる経路における無線通信および無線装置32−無線装置36−無線装置39−無線装置42からなる経路における無線通信の通信量が減少し、無線装置36が単位時間当たりに送信するパケット送信数TXNが減少する(図7の(c)参照)。
図9は、無線ネットワーク100における無音パケットの破棄の中止を示す概念図である。また、図10は、ルーティングテーブル21のキャッシュの他の例を示す図である。
無線装置36の選択手段202は、通知手段203が破棄要求を無線装置32,33,40,42,43へ送信した後も、キャッシュ204を参照して、送受信手段201が単位時間当たりに送信するパケット送信数TXNを上述した方法によって随時演算する。例えば、無線装置36の選択手段202は、キャッシュCACHE2(図10参照)を参照して、パケット送信数TXN=820個/秒(=280+170+40+50+150+80+20+30)を演算する。また、無線装置36の選択手段202は、閾値Thmin=Thmax−50×n=1000(個/秒)−50(個/秒)×2=900を保持している。なお、送信元の無線装置32,33,40,42,43が無音パケットを破棄して有音パケットのみを送信先へ送信しているので、キャッシュCACHE2に格納された通信量(Use)は、キャッシュCACHE1に格納された通信量(Use)よりも少なくなっているz(図6および図10参照)。
無線装置36の選択手段202は、破棄要求を送信すべき無線装置を通知手段203へ出力した後にパケット送信数TXNを演算すると、その演算したパケット送信数TXNが閾値Thminよりも少なくなったか否かを判定する。
そして、無線装置36の選択手段202は、パケット送信数TXNが閾値Thminよりも少なくなると、パケット送信数TXNを次式に代入して破棄中止要求を送信すべき無線通信の個数Ncom2を演算する。
Ncom2=(Thmin−TXN)/50・・・(2)
即ち、無線装置36の選択手段202は、Ncom2=(900−820)/50=1.6≒2を演算する。なお、無線装置36の選択手段202は、この場合も、小数点以下を切り上げて個数Ncom2を演算する。このように、無線装置36の選択手段202は、閾値Thminと送受信手段201(中継手段)における単位時間当たりのパケット送信数TXNとの差が相対的に大きくなれば、相対的に多くなり、閾値Thminと送受信手段201(中継手段)における単位時間当たりのパケット送信数TXNとの差が相対的に小さくなれば、相対的に少なくなるように、個数Ncom2を決定する。
無線装置36の選択手段202は、個数Ncom2を演算すると、破棄要求を送信した3個の無線通信(無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路における無線通信、無線装置32−無線装置36−無線装置39−無線装置40からなる経路における無線通信および無線装置32−無線装置36−無線装置39−無線装置42からなる経路における無線通信)の中から破棄中止要求を送信すべき2個(=Ncom2)の無線通信を選択する。
より具体的には、無線装置36の選択手段202は、3個の無線通信(=無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路における無線通信、無線装置32−無線装置36−無線装置39−無線装置40からなる経路における無線通信および無線装置32−無線装置36−無線装置39−無線装置42からなる経路における無線通信)における送信元および送信先をキャッシュCACHE2を参照して検出し、無線装置36からその検出した送信元および送信先までのホップ数をルーティングテーブル21Aを参照して検出する。そして、無線装置36の選択手段202は、その検出したホップ数に基づいて、無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路における無線通信の送信元から送信先までのホップ数を“4”(=2+2)と演算し、無線装置32−無線装置36−無線装置39−無線装置40からなる経路における無線通信の送信元から送信先までのホップ数を“3”(=1+2)と演算し、無線装置32−無線装置36−無線装置39−無線装置42からなる経路における無線通信の送信元から送信先までのホップ数を“3”(=1+2)と演算する。
そうすると、無線装置36の選択手段202は、破棄要求を送信した3個の無線通信(無線装置33−無線装置35−無線装置36−無線装置41−無線装置43からなる経路における無線通信、無線装置32−無線装置36−無線装置39−無線装置40からなる経路における無線通信および無線装置32−無線装置36−無線装置39−無線装置42からなる経路における無線通信)の中から破棄中止要求を送信すべき2個の無線通信として、無線装置32−無線装置36−無線装置39−無線装置40からなる経路における無線通信および無線装置32−無線装置36−無線装置39−無線装置42からなる経路における無線通信をホップ数の少ない順に選択する(図9の(a)参照)。
そして、無線装置36の選択手段202は、その選択した無線通信の送信元および送信先(無線装置32,40,42)を破棄中止要求を送信すべき無線装置として選択し、その選択した無線装置32,40,42を通知手段203へ出力する。
無線装置36の通知手段203は、破棄中止要求を送信すべき無線装置32,40,42を選択手段202から受けると、無音パケットの破棄の中止を要求するための破棄中止要求をメッセージに含む専用パケットPKT_D2を生成し、その生成した専用パケットPKT_D2をユニキャストによって無線装置32,40,42へ送信する(図9の(b)参照)。
無線装置32,40,42の送受信手段201は、無線装置36から専用パケットPKT_D2を受信し、その受信した専用パケットPKT_D2に基づいて、破棄中止要求を検出する。そして、無線装置32,40,42の送受信手段201は、その検出した破棄中止要求をユーザアプリケーション14へ通知する。
そうすると、無線装置32,40,42のユーザアプリケーション14は、送受信手段201から破棄中止要求を受け、生成したデータが無音データであるか有音データであるかに拘わらず、生成したデータからなるパケットを通信制御部15へ送信する。そして、無線装置32,40,42の送受信手段201は、ユーザアプリケーション14から送信されたパケットを送信先へ送信するための経路をルーティングテーブル21を参照して探索し、その探索した経路に沿ってパケットを送信先へ送信する。
これによって、無線装置32−無線装置36−無線装置39−無線装置40からなる経路における無線通信の通信量および無線装置32−無線装置36−無線装置39−無線装置42からなる経路における無線通信の通信量が増加する(図9の(c)参照)。
上述したように、4個の無線通信を中継する無線装置36は、自己における単位時間当たりのパケット送信数TXNが閾値Thmax以上になると、通信帯域に与える影響が多い順に破棄要求を送信すべき無線通信を選択し、その選択した無線通信の送信元および送信先へ破棄要求を送信する。そして、破棄要求を受信した無線装置32,33,40,42,43は、無音パケットを破棄し、有音パケットのみを送信先へ送信する。その結果、有音パケットが送信元と送信先との間で送受信されながら、無線装置36が単位時間当たりに送信するパケット送信数TXNが減少する。
従って、この発明によれば、通信品質の低下を抑制し、かつ、無線装置36(=中継器)における通信負荷を低減できる。
また、無線装置36は、単位時間当たりのパケット送信数TXNが閾値Thmax以上になった後に、パケット送信数TXNが閾値Thmaxよりも小さい閾値Thminを下回ったときに、破棄要求を送信した無線装置から選択した無線装置へ破棄中止要求を送信する。その結果、破棄要求および破棄中止要求が繰り返し送信元および送信先へ送信されるのが抑制される。
従って、この発明によれば、送信元から送信されるパケット数の急激な増減が抑制され、音飛びを抑制できる。
更に、無線装置36は、破棄要求を送信した無線通信のうち、送信元から送信先までのホップ数が相対的に少ない無線通信の送信元および送信先へ破棄中止要求を送信する。
従って、この発明によれば、無線ネットワーク100全体における通信量を短時間に回復できる。
図11は、無音パケットを破棄する動作を説明するためのフローチャートである。なお、図11においては、無線装置36を中継器とし、無線装置32,33,40,42,43を破棄要求を送信すべき無線装置として無音パケットを破棄する動作を説明する。
一連の動作が開始されると、中継器である無線装置36は、上述した方法によって、単位時間当たりのパケット送信数TXNを演算する(ステップS1)。そして、無線装置36は、その演算したパケット送信数TXNが閾値Thmax以上であるか否かを判定する(ステップS2)。
ステップS2において、パケット送信数TXNが閾値Thmaxよりも小さいと判定されたとき、一連の動作は、ステップS1へ戻る。そして、ステップS2において、パケット送信数TXNが閾値Thmax以上であると判定されるまで、上述したステップS1,S2が繰り返し実行される。
そして、ステップS2において、パケット送信数TXNが閾値Thmax以上であると判定されると、無線装置36は、上述した方法によって、破棄要求を送信すべき無線通信の個数Ncom1を演算する(ステップS3)。
その後、無線装置36は、破棄要求を送信すべきNcom1個の無線通信を送信元から送信先までのホップ数が多い順に、パケットを中継している複数個の無線通信の中から選択する(ステップS4)。
引き続いて、無線装置36は、その選択したNcom1個の無線通信の送信元および送信先(=無線装置32,33,40,42,43)を破棄要求を送信すべき無線装置として選択し(ステップS5)、その選択した無線装置へ破棄要求を送信する(ステップS6)。
送信元または送信先である無線装置32,33,40,42,43は、無線装置36から破棄要求を受信する(ステップS7)。そして、無線装置32,33,40,42,43は、その受信した破棄要求に応じて、無音パケットを破棄し、有音パケットのみを送信先へ送信する(ステップS8)。これによって、一連の動作は終了する。
図12は、無音パケットの破棄を中止する動作を説明するためのフローチャートである。なお、図12においては、無線装置36を中継器とし、無線装置32,40,42を破棄中止要求を送信すべき無線装置として無音パケットの破棄を中止する動作を説明する。
一連の動作が開始されると、中継器である無線装置36は、上述した方法によって、単位時間当たりのパケット送信数TXNを演算する(ステップS11)。そして、無線装置36は、その演算したパケット送信数TXNが閾値Thminよりも少ないか否かを判定する(ステップS12)。
ステップS12において、パケット送信数TXNが閾値Thmin以上であると判定されたとき、一連の動作は、ステップS11へ戻る。そして、ステップS12において、パケット送信数TXNが閾値Thminよりも少ないと判定されるまで、上述したステップS11,S12が繰り返し実行される。
そして、ステップS12において、パケット送信数TXNが閾値Thminよりも少ないと判定されると、無線装置36は、上述した方法によって、破棄中止要求を送信すべき無線通信の個数Ncom2を演算する(ステップS13)。
その後、無線装置36は、破棄中止要求を送信すべきNcom2個の無線通信を送信元から送信先までのホップ数が少ない順に、破棄要求を送信したNcom1個の無線通信の中から選択する(ステップS14)。
引き続いて、無線装置36は、その選択したNcom2個の無線通信の送信元および送信先(=無線装置32,40,42)を破棄中止要求を送信すべき無線装置として選択し(ステップS15)、その選択した無線装置へ破棄中止要求を送信する(ステップS16)。
送信元または送信先である無線装置32,40,42は、無線装置36から破棄中止要求を受信する(ステップS17)。そして、無線装置32,40,42は、その受信した破棄中止要求に応じて、無音パケットおよび有音パケットを送信先へ送信する(ステップS18)。これによって、一連の動作は終了する。
中継器である無線装置36は、図11および図12に示すフローチャートを繰り返し実行し、送信元と送信先との無線通信を中継する。従って、この発明によれば、通信品質の低下を抑制し、かつ、中継器における通信負荷を低減できる。
なお、図11に示すフローチャートにおいては、中継器(=無線装置36)が中継している複数個の無線通信の中からホップ数(送信元から送信先までのホップ数)の多い順に破棄要求を送信すべきNcom1個の無線通信を選択すると説明したが(図11のステップS4参照)、中継器(=無線装置36)が中継している複数個の無線通信の送信元から送信先までのホップ数が同じである場合、中継器(=無線装置36)は、ステップS4において、複数個の無線通信の中から破棄要求を送信すべきNcom1個の無線通信を任意に選択する。
また、図12に示すフローチャートにおいては、破棄要求を送信した無線通信の中からホップ数(送信元から送信先までのホップ数)の少ない順に破棄中止要求を送信すべきNcom2個の無線通信を選択すると説明したが(図12のステップS14参照)、破棄要求を送信した無線通信の送信元から送信先までのホップ数が同じである場合、中継器(=無線装置36)は、ステップS14において、破棄要求を送信した無線通信の中から破棄中止要求を送信すべきNcom2個の無線通信を任意に選択する。
上記においては、無線装置36が中継器であり、無線装置32,33,40,42,43が送信元または送信先である場合を例にして無音パケットの破棄および無音パケットの破棄の中止について説明したが、無線装置36以外の無線装置31〜35,37〜43が中継器であり、無線装置32,33,40,42,43以外の無線装置が送信元または送信先である場合も、上述した方法によって無音パケットの破棄および無音パケットの破棄の中止が実行される。
また、上記においては、閾値Thmaxは、1000個/秒であると説明したが、この発明においては、これに限らず、閾値Thmaxは、一般的には、アプリケーションの種類(パケットサイズおよび送信元のパケット送信間隔)に応じて、中継器においてパケット損失率および遅延時間に劣化が生じないように決定される。
更に、上記においては、式(1)におけるnは、“2”であると説明したが、この発明においては、これに限らず、式(1)におけるnは、中継器における単位時間当たりのパケット送信数TXNが閾値Thmaxを下回るためのマージンが得られる値であれば、どのような値であってもよい。
更に、上記においては、無線ネットワーク100は、無音パケットを破棄し、有音パケットのみを送信する無音廃棄方式に従ってパケットを送信する無線ネットワークであると説明したが、この発明においては、これに限らず、無線ネットワーク100は、一般的には、無意味なデータを含むパケットを破棄し、意味のあるデータを含むパケットのみを送信する方式に従って無線通信が送信元と送信先との間で行われる無線ネットワークであればよい。
無線ネットワーク100がそのような無線ネットワークであれば、無意味なデータを含むパケットを破棄しても通信品質の低下を抑制でき、中継器における通信負荷を低減できるからである。
なお、この発明においては、無線装置36は、「中継装置」を構成し、無線装置32,33,40,42,43または無線装置32,40,42は、「送信装置」を構成する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11 アンテナ、12 入力部、13 出力部、14 ユーザアプリケーション、15,15A 通信制御部、16 無線インターフェースモジュール、17 MACモジュール、18 バッファ、19 LLCモジュール、20 IPモジュール、21,21A ルーティングテーブル、22 TCPモジュール、23 UDPモジュール、24 ルーティングデーモン、31〜43 無線装置、51〜63 アンテナ、100 無線ネットワーク、201 送受信手段、202 選択手段、203 通知手段、204 キャッシュ。