[go: up one dir, main page]

JP3692830B2 - Multicast communication system - Google Patents

Multicast communication system Download PDF

Info

Publication number
JP3692830B2
JP3692830B2 JP13372199A JP13372199A JP3692830B2 JP 3692830 B2 JP3692830 B2 JP 3692830B2 JP 13372199 A JP13372199 A JP 13372199A JP 13372199 A JP13372199 A JP 13372199A JP 3692830 B2 JP3692830 B2 JP 3692830B2
Authority
JP
Japan
Prior art keywords
host
multicast
hosts
data
group
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
JP13372199A
Other languages
Japanese (ja)
Other versions
JP2000324155A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP13372199A priority Critical patent/JP3692830B2/en
Publication of JP2000324155A publication Critical patent/JP2000324155A/en
Application granted granted Critical
Publication of JP3692830B2 publication Critical patent/JP3692830B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Radio Relay Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークを用いてデータの配信を行うためのマルチキャスト通信システムの大規模化、高信頼化技術に関する。
【0002】
【従来の技術】
現在特定の複数宛先にデータを配信できるマルチキャスト通信に関係する技術として、IETF(Internet Engineering Task Force)にてIGMP(Internet Group Management Protocol:RFC2236)がIPレベルの標準として成立している。またマルチキャスト用のアドレスの使い方はRFC2356で開示されている。IGMPはマルチキャストルータが、マルチキャストデータを効率よく転送できるように所属するローカルネットワークに該当するマルチキャストグループのメンバが存在するか否かを把握するためのプロトコルである。またIETFのドラフトレベルではルーティングプロトコルとして、世界規模のマルチキャスト仮想実験ネットワークのMBONE向けにDVMRP(Distance Vector Multicast Routing Protocol)及びMOSPF(Multicast Open Shortest First)がある。どちらもマルチキャストデータ転送に関するツリーを作成するものである。上記技術は、マルチキャストデータの転送を効率よく行わせるためのものである。
【0003】
マルチキャストの大規模化に関しては、近年のインタネットのインフラ整備と共に爆発的に利用者が増加している現状においては、マルチキャストサービスに大規模化にも対処できるスケーラビリティを有することが非常に重要となっている。このような状況において、マルチキャスト伝送媒体として親和性が非常に高い無線回線が着目されつつある。地上波デジタル通信網、移動体通信網、衛星通信網が次第に整いつつある。特に広域・高速性を有する衛星回線は大規模マルチキャスト通信に対処する有力な基盤として注目されている。この特徴を利用して、本社から広域分散する支社に対しての社内放送、教育TV放送、画像のダウンロードシステムなど、放送型のサービスとして実用化されている。また放送波の隙間を利用したデータ配信サービスが家庭にまで浸透しつつある。
【0004】
マルチキャストデータの高信頼化技術として、データの中に誤り訂正符号を加えるものと、再送制御を行うものがある。再送制御は最も高い信頼性を得ることができるため、ファイル配信、プログラムダウンロード、バージョンアップ、企業データの配信には送達確認による再送制御が採用されている。再送制御技術には基本となるGO-Back-N方式とSelective Repeat方式がある。文献1(藤部、小林、中山著「マルチメディア衛星通信における高信頼マルチキャスト通信方式の課題と提案」(信学技報SAT96−127、1997−01)には、これらを組合せたり修正した方式も開示されている。さらに再送制御を加えたマルチキャストシステムのシステムスループットの向上を図る方式にも以下に示すように、送信制御、送達確認制御及び再送制御のタイミングにより分離される、様々なものがある。
【0005】
▲1▼送信制御の終了後に送達確認及び再送制御を行う方法、例えば、文献2(城下、高橋、他3名著「高信頼マルチキャスト通信プロトコル(RMTP)の各種ネットワークへの適用性」(信学技報SSE95−196,1996−03)で開示されているRMTP)参照。
【0006】
▲2▼送信制御と送達確認を並行に行い、一通りデータを送信したあとに再送制御を行う方法、例えば文献3(米StarBurst社の MFTP;White Paper「An Efficient,Scalable Method for Distributing Information Using IP Multicast」)、や文献4(米Mentat社のXTP4.0;江口著「TCP/IPから見たXTPプロトコル」雑誌Bit Vol.28No4,1996−04)参照。
【0007】
▲3▼送信制御、送達確認及び再送制御を並行に行う方法(文献2参照)
がある。いずれもIPあるいはUDPのをベースに行っている。また、送達確認及び再送制御の送信ホストへの負荷を軽減するために、文献5( B.N.Levine他1名著「A comparison of known Classes of Reliable Multicast Protocols」ICNP1996−Oct,Columbus Ohio)には、送達確認或は再送制御タイミングを時間的に分散させること、正常受信していない送達確認のみ通知する方法が開示されている。
【0008】
【発明が解決しようとする課題】
例えばインタネットを利用している数万を越える契約ユーザにゲームソフトなどのソフトウエアを配信するサービスのように、おびただしい数のユーザに誤りなく確実にデータをマルチキャスト送信する場合、上記送達確認と再送制御を採用することが重要となる。特に回線品質が高くない無線回線を利用する際には必須の手段である。このような場合ユーザ数が莫大になると、送達確認或は再送制御にかかる送信ホストへの負荷が、時間的分散などの工夫にかかわらず軽減できなくなり配信に多大な時間を要することになる。またネットワークの一部の回線の不具合やトラヒック輻輳が発生する等で、DVMRPやMOSPFによって作成されたマルチキャストツリーの一部が不通になりデータ配送が不可能あるいは伝送時間の長大化等システム全体に悪影響を及ぼすおそれがある。
【0009】
本発明の目的は、上記課題を解決し多数のユーザに確実にデータを送信することができる、大規模なマルチキャスト通信システムを提供することである。
具体的には、
(1)送達確認と再送制御にかかる送信ホストの負荷を分散すること、
(2)トラヒック輻輳やデータ伝送の滞りを回避すること、
(3)ルータ等のネットワーク資源の消費を抑えること、
が可能なマルチキャスト通信方法とそれを用いたマルチキャスト通信システムと、当該システムを構築するために必要な、個々の通信装置や、計算機上にこれらの通信装置を実現するプログラムを提供することである。
【0010】
【課題を解決するための手段】
上記目的を達成するために、本発明では、マルチキャストデータを送信するホストが、ネットワークの状況に応じて、ホストグループ(マルチキャストグループともいう)の構成を動的に制御することを特徴とする。
他の観点では、送信ホストからマルチキャストグループを構成するホストまでの経路、つまりマルチキャストツリーを動的に再構成することを特徴とする。
一般的にツリーを構成するのは、経路制御機能をもったネットワークノードです。具体的には、ルータであったり、gatewayでも、通常のPCでも経路制御機能があれば構わない。
【0011】
制御の方法として、正常に受信したホストを含むように、ホストグループを構成する(例えば、新たに1つ以上生成するかまたは既存のホストグループの構成を変更する)ことを特徴とする。
さらに、該正常に受信したホストに、該ホストが所属する新たに生成したまたは変更したホストグループ内に対する通信処理の一部を行わせることを特徴とする。
他の観点として、正常に受信したホストを新たな送信ホストとして、マルチキャストツリーを再構築することを特徴とする。
さらに、本発明のマルチキャスト通信システムにおける、前記指名されたホストは、受信したデータ送達確認を送信ホストに送る手段と、正常に受信できなかったデータの再送を要求する手段とを備えることを特徴とする。
【0012】
本発明のマルチキャスト通信システムによれば、送信ホストの負荷を分散でき大規模なマルチキャストシステムを実現することが可能になる。また一部の不具合状況にしたがって、ホストグループを再構成し、前記指名ホストに処理を移すことでトラヒック輻輳、データ伝送の滞りを回避することが可能になる。すなわち、高信頼化を担う再送制御処理を効率化することができ、システム効率の低下を防ぐことが可能になる。
また、本発明は、複数のホスト間の経路に無線回線、特に衛星回線を利用することを特徴とするものである。再構成したホストグループをルータ等のネットワークノードを介さずに無線(衛星)回線で直接接続で構成させることにより、送達確認或は再送制御等の通信処理による影響を他のネットワークへ及ぼさないこと、他のネットワークからも影響受けないことが可能になり、通信処理の効率化とシステム効率の低下防止が可能になる。
【0013】
また、本発明は、送信正常に受信できなかったデータの再送を要求するシステムにおいて、指名ホストが新たに生成した或は変更した該ホストグループにマルチキャストで再送を行わせることを特徴とする。
また、本発明に用いる通信処理装置は、ネットワークを構成するノード間で、再構成したホストグループの定義情報を通知する手段を備え、前記再構成したホストグループに閉じた通信処理を行うことを特徴とする。
また、本発明に用いる通信処理装置は、新たにあるいは変更したホストグループを構成するホストとのネットワークコストが最小となるような正常受信ホストを選択する手段を備えることを特徴とする。
【0014】
【発明の実施の形態】
以下、図にしたがって本発明を用いた実施例を説明する。
図1は本発明の概要を説明するシステム構成図である。システムは複数のネットワーク120〜127、これらネットワーク間を接続する複数のルータ130〜134及びネットワーク120〜127とルータ130〜134からなるネットワークに接続するホスト100及び150〜163からなる。同図ではホスト100が配信するマルチキャストデータを有する送信ホストを示し、ホスト150〜163は、該マルチキャストデータを受け取るマルチキャストグループを構成していることを示している。グループ170及びグループ171は本発明にて新たに生成されるホストグループを示す。ここでは、ホスト100がマルチキャストデータ101を複数のフレームに分割しこのマルチキャストグループのマルチキャストグループアドレスを宛先アドレスとして、マルチキャストグループに所属するホスト150〜163に送達確認と再送制御をもちいて高信頼に配信する場合を例として説明する。
【0015】
この場合、ホスト100は送信したフレームに対してホスト150〜163から送達確認通知を受け取り、ホスト150〜163おのおのに対してフレーム単位で未受信と正常受信の状態管理を行う。ここではホスト152、153、154、160、162、163を、未受信フレームが有り再送を要求する旨の通知を行ったホスト(以降、未受信ホストと呼ぶ)と仮定し、その他のホストはすべてのフレームを正常受信したホスト(以降、正常ホストと呼ぶ)と仮定する。この送達確認通知結果を基に、ホスト100は正常受信ホストを含め未受信通知を行ったホスト152、153、154、160、162、163から新たにホストグループを定義する。
【0016】
この図では未受信ホストまでのトータルネットワークコストが小さくなるような方針で、正常ホストとしてホスト159及び151を指名し、それぞれを含む2つの新たなホストグループ170と171を定義している。ホストグループ170は指名されたホスト(以降、指名ホストと呼ぶ)159、未受信ホスト160、162、163で構成し、ホストグループ171は指名ホスト151、未受信ホスト152、153、154で構成する。
【0017】
ホスト100は、定義した新たなホストグループにそれぞれ新たなマルチキャストアドレスを付与しグループの定義情報と共に制御データとして、再送開始までにマルチキャストデータのフレーム送信と並行して送信し、ホスト150〜163に通知する。
【0018】
前記定義情報に関わるホスト151、152、153、154、159、160、162、163はそれぞれ通知された定義情報を受信する。ホスト151はホストグループ171、ホスト159はホストグループ170の指名ホストであることを認識する。
【0019】
指名ホスト151、159は、それぞれホストグループ171、ホストグループ170の再送制御のマスタとなり、ホストグループ171及び170それぞれ付与されたマルチキャストアドレスを付けて必要なフレーム180及び181を再送する。再送制御が終了するとその旨をホスト100へ通知する。
【0020】
このように受信状況及びトラヒック状況に応じて、再送のために必要なホストグループを指名ホストともに一時的に定義して再送制御をローカルで行うことで再送処理を分散し、大規模な高信頼マルチキャストサービスへ対処が可能となる。またローカルに閉じた通信処理を行うことで、ホスト100から再送する場合に比べ、未受信ホストから遠いネットワーク或はルータ等のネットワーク資源の消費を抑えること、すなわち、再送フレームのトラヒック増加による悪影響を抑えることができる。
【0021】
次に図2を用いて、広域・同報性を有し大規模なマルチキャスト通信に非常に有効な伝送媒体である衛星回線を利用する場合の実施例を説明する。図2において、200は通信衛星、210、220〜234は衛星回線にデータを変換し送受信を行う地球局装置、211、240〜247及び290〜295はそれぞれ地球局装置220〜234に接続しデータの処理を行うホストを示す。ここでは、マルチキャストデータを有するホスト211が、地球局装置210、通信衛星200を介して衛星回線212にてマルチキャストグループ250を構成するホスト240〜247及び290〜295にマルチキャストデータを配信する場合を説明する。
【0022】
上記と同様にデータをフレームに分割してマルチキャストグループ250のグループアドレスを付して同報する。マルチキャストグループ250の構成ホストは送達確認をホスト211にユニキャストで返信する。この送達確認を基にホスト240〜247及び290〜295の受信状態を把握して、新たなホストグループ270と280を定義する。ここでは、未受信ホストがホスト290〜295であり、これら以外のホストは正常ホストである。指名ホストは正常ホスト246及び247である。ホストグループの定義は、受信状況をみて以下の基準で行うことが考えられる。
【0023】
(1)フレーム未受信率が同一(定義は後述する)のホストを同一グループとする
(2)フレーム未受信パターンが同一(定義は後述する)のホストを同一グループとする
(3)同一の地域のホストを同一グループとする
指名ホストの選択は、出来るだけ上記生成したホストグループに物理的に近いことを基準とする等が考えられる。
【0024】
指名ホスト246はホストグループ270を、指名ホスト247はホストグループ280の再送制御を担う。指名ホスト246は再送フレーム271を、指名ホスト247は再送フレーム281を、通信衛星200を介してそれぞれのホストグループ270及び280の未受信ホストへ送信する。
以下では上記従来の技術にて示している、送信制御と送達確認を並行に行い一通りデータを送信したあとに再送制御を行う方法での実施例を説明する。
【0025】
図3に本実施例でのシーケンスを示す。図3(1)は送信制御と送達確認を並行に行うシーケンスを、図3(2)は再送制御のシーケンス例を示す。図3(1)ではホスト240、290、295がマルチキャストでデータを受信しているところを示している。301〜309はマルチキャストデータのフレームを、6フレームで1つのブロックを定義している。ブロック毎に受信したホストが未受信のみの送達確認を行っている。受信したホストがそれぞれブロック終了毎にタイマーを作動させランダム時間経過後に送達確認を送信している。
【0026】
なお、並行に行うとは、マルチキャストデータを、例えばフレーム単位で受信しながら同時にこれまで受信したデータフレームに対する受信状況(送達確認)を送ることを意味している。受信状況を送るタイミングは採用する送達確認方法に従って任意に選択できるものである。例えば、ウインドウサイズ分ごとに送達確認するとか、ある受信データ量ごとに送達確認する等の方法が可能である。また、送信制御とは、再送も含めてマルチキャストデータを送信することである。送達確認とは、マルチキャストデータに対する受信状況を送信側に通達することで、マルチキャストデータに対する正常受信かエラー受信かを送信側が認識することである。
【0027】
未受信フレームがあることを通知するNACK(X,Y)フレームにおけるXはホストの識別子を、Yは未受信フレーム番号で未受信フレームを通知する。図ではホスト290はフレーム番号2のフレームが未受信であることを、ホスト295はフレーム番号6と7が未受信であることを通知している。図3(2)では、(1)のシーケンスが一通り終了し、ホスト211が受信状況から新たにホストグループ270及び280を生成し、そのうちホストグループ280における指名ホスト247からホスト295へマルチキャストでフレーム6及び7の再送を実施している様子を示している。
【0028】
図4は、図3のシーケンスを実行する主要な装置の構成例を示したものである。この図において、通信衛星と送受信を行う地球局装置210、235、227には、それぞれ本発明を実行する通信処理装置400が接続されている。さらに前記通信処理装置にはそれぞれ、ホスト211、295、247が接続されている。もちろん通信処理装置はホストの中で実現することも可能であるが、発明説明を明確にするために分離した。ホスト247はこの例では指名ホストとなるものである。
【0029】
図5は図3のマルチキャスト手順を実行する通信処理装置400の構成を示すブロック図である。CPU500は、マルチキャスト通信制御等の各種の通信処理プログラムをROM510から呼び出して実行する。RAM520は、受信状態管理表など本発明実施の上で参照される情報を一時保存する制御情報記憶手段である。I/F回路530は地球局装置との接続を行い入出力バッファ560に一時的に入出力データを記憶する。I/F回路540はホストとの接続を行い入出力バッファ570で一時的に入出力データを記憶する。
【0030】
I/F回路550は他のネットワークとの接続を行い入出力バッファ580で一時的に入出力データを記憶する。CPU500は入出力バッファを監視している。これにより、接続するホストあるいはネットワークからのデータを入出力バッファを介して通信する。ここでは一般的なインタネットプロトコルであるTCP/IP(Transmission Control Protocol /Internet Protocol)でホスト或はネットワークと通信する場合で説明する。また地球局装置とはIPベースの上に、マルチキャスト用の下記に説明するプロトコルを実施する。
【0031】
図6はIETFで標準化されておりインタネット等で利用されているIPパケット600を示す。IPパケット600は通常20バイトのIPヘッダ部とIPデータ部620からなる。マルチキャストデータはこのIPデータ部620で運ばれる。通信処理装置400はホスト或はネットワークで図6のフォーマットでやり取りするデータを入出力バッファに蓄え、IPデータ620を取り出し、フレームサイズに分割し、新たに制御情報を加え再度IPパケット化を行いI/F回路530へ出力する。
【0032】
図7は上記I/F回路530を介して衛星回線へ送信するために再度組み立てられたIPパケット700のフォーマットを示す。IPパケット700は標準の20バイトのIPヘッダ部710とIPデータ部720からなり、IPデータ部720には通信処理装置400で作成したフレームセグメント770が格納される。IPデータ部720はフレームヘッダ部730とフレームデータ部750からなる。フレームデータ部750にはユーザデータ或は制御情報が格納される。
【0033】
フレームヘッダ部730はユーザデータ/制御データの識別を行うデータフレームと制御フレームを示すフレームタイプ731、送信元ポート番号732、宛先ポート番号733、フレームシーケンス番号734、ブロックの開始と終了のためブロック識別子735、マルチキャストアプリケーションを識別するIPマルチキャストアドレス736、フレームが正常に到着したことを確認するチェックサム737からなる。制御フレームには、例えば、後述するようにマルチキャストデータを送信する側から送るホストグループ定義のためのフレームや受信する側の送達確認通知等、今回の発明に関わる制御情報を伝達するフレームである。データフレームは、マルチキャストデータを送信するためのフレームである。
【0034】
まず、マルチキャストデータの送信元となるホスト211に接続する通信処理装置400のデータ送信処理手順を図5〜図7を利用して図8のフローチャートで説明する。ステップ801で入出力バッファ570のIPパケット600をチェックして、ステップ802でIPマルチキャストデータであるかをIPヘッダの宛先IPアドレスで判断する。インタネット標準の仕様では、クラスDのIPアドレスをマルチキャスト用に定義しており、先頭4ビットが「1110」(10進法では224)となっている。
【0035】
図2では、マルチキャストグループ250用にマルチキャストアドレスが割当てられている。このマルチキャストアドレスは、標準ではクラスDのうちパブリックに割り当てられている224.0.1.0〜238.255.255.255のいづれかである。或は1つの団体で閉じている場合だと、ローカルに割り当てられている239.0.0.0〜239.255.255.255が利用できる。ステップ802で通常のユニキャストIPアドレスであると入出力バッファ570のIPパケットをステップ809で取り出してそのままステップ808で入出力バッファ560へ送信する。
【0036】
ステップ802でマルチキャストデータであると判断すると、ステップ803でIPパケット600を取り出してデカプセルする。ステップ804でデカプセル後のIPデータ620をフレームに分割する。必ずしも1つのIPデータからフレームを作成するわけではなく、複数IPデータで1つのフレームを構成することもある。ステップ805でフレームヘッダの作成を行う。フレームヘッダは図7で示したが、フレームタイプ731をユーザデータタイプとし、ホスト211から受け継いだ送信元ポート番号732、宛先ポート番号733、そしてシーケンス番号734は分割したフレーム番号を付する。ブロック番号735は先頭及び終わりのフレームに付する。
【0037】
IPマルチキャストアドレス736は、今回のマルチキャストアプリケーションを識別するため、前記IPマルチキャストアドレスを付ける。ステップ806でステップ804でのフレームデータにステップ805のフレームヘッダからをフレームを組み立て、ステップ807でステップ803でデカプセル化後のIPヘッダ610でステップ806のフレームをカプセル化して、ステップ808で入出力バッファ560へ送信する。以上がデータ送信処理の動作である。なおここでは、通信制御装置400がホストのIPマルチキャスト及びIPアドレスを管理しているものとして説明している。
【0038】
次に送信するホスト211に接続する通信処理装置400の受信処理手順を説明するがその前に使用する制御フレームについて示しておく。図9はマルチキャストデータを受信するマルチキャストグループ250を構成するホスト240〜247及び290〜295の通信処理装置400が衛星回線を介して返す未受信送達確認のフレーム(NACKフレームと呼ぶ)の制御情報900である。NACKフレームは図7で説明したフレームヘッダ730のフレームタイプが制御データのNACK通知であることの識別子を付けた制御フレームであり、フレームデータ部750には図9で示す未受信のフレームシーケンス番号の先頭と末尾をペアにしたものである。
【0039】
図10は送信側通信処理装置400が受信側の通信処理装置400へ送る制御フレームであるホストグループ通知フレームのフレームデータ部750の制御情報1000を示す。制御情報1000は1つのホストグループ毎にホストグループのIPマルチキャストアドレス1001、指名ホストのIPアドレス1002、構成するホストのIPアドレス1003、1004、及びこのホストグループ1010の構成において未受信フレームのシーケンス番号の先頭1005及び末尾1006からなる。ここで新たに割当てるIPマルチキャストアドレスはプライベートに割当てるローカルなものである。従ってローカルに割り当てられている239.192.0.0〜239.251.255.255の中から割当てる。
【0040】
上記制御情報1000は、定義されたホストグループ構成に基づくものであり、送信ホストがこのホストグループ構成定義情報を保存する。また、指名ホストにおいても、任された新たなホストグループに係わる構成定義情報たとえばホストIPアドレスを同様の情報として保存する。さらに各構成ホストにおいても、指名ホストIPアドレスを保存する。
【0041】
図11は、マルチキャスト送信側の通信処理装置400がRAM520で管理する受信状態管理表1100を示す。受信状態管理表1100は受信のホストID1101と未受信フレーム番号1102からなり、通信処理装置毎で未受信フレーム番号が管理されている。以上のフレームを利用して、図12で送信側の通信処理装置400の受信処理手順を説明する。
【0042】
ここで、前述のフレーム未受信率、フレーム未受信パターンについて本発明における定義を例示する。
【0043】
各受信ホストのフレームの未受信率は、例えば、データの全フレーム数を dtとすると、
フレーム未受信率=ホストの未受信フレーム数/dt
で定義される。未受信フレーム数は、図11の表を基に受信ホスト毎にカウントする。ホスト290であれば、A-F-1からA-F-Nの数を累計したものになる。フレーム未受信率があらかじめ設定した誤差の範囲内に収まる場合に「フレーム未受信率が等しい」と定義する。
【0044】
フレーム未受信のパターンは、図11でまとめてある各受信ホストの未受信フレームのうち、他のホストと比較してフレーム番号が一致する率を算出したもので以下のように定義する。以下の式は、ホスト290をホスト291と比較した一致率を示す。この一致率があらかじめ設定した範囲内に収まる場合を「フレーム未受信パターンが同じ」とみなす。
【0045】
一致率(ホスト290→ホスト291)=
ホスト291とフレーム番号が一致した数/ホスト290のフレーム未受信数
図12のステップ1201でNACKフレームを格納するIPパケットを受信すると、IPヘッダ610の送信IPアドレス711と図9で示す未受信フレーム番号を読み取り、ステップ1202で受信状態管理表1100を更新する。図3のシーケンスでは、ホスト290から未受信フレーム先頭番号=未受信フレーム末尾番号=2のNACKフレームが、ホスト295からは未受信フレーム先頭番号=6、未受信フレーム末尾番号=7のNACKフレームを受信していることを示す。
【0046】
ステップ1203で新たなホストグループ定義通知を行うタイミングか否かを判断する。判断の方法としてはいろいろな場合が想定されるが、例えば▲1▼マルチキャストデータの送信が全て完了する数ブロック前をタイミングとして定期的に通知する、▲2▼マルチキャストデータ送信完了後タイミングで数回通知する等がある。未受信フレーム数が規定以上に多いホストグループの場合には天候等による回線品質の低下の可能性があるため一定の時間後に再送するように指示する。指名ホストへのホストグループ定義通知を行うタイミングでなければステップ1201へ戻る。
【0047】
ステップ1204で、受信状態管理表1100から、前記で示したホストグループ定義基準に従ってグループ構成ホスト及び指名ホストを決定する。
【0048】
図2では新たなホストグループ270が指名ホスト246、未受信ホスト290〜292で、ホストグループ280が指名ホスト247、未受信ホスト293〜295で構成定義したものである。ステップ1205ではこの定義をもとに、ホストグループ通知フレームのフレームデータ部750の制御情報1000を作成しマルチキャストグループ250のIPマルチキャストアドレスを宛先IPアドレスとしたIPヘッダでカプセル化する。ステップ1206でこのIPカプセル化した制御フレームを入出力バッファ560へ送信する。
【0049】
図13は通信処理装置400のRAM520で管理しているアプリケーション毎のIPマルチキャスト対応表を示したものである。これによりアプリケーション毎のホストグループを管理している。ここでは3つのマルチキャストを利用するアプリケーション毎のIPマルチキャスト対応表1300、1310、1320である。
【0050】
図14はプライベートIPマルチキャスト管理表1400を示したものである。この表は例えば企業が利用する場合であれば、企業内に1つこの表を管理するマスタサーバを立ち上げて管理していくものである。プライベートIPマルチキャスト管理表1400へ必要なホストは登録してプライベートIPマルチキャストを取得する。利用できるプライベートIPマルチキャストは、IETFでローカルに割り当てられている239.192.0.0〜239.251.255.255を利用する。プライベートIPマルチキャスト管理表1400は取得元のホストIPアドレスが記載されている。未使用だと0.0.0.0となっている。
【0051】
図15でマルチキャストグループ250を構成するホストのうち、指名ホストとなるホスト246及びホスト247に接続する通信処理装置400の処理手順を説明する。ここでは特に指名ホストとして特有の手順のみについて記す。
【0052】
ステップ1500でを入出力バッファ560からホストグループ通知フレームを格納するIPパケットを受信すると、ステップ1501で自ホストのIPアドレスが指名ホストとして記されているかを判断する。記されてなければ終了。ステップ1502で指名ホストであることを認識すると再送タイミングであるかを判断する。再送タイミングにもマルチキャストシステムによって決定される。図3のシーケンスでは再送タイミングは送信のホストから与えられる。再送タイミングでなければステップ1500へ戻る。
【0053】
ステップ1503でホストグループ通知フレームで指示された再送のフレームを自ホストが新たに担当するホストグループのプライベートIPマルチキャストアドレスをIPヘッダ610の宛先IPアドレス712に、自ホストIPアドレスを送信元IPアドレス711にして、IP化して再送する。図3のホストグループ280の指名ホスト247だとフレーム6及び7を再送する。
【0054】
ステップ1504で所属するホストグループの未受信ホストからのNACKフレームを受信したか否かを判断する。受信しなければステップ1505でマルチキャストデータの送信ホストに向けて再送完了フレーム1600を作成し、IPヘッダ610の送信元IPアドレスに自ホストIPアドレスを、宛先IPアドレスには送信ホスト211のIPアドレスにしてIP化して入出力バッファ560へ送信する。ここで再送完了フレーム1600は図16に示すとおりである。フレームタイプ731を再送完了フレームタイプに、フレームデータ部750の制御情報として所属するプライベートIPマルチキャストアドレス1610を、それ以降に完了した再送フレームのシーケンス番号の先頭1620と末尾1621を格納したものある。
【0055】
図17に未受信ホストの通信処理装置400の処理手順を示す。ここでは特にNACKフレームを送信した以降の手順について記す。ステップ1701でホストグループ通知フレームを受信すると、ステップ1702で該ホストグループ通知フレームの制御情報1000をチェックして、受信ホストIPアドレス1002に自ホストのIPアドレスを探して、指定された所属のプライベートIPマルチキャストアドレス1001及び指名ホストのIPアドレスをRAM520に記憶する。
【0056】
ステップ1703で受信した再送フレームが自ホストの未受信マルチキャストフレームであるかを判断し、未受信マルチキャストフレームでなければ待ち状態となる。ステップ1704で正常に再送フレームを受信していれば終了となるが、正常受信してなければステップ1705でNACKフレームの制御情報900に未受信フレームシーケンス番号の先頭910と末尾920をセットしてIPパケット化する。IPヘッダの宛先IPアドレスには再送元の指名ホストIPアドレスをセットして入出力バッファ560に送信する。
【0057】
他の実施例として、送信制御の終了後に送達確認及び再送制御を行う方法でマルチキャストを行う方法も考えられる。この方法では、送達確認通知をマルチキャストデータの送信後に行うことから、マルチキャストデータを受信するホストの通信処理装置400の送達確認通知のタイミングを変更することで実現され、本発明に関わる処理としては同じである。
【0058】
第3の実施例として、図18で示すように送信制御、送達確認及び再送制御を並行に行う方法について説明する。この場合は、一通りのマルチキャストデータの送信を完了しなくてもNACKフレームに対する再送を行うことから、通信処理装置400の処理手順が次のように異なる。
【0059】
まずマルチキャストデータを送信するホスト211の通信処理装置400のホストグループ通知フレームの送信がより頻繁に行われる。さらに該ホストグループ通知フレームタイミング毎にホストグループが異なることがある。このため該ホストグループ通知フレームにてホストグループの動的変更が行われる。つまり、前回の該ホストグループ通知フレームの通知から今回の該ホストグループ通知フレーム通知のあいだに受信するNACKの状況が大きく変化する際にホストグループの構成変更が発生し、図12で示したステップ1203の判断が前記と異なる。これに伴い指名ホストとなる受信ホストにおいても所属するホストグループ変更が図15で説明した処理で頻繁に行われる。受信ホストにおいても所属するホストグループ及び指名ホストの変更が図17で示した処理で頻繁に行われるようになる。受信ホスト側の本発明に関わる通信処理装置400の基本処理手順に変更はない。
【0060】
次に指名ホストが予め決められ、送達確認及び再送制御を指名ホストに実施させる場合のマルチキャストシステムの実施例について説明する。図19にシステム構成を示す。この図において、送信ホスト1900は衛星通信用の地球局装置1901907を介してマルチキャストグループ1902を構成するホスト1910、1920、1930、1940、1950、1960、1970、1990へマルチキャストデータを送信する。予めホストグループ1903、1904、1905が定義されている。ホストグループ1903は、ホスト1920、1940、1950からなりホスト1940が指名ホストである。ホストグループ1904は、ホスト1910、1930、1960からなりホスト1910が指名ホストである。ホストグループ1905は、ホスト1970、1980、1990からなりホスト1990が指名ホストである。
【0061】
各指名ホストは、所属するホストグループの他のホストからの送達確認通知を集計して、送信ホスト1900へ各ホストグループの受信状態を通知する。例えば指名ホスト1940はホストグループ1903のホスト1920、1950の送達確認通知を受取り集計して、受信集計フレームとしてホスト1900へ送る。
【0062】
図20に受信集計フレームの制御情報2000のフォーマットを示す。制御情報はホストグループID2010、受信ホストIPアドレス2020及び該受信ホストの未受信フレームシーケンス番号の先頭2030及び末尾2040からなる。送信ホスト1900はマルチキャストデータの送信を完了し各指名ホストから送られた受信集計フレームから受信状態管理表1100を作成する。この後システムは再送制御動作に移行する。
【0063】
つぎに、未受信ホストとしてホスト1920とホスト1930を想定して、受信状態管理表1100に基づいて現状のホストグループの構成を変更して再送制御を指名ホストに実施させる例を説明する。
図19で、送信ホストはホスト1910を指名ホストに選び、未受信ホスト1920及び1930でホストグループ1906を定義し、ホストグループ通知フレーム1000で通知する。指名ホストに選ばれたホスト1910は、新たなホストグループ1906用のプライベートIPマルチキャストアドレスで再送制御を行い完了すると図16で示した制御情報の再送完了フレームを送信ホスト1900へ送信する。
【0064】
本実施例のように再送制御時に動的にホストグループを変更することで、受信正常ホストは未受信ホストの影響を受けずにマルチキャストデータの受信が可能となる。必要なホストのみで新たにホストグループを構成することで再送処理を効率化が図れる。
【0065】
次に本発明を地上回線に適用する場合の実現構成について説明する。
図1で説明したように地上では衛星回線と異なりマルチキャストデータを配信するためにはマルチキャストツリー上の複数のネットワークを通過しなくてはならない。ツリーの構成要素であるネットワークノードは具体的には、ルータ、gateway、または経路制御機能をもった計算機などが相当し、通常ネットワークノードとしてルータが用いられている。これらのルータから構成されるネットワークにおいて、マルチキャストを実施する場合インタネットでは従来の技術で説明したようにIGMP、DVMRPやMOSPFが利用されている。
【0066】
これらの技術をもとに本発明の動的なマルチキャストを実現するために、図21で示すようなIGMPメッセージを拡張したフォーマットの制御情報をマルチキャスト対応のルータ間でやり取りさせる。
図21にIGMPメッセージの未使用領域にサブタイプ2130を設けホストグループ通知メッセージの識別子を入れた例を示す。チェックサム2140の後にパブリックなIPマルチキャストアドレス2150と該IPマルチキャストアドレス2150のなかで一時的に動的に定義するプライベートIPマルチキャストアドレス2160と指名ホストIPアドレス2170及びプライベートIPマルチキャストアドレス2160で構成するホストのIPアドレス2180、2190で構成される。
【0067】
図22にルータ2200の構成を示す。CPU2210は、ROM2220のルーティング処理ソフトを実行し、RAM2230のルーティングテーブルを参照しながら、受信したIPパケットを、インタフェース回路2240、2250、2260のうち、IPパケットを受信したインタフェース以外に送出する。
【0068】
図23で本発明に係わるルータの処理手順を説明する。ステップ2301でホストグループ通知メッセージ2100の受信を行うと、ステップ2302でプライベートIPマルチキャストグループを構成する指名ホストIPアドレス2170、ホストIPアドレス2180、2190をチェックする。ステップ2303で、自ルータのルーティングテーブルを参照して配下にある1つのインタフェースのネットワークに、プライベートIPマルチキャストグループを構成するホストが全て接続されているか否かを判断する。全て接続されていればステップ2304にて、受信したホストグループ通知メッセージ2100を接続されているネットワークへのインタフェースへ送出する。そうでなければステップ2305で、自ルータのルーティングテーブルヘプライベートIPマルチキャストアドレス及び構成ホストを登録して、ステップ2306で指名ルータ及び構成ホストへのインタフェースに該受信したホストグループ通知メッセージ2100を送出する。
図23の動作により、指名ホストの担当のプライベートIPマルチキャストグループの中だけでプライベートIPマルチキャストアドレスによる通信処理が行われる。
【0069】
次に受信ホストが移動しても動的にホストグループを変更させることで容易にマルチキャストデータを受信させる実施例について説明する。このようにホスト移動が伴う場合には衛星回線のような広域をカバーする無線回線が非常に有利となるが、図1の地上回線でも対応可能である。ここでは図24にて衛星回線を利用するマルチキャストシステムの受信ホストが他の地球局装置の配下に移動したときの動作を説明する。
【0070】
この図では、送信ホスト2402が、通信処理装置2400、地球局装置2401、衛星回線2480を経て、マルチキャストグループ2470を構成する受信ホスト2412、2413、2422、2423、2424、2432、2433にマルチキャストデータを送信する例を示す。受信ホスト2412、2413は通信処理装置400に、受信ホスト2422、2423、2424は通信処理装置400に、受信ホスト2432、2433は通信処理装置400に、それぞれLAN(Local Area Network)2419によって接続されている。地球局装置2420配下の受信ホスト2423が地球局装置2440配下のLAN2441へ移動する場合、通信処理装置2400は以下のように動的にマルチキャストグループ構成を変更する。
【0071】
すなわち、移動するホスト2423は、通信処理装置2440の配下に移動すると、図7で説明した制御フレームの一つである移動通知フレームをLAN2449から通信処理装置400と衛星回線2490を介した送信ホスト2402の通信処理装置400へ通知する。移動通知フレームのフレームデータ部750には制御情報としてユニークな自ホストID(MAC[Media Access Control]アドレスでも可能)、新たに割付けられたホストIPアドレスが格納されている。ホストIPアドレスがパブリックなものであれば、ユニークな自ホストIDとして利用することもできる。この該移動通知フレームを受信した受信ホスト2423の通信処理装置400は新たにルーティングテーブルのネットワーク構成テーブルに受信ホスト2423のIPアドレスを追加する。
【0072】
また送信ホスト2402側の通信処理装置400は該移動通知フレームを受信すると、これまでのマルチキャストグループ2470の構成ホストへのデータ配信を持続させるため、これまでのマルチキャストグループ2460を変更して、地球局2441への衛星回線2490の接続を含むようにマルチキャストグループ2460を定義する。この新たな定義は図13で示したIPマルチキャスト対応表の受信ホストIPアドレスを更新することでなされる。このように衛星回線のような無線回線を利用すると、受信ホストが移動しても移動先までのネットワークコストを増加させないで新たなマルチキャストグループを定義できるため、移動体に容易に対応できる。
【0073】
上記実施例は、衛星通信網を前提に説明したが、その他のマルチキャスト伝送媒体である地上波デジタル通信網、移動体通信網にも適用可能である。
【0074】
以上のように、本発明によれば、送信ホストの負荷を分散でき大規模なマルチキャストシステムの実現が可能になる。また一部の不具合状況にしたがって、ホストグループを再構成し、前記ホストグループに属する指名ホストに任すことでトラヒック輻輳、データ伝送の滞りを回避することが可能になる。
【0075】
また、再構成したホストグループをルータ等のネットワークノードを介さずに無線(衛星)回線で直接接続で構成させることが可能になる。また、送達確認或は再送制御等の通信処理による影響を他のネットワークへ及ぼさないこと、他のネットワークからも影響受けないことが可能になり、通信処理の効率化とシステム効率の低下防止が可能になる。
【0076】
【発明の効果】
以上のように、本発明によれば、
(1)送信ホストの負荷を分散して大規模なマルチキャストシステムを実現できる、
(2)トラヒック輻輳やデータ伝送の滞りを回避することができる、
(3)ルータ等のネットワーク資源の消費を抑えることができる、
(4)通信処理の効率向上とシステム効率の低下防止を防ぐことができる、
という効果がある
【図面の簡単な説明】
【図1】本発明の概要を説明するシステム構成図である。
【図2】本発明を衛星回線を利用したネットワークに適用した実施例の概要を説明する図である。
【図3】本発明の衛星回線利用による具体的実施例を示すシーケンス図である。
【図4】図3のシーケンスを実行するシステム構成例を示す図である。
【図5】本発明を実行する通信処理装置の構成図である。
【図6】IETFで標準化されているIPパケットのフォーマット図である。
【図7】本発明の実施例で用いるフレームのフォーマット図である。
【図8】実施例のマルチキャストデータを送信するホストの通信処理装置の送信処理手順を説明するフロー図である。
【図9】未受信フレームを通知するNACKフレームの制御情報フォーマット図である。
【図10】新たなホストグループの通知を行うホストグループ通知フレームの制御情報フォーマット図である。
【図11】送信ホストに接続する通信処理装置が管理する受信状態管理表である。
【図12】送信ホストに接続する通信処理装置のホストグループ定義及び通知の処理手順を説明するフロー図である。
【図13】送信ホストが管理するIPマルチキャスト対応表である。
【図14】プライベートIPマルチキャストアドレス管理表である。
【図15】指名ホストに接続する通信処理装置の本発明に係わる処理手順を説明する図である。
【図16】図3の実施例で利用する再送完了フレームの制御情報フォーマット図である。
【図17】未受信ホストに接続する通信処理装置の再送制御に係わる処理手順を説明する図である。
【図18】衛星回線利用する具体的実施例を示すシーケンス図である。
【図19】本発明のホストグループを変更する実施例を説明する図である。
【図20】図19の実施例で使用する受信集計フレームの制御情報フォーマット図である。
【図21】ルータ間で本発明を実現するためのやり取りするホストグループメッセージフォーマット図である。
【図22】ルータの構成図である。
【図23】本発明に係わるルータの処理手順を説明する図である。
【図24】本発明を移動ホストに適用したときの実施例を説明する図である。
【符号の説明】
100…送信ホスト、
151,159…指名ホスト、
130,131,132,133,134…ルータ、
152,153,154,160,162,163…未受信ホスト、
200…通信衛星、
170,171,270,280…プライベートIPマルチキャストグループ、
210,227,235…地球局装置、
400…通信処理装置。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technology for increasing the scale and reliability of a multicast communication system for distributing data using a network.
[0002]
[Prior art]
Currently, IGMP (Internet Group Management Protocol: RFC2236) has been established as an IP level standard by the Internet Engineering Task Force (IETF) as a technology related to multicast communication capable of distributing data to a plurality of specific destinations. The usage of multicast addresses is disclosed in RFC2356. IGMP is a protocol for determining whether or not a multicast group member exists in the local network to which the multicast router belongs so that the multicast data can be efficiently transferred. At the draft level of IETF, DVMRP (Distance Vector Multicast Routing Protocol) and MOSPF (Multicast Open Shortest First) are available as routing protocols for MBONE, a global multicast virtual experiment network. Both create a tree for multicast data transfer. The above technique is for efficiently performing multicast data transfer.
[0003]
With regard to the large scale of multicast, in the current situation where the number of users has increased explosively with the recent infrastructure development of the Internet, it is very important that the multicast service has the scalability to cope with the large scale. Yes. Under such circumstances, a wireless line having a very high affinity is attracting attention as a multicast transmission medium. Terrestrial digital communication networks, mobile communication networks, and satellite communication networks are gradually being prepared. In particular, satellite links with wide area and high speed are attracting attention as a powerful base for dealing with large-scale multicast communications. Utilizing this feature, it has been put into practical use as a broadcast-type service such as in-house broadcasting, educational TV broadcasting, and image download system for branch offices distributed from the head office. In addition, data distribution services using the gap between broadcast waves are spreading to homes.
[0004]
As techniques for improving the reliability of multicast data, there are a technique for adding an error correction code to data and a technique for performing retransmission control. Since retransmission control can obtain the highest reliability, retransmission control based on delivery confirmation is adopted for file distribution, program download, version upgrade, and corporate data distribution. There are basic GO-Back-N method and Selective Repeat method in retransmission control technology. Reference 1 (Fujibe, Kobayashi, Nakayama, “Problems and Proposals for Highly Reliable Multicast Communication Systems in Multimedia Satellite Communication” (Science Technical Report SAT96-127, 1997-01) includes methods that combine or modify them. Further, as shown below, there are various methods for improving the system throughput of a multicast system to which retransmission control is added, which are separated according to the timing of transmission control, delivery confirmation control, and retransmission control. .
[0005]
(1) Delivery confirmation and retransmission control after transmission control is completed, for example, Reference 2 (Joshishita, Takahashi, and other three authors “Applicability of Reliable Multicast Communication Protocol (RMTP) to Various Networks” (Science and Technology) RMTP) disclosed in SSE95-196, 1996-03).
[0006]
(2) A method for performing retransmission control after performing transmission control and delivery confirmation in parallel, for example, Reference 3 (StarBurst MFTP; White Paper “An Efficient, Scalable Method for Distributing Information Using IP Multicast "), and reference 4 (Mentat, USA XTP4.0;" XTP protocol as seen from TCP / IP "by Eguchi, magazine Bit Vol. 28 No. 4, 1996-04).
[0007]
(3) A method of performing transmission control, delivery confirmation and retransmission control in parallel (see Document 2)
There is. Both are based on IP or UDP. In addition, in order to reduce the load on the transmission host for acknowledgment and retransmission control, Reference 5 (BN Levine et al., “A comparison of known Classes of Reliable Multicast Protocols” ICNP1996-Oct, Columbus Ohio) Discloses a method in which retransmission control timing is dispersed in time and only a delivery confirmation that is not normally received is notified.
[0008]
[Problems to be solved by the invention]
For example, the above-mentioned delivery confirmation and retransmission control can be used when data is reliably multicasted without error to a large number of users, such as a service that distributes software such as game software to tens of thousands of contract users who use the Internet. It is important to adopt This is an indispensable means especially when using a wireless line whose quality is not high. In such a case, if the number of users becomes enormous, the load on the transmission host related to delivery confirmation or retransmission control cannot be reduced regardless of contrivances such as time dispersion, and much time is required for distribution. Also, due to problems such as part of the network line or traffic congestion, part of the multicast tree created by DVMRP or MOSPF is interrupted, making data delivery impossible or lengthening the transmission time, which adversely affects the entire system. May cause effects.
[0009]
An object of the present invention is to provide a large-scale multicast communication system capable of solving the above-described problems and reliably transmitting data to a large number of users.
In particular,
(1) Distributing the load on the sending host for delivery confirmation and retransmission control;
(2) avoid traffic congestion and data transmission stagnation;
(3) To suppress the consumption of network resources such as routers,
It is to provide a multicast communication method using the same, a multicast communication system using the same, an individual communication device necessary for constructing the system, and a program for realizing these communication devices on a computer.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, the present invention is characterized in that a host that transmits multicast data dynamically controls the configuration of a host group (also referred to as a multicast group) according to network conditions.
In another aspect, the present invention is characterized in that a route from a transmission host to a host constituting a multicast group, that is, a multicast tree is dynamically reconfigured.
In general, a network is composed of network nodes with routing functions. Specifically, it may be a router, a gateway, or a normal PC as long as it has a path control function.
[0011]
As a control method, a host group is configured to include normally received hosts (for example, one or more newly created or the configuration of an existing host group is changed).
Further, the present invention is characterized in that the normally received host is caused to perform a part of communication processing for a newly created or changed host group to which the host belongs.
As another aspect, the present invention is characterized in that a multicast tree is reconstructed with a normally received host as a new transmission host.
Furthermore, in the multicast communication system of the present invention, the designated host comprises means for sending the received data delivery confirmation to the sending host, and means for requesting retransmission of data that could not be received normally. To do.
[0012]
According to the multicast communication system of the present invention, the load on the transmission host can be distributed, and a large-scale multicast system can be realized. In addition, according to some trouble situations, it becomes possible to avoid traffic congestion and data transmission stagnation by reconfiguring the host group and transferring the processing to the designated host. That is, it is possible to improve the efficiency of the retransmission control process that is responsible for high reliability, and it is possible to prevent a reduction in system efficiency.
Further, the present invention is characterized in that a wireless line, particularly a satellite line, is used for a route between a plurality of hosts. By configuring the reconfigured host group by direct connection via a wireless (satellite) line without going through a network node such as a router, the influence of communication processing such as delivery confirmation or retransmission control is not exerted on other networks. It becomes possible not to be influenced by other networks, and it becomes possible to improve the efficiency of communication processing and prevent the system efficiency from being lowered.
[0013]
Further, the present invention is characterized in that, in a system that requests retransmission of data that could not be normally transmitted, the host group newly created or changed by the designated host is retransmitted by multicast.
The communication processing apparatus used in the present invention includes means for notifying definition information of a reconfigured host group between nodes constituting the network, and performs communication processing closed to the reconfigured host group. And
Further, the communication processing apparatus used in the present invention is characterized by comprising means for selecting a normal receiving host that minimizes the network cost with the hosts constituting the new or changed host group.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments using the present invention will be described below with reference to the drawings.
FIG. 1 is a system configuration diagram for explaining the outline of the present invention. The system includes a plurality of networks 120 to 127, a plurality of routers 130 to 134 that connect these networks, and hosts 100 and 150 to 163 that connect to a network including the networks 120 to 127 and the routers 130 to 134. In the figure, a transmission host having multicast data distributed by the host 100 is shown, and the hosts 150 to 163 form a multicast group that receives the multicast data. A group 170 and a group 171 indicate host groups newly generated in the present invention. Here, the host 100 divides the multicast data 101 into a plurality of frames, and uses the multicast group address of this multicast group as the destination address, and distributes it to the hosts 150 to 163 belonging to the multicast group with high reliability using delivery confirmation and retransmission control. An example of the case will be described.
[0015]
In this case, the host 100 receives a delivery confirmation notification from the hosts 150 to 163 with respect to the transmitted frame, and manages the status of non-reception and normal reception for each of the hosts 150 to 163 in units of frames. Here, it is assumed that the hosts 152, 153, 154, 160, 162, and 163 are hosts that have received a notification that there is an unreceived frame and a retransmission is requested (hereinafter referred to as an unreceived host). Is assumed to be a host that normally receives the frame (hereinafter referred to as a normal host). Based on the delivery confirmation notification result, the host 100 newly defines a host group from the hosts 152, 153, 154, 160, 162, and 163 that have made non-reception notifications including normal reception hosts.
[0016]
In this figure, hosts 159 and 151 are designated as normal hosts, and two new host groups 170 and 171 including each are defined in such a policy that the total network cost up to unreceived hosts is reduced. The host group 170 is composed of designated hosts (hereinafter referred to as designated hosts) 159 and unreceived hosts 160, 162, and 163, and the host group 171 is composed of designated hosts 151 and unreceived hosts 152, 153, and 154.
[0017]
The host 100 assigns a new multicast address to each defined new host group, and transmits it as control data together with group definition information in parallel with the multicast data frame transmission before the start of retransmission, and notifies the hosts 150 to 163. To do.
[0018]
The hosts 151, 152, 153, 154, 159, 160, 162, and 163 related to the definition information receive the notified definition information. It is recognized that the host 151 is a designated host of the host group 171 and the host 159 is a designated host of the host group 170.
[0019]
The designated hosts 151 and 159 serve as masters for retransmission control of the host group 171 and the host group 170, respectively, and retransmit the necessary frames 180 and 181 with the multicast addresses assigned to the host groups 171 and 170, respectively. When the retransmission control is completed, the host 100 is notified of this.
[0020]
In this way, depending on the reception status and traffic status, the host group necessary for retransmission is temporarily defined together with the designated host, and retransmission control is performed locally to perform retransmission control, thereby enabling large-scale highly reliable multicast Service can be handled. Also, by performing locally closed communication processing, compared to the case of retransmitting from the host 100, it is possible to suppress the consumption of network resources such as a network or a router far from the unreceived host, that is, the adverse effect due to an increase in traffic of retransmitted frames Can be suppressed.
[0021]
Next, referring to FIG. 2, a description will be given of an embodiment in the case of using a satellite line which is a transmission medium having wide area and broadcast capability and very effective for large-scale multicast communication. In FIG. 2, 200 is a communication satellite, 210 and 220 to 234 are earth station devices that convert data to satellite channels and transmit / receive data, 211, 240 to 247, and 290 to 295 are connected to the earth station devices 220 to 234, respectively. Indicates the host that performs the process. Here, a case where the host 211 having multicast data distributes the multicast data to the hosts 240 to 247 and 290 to 295 constituting the multicast group 250 via the earth station device 210 and the communication satellite 200 via the satellite line 212 will be described. To do.
[0022]
In the same manner as described above, the data is divided into frames, and the multicast group 250 group address is assigned and broadcast. The host constituting the multicast group 250 returns a delivery confirmation to the host 211 by unicast. Based on this delivery confirmation, the reception statuses of the hosts 240 to 247 and 290 to 295 are grasped, and new host groups 270 and 280 are defined. Here, the unreceived hosts are the hosts 290 to 295, and the other hosts are normal hosts. The designated hosts are normal hosts 246 and 247. The host group can be defined based on the following criteria in view of the reception status.
[0023]
(1) Hosts having the same frame non-reception rate (definition will be described later) are set to the same group.
(2) Hosts with the same frame unreceived pattern (definition will be described later) are set to the same group.
(3) Hosts in the same region are grouped together
The selection of the designated host may be based on being physically close to the generated host group as much as possible.
[0024]
The designated host 246 is responsible for the host group 270, and the designated host 247 is responsible for the retransmission control of the host group 280. The designated host 246 transmits the retransmission frame 271 and the designated host 247 transmits the retransmission frame 281 to the unreceived hosts of the respective host groups 270 and 280 via the communication satellite 200.
In the following, an embodiment of a method for performing retransmission control after performing transmission control and delivery confirmation in parallel and transmitting data in a row as shown in the above-described conventional technology will be described.
[0025]
FIG. 3 shows a sequence in this embodiment. FIG. 3A shows a sequence for performing transmission control and delivery confirmation in parallel, and FIG. 3B shows an example of a sequence for retransmission control. FIG. 3A shows that the hosts 240, 290, and 295 are receiving data by multicast. Reference numerals 301 to 309 define multicast data frames, and six frames define one block. The host received for each block confirms delivery only for non-reception. Each receiving host activates a timer at the end of each block and sends a delivery confirmation after a random time has elapsed.
[0026]
Note that performing in parallel means sending the reception status (acknowledgment confirmation) for the data frames received so far while receiving multicast data, for example, in units of frames. The timing for sending the reception status can be arbitrarily selected according to the delivery confirmation method employed. For example, a method of confirming delivery for every window size or confirming delivery for every certain amount of received data is possible. Also, transmission control is transmission of multicast data including retransmission. The delivery confirmation means that the transmission side recognizes whether the multicast data is normally received or received in error by notifying the transmission side of the reception status for the multicast data.
[0027]
In the NACK (X, Y) frame for notifying that there is an unreceived frame, X is the host identifier, and Y is the unreceived frame number to notify the unreceived frame. In the figure, the host 290 notifies that the frame of frame number 2 has not been received, and the host 295 notifies that frame numbers 6 and 7 have not been received. In FIG. 3 (2), the sequence of (1) is completed, and the host 211 newly creates host groups 270 and 280 from the reception status, of which multicast frames are sent from the designated host 247 to the host 295 in the host group 280. 6 shows a state in which retransmissions 6 and 7 are performed.
[0028]
FIG. 4 shows a configuration example of a main apparatus that executes the sequence of FIG. In this figure, a communication processing device 400 for executing the present invention is connected to each of earth station devices 210, 235, and 227 that perform transmission and reception with a communication satellite. Furthermore, hosts 211, 295, and 247 are connected to the communication processing devices, respectively. Of course, the communication processing apparatus can be realized in the host, but is separated for the sake of clarity of the description of the invention. In this example, the host 247 is a designated host.
[0029]
FIG. 5 is a block diagram showing a configuration of the communication processing apparatus 400 that executes the multicast procedure of FIG. The CPU 500 calls various communication processing programs such as multicast communication control from the ROM 510 and executes them. The RAM 520 is a control information storage unit that temporarily stores information referred to in the implementation of the present invention, such as a reception status management table. The I / F circuit 530 is connected to the earth station device and temporarily stores input / output data in the input / output buffer 560. The I / F circuit 540 is connected to the host and temporarily stores input / output data in the input / output buffer 570.
[0030]
The I / F circuit 550 connects to another network and temporarily stores input / output data in the input / output buffer 580. The CPU 500 monitors the input / output buffer. Thereby, data from the connected host or network is communicated via the input / output buffer. Here, a case where communication is performed with a host or a network by TCP / IP (Transmission Control Protocol / Internet Protocol) which is a general Internet protocol will be described. The earth station apparatus implements the following protocol for multicast on the IP base.
[0031]
FIG. 6 shows an IP packet 600 standardized by IETF and used on the Internet or the like. The IP packet 600 is generally composed of a 20-byte IP header part and an IP data part 620. Multicast data is carried by the IP data unit 620. The communication processing device 400 stores the data exchanged in the format of FIG. 6 in the host or network in the input / output buffer, takes out the IP data 620, divides it into frame sizes, newly adds control information and converts it into an IP packet again. / F circuit 530.
[0032]
FIG. 7 shows the format of an IP packet 700 reassembled for transmission to the satellite line via the I / F circuit 530. The IP packet 700 includes a standard 20-byte IP header portion 710 and an IP data portion 720. The IP data portion 720 stores a frame segment 770 created by the communication processing device 400. The IP data part 720 includes a frame header part 730 and a frame data part 750. The frame data portion 750 stores user data or control information.
[0033]
The frame header portion 730 includes a data type for identifying user data / control data and a frame type 731 indicating a control frame, a source port number 732, a destination port number 733, a frame sequence number 734, and a block identifier for starting and ending the block. 735, an IP multicast address 736 for identifying the multicast application, and a checksum 737 for confirming that the frame has arrived normally. The control frame is a frame for transmitting control information related to the present invention, such as a frame for defining a host group sent from the side that sends multicast data and a delivery confirmation notification on the side that receives, as will be described later. The data frame is a frame for transmitting multicast data.
[0034]
First, the data transmission processing procedure of the communication processing apparatus 400 connected to the host 211 that is the transmission source of multicast data will be described with reference to the flowchart of FIG. 8 using FIGS. In step 801, the IP packet 600 in the input / output buffer 570 is checked, and in step 802, it is determined by the destination IP address of the IP header whether it is IP multicast data. In the specifications of the Internet standard, class D IP addresses are defined for multicast, and the first 4 bits are “1110” (224 in decimal notation).
[0035]
In FIG. 2, a multicast address is assigned for the multicast group 250. This multicast address is one of 224.0.1.0 to 238.255.255.255, which is assigned to the public in class D by default. Or if it is closed by one organization, 239.0.0-239.255.255.255 assigned locally can be used. If the IP address is a normal unicast IP address in step 802, the IP packet in the input / output buffer 570 is extracted in step 809 and transmitted to the input / output buffer 560 as it is in step 808.
[0036]
If it is determined in step 802 that it is multicast data, the IP packet 600 is taken out and decapsulated in step 803. In step 804, the decapsulated IP data 620 is divided into frames. A frame is not necessarily created from one IP data, and one frame may be composed of a plurality of IP data. In step 805, a frame header is created. Although the frame header is shown in FIG. 7, the frame type 731 is a user data type, the source port number 732, destination port number 733, and sequence number 734 inherited from the host 211 are assigned divided frame numbers. Block number 735 is attached to the first and last frames.
[0037]
The IP multicast address 736 is assigned with the IP multicast address to identify the current multicast application. In step 806, the frame data in step 804 is assembled from the frame header in step 805. In step 807, the frame in step 806 is encapsulated in the IP header 610 after decapsulation in step 803. In step 808, the input / output buffer is encapsulated. To 560. The above is the operation of the data transmission process. Here, it is assumed that the communication control apparatus 400 manages the IP multicast and IP address of the host.
[0038]
Next, a reception processing procedure of the communication processing apparatus 400 connected to the host 211 to be transmitted will be described, but a control frame used before that will be described. FIG. 9 shows control information 900 of an unacknowledged delivery confirmation frame (referred to as a NACK frame) returned from the communication processing devices 400 of the hosts 240 to 247 and 290 to 295 constituting the multicast group 250 that receives the multicast data via the satellite line. It is. The NACK frame is a control frame with an identifier indicating that the frame type of the frame header 730 described with reference to FIG. 7 is a NACK notification of control data, and the frame data portion 750 has an unreceived frame sequence number shown in FIG. It is a pair of head and tail.
[0039]
FIG. 10 shows the control information 1000 of the frame data portion 750 of the host group notification frame, which is a control frame sent from the transmission side communication processing apparatus 400 to the reception side communication processing apparatus 400. The control information 1000 includes, for each host group, the IP multicast address 1001 of the host group, the IP address 1002 of the designated host, the IP addresses 1003 and 1004 of the constituting hosts, and the sequence number of the unreceived frame in the configuration of the host group 1010. It consists of a head 1005 and a tail 1006. The IP multicast address newly assigned here is a local one assigned privately. Therefore, allocation is performed from among 239.192.0.0 to 239.251.255.255 allocated locally.
[0040]
The control information 1000 is based on the defined host group configuration, and the transmission host stores the host group configuration definition information. Also in the designated host, configuration definition information related to the new assigned host group, for example, the host IP address is stored as similar information. Further, the designated host IP address is stored in each constituent host.
[0041]
FIG. 11 shows a reception status management table 1100 managed by the RAM 520 by the communication processing device 400 on the multicast transmission side. The reception status management table 1100 includes a reception host ID 1101 and an unreceived frame number 1102, and an unreceived frame number is managed for each communication processing device. The reception processing procedure of the communication processing apparatus 400 on the transmission side will be described with reference to FIG.
[0042]
Here, the definition in this invention is illustrated about the above-mentioned frame unreception rate and a frame unreception pattern.
[0043]
The frame non-reception rate of each receiving host is, for example, when the total number of data frames is dt.
Frame unreceived rate = Host unreceived frames / dt
Defined by The number of unreceived frames is counted for each receiving host based on the table of FIG. In the case of the host 290, the number of AFNs from AF-1 is accumulated. When the frame non-reception rate falls within a preset error range, it is defined that “the frame non-reception rate is equal”.
[0044]
The frame non-reception pattern is defined as follows, in which the rate of matching frame numbers compared to other hosts is calculated among the non-reception frames of each reception host summarized in FIG. The following formula shows the coincidence rate when the host 290 is compared with the host 291. A case where the coincidence rate falls within a preset range is regarded as “the frame non-reception pattern is the same”.
[0045]
Match rate (host 290 → host 291) =
Number of frames with the same number as host 291 / Number of frames not received by host 290
When the IP packet storing the NACK frame is received in step 1201 of FIG. 12, the transmission IP address 711 of the IP header 610 and the unreceived frame number shown in FIG. 9 are read, and the reception state management table 1100 is updated in step 1202. In the sequence of FIG. 3, a NACK frame with an unreceived frame start number = unreceived frame end number = 2 from the host 290 and an NACK frame with an unreceived frame start number = 6 and an unreceived frame end number = 7 are received from the host 295. Indicates that it is being received.
[0046]
In step 1203, it is determined whether or not it is time to issue a new host group definition notification. There are various cases of determination methods. For example, (1) periodically notifies several blocks before the completion of transmission of multicast data, and (2) several times at the timing after completion of multicast data transmission. There are notifications. In the case of a host group in which the number of unreceived frames is larger than a specified number, there is a possibility that the line quality may be deteriorated due to weather or the like, so that retransmission is instructed after a certain time. If it is not time to send the host group definition notification to the designated host, the process returns to step 1201.
[0047]
In step 1204, the group configuration host and the designated host are determined from the reception status management table 1100 according to the host group definition criteria described above.
[0048]
In FIG. 2, the new host group 270 is defined as a designated host 246 and unreceived hosts 290 to 292, and the host group 280 is defined as a designated host 247 and unreceived hosts 293 to 295. In step 1205, based on this definition, control information 1000 of the frame data portion 750 of the host group notification frame is created and encapsulated with an IP header with the IP multicast address of the multicast group 250 as the destination IP address. In step 1206, the IP-encapsulated control frame is transmitted to the input / output buffer 560.
[0049]
FIG. 13 shows an IP multicast correspondence table for each application managed by the RAM 520 of the communication processing apparatus 400. This manages the host group for each application. Here, there are IP multicast correspondence tables 1300, 1310, and 1320 for each application using three multicasts.
[0050]
FIG. 14 shows a private IP multicast management table 1400. For example, if this table is used by a company, one master server that manages this table is set up and managed in the company. Necessary hosts are registered in the private IP multicast management table 1400 to obtain private IP multicast. The private IP multicast that can be used uses 239.192.0.0-239.251.255.255, which is locally allocated by IETF. The private IP multicast management table 1400 describes the host IP address of the acquisition source. If unused, it is 0.0.0.0.
[0051]
FIG. 15 illustrates a processing procedure of the communication processing device 400 connected to the host 246 and the host 247 that are designated hosts among the hosts that constitute the multicast group 250. Only the procedure specific to the designated host is described here.
[0052]
When the IP packet storing the host group notification frame is received from the input / output buffer 560 in step 1500, it is determined in step 1501 whether the IP address of the own host is described as the designated host. End if not marked. If it is recognized in step 1502 that the host is a designated host, it is determined whether it is a retransmission timing. The retransmission timing is also determined by the multicast system. In the sequence of FIG. 3, the retransmission timing is given from the transmission host. If the retransmission timing is not reached, the process returns to step 1500.
[0053]
In step 1503, the private IP multicast address of the host group that is newly responsible for the retransmission frame designated by the host group notification frame in step 1503 is the destination IP address 712 of the IP header 610, and the host IP address is the source IP address 711. And retransmit it in IP. In the case of the designated host 247 of the host group 280 in FIG. 3, the frames 6 and 7 are retransmitted.
[0054]
In step 1504, it is determined whether or not a NACK frame has been received from an unreceived host of the host group to which it belongs. If not received, in step 1505, a retransmission completion frame 1600 is created toward the multicast data transmission host, and the own host IP address is set as the source IP address of the IP header 610, and the IP address of the transmission host 211 is set as the destination IP address. To IP and transmit to the input / output buffer 560. Here, the retransmission completion frame 1600 is as shown in FIG. The frame type 731 is stored in the retransmission completed frame type, the private IP multicast address 1610 belonging as the control information of the frame data portion 750 is stored, and the beginning 1620 and the end 1621 of the sequence number of the retransmission frame completed thereafter are stored.
[0055]
FIG. 17 shows a processing procedure of the communication processing apparatus 400 of the unreceived host. Here, the procedure after the transmission of the NACK frame is described. When the host group notification frame is received in step 1701, the control information 1000 of the host group notification frame is checked in step 1702, the IP address of the own host is searched for the reception host IP address 1002, and the private IP of the designated affiliation belongs. The multicast address 1001 and the IP address of the designated host are stored in the RAM 520.
[0056]
It is determined whether the retransmission frame received in step 1703 is an unreceived multicast frame of the own host. If the retransmission frame is normally received in step 1704, the process ends. If not normally received, the head 910 and the tail 920 of the unreceived frame sequence number are set in the control information 900 of the NACK frame in step 1705 to set the IP. Packetize. The destination IP address of the IP header is set with the designated host IP address of the retransmission source and transmitted to the input / output buffer 560.
[0057]
As another embodiment, a method of performing multicast by a method of performing delivery confirmation and retransmission control after the end of transmission control is also conceivable. In this method, since the delivery confirmation notification is performed after the multicast data is transmitted, it is realized by changing the timing of the delivery confirmation notification of the communication processing device 400 of the host that receives the multicast data. It is.
[0058]
As a third embodiment, a method of performing transmission control, delivery confirmation, and retransmission control in parallel as shown in FIG. 18 will be described. In this case, since the NACK frame is retransmitted without completing a single transmission of multicast data, the processing procedure of the communication processing device 400 is different as follows.
[0059]
First, the host group notification frame of the communication processing device 400 of the host 211 that transmits multicast data is transmitted more frequently. Further, the host group may be different for each host group notification frame timing. Therefore, the host group is dynamically changed in the host group notification frame. That is, when the status of the NACK received during the current host group notification frame notification changes greatly from the previous notification of the host group notification frame, the host group configuration change occurs, and step 1203 shown in FIG. Is different from the above. Accordingly, the host group to which the receiving host that is the designated host belongs is frequently changed in the process described with reference to FIG. In the receiving host, the host group to which the receiving host belongs and the designated host are frequently changed by the processing shown in FIG. There is no change in the basic processing procedure of the communication processing apparatus 400 related to the present invention on the receiving host side.
[0060]
Next, a description will be given of an embodiment of a multicast system in which a designated host is determined in advance and delivery confirmation and retransmission control are performed by the designated host. FIG. 19 shows the system configuration. In this figure, a transmission host 1900 transmits multicast data to hosts 1910, 1920, 1930, 1940, 1950, 1960, 1970, 1990 constituting a multicast group 1902 via an earth station device 1901907 for satellite communication. Host groups 1903, 1904, and 1905 are defined in advance. The host group 1903 includes hosts 1920, 1940, and 1950, and the host 1940 is the designated host. The host group 1904 includes hosts 1910, 1930, and 1960, and the host 1910 is a designated host. The host group 1905 includes hosts 1970, 1980, and 1990, and the host 1990 is the designated host.
[0061]
Each designated host aggregates delivery confirmation notifications from other hosts in the host group to which it belongs and notifies the transmission host 1900 of the reception status of each host group. For example, the designated host 1940 receives and aggregates the delivery confirmation notifications of the hosts 1920 and 1950 of the host group 1903 and sends them to the host 1900 as a reception aggregation frame.
[0062]
FIG. 20 shows a format of the control information 2000 of the received total frame. The control information includes a host group ID 2010, a receiving host IP address 2020, and a head 2030 and a tail 2040 of an unreceived frame sequence number of the receiving host. The transmission host 1900 completes transmission of the multicast data and creates a reception status management table 1100 from the reception total frame transmitted from each designated host. Thereafter, the system shifts to a retransmission control operation.
[0063]
Next, an example in which the host 1920 and the host 1930 are assumed as non-reception hosts and the configuration of the current host group is changed based on the reception status management table 1100 and retransmission control is performed by the designated host will be described.
In FIG. 19, the transmission host selects the host 1910 as the designated host, defines the host group 1906 with the unreceived hosts 1920 and 1930, and notifies the host group notification frame 1000. When the host 1910 selected as the designated host completes the retransmission control using the private IP multicast address for the new host group 1906, the host 1910 transmits the retransmission completion frame of the control information shown in FIG.
[0064]
By dynamically changing the host group at the time of retransmission control as in this embodiment, a normal reception host can receive multicast data without being affected by an unreceived host. By newly configuring a host group with only necessary hosts, retransmission processing can be made more efficient.
[0065]
Next, an implementation configuration when the present invention is applied to a land line will be described.
As described with reference to FIG. 1, in order to distribute multicast data on the ground unlike satellite links, it must pass through a plurality of networks on the multicast tree. Specifically, the network node that is a constituent element of the tree corresponds to a router, a gateway, or a computer having a path control function, and a router is usually used as a network node. In a network composed of these routers, when performing multicast, the Internet uses IGMP, DVMRP, and MOSPF as described in the prior art.
[0066]
In order to realize the dynamic multicast of the present invention based on these techniques, control information in a format in which an IGMP message is extended as shown in FIG. 21 is exchanged between multicast-compatible routers.
FIG. 21 shows an example in which the subtype 2130 is provided in the unused area of the IGMP message and the identifier of the host group notification message is entered. After the checksum 2140, a public IP multicast address 2150, a private IP multicast address 2160 that is dynamically defined temporarily in the IP multicast address 2150, a designated host IP address 2170, and a host configured with the private IP multicast address 2160 It consists of IP addresses 2180 and 2190.
[0067]
FIG. 22 shows the configuration of the router 2200. The CPU 2210 executes the routing processing software in the ROM 2220, and sends out the received IP packet to the interface circuits 2240, 2250, and 2260 other than the interface that received the IP packet while referring to the routing table in the RAM 2230.
[0068]
The processing procedure of the router according to the present invention will be described with reference to FIG. When the host group notification message 2100 is received in step 2301, the designated host IP address 2170 and host IP addresses 2180 and 2190 constituting the private IP multicast group are checked in step 2302. In step 2303, it is determined whether or not all the hosts constituting the private IP multicast group are connected to the network of one subordinate interface with reference to the routing table of the own router. If all are connected, in step 2304, the received host group notification message 2100 is sent to the interface to the connected network. Otherwise, in step 2305, the private IP multicast address and the configuration host are registered in the routing table of the own router, and in step 2306, the received host group notification message 2100 is transmitted to the interface to the designated router and configuration host.
With the operation in FIG. 23, communication processing using the private IP multicast address is performed only in the private IP multicast group in charge of the designated host.
[0069]
Next, an embodiment in which multicast data can be easily received by dynamically changing the host group even when the receiving host moves will be described. When the host is moved in this way, a wireless line covering a wide area such as a satellite line is very advantageous, but the ground line in FIG. Here, the operation when the receiving host of the multicast system using the satellite line moves under the control of another earth station apparatus will be described with reference to FIG.
[0070]
In this figure, the sending host 2402 sends multicast data to the receiving hosts 2412, 2413, 2422, 2423, 2424, 2432, and 2433 constituting the multicast group 2470 via the communication processing device 2400, the earth station device 2401, and the satellite line 2480. An example of transmission is shown. The receiving hosts 2412 and 2413 are connected to the communication processing device 400, the receiving hosts 2422, 2423 and 2424 are connected to the communication processing device 400, and the receiving hosts 2432 and 2433 are connected to the communication processing device 400 by a LAN (Local Area Network) 2419, respectively. Yes. When the receiving host 2423 under the earth station device 2420 moves to the LAN 2441 under the earth station device 2440, the communication processing device 2400 dynamically changes the multicast group configuration as follows.
[0071]
That is, when the moving host 2423 moves under the control of the communication processing device 2440, a movement notification frame, which is one of the control frames described in FIG. 7, is transmitted from the LAN 2449 to the transmission host 2402 via the communication processing device 400 and the satellite line 2490. Is notified to the communication processing apparatus 400. The frame data portion 750 of the movement notification frame stores a unique host ID (which can be a MAC [Media Access Control] address) and a newly assigned host IP address as control information. If the host IP address is public, it can be used as a unique host ID. The communication processing device 400 of the receiving host 2423 that has received the movement notification frame newly adds the IP address of the receiving host 2423 to the network configuration table of the routing table.
[0072]
When the communication processing device 400 on the transmission host 2402 side receives the movement notification frame, the communication processing device 400 changes the multicast group 2460 so far to maintain the data distribution to the hosts constituting the multicast group 2470 so far. A multicast group 2460 is defined to include a satellite line 2490 connection to 2441. This new definition is made by updating the receiving host IP address in the IP multicast correspondence table shown in FIG. In this way, when a wireless line such as a satellite line is used, a new multicast group can be defined without increasing the network cost to the destination even if the receiving host moves, so that it is possible to easily cope with a moving body.
[0073]
Although the above embodiment has been described on the assumption of a satellite communication network, it can also be applied to terrestrial digital communication networks and mobile communication networks, which are other multicast transmission media.
[0074]
As described above, according to the present invention, the load on the transmission host can be distributed and a large-scale multicast system can be realized. In addition, according to some trouble situations, it becomes possible to avoid traffic congestion and data transmission stagnation by reconfiguring the host group and leaving it to the designated host belonging to the host group.
[0075]
In addition, the reconfigured host group can be configured by direct connection via a wireless (satellite) line without going through a network node such as a router. In addition, it is possible not to affect other networks by communication processing such as delivery confirmation or retransmission control, and it is possible not to be affected by other networks, and it is possible to improve the efficiency of communication processing and prevent the system efficiency from decreasing. become.
[0076]
【The invention's effect】
As described above, according to the present invention,
(1) A large-scale multicast system can be realized by distributing the load on the sending host.
(2) Traffic congestion and data transmission stagnation can be avoided.
(3) The consumption of network resources such as routers can be suppressed.
(4) It is possible to prevent the communication processing efficiency from being improved and the system efficiency from being lowered.
There is an effect
[Brief description of the drawings]
FIG. 1 is a system configuration diagram illustrating an outline of the present invention.
FIG. 2 is a diagram illustrating an outline of an embodiment in which the present invention is applied to a network using a satellite line.
FIG. 3 is a sequence diagram showing a specific embodiment using the satellite line of the present invention.
4 is a diagram showing a system configuration example for executing the sequence of FIG. 3; FIG.
FIG. 5 is a configuration diagram of a communication processing apparatus that executes the present invention;
FIG. 6 is a format diagram of an IP packet standardized by IETF.
FIG. 7 is a format diagram of a frame used in the embodiment of the present invention.
FIG. 8 is a flowchart illustrating a transmission processing procedure of a communication processing apparatus of a host that transmits multicast data according to the embodiment.
FIG. 9 is a control information format diagram of a NACK frame notifying an unreceived frame.
FIG. 10 is a control information format diagram of a host group notification frame for notifying a new host group.
FIG. 11 is a reception state management table managed by a communication processing apparatus connected to a transmission host.
FIG. 12 is a flowchart illustrating a host group definition and notification processing procedure of a communication processing apparatus connected to a transmission host.
FIG. 13 is an IP multicast correspondence table managed by a transmission host.
FIG. 14 is a private IP multicast address management table.
FIG. 15 is a diagram illustrating a processing procedure according to the present invention of a communication processing apparatus connected to a designated host.
16 is a control information format diagram of a retransmission completion frame used in the embodiment of FIG. 3;
FIG. 17 is a diagram illustrating a processing procedure related to retransmission control of a communication processing apparatus connected to an unreceived host.
FIG. 18 is a sequence diagram showing a specific embodiment using a satellite line.
FIG. 19 is a diagram illustrating an example of changing a host group according to the present invention.
FIG. 20 is a control information format diagram of a received total frame used in the embodiment of FIG. 19;
FIG. 21 is a host group message format diagram exchanged between routers to implement the present invention.
FIG. 22 is a configuration diagram of a router.
FIG. 23 is a diagram illustrating a processing procedure of a router according to the present invention.
FIG. 24 is a diagram illustrating an embodiment when the present invention is applied to a mobile host.
[Explanation of symbols]
100: Sending host,
151,159 ... Nominated host,
130, 131, 132, 133, 134 ... router,
152, 153, 154, 160, 162, 163 ... unreceived hosts,
200 ... communication satellite,
170, 171, 270, 280 ... Private IP multicast group,
210, 227, 235 ... Earth station device,
400: Communication processing device.

Claims (6)

ネットワークに接続する複数のホストからなり,送信ホストとなる1つの前記ホストから複数の他のホストへ,マルチキャストによる通信処理を行い,データを送信するマルチキャスト通信システムにおいて,In a multicast communication system consisting of a plurality of hosts connected to a network, performing communication processing by multicast from one host serving as a transmission host to a plurality of other hosts, and transmitting data,
前記他のホストのうち,送信された前記データを受信した受信ホストは,前記送信ホストへ,送達確認を送信する手段を備え,The receiving host that has received the transmitted data among the other hosts includes means for transmitting a delivery confirmation to the transmitting host,
前記送信ホストは,The sending host is
前記複数の他のホストから,前記送信データに対する送達確認を受信する手段と,Means for receiving a delivery confirmation for the transmitted data from the other hosts;
受信した前記送達確認に基づき,前記受信ホストの中から,前記他のホストのうち前記データの送達を確認できなかった未受信ホストに対する前記通信処理を行わせる指名ホストを選択する手段と,を備え,Means for selecting, based on the received delivery confirmation, a designated host for performing the communication process for the unreceived host that could not confirm delivery of the data among the other hosts from the receiving host; ,
選択された前記指名ホストは,前記未受信ホストに対する前記通信処理を行う手段を備えるThe selected designated host includes means for performing the communication process with respect to the unreceived host.
ことを特徴とするマルチキャスト通信システム。A multicast communication system.
上記請求項1に記載のマルチキャスト通信システムにおいて,In the multicast communication system according to claim 1,
前記送信ホストは,受信した前記送達確認に基づき,前記受信ホストと,前記未受信ホストと,からなるホストグループを構成する手段と,The sending host comprises means for configuring a host group comprising the receiving host and the unreceived host based on the received delivery confirmation;
前記構成したホストグループ内の前記受信ホストの中から,指名ホストを選択する手段と,を備え,Means for selecting a designated host from the receiving hosts in the configured host group,
選択された前記指名ホストは,当該指名ホストが属する前記ホストグループに含まれる他の前記未受信ホストに対する前記通信処理を行う手段を備えるThe selected designated host includes means for performing the communication process with respect to the other unreceived hosts included in the host group to which the designated host belongs.
ことを特徴とするマルチキャスト通信システム。A multicast communication system.
上記請求項1または2に記載のマルチキャスト通信システムにおいて,In the multicast communication system according to claim 1 or 2,
前記通信処理は,前記未受信ホストへの再送処理であり,The communication process is a retransmission process to the unreceived host,
選択された前記指名ホストは,前記未受信ホストに対し,当該指名ホストが受信済みの前記データを再送する手段を備えるThe selected designated host includes means for resending the data received by the designated host to the unreceived host.
ことを特徴とするマルチキャスト通信システム。A multicast communication system.
ネットワークに接続する複数のホストからなり,送信ホストとなる1つの前記ホストから,複数の他のホストへマルチキャストによりデータを送信するマルチキャスト通信システムにおいて,In a multicast communication system comprising a plurality of hosts connected to a network and transmitting data by multicast from one host serving as a transmission host to a plurality of other hosts,
前記複数の他のホストは,指名ホストと,その他のホストと,からなるホストグループを,予め一つ以上構成し,The plurality of other hosts are configured in advance with at least one host group including a designated host and other hosts,
前記指名ホストは,前記送信ホストから当該ホストグループ内の他のホストへ送信されたデータの送達確認を集計し,前記送信ホストへ送信する手段と,The designated host includes means for counting delivery confirmations of data transmitted from the transmission host to other hosts in the host group and transmitting to the transmission host;
前記送信ホストは,前記指名ホストから送信された送達確認に基づき,送信された前記データを受信した受信ホストと,前記データの送達を確認できなかった未受信ホストからなる新たなホストグループを構成し,The sending host forms a new host group consisting of a receiving host that has received the sent data and an unreceived host that has not been able to confirm the delivery of the data, based on the delivery confirmation sent from the designated host. ,
前記新たなホストグループ内の前記受信ホストの中から,新たな指名ホストを選択する手段と,を備え,Means for selecting a new designated host from the receiving hosts in the new host group,
前記新たな指名ホストは,当該新たな指名ホストが属する前記新たなホストグループに含まれる他の前記ホストに対し,受信済みの前記データを再送する手段を備えるThe new designated host includes means for retransmitting the received data to other hosts included in the new host group to which the new designated host belongs.
ことを特徴とするマルチキャスト通信システム。A multicast communication system.
上記請求項1ないし4いずれか一に記載のマルチキャスト通信システムにおいて,
前記複数のホストは,
受信したデータ送達確認を送信ホストに送る手段と,
正常に受信できなかったデータの再送を要求する手段とを備える
ことを特徴とするマルチキャスト通信システム。
In the multicast communication system according to any one of claims 1 to 4 ,
The plurality of hosts are:
Means for sending the received data delivery confirmation to the sending host;
And a means for requesting retransmission of data that could not be normally received.
上記請求項1ないし5いずれか一に記載のマルチキャスト通信システムにおいて,
前記ネットワークに無線回線を用いる
ことを特徴とするマルチキャスト通信システム。
In the multicast communication system according to any one of claims 1 to 5 ,
A multicast communication system using a wireless line for the network.
JP13372199A 1999-05-14 1999-05-14 Multicast communication system Expired - Fee Related JP3692830B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13372199A JP3692830B2 (en) 1999-05-14 1999-05-14 Multicast communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13372199A JP3692830B2 (en) 1999-05-14 1999-05-14 Multicast communication system

Publications (2)

Publication Number Publication Date
JP2000324155A JP2000324155A (en) 2000-11-24
JP3692830B2 true JP3692830B2 (en) 2005-09-07

Family

ID=15111366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13372199A Expired - Fee Related JP3692830B2 (en) 1999-05-14 1999-05-14 Multicast communication system

Country Status (1)

Country Link
JP (1) JP3692830B2 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001203747A (en) * 2000-01-21 2001-07-27 Space Communications Corp Content service method
JP3908490B2 (en) * 2000-08-03 2007-04-25 株式会社エヌ・ティ・ティ・ドコモ Retransmission control method and system in multicast distribution service, retransmission control apparatus, radio base station, and radio terminal
US9100457B2 (en) 2001-03-28 2015-08-04 Qualcomm Incorporated Method and apparatus for transmission framing in a wireless communication system
US8121296B2 (en) 2001-03-28 2012-02-21 Qualcomm Incorporated Method and apparatus for security in a data processing system
US8077679B2 (en) 2001-03-28 2011-12-13 Qualcomm Incorporated Method and apparatus for providing protocol options in a wireless communication system
JP2002318751A (en) * 2001-04-20 2002-10-31 Sony Corp Communication system
US7352868B2 (en) 2001-10-09 2008-04-01 Philip Hawkes Method and apparatus for security in a data processing system
US7649829B2 (en) 2001-10-12 2010-01-19 Qualcomm Incorporated Method and system for reduction of decoding complexity in a communication system
US7599655B2 (en) 2003-01-02 2009-10-06 Qualcomm Incorporated Method and apparatus for broadcast services in a communication system
US8098818B2 (en) 2003-07-07 2012-01-17 Qualcomm Incorporated Secure registration for a multicast-broadcast-multimedia system (MBMS)
US8718279B2 (en) 2003-07-08 2014-05-06 Qualcomm Incorporated Apparatus and method for a secure broadcast system
US8724803B2 (en) 2003-09-02 2014-05-13 Qualcomm Incorporated Method and apparatus for providing authenticated challenges for broadcast-multicast communications in a communication system
AU2004277204A1 (en) * 2003-09-22 2005-04-07 Transeam Technologies Group-to-group communication over a single connection and fault tolerant symmetric multi-computing system
JP4521368B2 (en) * 2006-02-24 2010-08-11 株式会社東芝 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
US8279893B2 (en) 2006-06-16 2012-10-02 Nvidia Corporation System and method for communicating data utilizing multiple types of data connections
JP5672063B2 (en) * 2011-02-24 2015-02-18 富士通株式会社 Transmission control program, communication apparatus, and transmission control method
US9814052B2 (en) 2013-02-14 2017-11-07 Mitsubishi Electric Corporation Data distribution system, distribution device, terminal device, and data distribution method providing enhanced communication efficiency
JP6942609B2 (en) * 2017-10-31 2021-09-29 キヤノン株式会社 Communication equipment, communication methods, and programs
WO2019187551A1 (en) * 2018-03-26 2019-10-03 三菱電機株式会社 Multicast delivery destination designation method, transmission station, and reception station

Also Published As

Publication number Publication date
JP2000324155A (en) 2000-11-24

Similar Documents

Publication Publication Date Title
JP3692830B2 (en) Multicast communication system
Levine et al. Improving internet multicast with routing labels
Gossain et al. Multicast: Wired to wireless
Chikarmane et al. Multicast support for mobile hosts using mobile IP: Design issues and proposed architecture
KR100946108B1 (en) Method and apparatus for group communication with end-to-end reliability
CN102263648B (en) System and method for grouping multiple VLANs into a single 802.11 IP multicast domain
CA2151072C (en) Method of multicasting
CN1543728B (en) Multicast in point-to-point packet-switched telecommunication networks
Li et al. OTERS (On-tree efficient recovery using subcasting): A reliable multicast protocol
US6625773B1 (en) System for multicast communications in packet switched networks
US7054948B2 (en) Collaborative host masquerading system
JP4698684B2 (en) A method for aggregating data traffic on an access domain and nodes relating to the method
US8838692B2 (en) Distribution of XML documents/messages to XML appliances/routers
US20030031175A1 (en) Method of multicasting
Hofmann Enabling group communication in global networks
CN1675882A (en) Satellite IP multicasting system and method
JP4436960B2 (en) Packet communication system and mobile communication system
CN100417141C (en) A method for realizing multicast service
CN100490405C (en) Flow medium data multi-point transmission method
EP1699169A1 (en) Wireless base station, wireless mobile device, and wireless access network for reducing signalling traffic
CN101120546B (en) Method and nodes for handling broadcast messages over an access domain
Whetten et al. TRACK Architecture: A Scalable Real-time Reliable Multicast Protocol
KR100432937B1 (en) Multicast routing method and system for delivering multicast data with high-efficient on a mobile network
JPH11127151A (en) Multicast method
Hofmann Scalable Multicast Communication in the Internet

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050207

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: 20050531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050613

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090701

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100701

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120701

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130701

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees