(57)【要約】【課題】マルチキャスト先のグループ分けを適切に行なうことにより、ファイルを効率的に配信することが可能なファイル配信装置、ファイル配信方法およびファイル配信プログラムを提供する。【解決手段】ファイル配信装置２０１は、複数のファイル受信装置２１１におけるファイルの受信品質の指標を含む品質情報を取得するための品質管理部３４と、品質管理部３４によって取得された品質情報に基づいて、複数のファイル受信装置２１１を複数のグループに分け、グループごとにファイルの配信を制御する送信制御部３２と、送信制御部３２の制御に基づいて、グループごとにファイルをマルチキャストするための送信部３３とを備える。【選択図】図４
2011253432.tif 000002
【特許請求の範囲】
【請求項１】
複数のファイル受信装置にファイルを配信するためのファイル配信装置であって、
前記複数のファイル受信装置における前記ファイルの受信品質の指標を含む品質情報を取得するための品質管理部と、
前記品質管理部によって取得された前記品質情報に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御する送信制御部と、
前記送信制御部の制御に基づいて、前記グループごとに前記ファイルをマルチキャストするための送信部とを備える、ファイル配信装置。
【請求項２】
前記送信部は、前記ファイルを複数のパケットに分割して送信し、
前記品質管理部は、前記複数のファイル受信装置における前記パケットの受信率を含む前記品質情報を取得する、請求項１に記載のファイル配信装置。
【請求項３】
前記送信部は、前記ファイルを複数のパケットに分割し、各前記パケットに対して誤り訂正処理のための符号化を行なって送信し、
前記品質管理部は、前記複数のファイル受信装置において受信に失敗した前記パケットの復元率を含む前記品質情報を取得する、請求項１または２に記載のファイル配信装置。
【請求項４】
前記送信制御部は、前記品質管理部によって取得された前記複数のファイル受信装置における前記復元率に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記パケットに対する誤り訂正処理のための符号化率を決定する、請求項３に記載のファイル配信装置。
【請求項５】
前記品質管理部は、前記複数のファイル受信装置の負荷率を含む前記品質情報を取得する、請求項１から４のいずれかに記載のファイル配信装置。
【請求項６】
前記品質管理部は、前記複数のファイル受信装置における記憶部の使用率を含む前記品質情報を取得する、請求項１から５のいずれかに記載のファイル配信装置。
【請求項７】
前記送信部は、前記品質管理部によって取得された前記品質情報に基づいて、前記ファイル受信装置へ前記ファイルをマルチキャストすべきか否かを判断し、マルチキャストすべきでないと判断した前記ファイル受信装置へ前記ファイルをユニキャストする、請求項１から６のいずれかに記載のファイル配信装置。
【請求項８】
前記品質管理部は、前記複数のファイル受信装置における前記ファイルの受信品質の指標、および前記複数のファイル受信装置の受信性能の指標を含む品質情報を取得し、
前記送信制御部は、前記品質管理部によって取得された前記品質情報の示す前記受信品質および前記受信性能に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御する、請求項１から７のいずれかに記載のファイル配信装置。
【請求項９】
複数のファイル受信装置にファイルを配信するファイル配信方法であって、
前記複数のファイル受信装置における前記ファイルの受信品質の指標を含む品質情報を取得するステップと、
取得した前記品質情報に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御するステップと、
前記制御に基づいて、前記グループごとに前記ファイルをマルチキャストするステップとを含む、ファイル配信方法。
【請求項１０】
複数のファイル受信装置にファイルを配信するためのファイル配信装置におけるファイル配信プログラムであって、コンピュータに、
前記複数のファイル受信装置における前記ファイルの受信品質の指標を含む品質情報を取得するステップと、
取得した前記品質情報に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御するステップと、
前記制御に基づいて、前記グループごとに前記ファイルをマルチキャストするステップとを実行させる、ファイル配信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル配信装置、ファイル配信方法およびファイル配信プログラムに関し、特に、ファイルを複数のファイル受信装置にマルチキャストするファイル配信装置、ファイル配信方法およびファイル配信プログラムに関する。
【背景技術】
【０００２】
映画コンテンツおよび書籍等のデジタル化により、大容量ファイルの効率的なファイル分配の運用が想定される。
【０００３】
ここで、プル型のダウンロードを採用する場合には、アクセスが集中する時間帯の高負荷を考慮したシステム構成が必要となる。一方、プッシュ型のファイル分配を採用する場合には、分配開始タイミングをスケジュール化することにより、必要最小限のシステム構成を設計できる。
【０００４】
しかしながら、拠点数すなわちクライアント数の増加によって異常クライアントの発生確率が高くなり、また、映像コンテンツなどファイルの大容量化によって異常時の処理の遅延およびＱｏＳ（Quality of Service）機能によるリカバリデータ量の増加が顕著となる。
【０００５】
拠点数増加およびファイルの大容量化の状況下で、ファイル分配サービスを複数のサーバを設けることなく実現するシステムの提案が要求されている。
【０００６】
従来のファイル配信システムの一例が、特開２０００−３３２７５１号公報（特許文献１）に開示されている。すなわち、同報通信が可能なネットワークを介してサーバ計算機および複数のクライアント計算機が互いに接続された通信システムを利用し、上記クライアント計算機からの要求に応答して上記サーバ計算機から要求のあった複数のクライアント計算機に対して要求された情報を同報送信する同報通信方法において、サーバ計算機では、送信対象の各々のクライアント計算機からその受信能力に関連する受信能力情報を受信し、送信対象の複数のクライアント計算機を受信した上記受信能力情報に応じて複数のマルチキャストグループに振り分け、上記マルチキャストグループごとに互いに独立した転送レートを用いて要求された情報を同報送信する。
【０００７】
また、従来のファイル配信システムの他の例が、特開２００４−１９９５７８号公報（特許文献２）に開示されている。すなわち、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、上記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信方法において、配信先となる上記複数の受信装置を、所定のアルゴリズムに従って送信装置の能力に応じた最大同時配信数に相当する複数のグループに区分し、上記送信装置がコンテンツを最初に配信する場合には、各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信し、コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理し、各受信装置におけるコンテンツの受信が終了した場合に、当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信する。
【０００８】
また、従来のファイル配信システムの他の例が、特開２００７−１６６４６９号公報（特許文献３）に開示されている。すなわち、被符号化データの冗長化を可能とする符号を用いて配信データを符号化した符号化シンボルの第１符号化シンボル集合から符号化シンボルを送信する送信装置と、上記符号化シンボルを受信し、該受信した符号化シンボルを復号する受信装置とを備え、上記受信装置は、復号失敗時に、符号化シンボルの受信量を表す受信量情報を上記送信装置へ送信する手段を有し、上記送信装置は、上記受信量情報に基づき、追加配信する符号化シンボルを決定する手段を有する。
【０００９】
また、従来のファイル配信システムの他の例が、特開２００９−２３９４５６号公報（特許文献４）に開示されている。すなわち、通信モジュールは、伝送路において送受信されるパケットのパケットロスを検出したとき、該パケットの再送回数または該パケットの再送要求回数をカウントし、該カウント値が第１の閾値以上であるか否かを判断する制御手段と、上記制御手段により上記カウント値が上記第１の閾値以上であると判断されたのであれば、上記伝送路を通じて送受信する電気信号の電圧を減衰させる減衰手段と、を有する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０００−３３２７５１号公報
【特許文献２】特開２００４−１９９５７８号公報
【特許文献３】特開２００７−１６６４６９号公報
【特許文献４】特開２００９−２３９４５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１に記載のファイル配信システムでは、受信能力とは、単位時間に受信可能なデータの量である。そして、各クライアント計算機の受信能力は、クライアント計算機が具備するメモリ装置の容量およびＣＰＵ装置の性能などの要素に応じて定まる。
【００１２】
すなわち、特許文献１に記載のファイル配信システムは、各クライアント計算機の固定的なスペック値に応じてマルチキャスト先のグループ分けを行なう構成であるため、サーバおよびクライアント間の回線状態、ならびにクライアントの動作状態に応じてファイルを効率的に配信することができないという問題点があった。
【００１３】
また、特許文献２〜４には、このような問題点を解決するための構成は開示されていない。
【００１４】
この発明は、上述の課題を解決するためになされたもので、その目的は、マルチキャスト先のグループ分けを適切に行なうことにより、ファイルを効率的に配信することが可能なファイル配信装置、ファイル配信方法およびファイル配信プログラムを提供することである。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、この発明のある局面に係わるファイル配信装置は、複数のファイル受信装置にファイルを配信するためのファイル配信装置であって、上記複数のファイル受信装置における上記ファイルの受信品質の指標を含む品質情報を取得するための品質管理部と、上記品質管理部によって取得された上記品質情報に基づいて、上記複数のファイル受信装置を複数のグループに分け、上記グループごとに上記ファイルの配信を制御する送信制御部と、上記送信制御部の制御に基づいて、上記グループごとに上記ファイルをマルチキャストするための送信部とを備える。
【００１６】
上記課題を解決するために、この発明のある局面に係わるファイル配信方法は、複数のファイル受信装置にファイルを配信するファイル配信方法であって、上記複数のファイル受信装置における上記ファイルの受信品質の指標を含む品質情報を取得するステップと、取得した上記品質情報に基づいて、上記複数のファイル受信装置を複数のグループに分け、上記グループごとに上記ファイルの配信を制御するステップと、上記制御に基づいて、上記グループごとに上記ファイルをマルチキャストするステップとを含む。
【００１７】
上記課題を解決するために、この発明のある局面に係わるファイル配信プログラムは、複数のファイル受信装置にファイルを配信するためのファイル配信装置におけるファイル配信プログラムであって、コンピュータに、上記複数のファイル受信装置における上記ファイルの受信品質の指標を含む品質情報を取得するステップと、取得した上記品質情報に基づいて、上記複数のファイル受信装置を複数のグループに分け、上記グループごとに上記ファイルの配信を制御するステップと、上記制御に基づいて、上記グループごとに上記ファイルをマルチキャストするステップとを実行させる。
【発明の効果】
【００１８】
本発明によれば、マルチキャスト先のグループ分けを適切に行なうことにより、ファイルを効率的に配信することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施の形態に係るファイル配信システムの構成、およびファイル配信システムにおいてマルチキャスト先のグループ分けを行なわないと仮定した場合におけるデータの流れを示す図である。
【図２】本発明の第１の実施の形態に係るファイル配信システムの構成、およびファイル配信システムにおけるデータの流れを示す図である。
【図３】本発明の第１の実施の形態に係るサーバの概略構成図である。
【図４】本発明の実施の形態に係るサーバおよびクライアントが提供する制御構造を示すブロック図である。
【図５】本発明の実施の形態に係るファイル配信システムがファイル配信処理を行なう際の動作手順を示すフローチャートである。
【図６】本発明の第１の実施の形態に係るサーバにおいて作成される配信スケジュールファイルの内容の一例を示す図である。
【図７】本発明の第１の実施の形態に係るファイル配信システムにけるサーバおよびクライアント間のデータの流れを詳細に示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【００２１】
＜第１の実施の形態＞
［概要］
本発明の第１の実施の形態では、映像コンテンツなどの大容量ファイルを何千・何万台の拠点すなわちクライアントに分配する運用において、ファイル分配元となるサーバ（ファイル配信装置）は、ファイル分配先となるクライアント（ファイル受信装置）の受信品質および受信性能の情報を収集しながら受信品質および受信性能の少なくとも一方が類似するグループを作成する。そして、サーバは、グループ単位で最適な送信手段を判断し、データ送信を行なう。
【００２２】
これにより、クライアントの受信性能を最大限に発揮しながら異常クライアントの発生を抑制し、かつ再送などの不要なデータ送信を抑制することが可能となる。そして、効率的なデータ送信、および計画的かつスケジュール通りのファイル分配の運用を行なうことが可能となる。
【００２３】
すなわち、映像コンテンツなどの大容量ファイルを何千・何万台の拠点すなわちクライアントに分配する運用において、ファイルを分配するサーバは、ファイルを受信するクライアント単位の受信品質および受信性能の情報を収集しながら品質レベルおよび性能レベルに基づいてグループ化を行い、グループ単位で最適な送信手段を判断し、決定する。これにより、ファイルを受信するクライアントの性能を最大限に活かし、複数の拠点への効率的な配信データ量のファイル分配を実現し、ファイル分配の遅延を最小限に留め、計画的かつスケジュール通りの運用が可能となる。
【００２４】
［構成および基本動作］
図１は、本発明の第１の実施の形態に係るファイル配信システムの構成、およびファイル配信システムにおいてマルチキャスト先のグループ分けを行なわないと仮定した場合におけるデータの流れを示す図である。
【００２５】
図１を参照して、ファイル配信システム３０１では、１つのデータを複数のクライアントに分配する場合には、マルチキャスト送信を利用して分配を行なう。
【００２６】
このマルチキャスト送信では、サーバ２０１は、複数のクライアント２１１に受信指示を行い、複数のクライアント２１１に対して１つのパケットデータ７１をネットワーク１０に送信する。クライアント２１１は、ネットワーク１０におけるルータによって自動的に複製されたパケットデータ７２を受信する。
【００２７】
このマルチキャスト送信では、サーバ２０１上のコンテンツファイル３を、クライアント２１１においてデータを欠落することなく完全に復元し、コンテンツファイル３０を取得するために、以下のようなＱｏＳ技術を用いる。
【００２８】
まず、サーバ２０１は、すべてのクライアント２１１が安定してパケットデータ７２を受信できるデータ量に送信帯域を調整する。
【００２９】
次に、サーバ２０１は、送信すべきデータに誤り訂正処理のための冗長データを付加してデータ送信を行なう。そして、クライアント２１１は、一部のデータが受信できなくても冗長データを含む受信済みデータにより未受信データを復元する。また、サーバ２０１は、冗長データの量を調整することにより、クライアント２１１における未受信データの復元率を向上させる。
【００３０】
上記のような動作を行った後に存在するクライアント２１１の未受信データについては、クライアント２１１は、サーバ２０１に当該未受信データの再送信を要求する。そして、サーバ２０１は、要求されたデータを再送信する。
【００３１】
しかしながら、このようなＱｏＳ技術では、以下のような課題がある。すなわち、クライアント２１１でデータ欠落などの異常状態が発生した場合に、ファイルの完全性を保証する代わりに、送信帯域の調整、冗長データ量の調整、およびデータの再送処理を行なう。その結果、サーバおよびクライアント間の送信帯域の低下および通信データ量の増加により、ファイル分配完了時間の遅延が発生してしまう。
【００３２】
また、配信先クライアント数が増加すると、異常クライアントの発生確率が高くなる。また、コンテンツファイルが大容量化すると、ファイル分配の遅延時間が増加し、また、異常検出の遅延によりリカバリが困難になる。
【００３３】
このため、ファイル分配をサービスとして提供するには、常に計画通りに安定したファイル分配が行われること、予期せぬ異常状態のクライアントが発生してもファイル分配全体への影響を最小限に留めること、ならびにクライアント数の増加およびファイル大容量化に対して少ない運用工数で対応できること、を満たすシステムが必要となる。
【００３４】
そこで、本発明の第１の実施の形態では、以下のような構成により、上記要求を満足するファイル配信システムを提供する。
【００３５】
図２は、本発明の第１の実施の形態に係るファイル配信システムの構成、およびファイル配信システムにおけるデータの流れを示す図である。
【００３６】
図２を参照して、ファイル配信システム３０１は、サーバ（ファイル配信装置）２０１と、複数のクライアント（ファイル受信装置）２１１とを備える。サーバ２０１は、たとえばコンピュータプログラムによって実現されるファイル配信部２を含む。クライアント２１１は、たとえばコンピュータプログラムによって実現されるファイル受信部１２を含む。
【００３７】
ファイル配信部２は、サーバ２０１からクライアント２１１へのコンテンツファイル３の分配を行なう。より詳細には、ファイル配信部２は、データ送信開始前に、各クライアント２１１への最適な送信手段ならびにファイル分配開始タイミングおよび分配終了タイミングを計画し、この計画内容を示す配信スケジュールファイル５を作成する。そして、ファイル配信部２は、配信スケジュールファイル５に従いファイル分配を実行する。これにより、計画通りのファイル分配を可能にする。
【００３８】
ファイル受信部１２は、サーバ２０１からの送信データを受信しながら（フローＦ２１）、コンテンツファイル３０を復元する（フローＦ１３）。
【００３９】
また、ファイル受信部１２は、ファイル配信部２が最適な配信スケジュールファイル５を作成できるようにするために、上記受信動作および復元動作と並行して、クライアント２１１の受信性能および受信品質を示す品質情報３１を収集する（フローＦ１４）。ファイル受信部１２は、コンテンツファイル３０の受信を完了するたびに、ファイル配信部２に自己のクライアント２１１の最新の品質情報３１を通知する（フローＦ１５およびフローＦ２２）。
【００４０】
ファイル配信部２は、ファイル受信部１２から品質情報３１を受けて、各クライアント２１１におけるファイル受信部１２が収集した品質情報３１を品質情報４として一括管理する（フローＦ７）。そして、ファイル配信部２は、品質情報４を分析することにより、各クライアント単位で最適な送信手段を決定するとともに類似性能および類似品質のクライアントをグループ化し、マルチキャスト送信の手段および送信先を決定する。
【００４１】
また、ファイル配信部２は、異常発生を考慮したファイル分配時間をグループ単位で計算し、すべてのクライアント２１１にファイルを分配するための開始タイミングおよび終了タイミングのスケジュールを計画し、この計画内容を示す配信スケジュールファイル５を作成する（フローＦ８）。
【００４２】
そして、ファイル配信部２は、配信スケジュールファイル５の内容に従いデータを送信する（フローＦ９およびＦ２１）。
【００４３】
また、ファイル配信部２は、いずれかのファイル受信部１２で異常が発生し、異常が発生したファイル受信部１２からデータの再送要求（フローＦ２３）を受けると、該当クライアントの品質情報４を参照し（フローＦ６）、再送要求量が許容範囲内であるか許容範囲外であるかを確認する。
【００４４】
ファイル配信部２は、再送要求量が許容範囲内である場合には、ＱｏＳ機能を実行し、ファイルの完全性を保証するために再送要求に応じたデータの再送信を行なう（フローＦ２４）。一方、ファイル配信部２は、再送要求量が許容範囲外である場合には、通常状態とは異なる異常状態と判断し、再送要求を行ったクライアント２１１をマルチキャスト配信先から除外し、縮退運転を行なう。ファイル配信部２は、マルチキャスト配信先から除外されたクライアント２１１に対して、１対１のユニキャストの送信手段を提供し、データ保管を行なう。
【００４５】
このように、ファイル分配を行なうサーバ２０１は、複数のクライアント２１１の受信性能および受信品質を収集して管理することで、各クライアント２１１の受信性能および受信品質に合わせた最適な送信手段を決定し、常に安定したファイル分配を可能とする。
【００４６】
本発明の第１の実施の形態に係るサーバおよびクライアントは、典型的には、汎用的なアーキテクチャを有するコンピュータを基本構造としており、予めインストールされたプログラムを実行することで、後述するような各種機能を提供する。一般的に、このようなプログラムは、フレキシブルディスク（Flexible Disk）およびＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの記録媒体に格納されて、あるいはネットワークなどを介して流通する。
【００４７】
本発明の第１の実施の形態に係るプログラムは、ＯＳ等の他のプログラムの一部に組み込まれて提供されるものであってもよい。この場合でも、本発明の第１の実施の形態に係るプログラム自体は、上記のような組み込み先の他のプログラムが有するモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本発明の第１の実施の形態に係るプログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
【００４８】
なお、代替的に、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【００４９】
図３は、本発明の第１の実施の形態に係るサーバの概略構成図である。なお、クライアント２１１の概略構成はサーバ２０１とたとえば同様であるため、ここでは、サーバ２０１の構成について代表的に説明する。
【００５０】
図３を参照して、サーバ２０１は、演算処理部であるＣＰＵ（Central Processing Unit）１０１と、メインメモリ１０２と、ハードディスク１０３と、入力インターフェイス１０４と、表示コントローラ１０５と、データリーダ／ライタ１０６と、通信インターフェイス１０７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００５１】
ＣＰＵ１０１は、ハードディスク１０３に格納されたプログラム（コード）をメインメモリ１０２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１０２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性の記憶装置であり、ハードディスク１０３から読み出されたプログラムに加えて、各種の演算処理結果を示すデータなどを保持する。また、ハードディスク１０３は不揮発性の磁気記憶装置であり、ＣＰＵ１０１で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク１０３にインストールされるプログラムは、後述するように、記録媒体１１１に格納された状態で流通する。なお、ハードディスク１０３に加えて、あるいはハードディスク１０３に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
【００５２】
入力インターフェイス１０４は、ＣＰＵ１０１とキーボード１０８、マウス１０９および図示しないタッチパネルなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェイス１０４は、ユーザが入力部を操作することで与えられる操作指令などの外部からの入力を受付ける。
【００５３】
表示コントローラ１０５は、表示部の典型例であるディスプレイ１１０と接続され、ディスプレイ１１０での表示を制御する。すなわち、表示コントローラ１０５は、ＣＰＵ１０１による画像処理の結果などをユーザに対して表示する。ディスプレイ１１０は、たとえばＬＣＤ（Liquid Crystal Display）またはＣＲＴ（Cathode Ray Tube）である。
【００５４】
データリーダ／ライタ１０６は、ＣＰＵ１０１と記録媒体１１１の間のデータ伝送を仲介する。すなわち、記録媒体１１１は、サーバ２０１で実行されるプログラムなどが格納された状態で流通し、データリーダ／ライタ１０６は、この記録媒体１１１からプログラムを読み出す。また、データリーダ／ライタ１０６は、ＣＰＵ１０１の内部指令に応答して、サーバ２０１における処理結果などを記録媒体１１１へ書き込む。なお、記録媒体１１１は、たとえば、ＣＦ（Compact Flash）およびＳＤ（Secure Digital）などの汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）などの磁気記憶媒体、またはＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体である。
【００５５】
通信インターフェイス１０７は、ＣＰＵ１０１と他のパーソナルコンピュータおよびサーバ装置などの間のデータ伝送を仲介する。通信インターフェイス１０７は、典型的には、イーサネット（登録商標）またはＵＳＢ（Universal Serial Bus）の通信機能を有する。なお、記録媒体１１１に格納されたプログラムをサーバ２０１にインストールする形態に代えて、通信インターフェイス１０７を介して配信サーバなどからダウンロードしたプログラムをサーバ２０１にインストールしてもよい。
【００５６】
また、サーバ２０１には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
【００５７】
［制御構造］
次に、サーバ２０１におけるコンテンツ配信機能、およびクライアント２１１におけるコンテンツ受信機能を提供するための制御構造について説明する。
【００５８】
図４は、本発明の実施の形態に係るサーバおよびクライアントが提供する制御構造を示すブロック図である。図４は、映像などのコンテンツファイルを複数拠点に分配するシステムを示している。図４に示すファイル配信部２およびファイル受信部１２における各ブロックは、ハードディスク１０３に格納されたプログラム（コード）などをメインメモリ１０２に展開して、ＣＰＵ１０１に実行させることで提供される。なお、図４に示す制御構造の一部もしくは全部を専用ハードウェアおよび／または配線回路によって実現してもよい。
【００５９】
サーバ２０１において、ファイル配信部２は、送信スケジュール計画部（送信制御部）３２と、データ送信部３３と、品質データ管理部３４とを含む。クライアント２１１において、ファイル受信部１２は、データ受信部４２と、品質データ収集部４３と、品質データ通知部４４とを含む。
【００６０】
ここで、図４に示す各情報および各ファイルは、図３に示すメインメモリ１０２またはハードディスク１０３に保存される。
【００６１】
コンテンツファイル３の送信元となるサーバ２０１、およびコンテンツファイル３の送信先となる複数のクライアント２１１は、ネットワーク１０を介して接続されている。
【００６２】
サーバ２０１において、ファイル配信部２は、コンテンツファイル３を複数のパケットに分割してネットワーク１０に送信する。複数のクライアント２１１において、データ受信部４２は、ネットワーク１０からパケットを受信し、コンテンツファイル３０を復元する。
【００６３】
ファイル配信部２において、送信スケジュール計画部３２は、コンテンツファイル３の入稿および分配内容を監視する（フローＦ３１）。送信スケジュール計画部３２は、指定された期間内に指定されたクライアントへのファイル分配を完了するために、各クライアント２１１の品質情報４を参照および分析することにより（フローＦ３６）、最適な送信手段、ならびにファイル分配開始時間および分配終了時間を指示するための配信スケジュールファイル５を作成する（フローＦ３２）。
【００６４】
データ送信部３３は、配信スケジュールファイル５を監視し（フローＦ３３）、配信開始時間になったスケジュールを検出すると、配信スケジュールファイル５の内容に従い、複数のクライアント２１１へのコンテンツファイル３のデータ送信を行なう（フローＦ４１）。
【００６５】
品質データ管理部３４は、複数のクライアント２１１から通知される品質情報３１に基づいて、品質情報４を更新して管理する（フローＦ３５）。
【００６６】
ファイル受信部１２において、データ受信部４２は、データ送信部３３からの送信データを受信し、コンテンツファイル３０を復元する（フローＦ４３）。
【００６７】
品質データ収集部４３は、データ受信部４２のデータ受信状況を監視する。より詳細には、品質データ収集部４３は、データ受信性能、データロスト状況、ＣＰＵ使用率、およびディスク資源の使用率等を監視し、これらを品質情報３１として格納する（フローＦ４４）。
【００６８】
品質データ通知部４４は、データ受信部４２からのコンテンツファイル３の受信を完了すると、品質情報３１をファイル配信部２に通知する（フローＦ４５およびＦ４２）。
【００６９】
［動作］
次に、本発明の第１の実施の形態に係るファイル配信システムの動作について図面を用いて説明する。本発明の第１の実施の形態では、ファイル配信システム３０１を動作させることによって、本発明の第１の実施の形態に係るファイル配信方法が実施される。よって、本発明の第１の実施の形態に係るファイル配信方法の説明は、以下のファイル配信システム３０１の動作説明に代える。なお、以下の説明においては、適宜図４を参照する。
【００７０】
図５は、本発明の実施の形態に係るファイル配信システムがファイル配信処理を行なう際の動作手順を示すフローチャートである。
【００７１】
図５を参照して、まず、クライアント２１１は、受信性能および受信品質を収集する（ステップＳ４０１）。すなわち、ファイル配信システム３０１では、クライアント２１１が、受信性能および受信品質を収集することにより、適切な送信手段の決定、および適切な許容範囲に基づく品質管理が可能となる。
【００７２】
再び図４を参照して、各クライアント２１１におけるファイル受信部１２では、データ受信部４２が、マルチキャスト送信されるパケットを受信しながらコンテンツファイル３０を復元する（フローＦ４３）。この動作と並行して、品質データ収集部４３は、クライアント２１１の受信性能および受信品質を示す品質情報３１を収集する（フローＦ４４）。
【００７３】
ここで、品質情報３１は、たとえば以下の５種類の品質情報Ａ〜Ｅの少なくともいずれか１つを含む。
【００７４】
品質情報Ａ：データ受信性能である。すなわち、クライアント２１１が安定してデータ受信可能な最大帯域である。パケットロスト率が閾値、たとえば全パケットの１％未満を超えないような受信帯域が設定される。通常は、回線速度に合わせた受信帯域がデータ受信性能になり、データ受信性能は、たとえばＦＴＴＨ（Fiber To The Home）であれば２ＭＢｐｓ（メガビット／秒）、ＡＤＳＬ（Asymmetric Digital Subscriber Line）であれば５００ＫＢｐｓ（キロビット／秒）に設定される。
【００７５】
品質情報Ｂ：パケット受信率である。コンテンツファイル３を、ネットワーク１０経由で送信するために、コンテンツファイル３は複数のパケットに分割される。コンテンツファイル３の総パケット数とデータ受信部４２が受信したパケット数とにより、クライアント２１１の受信品質を把握することができる。
【００７６】
品質情報Ｃ：ＦＥＣ（Forward Error Correction）の符号化率（冗長率）とパケット復元率である。ＦＥＣ等の誤り訂正方式を採用することにより、クライアント２１１において一部のパケットをロストしても、受信済みのパケットからロストしたパケットを復元することができる。ロストしたパケットおよび復元できたパケットによってパケット復元率を取得する。パケット復元率は、ＦＥＣ機能の有効性、および適切な符号化率を判断するための品質情報になる。
【００７７】
品質情報Ｄ：データ受信時のＣＰＵ使用率である。この情報により、クライアント２１１で別のアプリケーションが動作している場合等における受信品質および受信性能の劣化状況を把握することができる。
【００７８】
品質情報Ｅ：ディスク資源すなわち記憶部の使用率である。この情報により、クライアント２１１で別のアプリケーションが動作している場合等における受信品質および受信性能の劣化状況を把握することができる。
【００７９】
クライアント２１１のファイル受信部１２における品質データ通知部４４は、ファイル受信完了ごとに、品質データ収集部４３によって収集された品質情報３１をネットワーク１０経由でサーバ２０１における品質データ管理部３４に通知する（フローＦ４２およびＦ４５）。
【００８０】
再び図５を参照して、次に、サーバ２０１は、クライアント２１１が収集した受信性能および受信品質を取得して管理する（ステップＳ４０２）。
【００８１】
再び図４を参照して、品質データ管理部３４は、ネットワーク１０から複数のクライアント２１１の品質情報を受信する（フローＦ４２）。品質データ管理部３４は、最適な配信スケジュールファイル５を作成するために、複数のクライアント２１１の品質情報４を常に最新情報に更新しながら一元管理する（フローＦ３５）。
【００８２】
再び図５を参照して、次に、サーバ２０１は、類似性能および類似品質に基づいてクライアント２１１をグループ化し、当該グループ単位で送信手段を決定する（ステップＳ４０３）。
【００８３】
ここで、コンテンツファイルの分配は、サーバ２０１へのコンテンツの入稿（フローＦ４０６）により開始する。
【００８４】
図６は、本発明の第１の実施の形態に係るサーバにおいて作成される配信スケジュールファイルの内容の一例を示す図である。
【００８５】
図６を参照して、送信スケジュール計画部３２は、コンテンツファイル３の入稿を監視する（フローＦ５４）。送信スケジュール計画部３２は、コンテンツ入稿を確認すると、コンテンツ情報５５からファイル分配に必要な以下のコンテンツ情報Ａ〜Ｃを取得する（フローＦ５６）。
【００８６】
コンテンツ情報Ａ：配布期間である。この配布期間は、コンテンツファイル３の分配開始が可能な日時と分配を完了すべき日時を指示する。
【００８７】
コンテンツ情報Ｂ：配布先リストである。この配布先リストは、任意のコンテンツファイルの配布先クライアント一覧を指示する。
【００８８】
コンテンツ情報Ｃ：ファイルサイズである。このファイルサイズは、コンテンツファイルの分配に要する時間を計算するための情報である。
【００８９】
送信スケジュール計画部３２は、管理するすべてのクライアント２１１の品質情報４から、コンテンツ情報５５のコンテンツ情報Ｂすなわち配布先リストによって指示されたクライアント２１１の品質情報のみを抽出する（フローＦ５１）。
【００９０】
送信スケジュール計画部３２は、抽出したクライアント２１１の品質情報４に基づいて、各クライアント２１１の最適な送信手段を決定するとともに、同じ送信手段が決定されたクライアント２１１をまとめてグループ化を行い、グループ情報５２を作成する。グループ情報５２の示すグループがマルチキャストの送信先単位となる。
【００９１】
最適な送信手段の決定方法としては、たとえば、以下のような方法が考えられる。すなわち、送信スケジュール計画部３２は、品質情報Ａに基づいて、各クライアント２１１が安定してデータを受信可能な最大帯域に基づいて、同じ値の帯域を持つクライアント２１１をまとめてグループ化を行い、グループの送信帯域を決定する。たとえば、各クライアント２１１は、２ＭＢｐｓで送信するグループ、および５００ＫＢｐｓで送信するグループにグループ化される。
【００９２】
あるいは、送信スケジュール計画部３２は、品質情報Ｃに基づいて、ＦＥＣ機能の有効性が確認されたクライアント２１１をグループ化し、グループごとに最適な符号化率を決定する。
【００９３】
このように、各クライアント２１１に対して最適な送信手段を決定することにより、マルチキャスト送信時に、クライアント２１１において異常状態が発生する確率を低減することができる。
【００９４】
再び図５を参照して、次に、サーバ２０１は、配信スケジュールファイルを生成する（ステップＳ４０４）。
【００９５】
再び図６を参照して、サーバ２０１は、コンテンツ情報５５に基づいて、コンテンツ情報Ａの示す配布期間５８の期間内で、各グループのファイル分配開始時間および終了時間を計画し、当該計画内容を示す配信スケジュールファイル５を生成する。
【００９６】
より詳細には、送信スケジュール計画部３２は、各クライアント２１１の品質情報４に基づいて、各グループ単位でファイル分配に要する時間を示す所要時間情報５３を計算する。
【００９７】
所要時間情報５３は、たとえば以下のような内容となる。すなわち、データ送信時間５４は、コンテンツ情報Ｃの示すファイルサイズ、および決定された送信帯域に基づいて計算される。冗長時間５７は、ＦＥＣの有効性が確認されたグループのみ設定される。決定された符号化率により、付加される冗長データの送信時間が計算される。
【００９８】
また、各クライアント２１１の品質情報４から得られる、各クライアント２１１が通常品質において許容範囲内で発生するパケットロスト率、および再送要求の発生時間に基づいて、グループ内全体で発生し得る再送処理に要する時間が再送時間５５として計算される。
【００９９】
また、配布期間内に各グループの開始時間および終了時間を設定する場合に、次のグループの配信スケジュールに影響しないために許容される遅延時間が遅延許容時間５６として計算される。すなわち、送信スケジュール計画部３２は、各グループの送信期間の最後に遅延許容時間を設け、予期せぬ異常状態が発生してもファイル分配を計画通りに実行できるようなスケジュールを作成する。
【０１００】
送信スケジュール計画部３２は、通常状態で発生する許容範囲内のＱｏＳ処理の時間も考慮したファイル分配に要する時間をグループ単位で計算する。そして、送信スケジュール計画部３２は、この時間を用いて、コンテンツ情報５５のコンテンツ情報Ａが示す配布期間５８の期間中に、たとえばグループ１およびｎのファイル分配開始時間５９および６０をそれぞれ設定する。
【０１０１】
再び図５を参照して、次に、サーバ２０１は、作成した配信スケジュールファイル５に従い、ファイル分配を行なう（ステップＳ４０５）。
【０１０２】
図７は、本発明の第１の実施の形態に係るファイル配信システムにけるサーバおよびクライアント間のデータの流れを詳細に示す図である。
【０１０３】
図７を参照して、フローＦ６１〜Ｆ６６は、マルチキャスト送信開始までの処理を示す。
【０１０４】
データ送信部３３は、配信スケジュールファイル５を参照し、各グループの配信開始時間を監視する（フローＦ６１）。
【０１０５】
データ送信部３３は、あるグループの配信開始時間を検出すると（フローＦ６２）、当該グループに含まれる複数のクライアント２１１にマルチキャスト送信開始を通知する（フローＦ６３）。
【０１０６】
各クライアント２１１は、データ受信開始時点のＣＰＵ使用率およびディスク資源の使用率を確認し、別アプリケーションが動作中か否かをデータ送信部３３に通知する（フローＦ６４）。
【０１０７】
データ送信部３３は、別アプリケーションが動作中の特定のクライアント２１１を、性能劣化した場合の類似性能および類似品質のグループに含めて再スケジュールを行なう（フローＦ６５およびＦ６６）。これにより、許容範囲外の異常状態が発生するクライアント２１１の発生確率を常に抑止する。
【０１０８】
たとえば、クライアント００３のＣＰＵ使用率が高い場合には、クライアント００３は再スケジュールされる（フローＦ６５およびＦ６６）。再スケジュールでは、データ送信部３３は、ＣＰＵ使用率が高い場合でも安定したデータ受信が可能となるような送信手段が設定されたグループを検索し、検索したグループの再送時間５５を更新しても遅延許容時間５６の範囲に収まるスケジュールのグループにクライアント００３を配置する。
【０１０９】
再スケジュール（フローＦ６５およびＦ６６）により、クライアント００３は、マルチキャスト送信されるデータを受信しなくなる。
【０１１０】
フローＦ６７〜Ｆ７６は、マルチキャスト送信処理を示す。
データ送信部３３は、再スケジュール後の配信先であるクライアント２１１すなわちクライアント００１，００２に対して、マルチキャスト送信を開始する（フローＦ６７）。
【０１１１】
このマルチキャスト送信では、グループ単位で最適な送信手段を決定し、各クライアント２１１において安定したデータ受信が可能な帯域を設定しているため、許容範囲外の異常状態が発生するクライアント２１１の出現確率は低くなる。
【０１１２】
マルチキャスト送信開始後、たとえば、特定のクライアント００１から再送要求が発生した場合には（フローＦ６８）、データ送信部３３は、クライアント００１の品質情報３１を参照し、クライアント００１の再送要求量が許容範囲内か許容範囲外かを確認する。
【０１１３】
再送要求量が許容範囲内の場合には、データ送信部３３は、ＱｏＳ機能によりファイルの完全性を保証するために、再送要求されたパケットをマルチキャストで再送信（フローＦ７１）する。
【０１１４】
再送要求量が許容範囲外の場合には、データ送信部３３は、クライアント００１を通常状態とは異なる異常状態のクライアントと判断し、クライアント００１をマルチキャスト配信先から除外する通知を行なう（フローＦ７５）。除外通知を受けたクライアント００１は、除外通知後の再送要求を行なわない。
【０１１５】
このように、許容範囲内の再送要求を行ったクライアントのＱｏＳ機能を実行することにより、大多数の正常状態のクライアント２１１へのファイル分配を計画時間通りに完了させることができる。また、異常状態と判断されて、マルチキャスト配信先から除外されたクライアント００１について、データ送信部３３は、ユニキャスト配信すなわちサーバ２０１から１つのクライアント２１１へファイル配信する機能を実行するべく再スケジュールする（フローＦ７６）。
【０１１６】
フローＦ７７〜Ｆ７８は、ファイル分配完了後の処理を示す。
すべてのデータを受信したクライアント００２、および異常状態により切り離されたクライアント００１は、最新の受信性能および受信品質を示す品質情報３１を品質データ管理部３４に通知する（フローＦ７７）。
【０１１７】
品質データ管理部３４は、各クライアント２１１の受信性能および受信品質を示す品質情報３１を常に最新の情報に更新し（フローＦ７８）、次のコンテンツファイル配信時の受信性能および受信品質の情報として利用する。
【０１１８】
ところで、特許文献１に記載のファイル配信システムは、各クライアント計算機の固定的なスペック値に応じてマルチキャスト先のグループ分けを行なう構成であるため、サーバおよびクライアント間の回線状態、ならびにクライアントの動作状態に応じてファイルを効率的に配信することができないという問題点があった。
【０１１９】
これに対して、本発明の第１の実施の形態に係るファイル配信システムでは、ファイル分配を行なうサーバ２０１が、複数のクライアント２１１の受信性能および受信品質を収集して管理し、マルチキャスト先のグループごとに最適な送信手段を決定する。より詳細には、サーバ２０１において、品質データ管理部３４が、複数のクライアント２１１におけるファイルの受信品質の指標を含む品質情報３１を取得する。送信スケジュール計画部３２が、品質データ管理部３４によって取得された品質情報３１に基づいて、複数のクライアント２１１を複数のグループに分け、グループごとにファイルの配信を制御する。そして、データ送信部３３が、送信スケジュール計画部３２の制御内容すなわち配信スケジュールファイル５に基づいて、グループごとにファイルをマルチキャストする。
【０１２０】
このような構成により、サーバ２０１およびクライアント２１１間の回線状態、ならびにクライアント２１１の動作状態に応じてマルチキャスト先のグループ分けを適切に行い、ファイルを効率的に配信することができる。
【０１２１】
すなわち、本発明の第１の実施の形態に係るファイル配信システムでは、各クライアントの受信品質に合わせた最適な送信手段を決定し、常に安定したファイル分配を可能とする。各クライアントの通常状態の受信品質を把握することにより、許容範囲内の異常状態に対してはＱｏＳ機能を実行することでファイルの完全性を保証するとともに、通常とは異なる許容範囲外の異常状態を早期に検出することにより、システム全体への影響を最小限に留める。また、各クライアントの受信品質を管理することにより、クライアント数の増加およびファイルの大容量化に合わせたファイル分配スケジュールを自動的に計画し、また、当該計画通りにファイル分配を実行することが可能となる。
【０１２２】
また、クライアント２１１における異常状態の発生を抑止することにより、異常状態発生時のＱｏＳ機能のリカバリ処理に起因するファイル配信の遅延時間を削減できるため、計画通りのファイル分配の運用が可能となる。
【０１２３】
このように、本発明の第１の実施の形態に係るサーバ２０１における各構成要素のうち、品質データ管理部３４、送信スケジュール計画部３２およびデータ送信部３３からなる最小構成により、マルチキャスト先のグループ分けを適切に行なうことにより、ファイルを効率的に配信するという本発明の目的を達成することが可能となる。
【０１２４】
ここで、特許文献２に記載の技術では、異常発生時のリカバリ処理を別のサーバに引渡し、異常時の情報を元に最適なＱｏＳ機能を適宜選択する。すなわち、特許文献２には、既存技術であるＱｏＳ機能を利用した、異常が発生した場合の処理の最適化に関する内容が開示されている。
【０１２５】
これに対して、本発明の第１の実施の形態に係るファイル配信システムは、異常を発生させないことによってＱｏＳ機能によるファイル配信時間の遅延の問題を解決するので、特許文献２に記載の構成とはまったく異なる構成である。
【０１２６】
また、特許文献３には、複数のクライアントを回線速度でグループ化し、グループ単位で配信帯域を設定する内容が開示されている。
【０１２７】
これに対して、本発明の第１の実施の形態に係るファイル配信システムでは、回線速度に限らず、パケット受信状況などの受信品質も含めて適宜収集し、グループ化の判断基準としている。また、収集した品質情報は異常発生時の処理の判断にも活用しているので、特許文献３に記載の構成とはまったく異なる構成である。
【０１２８】
また、本発明の第１の実施の形態に係るファイル配信システムでは、データ送信部３３は、ファイルを複数のパケットに分割して送信する。そして、品質データ管理部３４は、複数のクライアント２１１におけるパケットの受信率を含む品質情報を取得する。
【０１２９】
このような構成により、サーバおよびクライアント間の回線状態、ならびにクライアントの動作状態を適切に示す指標を取得することができる。
【０１３０】
また、本発明の第１の実施の形態に係るファイル配信システムでは、データ送信部３３は、ファイルを複数のパケットに分割し、各パケットに対して誤り訂正処理のための符号化を行なって送信する。品質データ管理部３４は、複数のクライアント２１１において受信に失敗したパケットの復元率を含む品質情報を取得する。
【０１３１】
このような構成により、サーバおよびクライアント間の回線状態、ならびにクライアントの動作状態を適切に示す指標を取得することができる。
【０１３２】
また、本発明の第１の実施の形態に係るファイル配信システムでは、送信スケジュール計画部３２は、品質データ管理部３４によって取得された複数のクライアント２１１における復元率に基づいて、複数のクライアント２１１を複数のグループに分け、グループごとにパケットに対する誤り訂正処理のための符号化率を決定する。
【０１３３】
このような構成により、パケットに対するＦＥＣの符号化率がグループごとに最適化され、クライアント２１１からの再送要求が抑止され、サーバ２０１から同じパケットが繰り返し送信されることを防ぐことができるため、ネットワーク帯域を有効に活用することができる。
【０１３４】
また、本発明の第１の実施の形態に係るファイル配信システムでは、品質データ管理部３４は、複数のクライアント２１１の負荷率を含む品質情報を取得する。
【０１３５】
このような構成により、クライアントの動作状態を適切に示す指標を取得することができる。
【０１３６】
また、本発明の第１の実施の形態に係るファイル配信システムでは、品質データ管理部３４は、複数のクライアント２１１における記憶部であるディスク資源の使用率を含む品質情報を取得する。
【０１３７】
このような構成により、クライアントの動作状態を適切に示す指標を取得することができる。
【０１３８】
また、本発明の第１の実施の形態に係るファイル配信システムでは、データ送信部３３は、品質データ管理部３４によって取得された品質情報に基づいて、クライアント２１１へファイルをマルチキャストすべきか否かを判断し、マルチキャストすべきでないと判断したクライアント２１１へファイルをユニキャストする。たとえば、データ送信部３３は、品質データ管理部３４によって取得された品質情報の示すパケット受信率およびＣＰＵ受信率等から異常状態であると判断したクライアント２１１へはファイルをマルチキャストすべきでないと判断する。
【０１３９】
このような構成により、サーバ２０１およびクライアント２１１間の回線状態、ならびにクライアント２１１の動作状態に応じて、マルチキャスト配信およびユニキャスト配信の切り替えを適切に行なうことができるため、より効率的なファイル配信を実現することができる。
【０１４０】
また、本発明の第１の実施の形態に係るファイル配信システムでは、データ送信部３３は、ファイルを複数のパケットに分割して送信する。品質データ管理部３４は、再送すべきパケットを示すクライアント２１１からの再送要求情報を取得する。そして、データ送信部３３は、再送要求情報の示すパケットの総データ長が所定値以上である場合には、クライアント２１１へ再送要求情報の示すパケットをマルチキャストすべきでないと判断し、マルチキャストすべきでないと判断したクライアント２１１へ再送要求情報の示すパケットをユニキャストする。
【０１４１】
このような構成により、多量のデータが繰り返しマルチキャストされることを防ぐことができるため、ネットワーク帯域を有効に活用することができる。
【０１４２】
また、本発明の第１の実施の形態に係るファイル配信システムでは、品質データ管理部３４は、複数のクライアント２１１におけるファイルの受信品質の指標、および複数のクライアント２１１の受信性能の指標を含む品質情報を取得する。そして、送信スケジュール計画部３２は、品質データ管理部３４によって取得された品質情報の示す受信品質および受信性能に基づいて、複数のクライアント２１１を複数のグループに分け、グループごとにファイルの配信を制御する。
【０１４３】
このような構成により、サーバおよびクライアント間の回線状態、クライアントの動作状態、ならびに各クライアントの固定的なスペック値に応じてマルチキャスト先のグループ分けを行なうことができるため、より効率的なファイル配信を実現することができる。
【０１４４】
なお、本発明の第１の実施の形態に係るファイル配信システムでは、送信スケジュール計画部３２は、各クライアント２１１の受信性能および各クライアント２１１における受信品質に基づいて、複数のクライアント２１１を複数のグループに分け、グループごとにファイルの配信を制御する構成であるとしたが、これに限定するものではない。送信スケジュール計画部３２が、各クライアント２１１の受信性能を用いず、各クライアント２１１における受信品質に基づいて、複数のクライアント２１１を複数のグループに分け、グループごとにファイルの配信を制御する構成であってもよい。
【０１４５】
また、送信スケジュール計画部３２が、品質情報Ａ〜Ｅのうちの２つ以上に基づいて、マルチキャスト先のグループをさらに細分化する構成であってもよい。
【０１４６】
また、本発明の第１の実施の形態に係るファイル配信システムでは、データ送信部３３は、ファイルを複数のパケットに分割して送信する構成であるとしたが、これに限定するものではない。データ送信部３３は、ファイル全体を一度に各クライアント２１１へ送信する構成であってもよい。
【０１４７】
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【０１４８】
＜第２の実施の形態＞
本実施の形態は、第１の実施の形態に係るファイル配信システムと比べて異常時の処理を変更したファイル配信システムに関する。以下で説明する内容以外は第１の実施の形態に係るファイル配信システムと同様である。
【０１４９】
本発明の第２の実施の形態に係るファイル配信システムでは、クライアント２１１は、自己の負荷率およびディスク資源の使用率の少なくとも一方とパケットの受信ロス率とに基づいて異常状態を検出する。クライアント２１１は、異常を検出した場合には、最後に受信すべきパケット以外のパケットの受信に失敗しても再送要求を行なわず、サーバ２０１からマルチキャストされるパケットの受信を継続する。そして、クライアント２１１は、最後に受信すべきパケットを受信した後、サーバ２０１へ受信に失敗したパケットおよび異常状態であることを示す再送要求情報を送信する。
【０１５０】
サーバ２０１は、クライアント２１１から再送要求情報を受信して、クライアント２１１へ再送要求情報の示すパケットをユニキャストする。
【０１５１】
具体的には、図７を参照して、クライアント２１１では、マルチキャスト送信（フローＦ６７）の処理開始後、別のアプリケーションが起動すると、パケットロストが多発し異常状態となる可能性がある。
【０１５２】
この場合、クライアント２１１は以下のように動作する。すなわち、まず、クライアント２１１は、品質情報３１を収集するとともに、ＣＰＵ使用率およびディスク資源の使用率の少なくとも一方とパケットロスト率との関係を把握することにより、別アプリケーション起動による異常状態であるか否かを判断する。
【０１５３】
次に、異常状態であると判断したクライアント２１１は、パケットロストを検出してもサーバに対してロストパケットの再送要求（フローＦ６８）は行なわない。また、クライアント２１１は、マルチキャスト送信されるデータ（フローＦ７１）を可能な範囲で受信し、コンテンツファイルを未完全な状態で作成する。
【０１５４】
次に、クライアント２１１は、受信に失敗したパケットおよび異常状態であることを示す再送要求情報、および品質情報３１を、品質データ管理部３４に通知する（フローＦ７７）。
【０１５５】
次に、品質データ管理部３４は、再送要求情報を受信して、クライアント２１１がファイル受信を完了していないことを認識し、ファイル分配を再スケジュールし、配信スケジュールファイル５を更新する。
【０１５６】
ここで、クライアント２１１は、マルチキャスト送信されるパケットを可能な限り受信している。このため、クライアント２１１は、受信済みパケットを利用し、不足するパケットのみをサーバ２０１からのユニキャスト配信によって受信することにより、ネットワーク上の通信データ量の削減、およびリカバリ時間の短縮を実現することができる。
【０１５７】
その他の構成および動作は第１の実施の形態に係るファイル配信システムと同様であるため、ここでは詳細な説明を繰り返さない。
【０１５８】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０１５９】
本発明によれば、たとえば、映画コンテンツなどの大容量ファイルを全国の映画館およびＶＯＤサービス会社に公開前までに確実に届けることができる。また、電子化された新聞を入稿後に各家庭へ早朝までに分配することができる。また、ダウンロードするにはファイル容量が大きく時間を要する電子書籍などを定期購読者に分配することができる。したがって、本発明は、産業上の利用可能性を有している。
【０１６０】
上記実施の形態の一部または全部は以下の付記のようにも記載されうるが、本発明の範囲は、以下の付記に限定されるものではない。
【０１６１】
［付記１］
複数のファイル受信装置にファイルを配信するためのファイル配信装置であって、
前記複数のファイル受信装置における前記ファイルの受信品質の指標を含む品質情報を取得するための品質管理部と、
前記品質管理部によって取得された前記品質情報に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御する送信制御部と、
前記送信制御部の制御に基づいて、前記グループごとに前記ファイルをマルチキャストするための送信部とを備える、ファイル配信装置。
【０１６２】
［付記２］
前記送信部は、前記ファイルを複数のパケットに分割して送信し、
前記品質管理部は、前記複数のファイル受信装置における前記パケットの受信率を含む前記品質情報を取得する、付記１に記載のファイル配信装置。
【０１６３】
［付記３］
前記送信部は、前記ファイルを複数のパケットに分割し、各前記パケットに対して誤り訂正処理のための符号化を行なって送信し、
前記品質管理部は、前記複数のファイル受信装置において受信に失敗した前記パケットの復元率を含む前記品質情報を取得する、付記１または２に記載のファイル配信装置。
【０１６４】
［付記４］
前記送信制御部は、前記品質管理部によって取得された前記複数のファイル受信装置における前記復元率に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記パケットに対する誤り訂正処理のための符号化率を決定する、付記３に記載のファイル配信装置。
【０１６５】
［付記５］
前記品質管理部は、前記複数のファイル受信装置の負荷率を含む前記品質情報を取得する、付記１から４のいずれかに記載のファイル配信装置。
【０１６６】
［付記６］
前記品質管理部は、前記複数のファイル受信装置における記憶部の使用率を含む前記品質情報を取得する、付記１から５のいずれかに記載のファイル配信装置。
【０１６７】
［付記７］
前記送信部は、前記品質管理部によって取得された前記品質情報に基づいて、前記ファイル受信装置へ前記ファイルをマルチキャストすべきか否かを判断し、マルチキャストすべきでないと判断した前記ファイル受信装置へ前記ファイルをユニキャストする、付記１から６のいずれかに記載のファイル配信装置。
【０１６８】
［付記８］
前記送信部は、前記ファイルを複数のパケットに分割して送信し、
前記品質管理部は、再送すべき前記パケットを示す前記ファイル受信装置からの再送要求情報を取得し、
前記送信部は、前記再送要求情報の示す前記パケットの総データ長が所定値以上である場合には、前記ファイル受信装置へ前記再送要求情報の示す前記パケットをマルチキャストすべきでないと判断し、マルチキャストすべきでないと判断した前記ファイル受信装置へ前記再送要求情報の示す前記パケットをユニキャストする、付記１から７のいずれかに記載のファイル配信装置。
【０１６９】
［付記９］
前記品質管理部は、前記複数のファイル受信装置における前記ファイルの受信品質の指標、および前記複数のファイル受信装置の受信性能の指標を含む品質情報を取得し、
前記送信制御部は、前記品質管理部によって取得された前記品質情報の示す前記受信品質および前記受信性能に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御する、付記１から８のいずれかに記載のファイル配信装置。
【０１７０】
［付記１０］
ファイルを配信するためのファイル配信装置と、前記ファイルを受信するための複数のファイル受信装置とを備えるファイル配信システムであって、
前記ファイル配信装置は、前記ファイルを複数のパケットに分割して送信し、
前記ファイル受信装置は、自己の負荷率および記憶部の使用率の少なくとも一方と前記パケットの受信ロス率とに基づいて異常状態を検出し、異常を検出した場合には、最後に受信すべき前記パケット以外のパケットの受信に失敗しても、前記ファイル配信装置からマルチキャストされる前記パケットの受信を継続し、最後に受信すべき前記パケットを受信した後、前記ファイル配信装置へ受信に失敗した前記パケットおよび異常状態であることを示す再送要求情報を送信し、
前記ファイル配信装置は、前記ファイル受信装置から前記再送要求情報を受信して、前記ファイル受信装置へ前記再送要求情報の示す前記パケットをユニキャストする、ファイル配信システム。
【０１７１】
［付記１１］
複数のファイル受信装置にファイルを配信するファイル配信方法であって、
前記複数のファイル受信装置における前記ファイルの受信品質の指標を含む品質情報を取得するステップと、
取得した前記品質情報に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御するステップと、
前記制御に基づいて、前記グループごとに前記ファイルをマルチキャストするステップとを含む、ファイル配信方法。
【０１７２】
［付記１２］
前記ファイルをマルチキャストするステップにおいては、前記ファイルを複数のパケットに分割して送信し、
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置における前記パケットの受信率を含む前記品質情報を取得する、付記１１に記載のファイル配信方法。
【０１７３】
［付記１３］
前記ファイルをマルチキャストするステップにおいては、前記ファイルを複数のパケットに分割し、各前記パケットに対して誤り訂正処理のための符号化を行なって送信し、
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置において受信に失敗した前記パケットの復元率を含む前記品質情報を取得する、付記１１または１２に記載のファイル配信方法。
【０１７４】
［付記１４］
前記ファイルの配信を制御するステップにおいては、取得した前記複数のファイル受信装置における前記復元率に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記パケットに対する誤り訂正処理のための符号化率を決定する、付記１３に記載のファイル配信方法。
【０１７５】
［付記１５］
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置の負荷率を含む前記品質情報を取得する、付記１１から１４のいずれかに記載のファイル配信方法。
【０１７６】
［付記１６］
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置における記憶部の使用率を含む前記品質情報を取得する、付記１１から１５のいずれかに記載のファイル配信方法。
【０１７７】
［付記１７］
前記ファイルをマルチキャストするステップにおいては、取得した前記品質情報に基づいて、前記ファイル受信装置へ前記ファイルをマルチキャストすべきか否かを判断し、マルチキャストすべきでないと判断した前記ファイル受信装置へ前記ファイルをユニキャストする、付記１１から１６のいずれかに記載のファイル配信方法。
【０１７８】
［付記１８］
前記ファイルをマルチキャストするステップにおいては、前記ファイルを複数のパケットに分割して送信し、
前記品質情報を取得するステップにおいては、再送すべき前記パケットを示す前記ファイル受信装置からの再送要求情報を取得し、
前記ファイルをマルチキャストするステップにおいては、前記再送要求情報の示す前記パケットの総データ長が所定値以上である場合には、前記ファイル受信装置へ前記再送要求情報の示す前記パケットをマルチキャストすべきでないと判断し、マルチキャストすべきでないと判断した前記ファイル受信装置へ前記再送要求情報の示す前記パケットをユニキャストする、付記１１から１７のいずれかに記載のファイル配信方法。
【０１７９】
［付記１９］
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置における前記ファイルの受信品質の指標、および前記複数のファイル受信装置の受信性能の指標を含む品質情報を取得し、
前記ファイルの配信を制御するステップにおいては、取得した前記品質情報の示す前記受信品質および前記受信性能に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御する、付記１１から１８のいずれかに記載のファイル配信方法。
【０１８０】
［付記２０］
ファイルを配信するためのファイル配信装置と、前記ファイルを受信するための複数のファイル受信装置とを備えるファイル配信システムにおけるファイル配信方法であって、
前記ファイル配信装置が、前記ファイルを複数のパケットに分割して送信するステップと、
前記ファイル受信装置が、自己の負荷率および記憶部の使用率の少なくとも一方と前記パケットの受信ロス率とに基づいて異常状態を検出し、異常を検出した場合には、最後に受信すべき前記パケット以外のパケットの受信に失敗しても、前記ファイル配信装置からマルチキャストされる前記パケットの受信を継続し、最後に受信すべき前記パケットを受信した後、前記ファイル配信装置へ受信に失敗した前記パケットおよび異常状態であることを示す再送要求情報を送信するステップと、
前記ファイル配信装置が、前記ファイル受信装置から前記再送要求情報を受信して、前記ファイル受信装置へ前記再送要求情報の示す前記パケットをユニキャストするステップとを含む、ファイル配信方法。
【０１８１】
［付記２１］
複数のファイル受信装置にファイルを配信するためのファイル配信装置におけるファイル配信プログラムであって、コンピュータに、
前記複数のファイル受信装置における前記ファイルの受信品質の指標を含む品質情報を取得するステップと、
取得した前記品質情報に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御するステップと、
前記制御に基づいて、前記グループごとに前記ファイルをマルチキャストするステップとを実行させる、ファイル配信プログラム。
【０１８２】
［付記２２］
前記ファイルをマルチキャストするステップにおいては、前記ファイルを複数のパケットに分割して送信し、
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置における前記パケットの受信率を含む前記品質情報を取得する、付記２１に記載のファイル配信プログラム。
【０１８３】
［付記２３］
前記ファイルをマルチキャストするステップにおいては、前記ファイルを複数のパケットに分割し、各前記パケットに対して誤り訂正処理のための符号化を行なって送信し、
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置において受信に失敗した前記パケットの復元率を含む前記品質情報を取得する、付記２１または２２に記載のファイル配信プログラム。
【０１８４】
［付記２４］
前記ファイルの配信を制御するステップにおいては、取得した前記複数のファイル受信装置における前記復元率に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記パケットに対する誤り訂正処理のための符号化率を決定する、付記２３に記載のファイル配信プログラム。
【０１８５】
［付記２５］
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置の負荷率を含む前記品質情報を取得する、付記２１から２４のいずれかに記載のファイル配信プログラム。
【０１８６】
［付記２６］
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置における記憶部の使用率を含む前記品質情報を取得する、付記２１から２５のいずれかに記載のファイル配信プログラム。
【０１８７】
［付記２７］
前記ファイルをマルチキャストするステップにおいては、取得した前記品質情報に基づいて、前記ファイル受信装置へ前記ファイルをマルチキャストすべきか否かを判断し、マルチキャストすべきでないと判断した前記ファイル受信装置へ前記ファイルをユニキャストする、付記２１から２６のいずれかに記載のファイル配信プログラム。
【０１８８】
［付記２８］
前記ファイルをマルチキャストするステップにおいては、前記ファイルを複数のパケットに分割して送信し、
前記品質情報を取得するステップにおいては、再送すべき前記パケットを示す前記ファイル受信装置からの再送要求情報を取得し、
前記ファイルをマルチキャストするステップにおいては、前記再送要求情報の示す前記パケットの総データ長が所定値以上である場合には、前記ファイル受信装置へ前記再送要求情報の示す前記パケットをマルチキャストすべきでないと判断し、マルチキャストすべきでないと判断した前記ファイル受信装置へ前記再送要求情報の示す前記パケットをユニキャストする、付記２１から２７のいずれかに記載のファイル配信プログラム。
【０１８９】
［付記２９］
前記品質情報を取得するステップにおいては、前記複数のファイル受信装置における前記ファイルの受信品質の指標、および前記複数のファイル受信装置の受信性能の指標を含む品質情報を取得し、
前記ファイルの配信を制御するステップにおいては、取得した前記品質情報の示す前記受信品質および前記受信性能に基づいて、前記複数のファイル受信装置を複数のグループに分け、前記グループごとに前記ファイルの配信を制御する、付記２１から２８のいずれかに記載のファイル配信プログラム。
【０１９０】
［付記３０］
ファイルを配信するためのファイル配信装置と、前記ファイルを受信するための複数のファイル受信装置とを備えるファイル配信システムにおけるファイル配信プログラムであって、コンピュータに、
前記ファイル配信装置が、前記ファイルを複数のパケットに分割して送信するステップと、
前記ファイル受信装置が、自己の負荷率および記憶部の使用率の少なくとも一方と前記パケットの受信ロス率とに基づいて異常状態を検出し、異常を検出した場合には、最後に受信すべき前記パケット以外のパケットの受信に失敗しても、前記ファイル配信装置からマルチキャストされる前記パケットの受信を継続し、最後に受信すべき前記パケットを受信した後、前記ファイル配信装置へ受信に失敗した前記パケットおよび異常状態であることを示す再送要求情報を送信するステップと、
前記ファイル配信装置が、前記ファイル受信装置から前記再送要求情報を受信して、前記ファイル受信装置へ前記再送要求情報の示す前記パケットをユニキャストするステップとを実行させる、ファイル配信プログラム。
【符号の説明】
【０１９１】
２  ファイル配信部
４  品質情報
５  配信スケジュールファイル
１２  ファイル受信部
３１  品質情報
３２  送信スケジュール計画部（送信制御部）
３３  データ送信部
３４  品質データ管理部
４２  データ受信部
４３  品質データ収集部
４４  品質データ通知部
１０１  ＣＰＵ
１０２  メインメモリ
１０３  ハードディスク
１０４  入力インターフェイス
１０５  表示コントローラ
１０６  データリーダ／ライタ
１０７  通信インターフェイス
１０８  キーボード
１０９  マウス
１１０  ディスプレイ
１１１  記録媒体
１２１  バス
２０１  サーバ（ファイル配信装置）
２１１  クライアント（ファイル受信装置）
３０１  ファイル配信システム
【図１】
2011253432.tif 000003
【図２】
2011253432.tif 000004
【図３】
2011253432.tif 000005
【図４】
2011253432.tif 000006
【図５】
2011253432.tif 000007
【図６】
2011253432.tif 000008
【図７】
2011253432.tif 000009