Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4077330B2 - データ生成装置 - Google Patents
[go: Go Back, main page]

JP4077330B2 - データ生成装置 - Google Patents

データ生成装置 Download PDF

Info

Publication number
JP4077330B2
JP4077330B2 JP2003029355A JP2003029355A JP4077330B2 JP 4077330 B2 JP4077330 B2 JP 4077330B2 JP 2003029355 A JP2003029355 A JP 2003029355A JP 2003029355 A JP2003029355 A JP 2003029355A JP 4077330 B2 JP4077330 B2 JP 4077330B2
Authority
JP
Japan
Prior art keywords
multicast
data
client
information
transfer
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.)
Expired - Fee Related
Application number
JP2003029355A
Other languages
English (en)
Other versions
JP2004242063A (ja
Inventor
尚史 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003029355A priority Critical patent/JP4077330B2/ja
Priority to US10/771,724 priority patent/US7627690B2/en
Publication of JP2004242063A publication Critical patent/JP2004242063A/ja
Application granted granted Critical
Publication of JP4077330B2 publication Critical patent/JP4077330B2/ja
Priority to US12/603,155 priority patent/US8185657B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、マルチキャスト環境において、効率的にマルチキャストのデータを配信するための装置に関する。
【0002】
【従来の技術】
従来、音声や動画などのマルチメディアデータによるストリーミングデータ等の伝送の効率化を図る技術として、マルチキャストが利用されている。マルチキャストでは、基本的にオンデマンドのデータ配信を提供することはできない。しかし、マルチキャストは、リアルタイムの動画配信や音声配信(例:ライブ中継)において多くのメリットを有する。
【0003】
マルチキャストでは、クライアント数(データ受信を望むユーザ数)に関わらず、ある経路のトラフィック量を常に一定に保つことができる。このため、その他の通信に与える影響も少ない。従って、マルチキャストでは、ユニキャストと異なり、配信専用のネットワークやキャッシュサーバ等の設備を設ける必要がない。よって、マルチキャストでは、非常に安価なネットワーク構成によるマルチメディアデータの配信が可能となる。
【0004】
マルチキャストを実現する技術として、IGMP(Internet Group Management Protocol)やマルチキャストルーティングプロトコルがある。IGMPは、マルチキャストに対応するルータやレイヤ3スイッチ(以下、マルチキャストルータと呼ぶ)が、その配下に接続されるクライアント(エンドシステム)のマルチキャスト受信状態を把握するためのプロトコルである。マルチキャストルーティングプロトコルは、サーバから各クライアントまでのデータの配信経路を構成するために、マルチキャストルータ間で機能するプロトコルである。
【0005】
従来のIGMPバージョン1(IGMPv1)やIGMPバージョン2(IGMPv2)では、マルチキャストデータの宛て先アドレスとなるマルチキャストアドレスのみによって、マルチキャストグループの管理が行われる。なお、IGMPv2メッセージ対応のIPマルチキャスト通信において送信ホストを制限することが可能となるシステムを提供することを課題とする技術がある(特許文献1参照)。
【0006】
しかし、IGMPバージョン3(IGMPv3:非特許文献2参照)では、データの送信元であるサーバ(ソース)のアドレス(ソースアドレス)及びマルチキャストアドレスによってマルチキャストセッションが識別及び管理される。即ち、マルチキャストアドレスが同じであっても、ソースアドレスが異なるマルチキャストセッションは、異なるマルチキャストセッションとして認識される。従って、IGMPv3では、マルチキャストアドレスの重複使用が可能となる。このマルチキャストの形態は、SSM(Source Specific Multicast)と呼ばれ、今後のリアルタイム放送などへの適用が見込まれている。
【0007】
また、通常、LAN(Local Area Network)環境やインターネットアクセスのためのブロードバンド環境では、ルータあるいはレイヤ3スイッチとクライアントの間にはレイヤ2スイッチ(LANスイッチ)が設置される。そして、このレイヤ2スイッチが、エンドシステムを収容し、ルータあるいはレイヤ3スイッチに接続される。
【0008】
マルチキャストが利用されるネットワークで使用されるレイヤ2スイッチには、一般的には、IGMP Snooping機能が実装される。IGMP Snoopingでは、マルチキャストデータの受信を望むクライアント(レシーバ)が接続されているポートのみへマルチキャストデータが転送される。IGMPSnoopingでは、レイヤ2スイッチは、クライアントやマルチキャストルータによって送信されるIGMPメッセージを盗み見る(参照する)。そして、レイヤ2スイッチは、どのポートにマルチキャストルータが接続され、どのポートに接続されるクライアントがどのマルチキャストアドレス宛てのマルチキャストデータの受信を望んでいるかを把握し、マルチキャストデータの転送を行う。
【0009】
このように、IGMP Snoopingにより、必要とされるポートへのみマルチキャストデータを転送することが可能となる。このため、受信を望まないクライアントを含む全てのクライアントに対してマルチキャストデータが届くということが回避される。この時、IGMP Snoopingをサポートするレイヤ2スイッチは、レイヤ2の情報、即ちMACアドレスがマルチキャストであるか否かを判別する。そして、MACアドレスがマルチキャストである場合、レイヤ2スイッチは、必要とされるポートへのみマルチキャストデータを転送する。
【0010】
このように、レイヤ2スイッチは、IGMP Snoopingによって擬似的にIGMPの機能を実現する。即ち、IGMPやIP(Internet Protocol)マルチキャストはレイヤ3の機能であるが、レイヤ2スイッチはレイヤ2の情報を基に転送処理を制御する。従って、レイヤ2スイッチは、IGMP Snoopingをサポートしたとしても、レイヤ3に関する処理を行う必要がないため、そのパフォーマンスに大きな悪影響を被ることはなかった。
【0011】
【特許文献1】
特開2002−64558号公報
【非特許文献1】
”Multicast Listener Discovery Version 2 (MLDv2) for IPv6”、[online]、インターネット<URL:http://www.ietf.org/internet-drafts/draft-vida-mld-v2-06.txt>
【非特許文献2】
”Internet Group Management Protocol, Version 3”、[online]、インターネット<URL: http://www.ietf.org/rfc/rfc3376.txt?number=337>
【0012】
【発明が解決しようとする課題】
しかしながら、今後の普及が予想されるIGMPv3やMLDv2(Multicast Listener Discovery Version 2:非特許文献1参照)では、従来のIGMP(v1,v2)やMLD(v1)と異なり、レイヤ2レベルでの処理が不可能となる。ここで、MLDとは、IPv6における技術であり、IPv4におけるIGMPと同様の技術である。IGMPv3やMLDv2では、IPパケットのIPヘッダの次に来るペイロード部分にソースの情報や複数のマルチキャストアドレス等が格納される。これらの情報は、IGMPv3やMLDv2の機能の実現において不可欠である。このため、従来のIGMP Snoopingでは、IGMPv3やMLDv2の機能をレイヤ2スイッチで擬似的に実現することは不可能である。即ち、IGMP Snoopingを使用してIGMPv3やMLDv2の機能を実現するためには、レイヤ2スイッチは、IGMPパケットあるいはMLDv2パケットのレイヤ3の情報を参照する必要がある。IGMP Snoopingを使用してIGMPv3やMLDv2の機能を実現するためには、レイヤ2スイッチは、さらに、実際の転送処理においても、レイヤ3の情報を参照した後に、転送先となるポートを決定する必要がある。
【0013】
レイヤ2(MAC)の情報に基づいてフレームをスイッチするレイヤ2スイッチに対して、レイヤ3の情報を参照するという処理を実装することは、レイヤ2スイッチのパフォーマンスを著しく低下させ、機器自体を非常に複雑かつ高価にする原因となる。また、IGMP Snoopingを実現できないレイヤ2スイッチによってネットワークを構成することは、シェアドメディア(ハブ(HUB)等)によってクライアントが接続されている状態と同じこととなる。即ち、マルチキャストデータの受信を不要とするクライアントに対してもマルチキャストデータが転送され、他のユニキャスト通信やマルチキャスト通信に対して悪影響を与える。このため、レイヤ2スイッチによってクライアントを収容することによるメリットを失うこととなる。
【0014】
本発明は、このような問題を解決し、あるレイヤの情報(例えばレイヤ3の情報)を用いたマルチキャストグループ管理プロトコル(例えば、IGMPv3あるいはMLDv2)が使用されるネットワークにおいて、マルチキャストデータが、あるレイヤよりも低次のレイヤに基づいたスイッチを介して、このマルチキャストデータの受信を望むクライアントが接続されるポートのみに配信されるシステムや装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
上記問題を解決するため、本発明は以下のような構成をとる。本発明の第一の態様は、第一のレイヤのデータに基づいてハードウェア的にスイッチングを行うスイッチング装置よりも上流に設置されるデータ生成装置であって、前記第一のレイヤよりも高次である第二のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出す読出手段と、前記読出手段によって読み出される前記転送管理情報を記憶する記憶手段と、前記記憶手段が記憶する前記転送管理情報に基づいて転送データの転送先となるクライアントを判断し、転送先となるクライアント数と同数の、それぞれのクライアントに対して送信される、受信された転送データと同等の内容を含む送信データを生成するデータ生成手段とを備える。
【0016】
本発明の第一の態様では、読出手段は、自装置の下流に設置されるスイッチング装置がスイッチングを行う際に参照するデータのレイヤよりも高次のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出す。例えば、自装置の下流に設置されるスイッチング装置がレイヤ2スイッチである場合、読出手段は、レイヤ3以上のレイヤのデータから転送管理情報を読み出す。このようなデータの例として、IGMPバージョン3のメッセージや、MLDバージョン2のメッセージ等がある。
【0017】
記憶手段は、読出手段によって読み出された転送管理情報に基づいた情報を記憶する。記憶手段は、読出手段によって読み出された転送管理情報をそのまま記憶しても良いし、他の手段(例えば管理手段)によって転送管理情報に基づいて作成された情報を記憶しても良い。
【0018】
データ生成手段は、転送管理情報に基づいて、転送データの転送先となる装置(クライアント)を判断する。データ生成手段は、転送先となるクライアント1台に対して一つのデータが送信されるように、転送データをコピーし変更する。データ生成手段は、転送先となるクライアントと同数のデータを生成するために、転送データのコピーを行う。そして、データ生成手段は、コピーされたデータの送信先のアドレスを、転送先となるクライアントのアドレスに変更する。
【0019】
このため、本発明の第一の態様によれば、転送データは、転送管理情報に基づいて、転送先となる各クライアントに対して1対1に送信される。このため、自装置の下流に設置されるスイッチング装置は、転送データについて転送管理情報に基づいた処理を実施する必要がない。即ち、自装置の下流に設置されるスイッチング装置が、より高次のレイヤの情報(転送管理情報)を読み出す必要がない。従って、このスイッチング装置がより高次のレイヤの情報を読み出す事による処理の遅延や、このようにスイッチング装置を設計することによるコストを削減することが可能となる。
【0020】
本発明の第二の態様は、データ生成装置であって、レイヤ2よりも高次のレイヤのデータから、マルチキャストデータの転送処理に関する情報を読み出す読出手段と、前記読出手段によって読み出された情報に基づいた転送管理情報を記憶する記憶手段と、受信されたマルチキャストデータを、前記記憶手段が記憶する前記転送管理情報に基づいて、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するデータ生成手段とを備える。
【0021】
また、本発明の第二の態様の前記データ生成手段は、前記コピーされた夫々のデータのMACアドレスを、転送先となる各クライアントのMACアドレスに書き換えることによりユニキャストデータを生成するように構成されても良い。
【0022】
また、本発明の第二の態様は、自装置よりも下流側にデータを送出する送出手段をさらに備え、前記送出手段は、前記データ生成手段によって生成されるユニキャストデータ及び受信されたマルチキャストデータを送出するように構成されても良い。
【0023】
また、本発明の第二の態様は、前記読出手段によって読み出された情報に基づいて、前記記憶手段に記憶される前記転送管理情報を更新する管理手段をさらに備えるように構成されても良い。
【0024】
また、本発明の第二の態様は、前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、前記管理手段はこの情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させるように構成されても良い。
【0025】
また、本発明の第二の態様は、前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、前記管理手段はこの情報の送信元であるクライアントに関する情報を前記転送管理情報から削除するように構成されても良い。
【0026】
また、本発明の第二の態様は、一定時間を計時する計時手段をさらに備え、前記計時手段が、応答要求に対する応答がクライアントから一定時間以上受信されていないと判断した場合、前記管理手段はこのクライアントに関する情報を前記転送管理情報から削除するように構成されても良い。
【0027】
また、本発明の第二の態様の前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶し、前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備えるように構成されても良い。
【0028】
また、本発明の第二の態様の前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶し、前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備えるように構成されても良い。
【0029】
また、前記読出手段によって読み出された情報がマルチキャスト受信状態の変更を示す情報である場合、前記管理手段はこの情報の内容を用いて前記記憶手段に記憶される前記転送管理情報を更新するように構成されても良い。
【0030】
【発明の実施の形態】
〔IPマルチキャスト〕
〈概要〉
本発明が前提としているIPマルチキャストの仕組みについて説明する。なお、以下の説明では、データリンク層がイーサネットである場合について説明する。
【0031】
図1は、IPマルチキャストを用いたネットワークの構成例を示す図である。IPマルチキャストでは、アドレスとしてマルチキャストアドレスが使用される。IPマルチキャストは、エンドシステムであるサーバ(ソース)E1とクライアント(レシーバ)E2とマルチキャストルータM1間で機能する。
【0032】
IPマルチキャストでは、マルチキャストアドレスに対してマルチキャストデータが送信される。マルチキャストデータは、マルチキャスト対応ネットワークN1,マルチキャストルータM1,レイヤ2スイッチL1を介して、マルチキャストグループに属するクライアントE2によって受信される。IPv4環境におけるIPマルチキャストは、マルチキャストグループ管理プロトコルであるIGMPと、マルチキャストルーティングプロトコルによって実現される。
【0033】
IGMPのメッセージ(マルチキャストグループ制御メッセージ,IGMPメッセージ)は、クライアントE2と近隣のマルチキャストルータM1との間で(レイヤ2スイッチL1を挟んで)交換される。IGMPにより、マルチキャストルータM1は、自身の配下に位置する各クライアントE2のマルチキャストグループを把握する。
【0034】
マルチキャストルーティングプロトコルのメッセージは、マルチキャストルータM1間で(レイヤ2スイッチL1を挟んで)交換される。マルチキャストルーティングプロトコルにより、マルチキャストルータM1間で、サーバE1から複数の各クライアントE2(受信クライアント)までのマルチキャストデータ配信ツリーが構築される。
【0035】
次に、IPマルチキャストによるデータ伝送の基本動作について説明する。まず、マルチキャストデータの受信を望むクライアントE2は、IGMPメッセージによって、ローカルネットワークのマルチキャストルータM1へその旨を通知する。この通知により、このクライアントE2は、マルチキャストグループに参加したこととなる。即ち、このクライアントE2は、マルチキャストグループのメンバとなる。
【0036】
サーバE1は、クラスDのアドレスで識別されるマルチキャストアドレス宛てに、マルチキャストデータ(例えばストリームデータ)を送信する。このとき、サーバE1は、マルチキャストグループに属するクライアントの数に関わらず、一つのマルチキャストデータを送信する。
【0037】
マルチキャスト対応ネットワークN1内のマルチキャストルータM1は、サーバE1から送信されたマルチキャストデータを受信する。マルチキャストルータM1は、このマルチキャストデータのマルチキャストグループに参加している各クライアントE2への経路に沿って、このマルチキャストデータを必要に応じてコピーしながら伝送してゆく。即ち、マルチキャストルータM1は、マルチキャストルーティングプロトコルによって構成された、送信ホスト(サーバE1)から各クライアントE2へ至るマルチキャストデータ配信の経路木に沿って、マルチキャストデータを配信する。従って、最終的に、サーバE1が送信した一つのマルチキャストデータは、ネットワーク内の複数のクライアントE2へ配信される。
【0038】
次に、マルチキャストアドレス,IGMP,マルチキャストルーティングプロトコルそれぞれについて説明する。
【0039】
〈マルチキャストアドレス〉
IPv4におけるマルチキャストアドレスについて説明する。マルチキャストアドレスは、クラスDアドレスとして規定されており、10進表記で、”224.0.0.0”から”239.255.255.255”の範囲の値をとる。このため、クラスDアドレスは、最初の4ビットの”1110”によって識別される。
【0040】
図2は、マルチキャストアドレスの割り当てを示す表である。図2に示されるように、いくつかのマルチキャストアドレスは、特定用途のために予約されている。そして、ローカルサイト用の割り当て、即ち”239.0.0.0”から”239.255.255.255”までのアドレスが、例えば企業ネットワークやISP(Internet Service Provider)等で一般に使用されるマルチキャストアドレスである。
【0041】
また、最近ではSSMという概念やプロトコルもIETFにて検討されている。SSMとは、マルチキャストアドレス(マルチキャストグループアドレス)とマルチキャストデータのソースアドレスとの組によって識別されるマルチキャストセッション、あるいはその仕組みのことである。SSMのためのマルチキャストアドレスの範囲は、IPv4クラスDアドレスのうち、”232.0.0.0”から”232.255.255.255”である。
【0042】
尚、SSMでは、受信されるマルチキャストデータのソースアドレスがIGMPによって指定されるため、マルチキャストルータやエンドシステムにおいてIGMPv3が実装されていなければならない。
【0043】
〈IGMP〉
次に、IGMPについて説明する。クライアント(ホスト)とマルチキャストルータとは、IGMPメッセージをやり取りする。このIGMPメッセージによって、マルチキャストルータは、自身が接続されるローカルネットワークにおけるクライアントを把握/管理する。言い換えれば、IGMPは、クライアントが、あるマルチキャストグループに参加することをマルチキャストルータに伝えるためのプロトコルである。この場合、マルチキャストルータとクライアントとは、IGMPで規定されている各機能が実装される必要がある。IGMPには、バージョン1(v1)からバージョン3(v3)まである。IGMPv1は、RFC1112の付録1で規定されている。IGMPv2は、RFC2236で規定されている。IGMPv3は、RFC3376で規定されている。
【0044】
IGMPv1とIGMPv2とIGMPv3とは、それぞれマルチキャストグループ管理を行う点では同じだが、それぞれ異なる機能を有するプロトコルである。以下に、各バージョンのIGMPについて説明する。
【0045】
〈〈IGMPv1〉〉
図3は、IGMPv1の概要を示す図である。図3を用いて、IGMPv1について、クライアントE2がマルチキャストグループに参加する場合の処理(図3(a)参照)と、クライアントE2がマルチキャストグループから離脱する場合の処理(図3(b)参照)とを説明する。
【0046】
まず、図3(a)を用いて、クライアントE2がマルチキャストグループに参加する場合の処理について説明する。IGMPv1では、マルチキャストルータ(IGMP Querierルータ)M1は、サブネットに対してクエリメッセージ(General Query)を定期的に送信する(1)。マルチキャストグループに参加を希望するクライアントE2は、このクエリメッセージへの応答として、このマルチキャストグループの情報をレポートメッセージ(Report)に格納し送信する。言い換えれば、クライアントE2は、クエリメッセージに応答して、参加を希望するグループを指定したレポートメッセージを送信する(2)。マルチキャストルータM1は、このレポートメッセージを受信した場合、このレポートメッセージを受信したインタフェースに対して、このマルチキャストグループに対応するマルチキャストアドレスへ送信されたデータ(マルチキャストデータ)を、このクライアントE2に対して転送するように設定する。
【0047】
次に、図3(b)を用いて、クライアントE2がマルチキャストグループから離脱する場合の処理について説明する。あるマルチキャストグループに参加しているクライアントE2は、アプリケーション等の終了によってマルチキャストに関する自身の機能を停止し、マルチキャストデータの受信を中止する(3)。この処理によって、このクライアントE2は、マルチキャストグループから離脱する。この場合、クライアントE2は、クエリメッセージに対して応答しない。
【0048】
マルチキャストルータM1は、クライアントE2から一定時間レポートメッセージを受信しない場合、タイムアウトによってこのクライアントE2がマルチキャストグループから離脱したことを認識する(4)。そして、この認識の後、マルチキャストルータM1は、マルチキャストデータをこのクライアントE2に転送する処理を中止する。
【0049】
このように、マルチキャストルータM1は、クエリメッセージに対応するレポートメッセージの受信についてのタイムアウトによって、クライアントE2がマルチキャストグループに参加しているか否かを把握する。このため、クライアントE2がマルチキャストグループから離脱しても、タイムアウトが発生するまで、マルチキャストルータM1は、クライアントE2へマルチキャストデータの転送を実行する。即ち、タイムアウトが発生するまで、このクライアントE2が接続されるサブネットにマルチキャストデータが流れ続ける。
【0050】
〈〈IGMPv2〉〉
図4は、IGMPv2の概要を示す図である。図4を用いて、IGMPv2について、クライアントE2がマルチキャストグループに参加する場合の処理(図4(a)参照)と、クライアントE2がマルチキャストグループから離脱する場合の処理(図4(b)参照)とを説明する。
【0051】
まず、図4(a)を用いて、クライアントE2がマルチキャストグループに参加する場合の処理について説明する。IGMPv2では、IGMPv1と同様に、マルチキャストルータM1は、サブネットに対してクエリメッセージを定期的に送信する(1)。マルチキャストグループに参加を希望するクライアントE2は、クエリメッセージへの応答として、このマルチキャストグループの情報をレポートメッセージに格納して送信する(2)。マルチキャストルータM1は、このレポートメッセージを受信した場合、このレポートメッセージを受信したインタフェースに対して、このマルチキャストグループに対応するマルチキャストデータを、このクライアントE2に対して転送するように設定する。
【0052】
IGMPv2では、クライアントE2は、マルチキャストグループに参加を希望する時点で、クエリメッセージの受信に関係なく、Unsolicited Reportを送信することが可能である。マルチキャストルータM1は、Unsolicited Reportを受信した場合、配下にグループメンバが現れたことを即座に認識する。そして、このグループメンバであるクライアントE2に対し、マルチキャストデータの転送を開始する。
【0053】
次に、図4(b)を用いて、クライアントE2がマルチキャストグループから離脱する場合の処理について説明する。あるマルチキャストグループに参加しているクライアントE2は、このマルチキャストグループの情報をリーブメッセージ(Leave)に格納してマルチキャストルータM1に送信することにより、このマルチキャストグループから離脱する(3)。
【0054】
マルチキャストルータM1は、このリーブメッセージを受信すると、このリーブメッセージを受信したインタフェース配下について、リーブメッセージを送信した以外のクライアントE2(他のグループメンバ)の存在を確認する。このとき、マルチキャストルータM1は、このマルチキャストグループに関するGroup Specific Queryを、リーブメッセージを受信したインタフェースを介して送信する(4)。
【0055】
他のグループメンバが存在する場合、この他のグループメンバは、まだ受信したいことを伝えるため、Group Specific Queryに応答してレポートメッセージを送信する(5)。マルチキャストルータM1は、このレポートメッセージを受信すると、他のグループメンバの存在を認識し、このインタフェースへのマルチキャストデータの転送を継続する。
【0056】
一方、マルチキャストルータM1は、このGroup Specific Queryへの応答としてのレポートメッセージを受信しない場合、即ち他のグループメンバが存在しない場合、このインタフェース配下に他のグループメンバが存在しないと判断し、このインタフェースへのマルチキャストデータの転送を中止する。
【0057】
次に、IGMPv1とIGMPv2との差異を説明する。第一に、IGMPv2では、クライアントE2が所属していたマルチキャストグループから離脱することを明示的に伝えるリーブメッセージが規定された。
【0058】
第二に、IGMPv2では、リーブメッセージを受信したマルチキャストルータM1が、他のグループメンバがローカルに(ローカルインタフェースに)存在するか否かを確認するためのGroup Specific Queryが規定された。
【0059】
第三に、IGMPv2では、クライアントE2は、自身がマルチキャストグループに参加すると決定した時点で、マルチキャストルータM1からのクエリメッセージの受信に関係なく、即座にマルチキャストグループに参加することを可能にするUnsolicited Reportが規定された。
【0060】
第四に、IGMPv2では、あるサブネットにIGMPv1に対応して動作するマルチキャストルータ(以後、IGMPv1ルータと呼ぶ)M1、あるいはクライアント(以後、IGMPv1クライアントと呼ぶ)E2が存在する場合、IGMPv2に対応して動作するマルチキャストルータ(以後、IGMPv2ルータと呼ぶ)M1とIGMPv2に対応して動作するクライアント(以後、IGMPv2クライアントと呼ぶ)E2は、IGMPv1に対応して動作しなければならないということが規定された。
【0061】
〈〈IGMPv3〉〉
図5は、IGMPv3の概要を示す図である。図5を用いて、IGMPv3について、クライアントE2がマルチキャストグループに参加する場合の処理(図5(a)参照)と、クライアントE2がマルチキャストグループから離脱する場合の処理(図5(b)参照)とを説明する。
【0062】
まず、図5(a)を用いて、クライアントE2がマルチキャストグループに参加する場合の処理について説明する。IGMPv3では、IGMPv1やIGMPv2と同様に、マルチキャストルータM1は、サブネットに対してクエリメッセージを定期的に送信する(1)。マルチキャストグループへの参加を希望するクライアントE2は、クエリメッセージへの応答として、このマルチキャストグループの情報をレポートメッセージに格納して送信する。この時、クライアントE2は、このマルチキャストグループに対するソース(サーバE1(E1a,E1b,E1n))を指定したければ、ソースとなるサーバE1の情報をレポートメッセージに含めて送信することができる(2)。クライアントE2は、あるマルチキャストグループに対して、複数(0以上:例えばサーバE1a及びサーバE1b)のソースとなるサーバE1を指定することができる。
【0063】
このようなソースを指定する方法(フィルタモード)には、INCLUDEモードとEXCLUDEモードの2種類がある。INCLUDEモードでは、クライアントE2は、レポートメッセージで指定されたサーバE1からマルチキャストデータを受信する。一方、EXCLUDEモードでは、クライアントE2は、レポートメッセージで指定されたサーバE1以外のサーバE1からマルチキャストデータを受信する。
【0064】
マルチキャストルータM1は、レポートメッセージを受信すると、このレポートメッセージを受信したインタフェースを介して、このレポートメッセージに対応するマルチキャストデータのうち、このレポートメッセージによって指定されたサーバE1から送信されたマルチキャストデータのみを転送する。このため、マルチキャストルータM1の配下のクライアントE2は、任意の1台以上のサーバE1から送信されたマルチキャストデータのみを受信することができる。
【0065】
マルチキャストルータM1は、あるマルチキャストグループについて、あるクライアントE2にとって新たなサーバE1をソースとしたレポートメッセージを受信した場合、このサーバE1からのマルチキャストデータの転送先について判断(情報のマージ)を行う。この場合、マルチキャストルータM1は、この判断結果を保持することで、このサーバE1から送信されたマルチキャストデータを、該当するクライアントE2へ転送する(即ち、該当するインタフェースから送信する)。
【0066】
IGMPv3では、あるインタフェース配下に、あるマルチキャストアドレスに対してINCLUDEモードを指定したクライアントE2のみが存在する場合、情報のマージの実行により、フィルタモードは”INCLUDE”であり、指定されたサーバE1の全てを含むソースリストが保持される。ここで、ソースリストとは、あるマルチキャストアドレスについてのソースを判断するための、サーバE1のアドレスのリストである。
【0067】
図6は、あるインタフェースi配下にINCLUDEモードを指定したクライアントE2のみが存在する場合の状態を示す図である。例えば、マルチキャストルータM1のあるインタフェースi配下のクライアントE2a,E2b,E2nの状態は、マルチキャストアドレスmに対して、それぞれ(m,INCLUDE,”a,b,c”),(m,INCLUDE,”b,c,d”),(m,INCLUDE,”e,f”)であると仮定する。ここで、(マルチキャストアドレス,フィルタモード,ソースリスト)とする。この場合、マルチキャストルータM1が保持すべき状態は、(i,m,INCLUDE,”a,b,c,d,e,f”)となる。即ち、あるインタフェースi配下の全てのクライアントE2がINCLUDEモードであれば、このインタフェースiについてのフィルタモードの設定はINCLUDEモードになり、ソースリストは各レコードに含まれるソースのマージ(即ちa,b,c,d,e,f)となる。
【0068】
また、あるインタフェース配下に、あるマルチキャストアドレスに対してEXCLUDEモードを指定したクライアントE2が1台でも存在すれば、マルチキャストルータM1が保持するフィルタモードはEXCLUDEモードとなる。そして、マルチキャストルータM1は、INCLUDEモードで指定された全てのソースを除いた、EXCLUDEモードで指定された全てのソースの共通部分を、ソースリストとして保持する。
【0069】
図7は、あるインタフェースi配下にEXCLUDEモードを指定したクライアントE2が存在する場合の状態を示す図である。例えば、マルチキャストルータM1のあるインタフェースi配下のクライアントE2a,E2b,E2nの状態が、マルチキャストアドレスmに対して、それぞれ(m,EXCLUDE,”a,b,c,d”),(m,EXCLUDE,”b,c,d,e”),(m,INCLUDE,”d,e,f”)であると仮定する。この場合、マルチキャストルータM1が保持すべき状態は、(i,m,EXCLUDE,”b,c”)となる。即ち、インタフェースi配下にEXCLUDEモードのクライアントE2(この場合は、E2a,E2b)が存在するため、このインタフェースiのフィルタモードはEXCLUDEモードとなる。そして、このインタフェースiのソースリストは、”b,c”となる。
【0070】
マルチキャストルータM1は、配下の各システムの状態をマージし、その状態を各インタフェースにおいて、マルチキャストアドレス毎に保持する。
【0071】
また、クライアントE2は、ソケット毎に(ソケットが複数存在すれば)インタフェース毎のマルチキャストアドレス毎に、フィルタモードと、対応するソースリストをそれぞれ保持する。
【0072】
次に、図5(b)を用いて、クライアントE2がマルチキャストグループから離脱する場合の処理について説明する。あるマルチキャストグループに参加しているクライアントE2は、このマルチキャストグループに対して、INCLUDEモードでソースリストがエンプティのレポートメッセージを送信する。あるいは、このクライアントE2は、このマルチキャストグループに対して、ソース情報の変更を含めたレポートメッセージを送信する(3)。このレポートメッセージの送信により、このクライアントE2は、このマルチキャストグループから離脱する。
【0073】
マルチキャストルータM1は、このレポートメッセージを受信すると、このレポートメッセージを受信したインタフェース配下について、このレポートメッセージを送信した以外のクライアントE2(他のグループメンバ)の存在を確認する。即ち、マルチキャストルータM1は、このマルチキャストグループに関するGroup Specific Queryを、レポートメッセージを受信したインタフェースを介して送信する。あるいは、マルチキャストルータM1は、ソース情報の変更が含まれたレポートメッセージを受信した場合は、ソース情報が変更されることを確認するGroup and Source Specific Queryを送信する(4)。
【0074】
他のグループメンバが存在する場合、この他のグループメンバは、まだ受信したいことを伝えるため、Group Specific Queryに応答してレポートメッセージを送信する。あるいは、この他のグループメンバは、変更されるソース情報を維持させるためのレポートメッセージを送信する(5)。マルチキャストルータM1は、このレポートメッセージを受信すると、他のグループメンバの存在を認識し、このインタフェースへのマルチキャストデータの転送を継続する。
【0075】
一方、マルチキャストルータM1は、このGroup Specific Queryへの応答としてのレポートメッセージを受信しない場合、即ち他のグループメンバが存在しない場合、このインタフェース配下に他のグループメンバが存在しないと判断し、このインタフェースへのマルチキャストデータの転送を中止する。
【0076】
次に、IGMPv3による、クライアントE2のステート変更の動作について説明する。IGMPv1,IGMPv2では、クライアントE2について、マルチキャストグループへの参加や離脱に関連する動作のみが規定されていた。しかし、IGMPv3では、クライアントE2が、ステートの変更(ソースやフィルタモードの変更)をマルチキャストルータM1へ通知することが可能となった。マルチキャストルータM1は、この通知を受信すると、ステートの変更を反映して動作する。
【0077】
あるマルチキャストグループに参加しているクライアントE2は、このマルチキャストグループにおけるソースやフィルタモードを変更する場合、このマルチキャストグループの情報と、フィルタモードやソースの変更情報とを、レポートメッセージに格納して送信する。
【0078】
マルチキャストルータM1は、このレポートメッセージを受信すると、自身が記憶する情報(例えば情報のマージによる判断結果)に対して、レポートメッセージに含まれるステートの変更を反映するして良いか否かを確認する。このとき、マルチキャストルータM1は、このマルチキャストグループとこのマルチキャストグループに関連するソースリストに関するGroup and Source Specific Queryを送信することにより、上記の確認を行う。このマルチキャストグループに対して変更されようとしているソース情報を維持したいクライアントE2は、その情報を含めたレポートメッセージをマルチキャストルータM1へ送信する。
【0079】
マルチキャストルータM1は、このレポートメッセージを受信すると、必要とされるソースとしてのサーバE1の情報を把握して、該当するソースリストを維持あるいは更新し、適切なサーバE1からのマルチキャストデータを転送する。
【0080】
マルチキャストルータM1は、マルチキャストグループに関するGroup and Source Specific Queryに対するレポートメッセージが受信されない場合、現在の情報に従ってマルチキャストデータの転送を継続する。
【0081】
IGMPv3では、クエリメッセージの受信に関係なく、クライアントE2は、自身のステートが変更(マルチキャストデータの受信中止や、フィルタモードの変更など)された時点で、Unsolicited Reportを送信することが出来る。
【0082】
このように、従来のIGMP(IGMPv1,IGMPv2)では、マルチキャストアドレスのみを基にマルチキャストグループ管理機能が提供されていたのに対し、IGMPv3では一つのマルチキャストアドレスとこのマルチキャストデータのソースとなる0台以上のサーバE1とをセットとして、マルチキャストグループ管理機能が提供される。即ち、クライアントE2は、あるマルチキャストグループに対して、0以上のサーバE1の組を指定してマルチキャストデータの受信要求を行うことが可能となる。言い換えると、あるマルチキャストアドレスに対してサーバE1に制限が付けられなければ(サーバE1の数が0)、従来のIGMPと同じマルチキャストアドレスのみの管理と同等となる。また、サーバE1が(1台以上)指定されれば、マルチキャストアドレスが同じでも指定されたサーバE1以外から送信されるマルチキャストデータは処理(受信や転送など)されない。さらに、同じレポートメッセージにおいて、複数のマルチキャストアドレスとその関連するソースが指定されることが可能である。
【0083】
また、ソースが一つだけ指定されれば、あるマルチキャストセッションはソースSとマルチキャストグループGとを用いて、(S,G)と表現される。このため、同じマルチキャストアドレスGが重複して使用されても、ソースSが異なることで、他のマルチキャストセッションと識別することが可能となる。この形態をSSMと呼ぶ。
【0084】
尚、IGMPではいずれのバージョンもIPv4が対象とされている。IPv6におけるIGMP相当のプロトコルは、MLDとしてIETFのmagma WGにて標準化作業中である。IGMPv2に対応するのがMLD for IPv6(RFC2710)であり、IGMPv3に対応するのがMLDv2 for IPv6(draft-vida-mld-v2-xx.txt)である。
【0085】
IGMP(IGMPv1)は、RFC1112のAPPENDIX Iで規定され、インターネットスタンダード(Internet Standard)となっている。また、IGMPv2はRFC2236で規定され、リーブメッセージが追加されたことにより、IGMPv1に比べて「小さい離脱待ち時間(low leave latency)」に関する機能が加えられている。さらに、IGMPv3は、マルチキャストアドレスと共にソースを指定してグループメンバーシップ情報を管理する「ソースフィルタリング」の機能が追加されており、また、IGMPv1とIGMPv2とに対して相互動作可能なように設計されている。ソースフィルタリングとは、あるシステムがあるマルチキャストアドレスに対して特定のソースから、あるいは特定のソースの組からのみマルチキャストデータを受信することを可能にする機能である。
【0086】
IGMPv3のメッセージは、IPv4データグラムにカプセル化され、IPプロトコル番号は”2”である。各々のIGMPメッセージはIP TTL=1で送信される。これらの規定は、従来のIGMPと同じである。
【0087】
また、IGMPv3のメッセージはIGMPv1の場合と同じく、クエリメッセージとレポートメッセージとが使用される(ただし、当然内容は異なる)。IGMPv2のリーブメッセージに相当する動作は、IGMPv3のレポートメッセージを「受信を希望するソースのリストをエンプティにした状態」で送信することで実現される。また、従来のIGMPのJoin(レポートメッセージの送信)に相当する動作は、IGMPv3のレポートメッセージを「受信を希望しないソースのリストをエンプティにした状態」で送信することで実現される。
【0088】
次に、IGMPv2とIGMPv3との差異を説明する。第一に、IGMPv3では、ソースフィルタリングが導入された。
【0089】
第二に、IGMPv3では、リーブメッセージ(グループ離脱を通知するメッセージ)が仕様から削除された。このため、IGMPv3では、グループ離脱は、該当するマルチキャストグループについて転送を必要とするソースが無いことを示すレポートメッセージを送信することによって実施される。
【0090】
第三に、IGMPv3では、ステート変更の通知が可能となった。即ち、IGMPv3では、クライアントがあるマルチキャストグループに対して、転送を必要とするソースやフィルタモードに変更があった場合に、レポートメッセージによってルータにこの旨を通知することが可能となった。
【0091】
第四に、IGMPv3では、Group and Source Specific Queryが規定された。この規定により、クライアントが、あるマルチキャストグループについて必要とするソースやフィルタモードに変更があったことをレポートメッセージによってマルチキャストルータに通知した時、このマルチキャストルータは、このマルチキャストグループに対するソースの情報変更を反映して良いか否かをインタフェース配下に確認する。
【0092】
第五に、IGMPv3では、IGMPv3ルータは、自身以外にIGMPv2で動作するマルチキャストルータあるいはクライアントが存在した場合は、IGMPv2で動作しなければならないことが規定された。同様に、IGMPv1で動作するマルチキャストルータあるいはクライアントが存在した場合には、IGMPv1で動作しなければならないことが規定された。
【0093】
第六に、IGMPv3では、クライアントによるレポートメッセージの抑制機能が廃止された。即ち、IGMPv3でネットワークが動作している場合、IGMPv1,v2と異なり、レポートメッセージは全てのIGMPv3ルータを示すアドレス”224.0.0.22”へ送信される。この廃止は、ブリッジ/L2スイッチでのIGMP Snoopingを考慮して実施された。
【0094】
第七に、IGMPv3では、IGMPv3ルータは、レポートメッセージが到着したインタフェースにアサインされたあらゆるアドレス(ユニキャストあるいはマルチキャスト)を受信し、レポートメッセージか否かを確認できなければならなくなった。
【0095】
〈マルチキャストルーティングプロトコル〉
図8は、マルチキャストルーティングプロトコルの概要を示す図である。図8を用いてマルチキャストルーティングプロトコルについて説明する。
【0096】
マルチキャストルーティングプロトコルとは、マルチキャストに対応する複数のルータやレイヤ3スイッチ(複数のマルチキャストルータM1)によって構成されるネットワークにおいて、マルチキャストルータM1がマルチキャストデータをクライアントE2への経路に沿って配信するために、マルチキャストルータM1のどのインタフェースへマルチキャストデータをコピーして送信するべきかを決める経路制御(あるいは経路木の構成)のためのプロトコルである。マルチキャストルーティングプロトコルは、マルチキャストルータM1間のプロトコルである。
【0097】
マルチキャストルーティングプロトコルには、DVMRP(MBoneで使用,RFC1075で規定)や、PIM(Protocol Independent Multicast:RFC2362で規定,新たなバージョンがIETFで検討中)、MOSPF(OSFP上でのみ動作可,RFC1584,1585で規定)等がある。このうち、PIMがデファクトスタンダードになっている。
【0098】
〈RFC1112〉
図9は、RFC1112の概要を示す図である。図9を用いて、RFC1112について説明する。RFC1112では、クラスDのIPアドレスと物理アドレスとのマッピングや、特定のクラスDの物理アドレスのパケットのみを受信し上位層へ上げるフィルタリング機能等が規定されている。RFC1112の機能が実施されるためには、ルータ、クライアント共に、RFC1112が実装される必要がある。
【0099】
クラスDのIPアドレスと物理アドレスとの対応付けは、クラスDのIPアドレスの下位23ビットをマルチキャスト物理アドレス”01:00:5E:00:00:00”(16進数)の下位23ビットに入れると規定されている(RFC1700参照)。例えば、”239.133.130.34”は、”01:00:5E:05:82:22”となる。
【0100】
〈IPv6でのマルチキャスト〉
次に、IPv6環境でのマルチキャストについて説明する。IPv6におけるIGMPv3に相当するプロトコルは、MLDv2であり、IETFで検討中である。IGMPとMLDの主な差異は以下の点である。第一に、MLDv2では、IPv4ヘッダでIGMPを示すことはなく、ICMPv6メッセージタイプ(Multicast Listener Query:Type = decimal 130、MLD Version 2 Multicast Listener Report:Type = decimal 131、MLD Version 2 Multicast Listener Done:Type = decimal 132 )を使用する。
【0101】
第二に、MLDv2では、マルチキャストMACアドレスは、128ビットIPv6アドレスの下位32ビットを48ビットのMACアドレス”33:33:xx:xx:xx:xx”へマッピングし生成する。
【0102】
従って、上記のようなIPv4とIPv6マルチキャストの差異を上記に従って認識・区別可能であり、またIGMPv3及びMLDv2の動作に関しては大きな差分はない。また、IPv6に対応可能なPIMのようなマルチキャストルーティングプロトコルも存在する。
【0103】
〔原理〕
〈システム構成〉
次に、図を用いて本発明の転送装置の原理について説明する。図10は、本発明の転送装置が使用された転送システム1を示す図である。転送システム1は、転送装置2,サーバ3,レイヤ2スイッチ4(4a,4b),クライアント5(5a,5b),及びマルチキャスト対応ネットワーク6を用いて構成される。
【0104】
まず、転送装置2以外の構成について説明する。サーバ3は、パーソナルコンピュータやワークステーション等の情報処理装置を用いて構成され、クライアント5に対してマルチキャストデータを送信する。
【0105】
レイヤ2スイッチ4は、複数のクライアント5を収容する。ここでは、レイヤ2スイッチ4aはマルチキャストデータを受信しないクライアント5aを収容し、レイヤ2スイッチ4bはマルチキャストデータを受信するクライアント5bを収容する。
【0106】
クライアント5は、パーソナルコンピュータやワークステーション等の情報処理装置を用いて構成される。ここでは、クライアント5aはサーバ3からマルチキャストデータを受信せず、クライアント5bはサーバ3からマルチキャストデータを受信するように設定される。このため、クライアント5bは、転送装置2に対し、マルチキャスト制御パケットを送信する。即ち、転送装置2,レイヤ2スイッチ4b,クライアント5bの間では、マルチキャスト制御パケットが送受信される。マルチキャスト制御パケットとは、クライアント5bが、マルチキャストデータの受信を望むことあるいは受信を中止すること等を転送装置2へ通知するためのデータである。このようなマルチキャスト制御パケットの例として、IGMPv3メッセージがある。
【0107】
マルチキャスト対応ネットワーク6は、マルチキャストに対応するルータやレイヤ3スイッチを用いて構成されるネットワークである。
【0108】
図11は、転送装置2の原理を示すブロック図である。次に、図11を用いて転送装置2について説明する。転送装置2は、クライアント5bからマルチキャスト制御パケットを受信しその内容を記憶することにより、マルチキャストパケットを転送すべきクライアント5を判別する。そして、転送装置2は、サーバ3からマルチキャストパケットを受信すると、各クライアント5bに対してユニキャストとして、受信されたマルチキャストパケットの内容を転送する。転送装置2は、このような処理を実行するため、送受信インタフェース7(7a,7b),マルチキャストパケット処理部8,及び転送処理部13を用いて構成される。
【0109】
送受信インタフェース7は、ネットワークを介して他の装置とデータの送受信を行う。送受信インタフェース7aは、ネットワークを介してレイヤ2スイッチ4やクライアント5とデータの送受信を行う。ここでは、送受信インタフェース7aは、レイヤ2スイッチ4を介してクライアント5とデータの送受信を行う。通常、転送装置2は、送受信インタフェース7aを複数備える。送受信インタフェース7bは、ネットワーク(マルチキャスト対応ネットワーク6)を介してサーバ3とデータの送受信を行う。
【0110】
マルチキャストパケット処理部8は、送受信インタフェース7a及び送受信インタフェース7b毎に備えられる。または、マルチキャストパケット処理部8は、全ての送受信インタフェース7a,7bについて、一つ備えられる。図11では、便宜上、一つのマルチキャストパケット処理部8が描かれている。マルチキャストパケット処理部8は、対応する送受信インタフェース7aを管理する。マルチキャストパケット処理部8は、自身が管理する送受信インタフェース7配下のクライアント5の中から、送受信インタフェース7bによって受信されたマルチキャストパケットを転送すべきクライアント5を判断する。マルチキャストパケット処理部8は、このような処理を行うために、受信クライアント情報管理テーブル記憶部9,マルチキャスト制御メッセージ判別部10,マルチキャストパケット判別部11,及びデータフレーム生成部12を備える。
【0111】
受信クライアント情報管理テーブル記憶部9は、受信クライアント情報管理テーブル9Aを記憶する。受信クライアント情報管理テーブル9Aは、転送装置2配下の各クライアント5についての情報を格納する。
【0112】
マルチキャスト制御メッセージ判別部10は、送受信インタフェース7aによってクライアント5から受信されたパケットが、マルチキャスト制御パケットであるか否かを判別する。マルチキャスト制御メッセージ判別部10は、受信されたパケットがマルチキャスト制御パケットである場合、このパケットの内容を受信クライアント情報管理テーブル9Aに反映させる。このとき、マルチキャスト制御メッセージ判別部10は、このパケットを転送処理部13へ渡す。一方、受信されたパケットがマルチキャスト制御パケットでない場合、マルチキャスト制御メッセージ判別部10は、このパケットを転送処理部13へ渡す。
【0113】
マルチキャストパケット判別部11は、転送処理部13から受け取られたパケットが、マルチキャストパケットであるか否かを判別する。マルチキャストパケット判別部11は、このパケットがマルチキャストパケットである場合、このパケットをデータフレーム生成部12へ渡す。一方、マルチキャスト判別部11は、このパケットがマルチキャストパケットでない場合、このパケットを送受信インタフェース7aを介して送出する。
【0114】
データフレーム生成部12は、マルチキャストパケット判別部11から受け取られたマルチキャストパケットを基に、送受信インタフェース7a配下のクライアント5(5b)へ送信されるべきユニキャストパケット(クライアント5(5b)へ送信されるべきマルチキャストフレーム)を生成する。
【0115】
転送処理部13は、通常のルータが備えるルーティング処理やマルチキャストルーティング処理などを行う。このため、転送処理部13は、ルーティングテーブル14Aを記憶するルーティングテーブル記憶部14と、マルチキャストルーティング処理を実行するマルチキャスト処理部15とを備える。
【0116】
〈動作例〉
次に、転送装置2の動作例を説明する。送受信インタフェース7aがマルチキャスト制御パケットを受信すると、マルチキャスト制御メッセージ判別部10は、受信されたパケットがマルチキャスト制御メッセージであるか否かを判別(検査)する。マルチキャスト制御メッセージ判別部10は、受信されたパケットがマルチキャスト制御パケットである場合、このパケットの内容を受信クライアント情報管理テーブル9Aに反映させる。また、マルチキャスト制御メッセージ判別部10は、このパケットを転送処理部13へ渡す。そして、転送処理部13は、通常のマルチキャストデータの転送制御情報として受け取ったマルチキャスト制御パケットの内容を、ルーティングテーブル14A及びマルチキャスト処理部15に反映させる。
【0117】
一方、マルチキャスト制御メッセージ判別部10は、受信されたパケットがマルチキャスト制御パケットでない場合、このパケットを転送処理部13へ渡す。そして、転送処理部13は、このパケットについて転送処理を実行する。
【0118】
送受信インタフェース7bがマルチキャストパケットを受信すると、転送処理部13は、受信されたマルチキャストデータをどの送受信インタフェース7aから送出すべきかを判別する。そして、転送処理部13は、判別された送受信インタフェース7aを管理するマルチキャストパケット処理部8へ、受信されたマルチキャストパケットを渡す。
【0119】
転送処理部13からマルチキャストパケット処理部8へ渡されたマルチキャストパケットは、マルチキャストパケット判別部11によって処理される。マルチキャストパケット判別部11は、受信クライアント管理テーブル9Aを参照し、受信されたマルチキャストパケットを転送すべきクライアント5bの存在の有無を確認する。このようなクライアント5bが存在する場合、マルチキャストパケット判別部11は、受信されたマルチキャストパケットをデータフレーム生成部12へ渡す。
【0120】
データフレーム生成部12は、受信されたマルチキャストパケットを、クライアント5b宛のユニキャストパケットに変換し、送受信インタフェース7aを介してクライアント5bへ転送する。このとき、データフレーム生成部12は、必要に応じてユニキャストパケットを複数生成する。例えば、受信されたマルチキャストパケットを転送すべきクライアント5bが複数存在する場合、ユニキャストパケットは複数生成される。
【0121】
一方、このようなクライアント5bが存在しない場合、マルチキャストパケット判別部11は、受信されたマルチキャストパケットを、送受信インタフェース7aを介して他の装置へ転送する。このような他の装置とは、例えば自装置2に接続される、転送装置2や、マルチキャスト対応ルータ等がある。
【0122】
〔実施形態概要〕
次に、図を用いて本発明の実施形態における転送装置、即ちマルチキャストルータ16について説明する。なお、本実施形態の説明は例示であり、本発明の構成は以下の説明に限定されない。また、以下の説明では、IPv4とIGMPv3とが適用されるネットワークを例として説明する。IPv6が適用される場合には、IGMPv3の代わりにMDLv2を適用するなど、上記したIPv4におけるマルチキャストとIPv6におけるマルチキャストとの差分を考慮することにより、同様の手順で本発明を実施することが可能である。
【0123】
図12は、マルチキャストルータ16を用いたマルチキャストシステム17のネットワーク構成を示す図である。マルチキャストシステム17は、サーバ3,マルチキャスト対応ネットワーク6,マルチキャストルータ16,レイヤ2スイッチ4,及び複数のクライアント5を用いて構成される。
【0124】
まず、マルチキャストルータ16以外の構成について説明する。サーバ3,マルチキャスト対応ネットワーク6,レイヤ2スイッチ4,及びクライアント5の基本的な構成は、原理において説明した通りである。
【0125】
図13は、マルチキャストルータ16の構成を示すブロック図である。図13を用いてマルチキャストルータ16の構成について説明する。マルチキャストルータ16は、ハードウェア的には、バスを介して接続されたCPU,主記憶(RAM),補助記憶装置(フラッシュメモリ)等を備えている。マルチキャストルータ16は、補助記憶装置に記憶された各種のプログラム(OS,アプリケーション等)が主記憶にロードされCPUにより実行されることによって、マルチキャストパケット処理部18(18a,18b,18c),転送制御部19,送受信インタフェース21(21a,21b,21c)等を含む装置として機能する。
【0126】
図14は、マルチキャストパケット処理部18の構成を示すブロック図である。図14を用いてマルチキャストパケット処理部18について説明する。マルチキャストパケット処理部18は、タイマ23,受信クライアント情報管理テーブル記憶部24,マルチキャスト制御メッセージ判別部25,マルチキャストパケット判別部26,及びデータフレーム生成部27を用いて構成される。
【0127】
タイマ23は、計時装置やCPUやRAM等を用いて構成される。タイマ23は、自身が備えられるマルチキャストパケット処理部18に対応する送受信インタフェース21を介してクエリメッセージが送出されると、計時を開始する。タイマ23は、受信クライアント情報管理テーブル24Aの各エントリについて、計時を行う。そして、タイマ23は、このクエリメッセージに対するレポートメッセージが、一定時間内にこの送受信インタフェース21を介して受信されるか否かを判断する。即ち、タイマ23は、受信クライアント情報管理テーブル24Aの各エントリについて、一定時間内にレポートメッセージが受信されるか否かを判断する。タイマ23は、受信クライアント情報管理テーブル24Aのあるエントリについてレポートメッセージが受信されると、このエントリについての計時をリセット(計時の値を0とすること)する。
【0128】
例えば、タイマ23は、クエリメッセージの送信間隔の3倍の時間が設定される。この場合、タイマ23は、クエリメッセージが3回送信される間にレポートメッセージが受信されない場合に、タイムアウトとなる。クエリメッセージの送信間隔が125秒である場合、タイマ23には、375秒が設定される。
【0129】
タイマ23は、タイムアウトとなった場合、このエントリに対応するクライアント5がなんらかの原因によってマルチキャストデータを既に受信していないと判断する。このため、タイマ23は、タイムアウトとなったエントリに対応するクライアント5に関する情報を、受信クライアント管理テーブル24Aから削除する。即ち、タイマ23は、タイムアウトとなったエントリに対応するクライアント5に関するエントリを、受信クライアント管理テーブル24Aから削除する。よって、タイマ23がタイムアウトとなった場合、このエントリに対応するクライアント5へのマルチキャストデータの転送が停止される。
【0130】
タイマ23の処理は、IPv6環境におけるMLDv2の場合であっても、同様に実施される。
【0131】
受信クライアント情報管理テーブル記憶部24は、ハードディスクやフラッシュメモリ等の不揮発性記憶装置を用いて構成される。受信クライアント情報管理テーブル記憶部24は、受信クライアント情報管理テーブル24Aを記憶する。
【0132】
図15は、受信クライアント情報管理テーブル24Aの例を示す図である。図15を用いて、受信クライアント情報管理テーブル24Aについて説明する。
【0133】
受信クライアント情報管理テーブル24Aは、各クライアント5がどのマルチキャストデータを受信したいかを判断するために必要となる情報を管理する。受信クライアント情報管理テーブル24Aは、各クライアント5から送出され自身が対応する送受信インタフェース21を介して受信されるレポートメッセージに含まれる情報を基に作成・更新される。受信クライアント情報管理テーブル24Aは、ローカルなインタフェース情報であるため、MACアドレスも格納される。
【0134】
受信クライアント情報管理テーブル24Aは、エントリナンバー,クライアントアドレス(Client Address),クライアントMACアドレス(Client MAC Address),マルチキャストアドレス(Multicast Address),ソースアドレス(Source Address),フィルタモード(Filter Mode)を項目とするエントリを持つ。
【0135】
エントリナンバーは、各エントリに割り当てられる重複しない数字である。図15に示される受信クライアント情報管理テーブル24Aでは、クライアントアドレス毎に一つのエントリナンバーが与えられる。即ち、図15に示される受信クライアント情報管理テーブル24Aでは、一つのクライアントアドレスに対して、複数の(1以上の)マルチキャストアドレス,ソースアドレス,フィルタモードが与えられる。
【0136】
クライアントアドレスは、受信クライアント情報管理テーブル記憶部24が備えられるマルチキャストパケット処理部18に対応する送受信インタフェース21配下に位置するクライアント5のIPアドレスを示す。
【0137】
クライアントMACアドレスは、同じエントリのクライアントアドレスに対応するMACアドレスを示す。即ち、クライアントMACアドレスは、同じエントリのクライアントアドレスを有するクライアント5のMACアドレスを示す。
【0138】
マルチキャストアドレスは、同じエントリのクライアントアドレスを有するクライアント5が受信を希望するマルチキャストデータのマルチキャストアドレスを示す。マルチキャストアドレスは、一つのエントリに複数保持される場合がある(例:図15におけるエントリナンバー1)。
【0139】
ソースアドレスは、対応するマルチキャストアドレスについてのマルチキャストデータの送信元となるサーバ3のアドレス(IPアドレス)を示す。マルチキャストルータ16は、IGMPv3に対応する。このため、ソースアドレスは、一つのマルチキャストアドレスに対して複数保持される場合がある(例:図15におけるエントリナンバー1)。
【0140】
フィルタモードは、対応するマルチキャストアドレスについてのフィルタモードを示す。フィルタモードは、”INCLUDE”と”EXCLUDE”とのいずれかの値を持つ。
【0141】
ここで、マルチキャストアドレス”238.0.0.123”を例として、受信クライアント情報管理テーブル24Aについて説明する。図15に示される受信クライアント情報管理テーブル24Aは、以下の情報を持つ。
【0142】
”61.143.221.2”がソースアドレスであるマルチキャストデータは、”210.23.171.aa”をアドレスとするクライアント5と”210.23.171.ff”をアドレスとするクライアント5とが受信を希望している。”61.143.221.3”がソースアドレスであるマルチキャストデータは、”210.23.171.aa”をアドレスとするクライアント5と”210.23.171.dd”をアドレスとするクライアント5と”210.23.171.ff”をアドレスとするクライアント5とが受信を希望している。”61.143.221.4”がソースアドレスであるマルチキャストデータは、”210.23.171.aa”をアドレスとするクライアント5と”210.23.171.dd”をアドレスとするクライアント5とが受信を希望している。”61.143.221.5”がソースアドレスであるマルチキャストデータは、”210.23.171.ff”をアドレスとするクライアント5が受信を希望している。そして、上記以外のソースアドレスであるマルチキャストデータは、”210.23.171.dd”をアドレスとするクライアント5が受信を希望している。また、エントリナンバー1のエントリにおけるクライアント5は、マルチキャストアドレス”238.0.0.123”宛のマルチキャストデータを、ソースアドレスが”61.143.221.2”,”61.143.221.3”,”61.143.221.4”であるサーバ3から送信された場合にのみ受信する。
【0143】
マルチキャスト制御メッセージ判別部25は、CPUやRAM等を用いて構成される。マルチキャスト制御メッセージ判別部25は、自身が備えられるマルチキャストパケット処理部18に対応する送受信インタフェース21を介して受信されたパケットが、マルチキャスト制御パケットであるか否かを判別する。即ち、マルチキャスト制御メッセージ判別部25は、対応する送受信インタフェース21を介して受信されたパケットが、マルチキャスト制御メッセージ(クライアント5が自発的に送信するIGMPレポートやリーブメッセージ,レポートメッセージなど)を含むパケットであるか否かを判別する。マルチキャスト制御メッセージ判別部25は、受信されたパケットがマルチキャスト制御パケットである場合、対応する送受信インタフェース21配下に、マルチキャストデータの受信を希望するクライアント5が存在することを認識する。マルチキャスト制御メッセージ判別部25は、受信されたパケットがマルチキャスト制御パケットである場合、このパケットの内容を受信クライアント情報管理テーブル24Aに反映させる(パケットの内容に応じて受信クライアント情報管理テーブル24Aの内容を更新あるいは変更する)。このとき、マルチキャスト制御メッセージ判別部25は、このパケットを転送制御部19へも渡す。一方、受信されたパケットがマルチキャスト制御パケットでない場合、マルチキャスト制御メッセージ判別部25は、このパケットを転送制御部19へ渡す。
【0144】
マルチキャスト制御メッセージ判別部25は、例えばレポートメッセージ(IGMP Report)を含むパケットをマルチキャスト制御パケットであると判断し、処理を実行する。ここで、レポートメッセージについて説明する。
【0145】
レポートメッセージは、IGMPメッセージ又はMLDv2メッセージによる制御メッセージである。図16,17は、IGMPメッセージを含むパケット,MLDv2メッセージを含むパケットのフォーマットを示す図である。図16,17では、データリンク層がイーサネットであると仮定している。IGMPメッセージは、IPパケットのデータグラムとして、IPパケットに保持される。MLDv2メッセージも同様に、IPパケットのデータグラムとしてIPパケットに保持される。
【0146】
レポートメッセージは、IPアドレスが”224.0.0.22”であり、MACアドレスが”01:00:5E:00:00:16”であり、IPヘッダ内のプロトコル番号がIGMPを示す”2”であり、IGMPメッセージのタイプ値が”0x22”である。図18,19は、IPv4,IPv6のパケットのヘッダフォーマットを示す図である。図18におけるProtocol IDの値が”2”である場合に、このパケットがIGMPメッセージを含むパケットであると判別される。このため、これらの情報を基に、マルチキャスト制御メッセージ判別部25は、受信されたパケットが、IGMPメッセージを含むか否か、さらにはレポートメッセージを含むか否かを判別する。
【0147】
図20,21は、IGMPv3,MLDv2におけるレポートメッセージのフォーマットを示す図である。レポートメッセージは、このレポートメッセージの送信元であるクライアント5が受信を希望するマルチキャストデータのマルチキャストアドレス(グループアドレス:Multicast Address)と、受信を希望するマルチキャストデータの送信元となるサーバ3のアドレス(ソースアドレス:Source Address)のリスト(ソースリスト)と、フィルタモードとを含む。
【0148】
例えば、「マルチキャストアドレス”238.0.1.12”のマルチキャストデータをソース”162.22.36.5”と”162.22.36.6”とから受信する」ことを意味するレポートメッセージは、マルチキャストアドレスは”238.0.1.12”、ソースアドレスは”162.22.36.5”と”162.22.36.6”、フィルタモードは”INCLUDE”となる。
【0149】
また、例えば、「マルチキャストアドレス”238.0.1.12”のマルチキャストデータをソース”162.22.36.5”,”162.22.36.6”以外から受信する」ことを意味するレポートメッセージは、マルチキャストアドレスは”238.0.1.12”、ソースアドレスは”162.22.36.5”と”162.22.36.6”、フィルタモードは”EXCLUDE”となる。クライアント5は、単一のレポートメッセージにおいて、複数のマルチキャストアドレスを指定でき、さらにそれぞれのマルチキャストアドレスに対するソースアドレスのリストとフィルタモードとを指定できる。
【0150】
レポートメッセージについての説明を終え、マルチキャスト制御メッセージ判別部25の説明に戻る。次に、マルチキャスト制御メッセージ判別部25が実行する、エントリの追加処理について説明する。マルチキャスト制御メッセージ判別部25は、受信クライアント情報管理テーブル24Aのエントリとして記録されていない新たなクライアント5からのレポートメッセージを受け取った場合、このレポートメッセージに含まれる情報を基に新たなエントリを生成する。このとき、マルチキャスト制御メッセージ判別部25は、レポートメッセージを含むパケットの送信元アドレスと、受信クライアント情報管理テーブル24Aのクライアントアドレスとを比較することにより、新たなクライアント5を識別する。
【0151】
図22は、受信クライアント情報管理テーブル24Aに保持されるエントリの例を示す図である。例えば、図15に示される受信クライアント情報管理テーブル24Aが保持されている状態で、IPアドレスが”210.23.171.gg”であるクライアント5からレポートメッセージが受信された場合、図22に示される新たなエントリが受信クライアント情報管理テーブル24Aに登録される。このとき、このレポートメッセージには、クライアント5のMACアドレスとして”xx:xx:xx:xx:45:67”,ソースアドレスとして”61.143.221.38”,マルチキャストアドレスとして”238.0.2.222”,フィルタモードとして”INCLUDE”が含まれていると仮定する。
【0152】
次に、マルチキャスト制御メッセージ判別部25が実行する、エントリの更新処理について説明する。マルチキャスト制御メッセージ判別部25は、レポートメッセージの内容と、受信クライアント情報管理テーブル24Aにおけるエントリの内容とが異なる場合、エントリの更新処理を行う。
【0153】
例えば、アドレスが”210.23.171.aa”であるクライアント5から、フィルタモードとして”EXCLUDE”,ソースアドレスとして”61.143.221.2”,マルチキャストアドレスとして”238.0.0.123”が指定されたレポートメッセージが受信されたと仮定する。この場合、このレポートメッセージの内容と、受信クライアント情報管理テーブル24Aの内容とが異なる。従って、マルチキャスト制御メッセージ判別部25は、受信クライアント情報管理テーブル24Aの内容を更新する。
【0154】
図23は、受信クライアント情報管理テーブル24Aに保持されるエントリの例を示す図である。上記のレポートメッセージが受信された場合、マルチキャスト制御メッセージ判別部25は、図15に示されるエントリナンバー1の内容を、図23に示される内容に更新する。この更新の結果、マルチキャストルータ16は、アドレスが”210.23.171.aa”であるクライアント5に対し、マルチキャストアドレスが”238.0.0.123”であるマルチキャストデータであって、ソースアドレスが”61.143.221.2”であるサーバ3以外から送出されたマルチキャストデータを転送する。
【0155】
また、フィルタモードが”INCLUDE”であり、ソースアドレスを含まない(エンプティである)レポートメッセージが受信された場合、マルチキャスト制御メッセージ判別部25は、このレポートメッセージに含まれるマルチキャストアドレスを含む情報をエントリから削除する。即ち、このようなレポートメッセージが受信された場合、マルチキャスト制御メッセージ判別部25は、このレポートメッセージの送信元であるクライアント5に対し、このレポートメッセージに含まれるマルチキャストアドレスのマルチキャストデータを転送しないようにエントリを更新する。
【0156】
例えば、アドレスが”210.23.171.bb”であるクライアント5から、マルチキャストアドレスが”238.225.13.33”であり、ソースアドレスがエンプティであり、フィルタモードが”INCLUDE”であるレポートメッセージが受信されたと仮定する。この場合、マルチキャスト制御メッセージ判別部25は、このクライアント5に対し、マルチキャストアドレスが”238.225.13.33”であるマルチキャストデータの転送を停止(中止)すると判断する。即ち、マルチキャスト制御メッセージ判別部25は、クライアントアドレスが”210.23.171.bb”であるエントリから、マルチキャストアドレスが”238.225.13.33”である情報を削除する。図15に示される受信クライアント情報管理テーブル24Aでは、結果として、エントリナンバー2のエントリが全て削除される。この処理は、IPv6環境におけるMLDv2においても同様に実行される。
【0157】
次に、IPv6環境におけるマルチキャスト制御メッセージ判別部25の動作について説明する。IPv6環境におけるMLDv2に対応したネットワークでは、マルチキャスト制御メッセージ判別部25は、MACアドレスがマルチキャストMACアドレスでさらに”33:33:00:00:00:22”であり、IPヘッダ内のネクストヘッダフィールドの値が”58”であり、ヘッダ内のタイプ値が”136(二進数)”であるパケットを、MLDv2におけるレポートメッセージを含むパケットであると判別する。このため、レイヤ2スイッチ4がMLDv2 Snoopingをサポートしていない場合であり、かつマルチキャストルータ16配下のサブネットワークにおいてMLDv2が適用される環境であっても、マルチキャストデータを必要とするクライアント5のみにマルチキャストデータを転送することが可能となる。
【0158】
マルチキャストパケット判別部26は、CPUやRAM等を用いて構成される。マルチキャストパケット判別部26は、転送制御部19から受け取られたパケットが、マルチキャストパケットであるか否かを判別する。マルチキャストパケット判別部26は、このパケットがマルチキャストパケットである場合、このパケットをデータフレーム生成部27へ渡す。
【0159】
一方、マルチキャスト判別部26は、このパケットがマルチキャストパケットでない場合、このパケットを送受信インタフェース21を介して送出する。このようなパケットの例として、通常のユニキャストデータや、マルチキャストデータのうちマルチキャストルーティングプロトコルのメッセージ等がある。
【0160】
データフレーム生成部27は、CPUやRAM等を用いて構成される。データフレーム生成部27は、マルチキャストパケット判別部26によってマルチキャストパケットであると判別されたパケットを、マルチキャストパケット判別部26から受け取る。データフレーム生成部27は、受け取られたマルチキャストパケットのマルチキャストアドレス及びソースアドレス(送信元のサーバ3のアドレス)を参照する。データフレーム生成部27は、参照結果のマルチキャストアドレス及びソースアドレスに該当するエントリを、受信クライアント情報管理テーブル24Aから読み出す。データフレーム生成部27は、受け取られたマルチキャストパケットを変更・コピーすることにより、読み出されたエントリのクライアントアドレス(クライアントMACアドレス)宛のユニキャストパケットを生成する。このとき、データフレーム生成部27は、受け取られたマルチキャストパケットにおける宛先MACアドレスを、マルチキャストMACアドレスから、読み出されたエントリに含まれるクライアントMACアドレスに変更する。そして、データフレーム生成部27は、生成されたユニキャストパケットを、送受信インタフェース21を介して送出する。
【0161】
図24は、データフレーム生成部27の動作例を示すフローチャートである。図24を用いて、データフレーム生成部27の動作について説明する。
【0162】
例えば、アドレスが”61.143.221.2”であるサーバ3から送信されたマルチキャストデータ(マルチキャストアドレスは”238.0.0.123”)が、マルチキャストルータ16によって受信された場合、データフレーム生成部27はマルチキャストパケット判別部26からこのマルチキャストデータを受け取る(S01)。
【0163】
データフレーム生成部27は、受け取られたマルチキャストデータに関するエントリが、受信クライアント情報管理テーブル24Aにあるか否かを判断する。即ち、データフレーム生成部27は、このマルチキャストデータのマルチキャストアドレス及びソースアドレス(フィルタモードが”INCLUDE”である場合は該当するソースアドレスを含むエントリ、フィルタモードが”EXCLUDE”である場合は該当するソースアドレスを含まないエントリ)について、受信クライアント情報管理テーブル24Aを検索する(S02)。
【0164】
受け取られたマルチキャストデータに関するエントリが受信クライアント情報管理テーブル24Aに無い場合(S03−NO)、データフレーム生成部27は、このマルチキャストデータをそのままの状態で(即ちオリジナルのマルチキャストデータを)、送受信インタフェース21を介して送出し、処理を終了する(S04)。
【0165】
一方、受け取られたマルチキャストデータに関するエントリが受信クライアント情報管理テーブル24Aに有る場合(S03−YES)、データフレーム生成部27は、このマルチキャストデータの受信を要求している各クライアント5に対し、このマルチキャストデータをユニキャスト送信する(S05)。
【0166】
上記した例では、受信されたマルチキャストデータのマルチキャストアドレス”238.0.0.123”は、受信クライアント情報管理テーブル24Aのエントリナンバー1,4にある。そして、フィルタモード及びソースアドレスが考慮されると、結果として、エントリナンバー1に該当するクライアント5に対して、受信されたマルチキャストデータが転送されるべきと、データフレーム生成部27は判断する。このため、受信されたマルチキャストデータは、エントリナンバー1に該当するクライアント5に対して、ユニキャスト送信される。
【0167】
具体的には、データフレーム生成部27は、該当するこのエントリを確認すると、このエントリに含まれるクライアントMACアドレスを読み出す。即ち、図15においては、データフレーム生成部27は、”xx:xx:xx:xx:12:34”を読み出す。次に、データフレーム生成部27は、受信されたマルチキャストデータの送信先MACアドレスに対し、読み出されたクライアントMACアドレスを付与しユニキャストデータを生成する。このとき、データフレーム生成部27は、複数のクライアントMACアドレスを読み出した場合、受信されたマルチキャストデータをコピーすることにより、読み出されたクライアントMACアドレスと同数のユニキャストデータを生成する。上記した例では、一つのクライアントMACアドレスが読み出されるため、データフレーム生成部27は、マルチキャストデータを一つコピーし、MACアドレスの変更を実行することによりユニキャストデータを生成する。データフレーム生成部27は、生成されたユニキャストデータを、送受信インタフェース21を介して送出する。そして、データフレーム生成部27は、このマルチキャストデータをそのままの状態で(即ちオリジナルのマルチキャストデータを)、送受信インタフェース21を介して送出し、処理を終了する(S06)。
【0168】
上述したように、データフレーム生成部27は、ユニキャストデータの転送処理を実行するか否かに関わらず、オリジナルのマルチキャストデータを送信する。図25は、オリジナルのマルチキャストデータの送信処理の作用を説明するための図である。図25では、マルチキャストルータ16bは、レイヤ2スイッチ4を介して、上流に位置するマルチキャストルータ16aに接続される。このように接続されたマルチキャストルータ16bは、配下に接続されるクライアント5bに対して正しくマルチキャストデータを配信するため、オリジナルのマルチキャストデータを必要とする。このため、マルチキャストルータ16aのデータフレーム生成部27は、ユニキャストデータの転送処理を実行するか否かに関わらず、オリジナルのマルチキャストデータを送信する。通常、レイヤ2スイッチ4は、あるポートから入力されたマルチキャストパケットをマルチキャストルータが接続されるポート(例えば、マルチキャストルータ16bが接続されるポート)、あるいはその方向のポートを介して送出する。このため、他のマルチキャストルータ(マルチキャストルータ16b)に対し、オリジナルのマルチキャストデータが伝達される。
【0169】
送受信インタフェース21は、ネットワークを介して他の装置とデータの送受信を行う。送受信インタフェース21aは、ネットワーク(マルチキャスト対応ネットワーク6)を介してサーバ3とデータの送受信を行う。送受信インタフェース21b,21cは、サブネットワークやレイヤ2スイッチ4を介してクライアント5や、他のマルチキャストルータ16とデータの送受信を行う。
【0170】
転送制御部19は、通常のルータが備えるルーティング処理やマルチキャストルーティング処理などを行う。このため、転送処理部19は、ルーティングデーブル20Aを記憶するルーティングテーブル記憶部20と、マルチキャストルーティング処理を実行するマルチキャスト処理部22とを備える。
【0171】
〔作用/効果〕
本発明によるマルチキャストルータ16によれば、受信クライアント情報管理テーブル24Aが、IGMPv3メッセージに基づいて、各クライアント5についてのマルチキャストデータの受信設定を保持する。そして、データフレーム生成部27が、受信クライアント情報管理テーブル24Aの内容に基づいて、受信されたマルチキャストデータを、ユニキャストデータとして、このマルチキャストデータを受信するように設定されているクライアント5に対してユニキャスト送信する。
【0172】
このため、マルチキャストルータ16とクライアント5との間に設置されるレイヤ2スイッチ4は、マルチキャストルータ16から送信されたユニキャストデータを、レイヤ2の情報に基づいて転送することが可能となる。即ち、レイヤ2スイッチ4は、レイヤ3レベルの処理が要求されるIGMPv3に基づいて処理を行う必要がなくなる。従って、レイヤ2スイッチ4は、転送能力の低下を招くIGMPv3対応Snoopingを実装される必要が無くなる。よって、IGMPv3対応Snoopingの実装によるコストを削減することや、転送能力の低下を防止することが可能となる。
【0173】
言い換えれば、マルチキャストルータ16の下流に存するレイヤ2スイッチ4が、レイヤ2に基づくスイッチング動作によって、このレイヤ2スイッチ4が収容している1以上のクライアント5のうち、マルチキャストデータの受信を所望するクライアント5のみにマルチキャストデータを転送することが可能となる。
【0174】
また、データフレーム生成部27は、マルチキャストデータをユニキャストデータとして転送するか否かに関わらず、必ずオリジナルのマルチキャストデータを転送する。このため、自装置16配下に設置される他のマルチキャストルータ16に対して、オリジナルのマルチキャストデータを転送することが可能となる。従って、他のマルチキャストルータ16は、オリジナルのマルチキャストデータに基づいて、自装置16の配下に設置される複数のクライアント5それぞれに対して、ユニキャストデータを正しく転送することが可能となる。
【0175】
また、タイマ23は、タイムアウトとなったエントリに対応するクライアント5に関するエントリを、受信クライアント管理テーブル24Aから削除する。このため、クライアント5が問題の発生(例:突然の電源断,OSのハングアップ)によりマルチキャストデータの受信をできなくなった場合、このクライアント5へのマルチキャストデータの転送が停止される。従って、ネットワーク帯域の浪費を防止することが可能となる。即ち、無駄なマルチキャストデータの転送処理の実行を防止することが可能となる。
【0176】
〔変形例〕
送受信インタフェース21は、クライアント側に二つ備えられているが(送受信インタフェース21b,21c)、二つに限らず三つ以上又は一つのみが備えられるように構成されても良い。
【0177】
また、マルチキャストパケット処理部18は、送受信インタフェース21毎に備えられているが、全ての送受信インタフェースを管理する一つのマルチキャストパケット処理部18が備えられるように構成されても良い。
【0178】
また、データフレーム生成部27は、どのような判断手順によってクライアントMACアドレスを読み出すように構成されても良い。
【0179】
また、マルチキャスト制御メッセージ判別部25は、IGMPv1又はIGMPv2に対応するレポートメッセージやクエリメッセージを受信した場合に、受信クライアント情報管理テーブル24Aを、IGMPv1又はIGMPv2に対応するように変換するように構成されても良い。そして、データフレーム生成部27は、変換された受信クライアント情報管理テーブル24Aを参照して、マルチキャストデータに対応するユニキャストデータを生成、送信する。即ち、この場合、データフレーム生成部27を含むマルチキャストパケット処理部18は、IGMPv1又はIGMPv2に対応して動作する。
【0180】
マルチキャストルータ16は、本発明による転送装置の構成が、IPレベルの中継処理を行う一般的なマルチキャストルータやレイヤ3スイッチに実装されることにより構成される。しかし、本発明による転送装置の構成が、専用装置として実装されても良い。
【0181】
図26は、本発明による転送装置の構成が専用装置29として実装された場合のネットワークの構成例を示す図である。このネットワークは、配信センタ28,専用装置29,EPON(Ethernet Passive Optical Network)32,カプラ33,ユーザ宅36を用いて構成される。配信センタ28内には、コンテンツサーバ31が設置される。また、ユーザ宅36内には、メディアコンバータ34とクライアント35とが設置される。また、専用装置29は、マルチキャスト対応ネットワーク30に接続されるルータ37とクライアント35との間に設置される。
【0182】
専用装置29は、ルータ37とクライアント35とから送信されるIGMPメッセージを参照し、受信クライアント情報管理テーブル24A(図15参照)を生成する。また、専用装置29は、ルータ37から送信されるマルチキャストデータを受信し、受信クライアント情報管理テーブル24Aに基づいて、データフレーム生成部27によって、ユニキャストデータを生成しクライアント35へ送信する。
【0183】
このように専用装置29を設置することにより、本発明による転送装置が実装された新たなマルチキャストルータ16を設置する必要がなくなり、ルータ37等の既存設備を活用することが可能となる。例えば、ルータ37がIGMPv3に対応していない場合であっても、ソフトウェアのアップグレード等により、IGMPv3に対応させることが可能である。このため、IGMPv1やIGMPv2にのみ対応していたネットワークについても、専用装置29の設置とソフトウェアのアップグレード等により、IGMPv3に対応したネットワークを構成することが可能となり、このようなネットワーク構成に費やすコストの削減が可能となる。
【0184】
また、FTTH(Fiber To The Home)では、EPON32の性質上、IGMP Snoopingの機能は、メディアコンバータ34に実装されなければならない。しかし、通常は、小型でCPU等も備えないメディアコンバータ34に対して、本発明による転送装置を実装することは困難である。このような場合に、専用装置29が図26に示されるように設置されることにより、他のシステムには影響を与えることなく、IGMPv3によるマルチキャストが可能となる。
【0185】
〔適用例〕
本発明による転送装置(転送装置が実装されたマルチキャストルータ16や専用装置29など)は、コンテンツ配信システムに適用されることにより、新たな効果を奏する。図27は、マルチキャストルータ16が適用されたコンテンツ配信システム38の概要を示す図である。コンテンツ配信システム38は、コンテンツ配信ネットワーク(CDN:Contents Distribution Network)事業者のサーバサイト39,ISPの制御センタ44,ISPのネットワーク45,マルチキャストルータ16,クライアント5,レイヤ2スイッチ4を用いて構成される。サーバサイト39は、ユーザ管理/認証サーバ40,課金サーバ41,マルチキャストコンテンツ配信サーバ42,及びルータ43を用いて構成される。また、ISPのネットワーク45は、マルチキャストルータ16を含む。さらに、レイヤ2スイッチ4は、マルチキャストルータ16を介してISPのネットワーク45に接続される。
【0186】
図27に示されるコンテンツ配信システム38では、CDN事業者とISPとの間で、コンテンツ配信依頼/契約が行われる(1)。その後、CDN事業者のマルチキャストコンテンツ配信サーバ42からコンテンツのマルチキャスト配信が実施される(2)。マルチキャストルータ16は、受信クライアント情報について収集・保持・管理を行い(3)、受信クライアント情報をCDN事業者のサイトへ送信する(4)。この受信クライアント情報を受信したCDN事業者は、契約しているISPへ、受信されたユーザ情報と課金情報とを通知する(5)。そして、ISPによって、ユーザに対するコンテンツ受信状況に応じた料金請求が実施される(6)。
【0187】
ユーザ管理/認証サーバ40は、ユーザ管理テーブル46を記憶する。ユーザ管理/認証サーバ40は、ISPのネットワーク45に設置されたマルチキャストルータ16から送信されるクライアント情報を基に、ユーザ管理テーブル46を作成/更新する。クライアント情報は、受信クライアント情報管理テーブル24Aに保持される情報を含む。
【0188】
図28は、ユーザ管理テーブル46の例を示す図である。ユーザ管理テーブル46は、ユーザ名,ユーザアドレス(クライアントアドレス),受信コンテンツアドレス(マルチキャストアドレス),受信開始時間,受信終了時間を項目として有する。
【0189】
ユーザ名は、クライアント5のユーザの名前を示す。ユーザ名は、ユーザを識別するために使用されるため、ユーザID等によって代替されても良い。
【0190】
ユーザアドレスは、クライアント5に割り当てられたアドレスであり、受信クライアント情報管理テーブル24Aにおけるクライアントアドレスと対応する。ユーザアドレスは、受信クライアント情報管理テーブル24AにおけるクライアントMACアドレスと対応しても良い。また、ユーザ名とユーザアドレスとの対応付けは、ISPのDHCP(Dynamic Host Configuration Protocol)サーバのログ情報を参照することや、ユーザ管理/認証サーバ40とDHCPサーバとが連動することで可能となる。
【0191】
受信コンテンツアドレスは、クライアント5が受信したコンテンツについてのマルチキャストアドレスであり、受信クライアント情報管理テーブル24Aにおけるマルチキャストアドレスに対応する。このとき、クライアント5は、マルチキャストコンテンツ配信サーバ42によって配信されるマルチキャストデータをコンテンツとして受信する。
【0192】
受信開始時間と受信終了時間とは、クライアント5が、対応するマルチキャストアドレスについてのマルチキャストデータの受信を開始した時間と受信を終了した時間を示す。
【0193】
CDN事業者は、ユーザ管理テーブル46の情報を基に、サービスを提供することが可能である。図29は、ユーザ管理テーブル46の情報を基に実施されるサービスの例を示す図である。
【0194】
図29では、CDN事業者がサービスを実施する。CDN事業者は、コンテンツ制作会社やISP等の契約ユーザ向けのコンテンツ配信システムを提供するビジネスを行う。ここでは特に、CDN事業者は、マルチキャストによるコンテンツ配信システムを提供すると仮定する。
【0195】
CDN事業者は、サービスメニューとして、通常のマルチキャストによるコンテンツ配信のサービスと、マルチキャストによるコンテンツ配信に加えてユーザ管理を含むサービスとを設定する。このとき、ユーザ管理を含むサービスでは、ユーザ管理テーブル46に保持される情報に基づいたサービスが提供される。例えば、CDN事業者は、ユーザ管理テーブル46に基づいて、ユーザ毎の受信コンテンツとその受信時間等を、コンテンツ制作会社やISPに提供する。
【0196】
従来のマルチキャストでは、サーバは、コンテンツのデータに対し単にマルチキャストアドレスを付与して送信する処理のみを実施していた。また、従来のマルチキャストでは、UDP(User Datagram Protocol)が使用されていたため、TCP(Transmission Control Protocol)が使用された場合と異なり、基本的にどのクライアントがどのマルチキャストデータを受信しているかについては把握できなかった。従って、従来のマルチキャストによるコンテンツ配信では、ユーザ管理やコンテンツの視聴状況を把握することができなかった。
【0197】
しかし、CDN事業者によって提供される情報により、コンテンツ制作会社やISPは、ユーザ管理やコンテンツの視聴状況を把握することが可能となり、ユーザ毎の時間課金や、視聴率の算出等を実施することが可能となる。
【0198】
なお、このサービスは、CDN事業者ではなく、ISP自身によって実施されても良い。また、CDN事業者がネットワークシステム自体を提供し、コンテンツ制作会社の作成したコンテンツの代行配信を実施するという形態でこのサービスが実施されても良い。
【0199】
〔その他〕
本発明は、以下のように特定することができる。
(付記1) 第一のレイヤのデータに基づいてハードウェア的にスイッチングを行うスイッチング装置よりも上流に設置されるデータ生成装置であって、
前記第一のレイヤよりも高次である第二のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出す読出手段と、
前記読出手段によって読み出される前記転送管理情報を記憶する記憶手段と、前記記憶手段が記憶する前記転送管理情報に基づいて転送データの転送先となるクライアントを判断し、転送先となるクライアント数と同数の、それぞれのクライアントに対して送信される、受信された転送データと同等の内容を含む送信データを生成するデータ生成手段と、
前記データ生成手段によって生成された送信データを前記スイッチング装置へ転送する転送手段と
を備えるデータ生成装置。
(付記2) 前記データ生成手段は、さらに前記転送データにおける前記第二のレイヤのデータに基づいて転送先となるクライアントを判断する付記1に記載のデータ生成装置。
(付記3) 前記データ生成手段は、前記第一のレイヤの送信先アドレスに、前記転送先となるクライアントのアドレスを書き込むことにより前記送信データを生成する付記1又は2に記載のデータ生成装置。
(付記4) レイヤ2よりも高次のレイヤのデータから、マルチキャストデータの転送処理に関する情報を読み出す読出手段と、
前記読出手段によって読み出された情報に基づいた転送管理情報を記憶する記憶手段と、
前記記憶手段が記憶する前記転送管理情報に基づいてマルチキャストデータの転送先となるクライアントを判断し、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するデータ生成手段と
を備えるデータ生成装置。
(付記5) 前記データ生成手段は、さらに前記マルチキャストデータにおけるレイヤ2よりも高次のレイヤのデータに基づいて転送先となるクライアントを判断する付記4に記載のデータ生成装置。
(付記6) 前記データ生成手段は、前記コピーされた夫々のデータのMACアドレスを、転送先となる各クライアントのMACアドレスに書き換えることによりユニキャストデータを生成する付記4又は5に記載のデータ生成装置。
(付記7) 自装置よりも下流側にデータを送出する送出手段をさらに備え、
前記送出手段は、前記データ生成手段によって生成されるユニキャストデータ及び受信されたマルチキャストデータを送出する
付記4〜6のいずれかに記載のデータ生成装置。
(付記8) 前記読出手段によって読み出された情報に基づいて、前記記憶手段に記憶される前記転送管理情報を更新する管理手段をさらに備える付記4〜7のいずれかに記載のデータ生成装置。
(付記9) 前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、前記管理手段はこの情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させる付記8に記載のデータ生成装置。
(付記10) 前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、前記管理手段はこの情報の送信元であるクライアントに関する情報を前記転送管理情報から削除する付記9に記載のデータ生成装置。
(付記11) 一定時間を計時する計時手段をさらに備え、
前記計時手段が、応答要求に対する応答がクライアントから一定時間以上受信されていないと判断した場合、前記管理手段はこのクライアントに関する情報を前記転送管理情報から削除する付記9又は10に記載のデータ生成装置。
(付記12) 前記読出手段は、IGMP(Internet Group Management Protocol)バージョン3のメッセージから前記情報を読み出す付記4〜11のいずれかに記載のデータ生成装置。
(付記13) 前記読出手段は、MLD(Multicast Listener Discovery)バージョン2のメッセージから前記情報を読み出す付記4〜11のいずれかに記載のデータ生成装置。
(付記14) 前記管理手段は、IGMPバージョン1又はIGMPバージョン2のメッセージが受信された場合、前記転送管理情報をIGMPバージョン1又はIGMPバージョン2の仕様に基づいて変更する付記4〜13のいずれかに記載のデータ生成装置。
(付記15) 前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶する付記4〜14のいずれかに記載のデータ生成装置。
(付記16) 前記記憶手段は、前記転送管理情報として、さらにマルチキャストデータの送信元アドレスを関連付けて記憶する付記15に記載のデータ生成装置。
(付記17) 前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶し、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備える付記10又は11に記載のデータ生成装置。
(付記18) 前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶し、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備える付記10又は11に記載のデータ生成装置。
(付記19) 第一のレイヤのプロトコルに基づいて転送されるマルチキャストデータの受信を所望する1以上のクライアントに関するデータを記憶する記憶手段と、
前記マルチキャストデータを受け取ったときに、前記記憶手段に記憶された前記1以上のクライアントに関するデータに基づいて、前記マルチキャストデータから前記第一のレイヤより低次の第二のレイヤのプロトコルに基づいて転送されるクライアント毎のユニキャストデータを生成し、このクライアント毎のユニキャストデータを前記1以上のクライアントを収容する1以上の第二のレイヤのスイッチに向けて送出する送出手段に与えるデータ生成手段と
を含むデータ生成装置。
(付記20) マルチキャストデータの転送処理に関する情報を読み出す読出手段と、
前記読出手段によって読み出された情報に基づいた転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶する記憶手段と、
前記記憶手段が記憶する前記転送管理情報に基づいて、受信されたマルチキャストデータの転送先となるクライアントを判断し、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するデータ生成手段と、
前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、この情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させ、前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、この情報の送信元であるクライアントに関する情報を前記転送管理情報から削除する管理手段と、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段と
を備えるクライアント管理装置。
(付記21) マルチキャストデータの転送処理に関する情報を読み出す読出手段と、
前記読出手段によって読み出された情報に基づいた転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶する記憶手段と、
前記記憶手段が記憶する前記転送管理情報に基づいて、受信されたマルチキャストデータの転送先となるクライアントを判断し、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するデータ生成手段と、
前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、この情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させ、前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、この情報の送信元であるクライアントに関する情報を前記転送管理情報から削除する管理手段と、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段と
を備えるクライアント管理装置。
(付記22) 第一のレイヤのデータに基づいてハードウェア的にスイッチングを行うスイッチング装置よりも上流に設置される情報処理装置によって実行されるデータ生成方法であって、
前記情報処理装置が、前記第一のレイヤよりも高次である第二のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出すステップと、
前記情報処理装置が、読み出された前記転送管理情報に基づいて転送データの転送先となるクライアントを判断するステップと、
前記情報処理装置が、前記転送先となるクライアント数と同数の、それぞれのクライアントに対して送信される、受信された転送データと同等の内容を含む送信データを生成するステップと、
前記生成された送信データを前記スイッチング装置へ転送するステップと
を含むデータ生成方法。
(付記23) 情報処理装置が、レイヤ2よりも高次のレイヤのデータから、マルチキャストデータの転送処理に関する情報を読み出すステップと、
情報処理装置が、前記読み出された情報に基づいた転送管理情報を記憶するステップと、
情報処理装置が、前記記憶される前記転送管理情報に基づいてマルチキャストデータの転送先となるクライアントを判断するステップと、
情報処理装置が、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するステップと
を含むデータ生成方法。
(付記24) 情報処理装置が、マルチキャストデータの転送処理に関する情報を読み出すステップと、
情報処理装置が、前記読み出された情報に基づいた転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶するステップと、
情報処理装置が、前記転送管理情報に基づいて、受信されたマルチキャストデータの転送先となるクライアントを判断するステップと、
情報処理装置が、前記受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するステップと、
情報処理装置が、前記読み出された情報がマルチキャストグループへの加入を示す情報である場合、この情報の内容を前記記憶される転送管理情報に反映させ、前記読み出された情報がマルチキャストグループからの離脱を示す情報である場合、この情報の送信元であるクライアントに関する情報を前記転送管理情報から削除するステップと、
情報処理装置が、前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するステップと
を含むクライアント管理方法。
(付記25) 情報処理装置が、マルチキャストデータの転送処理に関する情報を読み出すステップと、
情報処理装置が、前記読み出された情報に基づいた転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶するステップと、
情報処理装置が、前記転送管理情報に基づいてマルチキャストデータの転送先となるクライアントを判断するステップと、
情報処理装置が、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するステップと、
情報処理装置が、前記読み出された情報がマルチキャストグループへの加入を示す情報である場合、この情報の内容を前記転送管理情報に反映させ、前記読み出された情報がマルチキャストグループからの離脱を示す情報である場合、この情報の送信元であるクライアントに関する情報を前記転送管理情報から削除するステップと、
情報処理装置が、前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するステップと
を含むクライアント管理方法。
【0200】
【発明の効果】
本発明によれば、あるレイヤ(例えばレイヤ3)以上の情報を用いたマルチキャストグループ管理プロトコルが使用されるネットワークにおいて、あるレイヤよりも低次のレイヤ(例えばレイヤ2)のスイッチング装置に変更を行うことなく、このスイッチング装置によって、マルチキャストデータの受信を望むクライアントが接続されるポートのみにマルチキャストデータが配信される。
【図面の簡単な説明】
【図1】 IPマルチキャストを用いたネットワークの構成例を示す図である。
【図2】 マルチキャストアドレスの割り当てを示す表である。
【図3】 IGMPv1の概要を示す図である。
【図4】 IGMPv2の概要を示す図である。
【図5】 IGMPv3の概要を示す図である。
【図6】 INCLUDEモードを指定したクライアントのみが接続される状態を示す図である。
【図7】 EXCLUDEモードを指定したクライアントが接続される状態を示す図である。
【図8】 マルチキャストルーティングプロトコルの概要を示す図である。
【図9】 RFC1112の概要を示す図である。
【図10】 本発明の転送装置が使用された転送システムを示す図である。
【図11】 転送装置のブロック図である。
【図12】 マルチキャストシステムのネットワーク構成を示す図である。
【図13】 マルチキャストルータのブロック図である。
【図14】 マルチキャストパケット処理部のブロック図である。
【図15】 受信クライアント情報管理テーブルの例を示す図である。
【図16】 IGMPメッセージを含むパケットのフォーマットを示す図である。
【図17】 MLDv2メッセージを含むパケットのフォーマットを示す図である。
【図18】 IPv4のパケットのヘッダフォーマットを示す図である。
【図19】 IPv6のパケットのヘッダフォーマットを示す図である。
【図20】 IGMPv3におけるレポートメッセージのフォーマットを示す図である。
【図21】 MLDv2におけるレポートメッセージのフォーマットを示す図である。
【図22】 受信クライアント情報管理テーブルに保持されるエントリの例を示す図である。
【図23】 受信クライアント情報管理テーブルに保持されるエントリの例を示す図である。
【図24】 データフレーム生成部の動作例を示すフローチャートである。
【図25】 オリジナルのマルチキャストデータの送信処理の作用を説明するための図である。
【図26】 専用装置が用いられたネットワークの構成例を示す図である。
【図27】 コンテンツ配信システムの概要を示す図である。
【図28】 ユーザ管理テーブルの例を示す図である。
【図29】 ユーザ管理テーブルの情報を基に実施されるサービスの例を示す図である。
【符号の説明】
E1,E1a,E1b,E1n サーバ
E2,E2a,E2b,E2n クライアント
N1 マルチキャスト対応ネットワーク
M1 マルチキャストルータ
L1 レイヤ2スイッチ
1 転送システム
2 転送装置
3 サーバ
4,4a,4b レイヤ2スイッチ
5,5a,5b クライアント
6 マルチキャスト対応ネットワーク
7,7a,7b 送受信インタフェース
8 マルチキャストパケット処理部
9 受信クライアント情報管理テーブル記憶部
9A 受信クライアント情報管理テーブル
10 マルチキャスト制御メッセージ判別部
11 マルチキャストパケット判別部
12 データフレーム生成部
13 転送処理部
14 ルーティングテーブル記憶部
14A ルーティングテーブル
15 マルチキャスト処理部
16 マルチキャストルータ
17 マルチキャストシステム
18,18a,18b,18c マルチキャストパケット処理部
19 転送制御部
20 ルーティングテーブル記憶部
20A ルーティングテーブル
21,21a,21b,21c 送受信インタフェース
22 マルチキャスト処理部
23 タイマ
24 受信クライアント情報管理テーブル記憶部
24A 受信クライアント情報管理テーブル
25 マルチキャスト制御メッセージ判別部
26 マルチキャストパケット判別部
27 データフレーム生成部
28 配信センタ
29 専用装置
30 マルチキャスト対応ネットワーク
31 コンテンツサーバ
32 EPON
33 カプラ
34 メディアコンバータ
35 クライアント
36 ユーザ宅
37 ルータ
38 コンテンツ配信システム
39 サーバサイト
40 ユーザ管理/認証サーバ
41 課金サーバ
42 マルチキャストコンテンツ配信サーバ
43 ルータ
44 ISPの制御センタ
45 ISPのネットワーク
46 ユーザ管理テーブル

Claims (9)

  1. レイヤ2よりも高次のレイヤのデータから、マルチキャストデータの転送処理に関する情報を読み出す読出手段と、
    前記読出手段によって読み出された情報に基づいた転送管理情報を記憶する記憶手段と、
    前記記憶手段が記憶する前記転送管理情報に基づいてマルチキャストデータの転送先となるクライアントを判断し、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータのMACアドレスを、転送先となる各クライアントのMACアドレスに書き換えることによりユニキャストデータを生成するデータ生成手段と
    を備えるデータ生成装置。
  2. 自装置よりも下流側にデータを送出する送出手段をさらに備え、
    前記送出手段は、前記データ生成手段によって生成されるユニキャストデータ及び受信されたマルチキャストデータを送出する
    請求項に記載のデータ生成装置。
  3. 前記読出手段によって読み出された情報に基づいて、前記記憶手段に記憶される前記転送管理情報を更新する管理手段をさらに備える請求項1又は2に記載のデータ生成装置。
  4. 前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、前記管理手段はこの情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させる請求項に記載のデータ生成装置。
  5. 前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、前記管理手段はこの情報の送信元であるクライアントに関する情報を前記転送管理情報から削除する請求項に記載のデータ生成装置。
  6. 一定時間を計時する計時手段をさらに備え、
    前記計時手段が、応答要求に対する応答がクライアントから一定時間以上受信されていないと判断した場合、前記管理手段はこのクライアントに関する情報を前記転送管理情報から削除する請求項4又は5に記載のデータ生成装置。
  7. 前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶し、
    前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報として記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段を
    さらに備える請求項5又は6に記載のデータ生成装置。
  8. 前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶し、
    前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報として記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段を
    さらに備える請求項5又は6に記載のデータ生成装置。
  9. 情報処理装置が、レイヤ2よりも高次のレイヤのデータから、マルチキャストデータの転送処理に関する情報を読み出すステップと、
    情報処理装置が、前記読み出された情報に基づいた転送管理情報を記憶するステップと、
    情報処理装置が、前記記憶される前記転送管理情報に基づいてマルチキャストデータの転送先となるクライアントを判断するステップと、
    情報処理装置が、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータのMACアドレスを、転送先となる各クライアントのMACアドレスに書き換えることによりユニキャストデータを生成するステップと
    を含むデータ生成方法。
JP2003029355A 2003-02-06 2003-02-06 データ生成装置 Expired - Fee Related JP4077330B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003029355A JP4077330B2 (ja) 2003-02-06 2003-02-06 データ生成装置
US10/771,724 US7627690B2 (en) 2003-02-06 2004-02-04 Data generating device
US12/603,155 US8185657B2 (en) 2003-02-06 2009-10-21 Data generating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003029355A JP4077330B2 (ja) 2003-02-06 2003-02-06 データ生成装置

Publications (2)

Publication Number Publication Date
JP2004242063A JP2004242063A (ja) 2004-08-26
JP4077330B2 true JP4077330B2 (ja) 2008-04-16

Family

ID=32820830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003029355A Expired - Fee Related JP4077330B2 (ja) 2003-02-06 2003-02-06 データ生成装置

Country Status (2)

Country Link
US (2) US7627690B2 (ja)
JP (1) JP4077330B2 (ja)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004419A1 (ja) * 2003-07-07 2005-01-13 Ntt Docomo, Inc. 通信システム、マルチキャスト対応ルータ、送信端末、受信端末及び通信方法
FR2866498A1 (fr) * 2004-02-17 2005-08-19 Thomson Licensing Sa Methode de transmission d'un flux multipoint dans un reseau local et dispositif de connexion implementant la methode
JP4464766B2 (ja) * 2004-03-03 2010-05-19 株式会社日立製作所 マルチキャスト配信制御装置
WO2005096569A1 (ja) * 2004-03-30 2005-10-13 Matsushita Electric Industrial Co., Ltd. 通信装置および通信システム
KR100594737B1 (ko) * 2004-05-04 2006-06-30 삼성전자주식회사 공인 아이피 주소가 필요 없는 네트워크 시스템 및 시스템설정 방법
US20060018335A1 (en) * 2004-07-26 2006-01-26 Koch Christopher D Multicast to unicast traffic conversion in a network
US9065669B2 (en) * 2004-08-24 2015-06-23 Avaya Inc. Method and apparatus for authorizing multicast forwarding states
JP2006101471A (ja) * 2004-09-06 2006-04-13 Hitachi Communication Technologies Ltd マルチキャスト冗長経路ルータ、マルチキャスト冗長化方式
US20060085834A1 (en) * 2004-10-19 2006-04-20 Cayin Technology Co., Ltd. System and method for transmitting multi-channel signals
TWI391018B (zh) 2004-11-05 2013-03-21 Ruckus Wireless Inc 藉由確認抑制之增強資訊量
US8619662B2 (en) 2004-11-05 2013-12-31 Ruckus Wireless, Inc. Unicast to multicast conversion
US8638708B2 (en) * 2004-11-05 2014-01-28 Ruckus Wireless, Inc. MAC based mapping in IP based communications
US7505447B2 (en) 2004-11-05 2009-03-17 Ruckus Wireless, Inc. Systems and methods for improved data throughput in communications networks
CN100396055C (zh) * 2005-02-04 2008-06-18 华为技术有限公司 组播源过滤的处理方法
JP4563450B2 (ja) * 2005-02-28 2010-10-13 三菱電機株式会社 コンテンツ配信システム
JP4554420B2 (ja) * 2005-04-06 2010-09-29 エヌ・ティ・ティ・コミュニケーションズ株式会社 ゲートウェイ装置及びそのプログラム
US20070097970A1 (en) * 2005-11-01 2007-05-03 Georgios Margaritis Packet retransmitter
US7843845B2 (en) * 2005-11-28 2010-11-30 Alcatel Lucent Diagnostic tool and method for troubleshooting multicast connectivity flow problem(s) in a layer 2 aggregation network
JP4863015B2 (ja) * 2005-12-09 2012-01-25 日本電気株式会社 フレーム処理方法及びフレーム処理装置
EP1802038B1 (en) * 2005-12-23 2009-01-07 Sony Deutschland GmbH System and method for improving service and device discovery in a UPnP-based wireless communication network
JP5161106B2 (ja) * 2006-01-17 2013-03-13 トムソン ライセンシング デジタルテレビブロードキャストサービスを受信するためのゲートウェイ、端末および対応する方法
US20070186010A1 (en) * 2006-02-03 2007-08-09 Rockwell Automation Technologies, Inc. Extending industrial control system communications capabilities
US20070186011A1 (en) * 2006-02-03 2007-08-09 Rockwell Automation Technologies, Inc. Industrial protocol and gateway
US7933268B1 (en) * 2006-03-14 2011-04-26 Marvell Israel (M.I.S.L.) Ltd. IP multicast forwarding in MAC bridges
CN101079728B (zh) 2006-05-26 2010-11-10 华为技术有限公司 一种优化组管理协议的方法、服务器及系统
JP4815284B2 (ja) 2006-07-06 2011-11-16 アラクサラネットワークス株式会社 パケット転送装置
US20080080543A1 (en) * 2006-09-28 2008-04-03 Rockwell Automation Technologies, Inc. Network switch with controller i/o capability
KR101086418B1 (ko) * 2006-11-29 2011-11-25 삼성전자주식회사 Ip 네트워크에서 정보를 송수신하는 방법 및 장치
US8693482B2 (en) * 2007-01-03 2014-04-08 Alcatel Lucent Apparatus, and associated method, for facilitating multi-media service in an ethernet network
US9319225B2 (en) 2007-01-16 2016-04-19 Microsoft Technology Licensing, Llc Remote device waking using a multicast packet
JP4864735B2 (ja) * 2007-01-17 2012-02-01 富士通テレコムネットワークス株式会社 Ipアドレス払い出し管理システムおよびipアドレス払い出し管理方法
JP2008271294A (ja) 2007-04-23 2008-11-06 Oki Electric Ind Co Ltd チャンネル選択情報送信装置、方法及びプログラム
EP2156639B1 (en) * 2007-05-31 2016-05-18 Telefonaktiebolaget LM Ericsson (publ) Media transport protocol selection
US20100046516A1 (en) * 2007-06-26 2010-02-25 Media Patents, S.L. Methods and Devices for Managing Multicast Traffic
ES2381175T3 (es) * 2007-06-26 2012-05-23 Media Patents, S. L. Dispositivo para gestionar grupos multidifusión
US8925015B2 (en) 2007-07-20 2014-12-30 At&T Intellectual Property I, L.P. System and method of determining viewership information
US8547899B2 (en) 2007-07-28 2013-10-01 Ruckus Wireless, Inc. Wireless network throughput enhancement through channel aware scheduling
JP4415036B2 (ja) 2007-08-17 2010-02-17 株式会社日立コミュニケーションテクノロジー ネットワークシステム、ネットワーク装置及び中継装置
JP2009094832A (ja) 2007-10-10 2009-04-30 Nec Access Technica Ltd マルチキャストデータ配信装置、その配信方法およびその配信制御プログラム
US8064449B2 (en) * 2007-10-15 2011-11-22 Media Patents, S.L. Methods and apparatus for managing multicast traffic
US8184630B2 (en) * 2007-10-15 2012-05-22 Media Patents, S.L. Method for managing multicast traffic in a data network and network equipment using said method
EP2215772A1 (en) * 2007-10-30 2010-08-11 Media Patents, S. L. Method for managing multicast traffic between routers communicating by means of a protocol integrating the pim protocol; and router and switch involved in said method
US8355343B2 (en) 2008-01-11 2013-01-15 Ruckus Wireless, Inc. Determining associations in a mesh network
US20090187941A1 (en) * 2008-01-21 2009-07-23 Att Knowledge Ventures L.P. System and method for targeted advertising
US9031068B2 (en) * 2008-02-01 2015-05-12 Media Patents, S.L. Methods and apparatus for managing multicast traffic through a switch
WO2009095041A1 (en) * 2008-02-01 2009-08-06 Soporte Multivendor S.L. Method for managing multicast traffic through a switch operating in the layer 2 of the osi model, and router and switch involved in said method
WO2009109684A1 (es) * 2008-03-05 2009-09-11 Media Patents, S. L. Procedimiento para monitorizar o gestionar equipos conectados a una red de datos
JP4492739B2 (ja) * 2008-08-29 2010-06-30 沖電気工業株式会社 通信装置、方法及びプログラム
JP4492740B2 (ja) * 2008-08-29 2010-06-30 沖電気工業株式会社 通信装置、方法及びプログラム
JP4506885B2 (ja) * 2008-08-29 2010-07-21 沖電気工業株式会社 通信装置、方法及びプログラム
AU2009339348B2 (en) * 2009-02-09 2015-05-28 Robert Bosch Gmbh Method for using a computer network
US9812047B2 (en) 2010-02-25 2017-11-07 Manufacturing Resources International, Inc. System and method for remotely monitoring the operating life of electronic displays
AU2010218090A1 (en) * 2009-02-24 2011-09-22 Manufacturing Resources International, Inc. System for distributing a plurality of unique video/audio streams
US20120014309A1 (en) * 2009-03-23 2012-01-19 Hiroyuki Iizuka Wireless communication apparatus, wireless network system, data transfer method, and recording medium
US8189584B2 (en) 2009-07-27 2012-05-29 Media Patents, S. L. Multicast traffic management in a network interface
CN101651553B (zh) * 2009-09-03 2013-02-27 华为技术有限公司 用户侧组播业务主备保护系统、方法及路由设备
US20110072148A1 (en) * 2009-09-24 2011-03-24 Cisco Technology, Inc. Distributed Coordination of Network Elements for Packet Encapsulation
US8687609B2 (en) 2009-11-04 2014-04-01 Cisco Technology, Inc. Managing router advertisement messages to support roaming of wireless mobile client devices
US9979626B2 (en) 2009-11-16 2018-05-22 Ruckus Wireless, Inc. Establishing a mesh network with wired and wireless links
US9999087B2 (en) 2009-11-16 2018-06-12 Ruckus Wireless, Inc. Determining role assignment in a hybrid mesh network
US20110149960A1 (en) * 2009-12-17 2011-06-23 Media Patents, S.L. Method and apparatus for filtering multicast packets
JP5399276B2 (ja) * 2010-01-19 2014-01-29 日本電信電話株式会社 コンテンツ配信システムと方法およびプログラム
KR20120011803A (ko) * 2010-07-20 2012-02-08 한국전자통신연구원 이동 통신 시스템에서 이동 노드에 대한 멀티캐스트 서비스 제공 방법 및 장치
WO2012029575A1 (ja) * 2010-08-30 2012-03-08 ソニー株式会社 パケット送信制御装置、パケット送信制御方法、及びプログラム
US9729337B2 (en) * 2010-10-29 2017-08-08 Aruba Networks, Inc. Delivering and managing multicast traffic over wireless LANs
JP5668435B2 (ja) * 2010-11-26 2015-02-12 富士通株式会社 機器検出装置及び機器検出プログラム
US8559427B2 (en) * 2011-02-25 2013-10-15 Telefonaktiebolaget Lm Ericsson (Publ) Efficient way to manage host subscription state on a proxy device
US8848609B2 (en) * 2011-07-26 2014-09-30 Cisco Technology, Inc. Forwarding internet protocol version 6 link-local multicast to support roaming of wireless mobile client devices
WO2013056746A1 (en) * 2011-10-21 2013-04-25 Nokia Siemens Networks Oy Bearer service in communications
US8638788B2 (en) 2011-11-22 2014-01-28 Telefonaktiebolaget L M Ericsson (Publ) Replication management for remote multicast replication network
US8619777B2 (en) 2011-11-22 2013-12-31 Telefonaktiebolaget L M Ericsson (Publ) Admission control for receiving traffic at hosts
US8891535B2 (en) 2012-01-18 2014-11-18 International Business Machines Corporation Managing a global forwarding table in a distributed switch
US9049251B2 (en) 2012-02-28 2015-06-02 Futurewei Technologies, Inc. Method and apparatus for internet protocol based content router
CN102664456B (zh) * 2012-04-25 2014-12-17 广东电网公司珠海供电局 智能变电站过程层组播管理方法及装置
JP6011331B2 (ja) * 2012-12-28 2016-10-19 富士通株式会社 経路制御方法、情報処理装置、及びプログラム
JP6262436B2 (ja) * 2013-02-15 2018-01-17 日本無線株式会社 マルチキャスト通信方法
CN104113484A (zh) * 2013-04-19 2014-10-22 中兴通讯股份有限公司 报文的转发处理方法及装置
ES2836494T3 (es) * 2013-05-10 2021-06-25 Huawei Tech Co Ltd Direccionamiento dinámico con destinos múltiples
US9497083B1 (en) * 2013-06-10 2016-11-15 Palo Alto Networks, Inc. Discovering network nodes
CN103457749A (zh) * 2013-08-29 2013-12-18 国家电网公司 一种智能变电站中抑制组播泛洪的方法
JP5968930B2 (ja) * 2014-02-19 2016-08-10 京セラドキュメントソリューションズ株式会社 画像形成装置及びイベント通知システム
US9763061B2 (en) * 2015-01-22 2017-09-12 Gainspan Corporation Multicast packet delivery in a wireless network operating in storing mode
US9716984B2 (en) * 2015-01-22 2017-07-25 Gainspan Corporation Multicast packet delivery in a wireless network operating in non-storing mode
AU2016321400B2 (en) 2015-09-10 2019-05-30 Manufacturing Resources International, Inc. System and method for systemic detection of display errors
CN107360095B (zh) * 2017-07-13 2020-06-23 惠州高盛达科技有限公司 基于客户端主机名称的端口转发在路由器中的实现方法
CN109874408B (zh) * 2017-10-04 2021-02-12 华为技术有限公司 用于通信提供商边界上组播视频流媒体的通信网络、通信系统和通信方法
US10908863B2 (en) 2018-07-12 2021-02-02 Manufacturing Resources International, Inc. System and method for providing access to co-located operations data for an electronic display
US11645029B2 (en) 2018-07-12 2023-05-09 Manufacturing Resources International, Inc. Systems and methods for remotely monitoring electronic displays
WO2020176416A1 (en) 2019-02-25 2020-09-03 Manufacturing Resources International, Inc. Monitoring the status of a touchscreen
US11402940B2 (en) 2019-02-25 2022-08-02 Manufacturing Resources International, Inc. Monitoring the status of a touchscreen
US11921010B2 (en) 2021-07-28 2024-03-05 Manufacturing Resources International, Inc. Display assemblies with differential pressure sensors
US11965804B2 (en) 2021-07-28 2024-04-23 Manufacturing Resources International, Inc. Display assemblies with differential pressure sensors
CN113691462B (zh) * 2021-07-29 2023-09-15 杭州迪普科技股份有限公司 互联网组管理协议的应答方法及装置
US12284112B2 (en) * 2021-10-27 2025-04-22 Ruckus Ip Holdings Llc Multicast state synchronization
US11972672B1 (en) 2022-10-26 2024-04-30 Manufacturing Resources International, Inc. Display assemblies providing open and unlatched alerts, systems and methods for the same
US12027132B1 (en) 2023-06-27 2024-07-02 Manufacturing Resources International, Inc. Display units with automated power governing
WO2025212305A1 (en) 2024-04-04 2025-10-09 Manufacturing Resources International, Inc. Display assembly using air characteristic data to verify display assembly operating conditions, systems and methods for the same

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728775B1 (en) * 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
US6085235A (en) * 1997-09-16 2000-07-04 International Business Machines Corporation System for parsing multimedia data into separate channels by network server in according to type of data and filtering out unwanted packets by client
US6934759B2 (en) * 1999-05-26 2005-08-23 Enounce, Inc. Method and apparatus for user-time-alignment for broadcast works
US6874010B1 (en) * 1999-10-01 2005-03-29 Accenture Llp Base service architectures for netcentric computing systems
US6785294B1 (en) * 1999-12-30 2004-08-31 Intel Corporation Methods and apparatuses for supporting IGMP and GMRP concurrently
JP3506092B2 (ja) * 2000-02-28 2004-03-15 日本電気株式会社 マルチキャストパケット転送装置、マルチキャストパケット転送システム及び記憶媒体
US7284064B1 (en) * 2000-03-21 2007-10-16 Intel Corporation Method and apparatus to determine broadcast content and scheduling in a broadcast system
JP4501230B2 (ja) * 2000-05-30 2010-07-14 株式会社日立製作所 IPv4−IPv6マルチキャスト通信方法および装置
JP3526027B2 (ja) 2000-08-22 2004-05-10 日本電気株式会社 Ipマルチキャスト経路制御方法およびルータ
US7194549B1 (en) * 2000-09-06 2007-03-20 Vulcan Patents Llc Multicast system using client forwarding
JP2002185528A (ja) 2000-12-11 2002-06-28 Nippon Telegr & Teleph Corp <Ntt> Ipマルチキャスト通信装置及びコンテンツ提供方法
US6965916B1 (en) * 2000-12-14 2005-11-15 Bellsouth Intellectual Property Corp. System and method for data distribution and recovery
WO2002060149A2 (en) * 2001-01-26 2002-08-01 Placeware, Inc. A method and apparatus for automatically determining an appropriate transmission method in a network
US20020126201A1 (en) * 2001-03-08 2002-09-12 Star-Bak Communication Inc. Systems and methods for connecting video conferencing to a distributed network
US7161934B2 (en) * 2001-03-21 2007-01-09 Intelsat Satellite based content distribution system using IP multicast technology
US7185352B2 (en) * 2001-05-11 2007-02-27 Intel Corporation Method and apparatus for combining broadcast schedules and content on a digital broadcast-enabled client platform
JP3925188B2 (ja) * 2001-12-20 2007-06-06 日本電気株式会社 アプリケーションレイヤ・マルチキャスト方法及び中継ノードシステム
US7082142B1 (en) * 2001-12-21 2006-07-25 At & T Corp. System and method for delivering content in a unicast/multicast manner
JP3998983B2 (ja) * 2002-01-17 2007-10-31 松下電器産業株式会社 ユニキャスト−マルチキャスト変換装置および映像監視システム
US7254138B2 (en) * 2002-02-11 2007-08-07 Optimum Communications Services, Inc. Transparent, look-up-free packet forwarding method for optimizing global network throughput based on real-time route status
US7383345B2 (en) * 2002-09-04 2008-06-03 Darby & Mohaine L.L.C. Client-server emulation supporting multicast transmissions of media objects
US7366780B2 (en) * 2002-12-31 2008-04-29 Motorola, Inc. System and method for controlling and managing sessions between endpoints in a communications system
US7369567B2 (en) * 2002-12-31 2008-05-06 Motorola, Inc. Methods for affiliating endpoints with a group and determining common communication capabilities for the affiliated endpoints

Also Published As

Publication number Publication date
JP2004242063A (ja) 2004-08-26
US20100040056A1 (en) 2010-02-18
US8185657B2 (en) 2012-05-22
US7627690B2 (en) 2009-12-01
US20040158872A1 (en) 2004-08-12

Similar Documents

Publication Publication Date Title
JP4077330B2 (ja) データ生成装置
JP4297875B2 (ja) ネットワーク中継方法及び装置
CN100435515C (zh) 在通信网络中不同的多点传送协议之间转换请求的系统和方法
CN102088416B (zh) 数据包中继装置
JP3644009B2 (ja) マルチキャストセッション管理装置
CN1770735B (zh) 使用多播发送和接收数据的方法和系统
JP2008079175A (ja) フレーム転送システム
JP5548696B2 (ja) マルチキャストサービス品質モジュールおよび方法
CN118590470B (zh) 一种云平台的非侵入式组播转发方法及系统
CN100477635C (zh) 一种域间组播的传输方法及边缘设备
JP3962343B2 (ja) マルチキャストデータ通信システム及びその方法
CN102045179B (zh) 实现本地网络与公共网络间组播互通的方法和nat设备
EP2192719A1 (en) Method and system for providing source specific multicast service on Ethernet network
JP2005277948A (ja) マルチキャストパケット配信システム
Kim et al. UDP-tunneling based multicast connectivity solution for multi-party collaborative environments
JP4355004B2 (ja) マルチキャストデータ通信システム及びその方法
ISP Multicast delivery of streamed content
WO2002065701A1 (en) Method for multicast routing protocol interoperability

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080131

R150 Certificate of patent or registration of utility model

Ref document number: 4077330

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110208

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110208

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120208

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140208

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees