視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システム
【課題】再生装置に搭載されたハードウェアやソフトウェアを変更せず、通信装置において、マルチキャスト配信されるコンテンツの視聴状況を監視する。
【解決手段】通信装置1は、配信装置3a,3bから再生装置4a,4b,4cへ至る経路上に位置する。転送テーブル1aは、マルチキャストアドレスと転送先アドレスとを対応付ける。転送テーブル管理手段1bは、マルチキャストアドレスを指定した転送要求の送信元を転送テーブル1aに登録すると共に、継続的に転送要求を受信している間、転送テーブル1aの登録を維持する(ステップS1)。転送状況監視手段1dは、転送テーブル1aに基づいて、マルチキャストアドレス毎の現在の転送先数を計算し、転送先数を示す転送情報を管理装置2に対して継続的に報告する(ステップS2)。
【解決手段】通信装置1は、配信装置3a,3bから再生装置4a,4b,4cへ至る経路上に位置する。転送テーブル1aは、マルチキャストアドレスと転送先アドレスとを対応付ける。転送テーブル管理手段1bは、マルチキャストアドレスを指定した転送要求の送信元を転送テーブル1aに登録すると共に、継続的に転送要求を受信している間、転送テーブル1aの登録を維持する(ステップS1)。転送状況監視手段1dは、転送テーブル1aに基づいて、マルチキャストアドレス毎の現在の転送先数を計算し、転送先数を示す転送情報を管理装置2に対して継続的に報告する(ステップS2)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システムに関し、特にマルチキャスト配信されるコンテンツの視聴状況を監視する視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システムに関する。
【背景技術】
【0002】
現在、情報通信技術の発展に伴い、音声や動画などのコンテンツをネットワーク経由で配信することが行われている。コンテンツを配信する配信装置は、ネットワークでの伝送に適した形式にコンテンツを符号化(エンコード)し、所定のデータ単位(パケット)に分割して出力する。コンテンツを再生する再生装置は、配信装置が出力したパケットをネットワーク経由で受信し、復号(デコード)してコンテンツを再生する。
【0003】
ところで、ネットワーク経由でコンテンツを配信する方法として、ユニキャスト配信とマルチキャスト配信とがある。ユニキャスト配信は、配信装置が再生装置から配信要求を受け付け、再生装置に対して個別にパケットを送信する配信方法である。ユニキャスト配信では、配信装置と再生装置とが直接通信を行うため、コンテンツの視聴状況を配信装置側で集中管理することが容易であるという利点がある(例えば、特許文献1参照)。
【0004】
一方、マルチキャスト配信は、配信装置から再生装置へ至る経路上に位置する通信装置が転送要求を受け付け、転送要求の送信元にパケットの複製を送信する配信方法である。マルチキャスト配信では、経路上の通信装置で適宜パケットが複製されるため、ネットワーク全体の通信量を抑制できるという利点がある。
【0005】
例えば、再生装置Aが通信装置a−b−c1という経路で、再生装置Bが通信装置a−b−c2という経路でパケットを受信しているとする。このとき、ユニキャスト配信では、通信装置a−b間で宛先が異なる2つのパケットが伝送されるが、マルチキャスト配信では、通信装置a−b間で1つのパケットのみが伝送され、通信装置bでパケットが複製される。
【0006】
ここで、ネットワーク経由でのコンテンツ配信が増加するに伴い、今後はマルチキャスト配信の一層の普及が期待される。しかしながら、従来のマルチキャスト配信では、配信装置側でコンテンツの視聴状況を管理することが困難であるという問題があった。
【0007】
これに対し、コンテンツを暗号化して配信することで、配信装置と再生装置とが直接通信を行う機会を設けるようにする配信方法が知られている(例えば、特許文献2参照)。すなわち、配信装置が定期的に暗号鍵を変更して暗号化したコンテンツを配信し、再生装置は暗号鍵が変更される毎に配信装置から復号鍵を取得してコンテンツを復号する。これにより、配信装置は再生装置によるコンテンツの視聴状況を把握することができる。また、配信装置と再生装置との間では復号鍵のみが伝送されるため、通信量を抑制できるというマルチキャスト配信の利点を維持できる。
【特許文献1】特開2003−324758号公報
【特許文献2】特開平10−164046号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、上記特許文献2に記載の技術では、再生装置が上記処理に対応した専用のハードウェアまたはソフトウェアを搭載しなければならないという問題がある。これは、マルチキャスト配信の規約(通信プロトコル)は、再生装置が配信装置と直接通信を行うことを想定していないためである。すなわち、特許文献2に記載の技術は、マルチキャスト配信の通信方法を拡張するものであり、拡張された通信方法に対応した再生装置でなければコンテンツを視聴することができない。このことは、マルチキャスト配信の普及という観点から好ましくない。
【0009】
本発明はこのような点に鑑みてなされたものであり、再生装置に搭載されたハードウェアやソフトウェアを変更することなく、マルチキャスト配信されるコンテンツの視聴状況を監視できる視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明では上記課題を解決するために、図1に示すような視聴状況監視方法が提供される。本発明に係る視聴状況監視方法は、マルチキャスト配信されるコンテンツの視聴状況を監視するものであり、コンテンツに対応するパケットを生成する配信装置3a,3bからコンテンツを再生する再生装置4a,4b,4cへ至る経路上に位置する通信装置1によって実行される。
【0011】
通信装置1は、コンテンツを識別するマルチキャストアドレスを指定した転送要求を受信すると、転送要求の送信元を、マルチキャストアドレスとパケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブル1aに、転送先装置として登録すると共に、転送先装置から継続的に転送要求を受信している間、転送テーブル1aの登録を維持する(ステップS1)。そして、通信装置1は、転送テーブル1aを監視して、マルチキャストアドレス毎の現在の転送先数を計算し、転送先数を示す転送情報を、パケットを受信している再生装置4a,4b,4cの数を示す視聴情報を管理する管理装置2に対して、ネットワーク経由で継続的に送信する(ステップS2)。
【0012】
このような視聴状況監視方法によれば、通信装置1により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブル1aに登録されると共に、継続的に転送要求が受信されている間、転送テーブル1aの登録が維持される。そして、通信装置1により、転送テーブル1aに基づいて、マルチキャストアドレス毎の現在の転送先数が計算され、転送先数を示す転送情報が管理装置2に対して継続的に送信される。
【0013】
また、上記課題を解決するために、マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置からコンテンツを再生する1以上の再生装置へ至る経路上に位置し、コンテンツの視聴状況を監視する視聴状況監視装置において、コンテンツを識別するマルチキャストアドレスと、パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、マルチキャストアドレスを指定した転送要求を受信すると、転送要求の送信元を転送先装置として転送テーブルに登録すると共に、転送先装置から継続的に転送要求を受信している間、転送テーブルの登録を維持する転送テーブル管理手段と、転送テーブルを監視して、マルチキャストアドレス毎の現在の転送先数を計算し、転送先数を示す転送情報を、パケットを受信している再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段と、を有することを特徴とする視聴状況監視装置が提供される。
【0014】
このような視聴状況監視装置によれば、転送テーブル管理手段により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブルに登録されると共に、継続的に転送要求が受信されている間、転送テーブルの登録が維持される。そして、転送状況監視手段により、転送テーブルに基づいて、マルチキャストアドレス毎の現在の転送先数が計算され、転送先数を示す転送情報が管理装置に対して継続的に送信される。
【0015】
また、上記課題を解決するために、マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置からコンテンツを再生する1以上の再生装置へ至る経路上に位置するコンピュータに、コンテンツの視聴状況を監視する処理を実行させる視聴状況監視プログラムにおいて、コンピュータを、コンテンツを識別するマルチキャストアドレスと、パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルを記憶する転送テーブル記憶手段、マルチキャストアドレスを指定した転送要求を受信すると、転送要求の送信元を転送先装置として転送テーブルに登録すると共に、転送先装置から継続的に転送要求を受信している間、転送テーブルの登録を維持する転送テーブル管理手段、転送テーブルを監視して、マルチキャストアドレス毎の現在の転送先数を計算し、転送先数を示す転送情報を、パケットを受信している再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段、として機能させることを特徴とする視聴状況監視プログラムが提供される。
【0016】
このような視聴状況監視プログラムを実行するコンピュータによれば、転送テーブル管理手段により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブルに登録されると共に、継続的に転送要求が受信されている間、転送テーブルの登録が維持される。そして、転送状況監視手段により、転送テーブルに基づいて、マルチキャストアドレス毎の現在の転送先数が計算され、転送先数を示す転送情報が管理装置に対して継続的に送信される。
【0017】
また、上記課題を解決するために、マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置からコンテンツを再生する1以上の再生装置へ至る経路上でコンテンツの視聴状況を監視する視聴状況監視システムにおいて、コンテンツを識別するマルチキャストアドレスと、パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、マルチキャストアドレスを指定した転送要求を受信すると、転送要求の送信元を転送先装置として転送テーブルに登録すると共に、転送先装置から継続的に転送要求を受信している間、転送テーブルの登録を維持する転送テーブル管理手段と、転送テーブルを監視して、マルチキャストアドレス毎の現在の転送先数を計算する転送状況監視手段と、を備える複数の通信装置と、マルチキャストアドレス毎に、パケットを受信している再生装置の数を示す視聴情報を時系列に記憶する視聴情報記憶手段と、複数の通信装置から、転送先数を示す転送情報をネットワーク経由で継続的に収集する転送情報収集手段と、転送情報収集手段が収集した転送情報を集計して視聴情報を生成し、集計時刻と対応付けて、生成した視聴情報を視聴情報記憶手段に格納する視聴状況集計手段と、を備える視聴情報管理装置と、を有することを特徴とする視聴状況監視システムが提供される。
【0018】
このような視聴状況監視システムによれば、個々の通信装置において、転送テーブル管理手段により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブルに登録されると共に、継続的に転送要求が受信されている間、転送テーブルの登録が維持される。そして、転送状況監視手段により、転送テーブルに基づいて、マルチキャストアドレス毎の現在の転送先数が計算される。一方、管理装置において、転送情報収集手段により、複数の通信装置から転送先数を示す転送情報が継続的に収集される。そして、視聴状況集計手段により、転送情報が集計されて、パケットを受信している再生装置の数を示す視聴情報が生成される。
【発明の効果】
【0019】
本発明では、配信装置から再生装置へ至る経路上の通信装置が、マルチキャストアドレスを有するパケットの転送先を定義する転送テーブルを監視して現在の転送先数を計算し、管理装置に継続的に報告するようにした。これにより、配信装置および再生装置に変更を加えることなく、マルチキャスト配信されるコンテンツの視聴状況を的確に把握することができる。従って、管理者などは、コンテンツの視聴状況に応じて、配信システムの増強や課金方法などを検討することができる。また、マルチキャスト配信の利用が一層促進されると期待できる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態を図面を参照して説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図1は、本実施の形態の概要を示す図である。図1に示す視聴状況監視システムは、マルチキャスト配信されるコンテンツの視聴状況を監視することが可能なシステムである。図1に示す視聴状況監視システムは、通信装置1、管理装置2、配信装置3a,3bおよび再生装置4a,4b,4cを有する。
【0021】
通信装置1は、コンテンツに対応するマルチキャストパケットを送信する配信装置3a,3bから、マルチキャストパケットを受信してコンテンツを再生する再生装置4a,4b,4cへ至る経路上に位置する。通信装置1は、転送テーブル1a、転送テーブル管理手段1b、パケット転送手段1cおよび転送状況監視手段1dを有する。
【0022】
転送テーブル1aは、マルチキャストアドレスと転送先アドレスとを対応付けて記憶する。マルチキャストアドレスは、コンテンツを識別するためのIP(Internet Protocol)アドレスである。転送先アドレスは、通信装置1が受信したマルチキャストパケットを次に転送すべき転送先装置を識別するIPアドレスである。転送先装置としては、再生装置および他の通信装置が考えられる。
【0023】
転送テーブル管理手段1bは、マルチキャストアドレスを指定した転送要求を受信する。ここで、転送要求の送信元が転送テーブル1aに登録されていない場合、転送テーブル管理手段1bは、転送要求の送信元を新たに登録する。また、転送要求の送信元が転送テーブル1aに登録されている場合、転送テーブル1aの登録を維持する。一方、転送テーブル管理手段1bは、転送テーブル1aに登録された転送先装置のうち、所定時間以上連続して転送要求を送信していない転送先装置を、転送テーブル1aから削除する。
【0024】
パケット転送手段1cは、配信装置3a,3bが送信したマルチキャストパケットを受信する。ここで、パケット転送手段1cは、転送テーブル1aを参照して、受信したマルチキャストパケットに対応する転送先装置を特定する。このとき、対応する転送先装置がない場合、受信したマルチキャストパケットを破棄する。一方、対応する転送先装置が2以上ある場合、受信したマルチキャストパケットの複製を作成する。そして、パケット転送手段1cは、マルチキャストパケットを転送先装置に対して送信する。
【0025】
転送状況監視手段1dは、転送テーブル1aを監視し、マルチキャストアドレス毎の現在の転送先数を計算する。そして、転送状況監視手段1dは、転送先数を示す転送情報を、管理装置2に対して送信する。なお、転送情報の送信は、例えば、管理装置2からの報告要求に応答して送信する方法と、転送先数が変化する毎に管理装置2に対して送信する方法とが考えられる。
【0026】
管理装置2は、通信装置1とネットワークで接続されている。管理装置2は、視聴情報記憶手段2a、転送情報収集手段2bおよび視聴状況集計手段2cを有する。
視聴情報記憶手段2aは、マルチキャストアドレス毎の視聴情報を時系列に記憶する。視聴情報は、ある時点でマルチキャストパケットを受信している再生装置の数を示す情報である。
【0027】
転送情報収集手段2bは、通信装置1から転送情報を継続的に収集する。転送情報の収集は、例えば、所定の時間間隔で通信装置1に対して報告要求を送信する方法と、通信装置1が転送情報を送信するのを待つ方法とが考えられる。なお、転送情報収集手段2bは、通信装置1と同様の機能を有する他の通信装置がある場合、他の通信装置からも転送情報を収集する。
【0028】
視聴状況集計手段2cは、転送情報収集手段2bが収集した転送情報を集計して、視聴情報を生成する。そして、視聴状況集計手段2cは、集計時刻と対応付けて、生成した視聴情報を視聴情報記憶手段2aに格納する。
【0029】
ここで、配信装置3aがコンテンツX、配信装置3bがコンテンツYをマルチキャスト配信しており、再生装置4a,4bがコンテンツX、再生装置4cがコンテンツYを視聴するものとする。また、再生装置4a,4b,4cが、他の通信装置を介さずに通信装置1と接続されているものとする。
【0030】
このとき、再生装置4a,4b,4cは、視聴するコンテンツに対応するマルチキャストアドレスを指定して、通信装置1に継続的に転送要求を送信する。通信装置1は、転送要求を受信し、コンテンツXと再生装置4a,4b、コンテンツYと再生装置4cをそれぞれ対応付けて、転送テーブル1aに登録し、これを維持する。
【0031】
そして、通信装置1は、配信装置3aが送信するマルチキャストパケットを再生装置4a,4bに、配信装置3bが送信するマルチキャストパケットを再生装置4cにそれぞれ転送する。更に、通信装置1は、転送テーブル1aを監視し、コンテンツXの転送先数が2、コンテンツYの転送先数が1である旨の転送情報を、管理装置2に対して送信する。
【0032】
このような視聴状況監視システムによれば、通信装置1により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブル1aに登録されると共に、継続的に転送要求が受信されている間、転送テーブル1aの登録が維持される。次に、転送テーブル1aに登録されたマルチキャストアドレスを有するマルチキャストパケットが、対応する全ての転送先装置に対して転送される。そして、転送テーブル1aに基づいて、マルチキャストアドレス毎の現在の転送先数が計算され、転送先数を示す転送情報が管理装置2に対して送信される。一方、管理装置2により、通信装置1および他の通信装置から転送情報が継続的に収集され、転送情報が集計されて、コンテンツの視聴状況を示す視聴情報が生成される。
【0033】
これにより、配信装置3a,3bおよび再生装置4a,4b,4cに変更を加えることなく、マルチキャスト配信されるコンテンツの視聴状況を把握することができる。特に、管理者は、管理装置2に蓄積された時系列の視聴情報を閲覧することで、コンテンツ毎の視聴状況の時系列変化を知ることができる。従って、管理者は、配信装置および通信装置の増強や、コンテンツ視聴時の課金の方法などを適切に検討することができ、より安定したコンテンツ配信を実現できるようになる。
【0034】
以下、本実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図2は、本実施の形態のシステム構成を示す図である。第1の実施の形態に係るコンテンツ配信システムは、カメラで撮影した映像を、リアルタイムにマルチキャスト配信するシステムである。
【0035】
図2に示すコンテンツ配信システムは、ネットワーク21,22、カメラ31,32、配信サーバ41,42、クライアント51,52,53,54、ルータ100,200、L2(Layer 2)スイッチ300,400、映像名サーバ500および視聴率サーバ600を有する。
【0036】
ネットワーク21には、配信サーバ41,42、ルータ200、映像名サーバ500および視聴率サーバ600が接続されている。ルータ200は、ネットワーク21の外側と内側との境界に位置する。カメラ31が配信サーバ41に接続されている。カメラ32が配信サーバ42に接続されている。
【0037】
ネットワーク22には、ルータ100およびL2スイッチ300,400が接続されている。ルータ100は、ネットワーク22の外側と内側との境界に位置する。ルータ100はルータ200と接続されている。クライアント51,52がL2スイッチ300に接続されている。クライアント53,54がL2スイッチ400に接続されている。
【0038】
カメラ31は、所定の位置の映像を撮影する。配信サーバ41は、カメラ31が撮影した映像を所定のデータ形式にエンコードする。そして、配信サーバ41は、エンコードした映像データを、リアルタイムにマルチキャスト配信する。すなわち、配信サーバ41は、映像データに対応するマルチキャストパケットを、ネットワーク21へ出力する。同様に、配信サーバ42は、カメラ32が撮影した映像を取得し、エンコードした映像データをリアルタイムにマルチキャスト配信する。
【0039】
クライアント51,52,53,54は、配信サーバ41,42が出力するマルチキャストパケットを受信して、カメラ31,32が撮影した映像を再生することができる。例えば、クライアント51は、利用者の操作入力によって再生する映像が選択されると、選択された映像に対応するマルチキャストアドレスを指定して、Join要求を出力する。これにより、クライアント51へのマルチキャストパケットの転送が開始される。
【0040】
また、クライアント51は、映像の再生を継続する間、Join要求を定期的に出力する。例えば、クライアント51は、30秒間隔でJoin要求を出力する。そして、利用者の操作入力によって再生停止が指示されると、Leave要求を出力する。これにより、クライアント51へのマルチキャストパケットの転送が停止される。クライアント52,53,54も、同様の処理を行うことで映像を再生できる。
【0041】
ルータ100,200は、第3層(ネットワーク層)の通信処理を行う通信装置である。従って、ルータ100,200は、宛先アドレスに応じて、通常のIPパケット(ユニキャストパケット)の転送先を制御する。
【0042】
更に、ルータ100,200は、マルチキャストパケットの転送先を制御する。すなわち、ルータ100,200は、Join要求を送信しているクライアントまたは通信装置のIPアドレスをテーブルに登録し、登録された転送先に対して受信したマルチキャストパケットを転送する。登録された転送先がない場合、受信したマルチキャストパケットを破棄する。
【0043】
なお、ルータ100は、マルチキャストパケットを受信するために、少なくとも1つの転送先がテーブルに登録されている間、配信サーバ41,42に近い通信装置であるルータ200に対して、継続的にJoin要求を送信する。
【0044】
L2スイッチ300は、第2層(データリンク層)の通信処理を行う通信装置である。従って、L2スイッチ300は、マルチキャストパケットの転送先を制御することができない。このため、L2スイッチ300は、クライアント51,52からJoin要求およびLeave要求を受信すると、そのままルータ100に転送する。また、ルータ100からマルチキャストパケットを受信すると、クライアント51とクライアント52の両方にマルチキャストパケットを転送する。
【0045】
L2スイッチ400は、L2スイッチ300と同様に、レイヤ2の通信処理を行う通信装置である。ただし、L2スイッチ400は、IGMP(Internet Group Management Protocol) snoopingの機能を有している。IGMP snoopingとは、L2スイッチにおいて、マルチキャストパケットの内容に応じた処理を行うことをいう。すなわち、L2スイッチ400は、マルチキャストパケットについては、ルータ100,200と同様の通信処理を行うことができる。
【0046】
映像名サーバ500は、カメラ31,32が撮影する映像の名称と、映像に割り当てられたマルチキャストアドレスとの対応関係を管理するコンピュータである。クライアント51,52,53,54は、映像名サーバ500を利用することで、映像の名称からマルチキャストアドレスを特定することができる。
【0047】
視聴率サーバ600は、ルータ100,200およびL2スイッチ400から、マルチキャストパケットの転送状況の情報を収集し、定期的に集計する。そして、視聴率サーバ600は、集計結果を視聴情報として保持する。なお、視聴率サーバ600がルータ100,200およびL2スイッチ400から情報を収集するのは、これらの通信装置が、マルチキャストパケットの転送に用いられるテーブルを保持しているからである。
【0048】
ここで、本実施の形態では、クライアント51,52,53,54のIPアドレスが、それぞれ、アドレスC1,C2,C3,C4であるとする。また、ルータ100,200およびL2スイッチ300,400のIPアドレスが、それぞれ、アドレスR1,R2,R3,R4であるとする。
【0049】
図3は、視聴率サーバのハードウェア構成を示す図である。視聴率サーバ600は、CPU(Central Processing Unit)601によって装置全体が制御されている。CPU601には、バス607を介してRAM(Random Access Memory)602、ハードディスクドライブ(HDD:Hard Disk Drive)603、グラフィック処理装置604、入力インタフェース605および通信インタフェース606が接続されている。
【0050】
RAM602には、CPU601に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM602には、CPU601による処理に必要な各種データが格納される。HDD603には、OSやアプリケーションプログラムが格納される。
【0051】
グラフィック処理装置604には、モニタ11が接続されている。グラフィック処理装置604は、CPU601からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース605には、キーボード12とマウス13とが接続されている。入力インタフェース605は、キーボード12やマウス13から送られてくる信号を、バス607を介してCPU601に送信する。通信インタフェース606は、ネットワーク21に接続されている。通信インタフェース606は、ネットワーク21を介して、他のコンピュータとの間でデータの送受信を行う。
【0052】
なお、配信サーバ41,42、クライアント51,52,53,54および映像名サーバ500は、視聴率サーバ600と同様のハードウェア構成によって実現できる。また、ルータ100,200およびL2スイッチ300,400は、コンピュータを用いて実現することもできる。この場合、ルータ100,200およびL2スイッチ300,400も、視聴率サーバ600と同様のハードウェア構成によって実現できる。
【0053】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、ルータ100および視聴率サーバ600のモジュール構成について説明する。
【0054】
図4は、第1の実施の形態のルータの機能を示すブロック図である。ルータ100は、ルーティング情報記憶部110、マルチキャスト情報記憶部120、転送情報記憶部130、入力制御部140、経路判定部150、マルチキャスト処理部160、転送状況監視部170および出力制御部180を有する。
【0055】
ルーティング情報記憶部110には、パケットの宛先とパケットを次に転送する転送先との対応関係を定義したルーティングテーブルが格納される。ルーティングテーブルでは、1つの宛先アドレスに対して、1つの転送先アドレスが特定される。
【0056】
マルチキャスト情報記憶部120には、マルチキャストアドレスとJoin要求を送信しているクライアントまたは通信装置との対応関係を定義したマルチキャストテーブルが格納される。マルチキャストテーブルでは、1つのマルチキャストアドレスに対して、0個以上のクライアントまたは通信装置のIPアドレスが特定される。
【0057】
転送情報記憶部130には、マルチキャストアドレス毎に、現在の転送先数を示す転送情報が格納される。ただし、転送先数は、マルチキャストパケットの転送制御機能を有する他の通信装置を除外して計算される。従って、ルータ200およびL2スイッチ400が除外されて、転送先数が計算される。
【0058】
入力制御部140は、パケットを一時的に格納するキューを備えている。入力制御部140は、ルータ200またはL2スイッチ300,400から転送されたパケットを受信し、受信したパケットをキューの最後尾に追加する。また、入力制御部140は、キューに格納されたパケットを先頭から順に取り出し、パケットの種類に応じて、経路判定部150、マルチキャスト処理部160、転送状況監視部170のいずれかに送る。
【0059】
具体的には、宛先アドレスとしてマルチキャストアドレスが設定されたパケットは、マルチキャスト処理部160に送られる。マルチキャストアドレスが設定されたパケットには、Join要求およびLeave要求を示すパケットが含まれる。
【0060】
また、ルータ100宛てのパケットは、転送状況監視部170に送られる。ルータ100宛てのパケットは、視聴率サーバ600が送信することが想定される。そして、上記に該当しないパケットは、経路判定部150に送られる。
【0061】
経路判定部150は、入力制御部140、マルチキャスト処理部160または転送状況監視部170からパケットを取得すると、ルーティング情報記憶部110に格納されたルーティングテーブルを参照して、指定された宛先に対応する転送先を特定する。そして、経路判定部150は、特定した転送先に対応する通信インタフェースを指定して、パケットを出力制御部180に送る。
【0062】
マルチキャスト処理部160は、入力制御部140からJoin要求のパケットを取得すると、マルチキャスト情報記憶部120に格納されたマルチキャストテーブルを更新する。ここで、指定されたマルチキャストアドレスについてJoin要求の送信元が登録されていない場合、マルチキャスト処理部160は、新たに登録を行う。
【0063】
更に、マルチキャスト処理部160は、指定されたマルチキャストアドレスについて他に登録済みの転送先がなかった場合、対応するマルチキャストパケットを出力している配信サーバに近い通信装置に対してJoin要求のパケットを送信するよう、経路判定部150に指示する。なお、経路判定部150は、マルチキャストパケットを出力している配信サーバに近い通信装置がルータ200であることを、ルーティングテーブルを参照することで知ることができる。
【0064】
また、マルチキャスト処理部160は、入力制御部140からLeave要求のパケットを取得すると、指定されたマルチキャストアドレスについて、マルチキャストテーブルからLeave要求の送信元を削除する。更に、マルチキャスト処理部160は、指定されたマルチキャストアドレスについて他の転送先がなくなった場合、対応するマルチキャストパケットを出力している配信サーバに近い通信装置に対してLeave要求のパケットを送信するよう、経路判定部150に指示する。
【0065】
また、マルチキャスト処理部160は、マルチキャストテーブルを監視し、最後にJoin要求を取得してから所定時間以上経過した転送先を、マルチキャストテーブルから削除する。これは、クライアント51,52,53,54が、Leave要求を出力せずにシャットダウンしてしまう場合が考えられるからである。
【0066】
また、マルチキャスト処理部160は、入力制御部140から配信サーバ41,42が出力したマルチキャストパケットを取得すると、マルチキャストテーブルを参照して、対応する転送先を特定する。ここで、対応する転送先がない場合、マルチキャスト処理部160は、取得したマルチキャストパケットを破棄する。対応する転送先が2つ以上ある場合、必要な数だけマルチキャストパケットを複製する。そして、マルチキャスト処理部160は、特定した個々の転送先に対してマルチキャストパケットを送信するよう、経路判定部150に指示する。
【0067】
転送状況監視部170は、マルチキャスト情報記憶部120に格納されたマルチキャストテーブルを監視する。ここで、転送状況監視部170は、転送先の登録状況が変化する毎に、マルチキャストアドレス毎の転送先数を計算する。ただし、前述の通り、ルータ200およびL2スイッチ400は除外して計算する。そして、転送状況監視部170は、計算した転送先数を示す転送情報を転送情報記憶部130に格納する。
【0068】
なお、ルータ200およびL2スイッチ400がマルチキャストパケットの転送制御機能を有する通信装置であることは、経路判定部150が処理するパケットを監視することで知ることが可能である。例えば、転送状況監視部170は、特定の通信プロトコルに従ったパケットの送信元となっている装置を、マルチキャストパケットの転送制御機能を有する通信装置と判定できる。
【0069】
また、転送状況監視部170は、転送情報記憶部130から転送情報を取得し、視聴率サーバ600宛てのパケットとして経路判定部150に送る。ここで、視聴率サーバ600に対して転送情報を送信する方法として、以下の2つの方法がある。管理者は、いずれの方法を採用するか、予め転送状況監視部170に設定しておく。
【0070】
第1の方法は、視聴率サーバ600が定期的に出力する報告要求に応答して、転送情報を送信する方法である。すなわち、転送状況監視部170は、入力制御部140から報告要求を示すパケットを取得すると、転送情報のパケットを生成する。第2の方法は、転送先数が増減する毎に、視聴率サーバ600に対して転送情報を送信する方法である。なお、第1の方法と第2の方法とを組み合わせるようにしてもよい。
【0071】
出力制御部180は、通信インタフェース毎に、パケットを一時的に格納するキューを備えている。具体的には、出力制御部180は、ネットワーク22の外側向けと内側向けの2つのキューを備えている。出力制御部180は、経路判定部150からパケットを取得すると、取得したパケットを、指定された通信インタフェースに対応するキューの最後尾に追加する。また、出力制御部180は、それぞれのキューに格納されたパケットを先頭から順に取り出し、対応する通信インタフェースからパケットを出力する。
【0072】
図5は、第1の実施の形態の視聴率サーバの機能を示すブロック図である。視聴率サーバ600は、転送情報収集部610、転送情報記憶部620、視聴状況集計部630および視聴情報記憶部640を有する。
【0073】
転送情報収集部610は、ルータ100,200およびL2スイッチ400から、継続的に転送情報を収集する。そして、転送情報収集部610は、個々の通信装置から取得した転送情報を、転送情報記憶部620に順次格納する。
【0074】
ここで、管理者は、ルータ100,200およびL2スイッチ400に設定した転送情報の送信方法に合わせて、転送情報の収集方法を予め設定する。すなわち、転送情報の送信方法として上記第1の方法が採用された場合、転送情報収集部610は、ルータ100,200およびL2スイッチ400に対して定期的に報告要求を出力する。例えば、転送情報収集部610は、10分間隔で報告要求を出力する。一方、転送情報の送信方法として上記第2の方法が採用された場合、転送情報収集部610は、ルータ100,200およびL2スイッチ400から転送情報が送信されるのを待つ。
【0075】
なお、上記第1の方法を採用した場合、管理者は、通信プロトコルとしてUDP(User Datagram Protocol)とTCP(Transmission Control Protocol)のいずれかを選択できる。UDPは、転送速度は高いが信頼性が低い。一方、TCPは、信頼性は高いが転送速度が低い。従って、ネットワークの混雑度やパケット損失率などを考慮して、使用する通信プロトコルを選択することが好ましい。
【0076】
視聴状況集計部630は、転送情報記憶部620に格納された転送情報に基づいて、マルチキャストパケットを受信しているクライアントの数をマルチキャストアドレス毎に集計する。例えば、視聴状況集計部630は、10分毎に集計を行う。また、転送情報収集部610が一部の通信装置から転送情報を取得できなかった場合、その通信装置については、最後に正常に取得された転送情報を用いて集計を行う。
【0077】
そして、視聴状況集計部630は、マルチキャストアドレス毎のクライアント数と集計時刻とを対応付けて、視聴情報として視聴情報記憶部640に格納する。これにより、視聴情報記憶部640には、コンテンツの視聴状況を示す情報が時系列に蓄積される。
【0078】
なお、ルータ200も、ルータ100と同様のモジュール構成によって実現できる。また、L2スイッチ400も、マルチキャストパケットの処理に関しては、ルータ100と同様のモジュール構成によって実現できる。
【0079】
次に、映像名サーバ500、ルータ100および視聴率サーバ600が保持するデータのデータ構造について説明する。
図6は、映像名テーブルのデータ構造を示す図である。図6に示す映像名テーブル511は、映像名サーバ500によって管理される。映像名テーブル511には、映像名を示す項目およびマルチキャストアドレスを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0080】
映像名の項目には、配信サーバ41,42が配信する映像の名称が設定される。例えば、配信サーバ41が配信する映像の映像名が“地点Aの映像”、配信サーバ42が配信する映像の映像名が“地点Bの映像”と設定される。
【0081】
マルチキャストアドレスの項目には、個々の映像に割り当てられたマルチキャストアドレスが設定される。例えば、配信サーバ41が配信する映像に対して“239.199.75.11”(図2のアドレスM1に相当)、配信サーバ42が配信する映像に対して“239.199.75.12”(図2のアドレスM2に相当)が設定される。
【0082】
映像名テーブル511に格納される情報は、映像の配信を開始する前に、予め管理者によって登録される。映像名サーバ500は、映像名が入力されると、映像名テーブル511を参照して、対応するマルチキャストアドレスを出力する。このため、クライアント51,52,53,54は、映像を視聴するためにマルチキャストアドレスを記憶しておく必要がない。
【0083】
図7は、ルーティングテーブルのデータ構造を示す図である。図7に示すルーティングテーブル111は、ルータ100のルーティング情報記憶部110に格納される。ルーティングテーブル111には、宛先ネットワークを示す項目、ネットマスクを示す項目、ゲートウェイを示す項目およびインタフェースを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0084】
宛先ネットワークの項目には、ネットワークを識別するネットワークアドレスか、または、装置を識別するIPアドレスが設定される。例えば、クライアント51について“10.74.10.21”(図2のアドレスC1に相当)、ネットワーク21について“10.74.30.0”が設定される。
【0085】
ネットマスクの項目には、宛先ネットワークに設定されたアドレスのネットワーク部とホスト部とを区別するためのビット列が設定される。例えば、“255.255.255.255”は、宛先ネットワークに設定されたアドレスが装置を識別するIPアドレスであることを意味する。“255.255.255.0”は、宛先ネットワークに設定されたアドレスの上位24ビットが、ネットワークを識別する部分であることを意味する。
【0086】
ゲートウェイの項目には、宛先ネットワークおよびネットマスクによって特定されるアドレス範囲に該当するパケットを、次に転送する転送先のIPアドレスが設定される。例えば、ネットワーク21に属する装置宛てのパケットに対して、ルータ200のIPアドレス“10.74.30.1”(図2のアドレスR2に相当)が設定される。
【0087】
インタフェースの項目には、ゲートウェイに対してパケットを送信するために使用する通信インタフェースを識別する文字列が設定される。例えば、ゲートウェイがルータ200である場合に、ネットワーク22の外側向けの通信インタフェースを示す“net1”が設定される。
【0088】
ルーティングテーブル111に格納される情報は、予め管理者によって登録される。なお、ルータ100が、RIP(Routing Information Protocol)などのルーティングプロトコルに従って他の通信装置と通信を行い、ルーティングテーブル111を動的に更新するようにしてもよい。この場合、ネットワーク構成が変更されると、ルーティングテーブル111の登録内容が自動的に変更される。
【0089】
図8は、マルチキャストテーブルのデータ構造を示す図である。図8に示すマルチキャストテーブル121は、ルータ100のマルチキャスト情報記憶部120に格納される。マルチキャストテーブル121には、マルチキャストアドレスを示す項目、受信者アドレスを示す項目および更新時刻を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0090】
マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。受信者アドレスの項目には、マルチキャストパケットの転送先のクライアントまたは通信装置のIPアドレスが設定される。1つのマルチキャストアドレスに対して、0個以上の受信者アドレスが設定される。更新時刻の項目には、ルータ100が最後にJoin要求を受信した時刻が設定される。更新時刻より所定時間以上経過した受信者アドレスは、マルチキャストテーブル121から削除されることになる。
【0091】
マルチキャストテーブル121に格納される情報は、マルチキャスト処理部160によって適宜更新される。ここで、L2スイッチ300はマルチキャストアドレスの転送先制御を行わないため、L2スイッチ300に接続されたクライアント51,52については、そのIPアドレスが直接登録される。一方、L2スイッチ400はマルチキャストアドレスの転送先制御を行うため、L2スイッチ400に接続されたクライアント53,54については、L2スイッチ400のIPアドレスが登録されることになる。
【0092】
なお、視聴率サーバ600の転送情報記憶部620にも、転送情報テーブル131と同様のテーブルが、通信装置毎に格納される。
図9は、第1の実施の形態の転送情報テーブルのデータ構造を示す図である。図9に示す転送情報テーブル131は、ルータ100の転送情報記憶部130に格納される。転送情報テーブル131には、マルチキャストアドレスを示す項目および転送先数を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0093】
マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。転送先数の項目には、マルチキャストパケットの現在の転送先の数が設定される。前述の通り、転送先数は、ルータ200およびL2スイッチ400が除外されて計算される。転送情報テーブル131に格納される情報は、転送状況監視部170によって適宜更新される。
【0094】
図10は、第1の実施の形態の視聴情報テーブルのデータ構造を示す図である。図10に示す視聴情報テーブル641は、視聴率サーバ600の視聴情報記憶部640に格納される。視聴情報テーブル641には、日時を示す項目、マルチキャストアドレスを示す項目および視聴数を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0095】
日時の項目には、視聴状況集計部630が集計処理を行った日時が設定される。マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。視聴数の項目には、全ての通信装置における転送先数の合計値が設定される。視聴情報テーブル641に格納される情報は、視聴状況集計部630によって定期的に追加される。
【0096】
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。
図11は、マルチキャスト配信の流れを示す第1のシーケンス図である。図11に示すシーケンス図は、クライアント51が“地点Aの映像”を視聴する場合であって、転送情報の収集方法として上記第1の方法(視聴率サーバ600が定期的に報告要求を出力する方法)を採用した場合の例である。以下、図11に示す処理をステップ番号に沿って説明する。
【0097】
[ステップS11]配信サーバ41は、カメラ31が撮影した映像を取得し、アドレスM1を有するマルチキャストパケットをネットワーク21に対して出力する。出力されたマルチキャストパケットは、ルータ200に到達する。ただし、ルータ200は、転送先が未登録であるため、受信したマルチキャストパケットを破棄する。
【0098】
[ステップS12]クライアント51は、映像名サーバ500に対して、映像名“地点Aの映像”を指定した検索要求を送信する。
[ステップS13]映像名サーバ500は、クライアント51に対して、指定された映像名に対応するアドレスM1(“239.199.75.11”)を回答する。
【0099】
[ステップS14]クライアント51は、宛先アドレスをアドレスM1、送信元アドレスをアドレスC1とするJoin要求を出力する。出力されたJoin要求は、L2スイッチ300に到達する。L2スイッチ300は、受信したJoin要求を、そのままルータ100に転送する。
【0100】
[ステップS15]ルータ100は、クライアント51からのJoin要求を受信する。そして、ルータ100は、アドレスM1と対応付けて、クライアント51のアドレスC1をマルチキャストテーブルに登録する。
【0101】
[ステップS16]ルータ100は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするJoin要求を、ルータ200に対して送信する。
[ステップS17]ルータ200は、ルータ100からのJoin要求を受信する。そして、ルータ200は、アドレスM1と対応付けて、ルータ100のアドレスR1をマルチキャストテーブルに登録する。
【0102】
[ステップS18]ルータ200は、アドレスM1を有するマルチキャストパケットのルータ100への転送を開始する。
[ステップS19]ルータ100は、ルータ200からアドレスM1を有するマルチキャストパケットを受信する。そして、ルータ100は、受信したマルチキャストパケットをネットワーク22に対して出力する。出力されたマルチキャストパケットは、L2スイッチ300に到達する。L2スイッチ300は、受信したマルチキャストパケットを、そのままクライアント51,52の両方に転送する。なお、クライアント52では、転送したマルチキャストパケットは破棄される。
【0103】
[ステップS20]クライアント51は、ステップS14から所定時間経過後、ステップS14と同様のJoin要求を出力する。出力されたJoin要求は、L2スイッチ300を経由して、ルータ100に到達する。
【0104】
[ステップS21]ルータ100は、マルチキャストテーブル内のクライアント51に対応する更新時刻を変更する。
[ステップS22]ルータ100は、ステップS16から所定時間経過後、ステップS16と同様のJoin要求を、ルータ200に対して送信する。
【0105】
[ステップS23]ルータ200は、マルチキャストテーブル内のルータ100に対応する更新時刻を変更する。
[ステップS24a]視聴率サーバ600は、ルータ200に対して報告要求を送信する。
【0106】
[ステップS25a]ルータ200は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は0である。視聴率サーバ600は、受信した転送情報を保持する。
【0107】
[ステップS24b]視聴率サーバ600は、ルータ100に対して報告要求を送信する。なお、視聴率サーバ600は、ステップS15aの応答を待って報告要求を送信する必要はない。
【0108】
[ステップS25b]ルータ100は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は1である。視聴率サーバ600は、受信した転送情報を保持する。
【0109】
[ステップS26]クライアント51は、利用者による視聴終了の指示があると、宛先アドレスをアドレスM1、送信元アドレスをアドレスC1とするLeave要求を出力する。出力されたLeave要求は、L2スイッチ300に到達する。L2スイッチ300は、受信したLeave要求を、そのままルータ100に転送する。
【0110】
[ステップS27]ルータ100は、クライアント51からのLeave要求を受信する。そして、ルータ100は、アドレスM1に対するクライアント51の登録をマルチキャストテーブルから削除する。これにより、クライアント51へのマルチキャストパケットの転送が停止する。
【0111】
[ステップS28]ルータ100は、ステップS27の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするLeave要求を、ルータ200に対して送信する。
【0112】
[ステップS29]ルータ200は、ルータ100からのLeave要求を受信する。そして、ルータ200は、アドレスM1に対するルータ100の登録をマルチキャストテーブルから削除する。これにより、ルータ100へのマルチキャストパケットの転送が停止する。
【0113】
このようにして、クライアント51は、視聴開始時にJoin要求を出力する。すると、ルータ100はクライアント51をマルチキャストテーブルに登録し、ルータ200はルータ100をマルチキャストテーブルに登録する。これにより、配信サーバ41からルータ200、ルータ100、クライアント51へとマルチキャストパケットが中継される。このとき、視聴率サーバ600は、ルータ100,200から転送情報を定期的に収集し、集計して視聴情報を生成する。
【0114】
図12は、マルチキャスト配信の流れを示す第2のシーケンス図である。図12に示すシーケンス図は、クライアント51が“地点Aの映像”を視聴する場合であって、転送情報の収集方法として上記第2の方法(通信装置が転送情報を視聴率サーバ600に適宜送信する方法)を採用した場合の例である。以下、図12に示す処理をステップ番号に沿って説明する。
【0115】
[ステップS31]配信サーバ41は、カメラ31が撮影した映像を取得し、アドレスM1を有するマルチキャストパケットをネットワーク21に対して出力する。出力されたマルチキャストパケットは、ルータ200に到達する。
【0116】
[ステップS32]クライアント51は、映像名サーバ500に対して、映像名“地点Aの映像”を指定した検索要求を送信する。
[ステップS33]映像名サーバ500は、クライアント51に対して、指定された映像名に対応するアドレスM1を回答する。
【0117】
[ステップS34]クライアント51は、宛先アドレスをアドレスM1、送信元アドレスをアドレスC1とするJoin要求を出力する。出力されたJoin要求は、L2スイッチ300を経由して、ルータ100に到達する。
【0118】
[ステップS35]ルータ100は、クライアント51からのJoin要求を受信する。そして、ルータ100は、アドレスM1と対応付けて、クライアント51のアドレスC1をマルチキャストテーブルに登録する。
【0119】
[ステップS36]ルータ100は、ステップS25の登録処理によって転送先数が増加するため、最新の転送情報を視聴率サーバ600に対して送信する。
[ステップS37]ルータ100は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするJoin要求を、ルータ200に対して送信する。
【0120】
[ステップS38]ルータ200は、ルータ100からのJoin要求を受信する。そして、ルータ200は、アドレスM1と対応付けて、ルータ100のアドレスR1をマルチキャストテーブルに登録する。なお、ルータ100は転送先数の計算の際に除外されるため、転送先数は登録処理の前後で変化しない。このため、ルータ200は、視聴率サーバ600に対して転送情報を送信しない。
【0121】
[ステップS39]ルータ200は、アドレスM1を有するマルチキャストパケットのルータ100への転送を開始する。
[ステップS40]ルータ100は、ルータ200からアドレスM1を有するマルチキャストパケットを受信する。そして、ルータ100は、受信したマルチキャストパケットをネットワーク22に対して出力する。出力されたマルチキャストパケットは、L2スイッチ300を経由して、クライアント51,52に到達する。
【0122】
[ステップS41]クライアント51は、ステップS34から所定時間経過後、ステップS34と同様のJoin要求を出力する。出力されたJoin要求は、L2スイッチ300を経由して、ルータ100に到達する。
【0123】
[ステップS42]ルータ100は、マルチキャストテーブル内のクライアント51に対応する更新時刻を変更する。
[ステップS43]ルータ100は、ステップS37から所定時間経過後、ステップS37と同様のJoin要求を、ルータ200に対して送信する。
【0124】
[ステップS44]ルータ200は、マルチキャストテーブル内のルータ100に対応する更新時刻を変更する。
[ステップS45]クライアント51は、利用者による視聴終了の指示があると、宛先アドレスをアドレスM1、送信元アドレスをアドレスC1とするLeave要求を出力する。出力されたLeave要求は、L2スイッチ300を経由して、ルータ100に送達する。
【0125】
[ステップS46]ルータ100は、クライアント51からのLeave要求を受信する。そして、ルータ100は、アドレスM1に対するクライアント51の登録をマルチキャストテーブルから削除する。
【0126】
[ステップS47]ルータ100は、ステップS46の削除処理によって転送先数が減少するため、最新の転送情報を視聴率サーバ600に対して送信する。
[ステップS48]ルータ100は、ステップS46の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするLeave要求を、ルータ200に対して送信する。
【0127】
[ステップS49]ルータ200は、ルータ100からのLeave要求を受信する。そして、ルータ200は、アドレスM1に対するルータ100の登録をマルチキャストテーブルから削除する。
【0128】
このようにして、クライアント51は、視聴開始時にJoin要求を出力する。すると、ルータ100はクライアント51をマルチキャストテーブルに登録し、ルータ200はルータ100をマルチキャストテーブルに登録する。これにより、配信サーバ41からルータ200、ルータ100、クライアント51へとマルチキャストパケットが中継される。ここで、ルータ100は、クライアント51の登録時に、転送情報を視聴率サーバ600に対して送信する。
【0129】
図13は、マルチキャスト配信の流れを示す第3のシーケンス図である。図13に示すシーケンス図は、クライアント53が“地点Aの映像”を視聴する場合であって、転送情報の収集方法として上記第1の方法(視聴率サーバ600が定期的に報告要求を出力する方法)を採用した場合の例である。ただし、図11の場合と異なり、継続的なJoin要求の送信については記載を省略している。以下、図13に示す処理をステップ番号に沿って説明する。
【0130】
[ステップS51]配信サーバ41は、カメラ31が撮影した映像を取得し、アドレスM1を有するマルチキャストパケットをネットワーク21に対して出力する。出力されたマルチキャストパケットは、ルータ200に到達する。
【0131】
[ステップS52]クライアント53は、映像名サーバ500に対して、映像名“地点Aの映像”を指定した検索要求を送信する。
[ステップS53]映像名サーバ500は、クライアント53に対して、指定された映像名に対応するアドレスM1を回答する。
【0132】
[ステップS54]クライアント53は、宛先アドレスをアドレスM1、送信元アドレスをアドレスC3とするJoin要求を出力する。出力されたJoin要求は、L2スイッチ400に到達する。
【0133】
[ステップS55]L2スイッチ400は、クライアント53からのJoin要求を受信する。そして、L2スイッチ400は、アドレスM1と対応付けて、クライアント53のアドレスC3をマルチキャストテーブルに登録する。
【0134】
[ステップS56]L2スイッチ400は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR4とするJoin要求を、ルータ100に対して送信する。
[ステップS57]ルータ100は、L2スイッチ400からのJoin要求を受信する。そして、ルータ100は、アドレスM1と対応付けて、L2スイッチ400のアドレスR4をマルチキャストテーブルに登録する。
【0135】
[ステップS58]ルータ100は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするJoin要求を、ルータ200に対して送信する。
[ステップS59]ルータ200は、ルータ100からのJoin要求を受信する。そして、ルータ200は、アドレスM1と対応付けて、ルータ100のアドレスR1をマルチキャストテーブルに登録する。
【0136】
[ステップS60]ルータ200は、アドレスM1を有するマルチキャストパケットのルータ100への転送を開始する。
[ステップS61]ルータ100は、ルータ200からアドレスM1を有するマルチキャストパケットを受信する。そして、ルータ100は、受信したマルチキャストパケットをネットワーク22に対して出力する。出力されたマルチキャストパケットは、L2スイッチ400に到達する。
【0137】
[ステップS62]L2スイッチ400は、ルータ100からアドレスM1を有するマルチキャストパケットを受信する。そして、L2スイッチ400は、受信したマルチキャストパケットをクライアント53に対して送信する。
【0138】
[ステップS63a]視聴率サーバ600は、ルータ200に対して報告要求を送信する。
[ステップS64a]ルータ200は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は0である。
【0139】
[ステップS63b]視聴率サーバ600は、ルータ100に対して報告要求を送信する。なお、視聴率サーバ600は、ステップS64aの応答を待って報告要求を送信する必要はない。
【0140】
[ステップS64b]ルータ100は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は0である。
【0141】
[ステップS63c]視聴率サーバ600は、L2スイッチ400に対して報告要求を送信する。なお、視聴率サーバ600は、ステップS64bの応答を待って報告要求を送信する必要はない。
【0142】
[ステップS64c]L2スイッチ400は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は1である。
【0143】
[ステップS65]クライアント53は、利用者による視聴終了の指示があると、宛先アドレスをアドレスM1、送信元アドレスをアドレスC3とするLeave要求を出力する。出力されたLeave要求は、L2スイッチ400に到達する。
【0144】
[ステップS66]L2スイッチ400は、クライアント53からのLeave要求を受信する。そして、L2スイッチ400は、アドレスM1に対するクライアント53の登録をマルチキャストテーブルから削除する。
【0145】
[ステップS67]L2スイッチ400は、ステップS66の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR4とするLeave要求を、ルータ100に対して送信する。
【0146】
[ステップS68]ルータ100は、L2スイッチ400からのLeave要求を受信する。そして、ルータ100は、アドレスM1に対するL2スイッチ400の登録をマルチキャストテーブルから削除する。
【0147】
[ステップS69]ルータ100は、ステップS68の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするLeave要求を、ルータ200に対して送信する。
【0148】
[ステップS70]ルータ200は、ルータ100からのLeave要求を受信する。そして、ルータ200は、アドレスM1に対するルータ100の登録をマルチキャストテーブルから削除する。
【0149】
このようにして、クライアント53は、視聴開始時にJoin要求を出力する。すると、L2スイッチ400はクライアント53をマルチキャストテーブルに登録し、ルータ100はL2スイッチ400をマルチキャストテーブルに登録し、ルータ200はルータ100をマルチキャストテーブルに登録する。これにより、配信サーバ41からルータ200、ルータ100、L2スイッチ400、クライアント51へとマルチキャストパケットが中継される。このとき、視聴率サーバ600は、L2スイッチ400およびルータ100,200から転送情報を定期的に収集し、集計して視聴情報を生成する。
【0150】
図14は、マルチキャスト配信の流れを示す第4のシーケンス図である。図14に示すシーケンス図は、クライアント53が“地点Aの映像”を視聴する場合であって、転送情報の収集方法として上記第2の方法(通信装置が転送情報を視聴率サーバ600に適宜送信する方法)を採用した場合の例である。ただし、図12の場合と異なり、継続的なJoin要求の送信については記載を省略している。以下、図14に示す処理をステップ番号に沿って説明する。
【0151】
[ステップS71]配信サーバ41は、カメラ31が撮影した映像を取得し、アドレスM1を有するマルチキャストパケットをネットワーク21に対して出力する。出力されたマルチキャストパケットは、ルータ200に到達する。
【0152】
[ステップS72]クライアント53は、映像名サーバ500に対して、映像名“地点Aの映像”を指定した検索要求を送信する。
[ステップS73]映像名サーバ500は、クライアント53に対して、指定された映像名に対応するアドレスM1を回答する。
【0153】
[ステップS74]クライアント53は、宛先アドレスをアドレスM1、送信元アドレスをアドレスC3とするJoin要求を出力する。出力されたJoin要求は、L2スイッチ400に到達する。
【0154】
[ステップS75]L2スイッチ400は、クライアント53からのJoin要求を受信する。そして、L2スイッチ400は、アドレスM1と対応付けて、クライアント53のアドレスC3をマルチキャストテーブルに登録する。
【0155】
[ステップS76]L2スイッチ400は、ステップS75の登録処理によって転送先数が増加するため、最新の転送情報を視聴率サーバ600に対して送信する。
[ステップS77]L2スイッチ400は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR4とするJoin要求を、ルータ100に対して送信する。
【0156】
[ステップS78]ルータ100は、L2スイッチ400からのJoin要求を受信する。そして、ルータ100は、アドレスM1と対応付けて、L2スイッチ400のアドレスR4をマルチキャストテーブルに登録する。なお、L2スイッチ400は転送先数の計算の際に除外されるため、転送先数は登録処理の前後で変化しない。このため、ルータ100は、視聴率サーバ600に対して転送情報を送信しない。
【0157】
[ステップS79]ルータ100は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするJoin要求を、ルータ200に対して送信する。
[ステップS80]ルータ200は、ルータ100からのJoin要求を受信する。そして、ルータ200は、アドレスM1と対応付けて、ルータ100のアドレスR1をマルチキャストテーブルに登録する。
【0158】
[ステップS81]ルータ200は、アドレスM1を有するマルチキャストパケットのルータ100への転送を開始する。
[ステップS82]ルータ100は、ルータ200からアドレスM1を有するマルチキャストパケットを受信する。そして、ルータ100は、受信したマルチキャストパケットをネットワーク22に対して出力する。出力されたマルチキャストパケットは、L2スイッチ400に到達する。
【0159】
[ステップS83]L2スイッチ400は、ルータ100からアドレスM1を有するマルチキャストパケットを受信する。そして、L2スイッチ400は、受信したマルチキャストパケットをクライアント53に対して送信する。
【0160】
[ステップS84]クライアント53は、利用者による視聴終了の指示があると、宛先アドレスをアドレスM1、送信元アドレスをアドレスC3とするLeave要求を出力する。出力されたLeave要求は、L2スイッチ400に到達する。
【0161】
[ステップS85]L2スイッチ400は、クライアント53からのLeave要求を受信する。そして、L2スイッチ400は、アドレスM1に対するクライアント53の登録をマルチキャストテーブルから削除する。
【0162】
[ステップS86]L2スイッチ400は、ステップS85の削除処理によって転送先数が減少するため、最新の転送情報を視聴率サーバ600に対して送信する。
[ステップS87]L2スイッチ400は、ステップS85の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR4とするLeave要求を、ルータ100に対して送信する。
【0163】
[ステップS88]ルータ100は、L2スイッチ400からのLeave要求を受信する。そして、ルータ100は、アドレスM1に対するL2スイッチ400の登録をマルチキャストテーブルから削除する。
【0164】
[ステップS89]ルータ100は、ステップS88の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするLeave要求を、ルータ200に対して送信する。
【0165】
[ステップS90]ルータ200は、ルータ100からのLeave要求を受信する。そして、ルータ200は、アドレスM1に対するルータ100の登録をマルチキャストテーブルから削除する。
【0166】
このようにして、クライアント53は、視聴開始時にJoin要求を出力する。すると、L2スイッチ400はクライアント53をマルチキャストテーブルに登録し、ルータ100はL2スイッチ400をマルチキャストテーブルに登録し、ルータ200はルータ100をマルチキャストテーブルに登録する。これにより、配信サーバ41からルータ200、ルータ100、L2スイッチ400、クライアント53へとマルチキャストパケットが中継される。ここで、L2スイッチ400は、クライアント53の登録時に、転送情報を視聴率サーバ600に対して送信する。
【0167】
このようなコンテンツ配信システムを用いることで、配信サーバ41,42およびクライアント51,52,53,54は、一般的なマルチキャストの通信プロトコルに対応していればよく、専用のハードウェアやソフトウェアを搭載する必要がない。このため、コンテンツの視聴状況を把握することが容易に実現できる。特に、視聴率サーバ600には、コンテンツ配信システム全体での視聴状況を示す情報が時系列に蓄積されるため、管理者は、設備の増強や課金の方法などを適切に検討することができる。この結果、より安定したコンテンツ配信システムを実現できるようになる。
【0168】
[第2の実施の形態]
次に、第2の実施の形態について説明する。第1の実施の形態は、瞬間的な視聴者数を把握できるシステムであったが、第2の実施の形態は、所定期間内の延べ視聴者数と総視聴時間とを更に把握できるシステムである。前述の第1の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
【0169】
第2の実施の形態のシステム構成は、図2に示した第1の実施の形態のものと同様である。ただし、ルータ、L2スイッチおよび視聴率サーバが備える処理機能の一部が、第1の実施の形態のものと異なる。以下の説明で、ルータ100aは前述のルータ100に相当する通信装置であり、視聴率サーバ600aは前述の視聴率サーバ600に相当するコンピュータであるとする。
【0170】
図15は、第2の実施の形態のルータの機能を示すブロック図である。ルータ100aは、ルーティング情報記憶部110、マルチキャスト情報記憶部120、期間転送情報記憶部130a、入力制御部140、経路判定部150、マルチキャスト処理部160、期間転送状況監視部170aおよび出力制御部180を有する。
【0171】
ルーティング情報記憶部110、マルチキャスト情報記憶部120、入力制御部140、経路判定部150、マルチキャスト処理部160および出力制御部180が備える機能は、第1の実施の形態のものと同様である。
【0172】
期間転送情報記憶部130aには、マルチキャストアドレス毎に、現在の転送先数と、転送情報を最後に視聴率サーバ600に送信してからの延べ転送先数および総転送時間とを示す転送情報が格納される。転送先数および延べ転送先数は、マルチキャストパケットの転送制御機能を有する他の通信装置を除外して計算される。
【0173】
期間転送状況監視部170aは、マルチキャスト情報記憶部120に格納されたマルチキャストテーブル121を監視する。ここで、期間転送状況監視部170aは、転送先が新たに追加されると、転送先数を再計算すると共に、転送先数の増加分だけ延べ転送先数を加算し、期間転送情報記憶部130aに格納された転送情報を更新する。
【0174】
また、期間転送状況監視部170aは、転送先が削除されると、転送先数を再計算し、期間転送情報記憶部130aに格納された転送情報を更新する。また、期間転送状況監視部170aは、Join要求の継続的な受信によって転送先の更新時刻が新しくなると、前回の更新時刻からの経過時間分だけ総転送時間を加算し、期間転送情報記憶部130aに格納された転送情報を更新する。
【0175】
また、期間転送状況監視部170aは、視聴率サーバ600aが送信した報告要求に応答して、期間転送情報記憶部130aから現在の転送情報を取得し、視聴率サーバ600a宛てのパケットを生成する。このとき、期間転送状況監視部170aは、期間転送情報記憶部130aに格納された転送情報の延べ転送先数と総転送時間とを0に初期化する。
【0176】
なお、期間転送状況監視部170aでは、第1の実施の形態と異なり、転送情報の送信方法として、転送先数が増減する毎に転送情報を視聴率サーバ600に送信する方法を選択することはできない。
【0177】
図16は、第2の実施の形態の視聴率サーバの機能を示すブロック図である。視聴率サーバ600aは、期間転送情報収集部610a、期間転送情報記憶部620a、期間視聴状況集計部630aおよび期間視聴情報記憶部640aを有する。
【0178】
期間転送情報収集部610aは、マルチキャストパケットの転送制御機能を備える通信装置から、所定の時間間隔で転送情報を収集する。そして、期間転送情報収集部610aは、個々の通信装置から取得した転送情報を、期間転送情報記憶部620aに順次格納する。なお、管理者は、通信プロトコルとしてUDPとTCPのいずれかを選択することができる。
【0179】
期間視聴状況集計部630aは、期間転送情報記憶部620aに格納された転送情報に基づいて、現在の受信クライアント数と、前回集計を行ってからの延べクライアント数および総受信時間とを、マルチキャストアドレス毎に集計する。例えば、期間視聴状況集計部630aは、10分毎に集計を行う。そして、期間視聴状況集計部630aは、集計結果と集計時刻とを対応付けて、視聴情報として期間視聴情報記憶部640aに格納する。
【0180】
図17は、第2の実施の形態の転送情報テーブルのデータ構造を示す図である。図17に示す転送情報テーブル132は、ルータ100aの期間転送情報記憶部130aに格納される。転送情報テーブル132には、マルチキャストアドレスを示す項目、転送先数を示す項目、延べ転送先数を示す項目および総転送時間を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0181】
マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。転送先数の項目には、マルチキャストパケットの現在の転送先の数が設定される。延べ転送先数の項目には、各集計期間の開始時から測定した延べ転送先数が設定される。総転送時間の項目には、各集計期間の開始時から測定した、各転送先へのマルチキャストパケットの転送継続時間の合計値が設定される。転送情報テーブル132に格納される情報は、期間転送状況監視部170aによって適宜更新される。
【0182】
図18は、第2の実施の形態の視聴情報テーブルのデータ構造を示す図である。図18に示す視聴情報テーブル642は、視聴率サーバ600aの期間視聴情報記憶部640aに格納される。視聴情報テーブル642には、日時を示す項目、マルチキャストアドレスを示す項目、視聴数を示す項目、延べ視聴数を示す項目および総師長時間を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0183】
日時の項目には、期間視聴状況集計部630aが集計処理を行った日時が設定される。マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。視聴数の項目には、全ての通信装置における転送先数の合計値が設定される。延べ視聴数の項目には、全ての通信装置における延べ転送先数の合計値が設定される。総視聴時間の項目には、全ての通信装置における総転送時間の合計値が設定される。視聴情報テーブル642に格納される情報は、期間視聴状況集計部630aによって定期的に追加される。
【0184】
以上のような構成およびデータ構造のシステムにおいて実行される処理の全体的な流れは、図11,13に示した第1の実施の形態のものと同様である。
このようなコンテンツ配信システムを用いることで、第1の実施の形態に係るコンテンツ配信システムと同様の効果を得られる。更に、第2の実施の形態に係るコンテンツ配信システムを用いることで、視聴率サーバ600aに、所定時間間隔毎の延べ視聴数および総視聴時間の情報が時系列に蓄積される。このため、視聴するコンテンツを頻繁に切り替える利用者がいる場合でも、管理者は、正確な視聴状況を把握することができる。従って、より現実に即したコンテンツ配信システムを構築できるようになる。
【0185】
なお、上記実施の形態では、個々の通信装置が他の通信装置を除外して転送先数を計算し、視聴率サーバは転送先数を合計して視聴数を特定している。一方で、個々の通信装置は他の通信装置を除外せずに転送先数を計算し、視聴率サーバが通信装置間の接続関係を考慮して適切に視聴数を特定するようにしてもよい。管理者は、上記処理が通信装置および視聴率サーバに与える負荷を考慮して、いずれの方法を採用するか選択することが好ましい。
【0186】
以上、本発明の視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システムを図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0187】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0188】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0189】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0190】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置する通信装置において実行される前記コンテンツの視聴状況を監視する視聴状況監視方法において、
前記コンテンツを識別するマルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を、前記マルチキャストアドレスと前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルに、前記転送先装置として登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する管理ステップと、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する監視ステップと、
を有することを特徴とする視聴状況監視方法。
【0191】
(付記2) 前記監視ステップにおいて、前記通信装置は、前記マルチキャストアドレスを有する前記パケットの転送先を制御可能な他の通信装置が前記転送先装置として前記転送テーブルに登録されている場合に、前記他の通信装置を除外して前記転送先数を計算することを特徴とする請求項1記載の視聴状況監視方法。
【0192】
(付記3) 前記監視ステップにおいて、前記通信装置は、個々の前記転送先アドレスが前記転送テーブルに登録されている経過時間に基づいて、前記マルチキャストアドレス毎の延べ転送時間を更に計算し、前記転送情報に前記延べ転送時間を含めて、前記管理装置に対して前記転送情報を送信することを特徴とする請求項1記載の視聴状況監視方法。
【0193】
(付記4) 前記監視ステップにおいて、前記通信装置は、前記管理装置が所定の時間間隔で送信する報告要求に応答して、前記管理装置に対して前記転送情報を送信することを特徴とする請求項1記載の視聴状況監視方法。
【0194】
(付記5) 前記監視ステップにおいて、前記通信装置は、前記転送先数が変化する毎に、前記管理装置に対して前記転送情報を送信することを特徴とする請求項1記載の視聴状況監視方法。
【0195】
(付記6) マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置し、前記コンテンツの視聴状況を監視する視聴状況監視装置において、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段と、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段と、
を有することを特徴とする視聴状況監視装置。
【0196】
(付記7) マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置するコンピュータに、前記コンテンツの視聴状況を監視する処理を実行させる視聴状況監視プログラムにおいて、前記コンピュータを、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルを記憶する転送テーブル記憶手段、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段、
として機能させることを特徴とする視聴状況監視プログラム。
【0197】
(付記8) マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上で前記コンテンツの視聴状況を監視する視聴状況監視システムにおいて、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段と、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算する転送状況監視手段と、
を備える複数の通信装置と、
前記マルチキャストアドレス毎に、前記パケットを受信している前記再生装置の数を示す視聴情報を時系列に記憶する視聴情報記憶手段と、
前記複数の通信装置から、前記転送先数を示す転送情報をネットワーク経由で継続的に収集する転送情報収集手段と、
前記転送情報収集手段が収集した前記転送情報を集計して前記視聴情報を生成し、集計時刻と対応付けて、生成した前記視聴情報を前記視聴情報記憶手段に格納する視聴状況集計手段と、
を備える視聴情報管理装置と、
を有することを特徴とする視聴状況監視システム。
【図面の簡単な説明】
【0198】
【図1】本実施の形態の概要を示す図である。
【図2】本実施の形態のシステム構成を示す図である。
【図3】視聴率サーバのハードウェア構成を示す図である。
【図4】第1の実施の形態のルータの機能を示すブロック図である。
【図5】第1の実施の形態の視聴率サーバの機能を示すブロック図である。
【図6】映像名テーブルのデータ構造を示す図である。
【図7】ルーティングテーブルのデータ構造を示す図である。
【図8】マルチキャストテーブルのデータ構造を示す図である。
【図9】第1の実施の形態の転送情報テーブルのデータ構造を示す図である。
【図10】第1の実施の形態の視聴情報テーブルのデータ構造を示す図である。
【図11】マルチキャスト配信の流れを示す第1のシーケンス図である。
【図12】マルチキャスト配信の流れを示す第2のシーケンス図である。
【図13】マルチキャスト配信の流れを示す第3のシーケンス図である。
【図14】マルチキャスト配信の流れを示す第4のシーケンス図である。
【図15】第2の実施の形態のルータの機能を示すブロック図である。
【図16】第2の実施の形態の視聴率サーバの機能を示すブロック図である。
【図17】第2の実施の形態の転送情報テーブルのデータ構造を示す図である。
【図18】第2の実施の形態の視聴情報テーブルのデータ構造を示す図である。
【符号の説明】
【0199】
1 通信装置
1a 転送テーブル
1b 転送テーブル管理手段
1c パケット転送手段
2 管理装置
2a 視聴情報記憶手段
2b 転送情報収集手段
2c 視聴状況集計手段
3a,3b 配信装置
4a,4b,4c 再生装置
【技術分野】
【0001】
本発明は視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システムに関し、特にマルチキャスト配信されるコンテンツの視聴状況を監視する視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システムに関する。
【背景技術】
【0002】
現在、情報通信技術の発展に伴い、音声や動画などのコンテンツをネットワーク経由で配信することが行われている。コンテンツを配信する配信装置は、ネットワークでの伝送に適した形式にコンテンツを符号化(エンコード)し、所定のデータ単位(パケット)に分割して出力する。コンテンツを再生する再生装置は、配信装置が出力したパケットをネットワーク経由で受信し、復号(デコード)してコンテンツを再生する。
【0003】
ところで、ネットワーク経由でコンテンツを配信する方法として、ユニキャスト配信とマルチキャスト配信とがある。ユニキャスト配信は、配信装置が再生装置から配信要求を受け付け、再生装置に対して個別にパケットを送信する配信方法である。ユニキャスト配信では、配信装置と再生装置とが直接通信を行うため、コンテンツの視聴状況を配信装置側で集中管理することが容易であるという利点がある(例えば、特許文献1参照)。
【0004】
一方、マルチキャスト配信は、配信装置から再生装置へ至る経路上に位置する通信装置が転送要求を受け付け、転送要求の送信元にパケットの複製を送信する配信方法である。マルチキャスト配信では、経路上の通信装置で適宜パケットが複製されるため、ネットワーク全体の通信量を抑制できるという利点がある。
【0005】
例えば、再生装置Aが通信装置a−b−c1という経路で、再生装置Bが通信装置a−b−c2という経路でパケットを受信しているとする。このとき、ユニキャスト配信では、通信装置a−b間で宛先が異なる2つのパケットが伝送されるが、マルチキャスト配信では、通信装置a−b間で1つのパケットのみが伝送され、通信装置bでパケットが複製される。
【0006】
ここで、ネットワーク経由でのコンテンツ配信が増加するに伴い、今後はマルチキャスト配信の一層の普及が期待される。しかしながら、従来のマルチキャスト配信では、配信装置側でコンテンツの視聴状況を管理することが困難であるという問題があった。
【0007】
これに対し、コンテンツを暗号化して配信することで、配信装置と再生装置とが直接通信を行う機会を設けるようにする配信方法が知られている(例えば、特許文献2参照)。すなわち、配信装置が定期的に暗号鍵を変更して暗号化したコンテンツを配信し、再生装置は暗号鍵が変更される毎に配信装置から復号鍵を取得してコンテンツを復号する。これにより、配信装置は再生装置によるコンテンツの視聴状況を把握することができる。また、配信装置と再生装置との間では復号鍵のみが伝送されるため、通信量を抑制できるというマルチキャスト配信の利点を維持できる。
【特許文献1】特開2003−324758号公報
【特許文献2】特開平10−164046号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、上記特許文献2に記載の技術では、再生装置が上記処理に対応した専用のハードウェアまたはソフトウェアを搭載しなければならないという問題がある。これは、マルチキャスト配信の規約(通信プロトコル)は、再生装置が配信装置と直接通信を行うことを想定していないためである。すなわち、特許文献2に記載の技術は、マルチキャスト配信の通信方法を拡張するものであり、拡張された通信方法に対応した再生装置でなければコンテンツを視聴することができない。このことは、マルチキャスト配信の普及という観点から好ましくない。
【0009】
本発明はこのような点に鑑みてなされたものであり、再生装置に搭載されたハードウェアやソフトウェアを変更することなく、マルチキャスト配信されるコンテンツの視聴状況を監視できる視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明では上記課題を解決するために、図1に示すような視聴状況監視方法が提供される。本発明に係る視聴状況監視方法は、マルチキャスト配信されるコンテンツの視聴状況を監視するものであり、コンテンツに対応するパケットを生成する配信装置3a,3bからコンテンツを再生する再生装置4a,4b,4cへ至る経路上に位置する通信装置1によって実行される。
【0011】
通信装置1は、コンテンツを識別するマルチキャストアドレスを指定した転送要求を受信すると、転送要求の送信元を、マルチキャストアドレスとパケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブル1aに、転送先装置として登録すると共に、転送先装置から継続的に転送要求を受信している間、転送テーブル1aの登録を維持する(ステップS1)。そして、通信装置1は、転送テーブル1aを監視して、マルチキャストアドレス毎の現在の転送先数を計算し、転送先数を示す転送情報を、パケットを受信している再生装置4a,4b,4cの数を示す視聴情報を管理する管理装置2に対して、ネットワーク経由で継続的に送信する(ステップS2)。
【0012】
このような視聴状況監視方法によれば、通信装置1により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブル1aに登録されると共に、継続的に転送要求が受信されている間、転送テーブル1aの登録が維持される。そして、通信装置1により、転送テーブル1aに基づいて、マルチキャストアドレス毎の現在の転送先数が計算され、転送先数を示す転送情報が管理装置2に対して継続的に送信される。
【0013】
また、上記課題を解決するために、マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置からコンテンツを再生する1以上の再生装置へ至る経路上に位置し、コンテンツの視聴状況を監視する視聴状況監視装置において、コンテンツを識別するマルチキャストアドレスと、パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、マルチキャストアドレスを指定した転送要求を受信すると、転送要求の送信元を転送先装置として転送テーブルに登録すると共に、転送先装置から継続的に転送要求を受信している間、転送テーブルの登録を維持する転送テーブル管理手段と、転送テーブルを監視して、マルチキャストアドレス毎の現在の転送先数を計算し、転送先数を示す転送情報を、パケットを受信している再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段と、を有することを特徴とする視聴状況監視装置が提供される。
【0014】
このような視聴状況監視装置によれば、転送テーブル管理手段により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブルに登録されると共に、継続的に転送要求が受信されている間、転送テーブルの登録が維持される。そして、転送状況監視手段により、転送テーブルに基づいて、マルチキャストアドレス毎の現在の転送先数が計算され、転送先数を示す転送情報が管理装置に対して継続的に送信される。
【0015】
また、上記課題を解決するために、マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置からコンテンツを再生する1以上の再生装置へ至る経路上に位置するコンピュータに、コンテンツの視聴状況を監視する処理を実行させる視聴状況監視プログラムにおいて、コンピュータを、コンテンツを識別するマルチキャストアドレスと、パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルを記憶する転送テーブル記憶手段、マルチキャストアドレスを指定した転送要求を受信すると、転送要求の送信元を転送先装置として転送テーブルに登録すると共に、転送先装置から継続的に転送要求を受信している間、転送テーブルの登録を維持する転送テーブル管理手段、転送テーブルを監視して、マルチキャストアドレス毎の現在の転送先数を計算し、転送先数を示す転送情報を、パケットを受信している再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段、として機能させることを特徴とする視聴状況監視プログラムが提供される。
【0016】
このような視聴状況監視プログラムを実行するコンピュータによれば、転送テーブル管理手段により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブルに登録されると共に、継続的に転送要求が受信されている間、転送テーブルの登録が維持される。そして、転送状況監視手段により、転送テーブルに基づいて、マルチキャストアドレス毎の現在の転送先数が計算され、転送先数を示す転送情報が管理装置に対して継続的に送信される。
【0017】
また、上記課題を解決するために、マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置からコンテンツを再生する1以上の再生装置へ至る経路上でコンテンツの視聴状況を監視する視聴状況監視システムにおいて、コンテンツを識別するマルチキャストアドレスと、パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、マルチキャストアドレスを指定した転送要求を受信すると、転送要求の送信元を転送先装置として転送テーブルに登録すると共に、転送先装置から継続的に転送要求を受信している間、転送テーブルの登録を維持する転送テーブル管理手段と、転送テーブルを監視して、マルチキャストアドレス毎の現在の転送先数を計算する転送状況監視手段と、を備える複数の通信装置と、マルチキャストアドレス毎に、パケットを受信している再生装置の数を示す視聴情報を時系列に記憶する視聴情報記憶手段と、複数の通信装置から、転送先数を示す転送情報をネットワーク経由で継続的に収集する転送情報収集手段と、転送情報収集手段が収集した転送情報を集計して視聴情報を生成し、集計時刻と対応付けて、生成した視聴情報を視聴情報記憶手段に格納する視聴状況集計手段と、を備える視聴情報管理装置と、を有することを特徴とする視聴状況監視システムが提供される。
【0018】
このような視聴状況監視システムによれば、個々の通信装置において、転送テーブル管理手段により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブルに登録されると共に、継続的に転送要求が受信されている間、転送テーブルの登録が維持される。そして、転送状況監視手段により、転送テーブルに基づいて、マルチキャストアドレス毎の現在の転送先数が計算される。一方、管理装置において、転送情報収集手段により、複数の通信装置から転送先数を示す転送情報が継続的に収集される。そして、視聴状況集計手段により、転送情報が集計されて、パケットを受信している再生装置の数を示す視聴情報が生成される。
【発明の効果】
【0019】
本発明では、配信装置から再生装置へ至る経路上の通信装置が、マルチキャストアドレスを有するパケットの転送先を定義する転送テーブルを監視して現在の転送先数を計算し、管理装置に継続的に報告するようにした。これにより、配信装置および再生装置に変更を加えることなく、マルチキャスト配信されるコンテンツの視聴状況を的確に把握することができる。従って、管理者などは、コンテンツの視聴状況に応じて、配信システムの増強や課金方法などを検討することができる。また、マルチキャスト配信の利用が一層促進されると期待できる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態を図面を参照して説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図1は、本実施の形態の概要を示す図である。図1に示す視聴状況監視システムは、マルチキャスト配信されるコンテンツの視聴状況を監視することが可能なシステムである。図1に示す視聴状況監視システムは、通信装置1、管理装置2、配信装置3a,3bおよび再生装置4a,4b,4cを有する。
【0021】
通信装置1は、コンテンツに対応するマルチキャストパケットを送信する配信装置3a,3bから、マルチキャストパケットを受信してコンテンツを再生する再生装置4a,4b,4cへ至る経路上に位置する。通信装置1は、転送テーブル1a、転送テーブル管理手段1b、パケット転送手段1cおよび転送状況監視手段1dを有する。
【0022】
転送テーブル1aは、マルチキャストアドレスと転送先アドレスとを対応付けて記憶する。マルチキャストアドレスは、コンテンツを識別するためのIP(Internet Protocol)アドレスである。転送先アドレスは、通信装置1が受信したマルチキャストパケットを次に転送すべき転送先装置を識別するIPアドレスである。転送先装置としては、再生装置および他の通信装置が考えられる。
【0023】
転送テーブル管理手段1bは、マルチキャストアドレスを指定した転送要求を受信する。ここで、転送要求の送信元が転送テーブル1aに登録されていない場合、転送テーブル管理手段1bは、転送要求の送信元を新たに登録する。また、転送要求の送信元が転送テーブル1aに登録されている場合、転送テーブル1aの登録を維持する。一方、転送テーブル管理手段1bは、転送テーブル1aに登録された転送先装置のうち、所定時間以上連続して転送要求を送信していない転送先装置を、転送テーブル1aから削除する。
【0024】
パケット転送手段1cは、配信装置3a,3bが送信したマルチキャストパケットを受信する。ここで、パケット転送手段1cは、転送テーブル1aを参照して、受信したマルチキャストパケットに対応する転送先装置を特定する。このとき、対応する転送先装置がない場合、受信したマルチキャストパケットを破棄する。一方、対応する転送先装置が2以上ある場合、受信したマルチキャストパケットの複製を作成する。そして、パケット転送手段1cは、マルチキャストパケットを転送先装置に対して送信する。
【0025】
転送状況監視手段1dは、転送テーブル1aを監視し、マルチキャストアドレス毎の現在の転送先数を計算する。そして、転送状況監視手段1dは、転送先数を示す転送情報を、管理装置2に対して送信する。なお、転送情報の送信は、例えば、管理装置2からの報告要求に応答して送信する方法と、転送先数が変化する毎に管理装置2に対して送信する方法とが考えられる。
【0026】
管理装置2は、通信装置1とネットワークで接続されている。管理装置2は、視聴情報記憶手段2a、転送情報収集手段2bおよび視聴状況集計手段2cを有する。
視聴情報記憶手段2aは、マルチキャストアドレス毎の視聴情報を時系列に記憶する。視聴情報は、ある時点でマルチキャストパケットを受信している再生装置の数を示す情報である。
【0027】
転送情報収集手段2bは、通信装置1から転送情報を継続的に収集する。転送情報の収集は、例えば、所定の時間間隔で通信装置1に対して報告要求を送信する方法と、通信装置1が転送情報を送信するのを待つ方法とが考えられる。なお、転送情報収集手段2bは、通信装置1と同様の機能を有する他の通信装置がある場合、他の通信装置からも転送情報を収集する。
【0028】
視聴状況集計手段2cは、転送情報収集手段2bが収集した転送情報を集計して、視聴情報を生成する。そして、視聴状況集計手段2cは、集計時刻と対応付けて、生成した視聴情報を視聴情報記憶手段2aに格納する。
【0029】
ここで、配信装置3aがコンテンツX、配信装置3bがコンテンツYをマルチキャスト配信しており、再生装置4a,4bがコンテンツX、再生装置4cがコンテンツYを視聴するものとする。また、再生装置4a,4b,4cが、他の通信装置を介さずに通信装置1と接続されているものとする。
【0030】
このとき、再生装置4a,4b,4cは、視聴するコンテンツに対応するマルチキャストアドレスを指定して、通信装置1に継続的に転送要求を送信する。通信装置1は、転送要求を受信し、コンテンツXと再生装置4a,4b、コンテンツYと再生装置4cをそれぞれ対応付けて、転送テーブル1aに登録し、これを維持する。
【0031】
そして、通信装置1は、配信装置3aが送信するマルチキャストパケットを再生装置4a,4bに、配信装置3bが送信するマルチキャストパケットを再生装置4cにそれぞれ転送する。更に、通信装置1は、転送テーブル1aを監視し、コンテンツXの転送先数が2、コンテンツYの転送先数が1である旨の転送情報を、管理装置2に対して送信する。
【0032】
このような視聴状況監視システムによれば、通信装置1により、マルチキャストアドレスを指定した転送要求の送信元が転送先装置として転送テーブル1aに登録されると共に、継続的に転送要求が受信されている間、転送テーブル1aの登録が維持される。次に、転送テーブル1aに登録されたマルチキャストアドレスを有するマルチキャストパケットが、対応する全ての転送先装置に対して転送される。そして、転送テーブル1aに基づいて、マルチキャストアドレス毎の現在の転送先数が計算され、転送先数を示す転送情報が管理装置2に対して送信される。一方、管理装置2により、通信装置1および他の通信装置から転送情報が継続的に収集され、転送情報が集計されて、コンテンツの視聴状況を示す視聴情報が生成される。
【0033】
これにより、配信装置3a,3bおよび再生装置4a,4b,4cに変更を加えることなく、マルチキャスト配信されるコンテンツの視聴状況を把握することができる。特に、管理者は、管理装置2に蓄積された時系列の視聴情報を閲覧することで、コンテンツ毎の視聴状況の時系列変化を知ることができる。従って、管理者は、配信装置および通信装置の増強や、コンテンツ視聴時の課金の方法などを適切に検討することができ、より安定したコンテンツ配信を実現できるようになる。
【0034】
以下、本実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図2は、本実施の形態のシステム構成を示す図である。第1の実施の形態に係るコンテンツ配信システムは、カメラで撮影した映像を、リアルタイムにマルチキャスト配信するシステムである。
【0035】
図2に示すコンテンツ配信システムは、ネットワーク21,22、カメラ31,32、配信サーバ41,42、クライアント51,52,53,54、ルータ100,200、L2(Layer 2)スイッチ300,400、映像名サーバ500および視聴率サーバ600を有する。
【0036】
ネットワーク21には、配信サーバ41,42、ルータ200、映像名サーバ500および視聴率サーバ600が接続されている。ルータ200は、ネットワーク21の外側と内側との境界に位置する。カメラ31が配信サーバ41に接続されている。カメラ32が配信サーバ42に接続されている。
【0037】
ネットワーク22には、ルータ100およびL2スイッチ300,400が接続されている。ルータ100は、ネットワーク22の外側と内側との境界に位置する。ルータ100はルータ200と接続されている。クライアント51,52がL2スイッチ300に接続されている。クライアント53,54がL2スイッチ400に接続されている。
【0038】
カメラ31は、所定の位置の映像を撮影する。配信サーバ41は、カメラ31が撮影した映像を所定のデータ形式にエンコードする。そして、配信サーバ41は、エンコードした映像データを、リアルタイムにマルチキャスト配信する。すなわち、配信サーバ41は、映像データに対応するマルチキャストパケットを、ネットワーク21へ出力する。同様に、配信サーバ42は、カメラ32が撮影した映像を取得し、エンコードした映像データをリアルタイムにマルチキャスト配信する。
【0039】
クライアント51,52,53,54は、配信サーバ41,42が出力するマルチキャストパケットを受信して、カメラ31,32が撮影した映像を再生することができる。例えば、クライアント51は、利用者の操作入力によって再生する映像が選択されると、選択された映像に対応するマルチキャストアドレスを指定して、Join要求を出力する。これにより、クライアント51へのマルチキャストパケットの転送が開始される。
【0040】
また、クライアント51は、映像の再生を継続する間、Join要求を定期的に出力する。例えば、クライアント51は、30秒間隔でJoin要求を出力する。そして、利用者の操作入力によって再生停止が指示されると、Leave要求を出力する。これにより、クライアント51へのマルチキャストパケットの転送が停止される。クライアント52,53,54も、同様の処理を行うことで映像を再生できる。
【0041】
ルータ100,200は、第3層(ネットワーク層)の通信処理を行う通信装置である。従って、ルータ100,200は、宛先アドレスに応じて、通常のIPパケット(ユニキャストパケット)の転送先を制御する。
【0042】
更に、ルータ100,200は、マルチキャストパケットの転送先を制御する。すなわち、ルータ100,200は、Join要求を送信しているクライアントまたは通信装置のIPアドレスをテーブルに登録し、登録された転送先に対して受信したマルチキャストパケットを転送する。登録された転送先がない場合、受信したマルチキャストパケットを破棄する。
【0043】
なお、ルータ100は、マルチキャストパケットを受信するために、少なくとも1つの転送先がテーブルに登録されている間、配信サーバ41,42に近い通信装置であるルータ200に対して、継続的にJoin要求を送信する。
【0044】
L2スイッチ300は、第2層(データリンク層)の通信処理を行う通信装置である。従って、L2スイッチ300は、マルチキャストパケットの転送先を制御することができない。このため、L2スイッチ300は、クライアント51,52からJoin要求およびLeave要求を受信すると、そのままルータ100に転送する。また、ルータ100からマルチキャストパケットを受信すると、クライアント51とクライアント52の両方にマルチキャストパケットを転送する。
【0045】
L2スイッチ400は、L2スイッチ300と同様に、レイヤ2の通信処理を行う通信装置である。ただし、L2スイッチ400は、IGMP(Internet Group Management Protocol) snoopingの機能を有している。IGMP snoopingとは、L2スイッチにおいて、マルチキャストパケットの内容に応じた処理を行うことをいう。すなわち、L2スイッチ400は、マルチキャストパケットについては、ルータ100,200と同様の通信処理を行うことができる。
【0046】
映像名サーバ500は、カメラ31,32が撮影する映像の名称と、映像に割り当てられたマルチキャストアドレスとの対応関係を管理するコンピュータである。クライアント51,52,53,54は、映像名サーバ500を利用することで、映像の名称からマルチキャストアドレスを特定することができる。
【0047】
視聴率サーバ600は、ルータ100,200およびL2スイッチ400から、マルチキャストパケットの転送状況の情報を収集し、定期的に集計する。そして、視聴率サーバ600は、集計結果を視聴情報として保持する。なお、視聴率サーバ600がルータ100,200およびL2スイッチ400から情報を収集するのは、これらの通信装置が、マルチキャストパケットの転送に用いられるテーブルを保持しているからである。
【0048】
ここで、本実施の形態では、クライアント51,52,53,54のIPアドレスが、それぞれ、アドレスC1,C2,C3,C4であるとする。また、ルータ100,200およびL2スイッチ300,400のIPアドレスが、それぞれ、アドレスR1,R2,R3,R4であるとする。
【0049】
図3は、視聴率サーバのハードウェア構成を示す図である。視聴率サーバ600は、CPU(Central Processing Unit)601によって装置全体が制御されている。CPU601には、バス607を介してRAM(Random Access Memory)602、ハードディスクドライブ(HDD:Hard Disk Drive)603、グラフィック処理装置604、入力インタフェース605および通信インタフェース606が接続されている。
【0050】
RAM602には、CPU601に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM602には、CPU601による処理に必要な各種データが格納される。HDD603には、OSやアプリケーションプログラムが格納される。
【0051】
グラフィック処理装置604には、モニタ11が接続されている。グラフィック処理装置604は、CPU601からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース605には、キーボード12とマウス13とが接続されている。入力インタフェース605は、キーボード12やマウス13から送られてくる信号を、バス607を介してCPU601に送信する。通信インタフェース606は、ネットワーク21に接続されている。通信インタフェース606は、ネットワーク21を介して、他のコンピュータとの間でデータの送受信を行う。
【0052】
なお、配信サーバ41,42、クライアント51,52,53,54および映像名サーバ500は、視聴率サーバ600と同様のハードウェア構成によって実現できる。また、ルータ100,200およびL2スイッチ300,400は、コンピュータを用いて実現することもできる。この場合、ルータ100,200およびL2スイッチ300,400も、視聴率サーバ600と同様のハードウェア構成によって実現できる。
【0053】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、ルータ100および視聴率サーバ600のモジュール構成について説明する。
【0054】
図4は、第1の実施の形態のルータの機能を示すブロック図である。ルータ100は、ルーティング情報記憶部110、マルチキャスト情報記憶部120、転送情報記憶部130、入力制御部140、経路判定部150、マルチキャスト処理部160、転送状況監視部170および出力制御部180を有する。
【0055】
ルーティング情報記憶部110には、パケットの宛先とパケットを次に転送する転送先との対応関係を定義したルーティングテーブルが格納される。ルーティングテーブルでは、1つの宛先アドレスに対して、1つの転送先アドレスが特定される。
【0056】
マルチキャスト情報記憶部120には、マルチキャストアドレスとJoin要求を送信しているクライアントまたは通信装置との対応関係を定義したマルチキャストテーブルが格納される。マルチキャストテーブルでは、1つのマルチキャストアドレスに対して、0個以上のクライアントまたは通信装置のIPアドレスが特定される。
【0057】
転送情報記憶部130には、マルチキャストアドレス毎に、現在の転送先数を示す転送情報が格納される。ただし、転送先数は、マルチキャストパケットの転送制御機能を有する他の通信装置を除外して計算される。従って、ルータ200およびL2スイッチ400が除外されて、転送先数が計算される。
【0058】
入力制御部140は、パケットを一時的に格納するキューを備えている。入力制御部140は、ルータ200またはL2スイッチ300,400から転送されたパケットを受信し、受信したパケットをキューの最後尾に追加する。また、入力制御部140は、キューに格納されたパケットを先頭から順に取り出し、パケットの種類に応じて、経路判定部150、マルチキャスト処理部160、転送状況監視部170のいずれかに送る。
【0059】
具体的には、宛先アドレスとしてマルチキャストアドレスが設定されたパケットは、マルチキャスト処理部160に送られる。マルチキャストアドレスが設定されたパケットには、Join要求およびLeave要求を示すパケットが含まれる。
【0060】
また、ルータ100宛てのパケットは、転送状況監視部170に送られる。ルータ100宛てのパケットは、視聴率サーバ600が送信することが想定される。そして、上記に該当しないパケットは、経路判定部150に送られる。
【0061】
経路判定部150は、入力制御部140、マルチキャスト処理部160または転送状況監視部170からパケットを取得すると、ルーティング情報記憶部110に格納されたルーティングテーブルを参照して、指定された宛先に対応する転送先を特定する。そして、経路判定部150は、特定した転送先に対応する通信インタフェースを指定して、パケットを出力制御部180に送る。
【0062】
マルチキャスト処理部160は、入力制御部140からJoin要求のパケットを取得すると、マルチキャスト情報記憶部120に格納されたマルチキャストテーブルを更新する。ここで、指定されたマルチキャストアドレスについてJoin要求の送信元が登録されていない場合、マルチキャスト処理部160は、新たに登録を行う。
【0063】
更に、マルチキャスト処理部160は、指定されたマルチキャストアドレスについて他に登録済みの転送先がなかった場合、対応するマルチキャストパケットを出力している配信サーバに近い通信装置に対してJoin要求のパケットを送信するよう、経路判定部150に指示する。なお、経路判定部150は、マルチキャストパケットを出力している配信サーバに近い通信装置がルータ200であることを、ルーティングテーブルを参照することで知ることができる。
【0064】
また、マルチキャスト処理部160は、入力制御部140からLeave要求のパケットを取得すると、指定されたマルチキャストアドレスについて、マルチキャストテーブルからLeave要求の送信元を削除する。更に、マルチキャスト処理部160は、指定されたマルチキャストアドレスについて他の転送先がなくなった場合、対応するマルチキャストパケットを出力している配信サーバに近い通信装置に対してLeave要求のパケットを送信するよう、経路判定部150に指示する。
【0065】
また、マルチキャスト処理部160は、マルチキャストテーブルを監視し、最後にJoin要求を取得してから所定時間以上経過した転送先を、マルチキャストテーブルから削除する。これは、クライアント51,52,53,54が、Leave要求を出力せずにシャットダウンしてしまう場合が考えられるからである。
【0066】
また、マルチキャスト処理部160は、入力制御部140から配信サーバ41,42が出力したマルチキャストパケットを取得すると、マルチキャストテーブルを参照して、対応する転送先を特定する。ここで、対応する転送先がない場合、マルチキャスト処理部160は、取得したマルチキャストパケットを破棄する。対応する転送先が2つ以上ある場合、必要な数だけマルチキャストパケットを複製する。そして、マルチキャスト処理部160は、特定した個々の転送先に対してマルチキャストパケットを送信するよう、経路判定部150に指示する。
【0067】
転送状況監視部170は、マルチキャスト情報記憶部120に格納されたマルチキャストテーブルを監視する。ここで、転送状況監視部170は、転送先の登録状況が変化する毎に、マルチキャストアドレス毎の転送先数を計算する。ただし、前述の通り、ルータ200およびL2スイッチ400は除外して計算する。そして、転送状況監視部170は、計算した転送先数を示す転送情報を転送情報記憶部130に格納する。
【0068】
なお、ルータ200およびL2スイッチ400がマルチキャストパケットの転送制御機能を有する通信装置であることは、経路判定部150が処理するパケットを監視することで知ることが可能である。例えば、転送状況監視部170は、特定の通信プロトコルに従ったパケットの送信元となっている装置を、マルチキャストパケットの転送制御機能を有する通信装置と判定できる。
【0069】
また、転送状況監視部170は、転送情報記憶部130から転送情報を取得し、視聴率サーバ600宛てのパケットとして経路判定部150に送る。ここで、視聴率サーバ600に対して転送情報を送信する方法として、以下の2つの方法がある。管理者は、いずれの方法を採用するか、予め転送状況監視部170に設定しておく。
【0070】
第1の方法は、視聴率サーバ600が定期的に出力する報告要求に応答して、転送情報を送信する方法である。すなわち、転送状況監視部170は、入力制御部140から報告要求を示すパケットを取得すると、転送情報のパケットを生成する。第2の方法は、転送先数が増減する毎に、視聴率サーバ600に対して転送情報を送信する方法である。なお、第1の方法と第2の方法とを組み合わせるようにしてもよい。
【0071】
出力制御部180は、通信インタフェース毎に、パケットを一時的に格納するキューを備えている。具体的には、出力制御部180は、ネットワーク22の外側向けと内側向けの2つのキューを備えている。出力制御部180は、経路判定部150からパケットを取得すると、取得したパケットを、指定された通信インタフェースに対応するキューの最後尾に追加する。また、出力制御部180は、それぞれのキューに格納されたパケットを先頭から順に取り出し、対応する通信インタフェースからパケットを出力する。
【0072】
図5は、第1の実施の形態の視聴率サーバの機能を示すブロック図である。視聴率サーバ600は、転送情報収集部610、転送情報記憶部620、視聴状況集計部630および視聴情報記憶部640を有する。
【0073】
転送情報収集部610は、ルータ100,200およびL2スイッチ400から、継続的に転送情報を収集する。そして、転送情報収集部610は、個々の通信装置から取得した転送情報を、転送情報記憶部620に順次格納する。
【0074】
ここで、管理者は、ルータ100,200およびL2スイッチ400に設定した転送情報の送信方法に合わせて、転送情報の収集方法を予め設定する。すなわち、転送情報の送信方法として上記第1の方法が採用された場合、転送情報収集部610は、ルータ100,200およびL2スイッチ400に対して定期的に報告要求を出力する。例えば、転送情報収集部610は、10分間隔で報告要求を出力する。一方、転送情報の送信方法として上記第2の方法が採用された場合、転送情報収集部610は、ルータ100,200およびL2スイッチ400から転送情報が送信されるのを待つ。
【0075】
なお、上記第1の方法を採用した場合、管理者は、通信プロトコルとしてUDP(User Datagram Protocol)とTCP(Transmission Control Protocol)のいずれかを選択できる。UDPは、転送速度は高いが信頼性が低い。一方、TCPは、信頼性は高いが転送速度が低い。従って、ネットワークの混雑度やパケット損失率などを考慮して、使用する通信プロトコルを選択することが好ましい。
【0076】
視聴状況集計部630は、転送情報記憶部620に格納された転送情報に基づいて、マルチキャストパケットを受信しているクライアントの数をマルチキャストアドレス毎に集計する。例えば、視聴状況集計部630は、10分毎に集計を行う。また、転送情報収集部610が一部の通信装置から転送情報を取得できなかった場合、その通信装置については、最後に正常に取得された転送情報を用いて集計を行う。
【0077】
そして、視聴状況集計部630は、マルチキャストアドレス毎のクライアント数と集計時刻とを対応付けて、視聴情報として視聴情報記憶部640に格納する。これにより、視聴情報記憶部640には、コンテンツの視聴状況を示す情報が時系列に蓄積される。
【0078】
なお、ルータ200も、ルータ100と同様のモジュール構成によって実現できる。また、L2スイッチ400も、マルチキャストパケットの処理に関しては、ルータ100と同様のモジュール構成によって実現できる。
【0079】
次に、映像名サーバ500、ルータ100および視聴率サーバ600が保持するデータのデータ構造について説明する。
図6は、映像名テーブルのデータ構造を示す図である。図6に示す映像名テーブル511は、映像名サーバ500によって管理される。映像名テーブル511には、映像名を示す項目およびマルチキャストアドレスを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0080】
映像名の項目には、配信サーバ41,42が配信する映像の名称が設定される。例えば、配信サーバ41が配信する映像の映像名が“地点Aの映像”、配信サーバ42が配信する映像の映像名が“地点Bの映像”と設定される。
【0081】
マルチキャストアドレスの項目には、個々の映像に割り当てられたマルチキャストアドレスが設定される。例えば、配信サーバ41が配信する映像に対して“239.199.75.11”(図2のアドレスM1に相当)、配信サーバ42が配信する映像に対して“239.199.75.12”(図2のアドレスM2に相当)が設定される。
【0082】
映像名テーブル511に格納される情報は、映像の配信を開始する前に、予め管理者によって登録される。映像名サーバ500は、映像名が入力されると、映像名テーブル511を参照して、対応するマルチキャストアドレスを出力する。このため、クライアント51,52,53,54は、映像を視聴するためにマルチキャストアドレスを記憶しておく必要がない。
【0083】
図7は、ルーティングテーブルのデータ構造を示す図である。図7に示すルーティングテーブル111は、ルータ100のルーティング情報記憶部110に格納される。ルーティングテーブル111には、宛先ネットワークを示す項目、ネットマスクを示す項目、ゲートウェイを示す項目およびインタフェースを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0084】
宛先ネットワークの項目には、ネットワークを識別するネットワークアドレスか、または、装置を識別するIPアドレスが設定される。例えば、クライアント51について“10.74.10.21”(図2のアドレスC1に相当)、ネットワーク21について“10.74.30.0”が設定される。
【0085】
ネットマスクの項目には、宛先ネットワークに設定されたアドレスのネットワーク部とホスト部とを区別するためのビット列が設定される。例えば、“255.255.255.255”は、宛先ネットワークに設定されたアドレスが装置を識別するIPアドレスであることを意味する。“255.255.255.0”は、宛先ネットワークに設定されたアドレスの上位24ビットが、ネットワークを識別する部分であることを意味する。
【0086】
ゲートウェイの項目には、宛先ネットワークおよびネットマスクによって特定されるアドレス範囲に該当するパケットを、次に転送する転送先のIPアドレスが設定される。例えば、ネットワーク21に属する装置宛てのパケットに対して、ルータ200のIPアドレス“10.74.30.1”(図2のアドレスR2に相当)が設定される。
【0087】
インタフェースの項目には、ゲートウェイに対してパケットを送信するために使用する通信インタフェースを識別する文字列が設定される。例えば、ゲートウェイがルータ200である場合に、ネットワーク22の外側向けの通信インタフェースを示す“net1”が設定される。
【0088】
ルーティングテーブル111に格納される情報は、予め管理者によって登録される。なお、ルータ100が、RIP(Routing Information Protocol)などのルーティングプロトコルに従って他の通信装置と通信を行い、ルーティングテーブル111を動的に更新するようにしてもよい。この場合、ネットワーク構成が変更されると、ルーティングテーブル111の登録内容が自動的に変更される。
【0089】
図8は、マルチキャストテーブルのデータ構造を示す図である。図8に示すマルチキャストテーブル121は、ルータ100のマルチキャスト情報記憶部120に格納される。マルチキャストテーブル121には、マルチキャストアドレスを示す項目、受信者アドレスを示す項目および更新時刻を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0090】
マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。受信者アドレスの項目には、マルチキャストパケットの転送先のクライアントまたは通信装置のIPアドレスが設定される。1つのマルチキャストアドレスに対して、0個以上の受信者アドレスが設定される。更新時刻の項目には、ルータ100が最後にJoin要求を受信した時刻が設定される。更新時刻より所定時間以上経過した受信者アドレスは、マルチキャストテーブル121から削除されることになる。
【0091】
マルチキャストテーブル121に格納される情報は、マルチキャスト処理部160によって適宜更新される。ここで、L2スイッチ300はマルチキャストアドレスの転送先制御を行わないため、L2スイッチ300に接続されたクライアント51,52については、そのIPアドレスが直接登録される。一方、L2スイッチ400はマルチキャストアドレスの転送先制御を行うため、L2スイッチ400に接続されたクライアント53,54については、L2スイッチ400のIPアドレスが登録されることになる。
【0092】
なお、視聴率サーバ600の転送情報記憶部620にも、転送情報テーブル131と同様のテーブルが、通信装置毎に格納される。
図9は、第1の実施の形態の転送情報テーブルのデータ構造を示す図である。図9に示す転送情報テーブル131は、ルータ100の転送情報記憶部130に格納される。転送情報テーブル131には、マルチキャストアドレスを示す項目および転送先数を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0093】
マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。転送先数の項目には、マルチキャストパケットの現在の転送先の数が設定される。前述の通り、転送先数は、ルータ200およびL2スイッチ400が除外されて計算される。転送情報テーブル131に格納される情報は、転送状況監視部170によって適宜更新される。
【0094】
図10は、第1の実施の形態の視聴情報テーブルのデータ構造を示す図である。図10に示す視聴情報テーブル641は、視聴率サーバ600の視聴情報記憶部640に格納される。視聴情報テーブル641には、日時を示す項目、マルチキャストアドレスを示す項目および視聴数を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0095】
日時の項目には、視聴状況集計部630が集計処理を行った日時が設定される。マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。視聴数の項目には、全ての通信装置における転送先数の合計値が設定される。視聴情報テーブル641に格納される情報は、視聴状況集計部630によって定期的に追加される。
【0096】
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。
図11は、マルチキャスト配信の流れを示す第1のシーケンス図である。図11に示すシーケンス図は、クライアント51が“地点Aの映像”を視聴する場合であって、転送情報の収集方法として上記第1の方法(視聴率サーバ600が定期的に報告要求を出力する方法)を採用した場合の例である。以下、図11に示す処理をステップ番号に沿って説明する。
【0097】
[ステップS11]配信サーバ41は、カメラ31が撮影した映像を取得し、アドレスM1を有するマルチキャストパケットをネットワーク21に対して出力する。出力されたマルチキャストパケットは、ルータ200に到達する。ただし、ルータ200は、転送先が未登録であるため、受信したマルチキャストパケットを破棄する。
【0098】
[ステップS12]クライアント51は、映像名サーバ500に対して、映像名“地点Aの映像”を指定した検索要求を送信する。
[ステップS13]映像名サーバ500は、クライアント51に対して、指定された映像名に対応するアドレスM1(“239.199.75.11”)を回答する。
【0099】
[ステップS14]クライアント51は、宛先アドレスをアドレスM1、送信元アドレスをアドレスC1とするJoin要求を出力する。出力されたJoin要求は、L2スイッチ300に到達する。L2スイッチ300は、受信したJoin要求を、そのままルータ100に転送する。
【0100】
[ステップS15]ルータ100は、クライアント51からのJoin要求を受信する。そして、ルータ100は、アドレスM1と対応付けて、クライアント51のアドレスC1をマルチキャストテーブルに登録する。
【0101】
[ステップS16]ルータ100は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするJoin要求を、ルータ200に対して送信する。
[ステップS17]ルータ200は、ルータ100からのJoin要求を受信する。そして、ルータ200は、アドレスM1と対応付けて、ルータ100のアドレスR1をマルチキャストテーブルに登録する。
【0102】
[ステップS18]ルータ200は、アドレスM1を有するマルチキャストパケットのルータ100への転送を開始する。
[ステップS19]ルータ100は、ルータ200からアドレスM1を有するマルチキャストパケットを受信する。そして、ルータ100は、受信したマルチキャストパケットをネットワーク22に対して出力する。出力されたマルチキャストパケットは、L2スイッチ300に到達する。L2スイッチ300は、受信したマルチキャストパケットを、そのままクライアント51,52の両方に転送する。なお、クライアント52では、転送したマルチキャストパケットは破棄される。
【0103】
[ステップS20]クライアント51は、ステップS14から所定時間経過後、ステップS14と同様のJoin要求を出力する。出力されたJoin要求は、L2スイッチ300を経由して、ルータ100に到達する。
【0104】
[ステップS21]ルータ100は、マルチキャストテーブル内のクライアント51に対応する更新時刻を変更する。
[ステップS22]ルータ100は、ステップS16から所定時間経過後、ステップS16と同様のJoin要求を、ルータ200に対して送信する。
【0105】
[ステップS23]ルータ200は、マルチキャストテーブル内のルータ100に対応する更新時刻を変更する。
[ステップS24a]視聴率サーバ600は、ルータ200に対して報告要求を送信する。
【0106】
[ステップS25a]ルータ200は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は0である。視聴率サーバ600は、受信した転送情報を保持する。
【0107】
[ステップS24b]視聴率サーバ600は、ルータ100に対して報告要求を送信する。なお、視聴率サーバ600は、ステップS15aの応答を待って報告要求を送信する必要はない。
【0108】
[ステップS25b]ルータ100は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は1である。視聴率サーバ600は、受信した転送情報を保持する。
【0109】
[ステップS26]クライアント51は、利用者による視聴終了の指示があると、宛先アドレスをアドレスM1、送信元アドレスをアドレスC1とするLeave要求を出力する。出力されたLeave要求は、L2スイッチ300に到達する。L2スイッチ300は、受信したLeave要求を、そのままルータ100に転送する。
【0110】
[ステップS27]ルータ100は、クライアント51からのLeave要求を受信する。そして、ルータ100は、アドレスM1に対するクライアント51の登録をマルチキャストテーブルから削除する。これにより、クライアント51へのマルチキャストパケットの転送が停止する。
【0111】
[ステップS28]ルータ100は、ステップS27の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするLeave要求を、ルータ200に対して送信する。
【0112】
[ステップS29]ルータ200は、ルータ100からのLeave要求を受信する。そして、ルータ200は、アドレスM1に対するルータ100の登録をマルチキャストテーブルから削除する。これにより、ルータ100へのマルチキャストパケットの転送が停止する。
【0113】
このようにして、クライアント51は、視聴開始時にJoin要求を出力する。すると、ルータ100はクライアント51をマルチキャストテーブルに登録し、ルータ200はルータ100をマルチキャストテーブルに登録する。これにより、配信サーバ41からルータ200、ルータ100、クライアント51へとマルチキャストパケットが中継される。このとき、視聴率サーバ600は、ルータ100,200から転送情報を定期的に収集し、集計して視聴情報を生成する。
【0114】
図12は、マルチキャスト配信の流れを示す第2のシーケンス図である。図12に示すシーケンス図は、クライアント51が“地点Aの映像”を視聴する場合であって、転送情報の収集方法として上記第2の方法(通信装置が転送情報を視聴率サーバ600に適宜送信する方法)を採用した場合の例である。以下、図12に示す処理をステップ番号に沿って説明する。
【0115】
[ステップS31]配信サーバ41は、カメラ31が撮影した映像を取得し、アドレスM1を有するマルチキャストパケットをネットワーク21に対して出力する。出力されたマルチキャストパケットは、ルータ200に到達する。
【0116】
[ステップS32]クライアント51は、映像名サーバ500に対して、映像名“地点Aの映像”を指定した検索要求を送信する。
[ステップS33]映像名サーバ500は、クライアント51に対して、指定された映像名に対応するアドレスM1を回答する。
【0117】
[ステップS34]クライアント51は、宛先アドレスをアドレスM1、送信元アドレスをアドレスC1とするJoin要求を出力する。出力されたJoin要求は、L2スイッチ300を経由して、ルータ100に到達する。
【0118】
[ステップS35]ルータ100は、クライアント51からのJoin要求を受信する。そして、ルータ100は、アドレスM1と対応付けて、クライアント51のアドレスC1をマルチキャストテーブルに登録する。
【0119】
[ステップS36]ルータ100は、ステップS25の登録処理によって転送先数が増加するため、最新の転送情報を視聴率サーバ600に対して送信する。
[ステップS37]ルータ100は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするJoin要求を、ルータ200に対して送信する。
【0120】
[ステップS38]ルータ200は、ルータ100からのJoin要求を受信する。そして、ルータ200は、アドレスM1と対応付けて、ルータ100のアドレスR1をマルチキャストテーブルに登録する。なお、ルータ100は転送先数の計算の際に除外されるため、転送先数は登録処理の前後で変化しない。このため、ルータ200は、視聴率サーバ600に対して転送情報を送信しない。
【0121】
[ステップS39]ルータ200は、アドレスM1を有するマルチキャストパケットのルータ100への転送を開始する。
[ステップS40]ルータ100は、ルータ200からアドレスM1を有するマルチキャストパケットを受信する。そして、ルータ100は、受信したマルチキャストパケットをネットワーク22に対して出力する。出力されたマルチキャストパケットは、L2スイッチ300を経由して、クライアント51,52に到達する。
【0122】
[ステップS41]クライアント51は、ステップS34から所定時間経過後、ステップS34と同様のJoin要求を出力する。出力されたJoin要求は、L2スイッチ300を経由して、ルータ100に到達する。
【0123】
[ステップS42]ルータ100は、マルチキャストテーブル内のクライアント51に対応する更新時刻を変更する。
[ステップS43]ルータ100は、ステップS37から所定時間経過後、ステップS37と同様のJoin要求を、ルータ200に対して送信する。
【0124】
[ステップS44]ルータ200は、マルチキャストテーブル内のルータ100に対応する更新時刻を変更する。
[ステップS45]クライアント51は、利用者による視聴終了の指示があると、宛先アドレスをアドレスM1、送信元アドレスをアドレスC1とするLeave要求を出力する。出力されたLeave要求は、L2スイッチ300を経由して、ルータ100に送達する。
【0125】
[ステップS46]ルータ100は、クライアント51からのLeave要求を受信する。そして、ルータ100は、アドレスM1に対するクライアント51の登録をマルチキャストテーブルから削除する。
【0126】
[ステップS47]ルータ100は、ステップS46の削除処理によって転送先数が減少するため、最新の転送情報を視聴率サーバ600に対して送信する。
[ステップS48]ルータ100は、ステップS46の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするLeave要求を、ルータ200に対して送信する。
【0127】
[ステップS49]ルータ200は、ルータ100からのLeave要求を受信する。そして、ルータ200は、アドレスM1に対するルータ100の登録をマルチキャストテーブルから削除する。
【0128】
このようにして、クライアント51は、視聴開始時にJoin要求を出力する。すると、ルータ100はクライアント51をマルチキャストテーブルに登録し、ルータ200はルータ100をマルチキャストテーブルに登録する。これにより、配信サーバ41からルータ200、ルータ100、クライアント51へとマルチキャストパケットが中継される。ここで、ルータ100は、クライアント51の登録時に、転送情報を視聴率サーバ600に対して送信する。
【0129】
図13は、マルチキャスト配信の流れを示す第3のシーケンス図である。図13に示すシーケンス図は、クライアント53が“地点Aの映像”を視聴する場合であって、転送情報の収集方法として上記第1の方法(視聴率サーバ600が定期的に報告要求を出力する方法)を採用した場合の例である。ただし、図11の場合と異なり、継続的なJoin要求の送信については記載を省略している。以下、図13に示す処理をステップ番号に沿って説明する。
【0130】
[ステップS51]配信サーバ41は、カメラ31が撮影した映像を取得し、アドレスM1を有するマルチキャストパケットをネットワーク21に対して出力する。出力されたマルチキャストパケットは、ルータ200に到達する。
【0131】
[ステップS52]クライアント53は、映像名サーバ500に対して、映像名“地点Aの映像”を指定した検索要求を送信する。
[ステップS53]映像名サーバ500は、クライアント53に対して、指定された映像名に対応するアドレスM1を回答する。
【0132】
[ステップS54]クライアント53は、宛先アドレスをアドレスM1、送信元アドレスをアドレスC3とするJoin要求を出力する。出力されたJoin要求は、L2スイッチ400に到達する。
【0133】
[ステップS55]L2スイッチ400は、クライアント53からのJoin要求を受信する。そして、L2スイッチ400は、アドレスM1と対応付けて、クライアント53のアドレスC3をマルチキャストテーブルに登録する。
【0134】
[ステップS56]L2スイッチ400は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR4とするJoin要求を、ルータ100に対して送信する。
[ステップS57]ルータ100は、L2スイッチ400からのJoin要求を受信する。そして、ルータ100は、アドレスM1と対応付けて、L2スイッチ400のアドレスR4をマルチキャストテーブルに登録する。
【0135】
[ステップS58]ルータ100は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするJoin要求を、ルータ200に対して送信する。
[ステップS59]ルータ200は、ルータ100からのJoin要求を受信する。そして、ルータ200は、アドレスM1と対応付けて、ルータ100のアドレスR1をマルチキャストテーブルに登録する。
【0136】
[ステップS60]ルータ200は、アドレスM1を有するマルチキャストパケットのルータ100への転送を開始する。
[ステップS61]ルータ100は、ルータ200からアドレスM1を有するマルチキャストパケットを受信する。そして、ルータ100は、受信したマルチキャストパケットをネットワーク22に対して出力する。出力されたマルチキャストパケットは、L2スイッチ400に到達する。
【0137】
[ステップS62]L2スイッチ400は、ルータ100からアドレスM1を有するマルチキャストパケットを受信する。そして、L2スイッチ400は、受信したマルチキャストパケットをクライアント53に対して送信する。
【0138】
[ステップS63a]視聴率サーバ600は、ルータ200に対して報告要求を送信する。
[ステップS64a]ルータ200は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は0である。
【0139】
[ステップS63b]視聴率サーバ600は、ルータ100に対して報告要求を送信する。なお、視聴率サーバ600は、ステップS64aの応答を待って報告要求を送信する必要はない。
【0140】
[ステップS64b]ルータ100は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は0である。
【0141】
[ステップS63c]視聴率サーバ600は、L2スイッチ400に対して報告要求を送信する。なお、視聴率サーバ600は、ステップS64bの応答を待って報告要求を送信する必要はない。
【0142】
[ステップS64c]L2スイッチ400は、報告要求に応答して、最新の転送情報を視聴率サーバ600に対して送信する。なお、ここでのアドレスM1に対する転送先数は1である。
【0143】
[ステップS65]クライアント53は、利用者による視聴終了の指示があると、宛先アドレスをアドレスM1、送信元アドレスをアドレスC3とするLeave要求を出力する。出力されたLeave要求は、L2スイッチ400に到達する。
【0144】
[ステップS66]L2スイッチ400は、クライアント53からのLeave要求を受信する。そして、L2スイッチ400は、アドレスM1に対するクライアント53の登録をマルチキャストテーブルから削除する。
【0145】
[ステップS67]L2スイッチ400は、ステップS66の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR4とするLeave要求を、ルータ100に対して送信する。
【0146】
[ステップS68]ルータ100は、L2スイッチ400からのLeave要求を受信する。そして、ルータ100は、アドレスM1に対するL2スイッチ400の登録をマルチキャストテーブルから削除する。
【0147】
[ステップS69]ルータ100は、ステップS68の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするLeave要求を、ルータ200に対して送信する。
【0148】
[ステップS70]ルータ200は、ルータ100からのLeave要求を受信する。そして、ルータ200は、アドレスM1に対するルータ100の登録をマルチキャストテーブルから削除する。
【0149】
このようにして、クライアント53は、視聴開始時にJoin要求を出力する。すると、L2スイッチ400はクライアント53をマルチキャストテーブルに登録し、ルータ100はL2スイッチ400をマルチキャストテーブルに登録し、ルータ200はルータ100をマルチキャストテーブルに登録する。これにより、配信サーバ41からルータ200、ルータ100、L2スイッチ400、クライアント51へとマルチキャストパケットが中継される。このとき、視聴率サーバ600は、L2スイッチ400およびルータ100,200から転送情報を定期的に収集し、集計して視聴情報を生成する。
【0150】
図14は、マルチキャスト配信の流れを示す第4のシーケンス図である。図14に示すシーケンス図は、クライアント53が“地点Aの映像”を視聴する場合であって、転送情報の収集方法として上記第2の方法(通信装置が転送情報を視聴率サーバ600に適宜送信する方法)を採用した場合の例である。ただし、図12の場合と異なり、継続的なJoin要求の送信については記載を省略している。以下、図14に示す処理をステップ番号に沿って説明する。
【0151】
[ステップS71]配信サーバ41は、カメラ31が撮影した映像を取得し、アドレスM1を有するマルチキャストパケットをネットワーク21に対して出力する。出力されたマルチキャストパケットは、ルータ200に到達する。
【0152】
[ステップS72]クライアント53は、映像名サーバ500に対して、映像名“地点Aの映像”を指定した検索要求を送信する。
[ステップS73]映像名サーバ500は、クライアント53に対して、指定された映像名に対応するアドレスM1を回答する。
【0153】
[ステップS74]クライアント53は、宛先アドレスをアドレスM1、送信元アドレスをアドレスC3とするJoin要求を出力する。出力されたJoin要求は、L2スイッチ400に到達する。
【0154】
[ステップS75]L2スイッチ400は、クライアント53からのJoin要求を受信する。そして、L2スイッチ400は、アドレスM1と対応付けて、クライアント53のアドレスC3をマルチキャストテーブルに登録する。
【0155】
[ステップS76]L2スイッチ400は、ステップS75の登録処理によって転送先数が増加するため、最新の転送情報を視聴率サーバ600に対して送信する。
[ステップS77]L2スイッチ400は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR4とするJoin要求を、ルータ100に対して送信する。
【0156】
[ステップS78]ルータ100は、L2スイッチ400からのJoin要求を受信する。そして、ルータ100は、アドレスM1と対応付けて、L2スイッチ400のアドレスR4をマルチキャストテーブルに登録する。なお、L2スイッチ400は転送先数の計算の際に除外されるため、転送先数は登録処理の前後で変化しない。このため、ルータ100は、視聴率サーバ600に対して転送情報を送信しない。
【0157】
[ステップS79]ルータ100は、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするJoin要求を、ルータ200に対して送信する。
[ステップS80]ルータ200は、ルータ100からのJoin要求を受信する。そして、ルータ200は、アドレスM1と対応付けて、ルータ100のアドレスR1をマルチキャストテーブルに登録する。
【0158】
[ステップS81]ルータ200は、アドレスM1を有するマルチキャストパケットのルータ100への転送を開始する。
[ステップS82]ルータ100は、ルータ200からアドレスM1を有するマルチキャストパケットを受信する。そして、ルータ100は、受信したマルチキャストパケットをネットワーク22に対して出力する。出力されたマルチキャストパケットは、L2スイッチ400に到達する。
【0159】
[ステップS83]L2スイッチ400は、ルータ100からアドレスM1を有するマルチキャストパケットを受信する。そして、L2スイッチ400は、受信したマルチキャストパケットをクライアント53に対して送信する。
【0160】
[ステップS84]クライアント53は、利用者による視聴終了の指示があると、宛先アドレスをアドレスM1、送信元アドレスをアドレスC3とするLeave要求を出力する。出力されたLeave要求は、L2スイッチ400に到達する。
【0161】
[ステップS85]L2スイッチ400は、クライアント53からのLeave要求を受信する。そして、L2スイッチ400は、アドレスM1に対するクライアント53の登録をマルチキャストテーブルから削除する。
【0162】
[ステップS86]L2スイッチ400は、ステップS85の削除処理によって転送先数が減少するため、最新の転送情報を視聴率サーバ600に対して送信する。
[ステップS87]L2スイッチ400は、ステップS85の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR4とするLeave要求を、ルータ100に対して送信する。
【0163】
[ステップS88]ルータ100は、L2スイッチ400からのLeave要求を受信する。そして、ルータ100は、アドレスM1に対するL2スイッチ400の登録をマルチキャストテーブルから削除する。
【0164】
[ステップS89]ルータ100は、ステップS88の削除処理によってアドレスM1に対する転送先が0個になると、宛先アドレスをアドレスM1、送信元アドレスをアドレスR1とするLeave要求を、ルータ200に対して送信する。
【0165】
[ステップS90]ルータ200は、ルータ100からのLeave要求を受信する。そして、ルータ200は、アドレスM1に対するルータ100の登録をマルチキャストテーブルから削除する。
【0166】
このようにして、クライアント53は、視聴開始時にJoin要求を出力する。すると、L2スイッチ400はクライアント53をマルチキャストテーブルに登録し、ルータ100はL2スイッチ400をマルチキャストテーブルに登録し、ルータ200はルータ100をマルチキャストテーブルに登録する。これにより、配信サーバ41からルータ200、ルータ100、L2スイッチ400、クライアント53へとマルチキャストパケットが中継される。ここで、L2スイッチ400は、クライアント53の登録時に、転送情報を視聴率サーバ600に対して送信する。
【0167】
このようなコンテンツ配信システムを用いることで、配信サーバ41,42およびクライアント51,52,53,54は、一般的なマルチキャストの通信プロトコルに対応していればよく、専用のハードウェアやソフトウェアを搭載する必要がない。このため、コンテンツの視聴状況を把握することが容易に実現できる。特に、視聴率サーバ600には、コンテンツ配信システム全体での視聴状況を示す情報が時系列に蓄積されるため、管理者は、設備の増強や課金の方法などを適切に検討することができる。この結果、より安定したコンテンツ配信システムを実現できるようになる。
【0168】
[第2の実施の形態]
次に、第2の実施の形態について説明する。第1の実施の形態は、瞬間的な視聴者数を把握できるシステムであったが、第2の実施の形態は、所定期間内の延べ視聴者数と総視聴時間とを更に把握できるシステムである。前述の第1の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
【0169】
第2の実施の形態のシステム構成は、図2に示した第1の実施の形態のものと同様である。ただし、ルータ、L2スイッチおよび視聴率サーバが備える処理機能の一部が、第1の実施の形態のものと異なる。以下の説明で、ルータ100aは前述のルータ100に相当する通信装置であり、視聴率サーバ600aは前述の視聴率サーバ600に相当するコンピュータであるとする。
【0170】
図15は、第2の実施の形態のルータの機能を示すブロック図である。ルータ100aは、ルーティング情報記憶部110、マルチキャスト情報記憶部120、期間転送情報記憶部130a、入力制御部140、経路判定部150、マルチキャスト処理部160、期間転送状況監視部170aおよび出力制御部180を有する。
【0171】
ルーティング情報記憶部110、マルチキャスト情報記憶部120、入力制御部140、経路判定部150、マルチキャスト処理部160および出力制御部180が備える機能は、第1の実施の形態のものと同様である。
【0172】
期間転送情報記憶部130aには、マルチキャストアドレス毎に、現在の転送先数と、転送情報を最後に視聴率サーバ600に送信してからの延べ転送先数および総転送時間とを示す転送情報が格納される。転送先数および延べ転送先数は、マルチキャストパケットの転送制御機能を有する他の通信装置を除外して計算される。
【0173】
期間転送状況監視部170aは、マルチキャスト情報記憶部120に格納されたマルチキャストテーブル121を監視する。ここで、期間転送状況監視部170aは、転送先が新たに追加されると、転送先数を再計算すると共に、転送先数の増加分だけ延べ転送先数を加算し、期間転送情報記憶部130aに格納された転送情報を更新する。
【0174】
また、期間転送状況監視部170aは、転送先が削除されると、転送先数を再計算し、期間転送情報記憶部130aに格納された転送情報を更新する。また、期間転送状況監視部170aは、Join要求の継続的な受信によって転送先の更新時刻が新しくなると、前回の更新時刻からの経過時間分だけ総転送時間を加算し、期間転送情報記憶部130aに格納された転送情報を更新する。
【0175】
また、期間転送状況監視部170aは、視聴率サーバ600aが送信した報告要求に応答して、期間転送情報記憶部130aから現在の転送情報を取得し、視聴率サーバ600a宛てのパケットを生成する。このとき、期間転送状況監視部170aは、期間転送情報記憶部130aに格納された転送情報の延べ転送先数と総転送時間とを0に初期化する。
【0176】
なお、期間転送状況監視部170aでは、第1の実施の形態と異なり、転送情報の送信方法として、転送先数が増減する毎に転送情報を視聴率サーバ600に送信する方法を選択することはできない。
【0177】
図16は、第2の実施の形態の視聴率サーバの機能を示すブロック図である。視聴率サーバ600aは、期間転送情報収集部610a、期間転送情報記憶部620a、期間視聴状況集計部630aおよび期間視聴情報記憶部640aを有する。
【0178】
期間転送情報収集部610aは、マルチキャストパケットの転送制御機能を備える通信装置から、所定の時間間隔で転送情報を収集する。そして、期間転送情報収集部610aは、個々の通信装置から取得した転送情報を、期間転送情報記憶部620aに順次格納する。なお、管理者は、通信プロトコルとしてUDPとTCPのいずれかを選択することができる。
【0179】
期間視聴状況集計部630aは、期間転送情報記憶部620aに格納された転送情報に基づいて、現在の受信クライアント数と、前回集計を行ってからの延べクライアント数および総受信時間とを、マルチキャストアドレス毎に集計する。例えば、期間視聴状況集計部630aは、10分毎に集計を行う。そして、期間視聴状況集計部630aは、集計結果と集計時刻とを対応付けて、視聴情報として期間視聴情報記憶部640aに格納する。
【0180】
図17は、第2の実施の形態の転送情報テーブルのデータ構造を示す図である。図17に示す転送情報テーブル132は、ルータ100aの期間転送情報記憶部130aに格納される。転送情報テーブル132には、マルチキャストアドレスを示す項目、転送先数を示す項目、延べ転送先数を示す項目および総転送時間を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0181】
マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。転送先数の項目には、マルチキャストパケットの現在の転送先の数が設定される。延べ転送先数の項目には、各集計期間の開始時から測定した延べ転送先数が設定される。総転送時間の項目には、各集計期間の開始時から測定した、各転送先へのマルチキャストパケットの転送継続時間の合計値が設定される。転送情報テーブル132に格納される情報は、期間転送状況監視部170aによって適宜更新される。
【0182】
図18は、第2の実施の形態の視聴情報テーブルのデータ構造を示す図である。図18に示す視聴情報テーブル642は、視聴率サーバ600aの期間視聴情報記憶部640aに格納される。視聴情報テーブル642には、日時を示す項目、マルチキャストアドレスを示す項目、視聴数を示す項目、延べ視聴数を示す項目および総師長時間を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【0183】
日時の項目には、期間視聴状況集計部630aが集計処理を行った日時が設定される。マルチキャストアドレスの項目には、映像を識別するマルチキャストアドレスが設定される。視聴数の項目には、全ての通信装置における転送先数の合計値が設定される。延べ視聴数の項目には、全ての通信装置における延べ転送先数の合計値が設定される。総視聴時間の項目には、全ての通信装置における総転送時間の合計値が設定される。視聴情報テーブル642に格納される情報は、期間視聴状況集計部630aによって定期的に追加される。
【0184】
以上のような構成およびデータ構造のシステムにおいて実行される処理の全体的な流れは、図11,13に示した第1の実施の形態のものと同様である。
このようなコンテンツ配信システムを用いることで、第1の実施の形態に係るコンテンツ配信システムと同様の効果を得られる。更に、第2の実施の形態に係るコンテンツ配信システムを用いることで、視聴率サーバ600aに、所定時間間隔毎の延べ視聴数および総視聴時間の情報が時系列に蓄積される。このため、視聴するコンテンツを頻繁に切り替える利用者がいる場合でも、管理者は、正確な視聴状況を把握することができる。従って、より現実に即したコンテンツ配信システムを構築できるようになる。
【0185】
なお、上記実施の形態では、個々の通信装置が他の通信装置を除外して転送先数を計算し、視聴率サーバは転送先数を合計して視聴数を特定している。一方で、個々の通信装置は他の通信装置を除外せずに転送先数を計算し、視聴率サーバが通信装置間の接続関係を考慮して適切に視聴数を特定するようにしてもよい。管理者は、上記処理が通信装置および視聴率サーバに与える負荷を考慮して、いずれの方法を採用するか選択することが好ましい。
【0186】
以上、本発明の視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システムを図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0187】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0188】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0189】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0190】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置する通信装置において実行される前記コンテンツの視聴状況を監視する視聴状況監視方法において、
前記コンテンツを識別するマルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を、前記マルチキャストアドレスと前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルに、前記転送先装置として登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する管理ステップと、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する監視ステップと、
を有することを特徴とする視聴状況監視方法。
【0191】
(付記2) 前記監視ステップにおいて、前記通信装置は、前記マルチキャストアドレスを有する前記パケットの転送先を制御可能な他の通信装置が前記転送先装置として前記転送テーブルに登録されている場合に、前記他の通信装置を除外して前記転送先数を計算することを特徴とする請求項1記載の視聴状況監視方法。
【0192】
(付記3) 前記監視ステップにおいて、前記通信装置は、個々の前記転送先アドレスが前記転送テーブルに登録されている経過時間に基づいて、前記マルチキャストアドレス毎の延べ転送時間を更に計算し、前記転送情報に前記延べ転送時間を含めて、前記管理装置に対して前記転送情報を送信することを特徴とする請求項1記載の視聴状況監視方法。
【0193】
(付記4) 前記監視ステップにおいて、前記通信装置は、前記管理装置が所定の時間間隔で送信する報告要求に応答して、前記管理装置に対して前記転送情報を送信することを特徴とする請求項1記載の視聴状況監視方法。
【0194】
(付記5) 前記監視ステップにおいて、前記通信装置は、前記転送先数が変化する毎に、前記管理装置に対して前記転送情報を送信することを特徴とする請求項1記載の視聴状況監視方法。
【0195】
(付記6) マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置し、前記コンテンツの視聴状況を監視する視聴状況監視装置において、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段と、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段と、
を有することを特徴とする視聴状況監視装置。
【0196】
(付記7) マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置するコンピュータに、前記コンテンツの視聴状況を監視する処理を実行させる視聴状況監視プログラムにおいて、前記コンピュータを、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルを記憶する転送テーブル記憶手段、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段、
として機能させることを特徴とする視聴状況監視プログラム。
【0197】
(付記8) マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上で前記コンテンツの視聴状況を監視する視聴状況監視システムにおいて、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段と、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算する転送状況監視手段と、
を備える複数の通信装置と、
前記マルチキャストアドレス毎に、前記パケットを受信している前記再生装置の数を示す視聴情報を時系列に記憶する視聴情報記憶手段と、
前記複数の通信装置から、前記転送先数を示す転送情報をネットワーク経由で継続的に収集する転送情報収集手段と、
前記転送情報収集手段が収集した前記転送情報を集計して前記視聴情報を生成し、集計時刻と対応付けて、生成した前記視聴情報を前記視聴情報記憶手段に格納する視聴状況集計手段と、
を備える視聴情報管理装置と、
を有することを特徴とする視聴状況監視システム。
【図面の簡単な説明】
【0198】
【図1】本実施の形態の概要を示す図である。
【図2】本実施の形態のシステム構成を示す図である。
【図3】視聴率サーバのハードウェア構成を示す図である。
【図4】第1の実施の形態のルータの機能を示すブロック図である。
【図5】第1の実施の形態の視聴率サーバの機能を示すブロック図である。
【図6】映像名テーブルのデータ構造を示す図である。
【図7】ルーティングテーブルのデータ構造を示す図である。
【図8】マルチキャストテーブルのデータ構造を示す図である。
【図9】第1の実施の形態の転送情報テーブルのデータ構造を示す図である。
【図10】第1の実施の形態の視聴情報テーブルのデータ構造を示す図である。
【図11】マルチキャスト配信の流れを示す第1のシーケンス図である。
【図12】マルチキャスト配信の流れを示す第2のシーケンス図である。
【図13】マルチキャスト配信の流れを示す第3のシーケンス図である。
【図14】マルチキャスト配信の流れを示す第4のシーケンス図である。
【図15】第2の実施の形態のルータの機能を示すブロック図である。
【図16】第2の実施の形態の視聴率サーバの機能を示すブロック図である。
【図17】第2の実施の形態の転送情報テーブルのデータ構造を示す図である。
【図18】第2の実施の形態の視聴情報テーブルのデータ構造を示す図である。
【符号の説明】
【0199】
1 通信装置
1a 転送テーブル
1b 転送テーブル管理手段
1c パケット転送手段
2 管理装置
2a 視聴情報記憶手段
2b 転送情報収集手段
2c 視聴状況集計手段
3a,3b 配信装置
4a,4b,4c 再生装置
【特許請求の範囲】
【請求項1】
マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置する通信装置において実行される前記コンテンツの視聴状況を監視する視聴状況監視方法において、
前記コンテンツを識別するマルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を、前記マルチキャストアドレスと前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルに、前記転送先装置として登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する管理ステップと、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する監視ステップと、
を有することを特徴とする視聴状況監視方法。
【請求項2】
前記監視ステップにおいて、前記通信装置は、前記マルチキャストアドレスを有する前記パケットの転送先を制御可能な他の通信装置が前記転送先装置として前記転送テーブルに登録されている場合に、前記他の通信装置を除外して前記転送先数を計算することを特徴とする請求項1記載の視聴状況監視方法。
【請求項3】
前記監視ステップにおいて、前記通信装置は、個々の前記転送先アドレスが前記転送テーブルに登録されている経過時間に基づいて、前記マルチキャストアドレス毎の延べ転送時間を更に計算し、前記転送情報に前記延べ転送時間を含めて、前記管理装置に対して前記転送情報を送信することを特徴とする請求項1記載の視聴状況監視方法。
【請求項4】
マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置し、前記コンテンツの視聴状況を監視する視聴状況監視装置において、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段と、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段と、
を有することを特徴とする視聴状況監視装置。
【請求項5】
マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置するコンピュータに、前記コンテンツの視聴状況を監視する処理を実行させる視聴状況監視プログラムにおいて、前記コンピュータを、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルを記憶する転送テーブル記憶手段、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段、
として機能させることを特徴とする視聴状況監視プログラム。
【請求項6】
マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上で前記コンテンツの視聴状況を監視する視聴状況監視システムにおいて、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段と、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算する転送状況監視手段と、
を備える複数の通信装置と、
前記マルチキャストアドレス毎に、前記パケットを受信している前記再生装置の数を示す視聴情報を時系列に記憶する視聴情報記憶手段と、
前記複数の通信装置から、前記転送先数を示す転送情報をネットワーク経由で継続的に収集する転送情報収集手段と、
前記転送情報収集手段が収集した前記転送情報を集計して前記視聴情報を生成し、集計時刻と対応付けて、生成した前記視聴情報を前記視聴情報記憶手段に格納する視聴状況集計手段と、
を備える視聴情報管理装置と、
を有することを特徴とする視聴状況監視システム。
【請求項1】
マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置する通信装置において実行される前記コンテンツの視聴状況を監視する視聴状況監視方法において、
前記コンテンツを識別するマルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を、前記マルチキャストアドレスと前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルに、前記転送先装置として登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する管理ステップと、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する監視ステップと、
を有することを特徴とする視聴状況監視方法。
【請求項2】
前記監視ステップにおいて、前記通信装置は、前記マルチキャストアドレスを有する前記パケットの転送先を制御可能な他の通信装置が前記転送先装置として前記転送テーブルに登録されている場合に、前記他の通信装置を除外して前記転送先数を計算することを特徴とする請求項1記載の視聴状況監視方法。
【請求項3】
前記監視ステップにおいて、前記通信装置は、個々の前記転送先アドレスが前記転送テーブルに登録されている経過時間に基づいて、前記マルチキャストアドレス毎の延べ転送時間を更に計算し、前記転送情報に前記延べ転送時間を含めて、前記管理装置に対して前記転送情報を送信することを特徴とする請求項1記載の視聴状況監視方法。
【請求項4】
マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置し、前記コンテンツの視聴状況を監視する視聴状況監視装置において、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段と、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段と、
を有することを特徴とする視聴状況監視装置。
【請求項5】
マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上に位置するコンピュータに、前記コンテンツの視聴状況を監視する処理を実行させる視聴状況監視プログラムにおいて、前記コンピュータを、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルを記憶する転送テーブル記憶手段、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算し、前記転送先数を示す転送情報を、前記パケットを受信している前記再生装置の数を示す視聴情報を管理する管理装置に対して、ネットワーク経由で継続的に送信する転送状況監視手段、
として機能させることを特徴とする視聴状況監視プログラム。
【請求項6】
マルチキャスト配信されるコンテンツに対応するパケットを生成する配信装置から前記コンテンツを再生する1以上の再生装置へ至る経路上で前記コンテンツの視聴状況を監視する視聴状況監視システムにおいて、
前記コンテンツを識別するマルチキャストアドレスと、前記パケットを転送すべき転送先装置を識別する転送先アドレスとを対応付ける転送テーブルと、
前記マルチキャストアドレスを指定した転送要求を受信すると、前記転送要求の送信元を前記転送先装置として前記転送テーブルに登録すると共に、前記転送先装置から継続的に前記転送要求を受信している間、前記転送テーブルの登録を維持する転送テーブル管理手段と、
前記転送テーブルを監視して、前記マルチキャストアドレス毎の現在の転送先数を計算する転送状況監視手段と、
を備える複数の通信装置と、
前記マルチキャストアドレス毎に、前記パケットを受信している前記再生装置の数を示す視聴情報を時系列に記憶する視聴情報記憶手段と、
前記複数の通信装置から、前記転送先数を示す転送情報をネットワーク経由で継続的に収集する転送情報収集手段と、
前記転送情報収集手段が収集した前記転送情報を集計して前記視聴情報を生成し、集計時刻と対応付けて、生成した前記視聴情報を前記視聴情報記憶手段に格納する視聴状況集計手段と、
を備える視聴情報管理装置と、
を有することを特徴とする視聴状況監視システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2008−177719(P2008−177719A)
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願番号】特願2007−7649(P2007−7649)
【出願日】平成19年1月17日(2007.1.17)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願日】平成19年1月17日(2007.1.17)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]