(57)【要約】【課題】コンテンツの配信を効率よく行うことを目的とする。【解決手段】コンテンツの配信を行う複数のサーバと、複数のサーバのコンテンツの配信を制御する情報処理装置と、を含むシステムであって、情報処理装置は、クライアントからコンテンツの配信要求を受信すると、複数のサーバの余力に関する余力情報を取得する取得手段と、余力情報に基づき複数のサーバからコンテンツを配信するサーバを決定する決定手段と、決定されたサーバにコンテンツの配信要求を転送する転送手段と、を有し、複数のサーバの各々は、コンテンツの配信要求を受信すると、クライアントにコンテンツを配信する配信手段を有することによって課題を解決する。【選択図】図５
2017167647.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの配信を行う複数のサーバと、前記複数のサーバのコンテンツの配信を制御する情報処理装置と、を含むシステムであって、
前記情報処理装置は、
クライアントからコンテンツの配信要求を受信すると、前記複数のサーバの余力に関する余力情報を取得する取得手段と、
前記取得手段により取得された余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定する決定手段と、
前記決定手段により決定されたサーバに前記コンテンツの配信要求を転送する転送手段と、
を有し、
前記複数のサーバの各々は、
前記転送手段により転送されたコンテンツの配信要求を受信すると、前記クライアントにコンテンツを配信する配信手段を有するシステム。
【請求項２】
前記決定手段は、前記余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定することができない場合、新たにサーバを起動し、前記新たに起動したサーバを、前記コンテンツを配信するサーバに決定する請求項１記載のシステム。
【請求項３】
前記決定手段は、前記余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定することができない場合、新たにサーバを起動し、前記複数のサーバのサーバ情報に基づき前記新たに起動したサーバにコンテンツを中継するサーバを特定し、前記特定したサーバから前記新たに起動したサーバに前記コンテンツを中継させる請求項２記載のシステム。
【請求項４】
前記余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定する決定方法を設定する設定手段を更に有し、
前記決定手段は、前記設定手段により設定された決定方法に応じて前記余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定する請求項１乃至３何れか１項記載のシステム。
【請求項５】
前記設定手段は、前記決定方法の設定に関する設定画面を表示し、前記設定画面を介した選択操作に応じて、前記決定方法を設定する請求項４記載のシステム。
【請求項６】
前記複数のサーバの各々は、
サーバのコンテンツの配信に関する余力情報を生成する生成手段と、
前記余力情報を前記情報処理装置に送信する送信手段と、
を更に有し、
前記情報処理装置は、
前記複数のサーバの各々のサーバから送信された余力情報をメモリに記憶する記憶手段を更に有し、
前記取得手段は、前記メモリから前記複数のサーバの余力に関する余力情報を取得する請求項１乃至５何れか１項記載のシステム。
【請求項７】
前記生成手段は、配信するコンテンツの種別を示すコンテンツ種別ごとに前記余力情報を生成する請求項６記載のシステム。
【請求項８】
前記生成手段は、コンテンツを配信する配信先のクライアントの機器の分類、又は搭載されているオペレーティングシステムを示すクライアント種別ごとに前記余力情報を生成する請求項６又は７記載のシステム。
【請求項９】
前記決定手段は、前記余力情報と前記複数のサーバの設置場所の情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定する請求項１乃至８何れか１項記載のシステム。
【請求項１０】
前記情報処理装置は、
前記余力情報に基づき停止対象となるサーバを選択する選択手段と、
前記選択されたサーバを停止させる停止手段と、
を更に有する請求項１乃至９何れか１項記載のシステム。
【請求項１１】
前記余力情報には配信クライアント数が含まれ、
前記選択手段は前記余力情報の配信クライアント数に基づき停止対象となるサーバを選択する請求項１０記載のシステム。
【請求項１２】
前記複数のサーバのうち少なくとも１つのサーバは、カメラサーバである請求項１乃至１１何れか１項記載のシステム。
【請求項１３】
コンテンツを配信可能な複数のサーバに接続される情報処理装置であって、
クライアントからコンテンツの配信要求を受信すると、前記複数のサーバの余力に関する余力情報を取得する取得手段と、
前記取得手段により取得された余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定する決定手段と、
前記決定手段により決定されたサーバに前記コンテンツの配信要求を転送する転送手段と、
を有する情報処理装置。
【請求項１４】
コンテンツの配信を行う複数のサーバと、前記複数のサーバのコンテンツの配信を制御する情報処理装置と、を含むシステムにおける情報処理方法であって、
前記情報処理装置が、クライアントからコンテンツの配信要求を受信すると、前記複数のサーバの余力に関する余力情報を取得する取得ステップと、
前記情報処理装置が、前記取得ステップにより取得された余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定する決定ステップと、
前記情報処理装置が、前記決定ステップにより決定されたサーバに前記コンテンツの配信要求を転送する転送ステップと、
前記複数のサーバのうち前記転送ステップにより転送された前記コンテンツの配信要求を受信したサーバが、前記クライアントにコンテンツを配信する配信ステップと、
を含む情報処理方法。
【請求項１５】
情報処理装置が実行する情報処理方法であって、
クライアントからコンテンツの配信要求を受信すると、複数のサーバの余力に関する余力情報を取得する取得ステップと、
前記取得ステップにより取得された前記取得ステップにより取得された余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定する決定ステップと、
前記決定ステップにより決定されたサーバに前記コンテンツの配信要求を転送する転送ステップと、
を含む情報処理方法。
【請求項１６】
コンピュータに、
クライアントからコンテンツの配信要求を受信すると、複数のサーバの余力に関する余力情報を取得する取得ステップと、
前記取得ステップにより取得された余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定する決定ステップと、
前記決定ステップにより決定されたサーバに前記コンテンツの配信要求を転送する転送ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、映像や音楽のデジタルデータ化及びオンデマンドによる配信の需要に伴い、これらのデジタルデータ化されたコンテンツをインターネット等によりストリーミング配信するシステムが増加している。
映像や音楽等のデジタルデータのコンテンツを配信するサーバ（以下、コンテンツ配信サーバ）において、ＣＰＵやネットワーク等のリソースの制限により、１台のコンテンツ配信サーバのストリーミング配信数には上限が存在する。
上限を超えた場合、ストリーミングデータの受信先となるクライアントでは、当該ストリーミングデータの受信が間に合わず遅延が発生する、又は、受信すべきストリーミングデータの一部が欠落することがある。
この問題に対し、特許文献１には、クライアントからのコンテンツの配信要求の数に応じてコンテンツ配信サーバを自動で増やすことで対応することができるシステムについて記載されている。より具体的には、特許文献１の技術では、クライアントからカメラサーバに対する配信要求が増加すると、カメラサーバとは別のコンテンツ配信サーバにもコンテンツの配信を行わせるよう制御する。また特許文献１の技術では、クライアントからカメラサーバへの配信要求は、配信可能なコンテンツ配信サーバが見つかるまで順次、各コンテンツ配信サーバに対して転送される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１３４３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載のシステムでは、コンテンツ配信サーバが増加するに伴い、コンテンツ配信要求の転送回数やコンテンツ配信可否の判断処理回数が増加し、コンテンツの配信が効率よく行えない問題があった。
本発明は、コンテンツの配信を効率よく行うことを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、コンテンツの配信を行う複数のサーバと、前記複数のサーバのコンテンツの配信を制御する情報処理装置と、を含むシステムであって、前記情報処理装置は、クライアントからコンテンツの配信要求を受信すると、前記複数のサーバの余力に関する余力情報を取得する取得手段と、前記取得手段により取得された余力情報に基づき前記複数のサーバからコンテンツを配信するサーバを決定する決定手段と、前記決定手段により決定されたサーバに前記コンテンツの配信要求を転送する転送手段と、を有し、前記複数のサーバの各々は、前記転送手段により転送されたコンテンツの配信要求を受信すると、前記クライアントにコンテンツを配信する配信手段を有する。
【発明の効果】
【０００６】
本発明によれば、コンテンツの配信を効率よく行うことができる。
【図面の簡単な説明】
【０００７】
【図１】コンテンツ配信システムのシステム構成の一例を示す図である。
【図２】情報処理装置のハードウェア構成の一例を示す図である。
【図３】コンテンツ配信システムの機能構成の一例を示す図である。
【図４】コンテンツ配信システムにおける処理を示す図（その１）である。
【図５】コンテンツ配信システムにおける処理を示す図（その２）である。
【図６】コンテンツ配信システムにおける処理を示す図（その３）である。
【図７】クライアントの情報処理の一例を示すフローチャートである。
【図８】コンテンツ選択画面を示す図である。
【図９】コンテンツ配信制御サーバの情報処理の一例を示すフローチャートである。
【図１０】配信余力情報テーブルの一例を示す図である。
【図１１】コンテンツ配信サーバ情報テーブルの一例を示す図である。
【図１２】コンテンツ配信サーバの情報処理の一例を示すフローチャートである。
【図１３】コンテンツ配信制御サーバの情報処理の一例を示すフローチャートである。
【図１４】コンテンツ配信サーバの情報処理の一例を示すフローチャートである。
【図１５】配信余力情報の一例を示す図である。
【図１６】配信制御管理者画面を示す図である。
【図１７】決定方法管理テーブルの一例を示す図である。
【図１８】コンテンツ配信制御サーバの情報処理の一例を示すフローチャートである。
【図１９】コンテンツ配信サーバ情報テーブルの一例を示す図である。
【図２０】配信余力情報テーブルの一例を示す図である。
【図２１】コンテンツ配信制御サーバの情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜第１の実施形態＞
まず、第１の実施形態について説明する。
図１は、コンテンツ配信システムのシステム構成の一例を示す図である。
コンテンツ配信システム１００は、コンテンツ配信制御サーバ１０１、カメラサーバ１０２、１台、又は複数台のコンテンツ配信サーバ１０３、１台、又は複数台のＰＣやモバイル端末等のクライアント１０４を含む。また、コンテンツ配信システム１００は、コンテンツ配信制御サーバ１０１に対して各種の設定やコンテンツ配信制御サーバ１０１に記憶された情報を参照するための管理者用端末１０５を含む。そして、これらのコンテンツ配信システムを構成する各装置がネットワーク１０６（例えばＬＡＮ、ＷＡＮ、インターネット）を介して相互に通信可能に接続されている。
コンテンツ配信制御サーバ１０１は、カメラサーバ１０２及びコンテンツ配信サーバ１０３より通知される、各コンテンツ配信サーバ１０３における余力に関する情報（以下、配信余力情報、又は単に余力情報と称する）を管理する。本実施形態においては、余力情報は、コンテンツ配信サーバ１０３におけるコンテンツの配信余力に関する情報であるものとして説明する。また、コンテンツ配信制御サーバ１０１は、カメラサーバ１０２及びコンテンツ配信サーバ１０３より通知される、コンテンツ配信サーバ１０３の起動状況等に関する情報（以下、コンテンツ配信サーバ状態情報）を管理する。
コンテンツ配信制御サーバ１０１は、クライアント１０４からのコンテンツの配信要求を受け付け、自身で管理している各コンテンツ配信サーバ１０３の配信余力情報に基づいて適切なコンテンツ配信サーバ１０３を選択する。そして、コンテンツ配信制御サーバ１０１は、コンテンツの配信要求を転送する処理を行う。
また、コンテンツ配信制御サーバ１０１は、コンテンツ配信サーバ１０３の配信余力が不足している場合には、自身で管理しているコンテンツ配信サーバ状態情報に基づいて新たなコンテンツ配信サーバ１０３を起動する指示を行う。
コンテンツ配信制御サーバ１０１は説明上、独立したサーバとして記載しているが、カメラサーバ１０２が同様の処理を行う機能を有していてもよい。
【００１０】
カメラサーバ１０２は、カメラを有し、このカメラで撮影した動画をコンテンツとしてストリーミング配信することを想定するコンテンツを生成するサーバであり、同時に、本システムにおけるコンテンツの配信元となるコンテンツ配信サーバでもある。
カメラサーバ１０２は、自身で撮影した動画をコンテンツ化する他に、メモリ領域（外部メモリも含む）に既に保持している動画データや音楽データ等のストリーミング配信可能な各種メディアデータもコンテンツとして配信可能なものとする。
コンテンツ配信サーバ１０３は、カメラサーバ１０２の配信余力が少なくなった場合に動的に追加されるストリーミング配信用のサーバである。
本配信システムではカメラサーバ１０２を起源としてコンテンツは１台又は複数台のコンテンツ配信サーバ１０３を経由して受信し、クライアント１０４に配信される。
また、コンテンツ配信サーバ１０３は、自身の配信余力を動的に算出し、コンテンツ配信制御サーバ１０１に定期的に通知する。
クライアント１０４は、ユーザがストリーミング配信を所望するコンテンツについて、コンテンツ配信制御サーバ１０１にコンテンツの配信要求を送信する。
その後、コンテンツの配信要求は、コンテンツ配信制御サーバ１０１により適切と判断されたカメラサーバ１０２又はコンテンツ配信サーバ１０３に転送される。この配信要求を行ったクライアント１０４は、それらのサーバからのストリーミング配信を直接受ける。
管理者用端末１０５は、本システムの管理者が、コンテンツ配信制御サーバ１０１に対して、本システムを稼動させるために必要な設定の入力を行ったり、コンテンツ配信制御サーバ１０１に記憶されたコンテンツの配信に関しての情報を参照したりするものである。
【００１１】
以下、図２を用いて、ハードウェア構成について説明する。
図２は、図１に示したカメラサーバ１０２に適用可能な情報処理装置のハードウェア構成の一例を示す図である。
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
また、ＲＯＭ２０２又は外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各端末の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２又は外部メモリ２１１からＲＡＭ２０３にロードして、ロードしたプログラムを実行することで各種動作を実現するものである。
また、入力コントローラ２０５は、キーボード（ＫＢ）２０９やマウス等のポインティングデバイス等からの入力を制御する。
ビデオコントローラ２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。
図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じてユーザや管理者が使用するものである。
【００１２】
メモリコントローラ２０７は、ブートプログラム、各種のアプリケーションのプログラム、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））等の外部メモリ２１１へのアクセスを制御する。外部メモリ２１１は、ＨＤ以外に、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等であってもよい。
通信Ｉ／Ｆコントローラ２０８は、ネットワーク（例えば、図１に示した１０６）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、通信Ｉ／Ｆコントローラ２０８は、ＴＣＰ／ＩＰを用いた通信等が可能である。
ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上のマウスカーソル等でのユーザ指示を可能とする。
本実施形態を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
更に、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００１３】
カメラサーバ１０２は、更に、被写体等を撮影するカメラ２１３を備えており、更に、カメラ２１３を制御するためのカメラコントローラ２１２を備えている。
カメラ２１３で撮影して得られた動画等は、ＣＰＵ２０１の制御の下、外部メモリ２１１に記録されたプログラムによって、各クライアント１０４へ配信するためのコンテンツを生成する。
コンテンツ配信制御サーバ１０１、コンテンツ配信サーバ１０３、クライアント１０４、及び管理者用端末１０５もカメラサーバ１０２と同様のハードウェア構成を有する、但し、これらは、カメラコントローラ及びカメラの構成は有さない。
各装置のＣＰＵ２０１が各装置のＲＯＭ２０２、又は外部メモリ２１１に記憶されたプログラムに基づき処理を実行することによって各装置の機能構成及び後述する図７、図９、図１２〜１４、図１８、図２１のフローチャートの処理が実現される。
【００１４】
次に、図３は、コンテンツ配信システム１００の機能構成の一例を示す図である。カメラサーバ１０２は、コンテンツ配信サーバ１０３とほぼ同様な機能を有するため、コンテンツ配信サーバ１０３として示す。
コンテンツ配信制御サーバ１０１は、受信部４０１、コンテンツ配信サーバ特定部４０２、記憶部４０３、及び送信部４０４を備えている。
受信部４０１は、クライアント１０４の要求部４１１からのコンテンツの配信要求、コンテンツ配信サーバ１０３の送信部４０４からのコンテンツ配信サーバの配信余力情報（詳細後述）を受信する。また、受信部４０１は、管理者用端末１０５の送信部４１４からの本システムに関する各種の設定やコンテンツ配信制御サーバ１０１に記憶、管理された情報の取得要求を受信する。
コンテンツ配信サーバ特定部４０２は、受信部４０１によって、クライアント１０４からコンテンツの配信要求を受信すると、記憶部４０３に記憶された配信余力情報に基づいて、実際にストリーミング配信を行うコンテンツ配信サーバを決定する。また、コンテンツ配信サーバ特定部４０２は、配信余力情報に基づいて、コンテンツ配信サーバが決定できない場合は、記憶部４０３に記憶されたコンテンツ配信サーバ状態情報（詳細後述）に基づいて、新規で起動可能なコンテンツ配信サーバを特定する。そして、コンテンツ配信サーバ特定部４０２は、特定したコンテンツ配信サーバを起動させる。そして、コンテンツ配信サーバ特定部４０２は、中継すべきコンテンツ配信サーバを決めた後、この中継すべきコンテンツ配信サーバを経由して、新規に起動したコンテンツ配信サーバへコンテンツを配信する設定を指示する。
記憶部４０３は、各コンテンツ配信サーバ１０３から送信される配信余力情報や、各コンテンツ配信サーバ１０３のコンテンツ配信サーバ状態情報を記憶、管理する。
送信部４０４は、コンテンツ配信サーバ特定部４０２によって特定された新規で起動するコンテンツ配信サーバへ起動指示を送信したり、クライアント１０４からのコンテンツの配信要求をコンテンツ配信サーバへ転送したりする。
【００１５】
コンテンツ配信サーバ１０３は、配信余力情報生成部４０５、コンテンツ配信管理部４０６、受信部４０７、及び送信部４０８を備えている。
配信余力情報生成部４０５は、あとどの程度のクライアント１０４に対するコンテンツの配信が可能かを算出することで配信余力情報を生成して、送信部４０８を介して、コンテンツ配信制御サーバ１０１へ送信する。配信余力情報生成部４０５による配信余力情報の生成に関しては、コンテンツ配信サーバ１０３が停止するまで、定期的又はコンテンツの配信を開始した際等、必要に応じて行い、コンテンツ配信制御サーバ１０１にリアルタイムな配信余力情報を提供し続ける。
コンテンツ配信管理部４０６は、クライアント１０４から送信されたコンテンツの配信要求に関する情報を記憶する。更に、コンテンツ配信管理部４０６は、コンテンツ配信サーバ１０３から中継されたコンテンツに対して、当該コンテンツの配信先となるクライアントの種別（詳細後述）に応じた変換処理を行う。カメラサーバ１０２であれば、コンテンツ配信管理部４０６は、当該コンテンツの配信先となるクライアントの種別に応じて、自身に記憶されたコンテンツに対して変換処理を行う。
受信部４０７は、コンテンツ配信制御サーバ１０１の送信部４０４からクライアント１０４からのコンテンツの配信要求や、他のコンテンツ配信サーバ（カメラサーバ１０２又はコンテンツ配信サーバ１０３）から配信されるコンテンツを受信する。
送信部４０８は、配信余力情報生成部４０５によって生成した配信余力情報をコンテンツ配信制御サーバ１０１の受信部４０１へ送信する。また、送信部４０８は、コンテンツ配信管理部４０６において変換処理がなされたコンテンツをクライアント１０４の受信部４１２に対してストリーミング配信する。
【００１６】
クライアント１０４は、表示部４０９、クライアント種別取得部４１０、要求部４１１、及び受信部４１２を備えている。
表示部４０９は、受信部４１２によって受信したコンテンツ配信制御サーバ１０１の送信部４０４から送信された配信可能なコンテンツの種別（詳細後述）を表示する。そして、表示部４０９は、この表示したコンテンツの種別のなかから、ユーザが表示を所望するコンテンツの種別の選択を受付けると、選択されたコンテンツの種別に対応するコンテンツを表示する。
クライアント種別取得部４１０は、表示部４０９を介してユーザが表示を所望するコンテンツの種別の選択を受付けると、クライアント１０４のクライアントの種別を取得する。
要求部４１１は、クライアント１０４と接続を行うためのＩＰアドレス等、表示部４０９によって選択を受付けたコンテンツの種別、及びクライアント種別取得部４１０によって取得したクライアントの種別を含めて、コンテンツ配信制御サーバ１０１の受信部４０１へ向けてコンテンツの配信要求を行う。
受信部４１２は、コンテンツ配信制御サーバ１０１の送信部４０４から配信可能なコンテンツの種別や、コンテンツ配信サーバ１０３からストリーミング配信されるコンテンツを受信する。
【００１７】
管理者用端末１０５は、表示部４１３、送信部４１４、及び受信部４１５を備えている。
表示部４１３は、本システムを稼動させるために必要な設定の入力を受け付けたり、コンテンツ配信制御サーバ１０１に記憶されたコンテンツ配信サーバのコンテンツの配信に係る情報を表示したりする。
送信部４１４は、表示部４１３において入力された設定に係る情報や、コンテンツ配信サーバのコンテンツの配信に係る情報の表示要求をコンテンツ配信制御サーバ１０１の受信部４０１へ送信する。
受信部４１５は、コンテンツ配信サーバのコンテンツの配信に係る情報をコンテンツ配信制御サーバ１０１の送信部４０４から受信する。
各機能の詳細については、後述するフローチャートを用いて説明を行う。
【００１８】
以下、本実施形態におけるコンテンツ配信システム１００の全体の流れを説明する。
図４では、単一のクライアント５０１が、コンテンツのストリーミング配信を受けるまでの処理の流れを示している。
クライアント５０１は、ユーザの操作に基づき、コンテンツ配信制御サーバ１０１から配信可能なコンテンツに関する情報を取得し、取得した結果をコンテンツ選択画面１０００としてディスプレイに表示する（図８（Ａ）参照）。
コンテンツは動画でもよいし、音楽データ等であってもよく、ストリーミング配信可能なメディアデータであればよい。
ユーザが好みのコンテンツをコンテンツ選択画面１０００に対して選択すると、クライアント５０１は、選択操作に基づき、コンテンツ配信制御サーバ１０１に指定のコンテンツの配信要求を通知する。
コンテンツの配信要求を受信したコンテンツ配信制御サーバ１０１は、自身が管理する配信余力情報を参照し、要求するコンテンツの種別、クライアントの種別、配信余力を基に、コンテンツの配信要求の転送先となるコンテンツ配信サーバを検索する。
図４のようにシステム起動直後では、コンテンツ配信サーバの機能を有するコンテンツの配信元であるカメラサーバ１０２のみが存在する。
カメラサーバ１０２の配信余力が十分である場合、コンテンツ配信制御サーバ１０１は、カメラサーバ１０２にコンテンツの配信要求を転送する。
カメラサーバ１０２は、受信したコンテンツの配信要求を基にクライアント５０１に接続し、コンテンツのストリーミング配信を開始する。
コンテンツの配信要求の転送は、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等の既存のプロトコルや技術を用いてもよい。また、コンテンツのストリーミング配信の方法については、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）等の既存のプロトコルや技術を用いてもよい。
【００１９】
図５では、図４に示した単一のクライアント５０１がコンテンツの配信を受けたときから更に進んだ状態を示す。
クライアント５０１に追加して、クライアント６０１、６０２が、図４と同様にコンテンツの配信要求を送信すると、カメラサーバ１０２の配信余力が十分ではなくなる。
コンテンツ配信制御サーバ１０１は、配信余力情報に基づいてカメラサーバ１０２の配信余力が少ないと判断すると、コンテンツ配信サーバ状態情報に基づいて新たなコンテンツ配信サーバ１０３を起動する。
コンテンツ配信サーバ１０３が起動すると、コンテンツ配信サーバ１０３は、他のコンテンツ配信サーバ（この場合はカメラサーバ１０２）からコンテンツの配信を中継する。
ここで配信を中継するとは、送信元のコンテンツ配信サーバが保持する全コンテンツの内容を他のコンテンツ配信サーバにストリーミング配信（中継）することを意味する。
コンテンツ配信制御サーバ１０１は、配信余力が足りずに転送できていなかったクライアント６０２からのコンテンツの配信要求をコンテンツ配信サーバ１０３に転送し、以後、コンテンツ配信サーバ１０３及びクライアント６０２間でのストリーミング配信が開始される。
新たなコンテンツ配信サーバ１０３の起動はＷａｋｅ−ｏｎ−ＬＡＮ等、コンテンツの配信中継はＲＴＰ等の既存のプロトコルや技術を用いてもよい。
【００２０】
図６では、図５に示した複数のクライアントが本システムからのコンテンツの配信を受ける状態から更に進んだ状態を示す。
各クライアントは自由にコンテンツの配信を中断できるため、一度配信余力が少なくなったコンテンツ配信サーバも配信先のクライアントが配信停止をすることによって配信余力が増加する。
例えば、クライアント６０１がコンテンツの配信を受けていたが、ユーザが、クライアント６０１に対して、この配信を中断する旨を指示する。すると、コンテンツ配信サーバ（ここでは、カメラサーバ１０２）は、このクライアント６０１に行っていた配信に係る配信余力が増加する。
コンテンツ配信サーバの配信余力情報は、定期的にコンテンツ配信制御サーバ１０１に送信され、コンテンツ配信制御サーバ１０１において記憶、管理される。
図６において、新たにクライアント７０１がコンテンツの配信要求をコンテンツ配信制御サーバ１０１に送信すると、配信余力の存在するカメラサーバ１０２にコンテンツの配信要求を転送することもできる。しかし、ここでは、コンテンツ配信制御サーバ１０１は、コンテンツ配信サーバ７０２にコンテンツの配信要求を転送している。
これはコンテンツ配信制御サーバ１０１が、クライアント７０１から要求されたコンテンツの種別やクライアントの種別も加味しての配信余力情報からコンテンツ配信サーバ７０２を選択するためである。
【００２１】
以下、図７に示すフローチャートを参照して、コンテンツ配信システム１００におけるクライアント側でのコンテンツの配信要求に係る処理について説明する。
Ｓ１０１では、ユーザがクライアント１０４に対して入力したユーザ情報（例えば、ユーザＩＤやパスワード等）を用いて、コンテンツ配信システム１００においてログインがなされる。すると、表示部４０９は、図８に示すコンテンツ選択画面１０００をクライアント１０４のＣＲＴ２１０へ表示する。コンテンツ選択画面１０００に対するユーザの指示に従って、要求部４１１は、配信可能なコンテンツの種別をコンテンツ配信制御サーバ１０１へ要求する。
図８（Ａ）には、コンテンツ選択画面１０００の構成が示されている。コンテンツ選択画面１０００は、配信可能なコンテンツの種別を要求するコンテンツ配信制御サーバ１０１を特定するためのＵＲＬ等を入力する要求先入力領域１００１を備えている。また、コンテンツ選択画面１０００は、コンテンツ配信制御サーバ１０１から取得したコンテンツの種別を表示するコンテンツ種別表示領域１００２を備えている。
コンテンツ選択画面１０００は、本システム専用のアプリケーションによって表示される画面であってもよいし、一般的なＨＴＴや各種プロトコルに対応したブラウザに表示される画面であってもよい。
Ｓ１０１では、要求部４１１は、要求先入力領域１００１に対してＵＲＬ等が入力されると、ＵＲＬ等から特定されるコンテンツ配信制御サーバ１０１に対して配信可能なコンテンツの種別を要求する。
【００２２】
Ｓ１０２では、受信部４１２は、コンテンツ配信制御サーバ１０１から配信可能なコンテンツの種別を受信する。
Ｓ１０３では、表示部４０９は、Ｓ１０２で受信した配信可能なコンテンツの種別をコンテンツ種別表示領域１００２に表示する。そして、表示部４０９は、このコンテンツ種別表示領域１００２に表示されたコンテンツの種別の中から配信の要求対象とするコンテンツの種別の選択を受付ける。コンテンツの種別とは、コンテンツには複数の種類が存在するため、そのなかからコンテンツを一意に識別するための情報を表す。
表示部４０９は、図８（Ａ）に示すように、コンテンツ種別表示領域１００２には、配信可能なコンテンツの種別ごとに、コンテンツのサムネイル画像等を表示してもよい。
Ｓ１０４では、クライアント種別取得部４１０は、クライアントの種別を取得する。クライアントの種別とは、例えば、ＰＣやモバイルといった機器の分類や各機器に搭載されたＯＳやコンテンツを再生するアプリケーション名やバージョン等の情報である。
【００２３】
Ｓ１０５では、表示部４０９は、コンテンツの配信要求に合わせて、クライアント１０４のＣＲＴ２１０に、図８（Ｂ）に示すコンテンツ表示画面１１００を表示する。
コンテンツ表示画面１１００は、コンテンツ選択画面１０００において選択されたコンテンツの種別に係るコンテンツの要求先を入力するためのコンテンツ要求先入力領域１１０１を備えている。また、コンテンツ表示画面１１００は、配信の要求を行ったコンテンツを表示すためのコンテンツ表示領域１１０２を備えている。
また、コンテンツ表示画面１１００は、コンテンツの再生を指示するための再生ボタン１１０３、コンテンツ表示領域１１０２に表示されるコンテンツの先送りを指示するための先送りボタン１１０４を備えている。更に、コンテンツ表示画面１１００は、コンテンツ表示領域１１０２に表示されるコンテンツを戻す指示をするための前送りボタン１１０５、コンテンツの表示に係る進行状況を示す表示状況バー１１０６を備えている。
そして、表示部４０９は、再生ボタン１１０３が押下されたことを受け付ける。すると、表示部４０９は、コンテンツ要求先入力領域１１０１には、Ｓ１０３においてコンテンツ選択画面１０００のコンテンツ種別表示領域１００２に対して選択されたコンテンツの種別に対するコンテンツの要求先となるＵＲＬ等を表示する。また、表示部４０９は、コンテンツ表示領域１１０２には、コンテンツを要求中である旨を表示する。
要求部４１１は、クライアント１０４と接続を行うためのＩＰアドレス等、Ｓ１０３において選択されたコンテンツの種別、及びＳ１０４において取得したクライアントの種別等を含むコンテンツの配信要求を生成する。そして、要求部４１１は、コンテンツ配信制御サーバ１０１に送信する。
その後、コンテンツ配信制御サーバ１０１は、適切と判断されるコンテンツ配信サーバにコンテンツの配信要求を転送する。
【００２４】
この間、Ｓ１０６及びＳ１０７では、受信部４１２は、コンテンツ配信サーバからのコンテンツの配信のための接続要求を待機する。
Ｓ１０６では、受信部４１２は、コンテンツ配信サーバからのコンテンツの配信のための接続要求があるか否かを判定する。受信部４１２は、接続要求があると判定した場合は、Ｓ１０９へ処理を進め、接続要求があると判定しない場合、Ｓ１０７へ処理を進める。
Ｓ１０７では、受信部４１２は、コンテンツ配信制御サーバ１０１から、コンテンツ配信システム１００における配信余力の不足等により、コンテンツの配信不可であることを示す通知を受信したか否かを判定する。受信部４１２は、受信したと判定した場合は、Ｓ１０８へ処理を進め、受信したと判定しない場合は、Ｓ１０９へ処理を進める。
Ｓ１０８では、表示部４０９は、配信を要求していたコンテンツの配信が不可であることをコンテンツ表示画面１１００のコンテンツ表示領域１１０２へ表示する。
Ｓ１０９では、受信部４１２は、コンテンツ配信サーバから接続要求を受信すると、当該コンテンツ配信サーバと接続を確立する。
Ｓ１１０では、受信部４１２は、ストリーミング配信の受信を行う。また、表示部４０９は、受信部４１２が受信したコンテンツを再生するアプリケーションにおいて当該コンテンツの再生を行う。本ステップでは、ストリーミング配信されたコンテンツが、ＣＲＴ２１０に表示されるコンテンツ表示画面１１００のコンテンツ表示領域１１０２に表示される。
図８（Ｃ）には、コンテンツ表示画面１１００のコンテンツ表示領域１１０２にストリーミング配信されたコンテンツが表示された例が示されている。
コンテンツ表示画面１１００は、コンテンツが再生状態であるため、再生ボタン１１０３に代わり、停止ボタン１１０７が表示されている。
コンテンツの再生が終了するか、クライアント１０４でのコンテンツ配信終了の判断、例えば、コンテンツ表示画面１１００を閉じる操作を受け付けたときに、Ｓ１１０の処理は終了し、一連のコンテンツの配信要求に係る処理が完了する。
【００２５】
図９に示すフローチャートを参照して、コンテンツ配信制御サーバ１０１におけるコンテンツの配信処理について説明する。
Ｓ２０１では、受信部４０１は、クライアント１０４からのコンテンツの配信要求を受信する。
Ｓ２０２では、コンテンツ配信サーバ特定部４０２は、自身が管理する各コンテンツ配信サーバの最新の配信余力情報を記憶部４０３から取得する。
それぞれのコンテンツ配信サーバの配信余力情報は、配信余力情報テーブル（図１０参照）に記憶、管理されている。本ステップでは、コンテンツ配信サーバ特定部４０２は、配信余力情報テーブルから配信余力情報を取得する。
図１０は、配信余力情報テーブル８００の構成の一例を示す図である。配信余力情報テーブル８００は、コンテンツ配信サーバの名称を示す配信サーバ名８０１、コンテンツ配信サーバが現在配信しているコンテンツの種別を示すコンテンツ種別８０２を含む。また、配信余力情報テーブル８００は、コンテンツ配信サーバが現在配信しているクライアントの種別を示すクライアント種別８０３、クライアント種別８０３の組み合わせに対応する配信余力を示す配信余力８０４を含む。更に、配信余力情報テーブル８００は、この組み合わせには寄らないコンテンツ配信サーバ自身の基本的な配信余力として、例えばＣＰＵやメモリ、ネットワークの使用率等を基に算出した総合余力を示す総合余力８０５を含む。
【００２６】
Ｓ２０３では、コンテンツ配信サーバ特定部４０２は、Ｓ２０２で取得した配信余力情報に基づいて、実際にストリーミング配信を行うコンテンツ配信サーバを決定するための処理を行う。処理の詳細については、図１３を用いて後述する。
Ｓ２０４では、コンテンツ配信サーバ特定部４０２は、Ｓ２０３においてコンテンツ配信サーバが決定したかどうかを判定する。コンテンツ配信サーバ特定部４０２は、決定したと判定した場合は、Ｓ２１１へ処理を進め、決定したと判定しない場合は、Ｓ２０５へ処理を進める。
Ｓ２０５では、コンテンツ配信サーバ特定部４０２は、記憶部４０３に記憶されたコンテンツ配信サーバ状態情報を取得して、当該コンテンツ配信サーバ状態情報に基づいて、新規でコンテンツ配信サーバが起動可能か否かを判定する。コンテンツ配信サーバ特定部４０２は、起動可能と判定した場合は、Ｓ２０６へ処理を進め、起動可能と判定しない場合は、Ｓ２０７へ処理を進める。
コンテンツ配信サーバ状態情報は、コンテンツ配信サーバ情報テーブル（図１１参照）に記憶、管理されている。本ステップでは、コンテンツ配信サーバ特定部４０２は、コンテンツ配信サーバ情報テーブルからコンテンツ配信サーバ状態情報を取得する。
図１１は、コンテンツ配信サーバ情報テーブル９００の構成の一例を示す図である。コンテンツ配信サーバ情報テーブル９００は、コンテンツ配信サーバの名称を示すサーバ名９０１、コンテンツ配信サーバの起動状態が未起動であるか起動済みであるかを示す起動状態９０２を含む。また、コンテンツ配信サーバ情報テーブル９００は、コンテンツの配信の中継先のコンテンツ配信サーバの名称を示す配信中継先サーバ９０３を含む。
図１１に示す例によると、本ステップでは、コンテンツ配信サーバ特定部４０２は、新規に起動可能なコンテンツ配信サーバ１０３は、起動状態９０２が未起動であるものであり、配信サーバ３、及び配信サーバ４が存在するので、起動可能と判定する。
【００２７】
Ｓ２０６では、コンテンツ配信サーバ特定部４０２は、Ｓ２０５において起動状態９０２が未起動であるコンテンツ配信サーバ１０３を起動させる。
複数の起動状態９０２が未起動であるコンテンツ配信サーバ１０３が存在する場合は、コンテンツ配信サーバ特定部４０２は、予め定められた所定の順に起動を行う。
そして、コンテンツ配信サーバ特定部４０２は、起動したコンテンツ配信サーバに関するコンテンツ配信サーバ状態情報の起動状態９０２の未起動を起動済みにして登録する。
一方、Ｓ２０７では、送信部４０４は、コンテンツの配信要求を行ったクライアント１０４に対して、コンテンツの配信が不可である旨を通知する。この通知は、図７に示すＳ１０７における処理において受信される。
Ｓ２０８では、コンテンツ配信サーバ特定部４０２は、記憶部４０３に記憶されたコンテンツ配信サーバ状態情報に基づいて、現在、コンテンツ配信サーバに対して中継を行っていないコンテンツ配信サーバへコンテンツを中継させる。
本ステップでは、コンテンツ配信サーバ特定部４０２は、コンテンツ配信サーバ情報テーブル９００の起動状態９０２が起動済みで、かつ、配信中継先サーバ９０３が設定されていないコンテンツ配信サーバに対して、新規で起動したコンテンツ配信サーバ１０３を配信中継先サーバにするよう指示を出力する。すると、指示を受けたコンテンツ配信サーバ１０３は、新規で起動したコンテンツ配信サーバ１０３に対してコンテンツの配信を開始する。
複数の配信中継先サーバ９０３が設定されていないコンテンツ配信サーバが存在する場合は、コンテンツ配信サーバ特定部４０２は、予め定められた所定の順に設定を行う。
図１１に示す例によると、本ステップでは、コンテンツ配信サーバ特定部４０２は、起動状態９０２が起動済みであり、配信中継先サーバ９０３が設定されていない配信サーバ２へ配信サーバ３を指示が配信中継先サーバにするよう指示を出力する。指示を受けた配信サーバ２は、配信サーバ３に対してコンテンツの配信を開始する。
【００２８】
Ｓ２０９では、コンテンツ配信サーバ特定部４０２は、Ｓ２０８においてコンテンツを中継するサーバとして指示したコンテンツ配信サーバの配信中継先サーバに、Ｓ２０６において起動したコンテンツ配信サーバに設定し、記憶部４０３に記憶する。
つまり、コンテンツ配信サーバ特定部４０２は、コンテンツ配信サーバ情報テーブル９００のサーバ名９０１が、Ｓ２０８においてコンテンツを中継するサーバとして指示したコンテンツ配信サーバであるコンテンツ配信サーバ状態情報の配信中継先サーバ９０３に、Ｓ２０６で新規で起動したコンテンツ配信サーバ１０３の名称を記憶する。
図１１に示す例によると、コンテンツの配信を中継するコンテンツ配信サーバ１０３は、配信サーバ２であり、新規で起動するコンテンツ配信サーバ１０３は、配信サーバ３である。このことから、本ステップでは、コンテンツ配信サーバ特定部４０２は、サーバ名９０１が配信サーバ２であるレコードにおいて、配信中継先サーバ９０３に配信サーバ３を記憶する。
Ｓ２１０では、コンテンツ配信サーバ特定部４０２は、新規で起動したコンテンツ配信サーバ１０３を、コンテンツの配信要求を行ったクライアント１０４に対するコンテンツ配信サーバ１０３として決定する。
Ｓ２１１では、送信部４０４は、Ｓ２０４又はＳ２１０において決定したコンテンツ配信サーバに対してクライアント１０４からのコンテンツの配信要求を転送する。
【００２９】
次に、図１２に示すフローチャートを用いて、コンテンツ配信サーバにおけるコンテンツの配信処理について説明する。
Ｓ３０１では、受信部４０７は、図９に示すＳ２１１においてコンテンツ配信サーバから転送されたコンテンツの配信要求を受信する。すると、コンテンツ配信管理部４０６は、受信したコンテンツの配信要求に関する情報を記憶する。
Ｓ３０２では、送信部４０８は、そのコンテンツの配信要求元であるクライアント１０４に対し、Ｓ３０１で受信したコンテンツの配信要求に含まれるＩＰアドレス等の情報を用いて、コンテンツの配信を行うためのネットワークの接続処理を行う。
Ｓ３０３では、コンテンツ配信管理部４０６は、コンテンツ配信サーバ（カメラサーバ１０２又はコンテンツ配信サーバ１０３）から中継されたコンテンツに対して、当該コンテンツの配信先となるクライアントの種別に応じた変換処理を行う。
コンテンツの変換処理とは、例えば処理能力の低いクライアント１０４がより快適にコンテンツを再生することができるための処理である。より具体的には、動画のストリーミングを行う場合では、動画を構成するフレーム数を少なくしたり、解像度を落としたり、フォーマットを変更したりする等の処理である。
コンテンツ配信管理部４０６は、クライアントの種別に関しては、各コンテンツ配信サーバにおける配信余力情報生成部４０５で生成された配信余力情報に含まれるクライアント種別を用いる。
Ｓ３０４では、送信部４０８は、Ｓ３０３において変換されたコンテンツを、Ｓ３０２において接続されたクライアント１０４に対してストリーミング配信を行う。
Ｓ３０３及びＳ３０４の処理は、コンテンツのストリーミング配信の処理が終了するまで繰返し、行われる。
接続されたクライアント１０４から接続が切られた場合、コンテンツ配信管理部４０６は、クライアント１０４について、Ｓ３０１で記憶したコンテンツの配信要求に関する情報を削除する。接続されたクライアント１０４から接続が切られた場合とは、例えば、Ｓ１１０等において、コンテンツ表示画面１１００が閉じられる操作を受け付けたクライアント１０４から接続が切られる場合等である。
【００３０】
図１３に示すフローチャートを用いて、図９に示すＳ２０３で行うコンテンツ配信サーバの決定処理について説明する。
本処理では、同じコンテンツの種別やクライアントの種別のコンテンツの配信を、可能な限り同一のコンテンツ配信サーバで行えるようにコンテンツ配信サーバを選択することで効率的なストリーミング配信を行うことを目的としている。
Ｓ４０１では、コンテンツ配信サーバ特定部４０２は、記憶部４０３に記憶された配信余力情報に基づいてクライアント１０４からのコンテンツの配信要求に含まれているコンテンツの種別及びクライアントの種別に合致するコンテンツ配信サーバを検索する。
つまり、コンテンツ配信サーバ特定部４０２は、配信余力情報テーブル８００のコンテンツ種別８０２及びクライアント種別８０３に対して、クライアント１０４から送信されるコンテンツの種別及びクライアントの種別を有する配信余力情報を検索する。
Ｓ４０２では、コンテンツ配信サーバ特定部４０２は、Ｓ４０１において該当するコンテンツ配信サーバが１つ以上存在するか否かを判定する。コンテンツ配信サーバ特定部４０２は、存在すると判定した場合は、Ｓ４０３へ処理を進め、存在すると判定しない場合、Ｓ４０５へ処理を進める。
Ｓ４０３では、コンテンツ配信サーバ特定部４０２は、Ｓ４０１において検索した結果得られた配信余力情報のうち、その中で配信余力が最も小さいコンテンツ配信サーバを選択する。
そして、Ｓ４０４では、コンテンツ配信サーバ特定部４０２は、Ｓ４０３及びＳ４０５において選択したコンテンツ配信サーバをクライアント１０４に対するコンテンツ配信サーバとして決定する。
一方、Ｓ４０５では、コンテンツ配信サーバ特定部４０２は、Ｓ４０１において検索した結果得られた配信余力情報のうち、その時点で起動中のコンテンツ配信サーバの中から総合余力が最も大きいものを１つ選択する。
Ｓ４０６では、コンテンツ配信サーバ特定部４０２は、Ｓ４０５において選択したコンテンツ配信サーバの総合余力が０であるか否かを判定する。コンテンツ配信サーバ特定部４０２は、０であると判定した場合は、Ｓ４０７へ処理を進め、０であると判定しない場合は、Ｓ４０４へ処理を進める。
Ｓ４０７では、コンテンツ配信サーバ特定部４０２は、その時点で起動中のコンテンツ配信サーバでは、クライアント１０４からのコンテンツの配信要求には対応できないため、コンテンツ配信サーバは未決定として、図１３に示す処理を終了する。
【００３１】
次に図１４に示すフローチャートを参照して、コンテンツ配信サーバの配信余力情報の送信処理について説明する。
Ｓ５０１では、配信余力情報生成部４０５は、コンテンツ配信サーバのコンテンツの配信毎に、あとどの程度のクライアント１０４に対してコンテンツの配信が可能かを算出するための各種パラメータをコンテンツの配信状況から動的に抽出する。
これらのパラメータは、例えば、配信しているコンテンツ自身から取得できるフレームあたりのネットワークパケット数（フレーム構成パケット数）、フレーム周期等がある。また、一般的なネットワークプロトコルを使用する等して取得したコンテンツ配信サーバとクライアントとの間ネットワークにおける平均的なデータ転送時間、コンテンツの配信処理自体の送受信にかかる処理時間等がある。
Ｓ５０２では、配信余力情報生成部４０５は、Ｓ５０１において抽出した各種パラメータに基づいてコンテンツの配信上限数や現在の配信数より、配信余力をコンテンツの種別及びクライアントの種別毎に算出する。
配信余力の算出例を以下の式に示すが、ここで示される数式は、動画の１フレームを複数のネットワークパケットでストリーミング配信する場合の配信余力の算出例である。１パケット当たりの送信間隔から最大幾つのクライアントに遅延無く配信できるかを見積もるものであり、配信上限数から現在の配信数を差し引いて配信余力としている。
【数１】
2017167647.tif 000003
式における配信中継の受信処理時間及びクライアントへの配信処理時間については、コンテンツの受信やクライアント１０４へのコンテンツの配信に関する処理を実行するプログラムの処理時間から計測される。
【００３２】
Ｓ５０３では、配信余力情報生成部４０５は、自身が他のコンテンツ配信サーバに対してコンテンツの配信中継をしているか否かを判定する。配信余力情報生成部４０５は、配信中継をしていると判定した場合は、Ｓ５０５へ処理を進め、配信中継をしていると判定しない場合は、Ｓ５０４へ処理を進める。
Ｓ５０４では、配信余力情報生成部４０５は、自身が他のコンテンツ配信サーバに対してコンテンツの配信中継を行うことによる配信余力の調整を行う。
つまり、コンテンツをまだ中継していない状態で、今後、コンテンツの中継を開始した場合、その分の配信余力が減少することが想定される。そのため、配信余力情報生成部４０５は、予め減少分を差し引いて、コンテンツ配信制御サーバ１０１へ配信余力情報を送信する。
調整方法の例としては、自身のコンテンツ配信サーバがクライアント１０４に配信しているコンテンツの種別の数が、中継する可能性のあるコンテンツの数であることが想定される。そのため、例えば、配信余力情報生成部４０５は、それぞれのクライアント１０４に対する配信余力から、その種別の数を差し引く。
また、クライアントの種別が、ＰＣの場合、コンテンツ配信サーバへコンテンツを中継するときと、クライアント１０４へコンテンツを配信するときとでは、コンテンツの加工を行わない。このことから、このような場合、配信余力情報生成部４０５は、配信余力からその種別の数をそのまま差し引く。
一方、クライアントの種別が、モバイル等の場合、コンテンツ配信サーバへコンテンツを中継するときは、コンテンツの加工を行わないが、クライアント１０４へコンテンツを配信するときは、コンテンツの加工を行う。そのため、このような場合、配信余力情報生成部４０５は、この点を考慮して、配信余力からその種別の数よりも大きな数で差し引いてもよい。
Ｓ５０５では、送信部４０４は、Ｓ５０２又はＳ５０４で算出された配信余力に関する配信余力情報を、コンテンツ配信制御サーバ１０１に送信する。
【００３３】
この一連の処理は、コンテンツ配信サーバが停止するまで、定期的、又はコンテンツの配信を開始した際等、必要に応じて行い、コンテンツ配信制御サーバ１０１にリアルタイムな配信余力情報を提供し続ける。
そして、コンテンツ配信制御サーバ１０１は、各コンテンツ配信サーバから送信される配信余力情報を記憶部４０３へ記憶する。より具体的には、コンテンツ配信制御サーバ１０１は、配信余力情報テーブル８００へ配信余力情報を記憶する。
【００３４】
図１５には、配信余力情報が配信余力情報テーブル８００へ記憶された情報の具体例が示されている。図１５（Ａ）では、カメラサーバ１０２が起動した直後の配信余力情報テーブル８００に記憶された配信余力情報の例が示されている。
その時点で動作しているコンテンツ配信サーバは、カメラサーバ１０２のみであるため、カメラサーバ１０２に関する情報のみが管理される。
配信余力８０４にはカメラサーバ１０２においてコンテンツの種別がコンテンツ種別８０２に記憶されたＡ、Ｂ、Ｃであるコンテンツが、クライアント種別８０３に記憶されるように一般的なＰＣに対してストリーミング配信される場合の配信余力が示されている。
図１５（Ａ）の例では、配信余力はコンテンツの配信可能なクライアントの数とし、コンテンツＡをＰＣであるクライアント１０４に配信する場合には１０台に対して配信可能であるということを示している。
また、図１５（Ａ）の例では、コンテンツＢをＰＣであるクライアント１０４に配信する場合には２０台に対して、コンテンツＣをＰＣであるクライアント１０４に配信する場合には３０台に対して配信可能であるということを示している。
図１５（Ｂ）には、図１５に示す状態から更に多くのクライアント１０４からのコンテンツの配信要求が発生し、カメラサーバ１０２の配信余力だけでは足りなくなった場合の配信余力情報の例が示されている。即ち、コンテンツ配信サーバ１０３である配信サーバ１を起動し、更に配信サーバ１の配信余力が足りなくなったことでコンテンツ配信サーバ１０３である配信サーバ２を起動した後の配信余力情報テーブル８００に記憶された配信余力情報の例が示されている。
【００３５】
図１２に示すフローチャートを用いて説明したコンテンツ配信サーバの決定方法によればコンテンツＡに対してクライアント種別がＰＣであるクライアントからの配信要求がコンテンツ配信制御サーバ１０１に通知された場合、以下のように処理が行われる。即ち、コンテンツ配信制御サーバ１０１は、配信余力情報テーブル８００のコンテンツ種別８０２及びクライアント種別８０３に対して、通知されたコンテンツの種別とクライアントの種別とが合致するカメラサーバ１０２をコンテンツ配信サーバとして決定する。
しかし、カメラサーバ１０２によりコンテンツの配信が開始されると、カメラサーバ１０２自身が動的に算出する配信余力は１から０となり、この配信余力情報がコンテンツ配信制御サーバ１０１に通知される。
そして、コンテンツ配信制御サーバ１０１は、サーバ名８０１がカメラサーバであって、当該コンテンツの種別及びクライアントの種別を有するコンテンツ配信余力情報テーブルの配信余力情報の配信余力８０４を０に更新する。
その後、もしもコンテンツＡに対してクライアントの種別がＰＣであるクライアント１０４から更にコンテンツの配信要求があった場合、カメラサーバ１０２の配信余力が０である。そのため、コンテンツ配信制御サーバ１０１は、配信サーバ２が、当該コンテンツの種別及びクライアントの種別に対応する配信余力が６であるため、配信サーバ２をコンテンツ配信サーバ１０３として決定する。
配信サーバ１も、当該コンテンツの種別及びクライアントの種別に対応する配信余力が１３であるため、配信余力を持つ。しかし、図１２において説明したコンテンツ配信サーバの決定方法によると、配信余力がより小さいほうが選択されるため、この場合は配信サーバ２が選択される。
また、コンテンツの種別がＡであるコンテンツに対してクライアントの種別がモバイルＩであるクライアント１０４からの配信要求がコンテンツ配信制御サーバ１０１に通知された場合、以下のように処理が行われる。即ち、コンテンツ配信制御サーバ１０１は、どのコンテンツ配信サーバも、当該コンテンツの種別及びクライアントの種別に対するコンテンツの配信を行っていないため総合余力が最も多い配信サーバ１をコンテンツ配信サーバ１０３として決定する。
【００３６】
＜第２の実施形態＞
次に、第２の実施形態について説明を行う。第１の実施形態では、図１３に示すＳ４０２において、コンテンツ配信サーバが１つ以上存在した場合、Ｓ４０３では、コンテンツ配信サーバ特定部４０２は、配信余力が小さいコンテンツ配信サーバを選択した。しかし、このような選択方法に留まらず、第２の実施形態では、幾つかの選択方法について説明を行う。
第２の実施形態においては、第１の実施形態における各構成や処理等は、ほぼ同様な構成や処理等を有することから、同一の構成や処理等については同一の符号を用いて、詳細な説明については省略するものとする。
【００３７】
図１６には、管理者が、コンテンツ配信制御サーバ１０１に対して各種の設定の入力を行ったり、各コンテンツ配信サーバの配信余力情報を参照したりするための配信制御管理者画面１２００の構成が示されている。配信制御管理者画面１２００は、設定画面の一例である。
図１６（Ａ）の配信制御管理者画面１２００は、各種の設定の入力を受付けるシートを表示する際に押下する設定タブ１２０１、各コンテンツ配信サーバの配信余力情報を参照するためのシートを表示する際に押下する配信余力情報タブ１２０２を備えている。
図１６（Ａ）には、設定タブ１２０１が押下され、各種の設定の入力を受付けるシートが示されている。管理者は、当シートを介して、コンテンツ配信サーバの決定方法を選択することが可能である。
コンテンツ配信サーバの決定方法としては、図１３に示すＳ４０１において、コンテンツの種別及びクライアントの種別が合致するコンテンツ配信サーバのうち、配信余力が最小のものを選択する方法、つまり、第１の実施形態における決定方法がある。このような決定方法を用いる場合、管理者は、ラジオボタン１２０３を選択する。
また、コンテンツの種別及びクライアントの種別が合致するコンテンツ配信サーバのうち、配信余力が最大のものを選択する方法がある。この場合、Ｓ４０３では、コンテンツ配信サーバ特定部４０２は、Ｓ４０１において検索した結果得られた配信余力情報のうち、その中で配信余力が最も大きいコンテンツ配信サーバを選択する。このような決定方法を用いる場合、管理者は、ラジオボタン１２０４を選択する。
また、図１３に示すＳ４０１において、コンテンツの種別及びクライアントの種別の合致を考慮せずに、現時点で総合配信余力が最大のものを選択する方法がある。この場合、コンテンツ配信サーバ特定部４０２は、Ｓ４０２及びＳ４０３の処理を省略したコンテンツ配信サーバの決定処理を行う。このような決定方法を用いる場合、管理者は、ラジオボタン１２０５を選択する。
更に、図１３に示すＳ４０１において、コンテンツの種別及びクライアントの種別の合致を考慮せずに、現時点で総合配信余力が最小のものを選択する方法がある。この場合、コンテンツ配信サーバ特定部４０２は、Ｓ４０２及びＳ４０３の処理を省略する。そして、Ｓ４０５において、コンテンツ配信サーバ特定部４０２は、Ｓ４０１において検索した結果得られた配信余力情報のうち、その時点で起動中のコンテンツ配信サーバの中から総合余力が最も小さいものを１つ選択するコンテンツ配信サーバの決定処理を行う。このような決定方法を用いる場合、管理者は、ラジオボタン１２０６を選択する。
管理者がこれらのコンテンツ配信サーバの決定方法を選択した後、登録ボタン１２０７が押下されると、コンテンツ配信制御サーバ１０１は、決定方法管理テーブル（図１７参照）にコンテンツ配信サーバの決定方法に関する情報を記憶する。
【００３８】
図１７に示す決定方法管理テーブル１３００は、コンテンツ配信サーバの決定方法に関する情報を一意に識別するためのルール１３０１、Ｓ４０１においてコンテンツの種別及びクライアントの種別の合致を考慮するか否かを示す種別合致確認１３０２を備えている。また、決定方法管理テーブル１３００は、コンテンツの種別及びクライアントの種別の合致するコンテンツ配信サーバのうち、何れの配信余力を有するコンテンツ配信サーバに決定するかを示す種別合致確認時の配信余力１３０３を備えている。更に、決定方法管理テーブル１３００は、何れの総合余力を有するコンテンツ配信サーバに決定するかを示す総合余力１３０４、これらの決定方法のうち、現在、何れの決定方法が適用されているかを示す設定中１３０５を備えている。
配信制御管理者画面１２００のラジオボタン１２０３が選択された状態で、登録ボタン１２０７が押下されると、決定方法管理テーブル１３００の最上段に示すレコードが登録される。ラジオボタン１２０４が選択された状態で、登録ボタン１２０７が押下されると、決定方法管理テーブル１３００の最上段から２段目に示すレコードが登録される。配信制御管理者画面１２００のラジオボタン１２０５が選択された状態で、登録ボタン１２０７が押下されると、決定方法管理テーブル１３００の最上段から３段目に示すレコードが登録される。ラジオボタン１２０６が選択された状態で、登録ボタン１２０７が押下されると、決定方法管理テーブル１３００の最上段から４段目に示すレコードが登録される。
配信制御管理者画面１２００のキャンセルボタン１２０８を押下することによって、登録を行うことなく、配信制御管理者画面１２００を閉じることができる。
本システムの管理者が、配信制御管理者画面１２００の起動指示を行うと、表示部４１３は、この起動指示を受け付ける。そして、表示部４１３は、ＣＲＴ２１０に配信制御管理者画面１２００を表示する。
また、決定方法管理テーブル１３００は、記憶部４０３によって記憶、管理されるものである。図１３に示すフローチャートにおいては、Ｓ４０１の前処理として、コンテンツ配信サーバ特定部４０２は、この記憶部４０３に管理されたコンテンツ配信サーバの決定方法に関する情報を取得しておく。そして、コンテンツ配信サーバ特定部４０２は、以後の処理については、取得した情報に基づいて前述した処理を行う。
【００３９】
図１６（Ｂ）には、配信余力情報タブ１２０２が押下され、各種の設定の入力を受付けるシートが示されている。当シートでは、各コンテンツ配信サーバの配信余力情報を参照することが可能である。
当シートは、配信余力情報を参照したいコンテンツ配信サーバを選択するための選択領域１２０９、選択領域１２０９において選択されたコンテンツ配信サーバの配信余力情報を表示する配信余力情報表示領域１２１０を備えている。
本システムの管理者が、配信制御管理者画面１２００の起動指示を行うと、表示部４１３は、この起動指示を受け付ける。そして、表示部４１３は、記憶部４０３で管理された配信余力情報を取得して、選択領域１２０９及び配信余力情報表示領域１２１０に表示する。表示部４１３が取得した配信余力情報は、配信余力情報テーブル８００に記憶されている。
【００４０】
＜第３の実施形態＞
次に、第３の実施形態について説明する。前述した第２の実施形態では、コンテンツ配信サーバの選択方法について、第１の実施形態とは異なる選択方法について説明したが、第３の実施形態では、更に異なるコンテンツ配信サーバの選択方法について説明する。
第３の実施形態においては、前述した第１の実施形態及び第２の実施形態における各構成や処理等は、ほぼ同様な構成や処理等を有することから、同一の構成や処理等については同一の符号を用いて、詳細な説明については省略するものとする。
図１８に示すフローチャートには、図１３で示したコンテンツ配信制御サーバ１０１におけるコンテンツ配信サーバの決定処理を変更した処理が示されている。
この処理では、図１３に示すコンテンツ配信サーバの決定方法に、コンテンツ配信サーバ及びクライアント１０４間の物理的な距離を利用する。
これにより、コンテンツ配信サーバとクライアント１０４との間のネットワークにおけるデータ転送時間を短縮することを目的としている。
Ｓ４０１及びＳ４０２における処理については説明を省略する。Ｓ６０１では、コンテンツ配信サーバ特定部４０２は、Ｓ４０１において検索した結果得られた配信余力情報のうち、その中で配信余力が最も小さく、コンテンツ配信サーバとクライアント１０４との間の物理的な距離が最も近いコンテンツ配信サーバを選択する。
Ｓ６０２では、コンテンツ配信サーバ特定部４０２は、Ｓ４０１において検索した結果得られた配信余力情報のうち、その時点で起動中のコンテンツ配信サーバの中から総合余力が最も大きいものであり、コンテンツ配信サーバとクライアント１０４との間の物理的な距離が最も近いコンテンツ配信サーバを選択する。
前述したように、Ｓ６０１においては、コンテンツ配信サーバ特定部４０２は、Ｓ４０１において検索した結果得られた配信余力情報のうち、その中で配信余力が最も大きく、コンテンツ配信サーバとクライアントとの間の物理的な距離が最も近いコンテンツ配信サーバを選択してよい。
【００４１】
コンテンツ配信サーバとクライアントとの間の物理的な距離を求める方法を説明する。
図１９に示すように、コンテンツ配信サーバ情報テーブル９００は、図１１に示すコンテンツ配信サーバ情報テーブル９００に対して、カメラサーバ１０２及び各コンテンツ配信サーバ１０３の設置したエリアを示す設置場所１４０１が追加されている。
コンテンツ配信サーバ特定部４０２は、クライアント１０４からのコンテンツの配信要求に含まれるクライアント１０４のＩＰアドレス等から推定されるクライアント１０４の場所から最も近い設置場所１４０１を有するコンテンツ配信サーバを選択する。
又は、カメラサーバ１０２及び各コンテンツ配信サーバ１０３の詳細な設置場所、例えば、経度、緯度に関する情報を設置場所１４０１に記憶させておくようにしてもよい。
そして、クライアント１０４は、クライアント１０４の場所を求める専用のアプリケーションやＧＰＳ機能を用いて、経度、緯度に関する情報を取得して、コンテンツの配信要求に含めてコンテンツ配信制御サーバ１０１へ送信する。すると、コンテンツ配信制御サーバ１０１は、設置場所１４０１に記憶した経度、緯度に関する情報と、コンテンツの配信要求に含まれる経度、緯度に関する情報と、を用いて、コンテンツ配信サーバとクライアントとの間の物理的な距離をそれぞれ求めてもよい。
【００４２】
＜第４の実施形態＞
次に、第４の実施形態に関して説明する。第１の実施形態においては、配信余力に応じて、コンテンツ配信サーバを自動で起動させた。しかし、第４の実施形態では、この自動で起動されたコンテンツ配信サーバを自動で停止することが、他の実施形態と異なる。
第４の実施形態においては、前述した第１の実施形態から第３の実施形態までにおける各構成や処理等は、ほぼ同様な構成や処理等を有することから、同一の構成や処理等については同一の符号を用いて、詳細な説明については省略するものとする。
まず、図１４に示すコンテンツ配信サーバの配信余力情報の送信処理の、Ｓ５０２において、配信余力情報生成部４０５は、コンテンツ種別及びクライアント種別に対応して、接続しているクライアント１０４の数を取得する。そして、配信余力情報生成部４０５は、このクライアントの数をも含む配信余力情報を生成する。
そして、送信部４０８は、配信余力情報をコンテンツ配信制御サーバ１０１へ送信する。すると、Ｓ２０５において、コンテンツ配信制御サーバ１０１は、各コンテンツ配信サーバから送信される配信余力情報を記憶部４０３へ記憶する。
より具体的には、図２０に示す配信余力情報テーブル８００へ配信余力情報を記憶する。図２０に示す配信余力情報テーブル８００は、図１０に示す配信余力情報テーブルを変更したものであり、コンテンツ配信サーバにおいて配信先となるクライアントの数を記憶する配信クライアント数１５０１を備えている。
【００４３】
次に、図２１に示すフローチャートを用いて、コンテンツ配信制御サーバ１０１におけるコンテンツ配信サーバの停止処理について説明する。この一連の処理は、コンテンツ配信制御サーバ１０１が停止するまで、定期的に行われる。
Ｓ７０１では、コンテンツ配信サーバ特定部４０２は、記憶部４０３に記憶された配信余力情報を取得する。
より具体的には、それぞれのコンテンツ配信サーバの配信余力情報は、配信余力情報テーブル（図２０参照）に記憶、管理されている。そのため、本ステップでは、コンテンツ配信サーバ特定部４０２は、配信余力情報テーブルから配信余力情報を取得する。
Ｓ７０２では、コンテンツ配信サーバ特定部４０２は、停止対象となるコンテンツ配信サーバ１０３が存在するか否かを判定する。コンテンツ配信サーバ特定部４０２は、存在すると判定した場合は、Ｓ７０３へ処理を進め、存在すると判定しない場合は、処理を終了する。
本ステップにおける判定方法としては、コンテンツ配信サーバ特定部４０２は、Ｓ７０１において取得した配信余力情報の配信クライアント数１５０１が０であるサーバ名８０１を取得する。コンテンツ配信サーバ特定部４０２は、サーバ名８０１が、コンテンツ配信サーバ情報テーブル９００のサーバ名９０１と一致するレコードのうち、起動状態９０２が起動済みで配信中継先サーバ９０３が設定されていないレコードが存在するか否かを判定する。コンテンツ配信サーバ特定部４０２は、レコードが存在する場合は、停止対象となるコンテンツ配信サーバ１０３が存在すると判定し、レコードが存在しない場合は、停止対象となるコンテンツ配信サーバ１０３が存在すると判定しない。
Ｓ７０３では、コンテンツ配信サーバ特定部４０２は、Ｓ７０２において停止対象となるコンテンツ配信サーバ１０３に対して停止する旨を指示する。すると、停止対象となるコンテンツ配信サーバ１０３が停止する。
コンテンツ配信サーバ１０３を停止する処理については、コンテンツ配信サーバ１０３において提供される機能を利用することが想定される。しかし、コンテンツ配信サーバ特定部４０２は、ｓｓｈ等のリモートアクセスを利用してコンテンツ配信サーバ１０３を停止させるといった既存の技術を用いてもよい。
【００４４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００４５】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
【００４６】
上述した実施形態の構成によれば、コンテンツの配信余力に基づいてコンテンツを配信する情報処理装置を適切に特定することで、コンテンツの配信を効率よく行うことができる。また、クライアントからのコンテンツ配信要求に応じてコンテンツ配信サーバを増加させた場合において、配信が終了する等して配信すべきクライアントが無くなったコンテンツ配信サーバを停止することもできるようになる。
【符号の説明】
【００４７】
１０１  コンテンツ配信制御サーバ
１０２  カメラサーバ
２０１  ＣＰＵ
２１１  外部メモリ
【図１】
2017167647.tif 000004
【図２】
2017167647.tif 000005
【図３】
2017167647.tif 000006
【図４】
2017167647.tif 000007
【図５】
2017167647.tif 000008
【図６】
2017167647.tif 000009
【図７】
2017167647.tif 000010
【図８】
2017167647.tif 000011
【図９】
2017167647.tif 000012
【図１０】
2017167647.tif 000013
【図１１】
2017167647.tif 000014
【図１２】
2017167647.tif 000015
【図１３】
2017167647.tif 000016
【図１４】
2017167647.tif 000017
【図１５】
2017167647.tif 000018
【図１６】
2017167647.tif 000019
【図１７】
2017167647.tif 000020
【図１８】
2017167647.tif 000021
【図１９】
2017167647.tif 000022
【図２０】
2017167647.tif 000023
【図２１】
2017167647.tif 000024