"複数のノードを含むネットワーク中のノードであって、他のノードに対してデータを送信する送信部と、他のノードからのデータを受信する受信部と、複数の他のノードと自ノードとの間の通信履歴を格納する格納部と、前記複数の他のノードのうちの第1のノードに送信したデータに対する確認応答を該第1のノードから受信しない場合に、該送信したデータの複製データを生成する第1の生成部と、前記複数の他のノードのうちの第2のノードに送信した前記複製データを検知したことを示す複製通知を前記複数の他のノードのうちの1つから受信したとき、前記通信履歴を参照し、前記複製データの発生原因として前記第1のノードを特定する特定部と、前記第1のノードと前記自ノードとの間の通信履歴を含み、該第1のノードに対して該通信履歴の照合を依頼する照合依頼を生成する第2の生成部とを備えることを特徴とするノード。前記複製通知は、前記複製データの発生原因として複数の候補ノードの識別情報を含み、前記特定部は、前記複数の他のノードと前記自ノードとの間の通信履歴に含まれる、該複数の候補ノードに対する複数のデータ送信処理のうち最も早いデータ送信処理の送信先を、前記第1のノードとして特定することを特徴とする請求項1記載のノード。前記特定部は、前記複製通知を受信して前記第1のノードを特定した回数が閾値を超えたとき、前記照合依頼の送信を前記第2の送信部に指示することを特徴とする請求項1又は2記載のノード。複数のノードを含むネットワーク中のノードであって、複数の他のノードと自ノードとの間の通信履歴を格納する格納部と、受信したデータに対する確認応答を送信する送信部と、前記複数の他のノードのうち、前記自ノードに送信したデータに対する確認応答を該自ノードから受信しない場合に該送信したデータの複製データを生成する複製ノードから、該複製ノードと該自ノードとの間の第1の通信履歴を含み、該第1の通信履歴の照合を依頼する照合依頼を受信する受信部と、前記照合依頼を受信したとき、該照合依頼に含まれる前記第1の通信履歴と、前記格納部に格納された前記複製ノードと前記自ノードとの間の第2の通信履歴とを照合し、前記複製ノードが前記自ノードに送信したデータに対する前記確認応答を該自ノードから受信していない場合に、該複製ノードに対する応答方法を変更する照合部とを備えることを特徴とするノード。前記照合部は、前記第2の通信履歴に含まれる前記確認応答の数に対する、前記第1の通信履歴に含まれる前記確認応答の数の割合が、閾値より小さい場合に、前記応答方法を変更することを特徴とする請求項4記載のノード。前記照合部は、前記応答方法を、前記複製ノードから受信したデータに対する確認応答の送信回数を増加させる第1の方法、前記複製ノードから受信したデータに対する確認応答の送信電力を増加させる第2の方法、又は前記複製ノードから受信したデータに対する確認応答に対する確認応答を前記複製ノードから受信する第3の方法のいずれかに変更することを特徴とする請求項4又は5記載のノード。複数のノードを含むネットワーク中のノードであって、複数の他のノードと自ノードとの間の通信履歴を格納する格納部と、前記複数の他のノードのうちの第1のノードから第1のデータを受信する受信部と、前記第1のデータを受信したとき、前記通信履歴を参照して、該第1のデータと、前記複数の他のノードのうちの第2のノードから受信した第2のデータの一方が他方の複製データであるか否かをチェックし、一方が他方の複製データである場合に、該複製データを生成した複製ノードを特定する特定部と、前記複製データを検知したことを示す複製通知を前記複製ノードに送信する送信部とを備えることを特徴とするノード。前記通信履歴は、前記第2のデータが通過した経路を示す情報を含み、前記特定部は、前記第1のデータが通過した経路と該第2のデータが通過した経路の共通部分に含まれる最後のノードを、前記複製ノードとして特定することを特徴とする請求項7記載のノード。前記特定部は、前記第1のデータが通過した経路に含まれる前記最後のノードの次のノードと、前記第2のデータが通過した経路に含まれる前記最後のノードの次のノードとを、前記複製データの発生原因として特定し、前記送信部は、特定された2つのノードの識別情報を含む前記複製通知を前記複製ノードに送信することを特徴とする請求項8記載のノード。上述した従来の通信ネットワークにおいて受信ノードがデータを受信した場合の送信ノードに対する応答方法には、以下のような問題がある。通信ネットワークの容量減少と、複製パケットによる輻輳の悪化を考慮して、上記1~3のうち最適なAckの送信方法と、Ackの送信回数又は送信電力等のパラメータを選択する必要がある。この場合、通信ネットワーク全体で最適なAckの送信方法及び最適なパラメータを設定するために、大規模なシミュレーションを行う必要がある。上記1又は2のAckの送信方法では、Ackパケットが複数回送信されるため、Ackパケットを1回だけ返信する場合と比べて、通信ネットワーク上のトラフィックが増加する。このため、却って輻輳を助長する恐れがあり、定常運用時の通信ネットワークの容量を圧迫し、通信ネットワークに負担がかかることが予想される。上記1又は3のAckの送信方法では、何らかの要因で輻輳が想定よりもさらに悪化した場合、Ackパケットの送信成功率が低下し、複製パケットが発生する可能性がある。このため、複製パケットを減らすことはできても、完全に抑えることはできない。また、Helloパケットを用いて送信成功率を計算する方法では、輻輳による送信成功率の悪化を検知することが困難である。Helloパケットのトラフィックは、各ノードにほぼ均一に分布するが、データパケットのトラフィックは、ゲートウェイのような特定のノードの周辺に集中するため、その周囲の送信成功率のみが悪化しやすい。さらに、図4に示すように、Helloパケットは同一周期で途切れることなく、かつ、各パケットが独立して送信されるため、Helloパケットのデータ量401は時間的に分散されている。一方、データパケットの場合は送信される期間が限定されており、かつ、パケットの中継やAckパケットの送信が連続して起こるため、特定の期間にデータパケットのデータ量402が集中しやすい。このように、データパケットとは特性が異なるHelloパケットを用いて送信成功率を計算し、通信ネットワークの輻輳を検知することは困難である。本発明の課題は、送信ノードが送信したデータに対するAckを受信ノードから受信しない場合に複製データを迂回転送する通信ネットワークにおいて、通信ネットワークに負担をかけることなく、複製データの発生を確実に抑止することである。第1の態様において、複数のノードを含むネットワーク中のノードは、送信部、受信部、格納部、第1及び第2の生成部、及び特定部を含む。送信部は、他のノードに対してデータを送信する。受信部は、他のノードからのデータを受信する。格納部は、複数の他のノードと自ノードとの間の通信履歴を格納する。第1の生成部は、複数の他のノードのうちの第1のノードに送信したデータに対する確認応答を第1のノードから受信しない場合に、送信したデータの複製データを生成する。特定部は、複数の他のノードのうちの第2のノードに送信した複製データを検知したことを示す複製通知を複数の他のノードのうちの1つから受信したとき、通信履歴を参照し、複製データの発生原因として第1のノードを特定する。第2の生成部は、第1のノードと自ノードとの間の通信履歴を含み、第1のノードに対して通信履歴の照合を依頼する照合依頼を生成する。第2の態様において、複数のノードを含むネットワーク中のノードは、格納部、送信部、受信部、及び照合部を含む。格納部は、複数の他のノードと自ノードとの間の通信履歴を格納する。送信部は、受信したデータに対する確認応答を送信する。受信部は、複数の他のノードのうち複製ノードから、複製ノードと自ノードとの間の第1の通信履歴を含み、第1の通信履歴の照合を依頼する照合依頼を受信する。複製ノードは、自ノードに送信したデータに対する確認応答を自ノードから受信しない場合に、送信したデータの複製データを生成する。照合部は、照合依頼を受信したとき、照合依頼に含まれる第1の通信履歴と、格納部に格納された複製ノードと自ノードとの間の第2の通信履歴とを照合する。そして、複製ノードが自ノードに送信したデータに対する確認応答を自ノードから受信していない場合に、複製ノードに対する応答方法を変更する。第3の態様において、複数のノードを含むネットワーク中のノードは、格納部、受信部、特定部、及び送信部を含む。格納部は、複数の他のノードと自ノードとの間の通信履歴を格納する。受信部は、複数の他のノードのうちの第1のノードから第1のデータを受信する。特定部は、第1のデータを受信したとき、通信履歴を参照して、第1のデータと、複数の他のノードのうちの第2のノードから受信した第2のデータの一方が他方の複製データであるか否かをチェックする。そして、一方が他方の複製データである場合に、複製データを生成した複製ノードを特定する。送信部は、複製データを検知したことを示す複製通知を複製ノードに送信する。第1又は第2の態様によれば、複製データを生成したノードの通信履歴と複製データの発生原因である原因ノードの通信履歴が照合されるため、原因ノードから複製ノードに対する応答方法を変更することができ、複製データの発生が確実に抑止される。また、通信ネットワークの全ノード間の応答方法を変更するのではなく、原因ノードから複製ノードに対する応答方法を変更するだけで済むため、通信ネットワークにはあまり負担がかからない。第1又は第3の態様によれば、複製データが検知されたときに複製ノードが特定されるため、複製ノードから原因ノードに通信履歴の照合を依頼することができ、複製データの発生が確実に抑止される。また、通信ネットワークの全ノード間で通信履歴を交換するのではなく、複製ノードから原因ノードに通信履歴を送信するだけで済むため、通信ネットワークにはあまり負担がかからない。以下、図面を参照しながら、実施形態を詳細に説明する。図5は、実施形態の通信システムの構成例を示している。図5の通信システムは、通信ネットワーク中のノード501~506を含み、ノード501~506は、他のノードと無線又は有線で通信する。ノード501及び502は、それぞれ、複製ノード及び原因ノードと呼ばれる場合がある。複製ノードは、他のノードに送信したデータに対する確認応答をそのノードから受信しない場合に、送信したデータの複製データを生成するノードである。ノード501は、送信部511、受信部512、格納部513、生成部514、516、特定部515、及び照合部517を含む。送信部511は、他のノードに対してデータを送信する。受信部512は、他のノードからのデータを受信する。格納部513は、複数の他のノードとノード501との間の通信履歴を格納する。生成部514は、ノード502に送信したデータに対する確認応答をノード502から受信しない場合に、送信したデータの複製データを生成する。送信部511は、ノード504に複製データを送信する。受信部512は、ノード503から、複製データを検知したことを示す複製通知を受信する。特定部515は、複製通知を受信したとき、通信履歴を参照し、複製データの発生原因としてノード502を特定する。生成部516は、ノード501とノード502との間の通信履歴を含み、ノード502に対して通信履歴の照合を依頼する照合依頼を生成する。送信部511は、照合依頼をノード502に送信する。ノード502は、送信部521、受信部522、格納部523、生成部524、526、特定部525、及び照合部527を含む。格納部523は、複数の他のノードとノード502との間の通信履歴を格納する。送信部521は、ノード501から受信したデータに対する確認応答を、ノード501に送信する。受信部522は、ノード501から、ノード501とノード502との間の通信履歴を含み、その通信履歴の照合を依頼する照合依頼を受信する。照合部527は、照合依頼を受信したとき、照合依頼に含まれる通信履歴と、格納部523に格納された、ノード501とノード502との間の通信履歴とを照合する。そして、ノード501がノード502に送信したデータに対する確認応答をノード502から受信していない場合に、ノード501に対する応答方法を変更する。ノード503は、送信部531、受信部532、格納部533、生成部534、536、特定部535、及び照合部537を含む。格納部533は、複数の他のノードとノード503との間の通信履歴を格納する。受信部532は、ノード505から第1のデータを受信する。特定部535は、第1のデータを受信したとき、通信履歴を参照して、第1のデータと、ノード506から受信した第2のデータの一方が他方の複製データであるか否かをチェックする。そして、一方が他方の複製データである場合に、複製データを生成したノード501を特定する。送信部531は、複製データを検知したことを示す複製通知をノード501に送信する。図5の通信システムでは、ノード503において複製データが検知されたときに複製ノードノード501が特定され、複製ノードから原因ノードノード502に通信履歴の照合が依頼される。そして、原因ノードにおいて、複製ノードの通信履歴と原因ノードの通信履歴が照合され、原因ノードから複製ノードに対する応答方法が変更される。このように、複製ノードと原因ノードが特定されて応答方法が変更されるため、複製データの発生が確実に抑止される。また、複製ノードから原因ノードに通信履歴を送信し、原因ノードから複製ノードに対する応答方法を変更するだけで済むため、複製データを抑止するために通信ネットワークにかける負担を抑えることができる。図6は、実施形態の通信ネットワークの例を示している。図6の通信ネットワークはノード601~606を含み、パケットの転送経路として複数の選択肢を持つ。ノード601~606の識別情報ノードIDは、それぞれa、b、c、d、e、及びfである。図7は、図6の通信ネットワークの通常モードにおける動作の例を示すフローチャートである。ノード601からノード606宛てにデータパケットを転送する場合、ノード602とノード606の間には、ノード605を経由する転送経路と、ノード603及び604を経由する転送経路が存在する。まず、ノード605を経由する転送経路が選択され、ノード602からノード605へデータパケットが送信されると、ノード605からノード602へAckパケット611が返信される。そして、ノード605からノード606へデータパケットが送信され、ノード606にデータパケットが到達する。ここで、Ackパケット611の返信が輻輳により失敗するとステップ701、Ackパケット611がノード602に到達しないため、ノード602から、同一のデータパケットが複製パケット612として、ノード603及び604を経由する転送経路へ迂回転送されるステップ702。そして、ノード604からノード606へ複製パケット612が送信され、ノード606に複製パケット612が到達する。ノード606は、複製パケット612がノード605から受信したデータパケットの複製であることを検知する。そして、複製パケット612を検知したことを示す複製通知パケット613を、複製パケット612を生成したノード602複製ノード宛てに送信するステップ703。ノード602は、ノード602と隣接ノードの間の通信履歴を参照して、複製パケット612の発生原因であるノード605原因ノードを特定し、原因ノード毎に複製通知パケット613を受信した回数をカウントするステップ704。そして、原因ノードのカウント値が閾値を超えると、監視モードへ移行するステップ705。図8は、図6の通信ネットワークの監視モードにおける動作の例を示すフローチャートである。ノード602は、図9に示すように、ノード605に対して定期的に照合依頼パケット901を送信するステップ801。照合依頼パケット901には、ノード602とノード605の間の通信履歴が含まれる。ノード605は、照合依頼パケット901に含まれる通信履歴から、ノード602がノード605からAckパケットを受信した記録を抽出する。また、ノード605内に格納されている、ノード602とノード605の間の通信履歴から、ノード605がノード602へAckパケットを送信した記録を抽出する。そして、抽出した2つの記録を照合しステップ802、Ackパケットの送信成功率を計算するステップ803。次に、ノード605は、得られた送信成功率が閾値より小さければ、ノード602に対する応答方法を、送信成功率が大きくなるように変更するステップ804。そして、ノード602及び605はステップ801~804の動作を繰り返し、監視モードの動作開始から一定時間が経過すると、通常モードへ移行するステップ805。Ackパケットの送信成功率が閾値以上になってから一定時間が経過したときに、通常モードへ移行するようにしてもよい。図6の通信ネットワークは6個のノードを含んでいるが、実施形態の通信ネットワークに含まれるノードの数は5個以下の場合もあり、7個以上の場合もある。次に、実施形態の各ノードの構成と動作について、より詳細に説明する。図10は、無線又は有線の通信ネットワークに含まれる各ノードに対応する、ノード1001の構成例を示している。図10のノード1001は、図5のノード501~506及び図6のノード601~606の各々に対応する。ノード1001は、受信部1011、複製通知パケット処理部1012、照合依頼パケット処理部1013、Ackパケット処理部1014、データパケット処理部1015、複製通知パケット生成部1016、及び送信部1017を含む。ノード1001は、さらに、格納部1018、モード処理部1019、再送処理部1020、照合依頼パケット生成部1021、及び制御部1022を含む。格納部1018は、リンクテーブル1031、Ack送信評価テーブル1032、データ管理テーブル1033、通信履歴テーブル1034、及び経路テーブル1035を格納する。リンクテーブル1031には、ノード1001と隣接ノードの間のリンク毎に、複製通知パケットを受信してその隣接ノードを原因ノードとして特定した回数、監視モードへ移行したか否かを示すフラグ、TTW1、TTW2等が記録される。Ack送信評価テーブル1032には、Ackパケットの送信先である隣接ノード又はリンク毎に、Ackパケットの送信成功率、データパケットの受信成功率等が記録される。通信履歴テーブル1034には、送受信したパケットの通信履歴が記録される。通信履歴テーブル1034には、送受信したパケット毎に、送受信時刻、グローバルソースノードGSのノードID、フレームIDFID、ローカルソースノードLSのノードID、ローカルデスティネーションLDのノードIDが記録される。通信履歴テーブル1034には、さらにパケット種別、処理種別等も記録される。データ管理テーブル1033には、通信履歴テーブル1034に記録されたパケットのうち、データパケットの通信履歴が記録される。データ管理テーブル1033には、送受信したデータパケット毎に、送受信時刻、GSのノードID、FID、TTW、LDのノードID、経路等が記録される。経路テーブル1035には、ノード1001がパケット送信先として使用可能なLDを含む経路情報が記録される。FIDはパケットの識別情報であり、GSはパケットを最初に送出したノードに対応し、LSは受信パケットを送信した隣接ノードに対応し、LDは送信パケットの送信先の隣接ノードに対応する。パケット種別は、データパケット、Ackパケット等のパケットの種類を表し、処理種別は、送信、受信、迂回等のパケットに対して行った処理の種類を表す。TTWは、データパケットが送信されるときにデータ管理テーブル1033に設定され、設定時の現在時刻にAck待ち時間を加算した時刻を表す。TTW1は、監視モードに移行したときと、監視モードにおいてAckパケットの送信成功率が閾値より小さいと判定されたときに、リンクテーブル1031に設定される。TTW1は、設定時の現在時刻に照合間隔を加算した時刻を表す。TTW2は、監視モードに移行したときに設定され、設定時の現在時刻に監視モード継続時間を加算した時刻を表す。受信部1011は、隣接ノードからリンクを介してパケットを受信する。複製通知パケット処理部1012は、複製通知パケットを受信した場合の処理を行い、処理照合依頼パケット処理部1013は、処理照合依頼パケットを受信した場合の処理を行い、Ackパケット処理部1014は、Ackパケットを受信した場合の処理を行う。データパケット処理部1015は、受信したデータパケットから複製パケットを検出し、複製通知パケット生成部1016は、複製パケットが検出されたとき、複製ノード宛ての複製通知パケットを生成する。送信部1017は、データパケット、Ackパケット等をリンクを介して隣接ノードに送信する。モード処理部1019は、監視モードを解除して通常モードに移行する処理を行い、再送処理部1020は、データパケット送信先の隣接ノードからAckパケットを受信しない場合に、別の隣接ノードにデータパケットを再送する処理を行う。照合依頼パケット生成部1021は、監視モードにおいて照合依頼パケットを生成する。制御部1022は、タイマイベントにより動作し、モード処理部1019、再送処理部1020、又は照合依頼パケット生成部1021に対して必要な処理を依頼する。受信部1011は、図5の受信部512、522、及び532に対応し、複製通知パケット処理部1012は特定部515、525、及び535に対応する。照合依頼パケット処理部1013は照合部517、527、及び537に対応し、データパケット処理部1015は特定部515、525、及び535に対応する。送信部1017は送信部511、521、及び531に対応し、格納部1018は格納部513、523、及び533に対応する。再送処理部1020は生成部514、524、及び534に対応し、照合依頼パケット生成部1021は生成部516、526、及び536に対応する。図11は、ノード1001が行う通信処理の例を示すフローチャートであり、図12、図13、図14、及び図15は、それぞれ図11のステップ1110、1108、1107、及び1106の処理の例を示すフローチャートである。図11の通信処理は、例えば、タイマイベントとして一定時間間隔で開始される。まず、制御部1022は、タイマから現在時刻を取得して、現在時刻をデータ管理テーブル1033の各エントリに記録されたTTWと比較するステップ1101。現在時刻と一致するTTWを有するエントリがあればステップ1101,Yes、そのデータパケットの送信先からAckパケットを受信しておらず、Ack待ち時間が経過したことが分かる。そこで、制御部1022は、再送処理部1020にデータパケット再送処理を依頼するステップ1110。現在時刻と一致するTTWを有するエントリがなければステップ1101,No、制御部1022は、現在時刻をリンクテーブル1031の各エントリに記録されたTTW1と比較するステップ1102。現在時刻と一致するTTW1を有するエントリがあればステップ1102,Yes、原因ノードに通信履歴の照合を依頼する時刻であるため、照合依頼パケット生成部1021に照合依頼パケット送信処理を依頼するステップ1111。そして、照合依頼パケット生成部1021は、照合依頼パケットを生成し、送信部1017は、照合依頼パケットを原因ノードに送信する。現在時刻と一致するTTW1を有するエントリがなければステップ1102,No、制御部1022は、現在時刻をリンクテーブル1031の各エントリに記録されたTTW2と比較するステップ1103。現在時刻と一致するTTW2を有するエントリがあればステップ1103,Yes、監視モードを終了する時刻であるため、モード処理部1019に監視モードの解除を依頼するステップ1112。そして、モード処理部1019は、リンクテーブル1031を更新して監視モードを解除し、ノード1001は通常モードに移行する。現在時刻と一致するTTW2を有するエントリがなければステップ1103,No、制御部1022は処理を終了する。次に、受信部1011は、いずれかの隣接ノードからパケットを受信したか否かをチェックするステップ1104。パケットを受信していなければ、ステップ1101以降の処理を繰り返し、パケットを受信していれば、そのパケットの種別をチェックするステップ1105。パケットの種別が照合依頼パケットであれば、照合依頼パケット処理部1013に照合依頼パケット受信処理を依頼するステップ1106。パケットの種別が複製通知パケットであれば、複製通知パケット処理部1012に複製通知パケット受信処理を依頼するステップ1107。パケットの種別がデータパケットであれば、データパケット処理部1015にデータパケット受信処理を依頼するステップ1108。パケットの種別がAckパケットであれば、Ackパケット処理部1014にデータ管理テーブル1033の更新を依頼するステップ1109。そして、Ackパケット処理部1014は、データ管理テーブル1033から対応するデータパケットのエントリを削除する。ステップ1110~1112又は1106~1109の処理が終了すると、ステップ1101以降の処理が繰り返される。図12は、図11のステップ1110において再送処理部1020が行うデータパケット再送処理の例を示すフローチャートである。再送処理部1020は、データ管理テーブル1033を参照して、現在時刻と一致するTTWを有するエントリに記録された複数のLDの中に、未使用のLDがあるか否かをチェックするステップ1201。図16は、データ管理テーブル1033のエントリの例を示している。この例では、エントリに含まれる情報のうち、データパケットの送信時刻、GSのノードID、FID、TTW、及びLDの情報が示されている。LDの情報には、LD1~LD3の使用フラグ及びノードIDが含まれる。LD1~LD3は、ノード1001がLDとして使用可能な複数のノードに対応し、それらのノードIDはそれぞれh、p、及びqであり、使用フラグはそれぞれ論理1、0、及び0である。使用フラグが1のとき、対応するLDは使用済みであることを表し、使用フラグが0のとき、対応するLDは未使用であることを表す。図16では、LD1の使用フラグが1に設定されているため、ノードhに対してデータパケットを送信済みであることが分かる。ここで、現在時刻がTTWに記録された3600.9999になると、LD1~LD3の中に未使用のLDがあるか否かがチェックされる。未使用のLDがあればステップ1201,Yes、再送処理部1020は、そのうちの1つのLDを選択し、選択したLDの使用フラグを1に変更するステップ1202。次に、現在時刻にAck待ち時間を加算した時刻を、そのエントリのTTWに再設定するステップ1203。そして、そのエントリに対応する送信済みのデータパケットと同じデータを有するデータパケットを生成し、送信部1017に対して、選択したLDにデータパケットを再送するように依頼するステップ1204。送信部1017は、依頼されたデータパケットを依頼されたLDに送信する。例えば、図16のLD2が選択された場合、図17に示すように、LD2の使用フラグが1に変更され、ノードpに対してデータパケットが再送される。その後、図11のステップ1101において、現在時刻が再設定されたTTWと一致すると、LD3が再送先として選択される。そして、図18に示すように、LD3の使用フラグが1に変更され、ノードqに対してデータパケットが再送される。一方、現在時刻と一致するTTWを有するエントリに記録された複数のLDの中に、未使用のLDがなければステップ1201,No、再送処理部1020は、そのエントリをデータ管理テーブル1033から削除するステップ1205。図13は、図11のステップ1108においてデータパケット処理部1015が行うデータパケット受信処理の例を示すフローチャートである。データパケット処理部1015は、データ管理テーブル1033又は通信履歴テーブル1034を参照して、受信したデータパケットと同一のデータパケットが登録されているか否かをチェックするステップ1301。図19及び図20は、それぞれ図6のノード602ノードb及び605ノードeに格納されている通信履歴テーブル1034のエントリの例を示している。各ノードは、既に処理が終了した過去のn個のパケットの送受信記録を通信履歴テーブル1034に格納している。nは1以上の整数であり、あらかじめ設定してもよく、現在の通信状態に応じて設定してもよい。図19及び図20の例では、エントリに含まれる情報のうち、パケットの送受信時刻、GSのノードID、FID、LSのノードID、LDのノードID、パケット種別、及び処理種別が示されている。これらの通信履歴によれば、ノードbからノードeに送信されたFIDが1のデータパケットに対して、FIDが1のAckパケットがノードeからノードbに返信され、ノードeにより受信されていることが分かる。しかし、ノードbからノードeに送信されたFIDが2のデータパケットに対して返信されたAckパケットがノードeに到達しなかったため、ノードbからノードcにデータパケットが迂回転送されている。したがって、ノードbからノードeに送信されたFIDが2のデータパケットと、ノードbからノードcに迂回転送されたFIDが2のデータパケットは、同一のパケットとみなすことができる。図6に示したように、ノードeに送信されたデータパケットは、ノード606ノードfにより受信され、ノードcに迂回転送されたデータパケット複製パケット612もノードfにより受信される。ノードfでは、2つのデータパケットのうち先に受信した方のデータパケットが、通信履歴テーブル1034に先に登録される。そこで、後で受信した方のデータパケットのGS及びFIDを、通信履歴テーブル1034に登録されているデータパケットのGS及びFIDと比較することで、受信したデータパケットと同一のデータパケットが登録されているか否かをチェックすることができる。上述したように、データ管理テーブル1033には、通信履歴テーブル1034に記録されたデータパケットの通信履歴が記録される。したがって、通信履歴テーブル1034の代わりにデータ管理テーブル1033を用いた場合でも、受信したデータパケットと同一のデータパケットが登録されているか否かをチェックすることができる。図21は、ノードfに格納されているデータ管理テーブル1033のエントリの例を示している。この例では、エントリに含まれる情報のうち、データパケットの送受信時刻、GSのノードID、FID、及び経路が示されている。経路は、受信したデータパケットがGSからノードfに到達するまでに通過した1つ以上のノードのノードIDを、通過順に並べた情報である。例えば、FIDが2のデータパケットは、ノードaからノードb及びe経由でノードfに到達していることが分かる。この状態で、ノードfが図22に示すような複製パケット612をノードdから受信すると、データパケット処理部1015は、図21のデータ管理テーブル1033を参照して、複製パケット612と同一のデータパケットが登録されているか否かをチェックする。この例では、図22のGS及びFIDと同一のGS及びFIDを有するエントリが、図21のデータ管理テーブル1033に存在するため、同一のデータパケットが登録されていると判定される。データ管理テーブル1033又は通信履歴テーブル1034に同一のデータパケットが登録されていなければステップ1301,No、データパケット処理部1015は、Ackパケットの送信を送信部1017に依頼するステップ1302。送信部1017は、受信したデータパケットのLSにAckパケットを返信する。次に、データパケット処理部1015は、送信先のLDを選択して、そのデータパケットをデータ管理テーブル1033に登録しステップ1303、データパケットの送信を送信部1017に依頼するステップ1304。送信部1017は、選択されたLDにデータパケットを送信する。一方、同一のデータパケットが登録されていればステップ1301,Yes、データパケット処理部1015は、受信したデータパケットが既にノード1001を通過しているか否かをチェックするステップ1305。図22の複製パケット612の場合は、経路の最後にノードfが記録されており、それ以前にノードfを通過していないことが分かる。一方、図23に示すようなデータパケットの場合は、経路の3番目と最後にノードfが記録されており、既にノードfを通過していることが分かる。したがって、受信したデータパケットの経路を参照することで、ノード1001を通過しているか否かをチェックすることができる。データパケットが既にノード1001を通過していればステップ1305,Yes、ノード1001を通るループ経路が形成されているため、前回使用したLDを経路テーブル1035から削除するステップ1307。これにより、ループ経路へのパケット送出が禁止される。そして、データパケット処理部1015は、ステップ1302以降の処理を行って、別の経路へデータパケットを送出する。一方、データパケットがノード1001を通過していなければステップ1305,No、データ管理テーブル1033に登録されているデータパケットと受信したデータパケットの一方が他方の複製パケットであることが分かる。そこで、データ管理テーブル1033を参照して、複製パケットを生成した複製ノードを特定し、複製通知パケットの生成を複製通知パケット生成部1016に依頼するステップ1306。複製通知パケット生成部1016は、複製通知パケットを生成し、送信部1017は、複製通知パケットを複製ノード宛てに送信する。図21のFIDが2のデータパケットの経路と、図22の複製パケット612の経路を比較すると、図24のようになる。この場合、GSであるノードaからノードfに向かって、2つの経路の共通部分をチェックしていくと、ノードbが共通部分の最後のノードであり、このノードbで分岐していることが分かる。そこで、2つの経路の分岐点に位置するノードb分岐ノードが、複製ノードとして特定される。図25は、複製ノードbが特定された場合に送信される複製通知パケット613の例を示している。この例では、複製通知パケット613に、複製ノードのノードID、原因候補、GS、及びFIDが含まれている。原因候補は、複製パケット612の発生原因である原因ノードの候補候補ノードを表すノードIDである。ノードfでは、2つの同一のデータパケットのうちどちらが複製パケットであるかを特定することはできないため、図24の2つの経路のどちらのリンクに問題があるかは分からない。そこで、複製ノードbの次のノードであるノードe及びcの両方を、原因ノードの候補として複製通知パケット613に記述する。複製通知パケット613の送信には、通常のデータパケットの経路、又は複数の同一のデータパケットのうち最後のデータパケットを受信した経路が使用される。図14は、図11のステップ1107において複製通知パケット処理部1012が行う複製通知パケット受信処理の例を示すフローチャートである。複製通知パケット処理部1012は、通信履歴テーブル1034を参照して、複製パケットの発生原因である原因ノードを特定するステップ1401。複製通知パケットに原因候補が含まれている場合、通信履歴テーブル1034から、複数の候補ノードに対するデータ送信処理に対応する複数のエントリが抽出される。抽出されるデータ送信処理の処理種別には、送信及び迂回が含まれる。そして、抽出されたエントリのうち、最も早い送信時刻を有するエントリのLDが、原因ノードとして特定される。例えば、図25の複製通知パケット613を受信したノードbでは、図19の通信履歴テーブル1034から、候補ノードe及びcをLDとする2つのデータ送信処理のエントリが抽出される。この場合、候補ノードeをLDとするエントリの処理種別は送信であり、候補ノードcをLDとするエントリの処理種別は迂回である。そして、2つのエントリのうち、早い方の送信時刻を有するエントリのLDであるノードeが、原因ノードとして特定される。次に、複製通知パケット処理部1012は、リンクテーブル1031において原因ノードに対応するエントリの通知回数をカウントアップしステップ1402、通知回数を閾値と比較するステップ1403。通知回数が閾値を超えていればステップ1403,Yes、リンクテーブル1031の監視フラグを1に変更し、監視モードに移行するステップ1404。通知回数が閾値以下であればステップ1403,No、監視モードには移行しない。図26は、ノードbに格納されているリンクテーブル1031のエントリの例を示している。この例では、エントリに含まれる情報のうち、リンク、通知回数、監視フラグ、TTW1、及びTTW2が示されている。リンクは、ノード1001と隣接ノードの間のリンクの識別情報である。リンクの識別情報としては、例えば、対応する隣接ノードのノードIDが用いられる。通知回数は、複製通知パケットを受信してその隣接ノードを原因ノードとして特定した回数であり、監視フラグは、そのリンクを監視する監視モードへ移行したか否かを表す。監視フラグが1のとき、監視モードを表し、監視フラグが0のとき、通常モードを表す。ノードbは、ノードeを原因候補に含む複製通知パケットを受信してノードeを原因ノードとして特定する度に、リンクeの通知回数を1だけインクリメントする。通知回数の閾値が1である場合、インクリメントされた通知回数が2になると、リンクeの監視フラグを1に変更し、リンクeの監視モードに移行する。このとき、TTW1には、現在時刻に照合間隔を加算した時刻が設定され、TTW2には、現在時刻に監視モード継続時間を加算した時刻が設定される。照合間隔は、通信ネットワークにおけるAckパケットの送信成功率が変化する速度が大きいほど、照合間隔が小さくなるように設定される。これにより、通信状態が大きく変化している場合に照合回数を増加させて、高い精度で応答方法を制御することが可能になる。その後、図11のステップ1102において現在時刻が設定されたTTW1と一致すると、図9に示したように、送信部1017が原因ノードeに照合依頼パケット901を送信する。照合依頼パケット901には、複製ノードbと原因ノードeの間の通信履歴が含まれる。図27は、照合依頼パケット901に含まれる通信履歴の例を示している。この例では、図19の通信履歴テーブル1034に含まれるエントリのうち、LS又はLDとしてノードeを含むエントリが抽出され、照合依頼パケット901に含まれている。照合依頼パケット901には、過去のm個のパケットの送受信記録が含まれている。mは1以上の整数であり、通信ネットワークの伝播環境が変化する速度に応じてあらかじめ設定してもよく、現在の通信状態に応じて設定してもよい。照合依頼パケット901としては、既存のHelloパケットを用いることも可能である。この場合、Helloパケットに通信履歴が追加される。ただし、Helloパケットの送信間隔はデータパケットの送信間隔よりも短いので、複数回に1回だけHelloパケットに通信履歴を追加することで、照合間隔を調整することが好ましい。図15は、図11のステップ1106において照合依頼パケット処理部1013が行う照合依頼パケット受信処理の例を示すフローチャートである。照合依頼パケット処理部1013は、受信した照合依頼パケットに含まれる通信履歴と通信履歴テーブル1034とを照合し、照合依頼パケットに含まれる通信履歴から、依頼元である複製ノードにおけるAckパケットの受信回数を抽出するステップ1501。次に、通信履歴テーブル1034から、同じ期間におけるノード1001でのAckパケットの送信回数を抽出するステップ1502。そして、抽出した受信回数及び送信回数からAckパケットの送信成功率を計算しステップ1503、得られた送信成功率を閾値と比較するステップ1504。送信成功率が閾値より小さければステップ1504,No、複製ノードからデータパケットを受信したときの応答方法を変更するステップ1505。送信成功率が閾値以上であればステップ1504,Yes、応答方法を変更しない。ステップ1505において応答方法が変更された場合は、変更後の応答方法が複製ノードに通知される。この通知を受けた複製ノードは、現在時刻に照合間隔を加算した時刻をリンクテーブル1031のTTW1に再設定する。例えば、図26のリンクテーブル1031は、図28のように更新される。その後、複製ノードにおいて、図11のステップ1102で再びリンクテーブル1031が参照され、現在時刻が再設定されたTTW1と一致すると、再びステップ1111の照合依頼パケット送信処理が行われる。図9の照合依頼パケット901を受信したノードeでは、照合依頼パケット901に含まれる図27の通信履歴と、図20の通信履歴テーブル1034とが照合される。そして、図27の通信履歴から、ノードbにおけるAckパケットの受信回数が1回であることが認識され、図20の通信履歴テーブル1034から、ノードeにおけるAckパケットの送信回数が2回であることが認識される。そこで、ノードbにおけるAckパケットの受信回数を、ノードeにおけるAckパケットの送信回数で除算することで、Ackパケットの送信成功率として0.5が得られる。このAckパケットの送信成功率は、図20の通信履歴テーブル1034に含まれるAckパケットの数に対する、図27の通信履歴に含まれるAckパケットの数の割合を表す。送信成功率の閾値としては、例えば、0.5~1.0の範囲の実数が用いられる。このとき、Ack送信評価テーブル1032には、図29に示すようなエントリが格納される。図29のノードは、Ackパケットの送信先である複製ノードのノードIDを表し、Ack送信成功率は、ノードeからノードbへ送信されたAckパケットの送信成功率を表す。送信成功率の閾値が0.7である場合、Ack送信成功率が閾値より小さいため、応答方法が変更される。このような照合依頼パケット受信処理によれば、監視対象のリンクの両側のノードにおける通信履歴を照合することで、輻輳時におけるAckパケットの送信成功率を正確に計算することができる。また、比較的容量の大きな通信履歴を全ノード間で交換するのではなく、監視対象のリンク上のみに限定して送信するため、監視に伴う通信ネットワークに対する負荷を最小限に抑えることができる。データパケットの送受信が行われない期間に、通信履歴を含む照合依頼パケットを送信するようにすれば、通信ネットワークに対する負荷はさらに軽減される。図15の照合依頼パケット受信処理では、Ackパケットの送信成功率のみに基づいて応答方法を変更しているが、他の条件も考慮して応答方法を変更してもよい。例えば、Ackパケットの送信成功率に加えて、データパケットの受信成功率を用いることができる。この場合、照合依頼パケット処理部1013は、ステップ1501において、照合依頼パケットに含まれる通信履歴から、複製ノードにおけるAckパケットの受信回数とデータパケットの送信回数を抽出する。また、ステップ1502において、通信履歴テーブル1034から、ノード1001におけるAckパケットの送信回数とデータパケットの受信回数を抽出する。そして、ステップ1503において、Ackパケットの送信成功率とデータパケットの受信成功率を計算し、ステップ1504において、Ackパケットの送信成功率を閾値T1と比較し、データパケットの受信成功率を閾値T2と比較する。Ackパケットの送信成功率がT1より小さく、かつ、データパケットの受信成功率がT2より大きければ、応答方法を変更する。この場合、Ackパケットの送信成功率だけが小さいため、応答方法に起因して複製パケットが発生していると考えられる。一方、Ackパケットの送信成功率がT1以上であるか、又は、データパケットの受信成功率がT2以下であれば、応答方法を変更しない。データパケットの受信成功率が小さい場合は、応答方法には問題がなく、他の要因により複製パケットが発生していると考えられる。例えば、図27の通信履歴からは、ノードbにおけるデータパケットの送信回数が2回であることが認識され、図20の通信履歴テーブル1034からは、ノードeにおけるデータパケットの受信回数が2回であることが認識される。そこで、ノードeにおけるデータパケットの受信回数を、ノードbにおけるデータパケットの送信回数で除算することで、データパケットの受信成功率として1.0が得られる。このデータパケットの受信成功率は、図27の通信履歴に含まれるデータパケットの数に対する、図20の通信履歴テーブル1034に含まれるデータパケットの数の割合を表す。閾値T1及びT2としては、例えば、0.5~1.0の範囲の実数が用いられる。このとき、Ack送信評価テーブル1032には、図30に示すようなエントリが格納される。図30のデータ受信成功率は、ノードbからノードeへ送信されたデータパケットの受信成功率を表す。T1=T2=0.7とすると、Ack送信成功率がT1より小さく、かつ、データ受信成功率がT2より大きいため、応答方法が変更される。原因ノードにおける変更後の応答方法としては、以下のような方法が考えられる。1Ackパケットの送信を多重化する方法この方法では、原因ノードeから複製ノードbへAckパケットが複数回返信される。これにより、Ackパケットの到達性が向上し、データパケットの複製が抑止される。例えば、ノードeからノードbへのAckパケットの送信回数を2回に変更した場合、図31に示すように、ノードbからノードeへデータパケット3101が送信された後、ノードeからノードbへ1回目のAckパケット3102が返信される。続いて、2回目のAckパケット3103が返信される。この場合、多重化されたAckパケットは個別に送信回数及び受信回数がカウントされる。これにより、多重化によりAckパケットの到達性が向上している場合でも、それとは別に個々のAckパケットの送信成功率を評価することができる。例えば、輻輳状態が続く場合は、Ackパケットの送信成功率が小さいままなので、多重化が継続される。そして、輻輳状態が解消してAckパケットの送信成功率が閾値以上になれば、監視モードを解除してもよい。監視モードが解除された後は、Ackパケットの送信を多重化しない応答方法に戻る。2Ackパケットの送信確認を行う方法この方法では、図32に示すように、複製ノードbから原因ノードeへデータパケット3201が送信された後、ノードeからノードbへ第1のAckパケット3202が返信される。続いて、ノードbからノードeへ、第1のAckパケット3202を受信したことを示す第2のAckパケット3203が返信される。ここで、ノードeが第2のAckパケット3203を受信しなければ、第2のAckパケット3203を受信するまで、ノードeからノードbへ第1のAckパケットが繰り返し送信される。これにより、第1のAckパケットの到達性が向上し、データパケットの複製が抑止される。第1のAckパケットの繰り返し送信回数を記録し、繰り返し送信回数が閾値より小さくなった時点で、監視モードを解除してもよい。監視モードが解除された後は、Ackパケットの送信確認を行わない応答方法に戻る。3Ackパケットの送信電力を調整する方法この方法では、図33に示すように、複製ノードbから原因ノードeへデータパケット3301が送信された後、Ackパケットの送信電力を増加させて、ノードeからノードbへAckパケット3302が返信される。これにより、Ackパケットの到達性が向上し、データパケットの複製が抑止される。その後、Ackパケットの送信成功率が閾値以上になれば、監視モードを解除してもよい。監視モードが解除された後は、Ackパケットの送信電力を減少させる。変更後の応答方法として、上記1のAckパケットの送信を多重化する方法を採用した場合、照合依頼パケット処理部1013は、例えば、以下のようにしてAckパケットの送信を多重化する。照合依頼パケット処理部1013は、まず、図15のステップ1503で計算されたAckパケットの送信成功率をar、送信成功率の閾値をr0として、次式を満たす最小の整数kを求める。1-1-ark>r01式1の左辺のkは、k乗演算を表す。例えば、ar=0.5、r0=0.7とするとk=2となり、ar=0.5、r0=0.8とするとk=3となる。照合依頼パケット処理部1013は、得られたkをAckパケットの多重度として用い、データパケットを受信する度にAckパケットをk回返信するように、応答方法を変更する。式1以外の他の条件に基づいて多重度kを求めてもよい。このような多重化方法によれば、輻輳によりリンク品質が実際に低下している区間及び期間だけでAckパケットが多重化される。このため、通信ネットワーク全体で定常的にAckパケットを多重化する方法と比べると、多重化が不要な区間及び期間のAckパケットが削減され、通信ネットワークの負担を軽減することができる。上記2のAckパケットの送信確認を行う方法を採用した場合であっても、特定の区間及び期間だけでAckパケットの繰り返し送信が行われる。このため、通信ネットワーク全体で定常的にAckパケットの送信確認を行う方法と比べると、通信ネットワークの負担を軽減することができる。上記3のAckパケットの送信電力を調整する方法を採用した場合であっても、特定の区間及び期間だけでAckパケットの送信電力が増加する。このため、通信ネットワーク全体で定常的にAckパケットの送信電力を増加する方法と比べると、通信ネットワークの消費電力を軽減することができる。また、複製パケットを生成した複製ノードをリアルタイムで特定して、原因ノードから複製ノードへのAckパケットの送信成功率を向上させることで、複製パケットの発生を確実に抑止することができる。したがって、通信ネットワークにおける輻輳の悪化を早い段階で抑えることができ、通信ネットワーク全体で最適な応答方法を設定するためのシミュレーションは不要になる。さらに、図14のステップ1403における通知回数の閾値を変更することで、監視モードの処理を適切に調整することができる。例えば、閾値を大きくすれば、監視モードに移行する頻度及び区間を削減することができ、通信ネットワークの負担が軽減される。また、閾値を小さくすれば、監視モードに移行する頻度及び区間を増加させることができ、複製パケットの発生が確実に抑止される。特に、閾値を0に設定した場合、複製パケットが検知される度に、複製通知パケットを受信した複製ノードが監視モードに移行し、Ackパケットの送信成功率が評価される。これにより、応答方法を変更して複製パケットの発生を抑止することができる。なお、図11~図15の通信処理において、必ずしもすべてのステップを実行する必要はなく、通信ネットワークの構成や条件に応じて一部のステップを省略することも可能である。例えば、ループ経路が形成される可能性が低い場合は、図13のステップ1305及び1307の処理を省略してもよい。また、図14のステップ1401において原因ノードを特定した後直ちに監視モードに移行する場合は、ステップ1402及び1403の処理を省略してもよい。図5のノード501~503及び図10のノード1001は、例えば、図34に示すような情報処理装置コンピュータを用いて実現可能である。図34の情報処理装置は、CentralProcessingUnitCPU3401、メモリ3402、外部記憶装置3403、媒体駆動装置3404、及びネットワーク接続装置3405を含む。これらはバス3406により互いに接続されている。メモリ3402は、例えば、ReadOnlyMemoryROM、RandomAccessMemoryRAM、フラッシュメモリ等の半導体メモリであり、通信処理に用いられるプログラム及びデータを格納する。例えば、CPU3401は、メモリ3402を利用してプログラムを実行することにより、通信処理を行う。メモリ3402は、図5の格納部513、523、533、又は図10の格納部1018としても使用できる。外部記憶装置3403は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記憶装置3403には、ハードディスクドライブも含まれる。情報処理装置は、この外部記憶装置3403にプログラム及びデータを格納しておき、それらをメモリ3402にロードして使用することができる。媒体駆動装置3404は、可搬型記録媒体3407を駆動し、その記録内容にアクセスする。可搬型記録媒体3407は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体3407には、CompactDiskReadOnlyMemoryCD-ROM、DigitalVersatileDiskDVD、UniversalSerialBusUSBメモリ等も含まれる。オペレータは、この可搬型記録媒体3407にプログラム及びデータを格納しておき、それらをメモリ3402にロードして使用することができる。このように、通信処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ3402、外部記憶装置3403、及び可搬型記録媒体3407のような、物理的な非一時的な記録媒体が含まれる。ネットワーク接続装置3405は、無線又は有線の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置3405を介して受け取り、それらをメモリ3402にロードして使用することができる。ネットワーク接続装置3405は、図5の送信部511、521、531、受信部512、522、532、図10の受信部1011又は送信部1017としても使用できる。開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。"