(57)【要約】【課題】  マルチキャスト伝送において、パケット損失が発生した場合に効率的なデータ補完を行う。【解決手段】  クライアント１４ａ〜１４ｄは、サーバ１１との間のルータ１２ａ〜１２ｃの段数を検出するルータ段数検出手段と、ルータ段数をクライアントのアドレスとルータのアドレスとに関連付けた管理情報として仲介サーバ１３に登録するルータ段数値登録手段と、登録された管理情報を取得する管理情報取得手段と、パケットデータを受信してデータの損失を検出するデータ損失検出手段と、データの損失を検出した場合に管理情報を参照してルータ段数に関連付けられた他クライアントを選択するクライアント選択手段と、このクライアントに対してパケットデータの送信要求を出力するパケットデータ送信要求出力手段と、送信要求を受信した場合にパケットデータをクライアントに送信するパケットデータ送信手段とを備えた。【選択図】      図１
2006332935.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを格納した第１のサーバと複数のクライアントと１つ以上のルータとがネットワークを介してそれぞれ接続されて、前記第１のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記第１のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第２のサーバに登録するルータ段数値登録手段と、
前記第２のサーバに登録された管理情報を取得する管理情報取得手段と、
前記第１のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの１つを選択するクライアント選択手段と、
前記選択された１つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段と、
を備えたことを特徴とするコンテンツデータ伝送システム。
【請求項２】
コンテンツデータを格納したサーバと複数のクライアントと１つ以上のルータとがネットワークを介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録手段と、
前記サーバに登録された管理情報を取得する管理情報取得手段と、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの１つを選択するクライアント選択手段と、
前記選択された１つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段と、
を備えたことを特徴とするコンテンツデータ伝送システム。
【請求項３】
コンテンツデータを格納した第１のサーバと複数のクライアントと１つ以上のルータとがネットワークを介してそれぞれ接続されて、前記第１のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記第１のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップと、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第２のサーバに登録するルータ段数値登録ステップと、
前記第２のサーバに登録された管理情報を取得する管理情報取得ステップと、
前記第１のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップと、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの１つを選択するクライアント選択ステップと、
前記選択された１つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップと、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップと、
を実行することを特徴とするコンテンツデータ伝送方法。
【請求項４】
コンテンツデータを格納したサーバと複数のクライアントと１つ以上のルータとがネットワークを介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップと、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録ステップと、
前記サーバに登録された管理情報を取得する管理情報取得ステップと、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップと、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの１つを選択するクライアント選択ステップと、
前記選択された１つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップと、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップと、
を実行することを特徴とするコンテンツデータ伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータ伝送システム及びコンテンツデータ伝送方法に係り、特に映像・音声データ等のコンテンツデータをサーバから複数のクライアントに対してマルチキャスト伝送する技術に関する。
【背景技術】
【０００２】
サーバと複数のクライアントとがネットワークを介してそれぞれ接続されたネットワークシステムにおいて、サーバから指定された複数のクライアントに同一のコンテンツデータを伝送するマルチキャスト伝送を行う方法として、サーバがコンテンツデータを１回伝送することにより、伝送経路上に設けられたルータがコンテンツデータを受信してこれを複製し、複製したコンテンツデータを配下のクライアントに伝送する伝送方法が知られている。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルによるＩＰマルチキャスト伝送がこの伝送方法によるものである。この伝送方法によれば、ルータがコンテンツデータを複製するため、ストリーミングを実行するサーバの負荷を軽減することができるという利点がある。
【０００３】
また、別の伝送方法として、コンテンツデータを受信したクライアント自身がＩＰパケットを順次複製して他のクライアントに伝送するピアツーピア・マルチキャスト伝送も知られている。この伝送方法によれば、サーバ側の伝送帯域が少なくてよいため大規模なコンテンツデータ配信サーバを必要としない利点がある一方、ストリームの品質が不安定となりやすい欠点がある。この欠点については、例えば、クライアントがネットワークから外れたり、他のアプリケーションの作動や通信に基づくリソースの変動に起因してリレー伝送性能が左右されてしまうというものである。さらに、クライアント側には、マルチキャストさせるためにＣＰＵ処理や通信帯域が消費されやすいといった問題もある。
【０００４】
上述したようなＩＰマルチキャスト伝送を利用してコンテンツデータを伝送する同報配信ネットワークシステムについて、特許文献１にはパケットデータの到達不確実性を補完する発明について開示されている。この特許文献１に記載された発明においては、パケットデータがネットワーク上で損失した場合、誤り訂正処理によってクライアント上で元のデータを復元して補完し、誤り訂正で補完できない場合には他の中継サーバから再送させて元のデータを復元して補完する技術について開示されている。
【特許文献１】特開２００４−７２５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の発明においては、クライアントの要求に応じて再送を行う中継サーバは、収容するクライアントの数の増加に応じてパケットデータを送出する負荷が増えるため、十分なＣＰＵ処理能力やメモリ容量を予め備えておく必要がある。
【０００６】
また、中継サーバの配下に複数のクライアントが配置される構成上、領域的にデータ欠損等の不具合が発生する場合も想定され、この場合、１つのクライアントが誤り訂正によるデータの補完ができずに中継サーバに再送要求をかけたとき、他のクライアントも同様に再送要求をかける可能性が高い。このような場合、中継サーバの再送処理が集中することとなり、これによってトラフィックが高くなり過ぎるという問題がある。
【０００７】
そこで、本発明は、サーバから複数のクライアントへのリアルタイム性を重視したコンテンツデータ伝送技術に関し、コンテンツデータの伝送中にパケットデータの損失が発生した場合に、複数のクライアントの中からデータ補完に最適なクライアントを選択して効率良くデータ補完を行うことによって、高性能な中継サーバやクライアントを必要としないネットワークシステムを構築することが可能な、コンテンツデータ伝送システム及びコンテンツデータ伝送方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、請求項１に記載の発明は、
コンテンツデータを格納した第１のサーバ（１１）と複数のクライアント（１４ａ〜１４ｄ）と１つ以上のルータ（１２ａ〜１２ｃ）とがネットワーク（１５）を介してそれぞれ接続されて、前記第１のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記第１のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段（１４ａ〜１４ｄ）と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第２のサーバ（１３）に登録するルータ段数値登録手段（１４ａ〜１４ｄ）と、
前記第２のサーバに登録された管理情報を取得する管理情報取得手段（１４ａ〜１４ｄ）と、
前記第１のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段（１４ａ〜１４ｄ）と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの１つを選択するクライアント選択手段（１４ａ〜１４ｄ）と、
前記選択された１つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段（１４ａ〜１４ｄ）と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段（１４ａ〜１４ｄ）と、
を備えたことを特徴とするコンテンツデータ伝送システム（１）
を提供するものである。
【０００９】
また、請求項２に記載の発明は、
コンテンツデータを格納したサーバ（１１）と複数のクライアント（１４ａ〜１４ｄ）と１つ以上のルータ（１２ａ〜１２ｃ）とがネットワーク（１５）を介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段（１４ａ〜１４ｄ）と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録手段（１４ａ〜１４ｄ）と、
前記サーバに登録された管理情報を取得する管理情報取得手段（１４ａ〜１４ｄ）と、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段（１４ａ〜１４ｄ）と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの１つを選択するクライアント選択手段（１４ａ〜１４ｄ）と、
前記選択された１つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段（１４ａ〜１４ｄ）と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段（１４ａ〜１４ｄ）と、
を備えたことを特徴とするコンテンツデータ伝送システム（１）
を提供するものである。
【００１０】
また、請求項３に記載の発明は、
コンテンツデータを格納した第１のサーバ（１１）と複数のクライアント（１４ａ〜１４ｄ）と１つ以上のルータ（１２ａ〜１２ｃ）とがネットワーク（１５）を介してそれぞれ接続されて、前記第１のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記第１のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップ（Ｓ３０１）と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第２のサーバに登録するルータ段数値登録ステップ（Ｓ３０２）と、
前記第２のサーバに登録された管理情報を取得する管理情報取得ステップ（Ｓ３０３）と、
前記第１のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップ（Ｓ４０１〜Ｓ４０３）と、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの１つを選択するクライアント選択ステップ（Ｓ５０１，Ｓ５０３，Ｓ５０４，Ｓ５０８，Ｓ５０９，Ｓ５１０）と、
前記選択された１つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップ（Ｓ５０５）と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップ（Ｓ５０６）と、
を実行することを特徴とするコンテンツデータ伝送方法
を提供するものである。
【００１１】
また、請求項４に記載の発明は、
コンテンツデータを格納したサーバ（１１）と複数のクライアント（１４ａ〜１４ｄ）と１つ以上のルータ（１２ａ〜１２ｃ）とがネットワーク（１５）を介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップ（Ｓ３０１）と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録ステップ（Ｓ３０２）と、
前記サーバに登録された管理情報を取得する管理情報取得ステップ（Ｓ３０３）と、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップ（Ｓ４０１〜Ｓ４０３）と、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの１つを選択するクライアント選択ステップ（Ｓ５０１，Ｓ５０３，Ｓ５０４，Ｓ５０８，Ｓ５０９，Ｓ５１０）と、
前記選択された１つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップ（Ｓ５０５）と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップ（Ｓ５０６）と、
を実行することを特徴とするコンテンツデータ伝送方法
を提供するものである。
【発明の効果】
【００１２】
本発明によれば、クライアントがサーバからコンテンツデータをダウンロードしている際に、受信パケットデータにデータ損失を検出した場合には、サーバ又は別のサーバから取得した管理情報に基づきデータ補完を最も効率的に実行し得るクライアントを選択してピアツーピア方式によってコンテンツデータを復元することができるので、例えば、特定の２つのクライアントが同一サブネットの同一デフォルトルータを使用している場合には、両クライアント間でデータ補完を行うことを最優先に実行させることにより、特にサーバや全てのクライアントの負荷が少なくて済み、非常に効率的なコンテンツデータ伝送を実行することが可能である。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
＜第一の実施の形態＞
まず、図１は、本発明の第一の実施の形態であるコンテンツデータ伝送システムのシステム構成例を示した図である。同図において、コンテンツデータ伝送システム１は、サーバ１１と、ルータ１２ａ〜１２ｃと、仲介サーバ１３と、クライアント１４ａ〜１４ｄとがネットワーク１５にそれぞれ接続された構成を有している。
【００１４】
ネットワーク１５は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ），ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ），ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のネットワークプロトコルに基づいたデータ通信が可能なように構成されたネットワークであり、データはプロトコルに対応したパケット単位で通信或いは伝送される。したがって、ネットワーク１５に接続される各装置には、データを所定のパケット単位で送受信するためのネットワークインターフェース部をそれぞれ備えている。
【００１５】
サーバ１１は、サーバ１１自身が有する不図示のハードディスク等の記録部に、符号化された映像及び／又は音声のデータ（以下、コンテンツデータ）を記録し、且つ読み出し可能な装置である。ここで、映像・音声データの符号化処理は、ＭＰＥＧ２方式、ＭＰＥＧ４方式、ＪＰＥＧ方式等の公知の符号化方式によるものである。本実施の形態においては、ＭＰＥＧ４方式によって映像・音声データが符号化されたコンテンツデータがハードディスクに記録されているものとする。
【００１６】
また、サーバ１１は、クライアント１４ａ〜１４ｄからの所望のコンテンツデータの伝送要求に応じて、指定されたコンテンツデータを所定のパケット単位に分割して伝送要求元のクライアントに送出する機能を有する。本実施の形態においては、コンテンツデータは、比較的高速伝送が可能なＵＤＰプロトコルに基づいたパケットデータに形成されて伝送される。
【００１７】
なお、サーバ１１には、映像及び／又は音声のデータを入力するための入力手段と、入力されたデータを符号化するための符号化手段とを更に備えるように構成してもよい。これにより、サーバ１１は、例えばビデオカメラで撮像された映像データとマイクロホンで収音した音声データとをそれぞれ入力手段に入力し、これら入力データを符号化手段で符号化してハードディスクに記録しておいて、クライアント１４ａ〜１４ｄからの伝送要求に応じて伝送することも可能となる。
【００１８】
サーバ１１からネットワーク１５に送出されたパケットデータは、ルータ１２ａ〜１２ｃのうち伝送経路上に設けられたルータを介して送信先のクライアントに到達される。このルータ１２ａ〜１２ｃは、ネットワーク１５をサブネットに分割したり、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）毎のネットワークを構築するためのものである。
【００１９】
クライアント１４ａ〜１４ｄは、サーバ１１に対して所望のコンテンツデータの伝送要求を送信し、この伝送要求に応じてサーバ１１がＵＤＰパケットデータとして送信したコンテンツデータを受信する機能を有する。ＵＤＰプロトコルは、高速データ伝送が可能である一方、データが確実に送信先に届くことを保証するプロトコルではないため、ネットワーク１５のトラフィックやルータ１２ａ〜１２ｃの性能に依存してパケットデータが損失する可能性がある。
【００２０】
そこで、クライアント１４ａ〜１４ｄは、例えば３０秒といった所定時間分のＵＤＰパケットデータを記憶するメモリをそれぞれ備えておき、他のクライアントからのデータ補完要求に応じてメモリに記憶されたデータを転送する機能を有する。
【００２１】
仲介サーバ１３は、主にサーバ１１とクライアント１４ａ〜１４ｄそれぞれとの間の伝送経路上に設けられているルータの台数（以下、ルータ段数）を記憶管理するサーバであり、図２に示すような管理情報を、仲介サーバ１３が備える不図示のメモリ又はハードディスクに記憶又は記録する機能を有する。同図に示すように、管理情報には、サーバ１１とクライアント１４ａ〜１４ｄそれぞれとの間のルータ段数に応じて、各クライアントのＩＰアドレスと、各クライアントが標準的に使用するデフォルトルータのＩＰアドレスとが関連付けられて格納されている。
【００２２】
そして、仲介サーバ１３は、クライアント１４ａ〜１４ｄのいずれかから管理情報の登録要求があった場合に、ルータ段数と要求元のクライアントのＩＰアドレスとデフォルトルータのＩＰアドレスとをそれぞれ登録する機能と、クライアント１４ａ〜１４ｄに対して、管理情報を伝送する機能とを有する。
【００２３】
また、サーバ１１、仲介サーバ１３、及びクライアント１４ａ〜１４ｄは、内蔵したＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が各装置を制御するものである。そして、サーバ１１は、サーバ１１からクライアント１４ａ〜１４ｄに対してコンテンツデータを伝送するためのアプリケーションソフトウェアを有し、クライアント１４ａ〜１４ｄのそれぞれは、サーバ１１からコンテンツデータをダウンロードするためのアプリケーションソフトウェアを有し、仲介サーバ１３は、管理情報を管理するためのアプリケーションソフトウェアを有している。
【００２４】
次に、本実施の形態におけるコンテンツデータ伝送システム１の動作について説明する。以下の動作説明の前提として、コンテンツ伝送システム１を構成する各装置は、全て電源が投入されて稼動可能状態であると共に、サーバ１１、仲介サーバ１３、及びクライアント１４ａ〜１４ｄのそれぞれは、アプリケーションソフトウェアが起動しているものとする。
【００２５】
まず、クライアント１４ａ〜１４ｄから仲介サーバ１３への管理情報の登録処理、及び仲介サーバ１３からクライアント１４ａ〜１４ｄへの管理情報の転送処理の動作について図３のフローチャートを参照して説明する。最初に、クライアント１４ａ〜１４ｄのいずれかのクライアント（ここでは、クライアント１４ｄを例にとって説明する。）は、サーバ１１との距離、すなわちルータ段数を取得する（ステップＳ３０１）。
【００２６】
ルータ段数の取得の方法としては、以下に示す２通りの方法がある。
（１）クライアント１４ｄからサーバ１１へのＰｉｎｇコマンドを送受信することにより、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）値を検出してルータ段数を取得する方法。
（２）サーバ１１から所定の周期によって定期的に出力するマルチキャストデータをクライアント１４ｄが受信し、この受信データに含まれるＴＴＬ値を検出してルータ段数を取得する方法。
【００２７】
これにおいて、ＴＴＬとは、ＩＰプロトコルで定義されているＩＰヘッダの中に格納される、通過可能なルータの最大段数を示した数値であって、パケットデータがルータを通過する毎に数値が１づつ減算されるものである。なお、ＴＴＬが減算されて０になった時点で、当該パケットデータは破棄される。
【００２８】
次に、上述した（１）又は（２）の方法によってルータ段数を取得したクライアント１４ｄは、自己のＩＰアドレス（図１によれば、１９２．１６８．０．１０）と、デフォルトルータのＩＰアドレス（同図によれば、１９２．１６８．０．２５４）と、取得したルータ段数（同図によれば、１）とを仲介サーバ１３の管理情報に登録する（ステップＳ３０２）。
【００２９】
そして次に、仲介サーバ１３は、登録された管理情報を全てのクライアント１４ａ〜１４ｄに対して送信し、各クライアントはこの管理情報を受信してメモリに記憶する（ステップＳ３０３）。
【００３０】
次に、クライアント１４ａ〜１４ｄがサーバ１１から送信されたコンテンツデータを受信する動作について説明する。図４は、ＵＤＰパケットデータとしてサーバ１１から送信されたコンテンツデータをクライアント１４ａ〜１４ｄが受信する処理を説明するためのフローチャートである。同図において、クライアント１４ａ〜１４ｄは、ＵＤＰパケットデータを受信すると（ステップＳ４０１）、後に、ＭＰＥＧ４方式で符号化されたコンテンツデータを映像及び音声のデータに復号するためにメモリへ記憶する（ステップＳ４０２）。
【００３１】
次に、ＵＤＰパケットデータにパケット自体の欠落、又は一部データの損失が発生しているか否かを判定する（ステップＳ４０３）。具体的には、ＵＤＰパケットデータのヘッダに含まれる識別番号が連続番号として受信されているか否か、及びヘッダに指定されたデータ長と異なるデータサイズで受信しているか否かについて判定する。判定の結果、一方として、ＵＤＰパケットデータに欠落や損失がない場合（ステップＳ４０３  Ｎｏ）は処理を終了する。他方として、ＵＤＰパケットデータに欠落や損失があった場合（ステップＳ４０３  Ｙｅｓ）は、他のクライアントよりＵＤＰパケットデータを補完する（ステップＳ４０４）。なお、ステップＳ４０４の処理の詳細については後述する。
【００３２】
次に、ステップＳ４０４によるデータ補完に成功したか否かを判定し（ステップＳ４０５）、一方として、データ補完が失敗した場合は（ステップＳ４０５  Ｎｏ）、データ損失が発生しているパケットを指定したデータ補完要求信号をサーバ１１に送信し（ステップＳ４０６）、他方として、データ補完が成功した場合は（ステップＳ４０５  Ｙｅｓ）処理を終了する。
【００３３】
そして、不図示ではあるが、ステップＳ４０６でクライアント１４ａ〜１４ｄがサーバ１１にデータ補完要求信号を送信してサーバ１１がこれを受信すると、サーバ１１は指定されたパケットと同一のパケットデータを要求元のクライアントに送信する。
【００３４】
次に、前述したステップＳ４０４の処理、すなわち他のクライアントからのデータ補完処理について説明する。図５は、他のクライアントからのデータ補完処理について説明するためのフローチャートである。なお、以下の説明においては、図２に示した管理情報を有するクライアント１４ａがＵＤＰパケットデータを受信した際にパケット損失を生じた場合を想定する。
【００３５】
同図においては、まずクライアント１４ａの判断処理として、全てのルータ段数（本実施の形態においては３段）までについてクライアントの検索が終了した場合（ステップＳ５０１）、失敗フラグをセットして処理を終了する（ステップＳ５０２）。次に、クライアント１４ａは、すでに取得してある管理情報によって自己のルータ段数が「３」であることを記憶しているので、ルータ段数「３」における他のクライアントを検索し、存在する場合はその管理情報を参照する（ステップＳ５０３）。そして、同一ＩＰアドレスのデフォルトルータがあるか否かを判定する（ステップＳ５０３）。
【００３６】
そして、同一ＩＰアドレスのデフォルトルータが検出された場合（ステップＳ５０３  Ｙｅｓ）、検索されたクライアントのＩＰアドレスを取得して（ステップＳ５０４）、このクライアントに対してデータ損失が発生しているパケットを指定したデータ補完要求信号を送信する（ステップＳ５０５）。図２の例によれば、クライアント１４ｂのデフォルトルータが同一ＩＰアドレスであるため、ステップＳ５０４にて取得されるＩＰアドレスはクライアント１４ｂの１９２．１６８．２０．４となる。
【００３７】
そして、不図示ではあるが、ステップＳ５０５でクライアント１４ａがクライアント１４ｂにデータ補完要求信号を送信してクライアント１４ｂがこれを受信すると、クライアント１４ｂは指定されたパケットと同一のパケットデータをクライアント１４ａに送信する。
【００３８】
そして次に、データ補完に成功したか否かを確認し（ステップＳ５０６）、一方として、補完に成功していれば（ステップＳ５０６  Ｙｅｓ）成功フラグをセットして処理を終了し（ステップＳ５０７）、他方として、クライアント１４ｂとの間でタイムアウト等でデータ補完に失敗した場合（ステップＳ５０６  Ｎｏ）は、ステップＳ５０１に戻って他のクライアント候補の選択処理を行う。
【００３９】
ステップＳ５０３において、該当するクライアントが存在しない場合（ステップＳ５０３  Ｎｏ）、同一のルータ段数における他クライアントを検出する（ステップＳ５０８）。そして一方として、同一ルータ段数における他のクライアントが検出されない場合（ステップＳ５０８  Ｎｏ）は、検索するルータ段数の値を１つ減少させて（ステップＳ５０９）、ステップＳ５０１の処理に戻る。図２の例によれば、ルータ段数「３」においては、クライアント１４ａ及び１４ｂ以外にクライアントが設置されていないため、検索するルータ段数を「３」から「２」へ変更する。
【００４０】
また、他方として、同一のルータ段数における他クライアントが検出された場合（ステップＳ５０８  Ｙｅｓ）は、それら他クライアントの中から１つのクライアントを偏りのない選択率で、例えば乱数処理に基づいて選択する（ステップＳ５１０）。ステップＳ５０５以降の処理は前述のとおりであるため説明を省略する。
【００４１】
以上の第一の実施の形態によるコンテンツデータ伝送システムの処理によって、クライアント１４ａ〜１４ｄは、ＵＤＰパケットデータの受信中にパケットの欠落や一部データの損失を検出した場合には、仲介サーバ１３から取得した管理情報に基づきデータ補完を最も効率的に実行し得るクライアントを選択してピアツーピア方式によってコンテンツデータを復元することができる。
【００４２】
つまり、本実施の形態におけるクライアント１４ａ及び１４ｂのように、同一サブネットの同一デフォルトルータを使用している場合にＵＤＰパケットデータのデータ損失が発生した場合には、クライアント１４ａ及び１４ｂの間でデータ補完を行うことを最優先に実行させることにより、特にサーバ１１や全てのクライアント１４ａ〜１４ｄの負荷が少なくて済み、非常に効率的なコンテンツデータ伝送が可能である。
【００４３】
＜第二の実施の形態＞
次に、第二の実施の形態について図面を参照して説明する。第一の実施の形態においては、ネットワーク１５に接続されるクライアントの台数は４台、ルータの台数は３台として小規模なコンテンツデータ伝送システムの例を示して説明したが、ネットワークに接続される各種装置の台数はこれに限ることなく、より多くのクライアントやルータが接続されるものであってよい。
【００４４】
この場合において、システムの規模が大きくなるにつれて同一のルータ段数のクライアント数が増加することになる。例えば、図６に示すコンテンツデータ伝送システム６においては、ルータ段数が「３」のクライアントはクライアント６０１，６０２，６０３，６０８，６０９，６１１，６１２，及び６１３の８台となる。このように、コンテンツデータ配信サービスのような不特定多数のクライアントに向けたデータ伝送システムにおいては、数１００台以上の規模でクライアントが接続される場合も想定される。
【００４５】
このようにシステム規模が大きな場合において伝送経路上でパケット損失が発生した場合、前述したステップＳ５１０の処理のようにデータ補完に用いる他クライアントを不作為に選択し続けてもデータ補完が完了しない場合もある。また、ステップＳ５１０によるクライアントの選択をし続けた結果、データ補完に時間がかかり過ぎてコンテンツデータの復号レートに間に合わず再生映像や再生音声に大きな不具合が生じることも予想される。
【００４６】
すなわち、このような大規模なコンテンツデータ伝送システムにおいては、ネットワークのトラフィックが上がるだけでなく非効率的であり、早急にサーバへデータ補完要求信号を送信した方が優位になる。従って、各ルータ段数において他クライアントへ補完要求可能なクライアント数に制限を設けるのが望ましい。
【００４７】
そこで、第一の実施の形態の図４で示したステップＳ４０４における他のクライアントより補完する処理を図７に示すフローチャートに基づく処理とする。なお、同図において、ステップＳ５０１〜Ｓ５１０は図５のフローチャートと同一であるため各ステップの説明を省略する。本実施の形態においては、ステップＳ５０６にてデータ補完が失敗したと判定された場合（ステップＳ５０６  Ｎｏ）、各ルータ段数毎にデータ補完を行うクライアント数が、予め決定しておいた閾値を超えるか否かを判定し（ステップＳ５１１）、一方として、閾値を超える場合（ステップＳ５１１  Ｙｅｓ）は、次のルータ段数を検索するように指定する（ステップＳ５０９）。そして他方として、閾値を超えない場合（ステップＳ５１１  Ｎｏ）は、そのルータ段数にて再度最適なクライアント候補を選択するようにステップＳ５０１に移行する。
【００４８】
以上の第二の実施の形態によるコンテンツデータ伝送システムの処理においては、各クライアントがＵＤＰパケットデータの受信中にパケット損失を検出した場合には、仲介サーバから取得した管理情報に基づきデータ補完を最も効率的に実行し得るクライアントを選択する際に、各ルータ段数でデータ補完を行うクライアント数が閾値を超えるか否かを判定するようにしたので、システム規模に応じたより効率的なデータ補完を実行可能なコンテンツ伝送システムを実現することができる。
【００４９】
なお、第一及び第二の実施の形態においてはサーバ１１と仲介サーバ１３とを別個の装置として説明したが、仲介サーバ１３の機能をサーバ１１に含めることによって仲介サーバ１３を使用しない構成としてもよい。
【産業上の利用可能性】
【００５０】
以上により、本発明は、リアルタイム性を重視するライブ映像やコンテンツデータをマルチキャスト伝送することを目的としたデータ伝送ネットワークシステムに有用である。
【図面の簡単な説明】
【００５１】
【図１】本発明の第一の実施の形態における、コンテンツデータ伝送システムのシステム構成を示した図である。
【図２】本発明の第一の実施の形態における、管理情報の例を示した図である。
【図３】本発明の第一の実施の形態における、クライアントから仲介サーバへの管理情報の登録処理、及び仲介サーバからクライアントへの管理情報の転送処理の動作について説明するためのフローチャートである。
【図４】本発明の第一の実施の形態における、サーバ１１から送信されたコンテンツデータをクライアント１４ａ〜１４ｄが受信する処理を説明するためのフローチャートである。
【図５】本発明の第一の実施の形態における、他クライアントからのデータ補完の処理について説明するためのフローチャートである。
【図６】本発明の第一の実施の形態におけるシステム構成規模よりも比較的規模の大きなコンテンツデータ伝送システムの構成例を示した図である。
【図７】本発明の第二の実施の形態における、他クライアントからのデータ補完の処理について説明するためのフローチャートである。
【符号の説明】
【００５２】
１  コンテンツデータ伝送システム
１１  サーバ
１２ａ，１２ｂ，１２ｃ  ルータ
１３  仲介サーバ
１４ａ，１４ｂ，１４ｃ，１４ｄ  クライアント
１５  ネットワーク
【図１】
2006332935.tif 000003
【図２】
2006332935.tif 000004
【図３】
2006332935.tif 000005
【図４】
2006332935.tif 000006
【図５】
2006332935.tif 000007
【図６】
2006332935.tif 000008
【図７】
2006332935.tif 000009