"アドホックネットワークを構成するノードによる送信制御方法であって、記憶部に記憶している、データの宛先と、隣接ノードと、該隣接ノードから前記宛先に至る経路が有効であるか否かを示すフラグ情報とを対応付けた経路情報テーブルを参照して選択した、前記データの宛先に対する第1候補の隣接ノードにデータを送信し、データ送信に失敗した場合には、前記経路情報テーブルを参照して、前記データの宛先に対する前記第1候補の隣接ノード以外の第2候補の隣接ノードのフラグ情報に基づいて、該第2候補の隣接ノードから前記宛先に至る経路が有効であるか否かを判定し、前記判定の結果、前記第2候補の隣接ノードから前記宛先に至る経路が有効となる第2候補の隣接ノードが存在する場合には、該第2候補の隣接ノードにデータを再送し、前記第2候補の隣接ノードから前記宛先に至る経路が有効となる第2候補の隣接ノードが存在しない場合には、データの再送を中止する各処理を実行することを特徴とする送信制御方法。前記データを再送する処理は、前記第2候補の隣接ノードから前記宛先に至る経路が有効となる第2候補の隣接ノードにデータを送信しても、データ送信に失敗した場合には、データの送信元が自装置であるか否かを判定し、データの送信元が自装置でない場合には、送信元のノードにデータを送信し、データの送信元が自装置の場合には、データを破棄することを特徴とする請求項1に記載の送信制御方法。データの宛先と、隣接ノードと、該隣接ノードから前記宛先に至る経路が有効であるか否かを示すフラグ情報とを対応付けた経路情報テーブルを記憶する記憶部と、前記経路情報テーブルを参照して、前記データの宛先に対する第1候補の隣接ノードにデータを送信し、データ送信に失敗した場合には、前記経路情報テーブルを参照して、前記データの宛先に対する前記第1候補の隣接ノード以外の第2候補の隣接ノードのフラグ情報に基づいて、該第2候補の隣接ノードから前記宛先に至る経路が有効であるか否かを判定し、判定の結果、前記第2候補の隣接ノードから前記宛先に至る経路が有効となる第2候補の隣接ノードが存在する場合には、該第2候補の隣接ノードにデータを再送し、前記第2候補の隣接ノードから前記宛先に至る経路が有効となる第2候補の隣接ノードが存在しない場合には、データの再送を中止する送信制御部と、を有することを特徴とする送信制御装置。前記送信制御部は、前記第2候補の隣接ノードから前記宛先に至る経路が有効となる第2候補の隣接ノードにデータを送信しても、データ送信に失敗した場合には、データの送信元が自装置であるか否かを判定し、データの送信元が自装置でない場合には、送信元のノードにデータを送信し、データの送信元が自装置の場合には、データを破棄することを特徴とする請求項3に記載の送信制御装置。しかしながら、上述した従来技術では、輻輳が発生するという問題があった。輻輳が発生する理由について説明する。従来のアドホックネットワークでは、ノード異常等により、最終宛先までの経路が不通になった場合には、経路を切り替えてデータを再送する。ここで、各ノード10は、最終宛先に至る隣接ノードの情報のみを保持している。このため、ネットワーク全体で見ると経路を切り替えても最終宛先に到達しないことがわかっても、ノード単独では判断ができず、各ノードが経路を切り替えてデータの再送を繰り返してしまう。図17~図19は、輻輳が発生する一例を説明するための図である。図17~図19に示す例では、ハローメッセージの送受信により、経路情報テーブルに複数の経路が登録されているものとする。また、一時的な環境の変化により、GW5とノード10bとのリンクが切断されているものとする。図17について説明する。ここでは、ノード10Yが、GW5を最終宛先とするデータを送信する場合について説明する。ノード10Yは、経路情報テーブルを参照して最適な経路を選択し、例えば、隣接ノード10bにデータを送信する。ノード10bは、ノード10Yからデータを受信する。ノード10bは、経路情報テーブルを参照して最適な経路を選択し、GW5にデータを送信する。しかし、GW5とノード10bとのリンクが切断されており、ノード10bはデータ送信に失敗する。図18について説明する。ノード10bは、経路情報テーブルを参照して、経路を切り替え、ノード10dにデータを送信する。ノード10dは、ノード10bからデータを受信する。ノード10dは、経路情報テーブルを参照して最適な経路を選択し、ノード10aにデータを送信する。ノード10aは、ノード10dからデータを受信する。ノード10aは、経路情報テーブルを参照して最適な経路を選択し、ノード10bにデータを送信する。ノード10bは、ノード10aからデータを受信する。図19について説明する。ノード10bは、経路情報テーブルを参照し、GW5に至る最適な経路のうち、未選択の経路を選択する。例えば、ノード10bは、ノード10eにデータを送信する。ノード10eは、ノード10bからデータを受信する。ノード10eは、経路情報テーブルを参照して最適な経路を選択し、ノード10dにデータを送信する。ノード10dはノード10eからデータを受信する。ノード10dは、経路情報テーブルを参照し、GW5に至る最適な経路のうち、未選択の経路を選択する。ノード10dは、例えば、ノード10bにデータを送信する。図17~図19に示したように、最終宛先のリンクが切断されている場合には、経路を切り替えてデータを送信しても、最終宛先にデータが届くことはなく、経路切り替えが頻繁に発生することにより、輻輳が発生する。この問題は、ネットワーク全体のノードの数にかかわらず、小規模ネットワークでも大規模ネットワークでも発生する問題である。また、図17~図19では、データの送信元がノード10Yとなる場合について説明した。このため、ノード10Y以外のノードが、GW5宛のデータを送信した場合には、更に多くのデータが、ネットワーク上で送受信されることになる。なお、ノード10が、自装置から最終宛先までの経路情報を保持し、データの送信を行うか否かを判定することも考えられる。しかし、この場合には、経路情報テーブルのデータ量が膨大となり、大規模ネットワークで運用することは難しい。本発明は、上記に鑑みてなされたものであって、輻輳の発生を防止することができる送信制御方法および送信制御装置を提供することを目的とする。開示の送信制御方法では、コンピュータが下記の処理を実行する。コンピュータは、記憶装置の経路情報テーブルを基にして、宛先に対する第1候補の隣接ノードにデータを送信する。コンピュータは、データ送信に失敗した場合には、第1候補の隣接ノード以外の宛先に対する第2候補の隣接ノードのフラグ情報に基づいて、該第2候補の隣接ノードから宛先に至る経路が有効であるか否かを判定する。コンピュータは、第2候補の隣接ノードから宛先に至る経路が有効となる第2候補の隣接ノードが存在する場合には、該第2候補の隣接ノードにデータを再送する。コンピュータは、第2候補の隣接ノードから宛先に至る経路が有効となる第2候補の隣接ノードが存在しない場合には、データの再送を中止する。開示の送信制御方法によれば、輻輳の発生を防止することができるという効果を奏する。以下に、本発明にかかる送信制御方法および送信制御装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。本実施例にかかるアドホックネットワークの構成について説明する。本実施例では一例として、プロアクティブ型のルーティングプロトコルを用いたアドホックネットワークとする。このアドホックネットワークでは、各ノードが、所定の宛先にデータを到達させるために送信すべき隣接ノードの情報を、経路情報テーブルを予め保持している。所定の宛先は、例えばGW等に対応する。図1は、本実施例にかかるアドホックネットワークの構成を示す図である。図1に示すように、このアドホックネットワークは、ネットワークサーバ1、GW5、ノード100a~100fを有する。ネットワークサーバ1およびGW5は、ネットワーク50を介して相互に接続される。また、ノード100a~100fは、隣接ノードとの間で無線通信を実行する。以下の説明において、ノード100a~100fをまとめてノード100と適宜表記する。ノード100は、送信制御装置の一例である。アドホックネットワークでは、各種のデータをノード間でやり取りする。本実施例では、以下のようにデータを区別して表記する。経路情報テーブルを更新するためにやり取りするデータを、ハローメッセージと表記する。冗長経路を探索するためのデータを、経路探索データと表記する。経路探索データの応答を、応答データと表記する。各ノードがネットワークサーバ1等に送信するデータを、単にデータと表記する。ネットワークサーバ1は、GW5を介して、ノード100からデータを受信し、各種のサービスを実行する装置である。GW5は、ノード100とネットワークサーバ1との間のデータ中継などを行う装置である。各ノード100はそれぞれ、経路情報テーブルに基づいて、データを最適な隣接ノードに送信することで、データを宛先に転送する。図2は、本実施例にかかるノードの構成を示す機能ブロック図である。図2に示すように、ノード100は、無線インターフェース部110、記憶部140、制御部150を有する。無線インターフェース部110は、アンテナを有し、他のノードとの間でデータを送受信する装置である。後述する制御部150は、無線インターフェース部110を介して、他のノードとデータをやり取りする。記憶部140は、リンクテーブル140a、経路情報テーブル140bを記憶する記憶装置である。記憶部140は、例えば、RAMRandomAccessMemory、ROMReadOnlyMemory、フラッシュメモリFlashMemoryなどの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。リンクテーブル140aは、ノード100と無線通信可能なノードの情報を記憶する。例えば、リンクテーブル140aは、隣接ノードを識別する情報とアドレス情報とを対応付ける。経路情報テーブル140bは、データの宛先と、隣接ノードと、該隣接ノードから宛先に至る経路が有効であるか否かを示すフラグ情報とを対応付けて記憶する。図3は、経路情報テーブルのデータ構造の一例を示す図である。図3に示すように、この経路情報テーブル140bは、GDGlobalDestination、LDLocalDestination、フラグ情報を有する。このうち、GDはデータの宛先に対応する。LDは隣接ノードに対応する。フラグ情報には、経路が有効か否かにより値が設定される。具体的には、該当する経路が有効である場合には、フラグ情報にtrueが設定される。該当する経路が有効ではない場合には、フラグ情報にfalseが設定される。経路情報テーブル140bは、あるGDに対して複数の経路が設定されている。複数の経路のうち、最も優先度が高い経路を、第1候補の経路と表記する。第1候補の経路に対応するLDを、第1候補の隣接ノードと表記する。なお、第1候補の経路に対応するフラグ情報には値が設定されない。第1候補の隣接ノードは、1段目に登録される。図3に示す例では、GDGW5に対応する第1候補の隣接ノードはGW5となる。第1候補の経路以外の経路を第2候補の経路と表記する。第2候補の経路は複数になる場合もある。第2候補の経路に対するLDを、第2候補の隣接ノードと表記する。図3に示す例では、GDGW5に対応する第2候補の隣接ノードはノード100eとなる。また、この第2候補の経路に対応するフラグ情報がtureであるため、この第2候補の経路が有効であることを示す。制御部150は、ハローメッセージ処理部150a、冗長経路探索部150b、送信制御部150cを有する。制御部150は、例えば、ASICApplicationSpecificIntegratedCircuitや、FPGAFieldProgrammableGateArrayなどの集積装置に対応する。また、制御部150は、例えば、CPUやMPUMicroProcessingUnit等の電子回路に対応する。ハローメッセージ処理部150aは、自装置の送信タイミングになると、リンクテーブル140a、経路情報テーブル140bを基にして、ハローメッセージを生成し、ハローメッセージをブロードキャストする。例えば、ハローメッセージには、経路情報テーブルのGDの情報、ハローメッセージの送信元の情報、自装置の隣接ノードの情報、リンクの通信品質の情報等が含まれる。また、ハローメッセージ処理部150aは、隣接ノードからハローメッセージを受信すると、受信したハローメッセージを基にして、経路情報テーブル140bを更新する。ハローメッセージ処理部150aが、ハローメッセージを送受信して経路情報テーブルを更新する処理は、如何なる従来技術を用いてもよい。冗長経路探索部150bは、経路探索データを第2候補の隣接ノードに送信し、送信結果に基づいて、経路情報テーブル140bのフラグ情報をtureまたはfalseに設定する。図4は、経路探索データのデータ構造の一例を示す図である。図4に示すように、経路探索データは、GSGlobalSource、GDGlobalDestination、LSLocalSource、LDLocalDestination、フレームIDIdentification等を有する。GSには、経路探索データの送信元のノードが設定される。GDには、経路探索データの最終宛先となるGWなどが設定される。LSには、経路探索データの転送元となる隣接ノードが設定される。LDには、経路探索データの転送先となる隣接ノードが設定される。冗長経路探索部150bが、経路探索データを送信する場合の処理について説明する。冗長経路探索部150bは、GSに自装置の情報、GDにGW5、LSに自装置の情報、LDに第1候補の隣接ノードを設定し、フレームIDにユニークな番号を割り振ることで、経路検索データを生成する。冗長経路探索部150bは、生成した経路探索データを、LDに設定した第1候補の隣接ノードに送信する。その後、冗長経路探索部150bは、LDに第1候補以外の隣接ノードを順次設定し、第1候補で使用した経路を使わない経路があるか否かを判断する。なお、ここで示す冗長経路探索の方法は、一例であり、他の従来技術を用いても構わない。冗長経路探索部150bが、自装置の送信した経路探索データの応答データを受信した場合の処理について説明する。応答データには、経路探索データを送信した第2候補の隣接ノードを経由する経路が有効であるか否かの情報が含まれる。冗長経路探索部150bは、有効である旨の情報が応答データに含まれている場合には、該当する第2候補の隣接ノードの有効フラグをtrueに設定する。これに対して、冗長経路探索部150bは、有効でない旨の情報が応答データに含まれている場合には、該当する第2候補の隣接ノードの有効フラグをfalseに設定する。冗長経路探索部150bが、他のノードの送信した経路探索データを受信した場合の処理について説明する。冗長経路探索部150bは、経路探索データを受信した場合には、リンクテーブル140aまたは経路情報テーブル140bを参照して、隣接ノードに経路探索データを転送する。冗長経路探索部150bは、経路探索データを転送する場合には、経路探索データのLSを自装置の情報に設定し、LDを転送先の隣接ノードに設定する。冗長経路探索部150bは、経路探索データのGSと、該GSを有する経路探索データを送信済みの隣接ノードとを対応付けて記憶しておく。冗長経路探索部150bは、同一のGSを有する経路探索データについて、送信済みの隣接ノードに送信しないように経路探索データを送信制御する。冗長経路探索部150bは、経路探索データの送信先となる隣接ノードが存在しない場合には、経路検索データのGSを宛先として、経路が有効でない旨の応答データを送信する。なお、GW5は、経路探索データを受信した場合には、経路検索データのGSを宛先として、経路が有効である旨の応答データを送信する。送信制御部150cは、データを受信した場合に、データの宛先と経路情報テーブル140bとを基にして、隣接ノードにデータを送信する。図5は、データのデータ構造の一例を示す図である。図5に示すように、このデータは、GS、GD、LS、LD、フレームID、ユーザデータ等を含む。送信制御部150cが、他のノードからデータを受信した場合の処理について説明する。送信制御部150cは、データを受信した場合に、データのGDと、経路情報テーブル140bとを比較して、GDに対する第1候補の隣接ノードにデータを送信する。送信制御部150cは、データを送信する際に、データのLSを自装置の情報に設定し、LDを転送先の隣接ノードに設定する。送信制御部150cが、第1候補の隣接データに対するデータ送信に失敗した場合の処理について説明する。送信制御部150cは、経路情報テーブル140bを参照し、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードを選択する。送信制御部150cは、選択した第2候補の隣接ノードにデータを送信する。送信制御部150cは、データを送信する際に、データのLSを自装置の情報に設定し、LDを転送先の隣接ノードに設定する。送信制御部150cは、第2候補の隣接ノードに対するデータ送信に失敗する度に、上記処理を繰り返し実行する。送信制御部150cが、送信対象となる第2候補の隣接ノードが存在しなくなった場合の処理について説明する。送信制御部150cは、データのGSが自装置である場合には、データを破棄する。これに対して、送信制御部150cは、データのGSが自装置ではない場合には、データのGSを宛先として、データを送信する。または、送信制御部150cは、かかるデータを受信したときのLSに対して、データを戻してもよい。次に、上述した送信制御部150cによるデータの送信の様子を、図6を用いて説明する。図6は、本実施例にかかるデータ送信の様子を説明するための図1である。図6に示すアドホックネットワークでは、ノード100bとGW5との通信か切断されているものとする。また、ノード100eとノード100fとの通信が切断されているものとする。まず、ノード100bに着目する。ノード100bの経路情報テーブル140bは、図3に示す情報が登録されているものとする。ノード100bは、GDにGW5が設定されたデータを受信すると、経路情報テーブル140bを基にして、第1候補の隣接ノードGW5にデータを送信する。ノード100bとGW5との通信が切断されている場合には、ノード100bは、データ送信に失敗する。ノード100bは、データ送信に失敗すると、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードを選択する。図3に示す経路情報テーブル140bの例では、ノード100bは、隣接ノード100eを選択する。ノード100bは、データをノード100eに送信する。その後、データは、ノード100cを介して、GW5に到達する。続いて、ノード100aに着目する。ノード100aの経路情報テーブル140bには、図7に示す情報が登録されているものとする。図7は、ノード100aの経路情報テーブルのデータ構造の一例を示す図である。図7に示す例では、第1候補の隣接ノードがノード100fであり、第2候補の隣接ノードがノード100dである。ここでは、データの送信元を、ノード100aとする。ノード100aは、GDにGW5、GSに100aを設定し、経路情報テーブルを基にして、第1候補の隣接ノード100fにデータを送信する。ノード100eとノード100fとの通信が切断されている場合には、データ送信に失敗し、ノード100aは、ノード100fからデータを受信する。ノード100aは、データ送信に失敗すると、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードを選択する。しかし、図7の経路情報テーブル140bには、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードとなる第2候補の隣接ノードが存在しない。また、データの送信元がノード100aであるため、ノード100aは、データを破棄する。次に、図8に示すアドホックネットワークを用いて、データの送信の様子について説明する。図8は、本実施例にかかるデータ送信の様子を説明するための図2である。図8に示すアドホックネットワークでは、ノード100bとGW5との通信が切断されているものとする。ここでは、ノード100bとノード100fに着目する。ノード100bの経路情報テーブル140bには、図9に示す情報が登録されているものとする。ノード100fの経路情報テーブル140bには、図10に示す情報が登録されているものとする。図9は、ノード100bの経路情報テーブルのデータ構造の一例を示す図である。図9に示す例では、第1候補の隣接ノードがGW5である。また、第2候補の隣接ノードがノード100a、100d、100f、100e、100cである。図10は、ノード100fの経路情報テーブルのデータ構造の一例を示す図である。図10に示す例では、第1候補の隣接ノードが100bである。また、第2候補の隣接ノードがノード100a、100d、100c、100eである。図8の説明では、データの送信元をノード100fとする。ノード100fは、GDにGW5、GSに100fを設定し、経路情報テーブル140bを基にして、第1候補の隣接ノード100bにデータを送信する。ノード100bは、ノード100fからデータを受信する。ノード100bは、GDにGW5が設定されたデータを受信すると、経路情報テーブル140bを基にして、第1候補の隣接ノードGW5にデータを送信する。ノード100bとGW5との通信が切断されている場合には、ノード100bは、データ送信に失敗する。ノード100bは、データ送信に失敗すると、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードを選択する。しかし、図9の経路情報テーブル140bには、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードとなる第2候補の隣接ノードが存在しない。また、データの送信元がノード100fであるため、ノード100bは、データをノード100fに送信する。ノード100fは、ノード100bからデータを受信する。ノード100fは、データを第1候補の隣接ノードに送信済みである。このため、ノード100fは、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードを選択する。しかし、図10の経路情報テーブル140bには、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードとなる第2候補の隣接ノードが存在しない。また、データの送信元がノード100fであるため、ノード100fは、データを破棄する。次に、本実施例にかかるノードの処理手順について説明する。図11は、本実施例にかかるノードの処理手順の一例を示す図である。図11に示す処理は、例えば、データを受信したことを契機にして実行される。図11に示すように、ノード100は、データを受信しステップS101、第1候補の隣接ノードにデータを送信済みであるか否かを判定するステップS102。ノード100は、第1候補の隣接ノードにデータを送信済みではない場合にステップS102,No、第1候補の隣接ノードにデータを送信するステップS103。ノード100は、データ送信に成功した場合にはステップS104,Yes、処理を終了する。一方、ノード100は、データ送信に失敗した場合にはステップS104,No、ステップS101に移行する。ステップS102において、第1候補の隣接ノードにデータを送信済みの場合にはステップS102,Yes、フラグ情報がtureとなる未送信の第2候補の隣接ノードが存在するか否かを判定するステップS105。ノード100は、フラグ情報がtureとなる未送信の第2候補の隣接ノードが存在する場合にはステップS105,Yes、第2候補の隣接ノードにデータを送信しステップS106、ステップS104に移行する。一方、フラグ情報がtureとなる未送信の第2候補の隣接ノードが存在しない場合にはステップS105,No、データの送信元が自装置であるか否かを判定するステップS107。ノード100は、データの送信元が自装置の場合にはステップS107,Yes、データを破棄するステップS108。ノード100は、データの送信元が自装置ではない場合にはステップS107,No、データの送信元にデータを送信するステップS109。次に、本実施例にかかるノード100の効果について説明する。本実施例にかかるノード100は、第1候補の隣接ノードに対するデータ送信に失敗した場合には、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードを選択してデータを再送する。このため、冗長経路が有効ではない経路にデータを送信することを防止することができ、アドホックネットワークの輻輳を防止することができる。また、ノード100は、フラグ情報がtrueとなり、かつ、データを未送信の第2候補の隣接ノードとなる第2候補の隣接ノードが存在しない場合には、データの送信元を参照する。ノード100は、データの送信元が自装置の場合には、データを破棄する。ノード100は、データの送信元が他のノードである場合には、データの送信元にデータを送信する。このため、データを繰り返し再送することを防止でき、アドホックネットワークの輻輳を防止することができる。ところで、本実施例では一例として、ノード100が無線通信により相互にデータ通信を実行する場合について説明したがこれに限定されるものではない。例えば、ノード100を相互に有線接続し、相互にデータ通信を行っても良い。また、ノード100に環境情報を取得するセンサを搭載してもよい。環境情報は、例えば、温度、湿度、降水量等の情報に対応する。各ノード100は、自装置が測定した環境情報を、ネットワークサーバ1に送信しても良い。上記実施例に示したノード100の機能は、既知のPCPersonalComputerまたはPDAPersonalDigitalAssistantsなどの情報処理装置に、ノードに対応する各機能を搭載することによって実現することもできる。図12は、実施例にかかるノードを構成するコンピュータのハードウェア構成を示す図である。図12に示すように、このコンピュータ200は、各種演算処理を実行するCPU201を有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204を有する。また、コンピュータ200は、他の装置と無線により接続する無線通信装置206と、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。各装置201~208は、バス209に接続される。ハードディスク装置208には、送信制御プログラムなどの各腫のプログラムが記憶される。CPU201は、ハードディスク装置208に記憶された各プログラムを読み出して、RAM207に展開し、各種の処理を行う。また、これらのプログラムは、コンピュータを、例えば、図2の送信制御部150cとして機能させることができる。なお、上記のプログラムは、必ずしもハードディスク装置208に格納されている必要はない。例えば、CD-ROM等の記憶媒体に記憶されたプログラムを、コンピュータ200が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LANLocalAreaNetwork、WANWideAreaNetwork等に接続された記憶装置に、各プログラムを記憶させておいてもよい。この場合、コンピュータ200がこれらから各プログラムを読み出して実行するようにしてもよい。"