(57)【要約】【課題】  要求されるＱｏＳを安定して満たすことが可能な無線装置を提供する。【解決手段】  無線ネットワークシステム１０は、無線装置１〜６を備える。各無線装置１〜６は、送信元と送信先との間で最大許容遅延内に無線通信が行なわれるようにｎ個のパケットの各無線装置１〜６におけるｎ個の許容遅延を演算し、その演算したｎ個の許容遅延に基づいてｎ個のパケットが各対応する許容遅延内に送信されるようにｎ個のパケットの送信スケジュールを決定し、その決定した送信スケジュールに従ってｎ個のパケットを送信する。【選択図】        図１
2006287476.tif 000002
【特許請求の範囲】
【請求項１】
自律的に確立され、かつ、送信元と送信先との間で無線通信が行なわれる無線ネットワークを構成する無線装置であって、
送信すべきｎ（ｎは正の整数）個のパケットの各々に対して前記送信元と前記送信先との間で最大許容遅延内に無線通信が行なわれるように当該無線装置における許容遅延を演算する許容遅延演算手段と、
前記演算されたｎ個の許容遅延に基づいて、前記ｎ個のパケットが各対応する許容遅延内に送信されるように前記ｎ個のパケットの送信スケジュールを決定するスケジューリング手段と、
前記決定された送信スケジュールに基づいて前記ｎ個のパケットを送信する送信手段とを備える無線装置。
【請求項２】
前記許容遅延演算手段は、送信対象であるパケットの種類に応じて決定された前記送信元から前記送信先までの間における許容遅延を前記最大許容遅延とし、前記送信元から当該無線装置までの間における遅延を累積遅延とし、当該無線装置から前記送信先までの間で予想される遅延を残り予想遅延としたとき、前記最大許容遅延から前記累積遅延および前記残り予想遅延を減算して前記ｎ個の許容遅延の各々を演算する、請求項１に記載の無線装置。
【請求項３】
ｎ個の送信先に対応し、かつ、各々が当該無線装置から前記送信先までの前記残り予想遅延からなるｎ個の残り予想遅延を含むルーティングテーブルを保持するテーブル保持手段をさらに備え、
前記許容遅延演算手段は、前記許容遅延の演算の対象となるパケットから前記最大許容遅延および前記累積遅延を読み出し、前記許容遅延の演算の対象となるパケットの送信先に対応する前記残り予想遅延を前記ルーティングテーブルから読み出すとともに、前記読み出した前記最大許容遅延、前記累積遅延および前記残り予想遅延に基づいて前記許容遅延の演算の対象となるパケットの前記許容遅延を演算する許容遅延演算処理を前記ｎ個のパケットについて実行し、前記ｎ個の許容遅延を演算する、請求項２に記載の無線装置。
【請求項４】
ｎ個の送信先に対応し、かつ、各々が当該無線装置から各送信先までのホップ数からなるｎ個のホップ数を含むルーティングテーブルを保持するテーブル保持手段をさらに備え、
前記許容遅延演算手段は、前記許容遅延の演算の対象となるパケットの送信先までの前記ホップ数を前記ルーティングテーブルから読み出し、その読み出したホップ数に定数を乗算して前記残り予想遅延を演算するとともに、前記許容遅延の演算の対象となるパケットから前記最大許容遅延および前記累積遅延を読み出し、その読み出した前記最大許容遅延および前記累積遅延と前記演算した残り予想遅延とに基づいて前記許容遅延の演算の対象となるパケットの前記許容遅延を演算する許容遅延演算処理を前記ｎ個のパケットについて実行し、前記ｎ個の許容遅延を演算する、請求項２に記載の無線装置。
【請求項５】
各パケットの当該無線装置における遅延である自己遅延を演算する遅延演算手段と、
送信対象のパケットから前記累積遅延を読み出し、その読み出した累積遅延に前記演算された自己遅延を加算し、その加算結果を前記送信対象のパケットに書き込んで前記累積遅延を更新する更新処理を前記ｎ個のパケットについて実行する更新手段とをさらに備え、
前記送信手段は、前記送信スケジュールに基づいてパケットを送信する際に、パケットに含める前記累積遅延を更新し、その更新した累積遅延を含むパケットを送信する、請求項２から請求項４のいずれか１項に記載の無線装置。
【請求項６】
各パケットの当該無線装置における遅延である自己遅延を演算する遅延演算手段と、
当該無線装置における平均遅延を演算する平均遅延処理を前記ｎ個のパケットについて実行する平均遅延演算手段と、
前記ｎ個のパケットの各々に対して、各々が既に送信されたパケットの当該無線装置における遅延であり、かつ、前記パケットが送信されたときに前記遅延演算手段により順次演算された自己遅延からなるｋ（ｋは正の整数）個の実績自己遅延を記憶する記憶手段とをさらに備え、
前記平均遅延演算手段は、各パケットが送信されるときに前記遅延演算手段により演算された前記自己遅延と、前記記憶手段に記憶された前記ｋ個の実績自己遅延とに基づいて平均遅延を演算する、請求項１から請求項３のいずれか１項に記載の無線装置。
【請求項７】
各パケットの当該無線装置における遅延である自己遅延を演算する遅延演算手段と、
当該無線装置における平均遅延を演算する平均遅延処理を前記ｎ個のパケットについて実行する平均遅延演算手段と、
前記ｎ個のパケットの各々に対して、各々が既に送信されたパケットの当該無線装置における遅延であり、かつ、前記パケットが送信されたときに前記遅延演算手段により順次演算された自己遅延と前記平均遅延演算手段により演算された前回の平均遅延とを記憶する記憶手段とをさらに備え、
前記平均遅延演算手段は、各パケットが送信されるときに前記遅延演算手段により演算された前記自己遅延と、前記記憶手段に記憶された前回の平均遅延とに基づいて新たな平均遅延を演算する、請求項１から請求項３のいずれか１項に記載の無線装置。
【請求項８】
ｎ個の送信先と、前記ｎ個の送信先に対応して設けられ、かつ、各々が当該無線装置から前記送信先までの前記残り予想遅延からなるｎ個の残り予想遅延と、前記ｎ個の送信先に対応して設けられ、かつ、各々が当該無線装置から前記送信先までのホップ数からなるｎ個のホップ数とを含むルーティングテーブルを保持するテーブル保持手段と、
前記演算されたｎ個の平均遅延を前記ｎ個のパケットのｎ個の送信先に対応する前記ｎ個の残り予想遅延に加算して遅延表を作成する遅延表作成手段と、
他の無線装置から送信された前記遅延表に基づいて、前記ルーティングテーブルを更新するテーブル更新手段とをさらに備え、
前記テーブル更新手段は、前記遅延表に含まれる第１のホップ数と前記ルーティングテーブルに含まれる第２のホップ数とが同じである場合に前記ルーティングテーブルを更新する、請求項６または請求項７に記載の無線装置。
【請求項９】
前記テーブル更新手段は、前記遅延表に含まれる第１の残り予想遅延が前記ルーティングテーブルに含まれる第２の残り予想遅延よりも小さいとき、前記第２の残り予想遅延を前記第１の残り予想遅延に書き換えて前記ルーティングテーブルを更新する、請求項８に記載の無線装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無線装置に関し、特に、複数の無線装置によって、自律的、かつ、即時的に構築されるアドホックネットワークを構成する無線装置に関するものである。
【背景技術】
【０００２】
アドホックネットワークは、複数の無線装置が相互に通信を行なうことによって自律的、かつ、即時的に構築されるネットワークである。アドホックネットワークでは、通信する２つの無線装置が互いの通信エリアに存在しない場合、２つの無線装置の中間に位置する無線装置がルータとして機能し、データパケットを中継するので、広範囲のマルチホップネットワークを形成することができる。
【０００３】
このようなアドホックネットワークは、被災地での無線通信網やＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔ  Ｓｙｓｔｅｍｓ）車車間通信でのストリーミングなど、様々な方面に応用されようとしている（非特許文献１）。
【０００４】
マルチホップ通信をサポートするルーティングプロトコルとしては、テーブル駆動型プロトコルとオンデマンド型プロトコルとがある。テーブル駆動型プロトコルは、定期的に経路に関する制御情報の交換を行ない、予め経路表を構築しておくものであり、ＧＳＲ（Ｇｌｏｂａｌ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）、ＦＳＲ（Ｆｉｓｈ−ｅｙｅ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）、ＯＬＳＲ（Ｏｐｔｉｍｉｚｅｄ  Ｌｉｎｋ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）およびＤＳＤＶ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｓｅｑｕｅｎｃｅｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ）等が知られている。
【０００５】
また、オンデマンド型プロトコルは、データ送信の要求が発生した時点で、初めて宛先までの経路を構築するものであり、ＤＳＲ（Ｄｙｎａｍｉｃ  Ｓｏｕｒｃｅ  Ｒｏｕｔｉｎｇ）およびＡＯＤＶ（Ａｄ  Ｈｏｃ  Ｏｎ−Ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ  Ｒｏｕｔｉｎｇ）等が知られている。
【０００６】
そして、従来のアドホックネットワークにおいては、送信元から送信先へデータ通信を行なう場合、送信元から送信先までのホップ数ができる限り少なくなるように通信経路が決定される（非特許文献２）。
【０００７】
このようなアドホックネットワークにおいて、各無線装置は、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）セッションによって音声情報を相互に送受信する。
【非特許文献１】渡辺正浩“無線アドホックネットワーク”，自動車技術会春季大会ヒューマトロニクスフォーラム，ｐｐ１８−２３，横浜，５月２００３年．
【非特許文献２】Guangyu Pei, at al, “Fisheye state routing: a routing scheme for ad hoc wireless networks”, ICC2000. Commun., Volume 1, pp70-74, L.A., June 2000.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、ＶｏＩＰセッションにおいては、スループットおよび遅延等のＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）は、一定であることが要求されるため、送信元から送信先までのホップ数が相対的に少ない場合には、遅延が相対的に小さくなり、要求されるＱｏＳに余裕があるが、送信元から送信先までのホップ数が相対的に多い場合には、遅延が相対的に大きくなり、要求されるＱｏＳを満たすことができない。その結果、要求されるＱｏＳを安定して満たすことができないという問題がある。
【０００９】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、要求されるＱｏＳを安定して満たすことが可能な無線装置を提供することである。
【課題を解決するための手段】
【００１０】
この発明によれば、無線装置は、自律的に確立され、かつ、送信元と送信先との間で無線通信が行なわれる無線ネットワークを構成する無線装置であって、許容遅延演算手段と、スケジューリング手段と、送信手段とを備える。許容遅延演算手段は、送信すべきｎ（ｎは正の整数）個のパケットの各々に対して送信元と送信先との間で最大許容遅延内に無線通信が行なわれるように当該無線装置における許容遅延を演算する。スケジューリング手段は、許容遅延演算手段によって演算されたｎ個の許容遅延に基づいて、ｎ個のパケットが各対応する許容遅延内に送信されるようにｎ個のパケットの送信スケジュールを決定する。送信手段は、スケジューリング手段によって決定された送信スケジュールに基づいてｎ個のパケットを送信する。
【００１１】
好ましくは、許容遅延演算手段は、送信対象であるパケットの種類に応じて決定された送信元から送信先までの間における許容遅延を最大許容遅延とし、送信元から当該無線装置までの間における遅延を累積遅延とし、当該無線装置から送信先までの間で予想される遅延を残り予想遅延としたとき、最大許容遅延から累積遅延および残り予想遅延を減算してｎ個の許容遅延の各々を演算する。
【００１２】
好ましくは、無線装置は、テーブル保持手段をさらに備える。テーブル保持手段は、ｎ個の送信先に対応し、かつ、各々が当該無線装置から送信先までの残り予想遅延からなるｎ個の残り予想遅延を含むルーティングテーブルを保持する。そして、許容遅延演算手段は、許容遅延の演算の対象となるパケットから最大許容遅延および累積遅延を読み出し、許容遅延の演算の対象となるパケットの送信先に対応する残り予想遅延をルーティングテーブルから読み出すとともに、読み出した最大許容遅延、累積遅延および残り予想遅延に基づいて許容遅延の演算の対象となるパケットの許容遅延を演算する許容遅延演算処理をｎ個のパケットについて実行し、ｎ個の許容遅延を演算する。
【００１３】
好ましくは、無線装置は、テーブル保持手段をさらに備える。テーブル保持手段は、ｎ個の送信先に対応し、かつ、各々が当該無線装置から各送信先までのホップ数からなるｎ個のホップ数を含むルーティングテーブルを保持する。そして、許容遅延演算手段は、許容遅延の演算の対象となるパケットの送信先までのホップ数をルーティングテーブルから読み出し、その読み出したホップ数に定数を乗算して残り予想遅延を演算するとともに、許容遅延の演算の対象となるパケットから最大許容遅延および累積遅延を読み出し、その読み出した最大許容遅延および累積遅延と演算した残り予想遅延とに基づいて許容遅延の演算の対象となるパケットの許容遅延を演算する許容遅延演算処理をｎ個のパケットについて実行し、ｎ個の許容遅延を演算する。
【００１４】
好ましくは、無線装置は、遅延演算手段と、更新手段とをさらに備える。遅延演算手段は、各パケットの当該無線装置における遅延である自己遅延を演算する。更新手段は、送信対象のパケットから累積遅延を読み出し、その読み出した累積遅延に演算された自己遅延を加算し、その加算結果を送信対象のパケットに書き込んで累積遅延を更新する更新処理をｎ個のパケットについて実行する。そして、送信手段は、送信スケジュールに基づいてパケットを送信する際に、パケットに含める累積遅延を更新し、その更新した累積遅延を含むパケットを送信する。
【００１５】
好ましくは、無線装置は、遅延演算手段と、平均遅延演算手段と、記憶手段とをさらに備える。遅延演算手段は、各パケットの当該無線装置における遅延である自己遅延を演算する。平均遅延演算手段は、当該無線装置における平均遅延を演算する平均遅延処理をｎ個のパケットについて実行する。記憶手段は、ｎ個のパケットの各々に対して、各々が既に送信されたパケットの当該無線装置における遅延であり、かつ、パケットが送信されたときに遅延演算手段により順次演算された自己遅延からなるｋ（ｋは正の整数）個の実績自己遅延を記憶する。そして、平均遅延演算手段は、各パケットが送信されるときに遅延演算手段により演算された自己遅延と、記憶手段に記憶されたｋ個の実績自己遅延とに基づいて平均遅延を演算する。
【００１６】
好ましくは、無線装置は、遅延演算手段と、平均遅延演算手段と、記憶手段とをさらに備える。遅延演算手段は、各パケットの当該無線装置における遅延である自己遅延を演算する。平均遅延演算手段は、当該無線装置における平均遅延を演算する平均遅延処理をｎ個のパケットについて実行する。記憶手段は、ｎ個のパケットの各々に対して、各々が既に送信されたパケットの当該無線装置における遅延であり、かつ、パケットが送信されたときに遅延演算手段により順次演算された自己遅延と平均遅延演算手段により演算された前回の平均遅延とを記憶する。そして、平均遅延演算手段は、各パケットが送信されるときに遅延演算手段により演算された自己遅延と、記憶手段に記憶された前回の平均遅延とに基づいて新たな平均遅延を演算する。
【００１７】
好ましくは、無線装置は、テーブル保持手段と、遅延表作成手段と、テーブル更新手段とをさらに備える。テーブル保持手段は、ｎ個の送信先と、ｎ個の送信先に対応して設けられ、かつ、各々が当該無線装置から送信先までの残り予想遅延からなるｎ個の残り予想遅延と、ｎ個の送信先に対応して設けられ、かつ、各々が当該無線装置から送信先までのホップ数からなるｎ個のホップ数とを含むルーティングテーブルを保持する。遅延表作成手段は、演算されたｎ個の平均遅延をｎ個のパケットのｎ個の送信先に対応するｎ個の残り予想遅延に加算して遅延表を作成する。テーブル更新手段は、他の無線装置から送信された遅延表に基づいて、ルーティングテーブルを更新する。そして、テーブル更新手段は、遅延表に含まれる第１のホップ数とルーティングテーブルに含まれる第２のホップ数とが同じである場合にルーティングテーブルを更新する。
【００１８】
好ましくは、テーブル更新手段は、遅延表に含まれる第１の残り予想遅延がルーティングテーブルに含まれる第２の残り予想遅延よりも小さいとき、第２の残り予想遅延を第１の残り予想遅延に書き換えてルーティングテーブルを更新する。
【発明の効果】
【００１９】
この発明による無線装置は、送信元と送信先との間で最大許容遅延内に無線通信が行なわれるようにｎ個のパケットの当該無線装置におけるｎ個の許容遅延を演算し、その演算したｎ個の許容遅延に基づいてｎ個のパケットが各対応する許容遅延内に送信されるようにｎ個のパケットの送信スケジュールを決定し、その決定した送信スケジュールに従ってｎ個のパケットを送信する。
【００２０】
従って、この発明によれば、要求されるＱｏＳを安定して満たすことができる。
【発明を実施するための最良の形態】
【００２１】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２２】
図１は、この発明の実施の形態による無線装置を用いた無線ネットワークシステムの概略図である。無線ネットワークシステム１０は、無線装置１〜６を備える。無線装置１〜６は、無線通信空間に配置され、自律的にネットワークを構成している。そして、無線装置１から無線装置６へデータを送信する場合、無線装置２〜５は、無線装置１からのデータを中継して無線装置６へ届ける。
【００２３】
この場合、無線装置１は、各種の経路を介して無線装置６との間で無線通信を行なうことができる。即ち、無線装置１は、無線装置２，３を介して無線装置６との間で無線通信を行なうことができ、無線装置４，５を介して無線装置６との間で無線通信を行なうこともでき、無線装置２，４，５を介して無線装置６との間で無線通信を行なうこともでき、無線装置２，３，５を介して無線装置６との間で無線通信を行なうこともでき、無線装置２，４，５，３を介して無線装置６との間で無線通信を行なうこともできる。
【００２４】
無線装置２，３または無線装置４，５を介して無線通信を行なう場合、ホップ数が”３”と最も少なく、無線装置２，４，５または無線装置２，３，５を介して無線通信を行なう場合、ホップ数が”４”であり、無線装置２，４，５，３を介して無線通信を行なう場合、ホップ数が”５”と最も多い。
【００２５】
従って、無線装置２，３または無線装置４，５を介して無線通信を行なう経路を選択すると、ホップ数が”３”と最も少なくなる。
【００２６】
この場合、例えば、ホップ数が最も少なくなる無線装置１−無線装置２−無線装置３−無線装置６の経路を介して無線装置１と無線装置６との間で無線通信が行なわれる。
【００２７】
しかし、無線装置１−無線装置２−無線装置３−無線装置６の経路を介して無線装置１と無線装置６との間で無線通信が行なわれているときに、無線装置２を介して無線装置４へ無線通信を行なうための要求が無線装置１以外の無線装置（図示せず）からなされたとき、無線装置２が送信するパケット数は、無線装置３が送信するパケット数よりも多くなる。
【００２８】
この場合、既に行なわれている無線装置１−無線装置６間の無線通信を優先して、無線装置２が無線装置１から受信したパケットを優先して無線装置３へ送信すれば、無線装置１以外の無線装置（図示せず）と無線装置４との間で行なわれる無線通信のスループットが低下し、要求されるＱｏＳを満たすことができなくなる可能性がある。
【００２９】
そこで、以下においては、無線ネットワークシステム１０において、要求されるＱｏＳを満たして無線通信を行なう方法について説明する。
【００３０】
なお、送信元と送信先との間で通信経路を確立するプロトコルとしてＯＬＳＲプロトコルを基本として用いる。このＯＬＳＲプロトコルは、テーブル駆動型のルーティングプロトコルであり、ＨｅｌｌｏメッセージおよびＴＣ（Ｔｏｐｏｌｏｇｙ  Ｃｏｎｔｒｏｌ）メッセージを用いて経路情報を交換し、ルーティングテーブルを作成するプロトコルである。
【００３１】
図２は、図１に示す無線装置１の構成を示す概略ブロック図である。無線装置１は、アンテナ１１と、入力部１２と、出力部１３と、ユーザアプリケーション１４と、通信制御部１５とを含む。
【００３２】
アンテナ１１は、無線通信空間を介して他の無線装置からデータを受信し、その受信したデータを通信制御部１５へ出力するとともに、通信制御部１５からのデータを無線通信空間を介して他の無線装置へ送信する。
【００３３】
入力部１２は、無線装置１の操作者が入力したメッセージおよびデータの宛先を受付け、その受付けたメッセージおよび宛先をユーザアプリケーション１４へ出力する。出力部１３は、ユーザアプリケーション１４からの制御に従ってメッセージを表示する。
【００３４】
ユーザアプリケーション１４は、入力部１２からのメッセージおよび宛先に基づいてデータを生成して通信制御部１５へ出力する。
【００３５】
通信制御部１５は、ＡＲＰＡ（Ａｄｖａｎｃｅｄ  Ｒｅｓｅａｒｃｈ  Ｐｒｏｊｅｃｔｓ  Ａｇｅｎｃｙ）インターネット階層構造に従って、通信制御を行なう複数のモジュールからなる。即ち、通信制御部１５は、無線インターフェースモジュール１６と、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）モジュール１７と、バッファ１８と、ＬＬＣ（Ｌｏｇｉｃａｌ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ）モジュール１９と、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）モジュール２０と、ルーティングテーブル２１と、ＴＣＰモジュール２２と、ＵＤＰモジュール２３と、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）モジュール２４と、ルーティングデーモン２５とからなる。
【００３６】
無線インターフェースモジュール１６は、物理層に属し、所定の規定に従って送信信号または受信信号の変復調を行なうとともに、アンテナ１１を介して信号を送受信する。
【００３７】
ＭＡＣモジュール１７は、ＭＡＣ層に属し、ＭＡＣプロトコルを実行して、以下に述べる各種の機能を実行する。
【００３８】
即ち、ＭＡＣモジュール１７は、無線ネットワークシステム１０における経路情報を他の無線装置へ送信するとき、隣接する無線装置に関する情報等の各種のメッセージを含むパケットＰＫＴを作成し、無線インターフェースモジュール１６を介してブロードキャストする。
【００３９】
また、ＭＡＣモジュール１７は、データ（パケット）の再送制御等を行なう。そして、ＭＡＣモジュール１７は、データ（パケット）の再送回数が所定値を超えるとリンクが切断されたことを検知し、リンクが切断されたことをルーティングデーモン２５に通知する。
【００４０】
更に、ＭＡＣモジュール１７は、送信するパケットに含まれている累積遅延に無線装置１における遅延を追加して累積遅延を更新する。そして、ＭＡＣモジュール１７は、更新した累積遅延を含むパケットを無線インターフェースモジュール１６を介して送信する。
【００４１】
バッファ１８は、データリンク層に属し、パケットを一時的に格納する。
【００４２】
ＬＬＣモジュール１９は、データリンク層に属し、ＬＬＣプロトコルを実行し、送信スケジューリングを実行する。
【００４３】
ＩＰモジュール２０は、インターネット層に属し、ＩＰパケットを生成する。ＩＰパケットは、ＩＰヘッダと、上位のプロトコルのパケットを格納するためのＩＰデータ部とからなる。そして、ＩＰモジュール２０は、ＴＣＰモジュール２２またはＵＤＰモジュール２３からデータを受けると、その受けたデータをＩＰデータ部に格納してｎ（ｎは正の整数）個のＩＰパケットを生成する。
【００４４】
また、ＩＰモジュール２０は、後述する方法によって、ｎ個のＩＰパケットの各々に対して無線装置１における許容遅延を演算するとともに、その演算したｎ個の許容遅延に基づいてｎ個のＩＰパケットの送信順序を示す送信スケジュールを決定する。
【００４５】
そうすると、ＩＰモジュール２０は、テーブル駆動型のルーティングプロトコルであるＯＬＳＲプロトコルに従ってルーティングテーブル２１を検索し、生成したｎ個のＩＰパケットを送信するためのｎ個の経路を決定する。そして、ＩＰモジュール２０は、ｎ個のＩＰパケットを送信スケジュールに従ってＬＬＣモジュール１９へ送信し、決定したｎ個の経路に沿ってｎ個のＩＰパケットを送信先へ送信する。
【００４６】
更に、ＩＰモジュール２０は、後述する方法によって、無線装置１における平均遅延を演算し、その演算した平均遅延をルーティングテーブル２１に反映した遅延表を作成する。そして、ＩＰモジュール２０は、作成した遅延表をルーティングパケットに書き込んでブロードキャストする。
【００４７】
ルーティングテーブル２１は、インターネット層に属し、後述するように、各送信先に対応付けて経路情報を格納する。
【００４８】
ＴＣＰモジュール２２は、トランスポート層に属し、ＴＣＰパケットを生成する。ＴＣＰパケットは、ＴＣＰヘッダと、上位のプロトコルのデータを格納するためのＴＣＰデータ部とからなる。そして、ＴＣＰモジュール２２は、生成したＴＣＰパケットをＩＰモジュール２０へ送信する。
【００４９】
ＵＤＰモジュール２３は、トランスポート層に属し、ルーティングデーモン２５によって作成されたＵｐｄａｔｅパケットをブロードキャストし、他の無線装置からブロードキャストされたＵｐｄａｔｅパケットを受信してルーティングデーモン２５へ出力する。
【００５０】
また、ＵＤＰモジュール２３は、ＶｏＩＰ等の固定帯域のデータパケットの送信を行なう。
【００５１】
ＳＭＴＰモジュール２４は、プロセス／アプリケーション層に属し、ユーザアプリケーション１４から受け取ったデータに基づいて、全二重通信チャネルの確保およびメッセージの交換等を行なう。
【００５２】
ルーティングデーモン２５は、プロセス／アプリケーション層に属し、他の通信制御モジュールの実行状態を監視するとともに、他の通信制御モジュールからのリクエストを処理する。また、ルーティングデーモン２５は、ＯＬＳＲプロトコルに従って比較的近くに存在する他の無線装置と経路情報を定期的に交換し合い、取得した経路情報に基づいて、最適な経路を算出してルーティングテーブル２１をインターネット層に動的に作成する。
【００５３】
なお、図１に示す無線装置２〜６の各々も、図２に示す無線装置１の構成と同じ構成からなる。
【００５４】
図３は、パケットの構成図である。パケットＰＫＴは、図３の（ａ）に示すパケットＰＫＴ１または図３の（ｂ）に示すパケットＰＫＴ２からなる。パケットＰＫＴ１は、ＭＡＣヘッダ３１と、ＤＬヘッダ３２と、ＩＰヘッダ３３と、ＴＣＰヘッダ３４と、データ部３５と、ＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）３６とを含む。ＭＡＣヘッダ３１は、ＭＡＣモジュール１７によって付与され、宛先アドレスおよび送信元アドレスを含む。
【００５５】
ＤＬヘッダ３２は、最大許容遅延部３２１と、累積遅延部３２２とからなる。最大許容遅延部３２１は、パケットの種類に応じて決定され、送信元から送信先までの間における許容遅延である最大許容遅延（ＭＡＸ＿Ｄｅｌａｙ）を格納する。そして、最大許容遅延は、送信元において設定される。
【００５６】
累積遅延部３２２は、送信元から中継器である無線装置までの間における遅延の総和である累積遅延（ｄｅｌａｙ）を格納し、中継器である無線装置によって順次更新される。なお、累積遅延は、送信元のＩＰ層においては“０”に初期設定される。
【００５７】
ＩＰヘッダ３３およびＴＣＰヘッダ３４については、後述する。データ部３５は、送信対象のデータ（ＤＡＴＡ）を格納する。ＦＣＳ３６は、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ  ｃｈａｒａｃｔｅｒ）方式による制御情報を格納する。ＣＲＣ方式では、データを高次の多項式とみなし、あらかじめ定められた生成多項式で割った余りを、誤り検出用のビット列として使用する。受信側では、誤り検出用のビット列が付加されたデータを、同じ生成多項式で割り、余りがなければ伝送されたデータは正しいと判断する。従って、ＦＣＳ３５は、この誤り検出用のビット列を格納する（図３の（ａ）参照）。
【００５８】
パケットＰＫＴ２は、パケット１のＴＣＰヘッダ３４をＵＤＰヘッダ３７に代えたものであり、その他は、パケットＰＫＴ１と同じである（図３の（ｂ）参照）。ＵＤＰヘッダ３７については、後述する。
【００５９】
図４は、ＩＰヘッダ３３の構成図である。ＩＰヘッダ３３は、バージョン、ヘッダ長、サービスタイプ、パケット長、識別番号、フラグ、フラグメントオフセット、生存時間、プロトコル、ヘッダチェックサム、送信元ＩＰアドレス、送信先ＩＰアドレス、およびオプションからなる。
【００６０】
図５は、ＴＣＰヘッダおよびＵＤＰヘッダの構成図である。図５の（ａ）は、ＴＣＰヘッダの構成を示し、図５の（ｂ）は、ＵＤＰヘッダの構成を示す。ＴＣＰヘッダは、送信元ポート番号、送信先ポート番号、シーケンス番号、確認応答（ＡＣＫ）番号、データオフセット、予約、フラグ、ウィンドサイズ、ヘッダチェックサムおよびアージェントポインタからなる。
【００６１】
送信元ポート番号は、送信元の無線装置で複数のアプリケーションが動作しているときに、ＴＣＰパケットを出力したアプリケーションを特定する番号である。また、送信先ポート番号は、送信先の無線装置で複数のアプリケーションが動作しているときに、ＴＣＰパケットを届けるアプリケーションを特定する番号である。
【００６２】
ＴＣＰ通信は、エンド・ツー・エンドのコネクション型通信プロトコルである。ＴＣＰ通信のコネクション接続を要求する無線装置（以下、「ＴＣＰ通信接続要求装置」という。）のＴＣＰモジュール２２は、コネクションの確立時に、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔにＳＹＮ（Ｓｙｎｃｈｒｏｎｉｚｅ  Ｆｌａｇ）を設定したコネクションの接続要求を示す第１パケットをＴＣＰ通信のコネクション接続を受理する端末（以下、「ＴＣＰ通信接続受理装置」という。）のＴＣＰモジュール２２へ送信する。これを受けて、ＴＣＰ通信接続受理装置のＴＣＰモジュール２２は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔにＳＹＮおよびＡＣＫ（確認応答）を設定したコネクションの接続要求受理および接続完了を示す第２パケットをＴＣＰ通信接続要求装置のＴＣＰモジュール２２へ送信する。更に、これを受けて、ＴＣＰ通信接続要求装置のＴＣＰモジュール２２は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ（確認応答）に設定したコネクションの接続完了を示す第３パケットをＴＣＰ通信接続受理装置のＴＣＰモジュール２２へ送信する。
【００６３】
コネクションの切断要求は、ＴＣＰ通信要求装置およびＴＣＰ通信受理装置のいずれの側からでも行なうことができる。ＴＣＰ通信のコネクション切断を要求する無線装置（以下、「ＴＣＰ通信切断要求装置」という。）のＴＣＰモジュール２２は、コネクションの切断時に、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＦＩＮ（Ｆｉｎｉｓｈ  Ｆｌａｇ）に設定したコネクションの切断要求を示す第１パケットをＴＣＰ通信のコネクション切断を受理する無線装置（以下、「ＴＣＰ通信切断受理装置」という。）へ送信する。これを受けて、ＴＣＰ通信切断受理装置のＴＣＰモジュール２２は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ(確認応答)に設定したコネクションの切断要求受理を示す第２パケットと、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＦＩＮに設定したコネクションの切断完了を示す第３パケットをＴＣＰ通信切断要求装置のＴＣＰモジュール２２へ送信する。更に、これを受けて、ＴＣＰ通信切断要求装置のＴＣＰモジュール２２は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ(確認応答)に設定したコネクションの切断完了を示す第４パケットをＴＣＰ通信切断受理装置のＴＣＰモジュール２２へ送信する。
【００６４】
ＵＤＰヘッダは、送信元ポート番号、送信先ポート番号、ＵＤＰデータ長およびＵＤＰチェックサムからなる。
【００６５】
送信元ポート番号は、送信元の無線装置で複数のアプリケーションが動作しているときに、ＵＤＰパケットを出力したアプリケーションを特定する番号である。また、送信先ポート番号は、送信先の無線装置で複数のアプリケーションが動作しているときに、ＵＤＰパケットを届けるアプリケーションを特定する番号である。
【００６６】
図６は、図２に示すルーティングテーブル２１の構成図である。ルーティングテーブル２１は、図６の（ａ）に示すルーティングテーブル２１Ａまたは図６の（ｂ）に示すルーティングテーブル２１Ｂからなる。
【００６７】
ルーティングテーブル２１Ａは、送信先、次の無線装置、ホップ数および残り予想遅延からなる。送信先、次の無線装置、ホップ数および残り予想遅延は、相互に対応付けられている。“送信先”は、送信先の無線装置のＩＰアドレスを表す。“次の無線装置”は、送信先にパケットＰＫＴを送信するときに、次に送信すべき無線装置のＩＰアドレスを表す。“ホップ数”は、送信先までのホップ数を表す。“残り予想遅延”は、各無線装置から送信先までの間における無線装置の遅延の総和である。例えば、図１において、無線装置１−無線装置２−無線装置３−無線装置６の経路によって無線装置１と無線装置６との間で無線通信が行なわれる場合、無線装置２のルーティングテーブル２１Ａの残り予想遅延には、無線装置３における遅延が格納される。また、無線装置１−無線装置２−無線装置４−無線装置５−無線装置６の経路によって無線装置１と無線装置６との間で無線通信が行なわれる場合、無線装置２のルーティングテーブル２１Ａの残り予想遅延には、無線装置４における遅延と無線装置５における遅延との和が格納される（図６の（ａ）参照）。
【００６８】
ルーティングテーブル２１Ｂは、ルーティングテーブル２１Ａから残り予想遅延を削除したものであり、その他は、ルーティングテーブル２１Ａと同じである（図６の（ｂ）参照）。
【００６９】
ＯＬＳＲプロトコルに従ったルーティングテーブル２１Ａ，２１Ｂの作成について詳細に説明する。無線装置１〜６は、ルーティングテーブル２１Ａ，２１Ｂを作成する場合、ＨｅｌｌｏメッセージおよびＴＣメッセージを送受信する。
【００７０】
Ｈｅｌｌｏメッセージは、各無線装置１〜６が有する情報の配信を目的として、定期的に送信される。このＨｅｌｌｏメッセージを受信することによって、各無線装置１〜６は、周辺の無線装置に関する情報を収集でき、自己の周辺にどのような無線装置が存在するのかを認識する。
【００７１】
ＯＬＳＲプロトコルにおいては、各無線装置１〜６は、ローカルリンク情報を管理する。そして、Ｈｅｌｌｏメッセージは、このローカルリンク情報の構築および送信を行なうためのメッセージである。ローカルリンク情報は、「リンク集合」、「隣接無線装置集合」、「２ホップ隣接無線装置集合とそれらの無線装置へのリンク集合」、「ＭＰＲ（Ｍｕｌｔｉｐｏｉｎｔ  Ｒｅｌａｙ）集合」、および「ＭＰＲセレクタ集合」を含む。
【００７２】
リンク集合は、直接的に電波が届く無線装置（隣接無線装置）の集合へのリンクのことであり、各リンクは２つの無線装置間のアドレスの組の有効時間によって表現される。なお、有効時間は、そのリンクが単方向なのか双方向なのかを表すためにも利用される。
【００７３】
隣接無線装置集合は、各隣接無線装置のアドレス、およびその無線装置の再送信の積極度（Ｗｉｌｌｉｎｇｎｅｓｓ）等によって構成される。２ホップ隣接無線装置集合は、隣接無線装置に隣接する無線装置の集合を表す。
【００７４】
ＭＰＲ集合は、ＭＰＲとして選択された無線装置の集合である。なお、ＭＰＲとは、各パケットＰＫＴを無線ネットワークシステム１０の全ての無線装置１〜６へ送信する場合、各無線装置１〜６が１つのパケットＰＫＴを１回だけ送受信することによってパケットＰＫＴを全ての無線装置１〜６へ送信できるように中継無線装置を選択することである。
【００７５】
ＭＰＲセレクタ集合は、自己をＭＰＲとして選択した無線装置の集合を表す。
【００７６】
ローカルリンク情報が確立される過程は、概ね、次のようになる。Ｈｅｌｌｏメッセージは、初期の段階では、各無線装置１〜６が自己の存在を知らせるために、自己のアドレスが入ったＨｅｌｌｏメッセージを隣接する無線装置へ送信する。これを、無線装置１〜６の全てが行ない、各無線装置１〜６は、自己の周りにどのようなアドレスを持った無線装置が存在するのかを把握する。このようにして、リンク集合および隣接無線装置集合が構築される。
【００７７】
そして、構築されたローカルリンク情報は、再び、Ｈｅｌｌｏメッセージによって定期的に送り続けられる。これを繰返すことによって、各リンクが双方向であるのか、隣接無線装置の先にどのような無線装置が存在するのかが徐々に明らかになって行く。各無線装置１〜６は、このように徐々に構築されたローカルリンク情報を蓄える。
【００７８】
更に、ＭＰＲに関する情報も、Ｈｅｌｌｏメッセージによって定期的に送信され、各無線装置１〜６へ告知される。各無線装置１〜６は、自己が送信するパケットＰＫＴの再送信を依頼する無線装置として、いくつかの無線装置をＭＰＲ集合として隣接無線装置の中から選択している。そして、このＭＰＲ集合に関する情報は、Ｈｅｌｌｏメッセージによって隣接する無線装置へ送信されるので、このＨｅｌｌｏメッセージを受信した無線装置は、自己がＭＰＲとして選択してきた無線装置の集合を「ＭＰＲセレクタ集合」として管理する。このようにすることにより、各無線装置１〜６は、どの無線装置から受信したパケットＰＫＴを再送信すればよいのかを即座に認識できる。
【００７９】
Ｈｅｌｌｏメッセージの送受信により各無線装置１〜６において、ローカルリンク集合が構築されると、無線ネットワークシステム１０全体のトポロジーを知らせるためのＴＣメッセージが無線装置１〜６へ送信される。このＴＣメッセージは、ＭＰＲとして選択されている全ての無線装置によって定期的に送信される。そして、ＴＣメッセージは、各無線装置とＭＰＲセレクタ集合との間のリンクを含んでいるため、無線ネットワークシステム１０の全ての無線装置１〜６は、全てのＭＰＲ集合および全てのＭＰＲセレクタ集合を知ることができ、全てのＭＰＲ集合および全てのＭＰＲセレクタ集合に基づいて、無線ネットワークシステム１０全体のトポロジーを知ることができる。各無線装置１〜６は、無線ネットワークシステム１０全体のトポロジーを用いて最短路を計算し、それに基づいて経路表を作成する。
【００８０】
なお、各無線装置１〜６は、Ｈｅｌｌｏメッセージとは別に、ＴＣメッセージを頻繁に交換する。そして、ＴＣメッセージの交換にも、ＭＰＲが利用される。
【００８１】
各無線装置１〜６のＵＤＰモジュール２３は、上述したＨｅｌｌｏメッセージおよびＴＣメッセージを送受信し、ルーティングデーモン２５は、ＵＤＰモジュール２３が受信したＨｅｌｌｏメッセージおよびＴＣメッセージに基づいて無線ネットワークシステム１０全体のトポロジーを認識し、その無線ネットワークシステム１０全体のトポロジーに基づいて、最短路を計算し、それに基づいて、図６に示すルーティングテーブル２１Ａ，２１Ｂを動的に作成する。
【００８２】
図７は、図２に示すＩＰモジュール２０の機能ブロック図である。ＩＰモジュール２０は、ＩＰ入力キュー部２０１と、ＩＰオプション処理部２０２と、宛先識別部２０３と、ＩＰ出力部２０４と、タイマー２０５と、メモリ２０６とを含む。
【００８３】
ＩＰ入力キュー部２０１は、ＭＡＣモジュール１７等のネットワークインターフェースからパケットを受け、その受けたパケットの損失を抑制してＩＰオプション処理部２０２へ出力する。
【００８４】
ＩＰオプション処理部２０２は、ＩＰ入力キュー部２０１からのパケットに対してオプション処理を施して宛先識別部２０３またはＩＰ出力部２０４へ出力する。
【００８５】
宛先識別部２０３は、ＩＰオプション処理部２０２からのパケットＰＫＴのＩＰヘッダ３３に含まれる宛先アドレスを検出し、その検出した宛先アドレスに基づいて、そのパケットＰＫＴが自端末宛のパケットか否かを判定する。そして、宛先識別部２０３は、そのパケットＰＫＴが自端末宛のパケットであるとき、そのパケットＰＫＴをＴＣＰモジュール２２またはＵＤＰモジュール２３へ出力する。また、宛先識別部２０３は、そのパケットＰＫＴが自端末宛のパケットでないとき、そのパケットＰＫＴをＩＰ出力部２０４へ出力する。
【００８６】
ＩＰ出力部２０４は、宛先識別部２０３、ＴＣＰモジュール２３およびＵＤＰモジュール２３のいずれかからパケットＰＫＴを受ける。そして、ＩＰ出力部２０４は、パケットＰＫＴを受けると、パケットＰＫＴを受信したときの時刻ａｒｒｉｖｅ＿ｔｉｍｅをタイマー２０５を参照して検出するとともに、パケットＰＫＴのＩＰヘッダ３３に含まれる識別番号を検出する。そして、ＩＰ出力部２０４は、その検出した時刻ａｒｒｉｖｅ＿ｔｉｍｅと識別番号とを対応付けてメモリ２０６に記録する。
【００８７】
また、ＩＰ出力部２０４は、パケットＰＫＴのＤＬヘッダ３２に含まれる最大許容遅延部３２１から最大許容遅延（ＭＡＸ＿Ｄｅｌａｙ）を読み出し、ルーティングテーブル２１（＝ルーティングテーブル２１Ａ）からパケットＰＫＴの送信先に対応する残り予想遅延を読み出す。そして、ＩＰ出力部２０４は、その読み出した最大許容遅延（ＭＡＸ＿Ｄｅｌａｙ）、（更新前の）累積遅延（ｄｅｌａｙ）および残り予想遅延に基づいて、次式により各無線装置における許容遅延を演算する。
【００８８】
【数１】
2006287476.tif 000003
ＬＬＣモジュール１９は、ｎ個のパケットについて式（１）に従って許容遅延を演算し、その演算したｎ個の許容遅延に基づいて、ｎ個のパケットの送信順序を示す送信スケジュールを作成する。なお、式（１）に従って許容遅延を演算することは、送信元と送信先との間で最大許容遅延内に無線通信が行なわれるように各無線装置１〜６における許容遅延を演算することに相当する。
【００８９】
更に、ＭＡＣモジュール１７は、パケットＰＫＴを送信するときの時刻ｓｙｓｔｅｍ＿ｔｉｍｅをタイマー２０５を参照して検出するとともに、時刻ｓｙｓｔｅｍ＿ｔｉｍｅから時刻ａｒｒｉｖｅ＿ｔｉｍｅを減算して各無線装置１〜６における遅延（ｄｅｌａｙ＿ｕ＝ｓｙｓｔｅｍ＿ｔｉｍｅ−ａｒｒｉｖｅ＿ｔｉｍｅ）を演算する。そして、ＭＡＣモジュール１７は、パケットＰＫＴのＤＬヘッダ３２に含まれる累積遅延部３２２から累積遅延（ｄｅｌａｙ）を読み出し、その読み出した累積遅延（ｄｅｌａｙ）に演算した遅延（ｄｅｌａｙ＿ｕ）を加算して累積遅延（ｄｅｌａｙ）を更新するとともに、その累積遅延（ｄｅｌａｙ）が更新されたパケットを送信する。
【００９０】
ルーティングテーブル２１が図６の（ｂ）に示すルーティングテーブル２１Ｂからなるとき、ＩＰ出力部２０４は、ルーティングテーブル２１Ｂからホップ数を読み出し、その読み出したホップ数に定数を乗算して残り予想遅延を演算する。ホップ数をＴＴＬとした場合、ＩＰ出力部２０４は、ＴＴＬ×Ｃ（Ｃは定数）を演算し、その演算結果を残り予想遅延（＝ＴＴＬ×Ｃ）とする。そして、ＩＰ出力部２０４は、その演算した残り予想遅延（＝ＴＴＬ×Ｃ）を式（１）に代入して許容遅延を演算する。なお、定数Ｃは、例えば、１．０［ｍｓｅｃ］に設定される。従って、送信先までのホップ数が“３”である場合、残り予想遅延は、３×１．０＝３．０ｍｓｅｃと演算される。
【００９１】
このように、ルーティングテーブル２１がルーティングテーブル２１Ｂからなるとき、ＩＰ出力部２０４は、次式により許容遅延を演算する。
【００９２】
【数２】
2006287476.tif 000004
図８は、許容遅延と優先度との関係を示す図である。図８において、縦軸は、優先度を表し、横軸は、許容遅延を表す。優先度と許容遅延との関係は、直線ｋ１によって表される。即ち、優先度は、許容遅延が相対的に大きくなれば、相対的に低く設定され、許容遅延が相対的に小さくなれば、相対的に高く設定される。
【００９３】
従って、ＬＬＣモジュール１９は、ｎ個の許容遅延を小さい順に並べ、許容遅延の小さい順に送信順序を決定する。例えば、３個のパケットＰＫＴ１，ＰＫＴ２，ＰＫＴ３に対応する３個の許容遅延が、それぞれ、８（ｍｓｅｃ）、５（ｍｓｅｃ）、および１０（ｍｓｅｃ）である場合、ＩＰ出力部２０４は、パケットＰＫＴ２→パケットＰＫＴ１→パケットＰＫＴ３の順に送信するように送信スケジュールを決定する。
【００９４】
そして、ＬＬＣモジュール１９は、その決定した順序でｎ個のパケットをＭＡＣモジュール１７を介して送信する。
【００９５】
更に、ＩＰ出力部２０４は、各無線装置１〜６における遅延（ｄｅｌａｙ＿ｕ）を上述した方法によって順次演算し、その演算した遅延（ｄｅｌａｙ＿ｕ）をメモリ２０６に順次格納する。即ち、ＩＰ出力部２０４は、遅延（ｄｅｌａｙ＿ｕ）を示すデータｘ（ｉ）（ｉは、データｘの発生順序を表す正の整数）をメモリ２０６に順次記憶する。そして、ＩＰ出力部２０４は、新たにデータｘ（Ｎ）（＝新たに演算した各無線装置１〜６における遅延）を演算すると、既に演算してメモリ２０６に格納したＮ−１（Ｎは２以上の整数）個のデータｘ（１）〜ｘ（Ｎ−１）をメモリ２０６から読み出し、その読み出したＮ−１個のデータｘ（１）〜ｘ（Ｎ−１）と、新たに演算したｘ（Ｎ）とを次式に代入して各無線装置１〜６における平均遅延ｙ（ｊ）を演算する。
【００９６】
【数３】
2006287476.tif 000005
なお、Ｎは、サンプル数を表す。
【００９７】
ＩＰ出力部２０４は、ｎ個のパケットの各々について、平均遅延ｙ（ｊ）を演算する。
【００９８】
ＩＰ出力部２０４は、ｎ個のパケットについて平均遅延ｙ（ｊ）を演算すると、ｎ個のパケットの送信先に対応するｎ個の残り予想遅延に平均遅延ｙ（ｊ）を加算した遅延表をルーティングテーブル２１を参照して作成する。そして、ＩＰ出力部２０４は、その作成した遅延表をネットワークインターフェース（無線インターフェースモジュール１６）を介してブロードキャストする。
【００９９】
タイマー２０５は、時間の経過とともに時刻を自動更新し、ＩＰ出力部２０４からの要求に応じて、時刻ｓｙｓｔｅｍ＿ｔｉｍｅをＩＰ出力部２０４へ出力する。
【０１００】
図９は、時刻と識別番号との対応図である。識別番号は、時刻ｓｙｓｔｅｍ＿ｔｉｍｅに対応付けられている。時刻ｓｙｓｔｅｍ＿ｔｉｍｅは、ＹＹＹＹ／ＭＭ／ＨＨ／ＭＭ／ＳＳからなり、各時刻を表す。また、識別番号は、１６ビットの数値ＮＮＮ・・・Ｎからなり、各パケットＰＫＴを表す。メモリ２０６は、図９に示す対応表を格納する。
【０１０１】
図１０は、アプリケーションと、最大許容遅延との関係を示す図である。ＤＶ  Ａｕｄｉｏ／Ｖｉｄｅｏは、最大許容遅延が２００ｍｓｅｃであり、ＳＤＴＶ（Ｓａｔｅｌｌｉｔｅ  Ｄｉｇｉｔａｌ  ＴＶ）は、最大許容遅延が２００ｍｓｅｃであり、Ｖｉｄｅｏ  ｃｏｎｆｅｒｅｎｃｅは、最大許容遅延が１００ｍｓｅｃである。
【０１０２】
また、Ｉｎｔｅｒｎｅｔ  ｓｔｒｅａｍｉｎｇ  Ａｕｄｉｏ／Ｖｉｄｅｏは、最大許容遅延が２００ｍｓｅｃであり、ＭＰ３  Ａｕｄｉｏは、最大許容遅延が２００ｍｓｅｃであり、ＶｏＩＰは、最大許容遅延が１５０〜３００ｍｓｅｃの範囲であり、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇａｍｉｎｇは、最大許容遅延が１０ｍｓｅｃである。
【０１０３】
更に、Ｖｉｄｅｏ  ｐｈｏｎｅは、最大許容遅延が４００ｍｓｅｃであり、Ｒｅｍｏｔｅ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅは、最大許容遅延が１００ｍｓｅｃである。
【０１０４】
このように、最大許容遅延は、各アプリケーションに対応して設定される。
【０１０５】
図１１は、パケットの発生から送信順序のスケジューリングまでの動作を説明するためのフローチャートである。また、図１２は、図６の（ａ）に示すルーティングテーブル２１Ａの第１の例である。なお、無線装置１においてパケットが発生されるものとしてスケジューリングの動作を説明する。
【０１０６】
一連の動作が開始されると、ＩＰモジュール２０のＩＰ出力部２０４は、ＵＤＰモジュール２３からデータを受けると、その受けたデータをＩＰデータ部に格納し、ＩＰヘッダ３３を生成してＩＰパケットＰＫＴを作成する（ステップＳ１）。この場合、ＩＰ出力部２０４は、送信先をそれぞれ無線装置２〜６とする５個のＩＰパケットＰＫＴ１〜ＰＫＴ５を発生する。
【０１０７】
そして、ＩＰモジュール２０のＩＰ出力部２０４は、タイマー２０５を参照して、ＩＰパケットＰＫＴ１〜ＰＫＴ５をそれぞれ作成したときの時刻ｓｙｓｔｅｍ＿ｔｉｍｅ１〜ｓｙｓｔｅｍ＿ｔｉｍｅ５を発生時刻ａｒｒｉｖｅ＿ｔｉｍｅ１〜ａｒｒｉｖｅ＿ｔｉｍｅ５としてメモリ２０６に書き込む（ステップＳ２）。
【０１０８】
その後、ＩＰ出力部２０４は、ＩＰパケットＰＫＴ１〜ＰＫＴ５のＤＬヘッダ３２の累積遅延部３２２に格納される累積遅延（ｄｅｌａｙ）を初期化する（ステップＳ３）。より具体的には、ＩＰ出力部２０４は、“０”からなる累積遅延ｄｅｌａｙをＩＰパケットＰＫＴ１〜ＰＫＴ５の各々のＤＬヘッダ３２の累積遅延部３２２に書き込んで累積遅延ｄｅｌａｙを初期化する。
【０１０９】
引き続いて、ＩＰ出力部２０４は、最大許容遅延を初期化する（ステップＳ４）。より具体的には、ＩＰ出力部２０４は、ＩＰパケットＰＫＴ１〜ＰＫＴ５が音声データからなる場合、ＶｏＩＰに対応する１５０〜３００ｍｓｅｃの範囲から適当な数値を選択し、その選択した数値を最大許容遅延としてＤＬヘッダ３２の最大許容遅延部３２１に書き込んで最大許容遅延を初期化する。また、ＩＰ出力部２０４は、ＩＰパケットＰＫＴ１〜ＰＫＴ５が音声データ以外のデータからなるとき、図１０に示すアプリケーションと最大許容遅延との対応表に基づいて最大許容遅延を抽出し、その抽出した最大許容遅延をＤＬヘッダ３２の最大許容遅延部３２１に書き込んで最大許容遅延を初期化する。
【０１１０】
その後、ＩＰ出力部２０４は、ＩＰパケットＰＫＴ１〜ＰＫＴ５の送信先をそれぞれ設定し（ステップＳ５）、その設定した送信先に対応する残り予想遅延をルーティングテーブル２１１（ルーティングテーブル２１Ａの一種、図１２参照）を参照して抽出する（ステップＳ６）。この場合、送信先が無線装置２，４である場合、ＩＰ出力部２０４は、残り予想遅延として“０．０”ｍｓｅｃを抽出し、送信先が無線装置３である場合、ＩＰ出力部２０４は、残り予想遅延として“２．４”ｍｓｅｃを抽出し、送信先が無線装置５である場合、ＩＰ出力部２０４は、残り予想遅延として“３．２”ｍｓｅｃを抽出し、送信先が無線装置６である場合、ＩＰ出力部２０４は、残り予想遅延として“５．６”ｍｓｅｃを抽出する。
【０１１１】
そして、ＩＰ出力部２０４は、ステップＳ３において初期化した累積遅延（ｄｅｌａｙ＝０）と、ステップＳ４において初期化した最大許容遅延と、ステップＳ６において抽出した残り予想遅延とを式（１）に代入してパケットＰＫＴ１〜ＰＫＴ５ごとに許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１〜ｄｅｌａｙ＿ａｌｌｏｗ５を演算する。
【０１１２】
より具体的には、パケットＰＫＴ１〜ＰＫＴ５の最大許容遅延部３２１に同じ最大許容遅延（＝２００ｍｓ）が格納された場合、ＩＰ出力部２０４は、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１＝２００−０．０−０．０＝２００ｍｓｅｃを演算し、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ２＝２００−０．０−２．４＝１９７．６ｍｓｅｃを演算し、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ３＝２００−０．０−０．０＝２００ｍｓｅｃを演算し、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ４＝２００−０．０−３．２＝１９６．８ｍｓｅｃを演算し、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ５＝２００−０．０−５．６＝１９４．４ｍｓｅｃを演算する。
【０１１３】
また、パケットＰＫＴ１〜ＰＫＴ５の最大許容遅延部３２１にそれぞれ１００ｍｓｅｃ，２００ｍｓｅｃ，１５０ｍｓｅｃ，３００ｍｓｅｃ，４００ｍｓｅｃの最大許容遅延が格納された場合、ＩＰ出力部２０４は、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１＝１００−０．０−０．０＝１００ｍｓｅｃを演算し、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ２＝２００−０．０−２．４＝１９７．６ｍｓｅｃを演算し、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ３＝１５０−０．０−０．０＝１５０ｍｓｅｃを演算し、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ４＝３００−０．０−３．２＝２９６．８ｍｓｅｃを演算し、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ５＝４００−０．０−５．６＝３９４．４ｍｓｅｃを演算する。
【０１１４】
そして、ＩＰ出力部２０４は、パケットをＬＬＣモジュール１９へ送信する。
【０１１５】
引き続いて、ＬＬＣモジュール１９は、その演算した５個の許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１〜ｄｅｌａｙ＿ａｌｌｏｗ５に対応する優先度を直線ｋ１（図８参照）を参照して抽出し、優先度を決定する（ステップＳ７）。
【０１１６】
より具体的には、ＬＬＣモジュール１９は、相対的に大きい許容遅延を有するパケットに対して、優先度を相対的に低く設定し、相対的に小さい許容遅延を有するパケットに対して、優先度を相対的に高く設定して５個のパケットＰＫＴ１〜ＰＫＴ５の優先度を決定する。従って、ＬＬＣモジュール１９は、例えば、２００ｍｓの許容遅延を有するパケットＰＫＴ１，３の優先度を最も低く設定し、１９７．６ｍｓの許容遅延を有するパケットＰＫＴ２の優先度を次に低く設定し、１９６．８ｍｓの許容遅延を有するパケットＰＫＴ４の優先度を２番目に高く設定し、１９４．４ｍｓの許容遅延を有するパケットＰＫＴ５の優先度を最も高く設定して５個のパケットＰＫＴ１〜ＰＫＴ５の優先度を決定する。
【０１１７】
そして、ＬＬＣモジュール１９は、その決定した優先度に基づいて送信順序を決定し、その決定した送信順序を有し、かつ、パケットＰＫＴ１〜ＰＫＴ５をそれぞれ許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１〜ｄｅｌａｙ＿ａｌｌｏｗ５内に送信するための送信スケジュールを作成する（ステップＳ８）。より具体的には、ＬＬＣモジュール１９は、相対的に高い優先度を有するパケットの送信順序を相対的に早く設定し、相対的に低い優先度を有するパケットの送信順序を相対的に遅く設定し、パケットＰＫＴ１〜ＰＫＴ５をそれぞれ許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１〜ｄｅｌａｙ＿ａｌｌｏｗ５内に送信するように送信スケジュールを作成する。
【０１１８】
これにより、パケット発生時のスケジューリングの動作が終了する。
【０１１９】
図１３は、パケット受信時のスケジューリングの動作を説明するためのフローチャートである。また、図１４は、図６の（ａ）に示すルーティングテーブル２１Ａの第２の例である。
【０１２０】
一連の動作が開始されると、ＩＰモジュール２０のＩＰ出力部２０４は、他の無線装置から送信された５個のパケットＰＫＴ１〜ＰＫＴ５を宛先識別部２０３から受信する（ステップＳ１１）。そして、ＩＰモジュール２０のＩＰ出力部２０４は、パケットＰＫＴ１〜ＰＫＴ５をそれぞれ受信したときの時刻ｓｙｓｔｅｍ＿ｔｉｍｅ１〜ｓｙｓｔｅｍ＿ｔｉｍｅ５をそれぞれ到着時刻ａｒｒｉｖｅ＿ｔｉｍｅ１〜ａｒｒｉｖｅ＿ｔｉｍｅ５として抽出し、その抽出した到着時刻ａｒｒｉｖｅ＿ｔｉｍｅ１〜ａｒｒｉｖｅ＿ｔｉｍｅ５をメモリ２０６に書き込む（ステップＳ１２）。
【０１２１】
その後、ＩＰ出力部２０６は、パケットＰＫＴ１〜ＰＫＴ５の各々について、ＤＬヘッダ３２の累積遅延部３２２から累積遅延（ｄｅｌａｙ）を読み出すとともに（ステップＳ１３）、送信元のＩＰアドレスを読み出す（ステップＳ１４）。そして、ＩＰ出力部２０４は、その読み出した累積遅延（ｄｅｌａｙ）の平均を演算し、その演算した累積遅延（ｄｅｌａｙ）の平均値を、その読み出したＩＰアドレスによって示される送信元を送信先とする場合の残り予想遅延とする。
【０１２２】
引き続いて、ＩＰ出力部２０４は、パケットＰＫＴ１〜ＰＫＴ５の各々のＤＬヘッダ３２の最大許容遅延部３２１から最大許容遅延を読み出し（ステップＳ１５）、更に、パケットＰＫＴ１〜ＰＫＴ５の各々から送信先を読み出す（ステップＳ１６）。
【０１２３】
そうすると、ＩＰ出力部２０４は、その読み出した各送信先に対応する残り予想遅延をルーティングテーブル２１２（ルーティングテーブル２１Ａの一種、図１４参照）を参照して抽出する（ステップＳ１７）。この場合、ＩＰ出力部２０４は、送信先が無線装置２，４である場合、“０．０”ｍｓｅｃからなる残り予想遅延を抽出し、送信先が無線装置３，５である場合、“２．４”ｍｓｅｃからなる残り予想遅延を抽出し、送信先が無線装置６である場合、“５．６”ｍｓｅｃからなる残り予想遅延を抽出する。
【０１２４】
その後、ＩＰ出力部２０４は、ステップＳ１３において読み出した累積遅延（ｄｅｌａｙ）と、ステップＳ１５において読み出した最大許容遅延と、ステップＳ１７において抽出した残り予想遅延とを式（１）に代入してパケットＰＫＴ１〜ＰＫＴ５ごとに許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１〜ｄｅｌａｙ＿ａｌｌｏｗ５を演算する。
【０１２５】
そして、ＩＰ出力部２０４は、パケットをＬＬＣモジュール１９へ送信する。引き続いて、ＬＬＣモジュール１９は、その演算した５個の許容遅延に対応する優先度を直線ｋ１（図８参照）を参照して抽出し、優先度を決定する（ステップＳ１８）。
【０１２６】
より具体的には、相対的に大きい許容遅延を有するパケットは、優先度を相対的に低く設定し、相対的に小さい許容遅延を有するパケットは、優先度を相対的に高く設定して５個のパケットＰＫＴ１〜ＰＫＴ５の優先度を決定する。
【０１２７】
そして、ＬＬＣモジュール１９は、その決定した優先度に基づいて送信順序を決定し、その決定した送信順序を有し、かつ、パケットＰＫＴ１〜ＰＫＴ５をそれぞれ許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１〜ｄｅｌａｙ＿ａｌｌｏｗ５内に送信するための送信スケジュールを作成する（ステップＳ１９）。より具体的には、ＬＬＣモジュール１９は、相対的に高い優先度を有するパケットは、送信順序を相対的に早く設定し、相対的に低い優先度を有するパケットは、送信順序を相対的に遅く設定してパケットＰＫＴ１〜ＰＫＴ５の送信順序を決定し、その決定した送信順序を有し、かつ、演算した各許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１〜ｄｅｌａｙ＿ａｌｌｏｗ５内にパケットＰＫＴ１〜ＰＫＴ５を送信するための送信スケジュールを作成する。
【０１２８】
そして、ＬＬＣモジュール１９によって決定された送信スケジュール（図１１のステップＳ８または図１３のステップＳ１９参照）に従って、かつ、演算された各許容遅延内にパケットＰＫＴ１〜ＰＫＴ５がＭＡＣモジュール１７へ送信される。
【０１２９】
これにより、パケット受信時のスケジューリングの動作が終了する。
【０１３０】
図１５は、パケットの送信指示からパケット送信までの動作を説明するためのフローチャートである。また、図１６は、１個の無線装置における過去の遅延の記録フォーマットである。
【０１３１】
一連の動作が開始されると、パケットの送信が許可される（ステップＳ２１）。そして、ＭＡＣモジュール１７は、タイマー２０５を参照して、パケットの送信が許可されたときの時刻ｓｙｓｔｅｍ＿ｔｉｍｅを現在時刻として抽出する（ステップＳ２２）。
【０１３２】
その後、ＭＡＣモジュール１７は、送信対象であるパケットＰＫＴ１〜ＰＫＴ５の累積遅延部３２２からそれぞれ累積遅延ｄｅｌａｙ１〜ｄｅｌａｙ５を読み出すとともに（ステップＳ２３）、メモリ２０６に記憶した到着時刻ａｒｒｉｖｅ＿ｔｉｍｅ１〜ａｒｒｉｖｅ＿ｔｉｍｅ５（図１１のステップＳ２または図１３のステップＳ１２参照）を読み出す（ステップＳ２４）。
【０１３３】
そうすると、ＭＡＣモジュール１７は、５個の到着時刻ａｒｒｉｖｅ＿ｔｉｍｅ１〜ａｒｒｉｖｅ＿ｔｉｍｅ５について、現在時刻ｓｙｓｔｅｍ＿ｔｉｍｅからの到着時刻ａｒｒｉｖｅ＿ｔｉｍｅ（到着時刻ａｒｒｉｖｅ＿ｔｉｍｅ１〜ａｒｒｉｖｅ＿ｔｉｍｅ５のいずれか）の減算を実行して、５個のパケットＰＫＴ１〜ＰＫＴ５について各無線装置１〜６における遅延ｄｅｌａｙ＿ｕ１〜ｄｅｌａｙ＿ｕ５を演算する。
【０１３４】
そして、ＭＡＣモジュール１７は、その演算した遅延ｄｅｌａｙ＿ｕ１〜ｄｅｌａｙ＿ｕ５をそれぞれ累積遅延ｄｅｌａｙ１〜ｄｅｌａｙ５に加算して累積遅延ｄｅｌａｙ１〜ｄｅｌａｙ５を更新する（ステップＳ２５）。
【０１３５】
そして、ＭＡＣモジュール１７は、更新した累積遅延ｄｅｌａｙ１〜ｄｅｌａｙ５をそれぞれパケットＰＫＴ１〜ＰＫＴ５のＤＬヘッダ３２の累積遅延部３２２に書き込み（ステップＳ２６）、パケットＰＫＴ１〜ＰＫＴ５を送信する（ステップＳ２７）。
【０１３６】
システムのメモリ２０６は、パケットＰＫＴ１〜ＰＫＴ５の過去の送信時に演算した無線装置１における遅延ｘ（１）〜ｘ（Ｎ−１）を図１６に示すフォーマットで記憶する。即ち、メモリ２０６は、パケットＰＫＴ１の送信先である無線装置２に対応付けてＮ−１個の遅延ｘ２（１），ｘ２（２），・・・，ｘ２（Ｎ−１）を記憶し、パケットＰＫＴ２の送信先である無線装置３に対応付けてＮ−１個の遅延ｘ３（１），ｘ３（２），・・・，ｘ３（Ｎ−１）を記憶し、パケットＰＫＴ３の送信先である無線装置４に対応付けてＮ−１個の遅延ｘ４（１），ｘ４（２），・・・，ｘ４（Ｎ−１）を記憶し、パケットＰＫＴ４の送信先である無線装置５に対応付けてＮ−１個の遅延ｘ５（１），ｘ５（２），・・・，ｘ５（Ｎ−１）を記憶し、パケットＰＫＴ５の送信先である無線装置６に対応付けてＮ−１個の遅延ｘ６（１），ｘ６（２），・・・，ｘ６（Ｎ−１）を記憶する。
【０１３７】
従って、ステップＳ２７の後、ＩＰモジュール２０のＩＰ出力部２０４は、パケットＰＫＴ１〜ＰＫＴ５の過去の送信時に演算した無線装置１におけるＮ−１個の遅延ｘ２（１），ｘ２（２），・・・，ｘ２（Ｎ−１）；ｘ３（１），ｘ３（２），・・・，ｘ３（Ｎ−１）；ｘ４（１），ｘ４（２），・・・，ｘ４（Ｎ−１）；ｘ５（１），ｘ５（２），・・・，ｘ５（Ｎ−１）；ｘ６（１），ｘ６（２），・・・，ｘ６（Ｎ−１）をメモリ２０６から読み出す。
【０１３８】
そして、ＩＰ出力部２０４は、その読み出したと遅延ｘ２（１），ｘ２（２），・・・，ｘ２（Ｎ−１）と、ステップＳ２５において演算した遅延ｄｅｌａｙ＿ｕ１（＝ｘ２（Ｎ）とする）とを式（３）に代入して無線装置２を送信先とするパケットＰＫＴ１の無線装置１における平均遅延ｙ２（ｊ）を演算する。
【０１３９】
同様にして、ＩＰ出力部２０４は、無線装置３〜６を送信先とするパケットＰＫＴ２〜ＰＫＴ５の無線装置１における平均遅延ｙ３（ｊ），ｙ４（ｊ），ｙ５（ｊ），ｙ６（ｊ）を演算する（ステップＳ２８）。そして、ＩＰ出力部２０４は、演算した平均遅延ｙ２（ｊ）〜ｙ６（ｊ）を新たな平均遅延とし、平均遅延を更新する（ステップＳ２９）。
【０１４０】
これにより、一連の動作が終了する。
【０１４１】
このように、パケットＰＫＴ１〜ＰＫＴ５の送信時には、各パケットＰＫＴ１〜ＰＫＴ５の累積遅延部３２２が更新されて送信される（ステップＳ２５〜ステップＳ２７参照）。そして、パケットＰＫＴ１〜ＰＫＴ５の送信後、パケットＰＫＴ１〜ＰＫＴ５に対して、そのパケットＰＫＴ１〜ＰＫＴ５を送信した無線装置における平均遅延が演算され、平均遅延が更新される（ステップＳ２８，Ｓ２９参照）。
【０１４２】
図１７は、図２に示すＭＡＣモジュール１７の動作を説明するためのフローチャートである。一連の動作が開始されると、ＭＡＣモジュール１７は、上位層であるＬＬＣモジュール１９から送信すべきパケットを受信する（ステップＳ３１）。
【０１４３】
その後、ＭＡＣモジュール１７は、バックオフ処理を行ない（ステップＳ３２）、ＩＦＳ（Ｉｎｔｅｒｆｒａｍｅ  Ｓｐａｃｅ）時間の間、チャネル状態を確認する（ステップＳ３３）。そして、チャネルが“ｂｕｓｙ”であれば、一連の動作はステップＳ４０へ移行する。
【０１４４】
一方、チャネルが“ｉｄｌｅ”であれば、ＭＡＣモジュール１７は、累積遅延ｄｅｌａｙをパケットＰＫＴの累積遅延部３２２に書き込んで累積遅延でｄｅｌａｙを更新する（ステップＳ３４）。
【０１４５】
その後、ＭＡＣモジュール１７は、無線インターフェースモジュール１６およびアンテナ１１を介してパケットＰＫＴを送信し（ステップＳ３５）、パケットＰＫＴの送信が成功したか否かを判定する（ステップＳ３６）。
【０１４６】
ステップＳ３６において、パケットＰＫＴの送信が成功したと判定されたとき、上述したステップＳ３１〜Ｓ３６が繰り返し実行される。
【０１４７】
一方、ステップＳ３６において、パケットＰＫＴの送信が失敗したと判定されたとき、ＭＡＣモジュール１７は、パケットＰＫＴの再送制御を行ない（ステップＳ３７）、その後、再送回数ｒｅｔｒｙ＿ｌｉｍｉｔがオーバーしたか否かを判定する（ステップＳ３８）。
【０１４８】
そして、再送回数ｒｅｔｒｙ＿ｌｉｍｉｔがオーバーしていないとき、ＭＡＣモジュール１７は、ＣＷ（Ｃｏｎｔｅｎｔｉｏｎ  Ｗｉｎｄｏｗ）を指数関数的に増加させる（ステップＳ３９）。
【０１４９】
そうすると、ステップＳ３３において、チャネルが“ｂｕｓｙ”であるとき、またはステップＳ３９の後、ＭＡＣモジュール１７は、バックオフタイマーを０〜ＣＷの間に設定し（ステップＳ４０）、その設定したバックオフタイマーの間、待機する。
【０１５０】
この場合、ＭＡＣモジュール１７は、再送回数ｒｅｔｒｙ＿ｌｉｍｉｔをカウントしておき、そのカウントした再送回数ｒｅｔｒｙ＿ｌｉｍｉｔが増えるに従ってＣＷの値を指数関数的に増加させる指数バックオフを実行する（ステップＳ３９参照）。
【０１５１】
そして、ステップＳ４０の後、一連の動作は、ステップＳ３２へ移行し、ステップＳ３８において、再送回数ｒｅｔｒｙ＿ｌｉｍｉｔがオーバーしたと判定されるまで、上述したステップＳ３２〜ステップＳ４０が繰り返し実行される。
【０１５２】
ステップＳ３８において、再送回数ｒｅｔｒｙ＿ｌｉｍｉｔがオーバーしたと判定されると、ＭＡＣモジュール１７は、パケットＰＫＴを破棄する（ステップＳ４１）。これによって、パケットを送信するＭＡＣモジュール１７の動作が終了する。
【０１５３】
このように、ＭＡＣモジュール１７は、各パケットＰＫＴ１〜ＰＫＴ５のＤＬヘッダ３２に含まれる累積遅延部３２２を更新するとともに（ステップＳ３４参照）、累積遅延部３２２を更新したパケットＰＫＴ１〜ＰＫＴ５を送信する（ステップＳ３５）。
【０１５４】
従って、無線アドホックネットワークにおいて、送信元と送信先との間でパケットＰＫＴを中継する無線装置は、送信元側から受信したパケットＰＫＴの累積遅延部３２２を順次更新し、累積遅延部３２２が更新されたパケットＰＫＴを送信先側の次の無線装置へ送信する。
【０１５５】
その結果、送信元と送信先との間でパケットＰＫＴを中継する無線装置は、送信元側の無線装置から受信したパケットＰＫＴの累積遅延部３２２から累積遅延ｄｅｌａｙを読み出せば、その読み出された累積遅延ｄｅｌａｙは、送信元側に存在する少なくとも１つの中継器（少なくとも１つの無線装置）における遅延の総和であるので、式（１）によって、自己における許容遅延を正確に演算できる。
【０１５６】
各無線装置１〜６は、パケットＰＫＴを中継する時の自己における平均遅延を演算し、その演算した平均遅延によって過去の平均遅延を更新する（図１５のステップＳ２８，Ｓ２９参照）。従って、各無線装置１〜６は、パケットＰＫＴを中継するときの自己における最新の平均遅延を保持する。
【０１５７】
そこで、各無線装置１〜６は、更新した平均遅延によってルーティングテーブル２１の残り予想遅延を更新した遅延表を作成してブロードキャストする。
【０１５８】
図１８は、各無線装置における遅延表の作成および送信の動作を説明するためのフローチャートである。また、図１９は、ルーティングテーブル２１から遅延表を作成する概念を示す図である。なお、以下においては、無線装置２が遅延表を作成する場合を例にして説明する。また、無線装置２は、１つのパケットを中継するものとして説明する。更に、無線装置２における遅延は、“３．０”ｍｓｅｃであるとして説明する。
【０１５９】
一連の動作が開始されると、ルーティングパケットＰＫＴ＿ＲＴの生成が指示される（ステップＳ４１）。ここで、ルーティングパケットＰＫＴ＿ＲＴとは、遅延表をデータ部に含むことのできるパケットを言う。ステップＳ４１の後、ＩＰモジュール２０のＩＰ出力部２０４は、平均遅延情報を送信するか否かを判定する（ステップＳ４２）。
【０１６０】
そして、ステップＳ４２において、平均遅延情報を送信しないと判定されたとき、遅延表を含まないルーティングパケットが生成され、一連の動作はステップＳ４５へ移行する。
【０１６１】
一方、ステップＳ４２において、平均遅延情報を送信すると判定されたとき、ルーティングデーモン２５は、無線装置２の平均遅延をルーティングテーブル２１の残り予想遅延に加算する（ステップＳ４３）。
【０１６２】
この場合、無線装置２は、図１９に示すルーティングテーブル２１３（ルーティングテーブル２１Ａの一種）を保持している。無線装置２は、無線装置１，３，４に隣接しているため、ルーティングテーブル２１３においては、送信先である無線装置１，３，４に対応する残り予想遅延は、“０．０”ｍｓｅｃである。また、無線装置２は、無線装置４を介して無線装置５へパケットを送信し、無線装置３を介して無線装置６へパケットを送信するため、送信先である無線装置５，６に対応する残り予想遅延は、例えば、それぞれ、“２．４”ｍｓｅｃおよび“２．５”ｍｓｅｃに設定されている。
【０１６３】
そして、ルーティングデーモン２５は、送信先である無線装置１，３，４，５，６に対応する遅延“０．０”ｍｓｅｃ，“０．０” ｍｓｅｃ，“０．０” ｍｓｅｃ，“２．４” ｍｓｅｃ，“２．５” ｍｓｅｃに無線装置２における “３．０” ｍｓｅｃの遅延を加算して図１９に示す遅延表２３０を作成する。
【０１６４】
遅延表２３０は、無線装置２からブロードキャストされ、無線装置２から１ホップ内の無線装置へ送信されるので、遅延表２３０においては、無線装置１，３，４，５，６を送信先とする経路の“次の無線装置”は、全て“無線装置２”になる。また、遅延表２３０を受信した無線装置が無線装置２へ送信する場合も想定されるので、遅延表２３０は、無線装置２を送信先とする経路も含み、送信先である無線装置２に対応する残り予想遅延は、“０．０” ｍｓｅｃである。更に、遅延表２３０は、無線装置２を経由する経路からなるので、無線装置１，３，４，５，６を送信先とする経路の“ホップ数”は、ルーティングテーブル２１３における“ホップ数”よりも“１”だけ多くなっている。
【０１６５】
ルーティングデーモン２５は、上述した方法によって、遅延表２３０を作成すると、その作成した遅延表２３０をデータ部に書き込んでルーティングパケットＰＫＴ＿ＲＴを作成する（ステップＳ４４）。
【０１６６】
そして、ステップＳ４２において“ＮＯ”と判定された後またはステップＳ４４の後、パケット送信処理が継続される（ステップＳ４５）。より具体的には、ステップＳ４５がステップＳ４４の後に実行されるとき、遅延表を含むルーティングパケットＰＫＴ＿ＲＴが送信され、ステップＳ４５がステップＳ４２において“ＮＯ”と判定された後に実行されるとき、遅延表を含まないルーティングパケットＰＫＴ＿ＲＴが送信される。
【０１６７】
その後、一連の動作は終了する。
【０１６８】
図２０は、遅延表２３０に基づいてルーティングテーブル２１を更新する動作を説明するためのフローチャートである。また、図２１は、ルーティングテーブル２１の更新の概念を説明するための図である。なお、以下においては、無線装置１が無線装置２からルーティングパケットＰＫＴ＿ＲＴを受信した場合について説明する。
【０１６９】
一連の動作が開始されると、無線装置１は、無線装置２からのルーティングパケットＰＫＴ＿ＲＴを受信する（ステップＳ５１）。そして、無線装置１のルーティングデーモン２５は、ＵＤＰモジュール２３を介してルーティングパケットＰＫＴ＿ＲＴを受信し、その受信したルーティングパケットＰＫＴ＿ＲＴが遅延表を含むか否かを判定する（ステップＳ５２）。ルーティングパケットＰＫＴ＿ＲＴが遅延表を含まないと判定されたとき、一連の動作は終了する。
【０１７０】
一方、ステップＳ５２において、ルーティングパケットＰＫＴ＿ＲＴが遅延表を含むと判定されたとき、無線装置１のルーティングデーモン２５は、その受信したルーティングパケットＰＫＴ＿ＲＴから遅延表２３０を読み出す（ステップＳ５３）。
【０１７１】
その後、無線装置１のルーティングデーモン２５は、無線装置１の予想遅延情報付経路表、即ち、図２１に示すルーティングテーブル２１４（ルーティングテーブル２１Ａの一種）を読み出す（ステップＳ５４）。
【０１７２】
引き続いて、無線装置１のルーティングデーモン２５は、遅延表２３０を参照してルーティングテーブル２１４を更新してルーティングテーブル２１５（図２１参照）を作成する（ステップＳ５５）。
【０１７３】
より具体的には、無線装置１のルーティングデーモン２５は、ルーティングテーブル２１４の各経路のホップ数Ｈｏｐ１と、遅延表２３０の各経路のホップ数Ｈｏｐ２とを比較し、ホップ数Ｈｏｐ１がホップ数Ｈｏｐ２と同じであるか否かを判定するとともに、ルーティングテーブル２１４の各経路の次の無線装置Ｎｅｘｔ１が遅延表２３０の各経路の次の無線装置Ｎｅｘｔ２と同じであるか否かを判定する。
【０１７４】
そして、次の無線装置Ｎｅｘｔ１が次の無線装置Ｎｅｘｔ２と同じであり、かつ、ホップ数Ｈｏｐ１がホップ数Ｈｏｐ２と同じであるとき、無線装置１のルーティングデーモン２５は、ルーティングテーブル２１４および遅延表２３０における残り予想遅延を比較して各経路を更新するか否かを決定する。
【０１７５】
図２１に示す場合、ルーティングテーブル２１４の無線装置２を送信先とする経路のホップ数Ｈｏｐ１（＝“１”）が遅延表２３０の無線装置２を送信先とする経路のホップ数Ｈｏｐ２（＝“１”）と同じであり、ルーティングテーブル２１４および遅延表２３０において、送信先である無線装置２に対応する残り予想遅延は、共に“０．０” ｍｓｅｃであるので、無線装置１のルーティングデーモン２５は、無線装置２を送信先とする経路を更新しない。
【０１７６】
また、ルーティングテーブル２１４の無線装置３を送信先とする経路のホップ数Ｈｏｐ１（＝“２”）が遅延表２３０の無線装置３を送信先とする経路のホップ数Ｈｏｐ２（＝“２”）と同じであるので、無線装置１のルーティングデーモン２５は、ルーティングテーブル２１４において無線装置３に対応する残り予想遅延（＝“２．４” ｍｓｅｃ）を遅延表２３０において無線装置３に対応する残り予想遅延（＝“３．０” ｍｓｅｃ）に書換えて無線装置３を送信先とする経路を更新する。
【０１７７】
ルーティングテーブル２１４において無線装置３に対応する残り予想遅延（＝“２．４” ｍｓｅｃ）は、遅延表２３０において無線装置３に対応する残り予想遅延（＝“３．０” ｍｓｅｃ）よりも小さいにも拘わらず、“２．４” ｍｓｅｃの残り予想遅延が“３．０” ｍｓｅｃの残り予想遅延に書き換えられるのは、最新の遅延を反映したルーティングテーブル２１５を作成するためである。
【０１７８】
更に、ルーティングテーブル２１４の無線装置４を送信先とする経路のホップ数Ｈｏｐ１（＝“１”）が遅延表２３０の無線装置４を送信先とする経路のホップ数Ｈｏｐ２（＝“２”）よりも小さいので、無線装置１のルーティングデーモン２５は、無線装置４を送信先とする経路を更新しない。無線装置５を送信先とする経路についても同様である。
【０１７９】
更に、ルーティングテーブル２１４の無線装置６を送信先とする経路のホップ数Ｈｏｐ１（＝“３”）が遅延表２３０の無線装置６を送信先とする経路のホップ数Ｈｏｐ２（＝“３”）と同じであるが、ルーティングテーブル２１４における次の無線装置Ｎｅｘｔ１（＝無線装置４）が遅延表２３０における次の無線装置Ｎｅｘｔ２（＝無線装置２）と異なるので、無線装置１のルーティングデーモン２５は、無線装置６を送信先とする経路を更新しない。
【０１８０】
無線装置１のルーティングデーモン２５は、上述した方法によって、遅延表２３０を参照してルーティングテーブル２１４を更新し、ルーティングテーブル２１５を作成する。
【０１８１】
そして、ステップＳ５２の“ＮＯ”またはステップＳ５５の後、一連の動作は、終了する。
【０１８２】
図２２は、ルーティングテーブル２１の更新の概念を説明するための他の図である。無線装置１のルーティングデーモン２５は、図２０に示すフローチャートに従って、遅延表２３０に基づいてルーティングテーブル２１４を更新し、ルーティングテーブル２１６を作成してもよい。
【０１８３】
この場合、無線装置１のルーティングデーモン２５は、ルーティングテーブル２１４のホップ数Ｈｏｐ１が遅延表２３０のホップ数Ｈｏｐ２と同じであるときに、ルーティングテーブル２１４および遅延表２３０における残り予想遅延を比較して各経路を更新するか否かを決定する。
【０１８４】
無線装置２，３，４，５を送信先とする経路の更新については、図２１に示す場合と同じである。
【０１８５】
ルーティングテーブル２１４の無線装置６を送信先とする経路のホップ数Ｈｏｐ１（＝“３”）が遅延表２３０の無線装置６を送信先とする経路のホップ数Ｈｏｐ２（＝“３”）と同じであるので、無線装置１のルーティングデーモン２５は、ルーティングテーブル２１４の無線装置６に対応する残り予想遅延（＝“５．６” ｍｓｅｃ）を遅延表２３０の無線装置６に対応する残り予想遅延（＝“５．５” ｍｓｅｃ）と比較する。
【０１８６】
そして、無線装置１のルーティングデーモン２５は、“５．５” ｍｓｅｃの残り予想遅延が“５．６” ｍｓｅｃの残り予想遅延よりも小さいので、遅延表２３０の無線装置６を送信先とする経路の “次の無線装置２”と“５．５ｍｓｅｃの残り予想遅延”とをルーティングテーブル２１４の無線装置６を送信先とする経路の “次の無線装置”および“残り予想遅延”に格納してルーティングテーブル２１４を更新し、ルーティングテーブル２１６を作成する。
【０１８７】
このように、ルーティングテーブル２１４のホップ数が遅延表２３０のホップ数と同じである場合に、より小さい残り予想遅延を有する経路を用いてルーティングテーブル２１４を更新することにより、送信先までの残り予想遅延を短くでき、パケットＰＫＴを送信先まで余裕をもって送信できる。
【０１８８】
なお、図１８および図１９においては、１つのパケットＰＫＴを中継する無線装置２における遅延表２３０の作成について説明した。そして、１つのパケットＰＫＴを中継する無線装置２においては、その１つのパケットＰＫＴを順次中継する場合に無線装置２において計測された無線装置２のＮ個の遅延ｘ（１），ｘ（２），・・・，ｘ（Ｎ）を平均して１個の平均遅延を演算し、その演算した１個の平均遅延をルーティングテーブル２１３（図１９参照）の全ての送信先に対応する残り予想遅延に加算して遅延表２３０を作成する。
【０１８９】
即ち、１つのパケットＰＫＴを中継する無線装置２においては、その１つのパケットＰＫＴを送信する経路の残り予想遅延だけでなく、その１つのパケットＰＫＴの送信先以外の送信先に対応する残り予想遅延にも平均遅延を加算して遅延表２３０を作成する。
【０１９０】
この発明においては、ｎ個のパケットＰＫＴ１〜ＰＫＴｎを中継する場合、各パケットの送信先ごとに平均遅延を演算し、その演算したｎ個の平均遅延をｎ個の送信先に対応するｎ個の残り予想遅延に加算して遅延表を作成する。
【０１９１】
図２３は、ルーティングテーブル２１から遅延表を作成する概念を示す他の図である。無線装置２は、５個のパケットＰＫＴ１〜ＰＫＴ５をそれぞれ無線装置１，３，４，５，６を送信先として中継する。この場合、無線装置２は、送信先である無線装置１に対して“５．０” ｍｓｅｃの平均遅延を有し、送信先である無線装置３に対して“６．０” ｍｓｅｃの平均遅延を有し、送信先である無線装置４に対して“４．０” ｍｓｅｃの平均遅延を有し、送信先である無線装置５に対して“２．０” ｍｓｅｃの平均遅延を有し、送信先である無線装置６に対して“１．０” ｍｓｅｃの平均遅延を有する。
【０１９２】
そうすると、無線装置２は、ルーティングテーブル２１３の無線装置１に対応する残り予想遅延“０．０” ｍｓｅｃに“５．０” ｍｓｅｃの平均遅延を加算し、ルーティングテーブル２１３の無線装置３に対応する残り予想遅延“０．０” ｍｓｅｃに“６．０” ｍｓｅｃの平均遅延を加算し、ルーティングテーブル２１３の無線装置４に対応する残り予想遅延“０．０” ｍｓｅｃに“４．０” ｍｓｅｃの平均遅延を加算し、ルーティングテーブル２１３の無線装置５に対応する残り予想遅延“２．４” ｍｓｅｃに“２．０” ｍｓｅｃの平均遅延を加算し、ルーティングテーブル２１３の無線装置６に対応する残り予想遅延“２．５” ｍｓｅｃに“１．０” ｍｓｅｃの平均遅延を加算して遅延表２３０Ａを作成する。
【０１９３】
このように、この発明においては、各無線装置１〜６が複数のパケットを送信または中継する場合、各パケットの送信先ごとに演算した平均遅延を各送信先に対応する残り予想遅延に加算して遅延表を作成する。
【０１９４】
なお、この発明においては、各パケットの送信先ごとに演算した複数の平均遅延を更に平均して１個の平均遅延を求め、その求めた１個の平均遅延を用いて図１８および図１９において説明した方法によって遅延表２３０を作成してもよい。
【０１９５】
各無線装置１〜６は、送信元である場合、図１１に示すフローチャートに従ってｎ個のパケットを発生し、その発生したｎ個のパケットの送信スケジュールを決定するとともに、図１５に示すフローチャートに従ってｎ個のパケットを送信スケジュールによって決められた順序で送信する。
【０１９６】
また、各無線装置１〜６は、送信元と送信先との間でパケットを中継する中継器である場合、図１３に示すフローチャートに従ってｎ個のパケットを受信し、その受信したｎ個のパケットの送信スケジュールを決定するとともに、図１５に示すフローチャートに従ってｎ個のパケットを送信スケジュールによって決められた順序で送信する。
【０１９７】
その結果、各無線装置１〜６は、許容遅延が相対的に大きいパケットを相対的に遅くし、許容遅延が相対的に小さいパケットを相対的に早くして各パケットを対応する許容遅延内に送信する。
【０１９８】
従って、要求されたＱｏＳを安定して満たすことができる。
【０１９９】
［変形例］
（１）スケジューリング
ルーティングテーブル２１がルーティングテーブル２１Ａからなる場合（図６の（ａ）参照）、許容遅延は、ルーティングテーブル２１Ａに含まれる残り予想遅延を用いて式（１）によって演算される。
【０２００】
この発明においては、ルーティングテーブル２１がルーティングテーブル２１Ｂからなる場合（図６の（ｂ）参照）、ルーティングテーブル２１Ｂからホップ数を読出し、その読出したホップ数に定数Ｃを乗算して残り予想遅延を演算し、その演算した残り予想遅延を用いて許容遅延を演算してもよい。
【０２０１】
即ち、この発明においては、式（２）によって許容遅延を演算してもよい。
【０２０２】
図２４は、パケットの発生から送信順序のスケジューリングまでの動作を説明するための他のフローチャートである。また、図２５は、図６の（ｂ）に示すルーティングテーブル２１Ｂの第１の例である。
【０２０３】
図２４に示すフローチャートは、図１１に示すフローチャートのステップＳ６をステップＳ６Ａに代えたものであり、その他は、図１１に示すフローチャートと同じである。
【０２０４】
ステップＳ５の後、ＩＰモジュール２０のＩＰ出力部２０４は、ステップＳ５において設定された送信先に対応するホップ数をルーティングテーブル２２１（図２５参照）を参照して検出し、その検出したホップ数に定数Ｃを乗算して残り予想遅延を演算する。
【０２０５】
そして、ＩＰ出力部２０４は、ステップＳ３において初期化された累積遅延ｄｅｌａｙ、ステップＳ４において初期化された最大許容遅延、および演算した残り予想遅延を式（２）に代入して許容遅延を演算する（ステップＳ６Ａ）。
【０２０６】
その後、上述したステップＳ８，Ｓ９が実行される。
【０２０７】
図２６は、パケット受信時のスケジューリングの動作を説明するための他のフローチャートである。また、図２７は、図６の（ｂ）に示すルーティングテーブル２１Ｂの第２の例である。
【０２０８】
図２６に示すフローチャートは、図１３に示すフローチャートのステップＳ１７をステップＳ１７Ａに代えたものであり、その他は、図１３に示すフローチャートと同じである。
【０２０９】
ステップＳ１６の後、ＩＰモジュール２０のＩＰ出力部２０４は、ステップＳ１６において読み出された送信先に対応するホップ数をルーティングテーブル２２２（図２７参照）を参照して検出し、その検出したホップ数に定数Ｃを乗算して残り予想遅延を演算する。
【０２１０】
そして、ＩＰ出力部２０４は、ステップＳ１３において読み出された累積遅延ｄｅｌａｙ、ステップＳ１５において読み出された最大許容遅延、および演算した残り予想遅延を式（２）に代入して許容遅延を演算する（ステップＳ１７Ａ）。
【０２１１】
その後、上述したステップＳ１８，Ｓ１９が実行される。
【０２１２】
このように、この発明においては、送信先までのホップ数を用いて残り予想遅延を演算し、その演算した残り予想遅延を用いて各無線装置における許容遅延を演算してもよい。即ち、この発明においては、送信先までのホップ数を用いて各無線装置における許容遅延を演算してもよい。
【０２１３】
ホップ数を用いて各無線装置における許容遅延を演算する方法は、各無線装置における平均遅延を周囲へブロードキャストする必要がないので、平均遅延を演算しなくてもよく、各無線装置の負担を軽減できる。また、従来のルーティングテーブルを用いて各無線装置における許容遅延を演算できる。
【０２１４】
（２）平均遅延
上記においては、式（３）によって、各無線装置１〜６における平均遅延を演算すると説明したが、この発明においては、これに限らず、次式によって平均遅延を演算してもよい。
【０２１５】
【数４】
2006287476.tif 000006
なお、ｗｉは、データｘ（ｉ）の重みである。
【０２１６】
即ち、この発明においては、重み付け平均によって平均遅延を演算してもよい。
【０２１７】
また、この発明においては、次式によって平均遅延を演算してもよい。
【０２１８】
【数５】
2006287476.tif 000007
式（５）において、ｙ（ｊ−１）は、平均遅延を表す。従って、式（５）は、既に演算された平均遅延ｙ（ｊ−１）と、新たに演算された遅延ｘ（ｊ）との平均を演算して平均遅延ｙ（ｊ）を求める方法である。
【０２１９】
式（５）に従って平均遅延を演算する場合、既に演算した平均遅延ｙ（ｊ−１）だけを保持しておけばよいので、式（３）に従って平均遅延を演算する場合よりも簡易に平均遅延を演算できる。
【０２２０】
更に、この発明においては、次式によって平均遅延を演算してもよい。
【０２２１】
【数６】
2006287476.tif 000008
なお、ｗｍｉｄは、重みの中間値である。
【０２２２】
式（６）において、ｚ（ｊ−１）は、重み付け平均によって演算された平均遅延を表す。従って、式（６）は、重み付け平均によって既に演算された平均遅延ｚ（ｊ−１）と、新たに演算された遅延ｘ（ｊ）との重み付け平均により平均を演算して平均遅延ｚ（ｊ）を求める方法である。
【０２２３】
式（６）に従って平均遅延を演算する場合、既に演算した平均遅延ｚ（ｊ−１）および重みの中間値ｗｍｉｄだけを保持しておけばよいので、式（４）に従って平均遅延を演算する場合よりも簡易に平均遅延を演算できる。
【０２２４】
更に、この発明においては、次式によって平均遅延を演算してもよい。
【０２２５】
【数７】
2006287476.tif 000009
なお、αは、ゲインであり、固定値からなる。そして、αは、０＜α＜１の範囲に設定される。
【０２２６】
式（７）において、ｙ（ｊ−１）は、指数移動平均によって演算された平均遅延を表す。そして、新たな演算された遅延ｘ（ｊ）の重みである（１−α）とｊとの間に指数関数が成立する。このように、指数移動平均は、新たな演算された遅延ｘ（ｊ）の重みである（１−α）と、遅延ｘ（ｊ）の演算回数ｊとの間に指数関係が成立する平均演算方法である。
【０２２７】
従って、式（７）は、指数移動平均によって既に演算された平均遅延ｙ（ｊ−１）と、新たに演算された遅延ｘ（ｊ）との指数移動平均によって平均を演算して平均遅延ｙ（ｊ）を求める方法である。
【０２２８】
式（７）に従って平均遅延を演算する場合、平均遅延ｙ（ｊ）は、αが“１”に近い程、既に演算した指数移動平均ｙ（ｊ−１）に大きく影響され、αが“０”に近づく程、新たに演算された遅延ｘ（ｉ）に大きく影響される。
【０２２９】
上述したように、この発明においては、式（３）〜式（７）のいずれの式に従って平均遅延を演算してもよい。
【０２３０】
なお、上記においては、優先度と許容遅延との間には、図８に示すように直線関係（直線ｋ１）が成立すると説明したが、この発明においては、これに限らず、優先度と許容遅延との間には、反比例の関係が成立してもよい。
【０２３１】
この発明においては、式（１）または式（２）に従って許容遅延を演算するＩＰモジュール２０（ＩＰ出力部２０４）は、「許容遅延演算手段」を構成する。
【０２３２】
また、許容遅延ｄｅｌａｙ＿ａｌｌｏｗ１〜ｄｅｌａｙ＿ａｌｌｏｗ５に基づいてパケットＰＫＴ１〜ＰＫＴ５の送信スケジュールを決定するＬＬＣモジュール１９は、「スケジューリング手段」を構成する。
【０２３３】
更に、決定されたスケジューリングに従ってパケットＰＫＴ１〜ＰＫＴ５を送信するＬＬＣモジュール１９、ＭＡＣモジュール１７および無線インターフェース１６は、「送信手段」を構成する。
【０２３４】
更に、インターネット層にルーティングテーブル２１を保持する通信制御部１５は、「テーブル保持手段」を構成する。
【０２３５】
更に、現在時刻ｓｙｓｔｅｍ＿ｔｉｍｅから到着時刻ａｒｒｉｖｅ＿ｔｉｍｅを減算して遅延ｄｅｌａｙ＿ｕを演算するＩＰモジュール２０（ＩＰ出力部２０４）は、「遅延演算手段」を構成する。
【０２３６】
更に、累積遅延ｄｅｌａｙに遅延ｄｅｌａｙ＿ｕを加算するＩＰモジュール２０（ＩＰ出力部２０４）、およびＩＰモジュール２０（ＩＰ出力部２０４）による加算結果を累積遅延部３２２に書き込むＭＡＣモジュール１７は、「更新手段」を構成する。
【０２３７】
更に、図１６に示すｘ２（１），ｘ２（２），・・・，ｘ２（Ｎ−１）等を記憶するメモリ２０６は、「記憶手段」を構成する。
【０２３８】
更に、平均遅延を演算するＩＰモジュール２０（ＩＰ出力部２０４）は、「平均遅延演算手段」を構成する。
【０２３９】
更に、遅延表２３０，２３０Ａを作成するルーティングデーモン２５は、「遅延表作成手段」を構成する。
【０２４０】
更に、遅延表２３０，２３０Ａに基づいて、ルーティングテーブル２１Ａを更新するルーティングデーモン２５は、「テーブル更新手段」を構成する。
【０２４１】
この発明の実施の形態によれば、無線ネットワークシステム１０を構成する各無線装置１〜６は、送信元と送信先との間で最大許容遅延内に無線通信が行なわれるようにｎ個のパケットの各無線装置１〜６におけるｎ個の許容遅延を演算し、その演算したｎ個の許容遅延に基づいてｎ個のパケットが各対応する許容遅延内に送信されるようにｎ個のパケットの送信スケジュールを決定し、その決定した送信スケジュールに従ってｎ個のパケットを送信する。
【０２４２】
従って、この発明によれば、要求されるＱｏＳを安定して満たすことができる。
【０２４３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０２４４】
この発明は、要求されるＱｏＳを安定して満たすことが可能な無線装置に適用される。
【図面の簡単な説明】
【０２４５】
【図１】この発明の実施の形態による無線装置を用いた無線ネットワークシステムの概略図である。
【図２】図１に示す無線装置の構成を示す概略ブロック図である。
【図３】パケットの構成図である。
【図４】ＩＰヘッダの構成図である。
【図５】ＴＣＰヘッダおよびＵＤＰヘッダの構成図である。
【図６】図２に示すルーティングテーブルの構成図である。
【図７】図２に示すＩＰモジュールの機能ブロック図である。
【図８】許容遅延と優先度との関係を示す図である。
【図９】時刻と識別番号との対応図である。
【図１０】アプリケーションと、最大許容遅延との関係を示す図である。
【図１１】パケットの発生から送信順序のスケジューリングまでの動作を説明するためのフローチャートである。
【図１２】図６の（ａ）に示すルーティングテーブルの第１の例である。
【図１３】パケット受信時のスケジューリングの動作を説明するためのフローチャートである。
【図１４】図６の（ａ）に示すルーティングテーブルの第２の例である。
【図１５】パケットの送信指示からパケット送信までの動作を説明するためのフローチャートである。
【図１６】１個の無線装置における過去の遅延の記録フォーマットである。
【図１７】図２に示すＭＡＣモジュールの動作を説明するためのフローチャートである。
【図１８】各無線装置における遅延表の作成および送信の動作を説明するためのフローチャートである。
【図１９】ルーティングテーブルから遅延表を作成する概念を示す図である。
【図２０】遅延表に基づいてルーティングテーブルを更新する動作を説明するためのフローチャートである。
【図２１】ルーティングテーブルの更新の概念を説明するための図である。
【図２２】ルーティングテーブルの更新の概念を説明するための他の図である。
【図２３】ルーティングテーブルから遅延表を作成する概念を示す他の図である。
【図２４】パケットの発生から送信順序のスケジューリングまでの動作を説明するための他のフローチャートである。
【図２５】図６の（ｂ）に示すルーティングテーブルの第１の例である。
【図２６】パケット受信時のスケジューリングの動作を説明するための他のフローチャートである。
【図２７】図６の（ｂ）に示すルーティングテーブルの第２の例である。
【符号の説明】
【０２４６】
１〜６  無線装置、１０  無線ネットワークシステム、１１  アンテナ、１２  入力部、１３  出力部、１４  ユーザアプリケーション、１５  通信制御部、１６  無線インターフェースモジュール、１７  ＭＡＣモジュール、１８  バッファ、１９  ＬＬＣモジュール、２０  ＩＰモジュール、２１，２１Ａ，２１Ｂ，２１１〜２１６，２２１，２２２  ルーティングテーブル、２２  ＴＣＰモジュール、２３  ＵＤＰモジュール、２４  ＳＭＴＰモジュール、２５  ルーティングデーモン、３１  ＭＡＣヘッダ、３２  ＤＬヘッダ、３３  ＩＰヘッダ、３４  ＴＣＰヘッダ、３５  データ、３６  ＦＣＳ、３７  ＵＤＰヘッダ、２０１  ＩＰ入力キュー、２０２  ＩＰオプション処理部、２０３  宛先識別部、２０４  ＩＰ出力部、２０５  タイマー、２０６  メモリ、２３０，２３０Ａ  遅延表、３２１  最大許容遅延部、３２２  累積遅延部。
【図１】
2006287476.tif 000010
【図２】
2006287476.tif 000011
【図３】
2006287476.tif 000012
【図４】
2006287476.tif 000013
【図５】
2006287476.tif 000014
【図６】
2006287476.tif 000015
【図７】
2006287476.tif 000016
【図８】
2006287476.tif 000017
【図９】
2006287476.tif 000018
【図１０】
2006287476.tif 000019
【図１１】
2006287476.tif 000020
【図１２】
2006287476.tif 000021
【図１３】
2006287476.tif 000022
【図１４】
2006287476.tif 000023
【図１５】
2006287476.tif 000024
【図１６】
2006287476.tif 000025
【図１７】
2006287476.tif 000026
【図１８】
2006287476.tif 000027
【図１９】
2006287476.tif 000028
【図２０】
2006287476.tif 000029
【図２１】
2006287476.tif 000030
【図２２】
2006287476.tif 000031
【図２３】
2006287476.tif 000032
【図２４】
2006287476.tif 000033
【図２５】
2006287476.tif 000034
【図２６】
2006287476.tif 000035
【図２７】
2006287476.tif 000036