(57)【要約】      （修正有）【課題】ストリーム配信装置において、中継されるキャッシュサーバのみならずネットワーク内の他のキャッシュサーバと配信サーバとを一元的に資源管理することにより、配信サーバの負荷を軽減し、配信サーバの障害時においても、正常配信を可能にする。【解決手段】少なくとも１片のストリームデータを保持する少なくとも１つのストリーム配信サーバと、該ストリーム配信サーバへの配信要求の集中を回避して負荷分散を行う負荷分散サーバと、該ストリームデータをキャッシュする複数のキャッシュサーバと、を含み、該負荷分散サーバが、該キャッシュサーバにおけるストリームデータ保持情報データを記憶するストリームデータ保持情報記憶手段と、該ストリームデータ保持情報データに基づき該キャッシュサーバのうちの１つをして少なくとも１片のストリームデータを該利用者端末へ送信せしめる制御手段と、を有する。【選択図】図１
2007265186.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されて少なくとも１片のストリームデータを保持する少なくとも１つのストリーム配信サーバと、前記ネットワークに接続されて前記ストリーム配信サーバへの配信要求の集中を回避して負荷分散を行う負荷分散サーバと、前記ネットワークと同一のネットワークに接続されて前記ストリームデータをキャッシュする複数のキャッシュサーバと、を含み、利用者端末からのストリームデータ配信要求に応じてストリームデータを配信するストリーム配信装置であって、
前記負荷分散サーバが、前記キャッシュサーバにおけるストリームデータ保持情報データを記憶するストリームデータ保持情報記憶手段と、前記ストリームデータ保持情報データに基づき前記キャッシュサーバのうちの１つをして少なくとも１片のストリームデータを前記利用者端末へ送信せしめる制御手段と、を有することを特徴とするストリーム配信装置。
【請求項２】
前記負荷分散サーバが、前記ストリーム配信装置と前記キャッシュサーバとの負荷情報データを記憶したサーバ管理手段をさらに有し、前記制御部が前記負荷情報データに基づき前記キャッシュサーバのうちの１つをして少なくとも１片のストリームデータを前記利用者端末へ送信せしめることを特徴とする請求項１記載のストリーム配信装置。
【請求項３】
前記負荷分散サーバが、前記端末装置と前記キャッシュサーバとの間の配信コスト情報データを記憶した配信コスト管理記憶手段をさらに有し、前記制御手段が、前記配信コスト情報データに基づき前記キャッシュサーバのうちの１つをして少なくとも１片のストリームデータを前記利用者端末へ送信せしめることを特徴とする請求項１及び２記載のストリーム配信装置。
【請求項４】
前記負荷分散サーバが、前記ストリーム配信装置と前記キャッシュサーバとの負荷情報データを記憶したサーバ管理手段をさらに有し、前記制御部が、前記サーバ管理手段に基づき前記ストリーム配信サーバのうちの１つをして少なくとも１片のストリームデータを前記利用者端末へ送信せしめることを特徴とする請求項１記載のストリーム配信装置。
【請求項５】
前記制御手段は、前記ストリーム配信サーバ及び前記キャッシュサーバにストリームデータが追加、削除されるたびに、前記ストリームデータ保持情報データを更新することを特徴する請求項１乃至４記載のストリーム配信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ストリーム配信装置に関し、特に、ストリーム配信装置における負荷分散技術に関する。
【背景技術】
【０００２】
ストリームの配信は、一般に、利用者が端末装置からインターネットを介してウェブサイトで配信要求を行うことによりストリーム配信装置から行われる。ウェブコンテンツが多様化してデータが大容量であることや、大量の配信要求の処理と可用性向上のために、通常、ストリーム配信装置は複数のストリーム配信サーバを含み、さらに端末装置からの配信要求を各ストリーム配信サーバの付加に応じて振り分けるために負荷分散装置を含む。
【０００３】
負荷分散装置は、実際のＩＰアドレスとは別に仮想ＩＰアドレスを有している。ストリームデータの配信を受けるために端末装置からストリームデータ配信元のＵＲＬが入力されると、この仮想ＩＰアドレスを宛先アドレスにしてストリーム配信要求のパケットが送信される。負荷分散装置がパケットを受信すると、ストリーム配信サーバのうちの負荷の少ないものを選択しそのストリーム配信サーバの実ＩＰアドレスで宛先を書き換えてパケットを転送する。ストリーム配信要求を受信したストリーム配信サーバは、パケットに格納されている端末装置のＩＰアドレスを宛先にしてストリームデータを送信する。
【０００４】
ストリーム配信装置では、応答時間を短縮するために複数のキャッシュサーバが用いられることがある。端末装置からの配信要求はキャッシュサーバで受信されて、要求されたストリームデータを複製蓄積しているか否かが判断される。複製蓄積している場合は配信を開始する。複製蓄積されていない場合は、ストリーム配信サーバに配信要求を転送すると、ストリーム配信サーバが該キャッシュサーバに対し配信を開始する。キャッシュサーバはストリームデータを受信して端末装置へ転送を行いつつ複製蓄積を行う。このようにキャッシュサーバを用いると、そこに複製蓄積されているストリームデータについては端末装置とキャッシュサーバとの間で処理し、複製蓄積されていないストリームデータのみをストリーム配信サーバに要求するので、ストリーム配信サーバまで要求を送信したりまたそこから配信を受け取ったりする処理を減らし、よってストリーム配信サーバの負荷を小さくするとともに高速に処理することが可能となる。
【非特許文献１】「サーバ負荷分散技術」２００１年１２月１３日、オライリージャパン発行
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ストリーム配信サーバとキャッシュサーバとは、通常、別々に管理されていて、十分な連携がなされていないため、資源として有効に利用されていないという問題があった。例えば、利用者の端末装置からの配信要求を受信したキャッシュサーバに、要求されたキャッシュデータが存在しない場合は、ネットワーク上の他のキャッシュサーバに要求されたデータがあっても利用することなく、ストリーム配信サーバからストリームが配信された。よって、配信サーバへの負荷は軽減されないままである。また、ストリーム配信サーバの全てに障害が起きると、利用者の端末装置からの配信要求を受信したキャッシュサーバに、例え要求されたストリームデータがキャッシュデータとして存在していても利用されることはなく、ストリームデータ配信サービスが停止してしまった。
【課題を解決するための手段】
【０００６】
本発明によるストリーム配信装置は、ネットワークに接続されて少なくとも１片のストリームデータを保持する少なくとも１つのストリーム配信サーバと、該ネットワークに接続されて該ストリーム配信サーバへの配信要求の集中を回避して負荷分散を行う負荷分散サーバと、該ネットワークと同一のネットワークに接続されて該ストリームデータをキャッシュする複数のキャッシュサーバと、を含み、利用者端末からのストリームデータ配信要求に応じてストリームデータを配信するストリーム配信装置であって、該負荷分散サーバが、該キャッシュサーバにおけるストリームデータ保持情報データを記憶するストリームデータ保持情報記憶手段と、該ストリームデータ保持情報データに基づき該キャッシュサーバのうちの１つをして少なくとも１片のストリームデータを該利用者端末へ送信せしめる制御手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、負荷分散装置が配信サーバとキャッシュサーバとを一元的に資源管理することにより、配信サーバの負荷を軽減できるとともに、より適正なキャパシティコントロールを行うことができる。また、配信サーバの全てに障害が発生した場合でも、負荷分散装置が、ストリームデータやキャッシュサーバについての負荷分散装置自体で保持している情報を利用することにより、ストリームへの配信要求を処理してサービスを継続することが可能になる。
【発明を実施するための形態】
【０００８】
以下、本発明の実施例について、図面を参照して説明する。
【０００９】
図１は、この発明の実施例におけるストリーム配信装置１０の構成を示す。
【００１０】
本実施例のストリーム配信装置１０は、ストリーム配信サーバ２０ａ、２０ｂ、負荷分散装置３０、キャッシュサーバ４０ａ、４０ｂ、端末装置５０ａ、５０ｂからなり、ネットワークを介して接続されている。なお、ストリーム配信サーバ、キャッシュサーバ及び端末装置はそれぞれ３以上の複数個あってもよい。
【００１１】
ストリーム配信サーバ２０ａ、２０ｂは、それぞれＩＰアドレスを有していて、それぞれストリームデータ格納部２１ａ、２１ｂストリーム配信部２２ａ、２２ｂ、制御データ送受信部２３ａ、２３ｂ、制御部２４ａ、２４ｂからなる。ストリームデータ格納部２１ａ、２１ｂは、少なくとも一片のストリームデータを保持している。ここで一片とは、一連の動画を示すストリームデータを示す単位をいう。保持されるストリームデータは、他のストリーム配信サーバが有するデータと同じであってもよい。制御データ送受信部２３ａ、２３ｂは、ネットワーク経由で端末装置５０ａ、５０ｂからのストリーム配信要求データを受信して制御部２４ａ、２４ｂに送出する。制御部２４ａ、２４ｂはストリームデータ格納部２１ａ、２１ｂを探索して要求されたストリームデータを見つける。ストリーム配信部２３ａ、２３ｂは、制御部２４ａ、２４ｂから指示を受けて該ストリームデータをネットワークを介して配信要求を行った端末装置５０ａ、５０ｂへ送信する。
【００１２】
負荷分散装置３０は、実ＩＰアドレスと仮想ＩＰアドレスとを持ち、ストリームデータ管理部３１、サーバ管理部３２、端末装置管理部３３、制御データ送受信部３４、制御部３５からなる。ストリームデータ管理部３１は、ストリーム配信サーバ２０ａ、２０ｂとキャッシュサーバ４０ａ、４０ｂの有するストリームデータを管理する。サーバ管理部３２は、ストリーム配信サーバ２０ａ、２０ｂとキャッシュサーバ４０ａ、４０ｂの負荷状況を管理する。端末装置管理部３３は、各キャッシュサーバ４０ａ、４０ｂと各端末５０ａ、５０ｂとの間の通信コストを管理する。制御データ送受信部３４は端末装置５０ａ、５０ｂ、キャッシュサーバ４０ａ、４０ｂ及びストリーム配信サーバ２０ａ、２０ｂと制御データの送受信を行う。制御部３５は、端末装置５０ａ、５０ｂからの配信要求を受信すると、適切な配信元となるようストリーム配信サーバ２０ａ、２０ｂかキャッシュサーバ４０ａ、４０ｂを選択し、選択したサーバに配信要求を転送する。また、常時、各ストリーム配信サーバ２０ａ、２０ｂと各キャッシュサーバ４０ａ、４０ｂの負荷状況を監視している。
【００１３】
キャッシュサーバ４０ａ、４０ｂは、それぞれ、ストリームデータキャッシュ部４１ａ、４１ｂ、ストリーム配信部４２ａ、４２ｂ、制御データ送受信部４３ａ、４３ｂ、制御部４４ａ、４４ｂからなる。ストリームデータキャッシュ部４１ａ、４１ｂは、ストリーム配信サーバ２０ａ、２０ｂから送信されてくるストリームデータを複製蓄積する。同時にストリーム配信部４２ａ、４２ｂが、配信要求をした端末装置５０ａ、５０ｂにストリームデータを転送する。制御データ送受信部４３ａ、４３ｂは、端末装置５０ａ、５０ｂ、負荷分散装置３０及びストリーム配信サーバ２０ａ、２０ｂと制御データの送受信を行う。制御部４４ａ、４４ｂは、負荷分散装置３０の指示を受けて、ストリームデータキャッシュ部４１ａ、４１ｂにストリームデータを端末装置５０ａ、５０ｂに送信させる。
【００１４】
端末装置５０ａ、５０ｂは、利用者の操作に従って、負荷分散装置３０の仮想ＩＰアドレスを宛先アドレスとしてストリーム配信要求を送出する。要求を受信したキャッシュサーバ４０ａ、４０ｂにストリームデータが複製蓄積されていればそのキャッシュサーバから、複製蓄積されていない場合には負荷分散装置３０により決定されるネットワーク上の他のキャッシュサーバ４０ａ、４０ｂまたはストリーム配信サーバ２０ａ、２０ｂから送信されるストリームデータを受信する。受信したストリームデータをデコードして端末装置５０ａ、５０ｂの表示装置に表示する。
【００１５】
次に、本実施例におけるストリーム配信装置の動作について図を参照して説明する。
【００１６】
図２は、要求したストリームデータが配信要求を受信したキャッシュサーバに存在して該キャッシャサーバから配信される場合の動作を示すシーケンス図である。
１．端末装置５０ａでＵＲＬを指定してストリーム配信要求を行う（２−１）。
２．キャッシュサーバ４０ａは、制御データ送受信部４３ａで端末装置５０ａからのストリーム配信要求を受信する。制御部４４ａはストリームデータキャッシュ部４１ａを参照して、要求されたストリームデータが存在するか否かを調べる。存在する場合には、ストリーム配信部４２ａが端末装置５０ａのＩＰアドレスへストリームデータを送信する（２−２）。端末装置５０ａはストリームデータを受信して、デコード後再生する。
【００１７】
図３は、要求したストリームデータが、配信要求を受信したキャッシュサーバに存在せず、ネットワーク上の他のキャッシュサーバから配信される場合のストリーム配信装置の動作を示すシーケンス図である。
１．端末装置５０ａでＵＲＬを指定してストリーム配信要求を行う（３−１）。
２．キャッシュサーバ４０ａは制御データ送受信部４３ａで、端末装置５０ａからのストリーム配信要求を受信する。制御部４４ａはストリームデータキャッシュ部４１ａを参照して、要求されたストリームデータがあるか否かを調べる。
３．要求されたストリームデータがストリームデータキャッシュ部４１ａに存在しない場合は、キャッシュサーバ４０ａの制御データ送受信部４３ａがストリーム配信要求を負荷分散装置３０に転送する（３−２）。
４．ここで負荷分散装置３０の動作を図５のフローチャートも参照して説明する。
【００１８】
負荷分散装置３０は制御データ送受信部３４でストリーム配信要求を受信する。制御部３５はストリームデータ管理部３１を参照し、要求のあったストリームデータを有するキャッシュサーバが存在するかを判定する（Ｓ１）。ストリームデータ管理部３１は、ストリーム配信サーバ３０ａ及び／または３０ｂが有する各ストリームデータに一意に付されたストリームＩＤを、各々のストリームデータを保持しているストリーム配信サーバ及び／またはキャッシュサーバのサーバＩＰと対応させて、ストリームデータ保持情報データとして表１に例を示すようなストリームデータ管理表で記憶している。ストリームデータ管理表の各データは、ストリーム配信サーバ２０においてはストリームデータの投入及び削除のときに、キャッシュサーバ４０においてはストリームデータキャッシュ部４１への保存及び削除のときに、負荷分散装置３０にストリームＩＤを通知することにより更新される。例えば、下に示す表１においては、ストリームＩＤが１０００のストリームデータは、サーバＩＰが１０．１．１．１と１０．１．１．２のサーバに存在することが示されている。
【００１９】
【表１】
2007265186.tif 000003
【００２０】
５．次に制御部３５は、要求のあったストリームデータを有するキャッシュサーバが存在すればそれらを抽出する（Ｓ２）。抽出したキャッシュサーバの中から、サーバ管理部３２を参照して負荷に余裕があるサーバが存在するか否かを判定する（Ｓ３）。サーバ管理部３２は、配信サーバまたはキャッシュサーバのサーバ種別と各々の現在の負荷情報データとをサーバ管理表（表２に例を示す）として記憶している。サーバ管理部３２は、常時、各ストリーム配信サーバ２０及び各キャッシュサーバ４０に負荷状況の問い合わせを行って監視している。負荷は、例えばストリーム配信数、ＣＰＵ使用率であってもよい。負荷状況の問い合わせに応じないサーバは障害が発生したものとみなし、ストリーム配信要求を送信する対象から除く。
【００２１】
【表２】
2007265186.tif 000004
【００２２】
６．該当するキャッシュサーバが複数あれば、端末装置管理部３３を参照して、端末装置５０ａへ最も配信コストの低いキャッシュサーバ４０ｂを選択する。端末装置管理部３３は、各キャッシュサーバから各端末装置にストリームデータを配信する際の配信コスト情報を端末装置管理表（表３に例を示す）として記憶している。この配信コストは、管理者が入力してもよく、また回線速度から計算されてもよい。この端末装置管理表に基づいて選択したキャッシュサーバ４０ｂに対して、ストリーム配信要求を送信する（Ｓ４）（３−３）。
【００２３】
【表３】
2007265186.tif 000005
【００２４】
７．ネットワーク上のキャッシュサーバ４０ｂは制御データ送受信部４１ｂで負荷分散装置３０からのストリーム配信要求を受信する。制御部４４ｂは要求されたストリームデータをストリームデータキャッシュ部４１ｂから取り出し、ストリーム配信部４２ｂが端末装置５０ａのＩＰアドレスを宛名としてストリームデータを送信する（３−４）。端末装置５０ａはストリームデータを受信して、デコード後再生する。
【００２５】
図４は、要求したストリームデータが、配信要求を受信したキャッシュサーバ及びネットワーク上の他のキャッシュサーバのいずれにも存在せず、ストリーム配信サーバから配信される場合の、ストリーム配信装置の動作について示すシーケンス図である。４−１乃至４−３までの動作は上記した１乃至４の動作と同じなので省略する。
５．要求されたストリームデータを複製蓄積しているキャッシュサーバが存在しない場合、または負荷に余裕のあるサーバが存在しない場合、制御部３５はサーバ管理部３２のサーバ管理表（表２）を参照して配信サーバのうちの最も負荷の小さいもの（サーバＩＰ：１０．１．１．２、図１では２０ｂとする）を選択し、ストリームデータのストリームＩＤと端末装置５０ａのＩＰアドレスとを指定して配信サーバ２０ｂにストリーム配信要求を送信する（Ｓ５）（４−３）。
【００２６】
６．ストリーム配信サーバ２０ｂは、制御データ送受信部２２ｂで負荷分散装置３０からのストリーム配信要求を受信する。制御部２４ｂは要求されたストリームデータをストリームデータ格納部２１ｂに取り出すよう指示し、さらにストリーム配信部２３ｂが要求元の端末装置５０ａへの中継地点にあるキャッシュサーバ４０ａのＩＰアドレスへ端末装置５０ａのＩＰアドレスを指定してストリームデータを送信する（４−４）。
【００２７】
７．キャッシュサーバ４０ａは制御データ送受信部４３ａで配信サーバ２０ｂからのストリームデータを受信してストリームデータキャッシュ部４１ａへ複製蓄積し、同時にストリーム配信部４２ａが要求元の端末装置５０ａのＩＰアドレスを宛名としてストリームデータを転送する（４−５）。端末装置５０ａはストリームデータを受信し、デコード後再生する。
【００２８】
８．さらに、キャッシュサーバ４０ａは、新しいストリームデータをストリームデータキャッシュ部４１ａに複製蓄積したので、キャッシュデータ更新通知を負荷分散装置３０に送信する（４−６）。古いキャッシュデータの削除を行った場合は合わせて通知する。負荷分散装置３０は、ストリームデータ管理部３１においてストリームデータ管理表を更新する。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施例におけるストリーム配信装置の構成を示す。
【図２】要求したストリームデータがキャッシュサーバから配信される場合のシーケンス図である。
【図３】要求したストリームデータがネットワーク上の他のキャッシュサーバから配信される場合のシーケンス図である。
【図４】要求したストリームデータがストリーム配信サーバから配信される場合のシーケンス図である。
【図５】負荷分散装置の制御部の処理を示すフローチャートである。
【符号の説明】
【００３０】
１０    ストリーム配信装置
２０、２０ａ、２０ｂ    ストリーム配信サーバ
２１、２１ａ、２１ｂ    ストリームデータ格納部
２２、２２ａ、２２ｂ    ストリーム配信部
２３、２３ａ、２３ｂ    制御データ送受信部
２４、２４ａ、２４ｂ    制御部
３０    負荷分散装置
３１    ストリームデータ管理部
３２    サーバ管理部
３３    端末装置管理部
３４    制御データ送受信部
３５    制御部
４０、４０ａ、４０ｂ    キャッシュサーバ
４１、４１ａ、４１ｂ    ストリームデータキャッシュ部
４２、４２ａ、４２ｂ    ストリーム配信部
４３、４３ａ、４３ｂ    制御データ送受信部
４４、４４ａ、４４ｂ    制御部
５０、５０ａ〜ｎ        端末装置
【図１】
2007265186.tif 000006
【図２】
2007265186.tif 000007
【図３】
2007265186.tif 000008
【図４】
2007265186.tif 000009
【図５】
2007265186.tif 000010