(57)【要約】【課題】ＩＰネットワーク上で、比較的小規模なマルチキャスト通信を容易に実現することを目的とする。【解決手段】パケットの転送先の情報を保持する転送先情報保持手段と、受信パケットのうち、転送すべきパケットを取り出し、転送先情報保持手段に保持された転送先情報に基づいて転送パケットに書き換えるデータ変換手段と、前記データ変換手段によって書き換えられた転送パケットを保持する即時送信データ保持手段と、通常の送出パケットを蓄える送信キューからの送信パケットと、前記即時送信データ保持手段に保持された転送パケットとを受け、送信すべきデータを一時的に保持する送信データバッファに優先的に転送パケットを送り込む送信マルチプレクサとを備えたマルチキャスト受信装置により、マルチキャストすべき条件に一致したパケットをただちに転送する。【選択図】  図１
2004222029.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に存在する複数のホストのうち、特定のグループに属する受信装置にのみ送信データを配信するマルチキャスト機能を実現するマルチキャスト受信装置であって、
受信したパケットを一時的に保持する受信データバッファと、
受信したパケットのうち、転送すべきパケットの識別情報を保持する転送条件保持手段と、
前期受信データバッファに保持されたパケットと、前期転送条件保持手段に保持された識別情報を比較し転送すべきパケットを識別する比較手段と、
パケットの転送先の情報を保持する転送先情報保持手段と、
前記比較手段の識別結果によって、前記受信データバッファに保持された受信パケットのうち、転送すべきパケットを取り出し、前記転送先情報保持手段に保持された転送先情報に基づいて転送パケットに書き換えるデータ変換手段と、
前記データ変換手段によって書き換えられた転送パケットを保持する即時送信データ保持手段と、
通常の送出パケットを蓄える送信キューからの送信パケットと、
前記即時送信データ保持手段に保持された転送パケットとを受け、送信すべきデータを一時的に保持する送信データバッファに優先的に転送パケットを送り込む送信マルチプレクサと
を備えたマルチキャスト受信装置。
【請求項２】
ネットワーク上に存在する複数のホストのうち、特定のグループに属する受信装置にのみ送信データを配信するマルチキャスト機能を実現するマルチキャスト受信装置であって、
送信すべきデータを一時的に保持する送信データバッファと、
特定の送信パケットの識別情報を保持する送信パケット識別情報保持手段と、
前記送信データバッファと、
前記送信パケット識別情報保持手段に保持された送信パケットの識別情報を比較する送信パケット比較手段と、
受信したデータを一時的に保持する受信データバッファと、
特定の受信パケットの識別情報を保持する受信パケット識別情報保持手段と、
前記受信データバッファと、
前記受信パケット識別情報保持手段に保持された受信パケットの識別情報を比較する受信パケット比較手段と、
前記送信パケット比較手段によって認識された特定の送信パケットの送出時刻に計時を開始し、前記受信パケット比較手段によって認識された特定の受信パケットの受信時刻に計時を停止するタイマー手段と
を備えたマルチキャスト受信装置。
【請求項３】
ネットワーク上に存在する複数のホストのうち、特定のグループに属する受信装置にのみ送信データを配信するマルチキャスト機能を実現するマルチキャスト送信装置であって、
受信装置からの送信装置の探索に対し、マルチキャストグループへの参加許可あるいは拒否を応答するとともに、マルチキャストグループに参加しているホスト情報を保持するメンバーリストを更新する参加要求処理手段と、
単一の送信先ホストのホスト情報を保持する受信装置情報保持手段と、
受信装置からの接続要求に対して、前記受信装置情報保持手段に送信先ホストのホスト情報が保持されている場合には、その送信先ホスト情報を、保持されていない場合には、自送信装置のホスト情報を、通知する接続要求処理手段と、
受信装置からのマルチキャストグループからの離脱の要求に対して、離脱要求を出した受信装置が、前記受信装置情報保持手段に保持される送出先ホストである場合には、前記受信装置情報保持手段に保持される送信先ホストを変更するとともに、マルチキャストグループに参加しているホスト情報を保持するメンバーリストを更新する離脱要求処理手段と、
受信装置からの挿入の要求に対して、前記受信装置情報保持手段に保持される送出先ホスト情報を更新する挿入要求処理手段と、
前記受信装置情報保持手段にそのホスト情報が保持された受信装置にのみマルチキャストすべきデータを送出する送信処理手段と
を備えたマルチキャスト送信装置。
【請求項４】
ネットワーク上に存在する複数のホストのうち、特定のグループに属する受信装置にのみ送信データを配信するマルチキャスト機能を実現するマルチキャスト受信装置であって、
自受信装置が受信したいマルチキャストのデータ送信の起点となっている送信装置を探索する送信装置発見手段と、
マルチキャストグループの接続状態を認識するために、まず前記送信装置発見手段によって発見された送信装置に対して接続要求を出し、その応答として前記送信装置以外のホスト情報を指定された場合には、続いてそのホスト情報が提供されたホストに対し接続要求を出し、接続要求を出したホストと応答によって指定されたデータを受信すべきホストが一致するまでこれを繰り返すとともに、前記すべての接続要求を出したホストの名称と前記接続要求を出したホストからの応答時間を記録する探索リストを作成する接続点探索処理手段と、
自受信装置にデータを送信する一つの送信元ホストのホスト情報と、データを送信する送信先ホストがある場合には、一つの送信先ホストのホスト情報とを保持する接続情報保持手段と、前記探索リストの中から、自受信装置からもっとも近く、かつ、前記送信装置からもっとも離れたホストを選ぶことで、自受信装置がデータを受信すべき送信元ホストを選択し、前記接続情報保持手段に保持させるとともに、前記送信元ホストに対して、データを自受信装置に送信するように、そのデータ送信先を自受信装置に変更する要求を出し、前記送信元ホストがその送信先ホストにデータを送っていた場合には、前記送信元ホストの送信先ホストに対して、自受信装置からデータを受信するように、その送信元ホストを自受信装置に変更する要求を出すとともに自受信装置の送信先ホストとして前記送信元ホストの送信先ホストの情報を前記接続情報保持手段に保持させる挿入処理手段と、
他の受信装置からの接続要求に対して、自受信装置が送信先ホストを持ち、データを送信している場合には、前記接続情報保持手段に保持された送信先ホストのホスト情報を応答し、データを送信していない場合には、自受信装置のホスト情報を応答する接続情報提供処理手段と、
他の受信装置からの送信先ホストあるいは送信元ホストの変更要求に対して、前記接続情報保持手段に保持された、自受信装置の送信先ホストあるいは送信元ホストのホスト情報を変更する接続情報変更処理手段と、
自受信装置が送信先ホストを持ち、データを送信している場合には、自受信装置の送信元ホストに対しては、自受信装置の送信先ホストにデータを送信するように、その送信先ホストを変更する要求を出し、自受信装置の送信先ホストに対しては、自受信装置の送信元ホストからデータを受信するように、その送信元ホストを変更する要求を出し、自受信装置が送信先ホストを持たない場合には、自受信装置の送信元ホストに対して、自受信装置へのデータ送信を停止するように、その送信先ホスト情報を削除する要求を出すとともに送信装置に対してマルチキャストグループからの離脱を要求する離脱処理手段と、
ネットワークからのパケットを受信する受信処理手段と、
自受信装置が送信先ホストを持つ場合には、前記接続情報保持手段に送信元ホストとして保持された、送信装置あるいは受信装置から送信されたマルチキャストすべきパケットを受信した際には、前記接続情報保持手段に送信先ホストとして保持された、単一の受信装置に対してマルチキャストすべきパケットを直ちに送信する送信処理手段と
を備えた請求項１または２に記載の受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＰ（インターネットプロトコル）によって、ネットワーク上の特定のグループに属するホストにのみデータ送信を行う、マルチキャスト通信に関する。
【０００２】
【従来の技術】
ＩＰネットワーク上において、一つの送信元から、複数の受信先に向けてデータ送信を行うマルチキャストは、現在、おもに無線技術を用いて行われる放送に類似した情報伝搬形態として根強い需要がある。これに応える標準的な方法としてＩＰマルチキャストと呼ばれる通信方式が提案されている（例えば、特許文献１参照）。
図１６は従来のマルチキャストを説明するための構成図である。カメラ１５０１によって撮影された映像情報が、送信装置１５０２によってパケット化され、ネットワーク上にマルチキャストされる。送信装置１５０２からのマルチキャストパケットは、まずルータ１５０８によってそのパケットの複製が作られ、受信装置１５０４と受信装置１５０５に送り届けられる。それぞれの受信装置においてマルチキャストパケットは映像信号に復号され、ビデオモニタ１５０６、ビデオモニタ１５０７にカメラ１５０１によって撮影された映像が表示される。
【０００３】
ルータ１５０８によって複製されたマルチキャストパケットは、ルータ１５１０にも送られ、ここでさらに複製が作られ、受信装置１５１２、受信装置１５１５、受信装置１５１６に送り届けられる。このようにして、カメラ１５０１によって撮影された映像は、ビデオモニタ１５１３、ビデオモニタ１５１７、ビデオモニタ１５１８にも表示される。
【０００４】
ここでのポイントは、同じ事を実現しようとして送信装置１５０２がすべての受信装置に直接送信した場合に比べて、ネットワーク上に流れるパケットの量を少なくすることができることである。例えば、送信装置１５０２が５台の受信装置にパケットを送る場合、ルータ１５０８とルータ１５１０の間には同じ情報を運ぶ３つのパケットが必要であるのに対し、ＩＰマルチキャストを使うと、ルータ１５１０より下流側にある受信装置が必要とするパケットは、ルータ１５１０で複製が作られるので、複製のもとになる１つのパケットだけで済む。
このように、多数の受信ホストに対してデータ送信を行う場合にも、ＩＰマルチキャストを使うと効率よくデータを送ることができる。
【０００５】
【特許文献１】
特開平０６−２２４９１２号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、前記従来の構成では、ルータにおいてパケットの複製を作ることが必要である。このため、マルチキャストを行うためにはルータに複製を作る機能が備わっていること、利用にあたっては事前にルータがしかるべく複製機能を実行するするように設定されていることが必要である。また、パケットの複製が送信装置とは別の場所で行われているため、送信装置側でどんな受信装置がマルチキャストを受信しているのか把握することが困難である。
【０００７】
前者については、事前に利用が予定でき、機材やネットワークの準備、ルータ管理者との折衝が問題にならないような大規模な用途では問題にならないが、突発的かつ小規模な用途では大きな障害となる。また後者については課金や情報漏洩管理の上で問題となることがある。
【０００８】
本発明は、前記従来の課題を解決するもので、同一ネットワークセグメント内のような比較的小規模な範囲でのマルチキャストに適用可能で、ルータにパケットを複製させる機能が不要で、したがってルータに事前の設定を必要とせず、また、送信装置側においてマルチキャストを受信している受信装置を認識することができるマルチキャスト機能を提供することを目的とする。
【０００９】
【課題を解決するための手段】
第１の発明は、ネットワーク上に存在する複数のホストのうち、特定のグループに属する受信装置にのみ送信データを配信するマルチキャスト機能を実現するマルチキャスト受信装置であって、パケットの転送先の情報を保持する転送先情報保持手段と、受信パケットのうち、転送すべきパケットを取り出し、転送先情報保持手段に保持された転送先情報に基づいて転送パケットに書き換えるデータ変換手段と、前記データ変換手段によって書き換えられた転送パケットを保持する即時送信データ保持手段と、通常の送出パケットを蓄える送信キューからの送信パケットと、前記即時送信データ保持手段に保持された転送パケットとを受け、送信すべきデータを一時的に保持する送信データバッファに優先的に転送パケットを送り込む送信マルチプレクサとを備えたマルチキャスト受信装置である。第１の発明においては、マルチキャストすべき条件に一致したパケットをただちに転送することができ、転送に必要な遅延を低減できる。
【００１０】
第２の発明は、送信パケット比較手段によって認識された特定の送信パケットの送出時刻に計時を開始し、受信パケット比較手段によって認識された特定の受信パケットの受信時刻に計時を停止するタイマー手段とを備えるマルチキャスト受信装置である。
第２の発明においては、特定のホストの応答時間を精密に計測することができ、自受信装置と特定のホストとのネットワーク上の距離を容易に見積もることができる。
【００１１】
第３の発明は、受信装置からの送信装置の探索に応答する参加要求処理手段と、受信装置からの接続要求に対して、その受信装置が接続すべきホストのホスト情報を通知する接続要求処理手段と、受信装置からのマルチキャストグループからの離脱の要求を処理する離脱要求処理手段と、受信装置からの挿入の要求を処理する挿入要求処理手段とを備えるマルチキャスト送信装置である。
【００１２】
第４の発明は、マルチキャストのデータ送信の起点となっている送信装置を探索する送信装置発見手段と、マルチキャストグループの接続状態を認識するために、探索リストを作成する接続点探索処理手段と、探索リストの中から、自受信装置がデータを受信すべき送信元ホストを選択し、自受信装置を経由してデータの受信送信がなされるよう設定を行う挿入処理手段と、他の受信装置からの接続要求に対して、その受信装置が接続すべきホストのホスト情報を通知する接続情報提供処理手段と、マルチキャストグループから離脱する際には、マルチキャストデータの送り受けが途切れないように設定を行うとともに、送信装置に対してマルチキャストグループからの離脱を要求する離脱処理手段と、マルチキャストすべきパケットを受信した際には、単一の受信装置にパケットを直ちに送信する送信処理手段とを備えた請求項１または２に記載の受信装置である。
第３、第４の発明においては、送信装置と受信装置とが、マルチキャストデータの送信装置を起点として、複数の受信装置が縦列接続する構成に整列させることができる。また、送信装置は、すべての受信装置からの接続要求を受けることから、マルチキャストグループに属する受信装置を把握することができる。
【００１３】
【発明の実施の形態】
まず本発明の実施の形態にかかるマルチキャスト送信装置および受信装置によって実現されるマルチキャスト機能と、上述した従来のマルチキャスト機能の違いについて説明する。
【００１４】
図１５は、従来例を示す図１６の構成図では説明に不要なため省略したイーサネット（Ｒ）スイッチや、比較的大きな伝送遅延を生じるルータ１５０８とルータ１５１０の間の広域ネットワークを含む本来のネットワークの構成図である。この構成において、カメラ１５０１によって撮影された映像情報が、送信装置１５０２によってパケット化され、受信装置１５０４、１５０５、１５１２、１５１５、１５１６に送り届けられ、ビデオモニタ１５０６、１５０７、１５１３、１５１７、１５１８に表示されるマルチキャストを想定する。
【００１５】
従来のマルチキャスト技術では、上述のように図１６の構成図上の矢印で示される経路に沿ってマルチキャストデータが送られる。一方、本発明の実施の形態にかかるマルチキャスト送信装置および受信装置によって実現されるマルチキャスト機能においては、図１７のネットワーク構成図上の矢印で示される経路に沿ってマルチキャストデータが送られる。
【００１６】
すなわち、送信装置１５０２をマルチキャストデータの送信の起点として、受信装置１５０４、受信装置１５０５、受信装置１５１２、受信装置１５１５、受信装置１５１６の順に受信装置を一筆書きに縦列に接続する経路を設定する。おのおのの受信装置ではマルチキャストデータを受信し、映像情報に復号すると同時に、受信したマルチキャストデータを他の受信装置に送信する。このように、順次マルチキャストデータを受信装置間で転送していくことでマルチキャスト機能を実現する。
【００１７】
以下、図面を参照しながら、上述の図１７のネットワーク構成図に示されたマルチキャスト機能を実現する本発明の実施の形態にかかるマルチキャスト送信装置および受信装置について説明する。
【００１８】
図１は、本発明の実施の形態にかかるマルチキャスト受信装置においてマルチキャストデータの転送機能を実現する部分のブロック図である。
受信装置がネットワークから受信したパケットはまず受信データバッファ１０１に保持される。受信したパケットに付属する誤り検査符号は誤り検出器１０２によって検査され、誤りがないと判定されたパケットは転送ゲート１０３を経て、受信キュー１０４に蓄えられる。受信キュー１０４に蓄えられた受信パケットは、そのプログラムがＲＯＭ１０５に記憶されたＣＰＵ１０６によってＲＡＭ１０７に読み出される。
一方、受信装置からパケットをネットワークに向けて送信する場合は、ＣＰＵ１０６が送信すべきパケットを送信キュー１０８に蓄積する。送信キューに蓄積された送信パケットは、送信マルチプレクサ１０９を経て、送信データバッファにおかれ、ネットワークへの送出条件が整い次第ネットワークに送信される。
マルチキャストパケットを転送するには、まずＣＰＵ１０６がマルチキャストパケットとその他のパケットを識別するための情報を転送条件保持メモリ１１１に記憶させる。識別に有効な情報としては、送信元ホストのアドレス情報、ＵＤＰ／ＩＰ方式を用いる場合には、ポート番号などのパケットヘッダ情報や、ユーザデータ部内に設けた識別データなどを用いることができる。
つぎにＣＰＵ１０６は、マルチキャストデータを運ぶパケットを受信した時、これを転送するための情報を転送先情報保持メモリに記憶させる。転送に必要な情報とは、転送先のホストのアドレス情報、あるいは転送を仲介してくれるルータなどが存在する場合はそのアドレスなどである。
比較器１１３は、パケット受信毎に、受信データバッファ１０１内の受信パケットと、転送条件保持メモリ１１１の内容を比較し、マルチキャストすべきパケットかどうかを識別する。比較器１１３がマルチキャストパケットを識別し、かつ、誤り検出器１０２が受信パケットに誤りがないと判定した場合には、データ変換器１１４は、その受信パケットを受信データバッファ１０１から取り出し、転送先情報保持メモリに記憶された転送先情報に基づいて受信パケットを、つぎの受信装置に転送できるよう転送パケットに変換する。
データ変換器１１４が変換した転送パケットは、即時送信メモリ１１５に置かれる。送信マルチプレクサ１０９は、送信すべき送信パケットが送信キュー１０８に蓄積されていても、即時送信メモリ１１５に転送パケットが存在する場合は、転送パケットを優先的に送信データバッファに送り込む。
上述の構成によって、マルチキャストすべきパケットを受信した時には、受信パケットをただちに転送することができる。
図１７に示した経路に沿ってマルチキャストを実現する場合、マルチキャストパケットが順次、受信装置を辿っていくため、一つの受信装置を通過する際の処理時間が累積していく、また、パケットが途中の受信装置で失われたばあい、その受信装置より下流側のすべての受信装置にそのパケットが届かなくなる。
本発明のマルチキャスト受信装置においては、ＣＰＵ１０６の介在なしに、また、他のパケットが処理されるのを待っている受信キュー１０４と、送信キュー１０８を通ることがないので、転送に要する所要時間を最小にすることができる。また、ＣＰＵ１０６の処理負荷が重く、パケットの処理ができない場合にもパケットを失うことがないので、確実にマルチキャストパケットを送り届けることができる。
【００１９】
図２は、本発明の実施の形態にかかるマルチキャスト受信装置において特定のホストまでのネットワーク上での距離を応答時間によって計測する機能を実現する部分のブロック図である。
まず、応答時間の計測に先だって、ＣＰＵ１０６は自ホストから送り出すパケットを識別するための識別情報をパターン保持メモリ２０１に記憶させる。次に、応答時間を計測したいホストから応答として帰ってきたパケットを識別するための識別情報をパターン保持メモリ２０２に記憶させる。
一般に、ＩＰネットワーク上では、他のホストに向かってパケットを送信し、そのホストからの応答をみるには、ＩＣＭＰエコー要求パケットと呼ばれるパケットを送出する。ＩＣＭＰエコー要求パケットを受信したホストは、ＩＣＭＰエコー応答パケットと呼ばれる応答パケットをＩＣＭＰエコー要求パケットを送信したホストに向けて送り返す。パターン保持メモリ２０１、２０２にはこのようなパケットの識別情報を記憶させる。
この状態で、ＣＰＵ１０６は、特定のホストに向けて、ＩＣＭＰエコー要求パケットを送信キュー１０８に置く。送信キュー１０８上に先に置かれていた他の送信パケットが順次送信され、ＩＣＭＰエコー要求パケットが、送信マルチプレクサ１０９を経て、送信データバッファ１１０に置かれると、比較器２０３は、送信データバッファ１１０内のパケットと、パターン保持メモリ２０１の識別情報を比較することで、そのことを検出する。比較器２０３は、タイマー２０４に対し、時間の計測を開始するように指令を出す。
送信バッファ１１０上の、ＩＣＭＰエコー要求パケットはほどなくネットワーク上に送信され、ネットワークを経由し、相手先のホストに到着する。
相手先のホストでは、ＩＣＭＰエコー要求パケットを受信したので、応答としてＩＣＭＰエコー応答パケットを送り返す。
送り返されてきたＩＣＭＰエコー応答パケットは、受信データバッファ１０１に保持され、比較器２０５によってパターン保持メモリ２０２の識別情報との比較から、ＩＣＭＰエコー応答パケットが帰ってきたことが検出される。
比較器２０５はタイマー２０４に対し、時間の計測を停止するように指令を出す。
ＣＰＵ１０６がタイマー２０４の計測した時間を読み取ることで、自ホストからパケットが送信され、その応答が帰ってくるまでの時間、すなわちラウンドトリップ時間が計測することができる。ラウンドトリップ時間は、特定のホストまでのネットワーク上での距離に比例するので、これにより、他のホストとの遠近を認識することができる。
ただし、上述のラウンドトリップ時間には、相手先ホストの反応時間、すなわちパケットを受信してから、応答すべきパケットであると認識し、パケットを送信するまでの時間も含まれる。この時間は誤差となるので、図１に示した本発明のマルチキャスト受信装置の転送機能を転用すれば、計測精度を向上させることができる。
すなわち、図１の構成において、マルチキャストパケットをただちに転送することができることを説明したが、ＩＣＭＰエコー要求パケットに対しては、ＩＣＭＰエコー要求パケットを送出したホストに対してパケットを送り返すよう、転送条件保持メモリ１１１、転送先情報保持メモリを設定することで、ＩＣＭＰエコー要求パケットに対しても、ただちに応答することができる。
図１７に示したような一筆書きに受信装置を縦列に接続し、パケットを順次転送することでマルチキャスト機能を実現するためには、送信装置と受信装置、および、受信装置相互間が短い距離で結ばれることがネットワークの利用効率を上げることにつながる。このため、マルチキャストパケットを送り受けする受信装置が最短距離で結ばれるように、おのおのの受信装置は他のホストとの距離を認識する手段が必要である。
本発明のマルチキャスト受信装置においては、図２および図１の構成によって、他のホストとのネットワーク上の距離を計測することが可能で、そこで得られた情報をもとにパケットの送り受けの順序を決定する事により、ネットワーク利用効率を向上させることができる。
【００２０】
図３は、本発明の実施の形態にかかるマルチキャスト送信装置の機能を示す機能ブロック図である。
送信装置の機能は大きく４つの部分からからなる。参加要求処理３０１は、受信装置からのマルチキャストグループに参加要求を処理する機能で、マルチキャストグループを識別するためのコミュニティ名を保持するコミュニティ名保持メモリ３０２と、マルチキャストグループに参加を許可しない受信装置のホスト情報を保持する拒否ホストリスト３０３を参照し、受信装置のマルチキャストグループへの参加を許可した場合には、それをコミュニティメンバーリストに登録する。
接続要求処理３０５は、受信装置からのマルチキャストパケットの送信を要求する接続要求を処理する機能で、コミュニティメンバーリスト３０４と、送信装置から直接、マルチキャストパケットを受信している受信装置のホスト情報を保持している最上位受信装置名保持メモリ３０６を参照し、受信装置からの接続要求に対し、その受信装置がパケットを受け取るべきホストを回答する。
挿入・離脱要求処理３０７は、受信装置からの送信装置のパケットの送信先ホストの変更要求や、マルチキャストグループからの離脱要求を処理する機能で、要求に応じて、最上位受信装置名保持メモリ３０６やコミュニティメンバーリスト３０４の内容を更新する。
送信処理３０８は、最上位受信装置名保持リスト３０６の内容に基づき、マルチキャストパケットを送信する。
図４は参加要求処理３０１の処理内容を示すフローチャートである。
まずステップ４０１でコミュニティ名保持メモリを読み出す。ステップ４０２では受信装置からの接続を待つ。受信装置から参加要求が来るとステップ４０３に進み、受信装置が参加したいマルチキャストグループと、この送信装置が属するマルチキャストグループが一致しているかを判定する。
一致している場合はステップ４０４に進み、マルチキャストグループに参加させない拒否ホストであるかの判定を行う。参加させてもよい場合は、ステップ４０５に進み、受信装置に対してマルチキャストグループへの参加許可を通知し、ステップ４０６においてコミュニティメンバーリスト３０４に受信装置のホスト情報を追加する。
一方、ステップ４０３でコミュニティ名が不一致だった場合、および、ステップ４０４で参加を認められなかった場合は、ステップ４０７に進み、受信装置に対してマルチキャストグループへの参加拒否を通知する。
ステップ４０６あるいはステップ４０７の後は、再びステップ４０２に戻り、上記の一連の処理を繰り返す。
図５は接続要求処理３０５の処理内容を示すフローチャートである。
まずステップ５０１で、コミュニティメンバーリスト３０４、最上位受信装置名保持メモリ３０６を読み出し、ステップ５０２で受信装置からの接続要求を待つ。
接続要求が来た場合には、ステップ５０３においてコミュニティメンバーリストのメンバー数により判定を行い、メンバー数が０、すなわち、受信装置がない場合はステップ５０４に進み、メンバー数が１以上、すなわち、すでに受信装置がある場合にはステップ５０５に進む。
ステップ５０４では最上位受信装置名として接続要求を出して来た受信装置を最上位受信装置名保持メモリ３０６に記憶させる。つぎにステップ５０６で、接続要求を出して来た受信装置に対し、接続先として送信装置自身を通知する。
ステップ５０５では接続先として、最上位受信装置を通知する。
ステップ５０５あるいはステップ５０６の後は、再びステップ５０２に戻り、上記の一連の処理を繰り返す。
図６は挿入・離脱処理３０７の処理内容を示すフローチャートである。
まずステップ６０１で、コミュニティメンバーリスト３０４を読み出し、ステップ６０２で受信装置からの挿入要求あるいは離脱要求を待つ。
ステップ６０３では、処理内容によって分岐し、挿入要求の場合はステップ６０４に進み、離脱要求であればステップ６０５に進む。
挿入要求の場合、ステップ６０４において、最上位受信ホスト名を挿入要求を出して来た受信装置に書き換える。
離脱要求の場合、ステップ６０５において、マルチキャストグループを構成するコミュニティメンバーリスト３０４から離脱要求を出して来た受信装置名を削除する。
また、離脱要求を出して来た受信装置が最上位受信装置であれば、ステップ６０４に進み、最上位受信ホスト名を離脱要求を出して来た受信装置が指定する受信装置に書き換える。
ステップ６０４の後、あるいはステップ６０６において、離脱要求を出して来た受信装置が最上位受信装置でなかった場合には、ステップ６０７に進み送信装置側の挿入要求処理、離脱要求処理が完了したことを受信装置に通知する。
ステップ６０７の後は、再びステップ６０２に戻り、上記の一連の処理を繰り返す。
【００２１】
図７は、本発明の実施の形態にかかるマルチキャスト受信装置の機能を示す機能ブロック図である。
受信装置の機能は大きく６つの部分からからなる。送信装置発見処理７０１は、マルチキャストグループに参加するため、送信装置を発見する機能で、そのマルチキャストグループを識別するためのコミュニティ名を保持するコミュニティ名保持メモリ７０２を参照し、マルチキャストの起点となっている送信装置を発見する。発見した送信装置のホスト情報は送信装置情報保持メモリ７０３に記憶させる。
接続点探索処理７０４は、マルチキャストグループの構造を調べる機能で、送信装置情報保持メモリ７０３を参照し、まず最初に送信装置に対し接続要求を出す。順次、マルチキャストグループに属する受信装置に次々と接続要求を出し、マルチキャストグループに参加しようとした時点でのすべての受信装置のホスト情報と、そのホストまでの距離を前記の計測する機能によって調べ、検索リスト７０５を作成する。
挿入・離脱処理７０６は、マルチキャストグループへの参加あるいはマルチキャストグループからの離脱を処理する機能で、マルチキャストグループに参加する場合には探索リスト７０５から接続候補リスト７０７を作成し、接続候補となる受信装置に対し、マルチキャストデータの送信先、あるいは送信元を変更させ、マルチキャストデータを送り受けする経路の中に自受信装置を挿入する。
また、送信元受信装置、送信先受信装置のホスト情報を接続情報保持メモリ７０８に記憶させる。
挿入・離脱処理７０６は、マルチキャストグループから離脱場合には、接続情報保持メモリ７０８に記憶された送信元受信装置、送信先受信装置に対し、それぞれの送信先受信装置、受信元受信装置を変更させる。また、送信装置に対し、マルチキャストグループからの離脱を通知する。
接続情報提供処理７０９では、他の受信装置からの接続要求に対し、接続情報保持メモリ７０８の内容を参照し、その受信装置がパケットを受けるべきホストとして、送信先ホストを回答する。
接続情報変更処理７１０は、他の受信装置からの送信先あるいは送信元の変更要求を処理する機能で、接続先情報保持メモリ７０８の内容を要求に応じて変更する。
転送処理７１１は、接続先情報保持メモリ７０８の内容に基づき、マルチキャストパケットを受信し、転送すべき送信先がある場合には転送を行う。
図８は送信装置発見処理７０１の処理内容を示すフローチャートである。
ステップ８０１で、コミュニティ名保持メモリ７０２を読み出し、ステップ８０２でこのコミュニティ名を含む送信装置探索パケットをネットワークに送出する。
同一ネットワークセグメントに送信装置がある場合には、ブロードキャストパケットとして送出すればよい。
ステップ８０３で送信装置からの応答を待ち、送信装置からの参加許可の応答があれば、ステップ８０５に進み、応答のあった送信装置のホスト情報を送信装置情報保持メモリ７０３に記憶させる。一方、拒否された場合は、なにもせず終了する。
図９は接続点探索処理７０４の処理内容を示すフローチャートである。
ステップ９０１では、送信装置情報保持メモリ７０３を読み出す。ステップ９０２では接続要求パケットを相手先に送出する。例えば、一番最初には、送信装置に対して接続要求を出すことになる。ステップ９０３で相手ホストからの応答を待つ。
ステップ９０４では、接続要求を出したホストの名前と、そのホストの応答時間を探索リスト７０５に記録する。
ステップ９０５では、接続要求に対する応答内容を調べ、接続要求を出したホストと、応答として提供された接続すべきホストが一致するかどうかを判定する。上記ホストが互いに一致すれば、接続要求を出したホストにはマルチキャストパケットをさらに転送する送信先がなく、すなわち、マルチキャストグループの最後尾まで達したことがわかるので、接続点探索処理を７０４を終了する。
一致しない場合には、接続要求を出したホストの先にさらにマルチキャストグループに属するホストが存在するので、ステップ９０２に戻り、接続要求を出したホストから、応答として提供された接続すべきホストに対し接続要求を出す。以降、上記の処理を繰り返すことで、探索リストには、マルチキャストグループに属するすべてのホスト、すなわち送信装置と受信装置のホスト名と、そのホストまでの距離の情報のリストが得られる。
図１０は、挿入・離脱処理７０６の処理内容を示すフローチャートである。
挿入・離脱処理７０６は、接続点探索処理７０４の終了、あるいはマルチキャストグループからの離脱を行う際に開始される。ステップ１００１では、処理内容により挿入処理の場合と離脱処理の場合に分岐する。
挿入処理の場合、ステップ１００２に進み、探索リスト７０５から、自受信装置にもっとも近く、送信装置から離れたホストを候補に選び、接続候補リスト７０７を作成する。
離脱処理の場合、ステップ１００３に進み、接続情報保持メモリ７０８を読み出す。
ステップ１００４では、送信装置に対して、マルチキャストグループからの離脱を通知する。ステップ１００５で応答を待つ。
ステップ１００６では、接続候補リスト７０７あるいは接続情報保持メモリ７０８の上流側ホストに対し、挿入処理の場合は、送信先ホストを自受信装置に変更させ、離脱処理の場合には、送信先ホストを接続情報保持メモリ７０８の下流側ホストに変更するよう、それぞれ要求を出す。ステップ１００７では、その応答を待つ。
ステップ１００８では、接続候補リスト７０７あるいは接続情報保持メモリ７０８の下流側ホストに対し、挿入処理の場合は、送信元ホストを自受信装置に変更させ、離脱処理の場合には、送信元ホストを接続情報保持メモリ７０８の上流側ホストに変更するよう、それぞれ要求を出す。ステップ１００９では、その応答を待つ。
ステップ１０１０では、以上の変更内容を反映するよう、接続情報保持メモリ７０８の内容を更新する。
図１１は、接続情報提供処理７０９の処理内容を示すフローチャートである。
ステップ１１０１で、接続情報保持メモリ７０８の送信先のホスト情報を読み出す。ステップ１１０２では他の受信装置からの接続要求があるかを判定し、もし接続要求の場合にはステップ１１０３に進む。接続要求がなければ再びステップ１１０１に戻り、改めて接続情報保持メモリ７０８の送信先のホスト情報を読み出す。これは、接続情報提供処理７０９の関知しない処理が、接続情報保持メモリ７０８の内容を更新する可能性があるためである。
ステップ１１０３では、接続要求に対し、接続情報保持メモリ７０８の下流側のホスト情報を応答する。もし、下流側のホストがないときには、自受信装置のホスト情報を応答する。
図１２は、接続情報変更処理７１０の処理内容を示すフローチャートである。
ステップ１２０１で他の受信装置からの挿入および離脱の要求を待つ。
要求が来れば、ステップ１２０２で変更を要求されている内容によって分岐し、送信先ホストの変更を要求されている場合にはステップ１２０３に進み、接続情報保持メモリ７０８の送信先ホストの情報を変更し、送信元ホストの変更を要求されている場合にはステップ１２０４に進み、接続情報保持メモリ７０８の送信元ホストの情報を変更する。
いずれかの変更処理が終了すれば、ステップ１２０５に進み、要求を出した受信装置に対して処理完了の通知を行う。その後、再びステップ１２０１に戻り、挿入・離脱要求を待つ。
次に、上述の本発明のマルチキャスト送信装置およびマルチキャスト受信装置において、例えば、図１５のネットワーク構成でのマルチキャストを実施するさいに図１７に示すような受信装置が一筆書きに縦列接続され過程を説明する。
まず、送信装置１５０２にまだどの受信装置も接続していない場合は、上記の説明から、受信装置は、送信装置１５０２を発見するための探索パケットを送出し、送信装置がこれに応答すれば、受信装置にとっての接続先候補は送信装置１５０２だけとなり、送信装置１５０２に一つの受信装置が接続された構成が形成される。
次に、すでにいくつかの受信装置が、送信装置に接続された状態で、新たに受信装置がそのマルチキャストグループに参加する過程を説明する。
図１３は、その様子を示す模式図である。
最初の例として、送信装置１５０２に、受信装置１  １５０４、受信装置２  １５０５、受信装置３  １５１２、受信装置４  １５１５がすでに接続されている状態（図１３（ａ））で、新たに受信装置５  １５１６がこのマルチキャストグループに参加する場合を説明する。
マルチキャストグループに参加しようとする受信装置５  １５１６は、送信装置１５０２を探索するためのパケットを送出する。パケットが、送信装置１５０２に到達すれば、送信装置はマルチキャストグループへの参加許可を受信装置５  １５１６に対して出す。これを受けて受信装置５  １５１６は、まず最初に送信装置１５０２に接続要求を出す。送信装置１５０２は、受信装置５  １５１６に対し、接続すべき受信装置として、マルチキャストパケットを送っている受信装置１  １５０４の情報を提供する。
受信装置５  １５１６は、この送信装置１５０２からの応答を受けて、受信装置１  １５０４に対して接続要求を出す。受信装置１  １５０４はこの接続要求に対し、
接続すべき受信装置として、マルチキャストパケットを送っている受信装置２
１５０５の情報を提供する。
受信装置５  １５１６は、この受信装置１  １５０４からの応答を受けて、受信装置２  １５０５に対して接続要求を出す。受信装置２  １５０５はこの接続要求に対し、接続すべき受信装置として、マルチキャストパケットを送っている受信装置３  １５１２の情報を提供する。
受信装置５  １５１６は、この受信装置２  １５０５からの応答を受けて、受信装置３  １５１２に対して接続要求を出す。受信装置３  １５１２はこの接続要求に対し、接続すべき受信装置として、マルチキャストパケットを送っている受信装置４  １５１５の情報を提供する。
受信装置５  １５１６は、この受信装置３  １５０５からの応答を受けて、受信装置４  １５１５に対して接続要求を出す。受信装置４  １５１５は、マルチキャストパケットを送っている受信装置を持たないので、  この接続要求に対し、接続すべき受信装置として、自分自身である受信装置４  １５１５の情報を提供する。
受信装置５  １５１６は、この受信装置４  １５１５への接続要求ではじめて接続要求を出した受信装置と、接続すべき受信装置が一致したので、マルチキャストグループの最後尾に達したことを認識する。
図１５のネットワーク構成において、イーサネット（Ｒ）スイッチ１５０３、あるいは、イーサネット（Ｒ）スイッチ１５１１を通過する際には、０．５ｍｓ、ルータ１５０８を経て、広域ネットワーク１５０９、ルータ１５１０を通過する場合、あるいはその逆経路を通過する際に５ｍｓを要するものとすると、受信装置５  １５１６が、接続要求を出す際に各ホストまでのラウンドトリップ時間を計測しているので、受信装置５  １５１６には、図１４（ａ）のような探索リストが得られる。
表から明らかなように、受信装置５  １５１６にもっとも近い受信装置は、ラウンドトリップ時間が最短である、受信装置４  １５１５であることがわかる。
これに基づいて、受信装置５  １５１６は受信装置４  １５１５を接続候補とし、受信装置４  １５１５に対し挿入要求を出す。受信装置４  １５１５の送信先として受信装置５  １５１６が接続されることで、図１３（ａ）の矢印の先に示すようなマルチキャストパケットの配送経路が形成される。
次の例として、送信装置１５０２に、受信装置１  １５０４、受信装置２  １５０５、受信装置４  １５１５、受信装置５  １５１６がすでに接続されている状態（図１３（ｂ））で、新たに受信装置３  １５１２がこのマルチキャストグループに参加する場合を説明する。
図１７の構成では、受信装置３  １５１２は３番目の受信装置であるが、最後にマルチキャストグループに参加した場合である。最初の例と同様にして、受信装置３  １５１２には、図１４（ｂ）のような探索リストが得られる。
ここでは、もっとも近い受信装置として、受信装置４  １５１５と受信装置５  １５１６が同じラウンドトリップタイムとなって並んでいる。
この場合、送信装置から遠い、受信装置５  １５１６を選ぶ。
これに基づいて、受信装置３  １５１２は受信装置５  １５１６を接続候補とし、受信装置５  １５１６に対し挿入要求を出す。受信装置５  １５１６の送信先として受信装置３  １５１２が接続されることで、図１３（ｂ）の矢印の先に示すようなマルチキャストパケットの配送経路が形成される。
これは図１７の経路には一致しないが、図１３（ｂ）の経路を図１５に当てはめてみると、同じパス上、すなわち機器と機器を結ぶ線上を同じ方向に向かって２度流れることはないことがわかる。
例えば、送信装置からより遠いものを選ぶというルールに反して同じラウンドトリップタイムの受信装置４  １５１５を接続候補として選んだ場合には、パケットの流れる経路は、受信装置４  １５１５、受信装置３  １５１２、受信装置５  １５１６となる。この経路を図１５に当てはめてみると、イーサネット（Ｒ）スイッチ１５１１とイーサネット（Ｒ）スイッチ１５１４の間のパス上を同じ方向に向けて２度パケットが流れることになり、ネットワークの利用効率が下がることが判る。したがって、ラウンドトリップ時間が同じ場合は、もっとも送信装置から遠い受信装置を選ぶ必要がある。
次の例として、送信装置１５０２に、受信装置１  １５０４、受信装置３  １５１２、受信装置４  １５１５、受信装置５  １５１６がすでに接続されている状態（図１３（ｃ））で、新たに受信装置２  １５０５がこのマルチキャストグループに参加する場合を説明する。
この場合、得られる探索リストは図１４（ｃ）となり、ここでもラウンドトリップ時間がおなじホスト、すなわち、送信装置１５０２と、受信装置１  １５０４が現れる。この場合は、結果的にどちらのホストを接続候補に選んでも、同一パス上を同じ方向にパケットが流れることにはならないが、これは、候補となるホストと、接続しようとする受信装置が同じイーサネット（Ｒ）スイッチ１５０３に直接接続されているからである。
上記の後の２つの例同士を互いに識別することは、新たに参加する受信装置からはできないので、ラウンドトリップ時間が同じ場合は、もっとも送信装置から遠い受信装置を選ぶというルールを常に採用する必要がある。
上記のように、本発明にかかるマルチキャスト受信装置および送信装置においては、ネットワーク上に存在する複数のホストのうち、特定のグループに属するホストにのみ送信データを配信するマルチキャスト機能を、ルータの特殊な機能に依存せずに、マルチキャストグループに属する受信装置間で転送することにより実現できる。
【００２２】
【発明の効果】
以上説明したように、本発明にかかるマルチキャスト受信装置および送信装置においては、ネットワーク上に存在する複数のホストのうち、特定のグループに属するホストにのみ送信データを配信するマルチキャスト機能を、ルータの特殊な機能に依存せずに、マルチキャストグループに属する受信装置間で転送することにより実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかるマルチキャスト受信装置において、マルチキャストデータの転送機能を実現する部分のブロック図
【図２】本発明の実施の形態にかかるマルチキャスト受信装置において特定のホストまでのネットワーク上での距離を応答時間によって計測する機能を実現する部分のブロック図
【図３】本発明の実施の形態にかかるマルチキャスト送信装置の機能を示す機能ブロック図
【図４】参加要求処理３０１の処理内容を示すフローチャート
【図５】接続要求処理３０５の処理内容を示すフローチャート
【図６】挿入・離脱処理３０７の処理内容を示すフローチャート
【図７】本発明の実施の形態にかかるマルチキャスト受信装置の機能を示す機能ブロック図
【図８】送信装置発見処理７０１の処理内容を示すフローチャート
【図９】接続点探索処理７０４の処理内容を示すフローチャート
【図１０】挿入・離脱処理７０６の処理内容を示すフローチャート
【図１１】接続情報提供処理７０９の処理内容を示すフローチャート
【図１２】接続情報変更処理７１０の処理内容を示すフローチャート
【図１３】受信装置がマルチキャストグループに参加する過程を説明する模式図
【図１４】３つの例における探索リストを示す図
【図１５】ある例におけるネットワークの構成図
【図１６】従来例におけるマルチキャストを説明するためのネットワーク構成図
【図１７】本発明におけるマルチキャストを説明するためのネットワーク構成図
【符号の説明】
１０１  受信データバッファ
１０２  誤り検出器
１０３  転送ゲート
１０４  受信キュー
１０５  ＲＯＭ
１０６  ＣＰＵ
１０７  ＲＡＭ
１０８  送信キュー
１０９  送信マルチプレクサ
１１０  送信データバッファ
１１１  転送条件保持メモリ
１１２  転送先情報保持メモリ
１１３  比較器
１１４  データ変換器
１１５  即時送信メモリ
２０１  パターン保持メモリ
２０２  パターン保持メモリ
２０３  比較器
２０４  タイマー
２０５  比較器
【図１】
2004222029.tif 000003
【図２】
2004222029.tif 000004
【図３】
2004222029.tif 000005
【図４】
2004222029.tif 000006
【図５】
2004222029.tif 000007
【図６】
2004222029.tif 000008
【図７】
2004222029.tif 000009
【図８】
2004222029.tif 000010
【図９】
2004222029.tif 000011
【図１０】
2004222029.tif 000012
【図１１】
2004222029.tif 000013
【図１２】
2004222029.tif 000014
【図１３】
2004222029.tif 000015
【図１４】
2004222029.tif 000016
【図１５】
2004222029.tif 000017
【図１６】
2004222029.tif 000018
【図１７】
2004222029.tif 000019