JP4199036B2 - COMMUNICATION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, MANAGEMENT DEVICE, DATA TRANSMISSION DEVICE, AND COMMUNICATION METHOD - Google Patents
COMMUNICATION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, MANAGEMENT DEVICE, DATA TRANSMISSION DEVICE, AND COMMUNICATION METHOD Download PDFInfo
- Publication number
- JP4199036B2 JP4199036B2 JP2003098380A JP2003098380A JP4199036B2 JP 4199036 B2 JP4199036 B2 JP 4199036B2 JP 2003098380 A JP2003098380 A JP 2003098380A JP 2003098380 A JP2003098380 A JP 2003098380A JP 4199036 B2 JP4199036 B2 JP 4199036B2
- Authority
- JP
- Japan
- Prior art keywords
- multicast
- data
- time
- multicast group
- inquiry time
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、通信システム、データ受信装置、データ中継装置、管理装置、データ送信装置及び通信方法に関する。
【0002】
【従来の技術】
インターネットなどのネットワークを利用したデータの送信形態は、送信側であるデータ送信装置と、受信側であるデータ受信装置との関係から、ユニキャスト送信、ブロードキャスト送信、マルチキャスト送信に分類される。
【0003】
ユニキャスト送信は、1つのデータ送信装置が1つのデータ受信装置に、データを送信する1対1の通信である。ユニキャスト送信では、データ送信装置が送信するデータ量がデータ受信装置の数に比例して大きくなる。そのため、ユニキャスト送信では、データ受信装置の数が増加すると、データ送信装置や通信路におけるデータ送信処理のための負荷が大きくなる。
【0004】
ブロードキャスト送信、マルチキャスト送信は、1つのデータ送信装置が複数のデータ受信装置にデータを送信する1対多の通信である。そのため、ブロードキャスト送信、マルチキャスト送信では、データ受信装置の数の増加に伴うデータ送信処理のための負荷の増大を生じない。尚、マルチキャスト送信では、特定の複数のデータ受信装置にだけデータを送信する。
【0005】
このマルチキャスト送信として、IP(Internet Protocol)を用いて実現されるIPマルチキャスト送信が広く知られている。IPマルチキャスト送信では、同一のデータを受信する複数のデータ受信装置でマルチキャストグループを構成する。そして、マルチキャストグループに、マルチキャスト送信用のIPアドレスを割り当てる。マルチキャストグループに割り当てられるIPアドレスを、マルチキャストアドレスといい、各マルチキャストグループに固有である。データ受信装置は、マルチキャストグループ宛てに送信されるデータの受信を望む場合、隣接するデータ中継装置にマルチキャストグループに属するデータ受信装置が存在することを示す情報を記憶させる。これにより、データ受信装置は、データ送信装置がマルチキャストグループに宛てて送信したデータを、データ中継装置を介して受信できる。
【0006】
このデータ受信装置とデータ中継装置との間でマルチキャストグループを管理するためのプロトコル(以下、「マルチキャストグループ管理プロトコル」という)として、IGMP(Internet Group Management Protocol)が用いられている。IGMPに対応したデータ中継装置には、自身の配下に存在するデータ受信装置の中に、マルチキャストグループに加入しているデータ受信装置が存在するか否かを判別する機能が実装されている。
【0007】
IGMPを用いたマルチキャスト送信を開始する場合、マルチキャストグループに宛てて送信されるデータの受信を望むデータ受信装置が、IGMP Membership Reportと呼ばれるマルチキャストグループへの加入の要求を、データ中継装置に送信する。そして、IGMP Membership Reportを受信したデータ中継装置が、 マルチキャスト経路制御プロトコルを用いて、マルチキャスト送信経路を構築する。これにより、マルチキャストグループ宛のデータがデータ中継装置に到着し、データ中継装置が、到着したデータをデータ受信装置が存在するネットワークに送信する。そして、データ受信装置が、マルチキャストグループ宛のデータの受信を開始する。尚、データ受信装置が、IGMP Membership Reportを送信した際に、既に他のデータ受信装置がIGMP Membership Reportを送信しており、マルチキャストグループ宛のデータの送信が開始されている場合には、データ受信装置は、IGMP Membership Report送信の直後からデータを受信できる。
【0008】
一方、IGMPを用いたマルチキャスト送信を終了する場合、マルチキャストグループに宛てて送信されるデータの受信の終了を望むデータ受信装置が、IGMP Leave Groupと呼ばれるマルチキャストグループからの離脱の要求を、データ中継装置に送信する。そして、IGMP Leave Groupを受信したデータ中継装置が、IGMP Group−Specific Membership Queryと呼ばれるマルチキャスト送信されるデータの受信を望むデータ受信装置が存在するかについての問い合わせを、マルチキャストグループに送信する。
【0009】
IGMP Leave Groupを送信したデータ受信装置以外のデータ受信装置が、マルチキャストグループ宛のデータの受信を望む場合には、IGMP Group−Specific Membership Queryのリプライとして、IGMP Membership Reportを送信する。これにより、データ中継装置は、データの受信を望むデータ受信装置がまだ存在することが分かるため、マルチキャスト送信経路を削除しない。一方、データ中継装置は、IGMP Group−Specific Membership Query送信後、一定時間が経過しても、IGMP Membership Reportを受信しない場合には、データの受信を望むデータ受信装置が存在しないと判断し、マルチキャスト経路制御プロトコルを用いて、マルチキャスト送信経路を削除する。これにより、データ中継装置に対するマルチキャストグループ宛のデータの送信が停止し、データ受信装置は、マルチキャストグループ宛のデータの受信を終了する。
【0010】
このようにIGMPを用いたマルチキャスト送信では、データ受信装置が、マルチキャストグループへの加入と、マルチキャストグループからの離脱を要求することによって、データ中継装置がマルチキャスト送信経路の制御を行う(例えば、非特許文献1〜3参照)。尚、以上に説明したIGMPを用いた動作は、IGMPバージョン2の動作を示している。他にも、IGMPバージョン2を拡張したIGMPバージョン3がある。IGMPバージョン3では、データの送信元を特定する機能が付加されているが、上記した基本動作は、IGMPバージョン2と同様である。
【0011】
【非特許文献1】
Thomas Maufer著,楠本博之訳,「IPマルチキャスト入門」,初版,共立出版株式会社,2001年11月
【0012】
【非特許文献2】
Dave Kosiur著,苅田幸雄監訳,「マスタリングTCP/IPマルチキャスト編」,第1版,平成12年11月
【0013】
【非特許文献3】
Beau Williamson著,コムサス訳,シスコシステムズ監訳,「IPマルチキャストネットワーク開発ガイドVol.1」,初版,2001年7月
【0014】
【発明が解決しようとする課題】
しかしながら、従来のマルチキャスト送信では、各データ受信装置が個別に、マルチキャストグループへの加入やマルチキャストグループからの離脱を要求し、データ中継装置が、各データ受信装置が個別に行う加入や離脱の要求に対して処理を行っていた。そのため、加入や離脱に関する処理に伴う通信量が増加し、データ中継装置の負荷が増大する問題点があった。特に、データ送信の直前や直後には、加入や離脱が集中し、問題が顕著であった。又、データ中継装置では、負荷増大によって機能停止といった深刻な状況を招く場合があった。更に、速度が遅く遅延の大きい無線リンクにおいてIGMPを用いた場合、加入や離脱に伴う通信量の増加によって、その通信コストが問題となることがあった。
【0015】
そこで、本発明は、マルチキャストグループへの加入や離脱に伴う通信量や負荷を削減できる通信システム、データ受信装置、データ中継装置、管理装置、データ送信装置及び通信方法を提供することを目的とする。
【0016】
【課題を解決するための手段】
本発明に係る通信システムは、マルチキャストグループ加入者問い合わせ時刻までに、マルチキャスト送信されるデータの受信の待ち受けを開始し、マルチキャストグループ離脱者問い合わせ時刻までにデータの受信の待ち受けを終了するデータ受信装置と、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻に、データの受信を望むデータ受信装置が存在するかについて問い合わせるデータ中継装置とを備えることを特徴とする。
【0017】
マルチキャストグループ加入者問い合わせ時刻とは、マルチキャストグループへのデータ送信開始前に、データの受信を望むデータ受信装置が存在するかを問い合わせる時刻である。マルチキャストグループ離脱者問い合わせ時刻とは、マルチキャストグループへのデータ送信後に、データの受信を望むデータ受信装置が存在するかを問い合わせる時刻である。データの受信の待ち受けとは、データを受信可能な状態にして、データの送信を待機することをいう。
【0018】
このような通信システムによれば、データ受信装置が、マルチキャストグループ加入者問い合わせ時刻までに、待ち受けを開始しておく。そして、データ中継装置が、マルチキャストグループ加入者問い合わせ時刻に、データの受信を望むデータ受信装置が存在するかを問い合わせる。このとき、待ち受けを開始しているデータ受信装置は、マルチキャストグループへの加入を要求する。そのため、データ中継装置は、データの受信を望むデータ受信装置が存在すると判断して、マルチキャストグループへのデータの中継を開始できる。
【0019】
又、データ受信装置が、マルチキャストグループ離脱者問い合わせ時刻までに、待ち受けを終了しておく。そして、データ中継装置が、マルチキャストグループ離脱者問い合わせ時刻に、データの受信を望むデータ受信装置が存在するかを問い合わせる。このとき、全てのデータ受信装置が待ち受けを終了している場合には、一切の応答がない。そのため、データ中継装置は、データの受信を望むデータ受信装置が存在しないと判断して、マルチキャストグループへのデータの中継を終了できる。
【0020】
このように、各データ受信装置が個別に、マルチキャストグループへの加入やマルチキャストグループからの離脱を要求することがなく、データ中継装置が、各データ受信装置が個別に行う加入や離脱の要求に対する処理を行う必要がない。そのため、通信システムは、加入や離脱に伴う通信量を削減でき、データ中継装置の負荷を削減できる。
【0021】
又、本発明に係るデータ受信装置は、マルチキャストグループ加入者問い合わせ時刻までに、マルチキャスト送信されるデータの受信の待ち受けを開始し、マルチキャストグループ離脱者問い合わせ時刻までにデータの受信の待ち受けを終了する通信手段を備えることを特徴とする。このようなデータ受信装置によれば、各データ受信装置が個別に、マルチキャストグループへの加入やマルチキャストグループからの離脱を要求することがなく、データ中継装置が、各データ受信装置が個別に行う加入や離脱の要求に対する処理を行う必要がない。そのため、データ受信装置は、加入や離脱に伴う通信量を削減でき、データ中継装置の負荷を削減できる。
【0022】
更に、データ受信装置は、マルチキャストグループ加入者問い合わせ時刻に基づいて、待ち受けを開始する待ち受け開始時刻を決定し、マルチキャストグループ離脱者問い合わせ時刻に基づいて、待ち受けを終了する待ち受け終了時刻を決定する決定手段を備え、通信手段は、決定手段が決定した待ち受け開始時刻に待ち受けを開始し、決定手段が決定した待ち受け終了時刻に待ち受けを終了することが好ましい。これによれば、データ受信装置は、マルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻に基づいて、適切な待ち受け開始時刻や待ち受け終了時刻を決定でき、決定した待ち受け開始時刻や待ち受け終了時刻に基づいて、待ち受けを開始したり終了したりできる。
【0023】
本発明に係るデータ中継装置は、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻に、マルチキャスト送信されるデータの受信を望むデータ受信装置が存在するかについて問い合わせる問い合わせ手段を備えることを特徴とする。このようなデータ中継装置によれば、各データ受信装置が個別に行う加入や離脱の要求に対する処理を行う必要がない。そのため、データ中継装置は、加入や離脱に伴う通信量を削減でき、データ中継装置の負荷を削減できる。
【0024】
本発明に係る管理装置やデータ送信装置は、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を、マルチキャスト送信されるデータを受信するデータ受信装置又はデータを中継するデータ中継装置に提供する提供手段を備えることを特徴とする。このような管理装置やデータ送信装置によれば、データ受信装置やデータ中継装置に、マルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻を通知できる。よって、データ受信装置やデータ中継装置が、通知されたマルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻に基づいて、待ち受けの開始や終了、問い合わせなどの加入や離脱に関する処理を行うことができる。そのため、管理装置やデータ送信装置は、加入や離脱に伴う通信量の削減やデータ中継装置の負荷の削減に寄与できる。
【0025】
更に、管理装置やデータ送信装置は、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を設定する設定手段を備え、提供手段は、設定手段が設定したマルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を提供すること好ましい。これによれば、管理装置やデータ送信装置は、マルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻を設定でき、設定したマルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻を、データ受信装置やデータ中継装置に提供できる。
【0026】
本発明に係る通信方法は、データ受信装置が、マルチキャストグループ加入者問い合わせ時刻までに、マルチキャスト送信されるデータの受信の待ち受けを開始し、マルチキャストグループ離脱者問い合わせ時刻までにデータの受信の待ち受けを終了し、データ中継装置が、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻に、データの受信を望むデータ受信装置が存在するかについて問い合わせることを特徴とする。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0028】
[通信システム]
図1に示すように、通信システム10は、マルチキャストセッション管理装置20と、複数のデータ中継装置30と、アクセスルータ30aと、複数のクライアント40a〜40dと、ネットワーク50a,50bと、データ送信装置60とを備える。マルチキャストセッション管理装置20、データ中継装置30、アクセスルータ30a、クライアント40a〜40d、データ送信装置60は、CPUやROM、RAMなどのハードウェア資源を備えたコンピュータなどによって構成される。
【0029】
通信システム10は、IPマルチキャスト送信を行う。クライアント40a〜40dは、マルチキャスト送信されるデータを受信するデータ受信装置である。クライアント40a〜40dは、アクセスルータ30aとネットワーク50bを介して接続し、アクセスルータ30aの配下に存在する。データ中継装置30は、データ送信装置60からクライアント40a〜40dに対してマルチキャスト送信されたデータを中継する。アクセスルータ30aも、データ中継装置である。クライアント40a〜40dとネットワーク50bを介して接続するデータ中継装置を特に、アクセスルータ30aと呼ぶ。クライアント40a〜40dと、アクセスルータ30aは、IPマルチキャスト送信においてマルチキャストグループを管理するために、マルチキャストグループ管理プロトコルを用いる。本実施形態では、クライアント40a〜40dと、アクセスルータ30aは、マルチキャストグループ管理プロトコルとして、IGMPを用いる。
【0030】
マルチキャストセッション管理装置20は、マルチキャストセッション情報を保持し、クライアント40a〜40dやデータ中継装置30、アクセスルータ30aにマルチキャストセッション情報を提供する管理装置である。マルチキャストセッション情報とは、マルチキャスト送信されるデータに関する情報である。データ送信装置60は、データをクライアント40a〜40dにマルチキャスト送信する。
【0031】
データ中継装置30、アクセスルータ30a、マルチキャストセッション管理装置20、データ送信装置60は、ネットワーク50aに接続する。ネットワーク50aは、複数のデータ中継装置30とアクセスルータ30aが相互に接続することにより構成されている。又、クライアント40a〜40d、アクセスルータ30aは、ネットワーク50bに接続する。ネットワーク50bは、クライアント40a〜40dが接続するネットワークである。
【0032】
ネットワーク50a,50bの種類は、特に限定されず、例えば、インターネット、無線通信ネットワーク、移動通信網、専用線網、仮想プライベートネットワーク(VPN:Virtual Private Network)、ATM(Asynchronous Transfer Mode)網、ADSL(Asymmetric Digital Subscriber Line)網、CATV(Cable Television)網、光ファイバ網、ISDN(Integrated Services Digital Network)などを用いることができる。
【0033】
〔クライアント〕
図2に示すように、クライアント40aは、通信部41と、マルチキャストセッション情報データベース42と、情報作成部43と、タイマ44とを備える。尚、クライアント40b〜40dも、図2に示すクライアント40aと同様の構成を備える。
【0034】
通信部41は、マルチキャストグループ加入者問い合わせ時刻までに、マルチキャスト送信されるデータの受信の待ち受けを開始し、マルチキャストグループ離脱者問い合わせ時刻までにデータの受信の待ち受けを終了する通信手段である。又、通信部41は、マルチキャストセッション管理装置20やデータ送信装置60が提供するマルチキャストセッション情報を受信する。通信部41は、マルチキャストセッション管理装置20やデータ送信装置60に、マルチキャストセッション情報の要求を送信する。通信部41は、アクセスルータ30aから、データの受信を望むクライアントが存在するかについての問い合わせを受信する。通信部41は、アクセスルータ30aに、マルチキャストグループへの加入やマルチキャストグループからの離脱の要求を送信する。又、通信部41は、データ送信装置60がマルチキャスト送信するデータを受信する。
【0035】
通信部41は、情報作成部43の指示に従い、待ち受けの開始及び終了を行う。又、通信部41は、情報作成部43の指示に従い、加入や離脱の要求を送信する。通信部41は、受信したマルチキャストセッション情報やアクセスルータ30aからの問い合わせを、情報作成部43に入力する。
【0036】
情報作成部43は、マルチキャストセッション情報を取得する取得手段である。情報作成部43は、通信部41を介して、マルチキャストセッション管理装置20やデータ送信装置60から、マルチキャストセッション情報を取得する。情報作成部43は、例えば、HTTP(Hyper Text Transfer Protocol)を用いてプル型で提供されるマルチキャストセッション情報を取得できる。又、情報作成部43は、SAP(Session Announce Protocol)や電子メールを用いてプッシュ型で提供されるマルチキャストセッション情報を取得してもよい。SAPは、マルチキャストアドレス宛にSDP(Session Description Protocol)などに従って記述されたマルチキャストセッション情報を送信するプロトコルである。そのため、クライアント40a〜40dは、マルチキャストアドレスが割り当てられたマルチキャストグループに参加することによって、SAPを用いてマルチキャストセッション情報を取得できる。
【0037】
尚、情報作成部43は、プル型で提供されるマルチキャストセッション情報を取得する場合には、アプリケーションからの指示や、クライアント40aを操作するユーザが入力する指示に基づいて、マルチキャストセッション情報の取得を開始する。情報作成部43は、通信部41を介して、マルチキャストセッション管理装置20やデータ送信装置60に対してマルチキャストセッション情報を要求する。具体的には、情報作成部43は、マルチキャストセッション情報の要求を生成して、通信部41に入力する。
【0038】
マルチキャストセッション情報70は、例えば、図3に示すように構成される。マルチキャストセッション情報70には、マルチキャストセッション情報を一意に識別する識別子であるセッションID、マルチキャストアドレス、データをマルチキャスト送信するデータ送信装置60のアドレスであるデータ送信元アドレス、アプリケーションのポート番号、データ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻が含まれる。データ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻としては、例えば、「9時58分58秒」のような時、分、秒で表す絶対的な時刻(以下「絶対時刻」という)、「580秒後」のような現在時刻との差で表す相対的な時刻(以下「相対時刻」という)を用いることができる。
【0039】
マルチキャストセッション情報70には、その他に、マルチキャスト送信されるデータの名称、メディアタイプ、データの簡単な説明などの情報を含めることができる。マルチキャストセッション情報70は、例えば、SDPに従う記述フォーマットを用いて記述することができる。この場合、マルチキャストセッション情報70には、SDPを拡張して、マルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻が記述される。
【0040】
例として、図4に、クライアント40a〜40dが、マルチキャストセッション管理装置20が提供するSDPを用いて記述されたマルチキャストセッション情報を、SAPを用いて取得する様子を示す。図4中の矢印で示されるように、マルチキャストセッション管理装置20がマルチキャストセッション情報を提供し、データ中継装置30がアクセスルータ30aまで中継する。そして、アクセスルータ30aが、マルチキャストセッション情報をクライアント40a〜40dに送信し、クライアント40a〜40dはマルチキャストセッション情報を取得する。
【0041】
情報作成部43は、取得したマルチキャストセッション情報を、マルチキャストセッション情報データベース42に保存する。マルチキャストセッション情報データベース42は、マルチキャストセッション情報を保持する保持手段である。マルチキャストセッション情報データベース42は、複数のマルチキャストセッション情報を保持できる。情報作成部43は、マルチキャストセッション情報の取得を繰り返して、複数のマルチキャストセッション情報を取得する。そして、情報作成部43は、取得した複数のマルチキャストセッション情報を、マルチキャストセッションデータベース42に保存し、複数のマルチキャストセッション情報を保持するマルチキャストセッション情報データベース42を構築する。
【0042】
尚、情報作成部43は、取得したデータ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻が、相対時刻で表されている場合、クライアント40aにおける絶対時刻に変更してから、マルチキャストセッション情報データベース42に保存する。
【0043】
具体的には、情報作成部43は、マルチキャストセッション情報が、マルチキャストセッション情報を送信したマルチキャストセッション管理装置20やデータ送信装置60から、クライアント40aに到着するまでに経過した時間(以下、マルチキャストセッション情報が、マルチキャストセッション情報の送信元から、マルチキャストセッション情報の送信先に到着するまでに経過した時間を、「経過時間」という)を、相対時刻で表されたマルチキャストグループ加入者問い合わせ時刻から減算して、相対時刻で表されたマルチキャストグループ加入者問い合わせ時刻を修正する。情報作成部43は、タイマ44から、現在時刻を取得する。そして、情報作成部43は、現在時刻に、クライアント40aにおける経過時間を減算した修正後の相対時刻を加算して、絶対時刻を求める。情報作成部43は、取得したマルチキャストセッション情報のデータ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻を、求めた絶対時刻に変更して保存する。タイマ44は、時間の測定や現在時刻の提供を行う。情報作成部43は、クライアント40aにおける経過時間として、例えば、マルチキャストセッション情報の送信元であるマルチキャストセッション管理装置20やデータ送信装置60と、送信先であるクライアント40aとの間のRTT(Round Trip Time)を測定し、用いることができる。RTTは、装置間の情報の送受信に必要はおおよその時間と考えることができる。
【0044】
情報作成部43は、通信部41が行うマルチキャスト送信されるデータの受信の待ち受けの開始及び終了を制御する制御手段としても機能する。又、情報作成部43は、通信部41を介して、アクセスルータ30aに対して加入や離脱の要求を行う。以下、情報作成部43の動作について、クライアント40a〜40dのマルチキャストグループへの加入時の動作と、マルチキャストグループからの離脱時の動作とに分けて説明する。
【0045】
(加入時)
情報作成部43は、アプリケーションからやクライアント40aを操作するユーザ入力により、マルチキャストグループに宛てて送信されるデータの受信を開始するように指示を受けると、マルチキャストセッション情報データベース42に、指示に該当するマルチキャストセッション情報が存在するかを検索する。このとき、マルチキャストセッション情報データベース42に、該当するマルチキャストセッション情報が存在しない場合には、情報作成部43は、マルチキャストセッション管理装置20やデータ送信装置60に対して、マルチキャストセッション情報を要求し、マルチキャストセッション情報を取得する。
【0046】
情報作成部43は、指示に該当するマルチキャストセッション情報に含まれるマルチキャストグループ加入者問い合わせ時刻に基づいて、待ち受け開始時刻を決定する。情報作成部43は、マルチキャストグループ加入者問い合わせ時刻よりも前の時刻を、待ち受け開始時刻として決定する。情報作成部43は、マルチキャストグループ加入者問い合わせ時刻までに、通信部41がデータの受信の待ち受け状態となることができる時刻を、待ち受け開始時刻に決定する。具体的には、情報作成部43は、待ち受け開始時刻を、マルチキャストグループ加入者問い合わせ時刻から、通信部41が待ち受け状態となるための動作に必要な時間以上前に決定する。例えば、通信部41が待ち受け状態となるための動作に10ミリ秒必要な場合には、情報作成部43は、待ち受け開始時刻を、マルチキャストグループ加入者問い合わせ時刻から10ミリ秒以上前に決定する。
【0047】
情報作成部43は、マルチキャストグループ加入者問い合わせ時刻が相対時刻で表されている場合、相対時刻で表されたマルチキャストグループ加入者問い合わせ時刻から、クライアント40aにおける経過時間を減算して、マルチキャストグループ加入者問い合わせ時刻を修正する。そして、情報作成部43は、修正後のマルチキャストグループ加入者問い合わせ時刻に基づいて、待ち受け開始時刻を決定することが好ましい。具体的には、情報作成部43は、待ち受け開始時刻を、クライアント40aにおける経過時間を減算した修正後の相対時刻で表されたマルチキャストグループ加入者問い合わせ時刻から、通信部41が待ち受け状態となるための動作に必要な時間以上前に決定する。例えば、通信部41が待ち受け状態となるための動作に10ミリ秒必要であり、クライアント40aにおける経過時間が50ミリ秒の場合には、情報作成部43は、待ち受け開始時刻を、50ミリ秒を減算した相対時刻で表されたマルチキャストグループ加入者問い合わせ時刻から、10ミリ秒以上前に決定する。
【0048】
又、情報作成部43は、待ち受け開始時刻を、マルチキャストグループ加入者問い合わせ時刻から、待ち受け状態となるための動作に必要な時間の2倍〜100倍の時間以上前に決定することが好ましい。これによれば、クライアント40a〜40dとアクセスルータ30aが同期をとっており、情報作成部43が、絶対時刻で表されたマルチキャストグループ加入者問い合わせ時刻を用いる場合に、両者の時刻に多少のずれが生じても、通信部41は、マルチキャストグループ加入者問い合わせ時刻までに待ち受けを開始できる。又、情報作成部43が、相対時刻で表されたマルチキャストグループ加入者問い合わせ時刻を用いる場合に、経過時間を用いた修正を省略できる。又、情報作成部43は、経過時間を用いた修正を行う場合であっても、厳密に経過時間を把握する必要がない。尚、待ち受け開始時刻は、絶対時刻、相対時刻のいずれで表してもよい。
【0049】
情報作成部43は、決定した待ち受け開始時刻に満了するようにタイマ44を設定する。情報作成部43は、指示に該当するマルチキャストセッション情報のセッションIDと対応付けて、タイマ44を設定する。これにより、情報作成部43は、どのマルチキャストセッション情報に基づいてタイマ44を設定したかを把握できる。
【0050】
情報作成部43は、タイマ44が満了すると、対応付けられたセッションIDに基づいて、マルチキャストセッション情報データベース42を参照し、セッションIDに対応するマルチキャストセッション情報を取得する。情報作成部43は、取得したマルチキャストセッション情報に基づいて、そのマルチキャストグループ宛のデータの受信の待ち受けを開始するように、通信部41に対して指示する。具体的には、情報作成部43は、マルチキャストアドレス宛のデータを受信できるように起動し、マルチキャストセッション情報に含まれるポート番号のポートをオープンにするように、通信部41に指示する。通信部41は、情報作成部43の指示に従い、マルチキャストアドレス宛のデータを受信できるように起動し、ポートをオープンにしてデータを受信可能な状態にする。このようにして、通信部41は、待ち受けを開始する。但し、この時点では、情報作成部43は、IGMPに従う通常の動作のように、IGMP Membership Reportを送信するマルチキャストグループへの加入の要求を行わない。
【0051】
図5に、クライアント40a,40c,40dが、マルチキャスト送信されるデータの受信の待ち受けをしている様子を示す。図5中のクライアント40a,40c,40dを囲む丸印は、待ち受け状態にあることを表している。図5に示すように、マルチキャスト送信されるデータの受信を望むクライアント40a,40c,40dは、待ち受けを開始しており、待ち受け状態にある。しかも、この時点では、クライアント40a,40c,40dは、IGMP Membership Reportを送信しない。又、データの受信を望まないクライアント40bは、待ち受けを開始していない。
【0052】
通信部41は、待ち受けを開始している場合には、待ち受けをしているマルチキャストアドレスを宛先としたIGMP Group−Specific Membership Queryを受信できる。そのため、通信部41が待ち受けを開始した後、情報作成部43は、通信部41を介して、アクセスルータ30aから、IGMP Group−Specific Membership Queryと呼ばれるマルチキャスト送信されるデータの受信を望むクライアントが存在するかについての問い合わせを取得する。IGMP Group−Specific Membership Queryは、マルチキャストアドレスを宛先とした問い合わせ(IGMP Membership Query)である。情報作成部43は、IGMP Group−Specific Membership Queryを取得すると、IGMP Membership Reportを送信してマルチキャストグループへの加入を要求する時刻までに満了するようにタイマ44を設定する。
【0053】
情報作成部43は、タイマ44が満了すると、通信部41を介して、IGMP Membership Reportをアクセスルータ30aに送信し、マルチキャストグループへの加入を要求する。具体的には、情報作成部43は、IGMP Membership Reportを生成し、通信部41に入力して、アクセスルータ30aに送信するように指示する。
【0054】
このとき、待ち受けを開始しており、IGMP Group−Specific Membership Queryを受信したクライアント40a,40c,40dは、加入を要求する時刻としてそれぞれ任意の時刻に基づいて、タイマ44を設定する。又、各クライアント40a,40c,40dは、自身以外の他のクライアントにも、IGMP Membership Reportを送信する。そのため、通信部41は、IGMP Membership Reportを送信する前に、他のクライアントから送信されたIGMP Membership Reportを受信した場合には、情報作成部43に受信したIGMP Membership Reportを入力する。情報作成部43は、他のクライアントからのIGMP Membership Reportを取得した場合には、タイマ44を停止する。そして、情報作成部43は、IGMP Membership Reportをアクセスルータ30aに送信するマルチキャストグループへの加入の要求を行わない。
【0055】
図6に、クライアント40cのみが、IGMP Membership Reportをアクセスルータ30aに送信し、マルチキャストグループへの加入を要求している様子を示す。図6では、クライアント40cのタイマ44が最初に満了し、クライアント40cが、図6中の矢印で示すように、IGMP Membership Reportをアクセスルータ30aに送信してマルチキャストグループへの加入を要求する。クライアント40a,40dは、クライアント40cによって送信されたIGMP Membership Reportを受信することにより、IGMP Membership Reportがアクセスルータ30aに送信されたことを確認する。そして、クライアント40a,40dは、タイマ44を停止し、IGMP Membership Reportをアクセスルータ30aに送信しない。
【0056】
このようにして、クライアント40a〜40dは、データ送信開始時刻が決められたデータを受信する場合には、データ送信開始時刻までにマルチキャストグループへの加入を行う。マルチキャストグループへの加入を行ったクライアント40a,40c,40dは、データ送信装置60から、マルチキャストアドレス宛にマルチキャスト送信されるデータを受信できる。又、アクセスルータ30aは、少なくとも1台のクライアントがマルチキャスト送信されるデータの受信を望んでいることを把握した場合には、そのマルチキャストグループ宛のデータをクライアントに送信する。そのため、マルチキャストグループへの加入の要求は、上記したように少なくとも1台のクライアントが行えばよい。
【0057】
(離脱時)
情報作成部43は、アプリケーションからやクライアント40aを操作するユーザ入力により、マルチキャストグループに宛てて送信されるデータの受信を終了するように指示を受けた場合や、データの受信が完了した場合に、マルチキャストセッション情報データベース42に、指示や受信が完了したデータに該当するマルチキャストセッション情報が存在するかを検索する。このとき、マルチキャストセッション情報データベース42に、該当するマルチキャストセッション情報が存在しない場合には、情報作成部43は、マルチキャストセッション管理装置20やデータ送信装置60に対して、マルチキャストセッション情報を要求し、マルチキャストセッション情報を取得する。
【0058】
情報作成部43は、該当するマルチキャストセッション情報に含まれるマルチキャストグループ離脱者問い合わせ時刻を参照する。そして、情報作成部43は、現在時刻がマルチキャストグループ離脱者問い合わせ時刻を経過しているか否かを判断する。マルチキャストグループ離脱者問い合わせ時刻が絶対時刻で表されている場合、情報作成部43は、タイマ44から現在時刻を取得し、現在時刻と絶対時刻で表されたマルチキャストグループ離脱者問い合わせ時刻とを比較して、判断する。マルチキャストグループ離脱者問い合わせ時刻が相対時刻で表されている場合、情報作成部43は、相対時刻で表されたマルチキャストグループ離脱者問い合わせ時刻から、クライアント40aにおける経過時間を減算した修正後のマルチキャストグループ加入者問い合わせ時刻が、負の値の場合には、現在時刻がマルチキャストグループ離脱者問い合わせ時刻を経過していると判断する。情報作成部43は、修正後のマルチキャストグループ加入者問い合わせ時刻が、0又は正の値の場合には、現在時刻がマルチキャストグループ離脱者問い合わせ時刻以前であると判断する。
【0059】
情報作成部43は、現在時刻がマルチキャストグループ離脱者問い合わせ時刻を経過していた場合には、通信部41を介して、IGMP Leave Groupをアクセスルータ30aに送信し、マルチキャストグループからの離脱を要求する。具体的には、情報作成部43は、IGMP Leave Groupを生成し、通信部41に入力して、アクセスルータ30aに送信するように指示する。
【0060】
更に、情報作成部43は、マルチキャストセッション情報に基づいて、そのマルチキャストグループ宛のデータの受信の待ち受けを終了するように、通信部41に対して指示する。具体的には、情報作成部43は、マルチキャストアドレス宛のデータの受信できるように起動した状態を解除し、マルチキャストセッション情報に含まれるポート番号のポートをクローズにするように、通信部41に指示する。通信部41は、情報作成部43の指示に従い、マルチキャストアドレス宛のデータを受信できるように起動した状態を解除し、ポートをクローズにしてデータを受信可能な状態を終了する。このようにして、通信部41は、待ち受けを終了する。
【0061】
一方、情報作成部43は、現在時刻がマルチキャストグループ離脱者問い合わせ時刻以前であった場合には、待ち受け終了時刻を決定する。情報作成部43は、マルチキャストセッション情報に含まれるマルチキャストグループ離脱者問い合わせ時刻に基づいて、待ち受け終了時刻を決定する。情報作成部43は、マルチキャストグループ離脱者問い合わせ時刻よりも前の時刻を、待ち受け終了時刻として決定する。情報作成部43は、マルチキャストグループ離脱者問い合わせ時刻までに、通信部41がデータの受信の待ち受け状態を解除し、待ち受けを終了できる時刻を、待ち受け終了時刻に決定する。具体的には、情報作成部43は、待ち受け終了時刻を、マルチキャストグループ離脱者問い合わせ時刻から、通信部41が待ち受け状態を解除するための動作に必要な時間以上前に決定する。例えば、通信部41が待ち受け状態を解除するための動作に10ミリ秒必要な場合には、情報作成部43は、待ち受け終了時刻を、マルチキャストグループ離脱者問い合わせ時刻から10ミリ秒以上前に決定する。
【0062】
情報作成部43は、マルチキャストグループ離脱者問い合わせ時刻が相対時刻で表されている場合、相対時刻で表されたマルチキャストグループ離脱者問い合わせ時刻から、クライアント40aにおける経過時間を減算してマルチキャストグループ離脱者問い合わせ時刻を修正する。そして、情報作成部43は、修正後のマルチキャストグループ離脱者問い合わせ時刻に基づいて、待ち受け終了時刻を決定することが好ましい。具体的には、情報作成部43は、待ち受け終了時刻を、クライアント40aにおける経過時間を減算した修正後の相対時刻で表されたマルチキャストグループ離脱者問い合わせ時刻から、通信部41が待ち受け状態を解除するための動作に必要な時間以上前に決定する。例えば、通信部41が待ち受け状態を解除するための動作に10ミリ秒必要であり、クライアント40aにおける経過時間が50ミリ秒の場合には、情報作成部43は、待ち受け終了時刻を、50ミリ秒を減算した相対時刻で表されたマルチキャストグループ離脱者問い合わせ時刻から、10ミリ秒以上前に決定する。
【0063】
又、情報作成部43は、待ち受け終了時刻を、マルチキャストグループ離脱者問い合わせ時刻から、待ち受け状態を解除するための動作に必要な時間の2倍〜100倍の時間以上前に決定することが好ましい。これによれば、クライアント40a〜40dとアクセスルータ30aが同期をとっており、情報作成部43が、絶対時刻で表されたマルチキャストグループ離脱者問い合わせ時刻を用いる場合に、両者の時刻に多少のずれが生じても、通信部41は、マルチキャストグループ離脱者問い合わせ時刻までに待ち受けを終了できる。又、情報作成部43が、相対時刻で表されたマルチキャストグループ離脱者問い合わせ時刻を用いる場合には、経過時間を用いた修正を省略できる。又、情報作成部43は、経過時間を用いた修正を行う場合であっても、厳密に経過時間を把握する必要がない。尚、待ち受け終了時刻は、絶対時刻、相対時刻のいずれで表してもよい。
【0064】
以上説明したようにして、情報作成部43は、マルチキャストグループ加入者問い合わせ時刻に基づいて、待ち受けを開始する待ち受け開始時刻を決定し、マルチキャストグループ離脱者問い合わせ時刻に基づいて、待ち受けを終了する待ち受け終了時刻を決定する決定手段として機能する。情報作成部43は、決定した待ち受け終了時刻に満了するようにタイマ44を設定する。情報作成部43は、該当するマルチキャストセッション情報のセッションIDと対応付けて、タイマ44を設定する。
【0065】
情報作成部43は、タイマ44が満了すると、対応付けられたセッションIDに基づいて、マルチキャストセッション情報データベース42を参照し、セッションIDに対応するマルチキャストセッション情報を取得する。情報作成部43は、取得したマルチキャストセッション情報に基づいて、そのマルチキャストグループ宛のデータの受信の待ち受けを終了するように、通信部41に対して指示する。通信部41は、情報作成部43の指示に従い、マルチキャストアドレス宛のデータを受信できるように起動した状態を解除し、ポートをクローズにしてデータを受信可能な状態を終了する。このようにして、通信部41は、待ち受けを終了する。但し、情報作成部43は、IGMP Leave Groupを送信するマルチキャストグループからの離脱の要求を行わない。このようにして、クライアント40aは、マルチキャストグループ宛のデータの受信を終了できる。
【0066】
図7に、クライアント40a,40c,40dが、マルチキャスト送信されるデータの受信の待ち受けを終了した様子を示す。図7では、図5でクライアント40a,40c,40dを囲んでいた丸印が削除されており、待ち受け状態を終了したことが示されている。図7に示すように、マルチキャスト送信されるデータの受信の終了を望むクライアント40a,40c,40dは、マルチキャストグループ離脱者問い合わせ時刻よりも前の決定した待ち受け終了時刻に、待ち受けを終了し、待ち受けを解除した状態とする。しかも、クライアント40a,40c,40dは、IGMP Leave Groupを送信しない。
【0067】
このようにして、クライアント40a〜40dは、データ送信装置60からのデータ送信終了後に又はアプリケーションやユーザからの指示により、マルチキャストグループからの離脱を行う。又、マルチキャストグループからの離脱の要求は、上記したように、現在時刻がマルチキャストグループ離脱者問い合わせ時刻を経過していた場合にのみ、最後にマルチキャストグループから離脱するクライアントだけが、アクセスルータ30aに対して行えばよい。尚、クライアント40a〜40dは、以上説明した動作以外は、IGMPに基づく通常の動作と同様に動作する。
【0068】
〔アクセスルータ〕
図8に示すように、アクセスルータ30aは、通信部31と、マルチキャストセッション情報データベース32と、情報作成部33と、タイマ34とを備える。尚、データ中継装置30も、図8に示すアクセスルータ30aと同様の構成を備える。
【0069】
通信部31は、マルチキャストセッション管理装置20やデータ送信装置60が提供するマルチキャストセッション情報を受信する。通信部31は、マルチキャストセッション管理装置20やデータ送信装置60に、マルチキャストセッション情報の要求を送信する。通信部31は、クライアント40a〜40dに、データの受信を望むクライアントが存在するかについての問い合わせを送信する。通信部31は、クライアント40a〜40dから、マルチキャストグループへの加入やマルチキャストグループからの離脱の要求を受信する。通信部31は、データ送信装置60がマルチキャスト送信するデータを受信し、クライアント40a〜40dに送信して、データの中継を行う。
【0070】
通信部31は、情報作成部33の指示に従い、クライアント40a〜40dに問い合わせを送信する。通信部41は、受信したマルチキャストセッション情報や、クライアント40a〜40dからの加入や離脱の要求を、情報作成部33に入力する。
【0071】
情報作成部33は、マルチキャストセッション情報を取得する取得手段である。情報作成部33は、通信部31を介して、マルチキャストセッション管理装置20やデータ送信装置60から、マルチキャストセッション情報を取得する。情報作成部33は、例えば、HTTPを用いてプル型で提供されるマルチキャストセッション情報を取得できる。又、情報作成部33は、SAPや電子メールを用いてプッシュ型で提供されるマルチキャストセッション情報を取得してもよい。
【0072】
尚、情報作成部33は、プル型で提供されるマルチキャストセッション情報を取得する場合には、アプリケーションからの指示に基づいてマルチキャストセッション情報の取得を開始する。情報作成部33は、例えば、アプリケーションから、定期的に取得指示を受ける。情報作成部33は、通信部31を介して、マルチキャストセッション管理装置20やデータ送信装置60に対してマルチキャストセッション情報を要求する。具体的には、情報作成部33は、マルチキャストセッション情報の要求を生成して、通信部31に入力する。
【0073】
又、図4に示すように、クライアント40a〜40dが、マルチキャストセッション管理装置20が提供するSDPを用いて記述されたマルチキャストセッション情報を、SAPを用いて取得する過程において、マルチキャストセッション情報は、アクセスルータ30aを経由してクライアント40a〜40dに送信される。よって、アクセスルータ30aの情報作成部33は、アクセスルータ30aの通信部31がクライアント40a〜40dへのマルチキャストセッション情報を中継する際に、マルチキャストセッション情報を取得できる。
【0074】
情報作成部33は、取得したマルチキャストセッション情報を、マルチキャストセッション情報データベース32に保存する。マルチキャストセッション情報データベース32は、マルチキャストセッション情報を保持する保持手段であり、複数のマルチキャストセッション情報を保持できる。情報作成部33は、マルチキャストセッション情報の取得を繰り返して、複数のマルチキャストセッション情報を取得する。そして、情報作成部33は、取得した複数のマルチキャストセッション情報を、マルチキャストセッションデータベース32に保存し、複数のマルチキャストセッション情報を保持するマルチキャストセッション情報データベース32を構築する。
【0075】
尚、情報作成部33は、取得したデータ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻が、相対時刻で表されている場合、アクセスルータ30aにおける絶対時刻に変更してから、マルチキャストセッション情報データベース32に保存する。具体的には、情報作成部33は、マルチキャストセッション情報が、マルチキャストセッション情報を送信したマルチキャストセッション管理装置20やデータ送信装置60から、アクセスルータ30aに到着するまでに経過した経過時間を、相対時刻で表されたマルチキャストグループ加入者問い合わせ時刻から減算して、相対時刻で表されたマルチキャストグループ加入者問い合わせ時刻を修正する。情報作成部33は、タイマ34から、現在時刻を取得する。そして、情報作成部33は、現在時刻に、アクセスルータ30aにおける経過時間を減算した修正後の相対時刻を加算して、絶対時刻を求める。情報作成部33は、取得したマルチキャストセッション情報のデータ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻を、求めた絶対時刻に変更して保存する。タイマ34は、時間の測定や現在時刻の提供を行う。情報作成部33は、アクセスルータ30aにおける経過時間として、例えば、マルチキャストセッション情報の送信元であるマルチキャストセッション管理装置20やデータ送信装置60と、送信先であるアクセスルータ30aとの間のRTTを測定し、用いることができる。
【0076】
情報作成部33は、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻に、マルチキャスト送信されるデータの受信を望むクライアントが存在するかについて問い合わせる問い合わせ手段としても機能する。情報作成部33は、通信部31を介して、クライアント40a〜40dに対して、問い合わせを行う。
【0077】
以下、情報作成部33の動作について、クライアント40a〜40dがマルチキャストグループへ加入する時の動作と、クライアント40a〜40dがマルチキャストグループから離脱する時の動作とに分けて説明する。
【0078】
(加入時)
情報作成部33は、取得したマルチキャストセッション情報を参照し、マルチキャストセッション情報に含まれるマルチキャストグループ加入者問い合わせ時刻に満了するようにタイマ34を設定する。このようにマルチキャストグループ加入者問い合わせ時刻に満了するように設定された状態のタイマ34を、特に、一斉加入問い合わせ送出タイマと呼ぶ。情報作成部33は、マルチキャストセッション情報のセッションIDと対応付けて、一斉加入問い合わせ送出タイマを設定する。尚、情報作成部33は、マルチキャストグループ加入者問い合わせ時刻が相対時刻で表されている場合、相対時刻で表されたマルチキャストグループ加入者問い合わせ時刻から、アクセスルータ30aにおける経過時間を減算した修正後のマルチキャストグループ加入者問い合わせ時刻に満了するように、タイマ34を設定することが好ましい。
【0079】
情報作成部33は、一斉加入問い合わせ送出タイマが満了すると、対応付けられたセッションIDに基づいて、マルチキャストセッション情報データベース32を参照し、セッションIDに対応するマルチキャストセッション情報を取得する。情報作成部33は、取得したマルチキャストセッション情報に基づいて、クライアント40a〜40dに対して、マルチキャスト送信されるデータの受信を望むクライアントが存在するかを問い合わせる。
【0080】
具体的には、情報作成部33は、通信部31を介して、IGMP Group−Specific Membership Queryと呼ばれるマルチキャスト送信されるデータの受信を望むクライアントが存在するかについて問い合わせる問い合わせを送信する。このとき、情報作成部33は、取得したマルチキャストセッション情報に含まれるマルチキャストアドレス宛に、IGMP Group−Specific Membership Queryを送信する。
【0081】
図9に、マルチキャストグループ加入者問い合わせ時刻に、アクセスルータ30aが、IGMP Group−Specific Membership Queryを送信する様子を示す。アクセスルータ30aは、マルチキャストアドレス宛てにIGMP Group−Specific Membership Queryを送信する。よって、IGMP Group−Specific Membership Queryは、図9中の実線と点線の矢印で示されるように、マルチキャストアドレスが割り当てられたマルチキャストグループに含まれるクライアント40a〜40dに送信される。
【0082】
このとき、実線の矢印で示すように、その待ち受けを開始しているクライアント40a,40c,40dのみが、マルチキャストアドレスを宛先としたIGMP Group−Specific Membership Queryを受信できる。待ち受けを開始していないクライアント40bでは、点線の矢印で示すように、IGMP Group−Specific Membership Queryが届いても、通信部41が受信できず、無視される。
【0083】
情報作成部33は、IGMP Group−Specific Membership Queryを送信して、マルチキャスト送信されるデータの受信を望むクライアントが存在するかを問い合わせた結果、通信部31を介して、クライアントからIGMP Membership Reportを取得し、マルチキャストグループへの加入の要求を受ける。情報作成部33は、加入の要求に応じて、マルチキャスト経路制御プロトコルを用いて、データ中継装置30と共に、マルチキャストツリーと呼ばれるマルチキャスト送信経路を構築する。
【0084】
複数のデータ中継装置30及びアクセスルータ30a間のマルチキャスト経路制御プロトコルとしては、例えば、DVMRP(Distance Vector Multicast Routing Protocol)、MOSPF(Multicast Open Shortest Path First)、PIM−DM(Protocol Independent Multicast−Dense Mode)、PIM−SM(Protocol Independent Multicast−Spare Mode)、BGMP(Border Gateway Multicast Protocol)などを用いることができる。
【0085】
これにより、データ送信装置60がマルチキャスト送信したマルチキャストグループ宛のデータが、データ中継装置30によって中継されてアクセスルータ30aに到着する。そして、アクセスルータ30aの通信部31が、到着したデータを、クライアント40a〜40dが接続するネットワーク50bに送信する。そして、待ち受けを開始しているクライアント40a,40c,40dが、マルチキャストアドレスグループ宛のデータの受信を開始する。
【0086】
(離脱時)
情報作成部33は、マルチキャストセッション管理装置20やデータ送信装置60からマルチキャストセッション情報を取得し、マルチキャストグループ加入者問い合わせ時刻に満了するようにタイマ34を設定する際に、マルチキャストセッション情報に含まれるマルチキャストグループ離脱者問い合わせ時刻に満了するようにもタイマ34を設定する。このようにマルチキャストグループ離脱者問い合わせ時刻に満了するように設定された状態のタイマ34を、特に、一斉離脱問い合わせ送出タイマと呼ぶ。情報作成部33は、マルチキャストセッション情報のセッションIDと対応付けて、一斉離脱問い合わせ送出タイマを設定する。尚、情報作成部33は、マルチキャストグループ離脱者問い合わせ時刻が相対時刻で表されている場合、相対時刻で表されたマルチキャストグループ離脱者問い合わせ時刻から、アクセスルータ30aにおける経過時間を減算した修正後のマルチキャストグループ離脱者問い合わせ時刻に満了するように、タイマ34を設定することが好ましい。
【0087】
情報作成部33は、一斉加入問い合わせ送出タイマが満了すると、対応付けられたセッションIDに基づいて、マルチキャストセッション情報データベース32を参照し、セッションIDに対応するマルチキャストセッション情報を取得する。情報作成部33は、取得したマルチキャストセッション情報に基づいて、クライアント40a〜40dに対して、マルチキャスト送信されるデータの受信を望むクライアントが存在するかについて問い合わせる。
【0088】
具体的には、情報作成部33は、通信部31を介して、IGMP Group−Specific Membership Queryと呼ばれる問い合わせを送信する。情報作成部33は、取得したマルチキャストセッション情報に含まれるマルチキャストアドレス宛に、IGMP Group−Specific Membership Queryを送信する。このとき、情報作成部33は、データの受信を望むクライアントが存在しないと判断するために定めた時間に基づいてタイマ34を設定する。
【0089】
マルチキャストグループに加入していた全てのクライアント40a,40c,40dが、マルチキャストグループ離脱者問い合わせ時刻までに、そのマルチキャストグループ宛のデータの受信の待ち受けを終了している場合、アクセスルータ30aは、全てのクライアント40a〜40dから、送信したIGMP Group−Specific Membership Queryに対する応答を受けない。ここで、IGMP Group−Specific Membership Queryに対する応答とは、IGMP Membership Reportのようなマルチキャストグループへの加入の要求である。
【0090】
図10に、マルチキャストグループ離脱者問い合わせ時刻に、アクセスルータ30aが、IGMP Group−Specific Membership Queryを送信する様子を示す。アクセスルータ30aは、マルチキャストアドレス宛てにIGMP Group−Specific Membership Queryを送信する。よって、IGMP Group−Specific Membership Queryは、図10中の点線の矢印で示されるように、マルチキャストアドレスが割り当てられたマルチキャストグループに含まれるクライアント40a〜40dに送信される。
【0091】
このとき、全てのクライアント40a〜40dでは、待ち受けを終了しているため、IGMP Group−Specific Membership Queryが届いても、通信部41が受信できず、無視される。よって、クライアント40a〜40dから、IGMP Group−Specific Membership Queryに対するIGMP Membership Reportは、送信されない。
【0092】
情報作成部33は、このようにIGMP Group−Specific Membership Query送信後、データの受信を望むクライアントが存在しないと判断するために定めた時間が経過してタイマ34が満了しても、全てのクライアント40a〜40dから応答を受けない場合、データの受信を望むクライアントが存在しないと判断する。そして、情報作成部33は、そのマルチキャストグループに対するデータの送信を終了するための処理を行う。
【0093】
具体的には、情報作成部33は、複数のデータ中継装置30と共に、マルチキャスト経路制御プロトコルを用いて、マルチキャスト送信経路を削除する。これにより、データ送信装置60からのデータ中継装置30、アクセスルータ30aに対するマルチキャストグループ宛のデータの送信が停止する。よって、クライアント40a,40c,40dは、マルチキャストグループ宛のデータの受信を終了できる。
【0094】
一方、マルチキャストグループ宛のデータの受信を望むクライアントが存在する場合には、そのクライアントがIGMP Group−Specific Membership Queryに対して、IGMP Membership Reportを送信する。情報作成部33は、IGMP Membership Reportを取得した場合、データの受信を望むクライアントがまだ存在すると判断する。そして、情報作成部33は、マルチキャスト送信経路を削除せずに維持する。よって、そのマルチキャストグループに対するデータの送信は継続される。
【0095】
尚、アクセスルータ30aは、IGMP Group−Specific Membership Queryをマルチキャストアドレス宛に送信するため、単一のパケットを送信すれば、全てのクライアント40a,40c,40dに届けることができる。又、アクセスルータ30aは、以上説明した動作以外は、IGMPに基づく通常の動作と同様に動作する。
【0096】
〔マルチキャストセッション管理装置〕
図11に示すように、マルチキャストセッション管理装置20は、通信部21と、マルチキャストセッション情報データベース22と、生成部23と、提供部24とを備える。
【0097】
通信部21は、クライアント40a〜40d、データ中継装置30、アクセスルータ30aに、マルチキャストセッション情報を送信する。通信部21は、クライアント40a〜40d、データ中継装置30、アクセスルータ30aから、マルチキャストセッション情報の要求を受信する。通信部21は、データ送信装置60から、マルチキャストセッション情報を受信する。通信部21は、データ送信装置60に、マルチキャストセッション情報の要求を送信する。通信部21は、受信したマルチキャストセッション情報の要求を、提供部24に入力する。通信部21は、データ送信装置60から受信したマルチキャストセッション情報を、生成部23に入力する。
【0098】
生成部23は、マルチキャストセッション情報を生成する生成手段である。生成部23は、通信部21を介して、データ送信装置60からマルチキャストセッション情報を取得する。生成部23は、データ送信装置60から定期的にマルチキャストセッション情報を取得してもよく、データ送信装置60にマルチキャストセッション情報を要求して、マルチキャストセッション情報を取得してもよい。 生成部23は、取得したマルチキャストセッション情報に、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻が含まれている場合には、取得したマルチキャストセッション情報を、そのままマルチキャストセッション情報データベース22に保存する。マルチキャストセッション情報データベース22は、マルチキャストセッション情報を保持する保持手段である。あるいは、生成部23は、取得したマルチキャストセッション情報を、提供部24に入力する。
【0099】
生成部23は、取得したマルチキャストセッション情報に、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻が含まれていない場合には、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻を設定する。生成部23は、データ送信装置60がマルチキャスト送信するデータ送信スケジュールに基づいて、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻を設定する。
【0100】
具体的には、生成部23は、取得したマルチキャストセッション情報に含まれるデータ送信開始時刻に基づいて、マルチキャストグループ加入者問い合わせ時刻を設定する。生成部23は、データ送信開始時刻よりも前の時刻を、マルチキャストグループ加入者問い合わせ時刻に設定する。例えば、生成部23は、データ送信開始時刻までに、アクセスルータ30aが、データの受信を望むクライアントが存在するかについて問い合わせをし、クライアントから加入の要求を受けて、マルチキャスト送信経路を構築し、マルチキャスト送信を開始できる時間を、マルチキャストグループ加入者問い合わせ時刻として設定する。即ち、生成部23は、マルチキャストグループ加入者問い合わせ時刻を、データ送信開始時刻から、問い合わせからマルチキャスト送信経路の構築までに必要な時間以上前に設定する。
【0101】
又、生成部23は、取得したマルチキャストセッション情報に含まれるデータ送信終了時刻に基づいて、マルチキャストグループ離脱者問い合わせ時刻を設定する。生成部23は、データ送信終了時刻よりも後の時刻を、マルチキャストグループ離脱者問い合わせ時刻に設定する。例えば、生成部23は、データ送信終了時刻後、マルチキャストグループ離脱者問い合わせ時刻までに、クライアント40a〜40dが、待ち受けを終了できる時間を、マルチキャストグループ離脱者問い合わせ時刻として設定する。即ち、生成部23は、マルチキャストグループ離脱者問い合わせ時刻を、データ送信終了時刻から、クライアント40a〜40dが、待ち受け状態を解除するための動作に必要な時間以上後に設定する。
【0102】
生成部23は、データ送信開始時刻、データ送信終了時刻が相対時刻で表されている場合、相対時刻で表されたデータ送信開始時刻やデータ送信終了時刻から、マルチキャストセッション情報がデータ送信装置60からマルチキャストセッション管理装置20に到着するまでに経過した経過時間を減算してデータ送信開始時刻、データ送信終了時刻を修正する。そして、生成部23は、修正後のデータ送信開始時刻、データ送信終了時刻に基づいて、マルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻を設定することが好ましい。
【0103】
生成部23は、アクセスルータ30aと、クライアント40a〜40dとが同期をとっている場合には、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻を、絶対時刻、相対時刻のいずれを用いても設定できる。尚、生成部23は、経過時間を用いた修正の必要がないことから、絶対時刻を用いて設定することが好ましい。一方、生成部23は、アクセスルータ30aと、クライアント40a〜40dとが同期をとっていない場合には、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻を、相対時刻を用いて設定する。
【0104】
このようにして、生成部23は、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を設定する設定手段として機能する。そして、生成部23は、データ送信装置60から取得したマルチキャストセッション情報に、設定したマルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を付加し、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を生成する。生成部23は、生成したマルチキャストセッション情報を、マルチキャストセッション情報データベース22に保存する。あるいは、生成部23は、生成したマルチキャストセッション情報を、提供部24に入力する。
【0105】
尚、データ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻が、相対時刻で表されている場合には、生成部23は、マルチキャストセッション情報を、マルチキャストセッション情報データベース22に保存する際に、マルチキャストセッション情報を保存する保存時刻と対応付けて、保存する。
【0106】
提供部24は、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を、マルチキャスト送信されるデータを受信するクライアント40a〜40d又はデータを中継するデータ中継装置30やアクセスルータ30aに提供する提供手段である。提供部24は、定期的に、又は、クライアント40a〜40d、データ中継装置30、アクセスルータ30aから、マルチキャストセッション情報の要求を受けた場合に、あるいは、生成部23からマルチキャストセッション情報を入力された際に、マルチキャストセッション情報を提供する。
【0107】
提供部24は、マルチキャストセッション情報データベース22又は生成部23から、マルチキャストセッション情報を取得する。提供部24は、取得したマルチキャストセッション情報を、通信部21を介して、クライアント40a〜40d、データ中継装置30、アクセスルータ30aに提供する。尚、提供部24は、マルチキャストセッション情報の要求を受けた際に、生成部23にマルチキャストセッション情報の生成を指示し、生成部23からマルチキャストセッション情報を取得してもよい。
【0108】
又、提供部24は、マルチキャストセッション情報データベース22から取得したデータ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻が、相対時刻で表されている場合には、対応付けられている保存時刻と現在時刻との差を求める。そして、提供部24は、データ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻から、求めた保存時刻と現在時刻との差を減算して、マルチキャストセッション情報を修正する。提供部24は、修正後のマルチキャストセッション情報を提供する。
【0109】
〔データ送信装置〕
図12に示すように、データ送信装置60は、通信部61と、マルチキャストセッション情報データベース62と、生成部63と、提供部64と、マルチキャスト情報データベース65とを備える。
【0110】
通信部61は、クライアント40a〜40dに、データをマルチキャスト送信する。具体的には、通信部61は、マルチキャストグループに宛てて、データを送信する。通信部61は、提供部64の指示に従って、データをマルチキャスト送信する。又、通信部61は、クライアント40a〜40d、データ中継装置30、アクセスルータ30a、マルチキャストセッション管理装置20に、マルチキャストセッション情報を送信する。通信部61は、クライアント40a〜40d、データ中継装置30、アクセスルータ30a、マルチキャストセッション管理装置20から、マルチキャストセッション情報の要求を受信する。通信部61は、受信したマルチキャストセッション情報の要求を、提供部64に入力する。
【0111】
マルチキャスト情報データベース65は、マルチキャスト送信するデータと、そのデータに関する情報を保持する保持手段である。マルチキャスト情報データベース65は、マルチキャスト送信するデータに関する情報として、マルチキャストアドレス、アプリケーションのポート番号、データ送信開始時刻、データ送信終了時刻、マルチキャスト送信されるデータの名称、メディアタイプ、データの簡単な説明などの情報を保持する。尚、マルチキャスト情報データベース65は、絶対時刻で表されたデータ送信開始時刻、データ送信終了時刻を保持する。
【0112】
生成部63は、マルチキャストセッション情報を生成する生成手段である。生成部63は、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含まないマルチキャストセッション情報を生成する場合には、マルチキャスト情報データベース65から、提供するマルチキャストセッション情報に含める情報を取得する。例えば、生成部63は、マルチキャストアドレス、アプリケーションのポート番号、データ送信開始時刻、データ送信終了時刻、マルチキャスト送信されるデータの名称、メディアタイプ、データの簡単な説明などの情報を取得する。そして、生成部63は、マルチキャスト情報データベース65から取得した情報に、データ送信装置60のアドレスを付加し、セッションIDを付与して、マルチキャストセッション情報を生成する。
【0113】
又、生成部63は、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を生成する場合、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻を設定する。生成部63は、データ送信装置60がマルチキャスト送信するデータ送信スケジュールに基づいて、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻を設定する。具体的には、生成部63は、マルチキャスト情報データベース65から取得したデータ送信開始時刻に基づいて、図11に示した生成部23と同様にして、マルチキャストグループ加入者問い合わせ時刻を設定する。又、生成部63は、マルチキャスト情報データベース65から取得したデータ送信終了時刻に基づいて、図11に示した生成部23と同様にして、マルチキャストグループ離脱者問い合わせ時刻を設定する。このように、生成部63は、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を設定する設定手段として機能する。
【0114】
そして、生成部63は、マルチキャスト情報データベース65から取得した情報に、設定したマルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻、データ送信装置60のアドレスを付加し、セッションIDを付与して、マルチキャストセッション情報を生成する。尚、生成部63は、データ送信装置60と、アクセスルータ30aと、クライアント40a〜40dとが同期をとっていない場合には、絶対時刻で表されたデータ送信開始時刻、データ送信終了時刻と、データ送信装置60における現在時刻との差を求め、相対時刻で表されたデータ送信開始時刻、データ送信終了時刻に変更する。生成部63は、変更した相対時刻で表されたデータ送信開始時刻、データ送信終了時刻を用いて、マルチキャストセッション情報を生成する。
【0115】
生成部63は、生成したマルチキャストセッション情報を、マルチキャストセッション情報データベース62に保存する。あるいは、生成部63は、生成したマルチキャストセッション情報を、提供部64に入力する。尚、データ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻が、相対時刻で表されている場合には、生成部63は、マルチキャストセッション情報を、マルチキャストセッション情報データベース62に保存する際に、マルチキャストセッション情報を保存する保存時刻と対応付けて保存する。
【0116】
提供部64は、マルチキャスト情報データベース65を参照し、データ送信開始時刻になると、マルチキャスト情報データベース65から、マルチキャスト送信するデータ、マルチキャストアドレスを取得する。提供部64は、取得したデータを通信部61に入力する。そして、提供部64は、入力したデータを、取得したマルチキャストアドレスに、データ送信開始時刻からデータ送信終了時刻までに送信するように通信部61に指示する。
【0117】
提供部64は、マルチキャストセッション情報を、クライアント40a〜40d、データ中継装置30やアクセスルータ30a、マルチキャストセッション管理装置20に提供する提供手段である。提供部64は、定期的に、又は、クライアント40a〜40d、データ中継装置30、アクセスルータ30a、マルチキャストセッション管理装置20から、マルチキャストセッション情報の要求を受けた場合に、あるいは、生成部63からマルチキャストセッション情報を入力された際に、マルチキャストセッション情報を提供する。
【0118】
提供部64は、クライアント40a〜40d、データ中継装置30、アクセスルータ30aには、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を提供する。又、提供部64は、マルチキャストセッション管理装置20には、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含まないマルチキャストセッション情報のいずれを提供してもよい。
【0119】
提供部64は、マルチキャストセッション情報データベース62又は生成部63から、マルチキャストセッション情報を取得する。提供部64は、取得したマルチキャストセッション情報を、通信部61を介して、クライアント40a〜40d、データ中継装置30、アクセスルータ30a、マルチキャストセッション管理装置20に提供する。尚、提供部64は、マルチキャストセッション情報の要求を受けた際に、生成部63にマルチキャストセッション情報の生成を指示し、生成部63からマルチキャストセッション情報を取得してもよい。
【0120】
又、提供部64は、マルチキャストセッション情報データベース62から取得したデータ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻が、相対時刻で表されている場合には、対応付けられている保存時刻と現在時刻との差を求める。そして、提供部64は、データ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻から、求めた保存時刻と現在時刻との差を減算して、マルチキャストセッション情報を修正する。提供部64は、修正後のマルチキャストセッション情報を提供する。
【0121】
[通信方法]
通信システム10を用いた通信方法について、クライアント40a〜40dが行う手順と、アクセスルータ30aが行う手順とに分けて説明する。
【0122】
〔クライアントの手順〕
(加入時)
図13を用いて、マルチキャストグループへの加入時のクライアント40a〜40dの手順について説明する。クライアント40a〜40dの情報作成部43は、アプリケーションからやクライアント40a〜40dを操作するユーザ入力により、マルチキャストグループに宛てて送信されるデータの受信を開始するように指示を受ける(S1)。情報作成部43は、マルチキャストセッション情報データベース42に、指示に該当するマルチキャストセッション情報が存在するかを検索し、クライアント40a〜40dが、マルチキャストセッション情報を既に保持しているかを確認する(S2)。
【0123】
ステップ(S2)において、情報作成部43は、マルチキャストセッション情報を保持していると判断した場合、マルチキャストセッション情報データベース42から、マルチキャストセッション情報を取得する(S3)。一方、ステップ(S2)において、情報作成部43は、マルチキャストセッション情報を保持していないと判断した場合、マルチキャストセッション管理装置20やデータ送信装置60から、マルチキャストセッション情報を取得する。情報作成部43は、取得したマルチキャストセッション情報を、マルチキャストセッション情報データベース42に保存する(S4)。
【0124】
情報作成部43は、ステップ(S3)又はステップ(S4)において取得したマルチキャストセッション情報に、マルチキャストグループ加入者問い合わせ時刻が含まれているかを確認し、マルチキャストグループ加入者問い合わせ時刻が設定されているかを確認する(S5)。ステップ(S5)において、情報作成部43は、マルチキャストグループ加入者問い合わせ時刻が含まれている場合、マルチキャストグループ加入者問い合わせ時刻が設定されていると判断する。そして、情報作成部43は、マルチキャストグループ加入者問い合わせ時刻に基づいて、待ち受け開始時刻を決定し、決定した待ち受け開始時刻に満了するようにタイマ44を設定する(S6)。
【0125】
ステップ(S6)において設定したタイマ44が満了すると(S8)、情報作成部43は、そのマルチキャストグループ宛のデータの受信の待ち受けを開始するように、通信部41に対して指示する。そして、通信部41は、情報作成部43の指示に従い、待ち受けを開始する(S9)。但し、この時点では、情報作成部43は、IGMP Membership Reportを送信するマルチキャストグループへの加入の要求を行わない。以降は、クライアント40a〜40dは、IGMPの通常の手順に従って処理する。尚、ステップ(S8)において、タイマ44が満了していない場合には、情報作成部43は、タイマ44が満了するまで待機する。
【0126】
一方、ステップ(S5)において、情報作成部43は、マルチキャストグループ加入者問い合わせ時刻が含まれていない場合には、マルチキャストグループ加入者問い合わせ時刻が設定されていないと判断する。そして、情報作成部43は、IGMPに基づく通常のマルチキャスト送信であると判断し、IGMPに基づく通常の処理を行う(S7)。
【0127】
(離脱時)
図14を用いて、マルチキャストグループからの離脱時のクライアント40a〜40dの手順について説明する。クライアント40a〜40dの情報作成部43は、アプリケーションからやクライアント40aを操作するユーザ入力により、マルチキャストグループに宛てて送信されるデータの受信を終了するように指示を受ける。又は、通信部41が、データの受信を完了する(S11)。情報作成部43は、マルチキャストセッション情報データベース42に、指示に該当するマルチキャストセッション情報が存在するかを検索し、クライアント40a〜40dが、マルチキャストセッション情報を既に保持しているかを確認する(S12)。
【0128】
ステップ(S12)において、情報作成部43は、マルチキャストセッション情報を保持していると判断した場合、マルチキャストセッション情報データベース42から、マルチキャストセッション情報を取得する(S13)。一方、ステップ(S12)において、情報作成部43は、マルチキャストセッション情報を保持していないと判断した場合、マルチキャストセッション管理装置20やデータ送信装置60から、マルチキャストセッション情報を取得する。情報作成部43は、取得したマルチキャストセッション情報を、マルチキャストセッション情報データベース42に保存する(S14)。
【0129】
情報作成部43は、ステップ(S13)又はステップ(S14)において取得したマルチキャストセッション情報に、マルチキャストグループ離脱者問い合わせ時刻が含まれているかを確認し、マルチキャストグループ離脱者問い合わせ時刻が設定されているかを確認する(S15)。ステップ(S15)において、情報作成部43は、マルチキャストグループ離脱者問い合わせ時刻が含まれている場合、マルチキャストグループ離脱者問い合わせ時刻が設定されていると判断する。そして、情報作成部43は、現在時刻が、取得したマルチキャストセッション情報に含まれるマルチキャストグループ離脱者問い合わせ時刻を経過しているかを確認する(S16)。ステップ(S16)において、現在時刻がマルチキャストグループ離脱者問い合わせ時刻を経過している場合、情報作成部43は、通信部41を介して、IGMP Leave Groupをアクセスルータ30aに送信し、マルチキャストグループからの離脱を要求する(S18)。
【0130】
ステップ(S16)において、現在時刻がマルチキャストグループ離脱者問い合わせ時刻を経過していない場合や、ステップ(S18)終了後、情報作成部43は、そのマルチキャストグループ宛のデータの受信の待ち受けを終了するように、通信部41に対して指示する。通信部41は、情報作成部43の指示に従い、待ち受けを終了する(S19)。
【0131】
一方、ステップ(S15)において、情報作成部43は、マルチキャストグループ離脱者問い合わせ時刻が含まれていない場合には、マルチキャストグループ離脱者問い合わせ時刻が設定されていないと判断する。そして、情報作成部43は、IGMPに基づく通常のマルチキャスト送信であると判断し、IGMPに基づく通常の処理を行う(S17)。
【0132】
〔アクセスルータの手順〕
アクセスルータ30aの情報作成部33は、マルチキャストセッション情報に含まれるマルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻に満了するようにタイマ34を設定する。図15に示すように、タイマ34が満了すると(S21)、情報作成部33は、タイマの種類を判断する(S22)。
【0133】
ステップ(S22)において、タイマ34が一斉加入問い合わせ送出タイマの場合、情報作成部33は、マルチキャストグループ加入者問い合わせ時刻に、通信部31を介して、マルチキャストグループ宛てに、IGMP Group−Specific Membership Queryを送信する(S23)。一方、ステップ(S22)において、タイマ34が一斉離脱問い合わせ送出タイマの場合、情報作成部33は、マルチキャストグループ離脱者問い合わせ時刻に、通信部31を介して、マルチキャストグループ宛てに、IGMP Group−Specific Membership Queryを送信する(S24)。以降は、アクセスルータ30aは、IGMPの通常の手順に従って処理する(S25)。
【0134】
[効果]
このような通信システム10、クライアント40a〜40d、データ中継装置30、アクセスルータ30a、通信方法によれば、マルチキャスト送信されるデータの受信を望むクライアント40a,40c,40dが、マルチキャストグループ加入者問い合わせ時刻までに、待ち受けを開始しておく。そして、アクセスルータ30aが、マルチキャストグループ加入者問い合わせ時刻に、データの受信を望むクライアントが存在するかを問い合わせる。このとき、待ち受けを開始しているクライアントは、マルチキャストグループへの加入を要求する。そのため、アクセスルータ30a、データ中継装置30は、データの受信を望むクライアントが存在すると判断して、マルチキャストグループへのデータの中継を開始できる。
【0135】
又、データの受信を終了したいクライアント40a,40c,40dが、マルチキャストグループ離脱者問い合わせ時刻までに、待ち受けを終了しておく。そして、アクセスルータ30aが、マルチキャストグループ離脱者問い合わせ時刻に、データの受信を望むクライアントが存在するかを問い合わせる。このとき、全てのクライアントが待ち受けを終了している場合には、一切の応答がない。そのため、アクセスルータ30a、データ中継装置30は、データの受信を望むクライアントが存在しないと判断して、マルチキャストグループへのデータの中継を終了できる。
【0136】
このように、各クライアント40a〜40dが個別に、マルチキャストグループへの加入やマルチキャストグループからの離脱を要求することがなく、アクセスルータ30aが、各クライアント40a〜40dが個別に行う加入や離脱の要求に対する処理を行う必要がない。そのため、通信システム10、クライアント40a〜40d、アクセスルータ30aは、加入や離脱に伴う通信量やデータ量を削減でき、アクセスルータ30aの負荷を削減できる。
【0137】
更に、クライアント40a〜40dの情報作成部43が、マルチキャストグループ加入者問い合わせ時刻に基づいて、待ち受けを開始する待ち受け開始時刻を決定し、マルチキャストグループ離脱者問い合わせ時刻に基づいて待ち受けを終了する待ち受け終了時刻を決定する。そして、通信部41は、情報作成部43が決定した待ち受け開始時刻に待ち受けを開始し、決定した待ち受け終了時刻に待ち受けを終了する。そのため、クライアント40a〜40dは、マルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻に基づいて、適切な待ち受け開始時刻や待ち受け終了時刻を決定でき、決定した待ち受け開始時刻や待ち受け終了時刻に基づいて、待ち受けを開始したり終了したりできる。
【0138】
又、マルチキャストセッション管理装置20やデータ送信装置60によれば、提供部24,64が、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を、クライアント40a〜40dやアクセスルータ30aに提供する。そのため、マルチキャストセッション管理装置20やデータ送信装置60は、クライアント40a〜40dやアクセスルータ30aに、マルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻を通知できる。よって、クライアント40a〜40dやアクセスルータ30aが、通知されたマルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻に基づいて、待ち受けの開始や終了、問い合わせなどの加入や離脱に関する処理を行うことができる。そのため、マルチキャストセッション管理装置20やデータ送信装置60は、加入や離脱に伴う通信量やデータ量の削減、アクセスルータ30aの負荷の削減に寄与できる。
【0139】
更に、生成部23,63が、マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を設定し、提供部24,64が設定したマルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を提供する。そのため、マルチキャストセッション管理装置20やデータ送信装置60は、マルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻を設定でき、設定したマルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻を、クライアント40a〜40dやアクセスルータ30aに提供できる。
【0140】
又、生成部23,63は、相対時刻でマルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻を設定できる。そのため、アクセスルータ30aと、クライアント40a〜40dとが同期をとっていない場合であっても、アクセスルータ30a、クライアント40a〜40dは、マルチキャストセッション情報を取得した時刻を基準として、ほぼマルチキャストグループ加入者問い合わせ時刻やマルチキャストグループ離脱者問い合わせ時刻に、問い合わせがあることを把握できる。
【0141】
[変更例]
本発明は、上記実施の形態に限定されるものではなく、種々の変更が可能である。上記実施の形態では、クライアント40a〜40dが、待ち受け開始時刻と待ち受け終了時刻を決定しているが、データ送信装置60の生成部63、マルチキャストセッション管理装置20の生成部23、データ中継装置30やアクセスルータ30aの情報作成部33が、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻に基づいて、待ち受け開始時刻と待ち受け終了時刻を決定し、マルチキャストセッション情報に、決定した待ち受け開始時刻と待ち受け終了時刻を付加して送信してもよい。これにより、クライアント40a〜40dは、待ち受け開始時刻と待ち受け終了時刻を含むマルチキャストセッション情報を取得することができる。
【0142】
又、データ送信装置60やマルチキャストセッション管理装置20が、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻を設定せずに、データ中継装置30やアクセスルータ30aの情報作成部33が、取得したマルチキャストセッション情報に含まれるデータ送信開始時刻とデータ送信終了時刻に基づいて、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻を設定してもよい。この場合、データ中継装置30やアクセスルータ30aの情報作成部33が、設定したマルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻を、マルチキャストセッション情報に付加して送信し、クライアント40a〜40dは、データ中継装置30やアクセスルータ30aから、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を取得する。
【0143】
又、図11、図12に示したマルチキャストセッション管理装置20の生成部23、データ送信装置60の生成部63の両方が、マルチキャストグループ加入者問い合わせ時刻とマルチキャストグループ離脱者問い合わせ時刻を設定する設定手段として機能する必要はなく、いずれか一方が設定手段として機能すればよい。
【0144】
又、図2、図8に示したクライアント40aの情報作成部43、アクセスルータ30aの情報作成部33は、取得したデータ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻が相対時刻で表されている場合、絶対時刻に変更せずに、マルチキャストセッション情報を取得した取得時刻及び経過時間と対応付けて、マルチキャストセッション情報データベース32,42に保存してもよい。そして、情報作成部33,43は、データ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻を用いる際に、現在時刻と取得時刻との差及び経過時間を、データ送信開始時刻、データ送信終了時刻、マルチキャストグループ加入者問い合わせ時刻、マルチキャストグループ離脱者問い合わせ時刻から減算して修正して用いてもよい。
【0145】
【発明の効果】
以上説明したように、本発明によれば、マルチキャストグループへの加入や離脱に伴う通信量や負荷を削減できる通信システム、データ受信装置、データ中継装置、管理装置、データ送信装置及び通信方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る通信システムを示す図である。
【図2】本発明の実施の形態に係るクライアントの構成を示すブロック図である。
【図3】本発明の実施の形態に係るマルチキャストセッション情報を示す図である。
【図4】本発明の実施の形態に係るクライアントがマルチキャストセッション情報を取得する様子を示す図である。
【図5】本発明の実施の形態に係るクライアントがマルチキャスト送信されるデータの受信の待ち受けをしている様子を示す図である。
【図6】本発明の実施の形態に係るクライアントがIGMP Membership Reportを送信する様子を示す図である。
【図7】本発明の実施の形態に係るクライアントがマルチキャスト送信されるデータの受信の待ち受けを終了した様子を示す図である。
【図8】本発明の実施の形態に係るアクセスルータの構成を示すブロック図である。
【図9】本発明の実施の形態に係るマルチキャストグループ加入者問い合わせ時刻に、アクセスルータがIGMP Group−Specific Membership Queryを送信する様子を示す図である。
【図10】本発明の実施の形態に係るマルチキャストグループ離脱者問い合わせ時刻に、アクセスルータがIGMP Group−Specific Membership Queryを送信する様子を示す図である。
【図11】本発明の実施の形態に係るマルチキャストセッション管理装置の構成を示すブロック図である。
【図12】本発明の実施の形態に係るデータ送信装置の構成を示すブロック図である。
【図13】本発明の実施の形態に係る加入時のクライアントの手順を示すフロー図である。
【図14】本発明の実施の形態に係る離脱時のクライアントの手順を示すフロー図である。
【図15】本発明の実施の形態に係るアクセスルータの手順を示すフロー図である。
【符号の説明】
10 通信システム
20 マルチキャストセッション管理装置
21,31,41,61 通信部
22,32,42,62 マルチキャストセッション情報データベース
23,63 生成部
24,64 提供部
30 データ中継装置
30a アクセスルータ
33,43 情報作成部
34,44 タイマ
40a〜40d クライアント
50a,50b ネットワーク
60 データ送信装置
65 マルチキャスト情報データベース[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a communication system, a data reception device, a data relay device, a management device, a data transmission device, and a communication method.
[0002]
[Prior art]
Data transmission forms using a network such as the Internet are classified into unicast transmission, broadcast transmission, and multicast transmission based on the relationship between the data transmission device on the transmission side and the data reception device on the reception side.
[0003]
Unicast transmission is a one-to-one communication in which one data transmission device transmits data to one data reception device. In unicast transmission, the amount of data transmitted by the data transmission device increases in proportion to the number of data reception devices. Therefore, in unicast transmission, when the number of data reception devices increases, the load for data transmission processing in the data transmission device and the communication path increases.
[0004]
Broadcast transmission and multicast transmission are one-to-many communication in which one data transmission apparatus transmits data to a plurality of data reception apparatuses. Therefore, in broadcast transmission and multicast transmission, an increase in load for data transmission processing accompanying an increase in the number of data receiving apparatuses does not occur. In multicast transmission, data is transmitted only to a specific plurality of data receiving apparatuses.
[0005]
As this multicast transmission, IP multicast transmission realized using IP (Internet Protocol) is widely known. In IP multicast transmission, a plurality of data receiving apparatuses that receive the same data form a multicast group. Then, an IP address for multicast transmission is assigned to the multicast group. An IP address assigned to a multicast group is called a multicast address and is unique to each multicast group. When the data receiving apparatus desires to receive data transmitted to the multicast group, the data receiving apparatus stores information indicating that the data receiving apparatus belonging to the multicast group exists in the adjacent data relay apparatus. Thereby, the data receiving device can receive the data transmitted from the data transmitting device to the multicast group via the data relay device.
[0006]
IGMP (Internet Group Management Protocol) is used as a protocol (hereinafter referred to as “multicast group management protocol”) for managing a multicast group between the data receiving device and the data relay device. The data relay device corresponding to IGMP is equipped with a function for determining whether or not there is a data receiving device that is joined to the multicast group among the data receiving devices under its control.
[0007]
When multicast transmission using IGMP is started, a data receiving apparatus that desires to receive data transmitted to the multicast group transmits a request for joining the multicast group called IGMP Membership Report to the data relay apparatus. Then, the data relay apparatus that has received the IGMP Membership Report establishes a multicast transmission path using the multicast path control protocol. Thereby, the data addressed to the multicast group arrives at the data relay device, and the data relay device transmits the arrived data to the network where the data receiving device exists. Then, the data receiving device starts receiving data addressed to the multicast group. When the data receiving device has transmitted the IGMP Membership Report, if another data receiving device has already transmitted the IGMP Membership Report and transmission of data addressed to the multicast group has started, the data receiving device The device can receive data immediately after sending the IGMP Membership Report.
[0008]
On the other hand, when ending multicast transmission using IGMP, a data receiving apparatus that desires to end reception of data transmitted to the multicast group issues a request to leave the multicast group called IGMP Leave Group. Send to. Then, the data relay apparatus that has received the IGMP Leave Group transmits an inquiry to the multicast group as to whether there is a data receiving apparatus that desires to receive data to be transmitted by multicast called IGMP Group-Specific Membership Query.
[0009]
When a data receiving device other than the data receiving device that transmitted the IGMP Leave Group desires to receive data addressed to the multicast group, it transmits an IGMP Membership Report as a reply of the IGMP Group-Specific Membership Query. As a result, the data relay device does not delete the multicast transmission path because it knows that there is still a data reception device that desires to receive the data. On the other hand, if the data relay device does not receive the IGMP Membership Report even after a certain time has elapsed after sending the IGMP Group-Specific Membership Query, the data relay device determines that there is no data receiving device that desires to receive the data, and A multicast transmission route is deleted using a routing protocol. As a result, transmission of data addressed to the multicast group to the data relay device is stopped, and the data reception device ends reception of data addressed to the multicast group.
[0010]
In this way, in multicast transmission using IGMP, the data reception device controls the multicast transmission path by requesting the data reception device to join and leave the multicast group (for example, non-patent) References 1-3). The operation using IGMP described above indicates the operation of IGMP version 2. In addition, there is IGMP version 3 which is an extension of IGMP version 2. In IGMP version 3, a function for specifying the data transmission source is added, but the basic operation described above is the same as in IGMP version 2.
[0011]
[Non-Patent Document 1]
By Thomas Maufer, translated by Hiroyuki Enomoto, “Introduction to IP Multicast”, first edition, Kyoritsu Publishing Co., Ltd., November 2001
[0012]
[Non-Patent Document 2]
Dave Kosiur, translated by Yukio Hamada, “Mastering TCP / IP Multicast”, 1st edition, November 2000
[0013]
[Non-Patent Document 3]
By Beau Williamson, translated by Comsus, directed by Cisco Systems, "IP Multicast Network Development Guide Vol. 1", first edition, July 2001
[0014]
[Problems to be solved by the invention]
However, in conventional multicast transmission, each data receiving device individually requests to join or leave a multicast group, and the data relay device responds to a request for joining or leaving each data receiving device individually. It was processing for. For this reason, there has been a problem that the amount of communication associated with processing related to joining and leaving increases, and the load on the data relay apparatus increases. In particular, immediately before and after data transmission, subscription and withdrawal are concentrated, and the problem is remarkable. In addition, in the data relay device, a serious situation such as a function stoppage may be caused by an increase in load. Further, when IGMP is used in a wireless link with a low speed and a large delay, the communication cost may become a problem due to an increase in the amount of communication due to joining or leaving.
[0015]
Therefore, an object of the present invention is to provide a communication system, a data reception device, a data relay device, a management device, a data transmission device, and a communication method that can reduce the amount of communication and the load associated with joining or leaving a multicast group. .
[0016]
[Means for Solving the Problems]
A communication system according to the present invention includes a data receiving device that starts waiting for reception of data to be transmitted by multicast before the multicast group subscriber inquiry time, and ends waiting for reception of data by the multicast group leaver inquiry time; And a data relay device that inquires at a multicast group subscriber inquiry time and a multicast group leaver inquiry time whether there is a data reception device that desires to receive data.
[0017]
The multicast group subscriber inquiry time is a time for inquiring whether there is a data receiving apparatus that desires to receive data before starting data transmission to the multicast group. The multicast group leaver inquiry time is a time for inquiring whether there is a data receiving apparatus that desires to receive data after data transmission to the multicast group. Waiting for data reception means waiting for data transmission in a state where data can be received.
[0018]
According to such a communication system, the data receiving apparatus starts waiting before the multicast group subscriber inquiry time. Then, the data relay device inquires at the multicast group subscriber inquiry time whether there is a data receiving device that desires to receive data. At this time, the data receiving apparatus that has started standby requests to join the multicast group. Therefore, the data relay device can start relaying data to the multicast group by determining that there is a data receiving device that desires to receive data.
[0019]
In addition, the data receiving apparatus finishes waiting until the multicast group leaver inquiry time. Then, the data relay device inquires at the multicast group leaver inquiry time whether there is a data receiving device that desires to receive data. At this time, if all the data receiving apparatuses have finished waiting, there is no response. Therefore, the data relay apparatus can determine that there is no data reception apparatus that desires to receive data, and can end the relay of data to the multicast group.
[0020]
In this way, each data receiving device does not individually request to join or leave the multicast group, and the data relay device performs processing for the joining or leaving request that each data receiving device individually makes. There is no need to do. Therefore, the communication system can reduce the amount of communication associated with joining and leaving, and can reduce the load on the data relay device.
[0021]
In addition, the data receiving apparatus according to the present invention starts communication reception waiting for multicast transmission data by the multicast group subscriber inquiry time and finishes data reception standby by the multicast group leaver inquiry time. Means are provided. According to such a data receiving device, each data receiving device does not individually request to join or leave the multicast group, and the data relay device can join each data receiving device individually. There is no need to process a request for withdrawal or withdrawal. As a result, the data receiving apparatus can reduce the amount of communication associated with joining and leaving, and can reduce the load on the data relay apparatus.
[0022]
Further, the data receiving apparatus determines a standby start time for starting standby based on the multicast group subscriber inquiry time, and determines a standby end time for ending standby based on the multicast group leaver inquiry time The communication means preferably starts waiting at the standby start time determined by the determining means, and ends the standby at the standby end time determined by the determining means. According to this, the data receiving device can determine an appropriate standby start time and standby end time based on the multicast group subscriber inquiry time and multicast group leaver inquiry time, and at the determined standby start time and standby end time. Based on this, standby can be started and ended.
[0023]
The data relay apparatus according to the present invention comprises inquiry means for inquiring whether there is a data receiving apparatus that desires to receive data transmitted by multicast at a multicast group subscriber inquiry time and a multicast group leaver inquiry time. To do. According to such a data relay apparatus, it is not necessary to perform processing for a request for joining or leaving individually performed by each data receiving apparatus. As a result, the data relay device can reduce the amount of communication associated with joining and leaving, and the load on the data relay device can be reduced.
[0024]
The management device and the data transmission device according to the present invention are configured to receive multicast session information including a multicast group subscriber inquiry time and a multicast group leaver inquiry time, a data reception device that receives data transmitted by multicast, or a data relay that relays data. Provided with providing means for providing to the apparatus. According to such a management apparatus and data transmission apparatus, it is possible to notify the data reception apparatus and data relay apparatus of the multicast group subscriber inquiry time and the multicast group leaver inquiry time. Therefore, the data receiving device and the data relay device can perform processing related to joining and leaving such as start and end of standby and inquiry based on the notified multicast group subscriber inquiry time and multicast group leaver inquiry time. . Therefore, the management device and the data transmission device can contribute to a reduction in the amount of communication associated with joining and leaving and a reduction in the load on the data relay device.
[0025]
Furthermore, the management device and the data transmission device include setting means for setting the multicast group subscriber inquiry time and the multicast group leaver inquiry time, and the providing means includes the multicast group subscriber inquiry time and the multicast group leave set by the setting means. It is preferable to provide multicast session information including the person inquiry time. According to this, the management apparatus and the data transmission apparatus can set the multicast group subscriber inquiry time and the multicast group leaver inquiry time, and the set multicast group subscriber inquiry time and the multicast group leaver inquiry time are set as the data reception apparatus. And can be provided to data relay devices.
[0026]
In the communication method according to the present invention, the data receiving device starts waiting for data to be transmitted by multicast before the multicast group subscriber inquiry time, and finishes waiting for data reception by the multicast group leaver inquiry time. The data relay device inquires at the multicast group subscriber inquiry time and the multicast group leaver inquiry time whether there is a data reception device that desires to receive data.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0028]
[Communications system]
As shown in FIG. 1, the communication system 10 includes a multicast
[0029]
The communication system 10 performs IP multicast transmission. The
[0030]
The multicast
[0031]
The data relay
[0032]
The types of the networks 50a and 50b are not particularly limited. For example, the Internet, a wireless communication network, a mobile communication network, a dedicated line network, a virtual private network (VPN), an ATM (Asynchronous Transfer Mode) network, an ADSL (ADSL) An Asymmetric Digital Subscriber Line (CATV) network, a CATV (Cable Television) network, an optical fiber network, an ISDN (Integrated Services Digital Network), or the like can be used.
[0033]
〔client〕
As shown in FIG. 2, the
[0034]
The
[0035]
The
[0036]
The
[0037]
In addition, when acquiring the multicast session information provided in the pull type, the
[0038]
The multicast session information 70 is configured as shown in FIG. 3, for example. The multicast session information 70 includes a session ID that is an identifier for uniquely identifying multicast session information, a multicast address, a data transmission source address that is an address of the
[0039]
In addition, the multicast session information 70 can include information such as the name of the data to be transmitted by multicast, the media type, and a brief description of the data. The multicast session information 70 can be described using, for example, a description format according to SDP. In this case, the multicast session information 70 describes the multicast group subscriber inquiry time and the multicast group leaver inquiry time by expanding the SDP.
[0040]
As an example, FIG. 4 shows a state in which the
[0041]
The
[0042]
The
[0043]
Specifically, the
[0044]
The
[0045]
(When joining)
When the
[0046]
The
[0047]
When the multicast group subscriber inquiry time is expressed as a relative time, the
[0048]
In addition, it is preferable that the
[0049]
The
[0050]
When the
[0051]
FIG. 5 shows a state in which the
[0052]
If the
[0053]
When the
[0054]
At this time, the
[0055]
FIG. 6 shows a state where only the client 40c transmits an IGMP Membership Report to the
[0056]
In this way, when receiving data whose data transmission start time is determined, the
[0057]
(When leaving)
The
[0058]
The
[0059]
If the current time has passed the multicast group leaver inquiry time, the
[0060]
Further, the
[0061]
On the other hand, if the current time is before the multicast group leaver inquiry time, the
[0062]
When the multicast group leaver inquiry time is expressed as a relative time, the
[0063]
In addition, it is preferable that the
[0064]
As described above, the
[0065]
When the
[0066]
FIG. 7 shows a state in which the
[0067]
In this way, the
[0068]
[Access router]
As shown in FIG. 8, the
[0069]
The
[0070]
The
[0071]
The
[0072]
In addition, when acquiring the multicast session information provided in the pull type, the
[0073]
In addition, as shown in FIG. 4, in the process in which the
[0074]
The
[0075]
Note that the
[0076]
The
[0077]
Hereinafter, the operation of the
[0078]
(When joining)
The
[0079]
When the simultaneous subscription inquiry transmission timer expires, the
[0080]
Specifically, the
[0081]
FIG. 9 shows a state in which the
[0082]
At this time, as indicated by solid arrows, only the
[0083]
The
[0084]
As a multicast routing protocol between the plurality of data relay
[0085]
As a result, the data addressed to the multicast group transmitted by multicast from the
[0086]
(When leaving)
The
[0087]
When the simultaneous subscription inquiry transmission timer expires, the
[0088]
Specifically, the
[0089]
When all the
[0090]
FIG. 10 shows a state in which the
[0091]
At this time, since all the
[0092]
Even if the
[0093]
Specifically, the
[0094]
On the other hand, when there is a client who desires to receive data addressed to the multicast group, the client transmits an IGMP Membership Report in response to the IGMP Group-Specific Membership Query. When acquiring the IGMP Membership Report, the
[0095]
Since the
[0096]
[Multicast session management device]
As shown in FIG. 11, the multicast
[0097]
The
[0098]
The
[0099]
When the acquired multicast session information does not include the multicast group subscriber inquiry time and the multicast group leaver inquiry time, the
[0100]
Specifically, the
[0101]
In addition, the
[0102]
When the data transmission start time and the data transmission end time are represented by relative times, the
[0103]
When the
[0104]
In this way, the
[0105]
When the data transmission start time, the data transmission end time, the multicast group subscriber inquiry time, and the multicast group leaver inquiry time are expressed as relative times, the
[0106]
The providing
[0107]
The providing
[0108]
Also, the providing
[0109]
[Data transmitter]
As illustrated in FIG. 12, the
[0110]
The
[0111]
The
[0112]
The generating
[0113]
In addition, when generating the multicast session information including the multicast group subscriber inquiry time and the multicast group leaver inquiry time, the
[0114]
Then, the
[0115]
The
[0116]
The providing
[0117]
The providing
[0118]
The providing
[0119]
The providing
[0120]
Also, the providing
[0121]
[Communication method]
A communication method using the communication system 10 will be described separately for a procedure performed by the
[0122]
[Client procedure]
(When joining)
A procedure of the
[0123]
In step (S2), when the
[0124]
The
[0125]
When the
[0126]
On the other hand, in step (S5), when the multicast group subscriber inquiry time is not included, the
[0127]
(When leaving)
The procedure of the
[0128]
In step (S12), when the
[0129]
The
[0130]
In step (S16), when the current time has not passed the multicast group leaver inquiry time, or after step (S18), the
[0131]
On the other hand, when the multicast group leaver inquiry time is not included in step (S15), the
[0132]
[Access Router Procedure]
The
[0133]
If the
[0134]
[effect]
According to the communication system 10, the
[0135]
In addition, the
[0136]
In this way, each
[0137]
Further, the
[0138]
Also, according to the multicast
[0139]
Further, the
[0140]
Further, the
[0141]
[Example of change]
The present invention is not limited to the above embodiment, and various modifications can be made. In the above embodiment, the
[0142]
Further, the
[0143]
Further, both the generating
[0144]
Also, the
[0145]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a communication system, a data reception device, a data relay device, a management device, a data transmission device, and a communication method that can reduce the communication amount and load associated with joining and leaving a multicast group. can do.
[Brief description of the drawings]
FIG. 1 is a diagram showing a communication system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a client according to the embodiment of the present invention.
FIG. 3 is a diagram showing multicast session information according to the embodiment of the present invention.
FIG. 4 is a diagram illustrating a manner in which a client according to an embodiment of the present invention acquires multicast session information.
FIG. 5 is a diagram showing a state in which a client according to an embodiment of the present invention is waiting for reception of data to be transmitted by multicast.
FIG. 6 is a diagram showing a state in which a client according to an embodiment of the present invention transmits an IGMP Membership Report.
FIG. 7 is a diagram illustrating a state in which a client according to an embodiment of the present invention has finished waiting for reception of data to be transmitted by multicast.
FIG. 8 is a block diagram showing a configuration of an access router according to the embodiment of the present invention.
FIG. 9 is a diagram showing a state in which an access router transmits an IGMP Group-Specific Membership Query at the multicast group subscriber inquiry time according to the embodiment of the present invention.
FIG. 10 is a diagram showing a state in which an access router transmits an IGMP Group-Specific Membership Query at a multicast group leaver inquiry time according to an embodiment of the present invention.
FIG. 11 is a block diagram showing a configuration of a multicast session management apparatus according to an embodiment of the present invention.
FIG. 12 is a block diagram showing a configuration of a data transmission apparatus according to an embodiment of the present invention.
FIG. 13 is a flowchart showing a procedure of a client at the time of subscription according to the embodiment of the present invention.
FIG. 14 is a flowchart showing a procedure of the client at the time of withdrawal according to the embodiment of the present invention.
FIG. 15 is a flowchart showing a procedure of the access router according to the embodiment of the present invention.
[Explanation of symbols]
10 Communication system
20 Multicast session management device
21, 31, 41, 61 Communication unit
22, 32, 42, 62 Multicast session information database
23, 63 generator
24, 64 providing department
30 Data relay device
30a access router
33, 43 Information creation section
34,44 timer
40a-40d client
50a, 50b network
60 Data transmitter
65 Multicast information database
Claims (9)
前記マルチキャストグループ加入者問い合わせ時刻及び前記マルチキャストグループ離脱者問い合わせ時刻に、前記データの受信を望む前記データ受信装置が存在するかについて問い合わせるデータ中継装置と
を備えることを特徴とする通信システム。A data reception device that starts reception of data to be transmitted by multicast by the multicast group subscriber inquiry time and ends reception of the data by multicast group leaver inquiry time;
And a data relay device that inquires at the multicast group subscriber inquiry time and the multicast group leaver inquiry time whether there is the data receiving device that desires to receive the data.
前記通信手段は、前記決定手段が決定した待ち受け開始時刻に前記待ち受けを開始し、前記決定手段が決定した待ち受け終了時刻に前記待ち受けを終了することを特徴とする請求項2に記載のデータ受信装置。Determining a standby start time for starting the standby based on the multicast group subscriber inquiry time; determining a standby end time for ending the standby based on the multicast group leaver inquiry time;
3. The data receiving apparatus according to claim 2, wherein the communication unit starts the standby at a standby start time determined by the determination unit, and ends the standby at a standby end time determined by the determination unit. .
前記提供手段は、前記設定手段が設定したマルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を提供することを特徴とする請求項5に記載の管理装置。Setting means for setting the multicast group subscriber inquiry time and the multicast group leaver inquiry time;
6. The management apparatus according to claim 5, wherein the providing means provides multicast session information including a multicast group subscriber inquiry time and a multicast group leaver inquiry time set by the setting means.
前記提供手段は、前記設定手段が設定したマルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を提供することを特徴とする請求項7に記載のデータ送信装置。Setting means for setting the multicast group subscriber inquiry time and the multicast group leaver inquiry time;
8. The data transmission apparatus according to claim 7, wherein the providing means provides multicast session information including a multicast group subscriber inquiry time and a multicast group leaver inquiry time set by the setting means.
データ中継装置が、前記マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻に、前記データの受信を望むデータ受信装置が存在するかについて問い合わせることを特徴とする通信方法。The data reception device starts waiting for reception of data transmitted by multicast before the multicast group subscriber inquiry time, and finishes waiting for reception of the data by the multicast group leaver inquiry time,
A communication method, wherein a data relay apparatus inquires at a multicast group subscriber inquiry time and a multicast group leaver inquiry time whether there is a data reception apparatus that desires to receive the data.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003098380A JP4199036B2 (en) | 2003-04-01 | 2003-04-01 | COMMUNICATION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, MANAGEMENT DEVICE, DATA TRANSMISSION DEVICE, AND COMMUNICATION METHOD |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003098380A JP4199036B2 (en) | 2003-04-01 | 2003-04-01 | COMMUNICATION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, MANAGEMENT DEVICE, DATA TRANSMISSION DEVICE, AND COMMUNICATION METHOD |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004304745A JP2004304745A (en) | 2004-10-28 |
| JP4199036B2 true JP4199036B2 (en) | 2008-12-17 |
Family
ID=33409922
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003098380A Expired - Fee Related JP4199036B2 (en) | 2003-04-01 | 2003-04-01 | COMMUNICATION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, MANAGEMENT DEVICE, DATA TRANSMISSION DEVICE, AND COMMUNICATION METHOD |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4199036B2 (en) |
-
2003
- 2003-04-01 JP JP2003098380A patent/JP4199036B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004304745A (en) | 2004-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1665221B (en) | Multicast delivery control apparatus and method | |
| JP5026617B2 (en) | Method and apparatus for multicast tree management in a multi-hop relay communication system | |
| JP4328283B2 (en) | Packet delivery control method | |
| US8185657B2 (en) | Data generating device | |
| KR100632185B1 (en) | Home gateway system for proffering function of matching of optical communication packet data and method for proffering broadcast service in home as the same | |
| EP1865661B1 (en) | A method of fast-multicast and a system thereof | |
| US20030120917A1 (en) | Application layer multicast system and intermediate node therefor | |
| JP2004531143A (en) | Virtual multicast network method and system thereof | |
| TW200904063A (en) | Multicast distribution tree establishment and maintenance in a wireless multi-hop relay communication system | |
| US7715388B2 (en) | Multicast system, communication apparatus, and multicast method for connection setup before multicasting | |
| TW200803311A (en) | Method and system for communication | |
| US7564817B2 (en) | Multicast communication method, home agent, and mobile node | |
| JP4199036B2 (en) | COMMUNICATION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, MANAGEMENT DEVICE, DATA TRANSMISSION DEVICE, AND COMMUNICATION METHOD | |
| KR100453221B1 (en) | Method and system transmitting group cast by using unicast network | |
| JP4800916B2 (en) | Data relay device | |
| JP2017183876A (en) | Multicast control server and multicast control system | |
| JP4549782B2 (en) | Multicast control method, multicast control apparatus, and program | |
| JP4355004B2 (en) | Multicast data communication system and method | |
| JP2006262350A (en) | Data transmission system and data transmission control method | |
| JP2004056584A (en) | Routing device in multicast communication system, routing method and program | |
| JP4624283B2 (en) | Relay client device, relay server device, and stream distribution system | |
| JP2005033555A (en) | Multicast communication system and router | |
| JP2003249940A (en) | Network system, multicast communication method, node, multicast communication method of node, program, and recording medium | |
| JPH09205433A (en) | Multicast communication method and system | |
| KR20140124412A (en) | SYSTEM FOR CHATTING SERVICE USING EMBMS AND CONTROL METHOD FOR USER EQUIPMENT, eBM-SC AND SERVICE PROVIDER SERVER OF THE SYSTEM FOR CHATTING SERVICE USING EMBMS |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060403 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080205 |
|
| 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: 20080916 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081002 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121010 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131010 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |