(57)【要約】【課題】データ配信の効率を向上させたデータ配信方法、データ配信システム、データ中継装置、データ受信装置及びデータ配信用プログラムを提供する。【解決手段】クライアント２０は、ルータ３０に対してデータ受信に関する情報を送信する。ルータ３０は、このクライアント２０から送信される配信要求メッセージ、強制配信要求メッセージ及び配信停止メッセージに基づいて、クライアント２０あるいは他のルータ３０に対してデータ配信を行う際の配信方式を、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかの中から決定し、当該決定した配信方式に従って、コンテンツサーバ１０から送信される配信対象のデータを送信する。【選択図】図２
2007129779.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続されるデータ配信装置、データ中継装置及びデータ受信装置から構成されるデータ配信システムにて、前記データ配信装置から１又は複数の前記データ中継装置を経由して１又は複数の前記データ受信装置へデータを配信するデータ配信方法において、
前記データ受信装置は、
データ受信に関する情報を前記データ中継装置へ通知し、
前記データ中継装置は、
前記データ受信装置から通知されるデータ受信に関する情報を管理し、
前記データ受信に関する情報が配信方式を強制的に指定する強制配信要求メッセージを含む場合に、指定された配信方式を決定し、
前記データ受信に関する情報が配信方式を指定しない配信要求メッセージを含む場合に、管理されたデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定し、
前記決定した配信方式を前記データ受信装置へ通知し、
前記決定した配信方式に基づいて、前記データ配信装置からのデータを前記データ受信装置へ送信し、
前記データ受信装置は、
前記データ中継装置から通知される配信方式に基づいて、前記データ中継装置からのデータを受信することを特徴とするデータ配信方法。
【請求項２】
請求項１に記載のデータ配信方法において、
前記データ受信に関する情報が配信を停止する配信停止要求メッセージを含む場合に、管理されたデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定することを特徴とするデータ配信方法。
【請求項３】
請求項１又は２に記載のデータ配信方法において、
前記データ受信に関する情報は、前記データ受信装置が配信を希望するデータの識別情報と、前記データ受信装置が希望するデータ配信方式の識別情報とを含むことを特徴とするデータ配信方法。
【請求項４】
請求項１乃至３の何れかに記載のデータ配信方法において、
前記データ中継装置は、
前記管理するデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を周期的に決定することを特徴とするデータ配信方法。
【請求項５】
請求項１乃至４の何れかに記載のデータ配信方法において、
前記配信方式は、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかであることを特徴とするデータ配信方法。
【請求項６】
請求項５に記載のデータ配信方法において、
前記データ中継装置は、自装置からの所定のデータの配信先となるデータ受信装置の数が閾値以下の場合には、配信方式をユニキャスト配信に決定し、前記閾値を超える場合には、配信方式をマルチキャスト配信又はブロードキャスト配信に決定することを特徴とするデータ配信方法。
【請求項７】
通信ネットワークに接続されるデータ配信装置、データ中継装置及びデータ受信装置から構成され、前記データ配信装置から１又は複数の前記データ中継装置を経由して１又は複数の前記データ受信装置へデータを配信するデータ配信システムにおいて、
前記データ受信装置は、
データ受信に関する情報を前記データ中継装置へ通知する第１のデータ受信情報通知手段と、
前記データ中継装置から通知される配信方式に基づいて、前記データ中継装置からのデータを受信するデータ受信手段と、
を備え、
前記データ中継装置は、
前記データ受信装置から通知されるデータ受信に関する情報を管理するデータ受信情報管理手段と、
前記データ受信に関する情報が配信方式を強制的に指定する強制配信要求メッセージを含む場合に、指定された配信方式を決定し、前記データ受信に関する情報が配信方式を指定しない配信要求メッセージを含む場合に、管理されたデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定する配信方式決定手段と、
前記決定された配信方式を前記データ受信装置へ通知する配信方式通知手段と、
前記決定した配信方式に基づいて、前記データ配信装置からのデータを前記データ受信装置へ送信するデータ送信手段と、
を備えることを特徴とするデータ配信システム。
【請求項８】
請求項７に記載のデータ配信システムにおいて、
前記配信方式決定手段は、前記データ受信に関する情報が配信を停止する配信停止要求メッセージを含む場合に、管理されたデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定することを特徴とするデータ配信システム。
【請求項９】
請求項７又は８に記載のデータ配信システムにおいて、
前記配信方式決定手段は、前記データ受信装置に対してデータを配信する際の配信方式を周期的に決定することを特徴とするデータ配信システム。
【請求項１０】
請求項７乃至９の何れかに記載のデータ配信システムにおいて、
前記配信方式は、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかであることを特徴とするデータ配信システム。
【請求項１１】
請求項１０に記載のデータ配信システムにおいて、
前記配信方式決定手段は、自装置からの所定のデータの配信先となるデータ受信装置の数が閾値以下の場合には、配信方式をユニキャスト配信に決定し、前記閾値を超える場合には、配信方式をマルチキャスト配信又はブロードキャスト配信に決定することを特徴とするデータ配信システム。
【請求項１２】
通信ネットワークに接続され、データ配信装置からのデータをデータ受信装置へ配信するデータ中継装置において、
前記データ受信装置から通知されるデータ受信に関する情報を管理するデータ受信情報管理手段と、
前記データ受信に関する情報が配信方式を強制的に指定する強制配信要求メッセージを含む場合に、指定された配信方式を決定し、前記データ受信に関する情報が配信方式を指定しない配信要求メッセージを含む場合に、管理されたデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定する配信方式決定手段と、
前記決定された配信方式を前記データ受信装置へ通知する配信方式通知手段と、
前記決定した配信方式に基づいて、前記データ配信装置からのデータを前記データ受信装置へ送信するデータ送信手段と、
を備えることを特徴とするデータ中継装置。
【請求項１３】
請求項１２に記載のデータ中継装置において、
前記配信方式決定手段は、前記データ受信に関する情報が配信を停止する配信停止要求メッセージを含む場合に、管理されたデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定することを特徴とするデータ中継装置。
【請求項１４】
請求項１２又は１３に記載のデータ中継装置において、
前記配信方式決定手段は、前記データ受信装置に対してデータを配信する際の配信方式を周期的に決定することを特徴とするデータ中継装置。
【請求項１５】
請求項１２乃至１４の何れかに記載のデータ中継装置において、
他の装置との通信を行う機能を有する通信インタフェース部と、
通信プロトコル処理を行う機能を有する通信プロトコル制御部と、
情報を記憶する機能を有する記憶部と、
を備えることを特徴とするデータ中継装置。
【請求項１６】
請求項１２乃至１５の何れかに記載のデータ中継装置において、
前記配信方式は、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかであることを特徴とするデータ中継装置。
【請求項１７】
請求項１６に記載のデータ中継装置において、
前記配信方式決定手段は、自装置からの所定のデータの配信先となるデータ受信装置の数が閾値以下の場合には、配信方式をユニキャスト配信に決定し、前記閾値を超える場合には、配信方式をマルチキャスト配信又はブロードキャスト配信に決定することを特徴とするデータ中継装置。
【請求項１８】
通信ネットワークに接続され、データ配信装置からのデータをデータ受信装置へ配信するデータ中継装置を動作させるデータ配信用プログラムにおいて、
前記データ受信装置から通知されるデータ受信に関する情報を管理する手順と、
前記データ受信に関する情報が配信方式を強制的に指定する強制配信要求メッセージを含む場合に、指定された配信方式を決定し、前記データ受信に関する情報が配信方式を指定しない配信要求メッセージを含む場合に、管理されたデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定する手順と、
前記決定された配信方式を前記データ受信装置へ通知する手順と、
前記決定した配信方式に基づいて、前記データ配信装置からのデータを前記データ受信装置へ送信する手順と、
を実行させるためのデータ配信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ配信装置、データ中継装置及びデータ受信装置から構成されるデータ配信システムにて、前記データ配信装置から１又は複数の前記データ中継装置を経由して１又は複数の前記データ受信装置へデータを配信するデータ配信方法に関する。
【背景技術】
【０００２】
従来、データ配信装置からデータ受信装置へデータを配信する際の配信方式として、データ配信装置とデータ受信装置とが１対１となるユニキャスト配信と、１のデータ配信装置に対してデータ受信装置が複数となる１対多のマルチキャスト配信及びブロードキャスト配信とが存在する。これら各配信方式のうち、マルチキャスト配信は、特定多数のデータ受信装置がデータの配信先となる配信方式であり、ブロードキャスト配信は、不特定多数のデータ受信装置がデータの配信先となる配信方式である。以下、これらユニキャスト配信、ブロードキャスト配信及びブロードキャスト配信を具体的に説明する。
【０００３】
ユニキャスト配信は、データ受信装置がデータ配信装置に対してデータの要求を行い、データ配信装置がその応答としてデータを送信するプル型配信と、データ配信装置がデータ受信装置からのデータ要求を待たずにデータを送信するプッシュ型配信とが存在する。
【０００４】
マルチキャスト配信及びブロードキャスト配信では、データ受信装置は、配信データに付随する情報（番組情報等）を受信すると、当該付随する情報に基づいて、配信データを選択的に受信する。但し、マルチキャスト配信では、データ受信装置は、データ配信装置からのデータを中継するデータ中継装置に対し、データを受信する旨を通知する。そして、その通知を受けたデータ中継装置は、データ配信装置から送信されるデータを、データを受信する旨の通知を行ったデータ受信装置にのみ送信する。
【０００５】
従来は、データ送信装置がユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れか１つの配信方式を取り決めて、データを送信していた。
【非特許文献１】Ｔｈｏｍａｓ  Ｍａｕｆｅｒ著、楠本博之訳、「ＩＰマルチキャスト入門」、初版、共立出版株式会社、２００１年１１月
【非特許文献２】Ｄａｖｅ  Ｋｏｓｉｕｒ著、苅田幸雄監訳、「マスタリングＴＣＰ／ＩＰ  マルチキャスト編」第１版第２刷、株式会社オーム社、２０００年１２月
【非特許文献３】Ｂｅａｕ  Ｗｉｌｌｉａｍｓｏｎ著、コムサス訳、シスコシステムズ監訳、「ＩＰマルチキャストネットワーク開発ガイド  Ｖｏｌ．１」、初版、ソフトバンクパブリッシング株式会社、２００１年７月
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した各配信方式のうち、マルチキャスト配信及びブロードキャスト配信は、データ受信装置の数が多く、当該データ受信装置の地理的な分布がある程度密集しているような場合には、ユニキャスト配信と比較して、データ配信に要する時間が短く、配信データの総量も少なくなり、データ配信の効率が高くなる。
【０００７】
しかし、反対に、マルチキャスト配信及びブロードキャスト配信は、配信先となるデータ受信装置の数が少なく、当該配信先となるデータ受信装置の地理的な分布がある分散しているような場合には、ユニキャスト配信と比較して、十分なデータ配信の効率の向上が図れないことがある。特に、マルチキャスト配信は、受信先を特定するためのマルチキャストグループ管理のコストが発生するため、このようにユニキャスト配信と比較して十分なデータ配信効率の向上が図れないことは問題となる。以下、図面を参照しつつ、この問題について説明する。
【０００８】
図１は、従来のデータ配信システムの構成例を示す図である。同図に示すデータ配信システムは、データ配信装置としてのコンテンツサーバ２１０、データ受信装置としてのクライアント２２０、及び、データ中継装置としてのルータ２３０を備える。コンテンツサーバ２１０及びルータ２３０は、インターネットや無線ネットワーク等の通信ネットワーク２４０に接続される。また、クライアント２２０−１〜２２０−３は、ＬＡＮ（Local Area Network）等の通信ネットワーク２５０−１を介してルータ２３０−１に接続されている。同様に、クライアント２２０−４〜２２０−６は、通信ネットワーク２５０−２を介してルータ２３０−２に接続され、クライアント２２０−７〜２２０−９は、通信ネットワーク２５０−３を介してルータ２３０−３に接続されている。なお、同図における通信ネットワーク２４０及び２５０を構成する伝送路の添え字Ｍは、データがマルチキャスト配信によって当該伝送路に伝送されていることを示す。
【０００９】
コンテンツサーバ２１０は、クライアント２２０に対してマルチキャスト配信を行う。同図において、通信ネットワーク２５０−３に接続されているクライアント２２０のうち、配信先となるものはクライアント２２０−８のみである。しかし、従来のデータ配信方法では、データ配信装置であるコンテンツサーバ２１０によって取り決められた配信方式に従って、システム全体におけるデータ配信が行われるため、通信ネットワーク２５０−３に対してもマルチキャスト配信が行われる。このため、通信ネットワーク２５０−３において、マルチキャスト配信の制御プロトコルによる通信コストが発生し、当該通信コストをも含めた総配信データ量が増大してしまう。
【００１０】
本発明は、上述した問題点を解決するものであり、その目的は、データ配信の効率を向上させたデータ配信方法、データ配信システム、データ中継装置、データ受信装置及びデータ配信用プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するため、本発明は請求項１に記載されるように、通信ネットワークに接続されるデータ配信装置、データ中継装置及びデータ受信装置から構成されるデータ配信システムにて、前記データ配信装置から１又は複数の前記データ中継装置を経由して１又は複数の前記データ受信装置へデータを配信するデータ配信方法において、前記データ受信装置は、データ受信に関する情報を前記データ中継装置へ通知し、前記データ中継装置は、前記データ受信装置から通知されるデータ受信に関する情報を管理し、前記管理するデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定し、前記決定した配信方式を前記データ受信装置へ通知し、前記決定した配信方式に基づいて、前記データ配信装置からのデータを前記データ受信装置へ送信し、前記データ受信装置は、前記データ中継装置から通知される配信方式に基づいて、前記データ中継装置からのデータを受信することを特徴とする。
【００１２】
本発明によれば、従来のように、データ配信装置が１つの配信方式を決定し、その配信方式によってシステム全体におけるデータ配信が行われるのではなく、データ中継装置がデータ受信装置から送信されるデータ受信に関する情報に基づいて、配信方式を決定するため、データの配信経路毎に、データ受信装置の状況に応じた配信方式でデータを配信することができ、データ配信の効率を向上させることが可能となる。
【００１３】
また、本発明は請求項２に記載されるように、請求項１に記載のデータ配信方法において、前記データ受信に関する情報は、前記データ受信装置が配信を希望するデータの識別情報と、前記データ受信装置が希望するデータ配信方式の識別情報とを含むことを特徴とする。
【００１４】
また、本発明は請求項３に記載されるように、請求項１又は２に記載のデータ配信方法において、前記データ中継装置は、前記管理するデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を周期的に決定することを特徴とする。
【００１５】
この場合には、配信方式を周期的に変更することが可能となり、データ受信装置の状況が時々刻々と変化する場合においても、適切な配信方式でデータを配信することができ、データ配信の効率を向上させることが可能となる。
【００１６】
また、本発明は請求項４に記載されるように、請求項１乃至３の何れかに記載のデータ配信方法において、前記データ中継装置は、前記管理するデータ受信に関する情報を、前記通信ネットワークにおいて自装置の上位に属する他のデータ中継装置へ通知することを特徴とする。
【００１７】
また、本発明は請求項５に記載されるように、請求項１乃至４の何れかに記載のデータ配信方法において、前記データ中継装置は、前記通信ネットワークにおいて自装置の下位に属する他のデータ中継装置から通知されるデータ受信に関する情報を管理することを特徴とする。
【００１８】
この場合には、データ中継装置は、自装置の配下となるデータ受信装置、換言すれば、自装置からのデータの配信先となるデータ受信装置から送信されるデータ受信に関する情報を管理することができ、当該データ受信装置に対して他のデータ中継装置を介してデータを配信する際における配信方式を適切に決定することが可能となる。
【００１９】
また、本発明は請求項６記載されるように、請求項１乃至５の何れかに記載のデータ配信方法において、前記配信方式は、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかであることを特徴とする。
【００２０】
また、本発明は請求項７記載されるように、請求項６に記載のデータ配信方法において、前記データ中継装置は、自装置からの所定のデータの配信先となるデータ受信装置の数が閾値以下の場合には、配信方式をユニキャスト配信に決定し、前記閾値を超える場合には、配信方式をマルチキャスト配信又はブロードキャスト配信に決定することを特徴とする。
【００２１】
この場合には、データ中継装置は、自装置からの所定のデータの配信先となるデータ受信装置の数が少ない場合には、ユニキャスト配信を採用し、多くなるにつれて、マルチキャスト配信、更にはブロードキャスト配信を採用するため、配信先となるデータ受信装置の数に応じた適切な配信方式を決定することができる。
【００２２】
また、本発明は請求項８に記載されるように、通信ネットワークに接続されるデータ配信装置、データ中継装置及びデータ受信装置から構成され、前記データ配信装置から１又は複数の前記データ中継装置を経由して１又は複数の前記データ受信装置へデータを配信するデータ配信システムにおいて、前記データ受信装置は、データ受信に関する情報を前記データ中継装置へ通知する第１のデータ受信情報通知手段と、前記データ中継装置から通知される配信方式に基づいて、前記データ中継装置からのデータを受信するデータ受信手段とを備え、前記データ中継装置は、前記データ受信装置から通知されるデータ受信に関する情報を管理するデータ受信情報管理手段と、前記管理されるデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定する配信方式決定手段と、前記決定された配信方式を前記データ受信装置へ通知する配信方式通知手段と、前記決定した配信方式に基づいて、前記データ配信装置からのデータを前記データ受信装置へ送信するデータ送信手段とを備えることを特徴とする。
【００２３】
また、本発明は請求項９に記載されるように、請求項８に記載のデータ配信システムにおいて、前記配信方式決定手段は、前記データ受信装置に対してデータを配信する際の配信方式を周期的に決定することを特徴とする。
【００２４】
また、本発明は請求項１０に記載されるように、請求項８又は９に記載のデータ配信システムにおいて、前記データ中継装置は、前記管理されるデータ受信に関する情報を、前記通信ネットワークにおいて自装置の上位に属する他のデータ中継装置へ通知する第２のデータ受信情報通知手段を備えることを特徴とする。
【００２５】
また、本発明は請求項１１に記載されるように、請求項８乃至１０に記載のデータ配信システムにおいて、前記データ受信情報管理手段は、前記通信ネットワークにおいて自装置の下位に属する他のデータ中継装置から通知されるデータ受信に関する情報を管理することを特徴とする。
【００２６】
また、本発明は請求項１２に記載されるように、請求項８乃至１１の何れかに記載のデータ配信システムにおいて、前記配信方式は、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかであることを特徴とする。
【００２７】
また、本発明は請求項１３に記載されるように、請求項１２に記載のデータ配信システムにおいて、前記配信方式決定手段は、自装置からの所定のデータの配信先となるデータ受信装置の数が閾値以下の場合には、配信方式をユニキャスト配信に決定し、前記閾値を超える場合には、配信方式をマルチキャスト配信又はブロードキャスト配信に決定することを特徴とする。
【００２８】
また、本発明は請求項１４に記載されるように、通信ネットワークに接続され、データ配信装置から１又は複数のデータ中継装置を経由して配信されるデータを受信するデータ受信装置において、データ受信に関する情報を前記データ中継装置へ通知するデータ受信情報通知手段と、前記データ中継装置から通知される配信方式に基づいて、前記データ中継装置からのデータを受信するデータ受信手段とを備えることを特徴とする。
【００２９】
また、本発明は請求項１５に記載されるように、請求項１４に記載のデータ受信装置において、他の装置との通信を行う機能を有する通信インタフェース部と、通信プロトコル処理を行う機能を有する通信プロトコル制御部と、アプリケーションを動作させる機能を有するアプリケーション処理部と、外部周辺機器を介した入出力処理を行う機能を有する入出力処理部と、情報を記憶する機能を有する記憶部とを備えることを特徴とする。
【００３０】
また、本発明は請求項１６に記載されるように、通信ネットワークに接続され、データ配信装置からのデータをデータ受信装置へ配信するデータ中継装置において、前記データ受信装置から通知されるデータ受信に関する情報を管理するデータ受信情報管理手段と、前記管理されるデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定する配信方式決定手段と、前記決定された配信方式を前記データ受信装置へ通知する配信方式通知手段と、前記決定した配信方式に基づいて、前記データ配信装置からのデータを前記データ受信装置へ送信するデータ送信手段とを備えることを特徴とする。
【００３１】
また、本発明は請求項１７に記載されるように、請求項１６に記載のデータ中継装置において、前記配信方式決定手段は、前記データ受信装置に対してデータを配信する際の配信方式を周期的に決定することを特徴とする。
【００３２】
また、本発明は請求項１８に記載されるように、請求項１６又は１７に記載のデータ中継装置において、前記管理されるデータ受信に関する情報を、前記通信ネットワークにおいて自装置の上位に属する他のデータ中継装置へ通知するデータ受信情報通知手段を備えることを特徴とする。
【００３３】
また、本発明は請求項１９に記載されるように、請求項１６乃至１８の何れかに記載のデータ中継装置において、前記データ受信情報管理手段は、前記通信ネットワークにおいて自装置の下位に属する他のデータ中継装置から通知されるデータ受信に関する情報を管理することを特徴とする。
【００３４】
また、本発明は請求項２０に記載されるように、請求項１６乃至１９の何れかに記載のデータ中継装置において、他の装置との通信を行う機能を有する通信インタフェース部と、通信プロトコル処理を行う機能を有する通信プロトコル制御部と、情報を記憶する機能を有する記憶部とを備えることを特徴とする。
【００３５】
また、本発明は請求項２１に記載されるように、請求項１６乃至２０の何れかに記載のデータ中継装置において、前記配信方式は、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかであることを特徴とする。
【００３６】
また、本発明は請求項２２に記載されるように、請求項２１に記載のデータ中継装置において、前記配信方式決定手段は、自装置からの所定のデータの配信先となるデータ受信装置の数が閾値以下の場合には、配信方式をユニキャスト配信に決定し、前記閾値を超える場合には、配信方式をマルチキャスト配信又はブロードキャスト配信に決定することを特徴とする。
【００３７】
また、本発明は請求項２３に記載されるように、通信ネットワークに接続され、データ配信装置から１又は複数のデータ中継装置を経由して配信されるデータを受信するデータ受信装置を動作させるデータ配信用プログラムにおいて、データ受信に関する情報を前記データ中継装置へ通知する手順と、前記データ中継装置から通知される配信方式に基づいて、前記データ中継装置からのデータを受信する手順とを実行させることを特徴とする。
【００３８】
また、本発明は請求項２４に記載されるように、通信ネットワークに接続され、データ配信装置からのデータをデータ受信装置へ配信するデータ中継装置を動作させるデータ配信用プログラムにおいて、前記データ受信装置から通知されるデータ受信に関する情報を管理する手順と、前記管理されるデータ受信に関する情報に基づいて、前記データ受信装置に対してデータを配信する際の配信方式を決定する手順と、前記決定された配信方式を前記データ受信装置へ通知する手順と、前記決定した配信方式に基づいて、前記データ配信装置からのデータを前記データ受信装置へ送信する手順とを実行させることを特徴とする。
【００３９】
また、本発明は請求項２５に記載されるように、請求項２４に記載のデータ配信用プログラムにおいて、前記管理されるデータ受信に関する情報を、前記通信ネットワークにおいて自装置の上位に属する他のデータ中継装置へ通知する手順を実行させることを特徴とする。
【００４０】
また、本発明は請求項２６に記載されるように、請求項２４又は２５に記載のデータ配信用プログラムにおいて、前記通信ネットワークにおいて自装置の下位に属する他のデータ中継装置から通知されるデータ受信に関する情報を管理する手順を実行させることを特徴とする。
【発明の効果】
【００４１】
上述の如く、本発明によれば、配信方式を適切に決定し、データ配信の効率を向上させることが可能となる。
【発明を実施するための最良の形態】
【００４２】
以下、本発明の実施の形態を図面に基づいて説明する。
【００４３】
図２は、本発明の実施形態のデータ配信システムの構成例を示す図である。同図に示すデータ配信システムは、データ配信装置としてのコンテンツサーバ１０、データ受信装置としてのクライアント２０、及び、データ中継装置としてのルータ３０を備える。コンテンツサーバ１０及びルータ３０は、インターネットや無線ネットワーク等の通信ネットワーク４０に接続される。また、クライアント２０−１〜２０−３は、ＬＡＮ（Local Area Netwaork）等の通信ネットワーク５０−１を介してルータ３０−１に接続されている。同様に、クライアント２０−４〜２０−６は、通信ネットワーク５０−２を介してルータ３０−２に接続され、クライアント２０−７〜２０−９は、通信ネットワーク５０−３を介してルータ３０−３に接続されている。なお、図２における通信ネットワーク４０及び５０を構成する伝送路の添え字Ｍは、データがマルチキャスト配信によって当該伝送路に伝送されていることを示し、添え字Ｕはデータがユニキャスト配信によって当該伝送路に伝送されていることを示している。
【００４４】
このデータ配信システムでは、クライアント２０は、ルータ３０に対してデータ受信に関する情報を送信する。ルータ３０は、このクライアント２０から送信されるデータ受信に関する情報に基づいて、クライアント２０あるいは他のルータ３０に対してデータ配信を行う際の配信方式を、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかの中から決定し、当該決定した配信方式に従って、コンテンツサーバ１０から送信される配信対象のデータを送信する。
【００４５】
図２は、コンテンツサーバ１０から送信される配信データの配信先がクライアント２０−１、２０−２、２０−３、２０−４、２０−５及び２０−８である場合の例を示している。具体的には、コンテンツサーバ１０からマルチキャスト配信により送信される配信データは、ルータ３０−７、３０−６、３０−５及び３０−１を経由して、クライアント２０−１、２０−２及び２０−３へ送られる。この際、ルータ３０−７、３０−６、３０−５及び３０−１は、何れもマルチキャスト配信を行う。また、コンテンツサーバ１０からマルチキャスト配信により送信される配信データは、ルータ３０−７、３０−６、３０−５及び３０−２を経由して、クライアント２０−４及び２０−５へ送られる。この際、ルータ３０−７及び３０−６は、マルチキャスト配信を行い、ルータ３０−５及び３０−２は、ユニキャスト配信を行う。更に、コンテンツサーバ１０からマルチキャスト配信により送信される配信データは、ルータ３０−７、３０−６、３０−８及び３０−３を経由して、クライアント２０−８へ送られる。この際、ルータ３０−７は、マルチキャスト配信を行い、ルータ３０−６、３０−５及び３０−２は、ユニキャスト配信を行う。
【００４６】
図３は、クライアント２０の詳細な構成例を示す図である。同図に示すように、クライアント２０は、通信インタフェース部６１、通信プロトコル制御部６２、アプリケーション部６３、入出力処理部６４及び記憶装置６５により構成される。
【００４７】
入出力処理部６４は、利用者による操作指示に応じた信号をアプリケーション部５３へ出力する。アプリケーション部６３は、この利用者による操作指示に応じた信号に基づいて、配信データを受信するためのアプリケーションを起動する。
【００４８】
具体的には、アプリケーション部６３は、まず、配信データに関する情報（配信データ関連情報）を取得する。配信データ関連情報は、データの配信方式として、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れが利用可能であるかについての情報や、これら配信方式に付随する情報等を含む。
【００４９】
この配信データ関連情報は、利用者の操作指示に応じて入出力処理部６４から入力され、あるいは、当該配信データ関連情報を保持する記憶装置６５や外部のノードから取得される。
【００５０】
配信データ関連情報が外部のノードに保持されている場合、アプリケーション部６３は、通信プロトコル制御部６２及び通信インターフェース部６１を介して、配信データに関する情報（配信データ関連情報）を保持する外部のノードにアクセスし、当該配信データ関連情報を取得する。外部のノードによって保持される配信データ関連情報は、例えば、コンテンツサーバ１０が保持する情報、ニュースサーバが保持するネットニュースの情報、メールサーバが保持するメールデータ、ＷＷＷ（World Wide Web ）サーバが保持する広告情報等である。
【００５１】
このようにして配信データ関連情報を取得したアプリケーション部６３は、配信方式として、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかを選択し、通信プロトコル制御部６２に対して当該選択した配信方式の通知を行う。なお、アプリケーション部６３は、クライアント２０が全ての配信方式によるデータ配信を受けることが可能である場合には、配信方式を選択しなくてもよい。アプリケーション部６３は、配信方式を選択しない場合には、通信プロトコル制御部６２に対して選択なしとの通知を行う。
【００５２】
また、クライアント２０が何れかの配信方式によるデータ配信を受けることができない場合、例えば、クライアント２０がユニキャスト配信及びブロードキャスト配信によるデータ配信のみを受けることができ、マルチキャスト配信によるデータ配信を受けることができない場合、アプリケーション部６３は、クライアント２０がデータ配信を受けることが可能な配信方式の中から選択し、通信プロトコル制御部６２に対して、選択した配信方式の通知と、その選択した配信方式を強制的に設定すべき旨の通知とを行う。
【００５３】
配信方式の通知あるいは選択なしとの通知を受けた通信プロトコル制御部６２は、データ受信に関する情報としての配信要求メッセージを生成する。この配信要求メッセージは、アプリケーション部６３によって選択された配信方式に対応する情報として、配信方式種別、データＩＤ及びデータＩＤ種別とを含む。配信方式種別は、アプリケーション部６３によって選択された配信方式を一意に識別する情報である。なお、アプリケーション部６３が配信方式を選択しなかった場合には、この配信方式種別は含まれない。また、データＩＤは、クライアント２０が要求する配信データを一意に識別する情報である。データＩＤ種別は、データＩＤの属性を識別する情報であり、例えば、ＵＲＩ（Uniform Resource Indication ）や、コンテンツＩＤ、マルチキャストセッションＩＤ、配信先のマルチキャストＩＰアドレス、ブロードキャストチャネルＩＤ等が該当する。
【００５４】
また、通信プロトコル制御部６２は、アプリケーション部６３から選択した配信方式を強制的に設定すべき旨の通知を受けた場合には、その旨を示す情報（例えばフラグ）を配信要求メッセージに付加する。以下、配信方式を強制的に設定すべき旨の情報が付加された配信要求メッセージを強制配信要求メッセージと称する。
【００５５】
なお、配信要求メッセージ及び強制配信要求メッセージには、配信方式に関する複数の情報を含むことができる。例えば、アプリケーション部６３が同時に２つのアプリケーションを起動し、一方のアプリケーションに対応してマルチキャスト配信を選択し、他方のアプリケーションに対応してユニキャスト配信を選択した場合、配信要求メッセージ及び強制配信要求メッセージには、マルチキャスト配信に対応する情報と、ユニキャスト配信に対応する情報との双方を含むことができる。
【００５６】
更に、通信プロトコル制御部６２は、アプリケーション部６３が配信方式としてユニキャスト配信又はマルチキャスト配信を選択した場合、生成した配信要求メッセージ又は強制配信要求メッセージを、通信インタフェース部６１を介してルータ３０へ送信する。
【００５７】
一方、通信プロトコル制御部６２は、アプリケーション部６３が配信方式としてブロードキャスト配信を選択し、その選択に応じて配信要求メッセージを生成した場合には、当該配信要求メッセージをルータ３０に送信しても良く、送信せずに配信データの受信を待ち受けるようにしても良い。配信要求メッセージを送信しなくても良いのは、ブロードキャスト配信の場合には、クライアント２０は、配信データの受信待ち受けを行うだけで、配信データを受信することができるからである。
【００５８】
図４は、ルータ３０の詳細な構成を示す図である。同図に示すように、ルータ３０は、通信インタフェース部７１、通信プロトコル制御部７２、記憶装置７３により構成される。また、記憶装置７３は、クライアント管理テーブル７３１と、配信方式管理テーブル７３２とを保持している。
【００５９】
通信インタフェース部７１は、クライアント２０からの配信要求メッセージ又は強制配信要求メッセージを受信し、通信プロトコル制御部７２へ出力する。
【００６０】
通信プロトコル制御部７２は、受信されたメッセージが配信要求メッセージである場合、当該配信要求メッセージ内の情報を含んだレコードを記憶装置７３に保持されたクライアント管理テーブル７３１に追加する。
【００６１】
図５は、クライアント管理テーブル７３１の一例を示す図である。クライアント管理テーブル７３１は、配信データと、当該配信データの配信先となるクライアント２０と、配信方式とを対応付けるものである。図５に示すクライアント管理テーブル７３１では、１つのレコードがデータＩＤ、データＩＤ種別、クライアントＩＰアドレス、クライアント２０が要求する配信方式の種別（要求配信方式種別）、ルータ３０が決定した配信方式の種別（決定配信方式種別）、及び、ルータ３０とクライアント２０との間のメッセージのやり取りの現状を示す状態情報により構成される。
【００６２】
通信プロトコル制御部７２は、配信要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別を、それぞれクライアント管理テーブル７３１のデータＩＤ、データＩＤ種別及び要求配信方式種別に対応させる。また、通信プロトコル制御部７２は、配信要求メッセージのヘッダに含まれる送信元ＩＰアドレスを、クライアント管理テーブル７３１のクライアントＩＰアドレスに対応させる。更には通信プロトコル制御部７２は、ルータ３０とクライアント２０との間のメッセージのやり取りの現状を状態情報とする。例えば、通信プロトコル制御部７２は、配信要求メッセージを受信した時点において、図５のクライアント管理テーブル７３１の３番目のレコードに示すように、状態情報を「配信要求受信済み」とする。決定配信方式種別については後述する。なお、図５に示すクライアント管理テーブル７３１において、要求配信方式種別及び決定配信方式種別における「Ｕ」はユニキャスト配信、「Ｍ」はマルチキャスト配信、「Ｂ」はブロードキャスト配信をそれぞれ示す。
【００６３】
なお、通信プロトコル制御部７２は、受信した配信要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別と、当該配信要求メッセージの送信元ＩＰアドレスとを含むレコードが既にクライアント管理テーブル７３１に含まれている場合には、レコードの追加は行わない。
【００６４】
クライアント管理テーブル７３１へのレコードの追加後、通信プロトコル制御部７２は、更に記憶装置７３に保持された配信方式管理テーブル７３２を更新する。図６は、配信方式管理テーブル７３２の一例を示す図である。この配信方式管理テーブル７３２は、配信データと、当該配信データの配信先となるクライアント２０の数、及び、当該配信データの配信先となるクライアント２０の数に応じて配信方式を決定する際の基準となる閾値とを対応付けるものである。なお、閾値は、対応するデータＩＤとしてのマルチキャストアドレス毎や、ルータ３０毎に異なる値に設定されることが可能である。例えば、閾値がマルチキャストアドレス毎に設定される場合には、当該閾値を決定するノードは、マルチキャストアドレスやポート番号、配信データ等のマルチキャストセッション情報を表現するＳＤＰ（Session Description Protocol）を拡張し、閾値を含むフィールドを設けることにより、閾値を各ルータ３０やクライアント２０へ通知することが可能である。
【００６５】
図６に示す配信方式管理テーブル７３２では、１つのレコードがデータＩＤ、閾値及びメンバ数（配信先となるクライアントの数）により構成される。配信方式管理テーブル７３２の更新に際し、通信プロトコル制御部７２は、当該配信方式管理テーブル７３２の中から、受信した配信要求メッセージ内のデータＩＤを含むレコードを特定し、当該特定したレコード内のメンバ数を１増加させる。
【００６６】
更に、通信プロトコル制御部７２は、所定のタイミングで周期的に配信方式を決定する。具体的には、通信プロトコル制御部７２は、配信データを識別する情報である１つのデータＩＤと、当該データＩＤにより特定される配信データの配信先となるクライアント２０のクライアントＩＰアドレスとを選択する。次に、通信プロトコル制御部７２は、配信方式管理テーブル７３２のレコードの中から、選択したデータＩＤを含むレコードを特定し、当該特定したレコード内の閾値とメンバ数により配信方式を、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかに決定する。例えば、通信プロトコル制御部７２は、データＩＤ「２２４．１２７．３２．７」及びクライアントＩＰアドレス「１９２．１６８．４．２３４」を選択した場合、図６に示す配信方式管理テーブル７３２の１番目のレコードを特定する。このレコードは、閾値が「メンバ数が２以下の場合にユニキャスト配信、３以上の場合はマルチキャスト配信」であり、メンバ数は「２」である。従って、通信プロトコル制御部７２は、選択したデータＩＤ「２２４．１２７．３２．７」により特定される配信データを、選択したクライアントＩＰアドレス「１９２．１６８．４．２３４」により特定されるクライアント２０へ配信する際の配信方式をユニキャスト配信に決定する。
【００６７】
このようにして配信方式を決定した後、次に通信プロトコル制御部７２は、決定した通信方式を、クライアント管理テーブル７３１における対応するレコード内の決定配信方式に追加する。例えば、通信プロトコル制御部７２は、データＩＤ「２２４．１２７．３２．７」により特定される配信データを、クライアントＩＰアドレス「１９２．１６８．４．２３４」により特定されるクライアント２０へ配信する際の配信方式をユニキャスト配信に決定した場合、図５に示すクライアント管理テーブル７３１において、当該データＩＤ「２２４．１２７．３２．７」及びクライアントＩＰアドレス「１９２．１６８．４．２３４」を含む１番目のレコード内の決定配信方式を「Ｕ」とする。
【００６８】
次に、通信プロトコル制御部７２は、クライアント管理テーブル７３１の各レコードの中から要求配信方式種別と決定配信方式種別とが異なるレコードを見つけ出し、そのレコード内のクライアントＩＰアドレスを抽出する。抽出されたクライアントＩＰアドレスにより特定されるクライアント２０は、当該クライアント２０が要求した配信方式と、ルータによって決定された配信方式とが異なるクライアント２０である。例えば、図５に示すクライアント管理テーブル７３１において、通信プロトコル制御部７２は、１番目のレコード内のクライアントＩＰアドレス「１９２．１６８．４．２３４」と、２番目のレコード内のクライアントＩＰアドレス「１９２．１６８．４．１２」とを抽出する。
【００６９】
更に、通信プロトコル制御部７２は、配信要求応答メッセージを生成し、抽出したクライアントＩＰアドレスを送信先として送信する。この配信要求応答メッセージは、クライアント管理テーブル７３１において、抽出されたクライアントＩＰアドレスに対応づけられている決定配信方式種別、データＩＤ及びデータＩＤ種別等を含む。なお、通信プロトコル制御部７２は、通常、ユニキャスト配信により、クライアント２０に対して配信要求応答メッセージを送信するが、クライアント２０が加入しているマルチキャストグループが存在する場合には、そのマルチキャストグループのマルチキャストアドレスを送信先として送信しても良い。
【００７０】
次に、通信プロトコル制御部７２は、クライアント管理テーブル７３１において、抽出したクライアントＩＰアドレスに対応づけられている状態情報を「配信要求応答送信済み」とする。
【００７１】
クライアント２０内の通信プロトコル制御部６２は、通信インタフェース部６１を介して、この配信要求応答メッセージを受信する。更に、通信プロトコル制御部６２は、当該配信要求応答メッセージ内の決定配信方式種別により、自身が選択した配信方式とは異なる配信方式が決定されたことを認識し、その配信方式による配信データの受信に必要な待ち受けを開始する。この際、通信プロトコル制御部６２は、アプリケーション部６３に対し、ルータ３０において決定された配信方式を通知するようにしても良い。この場合、アプリケーション部６３は、入出力処理部６４を通じてダイアログボックス表示等を行うことにより、利用者に対し、配信方式が変更されたことを通知することができる。
【００７２】
なお、ルータ３０内の通信プロトコル制御部７２が、クライアント管理テーブル７３１によって管理されている全てのクライアント２０に対して、配信要求応答メッセージを送信し、クライアント２０内のアプリケーション部６３がこれを受信するようにしても良い。
【００７３】
一方、通信プロトコル制御部７２は、受信されたメッセージが強制配信要求メッセージである場合、当該強制配信要求メッセージ内の情報を記憶装置７３に保持されたクライアント管理テーブル７３１にレコードを追加する。
【００７４】
具体的には、通信プロトコル制御部７２は、配信要求メッセージを受信した場合と同様、強制配信要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別を、それぞれクライアント管理テーブル７３１のデータＩＤ、データＩＤ種別及び要求配信方式種別に対応させる。また、通信プロトコル制御部７２は、配信要求メッセージのヘッダに含まれる送信元ＩＰアドレスを、クライアント管理テーブル７３１のクライアントＩＰアドレスに対応させる。更には通信プロトコル制御部７２は、ルータ３０とクライアント２０との間のメッセージのやり取りの現状を状態情報とする。
【００７５】
なお、通信プロトコル制御部７２は、受信した強制配信要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別と、当該配信要求メッセージの送信元ＩＰアドレスとを含むレコードが既にクライアント管理テーブル７３１に含まれている場合には、レコードの追加は行わない。
【００７６】
次に、通信プロトコル制御部７２は、クライアント管理テーブル７３１に追加したレコード内の要求配信方式種別を、そのまま決定配信方式種別として確定する。これにより、ルータ３０は、クライアント２０が要求した配信方式により、当該クライアント２０に対し配信データを配信することが可能となる。
【００７７】
更に、通信プロトコル制御部７２は、強制配信要求応答メッセージを生成し、クライアント管理テーブル７３１に追加したレコード内のクライアントＩＰアドレスを送信先として送信する。この配信要求応答メッセージは、クライアント管理テーブル７３１において追加されたレコード内の決定配信方式種別、データＩＤ及びデータＩＤ種別等を含む。また、通信プロトコル制御部７２は、追加したレコード内の状態情報を「強制配信要求応答送信済み」とする。
【００７８】
クライアント２０内の通信プロトコル制御部６２は、通信インタフェース部６１を介して、この強制配信要求応答メッセージを受信すると、当該強制配信要求応答メッセージ内の決定配信方式種別により、自身が選択した配信方式がルータ３０において決定されたことを認識し、その配信方式による配信データの受信に必要な待ち受けを開始する。
【００７９】
また、クライアント２０内の通信プロトコル制御部６２は、データ配信の終了後、あるいはデータ配信の中止を希望する場合、データ配信の終了あるいは中止をルータ３０に通知するための情報として、配信停止要求メッセージを生成する。
【００８０】
配信停止要求メッセージは、配信を終了又は中止するデータに対応する情報として、データＩＤ及びデータＩＤ種別とを含む。更に、通信プロトコル制御部６２は、配信停止要求メッセージに、当該配信停止要求メッセージを識別するための情報（例えばフラグ）を付加し、通信インタフェース部６１を介してルータ３０へ送信する。
【００８１】
ルータ３０内の通信インタフェース部７１は、クライアント２０からの配信停止要求メッセージを受信し、通信プロトコル制御部７２へ出力する。通信プロトコル制御部７２は、クライアント管理テーブル７３１の各レコードの中に、配信停止要求メッセージ内のデータＩＤ及びデータＩＤ種別と、配信停止要求メッセージのヘッダに含まれる送信元ＩＰアドレスとを含んだレコードがある場合には、そのレコードの情報を削除する。
【００８２】
更に、通信プロトコル制御部７２は、配信方式管理テーブル７３２のレコードの中から、受信した配信停止要求メッセージ内のデータＩＤを含むレコードを特定し、当該特定したレコード内のメンバ数を１減少させる。
【００８３】
以上のような手順により、クライアント２０からのデータ受信に応じて、ルータ３０の記憶装置７３に保持されたクライアント管理テーブル７３１及び配信方式管理テーブル７３２が更新される。以下、図７のフローチャートを参照しつつ、更にクライアント２０からのデータ受信時における、ルータ３０のクライアント管理テーブル７３１及び配信方式管理テーブル７３２の更新動作を説明する。
【００８４】
ルータ３０内の通信プロトコル制御部７２は、クライアント２０からのメッセージを、通信インタフェース部７１を介して受信すると（ステップ１０１）、当該受信したメッセージが配信要求メッセージであるか否かを判定する（ステップ１０２）。
【００８５】
クライアント２０からのメッセージが配信要求メッセージである場合、通信プロトコル制御部７２は、クライアント管理テーブル７３１のレコードの中に、当該配信要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別と、当該配信要求メッセージの送信元ＩＰアドレスと一致する情報が存在するか否かを判定し（ステップ１０３）、存在しない場合には、これら配信要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別と、当該配信要求メッセージのヘッダに含まれる送信元ＩＰアドレスとの各情報を含んだレコードを、クライアント管理テーブル７３１に追加する（ステップ１０４）。
【００８６】
次に、通信プロトコル制御部７２は、配信方式管理テーブル７３２の中から、受信した配信要求メッセージ内のデータＩＤを含むレコードを特定し、当該特定したレコード内のメンバ数を１増加させる（ステップ１０５）。上述したステップ１０１〜１０５の動作は、ルータ３０がメッセージを受信する毎に行われる。
【００８７】
その後、通信プロトコル制御部７２は、所定のタイミングで、１つのデータＩＤと、当該データＩＤにより特定される配信データの配信先となるクライアント２０のクライアントＩＰアドレスとを選択する。更に、通信プロトコル制御部７２は、配信方式管理テーブル７３２からこの選択したデータＩＤを含むレコードを特定し、当該特定したレコード内の閾値とメンバ数とを比較して配信方式を決定する（ステップ１０６）。次に、通信プロトコル制御部７２は、決定した通信方式を、クライアント管理テーブル７３１における対応するレコード内の決定配信方式に追加する（ステップ１０７）。
【００８８】
更に、通信プロトコル制御部７２は、クライアント管理テーブル７３１の各レコードの中から要求配信方式種別と決定配信方式種別とが異なるレコードを見つけ出し、そのレコード内のクライアントＩＰアドレスを抽出する（ステップ１０８）。そして、通信プロトコル制御部７２は、配信要求応答メッセージを生成し、抽出したクライアントＩＰアドレスを送信先として送信する（ステップ１０９）。その後、通信プロトコル制御部７２は、クライアント管理テーブル７３１において、抽出したクライアントＩＰアドレスに対応づけられている状態情報を「配信要求応答送信済み」とする（ステップ１１０）。
【００８９】
一方、通信プロトコル制御部７２は、ステップ１０２において、クライアント２０からのメッセージが配信要求メッセージでないと判断した場合、更に、当該メッセージが強制配信要求メッセージであるか否かを判定する（ステップ１１１）。
【００９０】
クライアント２０からのメッセージが強制配信要求メッセージである場合、通信プロトコル制御部７２は、クライアント管理テーブル７３１のレコードの中に、当該強制配信要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別と、当該強制配信要求メッセージの送信元ＩＰアドレスと一致する情報が存在するか否かを判定し（ステップ１１２）、存在しない場合には、これら強制配信要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別と、当該配信要求メッセージのヘッダに含まれる送信元ＩＰアドレスとの各情報を含んだレコードを、クライアント管理テーブル７３１に追加する（ステップ１１２）。
【００９１】
次に、通信プロトコル制御部７２は、クライアント管理テーブル７３１に追加したレコード内の要求配信方式種別を、そのまま決定配信方式種別として確定する（ステップ１１４）。
【００９２】
更に、通信プロトコル制御部７２は、強制配信要求応答メッセージを生成し、抽出したクライアントＩＰアドレスを送信先として送信する（ステップ１１５）。その後、通信プロトコル制御部７２は、追加したレコード内の状態情報を「強制配信要求応答送信済み」とする（ステップ１１６）。
【００９３】
また、通信プロトコル制御部７２は、ステップ１１１において、クライアント２０からのメッセージが強制配信要求メッセージでないと判断した場合、更に、当該メッセージが配信停止要求メッセージであるか否かを判定する（ステップ１１７）。
【００９４】
クライアント２０からのメッセージが配信停止要求メッセージである場合、通信プロトコル制御部７２は、クライアント管理テーブル７３１のレコードの中に、当該配信停止要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別と、当該配信停止要求メッセージの送信元ＩＰアドレスと一致する情報が存在するか否かを判定し（ステップ１１８）、存在する場合には、これら配信停止要求メッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別と、当該配信要求メッセージのヘッダに含まれる送信元ＩＰアドレスとの各情報を含んだレコードを、クライアント管理テーブル７３１から削除する（ステップ１１９）。
【００９５】
更に、通信プロトコル制御部７２は、配信方式管理テーブル７３２のレコードの中から、受信した配信停止要求メッセージ内のデータＩＤを含むレコードを特定し、当該特定したレコード内のメンバ数を１減少させる（ステップ１２０）。上述したステップ１１１〜１２０の動作は、ルータ３０がメッセージを受信する毎に行われる。その後、上述したステップ１０６〜１１０の処理が行われる。
【００９６】
このようにして、クライアント管理テーブル７３１及び配信方式管理テーブル７３２が更新された後、ルータ３０内の通信プロトコル制御部７２は、コンテンツサーバ１０や他のルータ３０からの配信データを受信すると、当該配信データに付随するデータＩＤをキーとして、記憶装置７３に保持されているクライアント管理テーブル７３１を検索し、そのデータＩＤを含むレコードを特定する。そして、通信プロトコル制御部７２は、特定したレコード内の決定配信方式種別により配信方式を認識する。そして、通信プロトコル制御部７２は、この認識した配信方式が受信した配信データの配信方式と異なる場合には、認識した配信方式に変換し、特定したレコード内のクライアントＩＰアドレスに対応するクライアント２０に対して、受信した配信データを送信する。一方、通信プロトコル制御部７２は、この認識した配信方式が受信した配信データの配信方式と同一である場合には、特定したレコード内のクライアントＩＰアドレスに対応するクライアント２０に対して、受信した配信データをそのまま送信する。クライアント２０内の通信プロトコル制御部６２は、通信インタフェース部６１を介して、ルータ３０から送信される配信データを受信する。
【００９７】
ところで、上述した実施形態では、ルータ３０は、受信した配信要求メッセージ、強制配信要求メッセージ及び配信停止要求メッセージに基づいて、クライアント管理テーブル７３１及び配信方式管理テーブル７３２を更新したが、これらメッセージを自装置の上位に属する他のルータ３０へ送信するようにしても良い。
【００９８】
例えば、マルチキャスト配信の場合、通常、配信データを送信するために、マルチキャストツリーが形成される。このマルチキャストツリーは、マルチキャストパケット等が重複して伝送されないように、コンテンツサーバ１０や、ランデブーポイントと称される特別の機能を持たせたルータ３０を頂点とした、配信データの配信経路を特定するものである。マルチキャスト配信による配信データは、このマルチキャストツリーの頂点から順に下位方向へ転送され、最終的にクライアント２０へ届く。
【００９９】
このマルチキャスト配信では、例えばＰＩＭ（Protocol Independent Multicast）のように、マルチキャストツリーを管理するプロトコルによるコストがかかる。このため、ルータ３０間の配信データの配信においても、マルチキャストグループに属するメンバ数に応じて、適宜、配信方式を切り替えることが有効である。
【０１００】
また、ユニキャスト配信の場合、コンテンツサーバ１０から各クライアント２０までの配信データの配信経路が設定される。この際、同一の配信経路に複数のクライアント２０への配信データが転送される場合がある。このような場合には、複数のクライアント２０への配信データが転送される配信経路では、マルチキャスト配信を行うことが有効である。
【０１０１】
上述したような機能を実現するため、ルータ３０内の通信プロトコル制御部７２は、受信した配信要求メッセージ、強制配信要求メッセージ及び配信停止要求メッセージを、マルチキャストツリーにおいて自装置の上位に属する他のルータ３０や、ユニキャスト配信における配信経路において自装置の上位に属する他のルータ３０へ送信する。
【０１０２】
下位のルータ３０からのメッセージを受信した上位のルータ３０内の通信プロトコル制御部７２は、当該受信したメッセージに基づいて、上述した手順と同様、クライアント管理テーブル７３１及び配信方式管理テーブル７３２を更新する。なお、配信方式管理テーブル７３２は、下位のルータ３０に向かう配信経路毎に備えられる。更に、上位のルータ３０内の通信プロトコル制御部７２は、配信方式を決定し、その配信方式に応じて、上位のコンテンツサーバ１０又はルータ３０からの配信データを下位のルータ３０へ送信する。
【０１０３】
例えば、図２において、コンテンツサーバ１０が１つの配信データを送信する場合を考える。この場合、ルータ３０−１内の通信プロトコル制御部７２は、クライアント２０−１、２０−２及び２０−３からの配信要求メッセージを上位のルータ３０−５へ送信する。また、ルータ３０−２内の通信プロトコル制御部７２は、クライアント２０−４及び２０−５からの配信要求メッセージをルータ３０−５へ送信する。
【０１０４】
ルータ３０−５内の通信プロトコル制御部７２は、これらルータ３０−１及び３０−２からの配信要求メッセージを上位のルータ３０−６へ送信する。また、ルータ３０−５内の通信プロトコル制御部７２は、ルータ３０−１及び３０−２からの配信要求メッセージに基づいて、クライアント管理テーブル７３１及び配信方式管理テーブル７３２を更新する。このとき、配信方式管理テーブル７３２のメンバ数は、ルータ３０−１への配信経路に関してはクライアント２０−１、２０−２及び２０−３の３つとなり、ルータ３０−２への配信経路に関してはクライアント２０−４及び２０−５の２つとなる。
【０１０５】
更に、ルータ３０−５内の通信プロトコル制御部７２は、配信方式管理テーブル７３２において、これらメンバ数と対応する閾値とを比較して通信方式を決定する。例えば、閾値が「メンバ数が２以下の場合にユニキャスト配信、３以上の場合はマルチキャスト配信」である場合、ルータ３０−５内の通信プロトコル制御部７２は、ルータ３０−１への配信経路に関してはメンバ数がクライアント２０−１、２０−２及び２０−３の３つであるため、配信方式をマルチキャスト配信として決定し、ルータ３０−２への配信経路に関してはメンバ数がクライアント２０−４及び２０−５の２つであるため、配信方式をユニキャスト配信として決定する。
【０１０６】
また、下位のルータ３０内の通信プロトコル制御部７２は、クライアント２０又は自身よりも更に下位のルータ３０からの受信した配信要求メッセージを、対応する配信データ毎にまとめて、新たな配信要求メッセージ、強制配信要求メッセージ及び配信停止要求メッセージを生成し、これら生成した新たなメッセージを上位のルータ３０へ送信するようにしても良い。この場合、新たに生成されるメッセージには、データＩＤ、データＩＤ種別、データＩＤにより特定される配信データの配信先となる配下のクライアントの数、及び、データＩＤにより特定される配信データについて下位のルータ３０が決定した配信方式種別が含まれる。
【０１０７】
上位のルータ３０内の通信プロトコル制御部７２は、受信したメッセージに基づいて、ルータ管理テーブルを更新する。図８はルータ管理テーブルの一例を示す図である。ルータ管理テーブルは、配信データと、当該配信データの配信先となる下位のルータ３０と、当該下位のルータ３０へ配信する際の配信方式とを対応付けるものである。図８に示すルータ管理テーブルでは、１つのレコードがデータＩＤ、データＩＤ種別、ルータＩＰアドレス、下位のルータ３０の配下のクライアントの数、下位のルータ３０が決定した配信方式の種別（要求配信方式種別）、上位のルータ３０が決定した配信方式の種別（決定配信方式種別）、及び、上位のルータ３０と下位のルータ３０との間のメッセージのやり取りの現状を示す状態情報により構成される。
【０１０８】
ルータ管理テーブルのデータＩＤ、データＩＤ種別及び要求配信方式種別は、下位のルータ３０からメッセージ内のデータＩＤ、データＩＤ種別及び配信方式種別に、それぞれ対応する。また、ルータ管理テーブルのルータＩＰアドレスは、メッセージのヘッダに含まれる送信元ＩＰアドレスに対応する。また、ルータ管理テーブルの配下クライアント数は、メッセージ内の配下クライアント数に対応する。ルータ管理テーブルの状態情報は、上位のルータ３０と下位のルータ３０との間のメッセージのやり取りの現状に対応する。
【０１０９】
上位のルータ３０内の通信プロトコル制御部７２は、配信要求メッセージ及び強制配信要求メッセージを受信した場合には、ルータ管理テーブルに対応するレコードを追加し、配信停止要求メッセージを受信した場合には、ルータ管理テーブルから対応するレコードを削除する。
【０１１０】
更に、上位のルータ３０内の通信プロトコル制御部７２は、記憶装置７３に保持された配信方式管理テーブル７３２を更新する。具体的には、上位のルータ３０内の通信プロトコル制御部７２は、配信要求メッセージ及び強制配信要求メッセージを受信した場合には、当該受信メッセージ内の配下クライアント数を、配信方式管理テーブル７３２内のレコードのうち、受信したメッセージ内のデータＩＤを有するレコードのメンバ数に加算する。一方、上位のルータ３０内の通信プロトコル制御部７２は、配信停止要求メッセージを受信した場合には、配信方式管理テーブル７３２内のレコードのうち、受信したメッセージ内のデータＩＤを有するレコードのメンバ数から当該受信メッセージ内の配下クライアント数を減算する。
【０１１１】
更に、上位のルータ３０内の通信プロトコル制御部７２は、所定のタイミングで周期的に配信方式を決定する。具体的な手順は、上述した配信方式の決定手順とほぼ同様である。即ち、上位のルータ３０内の通信プロトコル制御部７２は、配信データを識別する情報である１つのデータＩＤと、当該データＩＤにより特定される配信データの配信先となる下位のルータ３０のルータＩＰアドレスとを選択する。次に、上位のルータ３０内の通信プロトコル制御部７２は、配信方式管理テーブル７３２のレコードの中から、選択したデータＩＤを含むレコードを特定し、当該特定したレコード内の閾値とメンバ数により配信方式を、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかに決定する。
【０１１２】
このようにして配信方式を決定した後、次に上位のルータ３０内の通信プロトコル制御部７２は、決定した通信方式を、ルータ管理テーブル内のレコードのうち、対応するレコードの決定配信方式に追加する。次に、上位のルータ３０内の通信プロトコル制御部７２は、ルータ管理テーブルの各レコードの中から要求配信方式種別と決定配信方式種別とが異なるレコードを見つけ出し、そのレコード内のルータＩＰアドレスを抽出する。抽出されたクライアントＩＰアドレスにより特定される下位のルータ３０は、当該下位のルータ３０が決定した配信方式と、上位のルータ３０が決定した決定された配信方式とが異なる。更に、上位のルータ３０内の通信プロトコル制御部７２は、配信要求応答メッセージを生成し、抽出したルータＩＰアドレスを送信先として送信する。この配信要求応答メッセージは、ルータ管理テーブルにおいて、抽出されたルータＩＰアドレスに対応づけられている決定配信方式種別、データＩＤ及びデータＩＤ種別等を含む。
【０１１３】
下位のルータ３０内の通信プロトコル制御部７２は、この配信要求応答メッセージを受信すると、自身が決定した配信方式とは異なる配信方式が決定されたことを認識し、クライアント管理テーブル７３１のレコードのうち、配信要求応答メッセージ配信要求応答メッセージ内のデータＩＤを有するレコードの決定配信方式種別を変更する。
【０１１４】
その後は、下位のルータ３０内の通信プロトコル制御部７２は、クライアント管理テーブル７３１の各レコードの中から要求配信方式種別と決定配信方式種別とが異なるレコードを見つけ出す。そして、下位のルータ３０内の通信プロトコル制御部７２は、そのレコード内のクライアントＩＰアドレスで特定されるクライアント２０又は自身よりも更に下位のルータ３０へ配信要求応答メッセージを送信する。
【０１１５】
また、上位のルータ３０には、下位のルータ３０が接続されるとともに、クライアント２０が接続されている場合がある。この場合、上位のルータ３０は、クライアント管理テーブル７３１とルータ管理テーブルの双方を保持する。
【０１１６】
クライアント管理テーブル７３１とルータ管理テーブルの双方を保持する上位のルータ３０は、これらクライアント管理テーブル７３１とルータ管理テーブルのいずれかを参照する際に、もう一方のテーブルについても参照し、配下クライアント数を算出する。そして、上位のルータ３０は、算出した配下クライアント数を配信方式管理テーブル７３２内の対応するメンバ数に加算し、このメンバ数と対応する閾値と比較することによって配信方式を決定する。
【０１１７】
あるいは、上位のルータ３０は、図９に示すように、クライアント管理テーブル７３１とルータ管理テーブルとをまとめたノード管理テーブルを保持するようにしても良い。この場合、ノード管理テーブルには、クライアント管理テーブル７３１内の「クライアントＩＰアドレス」と、ルータ管理テーブル内の「ルータＩＰアドレス」とが「ノードＩＰアドレス」として設定され、更にノードがクライアントであるかルータであるかを示す「ノード種別」が追加される。
【０１１８】
このように、上位のルータ３０は、必要に応じてクライアント管理テーブル７３１及びルータ管理テーブル、又は、ノード管理テーブルを保持することにより、配下のクライアント２０や下位のルータ３０を管理して、適切な配信方式を決定することができる。
【０１１９】
なお、上記各実施形態において、クライアント２０内の通信プロトコル制御部６２は、配信要求メッセージ、強制配信要求メッセージ及び配信停止要求メッセージの送信の際、インターネットで用いられているマルチキャストグループ管理プロトコルであるＩＧＭＰ（Internet Group Management Protocol ）におけるＩＧＭＰ  Ｍｅｍｂｅｒｓｈｉｐ  Ｒｅｐｏｒｔメッセージを用いることができる。
【０１２０】
また、クライアント２０内の通信プロトコル制御部６２は、周期的に配信要求メッセージをルータ３０へ送信するようにしても良い。ルータ３０は、このメッセージに応じて、記憶装置７３内のクライアント管理テーブル７３１及び配信方式管理テーブル７３２の内容と、クライアント２０の状態とが一致しているか否かを判定することが可能となる。
【０１２１】
また、ルータ３０内の通信プロトコル制御部７２は、クライアント２０に対して当該クライアント２０の現在の状態を問い合わせるための受信状況問い合わせメッセージを、必要に応じて又は周期的に送信しても良い。この場合、クライアント２０は、受信状況問い合わせメッセージの応答として配信要求メッセージを返す。なお、ルータ３０内の通信プロトコル制御部７２は、配信状況問い合わせメッセージの送信の際に、マルチキャスト配信を用いる場合には、ＩＧＭＰ  Ｓｏｕｒｃｅ−ａｎｄ−Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｍｅｍｂｅｒｓｈｉｐ  Ｑｕｅｒｙ  メッセージや、ＩＧＭＰ  Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｍｅｍｂｅｒｓｈｉｐ  Ｑｕｅｒｙ  メッセージ、あるいはこれらの拡張メッセージを用いることができる。
【０１２２】
また、上述したように本発明は、クライアント２０とルータ３０との情報送受や、ルータ３０同士の情報送受に適用されるが、クライアント２０とルータ３０との情報送受と、ルータ３０同士の情報送受との双方に同時に適用しても良く、何れか一方のみに適用しても良い。
【０１２３】
以上説明したように、本実施形態のデータ配信システムでは、クライアント２０は、ルータ３０に対してデータ受信に関する情報を送信する。ルータ３０は、このクライアント２０から送信される配信要求メッセージ、強制配信要求メッセージ及び配信停止メッセージに基づいて、クライアント２０あるいは他のルータ３０に対してデータ配信を行う際の配信方式を、ユニキャスト配信、マルチキャスト配信及びブロードキャスト配信の何れかの中から決定し、当該決定した配信方式に従って、コンテンツサーバ１０から送信される配信対象のデータを送信する。
【０１２４】
即ち、ルータ３０は、コンテンツサーバ１０の配信方式によらず、適切な配信方式を決定し、効率的な配信を行うことができる。具体的には、コンテンツサーバ１０の配信方式がマルチキャスト配信である場合に、ルータ３０は、自装置の配下にあるマルチキャストグループのメンバ数（配信経路において自装置の下位にあるクライアント２０の数）が少ない場合には、配信方式をマルチキャスト配信からユニキャスト配信に切り替えて配信を行う。このため、マルチキャストグループ管理のための制御情報（ＩＧＭＰ、ＰＩＭ等）による通信コストの低減が可能となり、特に、通信コストの高い無線ネットワークにおいては有効である。
【０１２５】
また、ルータ３０が周期的に配信方式を決定することにより、配下のメンバ数の増減等に応じた適切な配信方式を決定することができる。更に、ルータ３０が自装置の上位に属する他のルータ３０に対して、クライアント２０からのメッセージを送信することにより、ルータ３０間の配信方式を適切に設定することができる。
【図面の簡単な説明】
【０１２６】
【図１】従来のデータ配信システムの構成例を示す図である。
【図２】本実施形態のデータ配信システムの構成例を示す図である。
【図３】クライアントの構成例を示す図である。
【図４】ルータの構成例を示す図である。
【図５】クライアント管理テーブルの一例を示す図である。
【図６】配信方式管理テーブルの一例を示す図である。
【図７】クライアントからのデータ受信時のルータの動作を示すフローチャートである。
【図８】ルータ管理テーブルの一例を示す図である。
【図９】ノード管理テーブルの一例を示す図である。
【符号の説明】
【０１２７】
１０  コンテンツサーバ
２０  クライアント
３０  ルータ
４０、５０  通信ネットワーク
６１、７１  通信インタフェース部
６２、７２  通信プロトコル制御部
６３  アプリケーション部
６４  入出力処理部
６５、７３  記憶装置
７３１  クライアント管理テーブル
７３２  配信方式管理テーブル
【図１】
2007129779.tif 000003
【図２】
2007129779.tif 000004
【図３】
2007129779.tif 000005
【図４】
2007129779.tif 000006
【図５】
2007129779.tif 000007
【図６】
2007129779.tif 000008
【図７】
2007129779.tif 000009
【図８】
2007129779.tif 000010
【図９】
2007129779.tif 000011