(57)【要約】【課題】受信ホスト側から大量の参加／離脱要求が発生しても、マルチキャスト通信装置の処理負荷の増大を抑制する。【解決手段】ルータ装置１１は、マルチキャストグループに未参加の複数のホストから送信されてきたマルチキャストグループへの参加要求を表す複数の要求データを受信し、受信した複数の要求データの頻度を確認するステップ（ステップＳ９、Ｓ１０参照）と、確認した複数の要求データの頻度に応じて、複数の要求データの少なくとも一部を破棄するステップ（ステップＳ１１、Ｓ１２参照）と、破棄した要求データを除く残りの要求データを受付け、受け付けた要求データが参加要求を表す場合、その受け付けた要求データに対応する受信ホストを所定のマルチキャストグループに参加登録するステップ（ステップＳ１３参照）と、を備えている。【選択図】      図２
2004282161.tif 000002
【特許請求の範囲】
【請求項１】
送信元ホストから通信ネットワークを介してルータ装置に送信されてきた所定のマルチキャストグループに対するデータを、当該所定のマルチキャストグループに参加登録している全ての受信ホストに対して受信側ベースの通信プロトコルに従って送信するマルチキャスト通信方法であって、
前記ルータ装置は、
前記マルチキャストグループに未参加の複数の受信ホストから送信されてきた前記マルチキャストグループへの参加要求を表す複数の要求データ、および前記マルチキャストグループに参加している複数の受信ホストから送信されてきた前記マルチキャストグループからの離脱要求を表す複数の要求データの内の少なくとも一方の複数の要求データを受信し、受信した複数の要求データの頻度を確認するステップと、
確認した前記複数の要求データの頻度に応じて、当該複数の要求データの少なくとも一部を破棄するステップと、
前記破棄した要求データを除く残りの要求データを受付け、当該受け付けた要求データが参加要求を表す場合、その受け付けた要求データに対応する受信ホストを前記所定のマルチキャストグループに参加登録し、当該受け付けた要求が離脱要求を表す場合、その受け付けた要求データに対応する受信ホストの前記所定のマルチキャストグループに対する参加登録を削除するステップと、
を備えたことを特徴とするマルチキャスト通信方法。
【請求項２】
前記少なくとも一方の複数の要求データの頻度を確認するステップは、当該少なくとも一方の複数の要求データの受信回数を一定時間毎にカウントし、このカウント値と予め設定されている閾値とを比較し、この比較結果に応じて前記少なくとも一方の複数の要求データの破棄部分の割合を決定するステップであることを特徴とする請求項１記載のマルチキャスト通信方法。
【請求項３】
前記少なくとも一方の複数の要求データの頻度を確認するステップは、当該少なくとも一方の複数の要求データの通信帯域を一定時間毎に測定し、この測定値と予め設定されている通信帯域幅とを比較し、この比較結果に応じて前記少なくとも一方の複数の要求データの破棄部分の割合を決定するステップであることを特徴とする請求項１記載のマルチキャスト通信方法。
【請求項４】
前記少なくとも一方の複数の要求データの頻度を確認するステップは、当該少なくとも一方の複数の要求データを所定の単位毎に分類するステップと、前記少なくとも１つの複数の要求データの頻度を、分類されたデータ毎に確認するステップとを含むことを特徴とする請求項１記載のマルチキャスト通信方法。
【請求項５】
前記マルチキャストグループに未参加の複数の受信ホストおよび当該マルチキャストグループに参加している複数の受信ホストは、少なくとも１つのサブネットに通信可能に接続されており、
前記各参加要求データおよび各離脱要求データは、
前記所定のマルチキャストグループの前記通信ネットワーク経由の宛先を表すマルチキャストアドレスと、
当該各参加要求および各離脱要求に含まれるサービスタイプを表す値と、
当該各参加要求および各離脱要求に含まれる前記通信ネットワークのトランスポート層プロトコルのポート番号と、
当該各参加要求および各離脱要求の送信元である受信ホストの前記通信ネットワーク経由の宛先を表すソースアドレスと、
当該各参加要求および各離脱要求の送信元である受信ホストが接続されたサブネットの前記通信ネットワーク経由の宛先を表すサブネットアドレスと、
前記各参加要求および各離脱要求の送信元である受信ホストが接続されたスイッチの物理ポートを識別するためのポート情報と、
前記各参加要求および各離脱要求に対してＶＬＡＮが設定された場合、その設定ＶＬＡＮを識別するためのＶＬＡＮ識別情報と、
前記各参加要求および各離脱要求に対して設定されたＶＬＡＮにプライオリティ値が設定された場合、そのプライオリティ値と、
前記ルータ装置の第１のＭＡＣアドレスと、
前記各参加要求および各離脱要求の送信元である受信ホストの第２のＭＡＣアドレスと、
をそれぞれ含んでおり、
前記少なくとも一方の複数の要求データを分類するステップは、当該少なくとも一方の複数の要求データを、当該各要求データに含まれる前記マルチキャストアドレス、前記サービスタイプを表す値、前記トランスポート層プロトコルのポート番号、前記ソースアドレス、前記サブネットアドレス、前記ポート情報、前記ＶＬＡＮ識別情報、前記ＶＬＡＮのプライオリティ値、前記第１のＭＡＣアドレス、および前記第２のＭＡＣアドレスの内の少なくとも１つを前記所定の単位として分類するステップであることを特徴とする請求項４記載のマルチキャスト通信方法。
【請求項６】
前記少なくとも一方の複数の要求データそれぞれはパケットデータであり、前記少なくとも一方の複数の要求データの少なくとも一部を破棄するステップは、前記少なくとも一方の複数の要求データそれぞれのパケットデータの前記ルータ装置内に滞在する数を表す平均キュー長を求め、求めた平均キュー長に応じた確率で、当該少なくとも一方の複数の要求データそれぞれのパケットデータの内の一部のパケットデータを破棄するステップであることを特徴とする請求項１乃至５の内の何れか１項記載のマルチキャスト通信方法。
【請求項７】
前記複数の要求データの少なくとも一部を破棄した際に、当該破棄した少なくとも一部の要求データの送信元の受信ホストに対して前記破棄を通知するための破棄通知データを送信するステップをさらに備えたことを特徴とする請求項１乃至６の内の何れか１項記載のマルチキャスト通信方法。
【請求項８】
前記破棄通知データを受信した受信ホストから送信されてきた、前記マルチキャストグループへの再度の参加要求を表す再要求データまたは当該マルチキャストグループからの再度の離脱要求を表す再要求データを受信するステップを備え、
前記頻度を確認するステップは、前記受信した再要求データを含む前記少なくとも一方の複数の要求データの頻度を確認するステップであることを特徴とする請求項７記載のマルチキャスト通信方法。
【請求項９】
前記受け付けた要求データに対応する受信ホストを前記所定のマルチキャストグループに参加登録した場合に、当該参加登録の完了を通知するための参加完了通知データを当該受け付けた要求データに対応する受信ホストに対して送信し、前記受け付けた要求データに対応する受信ホストの前記所定のマルチキャストグループに対する参加登録を削除した場合に、当該マルチキャストグループからの離脱の完了を通知するための離脱完了通知データを当該受け付けた要求データに対応する受信ホストに対して送信するステップをさらに備えたことを特徴とする請求項１乃至８の内の何れか１項記載のマルチキャスト通信方法。
【請求項１０】
前記参加完了通知データまたは離脱完了通知データを受信していない受信ホストから送信されてきた、前記マルチキャストグループへの再度の参加要求を表す再要求データまたは当該マルチキャストグループからの再度の離脱要求を表す再要求データを受信するステップを備え、
前記頻度を確認するステップは、前記受信した再要求データを含む前記少なくとも一方の複数の要求データの頻度を確認するステップであることを特徴とする請求項９記載のマルチキャスト通信方法。
【請求項１１】
送信元ホストから通信ネットワークを介して送信されてきた所定のマルチキャストグループに対するデータを、当該所定のマルチキャストグループに参加登録している全ての受信ホストに対して受信側ベースの通信プロトコルに従って送信するマルチキャスト通信用ルータ装置であって、
前記マルチキャストグループに未参加の複数の受信ホストから送信されてきた前記マルチキャストグループへの参加要求を表す複数の要求データ、および前記マルチキャストグループに参加している複数の受信ホストから送信されてきた前記マルチキャストグループからの離脱要求を表す複数の要求データの内の少なくとも一方の複数の要求データを受信し、受信した複数の要求データの頻度を確認する頻度確認手段と、
確認した前記複数の要求データの頻度に応じて、当該複数の要求データの少なくとも一部を破棄する破棄手段と、
前記破棄した要求データを除く残りの要求データを受付け、当該受け付けた要求データが参加要求を表す場合、その受け付けた要求データに対応する受信ホストを前記所定のマルチキャストグループに参加登録する参加登録手段と、
前記受け付けた要求が離脱要求を表す場合、その受け付けた要求データに対応する受信ホストの前記所定のマルチキャストグループに対する参加登録を削除する登録削除手段と、
を備えたことを特徴とするマルチキャスト通信用ルータ装置。
【請求項１２】
前記頻度確認手段は、前記少なくとも一方の複数の要求データの受信回数を一定時間毎にカウントし、このカウント値と予め設定されている閾値とを比較し、この比較結果に応じて前記少なくとも一方の複数の要求データの破棄部分の割合を決定する手段であることを特徴とする請求項１１記載のマルチキャスト通信用ルータ装置。
【請求項１３】
前記頻度確認手段は、前記少なくとも一方の複数の要求データの通信帯域を一定時間毎に測定し、この測定値と予め設定されている通信帯域幅とを比較し、この比較結果に応じて前記少なくとも一方の複数の要求データの破棄部分の割合を決定する手段であることを特徴とする請求項１１記載のマルチキャスト通信用ルータ装置。
【請求項１４】
前記頻度確認手段は、前記少なくとも一方の複数の要求データを所定の単位毎に分類する分類手段と、前記少なくとも１つの複数の要求データの頻度を、分類されたデータ毎に確認する手段とを含むことを特徴とする請求項１１記載のマルチキャスト通信用ルータ装置。
【請求項１５】
前記マルチキャストグループに未参加の複数の受信ホストおよび当該マルチキャストグループに参加している複数の受信ホストは、少なくとも１つのサブネットに通信可能に接続されており、
前記各参加要求データおよび各離脱要求データは、
前記所定のマルチキャストグループの前記通信ネットワーク経由の宛先を表すマルチキャストアドレスと、
当該各参加要求および各離脱要求に含まれるサービスタイプを表す値と、
当該各参加要求および各離脱要求に含まれる前記通信ネットワークのトランスポート層プロトコルのポート番号と、
当該各参加要求および各離脱要求の送信元である受信ホストの前記通信ネットワーク経由の宛先を表すソースアドレスと、
当該各参加要求および各離脱要求の送信元である受信ホストが接続されたサブネットの前記通信ネットワーク経由の宛先を表すサブネットアドレスと、
前記各参加要求および各離脱要求の送信元である受信ホストが接続されたスイッチの物理ポートを識別するためのポート情報と、
前記各参加要求および各離脱要求に対してＶＬＡＮが設定された場合、その設定ＶＬＡＮを識別するためのＶＬＡＮ識別情報と、
前記各参加要求および各離脱要求に対して設定されたＶＬＡＮにプライオリティ値が設定された場合、そのプライオリティ値と、
前記ルータ装置の第１のＭＡＣアドレスと、
前記各参加要求および各離脱要求の送信元である受信ホストの第２のＭＡＣアドレスと、
をそれぞれ含んでおり、
前記分類手段は、前記少なくとも一方の複数の要求データを、当該各要求データに含まれる前記マルチキャストアドレス、前記サービスタイプを表す値、前記トランスポート層プロトコルのポート番号、前記ソースアドレス、前記サブネットアドレス、前記ポート情報、前記ＶＬＡＮ識別情報、前記ＶＬＡＮのプライオリティ値、前記第１のＭＡＣアドレス、および前記第２のＭＡＣアドレスの内の少なくとも１つを前記所定の単位として分類する手段であることを特徴とする請求項１４記載のマルチキャスト通信用ルータ装置。
【請求項１６】
前記少なくとも一方の複数の要求データそれぞれはパケットデータであり、前記破棄手段は、前記少なくとも一方の複数の要求データそれぞれのパケットデータの前記ルータ装置内に滞在する数を表す平均キュー長を求め、求めた平均キュー長に応じた確率で、当該少なくとも一方の複数の要求データそれぞれのパケットデータの内の一部のパケットデータを破棄する手段であることを特徴とする請求項１１乃至１５の内の何れか１項記載のマルチキャスト通信用ルータ装置。
【請求項１７】
前記複数の要求データの少なくとも一部を破棄した際に、当該破棄した少なくとも一部の要求データの送信元の受信ホストに対して前記破棄を通知するための破棄通知データを送信する破棄通知データ送信手段をさらに備えたことを特徴とする請求項１１乃至１６の内の何れか１項記載のマルチキャスト通信用ルータ装置。
【請求項１８】
前記受け付けた要求データに対応する受信ホストを前記所定のマルチキャストグループに参加登録した場合に、当該参加登録の完了を通知するための参加完了通知データを当該受け付けた要求データに対応する受信ホストに対して送信し、前記受け付けた要求データに対応する受信ホストの前記所定のマルチキャストグループに対する参加登録を削除した場合に、当該マルチキャストグループからの離脱の完了を通知するための離脱完了通知データを当該受け付けた要求データに対応する受信ホストに対して送信する手段をさらに備えたことを特徴とする請求項１１乃至１７の内の何れか１項記載のマルチキャスト通信用ルータ装置。
【請求項１９】
送信元ホストから通信ネットワークを介して送信されてきた所定のマルチキャストグループに対するデータを、当該所定のマルチキャストグループに参加登録している全ての受信ホストに対して受信側ベースの通信プロトコルに従って送信するためのルータ装置が読み取り可能なマルチキャスト通信用のプログラムであって、
前記ルータ装置を、
前記マルチキャストグループに未参加の複数の受信ホストから送信されてきた前記マルチキャストグループへの参加要求を表す複数の要求データ、および前記マルチキャストグループに参加している複数の受信ホストから送信されてきた前記マルチキャストグループからの離脱要求を表す複数の要求データの内の少なくとも一方の複数の要求データを受信し、受信した複数の要求データの頻度を確認する手段と、
確認した前記複数の要求データの頻度に応じて、当該複数の要求データの少なくとも一部を破棄する手段と、
前記破棄した要求データを除く残りの要求データを受付け、当該受け付けた要求データが参加要求を表す場合、その受け付けた要求データに対応する受信ホストを前記所定のマルチキャストグループに参加登録し、当該受け付けた要求が離脱要求を表す場合、その受け付けた要求データに対応する受信ホストの前記所定のマルチキャストグループに対する参加登録を削除する手段と、
してそれぞれ機能させることを特徴とするマルチキャスト通信用プログラム。
【請求項２０】
前記複数の要求データの少なくとも一部を破棄した際に、当該破棄した少なくとも一部の要求データの送信元の受信ホストに対して前記破棄を通知するための破棄通知データを送信する手段として前記ルータ装置をさらに機能させることを特徴とする請求項１９記載のマルチキャスト通信用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等を通信プロトコルとするネットワークにおけるマルチキャスト通信方法、マルチキャスト通信用ルータ装置およびマルチキャスト通信用プログラムに関する。
【０００２】
【従来の技術】
通信プロトコルとして、例えば上記ＩＰを用いたマルチキャスト通信（以下、ＩＰマルチキャストとも記載する）が行われている。
【０００３】
このＩＰマルチキャストにおいては、多数のホスト｛通信ネットワーク（ＩＰの場合、インターネット）を介して通信できるコンピュータを意味する｝に対して上記通信ネットワークおよびマルチキャスト通信用のルータ装置（以下、ルータとも略記する）を経由してパケットデータを送信する際に、その多数のホストとルータとの間のプロトコルとして、ＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）／ＭＬＤ（Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙ）等の受信側ベースのプロトコルが使用される場合が多い。
【０００４】
受信側ベースのプロトコルとしては、ＩＧＭＰｖ１（ＲＦＣ１１１２  Ｈｏｓｔ  Ｅｘｔｅｎｓｉｏｎｓ  ｆｏｒ  ＩＰ  Ｍｕｌｔｉｃａｓｔｉｎｇ）、ＩＧＭＰｖ２（ＲＦＣ２２３６  Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ２）、ＩＧＭＰｖ２（ＲＦＣ３３７６  Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ３）、ＭＬＤｖ１（ＲＦＣ  ２７１０  Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙ  ｆｏｒ  ＩＰｖ６）等があり（例えば、非特許文献１〜４参照）、上述した受信側ベースのプロトコルに従って、通信ネットワーク経由のアドレス（マルチキャストアドレス）が割り当てられたマルチキャストグループに参加している全てのホストに対してパケットデータを送信するようになっている。
【０００５】
ここで、従来技術である受信側ベースのプロトコルに基づくホストおよびルータ間のシーケンスの一例を図１５に示す。
【０００６】
すなわち、あるホストが所定のマルチキャストグループに参加したい場合、このホストは、その参加したいマルチキャストグループに対する参加要求を表すデータ（参加要求と略記する）を、ルータに送信する（ステップＳ１００）。参加要求を受信したルータは、参加要求送信元のホストの参加登録を行う（ステップＳ１０１）。
【０００７】
また、ルータから参加確認を表すデータ（参加確認と略記する）がマルチキャストグループに参加登録されている全てのホストに定期的に送信されており（ステップＳ１０２）、そのマルチキャストグループに継続して参加する場合、各ホストは、送信されてきた参加確認に応答して参加中を表すデータ（参加中応答と略記する）をルータに対して送信する。この結果、ルータは、送信されてきた参加中応答を受信確認することにより、マルチキャストグループに参加している全てのホストの参加状態を把握することができる。
【０００８】
一方、あるホストが参加していたマルチキャストグループから離脱したい場合、このホストは、その離脱したいマルチキャストグループに対する離脱要求を表すデータ（離脱要求と略記する）を、ルータに送信する（ステップＳ１０４）。離脱要求を受信したルータは、離脱確認を表すデータ（離脱確認と略記する）を対応するホストへ送信する（ステップＳ１０５）。
【０００９】
そして、ルータは、一定時間待機し、対応するホストから上記離脱確認に対する応答が無い場合には、そのホストのマルチキャストグループへの参加登録を削除する（ステップＳ１０６）。
【００１０】
上述したシーケンスから明らかなように、受信側ベースのプロトコルに基づくマルチキャストグループへのホストの参加および離脱においては、そのホストから参加要求あるいは離脱要求がホスト側の所定のタイミングでルータに送信されるようになっている。
【００１１】
【非特許文献１】
”Ｈｏｓｔ  Ｅｘｔｅｎｓｉｏｎｓ  ｆｏｒ  ＩＰ  Ｍｕｌｔｉｃａｓｔｉｎｇ”、［ｏｎｌｉｎｅ］、１９８９年  ８月、Ｓ．Ｄｅｅｒｉｎｇ（Ｓｔａｎｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ）、［平成１５年３月９日検索」、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１１１２．ｔｘｔ？ｎｕｍｂｅｒ＝１１１２＞
【００１２】
【非特許文献２】
”Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ２”、［ｏｎｌｉｎｅ］、１９９７年  １１月、Ｗ．Ｆｅｎｎｅｒ（Ｘｅｒｏｘ  ＰＡＲＣ）、［平成１５年３月９日検索」、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２２３６．ｔｘｔ？ｎｕｍｂｅｒ＝２２３６＞
【００１３】
【非特許文献３】
”Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ３”、［ｏｎｌｉｎｅ］、２００２年  １０月、Ｂ．Ｃａｉｎ（Ｃｅｒｅｖａ  Ｎｅｔｗｏｒｋ）、Ｓ．Ｄｅｅｒｉｎｇ  ＆  Ｉ．Ｋｏｕｖｅｌａｓ（Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ）、Ｂ．Ｆｅｎｎｅｒ（ＡＴ＆Ｔ  Ｌａｂｓ−Ｒｅｓｅａｒｃｈ）、Ａ．Ｔｈｙａｇａｒａｊａｎ  （Ｅｒｉｃｓｏｎ）、［平成１５年３月９日検索」、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ３３７６．ｔｘｔ？ｎｕｍｂｅｒ＝３３７６＞
【００１４】
【非特許文献４】
”Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙ  ｆｏｒ  ＩＰｖ６”、［ｏｎｌｉｎｅ］、１９９９年１０月、Ｓ．Ｄｅｅｒｉｎｇ（Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ）、Ｂ．Ｆｅｎｎｅｒ（ＡＴ＆Ｔ  Ｒｅｓｅａｒｃｈ）、Ｂ．Ｈａｂｅｒｍａｎ  （ＩＢＭ）、［平成１５年３月９日検索」、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２７１０．ｔｘｔ？ｎｕｍｂｅｒ＝２７１０＞
【００１５】
【発明が解決しようとする課題】
しかしながら、上述した受信側ベースの通信プロトコルに基づくマルチキャスト通信においては、参加要求および離脱要求の送信タイミングは、何れもホスト側において設定されている。
【００１６】
このため、例えば、ホスト側のアプリケーションが大量の参加要求および／または離脱要求（以下、参加／離脱要求と略記する）が発生するようにハングアップした場合や、ウィルス等の悪意のあるアプリケーションがホスト側にインストールされてしまい、この悪意のあるアプリケーションによりホストから大量の参加／離脱要求が発生した場合、上記ホストを含む複数のホストから大量の参加／離脱要求が略同時にルータに対して送信される可能性がある。
【００１７】
このとき、受信側ベースの通信プロトコルに基づくマルチキャスト通信においては、以下に示す課題が生じていた。
【００１８】
すなわち、ルータは、送信されてきた大量の参加／離脱要求を処理しなければならず、ルータ側の処理があがり、その動作に影響を与える可能性があるという第１の課題が生じていた。
【００１９】
さらに、参加／離脱要求が大量であるため、ルータが全ての参加／離脱要求を受け付けることができず、一部の参加／離脱要求を取りこぼした場合、その参加／離脱要求が受け付けられなかったホスト側において、その参加／離脱要求の未受付を認識することができないという第２の課題が生じていた。
【００２０】
本発明は、上述した事情に鑑みてなされたものであり、受信ホスト側から大量の参加／離脱要求がマルチキャスト通信用ルータ装置に送信されてきた場合であっても、そのマルチキャスト通信用ルータ装置の処理負荷の増大を抑制してその処理能力を高く維持することができるマルチキャスト通信方法、マルチキャスト通信用ルータ装置およびマルチキャスト通信用プログラムを提供することをその第１の目的とする。
【００２１】
また、本発明は、上述した事情に鑑みてなされたものであり、マルチキャスト通信用ルータ装置側において参加／離脱要求が受付られなかった場合であっても、その参加／離脱要求が未受付の受信ホスト側で上記参加／離脱要求の未受付状態を把握することができるマルチキャスト通信方法、マルチキャスト通信用ルータ装置およびマルチキャスト通信用プログラムを提供することをその第２の目的とする。
【００２２】
【課題を解決するための手段】
上述した目的を達成するため、本発明によれば、請求項１に記載されたように、送信元ホストから通信ネットワークを介してルータ装置に送信されてきた所定のマルチキャストグループに対するデータを、当該所定のマルチキャストグループに参加登録している全ての受信ホストに対して受信側ベースの通信プロトコルに従って送信するマルチキャスト通信方法であって、前記ルータ装置は、前記マルチキャストグループに未参加の複数の受信ホストから送信されてきた前記マルチキャストグループへの参加要求を表す複数の要求データ、および前記マルチキャストグループに参加している複数の受信ホストから送信されてきた前記マルチキャストグループからの離脱要求を表す複数の要求データの内の少なくとも一方の複数の要求データを受信し、受信した複数の要求データの頻度を確認するステップと、確認した前記複数の要求データの頻度に応じて、当該複数の要求データの少なくとも一部を破棄するステップと、前記破棄した要求データを除く残りの要求データを受付け、当該受け付けた要求データが参加要求を表す場合、その受け付けた要求データに対応する受信ホストを前記所定のマルチキャストグループに参加登録し、当該受け付けた要求が離脱要求を表す場合、その受け付けた要求データに対応する受信ホストの前記所定のマルチキャストグループに対する参加登録を削除するステップと、を備えている。
【００２３】
特に、本発明によれば、請求項７に記載されたように、前記複数の要求データの少なくとも一部を破棄した際に、当該破棄した少なくとも一部の要求データの送信元の受信ホストに対して前記破棄を通知するための破棄通知データを送信するステップをさらに備えている。
【００２４】
また、上述した目的を達成するため、本発明によれば、請求項１１に記載されたように、送信元ホストから通信ネットワークを介して送信されてきた所定のマルチキャストグループに対するデータを、当該所定のマルチキャストグループに参加登録している全ての受信ホストに対して受信側ベースの通信プロトコルに従って送信するマルチキャスト通信用ルータ装置であって、前記マルチキャストグループに未参加の複数の受信ホストから送信されてきた前記マルチキャストグループへの参加要求を表す複数の要求データ、および前記マルチキャストグループに参加している複数の受信ホストから送信されてきた前記マルチキャストグループからの離脱要求を表す複数の要求データの内の少なくとも一方の複数の要求データを受信し、受信した複数の要求データの頻度を確認する頻度確認手段と、確認した前記複数の要求データの頻度に応じて、当該複数の要求データの少なくとも一部を破棄する破棄手段と、前記破棄した要求データを除く残りの要求データを受付け、当該受け付けた要求データが参加要求を表す場合、その受け付けた要求データに対応する受信ホストを前記所定のマルチキャストグループに参加登録する参加登録手段と、前記受け付けた要求が離脱要求を表す場合、その受け付けた要求データに対応する受信ホストの前記所定のマルチキャストグループに対する参加登録を削除する登録削除手段と、を備えている。
【００２５】
特に、本発明によれば、請求項１７に記載されたように、前記複数の要求データの少なくとも一部を破棄した際に、当該破棄した少なくとも一部の要求データの送信元の受信ホストに対して前記破棄を通知するための破棄通知データを送信する破棄通知データ送信手段をさらに備えている。
【００２６】
さらに、上述した目的を達成するため、本発明によれば、請求項１９に記載されたように、送信元ホストから通信ネットワークを介して送信されてきた所定のマルチキャストグループに対するデータを、当該所定のマルチキャストグループに参加登録している全ての受信ホストに対して受信側ベースの通信プロトコルに従って送信するためのルータ装置が読み取り可能なマルチキャスト通信用のプログラムであって、前記ルータ装置を、前記マルチキャストグループに未参加の複数の受信ホストから送信されてきた前記マルチキャストグループへの参加要求を表す複数の要求データ、および前記マルチキャストグループに参加している複数の受信ホストから送信されてきた前記マルチキャストグループからの離脱要求を表す複数の要求データの内の少なくとも一方の複数の要求データを受信し、受信した複数の要求データの頻度を確認する手段と、確認した前記複数の要求データの頻度に応じて、当該複数の要求データの少なくとも一部を破棄する手段と、前記破棄した要求データを除く残りの要求データを受付け、当該受け付けた要求データが参加要求を表す場合、その受け付けた要求データに対応する受信ホストを前記所定のマルチキャストグループに参加登録し、当該受け付けた要求が離脱要求を表す場合、その受け付けた要求データに対応する受信ホストの前記所定のマルチキャストグループに対する参加登録を削除する手段と、してそれぞれ機能させる。
【００２７】
【発明の実施の形態】
本発明に係わるマルチキャスト通信方法、マルチキャスト通信用ルータ装置およびマルチキャスト通信用プログラムの実施の形態について、添付図面を参照して説明する。
【００２８】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係わるマルチキャスト通信用ルータ装置を含むマルチキャスト通信システムの概略構成を示す図である。
【００２９】
図１に示すように、マルチキャスト通信システム１は、所定の通信プロトコル｛例えば、トランスポート層の通信プロトコルとしてＴＣＰ；Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ（ＵＤＰ；Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、およびネットワーク層の通信プロトコルとしてＩＰを含むインターネット用通信プロトコル等｝に従ったデータフォーマットを有するマルチメディアコンテンツ等のデータの送信元のホストであるサーバ（コンピュータ）３と、上記所定の通信プロトコルに従ってデータを通信できるインターネット等の通信ネットワーク４と、小規模のネットワーク（サブネット）Ｓｂ１、Ｓｂ２、・・・、Ｓｂｐ上に互いに通信可能に相互接続された複数の受信ホスト（コンピュータ；単にホストと記載する）５ａ１−１〜５ａ１−ｍ、５ａ２−１〜５ａ２−ｎ、・・・、５ａｐ−１〜５ａｐ−ｏとを備えている。
【００３０】
このマルチキャスト通信システム１は、サーバ３から所定の通信プロトコルに基づいてマルチキャスト通信により配信された所定のマルチキャストグループへのデータを、複数の受信ホスト５ａ１−１〜５ａ１−ｍ、５ａ２−１〜５ａ２−ｎ、・・・、５ａｐ−１〜５ａｐ−ｏにおける上記所定のマルチキャストグループに参加している少なくとも一部の受信ホストに対して同時に配信するシステムである。
【００３１】
すなわち、マルチキャスト通信システム１は、図１に示すように、サーバ３に対して専用線等の通信線７を介して接続され、このサーバ３に対して通信ネットワーク４を経由して所定の通信プロトコルに基づくデータである例えばパケットデータを通信する際のルーティング機能を有するルータ９を備えている。
【００３２】
また、マルチキャスト通信システム１は、通信ネットワーク４およびサブネットＳｂ１〜Ｓｂｐ間においてパケットデータを通信するためのルーティング機能に加えて、マルチキャストグループに対するホストの参加／離脱を管理する機能を含むマルチキャスト通信機能を有するマルチキャスト通信用ルータ装置（以下、ルータと略記する）１１を備えている。
【００３３】
さらに、マルチキャスト通信システム１のサブネットＳｂ１においては、ホスト５ａ１−１〜５ａ１−ｍそれぞれに通信ケーブルＬ１−１〜Ｌ１−ｍが接続されており、この通信ケーブルＬ１−１〜Ｌ１−ｍは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）スイッチ等のスイッチ（スイッチングハブ）１３ａ−１の物理ポートＰＯ１−１〜ＰＯ１−ｍにそれぞれ接続されており、ホスト５ａ１−１〜５ａ１−ｍは、このスイッチ１３ａ−１を経由して通信可能に相互接続されている。
【００３４】
また、スイッチ１３ａ−１は、物理ポートＰＯ１−ｍ＋１を介して通信回線１５ａ−１に通信可能に接続されており、この通信回線１５ａ−１は、ルータ１１に対して通信可能に接続されている。
【００３５】
以下、全てのサブネットＳｂ２〜Ｓｂｐについても、サブネットＳｂ１と同様の構成となっている。
【００３６】
すなわち、サブネットＳｂ２においては、ホスト５ａ２−１〜５ａ２−ｎそれぞれに通信ケーブルＬ２−１〜Ｌ２−ｎが接続され、この通信ケーブルＬ２−１〜Ｌ２−ｎは、スイッチ１３ａ−２の物理ポートＰＯ２−１〜ＰＯ２−ｎにそれぞれ接続されており、ホスト５ａ２−１〜５ａ２−ｎは、このスイッチ１３ａ−２を経由して通信可能に相互接続されている。
【００３７】
また、スイッチ１３ａ−２は、物理ポートＰＯ２−ｎ＋１を介して通信回線１５ａ−２に通信可能に接続されており、この通信回線１５ａ−２は、ルータ１１に対して通信可能に接続されている。
【００３８】
さらに、サブネットＳｂｐにおいては、ホスト５ａｐ−１〜５ａｐ−ｏそれぞれに通信ケーブルＬｐ−１〜Ｌｐ−ｏが接続されており、この通信ケーブルＬｐ−１〜Ｌｐ−ｏは、スイッチ１３ａ−ｐの物理ポートＰＯｐ−１〜ＰＯｐ−ｏにそれぞれ接続されており、ホスト５ａｐ−１〜５ａｐ−ｏは、このスイッチ１３ａ−ｐを経由して通信可能に相互接続されている。
【００３９】
そして、スイッチ１３ａ−ｐは、物理ポートＰＯｐ−ｏ＋１を介して通信回線１５ａ−ｐに通信可能に接続されており、この通信回線１５ａ−ｐは、ルータ１１に対して通信可能に接続されている。
【００４０】
さらに、スイッチ１３ａ−１は、ＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）機能を有しており、対応する物理ポートＰＯ１−１〜ＰＯ１−ｍ＋１を任意にグループ分けし、それぞれのグループに識別情報であるＩＤを設定し、それぞれ異なる仮想的なＬＡＮ、すなわち、ＶＬＡＮとして利用できるようになっている。また、スイッチ１３ａ−１は、設定した複数のＶＬＡＮに対してプライオリティ値（複数のＶＬＡＮ間の優先度を表す値として定義する）を設定できるようになっている。
【００４１】
スイッチ１３ａ−２〜１３ａ−ｐも、スイッチ１３ａ−１と同様のＶＬＡＮ機能およびプライオリティ値設定機能をそれぞれ有している。
【００４２】
そして、第１の実施の形態におけるルータ１１は、図１に示すように、スイッチ１３ａ−１〜１３ａ−ｐに接続された通信回線１５ａ−１〜１５ａ−ｐそれぞれに接続され、サブネットＳｂ１〜Ｓｂｐおよびルータ１１間の通信インタフェース処理をそれぞれ行うインタフェース（Ｉ／Ｆ）２０ａ１〜２０ａｐと、このインタフェース２０ａ１〜２０ａｐを介して受信されたパケットデータを一時的に蓄積するためのバッファ（キャッシュメモリ）２２とを備えている。
【００４３】
さらに、ルータ１１は、インタフェース（Ｉ／Ｆ）２０ａ１〜２０ａｐおよびバッファ２２に通信可能に接続されたコンピュータ（ＣＰＵ）２４と、このＣＰＵ２４がアクセス可能であるメモリ２６と、ルータ１１および通信ネットワーク４間のデータ通信に関するインタフェース処理用のＩ／Ｆ２８とを備えている。
【００４４】
メモリ２６には、上記所定の通信プロトコルに基づくデータフォーマットを有するパケットデータに含まれる宛先データ（通信ネットワーク４を経由したデータの宛先を表すデータ、例えば、ＩＰに基づくインターネットの場合には、ＩＰアドレス）毎に、その宛先までの経路を表すデータが格納されたルーティングテーブルＲＴが記憶されている。
【００４５】
さらに、メモリ２６には、上記所定のプロトコル、およびこの所定の通信プロトコルに対応する受信側ベースの通信プロトコル（例えば、所定の通信プロトコルがインターネット用通信プロトコルの場合、ＩＧＭＰやＭＬＤ）等に従って、ＣＰＵ２４に後掲図４および図７に基づくマルチキャスト通信処理におけるホスト管理処理（グループ参加／離脱処理）を実行させるためのプログラムＰとが記憶されている。
【００４６】
このプログラムＰは、予めメモリ２６に搭載されていてもよく、あるいは、磁気ディスク、半導体メモリ等の各種の記録媒体に記憶させておき、ルータ１１のＣＰＵ２４が図示しないドライブ装置にセットされた記録媒体から読み込んでメモリ２６にロードしてもよい。
【００４７】
さらに、メモリ２６には、上記所定のマルチキャストグループに参加している受信ホストのＩＰアドレスを、所定のマルチキャストグループの通信ネットワーク４経由の宛先を表すマルチキャストアドレスに対応付けて記憶するアドレス管理テーブルＡＴが記憶されている。
【００４８】
次に、第１の実施の形態に係わるマルチキャスト通信システム１の全体動作について、特にホスト５ａ１−１、ホスト５ａ１−２およびルータ１１の動作を中心に説明する。なお、より説明を具体的にするために、上記所定の通信プロトコルをインターネット用通信プロトコルとした場合について説明する。
【００４９】
まず、最初に、ホスト５ａ１−１およびホスト５ａ１−１から参加要求がルータ１１に送信された際のシーケンスについて説明する。
【００５０】
今、サブネットＳｂ１のホスト５ａ１−１およびホスト５ａ１−１を除く他のホスト（ホスト５ａ１−３〜５ａ１−ｍ、５ａ２−１〜５ａ２−ｎおよび５ａｐ−１〜５ａｐ−ｏ）の内の少なくとも一部が上記所定のマルチキャストグループに参加しているものとする。
【００５１】
このとき、ホスト５ａ１−１が上記所定のマルチキャストグループに参加したい場合、ホスト５ａ１−１は、その参加要求を表すデータ（以下、参加要求とも略記する）を所定の通信プロトコルであるＩＰプロトコルに基づくデータフォーマットに変換してスイッチ１３ａ−１に送信する。
【００５２】
すなわち、ホスト５ａ１−１は、参加要求を表すデータに自ホストの識別情報であるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスおよびルータ１１の識別情報であるＭＡＣアドレスをＭＡＣヘッダとして付加し、さらに、参加要求の送信元を表す自ホストのＩＰアドレス（ソースアドレス）、参加要求の宛先を表す上記所定のマルチキャストアドレス、所属するサブネットＳｂ１の識別情報であるサブネットアドレス、ＴＣＰ／ＵＤＰポート番号およびＩＰのサービス品質を表すＴＯＳ（Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ）フィールド値等を含むＩＰヘッダを付加してＩＰパケットデータを生成し、このＩＰパケットデータを通信ケーブルＬ１−１および物理ポートＰＯ１−１を介してスイッチ１３ａ−１に送信する（ステップＳ１）。
【００５３】
次いで、ホスト５ａ１−１は、参加要求の受付通知を表すデータが送信されるまで待機し（ステップＳ２）、ルータ１１から参加要求の受付通知を表すデータが送信されてきたか否かを定期的に判断している（ステップＳ３）。
【００５４】
一方、送信されたＩＰパケットデータは、スイッチ１３ａ−１を介して、対応する物理ポートＰＯ１−１に対して設定されたＶＬＡＮのＩＤおよびプライオリティ値がＭＡＣヘッダに付加される。そして、このＩＰパケットデータＤ１（図１参照）は、スイッチ１３ａ−１により通信回線１５ａ−１にスイッチングされてルータ１１に送信される（図２参照）。
【００５５】
このとき、ホスト５ａ１−２からも、ホスト５ａ１−１からの参加要求送信タイミングと略同時に、例えば大量の参加要求（ＩＰパケットデータＤ１と同様のデータフォーマットを有するＩＰパケットデータＤ２）がルータ１１に送信されている（ステップＳ１参照）。そして、ホスト５ａ１−２もホスト５ａ１−１と同様に待機状態となっており（ステップＳ２参照）、上記定期的な判断処理が実行されている（ステップＳ３参照）。
【００５６】
一方、ルータ１１のＣＰＵ２４（以下、単にルータ１１とする）は、ホスト５ａ１−１および５ａ１−２から送信されてきた参加要求を対応するＩ／Ｆ２０ａ１および２０ａ２を介して受信してバッファ２２に蓄積し（ステップＳ９）、受信された参加要求の頻度（略同時に受信された参加要求の数）を確認し（ステップＳ１０）、確認した参加要求の頻度に応じて破棄処理を行うか否か判断する。
【００５７】
すなわち、ルータ１１は、確認した参加要求の受信頻度が予め設定された閾値（例えば、ルータ１１が経由するサブネットＳｂ１〜Ｓｂｐに応じて設定された適当な値）以下か否か判断する（ステップＳ１１）。
【００５８】
今、ルータ１１に対してホスト５ａ１−２から大量の参加要求が送信されているため、ステップＳ１１の判断はＮＯ（参加要求の受信頻度が閾値を超えている）となり、ルータ１１は、受信された参加要求の一部を破棄する（ステップＳ１２）。
【００５９】
例えば、第１の実施の形態では、ステップＳ１２の処理として、ルータ１１は、ホスト５ａ１−２から送信されてきた全ての参加要求を破棄する。
【００６０】
続いて、ルータ１１は、破棄しなかった分の参加要求、すなわち、破棄した参加要求を除く残りの参加要求に対応するホスト（本実施の形態では、ホスト５ａ１−１）のＩＰアドレスを上記所定のマルチキャストグループに対応するマルチキャストアドレスに対応付けてアドレステーブルＡＴに格納してホスト５ａ１−１の参加登録を行い（ステップＳ１３）、その参加要求の受付通知を表すデータ（ＩＰパケットデータ）を、ホスト５ａ１−１のＩＰアドレスおよびＭＡＣアドレスを宛先として、スイッチ１３ａ−１等を介してホスト５ａ１−１に送信する（ステップＳ１４）。
【００６１】
この結果、ホスト５ａ１−１のステップＳ３の判断はＹＥＳ（参加要求受付通知を表すデータ送信）となり、ホスト５ａ１−１は、無事参加受付要求が受付られたものと判断して、その処理を終了する。
【００６２】
一方、ホスト５ａ１−２は、ステップＳ３の判断処理を一定時間繰り返し実行し、その間に参加要求受付通知を表すデータが送信されてこない場合、ステップＳ３の判断はＮＯ（参加要求受付通知を表すデータ未送信）となり、再度、参加要求を表すデータ（ＩＰパケットデータＤ２）をスイッチ１３ａ−１等を介してルータ１１に送信する（ステップＳ１参照）。
【００６３】
このとき、ホスト５ａ１−２から大量の参加要求ではなく、通常の１つの参加要求を表すＩＰパケットデータＤ２がルータ１１に送信されている場合、ルータ１１は、この参加要求を受信してその受信頻度を確認し（ステップＳ９、ステップＳ１０参照）、受信された参加要求の受信頻度が上記閾値以下か否か判断する（ステップＳ１１参照）。
【００６４】
今、ホスト５ａ１−２から大量の参加要求が発生していないため、ステップＳ１１の判断はＹＥＳ（参加要求の受信頻度が閾値以下である）となり、ルータ１１は、その参加要求に対応するホスト５ａ１−２のＩＰアドレスを上記所定のマルチキャストグループに対応するマルチキャストアドレスに対応付けてアドレステーブルＡＴに格納してホスト５ａ１−２の参加登録を行い（ステップＳ１５）、その参加要求の受付通知を表すデータ（ＩＰパケットデータ）を、ホスト５ａ１−２のＩＰアドレスおよびＭＡＣアドレスを宛先として、スイッチ１３ａ−１等を介してホスト５ａ１−２に送信する（ステップＳ１６）。
【００６５】
この結果、ホスト５ａ１−２のステップＳ３の判断はＹＥＳ（参加要求受付通知を表すデータ送信）となり、ホスト５ａ１−２は、無事参加受付要求が受付られたものと判断して、その処理を終了する。
【００６６】
次に、ホスト５ａ１−１およびホスト５ａ１−１から離脱要求がルータ１１に送信された際のシーケンスについて説明する。
【００６７】
今、少なくともサブネットＳｂ１のホスト５ａ１−１およびホスト５ａ１−２が上記所定のマルチキャストグループに参加しているものとする。
【００６８】
このとき、ホスト５ａ１−２が上記所定のマルチキャストグループから離脱したい場合、ホスト５ａ１−２は、その離脱要求を表すデータ（以下、離脱要求とも略記する）に基づいて、参加要求と略同様のデータフォーマットを有するＩＰパケットデータを生成し、このＩＰパケットデータを通信ケーブルＬ１−２および物理ポートＰＯ１−２を介してスイッチ１３ａ−１に送信する（ステップＳ５）。
【００６９】
次いで、ホスト５ａ１−２は、離脱要求の受付通知を表すデータが送信されるまで待機し（ステップＳ６）、ルータ１１から離脱要求の受付通知を表すデータが送信されてきたか否かを定期的に判断している（ステップＳ７）。
【００７０】
一方、送信されたＩＰパケットデータは、スイッチ１３ａ−１を介して、対応する物理ポートＰＯ１−２に対して設定されたＶＬＡＮのＩＤおよびプライオリティ値がＭＡＣヘッダに付加される。そして、このＩＰパケットデータＤ２ａ（図５参照）は、スイッチ１３ａ−１により通信回線１５ａ−１にスイッチングされてルータ１１に送信される。
【００７１】
このとき、ホスト５ａ１−１からも、ホスト５ａ１−２からの離脱要求送信タイミングと略同時に、例えば大量の離脱要求（ＩＰパケットデータＤ１、Ｄ２ａと同様のデータフォーマットを有するＩＰパケットデータＤ１ａ）がルータ１１に送信されている（ステップＳ５参照）。そして、ホスト５ａ１−１もホスト５ａ１−２と同様に待機状態となっており（ステップＳ６参照）、上記定期的な判断処理が実行されている（ステップＳ７参照）。
【００７２】
ルータ１１は、ホスト５ａ１−１および５ａ１−２から送信されてきた離脱要求を対応するＩ／Ｆ２０ａ１および２０ａ２を介して受信してバッファ２２に蓄積し（ステップＳ１７）、受信された離脱要求の頻度を確認し（ステップＳ１８）、確認した離脱要求の頻度に応じて破棄処理を行うか否か判断する。
【００７３】
すなわち、ルータ１１は、確認した離脱要求の受信頻度が予め設定された閾値以下か否か判断する（ステップＳ１９）。
【００７４】
今、ルータ１１に対してホスト５ａ１−１から大量の離脱要求が送信されているため、ステップＳ１９の判断はＮＯ（離脱要求の受信頻度が閾値を超えている）となり、ルータ１１は、受信された離脱要求の一部を破棄する（ステップＳ２０）。
【００７５】
例えば、第１の実施の形態では、ステップＳ２０の処理として、ルータ１１は、ホスト５ａ１−１から送信されてきた全ての離脱要求を破棄する。
【００７６】
続いて、ルータ１１は、破棄しなかった分の離脱要求、すなわち、破棄した離脱要求を除く残りの離脱要求に対応するホスト（本実施の形態では、ホスト５ａ１−２）のＩＰアドレスをアドレステーブルＡＴにおける所定のマルチキャストグループから削除して上記所定のマルチキャストグループに対応するホスト５ａ１−２の参加登録を削除し（ステップＳ２１）、その離脱要求の受付通知を表すデータ（ＩＰパケットデータ）を、ホスト５ａ１−２のＩＰアドレスおよびＭＡＣアドレスを宛先として、スイッチ１３ａ−１等を介してホスト５ａ１−２に送信する（ステップＳ２２）。
【００７７】
この結果、ホスト５ａ１−２のステップＳ７の判断はＹＥＳ（離脱要求受付通知を表すデータ送信）となり、ホスト５ａ１−２は、その離脱要求が無事受け付けられたことを確認して、その処理を終了する。
【００７８】
一方、ホスト５ａ１−１は、ステップＳ７の判断処理を一定時間繰り返し実行し、その間に離脱要求受付通知を表すデータが送信されてこない場合、ステップＳ７の判断はＮＯ（離脱要求受付通知を表すデータ未送信）となり、再度、離脱要求を表すデータ（ＩＰパケットデータＤ１ａ）をスイッチ１３ａ−１等を介してルータ１１に送信する（ステップＳ５参照）。
【００７９】
このとき、ホスト５ａ１−１から大量の離脱要求ではなく、通常の１つの離脱要求を表すＩＰパケットデータＤ１ａがルータ１１に送信されている場合、ルータ１１は、この離脱要求を受信してその受信頻度を確認し（ステップＳ１７、ステップＳ１８参照）、受信された離脱要求の受信頻度が上記閾値以下か否か判断する（ステップＳ１９参照）。
【００８０】
今、ホスト５ａ１−１から大量の参加要求が発生していないため、ステップＳ１９の判断はＹＥＳ（離脱要求の受信頻度が閾値以下である）となり、ルータ１１は、その離脱要求に対応するホスト５ａ１−１のＩＰアドレスをアドレステーブルＡＴにおけるマルチキャストグループから削除して上記所定のマルチキャストグループに対応するホスト５ａ１−１の参加登録を削除し（ステップＳ２３）、その離脱要求の受付通知を表すデータ（ＩＰパケットデータ）を、ホスト５ａ１−１のＩＰアドレスおよびＭＡＣアドレスを宛先として、スイッチ１３ａ−１等を介してホスト５ａ１−１に送信する（ステップＳ２３）。
【００８１】
この結果、ホスト５ａ１−１のステップＳ７の判断はＹＥＳ（離脱要求受付通知を表すデータ送信）となり、ホスト５ａ１−１は、その離脱要求が無事受け付けられたことを確認して、その処理を終了する。
【００８２】
以上述べたように、第１の実施の形態によれば、ホスト５ａ１−１およびホスト５ａ１−２から所定のマルチキャストグループに対する複数の参加／離脱要求が送信されてきた際に、その参加／離脱要求の受信頻度と所定の閾値とを比較し、その比較の結果、受信頻度が所定の閾値を超えた場合においては、ルータ１１の処理により、その複数の参加／離脱要求の内の少なくとも一部を破棄することができる。
【００８３】
このため、あるホストから所定のマルチキャストグループに対して大量の参加／離脱要求がルータ１１に送信されてきた場合であっても、ルータ１１の処理負荷の増大を抑制してその処理能力を高く維持することができる。
【００８４】
また、第１の実施の形態によれば、ホスト５ａ１−１およびホスト５ａ１−２側においては、参加／離脱受付通知の送信の有無に基づいて、参加／離脱要求が破棄されたか否かを判断することができ、その判断結果に応じて再度、参加／離脱要求をルータ１１に送信することができる。
【００８５】
この結果、一度、ルータ１１により参加／離脱要求が破棄された場合においても、ルータ１１により、再度参加／離脱要求を受け付けることが可能になる。
【００８６】
なお、第１の実施の形態におけるステップＳ１０、Ｓ１８の参加要求または離脱要求の頻度を確認する処理として、略同時に送信されてきた参加要求または離脱要求の数をカウントしたが、本発明はこの構成に限定されるものではなく、一定時間毎の参加要求の送信回数または離脱要求の送信回数をカウントしてもよい。
【００８７】
また、第１の実施の形態におけるステップＳ１０、Ｓ１８の参加要求または離脱要求の頻度を確認する処理として、予め所定の帯域幅を閾値としてルータ１１が保持し、この閾値を超えた帯域の参加要求または離脱要求が送信されてきた場合、上記閾値を超えた参加要求または離脱要求が生じたものと判断してもよい。
【００８８】
さらに、第１の実施の形態におけるステップＳ１０、Ｓ１８の参加要求または離脱要求の頻度を確認する処理を行う前に、ルータ１１は、受信した参加要求のポリシング、すなわち、所定の単位毎に参加要求または離脱要求を分類し、分類した参加要求毎に受信頻度を確認してもよい。
【００８９】
例えば、図８に示すように、ルータ１１は、ホスト５ａ１−１および５ａ１−２から送信されてきた参加要求を対応するＩ／Ｆ２０ａ１および２０ａ２を介して受信してバッファ２２に蓄積した後（ステップＳ９参照）、その受信した参加要求を所定の単位毎にポリシング（分類）する（ステップＳ９ａ）。
【００９０】
この所定の単位としては、例えば、参加要求（ＩＰパケットデータＤ１、Ｄ２）のＩＰヘッダに含まれるマルチキャストアドレス、参加要求のＩＰヘッダに含まれる送り元ホストのソースアドレス、参加要求のＴＣＰ／ＵＤＰポート番号、参加要求のＩＰヘッダに含まれるＴＯＳフィールド値、参加要求のＩＰヘッダに含まれるサブネットアドレス、参加要求のＭＡＣヘッダに含まれる物理ポート識別情報、参加要求のＭＡＣヘッダに含まれるＶＬＡＮのＩＤ、参加要求のＭＡＣヘッダに含まれるＶＬＡＮのプライオリティ値、参加要求のＭＡＣヘッダに含まれる宛先ＭＡＣアドレスおよび参加要求のＭＡＣヘッダに含まれる送信元ＭＡＣアドレスの内の少なくとも１つあるいはその組合せを所定の単位としてポリシングを行うことができる。
【００９１】
例えば、図８に示すように、ステップＳ９ａの処理において、ルータ１１が参加要求（ＩＰパケットデータＤ１、Ｄ２）のＩＰヘッダに含まれる送り元ホストのソースアドレスでポリシングし、ステップＳ１０ａの処理において、ポリシング（分類）した参加要求毎に受信頻度を確認した際、ホスト５ａ１−２からの参加要求が大量に発生している場合では、そのホスト５ａ１−２のソースアドレスを含む参加要求の受信頻度が増大していることを容易に認識することができる。
【００９２】
したがって、ステップＳ１１の処理において、ルータ１１は、そのホスト５ａ１−２のソースアドレスを含む参加要求の少なくとも一部を容易に破棄することができる。
【００９３】
同様に、例えば、ステップＳ９ａの処理において、ルータ１１が参加要求（ＩＰパケットデータＤ１、Ｄ２）のＭＡＣヘッダに含まれるＶＬＡＮのＩＤでポリシングし、ステップＳ１０ａの処理において、ポリシング（分類）した参加要求毎に受信頻度を確認した際、同一のＶＬＡＮに属するホストからの参加要求が大量に発生している場合では、その同一のＶＬＡＮに属するホストからの参加要求の受信頻度が増大していることを容易に認識することができる。
【００９４】
したがって、ステップＳ１１の処理において、ルータ１１は、その同一のＶＬＡＮに属するホストからの参加要求の少なくとも一部を容易に破棄することができる。
【００９５】
なお、図８に示したポリシング処理は、離脱要求を受信した場合についても、参加要求に対するポリシングと同様に実行することができる。
【００９６】
さらに、第１の実施の形態におけるステップＳ１２、Ｓ２０に基づく参加／離脱要求の少なくとも一部の破棄処理としては、任意に破棄してもよいし、複数の参加／離脱要求を表す複数のパケットデータのバッファ２２内に滞在する数を表す平均キュー長を求め、求めた平均キュー長に応じた確率で、複数の参加／離脱要求を表す複数のパケットデータの内の一部のパケットデータを破棄してもよい。
【００９７】
また、第１の実施の形態では、参加／離脱要求を送信したホストが同一サブネットＳｂ１の２台のホストとして説明したが、本発明はこの構成に限定されるものではなく、同一のサブネットあるいは異なるサブネットに属する３台以上のホストからの参加／離脱要求が送信されてきた場合であっても、ルータ１１は、同様に動作して参加／離脱要求の少なくとも一部の破棄を行うことができる。
【００９８】
（第２の実施の形態）
本発明の第２の実施の形態に係わるマルチキャスト通信システムにおいては、そのルータ１１の処理、ホスト５ａ１−１および５ａ１−２の処理が図１に示すマルチキャスト通信システム１と異なり、そのハードウェア構成については、マルチキャスト通信システム１と同様であるため、その説明は省略する。
【００９９】
次に、第２の実施の形態に係わるマルチキャスト通信システム１の全体動作について、特にホスト５ａ１−１、ホスト５ａ１−２およびルータ１１の動作を中心に説明する。なお、第２の実施の形態においても、より説明を具体的にするために、上記所定の通信プロトコルをインターネット用通信プロトコルとした場合について説明する。
【０１００】
まず、最初に、ホスト５ａ１−１およびホスト５ａ１−２から参加要求がルータ１１に送信された際のシーケンスについて説明する。
【０１０１】
今、サブネットＳｂ１のホスト５ａ１−１およびホスト５ａ１−２を除く他のホスト（ホスト５ａ１−３〜５ａ１−ｍ、５ａ２−１〜５ａ２−ｎおよび５ａｐ−１〜５ａｐ−ｏ）の内の少なくとも一部が上記所定のマルチキャストグループに参加しているものとする。
【０１０２】
このとき、ホスト５ａ１−１が上記所定のマルチキャストグループに参加したい場合、ホスト５ａ１−１は、その参加要求を表すデータを所定の通信プロトコルであるＩＰプロトコルに基づくデータフォーマットに変換してスイッチ１３ａ−１に送信する。
【０１０３】
すなわち、ホスト５ａ１−１は、第１の実施の形態と同様に、参加要求を表すＩＰパケットデータを生成し、このＩＰパケットデータを通信ケーブルＬ１−１および物理ポートＰＯ１−１を介してスイッチ１３ａ−１に送信する（ステップＳ３０）。
【０１０４】
次いで、ホスト５ａ１−１は、ステップＳ３０ルータ１１から参加要求破棄を通知するためのデータが送信されてきたか否かを定期的に判断している（ステップＳ３１）。
【０１０５】
一方、送信されたＩＰパケットデータは、スイッチ１３ａ−１を介してＩＰパケットデータＤ１（図２参照）としてルータ１１に送信される。
【０１０６】
このとき、ホスト５ａ１−２からも、ホスト５ａ１−１からの参加要求送信タイミングと略同時に、例えば大量の参加要求（ＩＰパケットデータＤ１と同様のデータフォーマットを有するＩＰパケットデータＤ２）がルータ１１に送信されており（ステップＳ３０参照）、ホスト５ａ１−２も上記定期的な判断処理が実行されている（ステップＳ３１参照）。
【０１０７】
一方、ルータ１１は、ホスト５ａ１−１および５ａ１−２から送信されてきた参加要求を対応するＩ／Ｆ２０ａ１および２０ａ２を介して受信してバッファ２２に蓄積し（ステップＳ４０）、受信された参加要求の頻度を確認し（ステップＳ４１）、確認した参加要求の頻度に応じて破棄処理を行うか否か判断する。
【０１０８】
すなわち、ルータ１１は、確認した参加要求の受信頻度が予め設定された閾値以下か否か判断する（ステップＳ４２）。
【０１０９】
今、ルータ１１に対してホスト５ａ１−２から大量の参加要求が送信されているため、ステップＳ４２の判断はＮＯ（参加要求の受信頻度が閾値を超えている）となり、ルータ１１は、受信された参加要求の一部を破棄する（ステップＳ４３）。
【０１１０】
例えば、第２の実施の形態では、ステップＳ４３の処理として、ルータ１１は、ホスト５ａ１−２から送信されてきた全ての参加要求を破棄する。
【０１１１】
続いて、ルータ１１は、破棄しなかった分の参加要求、すなわち、破棄した参加要求を除く残りの参加要求に対応するホスト（本実施の形態では、ホスト５ａ１−１）のＩＰアドレスを上記所定のマルチキャストグループに対応するマルチキャストアドレスに対応付けてアドレステーブルＡＴに格納してホスト５ａ１−１の参加登録を行う（ステップＳ４４）。
【０１１２】
次いで、ルータ１１は、参加要求が破棄されたホスト（本実施の形態では、ホスト５ａ１−２）に対して、その参加要求の破棄を通知するためのデータ（ＩＰパケットデータ）を、ホスト５ａ１−２のＩＰアドレスおよびＭＡＣアドレスを宛先として、スイッチ１３ａ−１等を介してホスト５ａ１−２に送信する（ステップＳ４５）。
【０１１３】
このとき、ホスト５ａ１−１は、ステップＳ３１の判断処理を一定時間繰り返し実行しており、ステップＳ４４の参加登録処理の結果、参加要求破棄を通知するためのデータが非送信となるため、ホスト５ａ１−１のステップＳ３１の判断はＮＯ（参加要求破棄を通知するためのデータ非送信）となり、ホスト５ａ１−１は、参加要求が無事受付られたことを確認して、その処理を終了する。
【０１１４】
一方、ホスト５ａ１−２においては、参加要求破棄を通知するためのデータが送信されてきたため、そのステップＳ３１の判断処理はＹＥＳとなり、ホスト５ａ１−２は、再度、参加要求を表すデータ（ＩＰパケットデータＤ２）をスイッチ１３ａ−１等を介してルータ１１に送信し（ステップＳ３０参照）、再度、ルータ１１から参加要求破棄を通知するためのデータが送信されてきたか否かを定期的に判断している（ステップＳ３１参照）。
【０１１５】
このとき、ホスト５ａ１−２から大量の参加要求ではなく、通常の１つの参加要求を表すＩＰパケットデータＤ２がルータ１１に送信されている場合、ルータ１１は、この参加要求を受信してその受信頻度を確認し（ステップＳ４０、ステップＳ４１参照）、受信された参加要求の受信頻度が上記閾値以下か否か判断する（ステップＳ４２参照）。
【０１１６】
今、ホスト５ａ１−２から大量の参加要求が発生していないため、ステップＳ４２の判断はＹＥＳ（参加要求の受信頻度が閾値以下である）となり、ルータ１１は、その参加要求に対応するホスト５ａ１−２のＩＰアドレスを上記所定のマルチキャストグループに対応するマルチキャストアドレスに対応付けてアドレステーブルＡＴに格納してホスト５ａ１−２の参加登録を行う（ステップＳ４６）。
【０１１７】
一方、ホスト５ａ１−２は、ステップＳ３１の判断処理を一定時間繰り返し実行しており、ステップＳ４６の参加登録処理の結果、参加要求の破棄を通知するためのデータが非送信となるため、ホスト５ａ１−２のステップＳ３１の判断はＮＯ（参加要求破棄を通知するためのデータ非送信）となり、ホスト５ａ１−２は、参加要求が無事受付られたことを確認して、その処理を終了する。
【０１１８】
次に、ホスト５ａ１−１およびホスト５ａ１−２から離脱要求がルータ１１に送信された際のシーケンスについて説明する。
【０１１９】
今、少なくともサブネットＳｂ１のホスト５ａ１−１およびホスト５ａ１−２が上記所定のマルチキャストグループに参加しているものとする。
【０１２０】
このとき、ホスト５ａ１−２が上記所定のマルチキャストグループから離脱したい場合、ホスト５ａ１−２は、その離脱要求を表すデータを所定の通信プロトコルであるＩＰプロトコルに基づくデータフォーマットに変換してスイッチ１３ａ−１に送信する。
【０１２１】
すなわち、ホスト５ａ１−２は、第１の実施の形態と同様に、離脱要求を表すＩＰパケットデータを生成し、このＩＰパケットデータを通信ケーブルＬ１−１および物理ポートＰＯ１−１を介してスイッチ１３ａ−１に送信する（ステップＳ３５）。
【０１２２】
次いで、ホスト５ａ１−２は、ルータ１１から離脱要求破棄を通知するためのデータが送信されてきたか否かを定期的に判断している（ステップＳ３６）。
【０１２３】
一方、送信されたＩＰパケットデータは、スイッチ１３ａ−２を介してＩＰパケットデータＤ２ａとしてルータ１１に送信される（図５参照）。
【０１２４】
このとき、ホスト５ａ１−１からも、ホスト５ａ１−２からの参加要求送信タイミングと略同時に、例えば大量の参加要求（ＩＰパケットデータＤ２ａと同様のデータフォーマットを有するＩＰパケットデータＤ１ａ）がルータ１１に送信されており（ステップＳ３５参照）、ホスト５ａ１−２も上記定期的な判断処理が実行されている（ステップＳ３６参照）。
【０１２５】
一方、ルータ１１は、ホスト５ａ１−１および５ａ１−２から送信されてきた離脱要求を対応するＩ／Ｆ２０ａ１および２０ａ２を介して受信してバッファ２２に蓄積し（ステップＳ５０）、受信された離脱要求の頻度を確認し（ステップＳ５１）、確認した離脱要求の頻度に応じて破棄処理を行うか否か判断する。
【０１２６】
すなわち、ルータ１１は、確認した離脱要求の受信頻度が予め設定された閾値以下か否か判断する（ステップＳ５２）。
【０１２７】
今、ルータ１１に対してホスト５ａ１−１から大量の離脱要求が送信されているため、ステップＳ５２の判断はＮＯ（離脱要求の受信頻度が閾値を超えている）となり、ルータ１１は、受信された離脱要求の一部を破棄する（ステップＳ５３）。
【０１２８】
例えば、第２の実施の形態では、ステップＳ５３の処理として、ルータ１１は、ホスト５ａ１−１から送信されてきた全ての離脱要求を破棄する。
【０１２９】
続いて、ルータ１１は、破棄しなかった分の離脱要求、すなわち、破棄した離脱要求を除く残りの離脱要求に対応するホスト（本実施の形態では、ホスト５ａ１−２）のＩＰアドレスをアドレステーブルＡＴにおける所定のマルチキャストグループから削除して上記所定のマルチキャストグループに対応するホスト５ａ１−２の参加登録を削除する（ステップＳ５４）。
【０１３０】
次いで、ルータ１１は、離脱要求が破棄されたホスト（本実施の形態では、ホスト５ａ１−１）に対して、その離脱要求の破棄を通知するためのデータ（ＩＰパケットデータ）を、ホスト５ａ１−１のＩＰアドレスおよびＭＡＣアドレスを宛先として、スイッチ１３ａ−１等を介してホスト５ａ１−１に送信する（ステップＳ５５）。
【０１３１】
このとき、ホスト５ａ１−２は、ステップＳ３６の判断処理を一定時間繰り返し実行しており、ステップＳ５４の参加登録破棄処理の結果、離脱要求破棄を通知するためのデータが非送信となるため、ホスト５ａ１−２のステップＳ３６の判断はＮＯ（離脱要求破棄を通知するためのデータ非送信）となり、ホスト５ａ１−２は、離脱要求が無事受付られたことを確認して、その処理を終了する。
【０１３２】
一方、ホスト５ａ１−１においては、離脱要求破棄を通知するためのデータが送信されてきたため、そのステップＳ３６の判断処理はＹＥＳとなり、ホスト５ａ１−１は、再度、離脱要求を表すデータ（ＩＰパケットデータＤ１ａ）をスイッチ１３ａ−１等を介してルータ１１に送信し（ステップＳ３５参照）、再度、ルータ１１から離脱要求破棄を通知するためのデータが送信されてきたか否かを定期的に判断している（ステップＳ３６参照）。
【０１３３】
このとき、ホスト５ａ１−１から大量の離脱要求ではなく、通常の１つの離脱要求を表すＩＰパケットデータＤ２ａがルータ１１に送信されている場合、ルータ１１は、この離脱要求を受信してその受信頻度を確認し（ステップＳ５０、ステップＳ５１参照）、受信された離脱要求の受信頻度が上記閾値以下か否か判断する（ステップＳ５２参照）。
【０１３４】
今、ホスト５ａ１−１から大量の離脱要求が発生していないため、ステップＳ５２の判断はＹＥＳ（離脱要求の受信頻度が閾値以下である）となり、ルータ１１は、その離脱要求に対応するホスト５ａ１−１のＩＰアドレスをアドレステーブルＡＴにおける所定のマルチキャストグループから削除して上記所定のマルチキャストグループに対応するホスト５ａ１−１の参加登録を削除する（ステップＳ５６）。
【０１３５】
一方、ホスト５ａ１−１は、ステップＳ３６の判断処理を一定時間繰り返し実行しており、ステップＳ５６の参加登録破棄処理の結果、離脱要求破棄を通知するためのデータが非送信となるため、ホスト５ａ１−１のステップＳ３６の判断はＮＯ（離脱要求破棄を通知するためのデータ非送信）となり、ホスト５ａ１−１は、離脱要求が無事受付られたことを確認して、その処理を終了する。
【０１３６】
以上述べたように、第２の実施の形態によれば、第１の実施の形態と同様に、ホスト５ａ１−１およびホスト５ａ１−２から所定のマルチキャストグループに対する複数の参加／離脱要求が送信されてきた際に、その参加／離脱要求の受信頻度と所定の閾値とを比較し、その比較の結果、受信頻度が所定の閾値を超えた場合においては、ルータ１１の処理により、その複数の参加／離脱要求の内の少なくとも一部を破棄することができる。
【０１３７】
特に、本実施の形態によれば、参加／離脱要求が破棄されたホストに対して、その参加／離脱要求の破棄を通知するためのデータを送信することができる（ステップＳ４５、Ｓ５５参照）。
【０１３８】
この結果、参加／離脱要求が破棄されたホストは、送信されてきた参加／離脱要求の破棄を通知するデータに応じて、その参加／離脱要求の未受付状態を把握することができ、再度、参加／離脱要求をルータ１１に対して送信することができる。
【０１３９】
したがって、第１の実施の形態におけるルータ処理負荷の抑制および処理能力の維持等の効果に加えて、所定のマルチキャストグループに対して参加／離脱したいホストに係わる参加登録処理／参加登録削除処理を効率良く行うことができる。
【０１４０】
なお、第２の実施の形態におけるステップＳ１０、Ｓ１８の参加要求または離脱要求の頻度を確認する処理として、略同時に送信されてきた参加要求または離脱要求の数をカウントしたが、本発明はこの構成に限定されるものではなく、一定時間毎の参加要求の送信回数または離脱要求の送信回数をカウントしてもよい。
【０１４１】
また、第２の実施の形態においても、第１の実施の形態と同様に、ステップＳ４１、Ｓ５１の参加要求または離脱要求の頻度を確認する処理として、予め所定の帯域幅を閾値としてルータ１１が保持し、この閾値を超えた帯域の参加要求または離脱要求が送信されてきた場合、上記閾値を超えた参加要求または離脱要求が生じたものと判断してもよい。
【０１４２】
さらに、第２の実施の形態においても、第１の実施の形態と同様に、ステップＳ４１、Ｓ５１の参加要求または離脱要求の頻度を確認する処理を行う前に、ルータ１１は、受信した参加要求のポリシング、すなわち、所定の単位毎に参加要求または離脱要求を分類し、分類した参加要求毎に受信頻度を確認してもよい（図８参照）。
【０１４３】
この所定の単位としては、第１の実施の形態と同様に、マルチキャストアドレス、ソースアドレス、ＴＣＰ／ＵＤＰポート番号、ＴＯＳフィールド値、サブネットアドレス、物理ポート識別情報、ＶＬＡＮのＩＤ、ＶＬＡＮのプライオリティ値、宛先ＭＡＣアドレスおよび送信元ＭＡＣアドレスの内の少なくとも１つあるいはその組合せが適用可能である。
【０１４４】
また、第２の実施の形態では、参加／離脱要求を送信したホストが同一サブネットＳｂ１の２台のホストとして説明したが、本発明はこの構成に限定されるものではなく、同一のサブネットあるいは異なるサブネットに属する３台以上のホストからの参加／離脱要求が送信されてきた場合であっても、ルータ１１は、同様に動作して参加／離脱要求の少なくとも一部の破棄を行うことができる。
【０１４５】
なお、第１および第２の実施の形態においては、所定のマルチキャストグループに対する参加／離脱に関する処理について説明したが、本発明はこの構成に限定されるものではなく、複数のマルチキャストグループに対する参加／離脱についても、それぞれのマルチキャストグループ毎に同時に行うことができる。
【０１４６】
また、第１および第２の実施の形態においては、各スイッチ１３ａ−１〜１３ａ−ｐをＶＬＡＮ対応の装置としたが、本発明はこの構成に限定されるものではなく、ＶＬＡＮ非対応のスイッチであってもよい。この場合、ＶＬＡＮのＩＤおよびＶＬＡＮのプライオリティ値は、ポリシング時の所定の単位からは除かれる。
【０１４７】
そして、第１および第２の実施の形態における各スイッチ１３ａ−１〜１３ａ−ｐは、ハブ等の他の中継機器でもよく、また、上記各スイッチ１３ａ−１〜１３ａ−ｐの機能をルータ１１に搭載し、各スイッチ１３ａ−１〜１３ａ−ｐ（ハードウェア）を省くこともできる。
【０１４８】
さらに、第１および第２の実施の形態においては、所定の通信プロトコルをＴＣＰ（ＵＤＰ）／ＩＰとし、通信ネットワークをインターネットとしたが、本発明はこの構成に限定されるものではなく、他の通信プロトコルに基づく通信ネットワークを経由したマルチキャスト通信に対しても適用可能である。
【０１４９】
【発明の効果】
以上述べたように本発明に係わるマルチキャスト通信方法、マルチキャスト通信用ルータ装置およびマルチキャスト通信用プログラムによれば、複数の受信ホストから、マルチキャストグループへの参加要求を表す複数の要求データ、およびマルチキャストグループからの離脱要求を表す複数の要求データの内の少なくとも一方の複数の要求データが送信されてきた場合、その複数の要求データの頻度を確認し、確認した複数の要求データの頻度に応じて、その複数の要求データの少なくとも一部を破棄することができる。
【０１５０】
このため、ある受信ホストからマルチキャストグループに対して大量の参加／離脱要求がマルチキャスト通信用ルータ装置に送信されてきた場合であっても、そのルータ装置の処理負荷の増大を抑制してその処理能力を高く維持することができる。
【０１５１】
また、本発明に係わるマルチキャスト通信方法、マルチキャスト通信用ルータ装置およびマルチキャスト通信用プログラムによれば、参加／離脱要求を破棄した受信ホストに対して、その参加／離脱要求の破棄を通知するための破棄通知データを送信しているため、参加／離脱要求が破棄された受信ホストは、送信されてきた破棄通知データに応じて、その参加／離脱要求の未受付状態を把握することができ、再度、参加／離脱要求をルータ装置に対して送信することができる。
【０１５２】
すなわち、参加／離脱要求を送信した受信ホストが、その参加／離脱要求が未受付状態のまま放置される可能性を回避することができ、マルチキャストグループに対して参加／離脱したい受信ホストに係わる参加登録処理／参加登録削除処理を効率良く行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係わるマルチキャスト通信用ルータ装置を含むマルチキャスト通信システムの概略構成を示す図。
【図２】図１に示すマルチキャスト通信システムにおけるマルチキャストグループへの参加登録に関するシーケンスを示すシーケンス図。
【図３】図２に示すシーケンスに対応する図１に示すホスト５ａ１−１およびホスト５ａ１−２の処理の一例を示す概略フローチャート。
【図４】図２に示すシーケンスに対応する図１に示すルータ１１の処理の一例を示す概略フローチャート。
【図５】図１に示すマルチキャスト通信システムにおけるマルチキャストグループからの離脱（参加登録削除）に関するシーケンスを示すシーケンス図。
【図６】図５に示すシーケンスに対応する図１に示すホスト５ａ１−１およびホスト５ａ１−２の処理の一例を示す概略フローチャート。
【図７】図５に示すシーケンスに対応する図１に示すルータ１１の処理の一例を示す概略フローチャート。
【図８】図４、図７に示すルータ１１の処理の変形例を示す概略フローチャート。
【図９】本発明の第２の実施の形態に係わるマルチキャスト通信システムにおけるマルチキャストグループへの参加登録に関するシーケンスを示すシーケンス図。
【図１０】図９に示すシーケンスに対応する図１に示すホスト５ａ１−１およびホスト５ａ１−２の処理の一例を示す概略フローチャート。
【図１１】図９に示すシーケンスに対応する図１に示すルータ１１の処理の一例を示す概略フローチャート。
【図１２】本発明の第２の実施の形態に係わるマルチキャスト通信システムにおけるマルチキャストグループからの離脱（参加登録削除）に関するシーケンスを示すシーケンス図。
【図１３】図１２に示すシーケンスに対応する図１に示すホスト５ａ１−１およびホスト５ａ１−２の処理の一例を示す概略フローチャート。
【図１４】図１２に示すシーケンスに対応する図１に示すルータ１１の処理の一例を示す概略フローチャート。
【図１５】従来の受信側ベースのプロトコルに基づくホストおよびルータ間のシーケンスの一例を示すシーケンス図。
【符号の説明】
１…マルチキャスト通信システム
３…サーバ
４…通信ネットワーク
５ａ１−１〜５ａ１−ｍ、５ａ２−１〜５ａ２−ｎ、・・・、５ａｐ−１〜５ａｐ−ｏ…受信ホスト
１１…ルータ装置
１５ａ−１〜１５ａ−ｐ…通信回線
２０ａ１〜２０ａｐ
２２…バッファ
２４…ＣＰＵ
２６…メモリ
２８…Ｉ／Ｆ
ＡＴ…アドレステーブル
Ｌ１−１〜Ｌ１−ｍ、Ｌ２−１〜Ｌ２−ｎ、・・・、Ｌｐ−１〜Ｌｐ−ｏ…通信ケーブル
ＰＯ１−１〜ＰＯ１−ｍ、ＰＯ２−１〜ＰＯ２−ｎ、・・・、ＰＯｐ−１〜ＰＯｐ−ｏ…物理ポート
【図１】
2004282161.tif 000003
【図２】
2004282161.tif 000004
【図３】
2004282161.tif 000005
【図４】
2004282161.tif 000006
【図５】
2004282161.tif 000007
【図６】
2004282161.tif 000008
【図７】
2004282161.tif 000009
【図８】
2004282161.tif 000010
【図９】
2004282161.tif 000011
【図１０】
2004282161.tif 000012
【図１１】
2004282161.tif 000013
【図１２】
2004282161.tif 000014
【図１３】
2004282161.tif 000015
【図１４】
2004282161.tif 000016
【図１５】
2004282161.tif 000017