(57)【要約】【課題】基地局や固定局、移動局関係なく、電源がオンされたりオフされたり、移動したりする無線装置を備え、直接電磁波が届く無線装置を中継（マルチホッピング）することにより、直接電磁波の届かない無線装置間のデータ伝送を可能とするアドホックネットワークにおいて、通信ルートの変更の頻度ができるだけ少なくなるようにする。【解決手段】通信ルートを選ぶ際に、電源がオフされにくい無線装置や、移動されにくい無線装置をできるだけ含む通信ルートを選ぶ。【選択図】  図１
2006020221.tif 000002
【特許請求の範囲】
【請求項１】
複数の無線装置を備え、各前記無線装置が、他の前記無線装置から送信されたデータを、前記データの宛先に応じて定められた通信ルートに従って次の前記無線装置に送信することによって、前記無線装置間の通信を行う無線通信システムに用いられる前記無線装置であって、
前記データの宛先を示す前記無線装置の識別子と、前記データの次の送信先を示す前記無線装置の識別子とを対応付けた通信ルート管理テーブルと、
自己の無線通信機能の稼働率を示す情報と、
を記憶し、
新たな前記通信ルートで他の前記無線装置を宛先としてデータを送信する場合は、
前記データの宛先となる前記他の無線装置の識別子と前記新たな通信ルートの探索元としての自己の識別子とを含むルート探索パケットを自己と直接通信が可能な各無線装置に送信し、
前記ルート探索パケットを受信した場合において、前記受信したルート探索パケットに記載された前記宛先となる無線装置の識別子が、自己の識別子と異なる場合には、
前記受信したルート探索パケットに、自己の識別子と、前記自己の無線通信機能の稼働率を示す情報と、を追加して、前記ルート探索パケットを自己と直接通信が可能な各無線装置に送信し、
前記ルート探索パケットを受信した場合において、前記受信したルート探索パケットに記載された前記宛先となる無線装置の識別子が、自己の識別子と同じである場合には、
前記受信したルート探索パケットが経由してきた各無線装置によりそれぞれ記載された前記各無線装置の稼働率を示す情報に基づいて、前記ルート探索パケットが経由してきた通信ルートの信頼性を示す情報を算出し、
自己を宛先として送信されてくる前記ルート探索パケットのそれぞれについて前記算出した各通信ルートの信頼性を示す情報に基づいて、前記探索元となる無線装置から自己にデータを送信するための前記新たな通信ルートを決定する
ことを特徴とする無線装置。
【請求項２】
請求項１に記載の無線装置であって、
前記決定した新たな通信ルートにおける各無線装置の識別子を含むルート探索応答パケットを、前記新たな通信ルートにおいて前記探索元となる無線装置側に隣接する無線装置に送信し、
前記ルート探索応答パケットを受信した場合において、前記ルート探索応答パケットに記載された前記探索元を示す無線装置の識別子が自己の識別子と異なる場合には、
前記ルート探索応答パケットに記載された前記データの宛先を示す無線装置の識別子、及び自己に前記ルート探索応答パケットを送信してきた無線装置の識別子を、それぞれ、自己の前記通信ルート管理テーブルにおける、前記データの宛先を示す前記無線装置の識別子、及び前記データの次の送信先を示す前記無線装置の識別子として記憶し、
前記ルート探索応答パケットを、前記新たな通信ルートにおいて前記探索元の無線装置側に隣接する無線装置に送信し、
前記ルート探索応答パケットを受信した場合において、前記ルート探索応答パケットに記載された前記探索元を示す無線装置の識別子が自己の識別子と同じ場合には、
前記ルート探索応答パケットに記載された前記データの宛先を示す無線装置の識別子、及び自己に前記ルート探索応答パケットを送信してきた無線装置の識別子を、それぞれ、自己の前記通信ルート管理テーブルにおける、前記データの宛先を示す前記無線装置の識別子、及び前記データの次の送信先を示す前記無線装置の識別子として記憶する
ことを特徴とする無線装置。
【請求項３】
請求項１に記載の無線装置であって、
自己の無線通信機能の稼働率を示す前記情報は、
自己の無線通信機能が最初に稼働を開始してから現在までの時間のうちの、無線通信機能が稼働していた時間の割合を示す情報である
ことを特徴とする無線装置。
【請求項４】
請求項１に記載の無線装置であって、
自己の無線通信機能の稼働率を示す前記情報は、
自己の無線通信機能が最初に稼働を開始してから現在までの間において、一旦稼働を開始した無線通信機能が停止した回数のうち、稼働の開始から停止に至るまでの稼働時間が、現在稼働中の無線通信機能が稼働を開始してから現在までの経過時間よりも長いものの割合を示す情報である
ことを特徴とする無線装置。
【請求項５】
請求項１に記載の無線装置であって、
自己と直接通信が可能な各無線装置との間のそれぞれの通信の信頼性を示す情報を記憶し、
前記ルート探索パケットを受信した場合において、前記受信したルート探索パケットに記載された前記宛先となる無線装置の識別子が、自己の識別子と異なる場合には、
前記受信したルート探索パケットに、自己の識別子と、前記自己の無線通信機能の稼働率を示す情報と、前記ルート探索パケットを自己に送信してきた前記無線装置と自己との間の通信の信頼性を示す情報を追加して、前記ルート探索パケットを自己と直接通信が可能な各無線装置に送信し、
前記ルート探索パケットを受信した場合において、前記受信したルート探索パケットに記載された前記宛先となる無線装置の識別子が、自己の識別子と同じである場合には、
前記受信したルート探索パケットが経由してきた各無線装置によりそれぞれ記載された前記各無線装置の稼働率を示す情報及び前記各通信の信頼性を示す情報と、前記ルート探索パケットを自己に送信してきた前記無線装置と自己との間の前記通信の信頼性を示す情報と、に基づいて、前記ルート探索パケットが経由してきた通信ルートの信頼性を示す情報を算出する
ことを特徴とする無線装置。
【請求項６】
請求項５に記載の無線装置であって、
自己と直接通信が可能な各無線装置との間のそれぞれの通信の信頼性を示す前記情報は、
各無線装置との間で通信を行う際のそれぞれの電磁波の強度を示す情報である
ことを特徴とする無線装置。
【請求項７】
請求項１に記載の無線装置であって、
前記ルート探索パケットを受信した場合において、
前記受信したルート探索パケットに既に自己の識別子が前記追加されている場合には、前記ルート探索パケットの送信を行わないこと
ことを特徴とする無線装置。
【請求項８】
請求項１に記載の無線装置であって、
前記データの送信元である無線装置から、前記データの宛先に応じて定められる前記通信ルートに従って自己に送信されてきた前記データを受信した場合において、自己の前記通信ルート管理テーブルに前記データの宛先と対応付けられて記憶される前記次の送信先となる前記無線装置との間の通信に異常を検知した場合には、
前記宛先への前記データの送信ができない旨を示すルート不通通知パケットを、前記データの送信元である前記無線装置を宛先として、自己の前記通信ルート管理テーブルに前記送信元である前記無線装置と対応付けられて記憶されている前記無線装置に送信し、
前記ルート不通通知パケットを受信した場合において、自己が前記ルート不通通知パケットの宛先とは異なる場合には、
前記ルート不通通知パケットを、自己の前記通信ルート管理テーブルに前記ルート不通通知パケットの宛先と対応付けられて記憶される前記次の送信先となる前記無線装置に送信し、
前記ルート不通通知パケットを受信した場合において、自己が前記ルート不通通知パケットの宛先である場合には、
前記新たな通信ルートで前記データを前記宛先へ送信すべく、自己と直接通信が可能な各無線装置への前記ルート探索パケットの送信を行う
ことを特徴とする無線装置。
【請求項９】
請求項１に記載の無線装置であって、
前記データの送信元である無線装置から、前記データの宛先に応じて定められる前記通信ルートに従って自己に送信されてきた前記データを受信した場合において、自己の前記通信ルート管理テーブルに前記データの宛先と対応付けられて記憶される前記次の送信先となる前記無線装置との間の通信に異常を検知した場合には、
前記新たな通信ルートで前記データを前記宛先へ送信すべく、自己と直接通信が可能な各無線装置への前記ルート探索パケットの送信を行う
ことを特徴とする無線装置。
【請求項１０】
請求項１に記載の無線装置であって、
前記受信したルート探索パケットに記載された前記宛先となる無線装置の識別子が自己の識別子と同じである場合に、前記受信したルート探索パケットが経由してきた各無線装置によりそれぞれ記載された前記各無線装置の稼働率を示す情報に基づいて算出した、前記通信ルートの信頼性を示す情報が同一となる前記通信ルートが複数あった場合には、
その中で前記探索元となる無線装置から自己までに経由する前記無線装置の数が最も少ない前記通信ルートを前記新たな通信ルートとして決定する
ことを特徴とする無線装置。
【請求項１１】
請求項１に記載の無線装置であって、
前記受信したルート探索パケットに記載された前記宛先となる無線装置の識別子が自己の識別子と同じである場合に、前記受信したルート探索パケットが経由してきた各無線装置によりそれぞれ記載された前記各無線装置の稼働率を示す情報に基づいて算出した、前記通信ルートの信頼性を示す情報が同一となる前記通信ルートが複数あった場合には、
その中で最も先に受信した前記ルート探索パケットが経由してきた前記通信ルートを前記新たな通信ルートとして決定する
ことを特徴とする無線装置。
【請求項１２】
複数の無線装置を備え、各前記無線装置が、他の前記無線装置から送信されたデータを、前記データの宛先に応じて定められた通信ルートに従って次の前記無線装置に送信することによって、前記無線装置間の通信を行う無線通信システムの制御方法であって、
前記各無線装置は、
前記データの宛先を示す前記無線装置の識別子と、前記データの次の送信先を示す前記無線装置の識別子とを対応付けた通信ルート管理テーブルと、
自己の無線通信機能の稼働率を示す情報と、
を記憶し、
新たな前記通信ルートで第１の前記無線装置を宛先としてデータを送信する第２の前記無線装置は、
前記データの宛先となる前記第１の無線装置の識別子と前記新たな通信ルートの探索元としての自己の識別子とを含むルート探索パケットを自己と直接通信が可能な各無線装置に送信し、
前記ルート探索パケットを受信した前記各無線装置は、
前記受信したルート探索パケットに記載された前記第１の無線装置の識別子が、自己の識別子と異なる場合には、
前記受信したルート探索パケットに、自己の識別子と、前記自己の無線通信機能の稼働率を示す情報と、を追加して、前記ルート探索パケットを自己と直接通信が可能な各無線装置に送信し、
前記受信したルート探索パケットに記載された前記第１の無線装置の識別子が、自己の識別子と同じである場合には、
前記受信したルート探索パケットが経由してきた各無線装置によりそれぞれ記載された前記各無線装置の稼働率を示す情報に基づいて、前記ルート探索パケットが経由してきた通信ルートの信頼性を示す情報を算出し、
自己を宛先として送信されてくる前記ルート探索パケットのそれぞれについて前記算出した各通信ルートの信頼性を示す情報に基づいて、前記第２の無線装置から前記第１の無線装置にデータを送信するための前記新たな通信ルートを決定し、
前記第２の無線装置から前記第１の無線装置までの前記新たな通信ルートにおける各無線装置の識別子を含むルート探索応答パケットを、前記新たな通信ルートにおいて前記第２の無線装置側に隣接する無線装置に送信し、
前記ルート探索応答パケットを受信した前記無線装置は、
前記ルート探索応答パケットに記載された前記第２の無線装置の識別子が自己の識別子と異なる場合には、
前記ルート探索応答パケットに記載された前記第１の無線装置の識別子、及び自己に前記ルート探索応答パケットを送信してきた無線装置の識別子を、それぞれ、自己の前記通信ルート管理テーブルにおける、前記データの宛先を示す前記無線装置の識別子、及び前記データの次の送信先を示す前記無線装置の識別子として記憶し、
前記ルート探索応答パケットを、前記新たな通信ルートにおいて前記第２の無線装置側に隣接する無線装置に送信し、
前記ルート探索応答パケットに記載された前記第２の無線装置の識別子が自己の識別子と同じ場合には、
前記ルート探索応答パケットに記載された前記第１の無線装置の識別子、及び自己に前記ルート探索応答パケットを送信してきた無線装置の識別子を、それぞれ、自己の前記通信ルート管理テーブルにおける、前記データの宛先を示す前記無線装置の識別子、及び前記データの次の送信先を示す前記無線装置の識別子として記憶する
ことを特徴とする無線通信システムの制御方法。
【請求項１３】
請求項１２に記載の無線通信システムの制御方法であって、
自己の無線通信機能の稼働率を示す前記情報は、
自己の無線通信機能が最初に稼働を開始してから現在までの時間のうちの、無線通信機能が稼働していた時間の割合を示す情報である
ことを特徴とする無線通信システムの制御方法。
【請求項１４】
請求項１２に記載の無線通信システムの制御方法であって、
自己の無線通信機能の稼働率を示す前記情報は、
自己の無線通信機能が最初に稼働を開始してから現在までの間において、一旦稼働を開始した無線通信機能が停止した回数のうち、稼働の開始から停止に至るまでの稼働時間が、現在稼働中の無線通信機能が稼働を開始してから現在までの経過時間よりも長いものの割合を示す情報である
ことを特徴とする無線通信システムの制御方法。
【請求項１５】
請求項１２に記載の無線通信システムの制御方法であって、
前記各無線装置は、
自己と直接通信が可能な各無線装置との間のそれぞれの通信の信頼性を示す情報を記憶し、
前記ルート探索パケットを受信した前記各無線装置は、
前記ルート探索パケットに記載された前記第１の無線装置の識別子が、自己の識別子と異なる場合には、前記受信したルート探索パケットに、自己の識別子と、前記自己の無線通信機能の稼働率を示す情報と、前記ルート探索パケットを自己に送信してきた前記無線装置と自己との間の通信の信頼性を示す情報を追加し、
前記ルート探索パケットに記載された前記第１の無線装置の識別子が、自己の識別子と同じである場合には、前記受信したルート探索パケットが経由してきた各無線装置によりそれぞれ記載された前記各無線装置の稼働率を示す情報及び前記各通信の信頼性を示す情報と、前記ルート探索パケットを自己に送信してきた前記無線装置と自己との間の前記通信の信頼性を示す情報と、に基づいて、前記ルート探索パケットが経由してきた通信ルートの信頼性を示す情報を算出する
ことを特徴とする無線通信システムの制御方法。
【請求項１６】
請求項１５に記載の無線通信システムの制御方法であって、
自己と直接通信が可能な各無線装置との間のそれぞれの通信の信頼性を示す前記情報は、
各無線装置との間で通信を行う際のそれぞれの電磁波の強度を示す情報である
ことを特徴とする無線通信システムの制御方法。
【請求項１７】
請求項１２に記載の無線通信システムの制御方法であって、
前記ルート探索パケットを受信した前記各無線装置は、
前記受信したルート探索パケットに既に自己の識別子が前記追加されている場合には、前記受信したルート探索パケットの送信を行わないこと
ことを特徴とする無線通信システムの制御方法。
【請求項１８】
請求項１２に記載の無線通信システムの制御方法であって、
前記新たな通信ルートで前記第１の無線装置を宛先としてデータを送信する前記第２の無線装置は、前記データの送信元の前記無線装置であり、
前記第１の無線装置を宛先とした前記データの送信元である前記第２の無線装置から、前記データの宛先に応じて定められる前記通信ルートに従って送信されてきた前記データを受信した無線装置は、
自己の前記通信ルート管理テーブルに前記データの宛先と対応付けられて記憶される前記次の送信先となる前記無線装置との間の通信に異常を検知した場合には、
前記第１の無線装置を宛先とする前記データの送信ができない旨を示すルート不通通知パケットを、前記第２の無線装置を宛先として、自己の前記通信ルート管理テーブルに前記第２の無線装置と対応付けられて記憶されている前記無線装置に送信し、
前記ルート不通通知パケットを受信した前記無線装置は、
自己が前記ルート不通通知パケットの宛先とは異なる場合には、
前記ルート不通通知パケットを、自己の前記通信ルート管理テーブルに前記第２の無線装置と対応付けられて記憶される前記次の送信先となる前記無線装置に送信し、
自己が前記ルート不通通知パケットの宛先である場合には、
前記新たな通信ルートで前記データを前記第１の無線装置へ送信すべく、自己と直接通信が可能な各無線装置への前記ルート探索パケットの送信を行う
ことを特徴とする無線通信システムの制御方法。
【請求項１９】
請求項１２に記載の無線通信システムの制御方法であって、
前記新たな通信ルートで前記第１の無線装置を宛先としてデータを送信する前記第２の無線装置は、自己の前記通信ルート管理テーブルに前記データの宛先と対応付けられて記憶される前記次の送信先となる前記無線装置との間の通信に異常を検知した前記無線装置である
ことを特徴とする無線通信システムの制御方法。
【請求項２０】
複数の無線装置を備え、各前記無線装置が、他の前記無線装置から送信されたデータを、前記データの宛先に応じて定められた通信ルートに従って次の前記無線装置に送信することによって、前記無線装置間の通信を行う無線通信システムであって、
前記各無線装置は、
前記データの宛先を示す前記無線装置の識別子と、前記データの次の送信先を示す前記無線装置の識別子とを対応付けた通信ルート管理テーブルと、
自己の無線通信機能の稼働率を示す情報と、
を記憶し、
新たな前記通信ルートで第１の前記無線装置を宛先としてデータを送信する第２の前記無線装置は、
前記データの宛先となる前記第１の無線装置の識別子と前記新たな通信ルートの探索元としての自己の識別子とを含むルート探索パケットを前記第２の無線装置と直接通信が可能な各無線装置に送信し、
前記ルート探索パケットを受信した前記各無線装置は、
前記ルート探索パケットに記載された前記第１の無線装置の識別子が、自己の識別子と異なる場合には、
前記受信したルート探索パケットに、自己の識別子と、前記自己の無線通信機能の稼働率を示す情報と、を追加して、前記ルート探索パケットを自己と直接通信が可能な各無線装置に送信し、
前記ルート探索パケットに記載された前記第１の無線装置の識別子が、自己の識別子と同じである場合には、
前記受信したルート探索パケットが経由してきた各無線装置によりそれぞれ記載された前記各無線装置の稼働率を示す情報に基づいて、前記ルート探索パケットが経由してきた通信ルートの信頼性を示す情報を算出し、
自己を宛先として送信されてくる前記ルート探索パケットのそれぞれについて前記算出した各通信ルートの信頼性を示す情報に基づいて、前記第２の無線装置から前記第１の無線装置にデータを送信するための前記新たな通信ルートを決定し、
前記第２の無線装置から前記第１の無線装置までの前記新たな通信ルートにおける各無線装置の識別子を含むルート探索応答パケットを、前記新たな通信ルートにおいて前記第２の無線装置側に隣接する無線装置に送信し、
前記ルート探索応答パケットを受信した前記無線装置は、
前記ルート探索応答パケットに記載された前記第２の無線装置の識別子が自己の識別子と異なる場合には、
前記ルート探索応答パケットに記載された前記第１の無線装置の識別子、及び自己に前記ルート探索応答パケットを送信してきた無線装置の識別子を、それぞれ、自己の前記通信ルート管理テーブルにおける、前記データの宛先を示す前記無線装置の識別子、及び前記データの次の送信先を示す前記無線装置の識別子として記憶し、
前記ルート探索応答パケットを、前記新たな通信ルートにおいて前記第２の無線装置側に隣接する無線装置に送信し、
前記ルート探索応答パケットに記載された前記第２の無線装置の識別子が自己の識別子と同じ場合には、
前記ルート探索応答パケットに記載された前記第１の無線装置の識別子、及び自己に前記ルート探索応答パケットを送信してきた無線装置の識別子を、それぞれ、自己の前記通信ルート管理テーブルにおける、前記データの宛先を示す前記無線装置の識別子、及び前記データの次の送信先を示す前記無線装置の識別子として記憶する
ことを特徴とする無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線装置、無線通信システムの制御方法、及び無線通信システムに関する。
【背景技術】
【０００２】
近年の情報通信技術の進歩により、ネットワーク通信機能を備えた電気製品が次々と開発されている。そしてこれらの電気製品を家庭やオフィスなどで用いることにより、住宅やビルの情報化を図り、より便利で快適な居住環境を提供するための技術が開発されている。
【０００３】
一方、これらの電気製品をネットワークに接続するためにはホームやビル内においてネットワーク敷設工事を行うことが必要であるが、ネットワーク敷設工事は通信ケーブルの配索、接続など、作業内容が専門的である上、重労働を伴い、工事費も高い。そのため、ネットワーク敷設工事を行わずにネットワークを構築したいというニーズがある。
【０００４】
このため、無線通信方式を採用すると共に、直接通信できない無線装置同士は中継装置（通信を中継する無線装置）を介して通信することによって、ネットワーク敷設工事無しに多数の無線装置同士の相互通信を可能にする無線ネットワークの技術が開発されている。このような無線ネットワークは一般にアドホックネットワークと呼ばれ、基地局や固定局、移動局関係なく、無線装置間のデータ通信は途中で複数の無線装置を中継することにより行うネットワークとなっている。このような、無線装置を中継することによってネットワークを構成する技術としては、以下に示す技術が開示されている（例えば、特許文献１、特許文献２参照）。
【特許文献１】特開平１１−２３９１７６号公報
【特許文献２】特開２００３−１１５８５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、アドホックネットワークにおいて、各無線装置間の通信をどの無線装置を中継して行うかという通信ルートの選択は、ネットワーク全体のスループットや信頼性、システム管理の容易さに対して大きな影響を与える。このため、最も適した通信ルートを選択・決定するための技術は重要である。
【０００６】
そのような、複数の通信ルートの中から適した通信ルートを選択し決定するための方法としては、従来から最小ホップ数（中継する中継装置の数）の通信ルートを選択するものが最もポピュラーに用いられている。  
しかしながら、一旦通信ルートを決定した後、中継装置が別の場所に移動したり電源がオフされたりすると、この中継装置を使用する通信ルートは使用できなくなる。その結果、この中継装置を通信ルートとして使用していた送信元の無線装置は、宛先の無線装置までの通信ルートを改めて再探索することが必要となる。  
この通信ルートの探索は一般に複雑な処理が必要であり、かつ時間がかかる。また、中継装置が移動したり電源がオフされたりした直後には、通信途中のデータパケットは、新たな送信先が見つかるまで、中継装置でバッファリングされることになる。中継装置のバッファが溢れると、パケットロスが発生することもある。  
また、新たな通信ルートを探索する際には、大量のデータパケットの送信が必要になるため、トラヒックの増大によるパケットロスがさらに発生しやすくなる。またパケットロスによりアプリケーションレベルでのパケット再送処理が頻発し、更に無駄なデータパケットが増大するという悪循環に陥る可能性もある。  
したがって、このようなネットワークにおいては、ルートの再探索を出来るだけ必要としないようなルートを、予め選択しておくことが重要である。
【０００７】
本発明は上記課題を鑑みてなされたものであり、各無線装置が中継装置を介することによって相互通信が可能となり、中継装置が移動したり電源がオフされるような無線ネットワークにおいて用いられ、通信ルートの再探索の頻度が少なく、安定した、信頼性の高い通信環境を実現する無線装置を提供することを主たる目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、複数の無線装置を備え、各前記無線装置が、他の前記無線装置から送信されたデータを、前記データの宛先に応じて定められた通信ルートに従って次の前記無線装置に送信することによって、前記無線装置間の通信を行う無線通信システムに用いられる前記無線装置であって、前記データの宛先を示す前記無線装置の識別子と、前記データの次の送信先を示す前記無線装置の識別子とを対応付けた通信ルート管理テーブルと、自己の無線通信機能の稼働率を示す情報と、を記憶し、新たな前記通信ルートで他の前記無線装置を宛先としてデータを送信する場合は、前記データの宛先となる前記他の無線装置の識別子と前記新たな通信ルートの探索元としての自己の識別子とを含むルート探索パケットを自己と直接通信が可能な各無線装置に送信し、前記ルート探索パケットを受信した場合において、前記受信したルート探索パケットに記載された前記宛先となる無線装置の識別子が、自己の識別子と異なる場合には、前記受信したルート探索パケットに、自己の識別子と、前記自己の無線通信機能の稼働率を示す情報と、を追加して、前記ルート探索パケットを自己と直接通信が可能な各無線装置に送信し、前記ルート探索パケットを受信した場合において、前記受信したルート探索パケットに記載された前記宛先となる無線装置の識別子が、自己の識別子と同じである場合には、前記受信したルート探索パケットが経由してきた各無線装置によりそれぞれ記載された前記各無線装置の稼働率を示す情報に基づいて、前記ルート探索パケットが経由してきた通信ルートの信頼性を示す情報を算出し、自己を宛先として送信されてくる前記ルート探索パケットのそれぞれについて前記算出した各通信ルートの信頼性を示す情報に基づいて、前記探索元となる無線装置から自己にデータを送信するための前記新たな通信ルートを決定することを特徴とする無線装置に関する。
【０００９】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１０】
ルート再探索処理の頻度を少なくし安定した通信環境を実現するための無線装置、無線通信システムの制御方法、及び無線通信システムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
＝＝＝全体構成例＝＝＝
本実施の形態に係る無線装置１００を含む無線通信システム２００の全体構成を図１に示す。ここでは、家庭内における様々な家電製品や電気製品を無線装置１００として用いて構成される無線通信システム２００を一例として示す。もちろん本実施の形態に係る無線通信システム２００は、家庭内において用いられるのみならず、オフィス内やビル内、さらには屋外において構築されるようにすることもできる。図１に示すように、本実施の形態においては、ホームサーバ１０１、中継専用機器１０２、センサ１０３、空調１０４、携帯端末１０５、照明１０６、照明１０７が無線装置１００として用いられる。
【００１２】
ホームサーバ１０１は、例えば家庭内で構築される上記無線通信システム２００の各無線装置１００を通信可能に接続してなるネットワーク（第２のネットワーク）５００と、家庭の外部のネットワーク（第１のネットワーク）４００との間の通信を制御するゲートウェイとして機能する。第１のネットワーク４００は、ネットワークの下位レイヤにおいて、例えば、ＡＤＳＬ、ＦＴＴＨ、ＩＳＤＮ（登録商標）などの通信方式でインターネットサービスプロバイダのアクセスポイントと通信するネットワークである。
【００１３】
また第２のネットワーク５００において、各無線装置１００間は中継パス５１０により接続されている。本実施の形態に係る無線通信システム２００においては、各無線装置１００が、他の無線装置から送信されたデータを、データの宛先に応じて定められた通信ルートに従って次の無線装置１００に送信することによって、無線装置１００間の通信が行われる。中継パス５１０は、隣接する無線装置１００間、すなわち、直接通信が可能な無線装置１００間で通信を行うための通信路である。もちろん各無線装置１００はそれぞれ無線で通信を行うので、通信路が物理的に存在しているわけではない。中継パス５１０を通じた各無線装置１００間の通信は、ネットワークの下位レイヤにおいて、例えば、ＩＥＥＥ８０２.１１ａ、ＩＥＥＥ８０２.１１ｂ、ＩＥＥＥ８０２.１１ｇ、ブルートゥース、特定小電力無線、ＩｒＤＡ通信などの通信方式により行われる。なお、中継パス５１０を通じた各無線装置１００間の通信は、すべて同一の通信方式で行ってもよいし、異なる通信方式が混在しても良い。
【００１４】
ホームサーバ１０１は、例えばパーソナルコンピュータにより構成されるようにすることができる。またホームサーバ１０１は、各家庭に備え付けられている電力計やブレーカボックスとして構成されるようにすることもできる。  
中継専用機器１０２は、家庭内の無線通信システム２００において行われる無線通信を中継するための専用の機能を備えた電気製品である。例えば、玄関や納戸、廊下など、家庭内において電気製品があまり設置されることのないために無線通信のための電磁波が届きにくい場所に設置される。
【００１５】
センサ１０３は、例えば室内の温度を計測するための温度センサとすることができる。温度センサ１０３により計測された温度を示す情報は、例えばホームサーバ１０１に送信される。ホームサーバ１０１は、室内の温度やその他の様々な状態を総合的に判断して、空調１０４に運転開始や停止の指示を行う。もちろん、センサ１０３からの温度を示す情報は直接空調１０４に送信されるようにすることもできる。またセンサ１０３は、温度センサの他に、湿度センサ、明度センサ、人の侵入を検出するセンサなどとすることもできる。
【００１６】
空調１０４は、室内の温度や湿度を制御するための装置である。例えばエアコンディショナー（エアコン）や換気扇とすることができる。  
携帯端末１０５は、例えば携帯電話機や、コードレスホン、ＰＤＡ、テレビのリモコン等の、持ち運びが容易な電気製品とすることができる。  
照明１０６、照明１０７は、周囲を明るく照らすための電気製品である。
【００１７】
もちろん上記以外にも、例えば時計やインターホン、冷蔵庫、洗濯機、電子レンジ、アイロン、ラジオ、テレビ、電話機、ステレオ、コンピュータ、給湯器、扇風機、腕時計、こたつ、カメラ、コピー機、プリンタ、電卓、ストーブ、オーブン、ビデオ録画再生機、ＤＶＤ録画再生機、ファクシミリ送受信機、衣類乾燥機、食器洗い乾燥機、浄水器、エレベータ、太陽熱発電器、床下換気扇など、あらゆる電気製品を無線装置１００として用いることができる。
【００１８】
なお、詳しくは後述するが、各無線装置１００は、それぞれの家電製品としての制御を行うアプリケーション機器１１０と、他の無線装置１００との通信を制御する無線端末１２０とを備えて構成される。
【００１９】
ここで各電気製品を無線装置１００として見てみると、例えばテレビなどのように番組視聴時のみ通電されるものや、冷蔵庫などのように停電時を除いて常時通電されているもの、あるいは洗濯機などのように設置場所が移動されることがないものや、カメラなどのように持ち運ばれることが多いもの、携帯端末１０５のように電池で駆動されるものや、空調１０４のようにコンセントから供給される電力により駆動されるものなど、各電気製品によって、無線通信機能の稼働安定性という点では、かなりの違いがある。
【００２０】
例えばほとんど通電がオフされることがない電気製品は無線通信機能を安定して提供することができるといえる。また設置場所があまり移動されることがない電気製品も無線通信機能を安定して提供することができるといえる。またコンセントから供給される電力により駆動される電気製品も無線通信機能を安定して提供することができるといえる。また、電気製品間で授受される無線通信のための電磁波の強度が強いほど、無線通信機能を安定して提供することができるといえる。
【００２１】
このように、無線通信システム２００における各無線装置１００間で無線通信を行う場合には、宛先となる無線装置１００との間での通信ルートの信頼性が重要になる。例えば外出先からエアコンなどの空調１０４を操作して帰宅前に室内の温度を整えておこうとしても、ホームサーバ１０１と空調１０４との間の無線通信がうまく行えない場合には、帰宅後、部屋の蒸し暑さをしばらく我慢しなければならないことも起こりえる。
【００２２】
＝＝＝無線装置の識別子について＝＝＝
次に、本実施の形態に係る各無線装置１００の識別子について説明する。  
図１に示すように、本実施の形態に係るホームサーバ１０１、中継専用機器１０２、センサ１０３、空調１０４、携帯端末１０５、照明１０６、照明１０７には、それぞれ第２のネットワーク５００で通信するための、下位アドレスと上位アドレスが割当てられている。
【００２３】
下位アドレスは、ネットワークの下位レイヤの通信において使用されるアドレスであり、例えばＩＥＥＥ８０２仕様アドレスなどの、少なくとも、本実施の形態に係るネットワークシステムにおいてユニークに各無線装置１００を識別できる値で構成される。実施例では、便宜上、下位アドレスは１バイトのハードウェア識別子で構成されている。
【００２４】
一方、上位アドレスは、異なる下位レイヤを相互に接続したネットワークにおいて、アプリケーションが特定のノード（無線装置１００）に対して電文を送信する際に、宛先を指定するのに用いるアドレスである。上位アドレスは、例えば、１バイトのネットワーク識別部と、１バイトのノード識別部から構成される。ネットワーク識別子は少なくともネットワークシステム内でユニークにサブネットを識別できる値で構成され、ノード識別子は少なくもと各々のサブネット内でユニークに機器を識別できる値で構成される。
【００２５】
図１に示す各無線装置１００には、「Ａ〜Ｇ」の下位アドレスと、「１」のネットワーク識別子と「１〜７」のノード識別子が設定されている。
【００２６】
＝＝＝通信ルートの探索の概要＝＝＝
次に、本実施の形態に係る無線通信システム２００において、ある無線装置１００から他の無線装置１００にデータを送信しようとする際に、信頼性の高い通信ルートをどのように見つけるかを示す通信ルート探索の概要を、図２乃至図８を参照しながら説明する。
【００２７】
ここでは、無線通信システム２００を構成する各無線装置１００をそれぞれ、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇにより識別するものとする。そして無線装置Ａ１００から無線装置Ｇ１００への通信ルートを見つけるものとする。  
なお、詳しくは後述するが、各無線装置１００は、ルーティングテーブル（通信ルート管理テーブル）１４０と、自己の無線通信機能の稼働率を示す情報と、自己と直接通信が可能な各無線装置１００との間のそれぞれの通信の信頼性を示す情報と、を記憶している。
【００２８】
ルーティングテーブル１４０は、データの宛先を示す無線装置１００の識別子と、データの次の送信先を示す無線装置１００の識別子とを対応付けたものである。ルーティングテーブルの一例を図１８に示す。各無線装置１００は、自己のルーティングテーブル１４０において、「宛先上位アドレス」欄に記載された無線装置１００の識別子により特定される無線装置１００を宛先としたデータを、「ＮｅｘｔＨｏｐ下位アドレス」欄に記載された無線装置１００の識別子により特定される無線装置１００に送信する。これにより各無線装置１００は他の無線装置１００から送信されたデータを、データの宛先に応じて定められた通信ルートに従って次の無線装置１００に送信することができる。
【００２９】
また詳しくは後述するが、自己の無線通信機能の稼働率を示す情報は、例えば、自己の無線通信機能が最初に稼働を開始してから現在までの時間のうちの、無線通信機能が稼働していた時間の割合を示す情報とすることができる。つまり、無線通信機能が稼働していた時間の割合が大きい無線装置１００を含む通信ルートであれば、安定した無線通信を期待することができる。
【００３０】
また、自己の無線通信機能の稼働率を示す情報は、例えば、自己の無線通信機能が最初に稼働を開始してから現在までの間において、一旦稼働を開始した無線通信機能が停止した回数のうち、稼働の開始から停止に至るまでの稼働時間が、現在稼働中の無線通信機能が稼働を開始してから現在までの経過時間よりも長いものの割合を示す情報とすることもできる。つまり、一旦稼働開始してから停止に至るまでの稼働時間が、現在稼働中の無線通信機能が稼働を開始してから現在までの経過時間よりも長いものの割合が大きい無線装置１００を含む通信ルートであれば、将来的にも安定した無線通信を期待することができる。
【００３１】
また、自己と直接通信が可能な各無線装置１００との間のそれぞれの通信の信頼性を示す情報は、各無線装置１００との間で通信を行う際のそれぞれの電磁波の強度を示す情報とすることができる。強い電磁波で無線通信が可能な無線装置１００との間では、ノイズなどにより通信が途切れたりすることなく、安定した無線通信を期待することができる。
【００３２】
さて、無線装置Ａ１００から無線装置Ｇ１００への最適な通信ルートを見つけるために、本実施の形態においては、まず、新たな通信ルートで無線装置Ｇ（第１の無線装置）１００を宛先としてデータを送信する無線装置Ａ（第２の無線装置）１００は、データの宛先となる無線装置Ｇ１００の識別子（Ｇ）と新たな通信ルートの探索元としての無線装置Ａ１００の識別子（Ａ）とを含むルート探索パケットを自己と直接通信が可能な各無線装置１００に送信する（図２参照）。ルート探索パケットの詳細については後述するが、自己と直接通信が可能な各無線装置１００への送信は、例えばブロードキャストにより行うことができる。なお、図２乃至図８に示されるルート探索パケットにおいては、データの宛先となる無線装置Ｇ１００の識別子（Ｇ）は省略されている。
【００３３】
次に、ルート探索パケットを受信した各無線装置（ここでは、無線装置Ｂ１００と無線装置Ｃ１００）は、ルート探索パケットに記載されたデータの宛先となる無線装置の識別子（Ｇ）が、自己の識別子と同じか否かをチェックする。そして自己の識別子と異なる場合には、受信したルート探索パケットに、自己の識別子と、自己の無線通信機能の稼働率を示す情報と、ルート探索パケットを自己に送信してきた無線装置１００（Ａ）と自己との間の通信の信頼性を示す情報と、を追加して、ルート探索パケットを自己と直接通信が可能な各無線装置１００に送信する。
【００３４】
具体的には、例えば無線装置Ｂ１００は、無線装置Ａ１００から受信したルート探索パケットに記載された無線装置Ｇ１００の識別子が、自己の識別子（Ｂ）と異なるので、受信したルート探索パケットに、自己の識別子（Ｂ）と、前記自己の無線通信機能の稼働率を示す情報と、ルート探索パケットを自己に送信してきた無線装置１００（Ａ）と自己との間の通信の信頼性を示す情報と、を追加して、前記ルート探索パケットを自己と直接通信が可能な各無線装置（無線装置Ａ１００、無線装置Ｃ１００、無線装置Ｄ１００）１００に送信する（図３参照）。
【００３５】
一方無線装置Ｃ１００は、無線装置Ａ１００から受信したルート探索パケットに記載された無線装置Ｇ１００の識別子が、自己の識別子（Ｃ）と異なるので、受信したルート探索パケットに、自己の識別子（Ｃ）と、前記自己の無線通信機能の稼働率を示す情報と、ルート探索パケットを自己に送信してきた無線装置１００（Ａ）と自己との間の通信の信頼性を示す情報と、を追加して、前記ルート探索パケットを自己と直接通信が可能な各無線装置（無線装置Ａ１００、無線装置Ｂ１００、無線装置Ｅ１００）１００に送信する（図３参照）。
【００３６】
続いて、無線装置Ｂ１００、無線装置Ｃ１００からルート探索パケットを受信した各無線装置（ここでは、無線装置Ａ１００、無線装置Ｂ１００、無線装置Ｃ１００、無線装置Ｄ１００、無線装置Ｅ１００）は、ルート探索パケットに記載されたデータの宛先となる無線装置の識別子（Ｇ）が、自己の識別子と同じか否かをチェックする。そして自己の識別子と異なる場合には、受信したルート探索パケットに、自己の識別子と、自己の無線通信機能の稼働率を示す情報と、ルート探索パケットを自己に送信してきた無線装置１００と自己との間の通信の信頼性を示す情報と、を追加して、ルート探索パケットを自己と直接通信が可能な各無線装置１００に送信する（図４参照）。
【００３７】
ここで、ルート探索パケットを受信した各無線装置（Ａ、Ｂ、Ｃ、Ｄ、Ｅ）１００のうち、無線装置Ａ１００は、以前自己が送信したルート探索パケットを再び受信している。このような場合は、受信したルート探索パケットのそれ以上の送信は行わない。以前自己が送信したルート探索パケットを再び受信したかどうかは、受信したルート探索パケットに既に自己の識別子が追加されているかどうかにより判断できる。このようにすることにより、ループを含む通信ルートを排除することが可能となる。
【００３８】
図４において無線装置Ｅ１００が、自己の識別子と、自己の無線通信機能の稼働率を示す情報と、ルート探索パケットを自己に送信してきた無線装置１００と自己との間の通信の信頼性を示す情報と、を追加して、ルート探索パケットを自己と直接通信が可能な各無線装置１００に送信すると、そのルート探査パケットは、無線装置Ｇ１００にも送信される（図５参照）。
【００３９】
ルート探索パケットを受信した無線装置Ｇ１００は、受信したルート探索パケットに記載されたデータの宛先となる無線装置の識別子（Ｇ）が、自己の識別子（Ｇ）と同じであるので、まず、受信したルート探索パケットが経由してきた各無線装置１００によりそれぞれ記載された各無線装置１００の稼働率を示す情報と、各通信の信頼性を示す情報と、無線装置Ｅ１００と自己（Ｇ）との間の通信の信頼性を示す情報とに基づいて、ルート探索パケットが経由してきた通信ルートの信頼性を示す情報を算出する。
【００４０】
図５において無線装置Ｇ１００に送信されたルート探索パケットは、無線装置Ａ１００から無線装置Ｃ１００、無線装置Ｅ１００を経由して無線装置Ｇ１００に送信されてきており、ルート探索パケットには、無線装置Ｃ１００、無線装置Ｅ１００によってそれぞれの無線装置１００の稼働率と通信の信頼性を示す情報とが記載されている。無線装置Ｇ１００は、例えば各無線装置１００の稼働率と各通信の信頼性を示す情報とを全て掛け合わせることによって、ルート探索パケットが経由してきた通信ルートの信頼性を示す情報を算出する。もちろん、通信ルートの信頼性を示す情報の算出は、各無線装置１００の稼働率と各通信の信頼性を示す情報とを全て掛け合わせるのみならず、足し合わせることによって行うようにすることもできる。また、各無線装置１００の稼働率を掛け合わせて得た値と、各通信の信頼性を示す情報を掛け合わせて得た値とを足し合わせて通信ルートの信頼性を算出する様にすることもできる。同様に、各無線装置１００の稼働率を足し合わせて得た値と、各通信の信頼性を示す情報を足し合わせて得た値とを掛け合わせて通信ルートの信頼性を算出する様にすることもできる。その他、各無線装置１００の稼働率の平均値、及び各通信の信頼性を示す情報の平均値に基づいて、通信ルートの信頼性を示す情報を算出するようにすることもできる。
【００４１】
図６、図７、図８に示すように、以下同様にルート探索パケットが各無線装置１００間で送信される結果、最終的に、無線装置Ｇ１００には図８に示すように、合計１１種類の通信ルートを経由してきたルート探索パケットが送信されてくる。
【００４２】
無線装置Ｇ１００は、このように様々な通信ルートを経由して自己に送信されてくる、自己を宛先の無線装置１００としたルート探索パケットのそれぞれについて、通信ルートの信頼性を示す情報を算出する。そして、それぞれ算出した、各通信ルートの信頼性を示す情報に基づいて、無線装置Ａ１００から無線装置Ｇ１００にデータを送信するための新たな通信ルートを決定する。例えば、通信ルートの信頼性を示す情報が最も大きい通信ルートを新たな通信ルートとして決定する様にすることができる。
【００４３】
そして無線装置Ｇ１００は、無線装置Ａ１００から無線装置Ｇ１００までの新たな通信ルートにおける各無線装置１００の識別子を含むルート探索応答パケットを、新たな通信ルートにおいて無線装置Ａ１００側に隣接する無線装置１００に送信する。  
例えば無線装置Ｇ１００が、無線装置Ａ１００、無線装置Ｃ１００、無線装置Ｅ１００、無線装置Ｇ１００により特定される通信ルートを新たな通信ルートとして決定した場合には、無線装置Ｇ１００は、新たな通信ルートにおいて無線装置Ａ１００側に隣接する無線装置１００である、無線装置Ｅ１００にルート探索応答パケットを送信する。
【００４４】
ルート探索応答パケットを受信した無線装置Ｅ１００は、ルート探索応答パケットに記載された無線装置Ａ１００の識別子（Ａ）が自己の識別子（Ｅ）と異なるので、ルート探索応答パケットに記載された無線装置１００の識別子（Ｇ）、及び自己にルート探索応答パケットを送信してきた無線装置Ｇ１００の識別子（Ｇ）を、それぞれ、自己の通信ルート管理テーブル１４０における、データの宛先を示す無線装置１００の識別子、及びデータの次の送信先を示す無線装置１００の識別子として記憶し、ルート探索応答パケットを、新たな通信ルートにおいて無線装置Ａ１００側に隣接する無線装置（無線装置Ｃ）１００に送信する。
【００４５】
そしてルート探索応答パケットを受信した無線装置Ｃ１００は、ルート探索応答パケットに記載された無線装置Ａ１００の識別子（Ａ）が自己の識別子（Ｃ）と異なるので、ルート探索応答パケットに記載された無線装置Ｇ１００の識別子（Ｇ）、及び自己にルート探索応答パケットを送信してきた無線装置１００の識別子（Ｅ）を、それぞれ、自己の通信ルート管理テーブル１４０における、データの宛先を示す無線装置１００の識別子、及びデータの次の送信先を示す無線装置１００の識別子として記憶し、ルート探索応答パケットを、新たな通信ルートにおいて無線装置Ａ１００側に隣接する無線装置（無線装置Ａ）１００に送信する。
【００４６】
ルート探索応答パケットを受信した無線装置Ａ１００は、ルート探索応答パケットに記載された無線装置Ａ１００の識別子（Ａ）が自己の識別子（Ａ）と同じであるので、ルート探索応答パケットに記載された無線装置Ｇ１００の識別子（Ｇ）、及び自己にルート探索応答パケットを送信してきた無線装置Ｃ１００の識別子（Ｃ）を、それぞれ、自己の通信ルート管理テーブルにおける、データの宛先を示す無線装置１００の識別子、及びデータの次の送信先を示す無線装置１００の識別子として記憶する。
【００４７】
このようにして、本実施の形態に係る無線通信システム２００においては、無線装置Ａ１００から無線装置Ｇ１００に至る通信ルートにおいて、最も信頼性の高い通信ルートを見つけることができる。そして無線装置Ａ１００は、無線装置Ｇ１００にデータを送信する場合には、自己のルーティングテーブル１４０に従って無線装置Ｃ１００にデータを送信することにより、上記最も信頼性の高い通信ルートで無線装置Ｇ１００にデータを送信することができることになる。
【００４８】
なお上記のように、無線装置Ａ１００が、無線装置Ａ１００から無線装置Ｇ１００への新たな通信ルートを見つける処理を行う必要が生じるのは、例えば以下のような場合である。  
まず、無線装置Ａ１００が無線装置Ｇ１００へデータを送信するのが初めてである等のため、自己のルーティングテーブル１４０の「宛先上位アドレス」欄に、データの宛先である無線装置Ｇ１００が記載されていない場合である。  
また、自己のルーティングテーブル１４０の「宛先上位アドレス」欄には、データの宛先である無線装置Ｇ１００が記載されてはいるものの、「ＮｅｘｔＨｏｐ下位アドレス」欄に記載された無線装置１００に、無線装置Ｇ１００へのデータを送信しようとしたところ、その無線装置１００との間の通信に異常を検知した場合である。  
この場合、無線装置Ｇ１００へのデータの送信元となる無線装置１００は、無線装置Ａ１００である場合もあるし、他の無線装置１００である場合もある。他の無線装置１００である場合とは、例えば図示されていない無線装置Ｘ１００を送信元とするデータが、無線装置Ｙ１００、無線装置Ｚ１００、無線装置Ａ１００、無線装置Ｃ１００、無線装置Ｅ１００、無線装置Ｇ１００により特定される通信ルートで無線装置Ｇ１００に送信される場合に、無線装置Ａ１００が無線装置Ｃ１００にデータを送信しようとしたところ、無線装置Ｃ１００との間の通信に異常を検知したような場合である。
【００４９】
もちろんこの場合、無線装置Ｘ１００から無線装置Ａ１００に至る通信ルートはそのままで、無線装置Ａ１００から無線装置Ｇ１００に至る通信ルートを新たな通信ルートで再構築するようにすることもできるし、無線装置Ａ１００がデータの送信元である無線装置Ｘ１００に通信の異常を知らせ、無線装置Ｘ１００から無線装置Ｇ１００に至る通信ルートを、新たな通信ルートで再構築するようにすることもできる。
【００５０】
後者の場合、無線装置Ａ１００は、データの送信元である無線装置Ｘ１００から、データの宛先に応じて定められる通信ルートに従って自己に送信されてきたデータを受信した場合において、自己のルーティングテーブル１４０にデータの宛先と対応付けられて記憶される次の送信先となる無線装置（無線装置Ｃ１００）との間の通信に異常を検知した場合には、宛先へのデータの送信ができない旨を示すルート不通通知パケットを、データの送信元である無線装置（無線装置Ｘ１００）を宛先として、自己のルーティングテーブル１４０に送信元である無線装置（無線装置Ｘ１００）と対応付けられて記憶されている無線装置（例えば無線装置Ｖ１００）に送信する。
【００５１】
ルート不通通知パケットを受信した無線装置Ｖ１００は、自己がルート不通通知パケットの宛先（無線装置Ｘ１００）とは異なるので、そのルート不通通知パケットを、自己のルーティングテーブル１４０にルート不通通知パケットの宛先（無線装置Ｘ１００）と対応付けられて記憶される次の送信先となる無線装置（例えば無線装置Ｗ１００）に送信する。  
ルート不通通知パケットを受信した無線装置Ｗ１００は、自己がルート不通通知パケットの宛先（無線装置Ｘ１００）とは異なるので、そのルート不通通知パケットを、自己のルーティングテーブル１４０にルート不通通知パケットの宛先（無線装置Ｘ１００）と対応付けられて記憶される次の送信先となる無線装置（例えば無線装置Ｘ１００）に送信する。  
ルート不通通知パケットを受信した無線装置Ｘ１００は、自己がルート不通通知パケットの宛先であるので、新たな通信ルートでデータを宛先（無線装置Ｇ１００）へ送信すべく、上述したような手順により、自己と直接通信が可能な各無線装置へのルート探索パケットの送信を行う。
【００５２】
なお、上述したルート不通通知パケットの送信は、例えば以下のような手順により行うようにすることもできる。  
まず、データの送信元である無線装置Ｘ１００からデータの宛先に応じて定められる通信ルートに従って各無線装置（無線装置Ｙ、無線装置Ｚ）１００を経由して送信されてきたデータを受信した無線装置（無線装置Ａ）１００は、自己のルーティングテーブル１４０にデータの宛先（無線装置Ｇ１００）と対応付けられて記憶される次の送信先となる無線装置（無線装置Ｃ１００）との間の通信に異常を検知した場合には、宛先へのデータの送信ができない旨を示すルート不通通知パケットを、データの送信元である無線装置（無線装置Ｘ１００）を宛先として、上記通信ルートにおいて無線装置Ｘ１００側に隣接する無線装置（無線装置Ｚ１００）に送信する。
【００５３】
ルート不通通知パケットを受信した無線装置Ｚ１００は、ルート不通通知パケットに記載された無線装置Ｘ１００の識別子が自己の識別子（Ｚ）と異なるので、ルート不通通知パケットを、通信ルートにおいて無線装置Ｘ１００側に隣接する無線装置（無線装置Ｙ１００）に送信する。  
ルート不通通知パケットを受信した無線装置Ｙ１００は、ルート不通通知パケットに記載された無線装置Ｘ１００の識別子が自己の識別子（Ｙ）と異なるので、ルート不通通知パケットを、通信ルートにおいて無線装置Ｘ１００側に隣接する無線装置（無線装置Ｘ１００）に送信する。  
ルート不通通知パケットを受信した無線装置Ｘ１００は、ルート不通通知パケットに記載された無線装置Ｘ１００の識別子が自己の識別子（Ｘ）と同じなので、上述したような手順により、ルート探索パケットを自己と直接通信が可能な各無線装置１００へ送信する。
【００５４】
このようにして、通信ルート上のいずれかの無線装置１００において通信の異常が検出された場合においては、データの宛先となる無線装置１００への新たな通信ルートを再構築することができる。そしてこのようにして再構築される新たな通信ルートは、最も信頼性の高い通信ルートとすることができるのである。
【００５５】
＝＝＝無線装置の構成＝＝＝
次に、本実施の形態に係る各無線装置１００の構成について、図９を参照しながら説明する。  
上述したように、本実施の形態に係る無線装置１００は、それぞれの家電製品としての制御を行うアプリケーション機器１１０と、他の無線装置１００との通信を制御する無線端末１２０とを備えて構成される。  
もちろん、無線端末１２０は、アプリケーション機器１１０と別体として構成されるようにすることもできるし、一体として構成されるようにすることもできる。別体として構成される場合は、無線端末１２０とアプリケーション機器１１０とを着脱可能に構成するようにすることもできる。また一体として構成される場合は、無線端末１２０がアプリケーション機器１１０に内蔵されて構成されるようにすることもできる。
【００５６】
アプリケーション機器１１０と無線端末１２０との間は、Ｉ／Ｏ１１３とI／Ｏ１２４とで相互に通信可能に接続されており、アプリケーション機器１１０と無線端末１２０とで情報をやり取りするためのデータが送受信される。データは、例えば、エコーネット（登録商標）規格書Ver3.20第７部で規定されているエコーネット（登録商標）ミドルウェアアダプタ通信プロトコルなどである。  
アプリケーション機器１１０は、例えば、エコーネット（登録商標）規格書Ver3.20第７部で規定されているエコーネット（登録商標）レディー機器とすることができる。  
アプリケーション機器１１０は、アプリケーション機器制御部１１１、アプリケーション機器情報取得部１１２、Ｉ／Ｏ１１３、機器情報テーブル１１４、を備えて構成される。
【００５７】
アプリケーション機器制御部１１１は、無線端末１２０からのアプリケーション機器制御要求データをI／Ｏ１１３を経由して受信し、アプリケーション機器本体を制御する。例えば照明１０６の場合は、アプリケーション機器制御要求データに応じて点灯消灯を行う。  
アプリケーション機器情報取得部１１２は、無線端末１２０からのアプリケーション機器情報取得要求データをI／Ｏ１１３を経由して受信し、機器情報テーブル１１４の情報の一部または全部を無線端末１２０に送信する。  
I／Ｏ１１３は、アプリケーション機器１１０と無線端末１２０間のデータのやり取りを行うための通信インタフェースである。例えば、データを一度に１ビットずつ転送する通信チャンネルなどの、ＲＳ２３２Ｃ、オープンコレクタ、ＴＴＬである。なおＩ／Ｏ１１３は、パラレルＩ／ＦやＵＳＢなどを使用しても良い。
【００５８】
機器情報テーブル１１４は、家電機器の機器種別やメーカ情報、型式、電源供給形態などを記憶しておくためのエリアである。図１７に、機器情報テーブル１１４の一例を示す。  
機器情報テーブル１１４は、「機器種別コード」欄と、「メーカコード」欄と、「型式」欄と、「電源供給種別」欄とを備えて構成される。  
「機器種別コード」欄は、家電機器の機器種別を格納するエリアである。例えば、ホームサーバ１０１ならば「００００」、中継専用機器１０２ならば「０００１」、空調１０４ならば「０００２」などのように、予め値を定義しておき、その値を格納する。  
「メーカコード」欄は、家電機器の製造元のメーカ情報を格納するエリアである。例えば、Ａ社ならば「０００１」、Ｂ社ならば「０００２」などのように、予め値を定義しておき、その値を格納する。  
「型式」欄は、家電機器の製造元のメーカで定義されている型式情報を格納するエリアである。  
「電源供給種別」欄は、アプリケーション機器１１０を駆動するための電源がＡＣ電源から供給されているか、バッテリーから供給されているかなどの情報を格納するエリアである。
【００５９】
一方、無線端末１２０は、ＣＰＵ１２１、ＲＡＭ１２２、水晶発振子１２３、Ｉ／Ｏ１２４、無線送受信部１２５、記憶装置１２６、アンテナ１２７を備えて構成される。  
ＣＰＵ１２１は、無線端末１２０の動作に関する計算処理を行う装置で、主にＲＡＭ１２２や記憶装置１２６に格納されるプログラムを実行し処理する演算処理装置である。  
ＲＡＭ１２２は、内容を変更できるが電源を切ると内容が消えてしまう半導体メモリである。無線端末１２０において、動作中のプログラムが保持する変数やテーブル情報やログなどを記憶する。  
水晶発振子１２３は、ＣＰＵ１２１などの無線端末１２０を構成する各装置に対して動作の指針となるクロック信号を与える装置である。  
Ｉ／Ｏ１２４は、無線端末１２０とアプリケーション機器１１０間のデータのやり取りを行う通信インタフェースである。例えば、データを一度に１ビットずつ転送する通信チャンネルであり、ＲＳ２３２Ｃ、オープンコレクタ、ＴＴＬである。なおＩ／Ｏ１１３は、パラレルＩ／ＦやＵＳＢなどを使用しても良い。  
無線送受信部１２５は、無線通信のチャンネル制御、アドレス制御、変調、復調を行う装置である。  
アンテナ１２７は、他の無線端末１２０との間で電磁波の送受信を行うための装置である。電磁波としては、電波や赤外線等とすることができる。  
記憶装置１２６は、ＣＰＵ１２１で動作するプログラムを記憶する記録媒体である。記憶装置１２６としては、例えばハードディスク装置や半導体メモリを用いることができる。
【００６０】
図９に示すように、記憶装置１２６に記憶されるプログラムがＣＰＵ１２１に実行されることにより、アプリケーション機器通信処理部１３０、パケット送受信処理部１３１、電波レベル測定部１３３、評価値算出処理部１３４、動作時間監視部１３５、ＲＡＭ監視部１３６、ＣＰＵ監視部１３７が実現される。また記憶装置１２６には、上述したルーティングテーブル１４０、時端末評価値テーブル１４１、電波レベル履歴テーブル１４２、無線送受信ドライバ１３２が記憶される。
【００６１】
アプリケーション機器通信処理部１３０は、図１０に示すように、ＣＰＵ１２１により実行されるアプリケーション機器通信処理プログラム８００により実現される。アプリケーション機器通信処理部１３０は、アプリケーション機器１１０とデータのやり取りを行うためのデータの生成、送受信、受信したデータの解釈を行う。例えば、エコーネット（登録商標）規格書Ver.3.20第７部のエコーネット（登録商標）ミドルウェアアダプタ通信処理部をアプリケーション機器通信処理部１３０とすることができる。
【００６２】
パケット送受信処理部１３１は、図１１に示すように、ＣＰＵ１２１により実行されるデータパケット送信処理プログラム８１０、パケット受信処理プログラム８１１、データパケット受信処理プログラム８１２、ルート不通通知パケット受信処理プログラム８１３、ルート探索パケット受信処理プログラム８１４、ルート探索応答パケット受信処理プログラム８１５、ルート探索パケット中継プログラム８１６、及びルート探索受信テーブル１４３により実現される。
【００６３】
パケット送受信処理部１３１は、アプリケーション機器通信処理部１３０から受け取ったデータを基に、他の無線装置１００へ送信するためのデータパケットを生成する。データパケットの送信は無線送受信ドライバ１３２により行われる。また他の無線装置１００から送信されたデータパケットや、ルート不通通知パケット、ルート探索パケット、ルート探索応答パケットなどを解析し、アプリケーション機器通信処理部１３０や評価値算出処理部１３４にデータを渡す。なお、データパケットや、ルート不通通知パケット、ルート探索パケット、ルート探索応答パケットについては後述する。
【００６４】
無線送受信ドライバ１３２は、予め定められた無線通信プロトコル(例えば、ＩＥＥＥ８０２.１１ａ、ＩＥＥＥ８０２.１１ｂ、ＩＥＥＥ８０２.１１ｇ、ブルートゥース、特定小電力無線、ＩｒＤＡ通信など)で、他の無線装置１００と通信を行うために、無線送受信部１２５の制御を行うためのプログラムである。
【００６５】
電波レベル測定部１３３は、図１２に示すように、ＣＰＵ１２１により実行される電波レベル測定プログラム８２０により実現される。電波レベル測定部１３３は、周期的に電波レベル測定パケットを周囲の無線装置１００にブロードキャストで送信し、それらの無線装置１００からユニキャストで送信されてくる電波レベル測定パケットに対する応答に基づいて、各無線装置１００との間の電磁波の強度を調べ、電波レベル履歴テーブル１４２に記録する。電波レベル測定パケットは特に図示しないが、送信先下位アドレスにブロードキャストアドレスを指定し、受信した無線端末１００が応答を返すようにする。  
電波レベル履歴テーブル１４２は、無線装置１００が受信した無線データの受信履歴情報と電波レベル情報を格納するテーブルの一例である。図１９に、電波レベル履歴テーブル１４２のテーブル構成を示す。
【００６６】
「下位アドレス」欄は、自己に無線データを送信してきた無線装置１００の下位アドレスを格納する項目である。「時刻」欄は、無線データの受信時刻を格納する項目である。「電波レベル」は、無線通信のための電磁波の強度を示す情報を格納する項目である。「電波レベル」欄に記載される電磁波の強度を示す情報の単位は、例えばデシベルとすることができるが、電磁波の強度を表すことができる単位であれば、どのような単位とすることもできる。
【００６７】
評価値算出処理部１３４は、図１３に示すように、ＣＰＵ１２１により実行される自端末の評価値算出プログラム８３０、中継パスの評価値算出プログラム８３１により実現される。評価値算出処理部１３４は、自己の無線通信機能の稼働率を示す情報や自己と直接通信が可能な各無線装置１００との間のそれぞれの通信の信頼性を示す情報を算出する。
【００６８】
動作時間監視部１３５は、図１４に示すように、ＣＰＵ１２１により実行される動作時間監視プログラム８４０、動作回数カウンタ１５０、動作時間カウンタ１５１、動作状態遷移テーブル１４４により実現される。
【００６９】
ＲＡＭ監視部１３６は、図１５に示すように、ＣＰＵ１２１により実行されるＲＡＭ監視プログラム８５０により実現される。
【００７０】
ＣＰＵ監視部１３７は、図１６に示すように、ＣＰＵ１２１により実行されるＣＰＵ監視プログラム８６０により実現される。
【００７１】
なお、本実施の形態に係る各無線装置１００は、図２３に示す状態遷移に基づいて動作する。図２３に示すように、本実施の形態に係る無線装置１００は、「停止」、「初期化中」、「通信動作中」、「エラー停止」の各状態をとる。
【００７２】
「停止」は、無線装置１００の機能が停止している状態を示す状態である。「停止」は、無線装置１００のＰｏｗｅｒＯｎによって状態遷移する。「停止」状態の無線装置１００は「初期化中」の状態に移行する。「初期化中」は、無線装置１００の機能を開始するために初期化処理を行っている状態である。「停止」から遷移してくる場合と、「通信動作中」や「エラー停止」から遷移してくる場合とがある。「通信動作中」は他の無線装置１００との間でパケットの送受信処理を行うことが可能な状態である。無線装置１００は「通信動作中」である間、無線通信機能が稼働する。「初期化中」に行われていた初期化の処理が終了すると、「通信動作中」に遷移する。「エラー停止」は、何らかの通信異常を検知し、パケットの送受信処理を停止している状態である。「通信動作中」から遷移する。また、異常状態が回復したことを検知したら「通信動作中」に遷移する。
【００７３】
ここで一例として、ある無線装置１００が最初に稼働を開始してから現在に至るまでの間に、上記各状態を遷移してきた様子を図２４に示す。また無線装置１００が各状態にある時間は、図２２に示す動作状態遷移テーブル１４４により記録されている。図２２には、図２４に対応して、無線装置１００のそれぞれの状態の開始時刻と終了時刻が示されている。動作状態遷移テーブル１４４を参照することにより、無線通信機能が稼働していた時間や、一旦稼働を開始した無線通信状態が停止した回数、稼働の開始から停止に至るまでの稼働時間、現在稼働中の無線通信機能が稼働を開始してから現在までの経過時間などを算出することができる。なお、動作状態遷移テーブル１４４は、動作時間監視部１３５により作成、更新される。
【００７４】
ルーティングテーブル１４０は、任意の無線装置１００へデータパケットを転送するためのルーティング情報を格納するテーブルの一例である。図１８に、ルーティングテーブル１４０のテーブル構成を示す。  
ルーティングテーブル１４０は、任意の無線装置１００のアドレスマップ情報となる行と、行を構成する項目とから構成される。ルーティングテーブル１４０の項目は、「宛先上位アドレス」と、「ＮｅｘｔＨｏｐ下位アドレス」とがある。「宛先上位アドレス」は、アドレスマップ情報を構成する任意のノードの宛先上位アドレスを格納する項目である。「ＮｅｘｔＨｏｐ下位アドレス」は、通信下位レイヤにおける送信先情報を格納するエリアである。
【００７５】
自端末評価値テーブル１４１は、自端末（無線装置１００）が「通信動作中」の状態である可能性の大小判定するためのテーブルの一例である。自端末が「通信動作中」の状態である可能性が大きいほど、無線通信機能の稼働率が大きいことが期待できる。図２０に、自端末評価値テーブル１４１のテーブル構成を示す。  
「機器種別」欄は、無線装置１００の機器種別を格納する項目である。機器種別としては、例えば、ホームサーバ１０１、中継専用機器１０２、センサ１０３、空調１０４、携帯端末１０５、照明１０６、１０７などがある。「電源供給種別」欄は、無線装置１００に対応する電源供給種別を格納する項目である。電源供給種別としては、例えば、ＡＣ１００V、ＡＣ１００V無停電電源装置付、バッテリーなどがある。「自端末機器の評価値」欄は、「機器種別」欄に対応する無線装置１００が「通信動作中」である可能性の大小を示す値である。例えば、「０」から「１」の範囲内で値を決定し格納する。図２０では、ホームサーバ１０１が「０．９５」、中継専用機器１０２が、電源供給種別に応じて「１．０」のものと「０．９５」のもの、センサ１０３が電源供給種別に応じて「０．５」のものと「０．９５」のもの、空調１０４が「０．７」、照明１０６、１０７が「０．６」としている。
【００７６】
＝＝＝パケットについて＝＝＝
次に、本実施の形態に係る無線装置１００間で授受されるパケットについて図２５乃至図２８を参照しながら説明する。  
無線装置１００間で授受されるパケットは、データパケット６００、ルート不通通知パケット６１０、ルート探索パケット６２０、ルート探索応答パケット６３０である。  
データパケット６００は、アプリケーションの制御データ、状態データ、画像データ、ストリーミングデータ等をやりとりするパケットである。  
ルート不通通知パケット６１０は、宛先となる無線装置１００に送信されるデータパケット６００を通信ルートに従って次の無線装置１００に送信しようとした無線装置１００が、不通を発見（異常を検知）した場合に、データパケット６００を差し出した無線装置１００に対して、不通を通知するためのパケットである。  
ルート探索パケット６２０は、データパケット６００を差出す無線装置１００が、宛先となる無線装置１００にデータパケット６００を送信するための通信ルートを探索するために送信されるパケットである。  
ルート探索応答パケット６３０は、データパケット６００の宛先となる無線装置１００が決定した通信ルートを、その通信ルート上の各無線装置１００に通知するためのパケットである。
【００７７】
各パケットは、「送信元下位アドレス」と、「送信先下位アドレス」と、「パケットタイプ」を備えて構成される共通のヘッダ部を持つ。  
「送信元下位アドレス」は、パケット送信元の下位アドレス、つまり自己の下位アドレスの情報が格納されるエリアである。例えば、「Ａ〜Ｇ」の送信元を表す１バイトの下位アドレスが格納される。  
「送信先下位アドレス」は、パケットの次の送信先となる無線装置１００の下位アドレスを指定する情報が格納されるエリアである。例えば、「Ａ〜Ｇ」の送信先を表す１バイトの下位アドレスが格納される。また、特定の値を下位ブロードキャストアドレスと定め、下位ブロードキャストアドレスが送信先下位アドレスに指定される場合は、このパケットを無線で受信したすべての無線装置１００が受信することにする。  
「パケットタイプ」は、パケットの種別情報を格納するエリアである。例えば、データパケット６００は「０ｘ００」、ルート不通通知パケット６１０は「０ｘ０１」、ルート探索パケット６２０は「０ｘ０２」、ルート探索応答パケット６３０は「０ｘ０３」など、各パケットの種別でユニークになるように１バイトの値を格納する。
【００７８】
次に、データパケット６００について説明する。  
データパケット６００は、上述したヘッダ部に加え、「差出上位アドレス」、「宛先上位アドレス」、「データ長」、「データ部」を備える。データパケット６００を図２５に示す。  
「差出上位アドレス」は、データパケット６００の「データ部」にデータを格納した無線装置１００の上位アドレスを格納するエリアである。  
「宛先上位アドレス」は、データパケット６００の「データ部」のデータを渡したい無線装置１００つまり宛先となる無線装置１００の上位アドレスを格納するエリアである。
【００７９】
「データ長」は、「データ部」に格納されるデータのサイズ、例えばバイト数を格納するエリアである。  
「データ部」は、アプリケーションの制御データ、状態データ、画像データ等を格納するエリアである。
【００８０】
次に、ルート不通通知パケット６１０について説明する。  
ルート不通通知パケット６１０は、上述したヘッダ部に加え、「差出上位アドレス」、「宛先上位アドレス」、「データ長」、「データ部」を備える。ルート不通通知パケット６１０を図２６に示す。  
「差出上位アドレス」は、データパケット６００の「データ部」にデータを格納した無線装置１００の上位アドレスを格納するエリアである。  
「宛先上位アドレス」は、データパケット６００の「データ部」のデータを渡したい無線装置１００、つまり宛先となる無線装置１００の上位アドレスを格納するエリアである。  
「データ長」は、「データ部」に格納されるデータのサイズ、例えばバイト数を格納するエリアである。  
「データ部」は、到達不能だったデータパケット６００「データ部」のアプリケーションの制御データ、状態データ、画像データ等を格納するエリアである。
【００８１】
次に、ルート探索パケット６２０について説明する。  
ルート探索パケット６２０は、上述したヘッダ部に加え、「探索元上位アドレス」、「探索先上位アドレス」、「ルート探索パケットＩＤ」、「データ長」、「中継端末情報リスト」を備える。ルート探索パケット６２０を図２７に示す。  
「探索元上位アドレス」は、ルート探索パケット６２０を発信した無線装置１００、すなわち新たな通信ルートを探索しようとした無線装置１００の上位アドレスを格納するエリアである。  
「探索先上位アドレス」は、ルート探索パケット６２０によって、通信ルートを発見したい探索先の無線装置１００、すなわち、データパケット６００の宛先となる無線装置１００の上位アドレスを格納するエリアである。  
「ルート探索パケットＩＤ」は、ルート探索パケット６２０の同一性を識別するためにルート探索パケット６２０の「差出上位アドレス」欄で特定される無線装置１００が値を格納するエリアである。  
「データ長」は、「中継端末情報リスト」のデータサイズ例えばバイトサイズを格納する。
【００８２】
「中継端末情報リスト」は、中継端末すなわち通信ルート上の各無線装置１００の情報をリストにして格納するエリアである。ルート探索パケット６２０を受信した無線装置１００が新たにルート探索パケット６２０をブロードキャストする際に、当該無線装置１００が自身の中継端末情報を「中継端末情報リスト」に追加する。  
「中継端末情報リスト」は、「中継端末下位アドレス」、「中継端末評価値」、「中継パス評価値」の組で格納される。  
「中継端末下位アドレス」は、ルート探索パケット６２０を受信して新たにルート探索パケット６２０をブロードキャストする際に、無線装置１００の下位アドレス、つまり自己の識別子を格納するエリアである。  
「中継端末評価値」は、ルート探索パケット６２０を受信して新たにルート探索パケット６２０をブロードキャストする無線装置１００が、探索元上位アドレスで特定される無線装置１００から探索先上位アドレスで特定される無線装置１００へのデータパケット６００の通信ルートの中継装置として選択するか否かの判定基準となる評価値、すなわち、自己の無線通信機能の稼働率を示す情報を格納するエリアである。  
「中継パス評価値」は、ルート探索パケット６２０を自己に送信してきた無線装置１００と自己との間のパス評価値、すなわち、ルート探索パケット６２０を自己に送信してきた無線装置１００と自己との間の通信の信頼性を示す情報を格納するエリアである。
【００８３】
次に、ルート探索応答パケット６３０について説明する。  
ルート探索応答パケット６３０は、上述したヘッダ部に加え、「探索元上位アドレス」、「探索先上位アドレス」、「ルート優先度」、「データ長」、「中継端末リスト」を備える。ルート探索応答パケット６３０を図２８に示す。  
ルート探索応答パケット６３０を中継する無線装置１００は、受信したルート探索応答パケット６３０の「中継端末リスト」の情報に基づいて、自身のルーティングテーブル１４０を更新し、次の無線装置１００宛てに送信する。  
「探索元上位アドレス」は、ルート探索応答パケット６３０に対応するルート探索パケット６２０を発信した無線装置１００の上位アドレスを格納するエリアである。  
「探索先上位アドレス」は、ルート探索応答パケット６３０に対応するルート探索パケット６２０によって通信ルートを発見したい、探索先の無線装置１００の上位アドレスを格納するエリアである。  
「ルート優先度」は、ルート探索応答パケット６３０の中継端末リストにより特定される通信ルートが、全通信ルートのうち何番目に信頼性が高いかという情報を格納するエリアである。  
「データ長」は、「中継端末リスト」のデータサイズを格納するエリアである。  
「中継端末リスト」は、ルート探索応答パケット６３０の探索先上位アドレスにより特定される無線装置１００により選択された通信ルートにおける、各無線装置１００の下位アドレスのリスト、つまり、探索元の無線装置１００から探索先の無線装置１００までの新たな通信ルートにおける各無線装置１００の識別子を格納するエリアである。
【００８４】
＝＝＝パケット送受信の処理の流れ＝＝＝
次に、パケット送受信部１３１により行われるパケットの送受信の処理の流れについて、図２９乃至図４０のフローチャートにより説明する。
【００８５】
まず、アプリケーション機器通信処理部１３０からのデータパケット送信要求によってデータパケット６００を他の無線装置１００に送信する場合の処理の流れを図２９に示す。  
アプリケーション機器通信処理プログラム８００より、データパケット送信要求を受け取ると、データパケット送信処理プログラム８１０がスタートする。データパケット送信要求で渡された情報からデータパケットを作成し（S1000）、データパケット６００の宛先上位アドレスがルーティングテーブル１４０の宛先上位アドレス項目に存在するか判定し（S1001）、存在する場合には”Ｙｅｓ”に進み、ルーティングテーブル情報に基づきデータパケット６００を送信する（S1002）。  
存在しない場合は”Ｎｏ”に進み、宛先上位アドレスのルート探索パケット６２０を作成する（S1005）。作成したルート探索パケット６２０を送信し（S1006）、ルート探索応答パケット６３０を受信するまで待機する（S1007）。
【００８６】
次に、予め設定したタイムアウト時間内にルート探索応答パケット６３０の受信があったか否かを判定し（S1008）、ルート探索応答パケット６３０の受信があった場合は、受信したルート探索応答パケット６３０に基づいてルーティングテーブル１４０を更新する（S1009）。予め設定したタイムアウト時間内にルート探索応答パケット６３０の受信がなかった場合は、アプリケーション機器通信プログラム８００にルート探索タイムアウト、つまり所定のタイムアウト時間内にルート探索応答パケット６３０を受信しなかった旨を返し（S1011）、処理を終了する。
【００８７】
S1002においてデータパケット６００を送信した後は、所定時間、ルート不通通知パケット６１０を受信するか否かの判定を行う（S1003）。  
ルート不通通知パケット６１０の受信が所定時間内に無い場合は、アプリケーション機器通信プログラム８００に送信失敗通知無し、つまりルート不通通知パケット６１０の受信が所定時間内に無かった旨を返し（S1004）、処理を終了する。  
一方、ルート不通通知パケット６１０の受信が所定時間内にあった場合は、アプリケーション機器通信プログラム８００に、送信失敗通知有り、つまりルート不通通知パケット６１０の受信が所定時間内にあった旨を返し（S1010）、処理を終了する。
【００８８】
次に、無線送受信ドライバ１３２が受信した他の無線装置１００から送信されたパケットを、パケット送受信部１３１が解析し、処理する場合の処理の流れを図３０に示す。  
無線送受信ドライバ１３２よりパケットの受信通知を受け取ると、パケット受信処理プログラム８１１がスタートする。
【００８９】
まず、受信したパケットのパケットタイプをチェックする（S2000）。そしてパケットタイプがデータパケット６００の場合は、データパケット受信処理プログラム８１２にデータパケット６００を渡して（S2001）処理を終了する。  
パケットタイプがルート不通通知パケット６１０の場合は、ルート不通通知パケット受信処理プログラム８１３にルート不通通知パケット６１０を渡して（S2002）処理を終了する。  
パケットタイプがルート探索パケット６２０の場合は、ルート探索パケット受信処理プログラム８１４にルート探索パケット６２０を渡して（S2003）処理を終了する。  
パケットタイプがルート探索応答パケット６３０の場合は、ルート探索応答パケット受信処理プログラム８１５にルート探索応答パケット６３０を渡して（S2004）処理を終了する。
【００９０】
次に、データパケット受信処理プログラム８１２のフローを図３１に示す。  
パケット受信処理プログラム８１１よりデータパケット６００を渡されると、データパケット受信処理プログラム８１２がスタートする。  
まず、受信したデータパケット６００の宛先上位アドレスが自分の上位アドレスと一致するか否かを判定する（S3000）。一致する場合はアプリケーション機器通信処理部１３０に受信したデータパケット６００の差出上位アドレスとデータ部を渡して終了する（S3001）。
【００９１】
一致しない場合は、受信したデータパケット６００の宛先上位アドレスを検索キーとして、ルーティングテーブル１４０の宛先上位アドレス列に、該当する上位アドレスがあるか否かを検索する（S3002）。受信したデータパケット６００の宛先上位アドレスがルーティングテーブル１４０に存在するか否かを判定し（S3003）、存在する場合は受信したデータパケット６００の送信元下位アドレスを自分の下位アドレスに変更し、送信先下位アドレスをルーティングテーブル１４０で見つかった下位アドレスに変更する。そしてデータパケット６００を送信先下位アドレスで特定される無線装置１００に送信する（S3004）。存在しない場合は、ルート不通通知パケット６１０を生成し、受信したデータパケット６００の差出上位アドレスで特定される無線装置１００宛てに送信する（S3005）。そしてデータパケット６００を破棄して（S3006）処理を終了する。
【００９２】
次に、ルート不通通知パケット受信処理プログラム８１３のフローを図３２に示す。  
まず、パケット受信処理プログラム８１１よりルート不通通知パケット６１０を渡されると、ルート不通通知パケット受信処理プログラム８１３がスタートする。  
受信したルート不通通知パケット６１０の宛先上位アドレスが自分の上位アドレスと一致するか否かを判定し（S4000）、一致する場合はアプリケーション機器通信処理部１３０に受信したルート不通通知パケット６１０の差出上位アドレスとデータ部を渡して処理を終了する（S4001）。
【００９３】
一致しない場合は、受信したルート不通通知パケット６１０の宛先上位アドレスを検索キーとして、ルーティングテーブル１４０の宛先上位アドレス列に、該当する上位アドレスがあるか否か検索する（S4002）。受信したルート不通通知パケット６１０の宛先上位アドレスがルーティングテーブル１４０に存在するか否かを判定し（S4003）、存在する場合は受信したルート不通通知パケット６１０の送信元下位アドレスを自分の下位アドレスに変更し、送信先下位アドレスをルーティングテーブル１４０で見つかった下位アドレスに変更する。そしてルート不通通知パケットをルーティングテーブル１４０で見つかった下位アドレスにより特定される無線装置１００に送信する（S4004）。存在しない場合はルート探索パケット６１０を破棄する（S4005）。
【００９４】
次に、ルート探索パケット受信処理プログラム８１４のフローを図３３に示す。  
パケット受信処理プログラム８１１よりルート探索パケット６２０を渡されると、ルート探索パケット受信処理プログラム８１２がスタートする。
【００９５】
まず、受信したルート探索パケット６２０の探索先上位アドレスが自分の上位アドレスに一致するか判定する（S5000）。受信したルート探索パケット６２０の探索先上位アドレスが自分の上位アドレスに一致する場合には、受信したルート探索パケット６２０のルート探索パケットＩＤ４０３から新しいルート探索パケット６２０か否かを判定する（S5001）。新しいルート探索パケット６２０ならばS5002に進む。タイムアウトを超えた古いルート探索パケット６２０ならばS5011に進む。そしてそのタイムアウトを超えた古いルート探索パケット６２０を破棄する（S5011）。なお、受信したルート探索パケット６２０の探索先上位アドレスが自分の上位アドレスに一致しない場合には、ルート探索パケット中継プログラム８１６にルート探索パケット６２０を渡して、処理を終了する。
【００９６】
次にS5002において、受信した新しいルート探索パケット６２０を受信リスト、つまりルート探索パケット受信テーブル１４３に追加する。ルート探索パケット受信テーブル１４３を図２１に示す。ルート探索パケット受信テーブル１４３は、受信したルート探索パケット６２０毎に、ルート探索パケットＩＤと、受信時刻と、ホップ数とを記録したものである。
【００９７】
次に、タイムアウト時間を経過したか否かを判定し（S5003）、タイムアウト時間内である場合はS5000に戻る。タイムアウト時間は、様々な通信ルートを経由して自己に送信されてくる、自己を宛先としたルート探索パケット６２０の受信を受け付ける時間である。タイムアウト時間は適宜の時間とすることができる。
【００９８】
タイムアウト時間を経過した場合は、受信したルート探索パケット６２０の中で一番評価の高いルートを抽出する（S5004）。つまり、様々な通信ルートを経由して自己に送信されてくる、自己を宛先としたルート探索パケット６２０のそれぞれについて、各無線装置１００の稼働率を示す情報及び各通信の信頼性を示す情報と、ルート探索パケット６２０を自己に送信してきた無線装置１００と自己との間の通信の信頼性を示す情報とに基づいて、通信ルートの信頼性を示す情報を算出し、それぞれ算出した各通信ルートの信頼性を示す情報に基づいて、通信ルートの探索元となる無線装置１００から自己にデータを送信するための新たな通信ルートを決定する。ここで、選択された通信ルートが複数か否かを判定する（S5005）。複数の通信ルートにおいて、上記算出された信頼性を示す情報が同じとなる場合があるからである。通信ルートの信頼性を示す情報が同一となる通信ルートが複数あった場合には”Ｙｅｓ”に進む。そして、その中で探索元となる無線装置１００から自己までに経由する無線装置１００の数が最も少ない通信ルート、つまりホップ数の一番少ない通信ルートを新たな通信ルートとして決定する（S5006）。複数で無い場合は、”Ｎｏ”に進む。
【００９９】
さらにS5007において、上記ホップ数の一番少ない通信ルートが複数か否かを判定する（S5007）。複数であった場合には、その中で最も早い時刻に受信したルート探索パケットが経由してきた通信ルートを新たな通信ルートとして決定する（S5008）。このようにして通信ルートが決定されると、ルート探索パケット受信テーブル１４３を削除する（S5009）。
【０１００】
なお、本実施の形態においては、ホップ数が同一となる通信ルートについて、ルート探索パケット６２０の受信の先後の判断を行っているが、ルート探索パケット６２０の受信が同時であった通信ルートについて、ホップ数の大小を判断するようにすることもできる。
【０１０１】
次に、ルート探索パケット中継プログラム８１６のフローを図３４に示す。  
パケット受信処理プログラム８１１よりルート探索パケット６２０を渡されると、ルート探索パケット中継プログラム８１５がスタートする。
【０１０２】
まず、受信したルート探索パケット６２０の中継端末情報リストに自分の上位アドレスがあるか否かを判定する（S6000）。自分の上位アドレスが無い場合は”ない”に進む。
【０１０３】
一方、自分の上位アドレスがある場合は、ルート探索パケット６２０を破棄して処理を終了する（S6005）。中継端末情報リストに自分の上位アドレスがあった場合は、以前自分が中継あるいは送信したルート探索パケット６２０が送信されてきたことを意味するからである。
【０１０４】
中継端末情報リストに自分の上位アドレスがなかった場合は、自端末の評価値、つまり自己の無線通信機能の稼働率を示す情報を算出する（S6001）。ここで、上述したように、自己の無線通信機能の稼働率を示す情報は、例えば、自己の無線通信機能が最初に稼働を開始してから現在までの時間のうちの、無線通信機能が稼働していた時間の割合を示す情報とすることができる。あるいは、自己の無線通信機能の稼働率を示す情報は、例えば、自己の無線通信機能が最初に稼働を開始してから現在までの間において、一旦稼働を開始した無線通信機能が停止した回数のうち、稼働の開始から停止に至るまでの稼働時間が、現在稼働中の無線通信機能が稼働を開始してから現在までの経過時間よりも長いものの割合を示す情報とすることもできる。
【０１０５】
自端末の評価値を算出する処理の流れを図３８及び図３９を参照しながら説明する。自端末の評価値は、図２２に示した動作状態遷移テーブル１４４を参照することにより算出することができる。
【０１０６】
まず、上述した前者の場合の自端末の評価値を算出する処理のフローの一例を図３８に示す。  
ルート探索パケット中継プログラム８１５より、評価値算出要求があると（つまり図３４のS6001が実行されると）、図３８に示す自端末の評価値算出プログラム８３０がスタートする。  
まず、初回起動日時を取得する（S10000）。初回起動日時とは、自己の無線通信機能が最初に稼働を開始した日時である。初回起動日時は、動作状態遷移テーブル１４４の第１回目の「停止」状態の開始時刻である。図２２の例では、２００３年５月１２日の７時２３分１０秒である。続いて現在日時を取得する（S10001）。そして動作時間監視部１３５の動作時間カウンタ１５１に記憶されている、動作時間を取得する（S10002）。動作時間とは、無線装置１００が「通信動作中」の状態にあった総時間である。動作時間（通信動作総時間）は、例えば図２４に示すタイムチャートにおいては、通信動作中状態開始（１）からエラー停止（１）までの時間と、通信動作中開始（２）からPowerOFF（１）までの時間と、通信動作中開始（３）からエラー停止（２）までの時間と、通信動作中開始（４）からエラー停止（３）までの時間と、通信動作中開始（５）から現在までの総時間である。  
そして、初回起動日時から現在日時までの時間のうちの、通信動作中総時間の割合を算出し評価値とする（S10003）。
【０１０７】
一方、上述した後者の場合の自端末の評価値を算出する処理のフローの一例を図３９に示す。  
ルート探索パケット中継プログラム８１５より、評価値算出要求があると（つまり図３４のS6001が実行されると）、図３９に示す自端末の評価値算出プログラム８３０がスタートする。  
まず、過去の通信動作中状態の時間において、現在の時刻までに通信動作中状態だった回数、つまり自己の無線通信機能が最初に稼働を開始してから現在までの間において、一旦稼働を開始した無線通信機能が停止した回数を取得する（S11000）。例えば、図２４のタイムチャートでは、PowerON（１）から現在までの通信動作中状態だった回数は、５回である。  
続いて、最後の通信動作中開始から現在までの時間と、過去のそれぞれの通信動作中開始からその状態が終了するまでの時間を比較し、過去の通信動作中開始からその状態が終了するまでの時間の方が大きい場合の回数、つまり稼働の開始から停止に至るまでの稼働時間が、現在稼働中の無線通信機能が稼働を開始してから現在までの経過時間よりも長い場合の回数を取得する（S11001）。例えば、図２４タイムチャートでは、通信動作中開始（５）から現在までの時間より通信動作中状態の時間が長かったのは、通信動作中開始（２）からPowerOFF（１）までの場合と、通信動作中開始（４）からエラー停止（３）までの場合の２回である。  
そして、（最後の通信動作中開始から現在までの時間に比べて、過去の通信動作中開始からその状態が終了するまでの時間の方が大きい場合の回数）／（現在の時刻までに通信動作中状態だった回数）を計算し、自端末の評価値を算出する（S11002）。なお、図２４タイムチャートの場合では、自端末の評価値は０．４（２回／５回）となる。
【０１０８】
また、図示はしないが、アプリケーション機器通信処理部１３０を経由して、アプリケーション機器１１０の機器情報テーブル１１４を取得し、機器種別コードと電源供給種別から、自端末評価値テーブル１４１に基づいて、自端末の評価値を算出し評価値することもできる。  
例えば、機器種別が中継専用機器１０２のような設置場所が固定されている機器であれば評価値を相対的に高い値とし、携帯端末１０５のような設置場所が固定されていない機器であれば評価値を相対的に低い値にする。また、電源供給形態がＡＣ１００Ｖからの供給である場合は相対的に高い評価値とし、バッテリからの供給である場合は相対的に低い評価値とする。また、無線端末１００のＲＡＭ１２２の容量の大きさや、ＣＰＵ処理能力の高さから、ＲＡＭ１２２の容量が大きい場合やＣＰＵ処理能力が高い場合は、相対的に高い評価値になるようにする。
【０１０９】
図３４に戻って、S6001の処理が終わると、続いて、ルート探索パケット６２０の送信元と自端末との間の中継パス５１０の評価値、つまりルート探索パケット６２０を自己に送信してきた無線装置１００と自己との間の通信の信頼性を示す情報を算出する（S6002）。ルート探索パケット６２０を自己に送信してきた無線装置１００と自己との間の通信の信頼性を示す情報は、例えばルート探索パケット６２０を自己に送信してきた無線装置１００と自己との間で通信を行う際のそれぞれの電磁波の強度を示す情報とすることができる。
【０１１０】
ルート探索パケット６２０の送信元と自端末との間の中継パス５１０の評価値を算出する処理の流れを、図４０を参照しながら説明する。ルート探索パケット６２０の送信元と自端末との間の中継パス５１０の評価値は、図１９に示した電波レベル履歴テーブル１４２を参照することにより算出することができる。
【０１１１】
ルート探索パケット中継プログラム８１５より、評価値算出要求があると（つまり図３４のS6002が実行されると）、図４０に示す中継パスの評価値算出プログラム８３１がスタートする。  
まず、自身がモバイルか否かを判定する（S12000）。例えば、アプリケーション機器１１０の機器情報テーブル１１４から自身の機器種別を取得し、アプリケーション機器１１０が携帯端末１０５であれば、モバイルと判定する。  
次に、電波レベル履歴テーブル１４２を取得し、電波レベル履歴テーブル１４２を解析して、（応答が返ってきた回数／全試行回数）からモバイルか否かを判定する（S12001）。例えば、図１９の電波レベル履歴テーブル１４２では、「下位アドレス」がＥの場合は、３月１日の１０時３１分で「電波レベル」が０に変化しているので、モバイルであると判定しても良い。  
次に、自身と中継相手がモバイルか否かを判定し（S12002）、電波レベルが閾値以上か否かを判定し（S12003、S12006、S12009）、対応する中継パス５１０の評価値を設定する（S12004、S12005、S12007、S12008、S12010、S12011）。  
また、図示はしないがブロードキャストパケットによって、自端末１００に内蔵または外付けされるアプリケーション機器１１０の機器情報テーブル１１４と、直接通信可能な無線端末１００のアプリケーション機器１１０の機器情報テーブル１１４を取得し、機器種別コードや電源供給種別から、中継パス５１０の評価値を算出しても良い。
【０１１２】
図３４に戻って、S6002の処理が終わると、ルート探索パケット６２０の中継端末情報リストに、自分の下位アドレス（自己の識別子）と、自端末の評価値（自己の無線通信機能の稼働率を示す情報）と、パスの評価値（ルート探索パケットを自己に送信してきた無線装置と自己との間の通信の信頼性を示す情報）の組を追加し（S6003）、ルート探索パケット６２０をブロードキャスト送信、つまり、自己と直接通信が可能な各無線装置１００に送信する（S6004）。
【０１１３】
次に、ルート探索応答パケット受信処理プログラム８１５のフローを図３５に示す。  
パケット受信処理プログラム８１１よりルート探索応答パケット６３０を渡されると、ルート探索応答パケット受信処理プログラム８１５がスタートする。
【０１１４】
まず、受信したルート探索応答パケット６３０の上位アドレスが自分の上位アドレスと一致するか否かを判定する（S7000）。一致する場合は、”Ｙｅｓ”に進む。そして、受信したルート探索応答パケット６３０に基づいてルーティングテーブル１４０を更新する（S7001）。具体的には、ルート探索応答パケット６３０に記載されたデータの宛先を示す無線装置１００の識別子、及び自己にルート探索応答パケット６３０を送信してきた無線装置１００の識別子を、それぞれ、自己のルーティングテーブル１４０における、データの宛先を示す無線装置１００の識別子、及びデータの次の送信先を示す無線装置１００の識別子として記憶する。
【０１１５】
一方、一致しない場合は”Ｎｏ”に進む。そして、受信したルート探索応答パケット６３０の宛先上位アドレスを検索キーとして、ルーティングテーブル１４０の宛先上位アドレス列に該当する上位アドレス値があるか検索し（S7002）、ルート探索パケット６３０の宛先上位アドレスがルーティングテーブル１４０に存在するか否かを判定し（S7003）、ルーティングテーブル１４０に存在する場合はS7004に進み、存在しない場合は、ルート探索応答パケット６３０を破棄し（S7005）、処理を終了することもできる。
【０１１６】
S7004においては、受信したルート探索応答パケット６３０の送信元下位アドレスを自分の下位アドレスに変更し、送信先下位アドレスをルーティングテーブル１４０で見つかった下位アドレスに変更し、ルート探索応答パケット６３０として送信して処理を終了することもできる。
【０１１７】
次に、動作時間監視プログラム８４０のフローを図３６に示す。  
動作時間監視プログラム８４０は、ルート探索パケット６２０に格納する評価値を算出する際に用いられる動作時間を監視するプログラムである。  
無線装置１００の動作状態が「初期化中」から「通常動作中」に遷移したら、動作時間監視プログラム８４０の実行が開始される。  
まず、動作時間監視プログラム８４０は、動作回数カウンタ１５０を１増やして、動作時間カウンタ１５１を０に初期化する（S8000）。動作回数カウンタ１５０は、自己の無線通信機能の動作回数を記憶しておくためのカウンタである。動作時間カウンタ１５１は、無線通信機能が稼働開始してからの時間を記憶しておくためのカウンタである。  
次に、現在の動作状態が「通信動作中」であるか否かを判定する（S8001）。「通信動作中」ならば”Ｙｅｓ”に進む。通信動作中状態で無いならば”Ｎｏ”に進み、一定時間スリープし（S8002）、S8000に戻る。  
「通信動作中」の場合は、水晶発振子に基づくＣＰＵ割り込みイベントがあるまで待機する（S8003）。水晶発振子に基づくＣＰＵ割り込みイベントがあったら、動作時間カウンタ１５１を１増やす（S8004）。「通信動作中」の間は、水晶発振子に基づくＣＰＵ割り込みイベントがある毎に動作時間カウンタ１５１を１増やす処理を繰り返す。
【０１１８】
次に、ＲＡＭ監視プログラム８５０のフローを図３７に示す。  
ＲＡＭ監視プログラム８５０は、動作時間監視プログラム８４０の動作時間の算出に関係するＲＡＭ１２２のオーバフローを監視するプログラムである。  
無線装置１００の動作状態が「停止」から「初期化中」に遷移したら、ＲＡＭ監視プログラムの実行が開始される。  
まず、ＲＡＭ監視プログラム８５０は、ＲＡＭ１２２がオーバフローしているか否かを判定し（S9000）、オーバフローしていないのであれば、ＣＰＵ１２１の使用率が１００％であるか否かを判定し（S9001）、ＣＰＵ１２１の使用率が１００％で無いのであれば一定時間スリープし（S9002）、S9000に戻る。  
一方、ＲＡＭ１２２がオーバフローしている、又は、ＣＰＵ１２１の使用率が１００％であるのであれば、動作状態を「通信動作中」から「エラー停止」に遷移させる（S9003）。  
そして、ＲＡＭ１２２がオーバフローしているか否かを判定し（S9004）、まだオーバフローしているのであれば一定時間スリープして（S9006）、S9004に戻る。ＲＡＭ１２２がオーバフローしていないのであれば、ＣＰＵ１２１の使用率が１００％であるか否かを判定し（S9005）、ＣＰＵ１２１の使用率が１００％で無いのであれば、動作状態を「エラー停止」から「通信動作中」に遷移させ（S9007）、S9000に戻る。  
このように、ＲＡＭ監視プログラム８５０が実行されることによって、無線装置１００の動作状態を、ＲＡＭ１２２のオーバフロー発生有無、及びＣＰＵ１２１の使用率に応じて、「通信動作中」から「エラー停止」へ遷移させ、あるいは「エラー停止」から「通信動作中」に遷移させることが可能となる。
【０１１９】
次に、本実施の形態に係る無線通信システム２００における全体的な動作例を図４１及び図４２を用いて説明する。図４１により、ホームサーバ１０１が空調１０４への通信ルートを探索する処理を説明する。図４２により、ホームサーバ１０１から携帯端末１０５へデータパケット６００を送信する場合において、途中の通信ルートが不通になった場合の処理を説明する。
【０１２０】
まず、図４１において、ホームサーバ１０１は、ルート探索パケット６２０をブロードキャストで送信する（S13000）。そうすると、中継専用機器１０２と、センサ１０３は、ルート探索パケット６２０を受信する。
【０１２１】
中継専用機器１０２は、ルート探索パケット受信処理プログラム８１４と、ルート探索パケット中継プログラム８１６を実行し、ルート探索パケット６２０の受信処理を行う。そして受信したルート探索パケット６２０に、上述したような手順によって、自端末の評価値とパスの評価値を追加して、ルート探索パケット６２０をブロードキャストで送信する（S13001）。そうすると、センサ１０３と空調１０４はルート探索パケット６２０をルート探索パケット受信処理プログラム８１４に基づいて受信処理する（S13002）。一方、ホームサーバ１０１は、中継専用機器１０２から送信されたルート探索パケット６２０を、ルート探索パケット受信処理プログラム８１４と、ルート探索パケット中継プログラム８１６に基づいて破棄する（S13003）。
【０１２２】
同様に、センサ１０３はルート探索パケット６２０をブロードキャストで送信する（S13004）。そうすると、中継専用機器１０２と空調１０４は、ルート探索パケット６２０を受信し（S13005）、ホームサーバ１０１は破棄する（S13006）。  
センサ１０３からのルート探索パケット６２０を受信した中継専用機器１０２は、ルート探索パケット６２０に、自端末の評価値とパスの評価値をルート探索パケットに追加して、ルート探索パケット６２０をブロードキャストで送信する（S13007）。  
このルート探索パケット６２０は空調１０４では受信されるが（S13008）、センサ１０３とホームサーバ１０１とでは、破棄される（S13009、S13010）。
【０１２３】
同様に、S13001において中継専用機器１０２から送信されたルート探索パケット６２０を受信したセンサ１０３は、ルート探索パケット６２０に、自端末の評価値と中継パスの評価値を追加して、ルート探索パケット６２０をブロードキャストで送信する（S13011）。そうすると、空調１０４は、ルート探索パケット６２０を受信処理するが（S13014）、中継専用機器１０２とホームサーバ１０１は破棄する（S13012、S13013）。  
空調１０４は、合計４つのルート探索パケット６２０を受信したが、その中から評価値が一番高い通信ルートを選択する（S13015）。
【０１２４】
通信ルートの評価値の比較の方法としては、例えば以下のような計算式で比較する。  
（中継端末(1)の評価値×中継端末(2)の評価値・・・×中継端末(n)の評価値）×
（中継パス(1)の評価値×中継パス(2)の評価値×・・・×中継パス(m)の評価値）
例えば、ホームサーバ１０１、中継専用機器（１０２）、空調（１０４）の順の通信ルートの評価値は、ホームサーバ１０１自身の評価値が「０．９５」、中継専用機器（１０２）自身の評価値が「０．９５」、空調１０４自身の評価値が「０．７」として、ホームサーバ１０１と中継専用機器（１０２）の中継パスの評価値が「１．０」、中継専用機器１０２と空調（１０４）の中継パスの評価値が「１．０」とすると、（０．９５×０．９５×０．７）×（１．０×１．０）により、０．６３となる。この「０．６３」が、ホームサーバ１０１、中継専用機器（１０２）、空調（１０４）の順の通信ルートの評価値となる。
【０１２５】
空調１０４は、ルーティングテーブル１４０を更新し、ルート探索応答パケット６３０を中継専用機器１０２に送信する（S13016）。中継専用機器１０２は、ルート探索応答パケット受信処理プログラム８１５に基づいて、ルーティングテーブル１４０を更新し、ルート探索応答パケット６３０をホームサーバ１０１に送信する（S13017）。  
以上の処理により、ホームサーバ１０１は空調１０４への最適な通信ルートを探索することができる。
【０１２６】
次に図４２により、ホームサーバ１０１から携帯端末１０５へデータパケット６００を送信する場合において、途中の通信ルートが不通になった場合の処理を説明する。  
ホームサーバ１０１はデータパケット送信処理プログラム８１０を実行し、携帯端末１０５を宛先とするデータパケット６００を通信ルートに従って、次の送信先である中継専用機器１０２に送信する（S14000）。そうすると中継専用機器１０２はデータパケット受信処理プログラム８１２を実行し、データパケット６００を受信する。そして中継専用機器１０２は、次の送信先である空調１０４にデータパケット６００を送信する（S14001）。空調１０４は、受信したデータパケット６００を、通信ルートに従って、次の送信先である携帯端末１０５に送信する（S14002）。  
ここで、空調１０４の無線端末１２０に異常が検出された場合には、空調１０４の動作状態は「エラー停止」に遷移する（S14003）。  
このときに、ホームサーバ１０１から携帯端末１０５へ宛てたデータパケット６００が送信され（S14004）、中継専用機器１０２がデータパケット２６２５を空調１０４に送信しようとしても（S14005）、中継専用機器１０２は空調１０４からの受信応答（Acknowledge）を確認できないため、中継専用機器１０２は、データパケット受信処理プログラム８１２に基づいてルート不通通知パケット６１０をホームサーバ１０１に送信する（S14006）。  
そしてホームサーバ１０１は、中継専用端末１０２からルート不通通知パケット６１０を受信することにより、携帯端末１０５への通信ルートにおいて異常が発生したことを検知することができる。  
この後ホームサーバ１０１は、図４１に例示したような手順により、携帯端末１０５への新たな通信ルートを探索する。
【０１２７】
以上、本実施の形態に係る無線通信システム２００、無線通信システム２００の制御方法、及び無線装置１００について説明したが、本実施の形態に係る、多数の無線装置１００同士が他の無線装置１００を中継することによって相互に通信を行う無線通信システム２００においては、通信を中継する無線装置１００が移動したり電源がオフされるような場合であっても、通信ルートの再探索の頻度の少ない、安定した、信頼性の高い通信環境を提供することができる。つまり、より安定した通信ルートを選択するようにすることにより、性能低下や通信障害を招く通信ルートの再構築の頻度を減少させることができる。これにより、性能向上、信頼性向上を図ることができる。
【０１２８】
また本実施の形態に係る無線通信システム２００の制御方法によれば、通信ルートの再探索の頻度の少ない、安定した、信頼性の高い通信環境を実現する無線通信システム２００を提供することができる。さらに、本実施の形態に係る無線通信システム２００の制御方法は、各無線装置１００に特別なハードウェア部品を用いることなく、ソフトウェアによって実現することができるので、通信ルートの再探索の頻度の少ない、安定した、信頼性の高い通信環境を備えた無線通信システム２００を安価に実現することが可能となる。
【０１２９】
また、本実施の形態に係る無線装置１００は、特別なハードウェア部品を用いることなくソフトウェアによって実現することができるので、低価格かつ小型に実現することができる。これにより、ホーム、ビル内における信頼性の高い無線通信システム２００の構築を容易かつ安価に行うことが可能となる。
【０１３０】
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【０１３１】
【図１】本実施の形態に係る無線通信システムの全体構成を示すブロック図である。
【図２】本実施の形態に係るルート探索処理を示す図である。
【図３】本実施の形態に係るルート探索処理を示す図である。
【図４】本実施の形態に係るルート探索処理を示す図である。
【図５】本実施の形態に係るルート探索処理を示す図である。
【図６】本実施の形態に係るルート探索処理を示す図である。
【図７】本実施の形態に係るルート探索処理を示す図である。
【図８】本実施の形態に係るルート探索処理を示す図である。
【図９】本実施の形態に係る無線装置の構成を示すブロック図である。
【図１０】本実施の形態に係るアプリケーション機器通信処理部を示す図である。
【図１１】本実施の形態に係るパケット送受信処理部を示す図である。
【図１２】本実施の形態に係る電波レベル測定部を示す図である。
【図１３】本実施の形態に係る評価値算出処理部を示す図である。
【図１４】本実施の形態に係る動作時間監視部を示す図である。
【図１５】本実施の形態に係るＲＡＭ監視部を示す図である。
【図１６】本実施の形態に係るＣＰＵ監視部を示す図である。
【図１７】本実施の形態に係る機器情報テーブルを示す図である。
【図１８】本実施の形態に係るルーティングテーブルを示す図である。
【図１９】本実施の形態に係る電波レベル履歴テーブルを示す図である。
【図２０】本実施の形態に係る自端末評価値テーブルを示す図である。
【図２１】本実施の形態に係るルート探索パケット受信テーブルを示す図である。
【図２２】本実施の形態に係る動作状態遷移テーブルを示す図である。
【図２３】本実施の形態に係る無線装置の状態遷移図である。
【図２４】本実施の形態に係る無線装置の状態遷移の例を示す図である。
【図２５】本実施の形態に係るデータパケットを示す図である。
【図２６】本実施の形態に係るルート不通通知パケットを示す図である。
【図２７】本実施の形態に係るルート探索パケットを示す図である。
【図２８】本実施の形態に係るルート探索応答パケットを示す図である。
【図２９】本実施の形態に係るデータパケット送信処理の流れを示すフローチャートである。
【図３０】本実施の形態に係るパケット受信処理の流れを示すフローチャートである。
【図３１】本実施の形態に係るデータパケット受信処理の流れを示すフローチャートである。
【図３２】本実施の形態に係るルート不通通知パケット受信処理の流れを示すフローチャートである。
【図３３】本実施の形態に係るルート探索パケット受信処理の流れを示すフローチャートである。
【図３４】本実施の形態に係るルート探索パケット中継処理の流れを示すフローチャートである。
【図３５】本実施の形態に係るルート探索応答パケット受信処理の流れを示すフローチャートである。
【図３６】本実施の形態に係る動作時間監視処理の流れを示すフローチャートである。
【図３７】本実施の形態に係るＲＡＭ監視処理の流れを示すフローチャートである。
【図３８】本実施の形態に係る自端末の評価値算出処理の流れを示すフローチャートである。
【図３９】本実施の形態に係る自端末の評価値算出処理の流れを示すフローチャートである。
【図４０】本実施の形態に係る中継パスの評価値算出処理の流れを示すフローチャートである。
【図４１】本実施の形態に係るホームサーバが空調への通信ルートを探索する処理の流れを示すフローチャートである。
【図４２】本実施の形態に係るホームサーバから携帯端末へデータパケットを送信する場合において途中の通信ルートが不通になった場合の処理の流れを示すフローチャートである。
【符号の説明】
【０１３２】
１００    無線装置
１１０    アプリケーション機器
１２０    無線端末
１３０    アプリケーション機器通信処理部
１３１    パケット送受信処理部
１３２    無線送受信ドライバ
１３３    電波レベル測定部
１３４    評価値算出処理部
１３５    動作時間監視部
１３６    ＲＡＭ監視部
１３７    ＣＰＵ監視部
１４０    ルーティングテーブル
１４１    自端末評価値テーブル
１４２    電波レベル履歴テーブル
１４３    ルート探索パケット受信テーブル
１４４    動作状態遷移テーブル
２００    無線通信システム
６００    データパケット
６１０    ルート不通通知パケット
６２０    ルート探索パケット
６３０    ルート探索応答パケット
８００    アプリケーション機器通信処理プログラム
８１０    データパケット送信処理プログラム
８１１    パケット受信処理プログラム
８１２    データパケット受信処理プログラム
８１３    ルート不通通知パケット受信処理プログラム
８１４    ルート探索パケット受信処理プログラム
８１５    ルート探索応答パケット受信処理プログラム
８１６    ルート探索パケット中継プログラム
８２０    電波レベル測定プログラム
８３０    自端末の評価値算出プログラム
８３１    中継パスの評価値算出プログラム
８４０    動作時間監視プログラム
８５０    ＲＡＭ監視プログラム
８６０    ＣＰＵ監視プログラム
【図１】
2006020221.tif 000003
【図２】
2006020221.tif 000004
【図３】
2006020221.tif 000005
【図４】
2006020221.tif 000006
【図５】
2006020221.tif 000007
【図６】
2006020221.tif 000008
【図７】
2006020221.tif 000009
【図８】
2006020221.tif 000010
【図９】
2006020221.tif 000011
【図１０】
2006020221.tif 000012
【図１１】
2006020221.tif 000013
【図１２】
2006020221.tif 000014
【図１３】
2006020221.tif 000015
【図１４】
2006020221.tif 000016
【図１５】
2006020221.tif 000017
【図１６】
2006020221.tif 000018
【図１７】
2006020221.tif 000019
【図１８】
2006020221.tif 000020
【図１９】
2006020221.tif 000021
【図２０】
2006020221.tif 000022
【図２１】
2006020221.tif 000023
【図２２】
2006020221.tif 000024
【図２３】
2006020221.tif 000025
【図２４】
2006020221.tif 000026
【図２５】
2006020221.tif 000027
【図２６】
2006020221.tif 000028
【図２７】
2006020221.tif 000029
【図２８】
2006020221.tif 000030
【図２９】
2006020221.tif 000031
【図３０】
2006020221.tif 000032
【図３１】
2006020221.tif 000033
【図３２】
2006020221.tif 000034
【図３３】
2006020221.tif 000035
【図３４】
2006020221.tif 000036
【図３５】
2006020221.tif 000037
【図３６】
2006020221.tif 000038
【図３７】
2006020221.tif 000039
【図３８】
2006020221.tif 000040
【図３９】
2006020221.tif 000041
【図４０】
2006020221.tif 000042
【図４１】
2006020221.tif 000043
【図４２】
2006020221.tif 000044