(57)【要約】【課題】  通知するパケットが欠落することなく、効率よくパケットを通知することができる無線通信ネットワークシステム及び通信ノードを提供する。【解決手段】  中継するべく受信したパケットに受信確認データを付与したことで、ブロードキャストで通信される当該パケットを、先にパケットを通知してきた通信ノードが受信することで、装置間のパケット（データ）の送受信の回数を減らし、さらに、当該受信確認データを受信しないことで、一時的に格納している通知済みのパケットを削除せずに継続して格納することでパケットの欠落を防止する。【選択図】      図２
2006191506.tif 000002
【特許請求の範囲】
【請求項１】
自律して動作する複数の通信ノード間において、各通信ノードが他の通信ノードと無線通信可能な通信装置を備え、当該通信装置を用いてパケットの送受信を無線通信で行うアドホックネットワークを構築する無線通信ネットワークシステムであって、
前記通信ノードは、
自己のアドレスをデータ化した自己アドレスデータと、ユーザが作成したユーザ作成データとを格納した記憶装置と、
通信可能なルートを確保するために各通信ノードのアドレスデータに次にパケットを通知する通信ノードを関連付けてデータ化したルートテーブルを格納したルートテーブル記憶装置と、
通信開始要求をしてきた通信ノードのアドレスデータを通信開始要求をしてきた順序にデータ化したポーリングテーブルを格納したポーリングテーブル記憶装置と、
前記通信装置を動作させるドライバと、を備え、
前記ドライバは、
送信元か、中継又は送信先としてパケットを受信する側かを判断し、送信元となる場合に通信の開始要求の意味を持つデータ化した通信開始要求データを生成し、パケットを受信する側となる場合に通信許可の意味を持つデータ化した通信許可データを生成する通信開始要求通信許可手段と、
中継となる場合にパケットの受信を確認したことを意味するデータ化した受信確認データを生成する受信確認データ生成手段と、
送信先となる場合にパケットの受信を確認したことを意味するデータ化した送信先受信確認データを生成する送信先受信確認データ生成手段と、
送信先となる他の通信ノードのアドレスデータを入力し、かつ、前記記憶装置に格納されているユーザが作成したユーザ作成データを選択する初期条件設定手段と、
前記記憶装置に格納されている自己アドレスデータ、前記ポーリングテーブル記憶装置に格納されている次にパケットを通知する通信ノードとなる通信ノードのアドレスデータ、前記通信開始要求データ生成手段で生成した通信開始要求データ、前記初期条件設定手段により設定された送信先のアドレスデータ及び前記ユーザ作成データからパケットを生成するパケット生成手段と、
前記パケット、前記通信開始要求データ、前記通信許可データ、送信先受信確認データを他の通信ノードへ前記通信装置を介して通知する通知手段と、
前記初期条件設定手段により初期条件が設定されることで前記通信開始要求通信許可手段が送信元と判断した場合に当該通信開始要求通信許可手段が生成する通信開始要求データに前記ルートテーブルから次にパケットを通知する通信ノードのアドレスデータを付与して、当該次にパケットを通知する通信ノードへ前記通知手段に通知させる通信開始要求手段と、
前記通信開始要求データを通知した通信ノードからの通信許可データを受信した場合に１つの前記パケットを前記通知手段に出力し、又は、当該通信ノードからのパケットに付与されている通信許可データを確認するごとに１パケットずつ前記通知手段に出力するパケット出力手段と、
他の通信ノードからの通信開始要求データを受信することで前記通信開始要求通信許可手段がパケットを受信する側と判断した場合に当該通信開始要求通信許可手段が生成する通信許可データを読み込み、当該通信開始要求データを通知してきた他の通信ノードへ前記通知手段に通知させる通信許可データ読み込み手段と、
通信許可データを通知した他の通信ノードから通知されたパケットに付与されている送信先となる通信ノードのアドレスデータを読み込み、中継か送信先かを判断する送信先アドレスデータ確認手段と、
前記送信先アドレスデータ確認手段が送信先と判断した場合に、前記送信先受信確認データ生成手段が生成した送信先受信確認データを読み込みつつ、前記パケットに付与されている自己アドレスデータを読み込み、当該自己アドレスデータを持つ通信ノードへ当該送信先受信確認データを前記通知手段に通知させる送信先受信確認データ読み込み手段と、
前記送信先アドレスデータ確認手段が中継と判断した場合に、前記ルートテーブルから通信可能な次にパケットを通知する通信ノードのアドレスデータを読み込み、通知されたパケットに付与されている次に通知する通信ノードのアドレスデータを変更しつつ、前記通信開始要求通信許可手段が生成した通信許可データと前記受信確認データ生成手段が生成した受信確認データとをさらに付与し、前記通知手段に出力するパケット変更手段と、
を備えて構成されることを特徴とする無線通信ネットワークシステム。
【請求項２】
前記通信ノードがパケットを通知してくる通信ノードへ通信許可データを通知した際に、当該パケットを通知してくる通信ノードが他のパケットを他の通信ノードへ通知している場合、前記通信ノードは、前記パケットを通知してくる通信ノードが通知している他のパケットを傍受して当該パケットを通知してくる通信ノードへ通信許可データを通知したことで整えたパケットの受信の準備状態をキャンセルする通信許可キャンセル手段を備えることを特徴とする請求項１に記載の無線通信ネットワークシステム。
【請求項３】
前記通信ノードが中継及び送信先となる場合に、前記パケット変更手段は、前記送信先受信確認データ生成手段が生成した送信先受信確認データを読み込み、中継のために通知されるパケットに当該送信先受信確認データをさらに付与することを特徴とする請求項１に記載の無線通信ネットワークシステム。
【請求項４】
前記通信ノードが送信元又は中継となる場合に、
前記通信ノードが、通知されたパケットの送信先となる通信ノードごとに関連付けされたキューを備え、
いずれかのキューに格納されたパケットの容量が所定量を超えた場合に、当該キューに対応する通信ノードへのルートが停滞していると判断し、他の通信ノードへ通知するパケットに、停滞データとして、当該キューに対応する送信先となる通信ノードのアドレスデータを付与する停滞状態判断手段と、
前記通信ノードが、停滞状態判断手段が停滞していると判断した前記次に通知する通信ノードへパケットを通知している場合に、前記次に通知する通信ノードが通知した停滞データが付与されたパケットを受信して、このパケットに付与されている停滞データを読み込み、停滞状態判断手段が停滞していると判断した前記次に通知する通信ノードへのパケットを通知の対象から一時的に外す通知対象除外手段とを備えたことを特徴とする請求項１に記載の無線通信ネットワークシステム。
【請求項５】
前記通信ノードがパケットを通知される対象となる場合であって、
通信開始要求データを通知してきた通信ノードへ通信許可データを通知した場合で、かつ、１つの当該パケットをポーリングで許容される所定の時間内に通信許可データを通知した通信ノードから受信した場合に、
前記パケット出力手段は、前記ポーリングで許容される所定の時間を経過しなくても、次のパケットを当該次にパケットを通知すべき通信ノードへ通知することを特徴とする請求項１乃至請求項４のいずれか１項に記載の無線通信ネットワークシステム。
【請求項６】
送信元又は中継となる場合であって、次にパケットを通知すべき通信ノードが通信できない状態になっている場合、
通知すべきパケットを一時的に保留し、前記ルートテーブルにある前記次にパケット通知すべき通信ノードのアドレスデータを、通信可能な他の通信ノードのアドレスデータに変更するパケット保留手段と、
前記パケット保留手段によって変更された通信ノードのアドレスデータへ前記保留したパケットに付与されている次にパケットを通知すべき通信ノードのアドレスデータを変更するアドレスデータ変更手段とを備えることを特徴とする請求項１に記載の無線通信ネットワークシステム。
【請求項７】
自律して動作する複数の通信ノード間において、各通信ノードが他の通信ノードと無線通信可能な通信装置を備え、当該通信装置を用いてパケットの送受信を無線通信で行うアドホックネットワークを構築する無線通信ネットワークシステムに用いる通信ノードであって、
自己のアドレスをデータ化した自己アドレスデータと、ユーザが作成したユーザ作成データとを格納した記憶装置と、
通信可能なルートを確保するために各通信ノードのアドレスデータに次にパケットを通知する通信ノードを関連付けてデータ化したルートテーブルを格納したルートテーブル記憶装置と、
通信開始要求をしてきた通信ノードのアドレスデータを通信開始要求をしてきた順序にデータ化したポーリングテーブルを格納したポーリングテーブル記憶装置と、
前記通信装置を動作させるドライバと、を備え、
前記ドライバは、
送信元か、中継又は送信先としてパケットを受信する側かを判断し、送信元となる場合に通信の開始要求の意味を持つデータ化した通信開始要求データを生成し、パケットを受信する側となる場合に通信許可の意味を持つデータ化した通信許可データを生成する通信開始要求通信許可手段と、
中継となる場合にパケットの受信を確認したことを意味するデータ化した受信確認データを生成する受信確認データ生成手段と、
送信先となる場合にパケットの受信を確認したことを意味するデータ化した送信先受信確認データを生成する送信先受信確認データ生成手段と、
送信先となる他の通信ノードのアドレスデータを入力し、かつ、前記記憶装置に格納されているユーザが作成したユーザ作成データを選択する初期条件設定手段と、
前記記憶装置に格納されている自己アドレスデータ、前記ポーリングテーブル記憶装置に格納されている次にパケットを通知する通信ノードとなる通信ノードのアドレスデータ、前記通信開始要求データ生成手段で生成した通信開始要求データ、前記初期条件設定手段により設定された送信先のアドレスデータ及び前記ユーザ作成データからパケットを生成するパケット生成手段と、
前記パケット、前記通信開始要求データ、前記通信許可データ、送信先受信確認データを他の通信ノードへ前記通信装置を介して通知する通知手段と、
前記初期条件設定手段により初期条件が設定されることで前記通信開始要求通信許可手段が送信元と判断した場合に当該通信開始要求通信許可手段が生成する通信開始要求データに前記ルートテーブルから次にパケットを通知する通信ノードのアドレスデータを付与して、当該次にパケットを通知する通信ノードへ前記通知手段に通知させる通信開始要求手段と、
前記通信開始要求データを通知した通信ノードからの通信許可データを受信した場合に１つの前記パケットを前記通知手段に出力し、又は、当該通信ノードからのパケットに付与されている通信許可データを確認するごとに１パケットずつ前記通知手段に出力するパケット出力手段と、
他の通信ノードからの通信開始要求データを受信することで前記通信開始要求通信許可手段がパケットを受信する側と判断した場合に当該通信開始要求通信許可手段が生成する通信許可データを読み込み、当該通信開始要求データを通知してきた他の通信ノードへ前記通知手段に通知させる通信許可データ読み込み手段と、
通信許可データを通知した他の通信ノードから通知されたパケットに付与されている送信先となる通信ノードのアドレスデータを読み込み、中継か送信先かを判断する送信先アドレスデータ確認手段と、
前記送信先アドレスデータ確認手段が送信先と判断した場合に、前記送信先受信確認データ生成手段が生成した送信先受信確認データを読み込みつつ、前記パケットに付与されている自己アドレスデータを読み込み、当該自己アドレスデータを持つ通信ノードへ当該送信先受信確認データを前記通知手段に通知させる送信先受信確認データ読み込み手段と、
前記送信先アドレスデータ確認手段が中継と判断した場合に、前記ルートテーブルから通信可能な次にパケットを通知する通信ノードのアドレスデータを読み込み、通知されたパケットに付与されている次に通知する通信ノードのアドレスデータを変更しつつ、前記通信開始要求通信許可手段が生成した通信許可データと前記受信確認データ生成手段が生成した受信確認データとをさらに付与し、前記通知手段に出力するパケット変更手段と、
を備えて構成されることを特徴とする通信ノード。
【請求項８】
パケットを通知してくる通信ノードへ通信許可データを通知した際に、当該パケットを通知してくる通信ノードが他のパケットを他の通信ノードへ通知している場合、前記パケットを通知してくる通信ノードが通知している他のパケットを傍受して当該パケットを通知してくる通信ノードへ通信許可データを通知したことで整えたパケットの受信の準備状態をキャンセルする通信許可キャンセル手段を備えることを特徴とする請求項７に記載の通信ノード。
【請求項９】
中継及び送信先となる場合に、前記パケット変更手段は、前記送信先受信確認データ生成手段が生成した送信先受信確認データを読み込み、中継のために通知されるパケットに当該送信先受信確認データをさらに付与することを特徴とする請求項７に記載の通信ノード。
【請求項１０】
送信元又は中継となる場合に、
通知されたパケットの送信先となる通信ノードごとに関連付けされたキューを備え、
いずれかのキューに格納されたパケットの容量が所定量を超えた場合に、当該キューに対応する通信ノードへのルートが停滞していると判断し、他の通信ノードへ通知するパケットに、停滞データとして、当該キューに対応する送信先となる通信ノードのアドレスデータを付与する停滞状態判断手段と、
停滞状態判断手段が停滞していると判断した前記次に通知する通信ノードへパケットを通知している場合に、前記次に通知する通信ノードが通知した停滞データが付与されたパケットを受信して、このパケットに付与されている停滞データを読み込み、停滞状態判断手段が停滞していると判断した前記次に通知する通信ノードへのパケットを通知の対象から一時的に外す通知対象除外手段とを備えたことを特徴とする請求項７に記載の通信ノード。
【請求項１１】
パケットを通知される対象となる場合であって、通信開始要求データを通知してきた通信ノードへ通信許可データを通知した場合で、かつ、１つの当該パケットをポーリングで許容される所定の時間内に通信許可データを通知した通信ノードから受信した場合に、前記パケット出力手段は、前記ポーリングで許容される所定の時間を経過しなくても、次のパケットを当該次にパケットを通知すべき通信ノードへ通知することを特徴とする請求項７乃至請求項１０のいずれか１項に記載の通信ノード。
【請求項１２】
送信元又は中継となる場合であって、次にパケットを通知すべき通信ノードが通信できない状態になっている場合、
通知すべきパケットを一時的に保留し、前記ルートテーブルにある前記次にパケット通知すべき通信ノードのアドレスデータを、通信可能な他の通信ノードのアドレスデータに変更するパケット保留手段と、
前記パケット保留手段によって変更された通信ノードのアドレスデータへ前記保留したパケットに付与されている次にパケットを通知すべき通信ノードのアドレスデータを変更するアドレスデータ変更手段とを備えることを特徴とする請求項７に記載の通信ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信でアドホックネットワークを構成する無線通信ネットワークシステム及び通信ノードに関する。
【背景技術】
【０００２】
従来から無線通信で送信されるデータは、複数の小さな容量にパケット化されて送信する、いわゆる「パケット通信」で行われることがある。このパケット通信は、データを小さい容量のパケットを複数の束にして送信先に送信している（例えば、特許文献１参照）。このようなパケット通信では、単独で通知される通信開始要求データを受信すると単独で通信許可データを通知し返し、パケットを受信すると、受信確認データを単独で通知し返すという通信のやりとりを行っている。
また、パケット等を通知する通信ノードが無線通信できない状態となっている場合は、所定の時間の間、再度、パケット等の通知を所定回数、試みるようになっている。例えば、パケットを通知する相手（通信ノード）が何らかの理由により無線通信できない状態となっている場合は、プロトコルスタックが同じ相手に所定回数の通知を行い、その相手からの通信を待つようになっている。
また、従来のアドホックネットワークにおいては、自律して無線通信ネットワークを構築する複数の通信ノードが集合することにより、パケットをアクセスポイントを用いずに送信先へ通知、または、いくつかの通信ノードを中継することで送信先へ通知する、いわゆるマルチホップすることができるようになっている（例えば、特許文献２参照）。
【特許文献１】特開２００３−７８５６５号公報（段落００２２〜００４２、図２）
【特許文献２】特許第２９２４８２８号公報（段落００１５〜００３９、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ＵＤＰ／ＩＰ（受信確認なし）を用いる無線通信では、マルチホップで通信するとパケットが以下の場合に欠落するという問題がある。
（１）途中の通信ノード（中継となる通信ノード）で通信できない状態となる場合。
（２）中継する通信ノードの処理速度が低い場合。
（３）パケットを通知するルートが変わる場合。
（４）複数の通信ノードが所定の１つの通信ノードを経由する場合。
また、ＴＣＰ／ＩＰ（受信確認あり）を用いる無線通信では、複数の通信ノードが所定の１つの通信ノードを経由してパケットを通知する場合、電波状況により、それぞれの通信ノードの通信速度は同一ではなく、通信ノードそれぞれに通信速度の差が発生するという問題がある。また、電波状態が悪い場合は、極端にスループットが遅く（小さく）なり、通信速度の変動が大きいという問題もある。
また、プロトコルスタックが無線通信できない同じ相手に所定回数の通知を行うと、通信速度が著しく低下するという問題があり、このためにパケットが欠落するという問題もある。
【０００４】
そこで、本発明では、前記した問題を解決し、通知するパケットが欠落することなく、通信速度の変動を抑え、効率よくパケットを通知することができる無線通信ネットワークシステム及び通信ノードを提供することを課題とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するため、本発明は、自律して動作する複数の通信ノード間において、各通信ノードが他の通信ノードと無線通信可能な通信装置を備え、当該通信装置を用いてパケットの送受信を無線通信で行うアドホックネットワークを構築する無線通信ネットワークシステムであって、前記通信ノードは、自己のアドレスをデータ化した自己アドレスデータと、ユーザが作成したユーザ作成データとを格納した記憶装置と、通信可能なルートを確保するために各通信ノードのアドレスデータに次にパケットを通知する通信ノードを関連付けてデータ化したルートテーブルを格納したルートテーブル記憶装置と、通信開始要求をしてきた通信ノードのアドレスデータを通信開始要求をしてきた順序にデータ化したポーリングテーブルを格納したポーリングテーブル記憶装置と、前記通信装置を動作させるドライバと、を備え、前記ドライバは、送信元か、中継又は送信先としてパケットを受信する側かを判断し、送信元となる場合に通信の開始要求の意味を持つデータ化した通信開始要求データを生成し、パケットを受信する側となる場合に通信許可の意味を持つデータ化した通信許可データを生成する通信開始要求通信許可手段と、中継となる場合にパケットの受信を確認したことを意味するデータ化した受信確認データを生成する受信確認データ生成手段と、送信先となる場合にパケットの受信を確認したことを意味するデータ化した送信先受信確認データを生成する送信先受信確認データ生成手段と、送信先となる他の通信ノードのアドレスデータを入力し、かつ、前記記憶装置に格納されているユーザが作成したユーザ作成データを選択する初期条件設定手段と、前記記憶装置に格納されている自己アドレスデータ、前記ポーリングテーブル記憶装置に格納されている次にパケットを通知する通信ノードとなる通信ノードのアドレスデータ、前記通信開始要求データ生成手段で生成した通信開始要求データ、前記初期条件設定手段により設定された送信先のアドレスデータ及び前記ユーザ作成データからパケットを生成するパケット生成手段と、前記パケット、前記通信開始要求データ、前記通信許可データ、送信先受信確認データを他の通信ノードへ前記通信装置を介して通知する通知手段と、前記初期条件設定手段により初期条件が設定されることで前記通信開始要求通信許可手段が送信元と判断した場合に当該通信開始要求通信許可手段が生成する通信開始要求データに前記ルートテーブルから次にパケットを通知する通信ノードのアドレスデータを付与して、当該次にパケットを通知する通信ノードへ前記通知手段に通知させる通信開始要求手段と、前記通信開始要求データを通知した通信ノードからの通信許可データを受信した場合に１つの前記パケットを前記通知手段に出力し、又は、当該通信ノードからのパケットに付与されている通信許可データを確認するごとに１パケットずつ前記通知手段に出力するパケット出力手段と、他の通信ノードからの通信開始要求データを受信することで前記通信開始要求通信許可手段がパケットを受信する側と判断した場合に当該通信開始要求通信許可手段が生成する通信許可データを読み込み、当該通信開始要求データを通知してきた他の通信ノードへ前記通知手段に通知させる通信許可データ読み込み手段と、通信許可データを通知した他の通信ノードから通知されたパケットに付与されている送信先となる通信ノードのアドレスデータを読み込み、中継か送信先かを判断する送信先アドレスデータ確認手段と、前記送信先アドレスデータ確認手段が送信先と判断した場合に、前記送信先受信確認データ生成手段が生成した送信先受信確認データを読み込みつつ、前記パケットに付与されている自己アドレスデータを読み込み、当該自己アドレスデータを持つ通信ノードへ当該送信先受信確認データを前記通知手段に通知させる送信先受信確認データ読み込み手段と、前記送信先アドレスデータ確認手段が中継と判断した場合に、前記ルートテーブルから通信可能な次にパケットを通知する通信ノードのアドレスデータを読み込み、通知されたパケットに付与されている次に通知する通信ノードのアドレスデータを変更しつつ、前記通信開始要求通信許可手段が生成した通信許可データと前記受信確認データ生成手段が生成した受信確認データとをさらに付与し、前記通知手段に出力するパケット変更手段と、を備えて構成されることを特徴とする無線通信ネットワークシステムである。
【０００６】
ここで、パケットは、通信装置によりブロードキャストで送信されるものであって、通知手段により、他の通信ノードへ通知されるものである。
また、「通信許可」という場合は、「パケットの送信を許可する」という意味で用いる。
【０００７】
このように、最初に通知するパケットに送信先のアドレスデータ、次にパケットを通知する通信ノードのアドレスデータ、自己アドレスデータ、送信開始要求データとを付与するので、ブロードキャストで送信される当該パケットは、次にパケットを通知する通信ノードに対して、ユーザ作成データを通知しつつ、同時に通信開始要求データを通知することができる。このため、通信に係る手順を少なくすることができ、パケットの通信効率を向上させることができるようになっている。
【０００８】
また、中継されたパケットには、さらに通信許可データと受信確認データとが付与される。したがって、ブロードキャストで送信される中継された当該パケットは、次にパケットを通知する通信ノードに対して、ユーザ作成データを通知しつつ、当該パケットを送信してきた通信ノードがこのパケットに付与されている受信確認データを読み込むことができ、また、さらに通信開始要求データを通知してくる他の通信ノードに対しても、当該他の通信ノードが当該パケットを受信することで、このパケットに付与されている通信許可データを読み込むことができる。これにより、通信に係る手順を少なくすることができ、通信速度の変動を抑え、パケットの通信効率を向上させることができるようになっている。
また、パケットを１パケットずつ次にパケットを通知する通信ノードに通知するので、パケットが欠落するリスクが減り、通信許可データを受信する又はパケットに付与されている通信許可データを読み込むことにより、パケットの通知を行うことができるので、パケットの欠落をなくすことができる。
【０００９】
また、本発明の無線通信ネットワークシステムは、前記通信ノードがパケットを通知してくる通信ノードへ通信許可データを通知した際に、当該パケットを通知してくる通信ノードが他のパケットを他の通信ノードへ通知している場合、前記通信ノードは、前記パケットを通知してくる通信ノードが通知している他のパケットを傍受して当該パケットを通知してくる通信ノードへ通信許可データを通知したことで整えたパケットの受信の準備状態をキャンセルする通信許可キャンセル手段を備えても良い。
【００１０】
このように、パケットを通知してくる通信ノードと無線通信できないことにより、通知できないパケットが発生すると、通信許可キャンセル手段により、当該パケットを通知してくる通信ノードが他の通信ノードへ通知しているパケットを傍受し、通信許可データを通知したことで整えたパケットの受信の準備状態をキャンセルすることができるようになっている。したがって、早期にパケットの受信の準備状態をキャンセルすることによって、通信速度の変動を抑え、通信状態を安定させることができるようになっている。
【００１１】
また、本発明の無線通信ネットワークシステムは、前記通信ノードが中継及び送信先となる場合に、前記パケット変更手段は、前記送信先受信確認データ生成手段が生成した送信先受信確認データを読み込み、中継のために通知されるパケットに当該送信先受信確認データをさらに付与しても良い。
【００１２】
このように、パケット変更手段が中継のために通知されるパケットに送信先受信確認データを付与することにより、当該パケットには、受信確認データと送信先受信確認データとが含まれることとなる。したがって、このパケットを次に通知すべき通信ノードへ通知すると、変更前の中継のためのパケットを通知してきた通信ノードがこの変更されたパケットを受信して、このパケットに付与されている受信確認データを読み込むことができ、また、送信先としてパケットを通知してきた通信ノードは、変更されたパケットを受信して送信先受信確認データを読み込むことができるようになっている。よって、受信確認のためのデータの送受信の回数を減らすことができるため、通信速度の変動を抑え、効率の良い無線通信を行うことができる。
【００１３】
また、本発明の無線通信ネットワークシステムは、前記通信ノードが送信元又は中継となる場合に、前記通信ノードが、通知されたパケットの送信先となる通信ノードごとに関連付けされたキューを備え、いずれかのキューに格納されたパケットの容量が所定量を超えた場合に、当該キューに対応する通信ノードへのルートが停滞していると判断し、他の通信ノードへ通知するパケットに、停滞データとして、当該キューに対応する送信先となる通信ノードのアドレスデータを付与する停滞状態判断手段と、前記通信ノードが、停滞状態判断手段が停滞していると判断した前記次に通知する通信ノードへパケットを通知している場合に、前記次に通知する通信ノードが通知した停滞データが付与されたパケットを受信して、このパケットに付与されている停滞データを読み込み、停滞状態判断手段が停滞していると判断した前記次に通知する通信ノードへのパケットを通知の対象から一時的に外す通知対象除外手段とを備えても良い。
【００１４】
このように、送信先の通信ノードに対応したキューを備えることにより、受信したパケットが送信先の区別無く混在することが無くなる。そして、キューに格納されたパケットの容量が、所定量を超えると、停滞状態判断手段により当該キューが停滞したと判断し、前記通信ノードが、パケットを通知してくる通信ノードへ通信許可データを通知する際に、停滞データを他の通信ノードへ通知する。これにより、次にパケットを通知してくる通信ノードは、当該パケットを受信した際に、パケットに付与されている停滞データを読み込み、通知対象除外手段により、前記通信ノードへ通知するパケットのうち、停滞していると判断された送信先へ対応したキュー（キューに格納されているパケット）を一時的に通知の対象から除外することができるようになっている。  したがって、早期にパケットを一時的に通知の対象から除外することによって、通信の滞りを抑え、通信状態を安定させることができるようになっている。
【００１５】
また、本発明の無線通信ネットワークシステムは、前記通信ノードがパケットを通知される対象となる場合であって、通信開始要求データを通知してきた通信ノードへ通信許可データを通知した場合で、かつ、１つの当該パケットをポーリングで許容される所定の時間内に通信許可データを通知した通信ノードから受信した場合に、前記パケット出力手段は、前記ポーリングで許容される所定の時間を経過しなくても、次のパケットを当該次にパケットを通知すべき通信ノードへ通知しても良い。
【００１６】
このように、前記次にパケットを通知すべき通信ノードへ通知するパケットは、ポーリングで許容される所定の時間が経過していなくても当該次にパケットを通知すべき通信ノードへ通知することができるようになっている。
これにより、無通信時間の発生を抑え、パケットの通信速度を向上させることができるようになっている。
【００１７】
また、本発明の無線通信ネットワークシステムは、送信元又は中継となる場合であって、次にパケットを通知すべき通信ノードが通信できない状態になっている場合、通知すべきパケットを一時的に保留し、前記ルートテーブルにある前記次にパケット通知すべき通信ノードのアドレスデータを、通信可能な他の通信ノードのアドレスデータに変更するパケット保留手段と、前記パケット保留手段によって変更された通信ノードのアドレスデータへ前記保留したパケットに付与されている次にパケットを通知すべき通信ノードのアドレスデータを変更するアドレスデータ変更手段とを備えても良い。
【００１８】
このように、次にパケットを通知すべき通信ノードが通信できない状態になっている場合は、その通信ノードへ通知するパケットは、パケット保留手段によって保留しつつ、ルートテーブルにある前記次にパケット通知すべき通信ノードのアドレスデータを、通信可能な他の通信ノードのアドレスデータに変更し、さらに、アドレスデータ変更手段が前記保留したパケットに付与されている次にパケットを通知すべき通信ノードのアドレスデータを変更する。これにより、通信速度の変動を抑え、パケットの通知が円滑に行われ、通信の跡切れをなくすことができるようになっている。
【００１９】
また、本発明は、自律して動作する複数の通信ノード間において、各通信ノードが他の通信ノードと無線通信可能な通信装置を備え、当該通信装置を用いてパケットの送受信を無線通信で行うアドホックネットワークを構築する無線通信ネットワークシステムに用いる通信ノードであって、自己のアドレスをデータ化した自己アドレスデータと、ユーザが作成したユーザ作成データとを格納した記憶装置と、通信可能なルートを確保するために各通信ノードのアドレスデータに次にパケットを通知する通信ノードを関連付けてデータ化したルートテーブルを格納したルートテーブル記憶装置と、通信開始要求をしてきた通信ノードのアドレスデータを通信開始要求をしてきた順序にデータ化したポーリングテーブルを格納したポーリングテーブル記憶装置と、前記通信装置を動作させるドライバと、を備え、前記ドライバは、送信元か、中継又は送信先としてパケットを受信する側かを判断し、送信元となる場合に通信の開始要求の意味を持つデータ化した通信開始要求データを生成し、パケットを受信する側となる場合に通信許可の意味を持つデータ化した通信許可データを生成する通信開始要求通信許可手段と、中継となる場合にパケットの受信を確認したことを意味するデータ化した受信確認データを生成する受信確認データ生成手段と、送信先となる場合にパケットの受信を確認したことを意味するデータ化した送信先受信確認データを生成する送信先受信確認データ生成手段と、送信先となる他の通信ノードのアドレスデータを入力し、かつ、前記記憶装置に格納されているユーザが作成したユーザ作成データを選択する初期条件設定手段と、前記記憶装置に格納されている自己アドレスデータ、前記ポーリングテーブル記憶装置に格納されている次にパケットを通知する通信ノードとなる通信ノードのアドレスデータ、前記通信開始要求データ生成手段で生成した通信開始要求データ、前記初期条件設定手段により設定された送信先のアドレスデータ及び前記ユーザ作成データからパケットを生成するパケット生成手段と、前記パケット、前記通信開始要求データ、前記通信許可データ、送信先受信確認データを他の通信ノードへ前記通信装置を介して通知する通知手段と、前記初期条件設定手段により初期条件が設定されることで前記通信開始要求通信許可手段が送信元と判断した場合に当該通信開始要求通信許可手段が生成する通信開始要求データに前記ルートテーブルから次にパケットを通知する通信ノードのアドレスデータを付与して、当該次にパケットを通知する通信ノードへ前記通知手段に通知させる通信開始要求手段と、前記通信開始要求データを通知した通信ノードからの通信許可データを受信した場合に１つの前記パケットを前記通知手段に出力し、又は、当該通信ノードからのパケットに付与されている通信許可データを確認するごとに１パケットずつ前記通知手段に出力するパケット出力手段と、他の通信ノードからの通信開始要求データを受信することで前記通信開始要求通信許可手段がパケットを受信する側と判断した場合に当該通信開始要求通信許可手段が生成する通信許可データを読み込み、当該通信開始要求データを通知してきた他の通信ノードへ前記通知手段に通知させる通信許可データ読み込み手段と、通信許可データを通知した他の通信ノードから通知されたパケットに付与されている送信先となる通信ノードのアドレスデータを読み込み、中継か送信先かを判断する送信先アドレスデータ確認手段と、前記送信先アドレスデータ確認手段が送信先と判断した場合に、前記送信先受信確認データ生成手段が生成した送信先受信確認データを読み込みつつ、前記パケットに付与されている自己アドレスデータを読み込み、当該自己アドレスデータを持つ通信ノードへ当該送信先受信確認データを前記通知手段に通知させる送信先受信確認データ読み込み手段と、前記送信先アドレスデータ確認手段が中継と判断した場合に、前記ルートテーブルから通信可能な次にパケットを通知する通信ノードのアドレスデータを読み込み、通知されたパケットに付与されている次に通知する通信ノードのアドレスデータを変更しつつ、前記通信開始要求通信許可手段が生成した通信許可データと前記受信確認データ生成手段が生成した受信確認データとをさらに付与し、前記通知手段に出力するパケット変更手段と、を備えて構成されることを特徴とする通信ノードである。
【００２０】
パケットは、通信装置によりブロードキャストで送信されるものであって、通知手段により、他の通信ノードへ通知されるものである。
このように、最初に通知するパケットに送信先のアドレスデータ、次にパケットを通知する通信ノードのアドレスデータ、自己アドレスデータ、送信開始要求データとを付与するので、ブロードキャストで送信される当該パケットは、次にパケットを通知する通信ノードに対して、ユーザ作成データを通知しつつ、同時に通信開始要求データを通知することができる。このため、通信に係る手順を少なくすることができ、パケットの通信効率を向上させることができるようになっている。
【００２１】
また、中継されたパケットには、さらに通信許可データと受信確認データとが付与される。したがって、ブロードキャストで送信される中継された当該パケットは、次にパケットを通知する通信ノードに対して、ユーザ作成データを通知しつつ、当該パケットを送信してきた通信ノードがこのパケットに付与されている受信確認データを読み込むことができ、また、さらに通信開始要求データを通知してくる他の通信ノードに対しても、当該他の通信ノードが当該パケットを受信することで、このパケットに付与されている通信許可データを読み込むことができる。これにより、通信に係る手順を少なくすることができ、通信速度の変動を抑え、パケットの通信効率を向上させることができるようになっている。
また、パケットを１パケットずつ次にパケットを通知する通信ノードに通知するので、パケットが欠落するリスクが減り、通信許可データを受信する又はパケットに付与されている通信許可データを読み込むことにより、パケットの通知を行うことができるので、パケットの欠落をなくすことができる。
【００２２】
また、本発明の通信ノードは、パケットを通知してくる通信ノードへ通信許可データを通知した際に、当該パケットを通知してくる通信ノードが他のパケットを他の通信ノードへ通知している場合、前記パケットを通知してくる通信ノードが通知している他のパケットを傍受して当該パケットを通知してくる通信ノードへ通信許可データを通知したことで整えたパケットの受信の準備状態をキャンセルする通信許可キャンセル手段を備えても良い。
【００２３】
このように、パケットを通知してくる通信ノードと無線通信できないことにより、通知できないパケットが発生すると、通信許可キャンセル手段により、当該パケットを通知してくる通信ノードが他の通信ノードへ通知しているパケットを傍受し、通信許可データを通知したことで整えたパケットの受信の準備状態をキャンセルすることができるようになっている。したがって、早期にパケットの受信の準備状態をキャンセルすることによって、無通信時間の発生を抑え、通信状態を安定させることができるようになっている。
【００２４】
また、本発明の通信ノードは、中継及び送信先となる場合に、前記パケット変更手段は、前記送信先受信確認データ生成手段が生成した送信先受信確認データを読み込み、中継のために通知されるパケットに当該送信先受信確認データをさらに付与しても良い。
【００２５】
このように、パケット変更手段が中継のために通知されるパケットに送信先受信確認データを付与することにより、当該パケットには、受信確認データと送信先受信確認データとが含まれることとなる。したがって、このパケットを次に通知すべき通信ノードへ通知すると、変更前の中継のためのパケットを通知してきた通信ノードがこの変更されたパケットを受信して、このパケットに付与されている受信確認データを読み込むことができ、また、送信先としてパケットを通知してきた通信ノードは、変更されたパケットを受信して送信先受信確認データを読み込むことができるようになっている。よって、受信確認のためのデータの送受信の回数を減らすことができるため、通信速度の変動を抑え、効率の良い無線通信を行うことができる。
【００２６】
また、本発明の通信ノードは、送信元又は中継となる場合に、通知されたパケットの送信先となる通信ノードごとに関連付けされたキューを備え、いずれかのキューに格納されたパケットの容量が所定量を超えた場合に、当該キューに対応する通信ノードへのルートが停滞していると判断し、他の通信ノードへ通知するパケットに、停滞データとして、当該キューに対応する送信先となる通信ノードのアドレスデータを付与する停滞状態判断手段と、停滞状態判断手段が停滞していると判断した前記次に通知する通信ノードへパケットを通知している場合に、前記次に通知する通信ノードが通知した停滞データが付与されたパケットを受信して、このパケットに付与されている停滞データを読み込み、停滞状態判断手段が停滞していると判断した前記次に通知する通信ノードへのパケットを通知の対象から一時的に外す通知対象除外手段とを備えても良い。
【００２７】
このように、送信先の通信ノードに対応したキューを備えることにより、受信したパケットが送信先の区別無く混在することが無くなる。そして、キューに格納されたパケットの容量が、所定量を超えると、停滞状態判断手段により当該キューが停滞したと判断し、前記通信ノードが、パケットを通知してくる通信ノードへ通信許可データを通知する際に、停滞データを他の通信ノードへ通知する。これにより、次にパケットを通知してくる通信ノードは、当該パケットを受信した際に、パケットに付与されている停滞データを読み込み、通知対象除外手段により、前記通信ノードへ通知するパケットのうち、停滞していると判断された送信先へ対応したキュー（キューに格納されているパケット）を一時的に通知の対象から除外することができるようになっている。  したがって、早期にパケットを一時的に通知の対象から除外することによって、通信の滞りを抑え、通信状態を安定させることができるようになっている。
【００２８】
また、本発明の通信ノードは、パケットを通知される対象となる場合であって、通信開始要求データを通知してきた通信ノードへ通信許可データを通知した場合で、かつ、１つの当該パケットをポーリングで許容される所定の時間内に通信許可データを通知した通信ノードから受信した場合に、前記パケット出力手段は、前記ポーリングで許容される所定の時間を経過しなくても、次のパケットを当該次にパケットを通知すべき通信ノードへ通知しても良い。
【００２９】
このように、前記次にパケットを通知すべき通信ノードへ通知するパケットは、ポーリングで許容される所定の時間が経過していなくても当該次にパケットを通知すべき通信ノードへ通知することができるようになっている。
これにより、無通信時間の発生を抑え、パケットの通信速度を向上させることができるようになっている。
【００３０】
また、本発明の通信ノードは、送信元又は中継となる場合であって、次にパケットを通知すべき通信ノードが通信できない状態になっている場合、通知すべきパケットを一時的に保留し、前記ルートテーブルにある前記次にパケット通知すべき通信ノードのアドレスデータを、通信可能な他の通信ノードのアドレスデータに変更するパケット保留手段と、前記パケット保留手段によって変更された通信ノードのアドレスデータへ前記保留したパケットに付与されている次にパケットを通知すべき通信ノードのアドレスデータを変更するアドレスデータ変更手段とを備えても良い。
【００３１】
このように、次にパケットを通知すべき通信ノードが通信できない状態になっている場合は、その通信ノードへ通知するパケットは、パケット保留手段によって保留しつつ、ルートテーブルにある前記次にパケット通知すべき通信ノードのアドレスデータを、通信可能な他の通信ノードのアドレスデータに変更し、さらに、アドレスデータ変更手段が前記保留したパケットに付与されている次にパケットを通知すべき通信ノードのアドレスデータを変更する。これにより、パケットの通知が円滑に行われ、通信の跡切れをなくすことができるようになっている。
【発明の効果】
【００３２】
このような無線通信ネットワークシステムによれば、欠落することなくパケットの受信をすることができ、通信速度の変動を抑え、効率よくパケットの送受信をすることができる。
また、このような通信ノードによれば、通知するパケットが欠落することなく、通信速度の変動を抑え、効率よくパケットを通知することができる。
【発明を実施するための最良の形態】
【００３３】
次に、本発明を実施するための最良の一形態（以下「実施形態」という）について、図面を参照して詳細に説明する。
図１は本発明に係る無線通信ネットワークシステムの一例を示す概略図である。図２は本発明に係る通信ノードの一例を示すブロック図である。図３（ａ）は各通信ノードの自己アドレスデータの一例を示す概念図であり、図３（ｂ）はルートテーブルの一例を示す概念図であり、図３（ｃ）はポーリングテーブルの一例を示す概念図であり、図３（ｄ）は通信開始要求データの一例を示す概念図であり、図３（ｅ）は通信許可データの一例を示す概念図であり、図３（ｆ）は、受信確認データの一例を示す概念図であり、図３（ｇ）は送信先受信確認データの一例を示す概念図であり、図３（ｈ）は送信元が生成するパケットの一例を示す概念図であり、図３（ｉ）は停滞データの一例を示す概念図である。図１０は許容される所定の時間内のパケットの送受信状態の一例を示す概念図である。
【００３４】
本発明の無線通信ネットワークシステム１０は、移動可能に自律した複数の通信ノードが集合することによってアドホックネットワークを構築し、各通信ノードが同様の機能を有することによってパケットの送受信を行うことができるようになっている。
本実施形態においては、図１に示すように、４基の通信ノード１００Ａ，１００Ｂ，１００Ｃ，１００Ｄで無線通信アドホックネットワーク（無線通信ネットワークシステム１０）を構築するものとする。
なお、特に指定する場合を除き、パケットの送信元を携帯端末装置１００Ａ，他のパケットの送信元を携帯端末装置１００Ｂ，パケットの中継を携帯端末装置１００Ｃ，パケットの送信先を携帯端末装置１００Ｄとする。
以下、通信ノードについて説明する。
【００３５】
本発明の通信ノード１００Ａ（１００Ｂ，１００Ｃ，１００Ｄ）は、図２に示すように、記憶装置１０１、ルートテーブル記憶装置１０２、ポーリングテーブル記憶装置１０３、キュー１０４、初期条件設定手段１１０、通信装置１２１、ドライバ１２２、プロトコルスタック（図示せず）、アプリケーション（図示せず）から構成されている。
なお、記憶装置１０１、ルートテーブル記憶装置１０２、ポーリングテーブル記憶装置１０３、キュー１０４、初期条件設定手段１１０、通信装置１２１、ドライバ１２２、プロトコルスタック（図示せず）、アプリケーション（図示せず）は、ＣＰＵ（図示せず）により制御・処理されるようになっている。
パケットを受信する場合は、通信装置１２１により受信され、プロトコルスタックを介してアプリケーションによりユーザ作成データとして提供される。また、パケットを送信する場合は、アプリケーションからプロトコルスタックを介してドライバにより通信装置を動作させて送信される。
【００３６】
記憶装置１０１は、公知のものを用い、図２に示すように、ユーザ作成データ、自己アドレスデータ、を格納する役割を果たす。
【００３７】
ユーザ作成データは、通信ノードのユーザが作成したデータであって、画像データやテキストデータ、音声データ等が用いられる。
【００３８】
自己アドレスデータは、各通信ノードに割り当てられたそれぞれ異なるデータであって、自己の通信ノードがデータ又はパケットを通知する立場にある場合に用いるものである。例えば、図３（ａ）に示すように、４基の通信ノード１００Ａ，１００Ｂ，１００Ｃ，１００Ｄでアドホックネットワークを構築する場合、通信ノード１００Ａには、自己アドレスデータ「１」が関連付けられ、同様に、通信ノード１００Ｂには自己アドレスデータ「２」が、通信ノード１００Ｃには自己アドレスデータ「３」が、通信ノード１００Ｄには、自己アドレスデータ「４」が関連付けられている。
なお、パケットについての説明は後述する。
【００３９】
ルートテーブル記憶装置１０２は、公知のものを用い、図２に示すように、次にパケットを通知する通信ノードのアドレスデータと送信先までの通信ノードを経由する回数（以下、「ホップ数」という。）とをルートテーブルとして格納する役割を果たす。
【００４０】
ルートテーブルは、従来から用いられているものであって、パケットを通知する側から視た場合における、パケットの通知先と送信先とのアドレスデータとホップ数を示している。
例えば、図１に示すように、パケットの送信元を通信ノード１００Ａ、送信先を通信ノード１００Ｄ、中継を１００Ｃとすると、通信ノード１００Ａにおけるルートテーブルは、図３（ｂ）に示すように、送信先の通信ノード１００Ｄのアドレスデータ「４」と、中継の通信ノード１００Ｃのアドレスデータ「３」と、中継となる通信ノード１００Ｃを経由するルートとして、送信先通信ノード１００Ｄまでのホップ数「２」が関連付けられている。
【００４１】
このルートテーブルは、従来から用いられている、いわゆる「ルーティングプロトコル」（図示せず）によって得られ、前記ルートテーブル記憶装置１０２に記憶されるようになっている。
【００４２】
ポーリングテーブル記憶装置１０３は、公知のものを用い、図２に示すように、後述する通信開始要求データを通知してきた通信ノードのアドレスデータからなるポーリングテーブルを格納する役割を果たす。
なお、通信開始要求データを通知してきた通信ノードが複数の場合は、これらのアドレスデータでポーリングテーブルが構成される。
ポーリングテーブルには、パケットを通知してくる通信ノードが通知して来た通信開始要求に基づき、当該通信ノードのアドレスデータを保管される（図３（ｃ）参照）。
【００４３】
キュー１０４は、送信先となる通信ノードが異なるパケットを、それぞれ送信先別に振り分けて格納する役割を果たす。
例えば、送信先が通信ノード１００Ｂと通信ノード１００Ｄとなっているパケットを通信ノード１００Ｃが受信した場合、キュー１０４内には、例えば、通信ノード１００Ｂ宛のパケットを格納する送信先別のキュー１０４Ａと、通信ノード１００Ｄ宛のパケットを格納する送信先別のキュー１０４Ｂと、が設けられて、それぞれのパケットを格納することとなる（図２参照）（以下、単に「キュー」という。）。
【００４４】
初期条件設定手段１１０は、送信先となる通信ノードのアドレスデータを入力し、記憶装置１０１に格納されているユーザが作成したユーザ作成データを選択することで初期条件（以下、「初期条件」という場合がある。）を設定する役割を果たす。
設定した送信先となる通信ノードのアドレスデータとユーザ作成データとは後述するパケット生成手段１３４に出力される。
【００４５】
通信装置１２１は、例えば、公知の無線ＬＡＮを用いることができ、ブロードキャストで各種データやパケットを送受信する役割を果たす。
【００４６】
ドライバ１２２は、図２に示すように、通知手段１３０、通信開始要求通信許可手段１３１、受信確認データ生成手段１３２、送信先受信確認データ生成手段１３３、パケット生成手段１３４、  通信開始要求手段１３５、パケット出力手段１３６、通信許可データ読み込み手段１３７、送信先アドレスデータ確認手段１３８、パケット格納手段１３９、送信先受信確認データ読み込み手段１４０、パケット変更手段１４１、受信確認手段１４２、パケット削除手段１４３、通信許可キャンセル手段１４４、停滞状態判断手段１４５、通知対象除外手段１４６、パケット保留手段１４７、及びアドレスデータ変更手段１４８から構成されている。
【００４７】
なお、通信開始要求通信許可手段１３１、受信確認データ生成手段１３２、送信先受信確認データ生成手段１３３、パケット生成手段１３４、  通信開始要求手段１３５、パケット出力手段１３６、通信許可データ読み込み手段１３７、送信先アドレスデータ確認手段１３８、パケット格納手段１３９、送信先受信確認データ読み込み手段１４０、パケット変更手段１４１、受信確認手段１４２、パケット削除手段１４３、通信許可キャンセル手段１４４、停滞状態判断手段１４５、通知対象除外手段１４６、パケット保留手段１４７、及びアドレスデータ変更手段１４８は、ＣＰＵ（図示せず）により制御・処理されるようになっている。
【００４８】
通知手段１３０は、後述する通信開始要求通信許可手段１３１が生成した通信開始要求データ又は通信許可データ、パケット生成手段１３４によって生成され、パケット出力手段１３６により出力されたパケット、パケット変更手段１４１により変更されたパケット、受信確認データ生成手段１３２が生成した受信確認データ、及び送信先受信確認データ生成手段１３３が生成した送信先受信確認データを目的の通信ノードへ通信装置１２１を介してブロードキャストで通知（送信）する役割を果たす。
【００４９】
通信開始要求通信許可手段１３１は、他の通信ノードからの通信開始要求データを受信した場合に、図３（ｃ）に示すように、通信開始要求データを通知してきた通信ノード、つまり、通信許可データを通知しなければならない通信ノードのアドレスデータを、ポーリングテーブル記憶装置１０３のポーリングテーブルに追加登録する役割と、ポーリングテーブルに通信開始要求データを通知してきた通信ノードのアドレスが登録されていた場合に、中継又は送信先としてパケットを受信する側と判断し、通信許可の意味を持つデータ化した通信許可データを生成する役割と、初期条件設定手段１１０により初期条件が入力されると送信元と判断し、送信元となる場合に、通信の開始要求を意味するデータ化した通信開始要求データを生成する役割を果たす。
【００５０】
通信開始要求データには、例えば、図３（ｄ）に示すように、通信の開始要求の意味を持たせた「ＡＡＡ」が関連付けられ、図３（ｅ）に示すように、通信許可データには、通信許可の意味を持たせた「ＢＢＢ」が関連付けられる。
この通信開始要求通信許可手段１３１は、ポーリングテーブルに、通信開始要求データを通知してきた通信ノードのアドレスデータが登録されている場合、この登録されている順に通信開始要求データを通知してきた通信ノードのアドレスデータを読み込み、送信許可データを生成する。
なお、この送信開始要求通信許可手段１３１は、生成した送信許可データを所定の時間毎に生成する場合のほか、パケットの受信をトリガーにする場合等がある。
【００５１】
受信確認データ生成手段１３２は、中継となる場合にパケットの受信を確認したことを意味するデータ化した受信確認データを生成する役割を果たす。
受信確認データは、パケットを通知してきた通信ノードに当該パケットを無事に受信したことを示すものであって、通知された通信ノードが中継となる場合に用いられるものである。例えば、図３（ｆ）に示すように、受信確認データには「□□□」が関連付けられている。
なお、この受信確認データは、パケットを通知してきた通信ノードが受信すると、パケットを通知してきた通信ノードにおいて通知したパケットを削除するトリガーとして用いられることとなる。
【００５２】
送信先受信確認データ生成手段１３３は、送信先となる場合にパケットの受信を確認したことを意味するデータ化した送信先受信確認データを生成する役割を果たす。
送信先受信確認データは、パケットを通知してきた通信ノードに当該パケットを無事に受信したことを示すものであって、通知された通信ノードが送信先となる場合に用いられるものである。例えば、図３（ｇ）に示すように、受信確認データには「◇◇◇」が関連付けられている。
なお、この送信先受信確認データは、受信確認データと同様に、パケットを通知してきた通信ノードが受信すると、パケットを通知してきた通信ノードにおいて通知したパケットを削除するトリガーとして用いられることとなる。
【００５３】
ここで、パケットは、送信元の通信ノードで生成され、中継の通信ノードで種々のデータを付与又は／及び変更されて送信先へ送信される。
なお、送信元で生成されたパケットを「送信元のパケット」、及び、中継の通信ノードで種々のデータを付与又は／及び変更されたパケットを「中継パケット」という場合がある。
【００５４】
送信元の通信ノードが生成するパケットは、ユーザ作成データに前記記憶装置１０１に格納されている自己アドレスデータ、前記ルートテーブル記憶装置１０２に格納されている次にパケットを通知する通信ノードのアドレスデータ、前記通信開始要求通信許可手段１３１で生成した通信開始要求データ、前記初期条件設定手段１１０により設定された送信先のアドレスデータが付与されたものである。
また、中継の通信ノードによって変更されるパケットは、受信したパケットに付与されている次にパケットを通知する通信ノードのアドレスデータを、さらに次にパケットを通知する通信ノードのアドレスデータに変更され、通信許可データと受信確認データとを付与されたものである。
【００５５】
例えば、図３（ｈ）に示すように、通信ノード１００Ａがパケットの送信元となり、中継を通信ノード１００Ｃ、送信先を通信ノード１００Ｄとした場合で、ユーザ作成データが分割された場合のその一つを「Ｐ１」とすると、送信元の通信ノード１００Ａが生成するパケットは、この分割されたユーザ作成データ「Ｐ１」に送信先の通信ノードのアドレスデータ「４」、自己アドレスデータ「１」、中継となる通信ノードのアドレスデータ「３」、通信開始要求データ「ＡＡＡ」が付与される。
このパケットは、中継されるたびに変更され、例えば、中継する通信ノード１００Ｃが送信先の通信ノード１００Ｄへパケットを通知する際は、自己アドレスデータが「１」から「３」に変更され、中継する通信ノードのアドレスデータが「３」から「４」に変更される。
なお、パケットを通知する側の通信ノードのアドレスデータを当該パケットに付与しても良い。
【００５６】
パケット生成手段１３４は、初期条件設定手段１１０により設定された初期条件の１つであるユーザ作成データに前記記憶装置１０１に格納されている自己アドレスデータ、前記ルートテーブル記憶装置１０２に格納されている次にパケットを通知する通信ノードのアドレスデータ、前記通信開始要求通信許可手段１３１で生成した通信開始要求データ、前記初期条件設定手段１１０により設定された送信先のアドレスデータを付与してパケットを生成する役割を果たす。
なお、ユーザ作成データの容量により、複数個のパケットを生成する場合もある。
【００５７】
通信開始要求手段１３５は、送信元又は中継となりパケットを送信先に送信しようとする際に、ルートテーブルにある次にパケットを通知する通信ノードからの送信許可データが一定時間以上通知されていない場合は、前記通信ノードとは通信をしていない状態と判断し、通信開始要求データを生成し、当該次にパケットを通知する通信ノードのアドレスデータを付与して、通知手段１３０に通信装置を介して、当該次にパケットを通知する通信ノードへ通知させる役割を果たす。
【００５８】
パケット出力手段１３６は、送信元となる場合に、通信開始要求データを通知した通信ノードからの通信許可データを受信した場合に１つの前記パケットを前記通知手段に出力し、又は、中継となる場合に、当該通信ノードからのパケットに付与されている通信許可データを確認するごとに１パケットずつ前記通知手段に出力する役割を果たし、送信元又は中継となる場合であって、次にパケットを通知すべき通信ノードが通信できない状態になっている場合に、前記「ルーティングプロトコル」から通信可能なルートを取得し、通信可能な所定のルートテーブルを再設定する役割を果たす。
【００５９】
つまり、送信元となる場合、パケット出力手段１３６は、パケット生成手段１３４が生成したパケットを通知手段１３０に出力し、また、後述するパケット変更手段１４１により変更されたパケットを通知手段に出力する。
また、パケット出力手段１３６は、図１０に示すように、１パケットを前記パケット通知手段に出力した時点で、先に通知したパケットに対するポーリングで許容される所定の時間を経過しなくても、ポーリングの許容された通信許可が終了したとみなし、通信装置１２１が通信許可データを受信した場合は、次のパケットを当該次にパケットを通知手段に出力することができるようになっている。
【００６０】
通信許可データ読み込み手段１３７は、通信開始要求通信許可手段が生成する通信許可データを読み込み、当該通信開始要求データを通知してきた他の通信ノードへ通信許可データを前記通知手段１３０に通知させる役割を果たす。
【００６１】
送信先アドレスデータ確認手段１３８は、中継となる場合に、通信許可データを通知した他の通信ノードから通知されたパケットに付与されている送信先となる通信ノードのアドレスデータを読み込み、中継か送信先かを判断する役割を果たす。
この送信先アドレスデータ確認手段１３８は、記憶装置１０１に格納されている自己アドレスデータと通知されたパケットに付与されている送信先アドレスデータとを読み込みつつ、自己アドレスデータと当該送信先アドレスデータとを比較し、一致すると自己が送信先の通信ノードであると判断し、一致しなければ、自己が中継であると判断するようになっている。
送信先アドレスデータ確認手段１３８は、一致すると判断すると、その結果を送信先受信確認データ生成手段１３３へ出力し、一致しないと判断すると、その結果をパケット変更手段１４１へ出力する。
【００６２】
パケット格納手段１３９は、パケットの送信元または中継となる場合に、生成したパケット又は、受信したパケットを送信先別に関連付けられたキュー１０４に順次格納する役割を果たす。
このように所定数のパケットを格納することによって、何らかの理由で無線速度（通信速度）が遅くなった場合に、パケットの受信と送信（通知）とのバランスが崩れた状態となっても、余分にパケットを格納しているので、パケットの送信及び受信を途切れることなく行うことができ、所定数を設ける事により、送信先への通信の停滞を検出することができる。
なお、所定数は、初期条件設定手段１１０などで設定するようにしてもよい。
【００６３】
送信先受信確認データ読み込み手段１４０は、送信先アドレスデータ確認手段１３８が送信先と判断した場合に、送信先受信確認データ生成手段１３３が生成した送信先受信確認データを読み込みつつ、パケットに付与されている自己アドレスデータを読み込み、当該自己アドレスデータを持つ通信ノードへ当該送信先受信確認データを通知手段１３０に通知させる役割を果たす。
つまり、送信先アドレスデータ確認手段１３８に送信先と判断させる対象となったパケットを通知してきた通信ノードへ送信先受信確認データを通知手段１３０に通知させるようになっている。
【００６４】
パケット変更手段１４１は、送信先アドレスデータ確認手段１３８が中継と判断した場合に、ルートテーブルから通信可能な次にパケットを通知する通信ノードのアドレスデータを読み込み、通知されたパケットに付与されている次に通知する通信ノードのアドレスデータを変更しつつ、通信開始要求通信許可手段１３１が生成した通信許可データと受信確認データ生成手段が生成した受信確認データとをさらに付与し、通知手段１３０に出力する役割を果たす。
【００６５】
ここで、自己が中継及び送信先となる場合、自己が中継として受信したパケットをさらに次の通信ノードへ当該パケットを通知する際に、当該次の通信ノードへ通信開始要求データを通知する。このとき、当該次の通信ノードからの通信開始要求データを受信すると、自己は、次の通信ノードへ通信許可データを通知し、次の通信ノードから通信許可データが通知される。このような場合、パケット変更手段１４１は、送信先受信確認データ生成手段１３３が生成した送信先受信確認データを読み込み、中継として通知されたパケットに、当該送信先受信確認データをさらに付与する。
【００６６】
受信確認手段１４２は、パケットを通知した通信ノードがさらに他の通信ノードに対して通知したパケットを受信し、当該パケットに付与されている受信確認データを読み込むことによりパケットの通知が成功したことを認識する役割と、送信先から通知された送信先受信確認データを受信することにより、パケットの通知が成功したことを認識する役割とを果たす。
【００６７】
パケット削除手段１４３は、受信確認手段１４２による受信確認データ又は送信先受信確認データの受信を確認したことにより、キュー１０４に格納した当該パケットを削除する役割を果たす。
【００６８】
通信許可キャンセル手段１４４は、パケットを通知してくる通信ノードへ通信許可データをパケット出力手段１３６により通知手段１３０を介して通知した際に、当該パケットを通知してくる通信ノードが他のパケットを他の通信ノードへ通知している場合に、パケットを通知してくる通信ノードが通知している他のパケットを傍受して当該次に通知する通信ノードへ通信許可データを通知したことで整えたパケットの受信の準備状態をキャンセルする役割を果たす。
つまり、パケットを通知してくる通信ノードが通知しているパケットは、ほかの通信ノードに対するものである。したがって、このパケットを傍受することにより、このパケットに付与されている次にパケットを通知する通信ノードのアドレスデータを読み込むことで、パケットを通知してくる通信ノードが通信許可の所定時間内にパケットを通知できないと判断して、パケットの受信のためにした準備をキャンセルする。
【００６９】
停滞状態判断手段１４５は、送信元又は中継となる場合に、送信先の通信ノードごとに振り分けられたキューに格納されたパケットが、所定容量を超えて格納された場合に、当該キューに対応する送信先通信ノードへのルートが停滞していると判断し、他の通信ノードへ通知するパケットに、停滞データとして、停滞している通信ノードのアドレスデータと当該キューに対応する送信先となる通信ノードのアドレスデータとを付与する役割を果たす。
送信先が同じとなるパケットが、予め制限していた格納容量（所定容量）を超えると、それ以上の格納ができずパケットの欠落のリスクが増大してくるため、そのようなパケットの送信先へのルートが停滞していると判断して、送信先の通信ノードのアドレスデータで停滞データを構成し、パケットを通知してくる通信ノードへの送信許可データを通知する際のパケットに付与するようになっている。
【００７０】
例えば、図３（ｉ）に示すように、通信ノード１００Ａを送信元又は中継とし、通信ノ
ード１００Ｃをさらなる中継とし、通信ノード１００Ｄを送信先とした場合であって、通信ノード１００Ｃが通信ノード１００Ｄへのパケットの通知ができない状態となっている場合、通信ノード１００Ｃがパケットに付与する停滞データは、通信ノード１００Ｄのアドレスデータ「４」となる。
【００７１】
通知対象除外手段１４６は、中継の通信ノードからの通信許可データと、停滞データが付与されたパケットを受信して、このパケットに付与されている停滞データを読み込み、当該送信先の通信ノード宛のパケットの通知を通知対象から外す役割を果たす。
この通知対象除外手段１４６は、前記停滞データが付与されたパケットを読み込んだ場合であって、その停滞データに付与されている停滞している送信先の通信ノードのアドレスデータと中継の通信ノードのアドレスデータを読み込み、送信先別に対応したキュー１０４の内、当該送信先の通信ノードのアドレスデータを比較し一致せず、且つ、自己が次にパケットを通知しようとしている通信ノードのアドレスデータとを比較して、同一となる送信先の通信ノードに対応したキュー１０４に格納された当該通信ノードへのパケットの通知ができる。
すなわち、この通知対象除外手段１４６は、前記停滞データに記載されている送信先の通信ノード宛のパケットを通知対象から外すことができるようになっている。
【００７２】
パケット保留手段１４７は、送信元又は中継となる場合であって、次にパケットを通知すべき通信ノードが通信できない状態になった場合、通知すべきパケットを一時的に保留する役割と、ルートテーブルにある前記次にパケット通知すべき通信ノードのアドレスデータを、通信可能な他の通信ノードのアドレスデータに変更する役割とを果たす。
なお、無線通信ができない状態とは、例えば、パケットを通知するべき通信ノードが電波の届いていた場所から無線通信の電波が届かないところに移動した場合や電源が途中で切られた場合、また、電波状態が悪い場合等がある。
【００７３】
アドレスデータ変更手段１４８は、パケット保留手段１４７によって変更されたルートテーブルにある通信ノードのアドレスデータへ前記保留したパケット付与されている次にパケットを通知すべき通信ノードのアドレスデータを変更する役割を果たす。
【００７４】
このように、通信ノードを構成したので、パケットの欠落がなく、通信速度の変動を抑え、効率よくパケットを通知することができる。
特に、ドライバを前記のように構成したので、プロトコルスタックを用いずに、通信可能な通信ノードへの無線通信を行うことにより、通信速度の変動を抑えた効率の良い無線通信を行うことができる。
したがって、このような通信ノードを複数用いて構築される無線通信ネットワークシステムは、欠落することなくパケットの受信をすることができ、通信速度の変動を抑え、効率よくパケットの送受信をすることができる。
【００７５】
次に、図４〜図９、図１１を参照しながら本発明の無線通信ネットワークシステムの通信状態について説明する（随時、図２参照）。
【００７６】
図４は本発明に係る無線通信ネットワークシステムの一例を示すシーケンス図である。図５は中継と判断した場合のシーケンス図である。図６は送信先と判断した場合のシーケンス図である。図７はパケットの受信準備をキャンセルする場合のシーケンス図である。図８は通信ノードが中継及び送信先となる場合のパケットの受信状態を示すシーケンス図である。図９は次にパケットを通知する通信ノードが停滞している場合を示すシーケンス図である。図１１は次にパケットを通知する通信ノードが通信できない状態となっている場合を示すシーケンス図である。
【００７７】
ここで、通信ノード１００Ａを送信元、通信ノード１００Ｃを中継、通信ノード１００Ｄを送信先とし、通信ノード１００Ａが、３つのパケットを送信する場合について説明する。
なお、ルートテーブルの読み込み及び変更は、従来からのものを用いるため、説明を省略する。
【００７８】
図４に示すように、送信元の通信ノード１００Ａにおいて、ユーザは、初期条件設定手段１１０により、送信先の通信ノード１００Ｄのアドレスデータを入力し、また、記憶装置１０１に格納されているユーザが作成したユーザ作成データを選択することで初期条件を設定する（Ｓ１）。初期条件設定手段１１０で初期条件が設定されると、通信開始要求通信許可手段１３１が通信開始要求データを生成する。通信開始要求手段１３５は、この通信開始要求データを通知手段１３０により通信装置１２１を介してパケットを次に通知する通信ノード１００Ｃへ通知する（Ｓ２）。中継の通信ノード１００Ｃは、送信元の通信ノード１００Ａからの通信開始要求データを受信（Ｓ３）すると、通信ノード１００Ｃの通信開始要求通信許可手段１３１が通信許可データを生成する。通信ノード１００Ｃの通信許可データ読み込み手段１３７は、通信開始要求通信許可手段１３１が生成した通信許可データを読み込み、通知手段１３０により通信装置１２１を介して、通信開始要求データを通知してきた通信ノード１００Ａへ通信許可データを通知（Ｓ４）する。通信ノード１００Ａは通信ノード１００Ｃからの通信許可データを受信（Ｓ５）する。
【００７９】
また送信元の通信ノード１００Ａは、初期条件設定手段１１０で初期条件が設定されると、パケット生成手段１３４によりパケット（送信元のパケット）を生成（Ｓ６）する。
パケット生成手段１３４が生成するそれぞれの送信元のパケットは、送信先のアドレスデータ、送信元の自己アドレスデータ、ルーティングテーブルから読み込んだ中継する通信ノード１００Ｃのアドレスデータ、通信開始要求通信許可手段１３１が生成した通信開始要求データ、及び分割されたユーザ作成データとから構成されている。
【００８０】
ここで、送信元の通信ノード１００Ａのパケット生成手段１３４が３つの送信元のパケットを生成した場合、パケット出力手段１３６により、通知手段１３０により通信装置１２１を介して１パケットごとに次に通知する通信ノード１００Ｃへ送信元のパケットを通知（Ｓ７）する。中継の通信ノード１００Ｃは、送信元の通信ノード１００Ａから通知された送信元のパケットを受信（Ｓ８（Ｓ２４、Ｓ３６））する。この受信した送信元のパケットについて、通信ノード１００Ｃの送信先アドレスデータ確認手段１３８により自己（通信ノード１００Ｃ）が中継か送信先かを判断する。
なお、送信先アドレスデータ確認手段１３８が中継と判断した場合（Ｓ９（Ｓ２５、Ｓ３７））について説明する。
【００８１】
まず、受信した送信元のパケットは、図５に示すように、パケット格納手段１３９によりキュー１０４（送信先別のキュー）に格納（Ｓ７１）される。この格納された送信元のパケットについて、自己（通信ノード１００Ｃ）が中継か送信先かを判断（Ｓ７２）する。送信先アドレスデータ確認手段１３８は、受信した送信元のパケットに付与されている送信先の通信ノード１００Ｄのアドレスデータと記憶装置１０１に記憶されている自己アドレスデータとを読み込み、比較して、一致しないと判断すると、自己が中継と判断（Ｓ７３）する。中継と判断したことで受信確認データ生成手段１３２は、受信確認データを生成する。
【００８２】
送信先アドレスデータ確認手段１３８が中継と判断すると、パケット変更手段１４１により、ルートテーブルから次にパケットを通知する通信ノード１００Ｄのアドレスデータを読み込み、送信元のパケットに付与されている次にパケットを通知する通信ノード１００Ｃのアドレスデータを、ルートテーブルを読み込んで得られた通信ノード１００Ｄのアドレスデータへ変更し、通信開始要求通信許可手段１３１が生成した通信許可データと、受信確認データ生成手段１３２が生成した受信確認データとを送信元のパケットに付与して中継のパケットに変更する。つまり、受信したパケットを変更（Ｓ７４）する。
【００８３】
また、中継のために受信したパケットを次に通知する通信ノードへ通知するために、通信開始要求通信許可手段１３１が通信開始要求データを生成する。通信開始要求手段１３５は、この通信開始要求データを通知手段１３０により通信装置１２１を介してパケットを次に通知する通信ノード１００Ｄへ通知する（Ｓ１０）。送信先の通信ノード１００Ｄは、中継の通信ノード１００Ｃからの通信開始要求データを受信（Ｓ１１）すると、通信ノード１００Ｄの通信開始要求通信許可手段１３１が通信許可データを生成する。通信ノード１００Ｄの通信許可データ読み込み手段１３７は、通信開始要求通信許可手段１３１が生成した通信許可データを読み込み、通知手段１３０により通信装置１２１を介して、通信開始要求データを通知してきた通信ノード１００Ｃへ通信許可データを通知（Ｓ１２）する。通信ノード１００Ｃは通信ノード１００Ｄからの通信許可データを受信（Ｓ１３）する。
【００８４】
通信許可データを受信し、送信元のパケットを中継のパケットに変更すると、パケット変更手段１４１により通知手段１３０へ当該中継のパケットを出力し、次に通知する通信ノード１００Ｄへ中継のパケットが通知（Ｓ１４（Ｓ２６、Ｓ３８））される。ここで、パケットはブロードキャストで通信装置１２１により送信されるので、送信元のパケットを通知してきた送信元の通信ノード１００Ａにも当該中継のパケットが通知（Ｓ１４（Ｓ２６、Ｓ３８））されることとなる。送信先となる通信ノード１００Ｄは、中継の通信ノード１００Ｃからの中継のパケットを受信（Ｓ１５（Ｓ２７、Ｓ３９））し、通信ノード１００Ｄの送信先アドレスデータ確認手段１３８により自己（通信ノード１００Ｄ）が中継か送信先かを判断する。
なお、送信先アドレスデータ確認手段１３８が送信先と判断した場合（Ｓ１６、（Ｓ２８、Ｓ４０））について説明する。
【００８５】
まず、受信した中継のパケットは、図６に示すように、パケット格納手段１３９によりキュー１０４（送信先別のキュー）に格納（Ｓ８１）される。この格納された中継のパケットについて、自己（通信ノード１００Ｃ）が中継か送信先かを判断（Ｓ８２）する。送信先アドレスデータ確認手段１３８は、受信した送信元のパケットに付与されている送信先の通信ノード１００Ｄのアドレスデータと記憶装置１０１に記憶されている自己アドレスデータとを読み込み、比較して、一致すると判断すると、自己が送信先と判断（Ｓ８３）する。また、送信先と判断したことで送信先受信確認データ生成手段１３３は、送信先受信確認データを生成する。
【００８６】
送信先受信確認データ１４０は、図４に示すように、中継のパケットを送信してきた通信ノードへ、通知手段１３０により通信装置１２１を介して、送信先受信確認データ生成手段１３３が生成した送信先受信確認データと通信開始要求通信許可手段１３１が生成した通信許可データとを通知（Ｓ１７（Ｓ２９、Ｓ４１））する。
中継の通信ノード１００Ｃは、送信先の通信ノード１００Ｄから通知された送信先受信確認データと通信許可データとを受信（Ｓ１８（Ｓ３０、Ｓ４２））すると、通信ノード１００Ｃのパケット削除手段１４３により、通信ノード１００Ｄへ通知したキュー１０４（送信先別のキュー）に格納してある中継のパケットを削除（Ｓ１９（Ｓ３１、Ｓ４３））する。
【００８７】
また、送信元の通信ノード１００Ａは、中継の通信ノード１００Ｃが送信先の通信ノード１００Ｄへ通知した中継のパケットを受信（Ｓ２０（Ｓ３２、Ｓ４４））する。この受信した中継のパケットに付与されている通信許可データをパケット出力手段１３６により、受信確認データを受信確認手段１４２により読み込み（Ｓ２１（Ｓ３３、Ｓ４５））、受信確認手段１４２が受信確認データを読み込むと、パケット削除手段１４３がキュー１０４（送信先別のキュー）に格納している、通信ノード１００Ｃに通知した送信元のパケットを削除（Ｓ２２（Ｓ３４、Ｓ４６））する。
【００８８】
パケット出力手段１３６が通信許可データを読み込むと、次の送信元のパケットを中継となる通信ノード１００Ｃへ通知（Ｓ２３（Ｓ３５））する。
【００８９】
このように、パケットの送受信を行うことで、パケットが欠落することなく、通信速度の変動を抑え、効率よくパケットを通知することができる。
【００９０】
次に、通信許可データを通知した通信ノードが他の通信ノードと通信して、パケットを通知してこない場合について説明する。
ここで、通信ノード１００Ａをパケットを通知される側、通信ノード１００Ｃを通信ノードＡへパケットを通知する側、通信ノード１００Ｄを通信ノード１００Ｃから他のパケットを通知される側とする。
【００９１】
図７に示すように、通信ノード１００Ｄは、通信ノード１００Ｃからの通信開始要求データを受信したことにより通信ノード１００Ｃに対して通信許可データを通知（Ｓ１０１）し、通信ノード１００Ｃは通信ノード１００Ｄからの通信許可データを受信（１０２）する。また、通信ノード１００Ａは、通信ノード１００Ｃからの通信開始要求データを受信したことにより通信ノード１００Ｃに対して通信許可データを通知する（Ｓ１０３）。このとき、通信ノード１００Ａは、通信ノード１００Ｃから通知されてくるパケットを受信できるように、パケットの受信準備（Ｓ１０４）を行う。しかしながら、通信ノード１００Ｃからパケットが通知されない（Ｓ１０５）状態となっているとする。また、通信ノード１００Ｃは、通信ノード１００Ａからの通信許可データを受信（Ｓ１０６）する。
ここで、通信ノード１００Ｃは、通信ノード１００Ｄに他のパケットを通知（Ｓ１０７）する。通信ノード１００Ｄは、通信ノード１００Ｃからの他のパケットを受信（Ｓ１０８）する。しかしながら、通信ノード１００Ａは、通信ノード１００Ｃが通信ノード１００Ｄへ通知した他のパケットを傍受（Ｓ１０９）し、通信ノード１００Ａの通信許可キャンセル手段１４３により、当該傍受した他のパケットに付与されている次にパケットを通知する通信ノードのアドレスデータを読み込み、自己（通信ノード１００Ａ）にパケットは送られないと判断し、パケットの受信準備を通信許可キャンセル手段１４４によりキャンセル（Ｓ１１０）する。
【００９２】
このように、パケットの送受信を行うことで、通信速度の変動を抑え、効率よくパケットを通知することができる。
【００９３】
次に、通信ノードが中継と送信先との両方の立場になる場合について説明する。
ここで、通信ノード１００Ａは通信ノード１００Ｄを送信先とするパケットを送信する送信元、通信ノード１００Ｃは通信ノード１００Ａからのパケットを中継及び通信ノード１００Ｄからのパケットの送信先、通信ノード１００Ｄは通信ノード１００Ａが送信するパケットの送信先及び通信ノード１００Ｃを送信先とするパケットを送信する送信元とする。
【００９４】
図８に示すように、通信ノード１００Ｃは、通信ノード１００Ａからの通信開始要求データを受信した後に通信許可データを通信ノード１００Ａに通知（Ｓ２０１）する。通信ノード１００Ａは、通信ノード１００Ｃからの通信許可データを受信（Ｓ２０２）し、これを受けて、通信ノード１００Ｃへパケットを通知（Ｓ２０３）する。通信ノード１００Ｃは、通信ノード１００Ａからのパケットを受信（Ｓ２０４）し、受信したパケットを通信ノード１００Ｃのパケット格納手段１３９によりキュー１０４（送信先別のキュー）に格納（Ｓ２０５）する。この格納されたパケットについて、自己（通信ノード１００Ｃ）が中継か送信先かを判断（Ｓ２０６）する。送信先アドレスデータ確認手段１３８は、受信したパケットに付与されている送信先の通信ノード１００Ｄのアドレスデータと記憶装置１０１に記憶されている自己アドレスデータとを読み込み、比較して、一致しないと判断すると、自己が中継と判断（Ｓ２０７）する。
【００９５】
中継と判断したことで受信確認データ生成手段１３２は、受信確認データを生成する。
そして、送信先アドレスデータ確認手段１３８が中継と判断すると、パケット変更手段１４１により、ルートテーブルから次にパケットを通知する通信ノード１００Ｄのアドレスデータを読み込み、送信元のパケットに付与されている次にパケットを通知する通信ノード１００Ｃのアドレスデータを、ルートテーブルを読み込んで得られた通信ノード１００Ｄのアドレスデータへ変更し、通信開始要求通信許可手段１３１が生成した通信許可データと、受信確認データ生成手段１３２が生成した受信確認データと、送信先受信確認データ生成手段１３３が生成した送信先受信確認データとを中継のために受信したパケット（通信ノード１００Ａが送信先を通信ノード１００Ｄとして通知してきたパケット）に付与してパケットを変更（Ｓ２０８）する。
【００９６】
ここで、受信したパケットを次に通知する通信ノード１００Ｄへ通知するために、通信開始要求通信許可手段１３１が生成した通信開始要求データを通信ノード１００Ｄへ通知する（Ｓ２０９）。通信ノード１００Ｄは、通信ノード１００Ｃからの通信開始要求データを受信（Ｓ２１０）し、通信開始要求通信許可手段１３１が生成した通信許可データを通信ノード１００Ｃへ通知（Ｓ２１１）する。通信ノード１００Ｃは、通信ノード１００Ｄからの通信許可データを受信（Ｓ２１２）する。
また、通信ノード１００Ｄは、通信ノード１００Ｃへ送信先が異なる他のパケットを通知するために、通信開始要求通信許可手段１３１が生成した通信開始要求データを通信ノード１００Ｃへ通知する（Ｓ２１３）。通信ノード１００Ｃは、通信ノード１００Ｄからの通信開始要求データを受信（Ｓ２１４）し、通信開始要求通信許可手段１３１が生成した通信許可データを通信ノード１００Ｄへ通知（Ｓ２１５）する。通信ノード１００Ｄは、通信ノード１００Ｃからの通信許可データを受信（Ｓ２１６）し、通信ノード１００Ｃへパケットを通知（Ｓ２１７）する。
【００９７】
このように、パケットの送受信を互い（Ｐｅａｒ  ｔｏ  Ｐｅａｒ）に行うときに、双方から通信許可データが通知された場合、通信ノード１００Ｃは、まず、通信ノード１００Ｄからのパケットを受信（Ｓ２１８）し、この受信したパケットを通信ノード１００Ｃのパケット格納手段１３９によりキュー１０４（送信先別のキュー）に格納（Ｓ２１９）する。この格納されたパケットについて、自己（通信ノード１００Ｃ）が中継か送信先かを判断（Ｓ２２０）する。送信先アドレスデータ確認手段１３８は、受信したパケットに付与されている送信先の通信ノード１００Ｄのアドレスデータと記憶装置１０１に記憶されている自己アドレスデータとを読み込み、比較して、一致すると判断すると、自己が送信先と判断（Ｓ２２１）する。
【００９８】
送信先と判断したことで送信先受信確認データ生成手段１３３は、送信先受信確認データを生成する。
そして、送信先アドレスデータ確認手段１３８が送信先と判断すると、パケット変更手段１４１により、送信先受信確認データ生成手段１３３により生成された送信先受信確認データを読み込み、先に変更したパケットにこの送信先受信確認データを付与してパケットを再変更（Ｓ２２２）する。
通信ノード１００Ｃは、この再変更されたパケットを送信先である通信ノード１００Ｄへ通知（Ｓ２２３）する。通信ノード１００Ｄは通信ノード１００Ｃからのパケットを受信（Ｓ２２４）し、そのパケットに付与されている送信先受信確認データを読み込む（Ｓ２２５）。これにより、通信ノード１００Ｄは、通信ノード１００Ｃへ宛てたパケットが無事に通知されたことを認識し、次のパケットを通信ノード１００Ｃへ通知することができる。
また、通信はブロードキャストで行われることにより、通信ノード１００Ａは、通信ノード１００Ｃが通信ノード１００Ｄに宛てたパケットを受信（Ｓ２２６）する。通信ノード１００Ａは、受信したパケットに付与されている通信許可データと受信確認データとを読み込む（Ｓ２２７）。これにより、通信ノード１００Ａは、通信ノード１００Ｃへ通知したパケットが無事に届いたことを認識し、次のパケットを通信ノード１００Ｃへ通知することができる。
【００９９】
このようにパケットの送受信を行うことにより、パケットを送信させるためのデータの送受信の回数を減らすことができるので、通信速度が安定し、パケットの欠落を防ぐことができる。
【０１００】
次に、パケットを次に通知する通信ノードが停滞した状態となった場合について説明する。
ここで、通信ノード１００Ａは通信ノード１００Ｄを送信先とするパケットを送信する送信元、通信ノード１００Ｂ、１００Ｃはその中継、通信ノード１００Ｄは通信ノード１００Ａが送信するパケットの送信先とする。
【０１０１】
図９に示すように、通信ノード１００Ａは、通信ノード１００Ｂから通信許可データを受信した後に、通信ノード１００Ｄを送信先とするパケットを通信ノード１００Ｂに通知（Ｓ３０１）する。通信ノード１００Ｂは、通信ノード１００Ａからの通信ノード１００Ｄを送信先とするパケットを受信（Ｓ３０２）し、受信したパケットを通信ノード１００Ｂのパケット格納手段１３９によりキュー１０４（送信先別のキュー）に格納（Ｓ３０３）する。このとき、通信ノード１００Ｃが何らかの理由により停滞したとする（Ｓ３０４）。
【０１０２】
この格納されたパケットについて、自己（通信ノード１００Ｂ）が中継か送信先かを判断（Ｓ３０５）する。送信先アドレスデータ確認手段１３８は、受信したパケットに付与されている送信先の通信ノード１００Ｄのアドレスデータと記憶装置１０１に記憶されている自己アドレスデータとを読み込み、比較して、一致しないと判断すると、自己が中継と判断（Ｓ３０６）する。
【０１０３】
ここで、受信したパケットが通信ノード１００Ｃを次にパケットを通知する通信ノードとしている場合、通信ノード１００Ｃが停滞していることにより、通信ノード１００Ｂのキューには、通信ノード１００Ｄ宛のパケットが格納され続けることとなる。
通信ノード１００Ｂの停滞状態判断手段１４５は、このパケットを格納しているキューの状態を監視し、通信ノード１００Ｃが停滞しているか否かを判断（Ｓ３０７）する。
停滞状態判断手段１４５は、当該キューが所定の容量を超える複数のパケットを格納した場合に、通信ノード１００Ｃが停滞していると判断（Ｓ３０８）し、当該パケットの送信先である通信ノード１００Ｄのアドレスデータと次にパケットを通知する通信ノード１００Ｃのアドレスデータとから停滞データを生成する。
【０１０４】
また、自己が中継と判断したことで受信確認データ生成手段１３２は、受信確認データを生成する。
そして、送信先アドレスデータ確認手段１３８が中継と判断すると、パケット変更手段１４１により、ルートテーブルから次にパケットを通知する通信ノード１００Ｃのアドレスデータを読み込み、受信したパケットに付与されている次にパケットを通知する通信ノード１００Ｂのアドレスデータを、ルートテーブルを読み込んで得られた他の通信ノードのアドレスデータへ変更し、通信開始要求通信許可手段１３１が生成した通信許可データと、受信確認データ生成手段１３２が生成した受信確認データとに、停滞状態判断手段１４５が生成した停滞データとを付与したパケットを生成（Ｓ３０９）する。
【０１０５】
パケットを生成すると、パケット変更手段１４１により通知手段１３０へ当該パケットを出力し、次に通知する他の通信ノードへ当該パケットが通知（Ｓ３１０）される。
【０１０６】
送信元の通信ノード１００Ａは、通信ノード１００Ｂが他の通信ノードへ通知した変更したパケットを受信（Ｓ３１１）する。通信ノード１００Ａの通知対象除外手段１４６は、受信したパケットに付与されている停滞データを読み込み、通信ノード１００Ｄを送信先としたパケットを、通信ノード１００Ｂに対して通知するのを停止（Ｓ３１２）する。
【０１０７】
このように、パケットの送受信を行うことで、通信速度の変動を抑え、効率よくパケットを通知することができる。
【０１０８】
次に、パケットを次に通知する通信ノードが通信できない状態となった場合について説明する。
ここで、通信ノード１００Ａは通信ノード１００Ｄを送信先とするパケットを送信する送信元、通信ノード１００Ｂ、１００Ｃはその中継、通信ノード１００Ｄは通信ノード１００Ａが送信するパケットの送信先とする。
【０１０９】
図１１に示すように、通信ノード１００Ａは、通信ノード１００Ｂから通信許可データを受信した後に、通信ノード１００Ｄを送信先とするパケットを通信ノード１００Ｂに通知（Ｓ４０１）する。通信ノード１００Ｂは、通信ノード１００Ａからの通信ノード１００Ｄを送信先とするパケットを受信（Ｓ４０２）し、受信したパケットを通信ノード１００Ｂのパケット格納手段１３９により送信先別に設けられたキュー１０４に格納（Ｓ４０３）する。ここで、通信ノード１００Ｃが何らかの理由により通信できない状態となったとする（Ｓ４０４）。
【０１１０】
このとき、パケット保留手段１４７は、ルーティングプロトコルからの情報により、ルートテーブルを更新する。ルーティングプロトコルから、通信ノードとの通信経路を取得した場合は、ルートテーブルに送信先通信ノードのアドレスデータと、次に通知すべき通信ノードのアドレスデータと、ホップ数を登録し、前記送信先別に設けられたキュー１０４に、次にパケットを通知する通信ノードに関係つけを行なう。登録済みの通信ノードとの通信経路が消滅した事を取得した場合には、ルートテーブルから当該通信ノード情報を削除し、前記送信先別に設けられたキュー１０４の、次にパケットを通知する通信ノードに関係つけを解除する。この解除により、このキュー１０４の送信先への中継先通信ノードが不定となり保留される。
【０１１１】
そして、この格納されたパケットについて、自己（通信ノード１００Ｂ）が中継か送信先かを判断（Ｓ４０５）する。送信先アドレスデータ確認手段１３８は、受信したパケットに付与されている送信先の通信ノード１００Ｄのアドレスデータと記憶装置１０１に記憶されている自己アドレスデータとを読み込み、比較して、一致しないと判断すると、自己が中継と判断（Ｓ４０６）する。
【０１１２】
受信したパケットが通信ノード１００Ｃを次にパケットを通知する通信ノードとしている場合、通信ノード１００Ｃが通信できない（ルートテーブルから送信先送信ノードのアドレスデータが削除されている）状態となっていることにより、通信ノード１００Ｂは通信ノード１００Ｃにパケットを通知できない状態となる。
このとき、通信装置１２１のドライバ１２１Ａは、通信ノード１００Ｃと通信できるか否かを判断（Ｓ４０７）し、例えば、通信できないと判断（Ｓ４０８）する。
そして、通信ノード１００Ｂのパケット保留手段１４７は、通信ノード１００Ｃに通知すべきパケットを一時的に保留（Ｓ４０９）する。
また、ドライバ１２１Ａは、ルートテーブルを通信可能な他の通信ノードのアドレスデータに変更（Ｓ４１０）する。
【０１１３】
また、自己が中継と判断したことで受信確認データ生成手段１３２は、受信確認データを生成する。
そして、送信先アドレスデータ確認手段１３８が中継と判断すると、パケット変更手段１４１により、ルートテーブルから次にパケットを通知する通信ノード１００Ｃのアドレスデータを読み込み、受信したパケットに付与されている次にパケットを通知する通信ノード１００Ｂのアドレスデータを、ドライバ１２１Ａにより変更されたルートテーブルを読み込んで得られた他の通信ノードのアドレスデータへ変更し、通信開始要求通信許可手段１３１が生成した通信許可データと、受信確認データ生成手段１３２が生成した受信確認データと、を中継のために受信したパケット（通信ノード１００Ａが送信先を通信ノード１００Ｄとして通知してきたパケット）に付与してパケットを変更（Ｓ４１１）する。
【０１１４】
パケットを変更すると、パケット変更手段１４１により通知手段１３０へ当該パケットを出力し、次に通知する他の通信ノードへ当該パケットが通知（Ｓ４１２）される。
【０１１５】
送信元の通信ノード１００Ａは、通信ノード１００Ｂが他の通信ノードへ通知した変更したパケットを受信（Ｓ４１３）する。
【０１１６】
このように、パケットの送受信を行うことで、通信速度の変動を抑え、効率よくパケットを通知することができる。
【０１１７】
以上、本発明の実施形態について説明したが、本発明は前記実施形態には限定されない。例えば、通信ノードが、携帯電話やＰＤＡ、無線ＬＡＮ等を備えたパーソナルコンピュータでもよい。
また、本発明の無線通信ネットワークシステムにおける通信ノードの個数は、本実施形態では４つの通信ノードについて説明したが、これに限定されず、少なくとも２個以上の複数の通信ノードを用いることができる。
【図面の簡単な説明】
【０１１８】
【図１】本発明に係る無線通信ネットワークシステムの一例を示す概略図である。
【図２】本発明に係る通信ノードの一例を示すブロック図である。
【図３】（ａ）は各通信ノードの自己アドレスデータの一例を示す概念図であり、（ｂ）はルートテーブルの一例を示す概念図であり、（ｃ）はポーリングテーブルの一例を示す概念図であり、（ｄ）は通信開始要求データの一例を示す概念図であり、（ｅ）は通信許可データの一例を示す概念図であり、（ｆ）は、受信確認データの一例を示す概念図であり、（ｇ）は送信先受信確認データの一例を示す概念図であり、（ｈ）は送信元が生成するパケットの一例を示す概念図であり、（ｉ）は停滞データの一例を示す概念図である。
【図４】本発明に係る無線通信ネットワークシステムの一例を示すシーケンス図である。
【図５】中継と判断した場合のシーケンス図である。
【図６】送信先と判断した場合のシーケンス図である。
【図７】パケットの受信準備をキャンセルする場合のシーケンス図である。
【図８】通信ノードが中継及び送信先となる場合のパケットの受信状態を示すシーケンス図である。
【図９】次にパケットを通知する通信ノードが停滞している場合を示すシーケンス図である。
【図１０】許容される所定の時間内のパケットの送受信状態の一例を示す概念図である。
【図１１】次にパケットを通知する通信ノードが通信できない状態となっている場合を示すシーケンス図である。
【符号の説明】
【０１１９】
１０    無線通信アドホックネットワークシステム
１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ  通信ノード
１０１  記憶装置
１０２  ルートテーブル記憶装置
１０３  ポーリングテーブル記憶装置
１０４  キュー
１１０  初期条件設定手段
１２１  通信装置
１２２  ドライバ
１３０  通知手段
１３１  通信開始要求通信許可手段
１３２  受信確認データ生成手段
１３３  送信先受信確認データ生成手段
１３４  パケット生成手段
１３５  通信開始要求手段
１３６  パケット出力手段
１３７  通信許可データ読み込み手段
１３８  送信先アドレスデータ確認手段
１３９  パケット格納手段
１４０  送信先受信確認データ読み込み手段
１４１  パケット変更手段
１４２  受信確認手段
１４３  パケット削除手段
１４４  通信許可キャンセル手段
１４５  停滞状態判断手段
１４６  通知対象除外手段
１４７  パケット保留手段
１４８  アドレスデータ変更手段
【図１】
2006191506.tif 000003
【図２】
2006191506.tif 000004
【図３】
2006191506.tif 000005
【図４】
2006191506.tif 000006
【図５】
2006191506.tif 000007
【図６】
2006191506.tif 000008
【図７】
2006191506.tif 000009
【図８】
2006191506.tif 000010
【図９】
2006191506.tif 000011
【図１０】
2006191506.tif 000012
【図１１】
2006191506.tif 000013