JP2004336160A - Multicast communication method - Google Patents
Multicast communication method Download PDFInfo
- Publication number
- JP2004336160A JP2004336160A JP2003125655A JP2003125655A JP2004336160A JP 2004336160 A JP2004336160 A JP 2004336160A JP 2003125655 A JP2003125655 A JP 2003125655A JP 2003125655 A JP2003125655 A JP 2003125655A JP 2004336160 A JP2004336160 A JP 2004336160A
- Authority
- JP
- Japan
- Prior art keywords
- multicast
- communication
- terminal
- data
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、複数の端末がマルチキャストチャネルを用いて通信するマルチキャスト通信方法に関する。
【0002】
【従来の技術】
近年、インターネットが広く普及し、またインターネットに数Mbps以上の帯域で接続するいわゆるブロードバンドユーザが多くなるに伴い、ブロードバンドネットワークを活かしたサービスへの要求が高まりつつある。そうしたブロードバンドサービスの一つとして、テレビ電話やテレビ会議などのサービスがある。
【0003】
インターネットを使ったテレビ電話やテレビ会議は、ITU−T勧告H.323やITFFのRFC2543のSIP(Session Initiation Protocol)などの呼制御プロトコルを用いて、発信側の端末と着信側の端末との間で、通話の開始を制御するための呼制御メッセージをやり取りし、相手から映像や音声データを受信するチャネル、相手に映像や音声データを送信するチャネルを決定する。端末は、呼制御メッセージの交換が完了すると、決定されたチャネル宛てにデータを送信する。インターネットを用いたテレビ電話やテレビ会議の場合、音声や映像データは、UDP(User Datagram Protocol)を用いて送受信される。
【0004】
なお、ここでのチャネルとは、IPアドレスとUDPポート番号で区別されるものである。つまり、相手端末から指定されたIPアドレスとポート番号宛てにデータを送信し、逆に自端末が指定したIPアドレスとポート番号にデータが送られてくるので、それを受信することになる。
【0005】
ところで、1対1通話の場合は、データ用のチャネルも端末相互に設定すればよいが、3端末以上が接続した会議通話においては、複数の端末宛てにデータを送り、複数の端末からデータを受信する必要がある。この場合、複数の端末間にメッシュ状にチャネルを設定し、上記のように他の全ての端末に対してデータを送信し、逆に他の全ての端末からデータを受信する形態では、ネットワーク上に送出されるデータ量が多く無駄が多い。この無駄を軽減するための方法の一つにマルチキャストを利用する方法がある。
【0006】
即ち、マルチキャストを用いることで、個々の端末が別々のマルチキャストチャネル宛てにデータを送信し、逆に自端末以外の端末が送信している全てのマルチキャストチャネルからデータを受信すれば、会議通話を行うことが可能となる。このとき、マルチキャストチャネルは端末の数だけあればよいので、メッシュ状にチャネルを設定する方法に比べて、ネットワークを有効活用することができる。
【0007】
インターネットでは、IPがネットワークプロトコルとして用いられているので、マルチキャスト技術としては、IPマルチキャストが使用されている。IPマルチキャストでは、一つの端末が一つのマルチキャストアドレス宛てにデータを送信すると、複数の端末がそのマルチキャストアドレスからのデータ受信が可能である。
【0008】
マルチキャスト通信を行ないたい端末は、マルチキャストグループに参加する必要がある。マルチキャストグループに参加する場合には、IGMP(Internet Group Management Protocol)というプロトコルを用いて、マルチキャストグループに参加を要求するIGMPレポートを自身が属するサブネットのルータに送信する。IGMPレポートを受信したルータは、DVMRP(Distance Vector Multicast Routing Protocol)やPIM(Protocol Independent Multicast)等、ルータ間で用いられるマルチキャストルーチングプロトコルを用いて、マルチキャストルーチングメッセージを他のルータとの間で送受信することによってマルチキャストグループの情報を交換し、これによって、送信端末から受信端末までのマルチキャストツリーを構成する。
【0009】
このように、ある端末があるマルチキャストグループに参加し、データの送信、受信を開始するためには、マルチキャスト経路制御プロトコルの種類によって必要となる処理の具体的な内容は異なるが、IGMPの処理とルータ間のマルチキャストルーチングプロトコルの処理が必要である。そして、受信する端末や送信する端末の情報が変更になった場合に、その情報をDVMRP等のマルチキャストルーチングプロトコルを用いると内容変更がグループ全体に伝達できるまでの遅延時間を小さくする技術として、例えば、特許文献1に開示されている。図14を参照してその概要を説明する。
【0010】
図14は、従来のマルチキャストシステムの構成を示すブロック図である。図14において、領域管理ルータ1400がマルチキャストツリーを一元管理している。マルチキャスト中継ルータ1401は、ノード1402に接続される受信する端末や送信する端末が変化したことを検出したときに、領域管理ルータ1400に通知する。領域管理ルータ1400は、マルチキャストツリーを更新し、必要に応じてマルチキャスト中継ルータ1401に変更を通知する。
【0011】
また、従来のPBX(構内交換機)等による会議システムでは、ユーザは電話機を操作し、会議通話を行う。会議通話への移行方法には幾つかの種類があるが、会議通話が成立したときには、音声データは各電話機からPBXに送信され、PBXが会議に参加している全ての電話機からの音声データをミキシングし、さらに各電話機に送信する。会議通話にメンバを追加するには、さらに追加する電話機を呼び出し、会議に追加する。
【0012】
PBXと各電話機との間には、通常の1対1の通話の場合と同じように通話が設定される。会議に参加するユーザが増える度に通話が追加される。その理由は、追加するメンバとの間で1対1の通話を設定する必要があるからである。また、この通話は、通常の電話と同じであるので、通話中の時間だけ課金される。そのため、必要なときのみ張っておくことがコスト削減となるからである。
【0013】
ところが、インターネットを用いた通信の場合、固定課金接続であれば、送信するデータ量に関係なく、コストは一定であるので、必要なときのみ通話を設定することに意味はなく、通信の最初から通話を設定しておいても、コストが余計にかかることはない。
【0014】
また、従量課金接続の場合でも、通話を設定するために送受信される呼制御メッセージのデータ量は、接続された後に送受信される電話の音声データなどと比較して、無視できるほどに小さいので、この場合でも、通信の最初から通話を設定しておいても、そのために増大するコスト量は無視できる。
【0015】
【特許文献1】
特開2001−257718号公報(0018〜0019、図1)
【0016】
【発明が解決しようとする課題】
しかしながら、上記従来の通信方法では、テレビ会議中などの通信中に、新たに端末がメンバとして追加された場合や、既に通信に参加中の端末に対して送信チャネルを追加した場合に、サーバは既に通信に参加している端末に対して、追加された端末が送信しているマルチキャストチャネルが何であるかを、あるいは既に参加しているメンバが追加で送信を開始するマルチキャストチャネルが何であるかを、呼制御メッセージを用いて全ての端末に通知する必要があるとの問題がある。
【0017】
また、上記従来の通信方法では、呼制御メッセージによって、受信マルチキャストチャネルの追加が指示された後に、端末はIGMPメッセージをルータに送り、ルータがさらにDVMRP等のマルチキャストルーチングプロトコルのメッセージを交換して初めてマルチキャストツリーが構成され、その後データが中継されるので、呼制御メッセージにより受信マルチキャストチャネルの追加が指示されてから、そのチャネル上で実際にデータを受信するまでの遅延が大きいという問題もある。
【0018】
さらに、上記特許文献1に記載の通信方法では、マルチキャストチャネルに対して、受信する端末や送信する端末が変更になったときには、少なくとも中継ルータと領域管理ルータとの間で通信が行われるため、遅延時間が小さくなってもゼロにはならないとの問題がある。
【0019】
本発明は、かかる点に鑑みてなされたものであり、通信中に端末や送信チャネルが追加された場合に、既に通信に参加中の端末に対しては呼制御メッセージを送る必要のないマルチキャスト通信方法を提供することを目的とする。
【0020】
また、本発明は、通信中に端末や送信チャネルが追加された場合に、実際にデータを受信し始めるまでの接続遅延が小さいマルチキャスト通信方法を提供することを目的とする。
【0021】
さらに、本発明は、通信中に端末や送信チャネルが追加された場合に、マルチキャストルーチング処理をゼロにすることが可能となるマルチキャスト通信方法を提供することを目的とする。
【0022】
【課題を解決するための手段】
本発明に係るマルチキャスト通信方法は、サーバの配下にある複数の端末それぞれが、サーバが指示する1つのマルチキャストチャネルを用いて送信し、サーバが指示する複数のマルチキャストチャネルからデータを受信するマルチキャスト通信方法において、前記サーバは、通信開始時において通信に参加している2つ以上の初期参加端末に対し、将来追加する可能性のあるマルチキャストチャネルを含めた全マルチキャストチャネルからの受信指示とそれぞれに割り当てた1つ以上のマルチキャストチャネルへの送信指示とを含む呼制御メッセージを送信し、全ての初期参加端末に通信開始指示を行う工程と、その後の通信中において新たに通信に参加する1つ以上の途中参加端末に対し、前記全マルチキャストチャネルからの受信指示と前記初期参加端末に割り当てていないマルチキャストチャネルの中からそれぞれに割り当てた1つ以上のマルチキャストチャネルへの送信指示とを含む呼制御メッセージを送信し、全ての途中参加端末に通信開始指示を行う工程と、を有し、前記各端末は、前記呼制御メッセージを受けて、前記受信指示にて指定されたマルチキャストチャネルからデータを受信し、前記送信指示にて指定されたマルチキャストチャネルにデータ送信を行う工程、を有するようにした。
【0023】
この方法によれば、サーバは通信開始時に予め複数のマルチキャストチャネルをその通信に割り当てておき、その全ての受信を初期参加端末に指示し、初期参加端末は、通信開始時に呼制御メッセージの受信指示によって指定されたマルチキャストチャネルの全てを受信することできる状態にある。したがって、サーバは、その通信中に途中参加があったときは、その途中参加端末に対して通信開始時に割り当てたマルチキャストチャネルのうち、どの端末も送信していないチャネルに送信するように指示するだけでよく、既に通信に参加していた初期参加端末に対しては、呼制御メッセージを送る必要がない。
【0024】
また、初期参加端末は、受信指示によって指定されたマルチキャストチャネルを通信開始時に受信しているので、IGMPやDVMRP等の手順を実行する必要がない。したがって、途中参加端末がマルチキャストチャネル上にデータを送信し始めてから各端末がデータを受信するまでの遅延時間が小さくなる。
【0025】
また、本発明に係るマルチキャスト通信方法は、上記の発明において、前記サーバは、通信中において前記全ての初期参加端末の中の少なくとも1つの初期参加端末に対し、将来追加する可能性のあるマルチキャストチャネルを含めた全マルチキャストチャネルからの受信指示と通信開始時では割り当てていないマルチキャストチャネルの中から割り当てた1つ以上のマルチキャストチャネルへの送信指示とを含む呼制御メッセージを送信し、当該追加のマルチキャストチャネルを含めた通信開始指示を行う工程、を有するようにした。
【0026】
この方法によれば、サーバは、通信中において前記全ての初期参加端末の中の少なくとも1つの初期参加端末に対し、追加のマルチキャストチャネルを含めた通信開始指示を行うので、当該端末は通信の最初に指定された送信チャネルに加えて、その追加送信チャネル宛てにもデータを送信することができる。しかしながら、前記送信チャネルの追加を受けていない初期参加端末では、当該追加チャネルからもデータ受信可能である。したがって、前記送信チャネルの追加を受けていない初期参加端末に対しては呼制御メッセージを送る必要がない。
【0027】
また、前記送信チャネルの追加を受けていない初期参加端末は、受信指示によって指定されたマルチキャストチャネルを通信開始時に受信しているので、IGMPやDVMRP等の手順を実行する必要がない。したがって、前記送信チャネルの追加を受けた初期参加端末が追加チャネル上にデータを送信し始めてから各端末がデータを受信するまでの遅延時間が小さくなる。
【0028】
また、本発明に係るマルチキャスト通信方法は、上記の発明において、通信中において、前記初期参加端末が送信に用いるマルチキャストチャネルの追加要求を含む呼制御メッセージを送信し、前記サーバが前記追加要求を含む呼制御メッセージを受けて、将来追加する可能性のあるマルチキャストチャネルを含めた全マルチキャストチャネルからの受信指示と通信開始時では割り当てていないマルチキャストチャネルの中から割り当てた1以上のマルチキャストチャネルへの送信指示とを含む呼制御メッセージを送信し、当該追加のマルチキャストチャネルを含めた通信開始指示を行う工程とを具備するようにした。
【0029】
この方法によれば、各端末が通信中にサーバに対して送信チャネルの追加を要求すると、その要求に従って、サーバが端末に対して送信チャネルの追加を指示することができる。したがって、例えば、端末を操作するユーザが、自分の音声や映像データを送信しているときに、さらにプレゼンテーションのデータも送りたい場合などに、端末からサーバに対してチャネルの追加を要求し、サーバからチャネルを割り当ててもらうことにより、送信するチャネルを追加することが可能となる。
【0030】
また、本発明に係るマルチキャスト通信方法は、上記の発明において、少なくとも前記初期参加端末は、前記受信指示にて指定されたマルチキャストチャネルに対して、ダミーデータを周期的に送信し、受信したダミーデータを廃棄する工程、を有するようにした。
【0031】
この方法によれば、各端末は、他の端末に対してダミーデータを周期的に送信することによって、個々の端末から他の端末に対してマルチキャストツリーを常に最新の状態に保っておくことが可能となる。したがって、通信途中でチャネル追加によりチャネルを追加するときに、マルチキャストツリーが新たに構築したり、更新したりする必要がない。その結果、ある端末がデータを送信し始めてから他の端末がデータを受信するまでの遅延時間が小さくなる。また、マルチキャストルーチング処理をゼロにすることが可能となる。
【0032】
また、本発明に係るマルチキャスト通信方法は、上記の発明において、前記初期参加端末及び途中参加端末としての送信端末は、入力装置からの音声データや映像データを処理して送信データを生成し、前記送信データを前記送信指示にて指定されたマルチキャストチャネル上に送信する工程、を有し、受信端末は、前記受信指示によって指示された全マルチキャストチャネルについて受信処理し、その中で実際に使用されているマルチキャストチャネルからのデータを合成して出力装置に出力する工程、を有するようにした。
【0033】
この方法によれば、通信開始時に実際にはデータが送信されていないチャネルも受信指示によって受信をさせていたとしても、端末を操作するユーザは、実際にその時点で通信に参加している端末の音声・映像データのみを聴取し視聴することが可能となる。
【0034】
また、本発明に係るマルチキャスト通信方法は、上記の発明において、前記サーバでは、ユーザあるいは管理者がサーバの設定情報を編集し、通信で使用可能として設定されたマルチキャストチャネルを用いて前記通信に割り当てるマルチキャストチャネルを決定する工程を具備するようにした。
【0035】
この方法によれば、ユーザまたは管理者が、サーバに対して通信で使用するマルチキャストチャネルを設定することができ、サーバはこのように設定された情報に基づき通信に使用するマルチキャストチャネルを割り当てることができる。
【0036】
また、本発明に係るマルチキャスト通信方法は、上記の発明において、前記ササーバでは、他の装置からのメッセージを受信し、受信したメッセージから取得した通信に使用可能なマルチキャストチャネルを用いて前記通信に割り当てるマルチキャストチャネルを決定する工程を具備するようにした。
【0037】
この方法によれば、サーバは、動画配信装置などの他装置が送信しているSAP(Session Announcement Protocol)などのメッセージをサーバが受信することができるので、このメッセージの中に現在他装置によって使用されているマルチキャストチャネルを設定しておけば、これから逆に自身が通信に使用可能なマルチキャストチャネルを検索することが可能となる。したがって、他にもマルチキャストを通信するアプリケーションが同一ネットワーク上にあった場合でも、動的に使用可能な空きマルチキャストチャネルを検索し、通信に使用することが可能となる。
【0038】
また、本発明に係るマルチキャスト通信方法は、通信に参加する複数の端末のうちの一台の端末が、上記発明のサーバ動作を代行する機能を具備し、当該サーバ機能を具備する端末を含む全ての端末が、上記発明の端末動作を行うようにした。
【0039】
この方法によれば、通信に参加する端末のうちの一台の端末が、端末動作に加えて、サーバ動作が実行することができるので、サーバがなくても端末のみで本発明のマルチキャスト通信方法の実施が可能となる。
【0040】
【発明の実施の形態】
本発明の骨子は、会議通話など複数の端末が参加しているマルチキャスト通信において、通信の開始時に、サーバが将来追加するマルチキャストチャネルの分も含めた受信指示をすることにより、通信中に端末や送信チャネルが追加された場合に、既に通信に参加中の端末に対しては呼制御メッセージを送る必要がないようにし、また実際にデータを受信し始めるまでの接続遅延を小さくし、さらにマルチキャストルーチング処理をゼロにすることを可能にすることである。
【0041】
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。
【0042】
(実施の形態1)
図1は、本発明の実施の形態1に係るマルチキャスト通信方法を実施する通信システムの概要を示す図である。図1では、サーバ100と3台の端末(端末A101,端末B102,端末C103)とがネットワーク104を介して相互に接続された通信システムが示されている。
【0043】
例えば、端末A101は、サーバ100との間で呼制御メッセージ110を送受信してマルチキャストチャネルの指定を受け、その指定されたマルチキャストチャネル上に、他の端末B102、端末C103向けのアプリケーションデータ111を送信する。
【0044】
図示省略したが他の端末B102、端末C103も同様に、サーバ100との間で呼制御メッセージを送受信してマルチキャストチャネルの指定を受け、その指定されたマルチキャストチャネル上にデータを送信する。
【0045】
次に、図1〜図6を参照して、以上のように構成される通信システムにおいて実施される実施の形態1に係るマルチキャスト通信方法について説明する。なお、図2は、図1に示すサーバ及び端末での通信処理手順を説明するフローチャートである。図3は、図1に示すサーバと端末との間で送受信されるメッセージを説明する図である。図4は、図1に示す端末とネットワーク上に存在するルータとの間で送受信されるメッセージを説明する図である(その1)。図5は、図1に示す端末とネットワーク上に存在するルータとの間で送受信されるメッセージを説明する図である(その2)。図6は、図1に示すサーバから端末に送信される通信開始指示の呼制御メッセージにおけるヘッダ部分の構成例を示す図である。
【0046】
図2において、サーバ100は、図2(A)に示すように、各端末が受信に使用するマルチキャストチャネルと送信に使用するマルチキャストチャネルとを割り当てる呼制御メッセージを作成する処理を行い(ステップST200)、その作成した呼制御メッセージを各端末に送信し、通信開始指示を伝える(ステップST201)。そして、その後、端末の追加があったときは、その追加端末についてマルチキャストチャネルを割り当てる処理を行う(ステップST202)。
【0047】
図3では、通信開始時では、サーバ100は、端末A101と端末B102の二端末と通信を開始している。その後、通信中に端末C103が追加された場合が示されている。
【0048】
図3において、端末A101に送信する通信開始指示の呼制御メッセージでは、マルチキャストチャネル1,2,3の三つを受信に用い、マルチキャストチャネル1を送信に用いるように指示している。また、端末B102に送信する通信開始指示の呼制御メッセージでは、マルチキャストチャネル1,2,3の三つを受信に用い、マルチキャストチャネル2を送信に用いるように指示している。そして、その後、通信中に追加された端末C103に送信する通信開始指示の呼制御メッセージでは、マルチキャストチャネル1,2,3の三つを受信に用い、マルチキャストチャネル3を送信に用いるように指示している。
【0049】
これに対し、端末では、図2(B)に示すように、呼制御メッセージを受信すると(ステップST210)、その呼制御メッセージにて指定されている全ての受信チャネルに対して受信を開始するとともに(ステップST211)、呼制御メッセージで指定されている送信チャネルに対してデータの送信を開始し(ステップST212)、通信が終了するまで、データ受信処理(ステップST211)及びデータ送信処理(ステップST212)が繰り返し実行される。
【0050】
図3の例で言えば、通信開始時では、端末A101は、マルチキャストチャネル1、2、3の全ての受信を開始し、マルチキャストチャネル1への送信を開始する。同様に、端末B102は、マルチキャストチャネル1、2、3の全ての受信を開始し、マルチキャストチャネル2への送信を開始する。また、通信中に参加した端末C103は、マルチキャストチャネル1、2、3の全ての受信を開始し、マルチキャストチャネル3への送信を開始する。
【0051】
なお、呼制御メッセージの送信指示には、データの送信チャネルは含まれていなくてもよい。この場合は、データ送信処理(ステップ212)は行われず、データ受信処理(ステップST211)のみとなる。
【0052】
図4に示すように、端末A101、端末B102、端末C103は、マルチキャストチャネル1の受信を開始すると、そのチャネルを受信することを示すIGMPメッセージ410を自身が所属するサブネットのルータA401、ルータB402宛てに送信する。
【0053】
このとき、ルータA401は、他のルータB402に対してDVMRPやPIM等のマルチキャストルーチングプロトコルを用いて、マルチキャスト受信端末が自サブネット内にいるので、マルチキャストチャネル1のデータを中継してほしい旨を伝える。
【0054】
但し、通信開始時点では、端末C103は通信に加わっておらず、ルータA401はIGMPメッセージをルータB402には送っていない。したがって、ルータA401は、マルチキャストチャネル1へのデータを受信した場合でもルータB402にはデータを中継しない。
【0055】
次に、端末A101がマルチキャストチャネル1への送信を開始すると、ルータA401は、端末B102からIGMPメッセージ410を受信していたので、端末B102に受信データを中継するが、ルータB402にはデータを中継しない。
【0056】
同様に、マルチキャストチャネル2についても、端末A101、端末B102、端末C103が受信を開始すると、IGMPメッセージ、マルチキャストルーチングメッセージの交換が行われる。
【0057】
また、マルチキャストチャネル3については、通信開始時点では、送信者は割り当てられていないが、本発明では、通信開始時点で端末A101と端末B102は、マルチキャストチャネル3の受信も開始するので、そのためのIGMPメッセージ、マルチキャストルーチングメッセージが交換される。その結果、ルータB402は、マルチキャストチャネル3へのデータを受信した場合には、ルータA401に中継しなければならないことを知ることになる。
【0058】
さて、サーバ100は、通信開始時に割り当てたマルチキャストチャネル1、2、3のうち、マルチキャストチャネル3が未使用であることを判定している。したがって、通信中に端末C103が追加されるときには、サーバ100は、端末C103に対してマルチキャストチャネル1、2、3の受信と、マルチキャストチャネル3への送信を指示する呼制御メッセージを送信する。
【0059】
ところが、端末A101と端末B102には、既にマルチキャストチャネル3の受信を指示している。したがって、サーバ100は、端末C103が追加された時点では呼制御メッセージを端末A101と端末B102には送らない。
【0060】
端末C103は、3つのチャネルの受信を開始するので、IGMPメッセージをルータB402に送る。ルータB402は、マルチキャストルーチングメッセージ411をルータA401に対して送信する。
【0061】
その結果、ルータA401は、マルチキャストチャネル1、2のデータをルータB402に中継するようになり、ルータB402はさらに端末C103に中継し、端末C103が端末A101、端末B102からのデータを受信することが可能となる。
【0062】
また、図5に示すように、端末C103がマルチキャストチャネル3にデータを送信すると、ルータB402はマルチキャストチャネル3へのデータを受信したときには、ルータA401に中継しなければならないことを既に知っているので、直ちにルータA401にデータを中継する。ルータA401は、端末A101と端末B102にデータを中継する。
【0063】
したがって、端末C103が通信に加わり、マルチキャストチャネル3を用いてデータ送信を開始した場合にも、端末A101と、端末B102は、IGMPメッセージやマルチキャストルーチングメッセージ交換による遅延の影響を受けることなく、端末C103からデータを受信することが可能となる。
【0064】
特に、ネットワーク構成が複雑で、端末間に複数のルータが存在する場合には、マルチキャストルーチングメッセージの交換に時間がかかってしまうが、本発明の方法によれば、こうした遅延は発生しない。
【0065】
また、サーバ100から端末A101、端末B102、端末C103に送信される呼制御メッセージに関しては、SIPやH.323等の呼制御プロトコルを用いて実現可能である。例えばSIPの場合を例にとると、通信開始指示の呼制御メッセージは、INVITEメッセージを使用することができる。
【0066】
サーバ100のSIPのアドレスが、sip:server@server.example.co.jpであり、端末101−AのSIPのアドレスが、sip:terminal 1@terminal 1.example.co.jpであったとき、SIPのINVITEメッセージヘッダ部分は図6のように構成することが可能である。
【0067】
つまり、サーバ100から端末A101、端末B102、端末C103に送信される通信開始指示の呼制御メッセージは、図6に示すように構成することが可能である。
【0068】
また、SDPとしては、端末A101、端末B102、端末C103の送信用にマルチキャストアドレス224.1.1.1、ポート番号10000を指定し、また受信用に3つのマルチキャストチャネル(アドレス224.1.1.1、ポート10000)、(アドレス224.1.1.2、ポート10000)、(アドレス224.1.1.3、ポート10000)を指定することが可能である。
【0069】
このように、本実施の形態1によれば、通信の開始時に、サーバが将来追加するマルチキャストチャネルの分も含めた受信指示を行うようにしたので、通信中に端末が追加された場合でも、既に通信に参加中の端末に対して呼制御メッセージを送る必要がなく、高速な端末の追加が可能である。
【0070】
(実施の形態2)
図7は、本発明の実施の形態2に係るマルチキャスト通信方法を実施するサーバ及び端末での通信処理手順を説明するフローチャートである。図8は、図7に示すサーバと端末との間で送受信されるメッセージを説明する図である。この実施の形態2では、図1に示した通信システムにおいて、サーバ100と、端末A101及び端末B102との間で行われるマルチキャスト通信方法が示されている。
【0071】
図7において、端末A101及び端末B102の処理(B)は、図2(B)と同様である。サーバ100の処理(A)では、図2(A)における端末追加処理(ステップST202)に代えてチャネル追加処理(ステップST701)となっている。
【0072】
チャネル追加処理(ステップST701)では、サーバ100は、既に通信中の例えば端末A101に対して、新たにマルチキャストチャネルを割り当てることを行う。具体的には、図8に示すようになる。
【0073】
即ち、図8において、通信開始時には、端末A101には、マルチキャストチャネル1が送信用に割り当てられ、端末B102には、マルチキャストチャネル2が送信用に割り当てられていて、マルチキャストチャネル3が使用されていない状態で通信が行われている通信中に、端末A101がサーバ100に対してチャネル追加要求呼制御メッセージを送信する。
【0074】
サーバ100は、このチャネル追加要求呼制御メッセージを受信すると、端末A101にマルチキャストチャネル3を送信用に割り当てる。そして、サーバ100は、端末A101に対して通信に使用する全マルチキャストチャネルの受信指示と、元々割り当てていたマルチキャストチャネル1への送信指示と、追加で割り当てたマルチキャストチャネル3への送信指示を含む呼制御メッセージを送信する。
【0075】
例えば、端末A101と端末B102がテレビ会議をしていて、自映像と自音声を相互に送受信しているときに、端末A101を操作するユーザが、さらにプレゼンテーション用のデータを送りたいと思ったとき、端末A101は、上記のチャネル追加要求呼制御メッセージを送信することで、プレゼンテーション用のマルチキャストチャネルを追加することができ、プレゼンテーションデータを他の端末B102に送信することが可能となる。
【0076】
なお、通信中におけるチャネルの追加は、端末からの要求がなくともサーバ100独自の判断で実施できること言うまでもない。
【0077】
このように、実施の形態2によれば、通信の開始時に、サーバが将来追加するマルチキャストチャネルの分も含めた受信指示をすることにより、通信中に端末が送信する送信チャネルが追加された場合でも、既に通信に参加中の端末に対して呼制御メッセージを送る必要がなく、高速なチャネルの追加が可能である。
【0078】
(実施の形態3)
図9は、本発明の実施の形態3に係るマルチキャスト通信方法を説明するシステム図である。図9では、端末A101と端末B102が図4や図5にて示したルータA401を介してダミーデータを送受信する場合が示されている。
【0079】
通信にはマルチキャストチャネル1、2、3が割り当てられており、端末A101、端末B102は、それらを全て受信していて、端末A101がマルチキャストチャネル1にデータを送信し、端末B102がマルチキャストチャネル2にデータを送信している場合を考える。
【0080】
端末A101は、ダミーデータ送信タイミングにおいて、ダミーデータをマルチキャストチャネル1、2、3に対して送信する。特に図9ではマルチキャストチャネル3について図示している。端末B102は、マルチキャストチャネル3の受信を開始しているので、ダミーデータはルータA401を介して端末B102まで届く。端末B102では、受信したダミーデータを廃棄し、それを端末が利用することはない。
【0081】
さて、この通信状態から、端末A101がマルチキャストチャネル3への送信も追加されたとき、端末A101はマルチキャストチャネル3へのデータ送信を開始する。データはルータA401を介して端末B102に中継される。
【0082】
このとき、ルータA401は、既にダミーデータを中継していたので、ルータA401におけるデータ中継にかかる遅延は小さくなる。もし端末A101がダミーデータを送信しておらず、ルータA401が端末A101からマルチキャストチャネル3へのデータを初めて受信した場合は、ルータA401は、自身が管理するマルチキャスト管理用のテーブルを更新したり、あるいはマルチキャストルーチングプロトコルのメッセージを他のルータに送ったりすることが必要になることが起こり得る。
【0083】
しかし、上記のようにダミーデータを送信しておけば、ルータA401は、こうした処理は既にダミーデータの送信を開始した時点で行われており、端末A101がデータ送信を開始した時点では必要とならない。また、このダミーデータを周期的に送信することにより、ルータ内の管理データやマルチキャストルーチングの状態を常に最新に保っておくことが可能となる。
【0084】
このように、実施の形態3によれば、将来送信指示される可能性のあるマルチキャストチャネルに対して予め周期的にダミーデータを送信しておくことができるので、チャネルの追加や切り替えの際に、中継段にあるルータにおける処理が必要なくなる。したがって、チャネルの追加や切り替えを高速に行うことが可能となる。
【0085】
(実施の形態4)
図10は、本発明の実施の形態4に係るマルチキャスト通信方法を実施する端末装置の構成例を示すブロック図である。図11は、図10に示す端末装置にて実施される受信データの合成方法を説明する図である。
【0086】
図10に示す端末装置1000は、送信系としてデータ入力部1001とデータ送信部1002とを備え、受信系としてデータ受信部1003とデータ出力部1004とを備えている。
【0087】
送信系では、データ入力部1001は、カメラなどの外部入力装置1005からの映像データを受信し、必要であれば符号化等の処理を行った後、データ送信部1002にデータを送信する。データ送信部1002では、受信したデータをパケット化して、サーバから呼制御メッセージで指定されたマルチキャストチャネルにデータを送信する。
【0088】
また、受信系では、データ受信部1003にてマルチキャストチャネルから受信されたデータは、データ出力部1004に渡される。データ出力部1004では、必要であれば復号化処理を行った後、テレビなどの外部出力装置1006にデータを出力する。
【0089】
このとき、受信系では、データ受信部1003に受信されるマルチキャストチャネルの中には、実際にはサーバが送信端末を割り当てていないマルチキャストチャネルが含まれている場合がある。このような場合は、データ出力部1004は、データ受信部1003から渡されるデータのうち、送信端末が割り当てられている個々のマルチキャストチャネルからの受信データのみが実際の受信データであるので、それを合成して、外部出力装置1006に出力すればよいことになる。
【0090】
例えば、受信データが音声データの場合は、個々のマルチキャストチャネルから受信した音声データをミキシングして、外部出力装置1006に出力すればよい。また、映像データの場合は、図11に示すように、個々のマルチキャストチャネルから受信したデータを合成して一つの画面用の出力データを構成し、出力すればよい。
【0091】
図11では、実際の受信画像データがマルチキャストチャネル2から受信した画像データとマルチキャストチャネル3から受信した画像データとである場合が示され、一つの画面を縦横に2分割したとき、一方の対角線上にある2隅の2画面位置に2つのマルチキャストチャネルからの画像データによる画面を配置し、他方の対角線上にある2隅の2画面位置はブランクの画面を配置した場合が示されている。
【0092】
このように、実施の形態4によれば、通信開始時に実際にはデータが送信されていないチャネルも受信指示によって受信をさせていたとしても、端末を操作するユーザは、実際にその時点で通信に参加している端末の音声データや映像データのみを聴取し視聴することが可能となる。
【0093】
(実施の形態5)
図12は、本発明の実施の形態5に係るマルチキャスト通信方法を説明する図である。実施の形態5では、特にサーバという独立した装置は存在せずに1つの端末がその端末としての機能に加えてサーバの機能を持つ場合が示されている。
【0094】
図12では、端末A1201がその端末機能に加えてサーバの機能を持ち、サーバとしての端末A1201が、通信開始時に、自端末A1201と端末B102とに通信開始指示呼制御メッセージをそれぞれ送ってマルチキャストチャネルの割り当てを行い、通信中に、端末C103に通信開始指示呼制御メッセージを送ってマルチキャストチャネルの割り当てを行う場合が示されている。
【0095】
このように、1つの端末にサーバ機能を容易に取り込むことができる。これによれば、サーバ装置という特別なものは必要なく、端末装置のみで本発明のマルチキャスト通信方法を実施することが可能となる。
【0096】
また、全ての端末にサーバ機能を実装する必要はなく、特別な端末にのみサーバ機能を実装するだけでよい。この場合、そのサーバ機能を持つ端末からのみ通信を開始することが可能になるが、他の端末では、機能の追加はないので、必要となるメモリ量は小さいままでよい。
【0097】
(実施の形態6)
図13は、本発明の実施の形態6に係るマルチキャストチャネル設定方法を説明する図である。
【0098】
ユーザまたは管理者は、図13に示すような管理画面1300を用いて通信で使用するマルチキャストチャネルを設定することができる。管理画面1300には、マルチキャストチャネル入力領域1301と、追加ボタン1302と、マルチキャストチャネル表示領域1303とが用意されている。
【0099】
この管理画面1300では、マルチキャストチャネル入力領域1301に、マルチキャストアドレスとポート番号とを入力する。そして、入力後に追加ボタン1302を押下すると、通信で使用するマルチキャストチャネルが追加され、マルチキャストチャネル表示領域1302に追加したマルチキャストチャネルが表示されるようになっている。
【0100】
サーバ100では、こうして管理画面1300にて登録されたマルチキャストチャネルを用いて、通信開始時に設定するマルチキャストチャネルを決定することが可能である。
【0101】
なお、通信で使用可能なマルチキャストチャネルを決定する他の方法としては、SAP(Session Announcement Protocol)など、ある装置がデータを送信しているマルチキャストチャネルを他の装置に通知するためのプロトコルを用いることが考えられる。
【0102】
即ち、SAPでは、自身がデータを送信しているマルチキャストチャネルの情報を含むメッセージを作成し、プロトコルで規定されたデフォルトのマルチキャストチャネル(アドレス224.2.127.254、ポート9875など)に送る。したがって、サーバ100は、SAPメッセージを監視すれば、他の装置が送信しているマルチキャストチャネルが分かり、結果として、使用されていないマルチキャストチャネルを見つけることが可能となる。
【0103】
そして、サーバが通信の開始時に割り当てたマルチキャストチャネルのうち、クライアントに送信を割り当てていないマルチキャストチャネルについては、他の装置が使用しないように、サーバがSAPメッセージを送信すればよい。
【0104】
この手順は、SAPに限らず、同じような機能を持つプロトコルを用いても可能である。逆に直接空きマルチキャストチャネルを通知する独自プロトコルを用いることも可能である。
【0105】
こうしてサーバは、図13に示すような管理画面1300を用いずに、適切なプロトコルを用いて、通信で使用可能なマルチキャストチャネルを決定することが可能である。
【0106】
【発明の効果】
以上説明したように、本発明によれば、通信中に端末や送信チャネルが追加されたりした場合に、既に通信に参加中の端末に対しては呼制御メッセージを送る必要がないようにし、また実際にデータを受信し始めるまでの接続遅延を小さくすること、及びマルチキャストルーチング処理をゼロにすることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るマルチキャスト通信方法を実施する通信システムの概要を示す図
【図2】図1に示すサーバ及び端末での通信処理手順を説明するフローチャート
【図3】図1に示すサーバと端末との間で送受信されるメッセージを説明する図
【図4】図1に示す端末とネットワーク上に存在するルータとの間で送受信されるメッセージを説明する図(その1)
【図5】図1に示す端末とネットワーク上に存在するルータとの間で送受信されるメッセージを説明する図(その2)
【図6】図1に示すサーバから端末に送信される通信開始指示の呼制御メッセージにおけるヘッダ部分の構成例を示す図
【図7】本発明の実施の形態2に係るマルチキャスト通信方法を実施するサーバ及び端末での通信処理手順を説明するフローチャート
【図8】図7に示すサーバと端末との間で送受信されるメッセージを説明する図
【図9】本発明の実施の形態3に係るマルチキャスト通信方法を説明するシステム図
【図10】本発明の実施の形態4に係るマルチキャスト通信方法を実施する端末装置の構成例を示すブロック図
【図11】図10に示す端末装置にて実施される受信データの合成方法を説明する図
【図12】本発明の実施の形態5に係るマルチキャスト通信方法を説明する図
【図13】本発明の実施の形態6に係るマルチキャストチャネル設定方法を説明する図
【図14】従来のマルチキャストシステムの構成を示すブロック図
【符号の説明】
100 サーバ
101,1201 端末A
102 端末B
103 端末C
104 ネットワーク
401 ルータA
402 ルータA
1000 端末装置
1001 データ入力部
1002 データ送信部
1003 データ受信部
1004 データ出力部
1005 外部入力装置(カメラ)
1006 外部出力装置(テレビ)
1300 管理画面
1301 マルチキャストチャネル入力領域
1302 追加ボタン
1303 マルチキャストチャネル表示領域[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a multicast communication method in which a plurality of terminals communicate using a multicast channel.
[0002]
[Prior art]
In recent years, with the widespread use of the Internet and the increase in so-called broadband users who connect to the Internet in a band of several Mbps or more, demands for services utilizing a broadband network are increasing. As one of such broadband services, there are services such as videophone and video conference.
[0003]
Video telephony and video conferencing using the Internet are described in ITU-T Recommendation H.264. Using a call control protocol such as SIP (Session Initiation Protocol) of H.323 or RFC2543 of ITFF, a call control message for controlling the start of a call is exchanged between a calling terminal and a called terminal, A channel for receiving video and audio data from the other party and a channel for transmitting video and audio data to the other party are determined. Upon completion of the exchange of the call control message, the terminal transmits data to the determined channel. In the case of a videophone or videoconference using the Internet, audio and video data are transmitted and received using UDP (User Datagram Protocol).
[0004]
Here, the channel is distinguished by an IP address and a UDP port number. That is, data is transmitted from the partner terminal to the IP address and port number specified by the terminal, and conversely, data is transmitted to the IP address and port number specified by the terminal itself.
[0005]
By the way, in the case of a one-to-one call, a data channel may be set between terminals, but in a conference call in which three or more terminals are connected, data is sent to a plurality of terminals, and data is sent from a plurality of terminals. Need to receive. In this case, a channel is set in a mesh shape between a plurality of terminals, data is transmitted to all other terminals as described above, and conversely, data is received from all other terminals. And the amount of data sent to the device is wasteful. One of the methods for reducing this waste is to use multicast.
[0006]
That is, by using multicast, if each terminal transmits data to a different multicast channel and conversely receives data from all multicast channels transmitted by terminals other than the own terminal, a conference call is performed. It becomes possible. At this time, the number of multicast channels is required only for the number of terminals, so that the network can be used more effectively than a method of setting channels in a mesh.
[0007]
In the Internet, since IP is used as a network protocol, IP multicast is used as a multicast technique. In the IP multicast, when one terminal transmits data to one multicast address, a plurality of terminals can receive data from the multicast address.
[0008]
A terminal that wants to perform multicast communication needs to join a multicast group. When joining a multicast group, an IGMP report requesting to join the multicast group is transmitted to a router in a subnet to which the router belongs by using a protocol called IGMP (Internet Group Management Protocol). The router that has received the IGMP report transmits and receives a multicast routing message to and from another router by using a multicast routing protocol used between routers, such as a DVMRP (Distance Vector Multicast Routing Protocol) and a PIM (Protocol Independent Multicast). Thus, information of the multicast group is exchanged, thereby forming a multicast tree from the transmitting terminal to the receiving terminal.
[0009]
As described above, in order for a certain terminal to join a certain multicast group and start transmitting and receiving data, the specific contents of the processing required according to the type of the multicast routing protocol are different, but the processing of the IGMP is different. Processing of a multicast routing protocol between routers is required. Then, when information of a receiving terminal or a transmitting terminal is changed, using a multicast routing protocol such as DVMRP to transmit the information reduces the delay time until a content change can be transmitted to the entire group. And
[0010]
FIG. 14 is a block diagram showing a configuration of a conventional multicast system. In FIG. 14, the
[0011]
In a conventional conference system using a private branch exchange (PBX) or the like, a user operates a telephone to make a conference call. There are several methods for transitioning to a conference call. When a conference call is established, audio data is transmitted from each telephone to the PBX, and the PBX transmits audio data from all telephones participating in the conference. Mix and send to each phone. To add members to a conference call, call the additional phones and add them to the conference.
[0012]
A call is set between the PBX and each telephone in the same manner as in a normal one-to-one call. Calls are added as more users join the meeting. The reason is that it is necessary to set up a one-to-one call with the member to be added. In addition, since this call is the same as a normal telephone, the user is charged only during the call. For this reason, it is possible to reduce the cost by providing the extension only when necessary.
[0013]
However, in the case of communication using the Internet, if the fixed charging connection is used, the cost is constant regardless of the amount of data to be transmitted, so it is meaningless to set up a call only when necessary, and from the beginning of the communication. There is no extra cost for setting up a call.
[0014]
In addition, even in the case of a pay-as-you-go connection, the data amount of the call control message transmitted and received to set up the call is negligibly small compared to the voice data of the telephone transmitted and received after the connection. Even in this case, even if a call is set from the beginning of the communication, the amount of cost increased due to the call can be ignored.
[0015]
[Patent Document 1]
JP 2001-257718 A (0018 to 0019, FIG. 1)
[0016]
[Problems to be solved by the invention]
However, in the above conventional communication method, when a terminal is newly added as a member during communication such as during a video conference or when a transmission channel is added to a terminal already participating in communication, the server For the terminals that have already joined the communication, what is the multicast channel that the added terminal is transmitting, or what is the multicast channel that the members that have already joined additionally start transmitting? However, there is a problem that all terminals need to be notified using a call control message.
[0017]
Further, in the above conventional communication method, after an instruction to add a receiving multicast channel is given by a call control message, a terminal sends an IGMP message to a router, and the router further exchanges a message of a multicast routing protocol such as DVMRP for the first time. Since the multicast tree is formed and the data is relayed thereafter, there is also a problem that there is a large delay from when the call control message indicates the addition of the received multicast channel to when the data is actually received on the channel.
[0018]
Further, in the communication method described in
[0019]
The present invention has been made in view of such a point, and when a terminal or a transmission channel is added during communication, multicast communication that does not need to send a call control message to a terminal already participating in communication. The aim is to provide a method.
[0020]
Another object of the present invention is to provide a multicast communication method in which, when a terminal or a transmission channel is added during communication, a connection delay until actually starting to receive data is small.
[0021]
Further, another object of the present invention is to provide a multicast communication method that can reduce the multicast routing processing to zero when a terminal or a transmission channel is added during communication.
[0022]
[Means for Solving the Problems]
A multicast communication method according to the present invention is a multicast communication method in which a plurality of terminals under the server transmit using one multicast channel specified by the server and receive data from the plurality of multicast channels specified by the server. In the above, the server allocates, to two or more initial participating terminals participating in the communication at the start of communication, reception instructions from all multicast channels including a multicast channel that may be added in the future, and to each of them. Transmitting a call control message including a transmission instruction to one or more multicast channels, and instructing all the initial participating terminals to start communication, and performing one or more intermediate steps for newly joining communication during subsequent communication Instructing the participating terminals to receive from all the multicast channels Transmitting a call control message including a transmission instruction to one or more multicast channels allocated to each of the multicast channels not allocated to the initial participating terminals, and instructing all the participating terminals to start communication; Receiving each of the call control messages, receiving data from a multicast channel specified by the reception instruction, and transmitting data to the multicast channel specified by the transmission instruction. , Was provided.
[0023]
According to this method, the server allocates a plurality of multicast channels to the communication in advance at the start of communication, and instructs the initial joining terminal to receive all of the multicast channels, and the initial joining terminal issues a call control message reception instruction at the start of communication. Is ready to receive all of the multicast channels specified by. Therefore, when the server has participated in the middle during the communication, the server only instructs the midway participant terminal to transmit to the channel to which no terminal is transmitting among the multicast channels allocated at the start of communication. It is not necessary to send a call control message to the initial participating terminal that has already participated in the communication.
[0024]
In addition, since the initial participation terminal receives the multicast channel specified by the reception instruction at the start of communication, there is no need to execute procedures such as IGMP and DVMRP. Therefore, the delay time from when the participating terminal starts transmitting data on the multicast channel to when each terminal receives the data is reduced.
[0025]
Further, in the multicast communication method according to the present invention, in the above invention, the server may provide a multicast channel that may be added in the future to at least one of the initial participating terminals among all of the initial participating terminals during communication. And transmitting a call control message including an instruction to receive from all the multicast channels including at least one of the multicast channels and an instruction to transmit to one or more multicast channels assigned from among the multicast channels not assigned at the start of communication, and And a step of giving a communication start instruction including
[0026]
According to this method, the server issues a communication start instruction including an additional multicast channel to at least one of the initial participating terminals during the communication, so that the terminal starts the communication at the beginning. In addition to the transmission channel specified in, data can be transmitted to the additional transmission channel. However, an initial participant terminal that has not received the additional transmission channel can also receive data from the additional channel. Therefore, there is no need to send a call control message to the initial joining terminal that has not received the additional transmission channel.
[0027]
In addition, since the initial participating terminal that has not received the transmission channel receives the multicast channel specified by the reception instruction at the time of starting communication, there is no need to execute procedures such as IGMP and DVMRP. Therefore, the delay time from when the initial participating terminal receiving the transmission channel starts transmitting data on the additional channel to when each terminal receives the data is reduced.
[0028]
Further, in the multicast communication method according to the present invention, in the above invention, during the communication, the initial participation terminal transmits a call control message including a request for adding a multicast channel used for transmission, and the server includes the request for addition. Receiving a call control message, receiving instructions from all multicast channels including a multicast channel that may be added in the future, and transmitting instructions to one or more multicast channels allocated from multicast channels not allocated at the start of communication. And transmitting a call control message including the additional multicast channel and issuing a communication start instruction including the additional multicast channel.
[0029]
According to this method, when each terminal requests the server to add a transmission channel during communication, the server can instruct the terminal to add the transmission channel according to the request. Therefore, for example, when the user operating the terminal is transmitting his or her audio or video data and wants to also send presentation data, the terminal requests the server to add a channel, and the server It is possible to add a channel to be transmitted by having a channel allocated from.
[0030]
Further, in the multicast communication method according to the present invention, in the above invention, at least the initial participation terminal periodically transmits dummy data to a multicast channel specified by the reception instruction, and receives the received dummy data. And a step of discarding.
[0031]
According to this method, each terminal periodically transmits the dummy data to the other terminals, so that the multicast tree is always kept up to date from the individual terminals to the other terminals. It becomes possible. Therefore, when a channel is added by adding a channel during communication, it is not necessary to newly construct or update the multicast tree. As a result, the delay time from when one terminal starts transmitting data to when another terminal receives data is reduced. Further, the multicast routing processing can be reduced to zero.
[0032]
Further, in the multicast communication method according to the present invention, in the above invention, the transmitting terminal as the initial participation terminal and the intermediate participation terminal processes audio data and video data from an input device to generate transmission data, Transmitting the transmission data on the multicast channel specified by the transmission instruction, the receiving terminal performs reception processing on all the multicast channels specified by the reception instruction, And synthesizing data from the existing multicast channel and outputting it to the output device.
[0033]
According to this method, even when a channel to which data is not actually transmitted is received according to the reception instruction at the time of starting communication, the user operating the terminal can use the terminal that is actually participating in the communication at that time. It is possible to listen to and view only the audio / video data.
[0034]
Further, in the multicast communication method according to the present invention, in the above invention, in the server, a user or an administrator edits setting information of the server and allocates the setting information to the communication using a multicast channel set to be usable for communication. A step of determining a multicast channel is provided.
[0035]
According to this method, a user or an administrator can set a multicast channel to be used for communication to the server, and the server can assign a multicast channel to be used for communication based on the information set in this way. it can.
[0036]
Further, in the multicast communication method according to the present invention, in the above invention, in the server, the server receives a message from another device and allocates the message to the communication using a multicast channel available for communication obtained from the received message. A step of determining a multicast channel is provided.
[0037]
According to this method, the server can receive a message such as an SAP (Session Announcement Protocol) transmitted by another device such as a moving image distribution device. By setting a multicast channel that has been set, it becomes possible to search for a multicast channel that can be used for communication by itself. Therefore, even when there are other applications for multicast communication on the same network, it is possible to dynamically search for an available multicast channel and use it for communication.
[0038]
Also, in the multicast communication method according to the present invention, one terminal among a plurality of terminals participating in communication has a function of acting for the server operation of the above invention, and all terminals including the terminal having the server function are included. Terminal performs the terminal operation of the above invention.
[0039]
According to this method, one of the terminals participating in the communication can perform the server operation in addition to the terminal operation. Therefore, the multicast communication method of the present invention can be performed only by the terminal without the server. Can be implemented.
[0040]
BEST MODE FOR CARRYING OUT THE INVENTION
The gist of the present invention is that in a multicast communication in which a plurality of terminals participate in a conference call or the like, at the start of communication, the server issues a reception instruction including a multicast channel to be added in the future, so that the terminal and the When a transmission channel is added, it is not necessary to send a call control message to terminals already participating in communication, a connection delay before actually starting to receive data is reduced, and a multicast routing is performed. It is possible to make the processing zero.
[0041]
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0042]
(Embodiment 1)
FIG. 1 is a diagram showing an outline of a communication system that implements a multicast communication method according to
[0043]
For example, the terminal A101 transmits / receives the call control message 110 to / from the
[0044]
Although not shown, the other terminals B102 and C103 similarly transmit / receive a call control message to / from the
[0045]
Next, a multicast communication method according to the first embodiment implemented in the communication system configured as described above will be described with reference to FIGS. FIG. 2 is a flowchart illustrating a communication processing procedure in the server and the terminal illustrated in FIG. FIG. 3 is a diagram for explaining messages transmitted and received between the server and the terminal shown in FIG. FIG. 4 is a view for explaining messages transmitted and received between the terminal shown in FIG. 1 and a router existing on the network (part 1). FIG. 5 is a view for explaining messages transmitted and received between the terminal shown in FIG. 1 and a router existing on the network (part 2). FIG. 6 is a diagram showing a configuration example of a header portion in a call control message of a communication start instruction transmitted from the server shown in FIG. 1 to the terminal.
[0046]
2, as shown in FIG. 2A,
[0047]
In FIG. 3, at the time of starting communication, the
[0048]
In FIG. 3, the call control message of the communication start instruction transmitted to the terminal A101 instructs that three of the
[0049]
On the other hand, when the terminal receives the call control message as shown in FIG. 2 (B) (step ST210), the terminal starts receiving all the reception channels specified by the call control message, and (Step ST211), data transmission is started on the transmission channel specified by the call control message (Step ST212), and data reception processing (Step ST211) and data transmission processing (Step ST212) until communication is completed. Is repeatedly executed.
[0050]
In the example of FIG. 3, at the start of communication, the terminal A101 starts receiving all of the
[0051]
Note that the transmission instruction of the call control message does not need to include the data transmission channel. In this case, the data transmission processing (step 212) is not performed, and only the data reception processing (step ST211) is performed.
[0052]
As shown in FIG. 4, when the terminal A101, the terminal B102, and the terminal C103 start receiving the
[0053]
At this time, the router A401 informs the other router B402 that it wants to relay the data of the
[0054]
However, at the start of communication, the terminal C103 has not participated in communication, and the router A401 has not sent an IGMP message to the router B402. Therefore, even when the router A401 receives data to the
[0055]
Next, when the terminal A101 starts transmission to the
[0056]
Similarly, when the terminal A101, the terminal B102, and the terminal C103 start receiving the multicast channel 2, the IGMP message and the multicast routing message are exchanged.
[0057]
Although the sender is not assigned to the multicast channel 3 at the start of the communication, in the present invention, the terminals A101 and B102 also start receiving the multicast channel 3 at the start of the communication. Messages and multicast routing messages are exchanged. As a result, when receiving data to the multicast channel 3, the router B402 knows that the data must be relayed to the router A401.
[0058]
The
[0059]
However, the terminal A101 and the terminal B102 have already been instructed to receive the multicast channel 3. Therefore,
[0060]
The terminal C103 starts receiving three channels, and thus sends an IGMP message to the router B402. The
[0061]
As a result, the router A401 relays the data of the
[0062]
Also, as shown in FIG. 5, when terminal C103 transmits data to multicast channel 3, router B402 already knows that it must relay to router A401 when receiving data to multicast channel 3. Immediately relay the data to the router A401. Router A401 relays data to terminal A101 and terminal B102.
[0063]
Therefore, even when the terminal C103 joins the communication and starts data transmission using the multicast channel 3, the terminal A101 and the terminal B102 are not affected by the delay caused by the exchange of the IGMP message and the multicast routing message, and the terminal C103 is not affected by the delay. Can receive data.
[0064]
In particular, when the network configuration is complicated and a plurality of routers exist between terminals, it takes time to exchange multicast routing messages. However, according to the method of the present invention, such a delay does not occur.
[0065]
Also, regarding the call control messages transmitted from the
[0066]
If the SIP address of the
[0067]
That is, the call control message of the communication start instruction transmitted from the
[0068]
As the SDP, a multicast address 224.1.1.1 and a
[0069]
As described above, according to the first embodiment, at the start of communication, the server issues a reception instruction including a multicast channel to be added in the future. Therefore, even when a terminal is added during communication, There is no need to send a call control message to terminals already participating in communication, and high-speed terminals can be added.
[0070]
(Embodiment 2)
FIG. 7 is a flowchart illustrating a communication processing procedure in a server and a terminal that implement the multicast communication method according to Embodiment 2 of the present invention. FIG. 8 is a diagram illustrating messages transmitted and received between the server and the terminal shown in FIG. In the second embodiment, a multicast communication method performed between the
[0071]
In FIG. 7, the processing (B) of the terminal A101 and the terminal B102 is the same as that of FIG. 2 (B). In the process (A) of the
[0072]
In the channel addition process (step ST701), the
[0073]
That is, in FIG. 8, at the start of communication, the
[0074]
Upon receiving this channel addition request call control message,
[0075]
For example, when the terminal A101 and the terminal B102 are in a video conference and their own video and audio are mutually transmitted and received, and the user who operates the terminal A101 wants to send further data for presentation. The terminal A101 can add a presentation multicast channel by transmitting the above-mentioned channel addition request call control message, and can transmit presentation data to another terminal B102.
[0076]
It is needless to say that the addition of a channel during communication can be performed by a judgment unique to the
[0077]
As described above, according to the second embodiment, at the start of communication, when the server issues a reception instruction including a multicast channel to be added in the future, the transmission channel transmitted by the terminal during communication is added. However, it is not necessary to send a call control message to terminals already participating in communication, and a high-speed channel can be added.
[0078]
(Embodiment 3)
FIG. 9 is a system diagram illustrating a multicast communication method according to Embodiment 3 of the present invention. FIG. 9 shows a case where the terminal A101 and the terminal B102 transmit and receive dummy data via the router A401 shown in FIG. 4 and FIG.
[0079]
[0080]
The terminal A101 transmits dummy data to the
[0081]
By the way, from the communication state, when the transmission to the multicast channel 3 is added to the terminal A101, the terminal A101 starts data transmission to the multicast channel 3. The data is relayed to terminal B102 via router A401.
[0082]
At this time, since the router A401 has already relayed the dummy data, the delay of data relay in the router A401 is reduced. If the terminal A101 has not transmitted dummy data and the router A401 has received data to the multicast channel 3 for the first time from the terminal A101, the router A401 updates its own multicast management table, Alternatively, it may be necessary to send a multicast routing protocol message to another router.
[0083]
However, if the dummy data is transmitted as described above, the router A401 has already performed such processing at the time of starting the transmission of the dummy data, and is not required when the terminal A101 starts the data transmission. . Also, by periodically transmitting the dummy data, it is possible to keep the state of the management data and multicast routing in the router always up to date.
[0084]
As described above, according to the third embodiment, dummy data can be periodically transmitted in advance to a multicast channel that may be instructed to be transmitted in the future. This eliminates the need for processing in the router at the relay stage. Therefore, it is possible to add or switch channels at high speed.
[0085]
(Embodiment 4)
FIG. 10 is a block diagram illustrating a configuration example of a terminal device that performs the multicast communication method according to Embodiment 4 of the present invention. FIG. 11 is a diagram illustrating a method of combining received data performed by the terminal device shown in FIG.
[0086]
The terminal device 1000 shown in FIG. 10 includes a
[0087]
In the transmission system, the
[0088]
In the receiving system, data received from the multicast channel by the
[0089]
At this time, in the receiving system, the multicast channel received by the
[0090]
For example, when the received data is audio data, the audio data received from each multicast channel may be mixed and output to the
[0091]
FIG. 11 shows a case where the actual received image data is the image data received from the multicast channel 2 and the image data received from the multicast channel 3, and when one screen is divided into two vertically and horizontally, one diagonal line is displayed. 2 shows a case where screens based on image data from two multicast channels are arranged at two screen positions at two corners, and blank screens are arranged at two screen positions at two corners on the other diagonal line.
[0092]
As described above, according to the fourth embodiment, even when a channel to which data is not actually transmitted is received by the reception instruction at the time of starting communication, the user operating the terminal actually communicates at that time. It is possible to listen and view only the audio data and video data of the terminals participating in the program.
[0093]
(Embodiment 5)
FIG. 12 is a diagram illustrating a multicast communication method according to Embodiment 5 of the present invention. In the fifth embodiment, a case is shown in which one terminal has a server function in addition to a function as the terminal without an independent device called a server.
[0094]
In FIG. 12,
[0095]
In this way, the server function can be easily loaded into one terminal. According to this, a special server device is not required, and the multicast communication method of the present invention can be implemented only by the terminal device.
[0096]
In addition, it is not necessary to implement the server function in all terminals, and it is sufficient to implement the server function only in a special terminal. In this case, it is possible to start communication only from the terminal having the server function, but since the other terminals do not add a function, the required memory amount may be kept small.
[0097]
(Embodiment 6)
FIG. 13 is a diagram illustrating a multicast channel setting method according to Embodiment 6 of the present invention.
[0098]
The user or the administrator can set a multicast channel used for communication using a
[0099]
On this
[0100]
The
[0101]
As another method of determining a multicast channel that can be used for communication, a protocol such as SAP (Session Announcement Protocol) for notifying another device of a multicast channel on which a device is transmitting data is used. Can be considered.
[0102]
That is, the SAP creates a message including information on the multicast channel to which it is transmitting data, and sends the message to the default multicast channel (address 224.2127.254, port 9875, etc.) defined by the protocol. Therefore, if the
[0103]
Then, among the multicast channels allocated by the server at the start of the communication, the server may transmit the SAP message so that the other devices do not use the multicast channel to which transmission is not allocated to the client.
[0104]
This procedure is not limited to SAP, but can be performed using a protocol having a similar function. Conversely, it is also possible to use a proprietary protocol for directly notifying an empty multicast channel.
[0105]
Thus, the server can determine a multicast channel that can be used for communication using an appropriate protocol without using the
[0106]
【The invention's effect】
As described above, according to the present invention, when a terminal or a transmission channel is added during communication, a call control message need not be sent to a terminal already participating in communication, This makes it possible to reduce the connection delay before actually starting to receive data and to reduce the multicast routing processing to zero.
[Brief description of the drawings]
FIG. 1 is a diagram showing an outline of a communication system that implements a multicast communication method according to a first embodiment of the present invention.
FIG. 2 is a flowchart illustrating a communication processing procedure in a server and a terminal illustrated in FIG. 1;
FIG. 3 is a view for explaining messages transmitted and received between the server and the terminal shown in FIG. 1;
FIG. 4 is a view for explaining messages transmitted and received between the terminal shown in FIG. 1 and a router existing on the network (part 1)
FIG. 5 is a view for explaining messages transmitted and received between the terminal shown in FIG. 1 and a router existing on the network (part 2)
FIG. 6 is a diagram showing a configuration example of a header part in a call control message of a communication start instruction transmitted from the server shown in FIG. 1 to the terminal.
FIG. 7 is a flowchart illustrating a communication processing procedure in a server and a terminal that implement the multicast communication method according to the second embodiment of the present invention.
FIG. 8 is a view for explaining messages transmitted and received between the server and the terminal shown in FIG. 7;
FIG. 9 is a system diagram illustrating a multicast communication method according to Embodiment 3 of the present invention.
FIG. 10 is a block diagram showing a configuration example of a terminal device that implements a multicast communication method according to Embodiment 4 of the present invention.
11 is an exemplary view for explaining a method of synthesizing received data performed by the terminal device shown in FIG. 10;
FIG. 12 is a diagram illustrating a multicast communication method according to Embodiment 5 of the present invention.
FIG. 13 is a diagram illustrating a multicast channel setting method according to Embodiment 6 of the present invention.
FIG. 14 is a block diagram showing a configuration of a conventional multicast system.
[Explanation of symbols]
100 servers
101, 1201 Terminal A
102 Terminal B
103 Terminal C
104 Network
401 Router A
402 Router A
1000 terminal device
1001 Data input section
1002 Data transmission unit
1003 Data receiving unit
1004 Data output unit
1005 External input device (camera)
1006 External output device (TV)
1300 management screen
1301 Multicast channel input area
1302 Add button
1303 Multicast channel display area
Claims (8)
前記サーバは、通信開始時において通信に参加している2つ以上の初期参加端末に対し、将来追加する可能性のあるマルチキャストチャネルを含めた全マルチキャストチャネルからの受信指示とそれぞれに割り当てた1つ以上のマルチキャストチャネルへの送信指示とを含む呼制御メッセージを送信し、全ての初期参加端末に通信開始指示を行う工程と、
その後の通信中において新たに通信に参加する1つ以上の途中参加端末に対し、前記全マルチキャストチャネルからの受信指示と前記初期参加端末に割り当てていないマルチキャストチャネルの中からそれぞれに割り当てた1つ以上のマルチキャストチャネルへの送信指示とを含む呼制御メッセージを送信し、全ての途中参加端末に通信開始指示を行う工程と、を具備し、
前記各端末は、前記呼制御メッセージを受けて、前記受信指示にて指定されたマルチキャストチャネルからデータを受信し、前記送信指示にて指定されたマルチキャストチャネルにデータ送信を行う工程、を有することを特徴とするマルチキャスト通信方法。In a multicast communication method in which each of a plurality of terminals under the server transmits using one multicast channel designated by the server and receives data from the plurality of multicast channels designated by the server,
The server assigns, to two or more initial participating terminals participating in communication at the start of communication, reception instructions from all multicast channels including a multicast channel that may be added in the future, and one assigned to each of them. Transmitting a call control message including a transmission instruction to the above multicast channel, and performing a communication start instruction to all the initial participating terminals;
During the subsequent communication, one or more intermediate participating terminals newly participating in the communication are instructed to receive from all the multicast channels, and at least one of the multicast channels not allocated to the initial participating terminal is allocated to each of them. Transmitting a call control message including a transmission instruction to the multicast channel of, and instructing all the participating terminals to start communication, comprising:
Each terminal receiving the call control message, receiving data from a multicast channel specified by the reception instruction, and performing data transmission on the multicast channel specified by the transmission instruction. Characteristic multicast communication method.
前記受信端末は、前記受信指示によって指示された全マルチキャストチャネルについて受信処理し、その中で実際に使用されているマルチキャストチャネルからのデータを合成して出力装置に出力する工程、を有することを特徴とする請求項1から請求項4のいずれかに記載のマルチキャスト通信方法。The transmitting terminal as the initial participation terminal and the intermediate participation terminal processes audio data and video data from the input device to generate transmission data, and transmits the transmission data on a multicast channel specified by the transmission instruction. Having a step of
The receiving terminal performs a receiving process on all the multicast channels indicated by the reception instruction, and combines the data from the multicast channel actually used therein and outputs the combined data to an output device. The multicast communication method according to any one of claims 1 to 4, wherein
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003125655A JP2004336160A (en) | 2003-04-30 | 2003-04-30 | Multicast communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003125655A JP2004336160A (en) | 2003-04-30 | 2003-04-30 | Multicast communication method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004336160A true JP2004336160A (en) | 2004-11-25 |
Family
ID=33502856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003125655A Pending JP2004336160A (en) | 2003-04-30 | 2003-04-30 | Multicast communication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004336160A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009152906A (en) * | 2007-12-20 | 2009-07-09 | Panasonic Corp | Connection device, connection method for the same, and program |
US8140844B2 (en) | 2006-07-26 | 2012-03-20 | Kabushiki Kaisha Toshiba | Server apparatus, terminal device, and method for performing IP multicast communication |
JP2016504877A (en) * | 2012-12-27 | 2016-02-12 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh | Audio stream device |
-
2003
- 2003-04-30 JP JP2003125655A patent/JP2004336160A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8140844B2 (en) | 2006-07-26 | 2012-03-20 | Kabushiki Kaisha Toshiba | Server apparatus, terminal device, and method for performing IP multicast communication |
JP2009152906A (en) * | 2007-12-20 | 2009-07-09 | Panasonic Corp | Connection device, connection method for the same, and program |
US8676889B2 (en) | 2007-12-20 | 2014-03-18 | Panasonic Corporation | Connection device, connection method for the same, and program |
JP2016504877A (en) * | 2012-12-27 | 2016-02-12 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh | Audio stream device |
US9998605B2 (en) | 2012-12-27 | 2018-06-12 | Robert Bosch Gmbh | Audio stream arrangement |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1678951B1 (en) | System and method for performing distributed video conferencing | |
US8659636B2 (en) | System and method for performing distributed video conferencing | |
US8339997B2 (en) | Media based collaboration using mixed-mode PSTN and internet networks | |
US7328240B2 (en) | Distributed multipoint conferencing | |
US20030023672A1 (en) | Voice over IP conferencing server system with resource selection based on quality of service | |
US20070041366A1 (en) | Distributed conference bridge | |
AU2004202516B2 (en) | VoIP System, VoIP Server and Client, and Multicast Packet Communication Method | |
WO2000025222A1 (en) | Speaker identifier for multi-party conference | |
EP2130346B1 (en) | Media stream setup in a group communication system | |
KR20090022137A (en) | A mobile communication terminal having multilateral image communication function and multilateral method for converting image communication mode thereof | |
US20110187813A1 (en) | Method of Connecting Mesh-Topology Video Sessions to a Standard Video Conference Mixer | |
JP2007072739A (en) | Multipoint conference system, multipoint conference apparatus, and client terminal | |
US8676889B2 (en) | Connection device, connection method for the same, and program | |
JP2005311670A (en) | Terminal, system and method for television conference, and program therefor | |
US20120089680A1 (en) | Communication apparatus, communication system and session control method | |
JP5579660B2 (en) | Multipoint video conferencing equipment | |
JP2004336160A (en) | Multicast communication method | |
JP2009246885A (en) | Conference communication system | |
JP2005333446A (en) | Teleconference system, teleconference method, and communication terminal | |
US20100020156A1 (en) | Method and device for simultaneous multipoint distributing of video, voice and data | |
JP6692922B2 (en) | Video conferencing server and method capable of providing multi-screen video conferencing using a plurality of video conferencing terminals | |
US20080267092A1 (en) | Method and Apparatus for Maintaining Continuous Connections for Audio/Visual Communications | |
JP3973966B2 (en) | Multipoint conference system, terminal device of multipoint conference system, and data mixing processing device of multipoint conference system | |
KR20090072761A (en) | System and method for performing video communicaiton | |
KR100419801B1 (en) | The method of Video-Conference by Multi-point Signal Control Server |