(57)【要約】【課題】マルチキャスト対応データ配信装置とマルチキャスト非対応データ配信装置とが不規則に配置されたネットワークにおいて、ネットワーク帯域の無駄な消費を抑制する。【解決手段】対応スイッチ１１Ａは、受信したマルチキャストパケットの送信元ＩＰにマルチキャストアドレスを設定し、ユニキャストパケットに変換して送信する。下流側の対応スイッチ１１Ｂは、受信したパケットの送信元ＩＰに基づいて、当該パケットがユニキャストパケットであると判定し、その後の受信装置２４からのマルチキャスト要求パケットに備えて、ユニキャストパケットをメモリに格納する。対応スイッチ１１Ｂは、受信装置２４からマルチキャスト要求パケットを受信すると、マルチキャスト要求パケットを上流側へ転送することなく、メモリに格納したユニキャストパケットをコピーし、受信装置２４へ送信する。【選択図】図３
2018207268.tif 000002
【特許請求の範囲】
【請求項１】
マルチキャストプロトコルに対応するデータ配信装置とマルチキャストプロトコルに対応していないパケット転送装置とが不規則に配置され、マルチキャスト配信を要求する下流側の受信装置及び前記マルチキャスト配信を行う上流側の送信装置を備えたネットワークにおける前記マルチキャストプロトコルに対応するパケット転送装置であって、
マルチキャストアドレスに対応して、前記受信装置のＩＰアドレスである要求元ＩＰアドレス、及び接続ポート番号が登録された要求リストと、
前記受信装置から送信されたマルチキャスト要求パケットを受信した場合、当該マルチキャスト要求パケットを上流側へ転送するか、または当該マルチキャスト要求パケットに対するユニキャストパケットを下流側へ送信し、前記送信装置から送信されたマルチキャストパケットを受信した場合、ユニキャストパケットを下流側へ送信し、上流側からユニキャストパケットを受信した場合、当該ユニキャストパケットを下流側へ転送する通信部と、
前記通信部により受信された前記マルチキャストパケットからマルチキャストアドレスを取り出し、当該マルチキャストアドレスを前記マルチキャストパケットの送信元ＩＰアドレスに設定し、新たなマルチキャストパケットを生成するマルチキャストパケット処理部と、
前記通信部により受信された前記マルチキャスト要求パケットからマルチキャストアドレス及び要求元ＩＰアドレスを取り出し、当該マルチキャストアドレスが前記要求リストに登録されていない場合、前記マルチキャストアドレス、前記要求元ＩＰアドレス、及び前記マルチキャスト要求パケットを受信した接続ポートの接続ポート番号を、前記要求リストに追加するマルチキャスト要求パケット処理部と、
前記マルチキャストパケット処理部により生成された前記新たなマルチキャストパケットについて、当該新たなマルチキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、前記新たなマルチキャストパケットをユニキャストパケットに変換するマルチキャスト／ユニキャスト変換部と、
前記通信部により受信された前記ユニキャストパケットからマルチキャストアドレスを取り出し、当該マルチキャストアドレスが前記要求リストに登録されていない場合、前記マルチキャストアドレスを前記要求リストに追加するユニキャストパケット処理部と、を備え、
前記通信部は、
受信したパケットの送信元ＩＰアドレスに前記マルチキャストアドレスが設定されていると判定した場合、当該パケットを前記ユニキャストパケットであると判断し、
前記マルチキャスト要求パケット処理部は、
前記通信部により前記マルチキャスト要求パケットが受信され、当該マルチキャスト要求パケットから取り出した前記マルチキャストアドレスが前記要求リストに登録されている場合、前記通信部により受信された前記ユニキャストパケットをコピーし、
前記マルチキャスト／ユニキャスト変換部は、
前記マルチキャスト要求パケット処理部によりコピーされた前記ユニキャストパケットについて、当該ユニキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、新たなユニキャストパケットを生成し、
前記通信部は、
前記マルチキャスト／ユニキャスト変換部により生成された前記新たなユニキャストパケットを、前記マルチキャスト要求パケットを送信してきた前記受信装置へ送信する、ことを特徴とするデータ配信装置。
【請求項２】
請求項１に記載のデータ配信装置において、
前記マルチキャスト要求パケット処理部は、
前記通信部により前記マルチキャスト要求パケットが受信され、当該マルチキャスト要求パケットから取り出した前記マルチキャストアドレスが前記要求リストに登録されている場合、前記マルチキャストパケット処理部により生成された前記新たなマルチキャストパケットをコピーし、
前記マルチキャスト／ユニキャスト変換部は、
前記マルチキャスト要求パケット処理部によりコピーされた前記新たなマルチキャストパケットについて、当該新たなマルチキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、新たなユニキャストパケットを生成し、
前記通信部は、
前記マルチキャスト／ユニキャスト変換部により生成された前記新たなユニキャストパケットを、前記マルチキャスト要求パケットを送信してきた前記受信装置へ送信する、ことを特徴とするデータ配信装置。
【請求項３】
請求項１または２に記載のデータ配信装置において、
さらに、接続ポート番号に対応して、前記ユニキャストパケットを送信した数のカウンタ現在値が登録されたカウンタリストと、
前記ユニキャストパケットを転送する接続ポートの所定の接続ポート番号に対応した前記カウンタ現在値を前記カウンタリストから読み出し、前記カウンタ現在値をインクリメントし、インクリメント結果が所定の設定値を超えていない場合、前記所定の接続ポート番号を選択し、
前記インクリメント結果が前記所定の設定値を超えている場合、前記カウンタリストから、前記カウンタ現在値が所定の設定値を超えていない接続ポート番号を選択する接続ポート選択部と、を備え、
前記通信部は、
前記接続ポート選択部により選択された前記接続ポート番号の接続ポートから、前記ユニキャストパケットを送信する、ことを特徴とするデータ配信装置。
【請求項４】
請求項１から３までのいずれか一項に記載のデータ配信装置において、
さらに、前記通信部により送信された前記ユニキャストパケットと、前記通信部によりその後に受信された前記ユニキャストパケットとが同じである場合、前記ユニキャストパケットがループして戻ってきたことを検知するループ検知部、を備えたことを特徴とするデータ配信装置。
【請求項５】
マルチキャストプロトコルに対応するデータ配信装置とマルチキャストプロトコルに対応していないパケット転送装置とが不規則に配置され、マルチキャスト配信を要求する下流側の受信装置及び前記マルチキャスト配信を行う上流側の送信装置を備えたネットワークにおける前記マルチキャストプロトコルに対応するパケット転送装置であって、
当該データ配信装置がスイッチ及びコントローラにより構成され、
前記スイッチは、
前記受信装置から送信されたマルチキャスト要求パケットを受信した場合、当該マルチキャスト要求パケットを上流側へ転送するか、または当該マルチキャスト要求パケットに対するユニキャストパケットを下流側へ送信し、前記送信装置から送信されたマルチキャストパケットを受信した場合、ユニキャストパケットを下流側へ送信し、上流側からユニキャストパケットを受信した場合、当該ユニキャストパケットを下流側へ転送する通信部を備え、
前記コントローラは、
マルチキャストアドレスに対応して、前記受信装置のＩＰアドレスである要求元ＩＰアドレス、及び接続ポート番号が登録された要求リストと、
前記通信部により受信された前記マルチキャストパケットからマルチキャストアドレスを取り出し、当該マルチキャストアドレスを前記マルチキャストパケットの送信元ＩＰアドレスに設定し、新たなマルチキャストパケットを生成するマルチキャストパケット処理部と、
前記通信部により受信された前記マルチキャスト要求パケットからマルチキャストアドレス及び要求元ＩＰアドレスを取り出し、当該マルチキャストアドレスが前記要求リストに登録されていない場合、前記マルチキャストアドレス、前記要求元ＩＰアドレス、及び前記マルチキャスト要求パケットを受信した接続ポートの接続ポート番号を、前記要求リストに追加するマルチキャスト要求パケット処理部と、
前記マルチキャストパケット処理部により生成された前記新たなマルチキャストパケットについて、当該新たなマルチキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、前記新たなマルチキャストパケットをユニキャストパケットに変換するマルチキャスト／ユニキャスト変換部と、
前記通信部により受信された前記ユニキャストパケットからマルチキャストアドレスを取り出し、当該マルチキャストアドレスが前記要求リストに登録されていない場合、前記マルチキャストアドレスを前記要求リストに追加するユニキャストパケット処理部と、を備え、
前記スイッチの前記通信部は、
受信したパケットの送信元ＩＰアドレスに前記マルチキャストアドレスが設定されていると判定した場合、当該パケットを前記ユニキャストパケットであると判断し、
前記コントローラの前記マルチキャスト要求パケット処理部は、
前記通信部により前記マルチキャスト要求パケットが受信され、当該マルチキャスト要求パケットから取り出した前記マルチキャストアドレスが前記要求リストに登録されている場合、前記通信部により受信された前記ユニキャストパケットをコピーし、
前記コントローラの前記マルチキャスト／ユニキャスト変換部は、
前記マルチキャスト要求パケット処理部によりコピーされた前記ユニキャストパケットについて、当該ユニキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、新たなユニキャストパケットを生成し、
前記スイッチの前記通信部は、
前記マルチキャスト／ユニキャスト変換部により生成された前記新たなユニキャストパケットを、前記マルチキャスト要求パケットを送信してきた前記受信装置へ送信する、ことを特徴とするデータ配信装置。
【請求項６】
コンピュータを、請求項１から５までのいずれか一項に記載のデータ配信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストデータを配信（転送）するデータ配信装置に関する。
【背景技術】
【０００２】
マルチキャスト通信方法の標準仕様は、ＲＦＣ１１１２に規定されている。この仕様によれば、端末（受信装置）は、ＩＧＭＰ（Internet Group Management Protocol）に従って、配信要求メッセージをネットワークの構成要素であるルータへ送信する。
【０００３】
マルチキャストプロトコルに対応するルータは、ＰＩＭ−ＳＭ等のプロトコルに従って、マルチキャストパケットの送信を近隣のルータへ要求する。関連するルータは、マルチキャストパケットを順次転送する。これにより、マルチキャストデータはその要求元の端末へ送信され、マルチキャスト配信が実現される。
【０００４】
マルチキャストプロトコルに対応するルータは、マルチキャストデータの要求元の端末が存在するポートに対してのみマルチキャストパケットを転送する。これに対し、レイヤー２スイッチ等のマルチキャストプロトコルに対応していないパケット転送装置は、マルチキャストパケットを全ポートに対して転送（ブロードキャスト）する。
【０００５】
つまり、マルチキャストプロトコルに対応していないルータは、マルチキャストデータを要求していない端末が存在するポートに対しても、マルチキャストパケットを転送する。このため、ネットワーク帯域を無駄に消費してしまう。
【０００６】
この問題を解決するために、装置の負荷に応じてマルチキャストパケットをユニキャストパケットとして転送する手法が開示されている（例えば、特許文献１を参照）。また、ユニキャストネットワークを経由してマルチキャストネットワークへマルチキャストデータを配信する手法も開示されている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−２１７０３８号公報
【特許文献２】特開２００４−１７２９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述の特許文献１の手法は、コア装置及びエッジ装置にて階層化されたネットワークのパケット転送を想定しており、マルチキャストパケットをユニキャストパケットに変換するスイッチを決定することにより、ネットワーク帯域の無駄な消費を抑制する。
【０００９】
しかしながら、マルチキャストプロトコルに対応していないパケット転送装置（データ配信装置）が不規則に配置されたネットワークでは、マルチキャストパケットをユニキャストパケットに変換するスイッチを決定するための判断基準を定めることができない。このため、このようなネットワークには、特許文献１の手法を適用することができない。
【００１０】
また、前述の特許文献２の手法は、ユニキャストネットワークからマルチキャストネットワークへの片方向の通信を想定しており、マルチキャストプロトコルに対応していないデータ配信装置が不規則に配置されたネットワークでのマルチキャスト配信を考慮していない。このため、このようなネットワークには、特許文献２の手法を適用することができない。
【００１１】
このように、マルチキャストプロトコルに対応するデータ配信装置（マルチキャスト対応データ配信装置）及びマルチキャストに対応していないデータ配信装置（マルチキャスト非対応データ配信装置）が不規則に配置されたネットワークに対し、前述の特許文献１，２の手法を適用することができない。このため、このようなネットワークでは、ネットワーク帯域の無駄な消費を抑制することができないという問題があった。
【００１２】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、マルチキャスト対応データ配信装置とマルチキャスト非対応データ配信装置とが不規則に配置されたネットワークにおいて、ネットワーク帯域の無駄な消費を抑制可能なデータ配信装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
前記課題を解決するために、請求項１のデータ配信装置は、マルチキャストプロトコルに対応するデータ配信装置とマルチキャストプロトコルに対応していないパケット転送装置とが不規則に配置され、マルチキャスト配信を要求する下流側の受信装置及び前記マルチキャスト配信を行う上流側の送信装置を備えたネットワークにおける前記マルチキャストプロトコルに対応するパケット転送装置であって、マルチキャストアドレスに対応して、前記受信装置のＩＰアドレスである要求元ＩＰアドレス、及び接続ポート番号が登録された要求リストと、前記受信装置から送信されたマルチキャスト要求パケットを受信した場合、当該マルチキャスト要求パケットを上流側へ転送するか、または当該マルチキャスト要求パケットに対するユニキャストパケットを下流側へ送信し、前記送信装置から送信されたマルチキャストパケットを受信した場合、ユニキャストパケットを下流側へ送信し、上流側からユニキャストパケットを受信した場合、当該ユニキャストパケットを下流側へ転送する通信部と、前記通信部により受信された前記マルチキャストパケットからマルチキャストアドレスを取り出し、当該マルチキャストアドレスを前記マルチキャストパケットの送信元ＩＰアドレスに設定し、新たなマルチキャストパケットを生成するマルチキャストパケット処理部と、前記通信部により受信された前記マルチキャスト要求パケットからマルチキャストアドレス及び要求元ＩＰアドレスを取り出し、当該マルチキャストアドレスが前記要求リストに登録されていない場合、前記マルチキャストアドレス、前記要求元ＩＰアドレス、及び前記マルチキャスト要求パケットを受信した接続ポートの接続ポート番号を、前記要求リストに追加するマルチキャスト要求パケット処理部と、前記マルチキャストパケット処理部により生成された前記新たなマルチキャストパケットについて、当該新たなマルチキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、前記新たなマルチキャストパケットをユニキャストパケットに変換するマルチキャスト／ユニキャスト変換部と、前記通信部により受信された前記ユニキャストパケットからマルチキャストアドレスを取り出し、当該マルチキャストアドレスが前記要求リストに登録されていない場合、前記マルチキャストアドレスを前記要求リストに追加するユニキャストパケット処理部と、を備え、前記通信部が、受信したパケットの送信元ＩＰアドレスに前記マルチキャストアドレスが設定されていると判定した場合、当該パケットを前記ユニキャストパケットであると判断し、前記マルチキャスト要求パケット処理部が、前記通信部により前記マルチキャスト要求パケットが受信され、当該マルチキャスト要求パケットから取り出した前記マルチキャストアドレスが前記要求リストに登録されている場合、前記通信部により受信された前記ユニキャストパケットをコピーし、前記マルチキャスト／ユニキャスト変換部が、前記マルチキャスト要求パケット処理部によりコピーされた前記ユニキャストパケットについて、当該ユニキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、新たなユニキャストパケットを生成し、前記通信部が、前記マルチキャスト／ユニキャスト変換部により生成された前記新たなユニキャストパケットを、前記マルチキャスト要求パケットを送信してきた前記受信装置へ送信する、ことを特徴とする。
【００１４】
また、請求項２のデータ配信装置は、請求項１に記載のデータ配信装置において、前記マルチキャスト要求パケット処理部が、前記通信部により前記マルチキャスト要求パケットが受信され、当該マルチキャスト要求パケットから取り出した前記マルチキャストアドレスが前記要求リストに登録されている場合、前記マルチキャストパケット処理部により生成された前記新たなマルチキャストパケットをコピーし、前記マルチキャスト／ユニキャスト変換部が、前記マルチキャスト要求パケット処理部によりコピーされた前記新たなマルチキャストパケットについて、当該新たなマルチキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、新たなユニキャストパケットを生成し、前記通信部が、前記マルチキャスト／ユニキャスト変換部により生成された前記新たなユニキャストパケットを、前記マルチキャスト要求パケットを送信してきた前記受信装置へ送信する、ことを特徴とする。
【００１５】
また、請求項３のデータ配信装置は、請求項１または２に記載のデータ配信装置において、さらに、接続ポート番号に対応して、前記ユニキャストパケットを送信した数のカウンタ現在値が登録されたカウンタリストと、前記ユニキャストパケットを転送する接続ポートの所定の接続ポート番号に対応した前記カウンタ現在値を前記カウンタリストから読み出し、前記カウンタ現在値をインクリメントし、インクリメント結果が所定の設定値を超えていない場合、前記所定の接続ポート番号を選択し、前記インクリメント結果が前記所定の設定値を超えている場合、前記カウンタリストから、前記カウンタ現在値が所定の設定値を超えていない接続ポート番号を選択する接続ポート選択部と、を備え、前記通信部が、前記接続ポート選択部により選択された前記接続ポート番号の接続ポートから、前記ユニキャストパケットを送信する、ことを特徴とする。
【００１６】
また、請求項４のデータ配信装置は、請求項１から３までのいずれか一項に記載のデータ配信装置において、さらに、前記通信部により送信された前記ユニキャストパケットと、前記通信部によりその後に受信された前記ユニキャストパケットとが同じである場合、前記ユニキャストパケットがループして戻ってきたことを検知するループ検知部、を備えたことを特徴とする。
【００１７】
また、請求項５のデータ配信装置は、マルチキャストプロトコルに対応するデータ配信装置とマルチキャストプロトコルに対応していないパケット転送装置とが不規則に配置され、マルチキャスト配信を要求する下流側の受信装置及び前記マルチキャスト配信を行う上流側の送信装置を備えたネットワークにおける前記マルチキャストプロトコルに対応するパケット転送装置であって、当該データ配信装置がスイッチ及びコントローラにより構成され、前記スイッチが、前記受信装置から送信されたマルチキャスト要求パケットを受信した場合、当該マルチキャスト要求パケットを上流側へ転送するか、または当該マルチキャスト要求パケットに対するユニキャストパケットを下流側へ送信し、前記送信装置から送信されたマルチキャストパケットを受信した場合、ユニキャストパケットを下流側へ送信し、上流側からユニキャストパケットを受信した場合、当該ユニキャストパケットを下流側へ転送する通信部を備え、前記コントローラが、マルチキャストアドレスに対応して、前記受信装置のＩＰアドレスである要求元ＩＰアドレス、及び接続ポート番号が登録された要求リストと、前記通信部により受信された前記マルチキャストパケットからマルチキャストアドレスを取り出し、当該マルチキャストアドレスを前記マルチキャストパケットの送信元ＩＰアドレスに設定し、新たなマルチキャストパケットを生成するマルチキャストパケット処理部と、前記通信部により受信された前記マルチキャスト要求パケットからマルチキャストアドレス及び要求元ＩＰアドレスを取り出し、当該マルチキャストアドレスが前記要求リストに登録されていない場合、前記マルチキャストアドレス、前記要求元ＩＰアドレス、及び前記マルチキャスト要求パケットを受信した接続ポートの接続ポート番号を、前記要求リストに追加するマルチキャスト要求パケット処理部と、前記マルチキャストパケット処理部により生成された前記新たなマルチキャストパケットについて、当該新たなマルチキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、前記新たなマルチキャストパケットをユニキャストパケットに変換するマルチキャスト／ユニキャスト変換部と、前記通信部により受信された前記ユニキャストパケットからマルチキャストアドレスを取り出し、当該マルチキャストアドレスが前記要求リストに登録されていない場合、前記マルチキャストアドレスを前記要求リストに追加するユニキャストパケット処理部と、を備え、前記スイッチの前記通信部が、受信したパケットの送信元ＩＰアドレスに前記マルチキャストアドレスが設定されていると判定した場合、当該パケットを前記ユニキャストパケットであると判断し、前記コントローラの前記マルチキャスト要求パケット処理部が、前記通信部により前記マルチキャスト要求パケットが受信され、当該マルチキャスト要求パケットから取り出した前記マルチキャストアドレスが前記要求リストに登録されている場合、前記通信部により受信された前記ユニキャストパケットをコピーし、前記コントローラの前記マルチキャスト／ユニキャスト変換部が、前記マルチキャスト要求パケット処理部によりコピーされた前記ユニキャストパケットについて、当該ユニキャストパケットのマルチキャストアドレスに対応する要求元ＩＰアドレスを前記要求リストから読み出し、当該要求元ＩＰアドレスを宛先ＩＰアドレスに設定することで、新たなユニキャストパケットを生成し、前記スイッチの前記通信部が、前記マルチキャスト／ユニキャスト変換部により生成された前記新たなユニキャストパケットを、前記マルチキャスト要求パケットを送信してきた前記受信装置へ送信する、ことを特徴とする。
【００１８】
さらに、請求項６のプログラムは、コンピュータを、請求項１から５までのいずれか一項に記載のデータ配信装置として機能させることを特徴とする。
【発明の効果】
【００１９】
以上のように、本発明によれば、マルチキャスト対応データ配信装置とマルチキャスト非対応データ配信装置とが不規則に配置されたネットワークにおいて、ネットワーク帯域の無駄な消費を抑制することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態によるデータ配信装置（対応スイッチ）の基本構成例を示す図である。
【図２】実施例１を説明する第１のネットワークの構成例である。
【図３】実施例１を説明する第２のネットワークの構成例である。
【図４】実施例１の対応スイッチの構成例を示すブロック図である。
【図５】実施例１の対応スイッチによるマルチキャスト要求パケット及びマルチキャストパケットの処理例を示すフローチャートである。
【図６】実施例１の対応スイッチによるユニキャストパケットの処理例を示すフローチャートである。
【図７】図５及び図６のフローチャートの説明を補充する図である。
【図８】要求リストの構成例を示す図である。
【図９】ＩＰヘッダの構成を示す図である。
【図１０】実施例２の対応スイッチの構成例を示すブロック図である。
【図１１】実施例２の対応スイッチによる接続ポート選択処理例を示すフローチャートである。
【図１２】カウンタリストの構成例を示す図である。
【図１３】実施例２を説明するネットワークの構成例である。
【発明を実施するための形態】
【００２１】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
図１は、本発明の実施形態によるデータ配信装置（対応スイッチ）の基本構成例を示す図である。このデータ配信装置１は、ＳＤＮ（Software Defined Network）を実現し、マルチキャストプロトコルに対応するパケット転送装置、すなわちマルチキャスト対応データ配信装置である。
【００２２】
図１に示すように、データ配信装置１は、スイッチ２及びコントローラ３を備えて構成される。データ配信装置１は、図示しない送信装置及び受信装置等を含むネットワークにおいて、マルチキャストプロトコルに対応していないパケット転送装置、すなわちマルチキャスト非対応データ配信装置と共に不規則に配置される。
【００２３】
スイッチ２は、パケットを受信すると、当該パケットの転送先をコントローラ３に問合せるために、当該パケットを含む転送先問合せ情報をコントローラ３へ出力し、コントローラ３からパケットを転送する転送ポート番号の情報を取得する。
【００２４】
コントローラ３は、スイッチ２からパケットを含む転送先問合せ情報を入力すると、所定のプログラムに従って、パケットヘッダを解析し、パケットヘッダに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス等に基づいて転送ポートを特定する。そして、コントローラ３は、転送ポート番号をスイッチ２へ出力する。スイッチ２は、コントローラ３から転送ポート番号を入力し、受信したパケットを、入力した転送ポート番号の転送ポートから転送する。
【００２５】
尚、スイッチ２及びコントローラ３にて構成されるデータ配信装置１により、前述の処理と共に、後述する対応スイッチ１１の処理が行われる。データ配信装置１は、Openflow対応スイッチ等を実装することで実現することができる。また、スイッチ２及びコントローラ３は、ＬＡＮまたはシリアルインターフェース等にて接続される。
【００２６】
〔実施例１〕
まず、実施例１について説明する。実施例１のデータ配信装置１である対応スイッチは、マルチキャスト配信を要求する受信装置からマルチキャスト要求パケットを受信した際に、当該マルチキャスト要求パケットを上流側へ転送することなく、既に受信済みのマルチキャストパケットまたはユニキャストパケット（マルチキャストパケットが変換されたユニキャストパケット）をコピーし、ユニキャストパケットを前記受信装置へ送信することを特徴とする。
【００２７】
図２は、実施例１を説明する第１のネットワークの構成例であり、図３は、実施例１を説明する第２のネットワークの構成例である。図２に示す第１のネットワークは、対応スイッチ１１、非対応スイッチ１２及び受信装置２１，２２，２３を備えて構成される。対応スイッチ１１及び非対応スイッチ１２、対応スイッチ１１及び受信装置２１、非対応スイッチ１２及び受信装置２２、並びに非対応スイッチ１２及び受信装置２３には、それぞれ経路が設定される。
【００２８】
図３に示す第２のネットワークは、対応スイッチ１１Ａ，１１Ｂ，１１Ｃ、非対応スイッチ１２及び受信装置２４を備えて構成される。対応スイッチ１１Ａ及び非対応スイッチ１２、非対応スイッチ１２及び対応スイッチ１１Ｂ、対応スイッチ１１Ｂ及び対応スイッチ１１Ｃ、並びに対応スイッチ１１Ｂ及び受信装置２４には、それぞれ経路が設定される。
【００２９】
図４は、実施例１の対応スイッチの構成例を示すブロック図である。この対応スイッチ１１は、図２に示すネットワークにおける対応スイッチ１１に相当し、図３に示すネットワークにおける対応スイッチ１１Ａ〜１１Ｃに相当する。対応スイッチ１１は、通信部３１、マルチキャスト要求パケット処理部３２、要求リスト３３、マルチキャストパケット処理部３４、マルチキャスト／ユニキャスト変換部３５及びユニキャストパケット処理部３６を備えている。
【００３０】
対応スイッチ１１は、マルチキャストプロトコルに対応するスイッチであり、図１に示したデータ配信装置１に相当する。尚、図２及び図３において、非対応スイッチ１２は、レイヤー２スイッチ等のマルチキャストプロトコルに対応していないスイッチである。
【００３１】
図４を参照して、対応スイッチ１１の通信部３１は、マルチキャスト配信を要求した下流側（当該対応スイッチ１１の下流側）の受信装置２１〜２４から送信されたマルチキャスト要求パケット（Ｒｑ）を受信し、マルチキャスト要求パケットをマルチキャスト要求パケット処理部３２に出力する。また、通信部３１は、マルチキャスト要求パケット処理部３２からマルチキャスト要求パケットを入力し、マルチキャスト要求パケットを上流側の送信装置１０へ転送する。
【００３２】
通信部３１は、マルチキャスト配信を行う送信装置１０から送信されたマルチキャストパケット（ＭＰ）を受信し、マルチキャストパケットをマルチキャストパケット処理部３４に出力する。また、通信部３１は、マルチキャスト／ユニキャスト変換部３５からユニキャストパケット（ＵＰ）を入力し、ユニキャストパケットを、マルチキャスト配信を要求した下流側の受信装置２１〜２４へ送信する。
【００３３】
通信部３１は、上流側からユニキャストパケットを受信し、ユニキャストパケットをユニキャストパケット処理部３６に出力する。また、通信部３１は、ユニキャストパケット処理部３６からユニキャストパケットを入力し、ユニキャストパケットを、マルチキャスト配信を要求した下流側の受信装置２１〜２４へ転送する。
【００３４】
マルチキャスト要求パケット処理部３２は、通信部３１からマルチキャスト要求パケット（マルチキャスト配信を要求した下流側（当該対応スイッチ１１の下流側）の受信装置２１〜２４から送信されたマルチキャスト要求パケット）を入力する。そして、マルチキャスト要求パケット処理部３２は、マルチキャスト要求パケットに格納されたマルチキャストアドレス、及びその送信元ＩＰアドレスに設定された要求元ＩＰアドレス（マルチキャスト配信を要求した受信装置２１〜２４のＩＰアドレス）に基づいて、所定データを要求リスト３３に追加する。所定データについては後述する。また、マルチキャスト要求パケット処理部３２は、マルチキャスト要求パケットを通信部３１に出力する。これにより、マルチキャスト要求パケットは、通信部３１から上流側の送信装置１０へ転送される。
【００３５】
マルチキャスト要求パケット処理部３２は、所定データを要求リスト３３に追加する際に、マルチキャスト要求パケットに格納されたマルチキャストアドレスが要求リスト３３に既に格納されている場合、当該マルチキャスト要求パケットに対するマルチキャストパケットまたはユニキャストパケットは既に受信済みであるとして、既に受信済みのマルチキャストパケット（後述するマルチキャストパケット処理部３４により送信元ＩＰアドレスにマルチキャストアドレスが設定され、メモリに格納されたマルチキャストパケット）または既に受信済みのユニキャストパケット（後述するユニキャストパケット処理部３６によりメモリに格納されたユニキャストパケット）をコピーする。そして、マルチキャスト要求パケット処理部３２は、マルチキャストパケットまたはユニキャストパケットをマルチキャスト／ユニキャスト変換部３５に出力する。
【００３６】
これにより、マルチキャストパケットは、マルチキャスト／ユニキャスト変換部３５にてユニキャストパケットに変換される。そして、マルチキャスト要求パケットが上流側の送信装置１０へ転送されることなく、ユニキャストパケットがマルチキャスト配信を要求した下流側の受信装置２１〜２４へ送信される。
【００３７】
図８は、要求リスト３３の構成例を示す図である。要求リスト３３は、マルチキャストアドレス、要求元ＩＰアドレス及び接続ポート番号により構成される。マルチキャストアドレスは、マルチキャスト配信の複数の送信先を表すＩＰアドレスであり、要求元ＩＰアドレスは、マルチキャスト配信を要求した受信装置２１〜２４のＩＰアドレスである。接続ポート番号は、マルチキャスト配信を要求した受信装置２１〜２４が接続されている接続ポートの番号であり、通信部３１がマルチキャスト要求パケットを受信した場合には、当該マルチキャスト要求パケットを受信した接続ポートの番号を示す。
【００３８】
図８の例では、マルチキャストアドレスとしてＭＡ１，ＭＡ２，・・・が格納されており、マルチキャストアドレス＝ＭＡ１に対し、要求元ＩＰアドレスとしてＲＱ１，ＲＱ２，・・・、及びこれらに対応する接続ポートとしてＰ１，Ｐ２，・・・が格納されている。また、マルチキャストアドレス＝ＭＡ２に対し、要求元ＩＰアドレスとしてＲＱ１１，ＲＱ１２，・・・、及びこれらに対応する接続ポートとしてＰ２，Ｐ２，・・・が格納されている。
【００３９】
図９は、ＩＰヘッダの構成を示す図である。マルチキャスト要求パケット、マルチキャストパケット及びユニキャストパケット等のＩＰパケットは、ＩＰヘッダ及びＩＰペイロードから構成される。ＩＰヘッダは、図９に示すように、「バージョン」「ヘッダ長」・・・「送信元ＩＰアドレス」「宛先ＩＰアドレス」等のデータにより構成される。「送信元ＩＰアドレス」は、ＩＰパケットが送信された送信元の端末のＩＰアドレスであり、「宛先ＩＰアドレス」は、ＩＰパケットが送信される送信先の端末のＩＰアドレスである。
【００４０】
例えば図２を参照して、受信装置２１から送信されるマルチキャスト要求パケットには、「送信元ＩＰアドレス」として当該受信装置２１のＩＰアドレスが設定され、「宛先ＩＰアドレス」として送信装置１０のＩＰアドレスが設定される。また、送信装置１０から受信装置２１等へ送信されるマルチキャストパケットには、「送信元ＩＰアドレス」として当該送信装置１０のＩＰアドレスが設定され、「宛先ＩＰアドレス」としてマルチキャストアドレスが設定される。
【００４１】
さらに、対応スイッチ１１から受信装置２１へ送信されるユニキャストパケットには、「送信元ＩＰアドレス」としてマルチキャストアドレスが設定され（詳細は後述する）、「宛先ＩＰアドレス」として当該受信装置２１のＩＰアドレスが設定される。同様に、対応スイッチ１１から非対応スイッチ１２を介して受信装置２２，２３へ送信されるそれぞれのユニキャストパケットには、「送信元ＩＰアドレス」としてマルチキャストアドレスが設定される（詳細は後述する）。同様に、「宛先ＩＰアドレス」として当該受信装置２２，２３のＩＰアドレスがそれぞれ設定される。
【００４２】
図４に戻って、マルチキャストパケット処理部３４は、通信部３１からマルチキャストパケット（送信装置１０から送信されたマルチキャストパケット）を入力する。そして、マルチキャストパケット処理部３４は、マルチキャストパケットの宛先ＩＰアドレスに設定されたマルチキャストアドレスを取り出し、これを送信元ＩＰアドレスに設定する。マルチキャストパケット処理部３４は、送信元ＩＰアドレスにマルチキャストアドレスを設定したマルチキャストパケットをメモリに格納し、マルチキャスト／ユニキャスト変換部３５に出力する。これにより、マルチキャストパケットの送信元ＩＰアドレスに設定された送信装置１０のＩＰアドレスがマルチキャストアドレスに書き換えられる。
【００４３】
マルチキャスト／ユニキャスト変換部３５は、マルチキャスト要求パケット処理部３２から、コピーされたマルチキャストパケットまたはユニキャストパケットを入力し、または、マルチキャストパケット処理部３４からマルチキャストパケットを入力する。マルチキャスト／ユニキャスト変換部３５が入力するマルチキャストパケット及びユニキャストパケットの送信元ＩＰアドレスには、マルチキャストアドレスが設定されている。
【００４４】
マルチキャスト／ユニキャスト変換部３５は、要求リスト３３を照合し、マルチキャストアドレスに基づいて、マルチキャストパケットまたはユニキャストパケットの送信先である要求元ＩＰアドレスを特定する。そして、マルチキャスト／ユニキャスト変換部３５は、マルチキャストパケットの宛先ＩＰアドレスに要求元ＩＰアドレスを設定することで、マルチキャストパケットをユニキャストパケットに変換する。または、マルチキャスト／ユニキャスト変換部３５は、ユニキャストパケットの宛先ＩＰアドレスに要求元ＩＰアドレスを設定することで、新たなユニキャストパケットを生成する。マルチキャスト／ユニキャスト変換部３５は、ユニキャストパケットを通信部３１に出力する。
【００４５】
これにより、当該対応スイッチ１１がマルチキャストパケットを受信した場合、マルチキャストパケットがマルチキャスト配信を要求した下流側の受信装置２１〜２４へ送信されることなく、ユニキャストパケットに変換されて送信される。そして、図２及び図３を参照して、下流側の非対応スイッチ１２は、対応スイッチ１１からマルチキャストパケットを受信するのではなく、ユニキャストパケットを受信する。つまり、マルチキャストパケットは、非対応スイッチ１２の前段に配置された対応スイッチ１１にてユニキャストパケットに変換される。
【００４６】
したがって、非対応スイッチ１２は、マルチキャストパケットを全ポートに対して転送（ブロードキャスト）する必要がなく、ネットワーク帯域を無駄に消費することがない。
【００４７】
また、当該対応スイッチ１１がマルチキャスト要求パケットを受信した場合、マルチキャスト要求パケットが上流側の送信装置１０へ送信されることなく、ユニキャストパケットが下流側の受信装置２１〜２４へ送信される。したがって、ネットワーク帯域を無駄に消費することがない。
【００４８】
図４に戻って、ユニキャストパケット処理部３６は、通信部３１からユニキャストパケットを入力し、ユニキャストパケットの送信元ＩＰアドレスに設定されたマルチキャストアドレスが要求リスト３３に登録されていない場合、当該マルチキャストアドレスを要求リスト３３に追加する。そして、ユニキャストパケット処理部３６は、ユニキャストパケットをメモリに格納し、通信部３１に出力する。これにより、ユニキャストパケットは、通信部３１からマルチキャスト配信を要求した下流側の受信装置２１〜２４へ転送される。
【００４９】
（マルチキャスト要求パケット及びマルチキャストパケットの処理例）
次に、図４に示した対応スイッチ１１のマルチキャスト要求パケット処理部３２、マルチキャストパケット処理部３４及びマルチキャスト／ユニキャスト変換部３５の処理について説明する。
【００５０】
図５は、実施例１の対応スイッチ１１によるマルチキャスト要求パケット及びマルチキャストパケットの処理例を示すフローチャートであり、図７は、図５及び後述する図６のフローチャートの説明を補充する図である。尚、図５において、送信元アドレスは送信元ＩＰアドレス、宛先アドレスは宛先ＩＰアドレス、要求元アドレスは要求元ＩＰアドレス、接続ポートは接続ポート番号をそれぞれ示し、ＩＰ及び番号の記述は省略してある。後述する図６及び図１１についても同様である。
【００５１】
対応スイッチ１１の通信部３１は、受信装置２１〜２４から送信されるマルチキャスト要求パケットを受信待機する（ステップＳ５０１）。受信装置２１〜２４がマルチキャスト要求パケットを送信し、対応スイッチ１１の通信部３１がマルチキャスト要求パケットを受信する。そうすると、マルチキャスト要求パケット処理部３２は、マルチキャスト要求パケットからマルチキャストアドレスを取り出すと共に、送信元ＩＰアドレスに設定された要求元ＩＰアドレスを取り出す（ステップＳ５０２）。
【００５２】
マルチキャスト要求パケット処理部３２は、要求リスト３３を照合することで、マルチキャスト要求パケットから取り出したマルチキャストアドレスが要求リスト３３に登録されているか否かを判定する（ステップＳ５０３）。
【００５３】
マルチキャスト要求パケット処理部３２は、ステップＳ５０３において、マルチキャストアドレスが要求リスト３３に登録されていないと判定した場合（ステップＳ５０３：マルチキャストアドレスなし）、マルチキャストアドレス、要求元ＩＰアドレス及び接続ポート番号を、要求リスト３３に追加する（ステップＳ５０４）。前述のとおり、接続ポート番号は、通信部３１がマルチキャスト要求パケットを受信した接続ポートの番号である。これにより、要求リスト３３には、新たなマルチキャストアドレス、要求元ＩＰアドレス及び接続ポート番号が登録される。
【００５４】
通信部３１は、受信したマルチキャスト要求パケットを、送信先の送信装置１０へ転送する（ステップＳ５０５）。
【００５５】
図７（１）を参照して、対応スイッチ１１は、前述のステップＳ５０１〜ステップＳ５０５の処理を行う。対応スイッチ１１は、例えば受信装置２１（図２を参照）から、マルチキャスト要求パケットを受信する。そして、対応スイッチ１１は、要求リスト３３に、新たなマルチキャストアドレス、要求元ＩＰアドレス（受信装置２１のＩＰアドレス）及び接続ポート番号（受信装置２１からのマルチキャスト要求パケットを受信した接続ポートの番号）を追加する。対応スイッチ１１は、マルチキャスト要求パケットを転送する。
【００５６】
図５に戻って、通信部３１は、送信装置１０から送信されるマルチキャストパケットを受信待機する（ステップＳ５０６）。送信装置１０がマルチキャストパケットを送信し、対応スイッチ１１の通信部３１がマルチキャストパケットを受信する。そうすると、マルチキャストパケット処理部３４は、マルチキャストパケットの宛先ＩＰアドレスからマルチキャストアドレスを取り出す（ステップＳ５０７）。
【００５７】
マルチキャストパケット処理部３４は、マルチキャストパケットの送信元ＩＰアドレスに、マルチキャストアドレスを設定する（ステップＳ５０８）。これにより、送信元ＩＰアドレスに設定された送信装置１０のＩＰアドレスがマルチキャストアドレスに変更され、下流側の対応スイッチ１１Ｂ，１１Ｃ等（図３において、当該対応スイッチ１１を対応スイッチ１１Ａとした場合）は、送信元ＩＰアドレスに設定されたマルチキャストアドレスに基づいて、受信したパケットが後述するユニキャストパケット（マルチキャストパケットが変換されたユニキャストパケット）であることを判定できる。
【００５８】
マルチキャストパケット処理部３４は、マルチキャストアドレスが送信元ＩＰアドレスに設定されたマルチキャストパケットをメモリに格納する。
【００５９】
マルチキャスト／ユニキャスト変換部３５は、要求リスト３３から、マルチキャストアドレスに対応する１番目に登録されている要求元ＩＰアドレス及び接続ポート番号を読み出す（ステップＳ５０９）。１番目に登録されている要求元ＩＰアドレス及び接続ポート番号は、ステップＳ５０４にて新たにマルチキャストアドレスが登録されたときの各データである。
【００６０】
マルチキャスト／ユニキャスト変換部３５は、マルチキャストパケットの宛先ＩＰアドレスに、要求元ＩＰアドレス（ステップＳ５０９にて読み出した要求元ＩＰアドレス、または後述するステップＳ５１０にて追加する要求元ＩＰアドレス）を設定し、マルチキャストパケットをユニキャストパケットに変換する（ステップＳ５１２）。これにより、宛先ＩＰアドレスに設定されたマルチキャストアドレスが要求元ＩＰアドレスに変更され、ユニキャストパケットが生成される。
【００６１】
通信部３１は、ユニキャストパケットを、接続ポート番号（ステップＳ５０９にて読み出された接続ポート番号、または後述するステップＳ５１０にて追加する接続ポート番号）の接続ポートから送信する（ステップＳ５１３）。
【００６２】
図７（２）を参照して、対応スイッチ１１は、前述のステップＳ５０６〜ステップＳ５０９、ステップＳ５１２及びステップＳ５１３の処理を行う。対応スイッチ１１は、例えば送信装置１０（図２を参照）からマルチキャストパケットを受信し、要求リスト３３からマルチキャストアドレスに対応する受信元ＩＰアドレス及び接続ポート番号を読み出す。そして、対応スイッチ１１は、マルチキャストパケットをユニキャストパケットに変換し、ユニキャストパケットを例えば受信装置２１へ送信する。
【００６３】
図５  に戻って、一方、マルチキャスト要求パケット処理部３２は、ステップＳ５０３において、マルチキャストアドレスが要求リスト３３に登録されていると判定した場合（ステップＳ５０３：マルチキャストアドレスあり）、マルチキャスト要求パケットの要求元ＩＰアドレス及び接続ポート番号を、既に登録されている当該マルチキャストアドレスに対応させて、要求リスト３３に追加する（ステップＳ５１０）。これにより、要求リスト３３には、既に登録されているマルチキャストアドレスに対応して、要求元ＩＰアドレス及び接続ポート番号が登録される。
【００６４】
マルチキャスト要求パケット処理部３２は、マルチキャスト要求パケットに格納されたマルチキャストアドレスに対応する、既に受信済みのマルチキャストパケット（ステップＳ５０８にてマルチキャストアドレスが送信元ＩＰアドレスに設定されたときの、メモリに格納されたマルチキャストパケット）をコピーする（ステップＳ５１１）。または、マルチキャスト要求パケット処理部３２は、マルチキャスト要求パケットに格納されたマルチキャストアドレスに対応する、既に受信済みのユニキャストパケット（後述する図６の処理にてメモリに格納されたユニキャストパケット）をコピーする。
【００６５】
マルチキャスト／ユニキャスト変換部３５は、ステップＳ５１２にて、ステップＳ５１１にてコピーされたマルチキャストパケット（またはユニキャストパケット）の宛先ＩＰアドレスに、要求元ＩＰアドレス（ステップＳ５１０にて追加した要求元ＩＰアドレス）を設定し、マルチキャストパケットをユニキャストパケットに変換する（新たなユニキャストパケットを生成する）。そして、通信部３１は、ステップＳ５１３にて、ユニキャストパケットを、接続ポート番号（ステップＳ５１０にて追加した接続ポート番号）の接続ポートから送信する。
【００６６】
図７（３）を参照して、対応スイッチ１１は、前述のステップＳ５０１〜ステップＳ５０３及びステップＳ５１０〜ステップＳ５１３の処理を行う。対応スイッチ１１は、例えば受信装置２２（図２を参照）からマルチキャスト要求パケットを受信し、要求リスト３３に、既に登録されているマルチキャストアドレスに対応して、要求元ＩＰアドレス（受信装置２２のＩＰアドレス）及び接続ポート番号（受信装置２２からのマルチキャスト要求パケットを受信した接続ポートの番号）を追加する。
【００６７】
対応スイッチ１１は、マルチキャスト要求パケットに格納されたマルチキャストアドレスに対応する、既に受信済みのマルチキャストパケットをコピーする。対応スイッチ１１は、マルチキャストパケットをユニキャストパケットに変換し、ユニキャストパケットを受信装置２２へ送信する。尚、ユニキャストパケットをコピーする例については後述する。
【００６８】
次に、図２を参照して、図５に示した処理例について説明する。まず、受信装置２１からマルチキャスト配信の要求があったとする。受信装置２１は、マルチキャスト要求パケットを送信装置１０へ送信する（ステップＳ２０１）。対応スイッチ１１は、マルチキャスト要求パケットを受信し、マルチキャストアドレス等を要求リスト３３に追加し、マルチキャスト要求パケットを送信装置１０へ転送する（ステップＳ２０２）。
【００６９】
送信装置１０は、マルチキャストパケットを送信する（ステップＳ２０３）。対応スイッチ１１は、マルチキャストパケットを受信し、要求リスト３３を参照して、マルチキャストパケットをユニキャストパケットに変換し、ユニキャストパケットを受信装置２１へ送信する（ステップＳ２０４）。
【００７０】
次に、受信装置２２から前述と同じマルチキャスト配信の要求があったとする。受信装置２２は、マルチキャスト要求パケットを送信装置１０へ送信する（ステップＳ２０５）。非対応スイッチ１２は、マルチキャスト要求パケットを受信し、マルチキャスト要求パケットを転送する（ステップＳ２０６）。
【００７１】
対応スイッチ１１は、マルチキャスト要求パケットを受信し、要求リスト３３に同じマルチキャストアドレスが登録されていると判定し、当該マルチキャストアドレスに対応して受信元ＩＰアドレス等を追加する。そして、対応スイッチ１１は、マルチキャスト要求パケットに対応するマルチキャストパケットが既に受信済みであると判定し、既に受信済みのマルチキャストパケットをコピーし、コピーしたマルチキャストパケットをユニキャストパケットに変換し、ユニキャストパケットを受信装置２２へ送信する（ステップＳ２０７）。
【００７２】
非対応スイッチ１２は、ユニキャストパケットを受信し、ユニキャストパケットを受信装置２２へ転送する（ステップＳ２０８）。
【００７３】
次に、受信装置２３から前述と同じマルチキャスト配信の要求があったとする。受信装置２３、非対応スイッチ１２及び対応スイッチ１１の処理は、受信装置２２の場合と同様である（ステップＳ２０９〜ステップＳ２１２）。
【００７４】
ここで、対応スイッチ１１から非対応スイッチ１２へ送信されるユニキャストパケットは、宛先ＩＰアドレスに受信装置２２のＩＰアドレスが設定された受信装置２２宛てのパケット、及び宛先ＩＰアドレスに受信装置２３のＩＰアドレスが設定された受信装置２３宛てのパケットであり、２つのユニキャストパケットが対応スイッチ１１から非対応スイッチ１２へ送信される。
【００７５】
これらのユニキャストパケットの宛先ＩＰアドレスには、受信装置２２または受信装置２３のＩＰアドレスが設定されており、マルチキャストアドレスが設定されていない。したがって、非対応スイッチ１２は、具体的な転送先を特定することができ、ブロードキャストは発生することがない。
【００７６】
（ユニキャストパケットの処理例）
次に、図４に示した対応スイッチ１１のユニキャストパケット処理部３６の処理について説明する。図６は、実施例１の対応スイッチ１１によるユニキャストパケットの処理例を示すフローチャートである。
【００７７】
対応スイッチ１１の通信部３１は、上流側の対応スイッチから送信されるユニキャストパケット（送信元ＩＰアドレスにマルチキャストアドレスが設定されたユニキャストパケット）を受信待機する（ステップＳ６０１）。通信部３１は、受信したパケットの送信元ＩＰアドレスにマルチキャストアドレスが設定されているか否かを判定する。通信部３１は、送信元ＩＰアドレスにマルチキャストアドレスが設定されていることを判定した場合、受信したパケットがユニキャストパケットであると判断する。
【００７８】
上流側の対応スイッチがユニキャストパケットを送信し、対応スイッチ１１の通信部３１がユニキャストパケットを受信する。そうすると、ユニキャストパケット処理部３６は、ユニキャストパケットの送信元ＩＰアドレスに設定されたマルチキャストアドレスを取り出す（ステップＳ６０２）。このとき、ユニキャストパケット処理部３６は、ユニキャストパケットをメモリに格納する。
【００７９】
ユニキャストパケット処理部３６は、要求リスト３３を照合することで、ユニキャストパケットから取り出したマルチキャストアドレスが要求リスト３３に登録されているか否かを判定する（ステップＳ６０３）。
【００８０】
ユニキャストパケット処理部３６は、ステップＳ６０３において、マルチキャストアドレスが要求リスト３３に登録されていないと判定した場合（ステップＳ６０３：マルチキャストアドレスなし）、マルチキャストアドレスを要求リスト３３に追加する（ステップＳ６０４）。これにより、要求リスト３３には、新たなマルチキャストアドレスが登録される。
【００８１】
一方、ユニキャストパケット処理部３６は、ステップＳ６０３において、マルチキャストアドレスが要求リスト３３に登録されていると判定した場合（ステップＳ６０３：マルチキャストアドレスあり）、ステップＳ６０５へ移行する。
【００８２】
通信部３１は、ステップＳ６０４またはステップＳ６０３（マルチキャストアドレスあり）から移行して、受信したユニキャストパケットを転送する（ステップＳ６０５）。
【００８３】
図７（４）を参照して、対応スイッチ１１は、前述のステップＳ６０１〜ステップＳ６０５の処理を行う。対応スイッチ１１は、上流側の対応スイッチからユニキャストパケットを受信し、ユニキャストパケットの送信元ＩＰアドレスに設定されたマルチキャストアドレスが要求リスト３３に登録されていない場合、当該マルチキャストアドレスを追加し、ユニキャストパケットを転送する。
【００８４】
このように、ユニキャストパケット処理部３６は、上流側から受信したユニキャストパケットの送信元ＩＰアドレスに設定されたマルチキャストアドレスが要求リスト３３に登録されていない場合、当該マルチキャストアドレスを要求リスト３３に登録する。
【００８５】
その後、受信装置２１〜２４から同じマルチキャスト配信の要求があり、対応スイッチ１１がマルチキャスト要求パケットを受信すると、図５に示したステップＳ５０１〜ステップＳ５０３及びステップＳ５１０〜ステップＳ５１３の処理を行う。
【００８６】
具体的には、通信部３１が、ステップＳ５０１にてマルチキャスト要求パケットを受信すると、マルチキャスト要求パケット処理部３２は、ステップＳ５０２において、マルチキャスト要求パケットからマルチキャストアドレス及び要求元ＩＰアドレスを取り出す。マルチキャスト要求パケット処理部３２は、ステップＳ５０３及びステップＳ５１０において、マルチキャストアドレスに対応して、要求元ＩＰアドレス及び接続ポート番号を要求リスト３３に追加する。
【００８７】
マルチキャスト要求パケット処理部３２は、ステップＳ５１１において、既に受信済みのユニキャストパケット（ステップＳ６０２にて、ユニキャストパケット処理部３６がユニキャストパケットからマルチキャストアドレスを取り出す際にメモリに格納したユニキャストパケット）をコピーする。
【００８８】
マルチキャスト／ユニキャスト変換部３５は、ステップＳ５１２において、ユニキャストパケットの宛先ＩＰアドレスに、要求元ＩＰアドレス（ステップＳ５１０にて追加した要求元ＩＰアドレス）を設定する。通信部３１は、ステップＳ５１３において、ユニキャストパケットを、接続ポート番号（ステップＳ５１０にて追加した接続ポート番号）の接続ポートから送信する。
【００８９】
次に、図３を参照して、図６に示した処理例について説明する。まず、図示しない受信装置からのマルチキャスト要求パケットに対するマルチキャストパケットを受信した対応スイッチ１１Ａは、マルチキャストパケットをユニキャストパケットに変換する。そして、対応スイッチ１１Ａは、ユニキャストパケット（ＵＰ）を、非対応スイッチ１２を介して対応スイッチ１１Ｂへ送信する（ステップＳ３０１，ステップＳ３０２）。
【００９０】
対応スイッチ１１Ｂは、ユニキャストパケットを受信し、ユニキャストパケットの送信元ＩＰアドレスに設定されたマルチキャストアドレスを要求リスト３３に登録し、ユニキャストパケットを対応スイッチ１１Ｃへ転送する（ステップＳ３０３）。さらに、対応スイッチ１１Ｃは、対応スイッチ１１Ｂから受信したユニキャストパケットを、図示しない受信装置へ転送する（ステップＳ３０４）。
【００９１】
対応スイッチ１１Ｂの要求リスト３３には、ユニキャストパケットの送信元ＩＰアドレスに設定されたマルチキャストアドレスが追加され、メモリには、ユニキャストパケットが格納される。そして、受信装置２４から同じマルチキャストアドレスが格納されたマルチキャスト配信の要求があったとする。
【００９２】
受信装置２４は、マルチキャスト要求パケットを送信し、対応スイッチ１１Ｂは、マルチキャスト要求パケットを受信する（ステップＳ３０５）。対応スイッチ１１Ｂは、要求リスト３３に同じマルチキャストアドレスが登録されていると判定し、当該マルチキャストアドレスに対応して受信元ＩＰアドレス等を追加する。そして、対応スイッチ１１Ｂは、マルチキャスト要求パケットに対するユニキャストパケット（マルチキャスト要求パケットと同一のマルチキャストアドレスが格納されたユニキャストパケット）をメモリから読み出す。対応スイッチ１１Ｂは、ユニキャストパケットをコピーし、ユニキャストパケットを受信装置２４へ送信する（ステップＳ３０６）。
【００９３】
このように、対応スイッチ１１Ｂは、既にユニキャストパケットを受信済みであるから、受信装置２４から受信したマルチキャスト要求パケットを上流側へ転送して、上流側からマルチキャスト要求パケットに対するマルチキャストパケットまたはユニキャストパケットを受信待機する必要がなく、マルチキャスト要求パケットに対するユニキャストパケットを受信装置２４へ送信することができる。したがって、上流側へ送信するマルチキャスト要求パケット、及び上流側から受信するマルチキャストパケットまたはユニキャストパケットが不要となるから、ネットワーク帯域の無駄な消費を抑制することが可能となる。
【００９４】
以上のように、図４に示した実施例１の対応スイッチ１１によれば、マルチキャスト要求パケット処理部３２は、受信したマルチキャスト要求パケットに格納されたマルチキャストアドレス及び要求元ＩＰアドレスに基づいて、マルチキャストアドレス、要求元ＩＰアドレス及び接続ポート番号を要求リスト３３に追加する。
【００９５】
マルチキャストパケット処理部３４は、送信装置１０から受信したマルチキャストパケットのマルチキャストアドレスを取り出し、これを送信元ＩＰアドレスに設定する。そして、マルチキャスト／ユニキャスト変換部３５は、マルチキャストパケットをユニキャストパケットに変換し、通信部３１はユニキャストパケットを受信装置２１〜２４へ送信する。
【００９６】
その後、対応スイッチ１１が同じマルチキャストアドレスを含むマルチキャスト要求パケットを受信した場合、マルチキャスト要求パケット処理部３２は、受信したマルチキャスト要求パケットのマルチキャストアドレスが要求リスト３３に既に格納されていると判定し、既に受信済みのマルチキャストパケット（マルチキャストアドレスが送信元ＩＰアドレスに設定されたマルチキャストパケット）をコピーする。そして、マルチキャスト／ユニキャスト変換部３５は、マルチキャストパケットをユニキャストパケットに変換し、通信部３１は、ユニキャストパケットを受信装置２１〜２４へ送信する。
【００９７】
これにより、マルチキャスト要求パケットは、上流側の送信装置１０へ転送されることなく、ユニキャストパケットがマルチキャスト配信を要求した下流側の受信装置２１〜２４へ送信される。したがって、ネットワーク帯域の無駄な消費を抑制することが可能となる。
【００９８】
通信部３１は、受信したパケットの送信元ＩＰアドレスにマルチキャストアドレスが設定されていることを判定した場合、受信したパケットがユニキャストパケットであると判断する。ユニキャストパケット処理部３６は、受信したユニキャストパケットの送信元ＩＰアドレスに設定されたマルチキャストアドレスに基づいて、マルチキャストアドレスを要求リスト３３に追加する。
【００９９】
その後、対応スイッチ１１が同じマルチキャストアドレスを含むマルチキャスト要求パケットを受信した場合、当該マルチキャストアドレスは、要求リスト３３に既に格納されている。マルチキャスト要求パケット処理部３２は、既に受信済みのユニキャストパケットをコピーする。マルチキャスト／ユニキャスト変換部３５は、マルチキャスト要求パケットの要求元ＩＰアドレスを送信先ＩＰアドレスに設定し、新たなユニキャストパケットを生成し、通信部３１は、ユニキャストパケットを受信装置２１〜２４へ送信する。
【０１００】
これにより、マルチキャスト要求パケットは、送信装置１０へ転送されることなく、ユニキャストパケットが受信装置２１〜２４へ送信される。したがって、ネットワーク帯域の無駄な消費を抑制することが可能となる。
【０１０１】
このように、図３を参照して、上流側の対応スイッチ１１Ａが、マルチキャストパケットの送信元ＩＰにマルチキャストアドレスを設定し、ユニキャストパケットを生成して送信することで、下流側の対応スイッチ１１Ｂは、受信したパケットの送信元ＩＰに基づいて、当該パケットがユニキャストパケット（マルチキャストパケットが変換されたユニキャストパケット）であると判定することができる。
【０１０２】
また、対応スイッチ１１Ｂは、その後のマルチキャスト要求パケットの受信に備えて、ユニキャストパケットをメモリに格納しておき、マルチキャスト要求パケットを受信した際に、マルチキャスト要求パケットを上流側へ転送することなく、メモリに格納したユニキャストパケットを利用して、受信装置２１〜２４へユニキャストパケットを送信することができる。
【０１０３】
特に、送信装置１０から受信装置２４までの経路の間に複数の対応スイッチ１１Ａ，１１Ｂ等が配置されているネットワークにおいては、受信装置２４の最も近くに配置された対応スイッチ１１Ｂが、受信装置２４からマルチキャスト要求パケットを最初に受信する。そして、この対応スイッチ１１Ｂは、当該マルチキャスト要求パケットを上流側へ転送することなく、ユニキャストパケットをコピーして受信装置２４へ送信することができる。
【０１０４】
したがって、複数のマルチキャスト対応データ配信装置（対応スイッチ１１）及び複数のマルチキャスト非対応データ配信装置（非対応スイッチ１２）が不規則に配置されたネットワークにおいて、マルチキャスト配信を要求している受信装置２１〜２４への経路に対してのみユニキャストパケットを転送することができ、ネットワーク帯域の無駄な消費を抑制することが可能となる。
【０１０５】
〔実施例２〕
次に、実施例２について説明する。実施例２の対応スイッチは、マルチキャスト配信を要求する受信装置とマルチキャスト配信を行う送信装置との間に複数の経路が存在する場合に、ユニキャストパケットの数をカウントし、カウント値に基づいて、空いている接続ポートを選択し、ユニキャストパケットを、選択した接続ポートから転送することを特徴とする。
【０１０６】
図１０は、実施例２の対応スイッチの構成例を示すブロック図である。この対応スイッチ１１は、通信部３１、マルチキャスト要求パケット処理部３２、要求リスト３３、マルチキャストパケット処理部３４、マルチキャスト／ユニキャスト変換部３５、ユニキャストパケット処理部３６、接続ポート選択部３７及びカウンタリスト３８を備えている。
【０１０７】
図４に示した実施例１の対応スイッチ１１と図１０に示す実施例２の対応スイッチ１１とを比較すると、両対応スイッチ１１は、通信部３１、マルチキャスト要求パケット処理部３２、要求リスト３３、マルチキャストパケット処理部３４、マルチキャスト／ユニキャスト変換部３５及びユニキャストパケット処理部３６を備えている点で共通する。これに対し、実施例２の対応スイッチ１１は、実施例１の構成に加え、さらに接続ポート選択部３７及びカウンタリスト３８を備えている点で相違する。尚、図１０において、図４と共通する部分には図４と同一の符号を付し、その詳しい説明は省略する。
【０１０８】
通信部３１は、上流側からユニキャストパケットを受信し、ユニキャストパケットをユニキャストパケット処理部３６に出力すると共に、接続ポート選択部３７に出力する。そして、通信部３１は、ユニキャストパケットを、接続ポート選択部３７により選択された接続ポート番号の接続ポートから転送する。
【０１０９】
接続ポート選択部３７は、通信部３１からユニキャストパケットを入力し、ユニキャストパケットを転送する予定の接続ポートについてカウンタ現在値（当該対応スイッチ１１が当該接続ポートから転送したユニキャストパケットの数）をカウンタリスト３８から読み出す。そして、接続ポート選択部３７は、カウンタ現在値をインクリメントし、インクリメント結果が所定の設定値を超えていない場合、転送予定の接続ポート番号を選択する。
一方、接続ポート選択部３７は、インクリメント結果が所定の設定値を超えている場合、空いている接続ポート番号を検索し、検索した接続ポート番号を選択する。接続ポート選択部３７は、選択した接続ポート番号のカウンタ現在値をカウンタリスト３８から読み出してインクリメントし、これを格納する。そして、通信部３１は、ユニキャストパケットを、接続ポート選択部３７により選択された接続ポート番号の接続ポートから転送する。
【０１１０】
図１２は、カウンタリスト３８の構成例を示す図である。カウンタリスト３８には、接続ポート番号毎に、当該接続ポート番号の接続ポートから転送したユニキャストパケットの数（カウンタ現在値）、及びその上限を定める設定値（カウンタ設定値）が格納されている。具体的には、カウンタリスト３８は、接続ポート番号、マルチキャストアドレス、要求元ＩＰアドレス、カウンタ設定値及びカウンタ現在値により構成される。カウンタ設定値は、接続ポート番号毎に予め設定された値が用いられ、例えば、接続ポートに接続されている経路の帯域に基づいて、同時に送信可能なユニキャストパケットの数が設定される。
【０１１１】
図１２の例では、接続ポート番号としてＰ１，Ｐ２，・・・が格納されている。接続ポート番号＝Ｐ１に対し、マルチキャストアドレス＝ＭＡ１及び要求元ＩＰアドレス＝ＲＱ１、マルチキャストアドレス＝ＭＡ１及び要求元ＩＰアドレス＝ＲＱ２、・・・、並びにカウンタ設定値＝Ｃ１及びカウンタ現在値＝Ｃ２が格納されている。また、接続ポート番号＝Ｐ２に対し、マルチキャストアドレス＝ＭＡ１及び要求元ＩＰアドレス＝ＲＱ１、マルチキャストアドレス＝ＭＡ１及び要求元ＩＰアドレス＝ＲＱ２、・・・、並びにカウンタ設定値＝Ｃ３及びカウンタ現在値＝Ｃ４が格納されている。
【０１１２】
図１２に示すカウンタリスト３８は、接続ポート番号＝Ｐ１の接続ポートから転送されたユニキャストパケットの数（カウンタ現在値）がＣ２であり、そのカウンタ設定値がＣ１であることを示している。また、このカウンタリスト３８は、接続ポート番号＝Ｐ２の接続ポートから転送されたユニキャストパケットの数（カウンタ現在値）がＣ４であり、そのカウンタ設定値がＣ３であることを示している。
【０１１３】
（接続ポート選択処理例）
次に、図１０に示した対応スイッチ１１の接続ポート選択部３７の処理について説明する。図１１は、実施例２の対応スイッチ１１による接続ポート選択処理例を示すフローチャートである。
【０１１４】
対応スイッチ１１の通信部３１は、上流側の対応スイッチから送信されるユニキャストパケットを受信待機する（ステップＳ１１０１）。
【０１１５】
上流側の対応スイッチがユニキャストパケットを送信し、対応スイッチ１１の通信部３１がユニキャストパケットを受信する。そうすると、接続ポート選択部３７は、ユニキャストパケットの送信元ＩＰアドレスに設定されたマルチキャストアドレスを取り出すと共に、宛先ＩＰアドレスに設定された要求元ＩＰアドレスを取り出す（ステップＳ１１０２）。
【０１１６】
接続ポート選択部３７は、カウンタリスト３８を照合することで、ユニキャストパケットから取り出したマルチキャストアドレスがカウンタリスト３８に登録されているか否かを判定する（ステップＳ１１０３）。
【０１１７】
接続ポート選択部３７は、ステップＳ１１０３において、マルチキャストアドレスがカウンタリスト３８に登録されていないと判定した場合（ステップＳ１１０３：マルチキャストアドレスなし）、全ての接続ポート番号に対応して、マルチキャストアドレス及び要求元ＩＰアドレスをカウンタリスト３８に追加する（ステップＳ１１０４）。これにより、カウンタリスト３８には、全ての接続ポート番号について、新たなマルチキャストアドレス及び要求元ＩＰアドレスが登録される。
【０１１８】
接続ポート選択部３７は、ステップＳ１１０４から移行して、カウンタリスト３８から、使用予定の接続ポートの接続ポート番号に対応するカウンタ現在値を読み出し、カウンタ現在値をインクリメントする（ステップＳ１１０７）。
【０１１９】
ここで、使用予定の接続ポートの接続ポート番号として、予め設定されたデフォルトルートの接続ポート番号が用いられる。その後、後述するステップＳ１１１０の判定により新たな接続ポートが選択された場合には、選択された最新の接続ポートの接続ポート番号が用いられる。
【０１２０】
一方、接続ポート選択部３７は、ステップＳ１１０３において、マルチキャストアドレスがカウンタリスト３８に登録されていると判定した場合（ステップＳ１１０３：マルチキャストアドレスあり）、マルチキャストアドレスに対応する要求元ＩＰアドレスがカウンタリスト３８に登録されているか否かを判定する（ステップＳ１１０５）。
【０１２１】
接続ポート選択部３７は、ステップＳ１１０５において、マルチキャストアドレスに対応する要求元ＩＰアドレスがカウンタリスト３８に登録されていないと判定した場合（ステップＳ１１０５：なし）、マルチキャストアドレスに対応して要求元ＩＰアドレスをカウンタリスト３８に追加する（ステップＳ１１０６）。これにより、カウンタリスト３８には、全ての接続ポート番号について、マルチキャストアドレスに対応して新たな要求元ＩＰアドレスが登録される。
【０１２２】
一方、接続ポート選択部３７は、ステップＳ１１０５において、マルチキャストアドレスに対応する要求元ＩＰアドレスがカウンタリスト３８に登録されていると判定した場合（ステップＳ１１０５：あり）、ステップＳ１１０７へ移行する。
【０１２３】
接続ポート選択部３７は、ステップＳ１１０６またはステップＳ１１０５（あり）から移行して、ステップＳ１１０７において、カウンタリスト３８から、使用予定の接続ポートの接続ポート番号に対応するカウンタ現在値を読み出し、カウンタ現在値をインクリメントする。
【０１２４】
接続ポート選択部３７は、ステップＳ１１０７から移行して、カウンタリスト３８から、使用予定の接続ポートの接続ポート番号に対応するカウンタ設定値を読み出す。そして、接続ポート選択部３７は、インクリメント結果がカウンタ設定値を超えているか否かを判定する（ステップＳ１１０８）。
【０１２５】
接続ポート選択部３７は、ステップＳ１１０８において、インクリメント結果がカウンタ設定値を超えていないと判定した場合（ステップＳ１１０８：Ｎ）、使用予定の接続ポートの接続ポート番号を実際に使用する接続ポート番号として選択する。通信部３１は、ユニキャストパケットを、接続ポート選択部３７により選択された接続ポート番号の接続ポートから転送し、接続ポート選択部３７は、選択した接続ポート番号に対応するカウンタ現在値をカウンタリスト３８から読み出してインクリメントし、インクリメント結果のカウンタ現在値をカウンタリスト３８に格納する（ステップＳ１１０９）。
【０１２６】
一方、接続ポート選択部３７は、ステップＳ１１０８において、インクリメント結果がカウンタ設定値を超えていると判定した場合（ステップＳ１１０８：Ｙ）、他の接続ポートが空いているか否かを判定する（ステップＳ１１１０）。具体的には、接続ポート選択部３７は、カウンタリスト３８から、使用予定の接続ポートの接続ポート番号以外の接続ポート番号についてのカウンタ設定値及びカウンタ現在値を読み出す。そして、接続ポート選択部３７は、カウンタ現在値がカウンタ設定値を超えていない接続ポート番号が存在するか否かを判定する。
【０１２７】
接続ポート選択部３７は、ステップＳ１１１０において、他の接続ポートが空いていないと判定した場合（ステップＳ１１１０：なし）、すなわちカウンタ現在値がカウンタ設定値を超えていない接続ポート番号が存在しないと判定した場合（他の全ての接続ポートについて、カウンタ現在値がカウンタ設定値を超えていると判定した場合）、選択する接続ポートがないと判断する。
【０１２８】
この場合、ユニキャストパケットを転送する経路が存在しないから、通信部３１はユニキャストパケットを転送しない（ステップＳ１１１１）。これにより、パケット転送は、当該対応スイッチ１１にて終了することとなる。
【０１２９】
一方、接続ポート選択部３７は、ステップＳ１１１０において、他の接続ポートが空いていると判定した場合（ステップＳ１１１０：あり）、すなわちカウンタ現在値がカウンタ設定値を超えていない接続ポート番号が存在すると判定した場合、予め設定された優先順位（接続ポート番号毎の優先順位）に従い、１つの接続ポート番号を選択する。通信部３１は、ユニキャストパケットを、接続ポート選択部３７により選択された接続ポート番号の接続ポートから転送し、接続ポート選択部３７は、選択した接続ポート番号に対応するカウンタ現在値をカウンタリスト３８から読み出してインクリメントし、インクリメント結果のカウンタ現在値をカウンタリスト３８に格納する（ステップＳ１１１２）。
【０１３０】
尚、接続ポート選択部３７は、当該対応スイッチ１１が転送するユニキャストパケットの数であるカウンタ現在値をカウントする代わりに、ユニキャストパケットのビットレートをカウントするようにしてもよい。
【０１３１】
図１３は、実施例２を説明するネットワークの構成例である。以下、図１３を参照して、図１１に示した処理例について説明する。図１３に示すネットワークは、対応スイッチ１３〜１６及び受信装置４１〜４５を備えて構成される。
【０１３２】
対応スイッチ１３から対応スイッチ１４への経路Ａが設定され、対応スイッチ１３における経路Ａの接続ポートのカウンタ設定値を３とする。対応スイッチ１３から対応スイッチ１５への経路Ｂが設定され、対応スイッチ１３における経路Ｂの接続ポートのカウンタ設定値を３とする。
【０１３３】
対応スイッチ１４から対応スイッチ１６への経路Ｃが設定され、対応スイッチ１４における経路Ｃの接続ポートのカウンタ設定値を１とする。また、対応スイッチ１５から対応スイッチ１６への経路Ｄが設定され、対応スイッチ１５における経路Ｄの接続ポートのカウンタ設定値を１とする。対応スイッチ１５から対応スイッチ１４への経路Ｅが設定され、対応スイッチ１５における経路Ｅのカウンタ設定値を１とする。
【０１３４】
まず、受信装置４１がマルチキャスト要求パケットを送信装置５１へ送信し、対応スイッチ１３が実施例１に従い、ユニキャストパケットをデフォルトルートである経路Ａの接続ポートから対応スイッチ１４へ転送し、対応スイッチ１４が、ユニキャストパケットを経路Ｃの接続ポートから対応スイッチ１６へ転送し、対応スイッチ１６が、ユニキャストパケットを受信装置４１へ転送しているものする。この場合、対応スイッチ１３において、経路Ａの接続ポートのカウンタ現在値は１であり、カウンタ設定値３よりも小さく、対応スイッチ１４において、経路Ｃの接続ポートのカウンタ現在値は１であり、カウンタ設定値１と同じである。
【０１３５】
また、受信装置４２，４３がそれぞれマルチキャスト要求パケットを送信装置５２，５３へ送信し、対応スイッチ１３が、ユニキャストパケットを経路Ａの接続ポートから対応スイッチ１４へ転送し、対応スイッチ１４が、ユニキャストパケットを受信装置４２，４３へ転送しているものとする。この場合、対応スイッチ１３において、経路Ａの接続ポートのカウンタ現在値は３であり、カウンタ設定値３と同じである。
【０１３６】
ここで、受信装置４４がマルチキャスト要求パケットを送信装置５４へ送信したとする。そうすると、対応スイッチ１３は、マルチキャスト要求パケットに対するユニキャストパケットについて、経路Ａの接続ポートのカウンタ現在値をインクリメントした結果が４となるから、カウンタ現在値４がカウンタ設定値３を超えていることを判定する。そして、対応スイッチ１３は、空きの接続ポートとして経路Ｂの接続ポートを選択し、ユニキャストパケットを経路Ｂの接続ポートから対応スイッチ１５へ送信する。この場合、対応スイッチ１３において、経路Ｂの接続ポートのカウンタ現在値は１であり、カウンタ設定値３よりも小さい。
【０１３７】
対応スイッチ１５は、対応スイッチ１３からユニキャストパケットを受信し、ユニキャストパケットを、デフォルトルートである経路Ｄの接続ポートから対応スイッチ１６へ転送する。そして、対応スイッチ１６は、ユニキャストパケットを受信装置４１へ転送する。この場合、対応スイッチ１５において、経路Ｄの接続ポートのカウンタ現在値は１であり、カウンタ設定値１と同じである。
【０１３８】
そして、受信装置４５がマルチキャスト要求パケットを送信装置５５へ送信したとする。そうすると、対応スイッチ１３は、マルチキャスト要求パケットに対するユニキャストパケットについて、経路Ｂの接続ポートを選択し、ユニキャストパケットを経路Ｂの接続ポートから対応スイッチ１５へ送信する。この場合、対応スイッチ１３において、経路Ｂの接続ポートのカウンタ現在値は２であり、カウンタ設定値３よりも小さい。
【０１３９】
対応スイッチ１５は、対応スイッチ１３からユニキャストパケットを受信し、経路Ｄの接続ポートのカウンタ現在値をインクリメントした結果が２となるから、カウンタ現在値２がカウンタ設定値１を超えていることを判定する。そして、対応スイッチ１５は、空きの接続ポートとして経路Ｅの接続ポートを選択し、ユニキャストパケットを経路Ｅの接続ポートから対応スイッチ１４へ送信する。この場合、対応スイッチ１５において、経路Ｅの接続ポートのカウンタ現在値は１であり、カウンタ設定値１と同じである。
【０１４０】
対応スイッチ１４は、対応スイッチ１５からユニキャストパケットを受信し、経路Ｃの接続ポートのカウンタ現在値をインクリメントした結果が２となるから、カウンタ現在値２がカウンタ設定値１を超えていることを判定する。そして、対応スイッチ１４は、空きの接続ポートがないことを判定し、ユニキャストパケットの転送を終了する。ユニキャストパケットは、ユニキャスト配信を要求した受信装置４５へ届かないこととなる。
【０１４１】
尚、対応スイッチ１４は、空きの接続ポートがないことを判定した場合、送信停止要求を送信装置５５へ送信し、送信不可の情報を受信装置４５へ送信するようにしてもよい。
【０１４２】
以上のように、図１０に示した実施例２の対応スイッチ１１によれば、接続ポート選択部３７は、ユニキャストパケットを転送する接続ポートについて、ユニキャストパケットの数をカウンタ現在値としてカウントし、カウンタ現在値及びカウンタ設定値に基づいて、空いている接続ポートを、実際にユニキャストパケットを転送する接続ポートとして選択する。
【０１４３】
これにより、ユニキャストパケットを転送しようとする経路が混雑している場合には、他の経路の接続ポートを選択することができ、本来であれば輻輳により途切れていたマルチキャスト配信を継続させることができる。したがって、混雑していない経路へユニキャストパケットを転送するようにしたから、実施例１の効果に加え、ネットワーク帯域を有効に活用することができ、円滑かつ安定したマルチキャスト配信を実現することができる。
【０１４４】
〔実施例２の変形例〕
次に、実施例２の変形例について説明する。実施例２の変形例は、実施例２において、マルチキャスト配信の経路に上流及び下流の概念がない場合に、送信済みのユニキャストパケットがループして戻ってきたことを検知し、ユニキャストパケットの転送を停止する例である。
【０１４５】
実施例２の変形例の対応スイッチ１１は、図１０に示した構成に加え、さらにループ検知部を備えている。通信部３１は、受信したユニキャストパケットを、ユニキャストパケット処理部３６及び接続ポート選択部３７に出力すると共に、ループ検知部に出力する。
【０１４６】
ループ検知部は、通信部３１からユニキャストパケットを入力し、入力したユニキャストパケットが通信部３１にて既に送信（転送）済みのユニキャストパケットであるか否かを判定する。具体的には、ループ検知部は、通信部３１により送信されたユニキャストパケットをメモリに格納しておき、通信部３１から入力したユニキャストパケットがメモリに格納されたユニキャストパケットと同じであるか否かを判定する。
【０１４７】
ループ検知部は、通信部３１から入力したユニキャストパケットが既に送信済みのユニキャストパケットであると判定した場合、ある接続ポートから送信されたユニキャストパケットがループして他の接続ポートに戻ってきたことを検知する。そして、通信部３１は、ループ検知部によりユニキャストパケットのループが検知された場合、ユニキャストパケットの転送を終了する。一方、通信部３１は、ループ検知部によりユニキャストパケットのループが検知されない場合、ユニキャストパケットを転送する。
【０１４８】
図１３に示したネットワークにおいて、マルチキャスト配信の経路に上流及び下流の概念がなく、例えば対応スイッチ１４から対応スイッチ１３への経路Ｆ（図示せず）が設定される場合を想定する。
【０１４９】
対応スイッチ１４は、対応スイッチ１５から、受信装置４５から送信装置５５へのマルチキャスト配信要求に対するユニキャストパケットを受信し、空きの接続ポートとして経路Ｆの接続ポートを選択し、ユニキャストパケットを経路Ｆの接続ポートから対応スイッチ１３へ送信する。
【０１５０】
対応スイッチ１３は、対応スイッチ１４からユニキャストパケットを受信し、当該ユニキャストパケットが既に送信済みのユニキャストパケットであると判定し、経路Ｂの接続ポートから送信済みのユニキャストパケットがループして経路Ｆの接続ポートに戻ってきたことを検知する。そして、対応スイッチ１３は、ユニキャストパケットの転送を終了する。ユニキャストパケットは、ユニキャスト配信を要求した受信装置４５へ届かないこととなる。
【０１５１】
尚、対応スイッチ１３は、ユニキャストパケットのループを検知した場合、送信停止要求を送信装置５５へ送信し、送信不可の情報を受信装置４５へ送信するようにしてもよい。
【０１５２】
以上のように、実施例２の変形例によれば、実施例２の効果に加え、ユニキャストパケットのループ状態を解消することができ、ネットワーク帯域の無駄な消費を一層抑制することが可能となる。
【０１５３】
以上、実施例１，２及び実施例２の変形例を挙げて本発明を説明したが、本発明は前記実施例１，２等に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば前記実施例１，２等では、対応スイッチ１１のマルチキャストパケット処理部３４は、送信装置１０から送信されたマルチキャストパケットについて、宛先ＩＰアドレスに設定されたマルチキャストアドレスを取り出し、これを送信元ＩＰアドレスに設定するようにした。これに対し、送信装置１０が、マルチキャストパケットを送信する前にこの処理を行い、マルチキャストアドレスが送信元ＩＰアドレスに設定されたマルチキャストパケットを送信するようにしてもよい。
【０１５４】
また、前記実施例１，２等の対応スイッチ１１は、前述のとおり、図１に示したデータ配信装置１に相当する。したがって、対応スイッチ１１の処理は、データ配信装置１を構成するスイッチ２及びコントローラ３により実現される。
【０１５５】
例えば、データ配信装置１のスイッチ２は、マルチキャスト要求パケット、マルチキャストパケット及びユニキャストパケットの送受信処理を行い、コントローラ３は、要求リスト３３及びカウンタリスト３８の管理を行う。
【０１５６】
具体的には、図５に示した処理例では、スイッチ２は、ステップＳ５０１、ステップＳ５０５、ステップＳ５０６及びステップＳ５１３の処理を行う。コントローラ３は、ステップＳ５０２〜ステップＳ５０４、ステップＳ５０７〜ステップＳ５１２の処理を行う。
【０１５７】
また、図６に示した処理例において、スイッチ２は、ステップＳ６０１及びステップＳ６０５の処理を行い、コントローラ３は、ステップＳ６０２〜ステップＳ６０４の処理を行う。さらに、図１１に示した処理例において、スイッチ２は、ステップＳ１１０１、ステップＳ１１０９（転送処理）、ステップＳ１１１１及びステップＳ１１１２（転送処理）を行う。コントローラ３は、ステップＳ１１０２〜ステップＳ１１０８、ステップＳ１１０９（格納処理）、ステップＳ１１１０及びステップＳ１１１２（格納処理）を行う。この場合、コントローラ３は、実施例１では要求リスト３３を備え、実施例２では要求リスト３３及びカウンタリスト３８を備える。
【０１５８】
ここで、複数の対応スイッチ１１を含むネットワークにおいて、複数の対応スイッチ１１は、複数の対応スイッチ１１のそれぞれに対応する複数のスイッチ２と、複数のスイッチ２を一括管理する１台のコントローラ３とを備えて構成されるようにしてもよい。この場合、複数の対応スイッチ１１を複数のグループに分け、グループ毎にコントローラ３を備えるようにしてもよい。
【０１５９】
尚、本発明の実施例１，２及び実施例２の変形例における対応スイッチ１１のハードウェア構成としては、通常のコンピュータを使用することができる。対応スイッチ１１は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【０１６０】
実施例１の対応スイッチ１１に備えた通信部３１、マルチキャスト要求パケット処理部３２、要求リスト３３、マルチキャストパケット処理部３４、マルチキャスト／ユニキャスト変換部３５及びユニキャストパケット処理部３６の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、実施例２の対応スイッチ１１に備えた通信部３１、マルチキャスト要求パケット処理部３２、要求リスト３３、マルチキャストパケット処理部３４、マルチキャスト／ユニキャスト変換部３５、ユニキャストパケット処理部３６、接続ポート選択部３７及びカウンタリスト３８の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。さらに、実施例２の変形例の対応スイッチ１１に備えた通信部３１、マルチキャスト要求パケット処理部３２、要求リスト３３、マルチキャストパケット処理部３４、マルチキャスト／ユニキャスト変換部３５、ユニキャストパケット処理部３６、接続ポート選択部３７、カウンタリスト３８及びループ検知部の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。
【０１６１】
これらのプログラムは、前記記憶媒体に格納されており、ＣＰＵに読み出されて実行される。また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【０１６２】
１  データ配信装置（対応スイッチ）
２  スイッチ
３  コントローラ
１０，５１〜５５  送信装置
１１，１３〜１６  対応スイッチ
１２  非対応スイッチ
２１〜２４，４１〜４５  受信装置
３１  通信部
３２  マルチキャスト要求パケット処理部
３３  要求リスト
３４  マルチキャストパケット処理部
３５  マルチキャスト／ユニキャスト変換部
３６  ユニキャストパケット処理部
３７  接続ポート選択部
３８  カウンタリスト
【図１】
2018207268.tif 000003
【図２】
2018207268.tif 000004
【図３】
2018207268.tif 000005
【図４】
2018207268.tif 000006
【図５】
2018207268.tif 000007
【図６】
2018207268.tif 000008
【図７】
2018207268.tif 000009
【図８】
2018207268.tif 000010
【図９】
2018207268.tif 000011
【図１０】
2018207268.tif 000012
【図１１】
2018207268.tif 000013
【図１２】
2018207268.tif 000014
【図１３】
2018207268.tif 000015