JP5614493B2 - 複数のノードを含むネットワーク中のノード - Google Patents

複数のノードを含むネットワーク中のノード Download PDF

Info

Publication number
JP5614493B2
JP5614493B2 JP2013506931A JP2013506931A JP5614493B2 JP 5614493 B2 JP5614493 B2 JP 5614493B2 JP 2013506931 A JP2013506931 A JP 2013506931A JP 2013506931 A JP2013506931 A JP 2013506931A JP 5614493 B2 JP5614493 B2 JP 5614493B2
Authority
JP
Japan
Prior art keywords
node
data
packet
nodes
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013506931A
Other languages
English (en)
Other versions
JPWO2012131924A1 (ja
Inventor
潤 伊吹
潤 伊吹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012131924A1 publication Critical patent/JPWO2012131924A1/ja
Application granted granted Critical
Publication of JP5614493B2 publication Critical patent/JP5614493B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1825Adaptation of specific ARQ protocol parameters according to transmission conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1896ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、複数のノードを含むネットワーク中のノードに関する。
アドホックネットワークのように、パケットの転送経路として複数の選択肢を持つ通信ネットワークにおいて、最初に選択された最適経路に沿ったパケット中継が失敗すると、別の経路へのパケット転送が行われる。
例えば、図1のような通信ネットワークにおいて、ノード101からノード105宛てにデータパケットを転送する場合、ノード102、103、及び104のそれぞれを経由する3つの転送経路が存在する。まず、ノード102を経由する転送経路が選択され、ノード101からノード102へのパケット送信が失敗すると、次に、ノード103を経由する転送経路が選択され、ノード101からノード103へデータパケットが迂回転送される。
しかし、ノード101からノード103へのパケット送信も失敗すると、次に、ノード104を経由する転送経路が選択され、ノード101からノード104へデータパケットが迂回転送される。そして、ノード101からノード104へのパケット送信が成功すると、ノード104からノード105へデータパケットが送信され、ノード105にデータパケットが到達する。
このように、通信ネットワークに迂回転送機能を実装することで、経路データと通信ネットワークの実態との間にずれがあっても、転送先にデータパケットが到達する可能性を高めることができる。
しかしながら、通信ネットワークの輻輳時に迂回転送機能が輻輳を悪化させる方向に働く場合がある。例えば、図2のような通信ネットワークにおいて、ノード201からノード206宛てにデータパケットを転送する場合、ノード202とノード206の間には、ノード205を経由する転送経路と、ノード203及び204を経由する転送経路が存在する。
まず、ノード205を経由する転送経路が選択され、ノード202からノード205へデータパケットが送信されると、ノード205からノード202へ確認応答(Ack)パケット211が返信される。そして、ノード205からノード206へデータパケットが送信され、ノード206にデータパケットが到達する。
ここで、Ackパケット211の返信が輻輳により阻害されると、Ackパケット211がノード202に到達しないため、ノード202から、同一のデータパケットが複製パケット212として、ノード203及び204を経由する転送経路へ迂回転送される。そして、ノード204からノード206へ複製パケット212が送信され、ノード206に複製パケット212が到達する。ノード206では、同一のデータパケットを複数回受信しても問題はないが、多数の複製パケットが繰り返し発生すると、通信ネットワークの輻輳がさらに悪化してしまう。
そこで、データパケットの複製を抑止するために、以下のようなAckの送信方法が提案されている。
(1)Ackの送信を多重化する方法
この方法では、送信ノードから受信ノードへデータパケットが送信されると、受信ノードから送信ノードへAckパケットが複数回返信される。これにより、Ackパケットの到達性が向上し、データパケットの複製が抑止される。
(2)Ackの送信確認を行う方法
この方法では、送信ノードから受信ノードへデータパケットが送信されると、受信ノードから送信ノードへ第1のAckパケットが返信され、続いて、送信ノードから受信ノードへ、第1のAckパケットを受信したことを示す第2のAckパケットが返信される。ここで、受信ノードが第2のAckパケットを受信しなければ、受信ノードから送信ノードへ第1のAckパケットが再送される。これにより、第1のAckパケットの到達性が向上し、データパケットの複製が抑止される。
(3)Ackの送信電力を調整する方法
この方法では、送信ノードから受信ノードへデータパケットが送信されると、Ackパケットの送信電力を増加させて、受信ノードから送信ノードへAckパケットが返信される。これにより、Ackパケットの到達性が向上し、データパケットの複製が抑止される。
通信ネットワークの輻輳を検知するために、通信ネットワークに含まれるノード間の送信成功率を計算することでリンク品質を評価する方法が知られている。ただし、データパケットやAckパケットの送信は不定期に行われるため、送信回数や送信タイミングを把握していなければ、受信ノードにおける測定のみで送信の成否を判断するのは難しい。そこで、定期的に送信されるHelloパケットの到達周期の揺れに基づいて送信成功率が計算される。
例えば、1つのノードにおいて1回目〜9回目のHelloパケットの受信間隔を測定し、図3に示すような測定結果が得られた場合を考える。この例では、2回目及び5回目の受信間隔がそれぞれ2T及び3Tとなっており、他の受信間隔より長いことが分かる。この場合、送信失敗によるHelloパケットの抜けに起因して受信間隔が長くなると考えられるため、受信間隔の測定結果に基づいて送信成功率を計算することができる。
無線データ通信システムにおいて、送信装置が送信時刻と送信内容とを記録し、受信装置が受信時刻と受信内容とを記録しておき、通信に不具合があったときに記録内容を解析して送信装置及び受信装置が正常に動作していたか否かを解析する技術も知られている。
移動通信ネットワークにおいて、送信ノードが定期的に測定用のパケット列を送信し、受信ノードがパケット遅延の測定値を送信ノードに送信することで、各経路の状態情報を更新する技術も知られている。
モバイルアドホックネットワークにおいて、パケット誤り率に基づいてリンク品質を測定し、測定結果に基づいて経路を決定する技術も知られている。
特開平9−284236号公報 特開2005−210671号公報 特開2005−535235号公報
上述した従来の通信ネットワークにおいて受信ノードがデータを受信した場合の送信ノードに対する応答方法には、以下のような問題がある。
通信ネットワークの容量減少と、複製パケットによる輻輳の悪化を考慮して、上記(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の態様によれば、複製データが検知されたときに複製ノードが特定されるため、複製ノードから原因ノードに通信履歴の照合を依頼することができ、複製データの発生が確実に抑止される。また、通信ネットワークの全ノード間で通信履歴を交換するのではなく、複製ノードから原因ノードに通信履歴を送信するだけで済むため、通信ネットワークにはあまり負担がかからない。
第1の通信ネットワークを示す図である。 第2の通信ネットワークを示す図である。 Helloパケットの受信間隔を示す図である。 Helloパケット及びデータパケットのデータ量の時間変化を示す図である。 通信システムの構成図である。 第3の通信ネットワークを示す図である。 通常モードにおける動作のフローチャートである。 監視モードにおける動作のフローチャートである。 照合依頼パケットの送信を示すである。 ノードの構成図である。 通信処理のフローチャートである。 データパケット再送処理のフローチャートである。 データパケット受信処理のフローチャートである。 複製通知パケット受信処理のフローチャートである。 照合依頼パケット受信処理のフローチャートである。 第1のデータ管理テーブルを示す図である。 第2のデータ管理テーブルを示す図である。 第3のデータ管理テーブルを示す図である。 第1の通信履歴テーブルを示す図である。 第2の通信履歴テーブルを示す図である。 第4のデータ管理テーブルを示す図である。 第1のデータパケットを示す図である。 第2のデータパケットを示す図である。 経路の比較を示す図である。 複製通知パケットを示す図である。 第1のリンクテーブルを示す図である。 照合依頼パケットに含まれる通信履歴を示す図である。 第2のリンクテーブルを示す図である。 第1のAck送信評価テーブルを示す図である。 第2のAck送信評価テーブルを示す図である。 Ackパケットの送信を多重化する方法を示す図である。 Ackパケットの送信確認を行う方法を示す図である。 Ackパケットの送信電力を調整する方法を示す図である。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
図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、フレームID(FID)、ローカルソースノード(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より大きいため、応答方法が変更される。
原因ノードにおける変更後の応答方法としては、以下のような方法が考えられる。
(1)Ackパケットの送信を多重化する方法
この方法では、原因ノード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パケットの送信を多重化しない応答方法に戻る。
(2)Ackパケットの送信確認を行う方法
この方法では、図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パケットの送信確認を行わない応答方法に戻る。
(3)Ackパケットの送信電力を調整する方法
この方法では、図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−ar)**k)>r0 (1)
式(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の情報処理装置は、Central Processing Unit (CPU)3401、メモリ3402、外部記憶装置3403、媒体駆動装置3404、及びネットワーク接続装置3405を含む。これらはバス3406により互いに接続されている。
メモリ3402は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、通信処理に用いられるプログラム及びデータを格納する。例えば、CPU3401は、メモリ3402を利用してプログラムを実行することにより、通信処理を行う。メモリ3402は、図5の格納部513、523、533、又は図10の格納部1018としても使用できる。
外部記憶装置3403は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記憶装置3403には、ハードディスクドライブも含まれる。情報処理装置は、この外部記憶装置3403にプログラム及びデータを格納しておき、それらをメモリ3402にロードして使用することができる。
媒体駆動装置3404は、可搬型記録媒体3407を駆動し、その記録内容にアクセスする。可搬型記録媒体3407は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体3407には、Compact Disk Read Only
Memory (CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等も含まれる。オペレータは、この可搬型記録媒体3407にプログラム及びデータを格納しておき、それらをメモリ3402にロードして使用することができる。
このように、通信処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ3402、外部記憶装置3403、及び可搬型記録媒体3407のような、物理的な(非一時的な)記録媒体が含まれる。
ネットワーク接続装置3405は、無線又は有線の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置3405を介して受け取り、それらをメモリ3402にロードして使用することができる。ネットワーク接続装置3405は、図5の送信部511、521、531、受信部512、522、532、図10の受信部1011又は送信部1017としても使用できる。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。

Claims (9)

  1. 複数のノードを含むネットワーク中のノードであって、
    他のノードに対してデータを送信する送信部と、
    他のノードからのデータを受信する受信部と、
    複数の他のノードと自ノードとの間の通信履歴を格納する格納部と、
    前記複数の他のノードのうちの第1のノードに送信したデータに対する確認応答を該第1のノードから受信しない場合に、該送信したデータの複製データを生成する第1の生成部と、
    前記複数の他のノードのうちの第2のノードに送信した前記複製データを検知したことを示す複製通知を前記複数の他のノードのうちの1つから受信したとき、前記通信履歴を参照し、前記複製データの発生原因として前記第1のノードを特定する特定部と、
    前記第1のノードと前記自ノードとの間の通信履歴を含み、該第1のノードに対して該通信履歴の照合を依頼する照合依頼を生成する第2の生成部と
    を備えることを特徴とするノード。
  2. 前記複製通知は、前記複製データの発生原因として複数の候補ノードの識別情報を含み、前記特定部は、前記複数の他のノードと前記自ノードとの間の通信履歴に含まれる、該複数の候補ノードに対する複数のデータ送信処理のうち最も早いデータ送信処理の送信先を、前記第1のノードとして特定することを特徴とする請求項1記載のノード。
  3. 前記特定部は、前記複製通知を受信して前記第1のノードを特定した回数が閾値を超えたとき、前記照合依頼の送信を前記送信部に指示することを特徴とする請求項1又は2記載のノード。
  4. 複数のノードを含むネットワーク中のノードであって、
    複数の他のノードと自ノードとの間の通信履歴を格納する格納部と、
    受信したデータに対する確認応答を送信する送信部と、
    前記複数の他のノードのうち、前記自ノードに送信したデータに対する確認応答を該自ノードから受信しない場合に該送信したデータの複製データを生成する複製ノードから、該複製ノードと該自ノードとの間の第1の通信履歴を含み、該第1の通信履歴の照合を依頼する照合依頼を受信する受信部と、
    前記照合依頼を受信したとき、該照合依頼に含まれる前記第1の通信履歴と、前記格納部に格納された前記複製ノードと前記自ノードとの間の第2の通信履歴とを照合し、前記複製ノードが前記自ノードに送信したデータに対する前記確認応答を該自ノードから受信していない場合に、該複製ノードに対する応答方法を変更する照合部と
    を備えることを特徴とするノード。
  5. 前記照合部は、前記第2の通信履歴に含まれる前記確認応答の数に対する、前記第1の通信履歴に含まれる前記確認応答の数の割合が、閾値より小さい場合に、前記応答方法を変更することを特徴とする請求項4記載のノード。
  6. 前記照合部は、前記応答方法を、前記複製ノードから受信したデータに対する確認応答の送信回数を増加させる第1の方法、前記複製ノードから受信したデータに対する確認応答の送信電力を増加させる第2の方法、又は前記複製ノードから受信したデータに対する確認応答に対する確認応答を前記複製ノードから受信する第3の方法のいずれかに変更することを特徴とする請求項4又は5記載のノード。
  7. 複数のノードを含むネットワーク中のノードであって、
    複数の他のノードと自ノードとの間の通信履歴を格納する格納部と、
    前記複数の他のノードのうちの第1のノードから第1のデータを受信する受信部と、
    前記第1のデータを受信したとき、前記通信履歴を参照して、該第1のデータと、前記複数の他のノードのうちの第2のノードから受信した第2のデータの一方が他方の複製データであるか否かをチェックし、一方が他方の複製データである場合に、該複製データを生成した複製ノードを特定する特定部と、
    前記複製データを検知したことを示す複製通知を前記複製ノードに送信する送信部と
    を備えることを特徴とするノード。
  8. 前記通信履歴は、前記第2のデータが通過した経路を示す情報を含み、前記特定部は、前記第1のデータが通過した経路と該第2のデータが通過した経路の共通部分に含まれる最後のノードを、前記複製ノードとして特定することを特徴とする請求項7記載のノード。
  9. 前記特定部は、前記第1のデータが通過した経路に含まれる前記最後のノードの次のノードと、前記第2のデータが通過した経路に含まれる前記最後のノードの次のノードとを、前記複製データの発生原因として特定し、前記送信部は、特定された2つのノードの識別情報を含む前記複製通知を前記複製ノードに送信することを特徴とする請求項8記載のノード。
JP2013506931A 2011-03-29 2011-03-29 複数のノードを含むネットワーク中のノード Expired - Fee Related JP5614493B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/057915 WO2012131924A1 (ja) 2011-03-29 2011-03-29 複数のノードを含むネットワーク中のノード

Publications (2)

Publication Number Publication Date
JPWO2012131924A1 JPWO2012131924A1 (ja) 2014-07-24
JP5614493B2 true JP5614493B2 (ja) 2014-10-29

Family

ID=46929750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013506931A Expired - Fee Related JP5614493B2 (ja) 2011-03-29 2011-03-29 複数のノードを含むネットワーク中のノード

Country Status (3)

Country Link
US (3) US9282042B2 (ja)
JP (1) JP5614493B2 (ja)
WO (1) WO2012131924A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6136830B2 (ja) * 2013-10-04 2017-05-31 富士通株式会社 干渉源の位置推定装置,位置推定方法及びプログラム
JP6684079B2 (ja) 2015-11-17 2020-04-22 キヤノン株式会社 通信装置、制御方法、及びプログラム
WO2018052348A1 (en) * 2016-09-15 2018-03-22 Telefonaktiebolaget Lm Ericsson (Publ) Methods, first transmit device and relay device for supporting wireless communication
US10904135B2 (en) * 2018-07-13 2021-01-26 Nokia Technologies Oy Method and apparatus for increasing reliability of packet delivery by dynamic packet cloning and route selection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204336A (ja) * 2002-01-08 2003-07-18 Fuji Electric Co Ltd 無線通信ネットワークシステム、無線端末、無線通信方法およびプログラム
JP2006262357A (ja) * 2005-03-18 2006-09-28 Mitsubishi Electric Corp 無線通信装置および通信端末
JP2007509571A (ja) * 2003-10-20 2007-04-12 ソニー・コンピュータ・エンタテインメント・アメリカ・インク ピアツーピアリレーネットワークにおける冗長リスト

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2704142B2 (ja) 1995-07-21 1998-01-26 静岡日本電気株式会社 Lanアダプタ
JP3674141B2 (ja) 1996-04-17 2005-07-20 松下電器産業株式会社 無線データ通信システム
US6381241B1 (en) * 1997-09-30 2002-04-30 Wireless Access Duplicate message detection and mending of garbled messages
FI112753B (fi) * 2000-04-10 2003-12-31 Nokia Corp Menetelmä ja järjestely synkronoinnin säilyttämiseksi tiedonsiirtoyhteyden resetoinnin yhteydessä
US6934256B1 (en) 2001-01-25 2005-08-23 Cisco Technology, Inc. Method of detecting non-responsive network flows
US6894985B2 (en) 2002-08-05 2005-05-17 Harris Corporation Monitoring link quality in a mobile ad hoc network
JP4000479B2 (ja) 2003-05-22 2007-10-31 日本電気株式会社 データ通信システム、通信装置、及びその通信プログラム
JP2005045409A (ja) 2003-07-24 2005-02-17 Pioneer Electronic Corp 情報処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
JP2005102104A (ja) 2003-09-02 2005-04-14 Nippon Telegr & Teleph Corp <Ntt> Ipマルチキャスト配信システムとそのレート制御方法、およびそのプログラムと記録媒体
EP1791285A1 (en) * 2005-11-29 2007-05-30 Alcatel Lucent Hybrid ARQ apparatus and corresponding method, wherein the FEC redundancy is adapted based on the number of retransmissions of a packet
KR100792281B1 (ko) * 2005-12-16 2008-01-07 삼성전자주식회사 네트워크 id 충돌 탐지 및 충돌 해결방법
CN101356847B (zh) * 2006-01-09 2012-07-11 艾利森电话股份有限公司 与移动通信内的切换相关的节点和方法
US8793383B2 (en) * 2006-08-01 2014-07-29 At&T Mobility Ii Llc Transparent transfer of a two-way communication
CN101999237B (zh) * 2008-04-11 2013-07-24 日本电气株式会社 移动历史查阅***、移动信息登记服务器、信息收集服务器、移动历史查阅方法和程序
US8458148B2 (en) * 2009-09-22 2013-06-04 Oracle International Corporation Data governance manager for master data management hubs
US8332440B2 (en) * 2010-10-20 2012-12-11 Microsoft Corporation Automatically creating data hierarchy in CRM applications based on imported contact data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204336A (ja) * 2002-01-08 2003-07-18 Fuji Electric Co Ltd 無線通信ネットワークシステム、無線端末、無線通信方法およびプログラム
JP2007509571A (ja) * 2003-10-20 2007-04-12 ソニー・コンピュータ・エンタテインメント・アメリカ・インク ピアツーピアリレーネットワークにおける冗長リスト
JP2006262357A (ja) * 2005-03-18 2006-09-28 Mitsubishi Electric Corp 無線通信装置および通信端末

Also Published As

Publication number Publication date
US9680752B2 (en) 2017-06-13
US20140022908A1 (en) 2014-01-23
US9282042B2 (en) 2016-03-08
JPWO2012131924A1 (ja) 2014-07-24
US20160112321A1 (en) 2016-04-21
WO2012131924A1 (ja) 2012-10-04
US9705797B2 (en) 2017-07-11
US20160112320A1 (en) 2016-04-21

Similar Documents

Publication Publication Date Title
JP5629020B2 (ja) リンク品質に基づく通信の経路制御
US8792360B2 (en) Duplicate packet suppression
JP4780343B2 (ja) 通信方法、通信システム、ノードおよびプログラム
EP2104280B1 (en) Network Routing Using A Retransmissioin-Time-Based Link Metric
JP7048461B2 (ja) データ管理装置、データ管理方法、無線通信装置、無線通信方法、無線マルチホップネットワーク及びコンピュータプログラム
JP5614493B2 (ja) 複数のノードを含むネットワーク中のノード
JP2016201794A (ja) 故障検出装置、方法及びシステム
JP5376068B2 (ja) 無線通信装置および無線ネットワークにおける迂回経路探索方法
JP6623137B2 (ja) 通信装置、コンピュータプログラムおよび無線通信システム
JP2014217062A (ja) リンク故障診断装置及び方法
JP5533168B2 (ja) ノード及び無線通信システム
JP6098322B2 (ja) パケット転送方法、ノード装置およびプログラム
JPWO2008108231A1 (ja) 品質劣化箇所推定方法、品質劣化箇所推定装置およびプログラム
JP4507083B2 (ja) 分散型ネットワークの情報集約方式
US20170078946A1 (en) Adaptive unicast timeout for a wireless network having optimized routing
JP5702255B2 (ja) アドホックネットワーク通信端末およびアドホックネットワーク通信端末の制御方法
JP5687972B2 (ja) 障害リンク特定システムおよびその監視経路設定方法
CN111756645B (zh) 基于区块链安全属性的自组网弹性传输控制方法
JP6630243B2 (ja) 通信診断システム及び通信診断方法
Li et al. A real-time routing protocol for (m, k)-firm streams in wireless sensor networks
Chen Minimizing age of information for semi-periodic arrivals of multiple packets
JP2019047421A (ja) 通信機器
JP2013017136A (ja) 通信端末および通信システムにおける障害検出方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140825

R150 Certificate of patent or registration of utility model

Ref document number: 5614493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees