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
JP4199036B2 - COMMUNICATION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, MANAGEMENT DEVICE, DATA TRANSMISSION DEVICE, AND COMMUNICATION METHOD - Google Patents
[go: Go Back, main page]

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 PDF

Info

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
Application number
JP2003098380A
Other languages
Japanese (ja)
Other versions
JP2004304745A (en
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2003098380A priority Critical patent/JP4199036B2/en
Publication of JP2004304745A publication Critical patent/JP2004304745A/en
Application granted granted Critical
Publication of JP4199036B2 publication Critical patent/JP4199036B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 session management device 20, a plurality of data relay devices 30, an access router 30a, a plurality of clients 40a to 40d, networks 50a and 50b, and a data transmission device 60. With. The multicast session management device 20, the data relay device 30, the access router 30a, the clients 40a to 40d, and the data transmission device 60 are configured by a computer having hardware resources such as a CPU, a ROM, and a RAM.
[0029]
The communication system 10 performs IP multicast transmission. The clients 40a to 40d are data receiving devices that receive data transmitted by multicast. The clients 40a to 40d are connected to the access router 30a via the network 50b, and exist under the access router 30a. The data relay device 30 relays data multicast-transmitted from the data transmission device 60 to the clients 40a to 40d. The access router 30a is also a data relay device. A data relay apparatus connected to the clients 40a to 40d via the network 50b is particularly called an access router 30a. The clients 40a to 40d and the access router 30a use a multicast group management protocol in order to manage a multicast group in IP multicast transmission. In this embodiment, the clients 40a to 40d and the access router 30a use IGMP as a multicast group management protocol.
[0030]
The multicast session management device 20 is a management device that holds multicast session information and provides the multicast session information to the clients 40a to 40d, the data relay device 30, and the access router 30a. The multicast session information is information related to data transmitted by multicast. The data transmission device 60 multicasts data to the clients 40a to 40d.
[0031]
The data relay device 30, the access router 30a, the multicast session management device 20, and the data transmission device 60 are connected to the network 50a. The network 50a is configured by connecting a plurality of data relay devices 30 and an access router 30a to each other. The clients 40a to 40d and the access router 30a are connected to the network 50b. The network 50b is a network to which the clients 40a to 40d are connected.
[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 client 40 a includes a communication unit 41, a multicast session information database 42, an information creation unit 43, and a timer 44. The clients 40b to 40d have the same configuration as the client 40a shown in FIG.
[0034]
The communication unit 41 is a communication unit that starts waiting for reception of data transmitted by multicast before the multicast group subscriber inquiry time and finishes waiting for reception of data before the multicast group leaver inquiry time. The communication unit 41 receives multicast session information provided by the multicast session management device 20 and the data transmission device 60. The communication unit 41 transmits a request for multicast session information to the multicast session management device 20 and the data transmission device 60. The communication unit 41 receives an inquiry from the access router 30a as to whether there is a client that desires to receive data. The communication unit 41 transmits a request for joining or leaving the multicast group to the access router 30a. In addition, the communication unit 41 receives data that the data transmission device 60 performs multicast transmission.
[0035]
The communication unit 41 starts and ends standby in accordance with instructions from the information creation unit 43. The communication unit 41 transmits a request for joining or leaving in accordance with an instruction from the information creating unit 43. The communication unit 41 inputs the received multicast session information and an inquiry from the access router 30 a to the information creation unit 43.
[0036]
The information creation unit 43 is an acquisition unit that acquires multicast session information. The information creation unit 43 acquires multicast session information from the multicast session management device 20 and the data transmission device 60 via the communication unit 41. The information creation unit 43 can acquire multicast session information provided in a pull type using, for example, HTTP (Hyper Text Transfer Protocol). In addition, the information creation unit 43 may acquire multicast session information provided in a push type using SAP (Session Announce Protocol) or electronic mail. SAP is a protocol for transmitting multicast session information described according to SDP (Session Description Protocol) or the like to a multicast address. Therefore, the clients 40a to 40d can acquire multicast session information using SAP by joining a multicast group to which a multicast address is assigned.
[0037]
In addition, when acquiring the multicast session information provided in the pull type, the information creating unit 43 acquires the multicast session information based on an instruction from the application or an instruction input by the user operating the client 40a. Start. The information creation unit 43 requests multicast session information from the multicast session management device 20 and the data transmission device 60 via the communication unit 41. Specifically, the information creation unit 43 generates a request for multicast session information and inputs it to the communication unit 41.
[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 data transmission device 60 that multicasts data, an application port number, and data transmission start Time, data transmission end time, multicast group subscriber inquiry time, multicast group leaver inquiry time are included. The data transmission start time, data transmission end time, multicast group subscriber inquiry time, and multicast group leaver inquiry time are, for example, absolute times represented in hours, minutes, and seconds, such as “9:58:58” A relative time (hereinafter referred to as “relative time”) represented by a difference from the current time such as “after 580 seconds” (hereinafter referred to as “absolute time”) can be used.
[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 clients 40a to 40d acquire multicast session information described using SDP provided by the multicast session management apparatus 20 using SAP. As indicated by arrows in FIG. 4, the multicast session management device 20 provides multicast session information, and the data relay device 30 relays to the access router 30a. Then, the access router 30a transmits the multicast session information to the clients 40a to 40d, and the clients 40a to 40d acquire the multicast session information.
[0041]
The information creation unit 43 stores the acquired multicast session information in the multicast session information database 42. The multicast session information database 42 is a holding unit that holds multicast session information. The multicast session information database 42 can hold a plurality of multicast session information. The information creating unit 43 repeatedly acquires multicast session information and acquires a plurality of multicast session information. Then, the information creation unit 43 stores the acquired plurality of multicast session information in the multicast session database 42 and constructs a multicast session information database 42 that holds the plurality of multicast session information.
[0042]
The information creation unit 43 sets the absolute time in the client 40a when the acquired data transmission start time, data transmission end time, multicast group subscriber inquiry time, and multicast group leaver inquiry time are expressed as relative times. After the change, it is stored in the multicast session information database 42.
[0043]
Specifically, the information creation unit 43 determines the time elapsed until the multicast session information arrives at the client 40a from the multicast session management device 20 or the data transmission device 60 that transmitted the multicast session information (hereinafter referred to as multicast session information). However, the time elapsed from arrival of the multicast session information to the destination of the multicast session information is referred to as “elapsed time”), and is subtracted from the multicast group subscriber inquiry time expressed in relative time. The multicast group subscriber inquiry time represented by the relative time is corrected. The information creation unit 43 acquires the current time from the timer 44. Then, the information creating unit 43 adds the corrected relative time obtained by subtracting the elapsed time in the client 40a to the current time to obtain the absolute time. The information creation unit 43 changes the data transmission start time, data transmission end time, multicast group subscriber inquiry time, and multicast group leaver inquiry time of the acquired multicast session information to the obtained absolute time and stores it. The timer 44 measures time and provides the current time. As the elapsed time in the client 40a, the information creating unit 43, for example, RTT (Round Trip Time) between the multicast session management device 20 or the data transmission device 60 that is the transmission source of the multicast session information and the client 40a that is the transmission destination. ) Can be measured and used. The RTT can be considered as an approximate time required for transmitting and receiving information between devices.
[0044]
The information creation unit 43 also functions as a control unit that controls the start and end of reception of data transmitted by multicast performed by the communication unit 41. In addition, the information creation unit 43 requests the access router 30a to join or leave via the communication unit 41. Hereinafter, the operation of the information creation unit 43 will be described separately for the operation when the clients 40a to 40d join the multicast group and the operation when the client 40a to 40d leaves the multicast group.
[0045]
(When joining)
When the information creation unit 43 receives an instruction to start receiving data transmitted to the multicast group from an application or a user input for operating the client 40a, the information creation unit 43 corresponds to the instruction in the multicast session information database 42. Search for multicast session information. At this time, if the corresponding multicast session information does not exist in the multicast session information database 42, the information creation unit 43 requests the multicast session information from the multicast session management device 20 or the data transmission device 60, and Get session information.
[0046]
The information creation unit 43 determines the standby start time based on the multicast group subscriber inquiry time included in the multicast session information corresponding to the instruction. The information creation unit 43 determines a time before the multicast group subscriber inquiry time as a standby start time. The information creation unit 43 determines the time at which the communication unit 41 can be in a data reception standby state by the multicast group subscriber inquiry time as the standby start time. Specifically, the information creation unit 43 determines the standby start time from the multicast group subscriber inquiry time more than the time necessary for the operation for the communication unit 41 to enter the standby state. For example, when 10 milliseconds is required for the operation for the communication unit 41 to enter the standby state, the information creation unit 43 determines the standby start time at least 10 milliseconds before the multicast group subscriber inquiry time.
[0047]
When the multicast group subscriber inquiry time is expressed as a relative time, the information creation unit 43 subtracts the elapsed time in the client 40a from the multicast group subscriber inquiry time expressed as the relative time, so that the multicast group subscriber Correct the inquiry time. And it is preferable that the information preparation part 43 determines standby start time based on the multicast group subscriber inquiry time after correction. Specifically, the information creation unit 43 causes the communication unit 41 to enter the standby state from the multicast group subscriber inquiry time represented by the relative time after the subtraction of the elapsed time in the client 40a as the standby start time. Determine more than the time required for the operation. For example, if the communication unit 41 requires 10 milliseconds for the operation to enter the standby state, and the elapsed time in the client 40a is 50 milliseconds, the information creation unit 43 sets the standby start time to 50 milliseconds. It is determined 10 milliseconds or more before the multicast group subscriber inquiry time represented by the subtracted relative time.
[0048]
In addition, it is preferable that the information creation unit 43 determines the standby start time from the multicast group subscriber inquiry time at least twice to 100 times the time required for the operation for entering the standby state. According to this, when the clients 40a to 40d and the access router 30a are synchronized and the information creation unit 43 uses the multicast group subscriber inquiry time represented by the absolute time, there is a slight difference between the two times. Even if this occurs, the communication unit 41 can start waiting by the multicast group subscriber inquiry time. Further, when the information creation unit 43 uses the multicast group subscriber inquiry time represented by the relative time, the correction using the elapsed time can be omitted. Further, even when the information creation unit 43 performs correction using the elapsed time, it is not necessary to strictly grasp the elapsed time. Note that the standby start time may be expressed in either absolute time or relative time.
[0049]
The information creation unit 43 sets the timer 44 so as to expire at the determined standby start time. The information creation unit 43 sets the timer 44 in association with the session ID of the multicast session information corresponding to the instruction. Thereby, the information preparation part 43 can grasp | ascertain based on which multicast session information the timer 44 was set.
[0050]
When the timer 44 expires, the information creation unit 43 refers to the multicast session information database 42 based on the associated session ID, and acquires multicast session information corresponding to the session ID. Based on the acquired multicast session information, the information creation unit 43 instructs the communication unit 41 to start waiting for reception of data addressed to the multicast group. Specifically, the information creation unit 43 is activated to receive data addressed to the multicast address, and instructs the communication unit 41 to open the port having the port number included in the multicast session information. The communication unit 41 is activated so as to be able to receive data addressed to the multicast address in accordance with an instruction from the information creation unit 43, and opens the port so that data can be received. In this way, the communication unit 41 starts waiting. However, at this time, the information creation unit 43 does not request to join a multicast group that transmits an IGMP Membership Report, as in a normal operation according to IGMP.
[0051]
FIG. 5 shows a state in which the clients 40a, 40c, and 40d are waiting to receive data to be transmitted by multicast. Circles surrounding the clients 40a, 40c, and 40d in FIG. 5 indicate that they are in a standby state. As shown in FIG. 5, clients 40a, 40c, and 40d that desire to receive data transmitted by multicast have started waiting and are in a waiting state. Moreover, at this time, the clients 40a, 40c, and 40d do not transmit the IGMP Membership Report. The client 40b that does not want to receive data has not started waiting.
[0052]
If the communication unit 41 has started standby, the communication unit 41 can receive an IGMP Group-Specific Membership Query addressed to the multicast address that is waiting. Therefore, after the communication unit 41 starts waiting, the information creation unit 43 has a client who desires to receive multicast transmitted data called IGMP Group-Specific Membership Query from the access router 30a via the communication unit 41. Get an inquiry about what to do. The IGMP Group-Specific Membership Query is a query (IGMP Membership Query) destined for a multicast address. When the information creating unit 43 acquires the IGMP Group-Specific Membership Query, the information creating unit 43 sets the timer 44 so that it expires by sending an IGMP Membership Report and requesting to join the multicast group.
[0053]
When the timer 44 expires, the information creation unit 43 transmits an IGMP Membership Report to the access router 30a via the communication unit 41 and requests to join the multicast group. Specifically, the information creation unit 43 generates an IGMP Membership Report, inputs it to the communication unit 41, and instructs the access router 30a to transmit it.
[0054]
At this time, the clients 40a, 40c, and 40d, which have started waiting and have received the IGMP Group-Specific Membership Query, set the timer 44 based on an arbitrary time as a request time for joining. Each client 40a, 40c, 40d also transmits an IGMP Membership Report to other clients than itself. Therefore, the communication unit 41 inputs the received IGMP Membership Report to the information creating unit 43 when receiving the IGMP Membership Report transmitted from another client before transmitting the IGMP Membership Report. The information creation unit 43 stops the timer 44 when acquiring an IGMP Membership Report from another client. And the information preparation part 43 does not request | require the joining to the multicast group which transmits IGMP Membership Report to the access router 30a.
[0055]
FIG. 6 shows a state where only the client 40c transmits an IGMP Membership Report to the access router 30a and requests to join a multicast group. In FIG. 6, the timer 44 of the client 40c expires first, and the client 40c sends an IGMP Membership Report to the access router 30a as shown by the arrow in FIG. 6 to request to join the multicast group. The clients 40a and 40d receive the IGMP Membership Report transmitted by the client 40c, thereby confirming that the IGMP Membership Report has been transmitted to the access router 30a. Then, the clients 40a and 40d stop the timer 44 and do not transmit the IGMP Membership Report to the access router 30a.
[0056]
In this way, when receiving data whose data transmission start time is determined, the clients 40a to 40d join the multicast group by the data transmission start time. Clients 40a, 40c, and 40d that have joined the multicast group can receive data transmitted from the data transmission device 60 in a multicast address to the multicast address. In addition, when the access router 30a grasps that at least one client desires to receive data transmitted by multicast, the access router 30a transmits data addressed to the multicast group to the client. Therefore, the request for joining the multicast group may be made by at least one client as described above.
[0057]
(When leaving)
The information creation unit 43 receives an instruction to end reception of data transmitted to the multicast group from an application or a user input for operating the client 40a, or when reception of data is completed. The multicast session information database 42 is searched for multicast session information corresponding to the data for which the instruction or reception has been completed. At this time, if the corresponding multicast session information does not exist in the multicast session information database 42, the information creation unit 43 requests the multicast session information from the multicast session management device 20 or the data transmission device 60, and Get session information.
[0058]
The information creation unit 43 refers to the multicast group leaver inquiry time included in the corresponding multicast session information. Then, the information creation unit 43 determines whether or not the current time has passed the multicast group leaver inquiry time. When the multicast group leaver inquiry time is expressed in absolute time, the information creation unit 43 acquires the current time from the timer 44 and compares the current time with the multicast group leaver inquiry time expressed in absolute time. Judge. When the multicast group leaver inquiry time is expressed as a relative time, the information creation unit 43 subtracts the elapsed time at the client 40a from the multicast group leaver inquiry time expressed as a relative time. If the person inquiry time is a negative value, it is determined that the current time has passed the multicast group leaver inquiry time. When the corrected multicast group subscriber inquiry time is 0 or a positive value, the information creation unit 43 determines that the current time is before the multicast group leaver inquiry time.
[0059]
If the current time has passed the multicast group leaver inquiry time, the information creation unit 43 sends an IGMP Leave Group to the access router 30a via the communication unit 41, and requests to leave the multicast group. . Specifically, the information creation unit 43 generates an IGMP Leave Group, inputs it to the communication unit 41, and instructs the access router 30a to transmit it.
[0060]
Further, the information creation unit 43 instructs the communication unit 41 to end the reception of data addressed to the multicast group based on the multicast session information. Specifically, the information creation unit 43 instructs the communication unit 41 to cancel the activated state so that data addressed to the multicast address can be received and to close the port of the port number included in the multicast session information. To do. In accordance with an instruction from the information creation unit 43, the communication unit 41 cancels the activated state so as to receive data addressed to the multicast address, closes the port, and ends the state in which data can be received. In this way, the communication unit 41 ends the standby.
[0061]
On the other hand, if the current time is before the multicast group leaver inquiry time, the information creation unit 43 determines the standby end time. The information creation unit 43 determines the standby end time based on the multicast group leaver inquiry time included in the multicast session information. The information creation unit 43 determines a time before the multicast group leaver inquiry time as the standby end time. The information creation unit 43 determines the time at which the communication unit 41 can cancel the standby state for data reception and end the standby by the standby end time by the multicast group leaver inquiry time. Specifically, the information creation unit 43 determines the standby end time before the time necessary for the operation of the communication unit 41 to release the standby state from the multicast group leaver inquiry time. For example, if the communication unit 41 needs 10 milliseconds for the operation to release the standby state, the information creation unit 43 determines the standby end time at least 10 milliseconds before the multicast group leaver inquiry time. .
[0062]
When the multicast group leaver inquiry time is expressed as a relative time, the information creation unit 43 subtracts the elapsed time in the client 40a from the multicast group leaver inquiry time expressed as the relative time, thereby inquiring the multicast group leaver inquiry. Correct the time. And it is preferable that the information preparation part 43 determines standby end time based on the multicast group leaving person inquiry time after correction. Specifically, in the information creation unit 43, the communication unit 41 releases the standby state from the multicast group leaver inquiry time represented by the corrected relative time obtained by subtracting the elapsed time in the client 40 a from the standby end time. To be determined more than the time required for the operation. For example, if the communication unit 41 requires 10 milliseconds for the operation to release the standby state, and the elapsed time in the client 40a is 50 milliseconds, the information creation unit 43 sets the standby end time to 50 milliseconds. It is determined 10 milliseconds or more before the multicast group leaver inquiry time represented by the relative time obtained by subtracting.
[0063]
In addition, it is preferable that the information creation unit 43 determines the standby end time from the multicast group leaver inquiry time at least twice to 100 times the time required for the operation for releasing the standby state. According to this, when the clients 40a to 40d and the access router 30a are synchronized, and the information creation unit 43 uses the multicast group leaver inquiry time represented by the absolute time, there is a slight difference between the two times. Even if the communication unit 41 occurs, the communication unit 41 can finish waiting until the multicast group leaver inquiry time. Further, when the information creating unit 43 uses the multicast group leaver inquiry time represented by the relative time, the correction using the elapsed time can be omitted. Further, even when the information creation unit 43 performs correction using the elapsed time, it is not necessary to strictly grasp the elapsed time. Note that the standby end time may be represented by either an absolute time or a relative time.
[0064]
As described above, the information creation unit 43 determines a standby start time for starting standby based on the multicast group subscriber inquiry time, and ends standby for ending standby based on the multicast group leaver inquiry time. It functions as a determination means for determining the time. The information creation unit 43 sets the timer 44 so as to expire at the determined standby end time. The information creation unit 43 sets the timer 44 in association with the session ID of the corresponding multicast session information.
[0065]
When the timer 44 expires, the information creation unit 43 refers to the multicast session information database 42 based on the associated session ID, and acquires multicast session information corresponding to the session ID. Based on the acquired multicast session information, the information creation unit 43 instructs the communication unit 41 to finish waiting for reception of data addressed to the multicast group. In accordance with an instruction from the information creation unit 43, the communication unit 41 cancels the activated state so as to receive data addressed to the multicast address, closes the port, and ends the state in which data can be received. In this way, the communication unit 41 ends the standby. However, the information creation unit 43 does not make a request for leaving the multicast group that transmits the IGMP Leave Group. In this way, the client 40a can finish receiving data addressed to the multicast group.
[0066]
FIG. 7 shows a state in which the clients 40a, 40c, and 40d have finished waiting for reception of data transmitted by multicast. In FIG. 7, the circles surrounding the clients 40a, 40c, and 40d in FIG. 5 are deleted, indicating that the standby state has ended. As shown in FIG. 7, the clients 40a, 40c, and 40d desiring to end the reception of the data transmitted by multicast terminate the standby at the determined standby end time before the multicast group leaver inquiry time, and wait for the standby. The state is released. Moreover, the clients 40a, 40c, and 40d do not transmit the IGMP Leave Group.
[0067]
In this way, the clients 40a to 40d leave the multicast group after data transmission from the data transmission device 60 is completed or according to an instruction from an application or a user. In addition, as described above, the request for leaving the multicast group is made only when the current time has passed the multicast group leaver inquiry time, and only the client that finally leaves the multicast group sends a request to the access router 30a. Just do it. The clients 40a to 40d operate in the same manner as normal operations based on IGMP except for the operations described above.
[0068]
[Access router]
As shown in FIG. 8, the access router 30 a includes a communication unit 31, a multicast session information database 32, an information creation unit 33, and a timer 34. The data relay device 30 also has the same configuration as the access router 30a shown in FIG.
[0069]
The communication unit 31 receives multicast session information provided by the multicast session management device 20 and the data transmission device 60. The communication unit 31 transmits a request for multicast session information to the multicast session management device 20 and the data transmission device 60. The communication unit 31 sends an inquiry to the clients 40a to 40d as to whether there is a client that desires to receive data. The communication unit 31 receives requests for joining or leaving the multicast group from the clients 40a to 40d. The communication unit 31 receives data that the data transmission device 60 performs multicast transmission, transmits the data to the clients 40a to 40d, and relays the data.
[0070]
The communication unit 31 transmits an inquiry to the clients 40a to 40d according to the instruction of the information creation unit 33. The communication unit 41 inputs the received multicast session information and requests for joining and leaving from the clients 40 a to 40 d to the information creating unit 33.
[0071]
The information creation unit 33 is an acquisition unit that acquires multicast session information. The information creation unit 33 acquires multicast session information from the multicast session management device 20 and the data transmission device 60 via the communication unit 31. The information creation unit 33 can acquire multicast session information provided in a pull type using, for example, HTTP. In addition, the information creation unit 33 may acquire multicast session information provided in a push type using SAP or electronic mail.
[0072]
In addition, when acquiring the multicast session information provided in the pull type, the information creating unit 33 starts acquiring the multicast session information based on an instruction from the application. For example, the information creation unit 33 periodically receives an acquisition instruction from an application. The information creation unit 33 requests multicast session information from the multicast session management device 20 and the data transmission device 60 via the communication unit 31. Specifically, the information creation unit 33 generates a request for multicast session information and inputs the request to the communication unit 31.
[0073]
In addition, as shown in FIG. 4, in the process in which the clients 40a to 40d acquire multicast session information described using SDP provided by the multicast session management device 20 using SAP, the multicast session information is accessed. The data is transmitted to the clients 40a to 40d via the router 30a. Therefore, the information creation unit 33 of the access router 30a can acquire the multicast session information when the communication unit 31 of the access router 30a relays the multicast session information to the clients 40a to 40d.
[0074]
The information creation unit 33 stores the acquired multicast session information in the multicast session information database 32. The multicast session information database 32 is a holding unit that holds multicast session information, and can hold a plurality of pieces of multicast session information. The information creating unit 33 repeatedly acquires multicast session information and acquires a plurality of multicast session information. Then, the information creation unit 33 stores the acquired plurality of multicast session information in the multicast session database 32 and constructs a multicast session information database 32 that holds the plurality of multicast session information.
[0075]
Note that the information creation unit 33 determines the absolute time in the access router 30a when the acquired data transmission start time, data transmission end time, multicast group subscriber inquiry time, and multicast group leaver inquiry time are expressed as relative times. And then stored in the multicast session information database 32. Specifically, the information creating unit 33 uses the elapsed time that has elapsed until the multicast session information arrives at the access router 30a from the multicast session management device 20 or the data transmission device 60 that transmitted the multicast session information. The multicast group subscriber inquiry time represented by the relative time is corrected by subtracting from the multicast group subscriber inquiry time represented by. The information creation unit 33 acquires the current time from the timer 34. Then, the information creation unit 33 calculates the absolute time by adding the corrected relative time obtained by subtracting the elapsed time in the access router 30a to the current time. The information creation unit 33 changes the data transmission start time, data transmission end time, multicast group subscriber inquiry time, and multicast group leaver inquiry time of the acquired multicast session information to the obtained absolute time and stores it. The timer 34 measures time and provides the current time. The information creation unit 33 measures, for example, the RTT between the multicast session management device 20 or the data transmission device 60 that is the transmission source of the multicast session information and the access router 30a that is the transmission destination as the elapsed time in the access router 30a. And can be used.
[0076]
The information creation unit 33 also functions as inquiry means for inquiring whether there is a client who wants to receive data transmitted by multicast at the multicast group subscriber inquiry time and the multicast group leaver inquiry time. The information creation unit 33 makes an inquiry to the clients 40 a to 40 d via the communication unit 31.
[0077]
Hereinafter, the operation of the information creation unit 33 will be described separately for the operation when the clients 40a to 40d join the multicast group and the operation when the clients 40a to 40d leave the multicast group.
[0078]
(When joining)
The information creation unit 33 refers to the acquired multicast session information, and sets the timer 34 so that it expires at the multicast group subscriber inquiry time included in the multicast session information. The timer 34 set to expire at the multicast group subscriber inquiry time is specifically referred to as a simultaneous subscription inquiry transmission timer. The information creation unit 33 sets a simultaneous subscription inquiry transmission timer in association with the session ID of the multicast session information. In addition, when the multicast group subscriber inquiry time is expressed as a relative time, the information creation unit 33 subtracts the elapsed time in the access router 30a from the multicast group subscriber inquiry time expressed as the relative time. It is preferable to set the timer 34 so as to expire at the multicast group subscriber inquiry time.
[0079]
When the simultaneous subscription inquiry transmission timer expires, the information creation unit 33 refers to the multicast session information database 32 based on the associated session ID, and acquires multicast session information corresponding to the session ID. Based on the acquired multicast session information, the information creation unit 33 inquires of the clients 40a to 40d whether there is a client that wants to receive data transmitted by multicast.
[0080]
Specifically, the information creation unit 33 transmits an inquiry about whether there is a client who desires to receive data transmitted by multicast called IGMP Group-Specific Membership Query via the communication unit 31. At this time, the information creation unit 33 transmits an IGMP Group-Specific Membership Query to the multicast address included in the acquired multicast session information.
[0081]
FIG. 9 shows a state in which the access router 30a transmits an IGMP Group-Specific Membership Query at the multicast group subscriber inquiry time. The access router 30a transmits an IGMP Group-Specific Membership Query addressed to the multicast address. Therefore, the IGMP Group-Specific Membership Query is transmitted to the clients 40a to 40d included in the multicast group to which the multicast address is assigned, as indicated by the solid and dotted arrows in FIG.
[0082]
At this time, as indicated by solid arrows, only the clients 40a, 40c, and 40d that have started waiting can receive an IGMP Group-Specific Membership Query with the multicast address as the destination. In the client 40b that has not started standby, even if an IGMP Group-Specific Membership Query arrives, as shown by a dotted arrow, the communication unit 41 cannot receive and is ignored.
[0083]
The information creation unit 33 transmits an IGMP Group-Specific Membership Query and inquires whether there is a client that desires to receive data transmitted by multicast transmission. As a result, the information creation unit 33 obtains an IGMP Membership Report from the client via the communication unit 31. And receives a request to join the multicast group. The information creation unit 33 constructs a multicast transmission path called a multicast tree together with the data relay device 30 using a multicast path control protocol in response to a request for subscription.
[0084]
As a multicast routing protocol between the plurality of data relay apparatuses 30 and the access router 30a, for example, 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), etc. can be used.
[0085]
As a result, the data addressed to the multicast group transmitted by multicast from the data transmission device 60 is relayed by the data relay device 30 and arrives at the access router 30a. Then, the communication unit 31 of the access router 30a transmits the arrived data to the network 50b to which the clients 40a to 40d are connected. Then, the clients 40a, 40c, and 40d that have started standby start receiving data addressed to the multicast address group.
[0086]
(When leaving)
The information creation unit 33 acquires multicast session information from the multicast session management device 20 and the data transmission device 60, and sets the timer 34 so that it expires at the multicast group subscriber inquiry time, the multicast included in the multicast session information The timer 34 is also set to expire at the group leaver inquiry time. The timer 34 set to expire at the multicast group leaver inquiry time is specifically referred to as a simultaneous leave inquiry sending timer. The information creation unit 33 sets a simultaneous withdrawal inquiry transmission timer in association with the session ID of the multicast session information. When the multicast group leaver inquiry time is expressed in relative time, the information creation unit 33 subtracts the elapsed time in the access router 30a from the multicast group leaver inquiry time expressed in relative time. It is preferable to set the timer 34 so as to expire at the multicast group leaver inquiry time.
[0087]
When the simultaneous subscription inquiry transmission timer expires, the information creation unit 33 refers to the multicast session information database 32 based on the associated session ID, and acquires multicast session information corresponding to the session ID. Based on the acquired multicast session information, the information creation unit 33 inquires of the clients 40a to 40d whether there is a client that desires to receive data transmitted by multicast.
[0088]
Specifically, the information creation unit 33 transmits an inquiry called IGMP Group-Specific Membership Query via the communication unit 31. The information creation unit 33 transmits an IGMP Group-Specific Membership Query to the multicast address included in the acquired multicast session information. At this time, the information creation unit 33 sets the timer 34 based on the time determined to determine that there is no client that wants to receive data.
[0089]
When all the clients 40a, 40c, 40d that have joined the multicast group have finished waiting for reception of data addressed to the multicast group by the multicast group leaver inquiry time, the access router 30a The client 40a-40d does not receive a response to the transmitted IGMP Group-Specific Membership Query. Here, the response to the IGMP Group-Specific Membership Query is a request for joining a multicast group such as an IGMP Membership Report.
[0090]
FIG. 10 shows a state in which the access router 30a transmits an IGMP Group-Specific Membership Query at the multicast group leaver inquiry time. The access router 30a transmits an IGMP Group-Specific Membership Query addressed to the multicast address. Therefore, the IGMP Group-Specific Membership Query is transmitted to the clients 40a to 40d included in the multicast group to which the multicast address is assigned, as indicated by the dotted arrows in FIG.
[0091]
At this time, since all the clients 40a to 40d have finished waiting, even if the IGMP Group-Specific Membership Query arrives, the communication unit 41 cannot receive and is ignored. Therefore, the IGMP Membership Report for the IGMP Group-Specific Membership Query is not transmitted from the clients 40a to 40d.
[0092]
Even if the timer 34 expires after the time determined to determine that there is no client that wants to receive data after the IGMP Group-Specific Membership Query has been sent, If no response is received from 40a to 40d, it is determined that there is no client that wants to receive data. Then, the information creation unit 33 performs processing for ending transmission of data to the multicast group.
[0093]
Specifically, the information creation unit 33 deletes the multicast transmission route using the multicast route control protocol together with the plurality of data relay devices 30. As a result, transmission of data addressed to the multicast group from the data transmission device 60 to the data relay device 30 and the access router 30a is stopped. Therefore, the clients 40a, 40c, and 40d can finish receiving data addressed to the multicast group.
[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 information creating unit 33 determines that there is still a client that desires to receive data. Then, the information creation unit 33 maintains the multicast transmission path without deleting it. Therefore, data transmission to the multicast group is continued.
[0095]
Since the access router 30a transmits an IGMP Group-Specific Membership Query to the multicast address, it can be delivered to all the clients 40a, 40c, and 40d by transmitting a single packet. The access router 30a operates in the same manner as a normal operation based on IGMP except for the operations described above.
[0096]
[Multicast session management device]
As shown in FIG. 11, the multicast session management device 20 includes a communication unit 21, a multicast session information database 22, a generation unit 23, and a provision unit 24.
[0097]
The communication unit 21 transmits multicast session information to the clients 40a to 40d, the data relay device 30, and the access router 30a. The communication unit 21 receives a request for multicast session information from the clients 40a to 40d, the data relay device 30, and the access router 30a. The communication unit 21 receives multicast session information from the data transmission device 60. The communication unit 21 transmits a request for multicast session information to the data transmission device 60. The communication unit 21 inputs the received request for multicast session information to the providing unit 24. The communication unit 21 inputs the multicast session information received from the data transmission device 60 to the generation unit 23.
[0098]
The generation unit 23 is a generation unit that generates multicast session information. The generation unit 23 acquires multicast session information from the data transmission device 60 via the communication unit 21. The generation unit 23 may periodically acquire the multicast session information from the data transmission device 60, or may request the multicast transmission information from the data transmission device 60 to acquire the multicast session information. When the acquired multicast session information includes the multicast group subscriber inquiry time and the multicast group leaver inquiry time, the generation unit 23 stores the acquired multicast session information in the multicast session information database 22 as it is. . The multicast session information database 22 is a holding unit that holds multicast session information. Alternatively, the generation unit 23 inputs the acquired multicast session information to the provision unit 24.
[0099]
When the acquired multicast session information does not include the multicast group subscriber inquiry time and the multicast group leaver inquiry time, the generation unit 23 sets the multicast group subscriber inquiry time and the multicast group leaver inquiry time. . The generation unit 23 sets the multicast group subscriber inquiry time and the multicast group leaver inquiry time based on the data transmission schedule that the data transmission device 60 performs multicast transmission.
[0100]
Specifically, the generation unit 23 sets the multicast group subscriber inquiry time based on the data transmission start time included in the acquired multicast session information. The generation unit 23 sets the time before the data transmission start time as the multicast group subscriber inquiry time. For example, the generation unit 23 makes an inquiry about whether there is a client that wants to receive data before the data transmission start time, receives a subscription request from the client, constructs a multicast transmission path, The time when multicast transmission can be started is set as the multicast group subscriber inquiry time. In other words, the generation unit 23 sets the multicast group subscriber inquiry time from the data transmission start time to a time more than the time required from the inquiry to the construction of the multicast transmission path.
[0101]
In addition, the generation unit 23 sets the multicast group leaver inquiry time based on the data transmission end time included in the acquired multicast session information. The generation unit 23 sets a time later than the data transmission end time as the multicast group leaver inquiry time. For example, the generation unit 23 sets, as the multicast group leaver inquiry time, a time during which the clients 40a to 40d can finish waiting before the multicast group leaver inquiry time after the data transmission end time. That is, the generation unit 23 sets the multicast group leaver inquiry time after the time required for the operation for the clients 40a to 40d to release the standby state from the data transmission end time.
[0102]
When the data transmission start time and the data transmission end time are represented by relative times, the generation unit 23 receives the multicast session information from the data transmission device 60 from the data transmission start time and the data transmission end time represented by the relative times. The data transmission start time and the data transmission end time are corrected by subtracting the elapsed time elapsed until the arrival at the multicast session management device 20. And it is preferable that the production | generation part 23 sets multicast group subscriber inquiry time and multicast group leaver inquiry time based on the data transmission start time and data transmission end time after correction.
[0103]
When the access router 30a and the clients 40a to 40d are synchronized, the generation unit 23 uses the absolute time or the relative time for the multicast group subscriber inquiry time and the multicast group leaver inquiry time. Can also be set. In addition, since the production | generation part 23 does not need the correction using elapsed time, it is preferable to set using an absolute time. On the other hand, when the access router 30a and the clients 40a to 40d are not synchronized, the generation unit 23 sets the multicast group subscriber inquiry time and the multicast group leaver inquiry time using the relative time.
[0104]
In this way, the generation unit 23 functions as a setting unit that sets the multicast group subscriber inquiry time and the multicast group leaver inquiry time. Then, the generation unit 23 adds the set multicast group subscriber inquiry time and multicast group leaver inquiry time to the multicast session information acquired from the data transmission device 60, and the multicast group subscriber inquiry time and multicast group leaver inquiry Multicast session information including time is generated. The generation unit 23 stores the generated multicast session information in the multicast session information database 22. Alternatively, the generation unit 23 inputs the generated multicast session information to the provision unit 24.
[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 generation unit 23 displays the multicast session information as the multicast session information. When the information is stored in the information database 22, the multicast session information is stored in association with the storage time.
[0106]
The providing unit 24 sends the multicast session information including the multicast group subscriber inquiry time and the multicast group leaver inquiry time to the clients 40a to 40d that receive the multicast-transmitted data or the data relay device 30 or the access router 30a that relays the data. It is a providing means to provide. The providing unit 24 receives multicast session information from the generation unit 23 periodically or when a request for multicast session information is received from the clients 40a to 40d, the data relay device 30, and the access router 30a. Provide multicast session information.
[0107]
The providing unit 24 acquires multicast session information from the multicast session information database 22 or the generation unit 23. The providing unit 24 provides the acquired multicast session information to the clients 40a to 40d, the data relay device 30, and the access router 30a via the communication unit 21. The providing unit 24 may instruct the generating unit 23 to generate multicast session information and receive the multicast session information from the generating unit 23 when receiving the request for multicast session information.
[0108]
Also, the providing unit 24, when the data transmission start time, the data transmission end time, the multicast group subscriber inquiry time, and the multicast group leaver inquiry time acquired from the multicast session information database 22 are expressed in relative time Then, the difference between the associated storage time and the current time is obtained. Then, the providing unit 24 subtracts the difference between the obtained storage time and the current time from the data transmission start time, the data transmission end time, the multicast group subscriber inquiry time, and the multicast group leaver inquiry time to obtain multicast session information. To correct. The providing unit 24 provides the corrected multicast session information.
[0109]
[Data transmitter]
As illustrated in FIG. 12, the data transmission device 60 includes a communication unit 61, a multicast session information database 62, a generation unit 63, a provision unit 64, and a multicast information database 65.
[0110]
The communication unit 61 multicasts data to the clients 40a to 40d. Specifically, the communication unit 61 transmits data addressed to the multicast group. The communication unit 61 multicasts data according to an instruction from the providing unit 64. The communication unit 61 transmits multicast session information to the clients 40a to 40d, the data relay device 30, the access router 30a, and the multicast session management device 20. The communication unit 61 receives requests for multicast session information from the clients 40 a to 40 d, the data relay device 30, the access router 30 a, and the multicast session management device 20. The communication unit 61 inputs the received request for multicast session information to the providing unit 64.
[0111]
The multicast information database 65 is a holding unit that holds data to be transmitted by multicast and information related to the data. The multicast information database 65 includes multicast address, application port number, data transmission start time, data transmission end time, name of data to be transmitted by multicast, media type, brief description of data, etc. Keep information. The multicast information database 65 holds the data transmission start time and the data transmission end time expressed in absolute time.
[0112]
The generating unit 63 is a generating unit that generates multicast session information. When generating the multicast session information that does not include the multicast group subscriber inquiry time and the multicast group leaver inquiry time, the generation unit 63 acquires information included in the provided multicast session information from the multicast information database 65. For example, the generation unit 63 acquires information such as a multicast address, an application port number, a data transmission start time, a data transmission end time, a name of data to be multicast transmitted, a media type, and a brief description of the data. Then, the generation unit 63 adds the address of the data transmission device 60 to the information acquired from the multicast information database 65, adds a session ID, and generates multicast session information.
[0113]
In addition, when generating the multicast session information including the multicast group subscriber inquiry time and the multicast group leaver inquiry time, the generation unit 63 sets the multicast group subscriber inquiry time and the multicast group leaver inquiry time. The generation unit 63 sets the multicast group subscriber inquiry time and the multicast group leaver inquiry time based on the data transmission schedule that the data transmission device 60 performs multicast transmission. Specifically, the generation unit 63 sets the multicast group subscriber inquiry time based on the data transmission start time acquired from the multicast information database 65 in the same manner as the generation unit 23 illustrated in FIG. Further, the generation unit 63 sets the multicast group leaver inquiry time based on the data transmission end time acquired from the multicast information database 65 in the same manner as the generation unit 23 shown in FIG. As described above, the generation unit 63 functions as a setting unit that sets the multicast group subscriber inquiry time and the multicast group leaver inquiry time.
[0114]
Then, the generation unit 63 adds the set multicast group subscriber inquiry time and multicast group leaver inquiry time, the address of the data transmission device 60 to the information acquired from the multicast information database 65, and assigns a session ID, Generate multicast session information. When the data transmission device 60, the access router 30a, and the clients 40a to 40d are not synchronized, the generation unit 63 includes a data transmission start time, a data transmission end time represented by an absolute time, The difference from the current time in the data transmission device 60 is obtained and changed to the data transmission start time and the data transmission end time represented by the relative time. The generation unit 63 generates multicast session information using the data transmission start time and the data transmission end time represented by the changed relative time.
[0115]
The generation unit 63 stores the generated multicast session information in the multicast session information database 62. Alternatively, the generation unit 63 inputs the generated multicast session information to the provision unit 64. 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 generation unit 63 displays the multicast session information as the multicast session information. When storing in the information database 62, the multicast session information is stored in association with the storage time.
[0116]
The providing unit 64 refers to the multicast information database 65 and, when the data transmission start time comes, acquires the data and multicast address to be transmitted by multicast from the multicast information database 65. The providing unit 64 inputs the acquired data to the communication unit 61. Then, the providing unit 64 instructs the communication unit 61 to transmit the input data to the acquired multicast address from the data transmission start time to the data transmission end time.
[0117]
The providing unit 64 is a providing unit that provides multicast session information to the clients 40 a to 40 d, the data relay device 30, the access router 30 a, and the multicast session management device 20. The providing unit 64 periodically or when receiving a request for multicast session information from the clients 40a to 40d, the data relay device 30, the access router 30a, and the multicast session management device 20 or multicasting from the generating unit 63 When session information is input, multicast session information is provided.
[0118]
The providing unit 64 provides multicast session information including the multicast group subscriber inquiry time and the multicast group leaver inquiry time to the clients 40a to 40d, the data relay device 30, and the access router 30a. Also, the providing unit 64 does not include the multicast session information including the multicast group subscriber inquiry time and the multicast group leaver inquiry time, the multicast group subscriber inquiry time and the multicast group leaver inquiry time in the multicast session management device 20. Any of the multicast session information may be provided.
[0119]
The providing unit 64 acquires multicast session information from the multicast session information database 62 or the generation unit 63. The providing unit 64 provides the acquired multicast session information to the clients 40a to 40d, the data relay device 30, the access router 30a, and the multicast session management device 20 via the communication unit 61. When receiving the request for multicast session information, the providing unit 64 may instruct the generating unit 63 to generate multicast session information and acquire the multicast session information from the generating unit 63.
[0120]
Also, the providing unit 64, when the data transmission start time, the data transmission end time, the multicast group subscriber inquiry time, and the multicast group leaver inquiry time acquired from the multicast session information database 62 are expressed in relative time Then, the difference between the associated storage time and the current time is obtained. The providing unit 64 subtracts the difference between the obtained storage time and the current time from the data transmission start time, the data transmission end time, the multicast group subscriber inquiry time, and the multicast group leaver inquiry time to obtain multicast session information. To correct. The providing unit 64 provides the corrected multicast session information.
[0121]
[Communication method]
A communication method using the communication system 10 will be described separately for a procedure performed by the clients 40a to 40d and a procedure performed by the access router 30a.
[0122]
[Client procedure]
(When joining)
A procedure of the clients 40a to 40d at the time of joining the multicast group will be described with reference to FIG. The information creation unit 43 of the clients 40a to 40d receives an instruction to start receiving data transmitted to the multicast group from an application or a user input for operating the clients 40a to 40d (S1). The information creating unit 43 searches the multicast session information database 42 for multicast session information corresponding to the instruction, and confirms whether the clients 40a to 40d already hold the multicast session information (S2).
[0123]
In step (S2), when the information creation unit 43 determines that the multicast session information is held, the information creation unit 43 acquires the multicast session information from the multicast session information database 42 (S3). On the other hand, in step (S <b> 2), when it is determined that the multicast session information is not held, the information creation unit 43 acquires multicast session information from the multicast session management device 20 and the data transmission device 60. The information creation unit 43 stores the acquired multicast session information in the multicast session information database 42 (S4).
[0124]
The information creation unit 43 confirms whether the multicast group subscriber inquiry time is included in the multicast session information acquired in step (S3) or step (S4), and determines whether the multicast group subscriber inquiry time is set. Confirm (S5). In step (S5), when the multicast group subscriber inquiry time is included, the information creation unit 43 determines that the multicast group subscriber inquiry time is set. Then, the information creation unit 43 determines the standby start time based on the multicast group subscriber inquiry time, and sets the timer 44 to expire at the determined standby start time (S6).
[0125]
When the timer 44 set in step (S6) expires (S8), the information creation unit 43 instructs the communication unit 41 to start waiting for reception of data addressed to the multicast group. And the communication part 41 starts standby according to the instruction | indication of the information preparation part 43 (S9). However, at this time, the information creation unit 43 does not request to join the multicast group that transmits the IGMP Membership Report. Thereafter, the clients 40a to 40d perform processing according to the normal procedure of IGMP. In step (S8), if the timer 44 has not expired, the information creation unit 43 waits until the timer 44 expires.
[0126]
On the other hand, in step (S5), when the multicast group subscriber inquiry time is not included, the information creation unit 43 determines that the multicast group subscriber inquiry time is not set. And the information preparation part 43 judges that it is normal multicast transmission based on IGMP, and performs the normal process based on IGMP (S7).
[0127]
(When leaving)
The procedure of the clients 40a to 40d when leaving the multicast group will be described with reference to FIG. The information creation unit 43 of the clients 40a to 40d receives an instruction to end reception of data transmitted to the multicast group from an application or a user input for operating the client 40a. Or the communication part 41 completes reception of data (S11). The information creation unit 43 searches the multicast session information database 42 for the presence of multicast session information corresponding to the instruction, and confirms whether the clients 40a to 40d already hold the multicast session information (S12).
[0128]
In step (S12), when the information creation unit 43 determines that the multicast session information is held, the information creation unit 43 acquires the multicast session information from the multicast session information database 42 (S13). On the other hand, in step (S <b> 12), when the information creation unit 43 determines that the multicast session information is not held, the information creation unit 43 acquires the multicast session information from the multicast session management device 20 or the data transmission device 60. The information creation unit 43 stores the acquired multicast session information in the multicast session information database 42 (S14).
[0129]
The information creation unit 43 confirms whether the multicast group leaver inquiry time is included in the multicast session information acquired in step (S13) or step (S14), and determines whether the multicast group leaver inquiry time is set. Confirm (S15). In step (S15), when the multicast group leaver inquiry time is included, the information creation unit 43 determines that the multicast group leaver inquiry time is set. Then, the information creation unit 43 confirms whether the current time has passed the multicast group leaver inquiry time included in the acquired multicast session information (S16). In step (S16), when the current time has passed the multicast group leaver inquiry time, the information creation unit 43 transmits an IGMP Leave Group to the access router 30a via the communication unit 41, and the multicast group leaves the multicast group. Request to leave (S18).
[0130]
In step (S16), when the current time has not passed the multicast group leaver inquiry time, or after step (S18), the information creation unit 43 finishes waiting for reception of data addressed to the multicast group. To the communication unit 41. The communication unit 41 ends the standby in accordance with the instruction from the information creation unit 43 (S19).
[0131]
On the other hand, when the multicast group leaver inquiry time is not included in step (S15), the information creation unit 43 determines that the multicast group leaver inquiry time is not set. And the information preparation part 43 judges that it is normal multicast transmission based on IGMP, and performs the normal process based on IGMP (S17).
[0132]
[Access Router Procedure]
The information creation unit 33 of the access router 30a sets the timer 34 so as to expire at the multicast group subscriber inquiry time or the multicast group leaver inquiry time included in the multicast session information. As shown in FIG. 15, when the timer 34 expires (S21), the information creation unit 33 determines the type of timer (S22).
[0133]
If the timer 34 is a simultaneous subscription inquiry transmission timer in step (S22), the information creation unit 33 sends an IGMP Group-Specific Membership Query to the multicast group via the communication unit 31 at the multicast group subscriber inquiry time. Transmit (S23). On the other hand, when the timer 34 is a simultaneous leave inquiry sending timer in step (S22), the information creation unit 33 sends an IGMP Group-Specific Membership to the multicast group via the communication unit 31 at the multicast group leaver inquiry time. Query is transmitted (S24). Thereafter, the access router 30a performs processing according to the normal procedure of IGMP (S25).
[0134]
[effect]
According to the communication system 10, the clients 40a to 40d, the data relay device 30, the access router 30a, and the communication method, the clients 40a, 40c, and 40d who want to receive the data to be transmitted by the multicast are notified of the multicast group subscriber inquiry time By the time, start waiting. Then, the access router 30a inquires at the multicast group subscriber inquiry time whether there is a client who wants to receive data. At this time, the client that has started standby requests to join the multicast group. Therefore, the access router 30a and the data relay device 30 can determine that there is a client who wants to receive data and can start relaying data to the multicast group.
[0135]
In addition, the clients 40a, 40c, and 40d that want to end the data reception end the waiting by the multicast group leaver inquiry time. Then, the access router 30a inquires at the multicast group leaver inquiry time whether there is a client who wants to receive data. At this time, if all clients have finished waiting, there is no response. Therefore, the access router 30a and the data relay device 30 can determine that there is no client who wants to receive data, and can finish relaying data to the multicast group.
[0136]
In this way, each client 40a to 40d does not individually request to join or leave the multicast group, and the access router 30a can request to join or leave each client 40a to 40d individually. There is no need to perform processing for. Therefore, the communication system 10, the clients 40a to 40d, and the access router 30a can reduce the amount of communication and data associated with joining and leaving, and the load on the access router 30a can be reduced.
[0137]
Further, the information creation unit 43 of the clients 40a to 40d determines a standby start time for starting standby based on the multicast group subscriber inquiry time, and a standby end time for ending standby based on the multicast group leaver inquiry time. To decide. Then, the communication unit 41 starts standby at the standby start time determined by the information creation unit 43 and ends standby at the determined standby end time. Therefore, the clients 40a to 40d 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 based on the determined standby start time and standby end time. , Can start and end standby.
[0138]
Also, according to the multicast session management device 20 and the data transmission device 60, the providing units 24 and 64 send the multicast session information including the multicast group subscriber inquiry time and the multicast group leaver inquiry time to the clients 40a to 40d and the access router. To 30a. Therefore, the multicast session management device 20 and the data transmission device 60 can notify the clients 40a to 40d and the access router 30a of the multicast group subscriber inquiry time and the multicast group leaver inquiry time. Accordingly, the clients 40a to 40d and the access router 30a may 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. it can. Therefore, the multicast session management device 20 and the data transmission device 60 can contribute to a reduction in the amount of communication and data associated with joining and leaving, and a reduction in the load on the access router 30a.
[0139]
Further, the generation units 23 and 63 set the multicast group subscriber inquiry time and the multicast group leaver inquiry time, and the multicast including the multicast group subscriber inquiry time and the multicast group leaver inquiry time set by the providing units 24 and 64 Provides session information. Therefore, the multicast session management device 20 and the data transmission device 60 can set the multicast group subscriber inquiry time and the multicast group leaver inquiry time, and the set multicast group subscriber inquiry time and multicast group leaver inquiry time are set to the client 40a. To 40d and the access router 30a.
[0140]
Further, the generation units 23 and 63 can set the multicast group subscriber inquiry time and the multicast group leaver inquiry time as relative times. Therefore, even when the access router 30a and the clients 40a to 40d are not synchronized, the access router 30a and the clients 40a to 40d are almost multicast group subscribers on the basis of the time when the multicast session information is acquired. It is possible to grasp that there is an inquiry at the inquiry time or the multicast group leaver inquiry time.
[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 clients 40a to 40d determine the standby start time and standby end time. However, the generation unit 63 of the data transmission device 60, the generation unit 23 of the multicast session management device 20, the data relay device 30, The information creation unit 33 of the access router 30a determines a standby start time and a standby end time based on the multicast group subscriber inquiry time and the multicast group leaver inquiry time, and the determined standby start time and standby time are set in the multicast session information. An end time may be added and transmitted. Thereby, the clients 40a to 40d can acquire the multicast session information including the standby start time and the standby end time.
[0142]
Further, the data transmission device 60 and the multicast session management device 20 have acquired the information generation unit 33 of the data relay device 30 and the access router 30a without setting the multicast group subscriber inquiry time and the multicast group leaver inquiry time. The multicast group subscriber inquiry time and the multicast group leaver inquiry time may be set based on the data transmission start time and the data transmission end time included in the multicast session information. In this case, the information creation unit 33 of the data relay device 30 or the access router 30a transmits the set multicast group subscriber inquiry time and multicast group leaver inquiry time to the multicast session information, and the clients 40a to 40d Multicast session information including the multicast group subscriber inquiry time and the multicast group leaver inquiry time is acquired from the data relay device 30 and the access router 30a.
[0143]
Further, both the generating unit 23 of the multicast session management device 20 and the generating unit 63 of the data transmitting device 60 shown in FIGS. 11 and 12 set the multicast group subscriber inquiry time and the multicast group leaver inquiry time. It is not necessary to function as any one of the setting means.
[0144]
Also, the information creation unit 43 of the client 40a and the information creation unit 33 of the access router 30a shown in FIGS. 2 and 8 perform the acquired data transmission start time, data transmission end time, multicast group subscriber inquiry time, multicast group leave When the person inquiry time is expressed as a relative time, the multicast session information may be stored in the multicast session information databases 32 and 42 in association with the acquisition time and the elapsed time when the multicast session information is acquired without changing to the absolute time. . Then, when using the data transmission start time, the data transmission end time, the multicast group subscriber inquiry time, and the multicast group leaver inquiry time, the information creation units 33 and 43 indicate the difference between the current time and the acquisition time and the elapsed time. The data transmission start time, the data transmission end time, the multicast group subscriber inquiry time, and the multicast group leaver inquiry time may be subtracted and used.
[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.
マルチキャストグループ加入者問い合わせ時刻までに、マルチキャスト送信されるデータの受信の待ち受けを開始し、マルチキャストグループ離脱者問い合わせ時刻までに前記データの受信の待ち受けを終了する通信手段を備えることを特徴とするデータ受信装置。Data reception comprising: communication means for starting reception of data to be transmitted by multicast before the multicast group subscriber inquiry time and ending reception of the data by multicast group leaver inquiry time apparatus. 前記マルチキャストグループ加入者問い合わせ時刻に基づいて、前記待ち受けを開始する待ち受け開始時刻を決定し、前記マルチキャストグループ離脱者問い合わせ時刻に基づいて、前記待ち受けを終了する待ち受け終了時刻を決定する決定手段を備え、
前記通信手段は、前記決定手段が決定した待ち受け開始時刻に前記待ち受けを開始し、前記決定手段が決定した待ち受け終了時刻に前記待ち受けを終了することを特徴とする請求項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. .
マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻に、マルチキャスト送信されるデータの受信を望むデータ受信装置が存在するかについて問い合わせる問い合わせ手段を備えることを特徴とするデータ中継装置。A data relay apparatus comprising: 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. マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を、マルチキャスト送信されるデータを受信するデータ受信装置又は前記データを中継するデータ中継装置に提供する提供手段を備えることを特徴とする管理装置。Multicast session information including a multicast group subscriber inquiry time and a multicast group leaver inquiry time is provided to a data receiving device that receives data transmitted by multicast transmission or a data relay device that relays the data. Management device. 前記マルチキャストグループ加入者問い合わせ時刻及び前記マルチキャストグループ離脱者問い合わせ時刻を設定する設定手段を備え、
前記提供手段は、前記設定手段が設定したマルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を提供することを特徴とする請求項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.
マルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を、マルチキャスト送信されるデータを受信するデータ受信装置又は前記データを中継するデータ中継装置に提供する提供手段を備えることを特徴とするデータ送信装置。Multicast session information including a multicast group subscriber inquiry time and a multicast group leaver inquiry time is provided to a data receiving device that receives data transmitted by multicast transmission or a data relay device that relays the data. A data transmission device. 前記マルチキャストグループ加入者問い合わせ時刻及び前記マルチキャストグループ離脱者問い合わせ時刻を設定する設定手段を備え、
前記提供手段は、前記設定手段が設定したマルチキャストグループ加入者問い合わせ時刻及びマルチキャストグループ離脱者問い合わせ時刻を含むマルチキャストセッション情報を提供することを特徴とする請求項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.
JP2003098380A 2003-04-01 2003-04-01 COMMUNICATION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, MANAGEMENT DEVICE, DATA TRANSMISSION DEVICE, AND COMMUNICATION METHOD Expired - Fee Related JP4199036B2 (en)

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)

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