データ配信システム,負荷分散方法及び蓄積サーバ
【課題】ネットワーク経由でのクライアント端末からのアクセスに応じて、複数台の蓄積サーバによってデータの蓄積及び配信を行うデータ配信システムにおいて、蓄積サーバや、各蓄積サーバの負荷状況を管理する機能を有するサーバの負荷を分散させる。
【解決手段】各蓄積サーバ101,103は、自己の蓄積サーバの負荷状況の情報を他の全ての蓄積サーバに送信し、他の蓄積サーバから受信した負荷状況の情報を格納する。そして各蓄積サーバ101,103は、クライアント端末からのアクセスを受け付けると、格納した負荷状況の情報に基づき、自己の蓄積サーバが全ての蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、クライアント端末に応答を返送する。
【解決手段】各蓄積サーバ101,103は、自己の蓄積サーバの負荷状況の情報を他の全ての蓄積サーバに送信し、他の蓄積サーバから受信した負荷状況の情報を格納する。そして各蓄積サーバ101,103は、クライアント端末からのアクセスを受け付けると、格納した負荷状況の情報に基づき、自己の蓄積サーバが全ての蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、クライアント端末に応答を返送する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク経由でのクライアント端末からのアクセスに応じて、複数台のサーバでデータの蓄積及び配信を行うデータ配信システム、負荷分散方法及び蓄積サーバに関する。
【背景技術】
【0002】
ネットワーク経由でクライアント端末から書込み要求のあったデータをサーバに蓄積し、ネットワーク経由でクライアント端末から読込み要求のあったデータをサーバからクライアント端末に配信するシステムが、様々な分野で実用化されている。例えば映像データの蓄積及び配信を行うシステムとしては、ビデオオンデマンドシステムや、放送局用のビデオサーバシステムや、防災・防犯用の監視システムなどが挙げられる。
【0003】
本明細書では、これらのシステムを「データ配信システム(特に、映像データの蓄積及び配信を行うものについては映像データ配信システム)」と呼ぶことにする。また、本明細書では、これらのシステムにおいてデータを蓄積及び配信するサーバを「蓄積サーバ」と呼ぶことにする。
【0004】
こうしたデータ配信システムでは、クライアント端末からのアクセスを高速に処理するために、複数台の蓄積サーバを設けて、それらの蓄積サーバにデータを分散して蓄積させていることが少なくない。
【0005】
しかし、複数台の蓄積サーバの内、或る特定の蓄積サーバにアクセス頻度の高いデータ(例えばニュース性の高い映像データ)が蓄積されている場合には、その蓄積サーバにアクセスが偏ってしまい、その蓄積サーバの負荷が高くなる。このため、システム全体として十分なアクセス性能を発揮することができなくなる。
【0006】
そこで、こうしたデータ配信システムにおいて、各蓄積サーバに負荷を分散させる技術が従来から提案されている。例えば、特許文献1には、複数台の蓄積サーバとは別に専用の管理サーバを設け、その管理サーバに、各蓄積サーバに関する情報をデータベースとして搭載して、各蓄積サーバの負荷状況を管理させる技術が記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−320261号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、特許文献1に記載された技術では、管理サーバが多数の蓄積サーバの管理を行うので、クライアント端末からのアクセスが管理サーバに集中すると、管理サーバの負荷が高くなる。その結果、管理サーバが各蓄積サーバの負荷状況の管理を迅速に行えなくなるので、やはり、アクセス頻度の高い映像データを蓄積している蓄積サーバにアクセスが偏り、その蓄積サーバの負荷が高くなってしまう。
【0009】
本発明は、上述の点に鑑み、ネットワーク経由でのクライアント端末からのアクセスに応じて、複数台の蓄積サーバによってデータの蓄積及び配信を行うデータ配信システムにおいて、蓄積サーバや、各蓄積サーバの負荷状況を管理する機能を有するサーバの負荷を分散させることを目的とする。
【課題を解決するための手段】
【0010】
本発明に係るデータ配信システムでは、各蓄積サーバは、自己の蓄積サーバの負荷状況の情報を他の全ての蓄積サーバに送信し、他の蓄積サーバから受信した負荷状況の情報を格納する。そして各蓄積サーバは、クライアント端末からのアクセスを受け付けると、格納した負荷状況の情報に基づき、自己の蓄積サーバが全ての蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、クライアント端末に応答を返送する。
【発明の効果】
【0011】
本発明によれば、ネットワーク経由でのクライアント端末からのアクセスに応じて、複数台の蓄積サーバによってデータの蓄積及び配信を行うデータ配信システムにおいて、蓄積サーバや、各蓄積サーバの負荷状況を管理する機能を有するサーバの負荷を分散させることができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施の形態に係る映像データ配信システムの全体構成を示す図である。
【図2】管理蓄積サーバの構成を示す図である。
【図3】管理蓄積サーバ間の情報共有処理のイメージを示す図である。
【図4】クライアント端末からの書込み要求時の処理のイメージを示す図である。
【図5】クライアント端末からの読込み要求時の処理のイメージを示す図である。
【図6】クライアント端末のアクセス時の処理を示すフローチャートである。
【図7】クライアント端末からのアクセス時の管理蓄積サーバの処理を示すフローチャートである。
【図8】情報共有処理における情報発信側の管理蓄積サーバの処理を示すフローチャートである。
【図9】情報共有処理における情報受信側の管理蓄積サーバの処理を示すフローチャートである。
【図10】映像データへの高負荷時のコピー映像データ転送処理のイメージを示す図である。
【図11】映像データコピー転送を要求する際における発信側の管理蓄積サーバの処理を示すフローチャートである。
【図12】映像データコピー転送を要求する際における受信側の管理蓄積サーバの処理を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態(以下、実施の形態とする)について、図1〜図12を参照して説明する。
【0014】
<システムの構成>
図1は、本発明の一実施の形態に係る映像データ配信システム100の全体構成例を示す。
映像データ配信システム100は、管理蓄積サーバ101と、ストレージ102と、複数台の管理蓄積サーバ103と、複数台のストレージ104とで構成されている。そして、映像データ配信システム100は、ネットワーク経由でのクライアント端末からのアクセスに応じて、ネットワークに接続された複数台の管理蓄積サーバ101,103によって映像データの蓄積及び配信を行う。
【0015】
各管理蓄積サーバ101,103は、ネットワーク(広域ネットワークあるいは専用回線を用いたネットワーク)に接続されている。このネットワークには、複数台のクライアント端末105も接続されている。各管理蓄積サーバ101,103は、後で詳述するように、データを蓄積及び配信する蓄積サーバに、映像データ配信システム100を構成している全ての管理蓄積サーバ101,103の負荷状況を管理する管理サーバとしての機能を併有させたものである。
【0016】
各ストレージ102,104は、例えばRAID構成としたハードディスク装置のように大容量の映像記録装置が用いられる。ストレージ102は、管理蓄積サーバ101に接続されている。各ストレージ104は、それぞれ1台ずつの各管理蓄積サーバ103に接続されている。
【0017】
なお、図1では管理蓄積サーバ101及びストレージ102を「マスタ」と表記し、1台の管理蓄積サーバ103及びストレージ104を「コピー」と表記しているが、マスタ,コピーの意味については後述する。
【0018】
図2は、管理蓄積サーバ101の内部構成例を示す。
ただし、各管理蓄積サーバ101,103は、同一の構成としているため、ここでは管理蓄積サーバ101についてのみ説明を行う。
【0019】
管理蓄積サーバ101には、マイクロプロセッサから成る管理部202と、例えばハードディスク装置のような記録装置から成る蓄積部213とが設けられている。
【0020】
管理部202は、所定の処理を行う処理部として、映像データ所在管理部203と、映像データアクセス管理部204と、全管理蓄積サーバ負荷管理部205と、マスタ/コピーサーバ管理部206と、転送制御部211と、コンテンツ負荷管理部212と、を備える。また、管理部202は、データを蓄積するデータベースとして、映像データ所在情報データベース207と、全管理蓄積サーバ負荷情報データベース208と、映像データアクセス情報データベース209と、マスタ/コピーサーバ情報データベース210と、を備える。これらの各部の処理や各データベースに格納される情報は、蓄積部213に格納されているプログラムやデータベースを、管理部202がロードすることによって実現される。
【0021】
映像データ所在管理部203は、自己の管理蓄積サーバに接続されているストレージ(管理蓄積サーバ101ではストレージ102)の各ディレクトリに、どのようなファイル名の映像データがどれだけの容量だけ蓄積されているのかを管理するためのプログラムである。映像データ所在情報データベース207は、映像データ所在管理部203がこの管理を行うために用いるデータベースである。
【0022】
映像データアクセス管理部204は、クライアント端末105からのアクセスを受け付け、全管理蓄積サーバ負荷管理部205に格納された負荷状況の情報に基づき、自己の蓄積サーバ101が全ての蓄積サーバ101のうちで負荷の一番低い蓄積サーバ101である場合に、クライアント端末に応答を返送するプログラムである。また、映像データアクセス管理部204は、クライアント端末105から自己の管理蓄積サーバへのアクセス数を管理するためのプログラムである。映像データアクセス情報データベース209は、映像データアクセス管理部204がこのアクセス数の管理を行うために用いるデータベースである。
【0023】
全管理蓄積サーバ負荷管理部205は、映像データ配信システム100を構成している全ての管理蓄積サーバ101,103の負荷状況を管理するためのプログラムである。全管理蓄積サーバ負荷管理部205は、自己の蓄積サーバ101の負荷状況の情報を他の全ての蓄積サーバ101に送信し、他の蓄積サーバ101から受信した負荷状況の情報を格納する。全管理蓄積サーバ負荷情報データベース208は、全管理蓄積サーバ負荷管理部205がこの管理を行うために用いるデータベースである。
【0024】
マスタ/コピーサーバ管理部206は、どの蓄積サーバが映像データのコピー元であり、どの蓄積サーバが映像データのコピー先であるかの設定情報を管理するプログラムである。また、マスタ/コピーサーバ管理部206は、映像データ配信システム100を構成している各管理蓄積サーバのうち、どの管理蓄積サーバが映像データのコピー元(マスタ)であり、どの管理蓄積サーバが映像データのコピー先(コピー)であるかの設定情報を管理するためのプログラムである。マスタ/コピーサーバ情報データベース210は、マスタ/コピーサーバ管理部206がこの管理を行うために用いるデータベースである。
【0025】
なお、どの管理蓄積サーバをマスタとして設定し、どの管理蓄積サーバをコピーとして設定するかは、システムの管理者の設定操作によって決定される。図1では、映像データ配信システム100を構成している複数台の管理蓄積サーバ101,103のうち、この設定操作によってマスタとして設定された管理蓄積サーバ101(及び管理蓄積サーバ101に接続されたストレージ102)をマスタと表記している。そして、システム管理者の設定操作によってコピーとして設定された複数台の管理蓄積サーバ103(及びその管理蓄積サーバ103に接続されたストレージ104)をコピーと表記している。
【0026】
転送制御部211は、自己の管理蓄積サーバ(本例では、管理蓄積サーバ101)がマスタとして設定されている場合に、自己の管理蓄積サーバに書き込まれた映像データを、コピーとして設定されている管理蓄積サーバ(本例では、管理蓄積サーバ103)に転送するためのプログラムである。そして、転送制御部211は、映像データアクセス管理部204がクライアント端末105からの書込み要求に対して応答を返送したことによりデータが書き込まれた後、マスタ/コピーサーバ管理部206で管理されている設定情報に基づき、自己の蓄積サーバ101がコピー元として設定されている場合に、書き込まれたデータを、コピー先として設定されている蓄積サーバ101に転送する。
【0027】
コンテンツ負荷管理部212は、自己の管理蓄積サーバにおけるコンテンツ(クライアント端末105からのアクセスの単位となる映像データ)毎の負荷状況を管理するためのプログラムである。
【0028】
<情報共有処理及びアクセス時の処理>
次に、映像データ配信システム100における、情報共有処理と、クライアント端末からのアクセス時の処理とについて説明する。
【0029】
図3は、各管理蓄積サーバ101,103間の情報共有処理のイメージを示す。
管理蓄積サーバ101では、図2に示した全管理蓄積サーバ負荷管理部205が、自己以外の全ての管理蓄積サーバ103へ、自己の管理蓄積サーバの負荷状況通知301をマルチキャストで送信する。また図示は省略しているが、各管理蓄積サーバ103でも、全く同様にして、全管理蓄積サーバ負荷管理部205が、自己以外の全ての管理蓄積サーバへ、自己の管理蓄積サーバの負荷状況通知をマルチキャストで送信する。そして、各管理蓄積サーバ101,103において、全管理蓄積サーバ負荷管理部205が、それぞれ他の管理蓄積サーバからの負荷状況通知を受信して、全ての管理蓄積サーバ101,103の負荷状況の情報を共有する。
【0030】
なお、図3では、映像データ配信システム100を構成している各管理蓄積サーバ101,103及び各ストレージ102,104の全体を、クライアント端末105側から見た場合の仮想的な1台の管理蓄積サーバである全管理蓄積サーバ304として示している。以下の図4,図5,図10でも同様である。
【0031】
図4は、クライアント端末105からの書込み要求時の処理のイメージを示す。
クライアント端末105は、全管理蓄積サーバ304に対して書込み先要求401をマルチキャストで送信する。
【0032】
各管理蓄積サーバ101,103では、それぞれ映像データアクセス管理部204(図2)が、この書込み先要求401を受け付けて、全管理蓄積サーバ負荷管理部205(図2)に対して、自己の管理蓄積サーバが全ての管理蓄積サーバ101,103のうちで負荷が一番低いかを問い合わせる。全管理蓄積サーバ負荷管理部205は、図3に示す情報共有処理によって全ての管理蓄積サーバ101,103の負荷状況の情報を保有しているので、その情報に基づいて問い合わせに返答する。
【0033】
そして、この返答の結果、負荷が一番低かった管理蓄積サーバ(図4では一例として管理蓄積サーバ101としている)の映像データアクセス管理部204が、書込み先要求401の送信元のクライアント端末105に対して書込み先応答402を返送する。その後、クライアント端末105は、この書込み先応答402を返送した管理蓄積サーバ101に接続されたストレージ102に映像データの書込み403を行う。
【0034】
管理蓄積サーバ101では、マスタ/コピーサーバ管理部206(図2)が、自己の管理蓄積サーバがマスタとして設定され、管理蓄積サーバ(コピー)103がコピーとして設定されていることを管理している。そこで、管理蓄積サーバ101では、映像データアクセス管理部204が、転送制御部211(図2)に対して、ストレージ102に書き込まれた映像データを管理蓄積サーバ(コピー)103に転送することを要求する。転送制御部211は、この要求に応じて、管理蓄積サーバ(コピー)103に接続されたストレージ(コピー)104への映像データの転送404を行うことにより、コピー素材を作成する。
【0035】
図5は、クライアント端末105からの読込み要求時の処理のイメージを示す。
クライアント端末105は、全管理蓄積サーバ304に対して読込み先要求501をマルチキャストで送信する。
【0036】
各管理蓄積サーバ101,103では、それぞれ映像データアクセス管理部204が、この読込み先要求501を受け付けて映像データ所在管理部203と全管理蓄積サーバ負荷管理部205に対して、自己の管理蓄積サーバが、読込み対象の映像データを蓄積している全ての管理蓄積サーバのうちで負荷の一番低い管理蓄積サーバであるかを問い合わせる。全管理蓄積サーバ負荷管理部205は、図3の情報共有処理によって保有している情報に基づいて問い合わせに返答する。
【0037】
そして、この返答の結果、負荷が一番低かった管理蓄積サーバ(図5では一例として管理蓄積サーバ(コピー)103としている)の映像データアクセス管理部204が、読込み先要求501の送信元のクライアント端末105に対して読込み先応答502を返送する。
【0038】
クライアント端末105は、この読込み先応答502を返送した管理蓄積サーバ(コピー)103に接続されているストレージ(コピー)104から映像データの読込み503を行う。
【0039】
図3〜図5では処理のイメージを示したが、次に、これらの処理をフローチャートによって説明する。図6,図7は、図4及び図5のクライアント端末からのアクセス(書込み要求あるいは読込み要求)時の処理を、クライアント端末側の処理,管理蓄積サーバ側の処理としてそれぞれ示すフローチャートである。
【0040】
図6は、クライアント端末105の映像データアクセス処理の例を示す。
クライアント端末105は、映像データにアクセスする場合には、書込み先要求、読込み先要求をマルチキャストで全管理蓄積サーバ304へ送信する(ステップS1)。
【0041】
そしてクライアント端末105は、各管理蓄積サーバ101,103のうちで負荷の一番低い管理蓄積サーバからの書込み先応答あるいは読込み先応答を受信する(ステップS2)。そして、クライアント端末105は、その管理蓄積サーバに対して映像データの書込みあるいは読込みを行い(ステップS3)、処理を終了する。
【0042】
図7は、管理蓄積サーバの映像データアクセス処理の例を示す。
始めに、各管理蓄積サーバ101,103では、映像データアクセス管理部204(図2)が、クライアント端末105から書込み先要求あるいは読込み先要求をマルチキャストで受信する(ステップS11)。
【0043】
次に、映像データアクセス管理部204が、全管理蓄積サーバ負荷管理部205(図2)に対して、自己の管理蓄積サーバが全ての管理蓄積サーバ101,103のうち、どのサーバの負荷が一番低いか(但し、読込み先要求の場合には、読込み対象の映像データを蓄積している全ての管理蓄積サーバのうちで負荷が一番低いか)を問い合わせる。そして、全管理蓄積サーバ負荷管理部205が問い合わせに返答する(ステップS12)。
【0044】
この返答の結果、自サーバの負荷が一番低くなければ、そのまま処理を終了する。他方、負荷が一番低ければ、映像データアクセス管理部204が、クライアント端末105へ書込み先応答あるいは読込み先応答を返送する(ステップS13)。
【0045】
続いて、映像データアクセス管理部204は、クライアント端末105からのアクセスが書込み先要求であるかを判断する(ステップS14)。アクセスが書込み先要求であれば、映像データアクセス管理部204は、マスタ/コピーサーバ管理部206(図2)に対して、自己の管理蓄積サーバがマスタとして設定されているか(マスタとして設定されている場合は、どの管理蓄積サーバがコピーとして設定されているか)を問い合わせる。そして、マスタ/コピーサーバ管理部206が問い合わせに返答する(ステップS15)。
【0046】
この返答の結果、マスタに設定されていれば、映像データアクセス管理部204は、クライアント端末105からの映像データの書込みを受け付け、転送制御部211に対して、コピーとして設定されている管理蓄積サーバへの映像データの転送を要求する。転送制御部211は、この要求に応じて、ストレージ102に書き込まれた映像データを、コピーとして設定されている管理蓄積サーバ103に接続されたストレージ104に転送することにより、コピー素材を作成する(ステップS16)。そして、処理を終了する。
【0047】
ステップS15での返答の結果、マスタに設定されていなければ、映像データアクセス管理部204は、クライアント端末105からの映像データの書込みを受け付けて(ステップS17)、処理を終了する。
【0048】
ステップS14においてアクセスが読込み先要求であれば、映像データアクセス管理部204は、クライアント端末105による映像データの読込みを受け付けて(ステップS18)、処理を終了する。
【0049】
図8,図9は、図3の情報共有処理における、情報発信側の管理蓄積サーバの処理,情報受信側の管理蓄積サーバの処理をそれぞれ示すフローチャートである。
【0050】
図8は、管理蓄積サーバの情報共有の発信側の処理の例を示す。
各管理蓄積サーバ101,103では、全管理蓄積サーバ負荷管理部205が、映像データアクセス管理部204に対して、クライアント端末105から自己の管理蓄積サーバへの現在のアクセス数(書込み数及び読込み数)を問い合わせる。
【0051】
また、全管理蓄積サーバ負荷管理部205が、映像データ所在管理部203に対して、自己の管理蓄積サーバに接続されたストレージにおける現在のディスク使用量(どのようなファイル名の映像データをどれだけの容量蓄積しているのか)を問い合わせる。映像データアクセス管理部204,映像データ所在管理部203は、それぞれ現在のアクセス数,ディスク使用量を算出して、全管理蓄積サーバ負荷管理部205に返答する(ステップS21)。
【0052】
全管理蓄積サーバ負荷管理部205は、この返答に基づき、現在のアクセス数及びディスク使用量を、自己の管理蓄積サーバの負荷状況の情報として全管理蓄積サーバ負荷情報データベース208に格納するとともに、このアクセス数及びディスク使用量を内容とする自己の管理蓄積サーバの負荷状況通知を、自己以外の全ての管理蓄積サーバへマルチキャストで送信する(ステップS22)。
【0053】
そして全管理蓄積サーバ負荷管理部205は、一定時間(例えば5〜10秒)待機し(ステップS23)、その後再びステップS21に戻ることにより、周期的にステップS21〜S22の処理を繰り返す。なお、この問合せを行う際の通信プロトコルとして、例えば、UDP(User Datagram Protocol)が用いられる。このため、TCP(Transmission Control Protocol)を使う場合に比べて通信負荷を低く抑えることができる。
【0054】
図9は、管理蓄積サーバの情報共有の受信側の処理の例を示す。
各管理蓄積サーバ101,103では、全管理蓄積サーバ負荷管理部205が、他の管理蓄積サーバから負荷状況通知を受信する(ステップS31)。
【0055】
このとき、各管理蓄積サーバ101,103は、その負荷状況通知が示しているアクセス数及びディスク使用量を、その管理蓄積サーバの現在の負荷状況の情報として全管理蓄積サーバ負荷情報データベース208に格納し(ステップS32)、処理を終了する。
【0056】
図3〜図9を用いて説明したように、この映像データ配信システム100は、各管理蓄積サーバ101,103が、データを蓄積及び配信する蓄積サーバとしての機能を有する。さらに、映像データ配信システム100は、全管理蓄積サーバ負荷管理部205によって、それぞれ全ての管理蓄積サーバ101,103の負荷状況を管理する管理サーバとしての機能も有している。
【0057】
そして、クライアント端末105から映像データの書込み要求時には、クライアント端末105は、全ての管理蓄積サーバ101,103に対して書込み先要求をマルチキャストで送信し、負荷の一番低い管理蓄積サーバのみが、クライアント端末105へ書込み先応答を返送する。
【0058】
これにより、クライアント端末105からの映像データの書込み要求時に、或る特定の管理蓄積サーバの負荷が高くなることが防止され、各管理蓄積サーバに負荷が分散される。したがって、蓄積サーバとしての機能を有するサーバの負荷が分散されるとともに、専用の管理サーバを設ける場合と違って、全ての蓄積サーバの負荷状況を管理する機能を有するサーバの負荷も分散される。
【0059】
また、映像データの書込み時には、クライアント端末105へ書込み先応答を返送した管理蓄積サーバは、マスタとして設定されている場合、書き込まれた映像データを、コピーとして設定されている管理蓄積サーバに転送することにより、コピー素材を作成する。
【0060】
そして、クライアント端末105から映像データの読込み要求時には、クライアント端末105は、全ての管理蓄積サーバ101,103に対して読込み先要求をマルチキャストで送信する。そして、読込み対象の映像データを蓄積している全ての管理蓄積サーバ(クライアント端末105からその映像データを書き込まれた管理蓄積サーバ、及びその映像データのコピー素材を作成された管理蓄積サーバ)のうちで負荷の一番低い管理蓄積サーバのみが、クライアント端末105へ読込み先応答を返送する。
【0061】
これにより、クライアント端末105から映像データの読込み要求時にも、或る特定の管理蓄積サーバの負荷が高くなることが防止され、複数の管理蓄積サーバに負荷が分散される。
【0062】
このようにして、この映像データ配信システム100では、クライアント端末105から映像データの書込み要求時,読込み要求時のいずれにも、管理蓄積サーバの負荷が分散されるので、システム全体としてのアクセス性能を向上させることができる。
【0063】
さらに、従来、蓄積サーバを増設する場合には、増設する蓄積サーバに関する情報を管理サーバに新たにデータベースとして搭載しなければならないので、その間、管理サーバの動作を停止させてシステムの運用を停止しなければならなかった。
【0064】
これに対し、この映像データ配信システム100では、各管理蓄積サーバが、自己の管理蓄積サーバの負荷状況通知を一定周期毎にマルチキャストで送信する。したがって、システムを運用したまま管理蓄積サーバを増設しても、既存の管理蓄積サーバは、増設された管理蓄積サーバからマルチキャストで送信される負荷状況通知を受信することによって、増設された管理蓄積サーバの負荷状況を管理することができる。また増設された管理蓄積サーバも、既存の管理蓄積サーバからマルチキャストで送信される負荷状況通知を受信することによって、既存の管理蓄積サーバの負荷状況を管理することができる。
【0065】
これにより、この映像データ配信システム100では、管理蓄積サーバを増設する場合に、システムの運用を停止することなく管理蓄積サーバを増設して、各管理蓄積サーバ(既存の管理蓄積サーバ及び増設された管理蓄積サーバ)に全ての管理蓄積サーバの負荷状況を管理させることができる。
【0066】
以上のことから、この映像データ配信システム100は、例えば、ビデオオンデマンドシステムのような、蓄積した映像データに対する配信要求数にばらつきのあるシステムや、放送局用のビデオサーバシステムあるいは防災・防犯用の監視システムのような、放送スケジュールあるいは防災・防犯上の見地から無停止で運用することが要求されるシステムに適用することができる。
【0067】
<映像データへの高負荷時のコピー映像データ転送処理>
次に、映像データ配信システム100における、映像データへの高負荷時のコピー映像データ転送処理について説明する。
【0068】
図10は、映像データへの高負荷時のコピー映像データ転送処理のイメージを示す。
【0069】
例えば、管理蓄積サーバ101において、コンテンツ負荷管理部212が、ストレージ102内の映像データのうちの特定の映像データへのアクセス数が多いと判定した場合、管理蓄積サーバ101では、転送制御部211が、その映像データをマスタ映像データ110とする映像データコピー転送要求601を、そのマスタ映像データ110をまだ蓄積していない管理蓄積サーバ103のうちで負荷の一番低い管理蓄積サーバ103へ送信する。そして、その管理蓄積サーバ103が、管理蓄積サーバ101へ映像データコピー転送応答602を返信する。
【0070】
管理蓄積サーバ101では、映像データコピー転送応答602を受信すると、転送制御部211が、映像データコピー転送応答602の返信元の管理蓄積サーバ103に接続されているストレージ104に対して映像データコピー転送603を行うことにより、コピー映像データ111を作成する。
【0071】
図11,図12は、図10のコピー映像データ転送処理における要求発信側の管理蓄積サーバの処理,要求受信側の管理蓄積サーバの処理をそれぞれ示すフローチャートである。
【0072】
図11は、映像データコピー転送を要求する際における発信側の管理蓄積サーバの処理例を示す。
各管理蓄積サーバ101,103では、コンテンツ負荷管理部212が、自己の管理蓄積サーバに接続されているストレージ内の映像データのコンテンツ毎の負荷(アクセス数)を一定周期毎に監視し(ステップS41)、コンテンツ毎のアクセス数で所定の閾値を超えているコンテンツがあるか否かを判定する(ステップS42)。
【0073】
閾値を超えているコンテンツがなければ、そのまま処理を終了する。他方、閾値を超えているコンテンツがあれば、コンテンツ負荷管理部212は、全管理蓄積サーバ負荷管理部205に対して、そのコンテンツを蓄積していない他の全ての管理蓄積サーバのうち、負荷の一番低い管理蓄積サーバ(同一処理で一度コピー転送に失敗した管理蓄積サーバを除く)はどの管理蓄積サーバであるかを問い合わせる。そして、全管理蓄積サーバ負荷管理部205が問い合わせに返答することにより、コンテンツ負荷管理部212が、コピー転送先とすべき管理蓄積サーバを示す情報を取得する(ステップS43)。
【0074】
続いてコンテンツ負荷管理部212は、転送制御部211に対して、この取得した情報が示す管理蓄積サーバ宛てにコンテンツのコピー転送を行うように指示する(ステップS44)。
【0075】
転送制御部211は、このコンテンツ負荷管理部212からの指示においてコピー転送の宛先となっている管理蓄積サーバの映像データアクセス管理部204へ、コピー転送要求を送信する(ステップS45)。そして転送制御部211は、コピー転送要求の送信先の映像データアクセス管理部204から、正常であることを示す応答が返って来たか否かを判定する(ステップS46)。
【0076】
正常であることを示す応答が返って来ていれば、転送制御部211は、コンテンツ負荷管理部212からの指示においてコピー転送の宛先となっている管理蓄積サーバに接続されているストレージ104に対して、コンテンツのコピー転送を行う(ステップS47)。そして転送制御部211は、コピー転送結果(ここでは正常にコピー転送できたこと)をコンテンツ負荷管理部212へ通知する(ステップS48)。
【0077】
他方、ステップS46において正常であることを示す応答が返って来ていなければ、転送制御部211は、ステップS46からそのままステップS48に移行して、コピー転送結果(ここではコピー転送に失敗したこと)をコンテンツ負荷管理部212へ通知する。
【0078】
コンテンツ負荷管理部212は、このコピー転送結果が、正常にコピー転送できたことを示すものであるか否かを判定する(ステップS49)。正常にコピー転送できた場合は、コンテンツ負荷管理部212は、コピー転送処理を終了する(ステップS50)。他方、コピー転送に失敗した場合は、コンテンツ負荷管理部212は、再びステップS44に戻ってステップS44以下の処理を繰り返す。
【0079】
図12は、映像データコピー転送を要求する際における受信側の管理蓄積サーバの処理例を示す。
各管理蓄積サーバ101,103では、映像データアクセス管理部204が、他の管理蓄積サーバの転送制御部211からのコピー転送要求を受信すると(ステップS61)、自己の管理蓄積サーバを構成しているハードウェアのステータス情報が正常であるか否かを判定する(ステップS62)。
【0080】
正常であれば、映像データアクセス管理部204は、映像データ所在管理部203に対して、コピー転送要求のあったコンテンツの情報(コンテンツ名及びコンテンツを格納するディレクトリ名)を映像データ所在情報データベース207に書き込むことを指示する(ステップS63)。そして映像データアクセス管理部204は、コピー転送要求の送信元の管理蓄積サーバの転送制御部211へ、正常であることを示す応答結果を返送する(ステップS64)。
【0081】
続いて、転送制御部211が、コピー転送要求の送信元の管理蓄積サーバからのコピー転送を受け付ける(ステップS66)。そして、コピー転送が完了すると、転送制御部211がコピー転送完了を検知して(ステップS67)、処理を終了する。
【0082】
ステップS62において、ハードウェアのステータス情報が正常でなければ、映像データアクセス管理部204は、コピー転送要求の送信元の管理蓄積サーバの転送制御部211へ、異常であることを示す応答結果を返送する(ステップS65)。そして、処理を終了する。
【0083】
以上に図10〜図12を用いて説明したように、映像データ配信システム100では、管理蓄積サーバ101,103のうちマスタとして設定されていない管理蓄積サーバでも、或る特定の映像データについての負荷(アクセス数)が高くなった場合には、その映像データを蓄積していない管理蓄積サーバのうちで負荷の一番小さい管理蓄積サーバにその映像データを転送することにより、コピー素材を作成する。
【0084】
これにより、それ以降もその特定の映像データへのアクセス数が多い状態が続いても、管理蓄積サーバの負荷が分散されるので、システム全体としてのアクセス性能を向上させることができる。
【0085】
<変形例>
以上の実施の形態では、映像データ配信システム100に本発明を適用している。しかし、本発明は、映像データ配信システム100に限らず、映像データ以外のデータ(例えば、映像コンテンツ以外の音声データ、コンテンツ、プログラムなど)の蓄積及び配信を行うデータ配信システムにも適用してよい。
【0086】
また、本発明は上述した実施の形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
【符号の説明】
【0087】
100…映像データ配信システム,101…管理蓄積サーバ,102…ストレージ,103…管理蓄積サーバ,104…ストレージ,105…クライアント端末,202…管理部,203…映像データ所在管理部,204…映像データアクセス管理部,205…全管理蓄積サーバ負荷管理部,206…マスタ/コピーサーバ管理部,207…映像データ所在情報データベース,208…全管理蓄積サーバ負荷情報データベース,209…映像データアクセス情報データベース,210…マスタ/コピーサーバ情報データベース,211…転送制御部,212…コンテンツ負荷管理部,213…蓄積部,304…全管理蓄積サーバ
【技術分野】
【0001】
本発明は、ネットワーク経由でのクライアント端末からのアクセスに応じて、複数台のサーバでデータの蓄積及び配信を行うデータ配信システム、負荷分散方法及び蓄積サーバに関する。
【背景技術】
【0002】
ネットワーク経由でクライアント端末から書込み要求のあったデータをサーバに蓄積し、ネットワーク経由でクライアント端末から読込み要求のあったデータをサーバからクライアント端末に配信するシステムが、様々な分野で実用化されている。例えば映像データの蓄積及び配信を行うシステムとしては、ビデオオンデマンドシステムや、放送局用のビデオサーバシステムや、防災・防犯用の監視システムなどが挙げられる。
【0003】
本明細書では、これらのシステムを「データ配信システム(特に、映像データの蓄積及び配信を行うものについては映像データ配信システム)」と呼ぶことにする。また、本明細書では、これらのシステムにおいてデータを蓄積及び配信するサーバを「蓄積サーバ」と呼ぶことにする。
【0004】
こうしたデータ配信システムでは、クライアント端末からのアクセスを高速に処理するために、複数台の蓄積サーバを設けて、それらの蓄積サーバにデータを分散して蓄積させていることが少なくない。
【0005】
しかし、複数台の蓄積サーバの内、或る特定の蓄積サーバにアクセス頻度の高いデータ(例えばニュース性の高い映像データ)が蓄積されている場合には、その蓄積サーバにアクセスが偏ってしまい、その蓄積サーバの負荷が高くなる。このため、システム全体として十分なアクセス性能を発揮することができなくなる。
【0006】
そこで、こうしたデータ配信システムにおいて、各蓄積サーバに負荷を分散させる技術が従来から提案されている。例えば、特許文献1には、複数台の蓄積サーバとは別に専用の管理サーバを設け、その管理サーバに、各蓄積サーバに関する情報をデータベースとして搭載して、各蓄積サーバの負荷状況を管理させる技術が記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−320261号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、特許文献1に記載された技術では、管理サーバが多数の蓄積サーバの管理を行うので、クライアント端末からのアクセスが管理サーバに集中すると、管理サーバの負荷が高くなる。その結果、管理サーバが各蓄積サーバの負荷状況の管理を迅速に行えなくなるので、やはり、アクセス頻度の高い映像データを蓄積している蓄積サーバにアクセスが偏り、その蓄積サーバの負荷が高くなってしまう。
【0009】
本発明は、上述の点に鑑み、ネットワーク経由でのクライアント端末からのアクセスに応じて、複数台の蓄積サーバによってデータの蓄積及び配信を行うデータ配信システムにおいて、蓄積サーバや、各蓄積サーバの負荷状況を管理する機能を有するサーバの負荷を分散させることを目的とする。
【課題を解決するための手段】
【0010】
本発明に係るデータ配信システムでは、各蓄積サーバは、自己の蓄積サーバの負荷状況の情報を他の全ての蓄積サーバに送信し、他の蓄積サーバから受信した負荷状況の情報を格納する。そして各蓄積サーバは、クライアント端末からのアクセスを受け付けると、格納した負荷状況の情報に基づき、自己の蓄積サーバが全ての蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、クライアント端末に応答を返送する。
【発明の効果】
【0011】
本発明によれば、ネットワーク経由でのクライアント端末からのアクセスに応じて、複数台の蓄積サーバによってデータの蓄積及び配信を行うデータ配信システムにおいて、蓄積サーバや、各蓄積サーバの負荷状況を管理する機能を有するサーバの負荷を分散させることができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施の形態に係る映像データ配信システムの全体構成を示す図である。
【図2】管理蓄積サーバの構成を示す図である。
【図3】管理蓄積サーバ間の情報共有処理のイメージを示す図である。
【図4】クライアント端末からの書込み要求時の処理のイメージを示す図である。
【図5】クライアント端末からの読込み要求時の処理のイメージを示す図である。
【図6】クライアント端末のアクセス時の処理を示すフローチャートである。
【図7】クライアント端末からのアクセス時の管理蓄積サーバの処理を示すフローチャートである。
【図8】情報共有処理における情報発信側の管理蓄積サーバの処理を示すフローチャートである。
【図9】情報共有処理における情報受信側の管理蓄積サーバの処理を示すフローチャートである。
【図10】映像データへの高負荷時のコピー映像データ転送処理のイメージを示す図である。
【図11】映像データコピー転送を要求する際における発信側の管理蓄積サーバの処理を示すフローチャートである。
【図12】映像データコピー転送を要求する際における受信側の管理蓄積サーバの処理を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態(以下、実施の形態とする)について、図1〜図12を参照して説明する。
【0014】
<システムの構成>
図1は、本発明の一実施の形態に係る映像データ配信システム100の全体構成例を示す。
映像データ配信システム100は、管理蓄積サーバ101と、ストレージ102と、複数台の管理蓄積サーバ103と、複数台のストレージ104とで構成されている。そして、映像データ配信システム100は、ネットワーク経由でのクライアント端末からのアクセスに応じて、ネットワークに接続された複数台の管理蓄積サーバ101,103によって映像データの蓄積及び配信を行う。
【0015】
各管理蓄積サーバ101,103は、ネットワーク(広域ネットワークあるいは専用回線を用いたネットワーク)に接続されている。このネットワークには、複数台のクライアント端末105も接続されている。各管理蓄積サーバ101,103は、後で詳述するように、データを蓄積及び配信する蓄積サーバに、映像データ配信システム100を構成している全ての管理蓄積サーバ101,103の負荷状況を管理する管理サーバとしての機能を併有させたものである。
【0016】
各ストレージ102,104は、例えばRAID構成としたハードディスク装置のように大容量の映像記録装置が用いられる。ストレージ102は、管理蓄積サーバ101に接続されている。各ストレージ104は、それぞれ1台ずつの各管理蓄積サーバ103に接続されている。
【0017】
なお、図1では管理蓄積サーバ101及びストレージ102を「マスタ」と表記し、1台の管理蓄積サーバ103及びストレージ104を「コピー」と表記しているが、マスタ,コピーの意味については後述する。
【0018】
図2は、管理蓄積サーバ101の内部構成例を示す。
ただし、各管理蓄積サーバ101,103は、同一の構成としているため、ここでは管理蓄積サーバ101についてのみ説明を行う。
【0019】
管理蓄積サーバ101には、マイクロプロセッサから成る管理部202と、例えばハードディスク装置のような記録装置から成る蓄積部213とが設けられている。
【0020】
管理部202は、所定の処理を行う処理部として、映像データ所在管理部203と、映像データアクセス管理部204と、全管理蓄積サーバ負荷管理部205と、マスタ/コピーサーバ管理部206と、転送制御部211と、コンテンツ負荷管理部212と、を備える。また、管理部202は、データを蓄積するデータベースとして、映像データ所在情報データベース207と、全管理蓄積サーバ負荷情報データベース208と、映像データアクセス情報データベース209と、マスタ/コピーサーバ情報データベース210と、を備える。これらの各部の処理や各データベースに格納される情報は、蓄積部213に格納されているプログラムやデータベースを、管理部202がロードすることによって実現される。
【0021】
映像データ所在管理部203は、自己の管理蓄積サーバに接続されているストレージ(管理蓄積サーバ101ではストレージ102)の各ディレクトリに、どのようなファイル名の映像データがどれだけの容量だけ蓄積されているのかを管理するためのプログラムである。映像データ所在情報データベース207は、映像データ所在管理部203がこの管理を行うために用いるデータベースである。
【0022】
映像データアクセス管理部204は、クライアント端末105からのアクセスを受け付け、全管理蓄積サーバ負荷管理部205に格納された負荷状況の情報に基づき、自己の蓄積サーバ101が全ての蓄積サーバ101のうちで負荷の一番低い蓄積サーバ101である場合に、クライアント端末に応答を返送するプログラムである。また、映像データアクセス管理部204は、クライアント端末105から自己の管理蓄積サーバへのアクセス数を管理するためのプログラムである。映像データアクセス情報データベース209は、映像データアクセス管理部204がこのアクセス数の管理を行うために用いるデータベースである。
【0023】
全管理蓄積サーバ負荷管理部205は、映像データ配信システム100を構成している全ての管理蓄積サーバ101,103の負荷状況を管理するためのプログラムである。全管理蓄積サーバ負荷管理部205は、自己の蓄積サーバ101の負荷状況の情報を他の全ての蓄積サーバ101に送信し、他の蓄積サーバ101から受信した負荷状況の情報を格納する。全管理蓄積サーバ負荷情報データベース208は、全管理蓄積サーバ負荷管理部205がこの管理を行うために用いるデータベースである。
【0024】
マスタ/コピーサーバ管理部206は、どの蓄積サーバが映像データのコピー元であり、どの蓄積サーバが映像データのコピー先であるかの設定情報を管理するプログラムである。また、マスタ/コピーサーバ管理部206は、映像データ配信システム100を構成している各管理蓄積サーバのうち、どの管理蓄積サーバが映像データのコピー元(マスタ)であり、どの管理蓄積サーバが映像データのコピー先(コピー)であるかの設定情報を管理するためのプログラムである。マスタ/コピーサーバ情報データベース210は、マスタ/コピーサーバ管理部206がこの管理を行うために用いるデータベースである。
【0025】
なお、どの管理蓄積サーバをマスタとして設定し、どの管理蓄積サーバをコピーとして設定するかは、システムの管理者の設定操作によって決定される。図1では、映像データ配信システム100を構成している複数台の管理蓄積サーバ101,103のうち、この設定操作によってマスタとして設定された管理蓄積サーバ101(及び管理蓄積サーバ101に接続されたストレージ102)をマスタと表記している。そして、システム管理者の設定操作によってコピーとして設定された複数台の管理蓄積サーバ103(及びその管理蓄積サーバ103に接続されたストレージ104)をコピーと表記している。
【0026】
転送制御部211は、自己の管理蓄積サーバ(本例では、管理蓄積サーバ101)がマスタとして設定されている場合に、自己の管理蓄積サーバに書き込まれた映像データを、コピーとして設定されている管理蓄積サーバ(本例では、管理蓄積サーバ103)に転送するためのプログラムである。そして、転送制御部211は、映像データアクセス管理部204がクライアント端末105からの書込み要求に対して応答を返送したことによりデータが書き込まれた後、マスタ/コピーサーバ管理部206で管理されている設定情報に基づき、自己の蓄積サーバ101がコピー元として設定されている場合に、書き込まれたデータを、コピー先として設定されている蓄積サーバ101に転送する。
【0027】
コンテンツ負荷管理部212は、自己の管理蓄積サーバにおけるコンテンツ(クライアント端末105からのアクセスの単位となる映像データ)毎の負荷状況を管理するためのプログラムである。
【0028】
<情報共有処理及びアクセス時の処理>
次に、映像データ配信システム100における、情報共有処理と、クライアント端末からのアクセス時の処理とについて説明する。
【0029】
図3は、各管理蓄積サーバ101,103間の情報共有処理のイメージを示す。
管理蓄積サーバ101では、図2に示した全管理蓄積サーバ負荷管理部205が、自己以外の全ての管理蓄積サーバ103へ、自己の管理蓄積サーバの負荷状況通知301をマルチキャストで送信する。また図示は省略しているが、各管理蓄積サーバ103でも、全く同様にして、全管理蓄積サーバ負荷管理部205が、自己以外の全ての管理蓄積サーバへ、自己の管理蓄積サーバの負荷状況通知をマルチキャストで送信する。そして、各管理蓄積サーバ101,103において、全管理蓄積サーバ負荷管理部205が、それぞれ他の管理蓄積サーバからの負荷状況通知を受信して、全ての管理蓄積サーバ101,103の負荷状況の情報を共有する。
【0030】
なお、図3では、映像データ配信システム100を構成している各管理蓄積サーバ101,103及び各ストレージ102,104の全体を、クライアント端末105側から見た場合の仮想的な1台の管理蓄積サーバである全管理蓄積サーバ304として示している。以下の図4,図5,図10でも同様である。
【0031】
図4は、クライアント端末105からの書込み要求時の処理のイメージを示す。
クライアント端末105は、全管理蓄積サーバ304に対して書込み先要求401をマルチキャストで送信する。
【0032】
各管理蓄積サーバ101,103では、それぞれ映像データアクセス管理部204(図2)が、この書込み先要求401を受け付けて、全管理蓄積サーバ負荷管理部205(図2)に対して、自己の管理蓄積サーバが全ての管理蓄積サーバ101,103のうちで負荷が一番低いかを問い合わせる。全管理蓄積サーバ負荷管理部205は、図3に示す情報共有処理によって全ての管理蓄積サーバ101,103の負荷状況の情報を保有しているので、その情報に基づいて問い合わせに返答する。
【0033】
そして、この返答の結果、負荷が一番低かった管理蓄積サーバ(図4では一例として管理蓄積サーバ101としている)の映像データアクセス管理部204が、書込み先要求401の送信元のクライアント端末105に対して書込み先応答402を返送する。その後、クライアント端末105は、この書込み先応答402を返送した管理蓄積サーバ101に接続されたストレージ102に映像データの書込み403を行う。
【0034】
管理蓄積サーバ101では、マスタ/コピーサーバ管理部206(図2)が、自己の管理蓄積サーバがマスタとして設定され、管理蓄積サーバ(コピー)103がコピーとして設定されていることを管理している。そこで、管理蓄積サーバ101では、映像データアクセス管理部204が、転送制御部211(図2)に対して、ストレージ102に書き込まれた映像データを管理蓄積サーバ(コピー)103に転送することを要求する。転送制御部211は、この要求に応じて、管理蓄積サーバ(コピー)103に接続されたストレージ(コピー)104への映像データの転送404を行うことにより、コピー素材を作成する。
【0035】
図5は、クライアント端末105からの読込み要求時の処理のイメージを示す。
クライアント端末105は、全管理蓄積サーバ304に対して読込み先要求501をマルチキャストで送信する。
【0036】
各管理蓄積サーバ101,103では、それぞれ映像データアクセス管理部204が、この読込み先要求501を受け付けて映像データ所在管理部203と全管理蓄積サーバ負荷管理部205に対して、自己の管理蓄積サーバが、読込み対象の映像データを蓄積している全ての管理蓄積サーバのうちで負荷の一番低い管理蓄積サーバであるかを問い合わせる。全管理蓄積サーバ負荷管理部205は、図3の情報共有処理によって保有している情報に基づいて問い合わせに返答する。
【0037】
そして、この返答の結果、負荷が一番低かった管理蓄積サーバ(図5では一例として管理蓄積サーバ(コピー)103としている)の映像データアクセス管理部204が、読込み先要求501の送信元のクライアント端末105に対して読込み先応答502を返送する。
【0038】
クライアント端末105は、この読込み先応答502を返送した管理蓄積サーバ(コピー)103に接続されているストレージ(コピー)104から映像データの読込み503を行う。
【0039】
図3〜図5では処理のイメージを示したが、次に、これらの処理をフローチャートによって説明する。図6,図7は、図4及び図5のクライアント端末からのアクセス(書込み要求あるいは読込み要求)時の処理を、クライアント端末側の処理,管理蓄積サーバ側の処理としてそれぞれ示すフローチャートである。
【0040】
図6は、クライアント端末105の映像データアクセス処理の例を示す。
クライアント端末105は、映像データにアクセスする場合には、書込み先要求、読込み先要求をマルチキャストで全管理蓄積サーバ304へ送信する(ステップS1)。
【0041】
そしてクライアント端末105は、各管理蓄積サーバ101,103のうちで負荷の一番低い管理蓄積サーバからの書込み先応答あるいは読込み先応答を受信する(ステップS2)。そして、クライアント端末105は、その管理蓄積サーバに対して映像データの書込みあるいは読込みを行い(ステップS3)、処理を終了する。
【0042】
図7は、管理蓄積サーバの映像データアクセス処理の例を示す。
始めに、各管理蓄積サーバ101,103では、映像データアクセス管理部204(図2)が、クライアント端末105から書込み先要求あるいは読込み先要求をマルチキャストで受信する(ステップS11)。
【0043】
次に、映像データアクセス管理部204が、全管理蓄積サーバ負荷管理部205(図2)に対して、自己の管理蓄積サーバが全ての管理蓄積サーバ101,103のうち、どのサーバの負荷が一番低いか(但し、読込み先要求の場合には、読込み対象の映像データを蓄積している全ての管理蓄積サーバのうちで負荷が一番低いか)を問い合わせる。そして、全管理蓄積サーバ負荷管理部205が問い合わせに返答する(ステップS12)。
【0044】
この返答の結果、自サーバの負荷が一番低くなければ、そのまま処理を終了する。他方、負荷が一番低ければ、映像データアクセス管理部204が、クライアント端末105へ書込み先応答あるいは読込み先応答を返送する(ステップS13)。
【0045】
続いて、映像データアクセス管理部204は、クライアント端末105からのアクセスが書込み先要求であるかを判断する(ステップS14)。アクセスが書込み先要求であれば、映像データアクセス管理部204は、マスタ/コピーサーバ管理部206(図2)に対して、自己の管理蓄積サーバがマスタとして設定されているか(マスタとして設定されている場合は、どの管理蓄積サーバがコピーとして設定されているか)を問い合わせる。そして、マスタ/コピーサーバ管理部206が問い合わせに返答する(ステップS15)。
【0046】
この返答の結果、マスタに設定されていれば、映像データアクセス管理部204は、クライアント端末105からの映像データの書込みを受け付け、転送制御部211に対して、コピーとして設定されている管理蓄積サーバへの映像データの転送を要求する。転送制御部211は、この要求に応じて、ストレージ102に書き込まれた映像データを、コピーとして設定されている管理蓄積サーバ103に接続されたストレージ104に転送することにより、コピー素材を作成する(ステップS16)。そして、処理を終了する。
【0047】
ステップS15での返答の結果、マスタに設定されていなければ、映像データアクセス管理部204は、クライアント端末105からの映像データの書込みを受け付けて(ステップS17)、処理を終了する。
【0048】
ステップS14においてアクセスが読込み先要求であれば、映像データアクセス管理部204は、クライアント端末105による映像データの読込みを受け付けて(ステップS18)、処理を終了する。
【0049】
図8,図9は、図3の情報共有処理における、情報発信側の管理蓄積サーバの処理,情報受信側の管理蓄積サーバの処理をそれぞれ示すフローチャートである。
【0050】
図8は、管理蓄積サーバの情報共有の発信側の処理の例を示す。
各管理蓄積サーバ101,103では、全管理蓄積サーバ負荷管理部205が、映像データアクセス管理部204に対して、クライアント端末105から自己の管理蓄積サーバへの現在のアクセス数(書込み数及び読込み数)を問い合わせる。
【0051】
また、全管理蓄積サーバ負荷管理部205が、映像データ所在管理部203に対して、自己の管理蓄積サーバに接続されたストレージにおける現在のディスク使用量(どのようなファイル名の映像データをどれだけの容量蓄積しているのか)を問い合わせる。映像データアクセス管理部204,映像データ所在管理部203は、それぞれ現在のアクセス数,ディスク使用量を算出して、全管理蓄積サーバ負荷管理部205に返答する(ステップS21)。
【0052】
全管理蓄積サーバ負荷管理部205は、この返答に基づき、現在のアクセス数及びディスク使用量を、自己の管理蓄積サーバの負荷状況の情報として全管理蓄積サーバ負荷情報データベース208に格納するとともに、このアクセス数及びディスク使用量を内容とする自己の管理蓄積サーバの負荷状況通知を、自己以外の全ての管理蓄積サーバへマルチキャストで送信する(ステップS22)。
【0053】
そして全管理蓄積サーバ負荷管理部205は、一定時間(例えば5〜10秒)待機し(ステップS23)、その後再びステップS21に戻ることにより、周期的にステップS21〜S22の処理を繰り返す。なお、この問合せを行う際の通信プロトコルとして、例えば、UDP(User Datagram Protocol)が用いられる。このため、TCP(Transmission Control Protocol)を使う場合に比べて通信負荷を低く抑えることができる。
【0054】
図9は、管理蓄積サーバの情報共有の受信側の処理の例を示す。
各管理蓄積サーバ101,103では、全管理蓄積サーバ負荷管理部205が、他の管理蓄積サーバから負荷状況通知を受信する(ステップS31)。
【0055】
このとき、各管理蓄積サーバ101,103は、その負荷状況通知が示しているアクセス数及びディスク使用量を、その管理蓄積サーバの現在の負荷状況の情報として全管理蓄積サーバ負荷情報データベース208に格納し(ステップS32)、処理を終了する。
【0056】
図3〜図9を用いて説明したように、この映像データ配信システム100は、各管理蓄積サーバ101,103が、データを蓄積及び配信する蓄積サーバとしての機能を有する。さらに、映像データ配信システム100は、全管理蓄積サーバ負荷管理部205によって、それぞれ全ての管理蓄積サーバ101,103の負荷状況を管理する管理サーバとしての機能も有している。
【0057】
そして、クライアント端末105から映像データの書込み要求時には、クライアント端末105は、全ての管理蓄積サーバ101,103に対して書込み先要求をマルチキャストで送信し、負荷の一番低い管理蓄積サーバのみが、クライアント端末105へ書込み先応答を返送する。
【0058】
これにより、クライアント端末105からの映像データの書込み要求時に、或る特定の管理蓄積サーバの負荷が高くなることが防止され、各管理蓄積サーバに負荷が分散される。したがって、蓄積サーバとしての機能を有するサーバの負荷が分散されるとともに、専用の管理サーバを設ける場合と違って、全ての蓄積サーバの負荷状況を管理する機能を有するサーバの負荷も分散される。
【0059】
また、映像データの書込み時には、クライアント端末105へ書込み先応答を返送した管理蓄積サーバは、マスタとして設定されている場合、書き込まれた映像データを、コピーとして設定されている管理蓄積サーバに転送することにより、コピー素材を作成する。
【0060】
そして、クライアント端末105から映像データの読込み要求時には、クライアント端末105は、全ての管理蓄積サーバ101,103に対して読込み先要求をマルチキャストで送信する。そして、読込み対象の映像データを蓄積している全ての管理蓄積サーバ(クライアント端末105からその映像データを書き込まれた管理蓄積サーバ、及びその映像データのコピー素材を作成された管理蓄積サーバ)のうちで負荷の一番低い管理蓄積サーバのみが、クライアント端末105へ読込み先応答を返送する。
【0061】
これにより、クライアント端末105から映像データの読込み要求時にも、或る特定の管理蓄積サーバの負荷が高くなることが防止され、複数の管理蓄積サーバに負荷が分散される。
【0062】
このようにして、この映像データ配信システム100では、クライアント端末105から映像データの書込み要求時,読込み要求時のいずれにも、管理蓄積サーバの負荷が分散されるので、システム全体としてのアクセス性能を向上させることができる。
【0063】
さらに、従来、蓄積サーバを増設する場合には、増設する蓄積サーバに関する情報を管理サーバに新たにデータベースとして搭載しなければならないので、その間、管理サーバの動作を停止させてシステムの運用を停止しなければならなかった。
【0064】
これに対し、この映像データ配信システム100では、各管理蓄積サーバが、自己の管理蓄積サーバの負荷状況通知を一定周期毎にマルチキャストで送信する。したがって、システムを運用したまま管理蓄積サーバを増設しても、既存の管理蓄積サーバは、増設された管理蓄積サーバからマルチキャストで送信される負荷状況通知を受信することによって、増設された管理蓄積サーバの負荷状況を管理することができる。また増設された管理蓄積サーバも、既存の管理蓄積サーバからマルチキャストで送信される負荷状況通知を受信することによって、既存の管理蓄積サーバの負荷状況を管理することができる。
【0065】
これにより、この映像データ配信システム100では、管理蓄積サーバを増設する場合に、システムの運用を停止することなく管理蓄積サーバを増設して、各管理蓄積サーバ(既存の管理蓄積サーバ及び増設された管理蓄積サーバ)に全ての管理蓄積サーバの負荷状況を管理させることができる。
【0066】
以上のことから、この映像データ配信システム100は、例えば、ビデオオンデマンドシステムのような、蓄積した映像データに対する配信要求数にばらつきのあるシステムや、放送局用のビデオサーバシステムあるいは防災・防犯用の監視システムのような、放送スケジュールあるいは防災・防犯上の見地から無停止で運用することが要求されるシステムに適用することができる。
【0067】
<映像データへの高負荷時のコピー映像データ転送処理>
次に、映像データ配信システム100における、映像データへの高負荷時のコピー映像データ転送処理について説明する。
【0068】
図10は、映像データへの高負荷時のコピー映像データ転送処理のイメージを示す。
【0069】
例えば、管理蓄積サーバ101において、コンテンツ負荷管理部212が、ストレージ102内の映像データのうちの特定の映像データへのアクセス数が多いと判定した場合、管理蓄積サーバ101では、転送制御部211が、その映像データをマスタ映像データ110とする映像データコピー転送要求601を、そのマスタ映像データ110をまだ蓄積していない管理蓄積サーバ103のうちで負荷の一番低い管理蓄積サーバ103へ送信する。そして、その管理蓄積サーバ103が、管理蓄積サーバ101へ映像データコピー転送応答602を返信する。
【0070】
管理蓄積サーバ101では、映像データコピー転送応答602を受信すると、転送制御部211が、映像データコピー転送応答602の返信元の管理蓄積サーバ103に接続されているストレージ104に対して映像データコピー転送603を行うことにより、コピー映像データ111を作成する。
【0071】
図11,図12は、図10のコピー映像データ転送処理における要求発信側の管理蓄積サーバの処理,要求受信側の管理蓄積サーバの処理をそれぞれ示すフローチャートである。
【0072】
図11は、映像データコピー転送を要求する際における発信側の管理蓄積サーバの処理例を示す。
各管理蓄積サーバ101,103では、コンテンツ負荷管理部212が、自己の管理蓄積サーバに接続されているストレージ内の映像データのコンテンツ毎の負荷(アクセス数)を一定周期毎に監視し(ステップS41)、コンテンツ毎のアクセス数で所定の閾値を超えているコンテンツがあるか否かを判定する(ステップS42)。
【0073】
閾値を超えているコンテンツがなければ、そのまま処理を終了する。他方、閾値を超えているコンテンツがあれば、コンテンツ負荷管理部212は、全管理蓄積サーバ負荷管理部205に対して、そのコンテンツを蓄積していない他の全ての管理蓄積サーバのうち、負荷の一番低い管理蓄積サーバ(同一処理で一度コピー転送に失敗した管理蓄積サーバを除く)はどの管理蓄積サーバであるかを問い合わせる。そして、全管理蓄積サーバ負荷管理部205が問い合わせに返答することにより、コンテンツ負荷管理部212が、コピー転送先とすべき管理蓄積サーバを示す情報を取得する(ステップS43)。
【0074】
続いてコンテンツ負荷管理部212は、転送制御部211に対して、この取得した情報が示す管理蓄積サーバ宛てにコンテンツのコピー転送を行うように指示する(ステップS44)。
【0075】
転送制御部211は、このコンテンツ負荷管理部212からの指示においてコピー転送の宛先となっている管理蓄積サーバの映像データアクセス管理部204へ、コピー転送要求を送信する(ステップS45)。そして転送制御部211は、コピー転送要求の送信先の映像データアクセス管理部204から、正常であることを示す応答が返って来たか否かを判定する(ステップS46)。
【0076】
正常であることを示す応答が返って来ていれば、転送制御部211は、コンテンツ負荷管理部212からの指示においてコピー転送の宛先となっている管理蓄積サーバに接続されているストレージ104に対して、コンテンツのコピー転送を行う(ステップS47)。そして転送制御部211は、コピー転送結果(ここでは正常にコピー転送できたこと)をコンテンツ負荷管理部212へ通知する(ステップS48)。
【0077】
他方、ステップS46において正常であることを示す応答が返って来ていなければ、転送制御部211は、ステップS46からそのままステップS48に移行して、コピー転送結果(ここではコピー転送に失敗したこと)をコンテンツ負荷管理部212へ通知する。
【0078】
コンテンツ負荷管理部212は、このコピー転送結果が、正常にコピー転送できたことを示すものであるか否かを判定する(ステップS49)。正常にコピー転送できた場合は、コンテンツ負荷管理部212は、コピー転送処理を終了する(ステップS50)。他方、コピー転送に失敗した場合は、コンテンツ負荷管理部212は、再びステップS44に戻ってステップS44以下の処理を繰り返す。
【0079】
図12は、映像データコピー転送を要求する際における受信側の管理蓄積サーバの処理例を示す。
各管理蓄積サーバ101,103では、映像データアクセス管理部204が、他の管理蓄積サーバの転送制御部211からのコピー転送要求を受信すると(ステップS61)、自己の管理蓄積サーバを構成しているハードウェアのステータス情報が正常であるか否かを判定する(ステップS62)。
【0080】
正常であれば、映像データアクセス管理部204は、映像データ所在管理部203に対して、コピー転送要求のあったコンテンツの情報(コンテンツ名及びコンテンツを格納するディレクトリ名)を映像データ所在情報データベース207に書き込むことを指示する(ステップS63)。そして映像データアクセス管理部204は、コピー転送要求の送信元の管理蓄積サーバの転送制御部211へ、正常であることを示す応答結果を返送する(ステップS64)。
【0081】
続いて、転送制御部211が、コピー転送要求の送信元の管理蓄積サーバからのコピー転送を受け付ける(ステップS66)。そして、コピー転送が完了すると、転送制御部211がコピー転送完了を検知して(ステップS67)、処理を終了する。
【0082】
ステップS62において、ハードウェアのステータス情報が正常でなければ、映像データアクセス管理部204は、コピー転送要求の送信元の管理蓄積サーバの転送制御部211へ、異常であることを示す応答結果を返送する(ステップS65)。そして、処理を終了する。
【0083】
以上に図10〜図12を用いて説明したように、映像データ配信システム100では、管理蓄積サーバ101,103のうちマスタとして設定されていない管理蓄積サーバでも、或る特定の映像データについての負荷(アクセス数)が高くなった場合には、その映像データを蓄積していない管理蓄積サーバのうちで負荷の一番小さい管理蓄積サーバにその映像データを転送することにより、コピー素材を作成する。
【0084】
これにより、それ以降もその特定の映像データへのアクセス数が多い状態が続いても、管理蓄積サーバの負荷が分散されるので、システム全体としてのアクセス性能を向上させることができる。
【0085】
<変形例>
以上の実施の形態では、映像データ配信システム100に本発明を適用している。しかし、本発明は、映像データ配信システム100に限らず、映像データ以外のデータ(例えば、映像コンテンツ以外の音声データ、コンテンツ、プログラムなど)の蓄積及び配信を行うデータ配信システムにも適用してよい。
【0086】
また、本発明は上述した実施の形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
【符号の説明】
【0087】
100…映像データ配信システム,101…管理蓄積サーバ,102…ストレージ,103…管理蓄積サーバ,104…ストレージ,105…クライアント端末,202…管理部,203…映像データ所在管理部,204…映像データアクセス管理部,205…全管理蓄積サーバ負荷管理部,206…マスタ/コピーサーバ管理部,207…映像データ所在情報データベース,208…全管理蓄積サーバ負荷情報データベース,209…映像データアクセス情報データベース,210…マスタ/コピーサーバ情報データベース,211…転送制御部,212…コンテンツ負荷管理部,213…蓄積部,304…全管理蓄積サーバ
【特許請求の範囲】
【請求項1】
ネットワーク経由でのクライアント端末からのアクセスに応じて、前記ネットワークに接続された複数台の蓄積サーバによってデータの蓄積及び配信を行うデータ配信システムにおいて、
前記蓄積サーバは、
自己の蓄積サーバの負荷状況の情報を他の全ての前記蓄積サーバに送信し、他の前記蓄積サーバから受信した負荷状況の情報を格納する全サーバ負荷管理部と、
前記クライアント端末からのアクセスを受け付け、前記全サーバ負荷管理部に格納された負荷状況の情報に基づき、自己の蓄積サーバが全ての前記蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、前記クライアント端末に応答を返送するデータアクセス管理部と、を備えた
データ配信システム。
【請求項2】
前記蓄積サーバは、
前記複数台の蓄積サーバのうち、どの蓄積サーバが映像データのコピー元であり、どの蓄積サーバが映像データのコピー先であるかの設定情報を管理するマスタ/コピーサーバ管理部と、
前記データアクセス管理部が前記クライアント端末からの書込み要求に対して応答を返送したことによりデータが書き込まれた後、前記マスタ/コピーサーバ管理部で管理されている設定情報に基づき、自己の蓄積サーバがコピー元として設定されている場合に、前記書き込まれたデータを、コピー先として設定されている蓄積サーバに転送する転送制御部と、を備えた
請求項1に記載のデータ配信システム。
【請求項3】
前記データアクセス管理部は、前記クライアント端末からの読込み要求を受け付けた場合、前記全サーバ負荷管理部に格納された負荷状況の情報に基づき、自己の蓄積サーバが、読込み対象の映像データを蓄積している全ての前記蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、前記クライアント端末に応答を返送する
請求項2に記載のデータ配信システム。
【請求項4】
前記蓄積サーバは、
前記クライアント端末からのアクセスの単位となるデータをコンテンツとした場合に、自己の蓄積サーバにおける前記コンテンツ毎の負荷状況を管理するコンテンツ負荷管理部をさらに備え、
前記転送制御部は、前記コンテンツ負荷管理部によって負荷が所定の閾値を超えているデータが存在すると判定された場合に、前記全サーバ負荷管理部に格納された負荷状況の情報に基づき、前記閾値を超えているデータを蓄積していない他の全ての蓄積サーバのうちで負荷の一番低い蓄積サーバに、前記閾値を超えているデータを転送する
請求項3に記載のデータ配信システム。
【請求項5】
ネットワーク経由でのクライアント端末からのアクセスに応じて、前記ネットワークに接続された複数台の蓄積サーバによってデータの蓄積及び配信を行うデータ配信システムにおける負荷分散方法において、
前記蓄積サーバが、自己の蓄積サーバの負荷状況の情報を他の全ての前記蓄積サーバに送信し、他の前記蓄積サーバから受信した負荷状況の情報を格納する全サーバ負荷管理ステップと、
前記蓄積サーバが、前記クライアント端末からのアクセスを受け付け、前記全サーバ負荷管理ステップで格納した負荷状況の情報に基づき、自己の蓄積サーバが全ての前記蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、前記クライアント端末に応答を返送するデータアクセス管理ステップと、を有する
負荷分散方法。
【請求項6】
ネットワーク経由でのクライアント端末からのアクセスに応じてデータの蓄積及び配信を行う蓄積サーバにおいて、
自己の蓄積サーバの負荷状況の情報を、前記ネットワークに接続された他の全ての蓄積サーバに送信し、前記ネットワークに接続された他の蓄積サーバから受信した負荷状況の情報を格納する全サーバ負荷管理部と、
前記クライアント端末からのアクセスを受け付け、前記全サーバ負荷管理部に格納された負荷状況の情報に基づき、自己の蓄積サーバが前記ネットワークに接続された全ての前記蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、前記クライアント端末に応答を返送するデータアクセス管理部と、を備えた
蓄積サーバ。
【請求項1】
ネットワーク経由でのクライアント端末からのアクセスに応じて、前記ネットワークに接続された複数台の蓄積サーバによってデータの蓄積及び配信を行うデータ配信システムにおいて、
前記蓄積サーバは、
自己の蓄積サーバの負荷状況の情報を他の全ての前記蓄積サーバに送信し、他の前記蓄積サーバから受信した負荷状況の情報を格納する全サーバ負荷管理部と、
前記クライアント端末からのアクセスを受け付け、前記全サーバ負荷管理部に格納された負荷状況の情報に基づき、自己の蓄積サーバが全ての前記蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、前記クライアント端末に応答を返送するデータアクセス管理部と、を備えた
データ配信システム。
【請求項2】
前記蓄積サーバは、
前記複数台の蓄積サーバのうち、どの蓄積サーバが映像データのコピー元であり、どの蓄積サーバが映像データのコピー先であるかの設定情報を管理するマスタ/コピーサーバ管理部と、
前記データアクセス管理部が前記クライアント端末からの書込み要求に対して応答を返送したことによりデータが書き込まれた後、前記マスタ/コピーサーバ管理部で管理されている設定情報に基づき、自己の蓄積サーバがコピー元として設定されている場合に、前記書き込まれたデータを、コピー先として設定されている蓄積サーバに転送する転送制御部と、を備えた
請求項1に記載のデータ配信システム。
【請求項3】
前記データアクセス管理部は、前記クライアント端末からの読込み要求を受け付けた場合、前記全サーバ負荷管理部に格納された負荷状況の情報に基づき、自己の蓄積サーバが、読込み対象の映像データを蓄積している全ての前記蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、前記クライアント端末に応答を返送する
請求項2に記載のデータ配信システム。
【請求項4】
前記蓄積サーバは、
前記クライアント端末からのアクセスの単位となるデータをコンテンツとした場合に、自己の蓄積サーバにおける前記コンテンツ毎の負荷状況を管理するコンテンツ負荷管理部をさらに備え、
前記転送制御部は、前記コンテンツ負荷管理部によって負荷が所定の閾値を超えているデータが存在すると判定された場合に、前記全サーバ負荷管理部に格納された負荷状況の情報に基づき、前記閾値を超えているデータを蓄積していない他の全ての蓄積サーバのうちで負荷の一番低い蓄積サーバに、前記閾値を超えているデータを転送する
請求項3に記載のデータ配信システム。
【請求項5】
ネットワーク経由でのクライアント端末からのアクセスに応じて、前記ネットワークに接続された複数台の蓄積サーバによってデータの蓄積及び配信を行うデータ配信システムにおける負荷分散方法において、
前記蓄積サーバが、自己の蓄積サーバの負荷状況の情報を他の全ての前記蓄積サーバに送信し、他の前記蓄積サーバから受信した負荷状況の情報を格納する全サーバ負荷管理ステップと、
前記蓄積サーバが、前記クライアント端末からのアクセスを受け付け、前記全サーバ負荷管理ステップで格納した負荷状況の情報に基づき、自己の蓄積サーバが全ての前記蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、前記クライアント端末に応答を返送するデータアクセス管理ステップと、を有する
負荷分散方法。
【請求項6】
ネットワーク経由でのクライアント端末からのアクセスに応じてデータの蓄積及び配信を行う蓄積サーバにおいて、
自己の蓄積サーバの負荷状況の情報を、前記ネットワークに接続された他の全ての蓄積サーバに送信し、前記ネットワークに接続された他の蓄積サーバから受信した負荷状況の情報を格納する全サーバ負荷管理部と、
前記クライアント端末からのアクセスを受け付け、前記全サーバ負荷管理部に格納された負荷状況の情報に基づき、自己の蓄積サーバが前記ネットワークに接続された全ての前記蓄積サーバのうちで負荷の一番低い蓄積サーバである場合に、前記クライアント端末に応答を返送するデータアクセス管理部と、を備えた
蓄積サーバ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−191907(P2011−191907A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−56213(P2010−56213)
【出願日】平成22年3月12日(2010.3.12)
【出願人】(000153443)株式会社日立情報制御ソリューションズ (359)
【Fターム(参考)】
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願日】平成22年3月12日(2010.3.12)
【出願人】(000153443)株式会社日立情報制御ソリューションズ (359)
【Fターム(参考)】
[ Back to top ]