(57)【特許請求の範囲】
【請求項１】
情報を処理する処理装置と、
情報を記憶する記憶装置と、
複数の無線通信チャネルを使用して他の端末装置と通信する無線通信装置と、
上記記憶装置を用いて、上記他の端末装置に対して情報を送信することを要求する要求元を識別する要求元識別情報と、上記要求元の重要度を示す重要度情報との対応関係を、要求元重要度として記憶する重要度記憶部と、
要求元が他の端末装置に対して情報を送信することを要求する送信要求を入力する送信要求入力部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記送信要求入力部が入力した送信要求により要求された情報の送信をするために確保すべき無線通信チャネルのチャネル数を算出し、必要チャネル数とする必要チャネル数算出部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、使用されていない無線通信チャネルを、空きチャネルとして判別する空きチャネル判別部と、
上記空きチャネル判別部が判別した空きチャネルのうち、上記必要チャネル数算出部が算出した必要チャネル数の無線通信チャネルを確保する空きチャネル確保部と、
上記必要チャネル数算出部が算出した必要チャネル数の無線通信チャネルを上記空きチャネル確保部が確保できなかった場合に、上記処理装置を用いて、他の要求元のために無線通信チャネルを確保しているか否かを判断し、他の要求元のために無線通信チャネルを確保していると判断した場合に、上記重要度記憶部が記憶した要求元重要度に基づいて、上記要求元の重要度および上記他の要求元の重要度を判別し、判別した他の要求元の重要度が、判別した要求元の重要度よりも低い場合に、上記他の要求元が確保した無線通信チャネルを解放するチャネル解放部と、
上記送信要求入力部が入力した送信要求に基づいて、上記無線通信装置を用いて、上記空きチャネル確保部が確保した無線通信チャネルを使用して、情報を送信する情報送信部と、
上記送信要求入力部が、上記無線通信装置を用いて直接通信できない別の端末装置を送信先として情報を送信することを要求する送信要求を入力した場合に、上記処理装置を用いて、上記無線通信装置を用いて直接通信できる端末装置間で情報を転送することにより、上記別の端末装置に情報を到達させる経路を算出し、通信路とする通信路算出部と、
上記無線通信装置を用いて、上記通信路算出部が算出した通信路のうち直接通信できる他の端末装置に対して、上記別の端末装置を送信先として情報を送信することを要求する送信要求を送信する送信要求送信部とを有し、
上記必要チャネル数算出部は、上記通信路算出部が算出した通信路において情報を転送する端末装置の数に基づいて、上記必要チャネル数を算出し、上記通信路算出部が算出した通信路において情報を転送する端末装置の数と、上記必要チャネル数算出部が算出する必要チャネル数との間には、単調増加の関係があることを特徴とする端末装置。
【請求項２】
上記端末装置は、更に、
上記処理装置を用いて、上記他の端末装置との通信を行うアプリケーションプログラムを実行するアプリケーション実行部を有し、
上記重要度記憶部は、上記要求元識別情報として、
上記アプリケーション実行部が実行するアプリケーションプログラムおよび上記他の端末装置が実行するアプリケーションプログラムを識別するアプリケーション識別情報を記憶し、
上記送信要求入力部は、
上記アプリケーションプログラムを実行しているアプリケーション実行部およびアプリケーションプログラムを実行している他の端末装置から、上記送信要求を入力することを特徴とする請求項１に記載の端末装置。
【請求項３】
情報を処理する処理装置と、
情報を記憶する記憶装置と、
複数の無線通信チャネルを使用して他の端末装置と通信する無線通信装置と、
上記記憶装置を用いて、上記他の端末装置に対して情報を送信することを要求する要求元を識別する要求元識別情報と、上記要求元の重要度を示す重要度情報との対応関係を、要求元重要度として記憶する重要度記憶部と、
要求元が他の端末装置に対して情報を送信することを要求する送信要求を入力する送信要求入力部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記送信要求入力部が入力した送信要求により要求された情報の送信をするために確保すべき無線通信チャネルのチャネル数を算出し、必要チャネル数とする必要チャネル数算出部と、
上記無線通信装置を用いて、他の端末装置が入力した送信要求を、他端末送信要求として受信する他端末送信要求受信部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記他端末送信要求受信部が受信した他端末送信要求により要求された情報の送信をするために上記他の端末装置が確保すべき無線通信チャネルのチャネル数を算出し、他端末必要チャネル数とする他端末必要チャネル数算出部と、
上記処理装置を用いて、上記重要度記憶部が記憶した要求元重要度に基づいて、上記送信要求入力部が入力した送信要求および上記他端末送信要求受信部が受信した他端末送信要求について、上記送信要求および他端末送信要求の要求元の重要度を判別する送信要求重要度判別部と、
上記処理装置を用いて、上記送信要求重要度判別部が判別した要求元の重要度が高い順に、上記無線通信装置が使用する複数の無線通信チャネルのうちから、上記必要チャネル数算出部および他端末必要チャネル数算出部が算出した必要チャネル数および他端末必要チャネル数の無線通信チャネルを割り当てるチャネル割当部と、
上記送信要求入力部が入力した送信要求に対して、上記チャネル割当部が割り当てた無線通信チャネルを、上記送信要求のために確保する割当チャネル確保部と、
上記送信要求入力部が入力した送信要求に基づいて、上記無線通信装置を用いて、上記割当チャネル確保部が確保した無線通信チャネルを使用して、情報を送信する情報送信部とを有することを特徴とする端末装置。
【請求項４】
上記端末装置は、更に、
上記無線通信装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、ある無線通信チャネルを他の端末装置が同時に送信すると送信が衝突するか否かを判別するための情報を受信する衝突判別情報受信部と、
上記処理装置を用いて、上記衝突判別情報受信部が受信した情報に基づいて、上記無線通信装置が使用する複数の無線通信チャネルのうち、ある無線通信チャネルを他の端末装置が同時に送信すると送信が衝突するか否かを判別する衝突チャネル判別部とを有し、
上記チャネル割当部は、上記衝突チャネル判別部が判別した情報に基づいて、送信が衝突しないように、無線通信チャネルを割り当てることを特徴とする請求項３に記載の端末装置。
【請求項５】
情報を処理する処理装置と、情報を記憶する記憶装置と、複数の無線通信チャネルを使用して他の端末装置と通信する無線通信装置と、上記記憶装置を用いて上記他の端末装置に対して情報を送信することを要求する要求元を識別する要求元識別情報と上記要求元の重要度を示す重要度情報との対応関係を要求元重要度として記憶する重要度記憶部とを有する端末装置を用いて、無線通信を行う無線通信方法において、
送信要求入力部が、要求元が他の端末装置に対して情報を送信することを要求する送信要求を入力する送信要求入力工程を有し、
上記送信要求入力部が、上記無線通信装置を用いて直接通信できない別の端末装置を送信先として情報を送信することを要求する送信要求を入力した場合、更に、
通信路算出部が、上記処理装置を用いて、上記無線通信装置を用いて直接通信できる端末装置間で情報を転送することにより、上記別の端末装置に情報を到達させる経路を算出し、通信路とする通信路算出工程と、
必要チャネル数算出部が、上記処理装置を用いて、上記通信路算出部が算出した通信路において情報を転送する端末装置の数に基づいて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記送信要求入力部が入力した送信要求により要求された情報の送信をするために確保すべき無線通信チャネルのチャネル数を算出し、必要チャネル数とし、上記通信路算出部が算出した通信路において情報を転送する端末装置の数と算出する必要チャネル数との間には、単調増加の関係がある必要チャネル数算出工程と、
空きチャネル判別部が、上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、使用されていない無線通信チャネルを、空きチャネルとして判別する空きチャネル判別工程と、
空きチャネル確保部が、上記空きチャネル判別部が判別した空きチャネルのうち、上記必要チャネル数算出部が算出した必要チャネル数の無線通信チャネルを確保する空きチャネル確保工程と、
上記必要チャネル数算出部が算出した必要チャネル数の無線通信チャネルを上記空きチャネル確保部が確保できなかった場合に、チャネル解放部が、上記処理装置を用いて、他の要求元のために無線通信チャネルを確保しているか否かを判断し、他の要求元のために無線通信チャネルを確保していると判断した場合に、上記重要度記憶部が記憶した要求元重要度に基づいて、上記要求元の重要度および上記他の要求元の重要度を判別し、判別した他の要求元の重要度が、判別した要求元の重要度よりも低い場合に、上記他の要求元が確保した無線通信チャネルを解放するチャネル解放工程と、
情報送信部が、上記無線通信装置を用いて、上記送信要求入力部が入力した送信要求に基づいて、上記空きチャネル確保部が確保した無線通信チャネルを使用して、情報を送信する情報送信工程と、
送信要求送信部が、上記無線通信装置を用いて、上記通信路算出部が算出した通信路のうち直接通信できる他の端末装置に対して、上記別の端末装置を送信先として情報を送信することを要求する送信要求を送信する送信要求送信工程とを有することを特徴とする無線通信方法。
【請求項６】
情報を処理する処理装置と、情報を記憶する記憶装置と、複数の無線通信チャネルを使用して他の端末装置と通信する無線通信装置と、上記記憶装置を用いて上記他の端末装置に対して情報を送信することを要求する要求元を識別する要求元識別情報と上記要求元の重要度を示す重要度情報との対応関係を要求元重要度として記憶する重要度記憶部とを有する端末装置を用いて、無線通信を行う無線通信方法において、
送信要求入力部が、要求元が他の端末装置に対して情報を送信することを要求する送信要求を入力する送信要求入力工程と、
必要チャネル数算出部が、上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記送信要求入力部が入力した送信要求により要求された情報の送信をするために確保すべき無線通信チャネルのチャネル数を算出し、必要チャネル数とする必要チャネル数算出工程と、
他端末送信要求受信部が、上記無線通信装置を用いて、他の端末装置が入力した送信要求を、他端末送信要求として受信する他端末送信要求受信工程と、
他端末必要チャネル数算出部が、上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記要求情報受信部が受信した他端末送信要求により要求された情報の送信をするために上記他の端末装置が確保すべき無線通信チャネルのチャネル数を算出し、他端末必要チャネル数とする他端末必要チャネル数算出工程と、
送信要求重要度判別部が、上記処理装置を用いて、上記重要度記憶部が記憶した要求元重要度に基づいて、上記送信要求入力部が入力した送信要求および上記他端末送信要求受信部が受信した他端末送信要求について、上記送信要求および他端末送信要求の要求元の重要度を判別する送信要求重要度判別工程と、
チャネル割当部が、上記処理装置を用いて、上記送信要求重要度判別部が判別した要求元の重要度が高い順に、上記無線通信装置が使用する複数の無線通信チャネルのうちから、上記必要チャネル数算出部および他端末必要チャネル数算出部が算出した必要チャネル数および他端末必要チャネル数の無線通信チャネルを割り当てるチャネル割当工程と、
割当チャネル確保部が、上記送信要求入力部が入力した送信要求に対して、上記チャネル割当部が割り当てた無線通信チャネルを、上記送信要求のために確保する割当チャネル確保工程と、
情報送信部が、上記無線通信装置を用いて、上記送信要求入力部が入力した送信要求に基づいて、上記割当チャネル確保部が確保した無線通信チャネルを使用して、情報を送信する情報送信工程とを有することを特徴とする無線通信方法。
【請求項７】
情報を処理する処理装置と、情報を記憶する記憶装置と、複数の無線通信チャネルを使用して他の端末装置と通信する無線通信装置とを有するコンピュータを、
上記記憶装置を用いて、上記他の端末装置に対して情報を送信することを要求する要求元を識別する要求元識別情報と、上記要求元の重要度を示す重要度情報との対応関係を、要求元重要度として記憶する重要度記憶部と、
要求元が他の端末装置に対して情報を送信することを要求する送信要求を入力する送信要求入力部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記送信要求入力部が入力した送信要求により要求された情報の送信をするために確保すべき無線通信チャネルのチャネル数を算出し、必要チャネル数とする必要チャネル数算出部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、使用されていない無線通信チャネルを、空きチャネルとして判別する空きチャネル判別部と、
上記空きチャネル判別部が判別した空きチャネルのうち、上記必要チャネル数算出部が算出した必要チャネル数の無線通信チャネルを確保する空きチャネル確保部と、
上記必要チャネル数算出部が算出した必要チャネル数の無線通信チャネルを上記空きチャネル確保部が確保できなかった場合に、上記処理装置を用いて、他の要求元のために無線通信チャネルを確保しているか否かを判断し、他の要求元のために無線通信チャネルを確保していると判断した場合に、上記重要度記憶部が記憶した要求元重要度に基づいて、上記要求元の重要度および上記他の要求元の重要度を判別し、判別した他の要求元の重要度が、判別した要求元の重要度よりも低い場合に、上記他の要求元が確保した無線通信チャネルを解放するチャネル解放部と、
上記送信要求入力部が入力した送信要求に基づいて、上記無線通信装置を用いて、上記空きチャネル確保部が確保した無線通信チャネルを使用して、情報を送信する情報送信部と、
上記送信要求入力部が、上記無線通信装置を用いて直接通信できない別の端末装置を送信先として情報を送信することを要求する送信要求を入力した場合に、上記処理装置を用いて、上記無線通信装置を用いて直接通信できる端末装置間で情報を転送することにより、上記別の端末装置に情報を到達させる経路を算出し、通信路とする通信路算出部と、
上記無線通信装置を用いて、上記通信路算出部が算出した通信路のうち直接通信できる他の端末装置に対して、上記別の端末装置を送信先として情報を送信することを要求する送信要求を送信する送信要求送信部とを有し、
上記必要チャネル数算出部は、上記通信路算出部が算出した通信路において情報を転送する端末装置の数に基づいて、上記必要チャネル数を算出し、上記通信路算出部が算出した通信路において情報を転送する端末装置の数と、上記必要チャネル数算出部が算出する必要チャネル数との間には、単調増加の関係がある端末装置として機能させることを特徴とする無線通信プログラム。
【請求項８】
情報を処理する処理装置と、情報を記憶する記憶装置と、複数の無線通信チャネルを使用して他の端末装置と通信する無線通信装置とを有するコンピュータを、
上記記憶装置を用いて、上記他の端末装置に対して情報を送信することを要求する要求元を識別する要求元識別情報と、上記要求元の重要度を示す重要度情報との対応関係を、要求元重要度として記憶する重要度記憶部と、
要求元が他の端末装置に対して情報を送信することを要求する送信要求を入力する送信要求入力部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記送信要求入力部が入力した送信要求により要求された情報の送信をするために確保すべき無線通信チャネルのチャネル数を算出し、必要チャネル数とする必要チャネル数算出部と、
上記無線通信装置を用いて、他の端末装置が入力した送信要求を、他端末送信要求として受信する他端末送信要求受信部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記他端末送信要求受信部が受信した他端末送信要求により要求された情報の送信をするために上記他の端末装置が確保すべき無線通信チャネルのチャネル数を算出し、他端末必要チャネル数とする他端末必要チャネル数算出部と、
上記処理装置を用いて、上記重要度記憶部が記憶した要求元重要度に基づいて、上記送信要求入力部が入力した送信要求および上記他端末送信要求受信部が受信した他端末送信要求について、上記送信要求および他端末送信要求の要求元の重要度を判別する送信要求重要度判別部と、
上記処理装置を用いて、上記送信要求重要度判別部が判別した要求元の重要度が高い順に、上記無線通信装置が使用する複数の無線通信チャネルのうちから、上記必要チャネル数算出部および他端末必要チャネル数算出部が算出した必要チャネル数および他端末必要チャネル数の無線通信チャネルを割り当てるチャネル割当部と、
上記送信要求入力部が入力した送信要求に対して、上記チャネル割当部が割り当てた無線通信チャネルを、上記送信要求のために確保する割当チャネル確保部と、
上記送信要求入力部が入力した送信要求に基づいて、上記無線通信装置を用いて、上記割当チャネル確保部が確保した無線通信チャネルを使用して、情報を送信する情報送信部とを有する端末装置として機能させることを特徴とする無線通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の無線通信チャネルのなかから使用可能な無線通信チャネルを確保して送信を行う端末装置に関する。特に、重要度の高い通信のために、必要な無線通信チャネルを確保する端末装置に関する。
【背景技術】
【０００２】
単一の通信エリア内（以下、「通信コミュニティ」という）に存在する複数の端末装置による送信の衝突を回避するため、複数の無線通信チャネル（例えば、ＴＤＭＡ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式により分割された複数のスロット）を使用し、各端末装置が使用する無線通信チャネルを割り当てることが行われる。。
アドホック通信ネットワークにおいては、ネットワーク全体を管理する装置がないので、各端末装置が互いに交渉を行い、自律的に無線通信チャネルの割り当てを決定する。
無線通信チャネル割り当てを決定するための交渉に用いられるプロトコルには、例えば、ＵＳＡＰ（Ｕｎｉｆｙｉｎｇ  Ｓｌｏｔ  Ａｓｓｉｇｎｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）（非特許文献１）、ＵＳＡＰ−ＭＡ（ＵＳＡＰ−Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）（非特許文献２）ＡＳＡＰ／ＬＤ（Ａｄａｐｔｉｖｅ  Ｓｌｏｔ  Ａｓｓｉｇｎｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  ｗｉｔｈ  Ｌｉｎｋ  Ｄｅｔｅｃｔｉｏｎ）（非特許文献３）などがある。
【非特許文献１】Ｃ．Ｄ．Ｙｏｕｎｇ，”ＵＳＡＰ：  ａ  ｕｎｉｆｙｉｎｇ  ｄｙｎａｍｉｃ  ｄｉｓｔｒｉｂｕｔｅｄ  ｍｕｌｔｉｃｈａｎｎｅｌ  ＴＤＭＡ  ｓｌｏｔ  ａｓｓｉｇｎｍｅｎｔ  ｐｒｏｔｏｃｏｌ”，Ｐｒｏｃ．ＩＥＥＥ  ＭＩＬＣＯＭ  ’９６，ｖｏｌ．１，ｐｐ．２３５−２３９，Ｏｃｔ．１９９６
【非特許文献２】Ｃ．Ｄ．Ｙｏｕｎｇ，”ＵＳＡＰ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ：  ｄｙｎａｍｉｃ  ｒｅｓｏｕｒｃｅ  ａｌｌｏｃａｔｉｏｎ  ｆｏｒ  ｍｏｂｉｌｅ  ｍｕｌｔｉｈｏｐ  ｍｕｌｔｉｃｈａｎｎｅｌ  ｗｉｒｅｌｅｓｓ  ｎｅｔｗｏｒｋｉｎｇ”，Ｐｒｏｃ．ＩＥＥＥ  ＭＩＬＣＯＭ  ’９９，ｖｏｌ．  １，ｐｐ．２７１−２７５，Ｎｏｖ．  １９９９
【非特許文献３】神崎映光、原隆浩、西尾章治郎，「アドホックネットワークにおけるトポロジーの変化を考慮したＴＤＭＡスロット割当手法」，電子情報通信学会論文誌  Ｂ，  Ｖｏｌ．Ｊ８８−Ｂ  Ｎｏ．５  ｐｐ．９３３−９４７
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のプロトコルを用いる端末装置は、ルートの確立時に無線通信チャネル（例えばＴＤＭＡスロット）の割当を行うため、一度確立したルートが変更になりルートコストが増加すると通信の品質が劣化するという課題がある。
また、従来の端末装置は、無線通信チャネル割当てのため、端末装置間で交渉するので、そのための通信が発生し、実際に送信したい情報の送信に使用できる帯域が狭くなるという課題がある。
この発明は、例えば、上記のような課題を解決するためになされたものであり、通信の品質を確保する必要がある重要度の高い通信のために、必要とされる数の無線通信チャネルを確保し、通信の品質（ＱｏＳ：Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）を保証することを目的とする。
【課題を解決するための手段】
【０００４】
この発明にかかる端末装置は、
情報を処理する処理装置と、
情報を記憶する記憶装置と、
複数の無線通信チャネルを使用して他の端末装置と通信する無線通信装置と、
上記記憶装置を用いて、上記他の端末装置に対して情報を送信することを要求する要求元を識別する要求元識別情報と、上記要求元の重要度を示す重要度情報との対応関係を、要求元重要度として記憶する重要度記憶部と、
要求元が他の端末装置に対して情報を送信することを要求する送信要求を入力する送信要求入力部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、上記送信要求入力部が入力した送信要求により要求された情報の送信をするために確保すべき無線通信チャネルのチャネル数を算出し、必要チャネル数とする必要チャネル数算出部と、
上記処理装置を用いて、上記無線通信装置が使用する複数の無線通信チャネルのうち、使用されていない無線通信チャネルを、空きチャネルとして判別する空きチャネル判別部と、
上記空きチャネル判別部が判別した空きチャネルのうち、上記必要チャネル数算出部が算出した必要チャネル数の無線通信チャネルを確保する空きチャネル確保部と、
上記必要チャネル数算出部が算出した必要チャネル数の無線通信チャネルを上記空きチャネル確保部が確保できなかった場合に、上記処理装置を用いて、他の要求元のために無線通信チャネルを確保しているか否かを判断し、
他の要求元のために無線通信チャネルを確保していると判断した場合に、上記重要度記憶部が記憶した要求元重要度に基づいて、上記要求元の重要度および上記他の要求元の重要度を判別し、判別した他の要求元の重要度が、判別した要求元の重要度よりも低い場合に、上記他の要求元が確保した無線通信チャネルを解放するチャネル解放部と、
上記送信要求入力部が入力した送信要求に基づいて、上記無線通信装置を用いて、上記空きチャネル確保部が確保した無線通信チャネルを使用して、情報を送信する情報送信部と、
を有することを特徴とする。
【発明の効果】
【０００５】
この発明によれば、例えば、空きチャネルが不足していて、通信に要求される数のチャネルが確保できない場合に、要求元よりも重要度の低い要求元が確保しているチャネルを解放させることにより、通信に要求される数のチャネルを確保し、確保したチャネルを使用して通信を行うので、重要度の高い通信に要求される通信の品質を確保できるという効果を奏する。
【発明を実施するための最良の形態】
【０００６】
実施の形態１．
実施の形態１を、図１〜図２２を用いて説明する。
図１は、この実施の形態における通信コミュニティ８００の全体構成の一例を示す全体構成図である。
通信コミュニティ８００は、アドホック通信ネットワークの一例である。
通信コミュニティ８００は、複数の端末装置１００を有する。
【０００７】
端末装置１００は、他の端末装置１００との間で、無線通信（アドホック通信）をする。無線通信に使用する通信チャネルは、ＴＤＭＡ方式により、複数のＴＤＭＡスロット（無線通信チャネルの一例）に分割されている。
端末装置１００は、他の端末装置１００と送信が衝突しないよう、空いているＴＤＭＡスロットを使用して、送信をする。
【０００８】
各端末装置１００が直接通信できる範囲は、通信コミュニティ８００よりも狭く、近接する端末装置１００との間では直接通信できるが、離れた端末装置との間では無線信号が届かず、直接通信できない。
端末装置１００が直接通信できない端末装置１００との間で通信を行う場合には、直接通信できる端末装置１００に対して送信を行い、中継してもらう。
通信を中継する端末装置１００は、１つに限らず、複数の端末装置１００が中継する場合もある。
このように、端末装置１００間で通信を行う場合に、その通信を中継する経路を「ルート」といい、通信のためにルートを求めることを「ルーティング」という。
また、ルートにおいて、通信を中継する端末装置の数を、「ホップ数」あるいは「ルートコスト」という。
【０００９】
通信コミュニティ８００は、このような通信の中継により、端末装置１００間の通信が可能な範囲である。
【００１０】
図２は、この実施の形態における端末装置１００のハードウェア構成の一例を示すハードウェア構成図である。
端末装置１００は、処理装置９０１、記憶装置９０２、入力装置９０３、出力装置９０４、無線通信装置９０５を有する。
【００１１】
処理装置９０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などである。
処理装置９０１は、記憶装置９０２が記憶したプログラムなどを実行し、以下に説明する各機能ブロックを実現する。
なお、以下に説明する各機能ブロックは、ハードウェアやファームウェアによって実現してもよい。
【００１２】
記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの内部記憶装置、ハードディスク装置やＳＤ（Ｓｅｑｕｒｅｄ  Ｄｅｇｉｔａｌ）メモリなどの外部記憶装置などである。
記憶装置９０２は、処理装置９０１が実行するプログラムのほか、入力装置９０３から入力した情報、処理装置９０１が処理した情報、出力装置９０４が出力する情報などを記憶する。
【００１３】
入力装置９０３は、例えば、キーボードやマウスなどの操作入力装置、マイクなどの音声入力装置、スキャナやカメラなどの画像入力装置などである。
入力装置９０３は、各種情報を入力する。
また、入力装置９０３は、例えば、他の装置と接続するインターフェース装置であって、他の装置からの情報を入力する装置であってもよい。
【００１４】
出力装置９０４は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）装置などの画像表示装置、スピーカなどの音声出力装置、プリンタなどの画像印刷装置などである。
出力装置９０４は、各種情報を出力する。
また、出力装置９０４は、例えば、他の装置と接続するインターフェース装置であって、他の装置に対して情報を出力する装置であってもよい。
【００１５】
無線通信装置９０５は、アンテナなどを用いて、無線信号を送信・受信する装置である。
無線通信装置９０５は、処理装置９０１などから入力した情報を、高周波無線信号に変換し、アンテナなどを用いて、他の端末装置などに対して送信する。
無線通信装置９０５は、また、アンテナなどを用いて、他の端末装置などから受信した高周波無線信号を、もとの情報に変換して、処理装置９０１などに対して出力する。
【００１６】
図３は、この実施の形態における端末装置１００の機能ブロックの構成の一例を示すブロック構成図である。
端末装置１００は、アプリケーション実行部１１０、アドホックネットワークＴＤＭＡ制御部１２０を有する。
【００１７】
アプリケーション実行部１１０は、処理装置９０１を用いて、記憶装置９０２が記憶したアプリケーションプログラムを実行する。
アプリケーション実行部１１０が実行するアプリケーションプログラムには、通信コミュニティにより、他の端末装置１００と通信する処理が含まれる。
アプリケーション実行部１１０は、アプリケーションプログラムにより、他の端末装置１００に対して情報を送信する場合、アドホックネットワークＴＤＭＡ制御部１２０に対して、情報の送信を要求する。
【００１８】
アドホックネットワークＴＤＭＡ制御部１２０は、無線通信装置９０５を用いて、他の端末装置１００と通信する。
アドホックネットワークＴＤＭＡ制御部１２０は、アプリケーション実行部１１０から情報の送信を要求された場合に、要求された情報を、他の端末装置１００に対して送信する。
送信先の端末装置１００と直接通信できない場合には、ルーティングを行い、通信を中継してくれる端末装置１００に対して、情報を送信する。
【００１９】
アドホックネットワークＴＤＭＡ制御部１２０は、他の端末装置１００から、自分宛の情報を受信した場合には、割り込みを発生させるなどして、受信した情報を、アプリケーション実行部１１０に通知する。
アドホックネットワークＴＤＭＡ制御部１２０は、また、他の端末装置１００から、通信の中継を要求された場合には、要求された情報を受信し、転送先の端末装置に対して送信する。
【００２０】
アドホックネットワークＴＤＭＡ制御部１２０は、送信に際して、他の端末装置と送信が衝突しないよう、他の端末装置が使用していないＴＤＭＡスロット（空きチャネルの一例）を使用する。
アドホックネットワークＴＤＭＡ制御部１２０は、ルーティングや空きスロットの判別のために必要な情報を、他の端末装置１００から受信し、また、他の端末装置１００のために送信する。
【００２１】
アドホックネットワークＴＤＭＡ制御部１２０は、アプリケーション制御部１３０、アドホックネットワーク制御部１４０、ＱｏＳ調整部１５０、ＴＤＭＡ制御部１６０、ＱｏＳ割当ポリシィ記憶部１７０を有する。
【００２２】
アプリケーション制御部１３０は、アプリケーション実行部１１０とメッセージをやり取りすることにより、アプリケーション実行部１１０が実行しているアプリケーションプログラムからの送信要求を受け付け、また、受信した情報をアプリケーションプログラムに通知する。
アプリケーション制御部１３０がアプリケーション実行部１１０とやり取りするメッセージは、後述する「アドホック通信プロトコル」（トランスポート層のプロトコル）にしたがう。
これにより、アプリケーション実行部１１０が実行するアプリケーションプログラムから見ると、アドホック通信プロトコルにより、他の端末装置１００のアプリケーション実行部１１０が実行するアプリケーションプログラムと、直接通信しているように見えるので、アプリケーションプログラムの作成にあたり、アドホック通信の詳細を意識する必要はない。
【００２３】
アプリケーション制御部１３０は、アプリケーション実行部１１０から、アドホック通信プロトコルにしたがって、情報を送信するための通信路の確保を要求された場合、あるいは、逆に、すでに確保した通信路の解放を要求された場合、アドホックネットワーク制御部１４０に対して、その要求を伝える。
アプリケーション制御部１３０は、アドホックネットワーク制御部１４０から、通信路確保要求や通信路解放要求に対する処理結果や、すでに確保した通信路がなんらかの要因で切断した場合の切断通知などを受け取り、アドホック通信プロトコルにしたがって、アプリケーション実行部１１０に通知する。
【００２４】
アドホックネットワーク制御部１４０は、アプリケーション制御部１３０からの要求にしたがい、通信路の確保、解放を行う。また、その処理結果や、確保した通信路の切断を、アプリケーション制御部１３０に通知する。
【００２５】
アドホックネットワーク制御部１４０は、通信路確保の要求を受けると、その宛先となる端末装置１００までのルーティングを行う。
ルーティングには、通信コミュニティ８００内で、直接通信できる端末装置１００のペアについての情報（ネットワークトポロジー）が必要なので、アドホックネットワーク制御部１４０は、あらかじめあるいは必要に応じて、他の端末装置１００と通信して、必要な情報を収集する。
【００２６】
アドホックネットワーク制御部１４０は、更に、確保した通信路（ルート）で送信をするために必要なＴＤＭＡスロットの確保を、ＱｏＳ調整部１５０に対して要求する。
アドホックネットワーク制御部１４０は、また、確保した通信路における次の端末装置（すなわち、端末装置１００が情報を直接送信する端末装置であり、通信を中継して、その情報を更に先へ転送する端末装置。以下「下流端末装置」という）に対して、通信路の確保を要求するメッセージを送信する。
【００２７】
アドホックネットワーク制御部１４０は、ＱｏＳ調整部１５０からスロット確保に成功した旨の通知を受け、更に、下流端末装置から通信路確保に成功した旨のメッセージを受信すると、アプリケーション制御部１３０に対して、通信路確保に成功した旨を通知する。
スロット確保に失敗した場合には、アプリケーション制御部１３０に対して、通信路確保に失敗した旨を通知するとともに、下流端末装置に対して、通信路解放を要求する。
逆に、下流端末装置が通信路確保に失敗した場合には、別ルートからの通信路確保を試みる。それも失敗した場合は、アプリケーション制御部１３０に対して、通信路確保失敗を通知するとともに、ＱｏＳ調整部１５０に対して、スロット解放を要求する。
【００２８】
アドホックネットワーク制御部１４０は、他の端末装置から、通信路の確保を要求するメッセージを受信する。
ここで、通信路の確保を要求するメッセージを送信してきた送信元の端末装置のことを、以下「上流端末装置」という。
この場合、アドホックネットワーク制御部１４０は、アプリケーション制御部１３０から要求を受けた場合と同様の処理をする。
ただし、処理結果をアプリケーション制御部１３０に通知するのではなく、上流端末装置に対して送信する。
【００２９】
アドホックネットワーク制御部１４０は、アプリケーション制御部１３０または上流端末装置から、通信路解放の要求を受けると、ＱｏＳ調整部１５０に対して、その通信路のために確保したスロットの解放を要求する。また、下流端末装置に対しても、通信路の解放を要求するメッセージを送信する。
【００３０】
アドホックネットワーク制御部１４０は、ＱｏＳ調整部１５０から、確保したスロットの解放を通知されることがある。この場合、下流端末装置に対して、通信路解放を要求するとともに、アプリケーション制御部１３０または上流端末装置に対して、通信路の切断を通知する。
【００３１】
アドホックネットワーク制御部１４０は、下流端末装置から、確保した通信路の切断を通知されることがある。この場合、別ルートからの通信路確保を試みる。
別ルートからの通信路確保に成功した場合には、上流端末装置に対して、ルート変更を通知する。
別ルートからの通信路確保が失敗した場合には、ＱｏＳ調整部１５０に対して、スロット解放を要求するとともに、アプリケーション制御部１３０または上流端末装置に対して、通信路の切断を通知する。
【００３２】
なお、アドホックネットワーク制御部１４０間の通信は、後述する「ＱｏＳアドホックネットワークプロトコル」（トランスポート層のプロトコル）にしたがう。
【００３３】
ＱｏＳ調整部１５０は、通信路を確保するために必要なＴＤＭＡスロットを確保し、また、解放する処理を行う。
ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０からの要求を受けて、ＴＤＭＡスロットの確保、解放をし、その結果をアドホックネットワーク制御部１４０に通知する。
【００３４】
ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０から、ＴＤＭＡスロット確保の要求を受けると、確保すべきＴＤＭＡスロットの数を算出する。
ＱｏＳ調整部１５０は、ＴＤＭＡ制御部１６０に対して、算出した数のＴＤＭＡスロットの確保を要求する。
【００３５】
ＱｏＳ調整部１５０は、ＴＤＭＡ制御部１６０が確保すべき数のＴＤＭＡスロットを確保できた場合には、アドホックネットワーク制御部１４０に対して、スロット確保成功を通知する。
【００３６】
ＴＤＭＡ制御部１６０が確保すべき数のＴＤＭＡスロットを確保できなかった場合には、ＱｏＳ調整部１５０は、ＱｏＳ割当ポリシィ記憶部１７０が記憶したＱｏＳ割当ポリシィに基づくスロット割当調整処理をする。
ＱｏＳ割当ポリシィは、アプリケーションプログラムの重要度、必要な通信品質などを示すものである。
【００３７】
ＱｏＳ割当ポリシィに基づくスロット割当調整処理において、ＱｏＳ調整部１５０は、ＴＤＭＡ制御部１６０が確保しているＴＤＭＡスロットのうち、現在、通信路の確保を要求しているアプリケーションプログラムよりも、重要度の低いアプリケーションプログラムが確保したＴＤＭＡスロットを、現在、通信路の確保を要求しているアプリケーションプログラムに明け渡させる。
【００３８】
これにより、重要度の低いアプリケーションプログラムは、通信路の確保に必要なＴＤＭＡスロットを確保できなくなるため、その通信路は切断する。
【００３９】
ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０に対して、重要度の低いアプリケーションプログラムが確保していたスロットの解放を通知する。
【００４０】
これを受けたアドホックネットワーク制御部１４０は、上流端末装置に対して通信路の切断を通知し、下流端末装置に対して通信路の解放を要求するので、上流端末装置および下流端末装置において、その通信路が確保していたスロットが解放される。
【００４１】
これにより、ＴＤＭＡ制御部１６０は、重要度の低いアプリケーションプログラムから明け渡されたＴＤＭＡスロットだけでなく、更に多くのＴＤＭＡスロットを確保できるようになる。
【００４２】
ＱｏＳ調整部１５０は、再び、ＴＤＭＡ制御部１６０に対して、必要な数のＴＤＭＡスロットの確保を要求する。
それでも、必要な数のＴＤＭＡスロットが確保できない場合には、更に、他の重要度の低いアプリケーションプログラムが確保したＴＤＭＡスロットを明け渡させる。
【００４３】
現在、通信路の確保を要求しているアプリケーションプログラムよりも重要度の低いアプリケーションプログラムが確保したＴＤＭＡスロットがなくなっても、まだ必要な数のＴＤＭＡスロットを確保できない場合には、ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０に対して、スロット確保失敗を通知する。
【００４４】
ＴＤＭＡ制御部１６０は、他の端末装置と送信が衝突しないよう、端末装置１００が使用できるＴＤＭＡスロットを確保し、また、解放する処理を行う。
ＴＤＭＡ制御部１６０は、ＱｏＳ調整部１５０からの要求を受けて、ＴＤＭＡスロットの確保、解放をし、その結果をＱｏＳ調整部１５０に通知する。
【００４５】
ＴＤＭＡ制御部１６０は、ＴＤＭＡスロット確保の要求を受けた場合、周辺の端末装置１００が使用していないＴＤＭＡスロットを判別し、確保する。
確保の方法としては、例えば、送信すべきデータがない場合でも、そのＴＤＭＡスロットを使用して、空のデータを送信し、そのＴＤＭＡスロットに対する先取権を主張する。
あるいは、制御用のＴＤＭＡスロットを使用して、周辺の端末装置１００に対して、自分がそのＴＤＭＡスロットを確保したことを送信する。
【００４６】
なお、そのＴＤＭＡスロットを受信してみて、誰もそのＴＤＭＡスロットを使用していないように見えても、隠れ端末が存在するなどして、そのＴＤＭＡスロットを使用すると送信が衝突するため、確保できない場合がある。
【００４７】
そのため、ＴＤＭＡ制御部１６０は、周辺の端末装置１００から情報を収集して、隠れ端末がないことなどを確認する。また、周辺の端末装置１００のために、収集した情報を送信する。
【００４８】
ＱｏＳ割当ポリシィ記憶部１７０は、ＱｏＳ割当ポリシィを記憶する。
ＱｏＳ割当ポリシィは、アプリケーションプログラムの重要度、必要な通信品質などを示すものである。
ＱｏＳ割当ポリシィは、確保すべきＴＤＭＡスロット数の算出や、スロット割当調整処理に用いられる。
【００４９】
ＱｏＳ割当ポリシィ記憶部１７０は、ＱｏＳ割当ポリシィをあらかじめ記憶している。
例えば、実行フェーズ（各端末がアドホック通信を行う事ができるサービス運用時のフェーズ）の開始前に、管理フェーズを設ける。管理フェーズにおいては、各端末装置はアドホック通信を行う事ができず、ＱｏＳ割当ポリシィを各端末装置に配布する。ＱｏＳ割当ポリシィ記憶部１７０は、配布されたＱｏＳ割当ポリシィを記憶し、その後、実行フェーズを開始する。
【００５０】
図４は、この実施の形態におけるアプリケーション制御部１３０の機能ブロックの一例を示す詳細ブロック図である。
アプリケーション制御部１３０は、アプリケーションメッセージ取得部１３１、アプリケーションメッセージ通知部１３２、アプリケーションプロトコル管理部１３３、アドホックネットワーク制御メッセージ通知部１３４、アプリケーション制御メッセージ取得部１３５を有する。
【００５１】
アプリケーションメッセージ取得部１３１は、アドホック通信プロトコルにしたがい、ネットワークアプリケーション実行部１１０が通知したメッセージを取得する。
【００５２】
アプリケーションメッセージ通知部１３２は、アドホック通信プロトコルにしたがい、ネットワークアプリケーション実行部１１０に対して、メッセージを通知する。
【００５３】
アプリケーションプロトコル管理部１３３は、アドホック通信プロトコルを実現する。
すなわち、アプリケーションメッセージ取得部１３１がアプリケーション実行部１１０から取得したメッセージを解釈し、アドホックネットワーク制御部１４０に対するメッセージを生成する。
アプリケーションプロトコル管理部１３３は、また、アプリケーション制御メッセージ取得部１３５がアドホックネットワーク制御部１４０から取得したメッセージを解釈し、アプリケーション実行部１１０に対するメッセージを生成する。
【００５４】
アドホックネットワーク制御メッセージ通知部１３４は、アプリケーションプロトコル管理部１３３が生成したメッセージを、アドホックネットワーク制御部１４０に対して、通知する。
【００５５】
アプリケーション制御メッセージ取得部１３５は、アドホックネットワーク制御部１４０が通知したメッセージを取得する。
【００５６】
アドホック通信プロトコルでやり取りされるメッセージには、例えば、以下のようなものがある。
【００５７】
（１）通信開始要求メッセージ（通信路の確保）
アプリケーション実行部１１０からアプリケーション制御部１３０へ通知するメッセージである。
通信相手となる端末装置（宛先端末装置）と宛先端末装置が実行しているアプリケーションプログラムを指定して、宛先端末装置まで情報を送信するための通信路を確保することを要求する。
通信開始要求メッセージは、宛先端末装置を識別する端末識別子（端末識別情報）、宛先端末装置が実行しているアプリケーションプログラムを識別するアプリケーション識別子（アプリケーション識別情報）、アプリケーション実行部１１０が実行している通信開始を要求したアプリケーションプログラムを識別するアプリケーション識別子（要求元識別情報）を含む。
【００５８】
（２）通信準備完了メッセージ
アプリケーション制御部１３０からアプリケーション実行部１１０へ通知するメッセージである。
通信開始要求メッセージにしたがって、宛先端末装置までの通信路の確保を試み、成功したことを示す。
通信準備完了メッセージは、確保した通信路を識別する固有のパスＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）（通信路識別情報）を含む。
【００５９】
（３）通信準備失敗メッセージ
アプリケーション制御部１３０からアプリケーション実行部１１０へ通知するメッセージである。
通信開始要求メッセージにしたがって、宛先端末装置までの通信路の確保を試み、失敗したことを示す。
【００６０】
（４）送信データメッセージ
アプリケーション実行部１１０からアプリケーション制御部１３０へ通知するメッセージである。
使用する通信路を指定して、宛先端末装置に対してデータを送信することを要求するメッセージである。
送信データメッセージは、使用する通信路を確保したときに通信開始成功メッセージで通知されたパスＩＤ、宛先端末装置に対して送信すべき実データを含む。
【００６１】
（５）通信路切断メッセージ
アプリケーション制御部１３０からアプリケーション実行部１１０へ通知するメッセージである。
確保した通信路が切断したため、データの送信に失敗したことを示す。
切断した通信路を識別するため、通信路識別子を、あわせて通知する。
【００６２】
（６）通信終了メッセージ（通信路の解放）
アプリケーション実行部１１０からアプリケーション制御部１３０へ通知するメッセージである。
宛先端末装置との通信を終了し、確保した通信路を解放してよいことを示す。
通信終了メッセージは、解放すべき通信路を指定するパスＩＤを含む。
【００６３】
（７）受信データメッセージ
アプリケーション制御部１３０からアプリケーション実行部１１０へ通知するメッセージである。
他の端末装置から受信したデータを含むメッセージである。
【００６４】
また、アプリケーション制御部１３０とアドホックネットワーク制御部１４０との間でやり取りされるメッセージは、上記したアドホック通信プロトコルでやり取りされるメッセージと対応するものである。
【００６５】
図５は、この実施の形態におけるアドホックネットワーク制御部１４０の機能ブロックの一例を示す詳細ブロック図である。
アドホックネットワーク制御部１４０は、アドホックネットワークプロトコル受信部１４１、アドホックネットワークプロトコル送信部１４２、ルーティング管理部１４３、ルーティングテーブル記憶部１４４、アドホックネットワーク制御メッセージ取得部１４５、アプリケーション制御メッセージ通知部１４６、アドホックネットワーク管理部１４７、スロット管理要求メッセージ通知部１４８、スロット管理結果メッセージ取得部１４９を有する。
【００６６】
アドホックネットワークプロトコル受信部１４１は、ＱｏＳアドホックネットワークプロトコルにしたがって、他の端末装置が送信したメッセージを受信する。
【００６７】
アドホックネットワークプロトコル送信部１４２は、ＱｏＳアドホックネットワークプロトコルにしたがって、他の端末装置に対して、メッセージを送信する。
【００６８】
ＱｏＳアドホックネットワークプロトコルにおいてやり取りされるメッセージには、例えば、以下のようなものがある。
【００６９】
（１）ルート情報メッセージ
各端末装置が相互にやり取りするメッセージである。
通信コミュニティ８００内の各端末装置１００の間で、直接通信が可能か否かなどの情報を含むメッセージである。アドホックネットワーク制御部１４０は、この情報に基づいて、ルーティングを行う。
【００７０】
（２）通信路確保要求メッセージ（送信要求の一例）
上流端末装置が下流端末装置に対して送信するメッセージである。
宛先端末装置までの通信路を確保することを要求する。
通信路確保要求メッセージには、宛先端末装置を示す端末識別子、宛先端末装置のアプリケーションプログラムを示すアプリケーション識別子、要求元のアプリケーションプログラムを示す要求元識別子が含まれる。
【００７１】
（３）通信路確保成功メッセージ
下流端末装置が上流端末装置に対して送信するメッセージである。
通信路確保要求メッセージで要求された通信路の確保に成功したことを示す。
【００７２】
（４）通信路確保失敗メッセージ
下流端末装置が上流端末装置に対して送信するメッセージである。
通信路確保要求メッセージで要求された通信路の確保に失敗したことを示す。
【００７３】
（５）通信路切断メッセージ
下流端末装置が上流端末装置に対して送信するメッセージである。
確保した通信路が切断したことを示す。
【００７４】
（６）ルートコスト変更メッセージ
下流端末装置が上流端末装置に対して送信するメッセージである。
確保した通信路が切断し、別ルートでの通信路の確保に成功した場合に、ルートコストが変更したことを示す。
ルートコスト変更メッセージには、変更後のルートコストが含まれる。
【００７５】
（７）送信データメッセージ
上流端末装置が下流端末装置に対して送信するメッセージである。
宛先端末装置に対して、実際に送信すべきデータを含む。
【００７６】
（８）通信路解放要求メッセージ
上流端末装置が下流端末装置に対して送信するメッセージである。
確保した通信路を解放することを要求する。
【００７７】
アドホックネットワークプロトコル受信部１４１は、ルート情報受信部４１１、通信路確保要求受信部４１２、データ受信部４１３を有する。
ルート情報受信部４１１は、ルート情報メッセージを受信する。
通信路確保要求受信部４１２は、通信路確保要求メッセージを受信する。通信路確保要求受信部４１２は、他の端末装置からの送信要求を入力する送信要求入力部の一例である。
データ受信部４１３は、送信データメッセージを受信する。データ受信部４１３は、情報受信部の一例である。
【００７８】
アドホックネットワークプロトコル送信部１４２は、ルート情報送信部４２１、通信路確保要求送信部４２２、データ送信部４２３を有する。
ルート情報送信部４２１は、ルート情報メッセージを送信する。
通信路確保要求送信部４２２は、通信路確保要求メッセージを受信する。通信路確保要求送信部４２２は、送信要求送信部の一例である。
データ送信部４２３は、送信データメッセージを送信する（情報送信工程）。データ送信部４２３は、情報送信部の一例である。
【００７９】
ルーティング管理部１４３は、通信路の算出、検索、維持をする（アドホックルーティング機能）。
ルーティング管理部１４３は、アドホックルーティング機能を実現するために必要な情報を、他の端末装置から入手し、また、他の端末装置のために配布する（アドホックルーティング交渉機能）。
【００８０】
ルーティング管理部１４３は、ルート情報受信部４１１が受信したルート情報に基づいて、通信コミュニティ８００のネットワークトポロジーを把握し、記憶装置９０２を用いて、記憶する。
ルーティング管理部１４３は、把握した通信コミュニティ８００のネットワークトポロジーに基づくルート情報を生成し、他の端末装置のために、ルート情報送信部４２１に送信させる。
また、ルーティング管理部１４３は、アドホックネットワーク管理部１４７からの要求により、把握した通信コミュニティ８００のネットワークトポロジーに基づいて、宛先端末装置までの通信路を算出する。ルーティング管理部１４３は、通信路算出部の一例である。
なお、通信路の算出は、ルーティング管理部１４３が、あらかじめ、通信コミュニティ８００の完全なネットワークトポロジーを把握しておき、それに基づいて算出してもよい。
あるいは、経路探索メッセージ（ルーティングメッセージ）を送信し、それに対する応答に基づいて、通信路を算出してもよい（アドホックルーティング交渉処理）。
経路探索メッセージは、必要になった場合に送信することとしてもよい。また、一定周期で送信することとして、あらかじめ経路を探索しておくこととしてもよい。
【００８１】
また、ルーティング管理部１４３は、確保した通信路の維持をする。
すなわち、下流端末装置から、確保した通信路の切断を通知する通信路切断メッセージを、アドホックネットワークプロトコル受信部１４１が受信した場合、ルーティング管理部１４３は、別の通信路を算出し、通信路の確保を試みる。
【００８２】
ルーティングテーブル記憶部１４４は、ルーティングテーブルを記憶する。
ルーティングテーブルは、ルーティング管理部１４３が算出した通信路、その通信路が確保できたか否かなどの情報を含むテーブルである。
ルーティングテーブルは、ルーティング管理部１４３から通知された情報に基づいて、ルーティングテーブル記憶部１４４が生成、更新する。
【００８３】
図６は、この実施の形態におけるルーティングテーブル記憶部１４４が記憶するルーティングテーブル５１０の一例を示す図である。
ルーティングテーブル５１０は、ルーティング管理部１４３が決定するルーティング情報を管理するためのテーブルである。ルーティングテーブル５１０には、パスＩＤ５１１、宛先端末５１２、ルートコスト５１３、隣接端末５１４、パス状態５１５、スロットマップ識別子５１６、アプリケーション識別子５１７などが記憶される。
【００８４】
パスＩＤ５１１は、通信路識別情報の一例である。パスＩＤ５１１は、通信コミュニティ８００内で、通信路をユニークに識別するため、通信路に固有に割り振った文字列である。
宛先端末５１２は、通信先となる端末装置、すなわち、その通信路の宛先端末装置を示す端末識別情報である。
ルートコスト５１３は、ルートを構成するパスの数である。すなわち、その通信路において、宛先端末装置への通信を中継する端末装置の数である。
隣接端末５１４は、その通信路において、下流端末装置を示す端末識別情報である。下流端末装置は、宛先端末装置へ届けるべき情報を渡すべき相手であり、宛先端末装置と直接通信できない場合には、その通信を中継する端末装置である。
パス状態５１５は、その通信路が、利用できる（「アクティブ（ａｃｔｉｖｅ）」）か否（「イナクティブ（ｉｎａｃｔｉｖｅ）」）かを示す情報である。
例えば、その通信路がまだ確保されていない場合や、確保した通信路が何らかの原因で一時的に利用できなくなっている場合（利用を許可しない場合を含む）などに、パス状態５１５を見ることで、その通信路で通信が可能か否かを判別できる。
スロットマップ識別子５１６は、その通信路のために確保したＴＤＭＡスロットを示す。１つの通信路のために複数のＴＤＭＡスロットを確保する場合があるので、後述するスロットマップ識別子テーブルに、スロットマップ識別子と、ＴＤＭＡスロットとの対応関係が記憶されている。
アプリケーション識別子５１７は、要求元識別情報の一例である。その通信路を確保したアプリケーションプログラムを識別するためのものである。
通信路の確保を要求する要求元は、端末装置１００のアプリケーション実行部１１０が実行しているアプリケーションプログラムに限らない。端末装置１００が他の端末装置のために通信を中継している場合には、他の端末装置が実行しているアプリケーションプログラムが要求元となる。
そこで、アプリケーション識別子５１７は、通信コミュニティ８００内で実行されているアプリケーションプログラムを、固有に識別するものである。
【００８５】
アドホックネットワーク制御メッセージ取得部１４５は、アプリケーション制御部１３０が通知したメッセージを取得する。
アドホックネットワーク制御メッセージ取得部１４５が取得するメッセージには、通信路確保を要求するメッセージ（送信要求の一例）が含まれている。アドホックネットワーク制御メッセージ取得部１４５は、アプリケーションプログラムからの送信要求を入力する送信要求入力部の一例である。
【００８６】
アプリケーション制御メッセージ通知部１４６は、アドホックネットワーク制御メッセージ取得部１４５が取得したメッセージに対する応答などを、アプリケーション制御部１３０に対して通知する。アプリケーション制御メッセージ通知部１４６が通知するメッセージには、そのほか、通信路切断の通知や、他の端末装置からアプリケーション実行部１１０が実行しているアプリケーションプログラム宛てに受信したデータなどがある。
【００８７】
アドホックネットワーク管理部１４７は、アドホックネットワーク制御メッセージ取得部１４５が取得したメッセージやアドホックネットワークプロトコル受信部１４１が受信したメッセージに基づいて、ルーティング管理部１４３や、ＱｏＳ調整部１５０・他の端末装置などに対する要求を行う。
アドホックネットワーク管理部１４７は、また、ＱｏＳ調整部１５０からスロット管理結果メッセージ取得部１４９が取得したメッセージに基づいて、各種の処理を行う。
【００８８】
スロット管理要求メッセージ通知部１４８は、アドホックネットワーク管理部１４７が生成したメッセージをＱｏＳ調整部１５０に通知する。
【００８９】
スロット管理結果メッセージ取得部１４９は、ＱｏＳ調整部１５０が通知したメッセージを取得する。
【００９０】
アドホックネットワーク管理部１４７が行う処理のうち、通信路確保処理について説明する。
アドホックネットワーク管理部１４７は、アプリケーション制御部１３０が通知した通信路確保要求（送信要求）をアドホックネットワーク制御メッセージ取得部１４５が取得した場合、および、他の端末装置が送信した通信路確保要求（送信要求）を通信路確保要求受信部４１２が受信した場合に、通信路確保処理を行う。
【００９１】
図７は、この実施の形態におけるアドホックネットワーク制御部１４０の通信路確保処理の流れの一例を示すフローチャート図である。
これは、アプリケーション制御部１３０から通信路確保要求を受けた場合である。
【００９２】
Ｓ１１（送信要求入力工程）において、アドホックネットワーク制御メッセージ取得部１４５が、アプリケーション制御部１３０から、通信路確保要求メッセージを取得する。
【００９３】
Ｓ１２（通信路算出工程）において、アドホックネットワーク管理部１４７の指示により、ルーティング管理部１４３が、通信路を算出する。
算出した通信路は、ルーティングテーブル記憶部１４４が記憶する。ルーティングテーブル記憶部１４４は、ルーティングテーブルに、パスＩＤ５１１、宛先端末５１２、ルートコスト５１３、隣接端末５１４、アプリケーション識別子５１７を登録する。また通信路が確保できていないので、パス状態５１５は「イナクティブ」、スロットマップ識別子５１６は「ヌル（ｎｕｌｌ）」に設定する。
【００９４】
Ｓ１３以下の処理と、Ｓ２３以下の処理は、並行して行うため、どちらが先でもよい。
【００９５】
Ｓ１３において、アドホックネットワーク管理部１４７の指示により、スロット管理要求メッセージ通知部１４８が、ＱｏＳ調整部１５０に対し、スロット確保要求メッセージを通知する。
【００９６】
Ｓ１４において、スロット管理結果メッセージ取得部１４９が、ＱｏＳ調整部１５０から、スロット確保成功メッセージまたはスロット確保失敗メッセージを取得する。
【００９７】
Ｓ１５において、アドホックネットワーク管理部１４７は、スロット管理結果メッセージ取得部１４９が取得したメッセージの種類から、スロット確保に成功したか失敗したかを判断する。
スロット確保に成功した場合には、Ｓ１６へ進む。
スロット確保に失敗した場合には、Ｓ１８へ進む。
【００９８】
Ｓ１６において、アドホックネットワーク管理部１４７は、下流端末装置が通信路確保に成功したか否かを判断する。
すでに通信路確保に成功している場合には、Ｓ１７へ進む。
まだ通信路確保に成功していない場合には、Ｓ２４へ進む。
【００９９】
Ｓ１７において、アドホックネットワーク管理部１４７の指示により、アプリケーション制御メッセージ通知部１４６が、アプリケーション制御部１３０に対し、通信路確保成功メッセージを送信する。
ルーティングテーブル記憶部１４４は、確保した通信路について、ルーティングテーブルのパス状態５１５を「アクティブ」に書き換える。また、スロットマップ識別子５１６を、Ｓ１４で取得したスロット確保成功メッセージに含まれる確保したスロットのスロットマップ識別子に書き換える。
その後、通信路確保処理を終了する。
【０１００】
Ｓ１８において、アドホックネットワーク管理部１４７の指示により、アドホックネットワークプロトコル送信部１４２が、ルーティング管理部１４３が算出した通信路における下流端末装置に対し、通信路解放要求メッセージを送信する。
その後、Ｓ２９へ進む。
【０１０１】
Ｓ２３（送信要求送信工程）において、アドホックネットワーク管理部１４７の指示により、通信路確保要求送信部４２２が、ルーティング管理部１４３が算出した通信路における下流端末装置に対し、通信路確保要求メッセージを送信する。
【０１０２】
Ｓ２４において、アドホックネットワークプロトコル受信部１４１が、ルーティング管理部１４３が算出した通信路における下流端末装置から、通信路確保成功メッセージまたは通信路確保失敗メッセージを受信する。
【０１０３】
Ｓ２５において、アドホックネットワーク管理部１４７は、アドホックネットワークプロトコル受信部１４１が取得したメッセージの種類から、下流端末装置が通信路確保に成功したか失敗したかを判断する。
通信路確保に成功した場合には、Ｓ２６へ進む。
通信路確保に失敗した場合には、Ｓ２７へ進む。
【０１０４】
Ｓ２６において、アドホックネットワーク管理部１４７は、スロット確保に成功したか否かを判断する。
すでにスロット確保に成功している場合には、Ｓ１７へ進む。
まだスロット確保に成功していない場合には、Ｓ１４へ進む。
【０１０５】
Ｓ２７において、他に通信路の候補があるかを判断する。
例えば、Ｓ１２でルーティング管理部１４３があらかじめ複数の通信路の候補を算出しておいてもよいし、改めて、ルーティング管理部１４３が別の通信路を算出してもよい。
他に通信路の候補がある場合には、Ｓ２３へ進む。
他に通信路の候補がない場合には、Ｓ２９へ進む。
【０１０６】
Ｓ２８において、アドホックネットワーク管理部１４７の指示により、スロット管理要求メッセージ通知部１４８が、ＱｏＳ調整部１５０に対し、スロット解放要求メッセージを通知する。
【０１０７】
Ｓ２９において、アドホックネットワーク管理部１４７の指示により、アプリケーション制御メッセージ通知部１４６が、アプリケーション制御部１３０に対し、通信路確保失敗メッセージを通知する。
その後、通信路確保処理を終了する。
【０１０８】
図８は、この実施の形態におけるアドホックネットワーク制御部１４０の通信路確保処理の流れの一例を示すフローチャート図である。
これは、他の端末装置（上流端末装置）から通信路確保要求を受けた場合である。
なお、図７と共通する処理には、共通の符号をつけ、説明を省略する。
【０１０９】
Ｓ３１（送信要求入力工程）において、通信路確保要求受信部４１２が、上流端末装置から、通信路確保要求メッセージを取得する。
【０１１０】
以下の処理は、アプリケーション制御部１３０から通信路確保要求を受けた場合と同様である。ただし、通信路確保成功メッセージおよび通信路確保失敗メッセージの送付先が、通信路確保要求をした上流端末装置である点が異なる（Ｓ３７、Ｓ３９）。
【０１１１】
次に、アドホックネットワーク管理部１４７が行う処理のうち、スロット解放対応処理について説明する。
アドホックネットワーク管理部１４７は、スロット不足のため確保していたスロットを解放したことを示すスロット解放メッセージを、ＱｏＳ調整部１５０からスロット管理結果メッセージ取得部１４９が取得した場合に、スロット解放対応処理を行う。
【０１１２】
図９は、この実施の形態におけるアドホックネットワーク制御部１４０のスロット解放対応処理の流れの一例を示すフローチャート図である。
【０１１３】
Ｓ４１において、スロット管理結果メッセージ取得部１４９が、ＱｏＳ調整部１５０から、スロット解放メッセージを取得する。
【０１１４】
Ｓ４２において、アドホックネットワーク管理部１４７の指示により、アドホックネットワークプロトコル送信部１４２が、下流端末装置に対し、通信路解放要求メッセージを送信する。
【０１１５】
Ｓ４３において、アドホックネットワーク管理部１４７の指示により、ルーティング管理部１４３が、ルーティングテーブル記憶部１４４が記憶したルーティングテーブルに基づいて、その通信路の確保を要求した要求元を判別する。
【０１１６】
Ｓ４４において、Ｓ４３で判別した要求元が、アプリケーション実行部１１０が実行しているアプリケーションプログラムである場合は、Ｓ４５へ進む。
Ｓ４３で判別した要求元が、他の端末装置が実行しているアプリケーションプログラムである場合は、Ｓ４６へ進む。
【０１１７】
Ｓ４５において、アドホックネットワーク管理部１４７の指示により、アプリケーション制御メッセージ通知部１４６が、アプリケーション制御部１３０に対し、通信路切断メッセージを通知する。
その後、スロット解放対応処理を終了する。
【０１１８】
Ｓ４６において、アドホックネットワーク管理部１４７の指示により、アドホックネットワークプロトコル送信部１４２が、上流端末装置に対し、通信路切断メッセージを送信する。
その後、スロット解放対応処理を終了する。
【０１１９】
以上説明したもののほか、アドホックネットワーク管理部１４７が行う処理には、例えば、以下のものがある。
アプリケーション制御部１３０が通知した通信路解放要求をアドホックネットワーク制御メッセージ取得部１４５が取得した場合、および、他の端末装置（上流端末装置）が送信した通信路解放要求をアドホックネットワークプロトコル受信部１４１が受信した場合に行う通信路解放処理。
アプリケーション制御部１３０が通知した送信データをアドホックネットワーク制御メッセージ取得部１４５が取得した場合、および、他の端末装置（上流端末装置）が送信した送信データをデータ受信部４１３が受信した場合に行うデータ送信処理。
他の端末装置（下流端末装置）が送信した通信路切断通知をアドホックネットワークプロトコル受信部１４１が受信した場合に行う通信路切断対応処理。
他の端末装置（下流端末装置）が送信したルートコスト変更をアドホックネットワークプロトコル受信部１４１が受信した場合など、確保した通信路のルートコストが変更したことを検出した場合に行うルートコスト変更対応処理。
【０１２０】
通信路解放処理において、アドホックネットワーク管理部１４７は、アドホックネットワークプロトコル送信部１４２に指示して、下流端末装置に対して、通信路解放要求メッセージを送信させる。また、スロット管理要求メッセージ通知部に指示して、ＱｏＳ調整部１５０に対して、スロット解放要求メッセージを通知させる。
【０１２１】
データ送信処理において、アドホックネットワーク管理部１４７は、データ送信部４２３に指示して、下流端末装置に対して、送信データを送信させる。
すなわち、送信データメッセージから、使用する通信路のパスＩＤを取得し、ルーティングテーブル記憶部１４４が記憶したルーティングテーブルに基づいて、取得したパスＩＤ５１１から、隣接端末５１４を取得する。取得した隣接端末によって識別される下流端末装置に対して、送信データを送信する。
データ送信に成功あるいは失敗した場合、その旨をアプリケーション制御部１３０あるいは上流端末装置に通知あるいは送信する。
また、データ送信の成否を判断するため、例えば、下流端末装置に対して、経路探索メッセージを送信して、通信路についての情報の更新を要求し、それに対する応答から通信路が維持されているか否かを判別することにより、データ送信の成否を判断してもよい。
【０１２２】
通信路切断対応処理において、アドホックネットワーク管理部１４７は、ルーティング管理部１４３に指示して、別ルートでの通信路確保を試みる。
別ルートでの通信路確保に失敗した場合、アドホックネットワーク管理部１４７は、アドホックネットワークプロトコル送信部１４２に指示して、上流端末装置に対して、通信路切断通知メッセージを送信させる。また、スロット管理要求メッセージ通知部に指示して、ＱｏＳ調整部１５０に対して、スロット解放要求メッセージを通知させる。
【０１２３】
別ルートでの通信路確保に成功した場合、アドホックネットワーク管理部１４７は、ルートコスト変更対応処理を行う。
【０１２４】
ルートコスト変更対応処理において、アドホックネットワーク管理部１４７は、スロット管理要求メッセージ通知部１４８に指示して、ＱｏＳ調整部１５０に対して、スロット再確保要求メッセージを通知させる。
また、ルーティングテーブル記憶部１４４は、ルーティングテーブルを更新し、変更後のルートコスト５１３、隣接端末５１４を記憶する。また、パス状態５１５を一時的に「イナクティブ」に設定する。
スロット管理結果メッセージ取得部１４９が、ＱｏＳ調整部１５０からスロット再確保成功メッセージを取得した場合には、アドホックネットワーク管理部１４７は、アドホックネットワークプロトコル送信部１４２に指示して、上流端末装置に対して、ルートコスト変更メッセージを送信させる。また、ルーティングテーブル記憶部１４４は、パス状態５１５を「アクティブ」に戻す。
スロット管理結果メッセージ取得部１４９が、ＱｏＳ調整部１５０からスロット再確保失敗メッセージを取得した場合には、アドホックネットワーク管理部１４７は、スロット解放対応処理を行う。
【０１２５】
図１０は、この実施の形態におけるＱｏＳ割当ポリシィ記憶部が記憶するＱｏＳ割当ポリシィの一例を示す図である。
ＱｏＳ割当ポリシィは、アプリケーション識別子５２１、重要度５２２、ＱｏＳ５２３を記憶したテーブルである。
【０１２６】
アプリケーション識別子５２１は、アプリケーションプログラムを通信コミュニティ８００でユニークに識別するものである。
アプリケーション識別子５２１は、ルーティングテーブル記憶部１４４においてアプリケーション識別子５１７として使用する。
【０１２７】
重要度５２２は、アプリケーション識別子５２１によって識別されるアプリケーションプログラムの重要度を示す重要度情報である。通信に必要なスロットが確保できない場合に、重要度の高いアプリケーションプログラムの通信路用のスロットを、優先的に確保する。
【０１２８】
ＱｏＳ５２３は、アプリケーション識別子５２１によって識別されるアプリケーションプログラムが必要とする通信の品質を示す通信品質情報である。
ここで、通信の品質とは、情報を送信するために必要な時間のことである。
すなわち、送信される情報には、宛先端末装置に、迅速に伝達される必要がある情報と、多少遅れて届いてもよい情報とがある。
そこで、そのアプリケーションプログラムが送信する情報に、どのくらい迅速な伝達が必要とされるかを示す指標として、ＱｏＳ５２３を定義する。
この例では、ＱｏＳ５２３は、整数値をとるものとし、ＱｏＳ５２３の値が大きいほど、高い通信の品質（迅速な伝達）が要求されるものとする。
【０１２９】
これらの情報は、あらかじめ、例えば、管理フェーズにおいて配布されたものを、ＱｏＳ割当ポリシィ記憶部１７０が記憶しておく。これにより、通信コミュニティ８００を構成するすべての端末装置１００が、同一のＱｏＳ割当ポリシィを共有する。
【０１３０】
図１１は、この実施の形態におけるＱｏＳ調整部１５０の機能ブロックの一例を示す詳細ブロック図である。
ＱｏＳ調整部１５０は、スロット管理要求メッセージ取得部１５１、スロット管理結果メッセージ通知部１５２、状態管理部１５３、スロット確保要求通知部１５４、スロット解放要求通知部１５５、スロット確保成否取得部１５６、スロット数算出部１５７、スロット移譲部１５８、アプリケーション属性テーブル記憶部１５９、スロットマップ識別子記憶部１９１を有する。
【０１３１】
スロット管理要求メッセージ取得部１５１は、アドホックネットワーク制御部１４０が通知したメッセージを取得する。
【０１３２】
スロット管理結果メッセージ通知部１５２は、アドホックネットワーク制御部１４０に対して、状態管理部１５３からのメッセージを通知する。
【０１３３】
状態管理部１５３は、アドホックネットワーク制御部１４０からスロット管理要求メッセージ取得部１５１が取得したメッセージに基づいて、スロットの確保、解放などを行い、その結果を、スロット管理結果メッセージ通知部１５２を通じて、アドホックネットワーク制御部１４０に通知する。
【０１３４】
スロット確保要求通知部１５４は、ＴＤＭＡ制御部１６０に対して、ＴＤＭＡスロットの確保を要求するメッセージを通知する。
【０１３５】
スロット解放要求通知部１５５は、ＴＤＭＡ制御部１６０に対して、ＴＤＭＡスロットの解放を要求するメッセージを通知する。
【０１３６】
スロット確保成否取得部１５６は、スロット確保要求通知部１５４が通知したＴＤＭＡスロットの確保要求に基づいて、ＴＤＭＡ制御部１６０がスロット確保に成功したか失敗したかを示すメッセージを、ＴＤＭＡ制御部１６０から取得する。
【０１３７】
スロット数算出部１５７は、確保すべきスロット数（必要チャネル数）を算出する。スロット数算出部１５７は、必要チャネル数算出部の一例である。
スロット数算出部１５７は、スロット管理要求メッセージ取得部１５１が取得したスロット確保要求メッセージに含まれる要求元のアプリケーション識別子（要求元識別情報）とその通信路のルートコストに基づいて、確保すべきスロット数を算出する。
【０１３８】
スロット移譲部１５８は、ＴＤＭＡ制御部１６０が確保したＴＤＭＡスロットが不足する場合に、スロットを確保したアプリケーションプログラム間で、スロットを融通することにより、必要な数のスロットを確保する。
スロット移譲部１５８は、チャネル解放部の一例である。
【０１３９】
アプリケーション属性テーブル記憶部１５９は、アプリケーション属性テーブルを記憶する。
アプリケーション属性テーブルは、通信コミュニティ８００内の端末装置１００が実行するアプリケーションプログラムすべての重要度、要求される通信の品質、確保しているスロットなどを記憶するテーブルである。
アプリケーション属性テーブル記憶部は、重要度記憶部の一例である。
【０１４０】
スロットマップ識別子記憶部１９１は、スロットマップ識別子テーブルを記憶する。
スロットマップ識別子テーブルは、スロットマップ識別子と、実際に確保したＴＤＭＡスロットとの対応関係を記憶するテーブルである。
【０１４１】
図１２は、この実施の形態におけるアプリケーション属性テーブル記憶部１５９が記憶したアプリケーション属性テーブルの一例を示す図である。
アプリケーション属性テーブルは、アプリケーション識別子５２１、重要度５２２、ＱｏＳ５２３、使用状況５２４、スロットマップ識別子５２５を記憶するテーブルである。
【０１４２】
アプリケーション識別子５２１、重要度５２２、ＱｏＳ５２３は、ＱｏＳ割当ポリシィ記憶部１７０が記憶したＱｏＳ割当ポリシィに含まれるものと同一である。
例えば、管理フェーズで、ＱｏＳ割当ポリシィが配布されたときに、ＱｏＳ割当ポリシィ記憶部１７０が記憶したＱｏＳ割当ポリシィを複製して、アプリケーション属性テーブル記憶部１５９が記憶する。
あるいは、配布されたＱｏＳ割当ポリシィを直接、アプリケーション属性テーブル記憶部１５９が記憶することとすれば、ＱｏＳ割当ポリシィ記憶部１７０は、なくてもよい。
【０１４３】
使用状況５２４は、アプリケーション識別子５２１によって識別されるアプリケーションプログラムが、現在スロットを確保しているか否かを示す。
【０１４４】
スロットマップ識別子５２５は、アプリケーション識別子５２１によって識別されるアプリケーションプログラムが、現在スロットを確保している場合に、どのスロットを確保しているかを示す。
スロットマップ識別子５２５は、ルーティングテーブル記憶部１４４が記憶しているスロットマップ識別子５１６と対応している。
【０１４５】
図１３は、この実施の形態におけるスロットマップ識別子記憶部１９１が記憶するスロットマップ識別子テーブルの一例を示す図である。
スロットマップ識別子デーブルは、スロットマップ識別子５３１、アプリケーション識別子５３２、スロットマップ５３３を記憶するテーブルである。
【０１４６】
スロットマップ識別子５３１は、ルーティングテーブル記憶部１４４やアプリケーション属性テーブル記憶部１５９が記憶しているスロットマップ識別子５１６，５２５と対応するもので、複数のＴＤＭＡスロットをまとめて識別するためのものである。
【０１４７】
アプリケーション識別子５３２は、ルーティングテーブル記憶部１４４やアプリケーション属性テーブル記憶部１５９が記憶しているアプリケーション識別子５１７，５２１と対応するもので、そのスロットを確保しているアプリケーションプログラムを示す。
なお、そのスロットを確保しているアプリケーションプログラムは、アプリケーション属性テーブルから判断することとする場合には、スロットマップ識別子記憶部１９１がアプリケーション識別子５３２を記憶しなくてもよい。
【０１４８】
スロットマップ５３３は、そのスロットマップ識別子５３１によって識別されるＴＤＭＡスロットを示す。例えば、スロット番号のリストである。
【０１４９】
次に、ＱｏＳ調整部１５０の動作について、説明する。
ここで、ＱｏＳ調整部１５０が行うスロットの確保・解放とは、その端末装置１００が送信に使用できるＴＤＭＡスロットを、各アプリケーションプログラムに割り当て、それぞれのアプリケーションプログラムが要求した通信路に必要なスロットを確保し、また確保したスロットを、他のアプリケーションプログラムが使用できるよう解放することである。
これに対して、ＴＤＭＡ制御部１６０が行うスロットの確保・解放とは、その端末装置１００が送信に使用できるＴＤＭＡスロットの総数を確保し、あるいは確保したＴＤＭＡスロットを、他の端末装置１００が使用できるよう解放することである。
【０１５０】
すなわち、ＴＤＭＡ制御部１６０は、他の端末装置との間で、ＴＤＭＡスロットの使用権を獲得するのに対し、ＱｏＳ調整部１５０は、１つの端末装置のなかにおいて、複数のアプリケーションプログラムの間で、ＴＤＭＡスロットの使用権を獲得する。
【０１５１】
図１４は、この実施の形態におけるＱｏＳ調整部１５０のスロット確保処理の流れの一例を示すフローチャート図である。
【０１５２】
Ｓ５１において、スロット管理要求メッセージ取得部１５１が、アドホックネットワーク制御部１４０が通知したスロット確保要求メッセージを取得する。
スロット確保要求メッセージは、スロットの確保を要求したアプリケーションプログラムのアプリケーション識別子（要求元識別情報）と、その通信路のルートコストとを含んでいる。
【０１５３】
Ｓ５２（必要チャネル数算出工程）において、状態管理部１５３の指示により、スロット数算出部１５７が、確保すべきスロット数を算出する。
スロット数算出部１５７は、Ｓ５１でスロット管理要求メッセージ取得部１５１が取得したスロット確保要求メッセージに含まれるアプリケーション識別子に基づいて、アプリケーション属性テーブル記憶部１５９が記憶したアプリケーション属性テーブルを検索し、そのアプリケーションプログラムのＱｏＳ５２３を取得する。
【０１５４】
取得したＱｏＳ５２３の値が大きいほど、より高い通信品質（迅速な伝達）が要求される。
送信すべき情報の量が多い場合、確保したスロット数が多ければ、その分、その通信路の通信帯域が広がり、送信すべき情報のすべてを送信するのにかかる時間は短くなる。
したがって、ＱｏＳ５２３の値が大きい場合には、より多くのスロットを確保する必要がある。
【０１５５】
また、スロット数算出部１５７は、スロット管理要求メッセージ取得部１５１が取得したスロット確保要求メッセージに含まれるルートコストを取得する。
【０１５６】
アドホックネットワークにおいて、情報はバケツリレー式に伝達されるため、情報を中継する端末装置が情報を受信し、次の端末装置に送信するまでの間に伝達遅延時間が生まれる。
一つの中継端末装置あたりの伝達遅延時間が一定であると考えると、中継端末装置の数（ルートコスト）が増えれば、その分、伝達遅延時間が増えることになる。
したがって、最終的にすべての情報を送り終わるまでの時間を一定にしようとすれば、ルートコストが大きくなればなるほど、より多くのスロットを確保する必要がある。
【０１５７】
また、例えば、雑音等の影響で、通信エラーとなり、同じ情報を再送しなければならなくなる場合もある。通信エラーの発生率が、１回の送信・受信あたり一定であると考えれば、中継端末装置の数が増えると、通信路全体としての通信エラー発生率は高くなる。
したがって、最終的にすべての情報を送り終わるまでの時間を一定にしようとすれば、ルートコストが大きくなればなるほど、やはり、より多くのスロットを確保する必要がある。
【０１５８】
したがって、スロット数算出部１５７は、ＱｏＳ５２３の値が大きいほど、算出する必要スロット数が大きくなり、また、ルートコスト（ホップ数）の値が大きいほど、算出する必要スロット数が大きくなるという、単調増加の関係を有する計算式に基づいて、必要スロット数を算出する。
例えば、（必要スロット数）＞（ＱｏＳ）×（ルートコスト）の条件を満たす最小のスロット数（自然数）を求めるという計算式に基づいて、必要スロット数を算出する。
【０１５９】
Ｓ５３において、状態管理部１５３の指示により、スロット確保要求通知部１５４が、ＴＤＭＡ制御部１６０に対し、スロット確保要求メッセージを通知する。
スロット確保要求メッセージは、Ｓ５２でスロット数算出部１５７が算出した必要スロット数を含む。
【０１６０】
Ｓ５４において、スロット確保成否取得部１５６が、ＴＤＭＡ制御部１６０が通知したスロット確保成功メッセージまたはスロット確保失敗メッセージを取得する。
【０１６１】
Ｓ５５において、状態管理部１５３が、スロット確保成否取得部１５６が取得したメッセージの種類から、スロット確保に成功したか失敗したかを判断する。
スロット確保に成功した場合には、Ｓ６１へ進む。
スロット確保に失敗した場合には、Ｓ５６へ進む。
【０１６２】
Ｓ５６において、スロット移譲部１５８が、より重要度の低いアプリケーションプログラムが確保しているスロットがあるかを判断する。
スロット移譲部１５８は、スロット管理要求メッセージ取得部１５１が取得したスロット確保要求メッセージに含まれるアプリケーション識別子に基づいて、アプリケーション属性テーブル記憶部１５９が記憶したアプリケーション属性テーブルから、そのアプリケーションプログラムの重要度５２２を取得する（以下、「要求元の重要度」という）。
スロット移譲部１５８は、更に、アプリケーション属性テーブル記憶部１５９が記憶したアプリケーション属性テーブルを検索して、要求元の重要度よりも低い重要度５２２（他の要求元の重要度）をもつアプリケーションプログラムのなかに、現在スロットを確保しているものがあるか否かを判断する。このとき、使用状況５２４が「使用」になっていれば、スロットを確保していると判断する。
【０１６３】
Ｓ５７において、スロット移譲部１５８の判断結果に基づいて、処理を分岐する。
より重要度の低いアプリケーションプログラムが確保したスロットがある場合には、Ｓ５８へ進む。
より重要度の低いアプリケーションプログラムが確保したスロットがない場合には、Ｓ６４へ進む。
【０１６４】
Ｓ５８（チャネル解放工程）において、スロット移譲部１５８が、より重要度の低いアプリケーションプログラムが確保しているスロットを解放する。
スロット移譲部１５８は、要求元の重要度よりも低い重要度のアプリケーションプログラムのなかから、アプリケーションプログラムを１つ選択する。例えば、もっとも重要度の低いアプリケーションプログラムを選択する。
スロット移譲部１５８は、選択したアプリケーションプログラムについて、アプリケーション属性テーブル記憶部１５９が記憶したアプリケーション属性テーブルの使用状況５２４を「未使用」に書き換える。
解放したスロットは、それまで確保していた通信路と切り離され、他の通信路のために使用できる状態となる。ただし、他の端末装置に対しては解放していないので、端末装置１００が確保した状態は続いている。
【０１６５】
Ｓ５９において、状態管理部１５３の指示により、スロット管理結果メッセージ通知部１５２が、アドホックネットワーク制御部１４０に対し、スロット解放メッセージを通知する。
スロット解放メッセージは、Ｓ５８でスロット移譲部１５８が解放したスロットのスロットマップ識別子を含む。
これを受けて、アドホックネットワーク制御部１４０は、前述したスロット解放対応処理を行う。
【０１６６】
Ｓ６０において、スロット移譲部１５８が、Ｓ５８で解放したスロットを、確保要求を受けたアプリケーションプログラムのために、確保する。
スロット移譲部１５８は、Ｓ５８で選択したアプリケーションプログラムについて、アプリケーション属性テーブル記憶部１５９が記憶したアプリケーション属性テーブルのスロットマップ識別子５２５を取得する。
スロット移譲部１５８は、次に、取得したスロットマップ識別子５２５から、スロットマップ識別子記憶部１９１が記憶したスロットマップ識別子テーブルに基づいて、そのアプリケーションプログラムが確保していたスロットマップ５３３を取得する。
スロット移譲部１５８は、取得したスロットマップ５３３に含まれるスロットを、現在、スロット確保を要求しているアプリケーションプログラムのために確保する。
例えば、スロット移譲部１５８は、新たなスロットマップ識別子５３１を生成し、スロットマップ識別子記憶部１９１に記憶させる。また、生成したスロットマップ識別子５３１を、スロット確保を要求しているアプリケーションプログラムについて、アプリケーション属性テーブル記憶部１５９に記憶させる。
その後、Ｓ５３に戻り、必要スロット数から、すでに確保したスロット数を減じた残りのスロットについて、再度、ＴＤＭＡ制御部１６０に対するスロット確保要求を行う。
【０１６７】
このように、スロットを解放して、足りない分のスロットを確保する動作を、必要なスロット数を確保できるまで繰り返す（ＴＤＭＡ再割当処理）。
【０１６８】
Ｓ６１において、状態管理部１５３の指示により、スロットマップ識別子記憶部１９１が、確保したスロットのスロットマップ識別子を記憶する。
状態管理部１５３は、確保したスロットを示すスロットマップ識別子を新たに生成し、スロットマップ識別子記憶部１９１に記憶させる。
【０１６９】
Ｓ６２において、状態管理部１５３の指示により、アプリケーション属性テーブル記憶部１５９が、確保したスロットのスロットマップ識別子を記憶する。
アプリケーション属性テーブル記憶部１５９は、スロット確保を要求しているアプリケーションプログラムについて、アプリケーション属性テーブルの使用状況５２４を「使用」に書き換える。また、スロットマップ識別子５２５を、Ｓ６１で生成したスロットマップ識別子に書き換える。
【０１７０】
Ｓ６３において、状態管理部１５３の指示により、スロット管理結果メッセージ通知部１５２が、アドホックネットワーク制御部１４０に対し、スロット確保成功メッセージを通知する。
スロット確保成功メッセージは、確保したスロットを示すスロットマップ識別子を含む。
その後、スロット確保処理を終了する。
【０１７１】
Ｓ６４において、状態管理部１５３の指示により、スロット管理結果メッセージ通知部１５２が、アドホックネットワーク制御部１４０に対し、スロット確保失敗メッセージを通知する。
その後、スロット確保処理を終了する。
【０１７２】
図１５は、この実施の形態におけるＱｏＳ調整部１５０のスロット再確保処理の流れの一例を示すフローチャート図である。
スロット再確保処理は、ルートコストが変わったときにアドホックネットワーク制御部１４０が通知するスロット再確保要求メッセージを、スロット管理要求メッセージ取得部１５１が取得した場合に行う処理である。
【０１７３】
Ｓ７１において、スロット管理要求メッセージ取得部１５１が、アドホックネットワーク制御部１４０が通知したスロット再確保要求メッセージを取得する。
スロット再確保要求メッセージは、スロットの確保を要求したアプリケーションプログラムのアプリケーション識別子（要求元識別情報）と、その通信路の変更後のルートコストとを含んでいる。
【０１７４】
Ｓ７２（必要チャネル数算出工程）において、状態管理部１５３の指示により、スロット数算出部１５７が、確保すべきスロット数を算出する。
【０１７５】
Ｓ７３において、状態管理部１５３が、Ｓ７２でスロット数算出部１５７が算出したスロット数と、既に確保してあるスロット数とを比較する。
【０１７６】
Ｓ７４において、Ｓ７３の比較結果に基づいて、処理を分岐する。
確保すべきスロット数が増加した場合には、Ｓ７５へ進む。
確保すべきスロット数が減少した場合には、Ｓ７６へ進む。
確保すべきスロット数が変わらない場合には、Ｓ７７へ進む。
【０１７７】
Ｓ７５において、確保すべきスロットの増加分についてスロット確保処理を行い、その後、スロット再確保処理を終了する。
【０１７８】
Ｓ７６において、確保すべきスロットの減少分についてスロット解放処理を行い、その後、スロット再確保処理を終了する。
なお、確保すべきスロット数が減少したときは、なにも処理を行わず、要求されているよりも高い通信品質の通信路を確保しておいてもよい。
【０１７９】
Ｓ７７において、状態管理部１５３の指示により、スロット管理結果メッセージ通知部１５２が、アドホックネットワーク制御部１４０に対し、スロット再確保成功メッセージを通知する。
その後、スロット再確保処理を終了する。
【０１８０】
図１６は、この実施の形態におけるＴＤＭＡ制御部１６０の機能ブロックの一例を示す詳細ブロック図である。
ＴＤＭＡ制御部１６０は、スロット情報受信部１６１、スロット情報送信部１６２、スロットマップテーブル記憶部１６３、スロット確保要求取得部１６４、スロット解放要求取得部１６５、スロット確保成否通知部１６６、ＴＤＭＡ管理部１６７、空きスロット判別部１６８、スロット確保部１６９を有する。
【０１８１】
スロット情報受信部１６１は、他の端末装置が送信したスロット情報を、無線通信装置９０５を用いて受信する。
スロット情報送信部１６２は、他の端末装置のために、スロットマップテーブル記憶部１６３が記憶したスロット情報を、無線通信装置９０５を用いて送信する。
【０１８２】
スロット情報には、それぞれの端末装置が自分で使用しているスロット、端末装置が受信できる範囲内で、他の端末装置が使用しているスロットなどの情報が含まれている。
スロット情報は、例えば、フレームの先頭スロットを制御用スロットとし、制御用スロットを各端末装置が交互に使用して、送信する。
あるいは、各端末装置が送信用に確保したスロットの先頭部分を使用して、スロット情報を送信してもよい。
【０１８３】
スロットマップテーブル記憶部１６３は、スロット情報受信部１６１が受信したスロット情報を、スロットマップテーブルとして記憶する。
スロットマップテーブルは、ＴＤＭＡスロットを管理するためのテーブルである。
【０１８４】
スロット確保要求取得部１６４は、ＱｏＳ調整部１５０が通知したスロット確保要求メッセージを取得する。
【０１８５】
スロット解放要求取得部１６５は、ＱｏＳ調整部１５０が通知したスロット解放要求メッセージを取得する。
【０１８６】
スロット確保成否通知部１６６は、スロット確保要求取得部１６４が取得したスロット確保要求メッセージにより要求されたスロット確保が成功した場合には、スロット確保成功メッセージを、失敗した場合には、スロット確保失敗メッセージを、ＱｏＳ調整部１５０に対して通知する。
【０１８７】
ＴＤＭＡ管理部１６７は、ＴＤＭＡスロットを管理する。
ＴＤＭＡ管理部１６７は、スロット確保要求取得部１６４がスロット確保要求メッセージを取得した場合、および、スロット解放要求取得部１６５がスロット解放要求メッセージを取得した場合に、スロットの確保、解放の処理を行う。
ＴＤＭＡ管理部１６７は、スロット確保要求メッセージに含まれるスロット数のＴＤＭＡスロットを確保する。必要なスロット数のＴＤＭＡスロットを確保できない場合には、ＴＤＭＡスロットを確保せず、スロット確保失敗と判断するものとする。
しかし、必要なスロット数のＴＤＭＡスロットを確保できない場合に、確保できるだけのＴＤＭＡスロットを確保してもよい。その場合、スロット確保成否通知部１６６が通知するスロット確保失敗メッセージは、確保できたスロット数（あるいは不足するスロット数）を含む。先に確保できるだけのスロットを確保するほうが、再び確保を試みるまでの間に、他の端末装置にスロットを確保されてしまうことを防げるので、好ましい。
【０１８８】
空きスロット判別部１６８は、スロットマップテーブル記憶部１６３が記憶したスロットマップテーブルに基づいて、端末装置１００が送信に使用することができるＴＤＭＡスロットを判別する。
空きスロット判別部１６８は、空きチャネル判別部の一例である。
【０１８９】
スロット確保部１６９は、スロットマップテーブル記憶部１６３が記憶したスロットマップテーブルを書き換えることにより、ＴＤＭＡ管理部１６７が確保することとしたＴＤＭＡスロットを確保する。
空きスロット判別部１６８は、空きチャネル確保部の一例である。
他の端末装置は、スロット情報送信部１６２が、スロット確保部１６９によって書き換えられたスロットマップテーブルに基づくスロット情報を送信することにより、そのスロットが端末装置１００によって確保されたことを知る。
あるいは、そのスロットを用いて、実際に送信動作を行うことにより、そのスロットを確保したことを他の端末装置に知らせてもよい。
【０１９０】
ＴＤＭＡ制御部１６０は、このように、スロット情報を受信して、そのなかから空きスロットを探し、確保する。しかし、このような受動的な動作だけでなく、積極的に、ＴＤＭＡスロットを確保したいというメッセージを他の端末装置に対して送信し、他の端末装置と交渉を行うことにより、ＴＤＭＡスロットを確保してもよい。
【０１９１】
ＴＤＭＡ制御部１６０におけるスロット情報の収集、配布、空きスロットの確保、解放、他の端末装置との交渉などの動作は、既知の方式（例えば、ＵＳＡＰなど）によることとしてよい。
【０１９２】
次に、全体の動作の流れについて説明する。
【０１９３】
図１７は、この実施の形態における階層化された通信プロトコルの一例を示すイメージ図である。
端末装置１００間の通信は、階層の上から順に、アプリケーションプログラム（を実行しているアプリケーション実行部１１０）間におけるアドホック通信、アドホックネットワーク制御部１４０間におけるＱｏＳアドホックネットワークプロトコルによる通信、ＴＤＭＡ制御部１６０間におけるＱｏＳスロット割当交渉プロトコルによる通信、無線通信装置９０５間における無線物理レイヤプロトコルによる通信の４つの階層による通信として捉えることができる。
【０１９４】
アプリケーション実行部１１０間のアドホック通信は、コネクション型の通信であり、通信開始、データ送信、通信終了の手順により、各種の情報を送受信する。
アドホックネットワーク制御部１４０間のＱｏＳアドホックネットワークプロトコルによる通信は、通信路の探索、確保、解放などのアドホックルーティング交渉処理を行い、これによって確保された通信路を使用して、アプリケーション実行部１１０間のアドホック通信を実現する。
ＴＤＭＡ制御部１６０間のＱｏＳスロット割当交渉プロトコルによる通信は、空きスロットの探索、確保、解放など、端末装置１００間のＴＤＭＡスロット割当を行い、これによって確保されたＴＤＭＡスロットを使用して、アドホックネットワーク制御部１４０が通信路を確保する。
【０１９５】
図１８は、この実施の形態における端末装置１００全体の基本的な動作の流れの一例を示す図である。
【０１９６】
Ｐ０１において、アドホックネットワークＴＤＭＡ制御装置（２２）の内部情報を初期化する。アプリケーション属性テーブル記憶部１５９はアプリケーション属性テーブルを、ルーティングテーブル記憶部１４４はルーティングテーブルを、スロットマップテーブル記憶部１６３はスロットマップテーブルを、それぞれ「ヌル」にクリアする。
【０１９７】
Ｐ０２において、ＱｏＳ割当ポリシィの更新をする。
ＱｏＳ割当ポリシィ記憶部１７０が記憶した最新のＱｏＳ割当ポリシィを、アプリケーション属性テーブル記憶部１５９がアプリケーション属性テーブルにコピーする。このとき、使用状況５２４は、全て「未使用」に設定する。
【０１９８】
Ｐ０３において、アドホック通信を起動する。
アプリケーション制御部１３０が、アプリケーション実行部１１０が実行しているアプリケーションプログラムから、アドホック通信（３）の開始を要求するメッセージを受ける。
【０１９９】
Ｐ０４において、ルーティングテーブルを参照する。
アドホック通信起動（Ｐ０３）で要求されたアドホック通信を実現するため、ルーティングテーブル記憶部１４４が記憶しているルーティングテーブルから、パスＩＤ５１１に該当する隣接端末５１４を検索する。このとき、パス状態５１５が「アクティブ」であれば、そのルートを利用する。「イナクティブ」なら、アドホック通信エラー通知（Ｐ０９）が起動され、アドホック通信を要求したアプリケーションプログラムにエラーが通知される。また、アプリケーションプログラムが新たに通信路の確保を要求する場合には、アドホックルーティング処理（Ｐ０４）によりルート検索が行われ、成功した場合はルーティングテーブル記憶部１４４が、記憶する。
【０２００】
Ｐ０８において、アドホック通信を送信する。
検索したルートのパスＩＤのテーブル情報を用いて、情報更新のための要求メッセージを送信する。送信先はパスＩＤの隣接端末である。次に、アドホック通信を要求したアプリケーションに対して、アドホック通信完了通知（Ｐ１０）により、アドホック通信が完了したことを通知する。
【０２０１】
Ｐ０４（アドホックルーティング処理）は、以下の３つの処理からなる。
Ｐ４３において、ルーティングメッセージを送信する。定期的にルートの検索、維持を行う。
Ｐ４１において、ルートを監視する。一定周期でルーティングメッセージを送信（Ｐ４３）し、ＱｏＳアドホックネットワークプロトコルのアドホックルーティング交渉を行って、ルートの設定と維持管理を行う。
Ｐ４２において、ルーティングテーブルを更新する。ルート監視（Ｐ４１）によるルートの設定、維持の結果を、ルーティングテーブルに保持する。
【０２０２】
図１９は、この実施の形態における端末装置１００のメッセージの流れの一例を示す図である。
この例は、端末装置１００のアプリケーション実行部１１０が実行しているアプリケーションプログラムが、通信開始を要求した場合（ＴＤＭＡスロット初期割当手順）の例である。
【０２０３】
アプリケーション実行部１１０が、通信を開始するため、アプリケーション制御部１３０に対して、通信開始要求メッセージ６１１（通信路確保要求）を通知する。通信開始要求メッセージ６１１は、要求元のアプリケーション識別子と、宛先端末装置の端末識別子を含む。
【０２０４】
アプリケーション制御部１３０は、アドホックネットワーク制御部１４０に対して、通信路確保要求メッセージ６３１（通信路確保要求）を通知する。通信路確保要求メッセージ６３１は、要求元のアプリケーション識別子と、宛先端末装置の端末識別子を含む。
【０２０５】
アドホックネットワーク制御部１４０は、宛先端末装置の端末識別子から、ルーティング管理部１４３が通信路を算出する（アドホックルーティング処理）。
アドホックネットワーク制御部１４０は、算出した通信路における下流端末装置１０１に通信路を確保させるため、下流端末装置１０１に対して、通信路確保要求メッセージ６８１を送信する。通信路確保要求メッセージ６８１は、要求元のアプリケーション識別子と、宛先端末装置の端末識別子を含む。
アドホックネットワーク制御部１４０は、必要なＴＤＭＡスロットを確保するため、ＱｏＳ調整部１５０に対して、スロット確保要求メッセージ６４１（ＱｏＳ調整要求）を通知する。スロット確保要求メッセージ６４１は、要求元のアプリケーション識別子と、算出した通信路のルートコストとを含む。
【０２０６】
ＱｏＳ調整部１５０は、要求元のアプリケーション識別子からＱｏＳを求め、求めたＱｏＳと、ルートコストとから、スロット数算出部１５７が確保すべきスロット数を算出する（アプリケーション属性分析処理）。
ＱｏＳ調整部１５０は、ＴＤＭＡ制御部１６０に対して、スロット確保要求メッセージ６５１（ＴＤＭＡスロット割当要求）を通知する。スロット確保要求メッセージ６５１は、算出した確保すべきスロット数を含む。
【０２０７】
ＴＤＭＡ制御部１６０は、要求された数のスロットを確保する。この例では、スロット確保に成功した場合（通信帯域が十分な場合）について述べる。
ＴＤＭＡ制御部１６０は、ＱｏＳ調整部１５０に対して、スロット確保成功メッセージ６５２（ＴＤＭＡスロット割当完了）を通知する。スロット確保成功メッセージ６５２は、確保したスロットのスロット番号を含む。
【０２０８】
ＱｏＳ調整部１５０は、確保したスロットにスロットマップ識別子を割り付け、スロットを確保する。
ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０に対して、スロット確保成功メッセージ６４２（ＱｏＳ調整完了）を通知する。スロット確保成功メッセージ６４２は、確保したスロットのスロットマップ識別子を含む。
【０２０９】
一方、下流端末装置１０１は、通信路の確保に成功し、端末装置１００に対して、通信路確保成功メッセージ６９１を送信する。通信路確保成功メッセージ６９１は、確保した通信路のパスＩＤを含む。
【０２１０】
アドホックネットワーク制御部１４０が、通信路確保成功メッセージ６９１を受信する。
アドホックネットワーク制御部１４０は、アプリケーション制御部１３０に対して、通信路確保成功メッセージ６３２（通信路確保完了）を通知する。通信路確保成功メッセージ６３２は、確保した通信路のパスＩＤを含む。
【０２１１】
アプリケーション制御部１３０は、アプリケーション実行部１１０に対して、通信準備完了メッセージ６１２（通信路確保完了）を通知する。通信準備完了メッセージ６１２は、通信に使用する通信路のパスＩＤを含む。
【０２１２】
図２０は、この実施の形態における端末装置１００のメッセージの流れの別の例を示す図である。
この例は、上流端末装置１０６（または、更にその上流）が実行しているアプリケーションプログラムが、通信開始を要求した場合（ＴＤＭＡスロット初期割当手順）の例である。
【０２１３】
上流端末装置１０６が、端末装置１００に対して、通信路確保要求メッセージ６８１（通信路確保要求）を通知する。通信路確保要求メッセージ６８１は、要求元のアプリケーション識別子と、宛先端末装置の端末識別子を含む。
【０２１４】
アドホックネットワーク制御部１４０が、通信路確保要求メッセージ６８１を受信する。
アドホックネットワーク制御部１４０は、宛先端末装置の端末識別子から、ルーティング管理部１４３が通信路を算出する（アドホックルーティング処理）。
アドホックネットワーク制御部１４０は、ＱｏＳ調整部１５０に対して、スロット確保要求メッセージ６４１（ＱｏＳ調整要求）を通知する。スロット確保要求メッセージ６４１は、要求元のアプリケーション識別子と、算出した通信路のルートコストとを含む。
なお、アドホックネットワーク制御部１４０は、下流端末装置に対する通信路確保要求メッセージの送信も行うが、この図では記載を省略している。
【０２１５】
ＱｏＳ調整部１５０は、要求元のアプリケーション識別子からＱｏＳを求め、求めたＱｏＳと、ルートコストとから、スロット数算出部１５７が確保すべきスロット数を算出する（アプリケーション属性分析処理）。
ＱｏＳ調整部１５０は、ＴＤＭＡ制御部１６０に対して、スロット確保要求メッセージ６５１（ＴＤＭＡスロット割当要求）を通知する。スロット確保要求メッセージ６５１は、算出した確保すべきスロット数を含む。
【０２１６】
ＴＤＭＡ制御部１６０は、要求された数のスロットを確保する。この例では、スロット確保に失敗した場合について述べる。
ＴＤＭＡ制御部１６０は、ＱｏＳ調整部１５０に対して、スロット確保失敗メッセージ６５３（ＴＤＭＡスロット割当未完了）を通知する。
【０２１７】
ＱｏＳ調整部１５０は、重要度の低いアプリケーションプログラムが確保したスロットを解放する。
ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０に対して、スロット解放メッセージ６４３を通知する。スロット解放メッセージ６４３は、解放したスロットのスロットマップ識別子を含む。
【０２１８】
アドホックネットワーク制御部１４０は、スロットを解放したために切断した通信路の下流端末装置１０２に対して、通信路解放要求メッセージ６８２を送信する。
この例では、切断した通信路の確保を要求した要求元が、他の端末装置が実行しているアプリケーションプログラムであった場合について説明する。
アドホックネットワーク制御部１４０は、スロットを解放したために切断した通信路の上流端末装置１０７に対して、通信路切断メッセージ６９２を送信する。
【０２１９】
下流端末装置１０２および上流端末装置１０７では、通信路の切断に伴って、ＴＤＭＡスロットが解放される。
【０２２０】
ＱｏＳ調整部１５０は、スロット確保を要求したアプリケーションプログラムのために、解放したスロットを確保する。
ＱｏＳ調整部１５０は、更に、足りない分のＴＤＭＡスロットを確保するため、再び、ＴＤＭＡ制御部１６０に対して、スロット確保要求メッセージ６５１（ＴＤＭＡスロット再割当要求）を通知する。
このとき、下流端末装置１０２および上流端末装置１０７においてスロットが解放されるのを待つため、所定の時間経過後、スロット確保要求メッセージ６５１を通知することとしてもよい。
【０２２１】
ＴＤＭＡ制御部１６０は、要求された数のスロットを確保する（ＴＤＭＡ再調整処理）。今度は、下流端末装置１０２および上流端末装置１０７でスロットが解放されたため、必要な数のＴＤＭＡスロットが確保できたとする。
ＴＤＭＡ制御部１６０は、ＱｏＳ調整部１５０に対して、スロット確保成功メッセージ６５２（ＴＤＭＡスロット再割当完了）を通知する。
【０２２２】
ＱｏＳ調整部１５０は、確保したスロットにスロットマップ識別子を割り付け、スロットを確保する。
ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０に対して、スロット確保成功メッセージ６４２（ＱｏＳ調整完了）を通知する。スロット確保成功メッセージ６４２は、確保したスロットのスロットマップ識別子を含む。
【０２２３】
アドホックネットワーク制御部１４０は、図示していない（確保を要求された通信路の）下流端末装置から、通信路確保成功メッセージを受信する。
アドホックネットワーク制御部１４０は、上流端末装置１０６に対して、通信路確保成功メッセージ６９１（通信路確保完了）を送信する。
【０２２４】
図２１は、この実施の形態における端末装置１００のメッセージの流れの更に別の例を示す図である。
この例は、下流端末装置１０１（または、更にその下流）で、ＴＤＭＡスロットが不足するなどの理由で、通信路が切断した場合（ＴＤＭＡスロット調整手順）の例である。
【０２２５】
下流端末装置１０１が、端末装置１００に対して、通信路切断メッセージ６９２を送信する。通信路切断メッセージ６９２は、切断した通信路のパスＩＤを含む。
【０２２６】
アドホックネットワーク制御部１４０が、通信路切断メッセージ６９２を受信する。
アドホックネットワーク制御部１４０は、別の経路を探索し、通信路を算出する。
アドホックネットワーク制御部１４０は、新たに算出した通信路の下流端末装置１０３に対して、通信路確保要求メッセージ６８１を送信する。
アドホックネットワーク制御部１４０は、ＱｏＳ調整部１５０に対して、スロット再確保要求メッセージ６４４（ＱｏＳ調整要求）を通知する。スロット再確保要求メッセージ６４４は、要求元のアプリケーション識別子と、新たに算出した通信路のルートコストとを含む。
なお、ルートコストに変動がない場合には、スロット再確保要求メッセージ６４４を通知しないこととしてもよい。
【０２２７】
ＱｏＳ調整部１５０は、確保すべきスロット数を算出する（アプリケーション属性分析）。この例では、ルートコストの減少により、確保すべきスロット数が少なくなったものとする。
ＱｏＳ調整部１５０は、確保しておく必要がなくなったスロットを解放するため、ＴＤＭＡ制御部１６０に対して、スロット解放要求メッセージ６５４（ＴＤＭＡスロット解放要求）を通知する。
【０２２８】
ＴＤＭＡ制御部１６０は、確保していたスロットを解放する。
ＴＤＭＡ制御部１６０は、ＱｏＳ調整部１５０に対して、スロット解放成功メッセージ６５５（ＴＤＭＡスロット解放完了）を通知する。
【０２２９】
ＱｏＳ調整部１５０は、スロットマップ識別子テーブルを書き換えて、スロットを解放する。
ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０に対して、スロット再確保成功メッセージ６４５（ＱｏＳ調整完了）を通知する。
【０２３０】
新たに算出した通信路の下流端末装置１０３は、通信路確保に成功し、端末装置１００に対して、通信路確保成功メッセージ６９１を送信する。
【０２３１】
アドホックネットワーク制御部１４０は、通信路確保成功メッセージ６９１を受信する。
アドホックネットワーク制御部１４０は、新たな通信路が確保できたので、上流端末装置１０６に対して、ルートコスト変更メッセージ６９３を送信する。ルートコスト変更メッセージ６９３は、通信路のパスＩＤと、変更後のルートコストとを含む。
なお、新たな通信路が確保できなかった場合には、上流端末装置１０６に対して、通信路切断メッセージを送信する。
【０２３２】
図２２は、この実施の形態における端末装置１００のメッセージの流れの更に別の例を示す図である。
この例は、下流端末装置１０３（または、更にその下流）で、通信路の再確保が行われ、ルートコストが変更した場合（ＴＤＭＡスロット調整手順）の例である。
【０２３３】
下流端末装置１０３が、端末装置１００に対して、ルートコスト変更メッセージ６９３を送信する。
【０２３４】
アドホックネットワーク制御部１４０が、ルートコスト変更メッセージ６９３を受信する。
アドホックネットワーク制御部１４０は、ＱｏＳ調整部１５０に対して、スロット再確保要求メッセージ６４４（ＱｏＳ調整要求）を通知する。
【０２３５】
ＱｏＳ調整部１５０は、確保すべきスロット数を算出する（アプリケーション属性分析処理）。この例では、ルートコストの増加により、確保すべきスロット数が多くなったものとする。
ＱｏＳ調整部１５０は、更に確保すべき増加分のスロットを確保するため、ＴＤＭＡ制御部１６０に対して、スロット確保要求メッセージ６５１（ＴＤＭＡスロット割当要求）を通知する。
【０２３６】
ＴＤＭＡ制御部１６０は、要求された数のスロットを確保する。この例では、スロット確保に失敗した場合について述べる。
ＴＤＭＡ制御部１６０は、ＱｏＳ調整部１５０に対して、スロット確保失敗メッセージ６５３（ＴＤＭＡスロット割当未完了）を通知する。
【０２３７】
ＱｏＳ調整部１５０は、重要度の低いアプリケーションプログラムが確保したスロットを解放する。
ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０に対して、スロット解放メッセージ６４３を通知する。スロット解放メッセージ６４３は、解放したスロットのスロットマップ識別子を含む。
【０２３８】
アドホックネットワーク制御部１４０は、スロットを解放したために切断した通信路の下流端末装置１０２に対して、通信路解放要求メッセージ６８２を送信する。
この例では、切断した通信路の確保を要求した要求元が、端末装置１００のアプリケーション実行部１１０が実行しているアプリケーションプログラムであった場合について説明する。
アドホックネットワーク制御部１４０は、アプリケーション制御部１３０に対して、通信路切断メッセージ６３３を通知する。
【０２３９】
アプリケーション制御部１３０は、アプリケーション実行部１１０に対して、通信路切断メッセージ６１３を通知する。
【０２４０】
一方、下流端末装置１０４では、通信路の切断に伴って、ＴＤＭＡスロットが解放される。
【０２４１】
ＱｏＳ調整部１５０は、ルートコストが変更になった通信路のために、解放したスロットを確保する。
ＱｏＳ調整部１５０は、更に、足りない分のＴＤＭＡスロットを確保するため、再び、ＴＤＭＡ制御部１６０に対して、スロット確保要求メッセージ６５１（ＴＤＭＡスロット再割当要求）を通知する。
【０２４２】
ＴＤＭＡ制御部１６０は、要求された数のスロットを確保する（ＴＤＭＡ再調整処理）。今度は、下流端末装置１０４でスロットが解放されたため、必要な数のＴＤＭＡスロットが確保できたとする。
ＴＤＭＡ制御部１６０は、ＱｏＳ調整部１５０に対して、スロット確保成功メッセージ６５２（ＴＤＭＡスロット再割当完了）を通知する。
【０２４３】
ＱｏＳ調整部１５０は、スロットマップ識別子テーブルを書き換えて、スロットを確保する。
ＱｏＳ調整部１５０は、アドホックネットワーク制御部１４０に対して、スロット再確保成功メッセージ６４５（ＱｏＳ調整完了）を通知する。
【０２４４】
アドホックネットワーク制御部１４０は、新たな通信路が確保できたので、上流端末装置１０６に対して、ルートコスト変更メッセージ６９３を送信する。
【０２４５】
ここで説明した端末装置１００によれば、通信に必要な品質（ＱｏＳ）を確保するために必要な通信路をあらかじめ確保し、確保した通信路を用いて通信するので、アドホック通信ネットワークにおいて、通信品質の保証された通信が可能となるという効果を奏する。
【０２４６】
ここで説明した端末装置１００によれば、通信路を確保するにあたり、ＱｏＳとルートコストから、必要なＴＤＭＡスロット数（必要チャネル数）を算出するので、ルートコストが変動しても、要求された通信品質を保証できるという効果を奏する。
【０２４７】
ここで説明した端末装置１００によれば、必要なＴＤＭＡスロット（チャネル）を確保できない場合、端末装置１００が確保したＴＤＭＡスロットのうち、他の通信路用に確保しているスロットを解放させ、そのスロットを確保するので、他の端末装置との間で交渉する必要がなく、迅速に必要なＴＤＭＡスロットを確保できるという効果を奏する。
【０２４８】
ここで説明した端末装置１００によれば、スロットを解放させるにあたり、通信路を確保したアプリケーションプログラムの重要度に基づいて、解放させるか否かを判断するので、ＴＤＭＡスロットが全体として不足している場合、重要でない通信に使用する通信路を犠牲にすることにより、重要な通信に使用する通信路の通信品質が保証できるという効果を奏する。
【０２４９】
ここで説明した端末装置１００によれば、ルートコストが変動した場合には、必要なＴＤＭＡスロット数を算出し直して、常に必要なＴＤＭＡスロットを確保するので、端末装置１００が移動して通信コミュニティ８００のネットワークトポロジーが変動する場合でも、要求された通信品質を保証できるという効果を奏する。
【０２５０】
また、ここで説明した端末装置１００が使用する無線通信方法によれば、上記説明した端末装置１００の効果と同様の効果を奏する。
【０２５１】
また、ここで説明した端末装置１００として、コンピュータを機能させるための無線通信プログラムによれば、上記説明した効果を有する端末装置１００を実現することができるという効果を奏する。
【０２５２】
実施の形態２．
実施の形態２を、図２３〜図３２を用いて説明する。
この実施の形態における通信コミュニティ８００の全体構成、端末装置１００のハードウェア構成および全体ブロック構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【０２５３】
図２３は、この実施の形態におけるアドホックネットワーク制御部１４０の機能ブロックの構成の一例を示す詳細ブロック図である。なお、実施の形態１と共通するブロックについては、説明を省略する。
【０２５４】
通信路確保要求受信部４１２は、端末装置１００に対する通信路確保要求メッセージ（送信要求）だけでなく、通信コミュニティ８００内の他の端末装置で発生したすべての通信路確保要求についての情報（他端末送信要求）（両者をあわせて、「通信路要求情報」という）を受信する。
通信路確保要求受信部４１２は、送信要求入力部および他端末送信要求受信部の一例である。
通信路要求情報は、通信路のパスＩＤ、要求元のアプリケーションプログラムのアプリケーション識別子、要求元の端末装置の端末識別子、宛先端末装置の端末識別子などを含む。
【０２５５】
通信路要求記憶部１９３は、通信路確保要求受信部４１２が受信した通信路要求情報を記憶する。
通信路要求記憶部１９３は、また、アドホックネットワーク制御メッセージ取得部１４５が取得した、アプリケーション実行部１１０が実行しているアプリケーションプログラムが要求元の通信路確保要求も、通信路要求情報として、あわせて記憶する。
【０２５６】
通信路確保要求送信部４２２は、通信路要求記憶部１９３が記憶した通信路要求情報を、周辺の端末装置に対して送信する。
通信路確保要求送信部４２２は、送信要求送信部および他端末送信要求送信部の一例である。
なお、無限ループの発生を防ぐため、すでに一度送信したことがある通信路要求情報は、再送要求がない限り、再び送信しないこととする。
【０２５７】
また、通信路解放要求についても同様に、通信路解放情報として、通信コミュニティ８００内の端末装置間で通知しあう。通信路解放要求を受信した場合、通信路要求記憶部１９３は、記憶した通信路要求情報を削除する。
【０２５８】
これにより、通信コミュニティ８００内のすべての端末装置１００が、通信コミュニティ８００内で現在要求されているすべての通信路確保要求を共有する。
【０２５９】
ルーティング管理部１４３は、通信路確保要求受信部４１２が受信した通信路要求情報に基づいて、通信コミュニティ８００内のすべての通信路について、最適な通信路を算出する。
通信コミュニティ８００内のすべての端末装置１００は、同一の通信路要求情報を共有しているので、各端末装置１００のルーティング管理部１４３が算出する通信路は、すべての端末装置１００で同一になる。
【０２６０】
アドホックネットワーク管理部１４７は、ルーティング管理部１４３が算出した通信路に基づいて、通信コミュニティ８００内のすべての端末装置１００が必要とするスロットのスロット確保要求についての情報を算出する。
【０２６１】
スロット管理要求メッセージ通知部１４８は、端末装置１００が確保すべきスロットだけでなく、すべての端末装置が確保すべきスロットについてのスロット確保要求情報を、ＱｏＳ調整部１５０に対して通知する。
【０２６２】
図２４は、この実施の形態におけるＱｏＳ調整部１５０の機能ブロックの一例を示す詳細ブロック図である。なお、実施の形態１と共通するブロックについては、説明を省略する。
【０２６３】
スロット管理要求メッセージ取得部１５１は、端末装置１００が確保すべきスロットだけでなく、通信コミュニティ８００内のすべての端末装置１００が確保すべきスロットについてのスロット確保要求情報を、アドホックネットワーク制御部１４０から取得する。
【０２６４】
スロット数算出部１５７は、状態管理部１５３の指示により、端末装置１００が確保すべきスロット（必要チャネル数）だけでなく、通信コミュニティ８００内のすべての端末装置１００が確保すべきスロットのスロット数（他端末必要チャネル数）を算出する。
スロット数算出部１５７は、必要チャネル数算出部および他端末必要チャネル数算出部の一例である。
【０２６５】
なお、この実施の形態では、通信コミュニティ８００内のすべての端末装置１００が確保すべきスロット数がわかるので、通信コミュニティ８００内のＴＤＭＡスロットが足りない状態であるか、逆に、余っている状態であるかを判別できる。
そこで、ＴＤＭＡスロットが余っている状態のときは、余っているスロットを各通信路に配分し、要求されているよりも高い通信品質の通信路を確保することとしてもよい。
例えば、（確保すべきスロット数）＝（確保可能な全スロット数）×（その通信路に要求されるＱｏＳ）／（すべての通信路に要求されるＱｏＳの合計）（小数点以下切り捨て）という計算式に基づいて、スロット数算出部１５７が確保すべきスロット数を算出する。
【０２６６】
通信コミュニティ８００内のすべての端末装置１００は、同じスロット確保要求情報と、同じＱｏＳ割当ポリシィを共有しているので、すべての端末装置１００が、同じ必要スロット数を算出する。
【０２６７】
状態管理部１５３は、アプリケーション属性テーブル記憶部１５９が記憶したアプリケーション属性テーブルを検索して、通信コミュニティ８００内のすべての端末装置１００が確保すべきスロットのスロット確保要求について、その要求元のアプリケーションプログラムの重要度を判別する。状態管理部１５３は、送信要求重要度判別部の一例である。
【０２６８】
状態管理部１５３は、通信コミュニティ内のすべての端末装置１００が確保すべきスロットのスロット確保要求について、その要求元の重要度を基準に、重要度が高い順に並べ替える。
【０２６９】
通信コミュニティ８００内のすべての端末装置１００は、同じスロット確保要求情報と、同じＱｏＳ割当ポリシィを共有しているので、スロット確保要求は、すべての端末装置１００で、同じ順番に並べ替えられる。
【０２７０】
一つの通信路内の中継端末装置は、それぞれがＴＤＭＡスロットを確保する必要がある。同じ通信路は要求元のアプリケーションプログラムが同じなので、重要度も同じである。
そこで、同じ通信路内のスロット確保要求は、要求元の端末装置に近いほうから順に並べ替えるものとする。
ただし、重要度が同じ場合の並べ替え規則は、通信コミュニティ８００内のすべての端末装置１００が同じ規則にしたがって並べ替えるのであれば、他の規則であってもよい。結果として得られるスロット確保要求の順番を同じにするための便宜的なものに過ぎないからである。
【０２７１】
スロット確保要求通知部１５４は、状態管理部１５３が並べ替えた順序にしたがって、通信コミュニティ８００内のすべてのスロット確保要求を、ＴＤＭＡ制御部１６０に対して通知する。
【０２７２】
通信コミュニティ８００内のＴＤＭＡスロットが全体として足りない状態である場合、スロット確保要求にしたがってスロットを確保していくと、ある時点ですべてのスロットを使い果たしてしまい、それ以上のスロット確保ができなくなる。
スロットの確保は、重要度の高い順に行うので、重要度の高い通信に必要なスロットが確保される。重要度の低い通信は、ＴＤＭＡスロットが不足している状態が解消するまで、スロットが確保できない。
なお、重要度の低い通信がまったくできなくなってしまうことを防ぐため、ＴＤＭＡスロットが足りない状態である場合、重要度が所定の値（重要度基準値）より高い場合には、必要なスロット数を確保し、重要度が重要度基準値より低い場合には、残っているスロットを、残りのスロット割当要求に配分することとしてもよい。
例えば、（残っているスロット数）×（その通信路に要求されるＱｏＳ）／（すべての通信路に要求されるＱｏＳの合計）（小数点以下切り捨て）のスロットを配分する。
これにより、重要度が低い通信は、要求された通信品質は確保できないものの、通信がまったくできないという状態は解消される。
【０２７３】
スロット確保成否取得部１５６は、ＴＤＭＡ制御部１６０から、スロット確保の結果を取得する。
状態管理部１５３は、スロット確保成否取得部１５６が取得した結果に基づいて、アプリケーション属性テーブル記憶部１５９などが記憶したテーブルの内容を書き換え、割り当てられたスロットを確保する。
状態管理部１５３は、割当チャネル確保部の一例である。
【０２７４】
図２５は、この実施の形態におけるＴＤＭＡ制御部１６０の機能ブロックの構成の一例を示す詳細ブロック図である。
【０２７５】
スロット情報受信部１６１は、端末装置１００の周辺だけでなく、通信コミュニティ８００内のすべての端末装置１００について、周辺の端末装置との位置関係（隣接端末や隠れ端末など送信が衝突する端末装置についての情報など）を、スロット情報として受信する。
スロット情報受信部１６１は、衝突判別情報受信部の一例である。
【０２７６】
スロット情報記憶部１９２は、スロット情報受信部１６１が受信したスロット情報に、端末装置１００が判断したスロット情報を付加して、記憶する。
例えば、スロット情報記憶部１９２は、スロット情報受信部１６１が受信したスロット情報を送信した端末装置は、直接通信可能な範囲内にある隣接端末であると判断し、スロット情報に付け加える。
【０２７７】
スロット情報送信部１６２は、他の端末装置のために、スロット情報記憶部１９２が記憶したスロット情報を送信する。
【０２７８】
これにより、通信コミュニティ８００内のすべての端末装置１００が、同じスロット情報を共有する。
【０２７９】
スロット確保要求取得部１６４は、端末装置１００が確保すべきスロットについてだけでなく、通信コミュニティ８００内のすべての端末装置が確保すべきスロットについてのスロット確保要求を、ＱｏＳ調整部１５０から取得する。
【０２８０】
ＴＤＭＡ管理部１６７は、スロット確保要求取得部１６４が取得したスロット確保要求を、取得した順番に処理する。
【０２８１】
スロットマップテーブル記憶部１６３は、端末装置１００のスロットマップテーブルだけでなく、通信コミュニティ８００内のすべての端末装置１００のスロットマップテーブルを記憶する。
スロットマップテーブル記憶部１６３は、スロット情報記憶部１９２が記憶したスロット情報に基づいて、送信が衝突しないスロットを判別し、スロットマップテーブルとして記憶する。
スロットマップテーブル記憶部１６３は、衝突チャネル判別部の一例である。
【０２８２】
スロット確保部１６９は、スロットマップテーブル記憶部１６３が記憶したスロットマップテーブルに基づいて、送信が衝突しないスロットを判別し、スロットを確保する。確保した結果は、スロットマップテーブル記憶部１６３に記憶させる。
スロット確保部１６９は、チャネル割当部の一例である。
スロット確保部１６９が確保できるスロットが複数ある場合にどのスロットを確保するかの規則は、通信コミュニティ８００内のすべての端末装置１００が同じ規則を用いる。
例えば、できるだけスロット番号の小さいスロットから順に確保し、複数のスロットを確保する場合には、連続したスロット番号のスロットを確保することとする。
【０２８３】
通信コミュニティ８００内のすべての端末装置１００は、同じスロット情報を共有し、また、同じスロット確保要求を、同じ順番で処理するので、スロット確保部１６９が確保するスロットの割当（マッピング）は、すべての端末装置１００で同じになる。
【０２８４】
ＴＤＭＡ管理部１６７は、スロットマップテーブル記憶部１６３が記憶したスロットマップテーブルのうち、端末装置１００のスロットマップテーブルを参照することにより、端末装置１００が確保したスロットが判別できる。
【０２８５】
次に、動作について説明する。
【０２８６】
図２６は、この実施の形態におけるアドホックネットワーク制御部１４０の通信路要求蓄積処理の流れの一例を示すフローチャート図である。
【０２８７】
Ｓ８１（送信要求入力工程）において、アドホックネットワーク制御メッセージ取得部１４５が、アプリケーション制御部１３０から、通信路確保要求メッセージを取得する。
通信路確保要求メッセージは、実施の形態１で説明したものと同様のメッセージであり、アプリケーション実行部１１０が実行しているアプリケーションプログラムからの要求により、アプリケーション制御部１３０が通知するものである。
【０２８８】
Ｓ８２において、通信路要求記憶部１９３が、Ｓ８１でアドホックネットワーク制御メッセージ取得部１４５が取得した通信路確保要求メッセージから生成した通信路要求情報を記憶する。
【０２８９】
Ｓ８３において、通信路確保要求送信部４２２が、周辺に存在する他の端末装置に対して、新しい通信路要求情報を送信する。
その後、通信路要求削除処理を終了する。
【０２９０】
他の端末装置から通信路要求情報を受信した場合にも、通信路要求蓄積処理をする。その場合は、Ｓ８４から処理を開始する。
【０２９１】
Ｓ８４（他端末送信要求受信工程）において、通信路確保要求受信部４１２が、他の端末装置から通信路要求情報を受信する。
通信路要求情報は、要求元のアプリケーション識別子、要求元の端末識別子、宛先端末装置の端末識別子などを含む。通信路要求情報は、端末装置１００を通る通信路であるか否かにかかわらず、通信コミュニティ８００内のすべての端末装置１００に、同じ情報が通知される。
【０２９２】
Ｓ８５において、通信路要求記憶部１９３は、Ｓ８４で通信路確保要求受信部４１２が受信した通信路要求情報と同一の情報を、既に記憶しているか否かを判断する。同じ情報を別の経路から受信する場合があるからである。
記憶済の場合は、通信路要求蓄積処理を終了する。
まだ記憶していない（新しい）通信路要求情報である場合には、Ｓ８２へ進む。新しい通信路情報を記憶し、他の端末装置に対して送信する。
【０２９３】
図２７は、この実施の形態におけるアドホックネットワーク制御部１４０の通信路要求削除処理の流れの一例を示すフローチャート図である。
【０２９４】
Ｓ９１において、アドホックネットワーク制御メッセージ取得部１４５が、アプリケーション制御部１３０から、通信路解放要求メッセージを取得する。
通信路解放要求メッセージも、実施の形態１で説明したものと同様のメッセージである。
【０２９５】
Ｓ９２において、通信路要求記憶部１９３が、Ｓ９１でアドホックネットワーク制御メッセージ取得部１４５が取得した通信路解放要求メッセージに対応する通信路要求情報を、削除する。
【０２９６】
Ｓ９３において、アドホックネットワークプロトコル送信部１４２が、周辺に存在する他の端末装置に対して、通信路解放情報を送信する。
その後、通信路要求削除処理を終了する。
【０２９７】
他の端末装置から通信路解放情報を受信した場合は、通信路要求削除処理を、Ｓ９４から開始する。
【０２９８】
Ｓ９４において、アドホックネットワークプロトコル受信部１４１が、他の端末装置から通信路解放情報を取得する。
【０２９９】
Ｓ９５において、通信路要求記憶部１９３が、解放要求された通信路についての通信路要求情報を記憶しているか否かを判断する。
記憶していない場合は、削除済とみなし、通信路要求削除処理を終了する。
記憶している場合は、Ｓ９２へ進む。対応する通信路要求情報を削除し、他の端末装置に対して、通信路解放情報を送信する。
【０３００】
図２８は、この実施の形態におけるアドホックネットワーク制御部１４０の通信路割当処理の流れの一例を示すフローチャート図である。
【０３０１】
Ｔ１１において、ルーティング管理部１４３が、通信路要求記憶部１９３が記憶したすべての通信路要求情報について、通信路を算出する。
したがって、ルーティング管理部１４３が算出する通信路は、端末装置１００を通るものか否かにかかわらず、通信コミュニティ８００内で、現在要求されているすべての通信路である。通信コミュニティ８００内のすべての端末装置１００が、同一の情報に基づき、同一のアルゴリズムで通信路を算出するので、算出結果も、すべての端末装置１００で同一となる。
【０３０２】
Ｔ１２において、スロット管理要求メッセージ通知部１４８が、ＱｏＳ調整部１５０に対して、通信路要求記憶部１９３が記憶したすべての通信路要求情報に対応するスロット確保要求情報を通知する。
スロット確保要求情報は、通信路要求情報に含まれる要求元のアプリケーション識別子、要求元の端末識別子、宛先端末装置の端末識別子のほか、Ｔ１１でルーティング管理部１４３が算出した通信路における中継端末装置の端末識別子、ルートコストなどを含む。
【０３０３】
Ｔ１３において、スロット管理結果メッセージ取得部１４９が、ＱｏＳ調整部１５０から、スロット割当結果メッセージを取得する。
スロット割当結果メッセージは、端末装置１００を通る通信路について、割り当てたスロットのスロットマップ識別子などの情報を含む。
【０３０４】
Ｔ１４において、ルーティングテーブル記憶部１４４は、Ｔ１３で取得した情報に基づいて、記憶したルーティングテーブルの内容を書き換える。
これにより、新しいスロット割当に基づくアドホック通信が可能となる。
【０３０５】
図２９は、この実施の形態におけるＱｏＳ調整部１５０のスロット割当処理の流れの一例を示すフローチャート図である。
【０３０６】
Ｔ２１において、スロット管理要求メッセージ取得部１５１が、アドホックネットワーク制御部１４０から、スロット確保要求情報を取得する。
【０３０７】
Ｔ２２において、スロット解放要求通知部１５５が、ＴＤＭＡ制御部１６０に対して、確保したすべてのスロットの解放を要求するスロット解放要求メッセージを通知する。
それまでのスロット割当状態にかかわらず、一から新たに、スロットを割り当てるためである。
【０３０８】
Ｔ２３（必要チャネル数算出工程および他端末必要チャネル数算出工程）において、スロット数算出部１５７が、Ｔ２１でスロット管理要求メッセージ取得部１５１が取得したすべてのスロット確保要求情報について、確保すべきスロット数を算出する。
なお、確保すべきスロット数の計算式は、例えば、実施の形態１で説明したものと同じ計算式を用いてもよいし、他の計算式によるものでもよい。
【０３０９】
Ｔ２４（送信要求重要度判別工程）において、状態管理部１５３が、Ｔ２１でスロット管理要求メッセージ取得部１５１が取得したすべてのスロット確保要求情報について、要求元の重要度を求める。
要求元の重要度は、スロット確保要求情報に含まれる要求元のアプリケーション識別子により、アプリケーション属性テーブル記憶部１５９が記憶したアプリケーション属性テーブルを検索することで、求められる。
【０３１０】
Ｔ２５において、状態管理部１５３が、Ｔ２４で求めた重要度に基づいて、スロット確保要求情報を重要度が高い順に並べ替える。
【０３１１】
Ｔ２６において、スロット確保要求通知部１５４が、ＴＤＭＡ制御部１６０に対し、スロット確保要求メッセージを通知する。
スロット確保要求メッセージは、スロット確保要求情報を、スロットを確保すべき端末装置ごとに分割したものである。例えば、１つの通信路において、中継端末装置が３つあれば、送信を行う端末装置は、要求元の端末装置を含めて、４つある。したがって、１つのスロット確保要求情報に対して、４つのスロット確保要求メッセージを通知する。
スロット確保要求メッセージは、スロットを確保すべき端末装置の端末識別子、確保すべきスロット数の情報を含む。
スロットを確保すべき端末装置の端末識別子は、スロット確保要求情報に含まれる要求元の端末識別子、または、中継端末装置の端末識別子である。
確保すべきスロット数は、Ｔ２３でスロット数算出部１５７が算出したものである。
【０３１２】
Ｔ２７において、スロット確保要求通知部１５４が、すべてのスロット確保要求メッセージを通知し終わったことを知らせるため、ＴＤＭＡ制御部１６０に対し、スロット割当終了メッセージを通知する。
【０３１３】
Ｔ２８において、スロット確保成否取得部１５６が、ＴＤＭＡ制御部１６０から、スロット割当結果メッセージを取得する。スロット割当結果メッセージは、スロット確保要求メッセージに対して、端末装置１００が確保したスロットのスロット番号などの情報を含む。
【０３１４】
Ｔ２９において、スロット管理結果メッセージ通知部１５２が、アドホックネットワーク制御部１４０に対し、スロット割当結果メッセージを通知する。
【０３１５】
Ｔ３０において、スロットマップ識別子記憶部１９１が、スロットマップ識別子およびそれに割り当てられたスロットのスロット番号などを記憶する。
【０３１６】
Ｔ３１（割当チャネル確保工程）において、アプリケーション属性テーブル記憶部１５９が、アプリケーションプログラムに割り当てられたスロットのスロットマップ識別子などを記憶する。
これにより、新しいスロット割当に基づくアドホック通信が可能となる。
【０３１７】
図３０は、この実施の形態におけるＴＤＭＡ制御部１６０のスロット割当処理の流れの一例を示すフローチャート図である。
【０３１８】
Ｔ４１において、スロット解放要求取得部１６５が、ＱｏＳ調整部１５０から、スロット解放要求メッセージを取得する。
【０３１９】
Ｔ４２において、スロットマップテーブル記憶部１６３が、記憶したスロットマップテーブルの内容を初期化し、確保したスロットが一つもない状態とする。
【０３２０】
Ｔ４３において、スロット確保要求取得部１６４が、ＱｏＳ調整部１５０から、スロット確保要求メッセージまたはスロット割当終了メッセージを取得する。
【０３２１】
Ｔ４４において、Ｔ４３でスロット確保要求取得部１６４が取得したメッセージの種類により、処理を分岐する。
スロット確保要求メッセージである場合には、Ｔ４５へ進む。
スロット割当終了メッセージである場合には、Ｔ４７へ進む。
【０３２２】
Ｔ４５（チャネル割当工程）において、スロット確保部１６９が、スロット情報記憶部１９２が記憶したスロット情報に基づいて、各端末装置が確保できるスロットを算出する。
【０３２３】
Ｔ４６において、スロットマップテーブル記憶部１６３が、スロット確保部１６９が算出したスロットについて、スロットマップテーブルの内容を書き換える。
その後、Ｔ４３に戻り、次のスロット確保要求を処理する。
【０３２４】
Ｔ４７において、スロット確保成否通知部１６６が、ＱｏＳ調整部１５０に対し、スロット割当結果メッセージを通知する。
スロット割当結果メッセージは、スロット確保結果のうち、その端末装置１００が確保したスロットについてのスロット番号などの情報を含む。
【０３２５】
図３１は、この実施の形態におけるスロットマップテーブル記憶部１６３が記憶するスロットマップテーブルの一例を示す図である。
【０３２６】
端末識別子５４１は、通信コミュニティ８００内で各端末装置を識別するための識別情報である。
スロットマップテーブル記憶部１６３は、通信コミュニティ８００内のすべての端末装置１００についてのスロットマップテーブルを記憶している。
【０３２７】
スロット空き状況５４２は、各スロットが使用可能か否かを示す情報である。この例では、ＴＤＭＡスロットが全部で７つあり、左から順に、スロット１、スロット２、…、スロット７が使用可能かを示す。
この例では、「◎」は、そのスロットをその端末装置が確保したこと、「○」は、そのスロットをその端末装置が使用して送信しても送信の衝突が起こらないこと、「×」は、そのスロットをその端末装置が使用して送信すると、隣接する端末装置がそのスロットを確保しているため、送信が衝突すること、「△」は、そのスロットをその端末装置が使用して送信すると、隣接する端末装置はそのスロットを確保していないが、隣接する端末装置に隣接する端末装置（隠れ端末）がそのスロットを確保しているので、送信が衝突すること、を意味する。
したがって、この例では、例えば、「端末Ａ＿ＩＤ」で識別される端末装置は、スロット５〜７を確保してもよいことがわかる。
【０３２８】
スロットマップテーブル記憶部１６３は、スロット確保部１６９がスロットを確保した場合、スロット情報記憶部１９２が記憶した情報に基づいて、確保したスロットと送信が衝突するスロットを判別し、スロットマップテーブルに記憶する。
【０３２９】
図３２は、この実施の形態における端末装置１００のメッセージの流れの一例を示す図である。
【０３３０】
アドホックネットワーク制御部１４０のアドホックネットワーク管理部１４７は、何らかのきっかけで、スロット割当を開始する。
例えば、定期的にスロット割当を行うこととして、前回のスロット割当から所定の時間が経過したことを判別し、スロット割当を開始する。
あるいは、アドホックネットワークプロトコル受信部１４１が、他の端末装置から、スロット割当の開始を要求するメッセージを受信した場合に、スロット割当を開始してもよい。
または、通信コミュニティ８００内のいずれかの端末装置１００で、新たな通信路確保要求あるいは通信路解放要求が発生した場合に、スロット割当を開始してもよい。
【０３３１】
アドホックネットワーク制御部１４０のルーティング管理部１４３は、すべてのスロット確保要求について、通信路を算出する。
アドホックネットワーク制御部１４０のスロット管理要求メッセージ通知部１４８は、ＱｏＳ調整部１５０に対して、スロット確保要求情報７４２を通知する。
スロット確保要求情報７４２は、すべてのスロット確保要求について、要求元のアプリケーション識別子、要求元の端末識別子、中継端末装置の端末識別子、宛先端末装置の端末識別子、ルートコストなどの情報を含む。
【０３３２】
ＱｏＳ調整部１５０のスロット管理要求メッセージ取得部１５１は、スロット確保要求情報７４２を取得する。
ＱｏＳ調整部１５０のスロット解放要求通知部１５５は、確保したすべてのスロットを解放させるため、ＴＤＭＡ制御部１６０に対して、スロット解放要求メッセージ７５１を通知する。
【０３３３】
ＴＤＭＡ制御部１６０のスロット解放要求取得部１６５は、スロット解放要求メッセージ７５１を取得する。
ＴＤＭＡ制御部１６０のＴＤＭＡ管理部１６７は、スロットマップテーブル記憶部１６３が記憶しているすべての確保されたスロットに関する情報を初期化して、すべてのスロットが解放された状態とする。
ただし、アドホックネットワーク制御部１４０のルーティングテーブル記憶部１４４やＱｏＳ調整部１５０のアプリケーション属性テーブル記憶部１５９・スロットマップ識別子記憶部１９１は初期化しないので、スロット割当が終了するまでの間は、古いスロット割当を用いて、アドホック通信をすることができる。
あるいは、スロットマップテーブル記憶部１６３を複数用意して、これを切り替えて使用することにより、スロット割当が終了するまでの間、古いスロットマップテーブルを使用できるようにしておいてもよい。
【０３３４】
ＱｏＳ調整部１５０のスロット数算出部１５７は、すべてのスロット確保要求について、確保すべきスロット数を算出する。
ＱｏＳ調整部１５０の状態管理部１５３は、すべてのスロット確保要求について、要求元の重要度を算出し、スロット確保要求を並べ替える。
ＱｏＳ調整部１５０のスロット確保要求通知部１５４は、すべてのスロット確保要求を、並べ替えた順番で、ＴＤＭＡ制御部に対し、スロット確保要求メッセージ７５２として通知する。
スロット確保要求メッセージ７５２は、スロットを確保すべき端末装置の端末識別子、確保すべきスロット数などの情報を含む。一つのスロット確保要求に対して、（中継端末装置の数）＋１（要求元の端末装置の分）個のスロット確保要求メッセージ７５２を通知する。
【０３３５】
ＴＤＭＡ制御部１６０のスロット確保要求取得部１６４は、スロット確保要求メッセージ７５２を取得する。
ＴＤＭＡ制御部１６０のスロット確保部１６９は、スロット情報記憶部１９２が記憶したスロット情報に基づいて、各端末装置の送信が衝突しないＴＤＭＡスロットを判別し、ＴＤＭＡスロットを確保する。
ＴＤＭＡ制御部１６０のスロットマップテーブル記憶部１６３は、スロット確保部１６９が各端末装置について確保したスロットを記憶する。
【０３３６】
ＱｏＳ調整部１５０のスロット確保要求通知部１５４は、すべてのスロット確保要求メッセージ７５２を通知し終わった場合に、ＴＤＭＡ制御部１６０に対して、スロット割当終了メッセージ７５３を通知する。
【０３３７】
ＴＤＭＡ制御部１６０のスロット確保要求取得部１６４は、スロット割当終了メッセージ７５３を取得する。
ＴＤＭＡ制御部１６０のＴＤＭＡ管理部１６７は、スロットマップテーブル記憶部１６３が記憶したスロットマップテーブルから、端末装置１００に割り当てられたスロットについての情報を取得する。
ＴＤＭＡ制御部１６０のスロット確保成否通知部１６６は、ＱｏＳ調整部１５０に対して、スロット割当結果メッセージ７５４を通知する。
スロット割当結果メッセージ７５４は、端末装置１００に割り当てられたスロットについての情報を含む。
なお、すべてのスロット確保が終了してからスロット割当結果を通知するのではなく、一つ一つのスロット確保要求に対して、その結果を通知することとしてもよい。
【０３３８】
ＱｏＳ調整部１５０のスロット確保成否取得部１５６は、スロット割当結果メッセージ７５４を取得する。
ＱｏＳ調整部１５０の状態管理部１５３は、スロット割当結果メッセージに含まれる、端末装置１００に割り当てられたスロットについての情報から、各通信路のために確保するスロットを決定する。
ＱｏＳ調整部１５０のスロット管理結果メッセージ通知部１５２は、アドホックネットワーク制御部１４０に対して、スロット割当結果メッセージ７４３を通知する。
スロット割当結果メッセージ７４３は、確保したスロットのスロットマップ識別子、そのスロットを割り当てた要求元のアプリケーション識別子などを含む。
【０３３９】
アドホックネットワーク制御部１４０のスロット管理結果メッセージ取得部１４９は、スロット割当結果メッセージ７４３を取得する。
【０３４０】
その後、なんらかの手段で、他の端末装置と同期をとり、一斉に、ルーティングテーブル記憶部１４４、アプリケーション属性テーブル記憶部１５９などが記憶したテーブルの内容を書き換え、新しいスロット割当による通信を開始する。
【０３４１】
アプリケーション属性テーブル記憶部１５９は、通信路を確保できたアプリケーションプログラムについて、使用状況５２４を「使用」にし、スロットマップ識別子５２５を、確保したスロットのスロットマップ識別子に書き換える。また、通信路を確保できなかったアプリケーションプログラムについて、使用状況を「未使用」に書き換える。
ルーティングテーブル記憶部１４４は、確保した通信路を記憶し、パス状態５１５を「アクティブ」にし、スロットマップ識別子５１６、アプリケーション識別子５１７を記憶する。
なお、スロット割当処理の間は、アドホック通信をしないこととして、ルーティングテーブル記憶部１４４、アプリケーション属性テーブル記憶部１５９などが記憶したテーブルの内容を、随時、書き換えることとしてもよい。
あるいは、ルーティングテーブル記憶部１４４、アプリケーション属性テーブル記憶部１５９などを複数用意し、古いテーブルを保持したまま、新しいテーブルを作成すれば、スロット割当処理の間も、アドホック通信を可能とすることができる。
【０３４２】
ここで説明した端末装置１００によれば、スロット割当のために他の端末装置と交渉をすることなく、自律的にスロット割当を決定するので、スロット割当決定のための制御用通信に通信帯域を取られることがなく、実際に送信したい情報の送信のための通信帯域が広くなるという効果を奏する。
【０３４３】
ここで説明した端末装置１００によれば、スロット割当のために他の端末装置と交渉をすることなく、自律的にスロット割当を決定するので、スロットの割当変更のために必要な時間を短縮することができ、迅速な通信ができるという効果を奏する。
【０３４４】
ここで説明した端末装置１００によれば、重要度の高い通信から順に、通信路を確保するので、ＴＤＭＡスロットが足りない場合でも、重要度の高い通信は、要求される通信品質を保証することができるという効果を奏する。
【０３４５】
ここで説明した端末装置１００によれば、すべての送信要求を把握した上で、通信路を算出するので、通信路が１つの端末装置に集中するなどして、通信の効率が悪くなることを防ぐことができるという効果を奏する。
【０３４６】
ここで説明した端末装置１００によれば、すべての送信要求を把握した上で、スロットの割当を算出するので、スロットの利用効率を高くすることができるという効果を奏する。
【０３４７】
また、ここで説明した端末装置１００が使用する無線通信方法によれば、上記説明した端末装置１００の効果と同様の効果を奏する。
【０３４８】
また、ここで説明した端末装置１００として、コンピュータを機能させるための無線通信プログラムによれば、上記説明した効果を有する端末装置１００を実現することができるという効果を奏する。
【０３４９】
実施の形態３．
実施の形態３を、図３３〜図３４を用いて説明する。
この実施の形態における通信コミュニティ８００の全体構成、端末装置１００のハードウェア構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【０３５０】
図３３は、この実施の形態における端末装置１００の機能ブロックの構成の一例を示すブロック構成図である。なお、実施の形態１で説明したものと同一の機能ブロックには、同一の符号をつけ、説明を省略する。
端末装置１００は、実施の形態１で説明した機能ブロックのほか、同期状態記憶部１８０を有する。
同期状態記憶部１８０は、同期状態を記憶する。
同期状態とは、通信コミュニティ８００におけるアドホック通信のモードであり、例えば、「緊急状態」「通常状態」「保守状態」などを示す。なお、これらの状態に数値を割り当て、「１」「２」「３」などとして、同期状態記憶部１８０が記憶してもよい。
【０３５１】
同期状態は、例えば、通信コミュニティ８００内のいずれかの端末装置１００において、アプリケーション実行部１１０が実行しているアプリケーションプログラムが、緊急事態の発生を検出した場合に、アドホック通信により、通信コミュニティ８００内のすべての端末装置に対して、そのことを通知することにより、変化する。
例えば、端末装置１００のアドホックネットワークプロトコル受信部１４１が、その通知を受信し、同期状態記憶部１８０が、記憶した同期状態を書き換える。
【０３５２】
この実施の形態の端末装置１００は、実施の形態１で説明したスロット割当方式と、実施の形態２で説明したスロット割当方式の両方を実現できる構成を有しており、同期状態記憶部１８０が記憶した同期状態により、スロット割当方式を切り替えるものである。
【０３５３】
図３４は、この実施の形態における端末装置１００のメッセージの流れの一例を示す図である。
【０３５４】
アプリケーション実行部１１０が実行しているアプリケーションプログラムが、緊急事態の発生など、同期状態を変更する必要のある状態となったことを検出する。
アプリケーション実行部１１０は、アプリケーション制御部１３０に対して、同期状態変更メッセージ７１１を通知する。同期状態変更メッセージ７１１は、変更後の同期状態を含む。
【０３５５】
アプリケーション制御部１３０は、アドホックネットワーク制御部１４０に対して、同期状態変更メッセージ７３１を通知する。
【０３５６】
アドホックネットワーク制御部１４０は、周辺の他の端末装置に対して、同期状態変更メッセージ７８１を送信する。
同期状態変更メッセージ７８１は、通常のＱｏＳアドホックネットワークプロトコルにしたがって、他の端末装置に送信する。
同期状態記憶部１８０は、同期状態変更メッセージ７３１に含まれている同期状態を、新たな同期状態として記憶する。
【０３５７】
他の端末装置では、アドホックネットワーク制御部１４０が同期状態変更メッセージ７８１を受信し、更に、周辺の他の端末装置に対して転送する。
【０３５８】
これにより、通信コミュニティ８００内のすべての端末装置１００が、同一の同期状態を共有する。
【０３５９】
その後、同期状態記憶部１８０が記憶した同期状態に基づいて、スロット割当方式を切り替える。
【０３６０】
なお、同期状態の変化は、通信コミュニティ８００内のすべての端末装置に、迅速に伝達される必要があるため、同期状態変更通知用に、ＴＤＭＡスロットを１つ用意しておき、そのスロットを使用して、送信することとしてもよい。
あるいは、ＴＤＭＡ制御部１６０がスロット確保情報の交換用に使用する制御用スロットを使用して、同期状態の変更を送信することとしてもよい。
また、変更があった場合だけでなく、そのスロットを使用して、常に現在の同期状態を送信することとしてもよい。
【０３６１】
また、同期状態の変更を通知された端末装置１００は、すぐに現在のスロット割当方式の使用を中止し、新たなスロット割当方式による無線通信を開始してもよい。
あるいは、同期状態変更メッセージ７８１に、スロット割当方式切り替えの時刻を含めるなど、なんらかの方式で、他の端末装置と同期をとり、一斉に、スロット割当方式を切り替えることとしてもよい。
切り替え時刻を指定する場合には、同期状態変更メッセージ７８１が通信コミュニティ８００内のすべての端末装置１００に伝達され、端末装置１００がスロット割当方式の切り替えに必要な情報を収集し、新たなスロット割当を算出するまでにかかる時間を考慮して、十分な余裕を見て、切り替え時刻を指定する。
例えば、アドホックネットワーク制御部１４０は、ルーティングテーブル記憶部１４４が記憶したルーティングテーブルから、通信コミュニティ８００内で一番遠い端末装置までの中継端末装置の数を算出し、同期状態変更メッセージ７８１がその端末装置まで伝達されるのにかかる時間を求めて、切り替え時刻を算出する。
【０３６２】
ここで説明した端末装置１００によれば、通信コミュニティ８００内で発生した事態に基づいて、スロット割当方式を切り替えて使用するので、状況に応じた最適なスロット割当方式とすることができるという効果を奏する。
【０３６３】
以上説明したスロット割当方式（ＴＤＭＡスロット割当方式）は、ＴＤＭＡスロットを割り当てることにより、単一の通信エリア内（通信コミュニティ）に存在する複数の端末装置による送受の衝突を回避するアドホックネットワークに対して、各端末装置にアドホック通信のＱｏＳ情報と重要度情報を含むＱｏＳ割当ポリシィを配布する管理フェーズと、実際にアドホックネットワークによるアプリケーション間通信を行う実行フェーズを分離して運用し、重要度の高いＱｏＳが設定されているアプリケーションプログラムが利用するルートコストがＱｏＳを満足しない状況になった場合は、重要度の低いＱｏＳを設定しているアプリケーションプログラムの利用を交渉により制限することにより、常に重要度の高いＱｏＳのアドホック通信を維持することを特徴とする。
【０３６４】
また、以上説明したスロット割当方式は、実行フェーズにおいて同期状態と呼ぶ通信コミュニティ内の全ての端末装置が共通に保持する情報を設け、この同期状態をデフォルトのルートコストとして取り扱うことにより、予め管理フェーズに配布されているＱｏＳ割当ポリシィ情報として各端末装置間が保持するアプリケーションの重要度とＱｏＳから各端末装置が自律的にスロット割当を決定することにより、情報更新のために端末装置間で行うルーティングパスの検索や、帯域内のＴＤＭＡ割当を交渉する負荷を削減し、重要度に応じた重要的なネットワーク資源の利用を実現することを特徴とする。
【０３６５】
以上説明したアドホックネットワークＴＤＭＡ制御装置（アドホックネットワークＴＤＭＡ制御部）は、以下の構成要件を備えたことを特徴とする。
（１）アプリケーションプログラム間でアドホック通信により連携するアプリケーション制御部。
（２）ＱｏＳアドホックネットワークプロトコルのアドホックルーティング交渉処理により、定期的に端末装置間のルートを監視し維持するアドホックネットワーク制御部。
（３）ＱｏＳアドホックネットワークプロトコルのＱｏＳスロット割当交渉処理により、端末装置間で利用するＴＤＭＡスロット割当てを行うＴＤＭＡ制御部。
（４）管理フェーズに配布されるＱｏＳ割当ポリシィとして、アプリケーションプログラム単位にＴＤＭＡ割当のために必要な、重要度、ＱｏＳを設定する定義部。
（５）アドホックネットワーク制御部が管理するルートコストに変更があった場合に、重要度に応じて、そのルートを利用しているアプリケーションプログラム対応に規定されているＱｏＳ割当ポリシィを満足するＴＤＭＡ割当を行い、この割当が行えない場合は、他のアプリケーションプログラムが利用しているＴＤＭＡスロットを解放して利用するＱｏＳ調整部。
【０３６６】
また、以上説明したアドホックネットワークＴＤＭＡ制御装置（アドホックネットワークＴＤＭＡ制御部）は、更に、以下の構成要件を備えたことを特徴とする。
（６）アプリケーションプログラムが指定する、全ての端末装置に共通の情報である同期状態を共有することにより、この情報とＱｏＳ割当ポリシィの関係に基づいてＴＤＭＡ制御部を実行する事により、アドホックネットワーク制御部によるＱｏＳアドホックネットワークプロトコルによる交渉の負荷を発生させずに、アドホックネットワーク通信を行うＱｏＳ調整部。
【０３６７】
これにより、ルートコストが増大した場合には、予めＱｏＳ割当ポリシィとして各端末に保持されているアプリケーション毎の重要度、ＱｏＳ情報に基づいて、重要度の高いアドホック通信を重要してＱｏＳを満足するようにＴＤＭＡスロットの再割当を行うので、一度確立したルートが変更になりルートコストが増加しても通信の品質が劣化しない。
【０３６８】
また、同期状態として全ての端末が共有する情報に対応してＱｏＳ割当ポリシィに定義している重要度とＱｏＳの値に基づいて、ＴＤＭＡスロット割当を行う事により、通信負荷を発生させる事なく重要の高いアドホック通信を維持するので、ＴＤＭＡ割当時に端末間で交渉のための通信が発生しない。
【図面の簡単な説明】
【０３６９】
【図１】実施の形態１における通信コミュニティ８００の全体構成の一例を示す全体構成図。
【図２】実施の形態１における端末装置１００のハードウェア構成の一例を示すハードウェア構成図。
【図３】実施の形態１における端末装置１００の機能ブロックの構成の一例を示すブロック構成図。
【図４】実施の形態１におけるアプリケーション制御部１３０の機能ブロックの一例を示す詳細ブロック図。
【図５】実施の形態１におけるアドホックネットワーク制御部１４０の機能ブロックの一例を示す詳細ブロック図。
【図６】実施の形態１におけるルーティングテーブル記憶部１４４が記憶するルーティングテーブル５１０の一例を示す図。
【図７】実施の形態１におけるアドホックネットワーク制御部１４０の通信路確保処理の流れの一例を示すフローチャート図。
【図８】実施の形態１におけるアドホックネットワーク制御部１４０の通信路確保処理の流れの一例を示すフローチャート図。
【図９】実施の形態１におけるアドホックネットワーク制御部１４０のスロット解放対応処理の流れの一例を示すフローチャート図。
【図１０】実施の形態１におけるＱｏＳ割当ポリシィ記憶部が記憶するＱｏＳ割当ポリシィの一例を示す図。
【図１１】実施の形態１におけるＱｏＳ調整部１５０の機能ブロックの一例を示す詳細ブロック図。
【図１２】実施の形態１におけるアプリケーション属性テーブル記憶部１５９が記憶したアプリケーション属性テーブルの一例を示す図。
【図１３】実施の形態１におけるスロットマップ識別子記憶部１９１が記憶するスロットマップ識別子テーブルの一例を示す図。
【図１４】実施の形態１におけるＱｏＳ調整部１５０のスロット確保処理の流れの一例を示すフローチャート図。
【図１５】実施の形態１におけるＱｏＳ調整部１５０のスロット再確保処理の流れの一例を示すフローチャート図。
【図１６】実施の形態１におけるＴＤＭＡ制御部１６０の機能ブロックの一例を示す詳細ブロック図。
【図１７】実施の形態１における階層化された通信プロトコルの一例を示すイメージ図。
【図１８】実施の形態１における端末装置１００全体の基本的な動作の流れの一例を示す図。
【図１９】実施の形態１における端末装置１００のメッセージの流れの一例を示す図。
【図２０】実施の形態１における端末装置１００のメッセージの流れの別の例を示す図。
【図２１】実施の形態１における端末装置１００のメッセージの流れの更に別の例を示す図。
【図２２】実施の形態１における端末装置１００のメッセージの流れの更に別の例を示す図。
【図２３】実施の形態２におけるアドホックネットワーク制御部１４０の機能ブロックの構成の一例を示す詳細ブロック図。
【図２４】実施の形態２におけるＱｏＳ調整部１５０の機能ブロックの一例を示す詳細ブロック図。
【図２５】実施の形態２におけるＴＤＭＡ制御部１６０の機能ブロックの構成の一例を示す詳細ブロック図。
【図２６】実施の形態２におけるアドホックネットワーク制御部１４０の通信路要求蓄積処理の流れの一例を示すフローチャート図。
【図２７】実施の形態２におけるアドホックネットワーク制御部１４０の通信路要求削除処理の流れの一例を示すフローチャート図。
【図２８】実施の形態２におけるアドホックネットワーク制御部１４０の通信路割当処理の流れの一例を示すフローチャート図。
【図２９】実施の形態２におけるＱｏＳ調整部１５０のスロット割当処理の流れの一例を示すフローチャート図。
【図３０】実施の形態２におけるＴＤＭＡ制御部１６０のスロット割当処理の流れの一例を示すフローチャート図。
【図３１】実施の形態２におけるスロットマップテーブル記憶部１６３が記憶するスロットマップテーブルの一例を示す図。
【図３２】実施の形態２における端末装置１００のメッセージの流れの一例を示す図。
【図３３】実施の形態３における端末装置１００の機能ブロックの構成の一例を示すブロック構成図。
【図３４】実施の形態３における端末装置１００のメッセージの流れの一例を示す図。
【符号の説明】
【０３７０】
１００  端末装置、１０１〜１０４  下流端末装置、１０６，１０７  上流端末装置、１１０  アプリケーション実行部、１２０  アドホックネットワークＴＤＭＡ制御部、１３０  アプリケーション制御部、１３１  アプリケーションメッセージ取得部、１３２  アプリケーションメッセージ通知部、１３３  アプリケーションプロトコル管理部、１３４  アドホックネットワーク制御メッセージ通知部、１３５  アプリケーション制御メッセージ取得部、１４０  アドホックネットワーク制御部、１４１  アドホックネットワークプロトコル受信部、１４２  アドホックネットワークプロトコル送信部、１４３  ルーティング管理部、１４４  ルーティングテーブル記憶部、１４５  アドホックネットワーク制御メッセージ取得部、１４６  アプリケーション制御メッセージ通知部、１４７  アドホックネットワーク管理部、１４８  スロット管理要求メッセージ通知部、１４９  スロット管理結果メッセージ取得部、４１１  ルート情報受信部、４１２  通信路確保要求受信部、４１３  データ受信部、４２１  ルート情報送信部、４２２  通信路確保要求送信部、４２３  データ送信部、１５０  ＱｏＳ調整部、１５１  スロット管理要求メッセージ取得部、１５２  スロット管理結果メッセージ通知部、１５３  状態管理部、１５４  スロット確保要求通知部、１５５  スロット解放要求通知部、１５６  スロット確保成否取得部、１５７  スロット数算出部、１５８  スロット移譲部、１５９  アプリケーション属性テーブル記憶部、１６０  ＴＤＭＡ制御部、１６１  スロット情報受信部、１６２  スロット情報送信部、１６３  スロットマップテーブル記憶部、１６４  スロット確保要求取得部、１６５  スロット解放要求取得部、１６６  スロット確保成否通知部、１６７  ＴＤＭＡ管理部、１６８  空きスロット判別部、１６９  スロット確保部、１７０  ＱｏＳ割当ポリシィ記憶部、１８０  同期状態記憶部、１９１  スロットマップ識別子記憶部、１９２  スロット情報記憶部、１９３  通信路要求記憶部、５１１  パスＩＤ、５１２  宛先端末、５１３  ルートコスト、５１４  隣接端末、５１５  パス状態、５１６，５２５，５３１  スロットマップ識別子、５１７，５２１，５３２  アプリケーション識別子、５２２  重要度、５２３  ＱｏＳ、５２４  使用状況、５３３  スロットマップ、６１１  通信開始要求メッセージ、６１２  通信準備完了メッセージ、６１３  通信路切断メッセージ、６３１  通信路確保要求メッセージ、６３２  通信路確保成功メッセージ、６３３  通信路切断メッセージ、６４１  スロット確保要求メッセージ、６４２  スロット確保成功メッセージ、６４３  スロット解放メッセージ、６４４  スロット再確保要求メッセージ、６４５  スロット再確保成功メッセージ、６５１  スロット確保要求メッセージ、６５２  スロット確保成功メッセージ、６５３  スロット確保失敗メッセージ、６５４  スロット解放要求メッセージ、６５５  スロット解放成功メッセージ、６８１  通信路確保要求メッセージ、６８２  通信路解放要求メッセージ、６９１  通信路確保成功メッセージ、６９２  通信路切断メッセージ、６９３  ルートコスト変更メッセージ、７１１  同期状態変更メッセージ、７３１  同期状態変更メッセージ、��４２  スロット確保要求情報、７４３  スロット割当結果メッセージ、７５１  スロット解放要求メッセージ、７５２  スロット確保要求メッセージ、７５３  スロット割当終了メッセージ、７５４  スロット割当結果メッセージ、７８１  同期状態変更メッセージ、８００  通信コミュニティ、９０１  処理装置、９０２  記憶装置、９０３  入力装置、９０４  出力装置、９０５  無線通信装置。
【図１】
0004750538.tif 000002
【図２】
0004750538.tif 000003
【図３】
0004750538.tif 000004
【図４】
0004750538.tif 000005
【図５】
0004750538.tif 000006
【図６】
0004750538.tif 000007
【図７】
0004750538.tif 000008
【図８】
0004750538.tif 000009
【図９】
0004750538.tif 000010
【図１０】
0004750538.tif 000011
【図１１】
0004750538.tif 000012
【図１２】
0004750538.tif 000013
【図１３】
0004750538.tif 000014
【図１４】
0004750538.tif 000015
【図１５】
0004750538.tif 000016
【図１６】
0004750538.tif 000017
【図１７】
0004750538.tif 000018
【図１８】
0004750538.tif 000019
【図１９】
0004750538.tif 000020
【図２０】
0004750538.tif 000021
【図２１】
0004750538.tif 000022
【図２２】
0004750538.tif 000023
【図２３】
0004750538.tif 000024
【図２４】
0004750538.tif 000025
【図２５】
0004750538.tif 000026
【図２６】
0004750538.tif 000027
【図２７】
0004750538.tif 000028
【図２８】
0004750538.tif 000029
【図２９】
0004750538.tif 000030
【図３０】
0004750538.tif 000031
【図３１】
0004750538.tif 000032
【図３２】
0004750538.tif 000033
【図３３】
0004750538.tif 000034
【図３４】
0004750538.tif 000035