(57)【要約】【課題】自律的にタイムアウト値および再送回数の設定が可能な中継端末を得ること。【解決手段】データを送信する送信端末、データの宛先となる受信端末、および、送信端末と受信端末の間でデータの中継を行う複数の中継端末から構成されるアドホックネットワークにおける前記中継端末であって、前記送信端末から前記受信端末までの各端末のトポロジィ情報を管理するルーティング管理部２０と、受信したデータに対して所定の符号化関数に基づく符号化処理を実行し、当該符号化したデータを後段の中継端末または受信端末へネットワークコーディング伝送するＮＣ情報伝送部３０と、前記トポロジィ情報に基づいて、自端末から後段の中継端末または受信端末へネットワークコーディング伝送する際のタイムアウト値および再送回数を決定する再送方法決定部５０と、を備える。【選択図】図４
2012004831.tif 000002
【特許請求の範囲】
【請求項１】
データを送信する送信端末、データの宛先となる受信端末、および、送信端末と受信端末の間でデータの中継を行う複数の中継端末から構成されるアドホックネットワークにおける前記中継端末であって、
前記送信端末から前記受信端末までの各端末のトポロジィ情報を管理するルーティング管理手段と、
受信したデータに対して所定の符号化関数に基づく符号化処理を実行し、当該符号化したデータを後段の中継端末または受信端末へネットワークコーディング伝送する符号化手段と、
前記トポロジィ情報に基づいて、自端末から後段の中継端末または受信端末へネットワークコーディング伝送する際の、タイムアウト値および再送回数を決定する再送方法決定手段と、
を備えることを特徴とする中継端末。
【請求項２】
前記再送方法決定手段は、前記送信端末から自端末までのホップ数が多いほど、タイムアウト値および再送回数を大きくする、
ことを特徴とする請求項１に記載の中継端末。
【請求項３】
さらに、
前記送信端末によるデータの送信開始から自端末で受信するまでの時間である所要時間を算出する統計手段、
を備え、
前記再送方法決定手段は、さらに前記所要時間を用いてタイムアウト値および再送回数を決定する、
ことを特徴とする請求項１または２に記載の中継端末。
【請求項４】
さらに、
前記送信端末が送信するデータに記録されたネットワークコーディング伝送のデータ種別と、当該データ種別ごとに自端末にデータを送信してくる端末とを関連付けて記憶するテーブルを備えた情報伝送破棄手段、
を備え、
前記情報伝送破棄手段は、
第一の所定時間内に符号化に必要なデータ数を受信しなかった場合、または、ネットワークコーディング伝送の後段の端末からネットワークコーディング伝送の中止の旨の通知を受けた場合に、当該データに係るネットワークコーディング伝送の中止を決定し、前記テーブルに基づいて、当該ネットワークコーディング伝送に係るデータを送信してくる前段の端末に対してネットワークコーディング伝送の中止の旨を通知し、前記テーブルから当該ネットワークコーディング伝送に関する情報を破棄する、
ことを特徴とする請求項１、２または３に記載の中継端末。
【請求項５】
前記情報伝送破棄手段は、
前段の端末から連続して符号化データを継続受信中に、前回の符号化データを受信してから前記第一の所定時間よりも長い第二の所定時間内につぎの符号化データを受信できなかった場合は、ネットワークコーディング伝送の中止を決定する、
ことを特徴とする請求項４に記載の中継端末。
【請求項６】
データを送信する送信端末、データの宛先となる受信端末、および、送信端末と受信端末の間でデータの中継を行う複数の中継端末から構成されるアドホックネットワークであって、
前記送信端末は、
送信するデータに送信開始時間を記録する送信時間記録手段、
を備え、
前記中継端末は、
前記送信端末から前記受信端末までの各端末のトポロジィ情報を管理するルーティング管理手段と、
受信したデータに対して所定の符号化関数に基づく符号化処理を実行し、当該符号化したデータを後段の中継端末または受信端末へネットワークコーディング伝送する符号化手段と、
前記トポロジィ情報に基づいて、自端末から後段の中継端末または受信端末へネットワークコーディング伝送する際の、タイムアウト値および再送回数を決定する再送方法決定手段と、
前記送信端末によるデータの送信開始から自端末で受信するまでの時間である所要時間を算出する統計手段と、
を備え、
前記中継端末の再送方法決定手段は、さらに前記所要時間を用いてタイムアウト値および再送回数を決定する、
ことを特徴とするアドホックネットワーク。
【請求項７】
データを送信する送信端末、データの宛先となる受信端末、および、送信端末と受信端末の間でデータの中継を行う複数の中継端末から構成されるアドホックネットワークであって、
前記送信端末は、
送信するデータにネットワークコーディング伝送のデータ種別を記録するデータ種別記録手段、
を備え、
前記中継端末は、
前記送信端末から前記受信端末までの各端末のトポロジィ情報を管理するルーティング管理手段と、
受信したデータに対して所定の符号化関数に基づく符号化処理を実行し、当該符号化したデータを後段の中継端末または受信端末へネットワークコーディング伝送する符号化手段と、
前記トポロジィ情報に基づいて、自端末から後段の中継端末または受信端末へネットワークコーディング伝送する際の、タイムアウト値および再送回数を決定する再送方法決定手段と、
前記送信端末が送信するデータに記録されたネットワークコーディング伝送のデータ種別と、当該データ種別ごとに自端末にデータを送信してくる端末とを関連付けて記憶するテーブルを備えた情報伝送破棄手段と、
を備え、
前記中継端末の情報伝送破棄手段は、
第一の所定時間内に符号化に必要なデータ数を受信しなかった場合、または、ネットワークコーディング伝送の後段の端末からネットワークコーディング伝送の中止の旨の通知を受けた場合に、当該データに係るネットワークコーディング伝送の中止を決定し、前記テーブルに基づいて、当該ネットワークコーディング伝送に係るデータを送信してくる前段の端末に対してネットワークコーディング伝送の中止の旨を通知し、前記テーブルから当該ネットワークコーディング伝送に関する情報を破棄する、
ことを特徴とするアドホックネットワーク。
【請求項８】
前記情報伝送破棄手段は、
前段の端末から連続して符号化データを継続受信中に、前回の符号化データを受信してから前記第一の所定時間よりも長い第二の所定時間内につぎの符号化データを受信できなかった場合は、ネットワークコーディング伝送の中止を決定する、
ことを特徴とする請求項７に記載のアドホックネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークコーディング伝送を行う中継端末に関する。
【背景技術】
【０００２】
従来から、ネットワークコーディング（Network  Coding：以下、ＮＣとする。）理論を応用したアドホックネットワークが存在している。ネットワークコーディングは、Ｅｎｄ−ｔｏ−Ｅｎｄ（送信端末から受信端末の間）の各端末が、独立リンクを用いて情報を符号化しながら通信するための情報伝送理論である。この理論に基づくアドホックネットワークでは、各端末が、受信したパケットをまとめて符号化して複数の端末へ送信する。符号化されたパケットが当該パケットを受信した端末において復元できるように、各端末は、規定の符号化関数を実行する。これにより、従来のツリー型のルーティング経路であっても各リンク上を伝送する情報（パケット）量を増大させることなくマルチルーティングを実現することが可能となり、たとえば、狭帯域環境下であっても、ネットワーク全体として限られた通信資源を計画的に最大限活用した情報伝送が可能となる。このような情報伝送をＮＣ情報伝送という。
【０００３】
ネットワークコーディングに関するアイディアの基本が下記非特許文献１に開示されており、下記非特許文献１で開示されている数学的なモデルを無線ネットワークに実装した技術が下記特許文献１において開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−０３１６９３号公報
【非特許文献】
【０００５】
【非特許文献１】Rudolf  Ahlswede,  Ning  Cai,  Shuo-Yen  Robert  Li,  Raymond  W.  Yeung,  “Network  Information  Flow”,pp.1204-1216,  IEEE  Trans.  on  Information  Theory,  Vol.46,  No.4,  July  2000
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術によれば、冗長性の高い独立リンク集合を用いた複雑なルーティング経路を利用するため、前段の中継端末において、規定のタイムアウト値および再送回数内でパケットを送信できない場合には、後段の中継端末で受信エラーが発生する。そのため、後段の中継端末では、受信エラーによってデータの欠落が発生し、その影響はネットワーク全体に波及し、ＮＣ情報伝送の成功率を低下させる、という問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、複雑なルーティング経路を利用する場合であっても受信エラーを発生させることなく、ネットワーク全体として安定したＮＣ情報伝送を実現可能な中継端末を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、データを送信する送信端末、データの宛先となる受信端末、および、送信端末と受信端末の間でデータの中継を行う複数の中継端末から構成されるアドホックネットワークにおける前記中継端末であって、前記送信端末から前記受信端末までの各端末のトポロジィ情報を管理するルーティング管理手段と、受信したデータに対して所定の符号化関数に基づく符号化処理を実行し、当該符号化したデータを後段の中継端末または受信端末へネットワークコーディング伝送する符号化手段と、前記トポロジィ情報に基づいて、自端末から後段の中継端末または受信端末へネットワークコーディング伝送する際のタイムアウト値および再送回数を決定する再送方法決定手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、安定したネットワークコーディング情報伝送を実行できる、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１−１】図１−１は、通常のパケット情報伝送システムの例を示す図である。
【図１−２】図１−２は、ＮＣ情報伝送システムの例を示す図である。
【図２】図２は、符号化ルーティング処理を説明する図である。
【図３】図３は、符号化データメッセージの構成例を示す図である。
【図４】図４は、端末の構成例を示す図である。
【図５】図５は、符号化ルーティング処理を説明する図である。
【図６】図６は、符号化データメッセージの再送処理を示す図である。
【図７】図７は、再送管理テーブルの構成例を示す図である。
【図８−１】図８−１は、受信リンクが相互に独立なトポロジィ構成のネットワークを示す図である。
【図８−２】図８−２は、受信リンクに共通リンクがあるトポロジィ構成のネットワークを示す図である。
【図９】図９は、端末の構成例を示す図である。
【図１０】図１０は、符号化データメッセージの構成例を示す図である。
【図１１】図１１は、所要時間統計テーブルの構成例を示す図である。
【図１２】図１２は、端末の構成例を示す図である。
【図１３】図１３は、受信リンクが相互に独立なトポロジィ構成のネットワークを示す図である。
【図１４】図１４は、情報伝送ＩＤＤＢの構成例を示す図である。
【図１５】図１５は、ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌメッセージフォーマットの構成例を示す図である。
【図１６】図１６は、符号化データメッセージの構成例を示す図である。
【図１７】図１７は、ＮＣ情報伝送停止の処理を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかる中継端末の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
最初に、従来からのネットワークコーディング（ＮＣ）理論について、図１−１、１−２を用いて簡単に説明する。ここでは送信端末Ｔ１０１ｓが、データをａ、ｂの２つに分割して送信する。データａ、ｂは同じデータサイズとする。
【００１３】
図１−１は、通常のパケット情報伝送システムの例を示す図である。はじめに、データの送信を開始する端末（送信端末）Ｔ１０１ｓが、データａを端末Ｔ１０２とＴ１０３に送信する。つぎに、端末Ｔ１０２、Ｔ１０３は、それぞれデータａをデータの送り先である端末（受信端末）Ｔ１０６ｄ、Ｔ１０７ｄへ送信する。つぎに、同様の手順を用いて送信端末Ｔ１０１ｓは、データｂを受信端末Ｔ１０６ｄとＴ１０７ｄまで送信する。以上の手順により、受信端末Ｔ１０６ｄ、Ｔ１０７ｄはデータａ、ｂを受信することができる。
【００１４】
図１−２は、ＮＣ情報伝送システムの例を示す図である。ＮＣ情報伝送システムとは、ＮＣ理論に基づき、送信端末と受信端末間で利用可能な独立リンクを活用して情報を伝送するシステムである。はじめに、送信端末Ｔ１０１ｓは、自端末が備える符号化関数を用いて、データａおよびｂを、それぞれ同時に端末Ｔ１０２、Ｔ１０３へ送信する。データａまたはｂを受信した端末Ｔ１０２、Ｔ１０３は、その情報を転送する。データａ、ｂの両方を受信した端末Ｔ１０４では、符号化関数として排他的論理和を実行し、端末Ｔ１０５へ符号化データａＸＯＲｂを送信する。端末Ｔ１０５は、受信したデータａＸＯＲｂを受信端末Ｔ１０６ｄ、Ｔ１０７ｄへ転送する。受信端末Ｔ１０６ｄ、Ｔ１０７ｄは、それぞれの符号化関数を用いて、以下の計算によりデータａおよびｂの両方の情報を復元する（受信データを得る）。
受信端末Ｔ１０６ｄ：受信データ＝（ａ，ｂ）＝（ａ，ａＸＯＲ（ａＸＯＲｂ））
受信端末Ｔ１０７ｄ：受信データ＝（ａ，ｂ）＝（ｂＸＯＲ（ａＸＯＲｂ），ｂ）
【００１５】
以上の動作を比較すると、通常のパケット情報伝送システム（図１−１）では、データａ、ｂを２タイミングで送信するのに対して、ＮＣ情報伝送システム（図１−２）では、同じデータ量を１タイミングで送信することができる。
【００１６】
つぎに、データを中継する端末が行う符号化ルーティング処理について説明する。符号化ルーティングとは、端末が実行する、符号化しながらルーティングを行うＮＣ特有の機能である。図２は、アドホックネットワークにおいて、端末Ｔ２４が行う符号化ルーティング処理を説明する図である。具体的に、送信端末Ｔ１０ｓが、受信端末Ｔ０９ｄ、Ｔ１９ｄ、Ｔ２９ｄへ独立リンク集合を用いてデータを送信する場合に、中継する端末Ｔ２４が行う符号化ルーティング処理について説明する。なお、独立リンクは、端末間で利用する個々の端末間のリンク通信路とする。
【００１７】
端末Ｔ２４では、送信端末Ｔ１０ｓ、端末Ｔ０１〜Ｔ０８、Ｔ１１〜Ｔ１８、Ｔ２１〜Ｔ２８、受信端末Ｔ０９ｄ、Ｔ１９ｄ、Ｔ２９ｄを、独立リンク集合とするＮＣ情報伝送を決定する。この結果から、端末Ｔ２４では、自端末の入力が端末Ｔ０３、Ｔ１３、Ｔ２３の３端末（入力リンク数Ｌ＝３）、出力が端末Ｔ１５、Ｔ２５の２端末（出力リンク数Ｍ＝２）であると判断する。この結果、端末Ｔ２４は、端末Ｔ０３、Ｔ１３、Ｔ２３からの３つのパケットを入力として、自端末が備える符号化関数Ｅ２４を用いて符号化処理を行い、出力となるパケットをそれぞれ端末Ｔ１５、Ｔ２５へ送信する。
【００１８】
図３は、符号化データメッセージの構成例を示す図である。各端末間では、符号化データメッセージによって符号化データの送受信を行う。符号化データメッセージは、符号化ヘッダと符号化データから構成される。符号化ヘッダは、独立リンクを用いて情報を伝送する手順に関する情報を保持する。符号化データは、符号化されて伝送されるデータである。符号化ヘッダは、シーケンス番号と、リンク送信端末ＩＤと、リンク受信端末ＩＤと、から構成される。シーケンス番号は、送信端末Ｔ１０ｓが付与する番号であり、データを分割して符号化データメッセージを送信する順番である。リンク送信端末ＩＤは、入力となる端末の識別子である。当該符号化データメッセージを受信する端末の前段の端末を示す。リンク受信端末ＩＤは、この符号化データメッセージを受信する端末の識別子である。符号化データは、符号化前のデータまたは符号化後のデータを表す。ここでは、一例として、符号化データを同一の符号化単位を基準として６個のデータから構成しているが、これに限定するものではない。
【００１９】
例えば、図２に示すアドホックネットワークにおいて、端末Ｔ２４は、入力として符号化データメッセージＭ００１、Ｍ００２、Ｍ００３を受信する。そして、自端末の符号化関数Ｅ２４を用いて、それぞれの符号化データであるＤ０３、Ｄ１３、Ｄ２３を符号化する。この結果得られた符号化データＤ１５、Ｄ２５を、符号化データメッセージＭ００４、Ｍ００５を用いて、それぞれ端末Ｔ１５、Ｔ２５へ送信する。
【００２０】
ここで、上記従来のアドホックネットワークにおけるＮＣ情報伝送では、冗長性の高い独立リンク集合を用いた複雑なルートを利用し、さらに、送信端末から中継端末に至る各パケットのルートが異なるため、中継端末に到着するパケット受信時間に大きな差が生じる。このとき、中継端末では、前段の端末で設定されたタイムアウト値および再送回数以降のパケットを受信できないため、受信エラーが発生する。受信エラーが発生した場合、データの欠落が生じるため、ＮＣ伝送システムでは、その影響がネットワーク全体に波及しやすく、ＮＣ情報伝送の成功率を低下させることになる。
【００２１】
本実施の形態では、プロアクティブ型のアドホックネットワーク方式を用いた場合に、各端末が、トポロジィ情報を共有し、自律的に送信端末から自端末までのホップ数に応じて、受信リンク毎のタイムアウト値および再送回数を設定する。
【００２２】
図４は、ＮＣ伝送を行うアドホックネットワークにおいてパケット（データ）を転送する端末の構成例を示す図である。端末は、アプリケーション部１０と、ルーティング管理部２０と、NetworkCoding（ＮＣ）情報伝送部３０と、CommunicationLine４０と、再送方法決定部５０と、を備える。また、ＮＣ情報伝送部３０は、符号化ルーティング部３１と、送受信部３２と、独立リンク管理部３３と、符号化関数データベース部３４と、を備える。
【００２３】
アプリケーション部１０は、各端末間で行う符号化データの送受信の対象となるデータに関するアプリケーションを提供する。
【００２４】
ルーティング管理部２０は、アドホックネットワーク上で、無線により通信可能な端末のトポロジィ情報を保持する。この情報に基づいて、送信端末から受信端末間で利用する独立リンク集合を計算する。
【００２５】
ＮＣ情報伝送部３０は、入力元の端末から受信した符号化データに対して符号化処理を実行し、出力先の端末へ符号化後のデータを送信する。符号化ルーティング部３１は、符号化関数データベース部３４が保持する符号化関数、および独立リンク管理部３３が保持する独立リンクの関係に基づいて、入力した符号化データに対して符号化ルーティングを行う。送受信部３２は、CommunicationLine４０を介して、符号化データを送受信する。独立リンク管理部３３は、自端末において、入力となる独立リンクと、出力となる独立リンクの関係を保持する。この計算はルーティング管理部２０が行う。符号化関数データベース部３４は、符号化ルーティングを行う際に実行する符号化関数を保持する。
【００２６】
CommunicationLine４０は、他の端末と符号化データの送受信を行う際の伝送路である。
【００２７】
再送方法決定部５０は、独立リンク管理部３３が保持する独立リンクの関係に基づいて、自端末から後段の端末へ符号化データを送信する際のタイムアウト値および再送回数を決定する。
【００２８】
図５は、本実施の形態における符号化ルーティングの処理を示す図である。一例として、図２に示すアドホックネットワークの端末Ｔ２４の動作について説明する。端末Ｔ２４は、受信側となる端末Ｔ０３、Ｔ１３、Ｔ２３から送受信部３２を介してメッセージＤ０３、Ｄ１３、Ｄ２３を入力し、独立リンク管理部３３が保持する独立リンク集合に基づいて、符号化ルーティング部３１が、符号化関数データベース部３４に保持している符号化関数Ｅ２４を用いて符号化処理よる計算を実行する。その結果、端末Ｔ２４は、出力となるメッセージＤ１５、Ｄ２５を算出し、符号化データメッセージＤ１５、Ｄ２５によって、それぞれ送受信部３２を介して送信側となる端末Ｔ１５、Ｔ２５へ送信する。
【００２９】
このとき、端末Ｔ２４は、受信する符号化データメッセージＤ０３、Ｄ１３、Ｄ２３について、それぞれ「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ０３２４」、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ１３２４」、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ２３２４」を用いて受信し、これに対して、「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ  Ｍ０３２４」、「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ  Ｍ１３２４」、「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ  Ｍ２３２４」を用いて各送信端末へ受信成功を返送する。端末Ｔ２４は、センサ端末Ｔ０３、Ｔ１３、Ｔ２３からの３つの符号化データＤ０３、Ｄ１３、Ｄ２３が揃った後に、符号化処理を実行する。なお、縦に示す矢印は、前段の各端末で設定したタイムアウト値を示す。
【００３０】
符号化処理後、端末Ｔ２４は、送信する符号化データメッセージＤ１５、Ｄ２５を、それぞれ「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ２４１５」、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ２４２５」を用いて送信し、受信端末から「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ  Ｍ２４１５」、「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ  Ｍ２４２５」を受信して成功を確認する。なお、端末Ｔ２４では、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ２４１５」、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ２４２５」を送信と同時にそれぞれにタイムアウト値を設定し、後段の端末（ここでは、端末Ｔ１５およびＴ２５）が正常に受信した場合には、それぞれのタイムアウト値の時間内に「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ  Ｍ２４１５」、「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ  Ｍ２４２５」を受信することができる。
【００３１】
ここで、符号化データメッセージを再送する場合について説明する。図６は、符号化データメッセージの再送処理を示す図である。例えば、端末Ｔ２４が符号化データメッセージＤ１５を送信する場合、端末Ｔ２４は、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ２４１５」の送信と同時にタイムアウト値を設定する。端末Ｔ２４は、設定したタイムアウト値の時間内に端末Ｔ１５から「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ  Ｍ２４１５」を受信できなかった場合、改めて「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ２４１５」を再送する。なお、端末Ｔ２４は、再送時にも同様に、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ２４１５」の送信と同時にタイムアウト値を設定する。以降、設定した再送回数だけ同様の処理を繰り返す。このときに実行する再送回数は、タイムアウト値とともに、再送方法決定部５０が備える再送管理テーブルに保持することとする。
【００３２】
図７は、再送管理テーブルの構成例を示す図である。再送管理テーブルは、タイムアウト値と、再送回数と、から構成される。タイムアウト値は、自端末から後段の端末に符号化データメッセージを送信する際に、「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ」の応答を待つ時間を示す。再送回数は、タイムアウト値の時間内に送信先の端末から「ＮＣ＿Ｓｅｎｄ＿ｒｅｐｌｙ」を受信できなかった場合の「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ」の再送回数を示す。本実施の形態では、各端末が、それぞれ異なるタイムアウト値および再送回数を設定し、これらを記録した再送管理テーブルを備える。これにより、端末によってタイムアウト値を長くし、また、再送回数を増やすことによって、後段の端末における受信エラーの発生を低減させることができる。
【００３３】
具体的に、各端末において、タイムアウト値および再送回数を算出する方法について説明する。ここでは、一例として、送信端末から自端末までのホップ数に基づいてタイムアウト値および再送回数を算出する。図８−１は、受信リンクが相互に独立なトポロジィ構成のネットワークを示す図である。また、図８−２は、受信リンクに共通リンクがあるトポロジィ構成のネットワークを示す図である。それぞれ端末１が送信端末となり、端末Ｔ６、Ｔ７が受信端末となるアドホックネットワークを示す。
【００３４】
プロアクティブ型のアドホックネットワークを構成する端末では、全ての端末において独立リンク管理部３３が同一の独立リンク集合のトポロイ構成を保持している。また、各端末では、再送方法決定部５０が、この独立リンク集合の構成に対応して、タイムアウト値および再送回数を決定する。送信端末から受信端末までのリンクを一般的なＴｒｅｅ型で構成する場合、中継する端末は、１つの端末からのみメッセージを受信する。一方、符号化ルーティングの場合、中継する端末は、複数の端末からメッセージを受信し、さらに、送信端末からメッセージが到着するまでの時間に差がある。そのため、各端末は、独立リンク集合のトポロジィ構成に対応して、タイムアウト値および送信回数を決定する。
【００３５】
まず、図８−１に示すアドホックネットワーク（受信リンクが相互に独立な場合）について説明する。ここでは、端末Ｔ１〜Ｔ７までの７端末で構成される独立リンク集合において、端末Ｔ１から端末Ｔ６と端末Ｔ７に対して、１対２通信が行われている。ここで端末Ｔ５について見ると、端末Ｔ１、端末Ｔ４、端末Ｔ３の３つの端末からメッセージを受信する。一般的に、端末Ｔ５では、端末Ｔ１から送信される１ホップ通信のメッセージが最初に到着し、つぎに端末Ｔ１、端末Ｔ４、端末Ｔ５のルートで送信される２ホップ通信のメッセージが２番目に到着し、最後に端末Ｔ１、端末Ｔ２、端末Ｔ３、端末Ｔ５のルートで送信される３ホップ通信のメッセージが到着する。
【００３６】
ここで、１ホップ通信における標準的なタイムアウト値を単位タイムアウト値、また標準的な再送回数を標準再送回数とすると（単位タイムアウト値、単位再送回数は、従来のＴｒｅｅ型ルーティングで設定する値と同等である）、最大ホップ数３ホップ通信の値を用いて、タイムアウト値および再送回数を以下の式によって算出する。
【００３７】
タイムアウト値＝単位タイムアウト値×３
再送回数＝単位再送回数×３
【００３８】
単位タイムアウト値および単位再送回数を予め全ての端末で決定しておくことにより、それぞれの端末では、相互に情報交換する制御トラフィックを生じさせること無く、独立に計算する独立リンク集合の構成からタイムアウト値および送信回数を自律的に決定することができる。
【００３９】
また、一般的に、ホップ数が多いルートほど再送時のコスト等がかかることから、ホップ数が多いほど、タイムアウト値を大きくし、さらに再送回数を増やすこととした。これにより、ホップ数の多いルートの端末から送信されるメッセージの受信エラーを減らすことができ、ネットワーク全体として、ＮＣ情報伝送の成功率の低下を回避することができる。
【００４０】
つぎに、図８−２に示すアドホックネットワーク（受信リンクに共通リンクがある場合）について説明する。図８−２は、図８−１に示す構成に端末Ｔ２から端末Ｔ４へのリンクが追加されたものである。この追加されたリンクの結果、端末Ｔ４から端末Ｔ５へのリンクは、端末Ｔ１から端末Ｔ４へのリンクと、端末Ｔ２から端末Ｔ４へのリンクの２つのリンクを用いて受信するメッセージを、端末Ｔ４が符号化ルーティングした結果となる。この場合、端末Ｔ５が受信するメッセージは、相互に独立な構成でなく、端末Ｔ４にて複数メッセージ受信の待ち時間が発生する。このとき、端末Ｔ５は、端末Ｔ４からルートについてはホップ数の多い方を採用する。すなわち、図８−１では、「単位タイムアウト値×２」、「再送回数＝単位再送回数×２」としていたが、図８−２では、「単位タイムアウト値×３」、「再送回数＝単位再送回数×３」とする。
【００４１】
以上説明したように、本実施の形態では、プロアクティブ型のアドホックネットワークにおいてＮＣ情報伝送を行う場合に、送信端末から受信端末の間でデータの中継を行う端末は、それぞれの独立リンク集合のトポロジィ構成の中での位置に応じて、データを送信する際のタイムアウト値および再送回数を個別に決定することとした。これにより、ホップ数が多いリンクにある端末において受信エラーを低減でき、ＮＣ情報伝送の成功率を向上した安定した伝送を実現することができる。
【００４２】
実施の形態２．
実際のＮＣ情報伝送では、端末の移動や大気状況の変化などの電波伝搬状況の変化により、中継する端末にメッセージが到着する受信時間に大きな変動が発生する。この場合、一定のタイムアウト値および再送回数で運用していると、メッセージの欠落が考えられ、メッセージ欠落が多発するとＮＣ情報伝送の成功率が低下する。本実施の形態では、受信状況に応じて変化する伝送時間に追従して、タイムアウト値および再送回数を更新する方法について説明する。実施の形態１と異なる部分について説明する。
【００４３】
図９は、本実施の形態の端末の構成例を示す図である。端末は、アプリケーション部１０と、ルーティング管理部２０と、ＮＣ情報伝送部３０と、CommunicationLine４０と、再送方法決定部５０と、再送方式統計部６０と、を備える。再送方式統計部６０は、CommunicationLine４０により送受信されるデータメッセージをモニタして、送信端末から自端末で受信するまでに要した時間を収集し、再送方法決定部５０へ通知する。この情報を受け取った再送方法決定部５０は、この統計情報に基づいて、該当するＮＣ情報伝送において自身が実行する再送方式を決定する。
【００４４】
図１０は、符号化データメッセージの構成例を示す図である。符号化ヘッダ部分に送信開始時間を追加した点が、実施の形態１（図３参照）と異なる。送信開始時間は、送信端末が、送信する各メッセージに送信時の時間をセットするエリアである。すなわち、送信端末は、符号化データメッセージに送信開始時間をセットする構成を備え、符号化データメッセージを送信する際、各メッセージに送信時間をセットしてから受信端末に向けての送信を開始する。
【００４５】
図１１は、再送方法決定部５０が備える所要時間統計テーブルの構成例を示す図である。ここでは、一例として、図８−１に示すアドホックネットワークを用いて説明する。所要時間構成テーブルは、送信端末ＩＤと、所要時間リストと、平均所要時間と、から構成される。
【００４６】
送信端末ＩＤは、該当するＮＣ情報伝送の送信端末の識別子であり、ここでは端末Ｔ１が該当する。なお、再送方法決定部５０は、送信端末ＩＤの情報も再送方式統計部６０からの通知により取得する。
【００４７】
所要時間リストは、再送方式統計部６０からの通知された統計情報を適宜、格納してリストとして管理する。この値は、受信した符号化データメッセージフォーマットにおいて、送信端末Ｔ１が設定する送信開始時間を参照し、再送方式統計部６０が、「所要時間＝現在時間−送信開始時間」の式から計算する。
【００４８】
平均所要時間は、所要時間リストの平均値である。再送方法決定部５０は、常にこの値を計算し、平均値を格納することとする。
【００４９】
なお、ここでは、所要時間および平均所要時間を求める場合に、端末Ｔ１、Ｔ３、Ｔ４のいずれの端末から符号化データメッセージを受信するかを考慮していないが、これに限定するものではない。前段の端末ごとに所要時間統計テーブルを設けて平均所要時間を求めるようにしてもよい。
【００５０】
パケットを中継する各端末では、再送方法決定部５０が、この平均所要時間を常に最新のメッセージ伝送時間として、タイムアウト値および再送回数を計算する。この時、送信端末から受信するメッセージの到着までに要したホップ数の計算方法は、図８−１を用いて説明した方法と同じである。この場合、平均所要時間およびホップ数を用いて、タイムアウト値および再送回数を以下の式から算出する。
【００５１】
タイムアウト値＝平均所要時間×（３＊Ｄ）
再送回数＝単位再送回数×（３＊Ｅ）
【００５２】
ここで、ＤおよびＥは重み関数である。Ｄは定数であってもよいし、平均所要時間に応じて変更してもよい。Ｅは、平均所要時間に応じて値を変更することで、平均所要時間の要素を再送回数に取り込むことができる。なお、上記計算式は一例であり、ホップ数を掛けることにより、各メッセージを受信する経路（ホップ数）に応じた値を計算することができる。各端末では、再送方法決定部５０が、このタイムアウト値と再送回数を一定周期で更新することにより、最新の通信状況に追従することができる。
【００５３】
以上説明したように、本実施の形態では、各端末が、送信端末がメッセージを送信してから自端末が当該メッセージを受信するまでの所要時間に応じて、タイムアウト値および再送回数を適宜更新することとした。これにより、端末の移動や大気状況の変化などの電波伝搬状況の変化に対して、状況に適したタイムアウト値および再送回数を設定することができる。
【００５４】
実施の形態３．
ＮＣ情報伝送は、独立リンク集合のトポロジィ構成を用いたメッセージ伝達において、特定の中継端末において受信待ち時間が長くなると、この端末でメッセージが破棄されても、その前段階となる端末に時間とともにメッセージが蓄積される。そのため、前段階の端末の性能劣化を招くともに、この影響がさらに前段階の端末にも伝播し、他のＮＣ情報伝送に悪影響を与えて性能劣化を招く。本実施の形態では、各端末において破棄する対象となるＮＣ情報伝送を強制的に前段となる端末にキャンセルを通知するとともに、データメッセージの受信に一定時間以上の間隔が空く場合には、自身の判断で該当するＮＣ情報伝送を破棄する。実施の形態１と異なる部分について説明する。
【００５５】
図１２は、端末の構成例を示す図である。端末は、アプリケーション部１０と、ルーティング管理部２０と、ＮＣ情報伝送部３０と、CommunicationLine４０と、再送方法決定部５０と、また、NetworkCoding（ＮＣ）情報伝送情報破棄部７０と、を備える。ＮＣ情報伝送情報破棄部７０を備える点が実施の形態１（図４参照）と異なる。ＮＣ情報伝送情報破棄部７０は、ＮＣ情報伝送ＩＤデータベース（ＤＢ）部７１とＮＣ情報伝送破棄判断部７２と、を備える。
【００５６】
ＮＣ情報伝送ＩＤＤＢ部７１は、ネットワーク全体で特定のＮＣ情報伝送を識別するための識別子を管理しており、ＮＣ情報転送の中止が決定された場合、各端末が該当するＮＣ情報伝送を特定するために用いる。この識別子はネットワーク全体で一意の間であり、ＮＣ情報伝送開始時に送信元となる送信端末が生成して、各端末に送信元と送信先の端末ＩＤを通知してＮＣ情報伝送の準備を整える段階でテーブルを生成する。
【００５７】
ＮＣ情報伝送破棄判断部７２は、再送方法決定部５０で算出された、リンク送信端末から受信するメッセージに対応するタイムアウト値および再送回数に基づいて、ＮＣ情報伝送の中止を判断する。
【００５８】
図１３は、端末Ｔ１から端末Ｔ６と端末Ｔ７に対して１対２通信を行う場合に、受信リンクが相互に独立なトポロジィ構成のネットワークを示す図である。独立リンクは、これらの送受信端末に加えて、端末Ｔ２、Ｔ３、Ｔ４、Ｔ５を中継端末として構成される。全ての端末は、ＮＣ情報伝送ＩＤＤＢ部７１を保持し、それぞれが実行するＮＣ情報伝送の中から、特定のＮＣ情報伝送を識別する。
【００５９】
図１４は、情報伝送ＩＤＤＢ部７１の構成例を示す図である。ここでは図１３の独立リンク集合の構成を例に中継端末となる端末Ｔ５が保持する情報伝送ＩＤＤＢ部７１を説明する。情報伝送ＩＤＤＢ部７１は、ＮＣ情報伝送ＩＤと、リンク送信端末ＩＤと、から構成される。ＮＣ情報伝送ＩＤは、ネットワーク全体でＮＣ情報伝送を識別する一意のＩＤである。リンク送信端末ＩＤは、当該ＮＣ情報伝送ＩＤのパケットが送信されてくる前段の端末を示す。例えば、ＮＣ情報伝送ＩＤが「ＮＣ＿ＩＤ＿１」の場合、このＮＣ情報伝送において自端末にメッセージを送信してくる前段の端末が、端末Ｔ３、Ｔ４、Ｔ１であることを示す。
【００６０】
ＮＣ情報伝送ＩＤは、送信端末が、ＮＣ情報伝送を確立する時に生成し、送信端末と受信端末の関係を各端末に通知するときに合わせて通知する。すなわち、送信端末は、符号化データメッセージにＮＣ情報伝送ＩＤをセットする構成を備える。受信した端末は、全ての端末が共有しているトポロジィ情報から、送信端末と受信端末間の独立リンク集合を計算し、自身が独立リンク集合に関わる場合は、自身に対する複数のリンク送信端末ＩＤと複数のリンク送信端末ＩＤの組み合わせを、このＮＣ情報伝送ＩＤにて管理する。情報伝送ＩＤＤＢ部７１は、このように、ＮＣ情報伝送ＩＤとリンク送信端末ＩＤの組み合わせを管理する。ここでリンク送信端末ＩＤを保持するのは、ＮＣ情報伝送の中止を、前段となる端末に送信するためである。
【００６１】
図１５は、ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌメッセージフォーマットの構成例を示す図である。「ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌ」は、ある特定の端末のＮＣ情報伝送破棄判断部７２においてＮＣ情報伝送の破棄を決定した場合、ＮＣ情報伝送ＩＤを前段とする端末に向けてＮＣ情報伝送の中止を通知するためのメッセージである。「ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌ」は、リンク送信先端末ＩＤと、ＮＣ情報伝送ＩＤと、から構成される。リンク送信先端末ＩＤは、このメッセージの送信先となる前段の中継端末、ＮＣ情報伝送ＩＤは、該当するＮＣ情報伝送を特定する。
【００６２】
「ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌ」を受信した端末は、自身が保持するＮＣ情報伝送ＩＤＤＢ部７１を参照し、自身のＮＣ情報伝送ＩＤＤＢ部７１内のＮＣ情報伝送ＩＤと受信した「ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌ」のＮＣ情報伝送ＩＤとが一致するリンク送信端末ＩＤの各端末に対して、改めて「ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌ」を送信する。同時に、「ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌ」を送信した端末は、自端末のＮＣ情報伝送ＩＤＤＢ部７１の該当するテーブルを削除する。
【００６３】
図１６は、符号化関数と符号化データメッセージの構成例を示す図である。実施の形態１における符号化データメッセージ（図３参照）に、ＮＣ情報伝送ＩＤを追加した構成である。この識別子（ＩＤ）は、図１４および図１５を用いて説明したように、ネットワーク全体でＮＣ情報伝送を一意に識別するＩＤであり、送信端末がＮＣ情報伝送を準備する段階で生成し、実際に情報を送信する符号化データメッセージに付加して送信する。この結果、特定のＮＣ情報伝送における情報伝送は、同一のＮＣ情報伝送であることをＮＣ情報伝送ＩＤにて識別し、このＩＤが同一のメッセージをシーケンス番号の順番で受信することとなる。ある中継端末において、同一のＮＣ情報伝送ＩＤを持つ符号化データメッセージを受信する際、シーケンス番号から次の符号化データメッセージを一定時間受信できないと判断した場合は、ＮＣ情報伝送の中止を決定する。
【００６４】
図１７は、ＮＣ情報伝送停止の処理を示すシーケンス図である。ここでは、図１３で説明した独立リンク集合における端末Ｔ５の動作に注目して説明する。このＮＣ情報伝送停止は、（１）端末Ｔ５が中止を判断して前段となる端末Ｔ１、Ｔ３、Ｔ４に通知する処理と、（２）これにより符号化データメッセージの送信が停止した端末Ｔ７が自律的に中心を検出する処理、から構成される。
【００６５】
まず、（１）の処理について説明する。端末Ｔ５は、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ０３０５」および「ＮＣ＿Ｓｅｎｄ  ｒｅｐｌｙ  Ｍ０３０５」の交換により、端末Ｔ３からの符号化データメッセージを受信する。同様に、端末Ｔ５は、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ０４０５」および「ＮＣ＿Ｓｅｎｄ  ｒｅｐｌｙ  Ｍ０４０５」の交換により、端末Ｔ４からの符号化データメッセージを受信する。
【００６６】
また、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ０１０５」および「ＮＣ＿Ｓｅｎｄ  ｒｅｐｌｙ  Ｍ０１０５」から、端末Ｔ１からの符号化データメッセージを受信する。この時、各端末から受信するメッセージの再送処理は、実施の形態１と同様に、受信タイムアウト値および再送回数が決定されている。このとき、例えば、図１７に示すように、端末Ｔ１からの「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ０１０５」が、最初の「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ０３０５」の受信から最大受信タイムアウト値経過後に受信されるか、あるいは全く受信されない場合、つまり最大受信タイムアウト値の時間内に、該当する複数のＮＣ情報伝送のリンク送信端末からの全ての符号化データメッセージが受信できない場合、端末Ｔ５は、前段となる端末に、その後送信される符号化データメッセージが蓄積されることを防ぐために、ＮＣ情報伝送中止を決定し、端末Ｔ４に対して「ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌ  Ｍ０５０４」、端末Ｔ３に対して「ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌ  Ｍ０５０３」、端末Ｔ１に対して、「ＮＣ＿Ｓｅｎｄ＿Ｃａｎｃｅｌ  Ｍ０５０１」をそれぞれ送信する。
【００６７】
ここで最大受信タイムアウト値は、図７に示す再送管理テーブルから、「最大受信タイムアウト値＝（受信タイムアウト値×再送回数）」により計算する。最大受信タイムアウト値は、例えば、ＮＣ情報伝送の周期時間に対して、入力となる符号化データが揃わないために発生する送信遅延が許容される最大時間とすることができる。全ての端末でＮＣ情報伝送周期時間を合わせることにより、各端末では、ＮＣ情報伝送が可能となるため、最大受信タイムアウト値までにデータが揃わなかった場合、その端末では符号化処理をせず、つぎの端末へデータの送信を行わない。なお、上記最大受信タイムアウト値の求め方は一例であり、これに限定するものではない。
【００６８】
つぎに、（２）の処理について説明する。例えば、端末Ｔ７では、「ＮＣ＿Ｓｅｎｄ＿ｒｅｑｕｅｓｔ  Ｍ０５０７」と「ＮＣ＿Ｓｅｎｄ  ｒｅｐｌｙ  Ｍ０５０７」により符号化データメッセージを正常に受信した後、データメッセージ受信間隔タイムアウト値の時間内につぎの符号化データメッセージを受信しない場合、端末Ｔ７のＮＣ情報伝送破判断部７２が、ＮＣ情報伝送の中止を決定する。データメッセージ受信間隔タイムアウト値は、任意の値であるが最大受信タイムアウト値よりも長い時間を設定する。
【００６９】
ＮＣ情報伝送の中止の決定は、図１６を用いて説明したように、同一のＮＣ情報伝送ＩＤの中で、つぎの番号のシーケンス番号を持つ符号化データメッセージが受信できない場合に行う。端末Ｔ７がＮＣ情報伝送の中止を決定した場合、自身のＮＣ情報伝送ＩＤＤＢ部７１において保持するＮＣ情報伝送ＩＤの該当するテーブルを削除して、このＮＣ情報伝送に関する処理を中止する。
【００７０】
なお、実施の形態１に基づいて説明したが、実施の形態２にも適用可能である。
【００７１】
以上説明したように、本実施の形態では、最大受信タイムアウト値を用いて符号化データメッセージの受信タイムアウトを検出した端末が、前段となる端末に向けて該当するＮＣ情報伝送の停止を通知し、また、後段の端末に対する符号化データメッセージの通知も停止する。ＮＣ情報伝送停止の通知を受けた前段の端末は、さらに前段の端末に向けて該当するＮＣ情報伝送の停止を通知する。一方、後段の端末は、データメッセージ受信間隔タイムアウトにより符号化データメッセージの受信が停止したことを判断し、該当するＮＣ情報伝送を停止する。この停止の結果は同様に、さらに後段の端末に伝わる。これにより、最終的に独立リンクを構成する全ての端末は、迅速、かつ制御トラフィックを最低減に抑えてＮＣ情報伝送を停止できるため、各端末に蓄積される符号化データメッセージ量を最低限に抑えることができる。
【産業上の利用可能性】
【００７２】
以上のように、本発明にかかる中継端末は、ネットワークコーディング情報伝送を行うアドホックネットワークに有用であり、特に、プロアクティブ型のアドホックネットワークに適している。
【符号の説明】
【００７３】
１０  アプリケーション部
２０  ルーティング管理部
３０  NetworkCoding（ＮＣ）情報伝送部
３１  符号化ルーティング部
３２  送受信部
３３  独立リンク管理部
３４  符号化関数データベース部
４０  CommunicationLine
５０  再送方法決定部
６０  再送方式統計部
７０  NetworkCoding（ＮＣ）情報伝送情報破棄部
７１  ＮＣ情報伝送ＩＤデータベース（ＤＢ）部
７２  ＮＣ情報伝送破棄判断部
【図１−１】
2012004831.tif 000003
【図１−２】
2012004831.tif 000004
【図２】
2012004831.tif 000005
【図３】
2012004831.tif 000006
【図４】
2012004831.tif 000007
【図５】
2012004831.tif 000008
【図６】
2012004831.tif 000009
【図７】
2012004831.tif 000010
【図８−１】
2012004831.tif 000011
【図８−２】
2012004831.tif 000012
【図９】
2012004831.tif 000013
【図１０】
2012004831.tif 000014
【図１１】
2012004831.tif 000015
【図１２】
2012004831.tif 000016
【図１３】
2012004831.tif 000017
【図１４】
2012004831.tif 000018
【図１５】
2012004831.tif 000019
【図１６】
2012004831.tif 000020
【図１７】
2012004831.tif 000021