第1の実施例:
パケット中継装置の構成:
図1は本実施例におけるパケット中継装置の機能構成を示すブロック図である。本実施例に係るパケット中継装置10は、マルチキャストパケットを中継するパケット装置であり、IPネットワークを介して送信装置および受信装置に接続されている。パケット中継装置10は、マルチキャストルーティング処理部11、マルチキャストテーブル処理部12、マルチキャストコピー処理部13、簡易マルチキャストコピー処理部14a、14b、外部インターフェース15a、15b、種別テーブルT1、検索テーブルT2およびアクションテーブルT3を備えている。
マルチキャストルーティング処理部11は、種別テーブルT1およびマルチキャストテーブル処理部12と通信可能に接続されている。マルチキャストルーティング処理部11は、図示しないCPUによって、マルチキャストルーティングプロトコルに従って、マルチキャストパケットの各受信装置に対す経路作成処理(ルーティング処理)を実行する。すなわち、マルチキャストルーティング処理部11は、各受信装置にマルチキャストパケットを配信する際に、マルチキャストパケットが経由すべきネットワーク上の他の複数のパケット中継装置と経路情報を交換して、マルチキャストルーティングプロトコルの管理を行う。マルチキャストルーティングプロトコルとしては、例えば、PIM−SM(Protocol Independent Multicast Sparse-Mode)、PIM−SSM(Protocol Independent Multicast Source-Specific Mode)が用いられる。
マルチキャストルーティング処理部11は、更に、受信装置から受信したマルチキャストグループへの参加要求、あるいは参加中のマルチキャストグループからの離脱要求に基づいて、検索テーブルT2およびアクションテーブルT3に格納されている情報を更新することができる。なお、本実施例では、マルチキャストグループは、送信装置から配信されるマルチキャストパケットの種別、すなわち、コンテンツの種類(番組、チャンネル)に相当または対応している。なお、マルチキャストルーティング処理部11は、特許請求の範囲における制御部として機能する。
マルチキャストテーブル処理部12は、マルチキャストルーティング処理部11、マルチキャストコピー処理部13、検索テーブルT2およびアクションテーブルT3と通信可能に接続されている。マルチキャストテーブル処理部12は、受信したマルチキャストパケットの種別に応じて、受信したマルチキャストパケットの処理内容、すなわち、マルチキャストパケットを複製するコピーポイント、複製したマルチキャストパケットを出力すべきポートを決定する。ここで、本実施例では、マルチキャストパケットを複製する複製部として、複数の複製部、すなわち、マルチキャストコピー処理部13、簡易マルチキャストコピー処理部14a、14bが備えられている。コピーポイントの決定は、これら複製部のいずれにおいて、マルチキャストパケットのコピー処理を実行するかの決定に該当する。なお、マルチキャストテーブル処理部12は、特許請求の範囲における複製部決定部として機能する。
マルチキャストコピー処理部13、すなわち、第1の複製部は、マルチキャストテーブル処理部12、簡易マルチキャストコピー処理部14a、14bと通信可能に接続されている。マルチキャストコピー処理部13はまた、受信したマルチキャストパケット(マルチキャストフレーム)および、複製したマルチキャストパケットまたは送信すべきマルチキャストパケットを一時的に格納するための図示しないバッファメモリを備えている。マルチキャストコピー処理部13は、受信したパケットデータがユニキャストパケットであるかマルチキャストパケットであるかの受信パケットの判別を行う。マルチキャストコピー処理部13は、受信したパケットデータがマルチキャストパケットである場合には、コピーポイントの決定に際して検索キー情報として用いられる宛先IPアドレスと宛先MACアドレスをマルチキャストパケットのヘッダから取得し、マルチキャストテーブル処理部12に送信する。マルチキャストコピー処理部13はまた、マルチキャストテーブル処理部12によって指定された宛先ポートに対して複製したマルチキャストパケットを出力し、当該マルチキャストパケットの複製処理の完了をマルチキャストテーブル処理部12に通知する。なお、マルチキャストに際して用いられる宛先IPアドレスは、クラスD(224.0.0.0〜239.255.255.255)に限定され、同様に宛先MACアドレスは先頭の25ビットが固定されるため、受信したパケットデータがマルチキャストパケットであるか否かの判定は容易である。なお、マルチキャストコピー処理部13におけるマルチキャストパケットの複製処理は、例えば、受信したマルチキャストパケットを一時的に格納するFIFOバッファから、対象となるマルチキャストパケットがデキューされる際に実行されても良く、対象となるマルチキャストパケットがFIFOバッファにエンキューされる際に実行されても良い。
簡易マルチキャストコピー処理部14(14a、14b)、すなわち、第2の複製部は、マルチキャストコピー処理部13、外部インターフェース15a、15bとそれぞれ通信可能に接続されている。簡易マルチキャストコピー処理部14a、14b、第1の複製部であるマルチキャストコピー処理部13よりも下流側、すなわち、外部インターフェース側に配置されている。簡易マルチキャストコピー処理部14a、14bは、受信したマルチキャストパケットを一時的に格納するための図示しないバッファメモリを備えている。簡易マルチキャストコピー処理部14a、14bは、通常のユニキャストパケット転送処理と、マルチキャストパケットのコピーを実行するマルチキャストパケット転送処理のいずれかを実行する。ユニキャストパケット転送処理は、コピーポイントとして、マルチキャストコピー処理部13が特定された場合に実行され、簡易マルチキャストコピー処理部14a、14bは、マルチキャストコピー処理部13において必要数複製されたマルチキャストパケットをマルチキャストコピー処理部13から順次受け取り、外部インターフェース15a、15bにおける指定されたポートから受信装置に宛ててネットワークに出力する。
簡易マルチキャストコピー処理部14a、14bにおけるマルチキャストパケット転送処理は、コピーポイントとして、簡易マルチキャストコピー処理部14a、14bが特定された場合に実行され、マルチキャストコピー処理部13から受け取ったマルチキャストパケットを、簡易マルチキャストコピーインターフェース情報に基づいて複製し、外部インターフェース15a、15bにおける指定されたポートから出力する。なお、簡易マルチキャストコピー処理部14a、14bにおけるマルチキャストフレームの複製処理は、例えば、マルチキャストコピー処理部13から受信したマルチキャストパケットを送信順に格納するFIFOバッファから、対象となるマルチキャストパケットがデキューされる際に実行される。
デキュー時にマルチキャストフレームが複製される場合には、一般的に、宛先回線のいずれかの回線が輻輳していると、全てのマルチキャストパケットの転送処理が停滞してしまう。しかしながら、本実施例における簡易マルチキャストコピー処理部14a、14bは、宛先回線の一部が輻輳していても、処理を停滞させずにマルチキャストパケットの複製を継続して、一部回線の輻輳が全体に波及することを防止する。この結果、輻輳している回線が宛先に含まれるマルチキャストグループの転送についても一部の輻輳や障害に影響をうけることなく実行することができる。
外部インターフェース15(15a、15b)は、他のパケット中継装置または受信装置にネットワーク回線を介して接続されている複数のポートを備えている。
本実施例に係るパケット中継装置10における、種別テーブルT1、検索テーブルT2、アクションテーブルT3はそれぞれ、メモリ101に格納されている。
図2は本実施例において用いられる種別テーブルの一例を示す説明図である。図3は本実施例において用いられる検索テーブルの一例を示す説明図である。図4は本実施例において用いられるアクションテーブルの一例を示す説明図である。
種別テーブルT1には、図2に示すように、宛先IPアドレスと、人気・不人気フラグとが対応付けて格納されている。人気・不人気フラグは、人気コンテンツである場合には1が記録され、不人気コンテンツである場合には0が記録される。本実施例においては、宛先IPアドレスは、各テレビ局(チャンネル)、番組等と対応付けられており、宛先IPアドレスに基づいてチャンネルまたは番組が人気コンテンツであるか否かを判別することができる。なお、種別テーブルT1は、予め、運用者によって設定されている。
検索テーブルT2は、図3に示すように、エントリと、宛先IPアドレスおよび宛先MACアドレスとを対応付けて格納している。マルチキャストテーブル処理部12は、マルチキャストコピー処理部13から受信した宛先IPアドレスおよび宛先MACアドレスを検索キーとして、検索テーブルT2に格納されている全てのエントリの中から一致するエントリを特定する。なお、このような全てのエントリに対する一致比較処理に際して、メモリとして一般的なDRAMなどのメモリ素子を用いた場合、エントリ検索性能が低下して性能上のボトルネックになる可能性が高い。そこで、高性能なエントリ検索性能を実現するため、一致比較処理に適したCAM(Content Addressable Memory)を検索テーブルT2を格納するメモリとして用いても良い。
検索テーブルT2に格納されている宛先IPアドレスおよび宛先MACアドレスのうち、人気コンテンツに対応する宛先IPアドレスおよび宛先MACアドレスは、予め運用者によってエントリと対応付けて格納されている。すなわち、人気コンテンツに対応する宛先IPアドレスおよび宛先MACアドレスは、人気コンテンツに対応するマルチキャストグループに対する受信装置からの参加要求の送信を待つことなく、予めエントリと対応づけられている。一方、不人気コンテンツに対応する宛先IPアドレスおよび宛先MACアドレスについては、当該宛先IPアドレスおよび宛先MACアドレスを有するマルチキャストパケットの配信対象となるマルチキャストグループに対する参加要求を受信装置から受信した際に、マルチキャストルーティング処理部11によって記録される。具体的には、マルチキャストルーティング処理部11は、種別テーブルT1を用いて、受信装置から受信したマルチキャストグループ(種別)が人気コンテンツであるか否かを判定し、不人気コンテンツであると判定した場合に、リクエストを受信したマルチキャストグループに対応する宛先IPアドレスおよび宛先MACアドレスと、エントリとを対応付けて検索テーブルT2に格納する。
アクションテーブルT3は、図4に示すように、検索テーブルT2のエントリに対応するエントリ、受信したマルチキャストパケットに対する処理内容とを対応付けて格納している。具体的な処理内容として、マルチキャストコピーを実行する複製部(コピーポイント)を指定するマルチキャストコピーポイント、マルチキャストコピーを出力すべきポートに関するマルチキャストコピーインターフェース情報、次のエントリを示すネクストポインタ、簡易マルチキャストコピーを出力すべきポートに関する簡易マルチキャストコピーインターフェース情報がアクションテーブルT3に記載されている。
マルチキャストコピーインターフェース情報は、受信装置からマルチキャストグループへの参加要求を受信した際に、マルチキャストルーティング処理部11によって記録される。具体的には、マルチキャストルーティング処理部11は、種別テーブルT1を用いて、受信装置が参加を要求するマルチキャストグループが人気コンテンツに該当するか否かを判定し、不人気コンテンツであると判定した場合には、参加要求を受信したポートをマルチキャストコピーインターフェース情報として新たに作成したあるいは既存のエントリと対応付けてアクションテーブルT3に格納する。なお、マルチキャストコピーポイントが簡易マルチキャストコピー処理部14a、14bである場合には、簡易マルチキャストコピーインターフェース情報は、マルチキャストテーブル処理部12によって読み出されない。
一方、人気コンテンツについては、予め運用者によって、複数のポート情報が簡易マルチキャストコピーインターフェース情報として対応するエントリと対応付けてアクションテーブルT3に格納されている。すなわち、人気コンテンツに対応するマルチキャストグループへの参加要求は、運用者によって擬似的に実行(設定)される。例えば、外部インターフェース15a、15bが備える各ポートが記述されていても良く、あるいは、配信を希望しない(当該マルチキャストグループへの参加を希望しない)受信装置へパケットデータを配信するポートを除く外部インターフェース15a、15bが備える各ポートが記述されていても良い。マルチキャストコピーポイントがマルチキャストコピー処理部13である場合には、マルチキャストコピーインターフェース情報はマルチキャストテーブル処理部12によって読み出されない。
マルチキャストコピーポイントは、運用者によって、マルチキャストグループ毎(コンテンツ種毎)に設定される。設定は、例えば、静的なigmpリクエストの設定としてip igmp static-groupのようなコマンドがパケット中継装置に備えられている場合には、そのオプションコマンドとして、ip igmp static-group 225.0.0.1 simpleのようなオプション設定を与える態様がある。当該オプション設定にとって、マルチキャストグループ(225.0.0.1)のマルチキャストコピーポイントが簡易マルチキャストコピー処理部14a、14bに設定される。運用者がマルチキャストコピーポイントを判断する基準は、例えば、物理回線に対して複数のマルチキャストコピー処理が必要となるマルチキャストグループについてはマルチキャストコピー処理部13にて処理を行い、物理回線に対して1個のマルチキャストコピー処理しか必要としないマルチキャストグループについては簡易マルチキャストコピー処理部14a、14bにて処理を行う。
ネクストポインタ情報は、マルチキャストコピー処理部13にて複製処理が必要となるマルチキャストグループ(不人気コンテンツ)のエントリに対してのみ記載されている情報であり、簡易マルチキャストコピー処理部14a、14bにおいて複製処理が実行されるマルチキャストグループのエントリには記載されない。不人気コンテンツのマルチキャストグループに対するエントリは、動的に記述され、各エントリには1のポート情報を含むマルチキャストコピーインターフェース情報が含まれている。したがって、複数の受信装置から配信要求を受けた場合には、複数のインターフェース(ポート)に対して複製を実施するため、必要な複製処理回数が完了するまでネクストポインタによって次のエントリを指定する必要がある。なお、最後のエントリのネクストポインタには、完了を示すフラグが記録されていることが望ましい。また、新たなエントリが加えられる場合、あるいは、既存のエントリが削除される場合には、それぞれネクストポインタは更新される。マルチキャストコピーポイントが簡易マルチキャストコピー処理部14a、14bである場合には、ネクストポインタ情報はマルチキャストテーブル処理部12によって読み出されない。
以上の通り、検索テーブルT2とアクションテーブルT3との組合せによって、いわゆるマルチキャストルーティングテーブルと同等の機能が提供される。すなわち、検索テーブルT2に記載のマルチキャストグループ(コンテンツ種別)と、当該マルチキャストグループへの参加を要求する受信装置に接続されているポート(インターフェース)情報とが対応付けられ、検索テーブルT2から検索されたエントリを介してアクションテーブルT3から配信すべきポートを特定することができる。なお、アクションテーブルT3に検索テーブルT2のエントリに対応するマルチキャストに対する処理内容を格納しておけば、検索テーブルT2とアクションテーブルT3の読み出し処理を一回で終了することができる。また、所定のマルチキャストグループへの参加要求は、当該マルチキャストグループを表す宛先IPアドレス(および宛先MACアドレス)を有するマルチキャストパケットの配信要求に該当するので、受信装置による所定のマルチキャストグループへの参加要求は、所定の種別のコンテンツの配信要求であるということもできる。さらに、参加要求に加えて更なる要求がある場合に、パケット中継装置10から受信装置に対してマルチキャストパケットが配信される構成に場合には、参加要求と配信要求とは区別して用いられても良い。
・パケット中継装置の動作:
図5は本実施例に係るパケット中継装置においてマルチキャストパケットを転送する際に実行される処理を示すフローチャートである。パケット中継装置10は、送信装置から外部インターフェース15を介してマルチキャストパケットを受信すると、以下に説明する処理を実行する。なお、受信したデータパケットがマルチキャストパケットであるか否かは、宛先IPアドレスおよび宛先MACアドレスから容易に判別可能であることは当業者にとって周知の事項である。また、受信したマルチキャストパケットは、マルチキャストコピー処理部13が備えるバッファに格納される。なお、パケット中継装置10が、上流側のネットワーク、あるいは、送信装置からマルチキャストパケットの配信を受ける態様は種々存在するが、いずれの態様に基づいて受信したとしても、以下に説明するパケット中継装置10における動作は共通である。
マルチキャストテーブル処理部12は、受信したマルチキャストパケットに対応するエントリを検索テーブルT2から検索する(ステップS100)。具体的には、マルチキャストテーブル処理部12は、マルチキャストコピー処理部13から受信したマルチキャストパケットに関する宛先IPアドレスおよび宛先MACアドレスを受信しており、当該受信した宛先IPアドレスおよび宛先MACアドレスに一致する該当エントリを検索テーブルT2から検索する。なお、受信した宛先IPアドレスおよび宛先MACアドレスに一致する該当エントリが存在しない場合には、マルチキャストテーブル処理部12は、マルチキャストコピー処理部13に対して、マルチキャストパケットの破棄を要求する。マルチキャストテーブル処理部12からの破棄要求を受けた、マルチキャストコピー処理部13には、バッファから対応するマルチキャストパケットを削除する。
マルチキャストテーブル処理部12は、該当エントリに対応するアクションをアクションテーブルT3から検索する(ステップS102)。具体的には、検索テーブルT2におけるエントリと、アクションテーブルT3におけるエントリとはそれぞれ対応付けられており、マルチキャストテーブル処理部12は、検索テーブルT2において検索されたエントリを用いてアクションテーブルT3から対応するアクションを検索することができる。
受信したマルチキャストパケットが人気コンテンツの場合には(ステップS104:Yes)、アクションテーブルT3におけるマルチキャストコピーポイントとして、簡易マルチキャストコピー処理部14(14a、14b)が記述されている。すなわち、本実施例では、配信すべき受信装置数の多い人気コンテンツについては、簡易マルチキャストコピー処理部14において複製させることによって、パケット中継装置10内の内部バスの帯域の逼迫を低減または回避している。なお、マルチキャストコピーポイントとして記述されている簡易マルチキャストコピー処理部14は、全ての簡易マルチキャストコピー処理部14であっても良く、一部の簡易マルチキャストコピー処理部14であっても良い。例えば、一般的ではないが、一の簡易マルチキャストコピー処理部14に対して、人気コンテンツの配信を希望しない(人気コンテンツに対応するマルチキャストグループに参加していない)受信装置のみが接続されている場合には、当該簡易マルチキャストコピー処理部14を除くこととしても良い。
アクションテーブルT3における簡易マルチキャストコピーインターフェース情報には、既述のように、各外部インターフェース15a、15bにおける、マルチキャストパケットを配信すべきインターフェース(ポート)の情報が記述されている。なお、受信したマルチキャストパケットが人気コンテンツの場合には、マルチキャストテーブル処理部12は、アクションテーブルT3におけるネクストポインタおよびマルチキャストコピーインターフェース情報は読み出さない。
マルチキャストテーブル処理部12は、アクションテーブルT3から読み出したマルチキャストコピーポイントに従い、マルチキャストコピー処理部13に対して、指定された簡易マルチキャストコピー処理部14および簡易マルチキャストコピーインターフェース情報を通知し、指定された簡易マルチキャストコピー処理部に対してマルチキャストパケットのコピーを転送させる(ステップS106)。マルチキャストコピー処理部13から簡易マルチキャストコピー処理部14へのマルチキャストの転送に際しては、例えば、宛先となる簡易マルチキャストコピー処理部および出力先となるインターフェースを規定する装置内ヘッダが付与されたマルチキャストパケットが用いられる。
簡易マルチキャストコピー処理部14は、受け取ったマルチキャストパケットの宛先が自身を示す場合には、出力先として規定されたインターフェース(ポート)に対して、受け取ったマルチキャストパケットの複製を出力する(ステップS108)。具体的には、簡易マルチキャストコピーインターフェース情報に記述されている全てのポートに対して、受信したマルチキャストパケットを複製して出力する。これにより、パケット中継装置10が受信したマルチキャスト(人気コンテンツ)は、当該人気コンテンツの配信を希望している各受信装置に配信される。
一方、パケット中継装置10が受信したマルチキャストが不人気コンテンツである場合には(ステップS104:No)、アクションテーブルT3におけるマルチキャストコピーポイントとして、マルチキャストコピー処理部13が記述されている。すなわち、本実施例では、配信すべき受信装置数が少ない不人気コンテンツについては、マルチキャストコピー処理部13において複製させることによって、パケット中継装置10内の内部バスの帯域の逼迫を低減または回避しつつ、共通の(集中)コピー処理部を有しない分散アーキテクチャを備えるパケット中継装置と比較して、複製回数、部品コスト、消費電力の低減を図ることができる。
アクションテーブルT3におけるマルチキャストコピーインターフェース情報には、既述のように、当該コンテンツの配信要求(当該マルチキャストグループへの参加要求)を送信した受信装置が接続されている、各外部インターフェース15a、15bにおけるインターフェース(ポート)の情報が記述されている。なお、受信したマルチキャストパケットが不人気コンテンツの場合には、マルチキャストテーブル処理部12は、アクションテーブルT3における簡易マルチキャストコピーインターフェース情報は読み出さない。
マルチキャストテーブル処理部12は、アクションテーブルT3から読み出したマルチキャストコピーポイントに従い、マルチキャストコピー処理部13に対して、ネクストポインタが次のエントリを示す限り(完了を示すフラグを検出するまで)、繰り返してマルチキャストコピーインターフェース情報を通知する。マルチキャストコピー処理部13は、マルチキャストコピーインターフェース情報を受信する都度、出力先として規定されたインターフェース(ポート)に対して、受け取ったマルチキャストパケットの複製を出力する(ステップS108)。具体的には、マルチキャストコピーインターフェース情報に記述されているポートに対して、受信したマルチキャストパケットを複製して出力する。これにより、パケット中継装置10が受信したマルチキャスト(不人気コンテンツ)は、当該不人気コンテンツの配信を希望している各受信装置に配信される。
本実施例に係るパケット中継装置10の適用例:
図6は本実施例に係るパケット中継装置を適用した一般的な光ファイバー加入者通信網の構成例を示す説明図である。図7は本実施例に係るパケット中継装置を適用した光ファイバー加入者通信網におけるマルチキャストパケットの効率的な配信を実現可能な運用例を示す説明図である。図8は配信する全マルチキャストパケットを受信装置に対して常時配信した場合と、人気コンテンツに限定して常時配信した場合におけるネットワークに掛かる負荷を比較した説明図である。
光ファイバー加入者通信網は、映像コンテンツ(動画コンテンツ)をエンコード(符号化)してネットワーク上に配信する1または複数の配信サーバDSと、光ファイバー加入者通信網のコアネットワークであるIPネットワークNEと、加入者(受信装置)と直接接続されているエッジルータ10と、光ファイバー加入者通信網のレイヤ2スイッチである光回線終端装置40と、1本の光ケーブルで光信号を多重化するために用いられる光合波器41と、加入者宅内で光ファイバーを終端する光回線ボード42と、受信した映像コンテンツ(マルチキャストパケット)をデコード(復元)したり、所望のコンテンツの配信リクエスト(所望のマルチキャストグループへの参加要求)を行うセットトップボックス43を備えている。セットトップボックス43はテレビモニタ50に接続されている。
図6に示す構成においてマルチキャストによるデータ配信を行う場合、配信サーバDSはマルチキャストパケットの送信端末である送信装置に該当し、セットトップボックス43はマルチキャストパケットの受信端末である受信装置に該当し、本実施例に係るパケット中継装置であるエッジルータ10は受信装置を直接収容するルータであるラストホップルータの役割を担っている。図6に示す構成において、ネットワークNE上では、PIM-SM(Protocol Independent Multicast Sparse-Mode)やPIM-SSM(Protocol Independent Multicast Source-Specific Multicast)と呼ばれるマルチキャストルーティングプロトコルが動作している。この結果、ネットワーク上の各パケット中継装置がマルチキャストパケットを転送する際に適切な経路が選択され、ラストホップルータであるエッジルータ10に対してマルチキャストパケットが転送される。
なお、一般的には、光回線終端装置40には、光回線終端装置40の折り返し通信防止や他加入者宛のマルチキャストフレームが届かない様に、VLAN(Virtual Local Area Network)機能が用いられ、それぞれの加入者のブロードキャストドメインが分割される。光回線終端装置40においてVLANが用いられる場合には、エッジルータ10の下流回線にもトランクVALNの設定が必要となり、物理的には一本の回線でも論理的に複数の受信装置を直接収容することになる。このような構成において、ラストホップルータであるエッジルータ10は、受信装置43からのマルチキャストグループへの配信要求・停止の指示に応じて、受信装置・マルチキャストグループ毎にマルチキャストパケットを複製を行うかどうか判断する処理が必要となる。なお、マルチキャストグループへの配信要求・停止に関わる通信規則にIGMP(Internet Group Management Protocol)/MLD(Multicast Listener Discovery)がある。
マルチキャストを用いた映像配信サービスを展開する場合、通信品質の保証が重要となる。通信品質の保証では、パケット廃棄を防ぐことと同時に、遅延品質の保証が必要となる。遅延品質には絶対遅延とザッピング遅延の2種類がある。絶対遅延とは、コンテンツの配信事業者から視聴者まで映像が届くまでに掛かる時間であり、ネットワーク伝送に掛かる時間だけではなく、動画のエンコード・デコード処理時間が加算される。なお、ディジタル放送では、従来のアナログ放送に比べて、動画のエンコード・デコード処理時間が必要となるが視聴に大きな影響はない。双方向のコミュニケーションが必要なテレビ電話などのサービスでは、円滑なコミュニケーションのために絶対遅延は重要なパラメータである一方、片方向の映像配信サービスにおいては絶対遅延は重要ではない。ザッピング遅延とは、視聴者がチャンネルを切り替えて新しいチャンネルの映像に切り替わるまでの時間である。マルチキャストを用いた映像配信の場合、チャンネル切替動作としてネットワークに対して配信停止・開始の要求を行う必要があり、この処理時間を短くすることで、視聴者の快適な視聴をサポートできる。
上記の弱点を克服する運用例について、図7を参考にして説明する。エッジルータ10の下流からマルチキャスト配信要求を受信した時に、マルチキャストルーティングを用いたマルチキャストツリーの再構築を回避し、すばやくマルチキャストパケットを転送できるようにするために、配信サーバDSから人気、不人気にかかわらず配信対象となるすべてのマルチキャストグループのマルチキャストパケットをエッジルータ10に転送しておく(SA10)。エッジルータ10は、視聴者が多い人気コンテンツについては、各受信装置(セットトップボックス)43からの配信要求の有無にかかわらず、常時、各受信装置43に対してブロードキャスト配信を行う。光回線終端装置40は、VLAN IDが空値(NULL)であるフレームを受け取ると、光回線終端装置40に接続されているすべての受信装置43にブロードキャストされる特性を利用して、エッジルータ10からVLANタグなしのマルチキャストパケットを送信する(SA20)。視聴者が少ない不人気コンテンツについては、エッジルータ10は、受信装置43から映像配信の開始要求を受け取るとマルチキャスト配信を行い、映像配信の停止要求を受け取ると、マルチキャスト配信を停止する(SA30)。
処理SA20において、受信装置43に対して常時配信するマルチキャストパケットを人気コンテンツと限定したのはネットワーク帯域の消費を軽減するためである。図8に示すように、配信する映像コンテンツ数が多くなると、配信する全マルチキャストパケットを受信装置に対して常時配信する場合、ネットワークの負荷が大きくなってしまう(例えば、10Gbps)。そこで、常時配信するマルチキャストパケットを一部の人気コンテンツに限定した方が(2Gbps)、ネットワークの帯域利用の観点からは好ましい。
図8において、Aは人気コンテンツの受信者数、Bは不人気コンテンツの受信者数、Gaは人気コンテンツのチャンネル(マルチキャストグループ)数、Gbは不人気コンテンツのチャンネル(マルチキャストグループ)数、Cは1マルチキャストフロー当たりの通信帯域(図8の例では10Mbps)を示している。
このようにして、マルチキャストを用いた映像配信サービスでは、ザッピング遅延の改善と帯域利用の効率化の両立するための運用が行われる。本実施例に係るパケット中継装置10では、人気コンテンツについては、マルチキャストコピーポイントを簡易マルチキャストコピー処理部14に指定し、不人気コンテンツについてはマルチキャストコピーポイントがマルチキャストコピー処理部13に指定することができる。したがって、人気コンテンツの配信にあたって、受信装置(からの参加要求)の有無に関わらず常時配信する場合であっても、本実施例に係るパケット中継装置10は、上述したネットワークを構築する際に必要となるマルチキャスト性能を提供することができる。
以上説明した第1の実施例に係るパケット中継装置10によれば、マルチキャストパケットの種別、すなわち、コンテンツの種類に応じてマルチキャストコピーポイントを変更することができる。したがって、マルチキャストパケットの複製回数を不必要に増加させることなく、パケット中継装置10内の内部バスの帯域の逼迫を抑制または回避することができる。すなわち、第1の実施例に係るパケット中継装置10は、マルチキャストパケットの大量の複製が必要となる人気コンテンツのマルチキャストパケットについては、複数の簡易マルチキャストコピー処理部14において複製処理を実行し、必要な複製数が少ない人気コンテンツのマルチキャストパケットについては、共通のマルチキャストコピー処理部13において複製処理を実行する。
人気コンテンツのみに着目して共通のコピー処理部を有しない複数の分散コピー処理部を備えるパケット中継装置では、マルチキャストパケットを受信した分散コピー処理部は他の分散コピー処理部に対してマルチキャストパケットを転送するためにマルチキャスト処理を実行しなければならない。したがって、各分散コピー処理部は受信したマルチキャストパケットに対してマルチキャスト処理を実行するための構成を備えなければならず部品コストが嵩むという門田がある。また、マルチキャスト処理に用いられるマルチキャストテーブルを構成するメモリの消費電力量は高く、パケット中継装置10の消費電力量が増大するという問題もある。
これに対して、本実施例に係るパケット中継装置10では、配信すべき受信装置数が少ない不人気コンテンツについては、共通のマルチキャストコピー処理部13において複製させ、配信すべき受信装置数が多い人気コンテンツについては、簡易マルチキャストコピー処理部14において複製させることによって、パケット中継装置10内の内部バスの帯域の逼迫を低減または回避しつつ、共通の(集中)コピー処理部を有しない分散アーキテクチャを備えるパケット中継装置と比較して、複製回数、部品コスト、消費電力の低減を図ることができる。
さらに、簡易マルチキャストコピー処理部14a、14bに接続される外部インターフェース15の合計帯域が内部インターフェースの帯域よりも大きくなるオーバーサブスクライブ構成を用いることによって、リーズナブルに収容回線を増やすことが可能であることが知られている。しかしながら、オーバーサブスクライブ構成を採用すると、トラヒック負荷が大きくなった場合に内部インターフェースが輻輳してパケットロスが発生するブロッキングポイントになる可能性がある。これに対して、本実施例に係るパケット中継装置10では、マルチキャストコピーポイントが簡易マルチキャストコピー処理部14a、14bに指定される場合には、その複製数に関係なく、マルチキャストコピー処理部13から簡易マルチキャストコピー処理部14a、14b対して一のマルチキャストパケットが転送されるに過ぎないので、帯域消費を抑えることができる。
第2の実施例:
図9は第2の実施例に係るパケット中継装置においてマルチキャストパケットを転送する際に実行される処理を示すフローチャートである。なお、本実施例に係るパケット中継装置の構成は、第1の実施例に係るパケット中継装置10と同様であるから、第1の実施例において用いた符号と同一の符号を付して詳細な説明は省略する。本実施例におけるマルチキャストパケットの転送処理では、受信したマルチキャストパケットの種別(人気コンテンツであるか否か)に応じて、マルチキャストルーティング処理部11によってマルチキャストコピーポイントを決定する。
マルチキャストルーティング処理部11は、送信装置から外部インターフェース15を介して受信したマルチキャストパケットの種別を、種別テーブルT1を用いて判断する(ステップS200)。具体的には、マルチキャストコピー処理部13から受信したマルチキャストパケットの宛先IPアドレスを受け取り、受け取った宛先IPアドレスを用いて種別テーブルT1を検索し、該当する宛先IPアドレスに対応付けられている人気・不人気フラグが1(人気)であるか0(不人気)であるかを判別する。なお、受信したデータパケットがマルチキャストパケットであるか否かは、宛先IPアドレスおよび宛先MACアドレスから容易に判別可能であることは当業者にとって周知の事項である。
マルチキャストルーティング処理部11は、受信したマルチキャストパケットが人気コンテンツに該当すると判断した場合には(S202:Yes)、全ての簡易マルチキャストコピー処理部14に対してマルチキャストパケットを送信する(ステップS204)。具体的には、マルチキャストルーティング処理部11は、マルチキャストコピー処理部13に対して、全ての簡易マルチキャストコピー処理部14へのマルチキャストパケットの送信を要求し、マルチキャストコピー処理部13は、全ての簡易マルチキャストコピー処理部14に対して、バッファに格納されている受信済みのマルチキャストパケットを複製して出力する。
マルチキャストコピー処理部13からマルチキャストパケットを受信した各簡易マルチキャストコピー処理部14は、外部インターフェース15が備える全てのポートに対して、受信したマルチキャストパケットを複製して出力する。この結果、外部インターフェース15に接続されている全ての受信装置に対して人気コンテンツのマルチキャストパケットが配信される。なお、全ての受信装置は、共通の所定マルチキャストグループに属していることは言うまでもなく、外部インターフェース15に接続されている全ての受信装置へのマルチキャストパケットの配信は、参加要求を待たない、共通の所定マルチキャストグループへのマルチキャストパケットの配信である。
マルチキャストルーティング処理部11は、受信したマルチキャストパケットが人気コンテンツに該当しない、すなわち、不人気コンテンツに該当すると判断した場合には(S202:No)、任意の受信装置から配信要求がなされているか否かを判定する(ステップS208)。具体的には、受信装置によって、今回の処理対象となるマルチキャストパケット(コンテンツ)に対する配信要求がなされている場合には、マルチキャストルーティング処理部11は、配信要求を受け取ったインターフェース(ポート)とコンテンツとを対応付けてメモリに格納する。したがって、メモリに格納されているコンテンツとポートの対応関係から、任意の受信装置から配信要求がなされているか否かを判断することができる。マルチキャストルーティング処理部11は、いずれの受信装置からも配信要求がなされていないと判断した場合には(ステップS208:No)、本処理を終了する。一方、いずれかの受信装置から配信要求がなされていると判断した場合には(ステップS208:Yes)、マルチキャストコピー処理部13に対してマルチキャストパケットの複製を要求する。具体的には、予めメモリに格納されているポート数に応じた回数だけ、出力先のポート情報を含む複製要求がマルチキャストルーティング処理部11からマルチキャストコピー処理部13に送信される。
マルチキャストコピー処理部13は、複製要求を受信するたびに、マルチキャストパケットを複製し(ステップS210)、複製したマルチキャストパケットの装置内ヘッダに出力先のポート情報を付加して簡易マルチキャストコピー処理部14に送信する。簡易マルチキャストコピー処理部14は、受け取ったマルチキャストパケットを、出力先のポート情報にしたがって、外部インターフェース15を介して該当するポートに出力する。このとき、簡易マルチキャストコピー処理部14は、受け取ったマルチキャストパケットを複製せず、ユニキャストパケットの転送処理を実行する。
第2の実施例に係るパケット中継装置10によれば、第1の実施例に係るパケット中継装置10と同様にして送信装置(サーバ装置)から受信したマルチキャストパケットのコンテンツ種別に応じて、マルチキャストコピーポイントを変更することができる。また、第2の実施例に係るパケット中継装置10では、人気コンテンツについては、全てのポートからマルチキャストパケットを出力し、不人気コンテンツについては、参加要求を受信したポートにマルチキャストパケットを出力する構成を備えているので、種別テーブルT1および不人気コンテンツとポートとを対応付ける関連情報を用いて、マルチキャストパケットの転送処理を実現することができる。
・変形例:
(1)図10は変形例に係るパケット中継装置の機能構成を示すブロック図である。第1および第2の実施例ではマルチキャストルーティング処理部11、マルチキャストテーブル処理部12、マルチキャストコピー処理部13、簡易マルチキャストコピー処理部14および外部インターフェース15が1つの基板に実装されている例を用いて説明したが、図10に示すように、異なる装置管理ボード20、スイッチングボード21および回線ボード22(22a、22b)を用意し、マルチキャストルーティング処理部11を装置管理ボード20に、マルチキャストテーブル処理部12およびマルチキャストコピー処理部13をスイッチングボード21に、簡易マルチキャストコピー処理部14(14a、14b)および外部インターフェース15(15a、15b)を回線ボード22(22a、22b)にそれぞれ実装しても良い。このように機能毎にモジュール化することによって、パケット中継装置10内の構成を柔軟に変更することができる。
(2)図11は冗長化された本実施例に係るパケット中継装置の機能構成を示すブロック図である。第1および第2の実施例では、マルチキャストルーティング処理部11、マルチキャストテーブル処理部12およびマルチキャストコピー処理部13をそれぞれ1つずつ備えるパケット中継装置10を例にとって説明したが、図11に示すように、装置管理ボード20、スイッチングボード21および回線ボード22をそれぞれ複数備え、同一機能部(モジュール)の冗長化を図っても良い。この場合には、パケット中継装置10の信頼性を向上させることができる。
(3)図12はパケット中継装置の内部構成に関する他の変形例を示す説明図である。第1および第2の実施例に係るパケット中継装置10では、マルチキャストテーブル処理部12によって、検索テーブルT2およびアクションテーブルT3を用いたアクションの検索が実行されていたが、例えば、各簡易マルチキャストコピー処理部14に対して、検索テーブルT2およびアクションテーブルT3をそれぞれ用意し、各簡易マルチキャストコピー処理部14によって、アクションが検索されても良い。具体的には、各簡易マルチキャストコピー処理部14に対して検索テーブルT2およびアクションテーブルT3を格納するメモリを追加し、人気コンテンツについては、マルチキャストコピー処理部13を介して、マルチキャストルーティング処理部11から直接各簡易マルチキャストコピー処理部14に対して宛先IPアドレスおよび宛先MACアドレスを含む複製指示を送信するようにすれば良い。あるいは、マルチキャストテーブル処理部12において、エントリのみを特定し、特定したエントリをマルチキャストコピー処理部13を介して、マルチキャストテーブル処理部12から各簡易マルチキャストコピー処理部14に対して送信しても良い。この場合には、各簡易マルチキャストコピー処理部14には、アクションテーブルT3のみが備えられていれば良い。このように、本実施例における検索テーブルT2およびアクションテーブルT3は、種々の態様にて実装することができる。
(4)上記第1の実施例では、マルチキャストルーティング処理部11による不人気コンテンツについての検索テーブルT2およびアクションテーブルT3におけるエントリの作成について説明した。これに対して、受信装置から配信中止要求等を受けた場合には、マルチキャストルーティング処理部11は、検索テーブルT2およびアクションテーブルT3から該当エントリを削除する。これによって、検索テーブルT2およびアクションテーブルT3に必要なメモリリソースの低減化を図ることができる。削除のタイミングとしては、例えば、受信装置においてチャンネルが変更される、あるいは、電源がオフされると、受信装置からパケット中継装置10に対して、切換前のチャンネルに対応するマルチキャストグループからの離脱要求が送信される。また、受信装置は所定時間間隔で受信確認フレームを返信するので、視聴中に受信装置の電源が不意にオフされた場合、例えば、電源コードが抜かれた場合には、マルチキャストルーティング処理部11は、所定時間経過後に受信確認フレームの受信を確認できなければ、検索テーブルT2およびアクションテーブルT3から該当エントリを削除するようにしても良い。
(5)上記実施例では説明を容易にするため、送信装置からマルチキャストパケットを受け取った後の処理を中心に説明したが、パケット中継装置10より上流側のネットワークが、PIM-SM等のマルチキャストパケットルーティングプロトコルに従う場合には、受信装置による所望のマルチキャストグループへの参加要求、離脱要求といった処理、送信装置とパケット中継装置10および受信装置とパケット中継装置10の間に配置されている各中間パケット中継装置におけるマルチキャストルーティング処理は、各マルチキャストルーティングプロトコルに従って実行されることは言うまでもない。また、送信装置は、コンテンツがテレビ放送等のタイムテーブルに基づき配信されるコンテンツである場合には、例えば、パケット中継装置10に対して、常時、コンテンツであるマルチキャストパケットを配信しても良く、あるいは、受信装置から配信要求があったときに対応するマルチキャストパケットの配信を開始しても良い(いわゆるオンデマンド)。さらに、送信装置は、コンテンツが映画等の配信要求に基づき配信されるコンテンツである場合には、例えば、パケット中継装置10に対して、所定時間間隔で、コンテンツであるマルチキャストパケットをプッシュ配信しても良く(いわゆるニアオンデマンド)、あるいは、受信装置から配信要求があったときに対応するマルチキャストパケットの配信を開始しても良い(いわゆるオンデマンド)。
オンデマンドまたはニアオンデマンド方式の場合には、人気コンテンツについても、不人気コンテンツと同様にして、アクションテーブルT3が動的に作成されても良い。例えば、人気コンテンツ中の該当コンテンツに対応する既存のエントリの簡易マルチキャストコピーインターフェース情報に、受信装置から参加要求を受信したポート情報を追記すれば良い。さらに、オンデマンドまたはニアオンデマンド方式の場合には、参加要求または配信要求がネットワークに接続されている各パケット中継装置のマルチキャストのルーティングテーブルに反映された後、あるいは、本実施例に係るパケット中継装置10の検索テーブルT2およびアクションテーブルT3に反映された後に、受信装置に対するマルチキャストパケットの配信が開始される。また、コンテンツ配信はストリーミング型の配信であっても、ダウンロード型の配信であっても良い。
(6)パケット中継装置10またはパケット中継装置10の下流側ネットワークに接続されている受信装置からの各マルチキャストグループへの参加要求は、人気コンテンツに対応するマルチキャストグループについては、例えば、受信装置の電源がオンされたタイミング、テレビモニタの電源がオンされたタイミングにて、受信装置から送信装置へ向けて送信されてもよい。このようにすれば、参加要求が配信要求となり、タイムテーブルに基づき配信されるテレビ番組等のコンテンツについて自動的に配信が行われる。また、受信装置の電源がオフされたタイミング、テレビモニタの電源がオフされたタイミングにて、受信装置から送信装置へ向けて離脱要求が送信されてもよい。なお、パケット中継装置10に対して全てのコンテンツ(マルチキャストグループ)に関するマルチキャストパケットが送信される構成においては、上記の態様を採ることで、人気コンテンツに対応するマルチキャストグループについては、自動的に配信要求および配信停止要求がなされ、不人気コンテンツに対応するマルチキャストグループについては、ユーザによるチャンネル操作または配信要求ボタンの操作によって、配信要求および配信停止の要求が実現される。
(7)上記実施例では、マルチキャストルーティング処理部11はメモリに格納されたプログラムまたはモジュールをCPUが実行することによって実現されているが、論理回路等のハードウェアによって実現されても良い。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。