JP2007180960A - マルチキャスト制御装置 - Google Patents
マルチキャスト制御装置 Download PDFInfo
- Publication number
- JP2007180960A JP2007180960A JP2005377793A JP2005377793A JP2007180960A JP 2007180960 A JP2007180960 A JP 2007180960A JP 2005377793 A JP2005377793 A JP 2005377793A JP 2005377793 A JP2005377793 A JP 2005377793A JP 2007180960 A JP2007180960 A JP 2007180960A
- Authority
- JP
- Japan
- Prior art keywords
- multicast
- igmp
- data
- information management
- management table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】ユーザ装置からの連続的なマルチキャストグループへの参加/離脱要求に対しても品質が劣化することなく、しかも複数のユーザ装置を接続することができるようにする。
【解決手段】制御装置35はコアNW32とHGW38との間に配置され、IGMPによって送信されるデータを制御する。制御装置はHGWが参加するマルチキャストアドレスを記憶する情報管理テーブルを備え、HGWから連続的にマルチキャストグループに対して参加/離脱要求があった際、情報管理テーブルを参照してデータの配信を制御する。
【選択図】図1
【解決手段】制御装置35はコアNW32とHGW38との間に配置され、IGMPによって送信されるデータを制御する。制御装置はHGWが参加するマルチキャストアドレスを記憶する情報管理テーブルを備え、HGWから連続的にマルチキャストグループに対して参加/離脱要求があった際、情報管理テーブルを参照してデータの配信を制御する。
【選択図】図1
Description
本発明は、IGMP(Internet Group Management Protocol)によって制御されるストリーミングデータ(マルチキャストデータ)を制御する制御装置に関し、特に、ユーザからの連続的なマルチキャストグループへのJoin/Leave(参加/離脱)命令に対して配信希望以外のマルチキャストパケットをユーザへ配信しないように制御するマルチキャスト制御装置に関するものである。
一般に、IP(Internet Protocol)ネットワークに代表されるデータネットワークにおいては、マルチキャストが放送類似サービス又は放送に代替するサービスとして注目されている。類似技術としてビデオ・オンデマンド(VoD)があるが、マルチキャストは、VoDに比べて帯域を消費しないという利点があり、例えば、IGMPを使用するIPマルチキャストについて非特許文献1及び特許文献1〜3に記載されている。
IPマルチキャストにおいては、レイヤ2のスイッチ(L2スイッチ)がLANスイッチ及びルータ等に組み込まれており、その弱点としてマルチキャスト通信時におけるマルチキャストフレームのフラッディングがある。L2スイッチにおけるマルチキャストトラヒックのフラッディングを最も効率的に抑制する手段の一つとして、IGMPスヌーピングがある。IGMPスヌーピングでは、ホストと上位ルータとの間のIGMPのやり取りをスヌーピングして、マルチキャストアドレスと転送先ポートを対応付ける転送テーブルを随時更新する。そして、この更新には、エントリの追加と削除が含まれ、更新によって、マルチキャストトラヒックの不要な転送を抑制するようにしている。
図20はIPマルチキャストシステムの一般的な構成を示す図であり、マルチキャストサーバ10は、例えば、ストリーミングサーバ10a及びビデオサーバ10bを備え、IPマルチキャストネットワーク12のルータ14に接続される。サーバ10からマルチキャストされるデータグラムは、マルチキャストネットワーク12で複数のルータ14、16及び18を経由して、さらにL2スイッチ20を介してユーザ装置に到達する。一つのL2スイッチ20には複数のユーザ装置(Host)22−1〜22−N(Nは2以上の整数)が接続される。
各ユーザ装置22−1〜22−Nは、例えば、パーソナルコンピュータ又は映像データ受信用セットトップボックス(STB)からなる。なお、各ユーザ装置22−1〜22−Nは、さらに別のL2スイッチとこのL2スイッチに接続されるパーソナルコンピュータ及びSTBとからなることもある。ルータ間ではプロトコルPIM−SM(Protocol Independent Multicast−Sparse Mode)及びPIM−DM(Protocol Independent Multicast−Dense Mode)等のマルチキャストルーティングプロトコルが使用される。ルータはマルチキャスト・ルーティング・プロトコルをサポートする所謂マルチキャストルータである。ルータとユーザ装置の間ではIGMPが使用される。
L2スイッチ20を介して、ユーザ装置22−1〜22−Nと接続されるルータ18は、IGMP General Query(GQ)メッセージを用いて、所定の間隔(一定間隔)でユーザ装置22−1〜22−Nに受信状態を問い合わせる。いま、ユーザ装置22−n(nは1からNまでのいずれかの整数)がチャンネルCh1を視聴すると、ユーザ装置22−nはチャンネルCh1の視聴要求を、IGMP Membership Reportメッセージによって、ルータ18に通知する。L2スイッチ20では、このReportメッセージをスヌーピングして、内部のマルチキャストアドレスと転送先ポートを対応付けるテーブル(以下、IGMPスヌーピングテーブルと呼ぶ)に登録する。ルータ18は参加希望に応じて要請されたチャンネル(ここではCh1)のデータグラムをL2スイッチ20に出力し、L2スイッチ20は、IGMPスヌーピングテーブルを参照してそのデータグラムをユーザ装置22−nへのみ転送する。
ユーザ装置22−nがCh1を視聴している場合、ルータ18から一定間隔のGQによる問合せに対して、視聴状態にあることを所定の期間内(例えば10秒以内)にReportメッセージによって回答する。一方、ルータ18からの3回の問合せに対して配下のいずれのユーザ装置22−1〜22−Nからも回答がない場合、ネットワークの断又は配下のユーザ装置22−1〜22−Nが視聴の終了を通知しないままで電源をオフした可能性が高いので、ルータ18は配下のユーザ装置22−1〜22−Nへのマルチキャスト配信を停止する。
ユーザ装置22−nがチャンネルCh1の視聴を止める場合には、チャンネルCh1の視聴グループからの離脱を意味するIGMP Leave Groupメッセージをルータ18に送信する。ルータ18はユーザ装置22−nからLeave Groupメッセージを受信すると、即座にCh1を指定したIGMP Group−Specific Query(GSQ)メッセージを各ユーザ装置22−1〜22−Nに送信してから1秒後に、再度同一の内容でGSQメッセージを各ユーザ装置22−1〜22−Nに送信する。いずれの問合せに対しても、各ユーザ装置22−1〜22−Nから1秒以内にCh1の視聴の確認メッセージが来なければ、ルータ18はL2スイッチ20の配下のユーザ装置22−1〜22−NへのCh1の配送を停止する。
最初のGSQから3秒以上の所定時間内にいずれのユーザ装置からもチャンネルCh1の視聴の確認メッセージが出ないと、L2スイッチ20はIGMPスヌーピングテーブルからチャンネルCh1のエントリを削除する。
ところで、IGMPを用いたIPマルチキャストネットワークでは、ホスト(ユーザ端末装置)がIGMP Leave Groupメッセージを送出してから、上位ルータがマルチキャストトラヒックの転送を中止するまでには、プロトコルのデフォルト設定上2秒以上の時間が必要となる。そのため、L2スイッチにおけるIGMPスヌーピングテーブルの更新時間を、それ以上の3秒以上に設定するのが一般的となっている。
一方、マルチキャストグループからの離脱処理に対して、GSQによる処理を行わずに、IGMP Leave Groupメッセージを受信することによって、直ちに配信を中止するimmediate leave(即時離脱)機能がある。L2スイッチがimmediate leave機能を有する場合、上述のユーザ装置がチャンネルCh1の視聴を止める際の処理は次のようになる。
ユーザ装置22−nがチャンネルCh1の視聴を止めるため、チャンネルCh1の視聴グループからの離脱を意味するIGMP Leave Groupメッセージをルータ18に送信する。L2スイッチ20は、ユーザ装置22−nからのIGMP Leave Groupメッセージを受信すると、IGMPスヌーピングテーブルを参照して、チャンネルCh1のエントリを削除し、当該IGMP Leave Groupメッセージをルータ18へ転送する。
ルータ18がimmediate leave機能に対応していなければ、上述の場合と同様にして、ユーザ装置22−nからLeaveメッセージを受信すると、即座にルータはGSQの処理を開始する。ここで、L2スイッチ20では既にチャンネルCh1に対するエントリが削除されているので、GSQの処理の終了を待たずに、(たとえ、チャンネルCh1のデータが流れていたとしても)ユーザ端末装置22−nへのチャンネルCh1のデータ転送を行わない。
IPマルチキャストネットワーク開発ガイドVol1 ソフトバンク、P405−P419 特開2005−65045号公報
特開2004−64649号公報
特開2004−112724号公報
IPマルチキャストネットワーク開発ガイドVol1 ソフトバンク、P405−P419
ところで、従来のIPマルチキャストシステムにおいて、上述のIGMPスヌーピング機能を有するスイッチを用いると、マルチキャストグループからのLeaveプロセスでは、General−specific−queryに対する返信を待つためのタイマー設定時間だけ処理に時間を要する。そして、その間、Leave処理を行っている当該マルチキャストグループのデータが送信され続けることになる。
例えば、IGMPプロトコルを用いてTV放送のようなストリーミングデータ配信を行う場合に、ユーザが連続的にマルチキャストグループへのJoin/Leaveを行うと(TV放送などの場合の連続的なチャンネル切替:ザッピング)、このLeaveプロセスの処理時間のために、前に参加(Join)していたデータにより、一時的に使用する帯域が増加する。このため、使用している回線に一部帯域の狭い箇所などがあると、ユーザが連続的にマルチキャストグループへのJoin/Leaveを行うことによって、一時的に品質が劣化してしまう。
一方、immediate leave機能を用いると、GQ、GSQ処理を待たずに配信を中止するため、上述のような不都合は生じないものの、L2スイッチのポートに複数のユーザ装置が接続されて同一のチャンネルChを視聴しているような場合には、あるユーザ装置のLeave Groupメッセージによって、同一Chを視聴しているその他のユーザ装置への配信も停止してしまう。このため、L2スイッチのポートに接続されるユーザ装置は1台に限定されてしまうという問題がある。
また、複数のユーザ装置がIGMPプロキシ機能を持たないホームゲートウェイなどの機器を介して同一ポートに接続されていると、個々のユーザ装置の識別ができない場合がある。この場合には、従来技術ではimmediate leave機能を用いた、配信の停止処理を行うことができない。
本発明は、このような事情を考慮してなされたもので、その目的は、ユーザ装置からの連続的なマルチキャストグループへのJoin/Leave命令に対しても品質が劣化することなく、しかも複数のユーザ装置を同一ポートに接続することを実現できるマルチキャスト制御装置を提供することにある。
さらには、複数のユーザ装置がIGMPプロキシ機能を持たないホームゲートウェイなどの機器を介して同一ポートに接続されており、個々のユーザ装置が識別できない場合においても、immediate leave機能を用いた、配信の停止処理を行うことのできるマルチキャスト制御装置を提供することにある。
上記の課題を解決するために、本発明に係るマルチキャスト制御装置は、マルチキャストネットワークとユーザ装置との間に配置され、インターネットグループマネージメントプロトコル(IGMP)によって送信されるデータを制御するためのマルチキャスト制御装置であって、前記ユーザ装置が参加するマルチキャストアドレスを記憶する情報管理テーブルと、前記ユーザ装置からマルチキャストグループに対して参加/離脱要求があったときに、前記情報管理テーブルを参照して前記データの配信を制御する配信手段と、を備えたことを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記マルチキャストネットワークは定期的に問い合わせメッセージが送信されており、前記情報管理テーブルには前記マルチキャストアドレスに対応付けて前記問い合わせメッセージを受信したか否かを示す問い合わせ受信フラグが設定されていることを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記配信手段は、前記ユーザ装置から受信したデータがIGMPデータであるときに、当該IGMPデータがIGMPリポートデータ又はIGMPリーブデータであるか否かを判定する第1の判定手段と、前記IGMPデータがIGMPリーブデータであると、前記情報管理テーブルに登録された当該IGMPリーブデータが示すマルチキャストアドレスの登録数に応じて当該IGMPリーブデータを前記マルチキャストネットワークに転送するか否かを決定する第1の転送決定手段と、前記IGMPデータがIGMPリポートデータであると、当該IGMPリポートデータが示すマルチキャストアドレスと同一のアドレスが前記情報管理テーブルに登録されているか否かを確認する第2の判定手段と、該第2の判定手段による判定結果に応じて当該IGMPリポートデータを前記マルチキャストネットワークに転送するか否かを決定する第2の転送決定手段と、を有することを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記第1の転送決定手段は、前記情報管理テーブルに登録された前記IGMPリーブデータが示すマルチキャストアドレスの登録数がゼロであると当該IGMPリーブデータを破棄し、前記情報管理テーブルに登録された前記IGMPリーブデータが示すマルチキャストアドレスの登録数が1であると当該IGMPリーブデータが示すマルチキャストアドレスと同一のマルチキャストアドレスを前記情報管理テーブルから削除して当該IGMPリーブデータを前記マルチキャストネットワークに転送し、前記情報管理テーブルに登録された前記IGMPリーブデータが示すマルチキャストアドレスの登録数が2以上であると、当該IGMPリーブデータが示すマルチキャストアドレスと同一のマルチキャストアドレスの一つを前記情報管理テーブルから削除して当該IGMPリーブデータを破棄するようにしたことを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記第2の転送決定手段は、前記判定結果が前記IGMPリポートデータが示すマルチキャストアドレスが前記情報管理テーブルに登録されていないことを示していると、当該マルチキャストアドレスを前記情報管理テーブルに登録して当該IGMPリポートデータを前記マルチキャストネットワークに転送し、前記判定結果が前記IGMPリポートデータが示すマルチキャストアドレスが前記情報管理テーブルに登録されていることを示していると、当該マルチキャストアドレスに対する前記問い合わせ受信フラグの状態に応じて当該IGMPリポートデータを前記マルチキャストネットワークに転送するか否かを決定するようにしたことを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記第2の転送決定手段は、前記問い合わせ受信フラグがオフであると前記IGMPリポートデータが示すマルチキャストアドレスを前記情報管理テーブルに登録して前記IGMPリポートデータを破棄することを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記第2の転送決定手段は、前記問い合わせ受信フラグがオンであると前記マルチキャストアドレスに対する問い合わせ受信フラグをオフとして、前記IGMPリポートデータと同一のマルチキャストアドレスを含むIGMPリポートデータを既に前記マルチキャストネットワークに転送したか否かを判定するようにしたことを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記配信手段は、前記マルチキャストネットワークから受信したデータがIGMPデータ又はマルチキャストデータであるか否かを判定する第3の判定手段と、該第3の判定手段による判定結果に応じて前記マルチキャストネットワークから受信したデータを前記ユーザ装置に転送するか否かを決定する第3の転送決定手段と、を有することを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記第3の転送決定手段は、前記第3の判定手段による判定結果がIGMPデータであることを示していると、当該IGMPデータが問い合わせデータであるときには、前記情報管理テーブルに登録された全てのマルチキャストアドレスに対応する前記問い合わせ受信フラグをオンとして前記問い合わせデータを前記ユーザ装置に転送するようにしたことを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記第3の転送決定手段は、前記第3の判定手段による判定結果がマルチキャストデータであることを示していると、該マルチキャストデータの宛先マルチキャストアドレスと同一のマルチキャストアドレスが情報管理テーブルに登録されているか否かの確認を行い、当該確認結果に応じて前記マルチキャストデータを前記ユーザ装置に転送するか否かを決定するようにしたことを特徴とする。
本発明に係るマルチキャスト制御装置においては、前記情報管理テーブルには前記ユーザ装置を識別するための識別アドレスと前記マルチキャストアドレスとが対応付けて登録されており、前記ユーザ装置から受信するデータには前記識別アドレスが付加され、前記配信手段は、前記識別アドレス又は前記マルチキャストアドレスを前記情報管理テーブルから参照し、前記データの配信を決定するようにしたことを特徴とする。
本発明によれば、ユーザ装置が参加するマルチキャストアドレスを記憶する情報管理テーブルを設け、ユーザ装置からマルチキャストグループに対して参加/離脱要求があったときに、情報管理テーブルを参照してデータの配信を制御するようにしたので、ユーザ装置からの連続的なマルチキャストグループへのJoin/Leave命令(参加/離脱要求)に対しても品質の劣化を防止することができると共に、複数のユーザ装置を同一ポートに接続することができる。
さらには、複数のユーザ装置がIGMPプロキシ機能を持たないホームゲートウェイなどの機器を介して同一ポートに接続されており、個々のユーザ装置が識別できない場合においても、immediate leave機能を用いた、配信の停止処理を行うことができる。
さらに、不要なデータの送信を抑えて、帯域を有効に利用できるばかりでなく、IPマルチキャストによるストリーミングサービスを受けるために必要な帯域を低減することができる。そして、1ストリーミングデータを送信できる帯域があれば、ユーザは品質の劣化なくストリーミングサービスを受けることが可能になる。
以下、図面を参照し、本発明の実施の形態について説明する。なお、本実施の形態では、IGMPv2プロトコルを用いたIPマルチキャスト放送を例にして説明する。IGMP−leave命令はIGMPv2プロトコルで提供されている。
図1はブロードバンドマルチメディアサービス提供システムの一例を示す図であり、ここでは、宅内配線の一部に無線LANを用いた例が示されている。いま、ユーザ宅がインターネットアクセス、IP電話、及びIPマルチキャストによるTV配信(以下IPTV放送と呼ぶ)を提供するサービスに加入しているとする。ユーザ宅30は光ファイバ31を用いてコアネットワーク(コアNW:マルチキャストネットワーク)32と接続されており、コアNW32には当該サービスを提供するためのサーバ等が配置されている。
図1はブロードバンドマルチメディアサービス提供システムの一例を示す図であり、ここでは、宅内配線の一部に無線LANを用いた例が示されている。いま、ユーザ宅がインターネットアクセス、IP電話、及びIPマルチキャストによるTV配信(以下IPTV放送と呼ぶ)を提供するサービスに加入しているとする。ユーザ宅30は光ファイバ31を用いてコアネットワーク(コアNW:マルチキャストネットワーク)32と接続されており、コアNW32には当該サービスを提供するためのサーバ等が配置されている。
一方、ユーザ宅30ではコアNW32に接続された光ファイバ31をメディアコンバータ33によってLANケーブル34に接続し、LANケーブル34は後述する制御装置35に接続される。さらに、制御装置35は無線装置36に接続される。無線装置36と無線通信する無線装置37には、HGW(Home GateWay)38が接続され、HGW38はそれぞれIP電話を行うためのIP電話機39及びインターネットアクセスを行うPC(personal computer)40に接続されるとともに、STB(Set Top Box)41a及び41bを介してTV(Television Set)42a及び42bに接続されている(ここでは、HGWがユーザ装置である)。
HGW38はインターネットアクセス、IP電話、及びIPTV放送等のサービス毎にそれぞれ該当するデータを振り分けるための機器であり、STB41a及び41bはIPTV放送に対して、チャンネル選択及び切替の要求を送信する機能、受信したIPTV放送のIPマルチキャスト信号をアナログ信号に変換し出力する機能等を備えている。
なお、図示の例においては、HGW38にはIGMPプロキシは実装されていないものとする。また、無線区間はIPTV放送の2チャンネル分であれば送信できる帯域を有するものとする。そして、図示の例では、無線装置36及び37を用いているが、無線装置に限定されることなく、例えば、PLC(Power Line Communication)を用いるようにしてもよい。加えて、図示の例では、無線区間をメディアコンバータとHGWの間に設定しているが、例えば、HGW−STB間に無線区間を設定するようにしてもよい。さらに、ユーザ宅30は戸建に限定されず、例えば、集合住宅であってもよい。
図2は図1に示す制御装置35の構成を詳細に示す図であり、図2を参照すると、制御装置35は第1及び第2のネットワークインターフェイスカード(NIC)43a及び43bを備えており、第1のNIC43aはHGW側(無線装置36)に接続されており、第2のNIC43bはコアネットワーク側(メディアコンバータ33)に接続されているものとする。第1及び第2のNIC43a及び43bはそれぞれ第1及び第2の受信処理部44a及び44bと第1及び第2の送信処理部45a及び45bに接続されている。そして、第1の受信処理部44aはCH(チャンネル)情報管理部46及び第1のバッファ47a及びパケット廃棄処理部49aに接続されている。CH情報管理部46はタイマー処理部(タイマー部)48に接続され、第1のバッファ47aは第2の送信処理部45bに接続される。
一方、第2の受信処理部44bはパケット廃棄処理部49bに接続され、パケット廃棄処理部49bは第2のバッファ47bを介して第1の送信処理部45aに接続される。なお、後述するように、CH情報管理部46とパケット廃棄処理部49a,49bとは連携して動作を行い、制御装置35には外部からの制御を受け付けるため制御コマンド処理部50が存在する。
続いて、図2〜図5を参照して、制御装置35の動作について説明する。まず、図3、図4に示すHGWからデータを受信した際の処理について説明する。HGW38からのデータは第1のNIC43aで受信され(NICパケット受信:図3、ステップS1)、第1の受信処理部44aへ転送される。第1の受信処理部44aでは当該データがIGMPパケットであるかどうかの確認を行う(ステップS2)。ここで、IGMPパケットであるかどうかの確認は、イーサタイプがIPであるかどうか、IPプロトコルがIGMPデータであるかを確認することによって行われる。
ステップS2においてデータがIGMPパケットでないと確認されると、第1の受信処理部44aは第2のバッファ47bを介して当該データを第2の送信処理部45bに転送する(ステップS3)。そして、このデータは第2のNIC43bを介してコアNW側に転送される。
ステップS2において、データ(パケット)がIGMPパケットであると、第1の受信処理部44aはCH情報管理部46と連携して次の処理を行う。CH情報管理部46はパケット廃棄処理部49bが参照するテーブル(参照テーブル)を保持しており、この参照テーブルは、例えば、図6に示すように、複数の(配信を希望する)マルチキャストアドレス格納欄51を備え(つまり、複数のマルチキャストアドレスが保持でき)、各マルチキャストアドレスに対してGeneral−query受信フラグ52が対応付けられている。以下、この参照テーブルをCH情報管理テーブルと呼ぶ。CH情報管理部46では、転送されたIGMPパケットがIGMP−reportであるか、IGMP−leaveであるか、それ以外のIGMPパケットであるかについてIGMPパケット内のIGMPv2タイプに応じて判別する(ステップS4)。
いま、IGMPパケットがIGMP−report及びIGMP−leave以外のIGMPパケットであると、第1の受信処理部44aは当該パケットを、第1のバッファ47aを介して、第2の送信処理部45bへ送信し、IGMPパケットは第2の送信処理部45bによって第2のNIC43bを介してコアNW側へ転送される(ステップS5)。
IGMPパケットがIGMP−leaveパケットであると、CH情報管理部46ではCH情報管理テーブルに保持されている当該IGMP−leaveに格納されたマルチキャストアドレスの登録数の確認を行う(ステップS6)。ステップS6において、当該IGMP−leaveに格納されているマルチキャストアドレスに対する登録が無いと(つまり、ゼロであると)、パケット廃棄処理部49aは当該IGMP−leaveパケットを破棄する(ステップS7)。
一方、当該IGMP−leaveに格納されているマルチキャストアドレスに対する登録が1つであると、CH情報管理部46は当該IGMP−leaveパケットのグループアドレスフィールドに格納されたマルチキャストアドレスと同一のCH情報管理テーブルに保持された当該マルチキャストアドレスを削除する(ステップS8)。そして、第1の受信処理部44aは当該IGMP−leaveパケットを、第1のバッファ47aを介して、第2の送信処理部45bへ送信し、当該IGMP−leaveパケットは第2の送信処理部45bによって第2のNIC43bを介してコアNW側へ転送される(ステップS9)。
また、ステップS6において、当該IGMP−leaveに格納されているマルチキャストアドレスに対する登録が2つ以上であると、CH情報管理部46では、当該IGMP−leaveパケットに格納されたマルチキャストアドレスと同一のマルチキャストアドレスの一つをCH情報管理テーブルから削除する(ステップS10)。そして、パケット廃棄処理部49aが当該IGMP−leaveパケットを破棄する(ステップS11)。
ステップS4において、当該受信パケットがIGMP−reportパケットであると、CH情報管理部46は当該IGMP−reportパケットのグループアドレスフィールドに格納されているマルチキャストアドレスと同一のアドレスがCH情報管理テーブルに登録されているか否かを確認する(ステップS12)。ステップS12において、当該マルチキャストアドレスがCH情報管理テーブルに登録されていないと、CH情報管理部46は当該マルチキャストアドレスをCH情報管理テーブルに登録する(ステップS13)。そして、第1の受信処理部44aは当該IGMP−reportパケットを、第1のバッファ47aを介して、第2の送信処理部45bへ送信し、当該IGMP−reportパケットは第2の送信処理部45bによって第2のNIC43bを介してコアNW側へ転送される(ステップS14)。
ステップS12において、当該マルチキャストアドレスが当該マルチキャストアドレス格納欄に登録されていると、CH情報管理部46では、当該マルチキャストアドレスに対するGeneral−query受信フラグが少なくとも1つはオン(ON)となっているか否かを確認する(図4、ステップS15)。当該フラグがオフ(OFF)であると、CH情報管理部46は、受信したIGMP−reportのグループアドレスフィールドに格納された当該マルチキャストアドレスをCH情報管理テーブルに登録する(ステップS16)。そして、パケット廃棄処理部49aが当該パケットを破棄する(ステップS17)。
ステップS15において、当該受信フラグの少なくとも一つがONであると、CH情報管理部46は当該マルチキャストアドレスに対するGeneral−query受信フラグをOFFとして、さらに、タイマー部48にセットされているタイマーを解除する(ステップS18)。但し、CH情報管理テーブルに、当該マルチキャストアドレスに対するGeneral−query受信フラグがONである登録が複数あると、そのうちの一つのみに対して上述の処理を行う。
続いて、CH情報管理部46では、タイマー部48がONにされてから、グループアドレスフィールドに当該マルチキャストアドレスと同一のマルチキャストアドレスを格納した別のIGMP−reportパケットを、既に第2のNIC43bに転送しているか否かを確認する(ステップS19)。ステップS19において、転送していないと判定されると、第1の受信処理部44aは当該IGMP−reportを、第1のバッファ47aを介して、第2の送信処理部45bへ送信し、当該IGMP−reportパケットが第2の送信処理部45bによって第2のNIC43bを介してコアNW側へ転送される(ステップS20)。一方、ステップS19において、転送していると判定されると、パケット廃棄処理部49aは当該IGMP−reportパケットを破棄する(ステップS21)。
次に、図5に示すコアNW側からデータを受信した際の制御装置35における処理について説明する。コアNWからのデータは第2のNIC43bで受信され、第2の受信処理部44bへ転送される(ステップS22)。第2の受信処理部44bでは当該受信パケットがIGMPパケットであるか、マルチキャストパケットであるか、及びそれ以外のパケットであるか否かについてそれぞれイーサタイプがIPであるか、IPプロトコルがIGMPv2であるか、及びIPパケットの宛先IPアドレスがマルチキャストアドレスであるか否かによって行う(ステップS23)。
なお、マルチキャストアドレスであるか否かの判別は、例えば、宛先MACアドレスの先頭バイトの最下位ビットが“1”であり、かつ宛先IPアドレスの先頭バイトが“224〜239”の範囲内であるか否かによって行う。
ステップS23において、当該パケットがIGMPパケット又はマルチキャストパケット以外であると、第2の受信処理部44bは当該パケットを、第2のバッファ47bを介して、第1の送信処理部45aへ転送し、第1の送信処理部45aによって第1のNIC43aを介してHGW側へ当該パケットが送信される(ステップS24)。
ステップS23において、当該パケットがIGMPパケットであると、CH情報管理部46によって、受信パケットがGeneral−queryかそれ以外かであるかが判定され(ステップS25)、受信パケットがGeneral−query以外であると、第2の受信処理部44bでは当該パケットを、第2のバッファ47bを介して、第1の送信処理部45aへ転送し、第1の送信処理部45aによって第1のNIC43aを介してHGW側へ当該パケットが送信される(ステップS26)。
ステップS25において、受信パケットがGeneral−queryパケットであると、CH情報管理部46ではCH情報管理テーブルに登録されている全てのマルチキャストアドレスに対するGeneral−query受信フラグをONにし、さらに、CH情報管理テーブルに登録されている全てのマルチキャストアドレスに対してタイマー部48を起動させる(ステップS27)。その後、第2の受信処理部44bでは当該パケットを、第2のバッファ47bを介して、第1の送信処理部45aへ転送し、第1の送信処理部45aによって第1のNIC43aを介してHGW側へ当該パケットが送信される(ステップS28)。
なお、タイマー部48におけるカウントが終了した際には、図5に破線で示すように、CH情報管理テーブルにおいてGeneral−query受信フラグがONとなっているマルチキャストアドレスは全てCH情報管理テーブルから削除される(ステップS29)。
ステップS23において、当該受信パケットの宛先IPアドレスがマルチキャストアドレスであるマルチキャストパケットを受信すると、CH情報管理部46は、当該受信パケットの宛先マルチキャストアドレスと同一のマルチキャストアドレスがCH情報管理テーブルに登録されているか否かの確認を行う(ステップS30)。ステップS30において、CH情報管理テーブルに当該マルチキャストアドレスの登録がないと、パケット廃棄処理部49bによって当該受信マルチキャストパケットが破棄される(ステップS31)。
一方、CH情報管理テーブルに当該マルチキャストアドレスの登録があると、第2の受信処理部44bでは当該パケットを、第2のバッファ47bを介して、第1の送信処理部45aへ転送し、第1の送信処理部45aによって第1のNIC43aを介してHGW側へ当該パケットが送信される(ステップS32)。
このようにして、制御装置35ではIPTV放送において、その他のチャンネルデータを破棄して、受信を希望するチャンネルデータのみをユーザ側へ転送しており、これによって、ユーザが連続的にマルチキャストグループに対してJoin/Leaveを行った際に生じる一時的な使用帯域の増加を、帯域が狭くなる無線区間の前で抑制することができることになる。
さらに、CH情報管理テーブルに同一マルチキャストアドレスであっても複数登録するようにしたので、複数のユーザ装置がIGMPプロキシ機能を持たないホームゲートウェイなどの機器を介して同一ポートに接続されており、個々のユーザ装置が識別できない場合においても、immediate leave機能を用いた、配信の停止処理を行うことが可能になる。
続いて、IPTV放送の視聴開始時の流れを図7に示す。図1及び図7を参照して、いま、ユーザがIPTV放送のチャンネル1(CH1)の視聴を第1のSTB41aによって開始し、その後、第2のSTB41bによって同様にCH1を視聴するものとする。ユーザがIPTV放送のリモコン等で第1のSTB41aに対してCH1の選択を行うと(P1)、第1のSTB41aからIGMP−reportパケットが送信される。当該IGMPパケットは、タイプフィールドがreportであり、グループアドレスフィールドにはCH1に該当するマルチキャストアドレスが格納されている。なお、当該パケットの送信元MACアドレスはHGW38のMACアドレスとなるとする。
制御装置35では、IGMP−reportパケットからCH1に該当するマルチキャストアドレスをCH情報管理テーブルに登録し、当該IGMP−reportパケットをコアNWへ転送する(P2)。
コアNW32内にて、当該IGMP−reportパケットが処理され、ユーザに対してCH1のチャンネルデータがマルチキャスト伝送される(P3)。制御装置35では、CH情報管理テーブルにはCH1に該当するマルチキャストアドレスが登録されているため、HGW38へ当該チャンネルデータを転送する(P4)。そして、ユーザはCH1のIPTV放送を視聴する(P5)。
ユーザがIPTV用のリモコン等で第2のSTB41bに対してCH1の選択を行うと、第2のSTB41bからIGMP−reportパケットが送信される(P6)。当該IGMPパケットは、タイプフィールドがreportであり、グループアドレスフィールドにはCH1に該当するマルチキャストアドレスが格納されている。
制御装置35では、CH情報管理テーブルのGeneral−query受信フラグがOFFであるので、CH1に該当するマルチキャストアドレスをさらにCH情報管理テーブルに登録し、当該IGMP−reportパケットは破棄される(P7)。
さらに、制御装置35では、CH情報管理テーブルにCH1に該当するマルチキャストアドレスが登録されているため、CH1のデータをHGW38へ転送する(P8)。そして、ユーザは第2のSTB41bに接続されたTV42bによってCH1を視聴する(P9)。
次に、IPTVチャンネル切替時の流れを図8に示す。図1及び図8を参照して、いまユーザはIPTV放送のチャンネル1(CH1)を第1及び第2のSTB41a及び41bで視聴しており、その後、第2のSTB41bがCH2にチャンネルを切替えるとするものとする。
第1のSTB41aに接続されたTV42aによってCH1を、第2のSTB41bに接続されたTV42bによってCH1を視聴しているとする(P10)。ユーザが第2のSTB41bのチャンネルを切替えるために、IPTV放送用のリモコン等で第2のSTB41bに対して、チャンネルをCH2に切替えると(P11)、第2のSTB41bからIGMP−leaveパケットに続いてIGMP−reportパケットが送信される。なお、IGMP−leaveパケットは、タイプフィールドがleaveであり、グループアドレスフィールドにはCH1に該当するマルチキャストアドレスが格納されている。一方、IGMP−reportパケットは、タイプフィールドがreportであり、グループアドレスフィールドにはCH2に該当するマルチキャストアドレスが格納されている。
第1及び第2のSTB41a及び41bにおいて、同一チャンネルCH1を視聴していたため、制御装置35ではCH情報管理テーブルにCH1に該当するマルチキャストアドレスが2つ登録されていることになる。当該IGMP−leaveパケットを受信した制御装置35は、CH情報管理テーブルからCH1に該当するマルチキャストアドレスの一つを削除し、当該IGMP−leaveパケットを破棄する(P12)。さらに、制御装置35はIGMP−reportを受信して、CH情報管理テーブルにCH2に該当するマルチキャストアドレスを登録し、コアNW側へ当該IGMP−reportパケットを転送する。
IGMP−reportがコアNW内にて処理され(P13)、当該ユーザへCH2のデータがマルチキャスト送信される。制御装置35では、CH情報管理テーブルにCH1及びCH2に該当するマルチキャストアドレスが登録されているので、CH1及びCH2のデータをHGW38側へ転送する(P14)。
制御装置−TV間はIPTV放送に関するデータは配信を希望する2つのチャンネルCH1,CH2のみが送信され、ユーザは第1のSTB41aに接続されたTV42aによってCH1を視聴し、第2のSTB41bに接続されたTV42bによってCH2を視聴する(P15)。
さらに、IPTVチャンネル切替時の流れを図9に示す。図1及び図9を参照して、ユーザはIPTV放送のチャンネル1(CH1)を第1のSTB41aによって、CH2を第2のSTB41bによって視聴しており、その後、第2のSTB41bがCH3にチャンネルを切替えるものとする。
第1のSTB41aに接続されたTV42aによってCH1を、第2のSTB41bに接続されたTV42bによってCH2を視聴しているとする(P16)。ユーザが第2のSTB41bのチャンネルを切替えるために、IPTV放送用のリモコン等で第2のSTB41bについてチャンネルをCH3に切替えると(P17)、第2のSTB41bからIGMP−leaveパケットに続いてIGMP−reportパケットが送信される。なお、IGMP−leaveパケットは、タイプフィールドがleaveであり、グループアドレスフィールドにはCH2に該当するマルチキャストアドレスが格納されている。一方、IGMP−reportパケットは、タイプフィールドがreportであり、グループアドレスフィールドにはCH3に該当するマルチキャストアドレスが格納されている。
当該IGMP−leaveパケットを受信した制御装置35は、CH情報管理テーブルからCH2に該当するマルチキャストアドレスを削除し、当該IGMP−leaveパケットを転送する(P18)。さらに、制御装置35はIGMP−reportを受信して、CH情報管理テーブルにCH3に該当するマルチキャストアドレスを登録し、コアNW側へ当該IGMP−reportパケットを転送する。CH情報管理テーブルからCH2に該当するマルチキャストアドレスを削除した時点で、制御装置35は、受信するCH2に関するパケットを転送せず廃棄する(immediate leave機能)。
IGMP−leaveを受信したコアNW32では、IGMP−leaveプロセスを開始する(P19)。さらに、受信したIGMP−reportがコアNW32内にて処理され、当該ユーザへCH3のデータがマルチキャスト送信される。制御装置35では、IGMP−leaveプロセスが終了するまでは、CH1、CH2及びCH3のデータを受信する(P20)。CH情報管理テーブルにはCH1及びCH3に該当するマルチキャストアドレスのみ登録されているので、CH2のマルチキャストデータは制御装置35によって破棄され、CH1及びCH3のデータがHGW側へ転送される。
制御装置−TV間はIPTV放送に関するデータは配信を希望する2つのチャンネルCH1,CH3のみが送信され、ユーザは第1のSTB41aに接続されたTV42aによってCH1を視聴し、第2のSTB41bに接続されたTV42bによってCH3を視聴する(P21)。
続いて、IGMP−leave紛失時の流れを図10に示す。図1及び図10を参照して、いま、ユーザはIPTV放送のチャンネル1(CH1)を第1のSTB41aによって、CH2を第2のSTB41bによって視聴しており、その後、第2のSTB41bがCH2の視聴を終了する際、IGMP−leaveパケットが制御装置35に到着する前に紛失したものとする。
第1のSTB41aに接続されたTV42aによってCH1を、第2のSTB41bに接続されたTV42bによってCH2を視聴しているとする(P22)。ユーザがIPTV放送のCH2の視聴を止めるため、例えば、IPTV放送用のリモコンの終了ボタン等を押すと(P23)、第2のSTB41bではコアNW32へIGMP−leaveパケットを送信する。ここで、IGMP−leaveパケットのタイプフィールドはleaveであり、グループアドレスフィールドはCH2に該当するマルチキャストアドレスが格納されている。ここで、当該IGMP−leaveパケットが制御装置35に到着する前に紛失したとすると、当該IGMP−leaveパケットを受信しないため、制御装置35は、CH2のデータをユーザへ転送し続ける(P24)。
コアNW32からGeneral−queryが送信される(P25)。General−queryパケットは定期的に送信されているものとする。General−queryパケットを受信した制御装置35は、CH情報管理テーブルの各General−query受信フラグをONにし、タイマー部48を起動させて、当該General−queryパケットをHGW38へ転送する(P26)。
General−queryを受信した第1のSTB41aはCH1を受信しているため、IGMP−reportパケットを作成しコアNW32へ送信する(P27)。ここで、IGMP−reportパケットのタイプフィールドはreportであり、グループアドレスフィールドは現在視聴しているCH1に該当するマルチキャストアドレスを格納する。一方、第2のSTB41bは既にIPTV放送サービスを受けていないため、General−queryパケットに対する動作は行わない(P28)。
制御装置35では、第1のSTB41aから送信されたIGMP−reportパケットを受信して、CH情報管理テーブルのCH1に該当するマルチキャストアドレスを保存している格納欄のGeneral−query受信フラグをOFFにして、さらに、タイマー部48を解除し、当該IGMP−reportパケットをコアNWへ転送する(P29)。一方、第2のSTB41bからCH2に対するマルチキャストアドレスを格納したIGMP−reportパケットは送信されないので、セットしたタイマー部48が終了するのを契機にして、制御装置35はCH情報管理テーブルのGeneral−query受信フラグがONのままであるCH2に該当するマルチキャストアドレスを削除する。
次に、本実施の形態によるブロードバンドマルチメディアサービス提供システムの他の例を説明する。
図11は本実施の形態によるブロードバンドマルチメディアサービス提供システムの他の例を示す図であり、図11ではユーザ宅へのアクセスとして光ファイバの代わりに無線装置を用いた例が示されている。図11において図1に示す構成要素と同一の構成要素については同一の符号が付されている。図11では、コアNW32に接続された光ファイバ31は、ビル53に配置されたメディアコンバータ54に接続され、メディアコンバータ54はLANケーブル34を介して制御装置35に接続されている。そして、制御装置35は無線装置55に接続されている。
制御装置35と接続された無線装置55の無線通信相手である無線装置56及び57がそれぞれユーザ宅58及び59に設置されている。ユーザ宅58及び59にはそれぞれHGW60a及び60b、STB61a及び61b、IP電話機62a及び62b、PC63a及び63b、及びTV64a及び64bが配置され、無線装置56及び57はそれぞれHGW60a及び60bに接続され、HGW60a及び60bはそれぞれIP電話機62a及び62b、PC63a及び63b、及びSTB61a及び61bに接続されている。そして、STB61a及び61bにはTV64a及び64bが接続されている。なお、無線区間はユーザ宅58及び59の夫々に対してIPTV放送の1チャネル分であれば提供可能なだけの帯域を有している。
図11に示す例においては、図2に示すCH情報管理部46は、例えば、図12に示すCH情報管理テーブルを有しており、図示のCH情報管理テーブルでは、図6に示すCH情報管理テーブルに加えてさらにMACアドレス格納欄65にHGWのMACアドレス(ユーザ識別アドレス)が登録される。なお、図示の例では、ユーザ宅58及び59にはそれぞれ一台のSTBが備えられているが、図1に示すように、各ユーザ宅58及び59に複数のSTBを備えるようにしてもよく、この場合には、CH情報管理テーブルには各HGWのMACアドレスに対して複数の(配信を希望する)マルチキャストアドレスが登録される。また、マルチキャストアドレス格納欄51に対して、夫々General−query受信フラグ52を有する。
続いて、図2、図11、図13、図14、図15及び図16を参照して、制御装置の動作について説明する。
まず図13において、HGWからデータを受信した際の処理について説明すると、HGW60a,60bからのデータは第1のNIC43aで受信され(ステップS33)、第1の受信処理部44aへ転送される。第1の受信処理部44aでは当該データがIGMPパケットであるか否かの確認を行う(ステップS34)。ここで、IGMPパケットであるか否かの確認は、例えば、イーサタイプがIPであるか否か、IPプロトコルがIGMPデータであるか否かを確認することによって行われる。
まず図13において、HGWからデータを受信した際の処理について説明すると、HGW60a,60bからのデータは第1のNIC43aで受信され(ステップS33)、第1の受信処理部44aへ転送される。第1の受信処理部44aでは当該データがIGMPパケットであるか否かの確認を行う(ステップS34)。ここで、IGMPパケットであるか否かの確認は、例えば、イーサタイプがIPであるか否か、IPプロトコルがIGMPデータであるか否かを確認することによって行われる。
ステップS34において、受信パケットがIGMPパケットでないと、パケットは第1のバッファ47aを介して第2の送信処理部45bへ転送され、コアNW32へ当該パケットは転送される(ステップS35)。一方、受信パケットがIGMPパケットであると、CH情報管理部46では、パケットの種別を判別する(ステップS36)。ステップS36において、受信パケットがIGMP−report及びIGMP−leave以外のIGMPパケットであると、第1のバッファ47aを介して、当該パケットは第2の送信処理部45bへ送信され、第2の送信処理部45bによって第2のNIC43bを介してコアNW側へ転送される(ステップS37)。
ステップS36において、受信パケットがIGMP−leaveパケットであると、CH情報管理部46では、当該IGMP−leaveパケットを送信した装置のMACアドレスが、CH情報管理テーブルに登録されているか否かを確認する(図14、ステップS38)。ステップS38において、CH情報管理テーブルに当該IGMP−leaveパケットを送信した装置のMACアドレスが登録されていないと、CH情報管理部46はCH情報管理テーブルに当該IGMP−leaveパケットのグループアドレスフィールドに格納されたマルチキャストアドレスが登録されているか否かを確認する(ステップS39)。
そして、当該IGMP−leaveパケットに格納されたマルチキャストアドレスが、CH情報管理テーブルに登録されていなければ、当該パケットは、第1のバッファ47aを介して第2の送信処理部45bへ送信され、第2の送信処理部45bによって第2のNIC43bを介してコアNW側へ転送される(ステップS40)。一方、ステップS39において、CH情報管理テーブルにおいて、当該IGMP−leaveパケットに格納されたマルチキャストアドレスが保持されていると、パケット廃棄処理部49aによって当該IGMP−leaveパケットが破棄される(ステップS41)。
ステップS38において、CH情報管理テーブルのMACアドレス格納欄に当該IGMP−leaveパケットを送信した装置のMACアドレスが登録されていると、CH情報管理部46では、CH情報管理テーブルを参照して、当該IGMP−leaveパケットを送信した装置のMACアドレス格納欄におけるIGMP−leaveに格納されたマルチキャストアドレスの登録数の確認を行う(ステップS42)。
ステップS42において、CH情報管理テーブルの当該MACアドレス格納欄において、当該IGMP−leaveに格納されているマルチキャストアドレスに対する登録が無いと、処理はステップS39に移行する。
一方、ステップS42において、CH情報管理テーブルの当該MACアドレス格納欄において、当該IGMP−leaveに格納されているマルチキャストアドレスに対する登録が1つであると、CH情報登録部46では、当該IGMP−leaveパケットのグループアドレスフィールドに格納されたマルチキャストアドレスと同一の当該MACアドレス格納欄に保持された当該マルチキャストアドレスを削除して(ステップS43)、ステップS39に移行する。
また、ステップS42において、CH情報管理テーブルの当該MACアドレス格納欄において、当該IGMP−leaveに格納されているマルチキャストアドレスに対する登録が2つ以上であると、CH情報管理テーブルの当該MACアドレス格納欄に保持された当該IGMP−leaveパケットに格納されたマルチキャストアドレスと同一のマルチキャストアドレスの一つが削除されて(ステップS44)、当該IGMP−leaveパケットが破棄される(ステップS45)。
図13のステップS36において、当該受信パケットがIGMP−reportパケットであると、CH情報管理部46では、CH情報管理テーブルに当該IGMP−reportを送信した装置のMACアドレスが登録されているか否かを確認する(ステップS46)。ステップS46において、CH情報管理テーブルに当該MACアドレスが登録されていないと、CH情報管理部46では、CH情報管理テーブルに当該IGMP−reportパケットを送信した装置のMACアドレスと当該IGMP−reportパケット内のグループアドレスフィールドに格納されたマルチキャストアドレスを登録した後(ステップS47)、CH情報管理テーブルの他の装置に対する欄に当該IGMP−reportパケットのグループアドレスフィールドに格納されたマルチキャストアドレスと同一のアドレスが登録されているか否かを確認する(ステップS48)。
ステップS48において、他の装置に対する欄に当該マルチキャストアドレスが登録されていないと、当該パケットは、第1のバッファ47aを介して、第2の送信処理部45bに送信され、第2の送信処理部45bによって第2のNIC43bを介してコアNW側へ転送される(ステップS49)。一方、当該マルチキャストアドレスが登録されていると、パケット廃棄処理部49aによって当該IGMP−reportパケットが廃棄される(ステップS50)。
ステップS46において、CH情報管理テーブルに当該MACアドレスが登録されていると、当該CH情報管理部46では、当該MACアドレスに対応する欄に、当該IGMP−reportパケットのグループアドレスフィールドに格納されているマルチキャストアドレスと同一のアドレスが登録されているか否かを確認する(ステップS51)。
ステップS51において、当該マルチキャストアドレスが当該MACアドレスの欄に登録されていないと、CH情報管理部46は、当該MACアドレスの欄に当該マルチキャストアドレスを登録して(ステップS52)、ステップS48に移行する。
一方、当該マルチキャストアドレスが当該MACアドレスの欄に登録されていると、CH情報管理部46では、CH管理情報テーブルの当該MACアドレス欄に登録されている当該マルチキャストアドレスに対するGeneral−query受信フラグのうち少なくとも一つがONとなっているか否かを確認する(図15、ステップS53)。
ステップS53において、当該マルチキャストアドレスに対する当該フラグが全てOFFであると、CH情報管理部46は、CH情報管理テーブル内の当該MACアドレス欄に当該IGMP−reportグループアドレスフィールド内に格納されたマルチキャストアドレスを登録して(ステップS54)、パケット廃棄処理部49aによって当該IGMP−reportパケットを破棄する(ステップS55)。
一方、ステップS53において、当該受信フラグのうち少なくとも一つがONであると、CH情報管理部46では、当該MAC欄の当該マルチキャストアドレスに対するGeneral−query受信フラグをOFFとして、さらにセットされているタイマー部48を解除する(ステップS56)。但し、当該MAC欄の当該マルチキャストアドレスに対する登録が複数あって、且つそのGeneral−query受信フラグが複数ONとなっている際には、そのうちの一つのみに上述の処理が行われる。
その後、CH情報管理部46は、タイマー部48がONされてから、グループアドレスフィールドに当該マルチキャストアドレスと同一のマルチキャストアドレスを格納した別のIGMP−reportパケットが既に第2のNIC43bへ転送されているか否かを確認する(ステップS57)。転送していないと、当該IGMP−reportは、第1のバッファ47aを介して第2の送信処理部45bへ送信され、第2の送信処理部45bによって第2のNIC43bを介してコアNW側へ転送される(ステップS58)。一方、既に転送されていると、パケット廃棄処理部49aによって当該IGMP−reportパケットが廃棄される(ステップS59)。
続いて、図16において、コアNW側からデータを受信した際の制御装置における処理について説明する。コアNW32からのデータは第2のNIC43bで受信され、第2の受信処理部44bへ転送される(ステップS60)。第2の受信処理部44bでは、当該受信パケットがIGMPパケットであるか、マルチキャストパケットであるか、及びそれ以外のパケットであるか否かの判別を、例えば、イーサタイプがIPであるか、IPプロトコルがIGMPv2であるか、及びIPパケットの宛先IPアドレスがマルチキャストアドレスであるかによって行う(ステップS61)。なお、マルチキャストアドレスであるか否かの判別は、例えば、宛先MACアドレスの先頭バイトの最下位ビットが“1”であり、かつ、宛先IPアドレスの先頭バイトが“224〜239”の範囲内であるか否かによって行われる。
ステップS61において、受信パケットがIGMPパケット及びマルチキャストパケット以外であると、当該パケットは、第2のバッファ47bを介して、第1の送信処理部45aに転送され、第1の送信処理部45aによって第1のNIC43aを介してHGW側へ送信される(ステップS62)。
ステップS61において、受信パケットがIGMPパケットであると、CH情報管理部46は、受信パケットがGeneral−queryかそれ以外かであるかを判断する(ステップS63)。受信パケットがGeneral−query以外であると、当該パケットは、第2のバッファ47bを介して第1の送信処理部45aに転送され、第1の送信処理部45aによって第1のNIC43aを介してHGW側へ送信される(ステップS64)。
一方、ステップS63において、受信パケットがGeneral−queryパケットであると、CH情報管理部46では、CH情報管理テーブルに登録されている全てのマルチキャストアドレスに対するGeneral−query受信フラグをONにして、さらに、CH情報管理テーブルに登録されている全てのマルチキャストアドレスに対するタイマー部48を起動させる(ステップS65)。その後、当該パケットは、第2のバッファ47bを介して第1の送信処理部45aに転送され、第1の送信処理部45aによって第1のNIC43aを介してHGW側へ送信される(ステップS66)。なお、当該タイマー部48が終了した際には、破線で示すように、CH情報管理テーブルにおいて、General−query受信フラグがONとなっているマルチキャストアドレスは全てCH情報管理テーブルから削除される(ステップS67)。
ステップS61において、受信パケットの宛先IPアドレスがマルチキャストアドレスであるマルチキャストパケットを受信すると、CH情報管理部46はCH情報管理テーブルのMACアドレス格納欄に関係なく、当該受信パケットの宛先マルチキャストアドレスと同一のマルチキャストアドレスの登録があるか否かの確認を行う(ステップS68)。
ステップS68において、CH情報管理テーブルに当該マルチキャストアドレスの登録がないと、パケット廃棄処理部49bによって当該受信マルチキャストパケットが廃棄される(ステップS69)。一方、CH情報管理テーブルに当該マルチキャストアドレスの登録があると、当該パケットは、第2のバッファ47bを介して第1の送信処理部45aに転送され、第1の送信処理部45aによって第1のNIC43aを介してHGW側へ送信される(ステップS70)。
このようにして、制御装置35によって、IPTV放送において配信を希望する以外のチャンネルデータを破棄し、受信を希望するチャンネルデータのみをユーザ側へ転送でき、これによって、ユーザが連続的にマルチキャストグループへのJoin/Leaveを行った際に生じる一時的な使用帯域の増加を、帯域が狭くなる無線区間の前で抑制することができることになる。
さらに、CH情報管理テーブルに同一マルチキャストアドレスであっても複数登録するようにしたので、複数のユーザ装置がIGMPプロキシ機能を持たないホームゲートウェイなどの機器を介して同一ポートに接続されており、個々のユーザ装置が識別できない場合においても、immediate leave機能を用いた、配信の停止処理を行うことが可能になる。
次に、図11に示す例においてIPTV放送の視聴開始時の流れを図17に示す。図17において、いま、ユーザ宅58ではIPTV放送のチャンネル1(CH1)の視聴をSTB61aによって開始し、その後、ユーザ宅59でSTB61bにて同一のCH1で視聴するものとする。
ユーザ宅58においてIPTV放送のリモコン等でSTB61aに対してCH1が選択されると(P30)、STB61aからIGMP−reportパケットが送信される。当該IGMPパケットは、タイプフィールドがreportであり、グループアドレスフィールドにはCH1に該当するマルチキャストアドレスが格納されている。なお、当該パケットの送信元MACアドレスはHGW60aのMACアドレスとなるものとする。
制御装置35が当該IGMP−reportパケットを受信すると、CH情報管理テーブルに当該MACアドレスに対する登録がないため、当該HGWのMACアドレスとCH1に該当するマルチキャストアドレスをCH情報管理テーブルに登録し(P31)、当該IGMP−reportパケットをコアNW32へ転送する。
コアNW32内にて、当該IGMP−reportパケットが処理され、ユーザに対してCH1のチャンネルデータがマルチキャスト伝送される(P32)。制御装置35では、CH情報管理テーブルにはCH1に該当するマルチキャストアドレスが登録されているため、HGW60aへ当該チャンネルデータを転送する(P33)。そして、ユーザ宅58ではCH1のIPTV放送を視聴する(P34)。
ユーザ宅59においてIPTV用のリモコン等でSTB61bに対してCH1が選択されると(P35)、STB61bからIGMP−reportパケットが送信される。当該IGMPパケットは、タイプフィールドがreportであり、グループアドレスフィールドにはCH1に該当するマルチキャストアドレスが格納されている。なお、当該パケットの送信元MACアドレスはHGW60bのMACアドレスとなるものとする。
制御装置35は、当該IGMP−reportパケットを受信すると、CH情報管理テーブルを確認し、当該HGW60bのMACアドレスに対する登録がないので、HGW60bに対するMACアドレス及びCH1に該当するマルチキャストアドレスをCH情報管理テーブルに登録する。さらに、CH情報管理テーブルに対して、HGW60aに対する欄に同一のCH1に対するマルチキャストアドレスが登録されているため、制御装置35は当該IGMP−reportパケットを破棄する(P36)。そして、ユーザ宅58でCH1を視聴しているため、つまり、既にCH1に対するデータが送信されているため、ユーザ宅59ではCH1のIPTV放送の視聴を開始する(P37)。
続いて、図11に示す例において、IPTVチャンネル切替時の流れを図18に示す。図18では、ユーザ宅58及び59ではそれぞれIPTV放送のチャンネル1(CH1)を視聴しており、その後、ユーザ宅59のみCH2へチャンネルを切替えるものとする。
ユーザ宅58及び59ともにCH1を視聴しており(P38)、ユーザ宅59でSTB61bのチャンネルを切替えるためにIPTV放送用のリモコン等でSTB61bに対してチャンネルがCH2に切替えられると(P39)、STB61bからIGMP−leaveパケットに続いてIGMP−reportパケットが送信される。なお、IGMP−leaveパケットは、タイプフィールドがleaveであり、グループアドレスフィールドにはCH1に該当するマルチキャストアドレスが格納されている。一方、IGMP−reportパケットは、タイプフィールドがreportであり、グループアドレスフィールドにはCH2に該当するマルチキャストアドレスが格納されている。
当該IGMP−leaveパケットを受信した制御装置35は、CH情報管理テーブルのHGW60bに対する欄からCH1に該当するマルチキャストアドレスを削除する。そして、CH情報管理テーブルのHGW60aの欄には、受信したIGMP−leaveパケットのグループアドレスフィールドに格納されていたCH1に対応するマルチキャストアドレスが登録されているため、制御装置35は当該IGMP−leaveパケットを破棄する(P40)。さらに、制御装置35はIGMP−reportを受信して、CH情報管理テーブルのHGW60bのMACアドレスに対する欄にCH2に該当するマルチキャストアドレスを登録する。CH情報管理テーブルの他のHGW(HGW60a)の欄において、CH2に対するマルチキャストアドレスは登録されていないため、制御装置35は当該IGMP−reportパケットをコアNW側へ転送する。
IGMP−reportはコアNW32内にて処理され、CH2のデータがマルチキャスト送信される(P41)。制御装置35では、CH情報管理テーブルにCH1及びCH2に該当するマルチキャストアドレスが登録されているので、CH1及びCH2のデータはHGW側へ転送される(P42)。
制御装置−TV間はIPTV放送に関するデータは配信を希望する2つのチャンネルCH1,CH2のみ送信され、ユーザ宅58ではSTB61aに接続されたTV64aでCH1を視聴し、ユーザ宅59ではSTB61bに接続されたTV64bでCH2を視聴する(P43)。
さらに、図11に示す例において、IGMP−leave紛失時の流れを図19に示す。図19では、ユーザ宅58及び59では、IPTV放送のチャンネル1(CH1)をともに視聴しており、その後、ユーザ宅59でCH1の視聴を終了する際に、IGMP−leaveパケットが制御装置35に到着する前に紛失したものとする。
ユーザ宅58でSTB61aに接続されたTV64aでCH1を、ユーザ宅59でSTB61bに接続されたTV64bで同様にCH1を視聴しており(P44)、ユーザ宅59ではIPTV放送のCH1の視聴を止めるため、例えば、IPTV放送用のリモコンの終了ボタン等を押す(P45)。これによって、STB61bではコアNW32へIGMP−leaveパケットを送信する。ここで、IGMP−leaveパケットのタイプフィールドはleaveであり、グループアドレスフィールドはCH1に該当するマルチキャストアドレスが格納されている。ここでは、当該IGMP−leaveパケットは制御装置35に到着する前に紛失したとする。
当該IGMP−leaveパケットを受信しないので、制御装置35のCH情報管理テーブルには、HGW60bに対するCH1の登録が残ったままになっている(P46)。次いで、コアNW32からGeneral−queryが送信される(P47)。なお、General−queryパケットは定期的に送信されているものとする。
General−queryパケットを受信した制御装置35は、CH情報管理テーブルに登録されている全マルチキャストアドレス、つまり、HGW60aのMACアドレスの欄に登録されているCH1のマルチキャストアドレス及びHGW60bのMACアドレスの欄に登録されているCH1のマルチキャストアドレスに対する各General−query受信フラグをONにし、さらにタイマー部48を起動させて(P48)、当該General−queryパケットをHGWへ転送する。
General−queryを受信したユーザ宅58のSTB61aは、CH1に対するIGMP−reportパケットを作成しコアNWへ送信する(P49)。ここで、IGMP−reportパケットのタイプフィールドはreportであり、グループアドレスフィールドは現在視聴しているCH1に該当するマルチキャストアドレスを格納する。一方、STB61bは既にIPTV放送の視聴を止めているので、当該General−queryパケットに対する動作は行わない(P50)。
制御装置35は、HGW60aから送信されたIGMP−reportパケットを受信して、CH情報管理テーブルのHGW60aに対する欄のCH1に該当するマルチキャストアドレスに対応するGeneral−query受信フラグをOFFにし、さらに、タイマー部48を解除する。また、当該タイマー部48をONにしてからはグループアドレスフィールドにCH1に対応するマルチキャストアドレスを格納したIGMP−reportを初めて受信したので、制御装置35では当該IGMP−reportパケットをコアNWへ転送する(P51)。
一方、HGW60bからは、CH1に対するマルチキャストアドレスを格納したIGMP−reportパケットは送信されないため、セットしたタイマー部48が終了するのを契機にして、制御装置35は、CH情報管理テーブルにおいてGeneral−query受信フラグがONのままであるHGW60bのMACアドレスに対する欄に登録されていたCH1に該当するマルチキャストアドレスを削除する(P52)。なお、ユーザ宅58ではCH1を視聴しているため、CH1のデータは送信され続ける。
なお、上述の説明から明らかなように、第1の受信処理部44a、第2の送信処理部45b、CH情報管理部46、及びパケット廃棄処理部49aが配信手段として、つまり、第1及び第2の判定手段と第1及び第2の転送決定手段として機能し、第2の受信処理部44b、第1の送信処理部45a、CH情報管理部46、及びパケット廃棄処理部49bが配信手段として、つまり、第3の判定手段と第3の転送決定手段として機能する。
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
30,58,59…ユーザ宅、31…光ファイバ、32…コアネットワーク(コアNW)、33,54…メディアコンバータ、34…LANケーブル、35…制御装置、36,37,55,56,57…無線装置、38,60a,60b…HGW(Home GateWay)、39,62a,62b…IP電話機、40,63a,63b…PC(personal computer)、41a,41b,61a,61b…STB(Set Top Box)、42a,42b,64a,64b…TV(Television Set)、43a,43b…ネットワークインターフェイスカード(NIC)、44a,44b…受信処理部、45a,45b…送信処理部、46…CH(チャンネル)情報管理部、47a,47b…バッファ、48…タイマー処理部(タイマー部)、49a,49b…パケット廃棄処理部、50…制御コマンド処理部、53…ビル
Claims (11)
- マルチキャストネットワークとユーザ装置との間に配置され、インターネットグループマネージメントプロトコル(IGMP)によって送信されるデータを制御するためのマルチキャスト制御装置であって、
前記ユーザ装置が参加するマルチキャストアドレスを記憶する情報管理テーブルと、
前記ユーザ装置からマルチキャストグループに対して参加/離脱要求があったときに、前記情報管理テーブルを参照して前記データの配信を制御する配信手段と、
を備えたことを特徴とするマルチキャスト制御装置。 - 前記マルチキャストネットワークは定期的に問い合わせメッセージが送信されており、
前記情報管理テーブルには前記マルチキャストアドレスに対応付けて前記問い合わせメッセージを受信したか否かを示す問い合わせ受信フラグが設定されていることを特徴とする請求項1に記載のマルチキャスト制御装置。 - 前記配信手段は、
前記ユーザ装置から受信したデータがIGMPデータであるときに、当該IGMPデータがIGMPリポートデータ又はIGMPリーブデータであるか否かを判定する第1の判定手段と、
前記IGMPデータがIGMPリーブデータであると、前記情報管理テーブルに登録された当該IGMPリーブデータが示すマルチキャストアドレスの登録数に応じて当該IGMPリーブデータを前記マルチキャストネットワークに転送するか否かを決定する第1の転送決定手段と、
前記IGMPデータがIGMPリポートデータであると、当該IGMPリポートデータが示すマルチキャストアドレスと同一のアドレスが前記情報管理テーブルに登録されているか否かを確認する第2の判定手段と、
該第2の判定手段による判定結果に応じて当該IGMPリポートデータを前記マルチキャストネットワークに転送するか否かを決定する第2の転送決定手段と、
を有することを特徴とする請求項2に記載のマルチキャスト制御装置。 - 前記第1の転送決定手段は、
前記情報管理テーブルに登録された前記IGMPリーブデータが示すマルチキャストアドレスの登録数がゼロであると当該IGMPリーブデータを破棄し、
前記情報管理テーブルに登録された前記IGMPリーブデータが示すマルチキャストアドレスの登録数が1であると当該IGMPリーブデータが示すマルチキャストアドレスと同一のマルチキャストアドレスを前記情報管理テーブルから削除して当該IGMPリーブデータを前記マルチキャストネットワークに転送し、
前記情報管理テーブルに登録された前記IGMPリーブデータが示すマルチキャストアドレスの登録数が2以上であると、当該IGMPリーブデータが示すマルチキャストアドレスと同一のマルチキャストアドレスの一つを前記情報管理テーブルから削除して当該IGMPリーブデータを破棄するようにしたことを特徴とする請求項3に記載のマルチキャスト制御装置。 - 前記第2の転送決定手段は、
前記判定結果が前記IGMPリポートデータが示すマルチキャストアドレスが前記情報管理テーブルに登録されていないことを示していると、当該マルチキャストアドレスを前記情報管理テーブルに登録して当該IGMPリポートデータを前記マルチキャストネットワークに転送し、
前記判定結果が前記IGMPリポートデータが示すマルチキャストアドレスが前記情報管理テーブルに登録されていることを示していると、当該マルチキャストアドレスに対する前記問い合わせ受信フラグの状態に応じて当該IGMPリポートデータを前記マルチキャストネットワークに転送するか否かを決定するようにしたことを特徴とする請求項3又は4に記載のマルチキャスト制御装置。 - 前記第2の転送決定手段は、前記問い合わせ受信フラグがオフであると前記IGMPリポートデータが示すマルチキャストアドレスを前記情報管理テーブルに登録して前記IGMPリポートデータを破棄することを特徴とする請求項5に記載のマルチキャスト制御装置。
- 前記第2の転送決定手段は、前記問い合わせ受信フラグがオンであると前記マルチキャストアドレスに対する問い合わせ受信フラグをオフとして、前記IGMPリポートデータと同一のマルチキャストアドレスを含むIGMPリポートデータを既に前記マルチキャストネットワークに転送したか否かを判定するようにしたことを特徴とする請求項5に記載のマルチキャスト制御装置。
- 前記配信手段は、
前記マルチキャストネットワークから受信したデータがIGMPデータ又はマルチキャストデータであるか否かを判定する第3の判定手段と、
該第3の判定手段による判定結果に応じて前記マルチキャストネットワークから受信したデータを前記ユーザ装置に転送するか否かを決定する第3の転送決定手段と、
を有することを特徴とする請求項2に記載のマルチキャスト制御装置。 - 前記第3の転送決定手段は、前記第3の判定手段による判定結果がIGMPデータであることを示していると、当該IGMPデータが問い合わせデータであるときには、前記情報管理テーブルに登録された全てのマルチキャストアドレスに対応する前記問い合わせ受信フラグをオンとして前記問い合わせデータを前記ユーザ装置に転送するようにしたことを特徴とする請求項8記載のマルチキャスト制御装置。
- 前記第3の転送決定手段は、前記第3の判定手段による判定結果がマルチキャストデータであることを示していると、該マルチキャストデータの宛先マルチキャストアドレスと同一のマルチキャストアドレスが情報管理テーブルに登録されているか否かの確認を行い、当該確認結果に応じて前記マルチキャストデータを前記ユーザ装置に転送するか否かを決定するようにしたことを特徴とする請求項8又は9に記載のマルチキャスト制御装置。
- 前記情報管理テーブルには前記ユーザ装置を識別するための識別アドレスと前記マルチキャストアドレスとが対応付けて登録されており、
前記ユーザ装置から受信するデータには前記識別アドレスが付加され、
前記配信手段は、前記識別アドレス又は前記マルチキャストアドレスを前記情報管理テーブルから参照し、前記データの配信を決定するようにしたことを特徴とする請求項1から10のいずれかの項に記載のマルチキャスト制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005377793A JP2007180960A (ja) | 2005-12-28 | 2005-12-28 | マルチキャスト制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005377793A JP2007180960A (ja) | 2005-12-28 | 2005-12-28 | マルチキャスト制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007180960A true JP2007180960A (ja) | 2007-07-12 |
Family
ID=38305658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005377793A Pending JP2007180960A (ja) | 2005-12-28 | 2005-12-28 | マルチキャスト制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007180960A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009527956A (ja) * | 2006-02-24 | 2009-07-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Iptvのための、ims対応のコントロールチャネル |
JP2009212875A (ja) * | 2008-03-05 | 2009-09-17 | Nec Corp | 通信装置及びそれに用いる運用管理方法 |
JP2010098606A (ja) * | 2008-10-17 | 2010-04-30 | Nippon Telegr & Teleph Corp <Ntt> | マルチキャスト制御ルータおよびマルチキャスト制御方法 |
JP2011223494A (ja) * | 2010-04-14 | 2011-11-04 | Fujitsu Ltd | 通信装置および通信プログラム |
JP2020043524A (ja) * | 2018-09-13 | 2020-03-19 | 株式会社日立国際電気 | 配信システム |
-
2005
- 2005-12-28 JP JP2005377793A patent/JP2007180960A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009527956A (ja) * | 2006-02-24 | 2009-07-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Iptvのための、ims対応のコントロールチャネル |
US8078733B2 (en) | 2006-02-24 | 2011-12-13 | Telefonaktiebolaget Lm Ericsson (Publ) | IMS-enabled control channel for IPTV |
JP2009212875A (ja) * | 2008-03-05 | 2009-09-17 | Nec Corp | 通信装置及びそれに用いる運用管理方法 |
JP2010098606A (ja) * | 2008-10-17 | 2010-04-30 | Nippon Telegr & Teleph Corp <Ntt> | マルチキャスト制御ルータおよびマルチキャスト制御方法 |
JP2011223494A (ja) * | 2010-04-14 | 2011-11-04 | Fujitsu Ltd | 通信装置および通信プログラム |
JP2020043524A (ja) * | 2018-09-13 | 2020-03-19 | 株式会社日立国際電気 | 配信システム |
JP7058576B2 (ja) | 2018-09-13 | 2022-04-22 | 株式会社日立国際電気 | 配信システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4886500B2 (ja) | データ転送装置、及びそのシステム | |
EP0795980B1 (en) | Packet transfer apparatus | |
US7606227B2 (en) | Method, apparatus and system for distributing multicast data | |
US20050041680A1 (en) | L2 switch and control method therof | |
CN100583801C (zh) | 一种动态建立组播虚拟局域网域的方法、***及交换设备 | |
EP2936803B1 (en) | Method and a device for optimizing large scaled video conferences | |
JP2007049382A (ja) | 無線中継装置、無線中継方法およびそのコンピュータ・プログラム | |
JP2007180960A (ja) | マルチキャスト制御装置 | |
JP2006042223A (ja) | パケット転送装置 | |
JP3558912B2 (ja) | 多地点会議装置 | |
JP2003069640A (ja) | イーサネット(登録商標)上における明示的マルチキャストサービス方法及び装置 | |
KR20030019668A (ko) | 엑스캐스트를 이용한 멀티캐스트 데이터 전송 방법 | |
KR100649716B1 (ko) | 멀티캐스트 패킷 기반 방송서비스에서의 멀티캐스트 포워딩방법과 장치 | |
KR101375182B1 (ko) | 수신기/디코더 연결의 관리를 위한 메커니즘 | |
JPH11112957A (ja) | 電子会議装置 | |
JP2004200946A (ja) | 放送配信システム | |
KR100779038B1 (ko) | 다채널 스트리밍 서버를 이용한 아이피티브이 방송 시스템및 채널 설정 방법 | |
JP2007251707A (ja) | マルチキャスト中継装置 | |
JP2011015321A (ja) | パケット中継装置およびマルチキャストパケット中継方法 | |
KR100793862B1 (ko) | 트리구조의 서버 토폴로지상에서 컨텐츠 전송 방법 | |
JPH10285162A (ja) | グループ通信方法及びシステム | |
JP2004172685A (ja) | Ip構内交換システムにおける内線一斉放送方式 | |
JP2024003368A (ja) | ルータ | |
JP2001189742A (ja) | 通信装置 | |
KR100965053B1 (ko) | 제한적 멀티캐스트 기반의 인터넷 방송 데이터 전송 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071016 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071016 |