JP2007228064A - ネットワークシステムおよび通信装置 - Google Patents
ネットワークシステムおよび通信装置 Download PDFInfo
- Publication number
- JP2007228064A JP2007228064A JP2006044096A JP2006044096A JP2007228064A JP 2007228064 A JP2007228064 A JP 2007228064A JP 2006044096 A JP2006044096 A JP 2006044096A JP 2006044096 A JP2006044096 A JP 2006044096A JP 2007228064 A JP2007228064 A JP 2007228064A
- Authority
- JP
- Japan
- Prior art keywords
- communication device
- distribution
- data packet
- received
- communication
- 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.)
- Pending
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【課題】アプリケーションレイヤマルチキャストにおける通信装置のARQの処理負荷を分散させ、効率よくマルチキャスト通信を行うことができるネットワークシステムを得ること。
【解決手段】親子関係および兄弟関係の通信装置によってマルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステムにおいて、各通信装置は、マルチキャストツリー内に兄弟関係において自装置の兄となる通信装置が存在する場合には、自装置の兄となる通信装置に対してデータを受信したか否かを示すACKまたはNACKを送信して、自装置の兄となる通信装置との間でデータの再送を行い、マルチキャストツリー内に兄弟関係において自装置の兄となる通信装置が存在しない場合のみ、自装置の親となる通信装置に対してACKまたはNACKを送信して自装置の親となる通信装置との間でデータの再送を行う。
【選択図】 図3
【解決手段】親子関係および兄弟関係の通信装置によってマルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステムにおいて、各通信装置は、マルチキャストツリー内に兄弟関係において自装置の兄となる通信装置が存在する場合には、自装置の兄となる通信装置に対してデータを受信したか否かを示すACKまたはNACKを送信して、自装置の兄となる通信装置との間でデータの再送を行い、マルチキャストツリー内に兄弟関係において自装置の兄となる通信装置が存在しない場合のみ、自装置の親となる通信装置に対してACKまたはNACKを送信して自装置の親となる通信装置との間でデータの再送を行う。
【選択図】 図3
Description
本発明は、マルチキャスト通信に関するものであり、特に、マルチキャストツリーを構成する通信装置の確認再送処理負荷を分散するネットワークシステムに関するものである。
マルチキャストには、IP層において処理を行なうIPマルチキャストと、アプリケーション層において処理を行なうアプリケーションレイヤマルチキャスト(ALM:Application Layer Multicast)とがある。IPマルチキャストは、フレーム内のIPアドレスにマルチキャストアドレスが設定されているフレームを受信した際にルータが受信したフレームを複製して転送するため、ネットワークシステム内の全てのルータがIPマルチキャスト対応機能を備える必要がある。しかしながら、IPマルチキャスト対応ルータは、IPマルチキャスト非対応(ユニキャスト)ルータと比較して高額であることや、既に構築されているネットワークのユニキャストルータをIPマルチキャスト対応ルータに置き換える作業などの点から、IPマルチキャストによるネットワークの導入障壁が高いのが現状である。
これに対してALMは、マルチキャストグループに属するエンドホスト同士で論理リンク(マルチキャストツリー)を構成し、エンドホストのアプリケーションがフレームを複製し、それぞれがユニキャスト通信を行うことでマルチキャスト通信を実現している。そのため、ALMは、IPマルチキャストと比較して、同じフレームが同じ物理リンクを複数回使用するなど網資源の使用効率は悪いが、ネットワーク内のユニキャスト対応ルータをIPマルチキャスト対応ルータに置き換えることなくそのまま使用することができ、既存のネットワークシステムに導入しやすいというメリットがある。
一方、インターネットなどのベストエフォート型のネットワークにおいて高信頼性を実現する技術として、ARQ(Automatic Repeat reQuest)とFEC(Forward Error Correction)がある。ARQは、受信側装置がデータの配送完了を通知するACK、または配送未完了および再送要求を通知するNACKを送信側装置に送信することによりデータ送信の信頼性を向上する。しかしながら、ARQは、ACKまたはNACKの送受信するARQ処理負荷や、データの再送遅延が生じるという問題があった。
これに対して、FECは、送信すべきデータを含むオリジナルパケットに加え冗長パケットを送信し、送信先が冗長パケットを用いて配送未完了のパケットを復元することによりデータ送信の信頼性を向上する。たとえば、送信側装置は、k(kは自然数)個のオリジナルパケットからn−k個(k≦n,nは自然数)の冗長パケットを作成し、オリジナルパケットおよび冗長パケットを送信する。受信側装置は、n個のパケットのうち少なくともk個のパケットが受信できれば配送未完了のパケットを復元することができ、ARQのように再送を必要としない。しかしながら、FECは、n−k個の冗長パケットを送信するため、網資源を多く消費してしまうという問題があった。
このような問題を改善して、データ送信の信頼性とマルチキャストの結合、信頼性が求められるファイルなどのデータを多数のユーザに効率的に一斉配信するために、従来から種々の技術が考えられている。
たとえば、非特許文献1には、マルチキャストにおけるARQとして、送信側装置にACKのみを通知するACKベースや、再送可能な装置に対してNACKのみを通知するNACKベース、送信側装置にACKまたはNACKを通知するACK+NACKベースに関する技術が開示されている。また、非特許文献1には、応答(ACKまたはNACK)が集中しないように応答送信時刻を分散する応答分散方法や、応答が集中しないように複数の応答を1つにまとめる応答回数削減方法、ツリー状に応答を集約する応答集約方法に関する技術が開示されている。さらに、非特許文献1には、ACKベース、NACKベース、ACK+NACKベースのARQに、応答分散方法、応答回数削減方法、応答集約方法を組み合わせる技術も開示されている。
また、非特許文献2には、マルチキャストにおいて、送信するデータを一部除いて配信し、送信するデータを除いたこと、または経路損失により不足したデータをマルチキャストツリーを構成する親からではなく、祖父、叔父、従兄弟から再配信する複数経路の利用に関する技術が開示されている。
また、特許文献1には、マルチキャストにおいて、最初に電波による配信を行い、経路損失により不足する分を中継サーバにて集計し、集計結果に基づいて再配信する装置を計算によって求め、求めた装置からネットワーク経由で不足分のデータを再配信する複数経路の利用に関する技術が開示されている。
さらに、非特許文献3には、マルチキャストとFECによる符号化を組み合わせてマルチキャストのデータ転送の信頼性を向上する技術が開示されている。
ところで、マルチキャストにおいて、マルチキャストツリーを構成する通信装置のなかで、子を持たない末端の通信装置はつぎの通信装置(自装置がデータを配信する通信装置)に対して影響を与える。したがって、システム全体の通信効率を上げるためには、末端の通信装置の処理負荷を小さくするよりも、マルチキャストツリーの途中にある通信装置の処理負荷を小さくすることが重要であり、かつ処理負荷は子の数に依存しないことが拡大性の点から要求される。
しかしながら、上記非特許文献1に記載の応答集約を行ったマルチキャストツリー構造のACKベースによる従来技術では、マルチキャストツリーの末端の通信装置は、ACK受信とデータ再送処理の負荷がゼロであり、それ以外の通信装置ではACK受信とデータ再送処理の負荷が多くなっており、その処理負荷は子の数に比例している。そのため、上記非特許文献1に記載の従来技術では、子の数に依存することなくマルチキャストツリーの途中にある通信装置の処理負荷を小さするという要求を満たすことはできないという問題があった。
また、マルチキャストツリーを構成する通信装置間の経路状況は、一定ではなくそれぞれ異なることが一般的である。しかしながら、上記非特許文献3に記載の従来技術では、同一の符号化を行う範囲は全体となっているため、それぞれの経路状況に応じて符号化を行うことはできないという問題があった。すなわち、上記非特許文献3に記載の従来技術では、セキュリティレベル、ネットワーク状況(帯域や遅延、損失など)、またはSLA(Service Level Agreement)に応じて任意の範囲で暗号化または符号化を行うとができないため、計算機資源や網資源を最適活用することができないという問題があった。
また、マルチキャストツリーを構成する通信装置間の経路状況は、一定ではなくそれぞれ異なるため、途中経路のボトルネックにより本来の帯域が確保できないことがある。このような場合、上記非特許文献2または特許文献1に記載の従来技術を用いて複数経路によるボトルネック経路回避を行うことが考えられる。
しかしながら、上記非特許文献2に記載の従来技術では、再送元の決定が損失後の通信によって行われるため、再送元の決定までに時間がかかり再送処理の遅延が大きくなるという問題があった。また、上記非特許文献2に記載の従来技術では、マルチキャストツリーを構成するすべての通信装置が再送通信装置となることもあり計算量を多くしているため、再送処理の遅延が大きくなるという問題があった。
また、上記特許文献1に記載の従来技術では、電波による配信を行い、経路損失による不足分をネットワーク経由で再配信するようにしているため、異なる伝送媒体の通信経路が必要となり、システムのコストが高くなってしまうという問題があった。
また、網資源を節約するために、マルチキャストにおいてFECまたはデータの圧縮のための符号化を行う場合、通信装置毎に符号化後の符号群である符号の集合の中で異なる符合を「間引いて」送信することが考えられる。この意図的に符号を間引くことは、受信側通信装置の復号処理付加は大きくなり非効率ではあるが、網資源を節約するという点では効果がある。上記非特許文献3に記載の従来技術では、送信するデータを一部除いて配信し、送信するデータを除いたこと、または経路損失により不足したデータをマルチキャストツリーを構成する親からではなく、祖父、叔父、従兄弟から再配信するようにしているが、符号化の範囲を局所化すること、すなわち、それぞれの経路状況に応じて符号化を行うことはできないという問題があった。
このように、上記非特許文献1〜3および特許文献1に記載の従来技術では、アプリケーションレイヤマルチキャストにおけるARQおよび複数経路配信において、高信頼、高効率、拡大性を向上させることは難しい。
本発明は、上記に鑑みてなされたものであって、アプリケーションレイヤマルチキャストにおける通信装置のARQの処理負荷を分散させ、効率よくマルチキャスト通信を行うことができるネットワークシステムを得ることを第1の目的とする。
また、第2の目的は、マルチキャストツリーを構成する通信装置間の経路状況に応じて任意の範囲で符号化/暗号化を行い、計算機資源や網資源を有効に活用するネットワークシステムを得ることである。
また、第3の目的は、マルチキャストツリーを構成する通信装置間の経路状況に応じて複数経路配信を行うことができるネットワークシステムを得ることである。
上述した課題を解決し、目的を達成するために、本発明は、親子関係および兄弟関係の通信装置によってマルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステムにおいて、前記各通信装置は、マルチキャストツリーの親子関係および兄弟関係を示すマルチキャスツリー情報から自装置に関する親子関係および兄弟関係を抽出して、前記親子関係において親となる通信装置を上流とし、子となる通信装置を下流とする単一経路の配信ペアと、同一の親を持つ兄弟関係において兄となる通信装置を上流とし、弟となる通信装置を下流とする単一経路の配信ペアを確立する配信ペア管理部と、前記配信ペア管理部が確立した配信ペアに対応付けて当該配信ペアのデータパケットおよび配信応答の送受信状態がデータパケットの通番毎に登録される配信ペア情報部と、前記兄弟関係において自装置が下流となる配信ペアを抽出し、前記兄弟関係において自装置が下流となる配信ペアを抽出できなかった場合には前記親子関係において自装置が下流となる配信ペアを抽出し、抽出した配信ペアを配信応答送信の配信ペアとし、データパケットを受信した場合には、受信したデータパケットを送信した通信装置との配信ペアに対応付けられた配信ペア情報部にデータパケットを受信したことを登録するとともに、前記配信応答送信の配信ペアの上流の通信装置に受信したデータパケットに対するACKを送信し、ACKを受信した場合には、前記配信ペア情報部に基づいて受信したACKが示すデータパケットを受信しているか否かを判定し、受信したACKが示すデータパケットを受信しておらず、かつ予め定められた時間が経過しても受信したACKが示すデータパケットを受信しなかった場合には、前記配信応答送信の配信ペアの上流の通信装置に受信したACKが示すデータパケットを要求するNACKを送信し、NACKを受信した場合には、前記配信ペア情報部に基づいて受信したNACKが要求するデータパケットを受信しているか否かを判定し、受信したNACKが要求するデータパケットを受信している場合にはNACKを送信した通信装置に要求されたデータパケットを送信し、受信したNACKが要求するデータパケットを受信しておらず、かつ予め定められた時間が経過しても受信したNACKが要求するデータパケットを受信しなかった場合には、前記配信応答送信の配信ペアの上流の通信装置に受信したNACKが要求するデータパケットを要求するNACKを送信するマルチキャスト通信処理部と、を備えることを特徴とする。
この発明によれば、親子関係および兄弟関係の通信装置によってマルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステムにおいて、各通信装置は、マルチキャストツリー内に兄弟関係において自装置の兄となる通信装置が存在する場合には、自装置の兄となる通信装置に対してデータを受信したか否かを示すACKまたはNACKを送信して、自装置の兄となる通信装置との間でデータの再送を行い、マルチキャストツリー内に兄弟関係において自装置の兄となる通信装置が存在しない場合のみ、自装置の親となる通信装置に対してACKまたはNACKを送信して自装置の親となる通信装置との間でデータの再送を行うようにしているため、アプリケーションレイヤマルチキャストにおける通信装置のARQの処理負荷を分散させ、効率よくマルチキャスト通信を行うことができるという効果を奏する。
以下に、本発明にかかるネットワークシステムおよび通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1〜図24を参照してこの発明の実施の形態1を説明する。この発明の通信装置およびネットワークシステムは、マルチキャストグループに属するエンドホスト同士で論理リンク(マルチキャストツリー)を構成し、エンドホストのアプリケーションがフレームを複製し、それぞれがユニキャスト通信を行うことでマルチキャスト通信を実現するアプリケーションレイヤマルチキャスト(ALM:Application Layer Multicast)において、配信応答(ACK/NACK)を用いたARQ(Automatic Repeat reQuest)を用いることを前提としている。
図1〜図24を参照してこの発明の実施の形態1を説明する。この発明の通信装置およびネットワークシステムは、マルチキャストグループに属するエンドホスト同士で論理リンク(マルチキャストツリー)を構成し、エンドホストのアプリケーションがフレームを複製し、それぞれがユニキャスト通信を行うことでマルチキャスト通信を実現するアプリケーションレイヤマルチキャスト(ALM:Application Layer Multicast)において、配信応答(ACK/NACK)を用いたARQ(Automatic Repeat reQuest)を用いることを前提としている。
まず、図1〜図3を参照して、この実施の形態1におけるネットワークシステムの特徴に付いて説明する。図1は、この発明におけるネットワークシステムの構成を示す図である。図1において、ネットワークシステムは、エンドホストである複数(この場合は、13台)の通信装置1(1−1〜1−13を示す)と、マルチキャストツリーを管理するマルチキャストツリー管理装置2を備え、通信装置1はマルチキャストツリー管理装置2によって通知されたマルチキャストツリーを構成する。
図1においては、親である通信装置1−1と子である通信装置1−2〜1−4、親である通信装置1−2と子である通信装置1−5〜1−7、親である通信装置1−3と子である通信装置1−8〜1−10、および親である通信装置1−4と子である通信装置1−11〜1−13の4組の親子関係と、通信装置1−1を親とする長男である通信装置1−2、次男である通信装置1−3、および三男である通信装置1−4と、通信装置1−2を親とする長男である通信装置1−5、次男である通信装置1−6、および三男である通信装置1−7と、通信装置1−3を親とする長男である通信装置1−8、次男である通信装置1−9、および三男である通信装置1−10と、通信装置1−4を親とする長男である通信装置1−11、次男である通信装置1−12、および三男である通信装置1−13との4組の兄弟関係によって、マルチキャストツリーが構築されている。
このように構成されたマルチキャストツリーにおいて、最初のデータパケットは親子関係にある親から子へと送信される。ここで、通信装置1−1と通信装置1−3との経路にてデータパケットの損失が起きたと仮定する。図2に示すように、通信装置1の代わりに従来の通信装置3(3−1〜3−13を示す)を用いた場合には、通信装置3は、データパケットの配信応答(ACK/NACK)を親子関係にある子から親に送信し、NACKを受信した親(この場合は通信装置3−1)が、NACKを送信した子(この場合は通信装置3−3)にデータパケットを再送する。
これに対して、本発明における通信装置1は、図3に示すように配信応答を親子関係にある親に送信するのではなく兄弟関係にある兄に対して送信し、兄弟間でデータパケットの再送を行う。ただし、兄弟関係の長男は兄が存在しないため従来と同様に親に対して配信応答を送信する。図3においては、通信装置1−3が兄弟関係の兄である通信装置1−2にNACKを送信し、通信装置1−2が通信装置1−2にデータパケットを再送する。すなわち、本発明における通信装置1で構築されるマルチキャストツリーにおいては、最初のデータパケットの送信は親子関係で行われ、配信応答およびデータパケットの再送は兄弟間で行うことで、マルチキャストツリー内の各通信装置1にARQの処理負荷を分散させるようにしている。
つぎに、先の図1に示したネットワークシステムの構成要素の機能について説明する。マルチキャストツリー管理装置2は、ネットワークシステムのマルチキャストツリーを管理する装置であり、通信装置1からのマルチキャストグループへの参加/離脱の通知に応じてマルチキャストツリーを構築する。
具体的には、マルチキャストツリー管理装置2は、通信装置1からマルチキャストグループへの参加/離脱の通知を受けると、マルチキャストグループ内の各通信装置1に検査パケットを送信して、通信装置1間の経路の使用可能帯域や、パケットの遅延時間、パケットの損失率などを測定する。マルチキャストツリー管理装置2は、測定の結果に基づいてマルチキャストグループのメインのデータ配信を効率的に行えるようなマルチキャストツリーを構築する。
マルチキャストツリー管理装置2は、マルチキャストツリーを構成する通信装置1の親子関係、兄弟関係、親子関係および兄弟関係に関連する経路の使用可能帯域、パケットの遅延時間、パケットの損失率などの測定結果に関する情報を含むマルチキャストツリー情報を通信装置1に通知する。
通信装置1は、マルチキャストツリー管理装置2から通知されるマルチキャストツリー情報に含まれる親子関係および兄弟関係に基づいて配信ペアを認識し、マルチキャスト通信においてデータおよび配信応答(ACKまたはNACK)を配信ペア間で送受信する。
ここで、配信ペアについて説明する。この発明におけるネットワークシステムは、ALMを前提としているため、マルチキャスト通信においての各通信装置1間のユニキャスト通信が基本となっている。配信ペアとはこのマルチキャスト通信時の通信相手との組であり、親子関係においては親である通信装置1が上流、子である通信装置1が下流となり、兄弟関係においては、長男である通信装置1が上流、次男である通信装置1が下流(次男である通信装置1と三男である通信装置1の配信ペアの場合は、次男である通信装置1が上流で三男である通信装置1が下流)となる。すなわち、兄弟関係においては、自装置からみて兄となる通信装置1との配信ペアでは自装置が下流となり、自装置からみて弟となる通信装置1との配信ペアでは自装置が上流となる。
図4は、通信装置1のマルチキャスト通信に関する基本構成を示すブロック図である。図4において、通信装置1は、通信部15と、配信ペア情報テーブル16と、配信ペア管理部11と、上流配信ペア情報部12(12−1〜12−xを示す)と、下流配信ペア情報部13(13−1〜13−yを示す)と、時間管理部14と、マルチキャスト通信処理部171および通番欠落検査部172を有する制御部17とを備えている。
通信部15は、マルチキャストツリー管理装置2および通信装置1との通信インタフェースを有し、マルチキャストツリー管理装置2および通信装置1との送受信処理を行なう。マルチキャストツリー管理装置2から通知されるマルチキャストツリー情報に基づいてマルチキャストツリーおよび各配信ペアを認識し、認識した配信ペア間で配信ペア情報(連続配信種別や複数経路配信種別、通番開始地、通番終了値、配信配分など)を通知して配信ペアの相手となる通信装置1との配信ペア関係を確立する。
図5は、配信ペア情報を通知する配信ペア情報メッセージのフォーマットを示す図である。図5において、配信ペア情報メッセージは、連続配信種別フィールド、複数経路配信種別フィールド、通番開始値フィールド、通番終了値フィールド、および配信配分フィールドで構成される。
連続配信種別フィールドには、データパケットを連続配信するか否かの連続配信種別情報が設定される。複数経路配信種別フィールドには、データパケットを複数経路で配信するのか単一経路で配信するのかの複数経路配信種別情報が設定される。通番開始値フィールドには、送信すべきデータパケットに含まれる通番の通番開始値が設定される。通番終了値フィールドには、送信すべきデータパケットに含まれる通番の通番終了値が設定される。
配信配分フィールドには、データパケットを符号化して送信する際の符号化の配分や複数経路配信時のデータパケットの配分などが設定される。データパケットの配分は、データパケットの通番の除数Xでの剰余R0、R1、R2、…、などにより指定する。たとえば、除数X=10、剰余R0=0、剰余R1=1、剰余R2=3、剰余R3=「NULL」であれば、データパケットの通番を「10」で割った余りが「0」、「1」、「3」となるデータパケットを指定したことを意味する。
符号化の配分の場合、データパケットの指定に加え、当該データパケットを送信する(間引かない)のか送信しない(間引くのか)の情報(送信指定)を指定する。また、複数経路配信の配分の場合は、指定されたデータパケットが配信対象のデータパケットとなる。
配信ペア管理部11は、配信ペア関係を確立した後、連続配信種別情報、複数経路配信種別情報、通番開始値、通番終了値、符号化配分情報、および配信対象情報を制御部17に通知する。また、配信ペア管理部11は、配信ペア関係を確立した通信装置1に関連付けて、当該通信装置1との関係および当該配信ペアの状態を管理する上流配信ペア情報部12または下流配信ペア情報部13が登録される配信ペア情報テーブル16を生成する。
図6は、通信装置1―3の配信ペア管理部11が生成する配信ペア情報テーブル16の示す図である。図6において、配信ペア情報テーブル16の登録項目として、配信ペアの相手装置を識別するための配信ペアの相手となる通信装置1の識別子(たとえばMACアドレスなど)が登録される配信ペア装置識別子と、当該通信装置1が自装置の親であるのか、子であるのか、兄であるのか、弟であるのかなど自装置との関係が登録される配信ペア関係と、当該配信ペアに対応付けられた上流配信ペア情報部12または下流配信ペア情報部13を識別するための識別子が登録される配信ペア情報部識別子とが挙げられている。
図4に戻って、上流配信ペア情報部12は、自装置が上流となる配信ペアに対応付けられて自装置が上流となる配信ペアへのデータパケットの送信状態をデータパケットの通番に対応付けて記憶するデータ送信情報記憶部121、および自装置が上流となる配信ペアからの配信応答(ACKまたはNACK)の受信状態をデータパケットの通番に対応付けて記憶するACK/NACK受信情報記憶部122を備えている。
下流配信ペア情報部13は、自装置が下流となる配信ペアに対応付けられて自装置が下流となる配信ペアからのデータパケットの受信状態をデータパケットの通番に対応付けて記憶するデータ受信情報記憶部131、および自装置が下流なる配信ペアへの配信応答(ACKまたはNACK)の送信状態をデータパケットの通番に対応付けて記憶するACK/NACK送信情報記憶部132を備えている。
マルチキャスト通信処理部171は、通信部15を介して配信ペアの相手である通信装置1(以下、配信ペア装置ということがある)から受信したデータパケットや配信応答、配信ペア情報テーブル16、上流配信ペア情報部12、および下流配信ペア情報部13に基づいてマルチキャスト通信を実現する。通番欠落検査部172は、通信部15を介して配信ペア装置から受信したデータパケットの通番に基づいて欠落しているデータパケットの有無を検査する。
時間管理部14は、計時機能を備えており、マルチキャスト通信処理部171からの計測時間、通番、および送信タイマまたは要求タイマを示すタイマ種別を含む起動要求通知によってデータパケットの通番に対応付けて送信タイマまたは要求タイマを起動し、計測が終了した後に通番およびタイマ種別を含む計測完了通知をマルチキャスト通信処理部171に出力する。また、時間管理部14は、マルチキャスト通信処理部171からの通番、およびタイマ種別を含む停止要求通知によって対応する送信タイマまたは要求タイマを停止する。なお、時間管理部14は、起動要求通知によって通知された通番に対する送信タイマ、または要求タイマがすでに起動中の場合には、通知された起動要求通知を無効として、すでに起動中の送信タイマまたは要求タイマによる時間の計測を継続する。
つぎに、この発明における実施の形態1のネットワークシステムの動作について説明する。まず、図7のフローチャートを参照して、通信装置1の動作について説明する。ここでは、マルチキャストツリー管理装置2が、通信装置1からのマルチキャストグループへの参加/離脱の通知により図1に示したマルチキャストツリーを構築しているものとする。
通信部15を介してマルチキャストツリー管理装置2からのマルチキャストツリー情報を受信すると(ステップS100)、配信ペア管理部11は、マルチキャストツリー情報に基づいてマルチキャストツリーおよび各配信ペアを認識し(ステップS101)、認識した配信ペア間で配信ペア情報を通知して配信ペアの相手となる通信装置1との配信ペア関係を確立する(ステップS102)配信ペア構築処理を実行する。
上述したように、マルチキャストツリー情報には、親子関係、兄弟関係、親子関係および兄弟関係に関連する経路の使用可能帯域、パケットの遅延時間、パケットの損失率などが含まれている。したがって、配信ペア管理部11は、マルチキャストツリー情報から、親である通信装置1−1と子である通信装置1−2〜1−4、親である通信装置1−2と子である通信装置1−5〜1−7、親である通信装置1−3と子である通信装置1−8〜1−10、および親である通信装置1−4と子である通信装置1−11〜1−13の4組の親子関係と、通信装置1−1を親とする長男である通信装置1−2、次男である通信装置1−3、および三男である通信装置1−4と、通信装置1−2を親とする長男である通信装置1−5、次男である通信装置1−6、および三男である通信装置1−7と、通信装置1−3を親とする長男である通信装置1−8、次男である通信装置1−9、および三男である通信装置1−10と、通信装置1−4を親とする長男である通信装置1−11、次男である通信装置1−12、および三男である通信装置1−13との4組の兄弟関係によって、マルチキャストツリーが構築されていることを認識する。
配信ペア管理部11は、認識したマルチキャストツリーから自装置に関連する親子関係および兄弟関係を抽出し、抽出した親子関係および兄弟関係から配信ペアを認識する。具体的には、通信装置1−1の配信ペア管理部11は、通信装置1−2〜1−4の親であることを抽出し、自装置と通信装置1−2〜1−4とがそれぞれ配信ペアであって、かつ各配信ペアの上流であることを認識する。通信装置1−2の配信ペア管理部11は、通信装置1−1の子であること、通信装置1−5〜1−7の親であること、通信装置1−3,1−4と兄弟であり長男であることを抽出し、自装置と通信装置1−1,1−3,1−5〜1−7とがそれぞれ配信ペアであって、通信装置1−1との配信ペアにおいて下流であること、通信装置1−5〜1−7、1−3の上流であることを認識する。通信装置1−3の配信ペア管理部11は、通信装置1−1の子であること、通信装置1−8〜1−10の親であること、通信装置1−2,1−4と兄弟であり次男であることを認識し、自装置と通信装置1−1,1−2,1−4,1−8〜1−10とがそれぞれ配信ペアであって、通信装置1−1との配信ペアおよび通信装置11−2の配信ペアにおいて下流であること、通信装置1−4,1−8〜1−10の上流であることを認識する。通信装置1−4の配信ペア管理部11は、通信装置1−1の子であること、通信装置1−11〜1−13の親であること、通信装置1−2,1−3と兄弟であることを抽出し、自装置と通信装置1−1,1−3,1−11〜1−13とがそれぞれ配信ペアであって、通信装置1−1との配信ペアおよび通信装置1−3との配信ペアにおいて下流であること、通信装置1−11〜1−13との配信ペアにおいて上流であることを認識する。通信装置1−5の配信ペア管理部11は、通信装置1−2の子であること、通信装置1−6,1−7と兄弟であり長男であることを抽出し、自装置と通信装置1−2,1−6がそれぞれ配信ペアであって、通信装置1−2との配信ペアにおいて下流であること、通信装置1−6との配信ペアにおいて上流であることを認識する。通信装置1−6の配信ペア管理部11は、通信装置1−2の子であること、通信装置1−5,1−7と兄弟であり次男であることを抽出し、自装置と通信装置1−2,1−5,1−7がそれぞれ配信ペアであって、通信装置1−2との配信ペアおよび通信装置1−5との配信ペアにおいて下流であること、通信装置1−7との配信ペアにおいて上流であることを認識する。通信装置1−7の配信ペア管理部11は、通信装置1−2の子であること、通信装置1−5,1−6と兄弟であり三男であることを抽出し、自装置と通信装置1−2,1−6がそれぞれ配信ペアであって、通信装置1−2との配信ペアおよび通信装置1−6との配信ペアにおいて下流であることを認識する。通信装置1−8の配信ペア管理部11は、通信装置1−3の子であること、通信装置1−9,1−10と兄弟であり長男であることを抽出し、自装置と通信装置1−3,1−9がそれぞれ配信ペアであって、通信装置1−3との配信ペアにおいて下流であること、通信装置1−9との配信ペアにおいて上流であることを認識する。通信装置1−9の配信ペア管理部11は、通信装置1−3の子であること、通信装置1−8,1−10と兄弟であり次男であることを抽出し、自装置と通信装置1−3,1−8,1−10がそれぞれ配信ペアであって、通信装置1−3との配信ペアおよび通信装置1−8との配信ペアにおいて下流であること、通信装置1−10との配信ペアにおいて上流であることを認識する。通信装置1−10の配信ペア管理部11は、通信装置1−3の子であること、通信装置1−8,1−9と兄弟であり三男であることを抽出し、自装置と通信装置1−3,1−9がそれぞれ配信ペアであって、通信装置1−3との配信ペアおよび通信装置1−9との配信ペアにおいて下流であることを認識する。通信装置1−11の配信ペア管理部11は、通信装置1−4の子であること、通信装置1−12,1−13と兄弟であり長男であることを抽出し、自装置と通信装置1−4,1−12がそれぞれ配信ペアであって、通信装置1−4との配信ペアにおいて下流であること、通信装置1−12との配信ペアにおいて上流であることを認識する。通信装置1−12の配信ペア管理部11は、通信装置1−4の子であること、通信装置1−11,1−13と兄弟であり次男であることを抽出し、自装置と通信装置1−4,1−11,1−13がそれぞれ配信ペアであって、通信装置1−4との配信ペアおよび通信装置1−11の配信ペアにおいて下流であること、通信装置1−13との配信ペアにおいて上流であることを認識する。通信装置1−13の配信ペア管理部11は、通信装置1−4の子であること、通信装置1−11,1−12と兄弟であり三男であることを抽出し、自装置と通信装置1−4,1−12がそれぞれ配信ペアであって、通信装置1−4との配信ペアおよび通信装置1−12の配信ペアにおいて下流であることを認識する。
配信ペア管理部11は、認識したそれぞれの配信ペアの通信装置1に対する配信ペア情報を設定した配信ペア情報メッセージを生成し、生成した配信ペア情報メッセージを通信部15を介して送信して配信ペアを確立する。これにより、ネットワークシステムのマルチキャストツリーにおいて図8に示すような配信ペアが確立する。
図8において、点線で示した通信装置1−1と通信装置1−2〜1−4、通信装置1−2と通信装置1−5〜1−7、通信装置1−3と通信装置1−8〜1−10、および通信装置1−4と通信装置1−11〜1−13の各配信ペアが最初のデータパケットの送信に用いられる配信ペアであり、実線で示した通信装置1−1と通信装置1−2、通信装置1−2と通信装置1−3、通信装置1−3と通信装置1−4、通信装置1−2と通信装置1−5、通信装置1−5と通信装置1−6、通信装置1−6と通信装置1−7、通信装置1−3と通信装置1−8、通信装置1−8と通信装置1−9、通信装置1−9と通信装置1−10、通信装置1−4と通信装置1−11、通信装置1−11と通信装置1−12、および通信装置1−12と通信装置1−13の各配信ペアが配信応答およびデータパケット再送、すなわちARQに用いられる配信ペアである。
配信ペア管理部11は、それぞれの配信ペアにおいて、配信ペア装置の通信装置識別子に対応付けて、当該配信ペア装置と自装置との配信ペア関係と、自装置が上流である配信ペアを管理する上流配信ペア情報部12との対応付け、または自装置が下流である配信ペアを管理する下流配信ペア情報部13との対応付けを配信ペア情報テーブル16に登録する。また、配信ペア管理部11は、連続配信種別情報、複数経路配信種別情報、通番開始値、通番終了値、符号化配分情報、および配信対象情報を制御部17に通知する。
配信ペア管理部11は、データ送信情報記憶部121、ACK/NACK受信情報記憶部122、データ受信情報記憶部131、およびACK/NACK送信情報記憶部132を初期化する。たとえば、通番開始値が「1」、通番終了値が「10」の場合、データ送信情報記憶部121には通番「1」〜通番「10」に対応付けてデータが未送信であることを登録し、ACK/NACK受信情報記憶部122には通番「1」〜通番「10」に対応付けて配信応答が未受信であることを登録し、データ受信情報記憶部131には通番「1」〜通番「10」に対応付けてデータが未受信であることを登録し、ACK/NACK送信情報記憶部132には通番「1」〜通番「10」に対応付けて配信応答が未送信であることを登録する。
配信ペア管理部11が配信ペア構築処理を実行した後、通信装置1は、マルチキャスト通信処理(ステップS103)を実行することでマルチキャスト通信状態となる。
図9のフローチャートを参照して、マルチキャスト通信処理の詳細な動作について説明する。データパケットまたは配信応答を受信すると、通信部15は、受信したデータパケットまたは配信応答をマルチキャスト通信処理部171に出力する。マルチキャスト通信処理部171は、通番n(通番開始値≦n≦通番終了値)のデータパケット(データ(n))を受信すると、データ受信処理を実行する(ステップS200,S201)。
図10のフローチャートを参照して、データ受信処理の詳細な動作を説明する。マルチキャスト通信処理部171は、データ(n)に対応する配信応答としてACK(n)を上流の通信装置1に送信する(ステップS300)。具体的には、マルチキャスト通信処理部171は、データ(n)の送信元MACアドレスを抽出する。マルチキャスト通信処理部171は、抽出した送信元MACアドレスを検索キーとして配信ペア情報テーブル16の配信ペア装置識別子を検索し、送信元MACアドレスに対応付けて配信ペア情報テーブル16の配信ペア情報部識別子に登録されている識別子を抽出する。マルチキャスト通信処理部171は、抽出した識別子が示す下流配信ペア情報部13のデータ受信情報記憶部131にデータ(n)を受信したこと、およびデータ(n)を記憶させる。また、マルチキャスト通信処理部171は、抽出した識別子が示す下流配信ペア情報部13のACK/NACK送信情報記憶部132にデータ(n)に対するACK(n)を送信したことを記憶させる。マルチキャスト通信処理部171は、配信ペア情報テーブル16の配信ペア関係を検索して配信ペア関係に「兄」が登録されている配信ペア関係に対応付けられた配信ペア装置識別子を抽出する。マルチキャスト通信処理部171は、配信ペア関係に「兄」が登録されていない場合には、配信ペア関係に「親」が登録されている配信ペア関係に対応付けられた配信ペア装置識別子を抽出する。マルチキャスト通信処理部171は、通信部15を介して抽出した配信ペア装置識別子が示す通信装置1に配信応答としてデータ(n)に対するACK(n)を送信する。
マルチキャスト通信処理部171は、時間管理部14においてデータ(n)に対する要求タイマ(n)が起動中か否かを判定し、データ(n)に対する要求タイマ(n)が起動中の場合には通番「n」および要求タイマであることを示すタイマ種別を含む停止要求通知を時間管理部14に出力して要求タイマ(n)を停止する(ステップS301,S302)。
マルチキャスト通信処理部171は、配信ペア関係が親子関係であって下流の通信装置1が存在するか否かを判定し、配信ペア関係が親子関係であって下流の通信装置1が存在する場合には、受信したデータ(n)を下流の通信装置1に送信する(ステップS303,S304)。具体的には、マルチキャスト通信処理部171は、配信ペア情報テーブル16の配信ペア関係に「子」が登録されているすべての配信ペア関係に対応付けられている配信ペア装置識別子および配信ペア情報部識別子を抽出する。マルチキャスト通信処理部171は、通信部15を介して抽出した配信ペア装置識別子が示す通信装置1に受信したデータ(n)を送信する。マルチキャスト通信処理部171は、抽出した配信ペア情報部識別子が示す上流配信ペア情報部12のデータ送信情報記憶部121にデータ(n)を送信したことを記憶させる。
マルチキャスト通信処理部171は、各上流配信ペア情報部12のACK/NACK受信情報記憶部122を検索してデータ(n)に対するACK(n)が未受信であるか否かを判定する(ステップS305)。データ(n)に対するACK(n)が未受信である場合、マルチキャスト通信処理部171は、計測時間、通番「n」、および送信タイマであることを示すタイマ種別を含む起動要求通知を時間管理部14に出力してデータ(n)に対する送信タイマ(n)を起動する(ステップS306)。
配信ペア関係が親子関係であって下流の通信装置1が存在しない場合、データ(n)に対するACK(n)が受信済みである場合、またはデータ(n)に対する送信タイマ(n)を起動した後に、マルチキャスト通信処理部171は、配信ペア関係が兄弟関係であって下流の通信装置1が存在するか否かを判定する(ステップS307)。具体的には、マルチキャスト通信処理部171は、配信ペア情報テーブル16の配信ペア関係に「弟」が登録されている場合には、配信ペア関係が兄弟関係であって下流の通信装置1が存在すると判定する。
配信ペア関係が兄弟関係であって下流の通信装置1が存在する場合、マルチキャスト通信処理部171は、各上流配信ペア情報部12のACK/NACK受信情報記憶部122を検索してデータ(n)に対するACK(n)が未受信であるか否かを判定する(ステップS308)。データ(n)に対するACK(n)が未受信である場合、マルチキャスト通信処理部171は、計測時間、通番「n」、および送信タイマであることを示すタイマ種別を含む起動要求通知を時間管理部14に出力してデータ(n)に対する送信タイマ(n)を起動する(ステップS309)。
配信ペア関係が兄弟関係であって下流の通信装置1が存在しない場合、データ(n)に対するACK(n)が受信済みである場合、またはデータ(n)に対する送信タイマ(n)を起動した後に、マルチキャスト通信処理部171は、連続配信であるか否かを判定し、連続配信である場合には、計測時間、通番「n+1」、および要求対まであることを示すタイマ種別を含む起動要求通知を時間管理部14に出力し、受信したデータ(n)のつぎのデータ、すなわち通番「n+1」のデータパケットであるデータ(n+1)に対応する要求タイマ(n+1)を起動する(ステップS310,S311)。
連続配信ではない場合、または要求タイマ(n+1)を起動した後、マルチキャスト通信処理部171は、受信したデータ(n)の通番nを含む通番欠落検査要求を通番欠落検査部172に出力する。通番欠落検査要求を受けると通番欠落検査部172は通番欠落検査処理を実行する(ステップS312)。
図11のフローチャートを参照して、通番欠落検査処理の詳細な動作を説明する。通番欠落検査部172は、各下流配信ペア情報部13のデータ受信情報記憶部131を検索して、データ(1)からデータ(n)の中で未受信のデータ(m)があるか否かを判定する(ステップS400)。未受信のデータ(m)がある場合、通番欠落検査部172は、通信部15を介して未受信のデータ(m)に対するNACK(n)を送信する(ステップS401)。具体的には、通番欠落検査部172は、配信ペア情報テーブル16の配信ペア関係を検索して配信ペア関係に「兄」が登録されている配信ペア関係に対応付けられた配信ペア装置識別子を抽出する。通番欠落検査部172は、配信ペア関係に「兄」が登録されていない場合には、配信ペア関係に「親」が登録されている配信ペア関係に対応付けられた配信ペア装置識別子を抽出する。通番欠落検査部172は、通信部15を介して抽出した配信ペア装置識別子が示す通信装置1に配信応答としてデータ(m)に対するNACK(m)を送信する。
図9に戻って、マルチキャスト通信処理部171は、データ(n)に対するACK(n)を受信すると、ACK受信処理を実行する(ステップS202,S203)。図12のフローチャートを参照して、ACK受信処理の詳細な動作を説明する。マルチキャスト通信処理部171は、受信したACK(n)に対応するデータ(n)が受信済みであるか否かを判定する(ステップS500)。具体的には、マルチキャスト通信処理部171は、各下流配信ペア情報部13のデータ受信情報記憶部131を検索して、通番「n」のデータ(n)を受信したことが登録されているかを検索し、データ(n)を受信したことが登録されている場合にはデータ(n)が受信済みであると判定する。
データ(n)が受信済みであって、かつデータ(n)に対する送信タイマ(n)が起動中の場合、マルチキャスト通信処理部171は、通番「n」および送信タイマであることを示すタイマ種別を含む停止要求通知を時間管理部14に出力してデータ(n)に対する送信タイマ(n)を停止する(ステップS501,S502)。データ(n)が未受信の場合、マルチキャスト通信処理部171は、計測時間、通番「n」、および要求タイマであることを示す起動要求通知を時間管理部14に出力して、データ(n)に対する要求タイマ(n)を起動する(ステップS503)。
図9に戻って、データ(n)に対する送信時間が経過した場合、すなわち、時間管理部14から通番「n」、および送信タイマであることを示すタイマ種別を含む計測完了通知を受けた場合、マルチキャスト通信処理部171は、送信時間経過処理を実行する(ステップS204,S205)。
図13のフローチャートを参照して送信時間経過処理の詳細な動作を説明する。マルチキャスト通信処理部171は、各下流配信ペア情報部13のデータ受信情報記憶部131を検索してデータ(n)が受信済みであるか否かを判定する(ステップS600)。データ(n)が受信済みの場合、マルチキャスト通信処理部171は、配信ペア情報テーブル16の配信ペア関係に「弟」が登録されている配信ペア関係に対応する配信ペア装置識別子および配信ペア情報部識別子を抽出する。マルチキャスト通信処理部171は、通信部15を介して抽出した配信ペア装置識別子が示す通信装置1にデータ(n)を送信する(ステップS601)。マルチキャスト通信処理部171は、抽出した配信ペア情報識部別子が示す下流配信ペア情報部13のデータ送信情報記憶部121に、データ(n)を送信したことを記憶させる。
データ(n)を受信していない場合、またはデータ(n)を送信した後に、マルチキャスト通信処理部171は、計測時間、通番「n」、および送信タイマであることを示すタイマ種別を含む起動要求通知を時間管理部14に出力してデータ(n)に対する送信タイマ(n)を起動する(ステップS602)。
図9に戻って、通信部15を介してデータ(n)に対するNACK(n)を受信すると、マルチキャスト通信処理部171は、NACK受信処理を実行する(ステップS206,S207)。図14のフローチャートを参照して、NACK受信処理の動作を詳細に説明する。マルチキャスト通信処理部171は、各下流配信ペア情報部13のデータ受信情報記憶部131を検索してデータ(n)を受信しているか否かを判定する(ステップS700)。データ(n)が受信済みの場合、マルチキャスト通信処理部171は、NACK(n)から送信元MACアドレスを抽出し、通信部15を介して、抽出した送信元MACアドレス宛、すなわちNACKを送信した通信装置1にデータ(n)を送信する(ステップS701)。
また、マルチキャスト通信処理部171は、抽出した送信元MACアドレスを検索キーとして配信ペア情報テーブル16の配信ペア装置識別子を検索し、送信元MACアドレスが登録されている配信ペア装置識別子に対応付けられている配信ペア情報部識別子を抽出する。マルチキャスト通信処理部171は、抽出した配信ペア情報部識別子が示す上流配信ペア情報部12のデータ送信情報記憶部121にデータ(n)を送信したことを記憶させるとともに、抽出した配信ペア情報部識別子が示す上流配信ペア情報部12のACK/NACK受信情報記憶部122にデータ(n)に対するNACK(n)を受信したことを記憶させる。
データ(n)が未受信の場合、マルチキャスト通信処理部171は、計測時間、通番「n」、および要求タイマであることを示すタイマ種別を含む起動要求通知を時間管理部14に出力して、データ(n)に対する要求タイマ(n)を起動する(ステップS702)。
図9に戻って、データ(n)に対する要求時間が経過した場合、すなわち、時間管理部14から通番「n」、および要求タイマであることを示すタイマ種別を含む計測完了通知を受けた場合、マルチキャスト通信処理部171は、要求時間経過処理を実行する(ステップS208,S209)。
図15のフローチャートを参照して、要求時間経過処理の詳細な動作を説明する。マルチキャスト通信処理部171は、配信ペア情報テーブル16の配信ペア関係に「兄」が登録されている配信ペア関係に対応する配信ペア装置識別子および配信ペア情報部識別子を抽出する。マルチキャスト通信処理部171は、配信ペア関係に「兄」が登録されていない場合には、配信ペア関係に「親」が登録されている配信ペア関係に対応付けられた配信ペア装置識別子を抽出する。マルチキャスト通信処理部171は、通信部15を介して、抽出した配信ペア装置識別子が示す通信装置1にデータ(n)に対するNACK(n)を送信する(ステップS800)。また、マルチキャスト通信処理部171は、抽出した配信ペア情報部識別子が示す下流配信ペア情報部13のACK/NACK送信情報記憶部132にデータ(n)に対するNACK(n)を送信したことを記憶させる。
マルチキャスト通信処理部171は、計測時間、通番「n」、および要求タイマを示すタイマ種別を含む起動要求通知を時間管理部14に出力して、データ(n)に対する要求タイマ(n)を起動する(ステップS801)。
つぎに、図16〜図22を参照してネットワークシステムの全体動作を説明する。ここでは、説明を簡単にするために、ネットワークシステムは、図16に示すように4台の通信装置1A〜1Dで構成されているものとする。図16においては、通信装置1Aが親であり、通信装置1B〜1Dが子となる親子関係、通信装置1Bが長男、通信装置1Cが次男、通信装置1Dが三男となる兄弟関係によるマルチキャストツリーが構築されている。なお、ここでは、通信装置1A〜1Dは配信ペア構築処理を実行済みであり、先の図9のフローチャートを参照して説明したマルチキャスト通信処理に処理が移行されているものとする。
まず、図17のシーケンス図を参照して、データ(n)が通信装置1B〜1Dに正常に到達した場合の動作を説明する。通信装置1Aは、通番「n」のデータパケットであるデータ(n)を通信装置1B〜1Dに送信する。通信装置1Bはデータ(n)を受信すると、先の図10のフローチャートを参照して説明したデータ受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する送信タイマ(n)を起動し、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Aに送信する。通信装置1Aは、通信装置1BからACK(n)を受信すると先の図12のフローチャートを参照して説明したACK受信処理を実行する。
通信装置1Dはデータ(n)を受信すると、データ受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Cに送信する。
一方、通信装置1Cは、データ(n)を受信する前に、通信装置1Dからデータ(n)に対するACK(n)を受信する。ACK(n)を受信すると、通信装置1CはACK受信処理を実行する。これにより、通信装置1Cは、データ(n)に対する要求タイマ(n)を起動する。通信装置1Cは、要求タイマ(n)の計測が終了する前に通信装置1Aからデータ(n)を受信し、データ受信処理を実行する。これにより、通信装置1Cは、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Bに送信する。
通信装置1Bは、データ(n)に対するACK(n)を受信するとACK受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する要求タイマ(n)を停止する。このようにデータ(n)が親である通信装置1Aから子である通信装置1B〜1Dに到達した場合、データ(n)に対するACK(n)は、兄弟関係の上流の通信装置に送信され、兄弟関係における上流の通信装置が存在しない場合のみ親子関係の上流の通信装置に送信される。
つぎに、図18に示すように、通信装置1Aと通信装置1Cとの経路に障害が発生した場合のネットワークシステムの動作を、図19および図20のシーケンス図を参照して説明する。まず、要求時間経過処理によってデータ(n)が再送される場合の動作を図19のシーケンス図を参照して説明する。
通信装置1Aは、通番「n」のデータパケットであるデータ(n)を通信装置1B〜1Dに送信する。通信装置1Bはデータ(n)を受信すると、先の図10のフローチャートを参照して説明したデータ受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する送信タイマ(n)を起動し、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Aに送信する。通信装置1Aは、通信装置1BからACK(n)を受信すると先の図12のフローチャートを参照して説明したACK受信処理を実行する。
通信装置1Dはデータ(n)を受信するとデータ受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Cに送信する。
一方、通信装置1Cは、データ(n)を受信する前に、通信装置1Dからデータ(n)に対するACK(n)を受信する。ACK(n)を受信すると、通信装置1CはACK受信処理を実行する。これにより、通信装置1Cは、データ(n)に対する要求タイマ(n)を起動する。通信装置1Aと通信装置1Cとの間の経路に障害が発生しているため、通信装置1Aが送信したデータ(n)は通信装置1Cに到達しない。要求タイマ(n)の計測が終了すると、通信装置1Cは、先の図15のフローチャートを参照して説明した要求時間経過処理を実行する。これにより、通信装置1Cは、データ(n)に対する要求タイマ(n)を起動するとともに、データ(n)に対するNACK(n)を通信装置1Bに送信する。
通信装置1Cからデータ(n)に対するNACK(n)を受信すると、通信装置1Bは、先の図14のフローチャートを参照して説明したNACK受信処理を実行する。通信装置1Bは、データ(n)を受信済みであるので、データ(n)を通信装置1Cに送信する。
通信装置1Cは、通信装置1Bからデータ(n)を受信すると、データ受信処理を実行する。これにより、通信装置1Cは、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Bに送信する。
通信装置1Bは、通信装置1Bからデータ(n)に対するACK(n)を受信すると、ACK受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する送信タイマ(n)を停止する。
つぎに、送信時間経過処理によってデータ(n)が再送される場合の動作を図20のシーケンス図を参照して説明する。通信装置1Aは、通番「n」のデータパケットであるデータ(n)を通信装置1B〜1Dに送信する。通信装置1Bはデータ(n)を受信すると、先の図10のフローチャートを参照して説明したデータ受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する送信タイマ(n)を起動し、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Aに送信する。通信装置1Aは、通信装置1BからACK(n)を受信すると先の図12のフローチャートを参照して説明したACK受信処理を実行する。
通信装置1Dはデータ(n)を受信するとデータ受信処理を実行する。これにより、通信装置1Dは、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Cに送信する。
一方、通信装置1Cは、データ(n)を受信する前に、通信装置1Dからデータ(n)に対するACK(n)を受信する。ACK(n)を受信すると、通信装置1CはACK受信処理を実行する。これにより、通信装置1Cは、データ(n)に対する要求タイマ(n)を起動する。
ここで、通信装置1Cのデータ(n)に対する要求タイマ(n)の計測が終了する前に、通信装置1Bのデータ(n)に対する送信タイマ(n)の計測が終了したとする。通信装置1Bは、データ(n)に対する送信タイマ(n)の計測が終了すると、先の図13のフローチャートを参照して説明した送信時間経過処理を実行する。これにより、通信装置1Bは、データ(n)に対する送信タイマ(n)を起動するとともに、データ(n)を通信装置1Cに送信する。
通信装置1Cは、通信装置1Bからデータ(n)を受信すると、データ受信処理を実行する。これにより、通信装置1Cは、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Bに送信する。
通信装置1Bは、通信装置1Cからデータ(n)に対するACK(n)を受信すると、ACK受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する送信タイマ(n)を停止する。
つぎに、図21に示すように、通信装置1Aと通信装置1Bとの間の経路と、通信装置1Aと通信装置1Cとの間の経路の2箇所にて障害が発生した場合の動作を、図22のシーケンス図を参照して説明する。
通信装置1Aは、通番「n」のデータパケットであるデータ(n)を通信装置1B〜1Dに送信する。通信装置1Dはデータ(n)を受信すると、先の図10のフローチャートを参照して説明したデータ受信処理を実行する。これにより、通信装置1Dは、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Cに送信する。
通信装置1Cは、通信装置1Dからのデータ(n)に対するACK(n)を受信すると、先の図12のフローチャートを参照して説明したACK受信処理を実行する。これにより、通信装置1Cは、データ(n)に対する要求タイマ(n)を起動する。通信装置1Aと通信装置1Cとの間の経路に障害が発生しているため、通信装置1Aが送信したデータ(n)は通信装置1Cに到達しない。要求タイマ(n)の計測が終了すると、通信装置1Cは、先の図15のフローチャートを参照して説明した要求時間経過処理を実行する。これにより、通信装置1Cは、データ(n)に対する要求タイマ(n)を起動するとともに、データ(n)に対するNACK(n)を通信装置1Bに送信する。
通信装置1Cからデータ(n)に対するNACK(n)を受信すると、通信装置1Bは、先の図14のフローチャートを参照して説明したNACK受信処理を実行する。通信装置1Bは、データ(n)を未受信であるので、データ(n)に対する要求タイマ(n)を起動する。通信装置1Aと通信装置1Bとの間の経路にて障害が発生しているため、データ(n)は到達しない。要求タイマ(n)の計測が終了すると、通信装置1Bは、要求時間経過処理を実行する。これにより、通信装置1Bは、データ(n)に対する要求タイマ(n)を起動するとともに、データ(n)に対するNACK(n)を通信装置1Aに送信する。
通信装置1Bからデータ(n)に対するNACK(n)を受信すると、通信装置1Aは、先の図14のフローチャートを参照して説明したNACK受信処理を実行して、データ(n)を通信装置1Bに送信する。
通信装置1Bは、通信装置1Aからデータ(n)を受信すると、データ受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する要求タイマ(n)を停止するし、送信タイマ(n)を起動するとともに、データ(n)に対するACK(n)を通信装置1Aに送信する。通信装置1Bからデータ(n)に対するACK(n)を受信すると、通信装置1AはACK受信処理を実行する。
一方、送信タイマ(n)の計測が終了すると、通信装置1Bは、先の図13のフローチャートを参照して説明した送信時間経過処理を実行する。これにより、通信装置1Bは、データ(n)を通信装置1Cに送信する。
通信装置1Cは、通信装置1Bからデータ(n)を受信すると、データ受信処理を実行する。これにより通信装置1Cは、データ(n)に対する要求タイマ(n)を停止するとともに、データ(n)に対するACK(n)を通信装置1Bに送信する。
通信装置1Bは、通信装置1Cからデータ(n)に対するACK(n)を受信すると、ACK受信処理を実行する。これにより、通信装置1Bは、データ(n)に対する送信タイマ(n)を停止する。
つぎに、図23および図24を参照して、先の図1に示したこの発明の通信装置1を用いてマルチキャストツリーを構成した場合の配信応答による再送処理負荷と、先の図2に示した従来の通信装置3を用いてマルチキャストツリーを構成した場合の木構造ACKベースによる再送処理負荷とを比較する。
図23に示すように、1つのデータパケットをマルチキャストする場合、従来の木構造ACKベースにおける通信装置3のデータ再送数は、「λ=1−パケット廃棄率」とすると、「(子の数)×(1/λ2−1)」となる。これに対して本発明においては、子と弟が存在する通信装置1−2,1−3のデータ再送数は、「2×(1/λ2−1)」となり、子または弟が存在する通信装置1−4〜1−6,1−8,1−9.1−11.1−12のデータ再送数は、「1/λ2−1」となり、子および弟が存在しない通信装置1−7,1−10,1−13のデータ再送数は、「0」となる。
図24は、本発明の通信装置1を用いてマルチキャストツリーを構成した場合と、従来の木構造ACKベースの通信装置3を用いてマルチキャストツリーを構成した場合の各通信装置のデータ再送数を示している。図24においては、パケット廃棄率を「0.1」すなわち「λ=0.9」とした場合であり、本発明の通信装置1を用いた場合は、子および弟が存在しない末端の3台の通信装置のデータ再送数のみが「0」となり、他の13台の通信装置のデータ再送数は、「0.23」〜「0.47」であるのに対し、従来の木構造ACKベースの通信装置3を用いた場合は、子が存在しない9台の通信装置のデータ再送数が「0」となり、他の4台の通信装のデータ再送数は、「0.47」〜「0.93」となっている。すなわち、従来の木構造ACKベースの通信装置3を用いた場合は、データ再送数が子の数に依存(子の数に比例)するため、子の数が多い通信装置ほどデータ再送数が多く処理負荷が大きくなり、マルチキャストツリー内の通信装置のデータ再送数の処理負荷のばらつきが多い。これに対して、本発明の通信装置1を用いた場合、データ再送数は子の数に依存することなく、最悪でも子と弟の2台通信端末に対する処理負荷となるため、マルチキャストツリー内の通信装置のデータ再送数の処理負荷のばらつきが小さくなっている。
図23に戻って、1つのデータパケットをマルチキャストする場合、従来の木構造ACKベースにおける通信装置3のACK送信数は「1/λ」であり、本発明の通信装置1のACK送信数は「1/λ」である。すなわち、本発明の通信装置1を用いた場合、マルチキャストツリー内の通信装置のデータ再送数の処理負荷のばらつきを小さくしているが、ACK送信数は従来の木構造ACKベースの通信装置と変わらない。
また、データパケットの再送時期は、従来の木構造ACKベースにおける通信装置3では、ACK未受信すなわちNACK受信時のみであるのに対して、本発明の通信装置1では、ACK未受信すなわちNACK受信時に加え、データパケット受信時にも再送を行うようにしているので、データパケットの再送までの時間を短縮することができる。
以上説明したように、この実施の形態1においては、親子関係および兄弟関係の通信装置によってマルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステムにおいて、各通信装置は、マルチキャストツリー内に兄弟関係において自装置の兄となる通信装置が存在する場合には、自装置の兄となる通信装置に対してデータを受信したか否かを示すACKまたはNACKを送信して、自装置の兄となる通信装置との間でデータの再送を行い、マルチキャストツリー内に兄弟関係において自装置の兄となる通信装置が存在しない場合のみ、自装置の親となる通信装置に対してACKまたはNACKを送信して自装置の親となる通信装置との間でデータの再送を行うようにしているため、アプリケーションレイヤマルチキャストにおける通信装置のARQの処理負荷を分散させ、効率よくマルチキャスト通信を行うことができる。
また、この実施の形態1においては、連続配信時には、データパケットを受信してから予め定められた時間が経過してもつぎのデータパケットを受信しなかった場合には、配信応答送信の配信ペアの上流の通信装置につぎのデータパケットに対するNACKを送信し、ACKを受信してから予め定められた時間が経過してもつぎのデータパケットに対するACKを受信しなかった場合には、つぎのデータパケットをACKを送信した通信装置に送信するようにしているため、映像配信などリアルタイム性を要求されるアプリケーションのマルチキャスト通信においてデータパケットの再送による遅延を小さくすることができる。
実施の形態2.
図25〜図27を参照してこの発明の実施の形態2を説明する。この実施の形態2のネットワークシステムは、先の図1に示した実施の形態1のネットワークシステムと同様であるが、先の図4に示した通信装置1の代わりに通信装置1aを備えている。図25は、この実施の形態2で用いる通信装置1aの構成を示すブロック図である。図25に示した通信装置1aは、図4に示した通信装置1の上流配信ペア情報部12内に符号化/暗号化情報記憶部123が追加され、下流配信ペア情報部13内に符号化/暗号化情報記憶部133が追加され、符号化/暗号化部18が追加されている。実施の形態1の通信装置1と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
図25〜図27を参照してこの発明の実施の形態2を説明する。この実施の形態2のネットワークシステムは、先の図1に示した実施の形態1のネットワークシステムと同様であるが、先の図4に示した通信装置1の代わりに通信装置1aを備えている。図25は、この実施の形態2で用いる通信装置1aの構成を示すブロック図である。図25に示した通信装置1aは、図4に示した通信装置1の上流配信ペア情報部12内に符号化/暗号化情報記憶部123が追加され、下流配信ペア情報部13内に符号化/暗号化情報記憶部133が追加され、符号化/暗号化部18が追加されている。実施の形態1の通信装置1と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
上流配信ペア情報部12の符号化/暗号化情報記憶部123は、自身が属する配信ペアの符号化/暗号化情報を記憶する。下流配信ペア情報部13の符号化/暗号化情報記憶部133は、自身が属する配信ペアの符号化/暗号化情報を記憶する。ここで符号化/暗号化情報とは、データパケットを符号化/暗号化するか否かの情報、FECによる符号化のオリジナルパケット数および冗長パケット付加後のパケット数の情報、暗号化の暗号強度、鍵などの符号化/暗号化に必要な各種パラメータを含む符号化/暗号化に関する情報である。
符号化/暗号化部18は、符号化/暗号化情報記憶部123,133に記憶されている符号化/暗号化情報に基づいて、データパケットに対する符号化/復号化、または暗号化/復号化を行う。
つぎに、この実施の形態2の通信装置1aの動作について説明する。なお、この実施の形態2の通信装置1aの動作は、先の実施の形態1の通信装置1の動作とほぼ同じであり、相違点は、配信ペア構築処理における符号化/暗号化情報記憶部123,133への登録処理と、データパケットの送受信における符号化/復号化、または暗号化/復号化のみであるので、ここでは相違点のみを説明する。
配信ペア管理部11は、マルチキャストツリー管理装置2からマルチキャストツリー情報を受信すると、マルチキャストツリー情報に基づいてマルチキャストツリーおよび各配信ペアを認識する。上述したように、マルチキャストツリー情報には、親子関係および兄弟関係に関連する経路の使用可能帯域、パケットの遅延時間、パケットの損失率などの測定結果に関する情報が含まれている。配信ペア管理部11は、これらの測定結果に基づいて、配信ペア間においてデータパケットを符号化するか否か、暗号化するか否かを決定する。配信ペア管理部11は、符号化を行う場合にはFECによる符号化のオリジナルパケット数や冗長パケット付加後のパケット数など符号化に必要な各種パラメータを決定する。また、配信ペア管理部11は、暗号化を行う場合には、暗号化の暗号強度、鍵などの暗号化に必要な各種パラメータを決定する。これら必要な情報の決定方法は、たとえば、使用可能帯域、パケットの遅延時間、パケットの損失率などの測定結果を総合的に判定すればよく、その決定方法はどのようなものでもかまわない。
配信ペア管理部11は、認識したそれぞれの配信ペアの通信装置1aに対する配信ペア情報を設定した配信ペア情報メッセージ(図5参照)を生成し、生成した配信ペア情報メッセージを通信部15を介して送信して配信ペアを確立するとともに、配信ペア毎に決定した符号化/暗号化情報を当該配信ペアに対応する符号化/暗号化情報記憶部123,133に登録する。
また、配信ペア管理部11は、他の通信装置1aから配信ペア情報メッセージを受信すると、配信ペア情報メッセージを送信した通信装置1aとの配信ペアに対応する上流配信ペア情報部12の符号化/暗号化情報記憶部123、または下流配信ペア情報部13の符号化/暗号化情報記憶部133に配信ペア情報メッセージに含まれる符号化/暗号化情報を登録する。
パケット(データパケットおよび配信応答)を受信すると、通信部15は、受信したパケットを符号化/暗号化部18に出力する。符号化/暗号化部18は、パケットの送信元アドレスを抽出する。抽出した送信元MACアドレスを検索キーとして配信ペア情報テーブル16の配信ペア装置識別子を検索し、送信元MACアドレスに対応付けて配信ペア情報テーブル16の配信ペア情報部識別子に登録されている識別子を抽出する。符号化/暗号化部18は、抽出した識別子が示す上流配信ペア情報部12の符号化/暗号化情報記憶部123、または下流配信ペア情報部13の符号化/暗号化情報記憶部133に登録されている符号化/暗号化情報に基づいてパケットに対して復号処理を施す。符号化/暗号化部18は、復号処理を施したパケットをマルチキャスト通信処理部171に出力する。
パケットを送信する際、マルチキャスト通信処理部171は、符号化/暗号化部18にパケットを出力する。符号化/暗号化部18は、パケットの送信先MACアドレスを抽出する。符号化/暗号化部18は、抽出した送信元MACアドレスを検索キーとして配信ペア情報テーブル16の配信ペア装置識別子を検索し、送信先MACアドレスに対応付けて配信ペア情報テーブル16の配信ペア情報部識別子に登録されている識別子を抽出する。符号化/暗号化部18は、抽出した識別子が示す上流配信ペア情報部12の符号化/暗号化情報記憶部123、または下流配信ペア情報部13の符号化/暗号化情報記憶部133に登録されている符号化/暗号化情報に基づいてパケットに対して符号化/暗号化処理を施す。符号化/暗号化部18は、符号化/暗号化処理を施したパケットを通信部15を介して送信する。
このように、配信ペア毎に符号化/暗号化情報を記憶する通信装置1aを用いると、図26に示すように、親子関係および兄弟関係毎に異なる符号化や暗号化を行うことが可能となる。図26においては、通信装置1a−1〜1a−4が同一の符号化や暗号化によって通信を行うグループG1であり、通信装置1a−2,1a−5〜1a−7が同一の符号化や暗号化によって通信を行うグループG2であり、通信装置1a−3,1a−8〜1a10が同一の符号化や暗号化によって通信を行うグループG3であり、通信装置1a−4,1a−11〜1a−13が同一の符号化や暗号化によって通信を行うグループG4である。
これに対して、従来の通信装置3を用いた場合には、図27に示すようにマルチキャストツリー全体を1つのグループG4として同一の符号化や暗号化を行うため、たとえば、通信装置3−1〜3−4の経路と、通信装置3−3,3−8〜3−10の経路の状態(網状況)が異なる場合、一方の状態にあわせて符号化や暗号化を行わなければならない。一般的には、網状況の品質の悪い経路にあわせて符号化や暗号化を決定するので、品質の良い経路間での処理負荷が大きくなってしまう。しかし、この実施の形態2の通信装置1aを用いた場合、図26に示したように符号化や暗号化をグループ毎に決定することで符号化や暗号化の範囲を局所化することが可能であるので、それぞれの網状況に応じて必要な経路のみ符号化や暗号化を行うことができる。
以上説明したように、この実施の形態2においては、配信ペア管理部11が、マルチキャストツリー情報に含まれる親子関係および兄弟関係の経路状態に基づいて、配信ペア毎に符号化および暗号化を行うか否かと、符号化および/または暗号化に必要な各種パラメータとを選択し、選択結果を配信ペア毎に符号化/暗号化情報として管理し、符号化/暗号化部18が、配信ペア毎の符号化/暗号化情報に基づいて、送信するデータパケットに対して符号化処理および/または暗号化処理を施し、受信したデータパケットに対して符号化および/または暗号化に対する復号処理を施すようにしているので、マルチキャストツリーを構成する通信装置間の経路状況に応じて任意の範囲で符号化/暗号化を行い、計算機資源や網資源を有効に活用することができる。
なお、この実施の形態2においては、通信装置1aの配信ペア管理部11が、マルチキャストツリー情報に含まれる親子関係および兄弟関係に関連する経路の使用可能帯域、パケットの遅延時間、パケットの損失率などの測定結果から各配信ペアの符号化/暗号化情報を決定するようにしたが、マルチキャストツリー管理装置2が親子関係および兄弟関係に関連する経路の使用可能帯域、パケットの遅延時間、パケットの損失率などの測定結果から親子関係毎の符号化/暗号化情報を決定し、決定した符号化/暗号化情報をマルチキャストツリー情報に含めて通信装置1aに通知するようにしてもかまわない。
実施の形態3.
図28および図29を参照してこの発明の実施の形態3を説明する。先の実施の形態2では、符号化や暗号化を配信ペア毎に設定することで、マルチキャストツリー全体ではなく、親子関係や兄弟関係などグループ毎に符号化や暗号化を行うようにした。この実施の形態3は、FECの符号化においてパケットを再現することが可能であることに着目し、全てのデータパケットを送信するのではなく、予め定められたデータパケットのみを送信するものである。すなわち、全てのデータパケットの数から最低限データパケットの再現に必要な数のデータパケットのみを送信し、残りのデータパケットを間引いて送信する。
図28および図29を参照してこの発明の実施の形態3を説明する。先の実施の形態2では、符号化や暗号化を配信ペア毎に設定することで、マルチキャストツリー全体ではなく、親子関係や兄弟関係などグループ毎に符号化や暗号化を行うようにした。この実施の形態3は、FECの符号化においてパケットを再現することが可能であることに着目し、全てのデータパケットを送信するのではなく、予め定められたデータパケットのみを送信するものである。すなわち、全てのデータパケットの数から最低限データパケットの再現に必要な数のデータパケットのみを送信し、残りのデータパケットを間引いて送信する。
この実施の形態3のネットワークシステムおよび通信装置は、先の実施の形態2のネットワークシステムおよび通信装置1aと同じであるが、符号化/暗号化部18が、実施の形態2の機能に加えて、符号化/暗号化情報記憶部123,133に記憶されている符号化/暗号化情報に基づいてデータを送信するか否かを選択し、データパケットを間引く機能を備える。
つぎに、この実施の形態3の通信装置1aの動作に付いて説明する。なお、この実施の形態3の通信装置1aの動作は、先の実施の形態2の動作とほぼ同じであり、相違点は、符号化/暗号化部18が符号化/暗号化情報記憶部123,133に記憶されている符号化/暗号化情報に基づいてデータを送信するか否かを選択し、データパケットを間引くことであるので、ここでは相違点のみを説明する。
配信ペア構築処理において、配信ペア管理部11は、マルチキャストツリー情報に基づいてマルチキャストツリーおよび各配信ペアを認識するとともに、親子関係および兄弟関係に関連する経路の使用可能帯域、パケットの遅延時間、パケットの損失率などの測定結果に基づいて、FECによる符号化のオリジナルパケット数や冗長パケット付加後のパケット数など符号化に必要な各種パラメータを決定する。また、配信ペア管理部11は、符号化パラメータ、廃棄率、配送サイズに応じて、自装置と親子関係となる通信装置1a、すなわち兄弟関係にある通信装置1a内に送信するデータパケットが異なるように、配信パケット位置(送信するデータパケット)を決定する。
配信ペア管理部11は、認識したそれぞれの配信ペアの通信装置1aに対する配信ペア情報を設定した配信ペア情報メッセージ(図5参照)を生成する。このとき、配信ペア管理部11は、決定した配信パケット位置(符号化の配分)および当該配信パケット位置のデータパケットを送信するか否かの送信指定を配信配分フィールドに設定する。配信ペア管理部11は、生成した配信ペア情報メッセージを通信部15を介して送信して配信ペアを確立するとともに、配信ペア毎に決定した符号化/暗号化情報(配信パケット位置および送信指定を含む)を当該配信ペアに対応する符号化/暗号化情報記憶部123,133に登録する。
また、配信ペア管理部11は、他の通信装置1aから配信ペア情報メッセージを受信すると、配信ペア情報メッセージを送信した通信装置1aとの配信ペアに対応する上流配信ペア情報部12の符号化/暗号化情報記憶部123、または下流配信ペア情報部13の符号化/暗号化情報記憶部133に配信ペア情報メッセージに含まれる符号化/暗号化情報を登録する。
マルチキャスト通信処理において、通信部15を介してデータパケットを受信すると、符号化/暗号化部18は、データパケットを送信した通信装置1aとの配信ペアに対応する下流配信ペア情報部13の符号化/暗号化情報記憶部133に登録されている符号化/暗号化情報に基づいてデータパケットに対して復号処理を施す。符号化/暗号化部18は、復号処理を施したデータパケットをマルチキャスト通信処理部171に出力する。
マルチキャスト通信処理において、マルチキャスト通信処理部171からデータパケットが入力されると、符号化/暗号化部18は、データパケットの送信先MACアドレスおよび配信ペア情報テーブル16に基づいて送信先MACアドレスが配信ペア装置となる配信ペアに対応付けられた上流配信ペア情報部12を認識する。符号化/暗号化部18は、認識した上流配信ペア情報部12の符号化/暗号化情報記憶部123に記憶されている符号化/暗号化情報と当該データパケットの通番とに基づいて、当該データパケットが送信すべきデータパケットであるか否かを判定する。
具体的には、符号化/暗号化情報記憶部123には、符号化の配分として除数Xと剰余R0、R1、R2、…と、符号化の配分として指定されたデータパケットを送信するか否かを示す送信指定が登録されている。符号化/暗号化部18は、送信指定が送信することを示している場合には、データパケットの通番を除数Xで割った余りが、R0、R1、R2、…、のいずれかと等しいデータパケットのみを符号化して送信し、送信指定が送信しないこと示している場合には、データパケットの通番を除数Xで割った余りが、R0、R1、R2、…、のいずれかと等しいデータパケット以外のデータパケットを符号化して送信する。なお、マルチキャスト通信処理部171が、データパケットを送信するか否かを判定し、送信するデータパケットのみを符号化/暗号化部18に出力し、符号化/暗号化部18は符号化や暗号化のみを行うようにしてもよい。符号化/暗号化部18は、符号化処理や暗号化処理を施したデータパケットを通信部15を介して送信する。
なお、先の実施の形態1で説明したように、マルチキャスト通信処理におけるACK受信処理、NACK受信処理、および通番欠落検査処理は、各下流配信ペア情報部13のデータ受信情報記憶部131にデータ(n)を受信したことが登録されているか否かによってつぎに行なう処理を決定している。しかし、この実施の形態3では、データパケットを間引いて送信するようにしているため、受信せずに復元によって生成するデータパケット(データ(n))が存在する。
たとえば、先の図12のフローチャートを参照して説明したACK受信処理においては、データ(n)を受信していない場合(ステップS500,No)、データ(n)に対する要求タイマ(n)を起動する(ステップS503)。また、先の図14のフローチャートを参照して説明したNACK受信処理においては、データ(n)を受信していない場合(ステップS700,No)、データ(n)に対するNACKを受信するとデータ(n)に対する要求タイマを起動する(ステップS702)。データ(n)が間引かれるデータパケットである場合、要求タイマの計測が終了して要求時間経過処理が実行され、間引かれるデータパケットに対するNACKが送信されてしまう。
このような動作を防止するために、マルチキャスト通信処理部171は、要求タイマ(n)を起動する前(ACK受信処理の場合はステップS503の前、NACK受信処理の場合はステップS702の前)に、自装置の親となる通信装置1aとの配信ペアに対応する下流配信ペア情報部13の符号化/暗号化情報記憶部133に登録されている符号化の配分として除数Xと剰余R0、R1、R2、…、符号化の配分として指定されたデータパケットを送信するか否かを示す送信指定、およびデータ(n)の通番に基づいてデータ(n)が受信すべきデータパケットであるか否かを判定し、受信すべきデータパケットであると判定した場合のみ要求タイマ(n)を起動する。
また、通番欠落検査処理においては、通番欠落検査部172が、自装置の親となる通信装置1aとの配信ペアに対応する下流配信ペア情報部13の符号化/暗号化情報記憶部133に登録されている符号化の配分として除数Xと剰余R0、R1、R2、…、符号化の配分として指定されたデータパケットを送信するか否かを示す送信指定に基づいて、受信すべきデータパケットの通番を求め、求めた通番のみを受信対象としてデータパケットの欠落を判定すればよい。
つぎに、図28〜図30を参照して、先の図26に示したネットワークシステムの動作を、通信装置1a−1から通信装置1a−2〜1a−4に送信されるデータパケットに着目して説明する。なお、ここでは、通信装置1a−1は、通番1〜5のデータパケットを送信し、通番1〜3のデータパケットがオリジナルパケットであり、通番4,5のデータパケットが冗長パケットであり、3つのデータパケットから他の2つのデータパケットの復元が可能であるものとする。
まず、図28を参照して、1つのデータパケットを間引いた場合の動作について説明する。通信装置1a−1は、通信装置1a−2に対して通番1のデータパケットを間引いて通番2〜5のデータパケットを送信し、通信装置1a−3に対して通番2のデータパケットを間引いて通番1,3〜5のデータパケットを送信し、通信装置1a−4に対して通番3のデータパケットを間引いて通番1,2,4,5のデータパットを送信する。
通信装置1a−1と通信装置1a−2との間の経路において通番2のデータパケットが消失し、通信装置1a−2は通番3〜5のデータパケットを受信する。通信装置1a−2は、3つのデータパケットを受信しているので、送信時に間引かれた通番1のデータパケットおよび消失した通番2のデータパケットを復元して、通番1〜5のすべてのデータパケットを得る。
通信装置1a−1と通信装置1a−4との間の経路において通番3のデータパケットが消失し、通信装置1a−4は通番1,2,5のデータパケットを受信する。通信装置1a−2は、3つのデータパケットを受信しているので、送信時に間引かれた通番3のデータパケットおよび消失した通番4のデータパケットを復元して、通番1〜5のすべてのデータパケットを得る。
通信装置1a−1と通信装置1a−3との間の経路において通番1,3のデータパケットが消失し、通信装置1a−3は通番4,5のデータパケットを受信する。データパケットの復元には最低3つのデータパケットが必要であるため、通信装置1a−3はデータパケットを復元することはできないが、通信装置1a−4が通番1のデータパケットを受信しており、通番1のデータパケットに対するACKを通信装置1a−3に送信している。通番1のデータパケットは通信装置1a−3が受信すべきデータパケットである。したがって、通信装置1a−3は、通信装置1a−2に対して通番1のデータパケットに対するNACKを送信し、通信装置1a−2によって再送された通番1のデータパケットを受信する。これにより、通信装置1a−1から受信した通番4,5のデータパケットおよび通信装置1a−2から再送された通番1のデータパケットを用いて間引かれた通番2のデータパケットおよび消失した通番3のデータパケットを復元して、通番1〜5のすべてのデータパケットを得る。
つぎに、図29を参照して、2つのデータパケットを間引いた場合の動作を説明する。通信装置1a−1は、通信装置1a−2に対して通番1,2のデータパケットを間引いて通番3〜5のデータパケットを送信し、通信装置1a−3に対して通番2,3のデータパケットを間引いて通番1,4,5のデータパケットを送信し、通信装置1a−4に対して通番3,4のデータパケットを間引いて通番1,2,5のデータパットを送信する。
通信装置1a−2は通番3〜5のデータパケットを受信する。通信装置1a−2は、3つのデータパケットを受信しているので、送信時に間引かれた通番1,2のデータパケットを復元して、通番1〜5のすべてのデータパケットを得る。通信装置1a−4は通番1,2,5のデータパケットを受信する。通信装置1a−4は、3つのデータパケットを受信しているので、送信時に間引かれた通番3,4のデータパケットを復元して、通番1〜5のすべてのデータパケットを得る。
通信装置1a−1と通信装置1a−3との間の経路において通番1のデータパケットが消失し、通信装置1a−3は通番4,5のデータパケットを受信する。データパケットの復元には最低3つのデータパケットが必要であるため、通信装置1a−3はデータパケットを復元することはできないが、通信装置1a−4が通番1のデータパケットを受信しており、通番1のデータパケットに対するACKを通信装置1a−3に送信している。通番1のデータパケットは通信装置1a−3が受信すべきデータパケットである。したがって、通信装置1a−3は、通信装置1a−2に対して通番1のデータパケットに対するNACKを送信し、通信装置1a−2によって再送された通番1のデータパケットを受信する。これにより、通信装置1a−1から受信した通番4,5のデータパケットおよび通信装置1a−2から再送された通番1のデータパケットを用いて間引かれた通番2,3のデータパケットを復元して、通番1〜5のすべてのデータパケットを得る。
以上説明したように、この実施の形態3においては、配信ペア毎に符号化を行う際に送信すべきデータパケットの通番を示す送信指定情報を記憶し、符号化/暗号化部は、送信指定情報に基づいて、送信すべき通番のデータパケットのみに対して符号化処理を施して送信するようにしているため、受信側通信装置の復号処理付加は大きくなり非効率ではあるが、網資源を節約することができる。
実施の形態4.
図30〜図34を参照してこの発明の実施の形態4を説明する。この実施の形態4のネットワークシステムおよび通信装置は先の図1に示したネットワークシステムおよび通信装置1とほぼ同じであり、相違点は、配信ペア管理部11が、配信ペア構築処理において、配信ペアとして、単一経路(親子関係および兄弟関係)の配信ペアに加え、複数経路の配信ペアを確立することである。
図30〜図34を参照してこの発明の実施の形態4を説明する。この実施の形態4のネットワークシステムおよび通信装置は先の図1に示したネットワークシステムおよび通信装置1とほぼ同じであり、相違点は、配信ペア管理部11が、配信ペア構築処理において、配信ペアとして、単一経路(親子関係および兄弟関係)の配信ペアに加え、複数経路の配信ペアを確立することである。
まず、配信ペア構築処理において複数経路の配信ペアを確立する動作を説明する。配信ペア管理部11は、マルチキャストツリー情報からマルチキャストツリーを構成する通信装置1の親子関係および兄弟関係を認識する。また、配信ペア管理部11は、親子関係および兄弟関係に関連する経路の使用可能帯域、パケットの遅延時間、パケットの損失率などの測定結果に基づいて、途中経路においてボトルネックにより帯域が確保できない経路があるか否かを判定する。帯域が確保できない経路がないと判定した場合、配信ペア管理部11は、先の実施の形態1で説明したように、親子関係および兄弟関係による単一経路の配信ペアを確立する。
帯域が確保できない経路があると判定した場合、配信ペア管理部11は、当該経路の下流となる通信装置1が、兄弟関係において兄と弟を有する通信装置1であるか否かを判定する。兄弟関係において兄と弟を有する通信装置1ではない場合、配信ペア管理部11は、親子関係および兄弟関係による単一経路の配信ペアを確立する。兄弟関係において兄と弟を有する通信装置1である場合、配信ペア管理部11は、複数経路による配信ペアを確立する。
具体的には、兄弟関係において兄と弟を有する通信装置1が自装置である場合、配信ペア管理部11は、親である通信装置1を上流とし自装置を下流とする配信ペアと、兄である通信装置1を上流とし自装置を下流とする配信ペアと、弟である通信装置1を上流とし自装置を下流とする配信ペアを、それぞれ複数経路の配信ペアに決定する。兄弟関係において兄と弟を有する通信装置1が自装置と親子関係または兄弟関係にある場合、配信ペア管理部11は、自装置を上流とし兄弟関係において兄と弟を有する通信装置1を下流とする配信ペアを複数経路の配信ペアに決定する。
複数経路の配信ペアを決定した後に、配信ペア管理部11は、複数経路の配信ペアとした通信装置1を除いて、親子関係および兄弟関係の単一経路の配信ペアを決定し、各配信ペア毎に配信ペア情報メッセージ(図5参照)をやりとりして配信ペアを確立する。このとき、配信ペア管理部11は、複数経路配信種別フィールドにデータパケットを複数経路で配信するのか単一経路で配信するのかの複数経路配信種別情報を設定する。
また、配信ペア管理部11は、データパケットを複数経路で配信する場合には、複数経路における1周期のデータ受信単位をXとし、親子関係および兄弟関係に関連する経路の使用可能帯域に基づいて、帯域に余裕がある経路に多くのデータパケットを配信するようにするなど、複数経路の上流の通信装置1が複数経路の下流の通信装置1に対して送信するデータパケットの配分を決定し、決定したデータパケットの配分を配信配分フィールドに設定する。
たとえば、図1に示したネットワークシステムの通信装置1−1と通信装置1−2との経路において帯域が確保できない場合、図30に示すように、通信装置1−3が複数経路の配信ペアの中心となり、通信装置1−3の親である通信装置1−1、通信装置1−3の兄である通信装置1−2、および通信装置1−3の弟である通信装置1−4が周囲となる複数経路の配信ペアが確立される。また、通信装置1−1を上流とし通信装置1−2を下流とする親子関係の単一経路の配信ペア、通信装置1−1を上流とし通信装置1−4を下流とする親子関係の単位経路の配信ペア、および通信装置1−2を上流とし通信装置1−4を下流とする兄弟関係の単一経路の配信ペアが確立される。
図30において、通信装置1−1と通信装置1−2〜1−3の配信ペアが最初のデータパケットの送信に用いられる配信ペアであり、通信装置1−1と通信装置1−2、通信装置1−2と通信装置1−3、通信装置1−3と通信装置1−4、および通信装置1−2と通信装置1−4の各配信ペアが配信応答およびデータパケット再送、すなわちARQに用いられる配信ペアである。
なお、複数経路の配信ペアを確立した場合、配信ペア管理部11は、配信ペア情報テーブル16の配信ペア関係には自装置に対して周囲であるのか、中心であるのかを登録する。
この実施の形態4の通信装置1のマルチキャスト通信処理の動作は、先の実施の形態1の通信装置1のマルチキャスト通信処理の動作とほぼ同じであり、データ受信処理の動作が異なる。図31のフローチャートを参照して、この実施の形態4の通信装置1のデータ受信処理の動作を説明する。なお、先の図10のフローチャートを参照して説明した実施の形態1の通信装置1のデータ受信処理と同じ動作については、その詳細な説明を省略する。
マルチキャスト通信処理部171は、データ(n)に対応する配信応答としてACK(n)を上流の通信装置1に送信する(ステップS900)。マルチキャスト通信処理部171は、時間管理部14においてデータ(n)に対する要求タイマ(n)が起動中か否かを判定し、データ(n)に対する要求タイマ(n)が起動中の場合には通番「n」および要求タイマであることを示すタイマ種別を含む停止要求通知を時間管理部14に出力して要求タイマ(n)を停止する(ステップS901,S902)。
マルチキャスト通信処理部171は、配信ペア関係が親子関係であって下流の通信装置1、または配信ペア関係が複数経路であって下流の通信装置1が存在するか否かを判定し、配信ペア関係が親子関係であって下流の通信装置1、または配信ペア関係が複数経路であって下流の通信装置1が存在する場合には、受信したデータ(n)を下流の通信装置1に送信する(ステップS903,S904)。
マルチキャスト通信処理部171は、各上流配信ペア情報部12のACK/NACK受信情報記憶部122を検索してデータ(n)に対するACK(n)が未受信であるか否かを判定する(ステップS905)。データ(n)に対するACK(n)が未受信である場合、マルチキャスト通信処理部171は、計測時間、通番「n」、および送信タイマであることを示すタイマ種別を含む起動要求通知を時間管理部14に出力してデータ(n)に対する送信タイマ(n)を起動する(ステップS906)。
配信ペア関係が親子関係であって下流の通信装置1、または配信ペア関係が複数経路であって下流の通信装置1が存在しない場合、データ(n)に対するACK(n)が受信済みである場合、またはデータ(n)に対する送信タイマ(n)を起動した後に、マルチキャスト通信処理部171は、配信ペア関係が兄弟関係であって下流の通信装置1が存在するか否かを判定する(ステップS907)。
配信ペア関係が兄弟関係であって下流の通信装置1が存在する場合、マルチキャスト通信処理部171は、各上流配信ペア情報部12のACK/NACK受信情報記憶部122を検索してデータ(n)に対するACK(n)が未受信であるか否かを判定する(ステップS908)。データ(n)に対するACK(n)が未受信である場合、マルチキャスト通信処理部171は、計測時間、通番「n」、および送信タイマであることを示すタイマ種別を含む起動要求通知を時間管理部14に出力してデータ(n)に対する送信タイマ(n)を起動する(ステップS909)。
配信ペア関係が兄弟関係であって下流の通信装置1が存在しない場合、または送信タイマ(n)を起動した後に、マルチキャスト通信処理部171は、自装置が親子関係または兄弟関係の配信ペアの下流であるか否かを判定する(ステップS910)。自装置が親子関係または兄弟関係の配信ペアの下流である場合、配信ペア管理部11は、計測時間、通番「n+1」、および要求タイマであることを示すタイマ種別を含む起動要求通知を時間管理部14に出力してデータ(n+1)、すなわちつぎに受信すべきデータパケットに対する要求タイマ(n+1)を起動する(ステップS911)。
自装置が親子関係または兄弟関係の配信ペアの下流ではない場合、マルチキャスト通信処理部171は、連続配信であるか否かを判定し、連続配信である場合には、計測時間、通番「n+X」、および要求タイマであることを示すタイマ種別を含む起動要求通知を時間管理部14に出力してデータ(n+X)、すなわち複数経路の配信ペアにおいてつぎに受信すべきデータパケットに対する要求タイマ(n+X)を起動する(ステップS912,S913)。
要求タイマ(n+1)または要求タイマ(n+X)を起動した後、または連続配信ではない場合、マルチキャスト通信処理部171は、受信したデータ(n)の通番nを含む通番欠落検査要求を通番欠落検査部172に出力し、通番欠落検査部172は通番欠落検査処理を実行する(ステップS914)。
つぎに、図32のシーケンス図を参照して、この実施の形態4のネットワークシステムの動作を、複数経路による配信ペアが確立された通信装置1−1〜1−4に着目して説明する。なお、ここでは、通信装置1−1〜1−4は配信ペア構築処理を実行済みであり、複数経路の配信ペアにおいては、通信装置1−2に通番1のデータパケットであるデータ(1)が配分され、通信装置1−4に通番2のデータパケットであるデータ(2)が配分され、通信装置1−1に通番3のデータパケットであるデータ(3)が配分されているものとする。また、通信装置1−3はデータ(1)に対する要求タイマ(1)を起動しているものとする。
通信装置1−1は、通番1のデータパケットであるデータ(1)を通信装置1−2,1−4に送信する。通信装置1−2は、通信装置1−1からデータ(1)を受信すると、先の図31のフローチャートを参照して説明したデータ受信処理を実行する。これにより、通信装置1−2は、データ(1)に対する送信タイマ(1)を起動し、データ(1)に対する要求タイマを停止するとともに、データ(1)に対するACK(1)を通信装置1−1に送信する。通信装置1−1は、通信装置1−2からACK(1)を受信すると、先の図12のフローチャートを参照して説明したACK受信処理を実行する。
通信装置1−4は、通信装置1−1からデータ(1)を受信すると、データ受信処理を実行する。これにより、通信装置1−4は、データ(1)に対する要求タイマ(1)を停止するとともに、データ(1)に対するACK(1)を通信装置1−2に送信する。
通信装置1−2は、通信装置1−4からデータ(1)に対するACK(1)を受信するとACK受信処理を実行する。これにより、通信装置1−2は、データ(1)に対する送信タイマ(1)を停止する。
通信装置1−3は、データ(1)に対する要求タイマ(1)の計測が終了すると、先の図15のフローチャートを参照して説明した要求時間経過処理を実行する。これにより、通信装置1−3は、データ(1)に対するNACK(1)を通信装置1−2に送信するとともに、データ(1)に対する要求タイマ(1)を起動する。
通信装置1−2は、通信装置1−3からデータ(1)に対するNACK(1)を受信すると、先の図14のフローチャートを参照して説明したNACK受信処理を実行する。これにより、通信装置1−2は、データ(1)を通信装置1−3に送信するとともに、データ(1)に対する送信タイマ(1)を起動する。
通信装置1−3は、通信装置1−2からデータ(1)を受信するとデータ受信処理を実行する。これにより、通信装置1−3は、データ(1)に対するACK(1)を通信装置1−2に送信するとともに、データ(1)に対する要求タイマ(1)を停止する。
通信装置1−2は、通信装置1−3からデータ(1)に対するACK(1)を受信するとACK受信処理を実行する。これにより、通信装置1−2は、データ(1)に対する送信タイマ(1)を停止する。
通信装置1−1は、データ(2)を通信装置1−2,1−4に送信する。通信装置1−2は、通信装置1−1からデータ(2)を受信するとデータ受信処理を実行する。これにより、通信装置1−2は、データ(2)に対する送信タイマ(2)を起動し、データ(2)に対する要求タイマを停止するとともに、データ(2)に対するACK(2)を通信装置1−1に送信する。通信装置1−1は、通信装置1−2からACK(2)を受信するとACK受信処理を実行する。
通信装置1−4は、通信装置1−1からデータ(2)を受信すると、データ受信処理を実行する。これにより、通信装置1−4は、データ(2)に対する送信タイマ(2)を起動し、データ(2)に対する要求タイマ(2)を停止するとともに、データ(2)に対するACK(2)を通信装置1−2に送信する。
通信装置1−2は、通信装置1−4からデータ(2)に対するACK(2)を受信するとACK受信処理を実行する。これにより、通信装置1−2は、データ(2)に対する送信タイマ(2)を停止する。
通信装置1−4は、データ(2)に対する送信タイマ(2)の計測が終了すると、先の図13のフローチャートを参照して説明した送信時間経過処理を実行する。これにより、通信装置1−4は、データ(2)を通信装置1−3に送信するとともに、データ(2)に対する送信タイマ(2)を起動する。
通信装置1−3は、通信装置1−4からデータ(2)を受信するとデータ受信処理を実行する。これにより、通信装置1−3は、データ(2)に対するACK(2)を通信装置1−4に送信するとともに、データ(2)に対する要求タイマ(2)を停止する。
通信装置1−4は、通信装置1−3からデータ(2)に対するACK(2)を受信するとACK受信処理を実行する。これにより、通信装置1−4は、データ(2)に対する送信タイマ(2)を停止する。
通信装置1−1は、データ(3)を通信装置1−2〜1−4に送信する。通信装置1−2〜1−4は、通信装置1−1からデータ(3)を受信するとデータ受信処理を実行する。これにより、通信装置1−2,1−3は、データ(3)に対するACK(3)を通信装置1−1に送信し、通信装置1−4は、データ(3)に対するACK(3)を通信装置1−2に送信する。通信装置1−1は、通信装置1−2,1−3からACK(3)を受信するとACK受信処理を実行し、通信装置1−2は、通信装置1−4からACK(3)を受信するとACK受信処理を実行する。
このように、通信装置1−3を中心とし通信装置1−1,1−2,1−4を周辺として複数経路を設定すると、図33に示すように、通信装置1−1と通信装置1−2,1−4の経路の帯域が「3」であり、通信装置1−1と通信装置1−3の経路の帯域が「1」である場合でも、通信装置1−1は通信装置1−2〜1−4にデータ(1)を送信し、通信装置1−2,1−4にデータ(2),(3)を送信すれば、通信装置1−2,1−4からデータ(2),(3)が通信装置1−3に送信される。すなわち、図34に示すように、従来は帯域が十分な通信装置にデータ(1)〜(3)が到達しても、帯域が不足している通信装置にはデータ(1)しか到達しないのに対し、本発明では帯域が十分な周辺の通信装置1−2,1−4にデータ(1)〜(3)が到達すれば、帯域が不足している中心の通信装置1−3にもデータ(1)〜(3)が到達することとなる。
以上説明したように、この実施の形態4においては、配信ペア管理部11はマルチキャストツリー情報に含まれる親子関係および兄弟関係の経路状態に基づいて複数経路を設定するか否かを選択し、複数経路を設定する場合には、弟関係において兄および弟が存在する通信装置1を下流とし、下流とした通信装置1の兄および弟となる通信装置1、および下流とした通信装置1の親となる通信装置1を上流とする複数経路の配信ペアとして、各複数経路の配信ペアの上流の通信装置1が送信するデータパケットの配分を決定し、決定した配分を含めて複数経路の配信ペアを確立するとともに、複数経路の配信ペアの下流の通信装置1を除いて兄弟関係の単一経路の配信ペアを確立し、マルチキャスト通信処理部171は、自装置が複数経路の配信ペアの下流の通信装置1である場合には、配信ペア管理部が決定したデータパケットの配分に基づいて、当該データパケットが配分されている通信装置1に対してACKまたはNACKを送信するようにしているため、アプリケーションレイヤマルチキャストにおける通信装置1のARQの処理負荷を分散させ、効率よくマルチキャスト通信を行うことができる。
また、この実施の形態4においては、データパケットを受信してから一定時間が経過しても、複数経路の配信ペアの下流の通信装置1からのACKを受信しない場合には、複数経路の配信ペアの下流の通信装置1にデータパケットを送信するようにしている。すなわち、データパケットの再送をデータパケットの損失検出後(NACKを受信後)ではなく、自装置がデータパケットを受信したことで予測するようにしている。これにより、データパケット再送の遅延時間を短縮することができる。
以上のように、本発明にかかるネットワークシステムは、アプリケーションレイヤマルチキャストによるマルチキャスト通信に有用であり、特に、ARQによるデータパケットの再送処理に適している。
1,1a,3 通信装置
2 マルチキャストツリー管理装置
11 配信ペア管理部
12 上流配信ペア情報部
13 下流配信ペア情報部
14 時間管理部
15 通信部
16 配信ペア情報テーブル
17 制御部
18 符号化/暗号化部
121 データ送信情報記憶部
122 ACK/NACK受信情報記憶部
123,133 符号化/暗号化情報記憶部
131 データ受信情報記憶部
132 ACK/NACK送信情報記憶部
2 マルチキャストツリー管理装置
11 配信ペア管理部
12 上流配信ペア情報部
13 下流配信ペア情報部
14 時間管理部
15 通信部
16 配信ペア情報テーブル
17 制御部
18 符号化/暗号化部
121 データ送信情報記憶部
122 ACK/NACK受信情報記憶部
123,133 符号化/暗号化情報記憶部
131 データ受信情報記憶部
132 ACK/NACK送信情報記憶部
Claims (12)
- 親子関係および兄弟関係の通信装置によってマルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステムにおいて、
前記各通信装置は、
マルチキャストツリーの親子関係および兄弟関係を示すマルチキャスツリー情報から自装置に関する親子関係および兄弟関係を抽出して、前記親子関係において親となる通信装置を上流とし、子となる通信装置を下流とする単一経路の配信ペアと、同一の親を持つ兄弟関係において兄となる通信装置を上流とし、弟となる通信装置を下流とする単一経路の配信ペアを確立する配信ペア管理部と、
前記配信ペア管理部が確立した配信ペアに対応付けて当該配信ペアのデータパケットおよび配信応答の送受信状態がデータパケットの通番毎に登録される配信ペア情報部と、
前記兄弟関係において自装置が下流となる配信ペアを抽出し、前記兄弟関係において自装置が下流となる配信ペアを抽出できなかった場合には前記親子関係において自装置が下流となる配信ペアを抽出し、抽出した配信ペアを配信応答送信の配信ペアとし、
データパケットを受信した場合には、
受信したデータパケットを送信した通信装置との配信ペアに対応付けられた配信ペア情報部にデータパケットを受信したことを登録するとともに、前記配信応答送信の配信ペアの上流の通信装置に受信したデータパケットに対するACKを送信し、
ACKを受信した場合には、
前記配信ペア情報部に基づいて受信したACKが示すデータパケットを受信しているか否かを判定し、受信したACKが示すデータパケットを受信しておらず、かつ予め定められた時間が経過しても受信したACKが示すデータパケットを受信しなかった場合には、前記配信応答送信の配信ペアの上流の通信装置に受信したACKが示すデータパケットを要求するNACKを送信し、
NACKを受信した場合には、
前記配信ペア情報部に基づいて受信したNACKが要求するデータパケットを受信しているか否かを判定し、受信したNACKが要求するデータパケットを受信している場合にはNACKを送信した通信装置に要求されたデータパケットを送信し、受信したNACKが要求するデータパケットを受信しておらず、かつ予め定められた時間が経過しても受信したNACKが要求するデータパケットを受信しなかった場合には、前記配信応答送信の配信ペアの上流の通信装置に受信したNACKが要求するデータパケットを要求するNACKを送信するマルチキャスト通信処理部と、
を備えることを特徴とするネットワークシステム。 - 前記各通信装置は、
データパケットを受信した場合、データパケットに含まれる通番および前記配信ペア情報部に登録されているデータパケットの受信状態に基づいて未受信のデータパケットが存在するか否かを判定し、未受信のデータパケットが存在する場合には、未受信のデータパケットを要求するNACKを前記配信応答送信の配信ペアの上流の通信装置に送信する通番欠落検査部、
をさらに備えることを特徴とする請求項1に記載のネットワークシステム。 - 前記配信ペア情報部は、
配信ペア毎に符号化および暗号化を行うか否かと、符号化および/または暗号化に必要な各種パラメータとを含む符号化/暗号化情報が登録される符号化/暗号化情報記憶部を備え、
前記配信ペア管理部は、
前記マルチキャストツリー情報に含まれる親子関係および兄弟関係の経路状態に基づいて、配信ペア毎に符号化および暗号化を行うか否かと、符号化および/または暗号化に必要な各種パラメータとを選択し、選択結果を前記符号化/暗号化情報として前記符号化/暗号化情報記憶部に登録し、
前記各通信装置は、
前記符号化/暗号化情報記憶部に登録されている符号化/暗号化情報に基づいて、送信するデータパケットに対して符号化処理および/または暗号化処理を施し、受信したデータパケットに対して符号化および/または暗号化に対する復号処理を施す符号化/暗号化部、
をさらに備えることを特徴とする請求項1または2に記載のネットワークシステム。 - 前記符号化/暗号化情報記憶部は、
配信ペア毎に符号化を行う際に送信すべきデータパケットの通番を示す送信指定情報を記憶し、
前記符号化/暗号化部は、
前記送信指定情報に基づいて、送信すべき通番のデータパケットのみに対して符号化処理を施すこと、
を特徴とする請求項3に記載のネットワークシステム。 - 前記配信ペア管理部は、
前記マルチキャストツリー情報に含まれる親子関係および兄弟関係の経路状態に基づいて複数経路を設定するか否かを選択し、複数経路を設定する場合には、前記兄弟関係において兄および弟が存在する通信装置を下流とし、下流とした通信装置の兄および弟となる通信装置、および下流とした通信装置の親となる通信装置を上流とする複数経路の配信ペアとして、各複数経路の配信ペアの上流の通信装置が送信するデータパケットの配分を決定し、決定した配分を含めて複数経路の配信ペアを確立するとともに、前記複数経路の配信ペアの下流の通信装置を除いて前記兄弟関係の単一経路の配信ペアを確立し、
前記マルチキャスト通信処理部は、
自装置が前記複数経路の配信ペアの下流の通信装置である場合には、前記配信ペア管理部が決定したデータパケットの配分に基づいて、当該データパケットが配分されている通信装置に対してACKまたはNACKを送信すること、
を特徴とする請求項1〜4の何れか1つに記載のネットワークシステム。 - 前記マルチキャスト通信処理部は、
データパケットの連続配信時に、データパケットを受信してから予め定められた時間が経過してもつぎのデータパケットを受信しなかった場合には、配信応答送信の配信ペアの上流の通信装置につぎのデータパケットに対するNACKを送信し、ACKを受信してから予め定められた時間が経過してもつぎのデータパケットに対するACKを受信しなかった場合には、つぎのデータパケットをACKを送信した通信装置に送信すること、
を特徴とする請求項1〜5の何れか1つに記載のネットワークシステム。 - 親子関係および兄弟関係によってマルチキャストツリーを構成し、アプリケーションレイヤマルチキャストによるマルチキャスト通信を行うネットワークシステムに適用される通信装置であって、
マルチキャストツリーの親子関係および兄弟関係を示すマルチキャスツリー情報から自装置に関する親子関係および兄弟関係を抽出して、前記親子関係において親となる通信装置を上流とし、子となる通信装置を下流とする単一経路の配信ペアと、同一の親を持つ兄弟関係において兄となる通信装置を上流とし、弟となる通信装置を下流とする単一経路の配信ペアを確立する配信ペア管理部と、
前記配信ペア管理部が確立した配信ペアに対応付けて当該配信ペアのデータパケットおよび配信応答の送受信状態がデータパケットの通番毎に登録される配信ペア情報部と、
前記兄弟関係において自装置が下流となる配信ペアを抽出し、前記兄弟関係において自装置が下流となる配信ペアを抽出できなかった場合には前記親子関係において自装置が下流となる配信ペアを抽出し、抽出した配信ペアを配信応答送信の配信ペアとし、
データパケットを受信した場合には、
受信したデータパケットを送信した通信装置との配信ペアに対応付けられた配信ペア情報部にデータパケットを受信したことを登録するとともに、前記配信応答送信の配信ペアの上流の通信装置に受信したデータパケットに対するACKを送信し、
ACKを受信した場合には、
前記配信ペア情報部に基づいて受信したACKが示すデータパケットを受信しているか否かを判定し、受信したACKが示すデータパケットを受信しておらず、かつ予め定められた時間が経過しても受信したACKが示すデータパケットを受信しなかった場合には、前記配信応答送信の配信ペアの上流の通信装置に受信したACKが示すデータパケットを要求するNACKを送信し、
NACKを受信した場合には、
前記配信ペア情報部に基づいて受信したNACKが要求するデータパケットを受信しているか否かを判定し、受信したNACKが要求するデータパケットを受信している場合にはNACKを送信した通信装置に要求されたデータパケットを送信し、受信したNACKが要求するデータパケットを受信しておらず、かつ予め定められた時間が経過しても受信したNACKが要求するデータパケットを受信しなかった場合には、前記配信応答送信の配信ペアの上流の通信装置に受信したNACKが要求するデータパケットを要求するNACKを送信するマルチキャスト通信処理部と、
を備えることを特徴とする通信装置。 - データパケットを受信した場合、データパケットに含まれる通番および前記配信ペア情報部に登録されているデータパケットの受信状態に基づいて未受信のデータパケットが存在するか否かを判定し、未受信のデータパケットが存在する場合には、未受信のデータパケットを要求するNACKを前記配信応答送信の配信ペアの上流の通信装置に送信する通番欠落検査部、
をさらに備えることを特徴とする請求項7に記載の通信装置。 - 前記配信ペア情報部は、
配信ペア毎に符号化および暗号化を行うか否かと、符号化および/または暗号化に必要な各種パラメータとを含む符号化/暗号化情報が登録される符号化/暗号化情報記憶部を備え、
前記符号化/暗号化情報記憶部に登録されている符号化/暗号化情報に基づいて、送信するデータパケットに対して符号化処理および/または暗号化処理を施し、受信したデータパケットに対して符号化および/または暗号化に対する復号処理を施す符号化/暗号化部、
をさらに備え、
前記配信ペア管理部は、
前記マルチキャストツリー情報に含まれる親子関係および兄弟関係の経路状態に基づいて、配信ペア毎に符号化および暗号化を行うか否かと、符号化および/または暗号化に必要な各種パラメータとを選択し、選択結果を前記符号化/暗号化情報として前記符号化/暗号化情報記憶部に登録することを特徴とする請求項7または8に記載の通信装置。 - 前記符号化/暗号化情報記憶部は、
配信ペア毎に符号化を行う際に送信すべきデータパケットの通番を示す送信指定情報を記憶し、
前記符号化/暗号化部は、
前記送信指定情報に基づいて、送信すべき通番のデータパケットのみに対して符号化処理を施すこと、
を特徴とする請求項9に記載の通信装置。 - 前記配信ペア管理部は、
前記マルチキャストツリー情報に含まれる親子関係および兄弟関係の経路状態に基づいて複数経路を設定するか否かを選択し、複数経路を設定する場合には、前記兄弟関係において兄および弟が存在する通信装置を下流とし、下流とした通信装置の兄および弟となる通信装置、および下流とした通信装置の親となる通信装置を上流とする複数経路の配信ペアとして、各複数経路の配信ペアの上流の通信装置が送信するデータパケットの配分を決定し、決定した配分を含めて複数経路の配信ペアを確立するとともに、前記複数経路の配信ペアの下流の通信装置を除いて前記兄弟関係の単一経路の配信ペアを確立し、
前記マルチキャスト通信処理部は、
自装置が前記複数経路の配信ペアの下流の通信装置である場合には、前記配信ペア管理部が決定したデータパケットの配分に基づいて、当該データパケットが配分されている通信装置に対してACKまたはNACKを送信すること、
を特徴とする請求項7〜10の何れか1つに記載の通信装置。 - 前記マルチキャスト通信処理部は、
データパケットの連続配信時に、データパケットを受信してから予め定められた時間が経過してもつぎのデータパケットを受信しなかった場合には、配信応答送信の配信ペアの上流の通信装置につぎのデータパケットに対するNACKを送信し、ACKを受信してから予め定められた時間が経過してもつぎのデータパケットに対するACKを受信しなかった場合には、つぎのデータパケットをACKを送信した通信装置に送信すること、
を特徴とする請求項7〜11の何れか1つに記載の通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006044096A JP2007228064A (ja) | 2006-02-21 | 2006-02-21 | ネットワークシステムおよび通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006044096A JP2007228064A (ja) | 2006-02-21 | 2006-02-21 | ネットワークシステムおよび通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007228064A true JP2007228064A (ja) | 2007-09-06 |
Family
ID=38549458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006044096A Pending JP2007228064A (ja) | 2006-02-21 | 2006-02-21 | ネットワークシステムおよび通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007228064A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009129157A (ja) * | 2007-11-22 | 2009-06-11 | Nec Corp | クライアント装置およびサーバ装置 |
WO2011106931A1 (en) * | 2010-03-03 | 2011-09-09 | Nokia Corporation | Compressed hybrid automatic repeat request feedback for device to device cluster communications |
US20120117268A1 (en) * | 2010-11-09 | 2012-05-10 | Cisco Technology, Inc. | System and Method for Routing Critical Communications |
US8239722B2 (en) | 2008-09-19 | 2012-08-07 | Fujitsu Limited | Packet retransmission control method and apparatus in multicast communication |
JP2012175684A (ja) * | 2011-02-24 | 2012-09-10 | Fujitsu Ltd | 送信制御プログラム、通信装置および送信制御方法 |
JP2013153264A (ja) * | 2012-01-24 | 2013-08-08 | Nippon Telegr & Teleph Corp <Ntt> | パケット伝送方法およびパケット伝送装置 |
WO2013176051A1 (ja) * | 2012-05-21 | 2013-11-28 | 日本電気株式会社 | マルチキャスト通信方法、通信ノード装置及びプログラム |
US10171258B2 (en) | 2009-12-07 | 2019-01-01 | International Business Machines Corporation | Data collection method and system |
-
2006
- 2006-02-21 JP JP2006044096A patent/JP2007228064A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009129157A (ja) * | 2007-11-22 | 2009-06-11 | Nec Corp | クライアント装置およびサーバ装置 |
US8239722B2 (en) | 2008-09-19 | 2012-08-07 | Fujitsu Limited | Packet retransmission control method and apparatus in multicast communication |
US10171258B2 (en) | 2009-12-07 | 2019-01-01 | International Business Machines Corporation | Data collection method and system |
WO2011106931A1 (en) * | 2010-03-03 | 2011-09-09 | Nokia Corporation | Compressed hybrid automatic repeat request feedback for device to device cluster communications |
US8842611B2 (en) | 2010-03-03 | 2014-09-23 | Nokia Corporation | Compressed hybrid automatic repeat request feedback for device to device cluster communications |
US20120117268A1 (en) * | 2010-11-09 | 2012-05-10 | Cisco Technology, Inc. | System and Method for Routing Critical Communications |
US9198203B2 (en) * | 2010-11-09 | 2015-11-24 | Cisco Technology, Inc. | System and method for routing critical communications |
JP2012175684A (ja) * | 2011-02-24 | 2012-09-10 | Fujitsu Ltd | 送信制御プログラム、通信装置および送信制御方法 |
JP2013153264A (ja) * | 2012-01-24 | 2013-08-08 | Nippon Telegr & Teleph Corp <Ntt> | パケット伝送方法およびパケット伝送装置 |
WO2013176051A1 (ja) * | 2012-05-21 | 2013-11-28 | 日本電気株式会社 | マルチキャスト通信方法、通信ノード装置及びプログラム |
US9425970B2 (en) | 2012-05-21 | 2016-08-23 | Nec Corporation | Multicast communication method, communication node device and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007228064A (ja) | ネットワークシステムおよび通信装置 | |
EP1515495B1 (en) | Method and device for multicast communication path calculation | |
KR100946108B1 (ko) | 종단간 신뢰도가 있는 그룹 통신 방법 및 장치 | |
WO2014156034A1 (ja) | サーバ、ルータ、受信端末および処理方法 | |
US7877597B2 (en) | Anonymous peer-to-peer communication | |
CN101390348B (zh) | 通信终端装置、组播通信系统、数据重发方法及重发请求方法 | |
CN106537880A (zh) | 在信息中心网络架构中缓存数据 | |
CN107040400A (zh) | 网络装置及方法 | |
EP2490397B1 (en) | Scheduled network management | |
Dong et al. | In-packet network coding for effective packet wash and packet enrichment | |
EP2445162B1 (en) | Method For Adaptive Streaming | |
JP2010045732A (ja) | マルチキャストパケット転送装置およびマルチキャストパケット転送方法 | |
JP2005218112A (ja) | インターネット・プロトコル・パケットの複数のコピーの伝搬 | |
JP5889154B2 (ja) | マルチキャスト配信システム、マルチキャスト配信方法およびプログラム | |
CN100466614C (zh) | 一种实现组播业务的方法 | |
Kutscher et al. | Scalable DTN distribution over uni-directional links | |
JP5370184B2 (ja) | データ配信方法 | |
JP2004201111A (ja) | マルチキャストパケット配信システム、方法及びプログラム | |
Wu et al. | A practical network coding and routing scheme based on maximum flow combination | |
Loukos et al. | Real-time data dissemination in mobile peer-to-peer networks | |
Djukic et al. | WLC12-4: Reliable and Energy Efficient Transport Layer for Sensor Networks | |
JP2011135305A (ja) | データ修復方法、データ修復システム、マッチングサーバ及び装置グループ化プログラム | |
JP4852027B2 (ja) | マルチキャスト通信システム、マルチキャスト通信システムに用いられる蓄積装置及びマルチキャスト通信方法 | |
Mekbungwan et al. | Network coding based bulk data synchronization in mobile ad hoc networks | |
Halloush | Securing the Transmission While Enhancing the Reliability of Communication Using Network Coding in Block‐Wise Transfer of CoAP |