(57)【特許請求の範囲】
【請求項１】
配信元端末と利用者端末との間のマルチキャストデータの配信を制御する中継装置において、
利用者ＩＤと当該利用者ＩＤの参加状況とを含む配信制御情報を記憶する配信制御情報記憶手段と、
前記マルチキャストデータの前記配信元端末からマルチキャストグループへの参加を認める１以上の利用者の利用者ＩＤを受信すると、当該利用者ＩＤを前記配信制御情報記憶手段に登録することで前記配信制御情報を更新するＩＤ受信手段と、
前記利用者ＩＤを含む前記マルチキャストグループへの参加要求を前記利用者端末から受信する参加要求受信手段と、
前記参加要求の対象となる前記マルチキャストグループへの参加が認められた前記利用者として前記参加要求に含まれる前記利用者ＩＤが前記配信制御情報記憶手段に記憶された前記配信制御情報に含まれており、かつ、前記マルチキャストグループへの前記利用者ＩＤの前記参加状況が未参加であるかを判定し、前記マルチキャストグループへの参加が認められた前記利用者として前記参加要求に含まれる前記利用者ＩＤが前記配信制御情報に含まれており、かつ、前記マルチキャストグループへの前記利用者ＩＤの前記参加状況が未参加である場合、前記配信制御情報に含まれる前記マルチキャストグループへの前記利用者ＩＤの前記参加状況を参加済みに更新する認証手段と、
前記認証手段により、前記マルチキャストグループへの参加が認められた前記利用者として前記参加要求に含まれる前記利用者ＩＤが前記配信制御情報に含まれており、かつ、前記マルチキャストグループへの前記利用者ＩＤの前記参加状況が未参加であると判定された場合、前記参加要求を送信した前記利用者端末に前記マルチキャストグループの前記マルチキャストデータを配信するデータ配信手段と、
前記配信制御情報が更新されると、前記配信元端末と他の利用者端末との間の前記マルチキャストデータの配信を制御する他の中継装置に前記配信制御情報の更新内容を送信する同期手段と、
を有することを特徴とする中継装置。
【請求項２】
配信元端末と利用者端末との間のマルチキャストデータの配信を制御する中継コンピュータで用いられるマルチキャスト処理プログラムにおいて、
コンピュータを、
利用者ＩＤと当該利用者ＩＤの参加状況とを含む配信制御情報を記憶する配信制御情報記憶手段、
前記マルチキャストデータの前記配信元端末からマルチキャストグループへの参加を認める１以上の利用者の利用者ＩＤを受信すると、当該利用者ＩＤを前記配信制御情報記憶手段に登録することで前記配信制御情報を更新するＩＤ受信手段、
前記利用者ＩＤを含む前記マルチキャストグループへの参加要求を前記利用者端末から受信する参加要求受信手段、
前記参加要求の対象となる前記マルチキャストグループへの参加が認められた前記利用者として前記参加要求に含まれる前記利用者ＩＤが前記配信制御情報記憶手段に記憶された前記配信制御情報に含まれており、かつ、前記マルチキャストグループへの前記利用者ＩＤの前記参加状況が未参加であるかを判定し、前記マルチキャストグループへの参加が認められた前記利用者として前記参加要求に含まれる前記利用者ＩＤが前記配信制御情報に含まれており、かつ、前記マルチキャストグループへの前記利用者ＩＤの前記参加状況が未参加である場合、前記配信制御情報に含まれる前記マルチキャストグループへの前記利用者ＩＤの前記参加状況を参加済みに更新する認証手段、
前記認証手段により、前記マルチキャストグループへの参加が認められた前記利用者として前記参加要求に含まれる前記利用者ＩＤが前記配信制御情報に含まれており、かつ、前記マルチキャストグループへの前記利用者ＩＤの前記参加状況が未参加であると判定された場合、前記参加要求を送信した前記利用者端末に前記マルチキャストグループの前記マルチキャストデータを配信するデータ配信手段、
前記配信制御情報が更新されると、前記配信元端末と他の利用者端末との間の前記マルチキャストデータの配信を制御する他の中継装置に前記配信制御情報の更新内容を送信する同期手段、
として機能させることを特徴とするマルチキャスト処理プログラム。
【請求項３】
配信元端末と利用者端末との間のマルチキャストデータの配信を制御する中継装置のマルチキャスト処理方法において、
前記マルチキャストデータの前記配信元端末からマルチキャストグループへの参加を認める１以上の利用者の利用者ＩＤを受信し、
前記マルチキャストグループの前記利用者ＩＤと当該利用者ＩＤの参加状況とを含む配信制御情報を配信制御情報記憶手段に登録するとともに、登録された内容を前記配信元端末と他の利用者端末との間の前記マルチキャストデータの配信を制御する他の中継装置に送信し、
前記利用者ＩＤを含む前記マルチキャストグループへの参加要求を前記利用者端末から受信し、
前記参加要求の対象となる前記マルチキャストグループへの参加が認められた前記利用者として前記参加要求に含まれる前記利用者ＩＤが前記配信制御情報記憶手段に記憶された前記配信制御情報に含まれており、かつ、前記マルチキャストグループへの前記利用者ＩＤの前記参加状況が未参加であるかを判定し、
前記マルチキャストグループへの参加が認められた前記利用者として前記参加要求に含まれる前記利用者ＩＤが前記配信制御情報に含まれており、かつ、前記マルチキャストグループへの前記利用者ＩＤの前記参加状況が未参加であると判定した場合、前記配信制御情報に含まれる前記マルチキャストグループへの前記利用者ＩＤの前記参加状況を参加済みに更新して前記参加要求を送信した前記利用者端末に前記マルチキャストグループの前記マルチキャストデータを配信し、
前記配信制御情報が更新されると、前記他の中継装置に前記配信制御情報の更新内容を送信する、
ことを特徴とするマルチキャスト処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、マルチキャスト処理プログラムおよびマルチキャスト処理方法に関し、特にマルチキャストデータの配信を制御する中継装置、マルチキャスト処理プログラムおよびマルチキャスト処理方法に関する。
【背景技術】
【０００２】
従来、データを多数の端末に配信する方法として、マルチキャストが知られている。マルチキャストとは、１対多のデータ配信を実現する技術であり、特定のグループに属する端末に対して、データを一斉に配信することができる。このグループは、マルチキャストグループと呼ばれ、マルチキャストアドレス（クラスＤアドレス：２２４．０．０．０〜２３９．２５５．２５５．２５５）によって識別される。
【０００３】
マルチキャストによるデータ配信方法は、配信元から配信された１つのデータをネットワーク機器が、特定の端末のみにデータを複製して配信する。このため、配信元が全ての端末毎にデータを生成して送信するユニキャスト送信や１つのデータをネットワーク機器が同サブネット上の全ての端末に対してデータを複製して送信するブロードキャスト送信に比べて、ネットワーク帯域の利用効率が良い。この利点から、大容量のデータ、例えば、動画などのマルチメディアデータを扱うアプリケーションソフト（以下、アプリケーションという）がデータを送受信する方法に利用されている。このようなアプリケーションとして、例えば、ＴＶ会議システムを実現するアプリケーションがある。
【０００４】
ここで、マルチキャストでは、端末の接続制御にＩＧＭＰ（Internet Group Management Protocol）というプロトコルを用いる。しかし、ＩＧＭＰは、接続先のマルチキャストグループアドレスを指定して接続要求を送信しさえすれば、どの端末からも接続可能であり、配信されているデータを受信できる。すなわち、第３者によるデータ受信を許可してしまう。このため、端末の接続を制御して、許可された端末にのみデータを配信したいという用途には適していない。
【０００５】
この課題に対し、認証サーバでの認証が承認された端末にのみ動画コンテンツなどのデータを配信するためのプロトコルとしてＩＧＡＰ（Internet Group membership Authentication Protocol）が知られている（例えば、非特許文献１参照）。ＩＧＡＰでは、ＩＧＭＰを拡張し、ユーザＩＤやパスワードなど、認証やその他の拡張処理に必要なパラメータを利用することができる。さらに、ユーザＩＤやパスワードを定期的に更新される暗号鍵で暗号化して送受信するようにして、ユーザ情報の機密性を確保することもできる。ＩＧＡＰは、その認証機能を用いることで、例えば、課金制動画コンテンツの配信サービスの実現に利用されている。
【０００６】
また、上記のマルチキャストの説明は、現在、一般的に使用されているＩＰｖ４（Internet Protocol Version 4）によるネットワークに着目したものであるが、ＩＰｖ６（Internet Protocol Version 6）によるネットワークでは、複数の限定した配信先にデータ送信するためのプロトコルとしてＸＣＡＳＴ（eXplicit multiCAST）が知られている。ＸＣＡＳＴでは、受信者の管理を行う方法としてマルチキャストアドレスではなく、ＩＰヘッダに受信端末の宛先ＩＰアドレスが全て指定される。ここで、配信元から直接データ送信される端末のアドレス以外は、拡張的な宛先として指定される。そして、データは、ユニキャストで送信される。さらに、送信されたデータは、拡張的な宛先に対して、順にリレー式に送信される（例えば、非特許文献２参照）。このように、配信元で配信を許可する端末を予めＩＰアドレスで指定して、許可された端末にのみデータ配信を行う方法がある。
【非特許文献１】Tsunemasa Hayashi、外４名、“Internet Group membership Authentication Protocol（IGAP）”、［online］、平成16年８月、Internet Engineering Task Force、［平成19年12月25日検索］、インターネット〈URL：http://tools.ietf.org/id/draft-hayashi-igap-03.txt〉
【非特許文献２】R.Boivie、外５名、“Explicit Multicast（Xcast） Concepts and Options”、［online］、平成19年９月、Network Working Group、Request for Comments：5058、［平成19年12月25日検索］、インターネット〈URL：http://tools.ietf.org/html/rfc5058〉
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記のＩＧＡＰやＸＣＡＳＴによるデータ配信方法では、認証サーバなどで、配信許可端末や接続状況を一元管理する。そのため、配信元の意思で強制的にある参加者への配信を不許可とする場合に、認証サーバなどでの設定変更が必要となる。この時、この設定変更に応じて、再度認証サーバでの参加者の認証処理が必要となり、配信を不許可とされた旧参加者が受信不可となるまでに時間を要する。すなわち、配信先の変更を動的に行うことができないという課題がある。さらにこの時、認証サーバに処理要求が集中し、負荷が増大するという問題がある。
【０００８】
また、ＩＧＡＰでは、参加者の認証機能を提供するが、参加者が現在データを受信しているか否かという参加状況は保持していない。このため、例えば、ＴＶ会議システムなどのリアルタイムでデータが配信される環境において、参加者から管理用サーバに対して送信した認証情報が不正に傍受、複製され、複製された認証情報により参加者に成りすまして２重参加することで、マルチキャストデータを不正に受信することができるという課題がある。
【０００９】
本発明はこのような点に鑑みてなされたものであり、マルチキャストデータの配信先を動的に変更することができ、かつ、利用者の成りすましを防止する中継装置、マルチキャスト処理プログラムおよびマルチキャスト処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、配信元端末と利用者端末との間のマルチキャストデータの配信を制御する中継装置が提供される。この中継装置は、配信制御情報記憶手段、ＩＤ受信手段、参加要求受信手段、認証手段、データ配信手段および同期手段を有する。配信制御情報記憶手段は、利用者ＩＤと当該利用者ＩＤの参加状況とを含む配信制御情報を記憶する。ＩＤ受信手段は、マルチキャストデータの配信元端末からマルチキャストグループへの参加を認める１以上の利用者の利用者ＩＤを受信すると、当該利用者ＩＤを配信制御情報記憶手段に登録することで配信制御情報を更新する。参加要求受信手段は、利用者ＩＤを含むマルチキャストグループへの参加要求を上記利用者端末から受信する。認証手段は、参加要求の対象となるマルチキャストグループへの参加が認められた利用者として参加要求に含まれる利用者ＩＤが配信制御情報記憶手段に記憶された配信制御情報に含まれており、かつ、マルチキャストグループへの利用者ＩＤの参加状況が未参加であるかを判定し、マルチキャストグループへの参加が認められた利用者として参加要求に含まれる利用者ＩＤが配信制御情報に含まれており、かつ、マルチキャストグループへの利用者ＩＤの参加状況が未参加である場合、配信制御情報に含まれるマルチキャストグループへの利用者ＩＤの参加状況を参加済みに更新する。データ配信手段は、認証手段により、マルチキャストグループへの参加が認められた利用者として参加要求に含まれる利用者ＩＤが配信制御情報に含まれており、かつ、マルチキャストグループへの利用者ＩＤの参加状況が未参加であると判定された場合、参加要求を送信した利用者端末にマルチキャストグループのマルチキャストデータを配信する。同期手段は、配信制御情報が更新されると、配信元端末と他の利用者端末との間のマルチキャストデータの配信を制御する他の中継装置に配信制御情報の更新内容を送信する。
【００１１】
このような中継装置によれば、ＩＤ受信手段により、マルチキャストグループにおける配信データであるマルチキャストデータの配信元端末から当該マルチキャストグループへの参加を認める１以上の利用者の利用者ＩＤが受信される。ＩＤ受信手段により、当該利用者ＩＤが配信制御情報記憶手段に登録されることで、配信制御情報が更新される。同期手段により、配信元端末と他の利用者端末との間のマルチキャストデータの配信を制御する他の中継装置に配信制御情報のＩＤ受信手段による更新内容が送信される。また、参加要求受信手段により、利用者ＩＤを含むマルチキャストグループへの参加要求が利用者端末から受信される。さらに、認証手段により、参加要求の対象となるマルチキャストグループへの参加が認められた利用者として参加要求に含まれる利用者ＩＤが配信制御情報記憶手段に記憶された配信制御情報に含まれており、かつ、マルチキャストグループへの利用者ＩＤの参加状況が未参加であるか判定される。そして、認証手段によって、マルチキャストグループへの参加が認められた利用者として参加要求に含まれる利用者ＩＤが配信制御情報に含まれており、かつ、マルチキャストグループへの利用者ＩＤの参加状況が未参加であると判定された場合、認証手段により、配信制御情報に含まれるマルチキャストグループへの利用者ＩＤの参加状況が参加済みに更新される。また、この場合、データ配信手段により、参加要求を送信した利用者端末にマルチキャストグループのマルチキャストデータが配信される。更に、同期手段により、配信制御情報の認証手段による更新内容が他の中継装置に送信される。
【００１２】
また、上記課題を解決するために、コンピュータを上記中継装置と同様に機能させるマルチキャスト処理プログラム、および、上記中継装置と同様の処理を行うマルチキャスト処理方法、が提供される。
【発明の効果】
【００１３】
上記中継装置、マルチキャスト処理プログラムおよびマルチキャスト処理方法によれば、マルチキャストデータの配信先を動的に変更することができ、かつ、利用者の成りすましを防止する。
【発明を実施するための最良の形態】
【００１４】
以下、実施の形態を図面を参照して詳細に説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図１は、本実施の形態の概念図である。図１に示される中継装置１は、マルチキャストデータの配信を制御する。中継装置１は、ＩＤ受信手段１ａ、配信制御情報記憶手段１ｂ、参加要求受信手段１ｃ、認証手段１ｄおよびデータ配信手段１ｅを有する。
【００１５】
ＩＤ受信手段１ａは、マルチキャストデータの配信元端末からマルチキャストグループへの参加を認める１以上の利用者の利用者ＩＤを受信する。ＩＤ受信手段１ａは、受信した利用者ＩＤを、配信制御情報記憶手段１ｂに格納する。ＩＤ受信手段１ａは、この利用者ＩＤを、例えば、配信元端末からの最初のデータ配信時点および所定の時間間隔で受信する。
【００１６】
配信制御情報記憶手段１ｂは、ＩＤ受信手段が受信した利用者ＩＤと当該利用者ＩＤの参加状況とを含む配信制御情報をマルチキャストグループに関する配信制御情報として記憶する。
【００１７】
参加要求受信手段１ｃは、利用者ＩＤを含むマルチキャストグループへの参加要求を受信する。
認証手段１ｄは、参加要求の対象となるマルチキャストグループへの参加が認められた利用者として参加要求に含まれる利用者ＩＤが配信制御情報記憶手段に記憶された配信制御情報に含まれており、かつ、マルチキャストグループへの利用者ＩＤの参加状況が未参加であるかを判定する。認証手段１ｄは、参加状況を未参加であると判定した場合、データ配信手段１ｅにその旨を通知する。その後、認証手段１ｄは、配信制御情報記憶手段１ｂに記憶された配信制御情報の該当の利用者ＩＤの参加状況を参加済みと設定する。
【００１８】
データ配信手段１ｅは、認証手段１ｄにより、マルチキャストグループへの参加が認められた利用者として参加要求に含まれる利用者ＩＤが配信制御情報に含まれており、かつ、マルチキャストグループへの利用者ＩＤの参加状況が未参加であると判定された場合、参加要求を送信した利用者端末にマルチキャストグループのマルチキャストデータを配信する。
【００１９】
このように、中継装置１は、データ配信元からデータの配信を許可する利用者のＩＤを受信する。そして、データの配信を希望する利用者からのマルチキャストグループへの参加要求を受信すると、データ配信元が配信を許可する利用者であるかを判定する。判定の結果、許可されており、かつ、該当の利用者がマルチキャストグループへ未参加である場合に、マルチキャストデータを配信する。これにより、データ配信元にて配信を許可する利用者を設定することができ、設定された配信先を迅速に反映可能とすることができる。さらに、該当の利用者の認証を、利用者ＩＤや参加状況によって行うことで、利用者の成りすましを防止することができる。
【００２０】
以下、本実施の形態を図面を参照して詳細に説明する。
図２は、本実施の形態のシステム構成を示す図である。図２に示すマルチキャスト配信システムは、動画などの大容量のデータをネットワークで接続された端末装置に配信するシステムである。
【００２１】
本実施の形態に係るマルチキャスト配信システムでは、端末装置２００，２００ａ，２００ｂ，２００ｃが、それぞれ中継装置１００，１００ａ，１００ｂ，１００ｃおよびネットワーク１０を介して相互に接続されている。端末装置２００，２００ａ，２００ｂ，２００ｃは、それぞれ利用者３００，３００ａ，３００ｂ，３００ｃによって利用される。中継装置１００，１００ａ，１００ｂ，１００ｃは、端末装置２００，２００ａ，２００ｂ，２００ｃ間のデータのマルチキャスト配信を実現する。中継装置１００，１００ａ，１００ｂ，１００ｃは、例えば、ルータ、Ｌ３スイッチおよびＳｎｏｏｐｉｎｇ機能を有するＬ２スイッチである。
【００２２】
ここで、マルチキャスト配信を行うためのマルチキャストグループは、端末装置２００，２００ａ，２００ｂ，２００ｃに設定されたマルチキャストアドレスによって識別される。利用者３００，３００ａ，３００ｂ，３００ｃは、端末装置２００，２００ａ，２００ｂ，２００ｃを操作して、各端末が有するマルチキャストアドレスに接続してデータの配信を許可する端末装置およびマルチキャストグループへの参加を許可する利用者を設定する。配信を許可する端末装置は、端末装置２００，２００ａ，２００ｂ，２００ｃに対して、マルチキャスト配信システム内で一意に設定されたシリアル番号を用いて設定することができる。マルチキャストグループへの参加を許可する利用者は、利用者を識別するための利用者ＩＤを用いて設定することができる。利用者ＩＤは、例えば、指紋や静脈などの生体情報から生成するようにすると、強固なセキュリティを実現することができる。
【００２３】
次に、本実施の形態における各装置のネットワーク設定に関して説明する。
まず、中継装置１００，１００ａ，１００ｂ，１００ｃに関して説明する。
中継装置１００には、ＩＰアドレスとして“１０．１．１．１０”が設定されている。中継装置１００ａには、ＩＰアドレスとして“１０．１．２．１０”が設定されている。中継装置１００ｂには、ＩＰアドレスとして“１０．１．３．１０”が設定されている。中継装置１００ｃには、ＩＰアドレスとして“１０．１．４．１０”が設定されている。
【００２４】
ここで、ネットワーク“１０．１．１．０”、“１０．１．２．０”、“１０．１．３．０”、“１０．１．４．０”は、異なるサブネットであるものとする。
次に、端末装置２００，２００ａ，２００ｂ，２００ｃに関して説明する。
【００２５】
端末装置２００には、ＩＰアドレスとして“１０．１．１．１００”、端末装置２００が配信元となるマルチキャストグループのマルチキャスト（ＭＣ）アドレスとして“２３９．１９２．１０．１０”、シリアル番号として“０００１”が設定されている。端末装置２００ａには、ＩＰアドレスとして“１０．１．２．１００”、端末装置２００ａが配信元となるマルチキャストグループのマルチキャストアドレスとして“２３９．１９２．１０．２０”、シリアル番号として“０００２”が設定されている。端末装置２００ｂには、ＩＰアドレスとして“１０．１．３．１００”、端末装置２００ｂが配信元となるマルチキャストグループのマルチキャストアドレスとして“２３９．１９２．１０．３０”、シリアル番号として“０００３”が設定されている。端末装置２００ｃには、ＩＰアドレスとして“１０．１．４．１００”、端末装置２００ｃが配信元となるマルチキャストグループのマルチキャストアドレスとして“２３９．１９２．１０．４０”、シリアル番号として“０００４”が設定されている。
【００２６】
さらに、利用者３００，３００ａ，３００ｂ，３００ｃには、利用者ＩＤが与えられている。利用者３００には、利用者ＩＤとして“０００００００１”が与えられている。利用者３００ａには、利用者ＩＤとして“０００００００２”が与えられている。利用者３００ｂには、利用者ＩＤとして“０００００００３”が与えられている。利用者３００ｃには、利用者ＩＤとして“０００００００４”が与えられている。
【００２７】
以上の設定を利用して、各マルチキャストアドレスに参加可能な端末装置および利用者を設定することができる。設定のデータ構造に関しては、後で詳細に説明する。
次に、中継装置１００，１００ａ，１００ｂ，１００ｃのハードウェア構成について説明する。
【００２８】
図３は、中継装置のハードウェア構成を示す図である。中継装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、入出力インタフェース１０４および通信インタフェース１０５が接続されている。
【００２９】
ＲＯＭ１０２には、中継装置１００上のＯＳのプログラムが格納される。
ＲＡＭ１０３には、ＣＰＵ１０１に実行させるＯＳのプログラムやアプリケーションの少なくとも一部が一時的に格納される。また、ＲＡＭ１０３には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００３０】
入出力インタフェース１０４には、端末装置１１が接続されている。端末装置１１は、中継装置１００を、例えば、ＣＬＩ（Command Line Interface）を用いて操作するためのものである。
【００３１】
通信インタフェース１０５は、ネットワークケーブルを接続するためのポートを有している。そして、通信インタフェース１０５は、このポートに接続されたネットワークケーブルによってネットワーク１０と接続されている。通信インタフェース１０５は、ネットワーク１０を介して、他の中継装置や端末装置との間でデータの送受信を行う。
【００３２】
通信インタフェース１０６は、ネットワークケーブルを接続するためのポートを有している。そして、通信インタフェース１０６は、このポートに接続されたネットワークケーブルによって端末装置２００と接続されている。通信インタフェース１０６は、端末装置２００との間でデータの送受信を行う。
【００３３】
なお、中継装置１００ａ，１００ｂ，１００ｃも中継装置１００と同様のハードウェア構成によって実現できる。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
【００３４】
次に、中継装置１００，１００ａ，１００ｂ，１００ｃの機能構成について説明する。
図４は、中継装置の機能を示すブロック図である。図４には、中継装置１００と接続されたネットワーク１０および端末装置２００も示されている。また、中継装置１００とネットワーク１０を介して接続された中継装置１００ａおよび中継装置１００ａと接続された端末装置２００ａも示されている。図４では、中継装置１００の機能構成を示しているが、中継装置１００ａ，１００ｂ，１００ｃも中継装置１００と同様の機能構成によって実現できる。また、図４では、端末装置２００の機能構成も示しているが、端末装置２００ａ，２００ｂ，２００ｃも端末装置２００と同様の機能構成によって実現できる。
【００３５】
まず、中継装置１００の機能構成に関して説明する。
中継装置１００は、配信制御情報記憶部１１０、配信制御情報受信部１２０、参加依頼送信部１３０、参加要求受信部１４０、認証部１５０、データ配信部１６０および同期部１７０を有する。
【００３６】
配信制御情報記憶部１１０には、マルチキャストグループへの参加が許可された端末のシリアル番号、利用者ＩＤおよび利用者の参加状況を含む配信制御情報が格納される。配信制御情報は、データの配信元となる端末装置２００で作成され、中継装置１００に送信される。配信制御情報は、データ配信の開始時点と端末装置２００にて参加許可の設定を変更するなど配信制御情報が更新されることもあるため、所定の時間間隔で、中継装置１００は、端末装置２００の配信制御情報の更新内容を監視する。そして、更新があった場合、中継装置１００は、その更新内容を自身の配信制御情報に反映する。なお、データ配信の開始時点においては、参加状況には、データ配信元となる端末装置２００を利用する利用者３００のみが参加と設定され、その他の利用者は不参加と設定される。また、ある中継装置で配信制御情報が更新されると、その更新内容が他の中継装置に対して同期される。
【００３７】
配信制御情報受信部１２０は、端末装置２００からの配信制御情報を受信する。配信制御情報受信部１２０は、受信した配信制御情報を配信制御情報記憶部１１０に格納する。
参加依頼送信部１３０は、配信制御情報記憶部１１０に記憶された配信制御情報に基づいて、マルチキャストグループへの参加が許可されている端末装置に参加依頼を送信する。この参加依頼は、ＩＧＭＰｖ２などのプロトコルを用いて、定期的に送信される。ＩＧＭＰｖ２による場合、中継装置１００は、端末装置２００ａ，２００ｂ，２００ｃのいずれかによるマルチキャストグループへの参加依頼を、同サブネットに存在する端末装置２００に送信する。
【００３８】
参加要求受信部１４０は、参加依頼送信部１３０が送信した参加依頼に対する端末装置２００の参加要求を受信する。参加要求には、参加を希望するマルチキャストグループのマルチキャストアドレス、端末装置２００のシリアル番号、利用者３００の利用者ＩＤが含まれる。
【００３９】
認証部１５０は、配信制御情報記憶部１１０に記憶された配信制御情報を参照して、参加要求受信部１４０が受信した参加要求に含まれるシリアル番号と利用者ＩＤとが、該当のマルチキャストグループに接続を許可されたシリアル番号と利用者ＩＤとであるかを判定する。さらに、認証部１５０は、許可されたシリアル番号と利用者ＩＤとであると判定した場合、該当の利用者ＩＤが該当のマルチキャストグループに未参加であるかを判定する。認証部１５０は、未参加であると判定した場合、その旨をデータ配信部１６０に通知する。また、認証部１５０は、配信制御情報の該当の利用者ＩＤを参加済みに更新する。
【００４０】
データ配信部１６０は、認証部１５０から該当の利用者ＩＤが未参加である旨の通知を受け付けると、端末装置２００に該当のマルチキャストグループのマルチキャストデータを配信する。なお、認証部１５０が配信制御情報の利用者ＩＤの参加状況を参加済みに更新するものとしたが、データ配信部１６０がデータ配信を行った時点などでデータ配信部１６０により配信制御情報の参加状況を参加済みに更新するようにしてもよい。
【００４１】
同期部１７０は、配信制御情報記憶部１１０に記憶された配信制御情報を中継装置１００ａ，１００ｂ，１００ｃと同期する。また、同期部１７０は、端末装置２００とも配信制御情報の同期を行う。
【００４２】
次に、端末装置２００の機能構成に関して説明する。
端末装置２００は、配信制御情報記憶部２１０、利用者ＩＤ記憶部２２０、配信部２３０および受信部２４０を有する。
【００４３】
配信制御情報記憶部２１０には、利用者３００によって設定された端末装置２００のマルチキャストグループへの参加許可の情報である配信制御情報が格納される。
利用者ＩＤ記憶部２２０には、利用者３００，３００ａ，３００ｂ，３００ｃを識別するための利用者ＩＤが、例えば、利用者３００，３００ａ，３００ｂ，３００ｃの名前や生体情報などに対応付けて格納される。この情報に基づいて、例えば、端末装置２００に設けられた図示しない利用者ＩＤ特定部により、利用者３００，３００ａ，３００ｂ，３００ｃの指紋や静脈などの生体情報から利用者ＩＤが特定されるようにする。このようにすると、マルチキャストグループへの参加に際して強固な個人認証を実現することができる。
【００４４】
配信部２３０は、マルチキャストデータの配信を行う。また、配信制御情報記憶部２１０に記憶された配信制御情報を中継装置１００に送信する。さらに、中継装置１００からの参加依頼に対して、該当のマルチキャストグループへの参加要求を中継装置１００に送信する。
【００４５】
受信部２４０は、配信されたマルチキャストデータの受信を行う。また、中継装置１００から最新の配信制御情報を受信する。さらに、中継装置１００からマルチキャストグループへの参加依頼を受信する。
【００４６】
次に、配信制御情報に関して説明する。
図５は、配信制御情報のデータ構造例を示す図である。配信制御情報５０２は、各マルチキャストグループへの参加を許可された端末のシリアル番号、利用者ＩＤおよび利用者ＩＤの参加状況を定義する。
【００４７】
配信制御情報５０２には、マルチキャストアドレスを示す項目および認証データ群を示す項目が設けられている。認証データ群を示す項目には、さらに、シリアル番号を示す項目、利用者ＩＤを示す項目および参加状況を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのマルチキャストグループに関する情報を構成する。
【００４８】
マルチキャストアドレスを示す項目には、マルチキャストグループを識別するマルチキャストアドレスが設定される。シリアル番号を示す項目には、端末装置のシリアル番号が設定される。利用者ＩＤを示す項目には、利用者の利用者ＩＤが設定される。参加状況を示す項目には、利用者ＩＤの参加状況を示す項目が設定される。
【００４９】
配信制御情報５０２には、例えば、マルチキャストアドレスが“２３９．１９２．１０．１０”、シリアル番号が“０００１”、“０００２”、・・・、“ｍ”、利用者ＩＤが“０００００００１”、“０００００００２”、・・・、“ｎ”、利用者ＩＤ“０００００００１”に対する参加状況が“○”、利用者ＩＤ“０００００００２”に対する参加状況が“×”、・・・、利用者ＩＤ“ｎ”に対する参加状況が“×”という情報が格納される。これは、マルチキャストアドレス“２３９．１９２．１０．１０”で識別されるマルチキャストグループへの参加が許可される端末装置のシリアル番号が“０００１”、“０００２”、・・・、“ｍ”であり、さらに、このマルチキャストグループへの参加が許可される利用者の利用者ＩＤが“０００００００１”、“０００００００２”、・・・、“ｎ”であることを示している。また、該当のマルチキャストグループに対して、利用者ＩＤ“０００００００１”の参加状況が参加済み（“○”）であり、利用者ＩＤ“０００００００２”の参加状況が未参加（“×”）であり、・・・、利用者ＩＤ“ｎ”の参加状況が未参加（“×”）であることを示している。
【００５０】
配信制御情報５０２は、マルチキャストグループへの各利用者ＩＤの参加状況の変化や、マルチキャストグループへの参加許可の設定を変更することで更新される。そして、配信制御情報５０２は、最新の情報が各中継装置と各端末装置との間で同期され共有される。同期に当たって、マルチキャストグループ単位で配信制御情報５０２の全項目が送受信されてもよいし、そのうちの更新内容を表す情報のみが送受信されてもよい。
【００５１】
次に、中継装置１００，１００ａ，１００ｂ，１００ｃから、それぞれ端末装置２００，２００ａ，２００ｂ，２００ｃに対して送信される参加依頼に関して説明する。
図６は、参加依頼パケットのデータ構造例を示す図である。参加依頼パケット５０３は、ＩＰヘッダを示す項目、マルチキャストアドレスを示す項目および認証要否を示す項目が設定されている。ＩＰヘッダを示す項目には、その一部として、送信元を示す項目および送信先を示す項目が示されている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの参加依頼に関する情報を構成する。
【００５２】
ＩＰヘッダの送信元を示す項目には、参加依頼パケット５０３の送信元のＩＰアドレスが設定される。ＩＰヘッダの送信先を示す項目には、参加依頼パケット５０３の送信先のＩＰアドレスが設定される。マルチキャストアドレスを示す項目には、参加依頼の対象であるマルチキャストグループを識別するマルチキャストアドレスが設定される。認証要否を示す項目には、参加依頼パケット５０３に対する参加要求を送信する際に合わせて認証情報である利用者ＩＤが、マルチキャストグループへの参加に際して必要か否かが設定される。
【００５３】
参加依頼パケット５０３には、例えば、送信元が“１０．１．２．１０”、送信先が“２２４．０．０．１”、マルチキャストアドレスが“２３９．１９２．１０．１０”、認証要否が“要”という情報が格納される。これは、参加依頼パケット５０３の送信元が中継装置１００ａ（ＩＰアドレス“１０．１．２．１０”）であり、送信先がサブネット“１０．１．２．０”上に存在する全てのマルチキャスト対応の端末装置を示すマルチキャストアドレス“２２４．０．０．１”であり、参加依頼の対象となるマルチキャストグループのマルチキャストアドレスが、端末装置２００が配信元となっている“２３９．１９２．１０．１０”であり、このマルチキャストグループへの参加に利用者ＩＤによる認証が必要であることを示している。ここで、認証要否が“不要”である場合、マルチキャストグループへの参加要求に利用者ＩＤの送信が不要となる。サブネット“１０．１．２．０”に存在するマルチキャスト対応の端末装置２００ａは、この参加依頼パケット５０３を受信する。
【００５４】
次に、参加依頼パケット５０３に対して端末装置２００ａが中継装置１００ａに送信する参加要求に関して説明する。
図７は、参加要求パケットのデータ構造例を示す図である。参加要求パケット５０４には、ＩＰヘッダを示す項目、マルチキャストアドレスを示す項目、シリアル番号を示す項目、利用者ＩＤを示す項目が設けられている。ＩＰヘッダを示す項目には、その一部として、送信元を示す項目および送信先を示す項目が示されている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの参加要求に関する情報を構成する。
【００５５】
ＩＰヘッダの送信元を示す項目には、参加要求パケット５０４の送信元のＩＰアドレスが設定される。ＩＰヘッダの送信先を示す項目には、参加要求パケット５０４の送信先のＩＰアドレスが設定される。マルチキャストアドレスを示す項目には、参加要求の対象であるマルチキャストグループを識別するマルチキャストアドレスが設定される。シリアル番号を示す項目には、端末装置のシリアル番号が設定される。利用者ＩＤを示す項目には、利用者を識別する利用者ＩＤが設定される。
【００５６】
参加要求パケット５０４には、例えば、送信元が“１０．１．２．１００”、送信先が“１０．１．２．１０”、マルチキャストアドレスが“２３９．１９２．１０．１０”、シリアル番号が“０００２”、利用者ＩＤが“０００００００２”という情報が格納される。これは、参加要求パケット５０４の送信元が端末装置２００ａ（ＩＰアドレス“１０．１．２．１００”）であり、送信先が中継装置１００ａ（ＩＰアドレス“１０．１．２．１０”）であることを示している。また、参加要求の対象となるマルチキャストグループのマルチキャストアドレスが、端末装置２００が配信元となっている“２３９．１９２．１０．１０”であり、このマルチキャストグループに参加するための認証情報として、端末装置２００ａのシリアル番号“０００２”、利用者３００ａの利用者ＩＤ“０００００００２”が設定されていることを示している。
【００５７】
次に、以上のような構成およびデータ構造のマルチキャスト配信システムにおいて実行される処理の詳細を説明する。最初に、中継装置１００，１００ａ，１００ｂ，１００ｃと端末装置２００，２００ａ，２００ｂ，２００ｃとの間の配信制御情報５０２の同期処理に関して説明する。以下では、中継装置１００と端末装置２００との処理に関して説明するが、中継装置１００ａ，１００ｂ，１００ｃおよび端末装置２００ａ，２００ｂ，２００ｃに関しても同様の処理となる。
【００５８】
図８は、中継装置と端末装置との間の配信制御情報の同期処理を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］同期部１７０は、所定の時間間隔で、端末装置２００の受信部２４０に配信制御情報５０２が更新されているかを確認する情報を送信する。端末装置２００は、配信制御情報５０２が更新されている場合、配信部２３０から同期部１７０に更新された配信制御情報５０２を送信する。端末装置２００は、配信制御情報５０２が更新されていない場合、配信部２３０から同期部１７０に更新されていない旨を通知する。
【００５９】
［ステップＳ１２］同期部１７０は、端末装置２００から配信制御情報５０２を受信した場合、配信制御情報５０２が更新されたものと判定して、処理がステップＳ１３に移される。同期部１７０は、端末装置２００から配信制御情報５０２が更新されていない旨の通知を受信した場合、更新されていないと判定して処理が完了する。
【００６０】
［ステップＳ１３］同期部１７０は、配信制御情報記憶部１１０に配信制御情報５０２の更新を反映する。
［ステップＳ１４］同期部１７０は、配信制御情報５０２を他の中継装置に送信し、他の中継装置においても新しい配信制御情報５０２の更新が反映される。
【００６１】
このようにして、中継装置１００，１００ａ，１００ｂ，１００ｃおよび端末装置２００，２００ａ，２００ｂ，２００ｃが有する配信制御情報５０２は、各端末装置で更新された場合においても各中継装置と各端末装置との間で最新の状態に同期する。
【００６２】
次に、マルチキャストグループに参加するための処理に関して説明する。なお、以降の説明では、マルチキャストによるデータ配信元を親局、配信先を子局と呼ぶこととする。
図９は、マルチキャストグループに参加するための処理を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００６３】
［ステップＳ２１］端末装置２００ａ（親局）は、データのマルチキャスト配信を開始する。端末装置２００ａは、マルチキャスト配信するデータとともに配信制御情報５０２を中継装置１００ａに送信する。この配信制御情報５０２には、マルチキャストアドレス“２３９．１９２．１０．２０”が設定されており、このマルチキャストグループには、端末装置２００および利用者３００が参加を許可されているものとする。その他の端末装置、利用者に対して参加が許可されている場合も同様の処理となる。
【００６４】
［ステップＳ２２］中継装置１００ａは、マルチキャスト配信するデータとともに配信制御情報５０２を受信する。
［ステップＳ２３］中継装置１００ａは、他の中継装置と配信制御情報５０２を同期する。
【００６５】
［ステップＳ２４］中継装置１００は、中継装置１００ａとの同期により更新された配信制御情報５０２に新たなマルチキャストグループが定義されたことを検出する。そして、そのマルチキャストグループに中継装置１００が属するサブネットの端末装置２００（子局）が参加依頼対象として存在することを検出する。そしてさらに、中継装置１００は、端末装置２００に参加依頼を送信する。
【００６６】
［ステップＳ２５］端末装置２００は、中継装置１００からマルチキャストグループへの参加依頼を受信する。端末装置２００は、該当のマルチキャストグループへの参加が必要か否かを判定する。参加が必要である場合、処理がステップＳ２６に移される。参加が不要である場合、処理が完了する。
【００６７】
［ステップＳ２６］端末装置２００は、端末装置２００を利用する利用者３００の生体情報などから利用者ＩＤを特定する。そして、端末装置２００のシリアル番号と利用者３００の利用者ＩＤとを含む参加要求を中継装置１００に送信する。
【００６８】
［ステップＳ２７］中継装置１００は、端末装置２００から参加要求を受信する。
［ステップＳ２８］中継装置１００は、受信した参加要求に基づいて認証処理を行う。
［ステップＳ２９］中継装置１００において、認証が成功した場合、処理がステップＳ３０に移される。認証が失敗した場合、中継装置１００は、子局に対して参加不可通知を送信して処理がステップＳ３２に移される。ここで、送信される参加不可通知は、以下の３通りである。第１は、端末装置のシリアル番号が、許可されたものでないため、参加不可である旨の通知である。第２は、利用者ＩＤが、許可されたものでないため、参加不可である旨の通知である。第３は、該当の利用者ＩＤが既に同じマルチキャストグループへ参加済みであるため、参加不可である旨の通知である。
【００６９】
［ステップＳ３０］中継装置１００は、配信制御情報５０２を更新する。具体的な配信制御情報５０２の更新内容は、利用者３００の利用者ＩＤが該当のマルチキャストグループに対して“未参加”から“参加済み”と変更することである。そして、中継装置１００は他の中継装置や、端末装置２００と配信制御情報５０２の同期を行う。
【００７０】
［ステップＳ３１］中継装置１００は、端末装置２００にデータを配信する。ここで、端末装置２００にデータを配信する中継装置は、中継装置１００に限らず、例えば、ＰＩＭ−ＳＭ（Protocol Independent Multicast-Sparse Mode）によって特定されたネットワーク経路上の別の中継装置でもよい。
【００７１】
［ステップＳ３２］端末装置２００は、参加不可通知を受信し、処理が完了する。
［ステップＳ３３］端末装置２００は、マルチキャストグループへの参加が完了し、マルチキャストデータを受信する。
【００７２】
ここで、上記のステップＳ２３およびステップＳ２４の各処理は、中継装置１００ａが自身の所属するサブネットに子局が存在する場合、その順序を入れ換えても構わないし、平行して実行されても構わない。
【００７３】
次に、上記ステップＳ２８で示される認証処理に関して説明する。
図１０は、中継装置で行われる認証処理を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
【００７４】
［ステップＳ２８１］中継装置１００は、受信した参加要求に含まれる端末装置２００のシリアル番号と利用者３００の利用者ＩＤとが、配信制御情報５０２に存在するかを判定する。両方が存在する場合、処理がステップＳ２８２に移される。どちらか一方が存在しない、または両方存在しない場合、処理がステップＳ２８４に移される。
【００７５】
［ステップＳ２８２］中継装置１００は、参加要求に含まれる利用者ＩＤが同じマルチキャストグループに未参加であるかを判定する。未参加である場合、処理がステップＳ２８３に移される。既に参加済みである場合、処理がステップＳ２８９に移される。
【００７６】
［ステップＳ２８３］中継装置１００は、認証成功とする。
［ステップＳ２８４］中継装置１００は、端末装置２００ａ（親局）に不足している認証情報が端末装置２００ａの配信制御情報に設定されているかを確認するよう要求する。
【００７７】
［ステップＳ２８５］端末装置２００ａは、自身が有する配信制御情報の参加要求に含まれるシリアル番号または利用者ＩＤのうち、ステップＳ２８１の判定で不足していた情報が存在するかを判定する。不足していた情報が存在する場合、処理がステップＳ２８６に移される。不足していた情報が存在しない場合、処理がステップＳ２８８に移される。
【００７８】
［ステップＳ２８６］端末装置２００ａは、中継装置１００に不足していた認証情報を送信する。
［ステップＳ２８７］中継装置１００は、不足していた認証情報を受信し、配信制御情報５０２を更新する。そして、中継装置１００は、認証が許可されたものとみなして処理がステップＳ２８２に移される。
【００７９】
［ステップＳ２８８］端末装置２００ａは、中継装置１００に不足していた認証情報は存在しない旨を通知する。
［ステップＳ２８９］中継装置１００は、認証失敗とする。中継装置１００は、認証が失敗した３通りの原因を保持する。第１の原因は、端末装置２００のシリアル番号が配信制御情報５０２に設定されていないことである。第２の原因は、利用者３００の利用者ＩＤが配信制御情報５０２に設定されていないことである。第３の原因は、利用者３００の利用者ＩＤが既に同じマルチキャストグループに参加済みであることである。端末装置２００は、これらの情報に対応した参加不可通知を中継装置１００から受信する（図９のステップＳ３２）。
【００８０】
このように、中継装置１００における最初の認証の時点で認証に失敗した場合に、親局の端末装置２００ａに配信制御情報５０２を再確認するようにすると、例えば、直前に新しく該当の端末装置または利用者が参加許可されて、各装置間で未同期な場合にも正しく認証を実行することができる。
【００８１】
次に、端末装置２００が端末装置２００ａのマルチキャストグループに参加した後に、端末装置２００が端末装置２００ａにデータをマルチキャスト配信する、すなわち、双方向でデータ配信する場合の処理に関して説明する。この場合、端末装置２００ａは端末装置２００を親局としたマルチキャストグループに参加するための認証を、図９に示した処理と同様の流れで行う。
【００８２】
図１１は、双方向のデータ配信を行う場合にマルチキャストグループに参加する処理を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
［ステップＳ２１ａ］端末装置２００（親局）は、端末装置２００ａ（子局）から受け付けた配信データに対して、端末装置２００からも双方向でデータ配信するかを判定する。双方向でデータを配信する場合、処理がステップＳ２１に移される。双方向でデータを配信しない場合、処理が完了する。双方向でデータを配信しない場合は、端末装置２００ａから配信されるデータを受信するのみである。
【００８３】
ここで、図１１のステップＳ２１〜ステップＳ３３の処理内容は、図９において同一の符号を付して示した処理の内容と同一であるため、説明を省略する。ただし、図９は、端末装置２００ａが親局となるマルチキャストグループに、端末装置２００が子局となって、中継装置１００で認証を行う処理である。これに対し、図１１は、端末装置２００が親局となるマルチキャストグループに、端末装置２００ａが子局となって、中継装置１００ａで認証を行う処理である。
【００８４】
なお、図９〜図１１の説明では、マルチキャストグループへ参加する処理に関して説明したが、マルチキャストグループから離脱する場合は、例えば、中継装置は、端末装置から利用者ＩＤと“ＬＥＡＶＥ”メッセージとを受信する。すると、中継装置は、自身の配信制御情報に存在する利用者ＩＤの参加状況を未参加と変更する。そして、利用者の離脱による配信制御情報の更新内容に関して、他の中継装置の配信制御情報と同期が取られる。
【００８５】
次に、親局、中継装置および子局の間でのマルチキャスト配信を開始するまで通信の流れを説明する。
まず、双方向でデータ配信を行う場合について説明する。
【００８６】
図１２は、双方向配信を開始する処理の流れの具体例を示すシーケンス図である。以下、図１２に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］端末装置２００ａ（親局）は、データのマルチキャスト配信を開始する。中継装置１００ａは、端末装置２００ａ（親局）から配信データと配信制御情報５０２とを受信する。ここで、配信制御情報５０２には、マルチキャストアドレス“２３９．１９２．１０．２０”が設定されており、このマルチキャストグループには、端末装置２００（子局）および利用者３００が参加を許可されているものとする。その他の端末装置、利用者に対して参加が許可されている場合も同様の処理となる。
【００８７】
［ステップＳ４２］中継装置１００ａは、配信制御情報５０２を更新する。
［ステップＳ４３］中継装置１００ａは、他の中継装置と配信制御情報５０２を同期する。ここでは、中継装置１００を示すが、中継装置１００ｂ，１００ｃに関しても同様である。
【００８８】
［ステップＳ４４］中継装置１００は、配信制御情報５０２に基づいて端末装置２００（子局）に参加依頼を送信する。
［ステップＳ４５］端末装置２００（子局）は、中継装置１００に参加要求を送信する。この参加要求には、端末装置２００（子局）のシリアル番号と端末装置２００を利用する利用者３００の利用者ＩＤが含まれる。
【００８９】
［ステップＳ４６］中継装置１００は、端末装置２００（子局）から受信した参加要求に含まれる端末装置２００（子局）のシリアル番号と利用者３００の利用者ＩＤとに基づいて認証処理を実行する。認証処理は、図９のステップＳ２８と同一の処理である。そして、中継装置１００は、マルチキャストアドレス“２３９．１９２．１０．２０”で指定されるマルチキャストグループに端末装置２００（子局）および利用者３００が参加を許可されており、かつ、利用者３００がこのマルチキャストグループに未参加であると判定する。
【００９０】
［ステップＳ４７］中継装置１００は、端末装置２００（子局）にデータをマルチキャスト配信する。ここで、端末装置２００（子局）にデータを配信する中継装置は、中継装置１００に限らず、例えば、ＰＩＭ−ＳＭによって特定されたネットワーク経路上の別の中継装置でもよい。
【００９１】
［ステップＳ４８］端末装置２００（子局）は、マルチキャスト配信されたデータに対して、自身もマルチキャスト配信を開始する。すなわち、双方向でのマルチキャスト配信となる。この場合、端末装置２００が親局となり、端末装置２００ａが子局となってデータの配信が行われる。中継装置１００は、端末装置２００（親局）から配信データと配信制御情報５０２とを受信する。ここで、配信制御情報５０２には、マルチキャストアドレス“２３９．１９２．１０．１０”が設定されており、このマルチキャストグループには、端末装置２００ａ（子局）および利用者３００ａが参加を許可されているものとする。その他の端末装置、利用者に対して参加が許可されている場合も同様の処理となる。
【００９２】
［ステップＳ４９］中継装置１００は、配信制御情報５０２を更新する。
［ステップＳ５０］中継装置１００は、他の中継装置と配信制御情報５０２を同期する。
【００９３】
［ステップＳ５１］中継装置１００ａは、配信制御情報５０２に基づいて端末装置２００ａ（子局）に参加依頼を送信する。
［ステップＳ５２］端末装置２００ａ（子局）は、中継装置１００ａに参加要求を送信する。この参加要求には、端末装置２００ａ（子局）のシリアル番号と端末装置２００ａを利用する利用者３００ａの利用者ＩＤが含まれる。
【００９４】
［ステップＳ５３］中継装置１００ａは、端末装置２００ａ（子局）から受信した参加要求に含まれる端末装置２００ａ（子局）のシリアル番号と利用者３００ａの利用者ＩＤとに基づいて認証処理を実行する。そして、中継装置１００ａは、マルチキャストアドレス“２３９．１９２．１０．１０”で指定されるマルチキャストグループに端末装置２００ａ（子局）および利用者３００ａが参加を許可されており、かつ、利用者３００ａがこのマルチキャストグループに未参加であると判定する。
【００９５】
［ステップＳ５４］中継装置１００ａは、端末装置２００ａ（子局）にデータをマルチキャスト配信する。
次に、マルチキャストグループへ参加する際に、認証処理が失敗する場合について説明する。
【００９６】
図１３は、認証処理が失敗する場合の処理の流れの具体例を示すシーケンス図である。以下、図１３に示す処理をステップ番号に沿って説明する。なお、ステップＳ４２〜ステップＳ４６の処理内容は、図１２において同一の符号を付して示した処理の内容と同一であるため、説明を省略する。
【００９７】
［ステップＳ４１ａ］端末装置２００ａ（親局）は、データのマルチキャスト配信を開始する。中継装置１００ａは、端末装置２００ａ（親局）から配信データと配信制御情報５０２とを受信する。ここで、配信制御情報５０２には、マルチキャストアドレス“２３９．１９２．１０．２０”が設定されており、このマルチキャストグループには、端末装置２００（子局）はデータ配信先として許可されているが、利用者３００は参加を許可されていないものとする。
【００９８】
［ステップＳ６１］中継装置１００は、端末装置２００（子局）から受信した参加要求に含まれる端末装置２００（子局）のシリアル番号と利用者３００の利用者ＩＤとに基づいて認証処理を実行する。そして、中継装置１００ａは、マルチキャストアドレス“２３９．１９２．１０．２０”で指定されるマルチキャストグループに端末装置２００（子局）はデータ配信先として許可されているが、利用者３００は参加が許可されていないと判定する。
【００９９】
［ステップＳ６２］中継装置１００は、端末装置２００ａ（親局）にマルチキャストグループへの配信制御情報５０２を再確認するよう依頼する。
［ステップＳ６３］端末装置２００ａ（親局）は、中継装置１００に配信制御情報５０２に、利用者３００の利用者ＩＤは無い旨を通知する。
【０１００】
［ステップＳ６４］中継装置１００は、端末装置２００（子局）に利用者３００は、マルチキャストグループへの参加が許可されていないため、参加が不可であることを通知する。そして、中継装置１００は、端末装置２００（子局）との通信を完了する。
【０１０１】
ここで、端末装置２００のシリアル番号が配信先として許可されていない場合や利用者３００が既に同一のマルチキャストグループに参加済みである場合にも、上記のステップＳ６１〜ステップＳ６４の処理により参加不可となる。
【０１０２】
次に、配信制御情報５０２の更新に関して説明する。
図１４は、配信制御情報の更新処理を表す第１の模式図である。図１４の例では、端末装置２００が親局となって２つのマルチキャストグループが構成されている。マルチキャストグループＡのマルチキャストアドレスは、例えば、“２３９．１９２．１０．１０”である。マルチキャストグループＡには、子局として端末装置２００ａが接続されている。また、マルチキャストグループＢのマルチキャストアドレスは、例えば、“２３９．１９２．１０．１１”である。マルチキャストグループＢには、子局として端末装置２００ｂが接続されている。端末装置２００，２００ａ，２００ｂは、それぞれ中継装置１００，１００ａ，１００ｂおよびネットワーク１０を介して接続されている。
【０１０３】
まず、配信制御情報５０２は、端末装置２００を利用する利用者３００によって更新される。更新内容は、マルチキャストグループＡ，Ｂで、参加許可とする端末装置や利用者の追加および削除である。
【０１０４】
更新された配信制御情報５０２は、マルチキャストグループ毎の更新内容が中継装置１００に送信される。送信されるタイミングとしては、更新した直後としてもよいし、所定の時間間隔毎としてもよい。そして、中継装置１００は、端末装置２００から受信した更新内容に基づいて自身の配信制御情報５０２を更新する。
【０１０５】
図１５は、配信制御情報の更新処理を表す第２の模式図である。図１５は、図１４の次の段階を示している。
中継装置１００は、自身の配信制御情報５０２を更新すると、他の全ての中継装置に更新内容を送信することで同期を行う。例えば、図１５では、中継装置１００ａ，１００ｂを示しているが、他の中継装置が接続されている場合にも同様である。更新内容の送信は、中継装置間にてユニキャストで行われてもよいし、例えば、ＰＩＭ−ＳＭで行われる中継装置間の通信のようにホップバイホップで行われてもよい。さらに、中継装置１００ｂ，１００ｃは、それぞれ端末装置２００ａ，２００ｂと配信制御情報５０２の同期を行う。
【０１０６】
このように、端末装置２００で配信制御情報５０２の更新が行われると、他の中継装置および端末装置に対して、その内容が反映される。このため、双方向でマルチキャスト配信を行う場合に、端末装置２００ａ，２００ｂ側でも配信制御情報５０２を更新し、データの配信先を変更することができる。
【０１０７】
次に、マルチキャスト配信されるデータの不正受信の防止に関して説明する。
図１６は、マルチキャストグループへの参加が許可されていない利用者へデータの配信を行わない様子を示した模式図である。図１６では、利用者３００が端末装置２００を操作して、マルチキャスト配信が行われる。そして、端末装置２００が親局となって、マルチキャストアドレスが“２３９．１９２．１０．１０”であるマルチキャストグループが構成されている。そして、このマルチキャストグループには、端末装置２００ａ，２００ｂ，２００ｃが配信先として許可されており、また、３００ａ，３００ｂ，３００ｃが参加許可されているものとする。
【０１０８】
ここで、図１６の利用者３００ｄ以外の各記号は、図２において同一の符号を付して示した記号の内容と同一であるため、説明を省略する。
利用者３００ａ，３００ｂは、マルチキャストグループへの参加が許可されているため、配信先として許可されている端末装置２００ａ，２００ｂ，２００ｃのいずれかから認証を行い、グループへ参加することでマルチキャストデータを受信することができる。図１６の例では、利用者３００ａは、端末装置２００ａからマルチキャストグループへ参加している。また、利用者３００ｂは端末装置２００ｂからマルチキャストグループへ参加している。
【０１０９】
利用者３００ｄは、マルチキャストグループへの参加が許可されていない利用者である。すなわち、端末装置２００ｃに送信された参加依頼に対して、利用者３００ｄの利用者ＩＤが参加要求の認証情報として送信されたとしても、このマルチキャストグループへ参加することができない。
【０１１０】
このように、マルチキャストグループへ参加するために、利用者の認証を行うことで、マルチキャストデータの配信を特定の利用者にのみ行うことができ、第３者への情報の漏洩を防止することができる。中継装置に送信される利用者ＩＤを、例えば、端末装置で利用者の指紋や静脈などの生体情報から生成するようにすることで、強固な本人確認環境を実現することができる。
【０１１１】
次に、同一のマルチキャストグループへの利用者の２重参加の防止に関して説明する。
図１７は、同一のマルチキャストグループへの利用者の２重参加が防止される様子を示した模式図である。図１７では、図１６と同様に、マルチキャストアドレスが“２３９．１９２．１０．１０”であるマルチキャストグループが構成されているものとする。
【０１１２】
ここで、図１７の利用者３００ｅ以外の各記号は、図２において同一の符号を付して示した記号の内容と同一であるため、説明を省略する。
利用者３００ｅは、利用者３００ａの利用者ＩＤを不正に取得しており、利用者３００ａの成りすましである。
【０１１３】
利用者３００ａ，３００ｂは、マルチキャストグループへの参加が許可されており、それぞれ端末装置２００ａ，２００ｂからこのマルチキャストグループへ参加している。
この時、端末装置２００ｃに送信された参加依頼に対して、利用者３００ｅによって、利用者３００ａの利用者ＩＤが参加要求の認証情報として送信されたとしても、このマルチキャストグループへ参加することができない。なぜなら、利用者３００ａは、既に端末装置２００ａから同一のマルチキャストグループへ参加済みであり、利用者３００ａが端末装置２００ａでこのマルチキャストグループに参加した時点で、中継装置１００ａの配信制御情報５０２の参加状況は参加済みと設定される。そして、中継装置１００ａでの配信制御情報５０２の更新内容は、中継装置１００，１００ｂ，１００ｃに送信され、各端末装置の配信制御情報５０２も同様に更新される。すなわち、中継装置１００ｃは、利用者３００ａが同一のマルチキャストグループに参加済みであると判定し、利用者ＩＤの認証を失敗とする。
【０１１４】
このため、利用者３００ｅは、端末装置２００ｃで上記のマルチキャストグループのマルチキャストデータを受信することができない。このようにすると、複製された利用者ＩＤを用いた利用者の成りすましにより、マルチキャストデータを不正に受信されるのを防止することができる。
【０１１５】
以上、説明したように、マルチキャストグループを親局となる端末装置毎に構成し、親局となる各端末装置で管理する。これにより、端末装置毎にマルチキャスト配信の配信を許可する端末装置や、参加を許可する利用者の構成を変更することができるため、迅速なマルチキャストグループの構成変更が可能となり、利便性が向上する。
【０１１６】
さらに、各利用者の認証を行うことで、マルチキャストデータの不正受信を防止することができる。各利用者の認証には、例えば、各端末装置で各利用者の生体情報などから生成された利用者ＩＤを用いることで、強固な本人確認環境を実現することができる。また、本実施の形態の説明では、利用者ＩＤを用いて認証を行うものとしたが、認証データそのものを配信制御情報５０２に格納して、各中継装置や認証用のサーバなどにより認証を行うようにしてもよい。
【０１１７】
さらにまた、同一マルチキャストグループに対する利用者の２重参加を防止することができるため、例えば、リアルタイムでデータが配信される環境においても、利用者ＩＤを複製するなどの利用者の成りすましによるマルチキャストデータの不正受信を防止することができる。
【０１１８】
なお、各中継装置間および各端末装置間で送受信されるデータを暗号化することで、さらにセキュリティを向上することもできる。
以上、中継装置、マルチキャスト処理プログラムおよびマルチキャスト処理方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、これらに他の任意の構成物や工程が付加されてもよい。また、これらは前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１１９】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、中継装置１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。ここで、コンピュータは、例えば、ＣＰＵ、ＲＡＭ、ＨＤＤ（Hard Disk Drive）などを有する。このようなコンピュータで、上記マルチキャスト処理プログラムを実行することにより、上記処理機能がコンピュータ上で実現される。この場合、ＣＰＵは、配信制御情報５０２に基づいて、データのマルチキャスト配信を実行する。なお、ＣＰＵは、取得した配信制御情報５０２などをＲＡＭやＨＤＤなどの記録媒体に格納する。また、処理内容を記述した試料評価プログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【０１２０】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto - Optical disk）などがある。
【０１２１】
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２２】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【０１２３】
【図１】本実施の形態の概念図である。
【図２】本実施の形態のシステム構成を示す図である。
【図３】中継装置のハードウェア構成を示す図である。
【図４】中継装置の機能を示すブロック図である。
【図５】配信制御情報のデータ構造例を示す図である。
【図６】参加依頼パケットのデータ構造例を示す図である。
【図７】参加要求パケットのデータ構造例を示す図である。
【図８】中継装置と端末装置との間の配信制御情報の同期処理を示すフローチャートである。
【図９】マルチキャストグループに参加するための処理を示すフローチャートである。
【図１０】中継装置で行われる認証処理を示すフローチャートである。
【図１１】双方向のデータ配信を行う場合にマルチキャストグループに参加する処理を示すフローチャートである。
【図１２】双方向配信を開始する処理の流れの具体例を示すシーケンス図である。
【図１３】認証処理が失敗する場合の処理の流れの具体例を示すシーケンス図である。
【図１４】配信制御情報の更新処理を表す第１の模式図である。
【図１５】配信制御情報の更新処理を表す第２の模式図である。
【図１６】マルチキャストグループへの参加が許可されていない利用者へデータの配信を行わない様子を示した模式図である。
【図１７】同一のマルチキャストグループへの利用者の２重参加が防止される様子を示した模式図である。
【符号の説明】
【０１２４】
１  中継装置
１ａ  ＩＤ受信手段
１ｂ  配信制御情報記憶手段
１ｃ  参加要求受信手段
１ｄ  認証手段
１ｅ  データ配信手段
【図１】
0005076927.tif 000002
【図２】
0005076927.tif 000003
【図３】
0005076927.tif 000004
【図４】
0005076927.tif 000005
【図５】
0005076927.tif 000006
【図６】
0005076927.tif 000007
【図７】
0005076927.tif 000008
【図８】
0005076927.tif 000009
【図９】
0005076927.tif 000010
【図１０】
0005076927.tif 000011
【図１１】
0005076927.tif 000012
【図１２】
0005076927.tif 000013
【図１３】
0005076927.tif 000014
【図１４】
0005076927.tif 000015
【図１５】
0005076927.tif 000016
【図１６】
0005076927.tif 000017
【図１７】
0005076927.tif 000018