JP2005031987A - コンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラム - Google Patents
コンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラム Download PDFInfo
- Publication number
- JP2005031987A JP2005031987A JP2003196324A JP2003196324A JP2005031987A JP 2005031987 A JP2005031987 A JP 2005031987A JP 2003196324 A JP2003196324 A JP 2003196324A JP 2003196324 A JP2003196324 A JP 2003196324A JP 2005031987 A JP2005031987 A JP 2005031987A
- Authority
- JP
- Japan
- Prior art keywords
- content
- server
- distribution
- disk
- load
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Multi Processors (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】コンテンツ配信システム内でのコンテンツの配置管理を自律的に行うことで、コンテンツの配置管理に要する管理コストを削減するコンテンツ配信システムにおけるコンテンツ配置管理システムを提供する。
【解決手段】コンテンツを配信されるクライアントのリクエスト、またはそれに伴う配信実績の結果であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理するアクセス監視装置(2011)を備え、コンテンツアクセス指標という、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標を基にしてコンテンツの配置をコンテンツ配信システム単位で自律的に判断して実行する。
【選択図】 図1
【解決手段】コンテンツを配信されるクライアントのリクエスト、またはそれに伴う配信実績の結果であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理するアクセス監視装置(2011)を備え、コンテンツアクセス指標という、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標を基にしてコンテンツの配置をコンテンツ配信システム単位で自律的に判断して実行する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータネットワークにおける広域にネットワークで接続されたコンテンツ配信システムにおける自律的にコンテンツの配置を行うコンテンツ配置管理システム及びコンテンツ配置管理方法に関する。
【0002】
【従来の技術】
コンピュータネットワークにおいて、クライアントに対してコンテンツ配信を行うコンテンツ配信サーバは、そのコンテンツを受信する複数のクライアントとネットワークを介して接続される。そのため、前述のコンテンツ配信サーバは複数のクライアントから同時的に接続の要求受けたり、複数のクライアントに対して、同時的にコンテンツの配信を行う場合がある。しかしながら、コンテンツ配信サーバが、クライアントからの要求に応じる計算機としての処理能力、あるいはコンテンツ配信能力を十分に有しない場合、クライアントの受信するコンテンツの質は劣化する。
【0003】
具体的には、レスポンスタイムの劣化、映像の乱れ等が挙げられる。さらに、前述した接続要求処理や、コンテンツ配信といった負荷がさらに大きい場合には、コンテンツの配信停止に至ることもある。なお、ここでのコンテンツとしては、ユーザからネットワークを通じてアクセスされるオブジェクト全般を指す。具体的な例としては、Webのドキュメントや画像、映像や音声のストリーミングデータ、一般的なデータファイル、クライアントからの要求を受けて実行されるプログラム、等が挙げられるが、これらに限定されるものではない。
【0004】
これらの事態に対処するために、図26に示されるように複数のコンテンツ配信サーバ103〜107を用意し、クライアント109〜111からの負荷を分散する方式が多く採用されている。この複数台のサーバからなるサーバ群をクラスタ102と呼ぶ。また、あるコンテンツの複製をシステム管理者が複数サーバに明示的に配置する必要のあるコンテンツ配信サーバをミラーサーバと称し、クライアントから要求されたコンテンツを中継した結果、複製コンテンツが受動的に記憶されるサーバをキャッシュサーバと言う。そして、こうしたシステム管理者が複製したコンテンツ、あるいは結果として複製されたコンテンツをレプリカと呼ぶ。図26において、このコンテンツ配信システム112においては、複数のコンテンツ配信サーバ103〜107によってクラスタ202が構成され、ネットワーク113に接続された複数のクライアント109〜111が、負荷分散装置101を介して上記コンテンツ配信サーバ103〜107に接続されている。
【0005】
また、クライアント109〜111からの要求を各々のミラーサーバ、あるいはキャッシュサーバに割振る装置を負荷分散装置101(またはロードバランサ)と呼ぶ。こうした、クラスタ102、負荷分散装置101等からなる一群のコンテンツ配信装置群をコンテンツ配信システム112と呼ぶ。
【0006】
なお、それぞれのコンテンツ配信サーバが、コンテンツを記憶するための外部記憶装置を備えている図26に示されるような構成の他に、図27に示されるようなNAS、あるいはSANといったネットワークに接続された共有型ストレージを用いる構成も存在する。図27において、このコンテンツ配信システム212においては、コンテンツ配信サーバ203〜207と、共有型ストレージ213、214がネットワーク215によって接続され、クラスタ202を構成している。また、ネットワーク208に接続された複数のクライアント209〜211が、負荷分散装置201を介して上記コンテンツ配信サーバ203〜207に接続されている。
【0007】
上述のコンテンツ配信システム112の内部での負荷分散は、地理的に近い地域内での負荷分散である。そのため、このコンテンツ配信システムから地理的に遠いクライアントが配信を受ける場合、レスポンス時間は遅くなる。こうした、配信要求の地理的な分散に対処するために、複数のコンテンツ配信システムを地理的に分散配置することが行われている。これら複数のコンテンツ配信システムはネットワークで接続され、広域コンテンツ配信システムを構成している。
【0008】
図28に広域コンテンツ配信システムでの負荷分散の構成を示す。ここでは、複数のコンテンツ配信システム307〜310間でコンテンツの複製が行われている。この広域コンテンツ配信システムでは、クライアントからのコンテンツリクエストがいずれかのコンテンツ配信システムに誘導されるが、その際にまずクライアントに最も近いコンテンツ配信システムに誘導されうる。しかし、その最寄のコンテンツ配信システムに当該コンテンツが存在しない場合は、別のコンテンツ配信システムに誘導される。図28において、この広域コンテンツ配信システム320においては、複数のコンテンツ配信システム301〜305は、それぞれクラスタ301B〜305Bと、負荷分散装置301A〜305Aで構成され、複数のクライアント314〜316がネットワーク312を介して、複数のクライアント317〜319がネットワーク313を介して広域コンテンツ配信システムにに接続されている。
【0009】
上述したコンテンツ配信システム、および広域コンテンツ配信システムにおいては、コンテンツレプリカの配置方法によってそのシステムの性能が大きく変化する。しかしながら、コンテンツ配信システム内負荷分散システムと広域負荷分散システムに最適なコンテンツ配信手法およびコンテンツ配置手法は異なる。図28に示すような広域負荷分散システムでは、拠点であるコンテンツ配信システム301〜305、クライアント314〜319を含むネットワークでの限られたネットワーク帯域、およびネットワークトポロジの複雑さを考慮して、どの位置のコンテンツ配信システムにコンテンツを配置するのが最適かを判断する。
【0010】
それに対して、十分なネットワーク帯域を有しトポロジは既知であるコンテンツ配信システム内においては、そのサーバやディスク装置の負荷分散を目的としたコンテンツ配置の最適化が行われる。そのため、負荷分散のためのリクエスト誘導手法とともに、コンテンツ配信サーバの配信性能あるいはクラスタ301B〜305Bが有するハードディスクあるいはRAID等の有限な記憶容量や限界スループット等を考慮して配置を行う必要がある。
【0011】
多くのコンテンツ配信システムでは、複数の異なるコンテンツが配置され、コンテンツによってクライアントからのアクセス頻度が異なる。すなわち、コンテンツ配信システムには人気のあるコンテンツとそうでないコンテンツとが存在する。仮に、それら個々のコンテンツを差別なくコンテンツ配信システム内に配置するとすると、人気があるコンテンツに対してはサーバの配信性能が限界に達してしまうために、クライアントが品質劣化を感じてしまうという問題も起こる。あるいは人気のないコンテンツに多くのディスク容量が占められてしまうといったことがおこる。従って、コンテンツ配信システムにおけるコンテンツ配置方法については、負荷分散とコンテンツの人気の有無を考慮することが重要である。
【0012】
コンテンツの人気を考慮した広域負荷分散システムにおけるコンテンツ配置管理方法としては、例えば特開2001−67377号公報(特許文献1)に記載の方法がある。これは、コンピュータ資源の使用状況の予測に基づき資源の予約を行い、コンテンツ配信システム内部でコンテンツの配置管理を行うものである。また、文献”A dynamic object replication and migration protocol for an Internet hosting service”,「Distributed Computing Systems, 1999. Proceedings. 19th IEEE International Conference on, pp.101 −113, (1999)」(非特許文献1)では、コンテンツの人気に応じてコンテンツ配置を決定しているが、前述公報と同様に広域負荷分散におけるコンテンツ配置管理方法に関するものである。
【0013】
次に、コンテンツの人気を考慮したコンテンツ配信システム内の負荷分散システムでのコンテンツ配置管理方法について述べる。この手法は前述のクラスタを構成するサーバがミラーサーバである場合とキャッシュサーバである場合とで異なる。ミラーサーバを用いてコンテンツの人気に応じた配置を行う方法として、コンテンツ配信システム管理者が明示的に行う方法がある。すなわち、人間の判断を介してコンテンツ配置を行う方法であるが、これはシステム管理コストの増大を招く。さらに、ミラーサーバに配置するコンテンツが増加し、そのミラーサーバが有する有限なディスク容量に対して十分な容量が確保されない際に、コンテンツ配置時と同様にシステム管理者が明示的に必要性の少ないレプリカを削除する必要がある。このことは管理者に大きな負担を強いるために、管理コストが膨らんでしまうという問題がある。
【0014】
一方、キャッシュサーバと負荷分散装置を併用したシステムでは、管理者が明示的にコンテンツの配置を行う必要はない。しかしながら、負荷分散装置によりクライアントからのリクエストが各キャッシュサーバに自動的に公平に振り分けられるため、全てのキャッシュサーバにほぼ同じコンテンツが存在することとなる。これは、キャッシュサーバの外部記憶装置の非効率につながる。なぜなら、仮に負荷分散装置がサーバにクライアントからのリクエストを割り振りつつも、各サーバが担当するコンテンツが異なれば、外部記憶装置の容量は節約されるからである。
【0015】
さらに、自動的にコンテンツが配置されてしまうことは、管理者のポリシを反映した配置が不可能となることを意味する。さらに、コンテンツの増加によりキャッシュサーバのディスク容量が容量の限界に近づいた際に、LRU(Least−Recently−Used)あるいはLFU(Least−Frequently−Used)といった削除アルゴリズムでコンテンツの削除が行われるが、これは各サーバ単位でのみ行われており、クラスタ全体のコンテンツ配置状況を監視した上でのコンテンツレプリカ削除は行われていない。
【0016】
ミラーサーバを用いるコンテンツ配信システム内負荷分散システムにおいて、コンテンツの人気(例えばリクエスト数や配信実績数)やコンテンツがその配信に伴いシステムに与える負荷(例えば、平均同時配信数、サーバがそのコンテンツの配信のために出力する平均ビット数等)に応じたコンテンツ配置を行うには、システム管理者が明示的にコンテンツの配置を決定する必要がある。
【0017】
明示的に行う必要のないコンテンツ配置管理システムとして、特開2002−259354号公報(特許文献2)に記載される方法があるが、これはサーバ単位で配信するコンテンツの配置を管理するものである。
【0018】
図29にこのシステムの概要を示す。各ミラーサーバ403〜407へのアクセス数等の負荷は、コントロールサーバ416により監視され、このコントロールサーバ416の参照結果を受けて負荷分散装置401がミラーサーバ403〜407にクライアントからのリクエストを割り振る。監視および管理対象コンテンツの単位は、複数のコンテンツがグループ化されたコンテンツ群である。また、このコンテンツ群を配置する先の単位はサーバ単位である。そのため、コンテンツ群に対する負荷が増加した際には、サーバの数を増減することで、負荷分散を図っている。図30にコンテンツ群501とその配信を担当するサーバ502の対応表を示す。各コンテンツ種別は複数のサーバに配置され得るが、図30に示されるようにコンテンツ単位で割り当てることと、同一のサーバに複数のコンテンツを配置することが難しい。
【0019】
これはコンテンツ群の配信を担当するサーバ単位での負荷分散であるといえる。また、この負荷の増減に対応するために必要なサーバを、通常時より準備しておく必要がある。これはすなわち、不稼動な予備サーバを準備しておくことであり、これは稼働率の低下につながる。また、この方法では外部記憶装置の容量が限界に達したときに、自動的にコンテンツのレプリカの数量を低減する機能がない。さらに、予備のサーバがなくなった際に、負荷の低いコンテンツ群のサーバを、負荷の高いコンテンツ群のサーバに割当てなおす機能がない。さらに各コンテンツごとに異なる管理ポリシを導入することが不可能である。
【0020】
また、特開2001−27965号公報(特許文献3)に記載される方法では、ディレクトリ単位でコンテンツの管理を行っており、さらに特開2002−63064号公報(特許文献4)に記載される方法では、ディレクトリ単位でのコンテンツ管理をポリシ制御により自律的に行われる。ここでは、ディレクトリに適用された置換えポリシの自動切換えや、そのパラメータ間の割り当て容量等の自動調整により、ヒット率を向上させる等の制御を行われている。しかしながら、コンテンツ毎にレプリカの増設や競合時の振る舞い等のようなコンテンツ毎の配置方針に対するポリシ管理は試みられておらず、人気に応じたコンテンツ配置を実現する方法であるとは言えない。
【0021】
【特許文献1】
特開2001−67377号公報
【特許文献2】
特開2002−259354号公報
【特許文献3】
特開2001−27965号公報
【特許文献4】
特開2002−63064号公報
【非特許文献1】
”A dynamic object replication and migration protocol for an Internet hosting service”, Distributed Computing Systems, 1999. Proceedings. 19th IEEE International Conference on, pp.101 −113, (1999).
【0022】
【発明が解決しようとする課題】
特許文献1に記載の方法は、広域負荷分散システムにおけるコンテンツ配置管理方法であり、コンテンツ配信システム内の配置管理方法には触れられていない。このため、コンテンツ配信システム内には別のコンテンツ配置管理方法が必要である。
【0023】
また、特許文献2に記載の方法は、コンテンツ配信システム内負荷分散におけるコンテンツ配置管理方法ではあるが、ディスク管理の対象とする単位がコンテンツ提供事業者毎等に設定されたコンテンツ群となっており、さらにその割り当て先がサーバ単位である。このため、複数のコンテンツ群を同一のサーバに割り当てる機構が存在しない。さらに、予備のサーバがなくなった際に、負荷の低いコンテンツ群のサーバを、負荷の高いコンテンツ群のサーバに割当てなおす機能がない。これらは稼働率の低下につながる。またミラーサーバのディスク容量が限界に達した際にレプリカを削除する手段は存在しない。そのため、大きなディスク容量を必要としてしまう。
【0024】
さらに、特許文献3および特許文献4に記載される方法では、ディレクトリ単位でコンテンツの配置管理を行っている。これもコンテンツ単位での人気に応じた配置は行われていない。ユーザはコンテンツ単位で興味を示すものであるから、サーバ単位、ディレクトリ 単位ではなく、コンテンツ単位での配置方法を実現するのが望ましい。また、クライアントからのアクセス数が増加し、キャッシュサーバあるいはミラーサーバにおいてレプリカを生成した結果、サーバのディスク容量の限界に達した際に、従来はサーバ単位で判断されたレプリカ削除管理が行われており、クラスタ単位で判断を行ったレプリカ削除管理が行われていなかった。
【0025】
本発明は、コンテンツの人気に基づいたコンテンツの配置管理をコンテンツ単位で行う。そこでは、システム管理者 はポリシを設定することによって、コンテンツは自律的に最適なサーバに配置にされる。さらに、サーバのディスク 容量が限界に達した際に、コンテンツ間での追い出しが行われるため、システム管理者はディスク容量の限界を考慮する必要はなくなる。従来は、上述の人気に応じたコンテンツ配置管理、コンテンツ単位での配置管理、サー バのディスク容量を意識した追い出し、といった機能を同時に実現する方法はなかった。
【0026】
上述した従来の技術における問題点をまとめると以下のようになる。
【0027】
第1の問題点は、ミラーサーバを用いるコンテンツ配信システム内でのコンテンツ配置管理方法では、システム管理者が明示的にコンテンツ配置を決定する必要がある点にある。
【0028】
その理由は、コンテンツ配置管理を行うシステム管理者に支払う経費および労務費が大きく、システムコストの増加につながるためである。これを解決するには、自律的に配置管理を行う仕組みを導入する必要がある。
【0029】
第2の問題点は、キャッシュサーバを用いるコンテンツ配信システム内でのコンテンツ配置管理方法では、コンテンツの人気等に応じた配置管理ができなく、さらにディスク等の外部記憶装置の利用効率が低下する点にある。また、キャッシュサーバに格納されるコンテンツの量が増加してディスク容量の限界を超えた際にコンテンツが削除されることがあるが、ほぼ同時にすべてのキャッシュサーバからコンテンツが削除されてしまい、適切な個数のコンテンツを配置しておけないという問題点もある。
【0030】
その理由は、負荷分散装置がクライアントからのリクエストをキャッシュサーバに振り分ける際に、ラウンドロビンアルゴリズム等のサーバ負荷を均一にする目的で振り分けるため、全てのキャッシュサーバにコンテンツのレプリカが生成されてしまうからである。キャッシュサーバ単位ではなく、コンテンツ配信システム単位でのコンテンツの人気に応じた配置管理が必要である。コンテンツ配信システム単位で配置管理を行うことによって、複数コンテンツ間の人気が異なる際に、人気のないコンテンツを先に削除をすることが可能となる。
【0031】
第3の問題点は、従来はコンテンツ群単位やディレクトリ単位でコンテンツ配置管理が行っており、コンテンツ単位にポリシを導入することによるコンテンツ単位での配置管理を行なうことができない点にある。
【0032】
その理由は、コンテンツ群やディレクトリ群といった複数のコンテンツを含む管理単位を用いることは、様々な属性を持つコンテンツや異なる人気を有すコンテンツをまとめて配置することであり、人気のないコンテンツにディスクが占有されることに由来するディスク利用効率低下等を招く。概して、ユーザが興味を示すのはコンテンツ単位である。そのため、アクセスの集中もコンテンツ単位で行われるべきである。また、コンテンツ単位にポリシを与えて管理することは、コンテンツ単位に異なる属性が存在するため、重要である。例えば、ニュースと映画では属性が異なるため、コンテンツ単位で優先度、視聴可能時間等を考慮したポリシ設定を行う必要がある。
【0033】
第4の問題点は、従来の方式ではサーバの稼働率が低くなったり、予備のスタンバイ状態のサーバを用意しておく必要がある点である。この問題は、ディスクへの配置管理の単位を、コンテンツ提供事業者等を単位としてグループ化したコンテンツ群としていること、さらにその割り当て先がサーバ単位であることに起因している。複数のコンテンツ群、またはコンテンツを同一のサーバに割り当てる機構が存在しないために、負荷分散の粒度が粗くなってしまう。そのため、サーバを比較的余裕を持った台数用意しなくてはならない。さらに、予備のサーバがなくなった際に、負荷の低いコンテンツ群のサーバを、負荷の高いコンテンツ群のサーバに割当てなおす機能がない。これらのことは、サーバの稼働率の低下を引き起こす。この問題を解消するためには、ディスクへの配置管理の単位を、コンテンツ等もっと細かい単位とすること、複数のコンテンツ群、またはコンテンツを同一のサーバに割り当てる機構を導入すること、負荷の低いコンテンツ群のサーバを、負荷の高いコンテンツ群のサーバに割当てなおす機構を導入すること、が必要である。
【0034】
第5の問題点は、従来のコンテンツ配信システムには突発的に人気が出たコンテンツに対応できる機能がない点である。
【0035】
その理由は、ポリシを利用したコンテンツ配置制御方法では、アクセス数等を監視した時の状態と、実際にそれに基づいて最適な配置状態に至るまでにある一定の時間が存在するためである。その間にアクセスがそのコンテンツに対して集中してしまうと、他のコンテンツ配信システムからコンテンツを配信することになるが、この場合、レスポンスが遅い、他のコンテンツ配信システムとの間のネットワークの輻輳させる、等の問題を発生させる危険性がある。しかし、従来のキャッシュサーバを用いる方式では、第1から第4の問題を解決することはできない。第1から第4の問題を解決するための機構と、突発的に人気が出たコンテンツに対応できる機構の両方を取り入れたシステムを構築する必要がある。
【0036】
【発明の目的】
本発明の第1の目的は、コンテンツ配信システム内でのコンテンツの配置管理を自律的に行うことで、コンテンツの配置管理に要する管理コストを削減するコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0037】
本発明の第2の目的は、コンテンツの人気等のコンテンツ毎に設定した条件に応じて、コンテンツを配置していくこと、または削除をしていくことで、コンテンツ配信システムの限られたディスクの利用効率を向上させるコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0038】
本発明の第3の目的は、コンテンツ単位にポリシを導入して、コンテンツ単位での自律的配置を実現するコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0039】
本発明の第4の目的は、サーバの稼働率を上げ、予備のスタンバイ状態のサーバも不要とするコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0040】
本発明の第5の目的は、第1から第4の目的を達成すると同時に、突発的に人気が出たコンテンツにも高レスポンス、高スループットな配信を実現するコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0041】
【課題を解決するための手段】
上記目的を達成する本発明は、コンテンツ配信システム内でのコンテンツの配置管理を行うコンテンツ配置管理システムであって、前記コンテンツに対するクライアントからのリクエスト、当該リクエストに伴うコンテンツの配信実績、それらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理するアクセス監視装置を備え、前記アクセス監視装置の前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行うことを特徴とする。
【0042】
請求項2の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのレプリカの数を前記コンテンツアクセス指標から算出することを特徴とする。
【0043】
請求項3の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値を、コンテンツ毎に設定することを特徴とする。
【0044】
請求項4の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値として、前記コンテンツ配信システム内のレプリカの数によって異なる値を前記コンテンツ毎に設定することを特徴とする。
【0045】
請求項5の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出することを特徴とする。
【0046】
請求項6の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値を、コンテンツ毎に設定することを特徴とする。
【0047】
請求項7の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値として、コンテンツ配信システム内のクライアントへの配信を担当するサーバの数によって異なる値をコンテンツ毎に設定することを特徴とする。
【0048】
請求項8の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの許容負荷値を超えると判断された場合に、前記ディスクの負荷を軽減するために前記ディスクから削除するコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断することを特徴とする。
【0049】
請求項9の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの負荷が許容値を超えると判断され、前記ディスクの負荷を軽減するために前記所定のディスクからコンテンツのレプリカを選択して削除する場合に、前記所定のディスク上にあるコンテンツのレプリカについては、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数で割ることでコンテンツディスクスコアなる値を算出し、前記レプリカを作成しようとしているコンテンツについては、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数にこれからコピーを作成しようとする数を足した値で割った予測コンテンツディスクスコアなる値を算出し、前記予測コンテンツディスクスコアより前記コンテンツディスクスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を全て削除した時に、レプリカを作成してもディスクの負荷が許容値を超えないと予想される場合、前記コンテンツスディスクコアが低い順に、レプリカを作成してもディスクの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、前記コンテンツのレプリカの作成を行うことを特徴とする。
【0050】
請求項10の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のディスク上にコンテンツのレプリカを作成する際に、前記ディスクの負荷が最も低い、または残りのディスク負荷の許容値が最も大きいディスクをレプリカの作成先として選択することを特徴とする。
【0051】
請求項11の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断することを特徴とする。
【0052】
請求項12の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する際に、既に前記サーバに割り当て済みのコンテンツのレプリカについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数で割ることでコンテンツサーバスコアなる値を算出し、前記レプリカを作成しようとしているコンテンツについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数に、割り当てをしようとしているサーバの数を足した値で割ることで予測コンテンツサーバスコアなる値を算出し、前記予測コンテンツサーバスコアより前記コンテンツサーバスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を削除した結果、レプリカを作成してもサーバの負荷が許容値を超えないと予想される場合、前記コンテンツサーバスコアが低い順に、レプリカを作成しても前記サーバの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、コンテンツのレプリカの作成を行うことを特徴とする。
【0053】
請求項13の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のサーバをコンテンツの配信の担当として割り振る際に、サーバの負荷が最も低い、または残りのサーバ負荷の許容値が最も大きいサーバを配信の割り当て先として選択することを特徴とする。
【0054】
請求項14の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の複数のサーバ毎にディスクが接続されていることを特徴とする。
【0055】
請求項15の本発明のコンテンツ配置管理システムは、コンテンツ配信システム内のディスクが複数のサーバから参照可能な共有ディスクとして接続されていることを特徴とする。
【0056】
請求項16の本発明のコンテンツ配置管理システムは、コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定することを特徴とする。
【0057】
請求項17の本発明のコンテンツ配置管理システムは、前記ポリシを、前記コンテンツ毎に設定することを特徴とする。
【0058】
請求項18の本発明のコンテンツ配置管理システムは、前記ポリシをコンテンツ毎に設定したポリシ管理装置と、前記コンテンツアクセス指標と前記ポリシを参照しながら、クラスタ内のサーバにコンテンツのレプリカの作成や、またはクラスタ内のサーバからレプリカの削除を実行することにより、コンテンツの配置を制御するコンテンツ配置制御装置とを備えることを特徴とする。
【0059】
請求項19の本発明のコンテンツ配置管理システムは、コンテンツの所在情報を管理するコンテンツ配置状況管理装置を備え、前記コンテンツ配置制御装置は、前記コンテンツ配置状況管理装置の前記コンテンツの所在情報を参照してコンテンツの配置を制御することを特徴とする。
【0060】
請求項20の本発明のコンテンツ配置管理システムは、コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定し、(1)固定ポリシ(条件:設定された期間の間に削除候補として選択されるとき/アクション:ディスクからの削除対象や配信担当サーバ数の削減対象とさせない)、(2)新規レプリカ作成ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツのレプリカが配信管理システム内にない/アクション:レプリカを作成するための処理を実行する)、(3)レプリカ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、レプリカ数を超えるとき/アクション:配信管理システム内にもう1つレプリカを作成するための処理を実行する)、(4)レプリカ削除ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:ディスクからレプリカを設定された数だけ削除する)、(5)レプリカ追い出しポリシ(条件:設定された期間の間に削除候補として選択される時/アクション:ディスクから削除される)、(6)新規配信担当サーバ割当ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツの配信担当サーバが配信管理システム内にない/アクション:配信担当サーバを割り当てる処理を実行する、(7)配信担当サーバ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、配信担当サーバ数を超えるとき/アクション:配信管理システム内のコンテンツの配信担当サーバ数を1つ増やすための処理を実行する)、(8)配信担当削減ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:配信担当サーバ数を設定された数だけ削減する)の何れかのポリシから選択して設定することを特徴とする。
【0061】
請求項21の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内にプロキシキャッシュサーバを備え、一部のコンテンツの配信を前記プロキシキャッシュサーバ経由で行うことを特徴とする。
【0062】
請求項22の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内のサーバをプロキシキャッシュサーバとして機能させ、コンテンツのレプリカの作成や削除の指示を負荷分散装置による誘導により間接的に実行することを特徴とする。
【0063】
請求項23の本発明のコンテンツ配置管理システムは、ディスクの負荷を監視し、観測したディスク負荷がディスクの負荷の許容値を超えたディスクがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカを他のコンテンツ配信システム内に作成することを特徴とする。
【0064】
請求項24の本発明のコンテンツ配置管理システムは、サーバの負荷を監視し、観測したサーバ負荷がサーバの負荷の許容値を超えたサーバがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカの配信を担当するサーバを増やすことを特徴とする。
【0065】
請求項25の本発明のコンテンツ配置管理システムは、初めてコンテンツに対するリクエストや配信実績が発生した際に設定されるコンテンツアクセス指標の初期値を動的に変化する基準値とすることを特徴とする。
【0066】
請求項26の本発明のコンテンツ配置管理システムは、再起動や新規に増設されたサーバの観測サーバ負荷の初期値を、動的に変化する基準値とすることを特徴とする。
【0067】
請求項27の本発明のコンテンツ配置管理システムは、再起動され又は新規に増設されたディスクの観測ディスク負荷の初期値を、動的に変化する基準値とすることを特徴とする。
【0068】
請求項28の本発明は、コンピュータ上で実行され、コンテンツ配信システム内でのコンテンツの配置管理を行うコンテンツ配置管理プログラムであって、前記コンテンツに対するクライアントからのリクエスト、当該リクエストに伴うコンテンツの配信実績、それらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理し、前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行う機能を実行する。
【0069】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について図面を参照して詳細に説明する。
【0070】
(第1の実施の形態)
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
【0071】
図1を参照すると、本発明の第1の実施の形態によるシステムは、コンテンツを視聴する複数のクライアント(図1では、3つのクライアント)2001、2002、2003、ユーザがネットワークにより接続するアクセス網2004、アクセス網2004にネットワークにより接続されたコンテンツ配信システム2010、コンテンツ配信システム2010を外部ネットワークやその他のコンテンツ配信システムと接続するネットワーク2005とを備えて構成される。
【0072】
ここで、コンテンツ配信システム2010は、ディスクが接続されたサーバ群で構成されるクラスタ2020、ユーザのリクエストをこれらのサーバや外部のコンテンツ配信システムに負荷分散しながら誘導する負荷分散装置2012、コンテンツの所在情報を管理するコンテンツ配置状況管理装置2014、コンテンツへのユーザのリクエスト状況を監視するアクセス監視装置2011、コンテンツの配置を制御するコンテンツ配置制御装置2030、コンテンツの配置方針(ポリシ)を管理するためのポリシ管理装置2015、上記ポリシの入力やコンテンツ配信管理システムの設定を行うための管理端末2006を含んで構成される。
【0073】
負荷分散装置2012とアクセス監視装置2011は、コンテンツ配信システム2010を利用するユーザ(クライアント2001〜2003)からのコンテンツへのリクエストが経由するように接続されている。
【0074】
負荷分散装置2012とクラスタ2020は、ローカルネットワーク2013により接続されている。また、負荷分散装置2012は、ネットワーク2005で外部のコンテンツ配信システムにも接続されている。コンテンツ配置状況管理装置2014、コンテンツ配置制御装置2030、ポリシ管理装置2015、管理端末2006、クラスタ2020、負荷分散装置2012、およびアクセス監視装置2011は、システム内のローカルネットワーク2013により互いに接続されている。
【0075】
クラスタ2020は、ディスクが接続されたサーバ群(ディスク2024が接続されたサーバ2021(サーバ(1))、ディスク2025が接続されたサーバ2022(サーバ(2))、ディスク2026が接続されたサーバ2023(サーバ(3))の3台のサーバに加えて、クラスタ内の各サーバ2021〜2023の使用状況や負荷等を監視、管理しているサーバ状況監視装置2027、各ディスク2024〜2026の利用状況や負荷状況を監視、管理するディスク状況監視装置2028を備えて構成されている。
【0076】
なお、ここでは、サーバ状況やディスク状況は、サーバ状況監視装置2027、ディスク状況監視装置2028によりクラスタ2020内の1箇所で集中管理される構成として説明するが、サーバ状況監視装置2027、ディスク状況監視装置2028は各サーバやディスク毎に分散管理する構成としてもよい。図1のように、集中管理することのメリットは、コンテンツ配置制御装置2030が行うサーバ状況、ディスク状況の問い合わせがいずれも一括して行えるようになるという点である。
【0077】
サーバ状況監視装置2027は、各サーバ2021〜2023の観測サーバ負荷(サーバの処理量を表す指標)とその負荷の限界値であるサーバ限界負荷値を管理している。サーバ負荷を表す指標は、いわゆるサーバのロードでも良いし、サーバのCPU利用率、サーバ毎に観測した累積アクセス数や一定期間のアクセス数、現在の同時コネクション数、現在のサーバスループット(サーバからクライアントに送信している総データ量を単位時間で割った値)等、様々な指標を定義することが可能である。
【0078】
また、複数の指標に関して、上述した観測サーバ負荷、サーバ負荷限界値のセットを保持しても良い。さらに、幾つかの指標から何らかの算出式により得た新たな指標を観測サーバ負荷として定義しても良い。
【0079】
図2は、サーバ負荷の指標をサーバのCPU使用率とした場合の例を示している。サーバ限界負荷値については、一般にはシステム起動時に設定されるものであるが、随時管理端末2006から設定も可能である。観測サーバ負荷に関しては、設定された周期で負荷を測定して更新する方法や、コンテンツの配置状況やユーザのアクセス状況が変わるごとにイベントドリブン的に更新する方法等を選択することができる。さらに、設定された周期で負荷を測定して更新する方法と、コンテンツの配置状況やユーザのアクセス状況が変わるごとにイベントドリブン的に更新を行う方法を併用することも可能である。
【0080】
ディスク状況監視装置2028は、各ディスク2024〜2026の観測ディスク負荷とその負荷の限界値であるディスク限界負荷値を管理している。ディスク負荷を表す指標としては、使用ディスク容量、ディスク毎の稼動率、Write数、Read数、現在のRead/Writeのスループット等が考えられる。
【0081】
図3は、使用ディスク容量(単位B)をディスク負荷の指標とした場合の例を示している。ディスク限界負荷値については、一般にはシステム起動時に設定されるものであるが、随時管理端末2006から設定も可能である。観測ディスク負荷に関しては、コンテンツの配置状況が変わるごとにイベントドリブン的に更新することが望ましいが、システムに与える処理負荷を軽減することを考慮し、設定された周期で負荷を測定して更新する方法としても良い。また、設定された周期で負荷を測定して更新する方法と、コンテンツの配置状況やユーザのアクセス状況が変わるごとにイベントドリブン的に更新を行う方法を併用しても良い。
【0082】
上述のように負荷分散装置2012は、クライアント2001〜2003のアクセス網2004と接続され、クラスタ2020とローカルネットワーク2013によって接続されると共に、外部のネットワークおよびその他のコンテンツ配信システムとネットワーク2005により接続されている。
【0083】
クライアント2001〜2003のリクエストを受付けると、リクエストされたコンテンツがクラスタ内のサーバに接続されたディスクに格納されており、そのサーバから配信が可能な場合は、負荷分散装置2012は、そこにリクエストを誘導し、そのサーバからクライアントへのコンテンツの配信を行うようにする。
【0084】
例えば、図4のようにサーバ(1)2021にクライアントがリクエストするコンテンツAが格納されている場合は、クライアントのリクエストをサーバ(1)2021に誘導し、サーバ(1)2021からクライアントへの配信を確立させる。
【0085】
また、クライアントの要求するコンテンツBが、サーバ(1)2021、サーバ(2)2022の両方に置かれている場合、負荷分散装置2012は、ラウンドロビン、またはサーバ負荷の低いサーバを選択する等適当な制御方法に従って、サーバの負荷分散を図る形で、どちらかのサーバにクライアントのリクエストを誘導、そのサーバからの配信を確立する。
【0086】
さらに、ユーザの要求するコンテンツCがクラスタ2020内のサーバにはなく、外部のコンテンツ配信システム2310のサーバにある場合は、負荷分散装置負荷分散装置2012は、クライアントのリクエストを外部のコンテンツ配信システム2310に誘導し、そのコンテンツ配信システム2310内のサーバからの配信を確立させる。
【0087】
負荷分散装置2012は、コンテンツ毎にクライアントのリクエストを誘導する先の候補を管理しておく必要がある。例えば、上述の例では、図5に示すように、コンテンツAについてはサーバ1を、コンテンツBについては、サーバ1とサーバ2を誘導先の候補として管理しておく必要がある。
【0088】
コンテンツCに関しては、図5では、コンテンツ配信システム2310を誘導先の候補として管理している(つまり、ここではコンテンツ配信システム2310内のどのサーバに誘導するかは負荷分散装置2012に任せる、というやり方となっている)。
【0089】
自コンテンツ配信システム内のサーバに無い場合に、他のコンテンツ配信システムに誘導する方法は、他にも多数存在する。具体的にコンテンツ配信システム2310のコンテンツを保持するサーバを候補として管理しておいて、その中から選択して誘導する方法もある。また、誘導先を決定するシステムが別に存在し、そのシステムを誘導先として登録しておく、等の方法も考えられる。ここでは、自コンテンツ配信システム内のサーバに無い場合に、他のコンテンツ配信システムに誘導する方法を特定しない。なお、クライアントのリクエストを誘導の候補は、コンテンツの配置状況に依存して決まるもののため、この管理情報は、コンテンツの配置に応じて更新される必要がある。
【0090】
また、配信ができないサーバにリクエストを誘導してはいけないため、それぞれの誘導候補先のサーバが配信可能(Active)か配信できない状態(Down)の状態かも管理しておく必要がある。例えば、図4に示すように、コンテンツDは、サーバ2、サーバ3の両方に置かれているが、サーバ2はActiveだが、サーバ3はDownしているとする。このとき、コンテンツDへのクライアントからの要求が来ると、負荷分散装置2012は、サーバの配信可能状況を調べた上で、サーバ2にクライアントのリクエストを誘導、そのサーバからの配信を確立する。
【0091】
なお、サーバの配信状態については、負荷分散装置2012が独自に必ずしも管理する必要はなく、先のサーバ状況監視装置2027で管理してある情報を参照する、という方法でも問題はない。以下ではサーバ状況監視装置2027で管理してある情報を参照するものとして説明する。
【0092】
コンテンツ配置状況管理装置2014は、各コンテンツのクラスタ内での所在情報(どこのサーバのディスクにどのコンテンツのレプリカ(コピー)が配置されているか)を管理している。さらに、各コンテンツの属性情報も同時に管理している。
【0093】
具体的には、コンテンツをサーバに配置した結果発生するサーバ負荷(コンテンツサーバ負荷)、コンテンツをディスクに配置した結果発生するディスク負荷(コンテンツディスク負荷)、コンテンツへのアクセス状況を示す指標(コンテンツアクセス指標)、クラスタ内の幾つのサーバのディスク上にレプリカが存在するかを示すレプリカ数、後述するコンテンツの価値を示すコンテンツディスクスコア等を属性として有する。
【0094】
例えば、図6は、コンテンツの所在情報を示すための配置サーバのフィールドに加え、コンテンツサーバ負荷として1配信あたりに要するCPU使用率、コンテンツディスク負荷としてコンテンツサイズ、コンテンツアクセス指標として、平均同時配信数、コンテンツディスクスコアとしてコンテンツアクセス指標をレプリカ数で割った値とした場合を示している。これら情報は、コンテンツ配置制御装置2030により行われるコンテンツ配置やユーザからのリクエストやユーザへの配信実績の変化に応じてアップデートされて管理されなければならない。
【0095】
アクセス監視装置2011は、コンテンツ配信システム2010を通じて、コンテンツに対するクライアントからのリクエスト、またはそれに伴う配信実績、またはこれらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を管理する。
【0096】
このコンテンツアクセス指標としては、例えば、コンテンツ毎の累積リクエスト数、または、一定期間のコンテンツ毎のリクエスト数、またはコンテンツ毎の同時配信数、配信実績バイト数、コンテンツ毎の累積配信実績数、一定期間のコンテンツ毎の配信実績数、等を定義することができる。また、コンテンツアクセス指標として、上記にあげた指標のうち複数の指標を保持しても良いし、幾つかの指標から何らかの算出式により得たものを1つのコンテンツアクセス指標としても良い。また、コンテンツアクセス指標はコンテンツ毎に管理される情報であるため、コンテンツ配置状況管理装置2014の管理情報とまとめて管理しても良い。
【0097】
図6は、平均同時配信数をコンテンツアクセス指標として、コンテンツ配置状況管理装置2014の管理情報をまとめた場合の例を示している。また、コンテンツアクセス指標の更新と同時に、コンテンツディスクスコアについても更新する必要がある。
【0098】
これらの更新については、各クライアントのリクエストまたは配信完了毎にイベントドリブンに更新しても良いが、必ずしもイベントドリブンに更新する必要はなく、周期的に更新するといったバッチ的な更新を取ることも可能である。
【0099】
コンテンツの配置を制御するコンテンツ配置制御装置2030は、アクセス状況等に基づいて、クラスタ内のサーバにレプリカ(コピー)を作成するコンテンツ、またはクラスタ内のサーバからレプリカ(コピー)を削除するコンテンツを選択する配置対象選択部2032、レプリカの作成を行うサーバを選択する配置サーバ選択部2034、レプリカ作成により、ディスクのディスク限界負荷値をオーバーする可能性がある場合に、ディスクから削除するコンテンツのレプリカを選択する削除対象選択部2033、上記の各構成要素の機能を統括して、コンテンツのミラー、削除の実行指示までを行うコンテンツ配置判断部2031を備える。これらの各構成要素の機能については、後述の動作の説明において行う。
【0100】
コンテンツ配置制御装置2030において、配置対象選択部2032は、アクセス監視装置2011からコンテンツアクセス指標を受け取り、さらにポリシ管理装置2015の管理情報を参照しながら、コンテンツアクセス指標の値に応じて、コンテンツに対するアクション、具体的にはコンテンツをミラーをする、または削除する、または何もしない等の決定を行う。どのような値の時に、どのような選択をするかについては、システムで一意に設定することもできるし、コンテンツ毎やコンテンツグループ毎に設定することもできる。この設定の入力を管理端末2006から受けて、管理するのがポリシ管理装置2015である。
【0101】
最も詳細には、コンテンツ毎にポリシと呼ばれる、条件とアクション(処理内容)の対が設定される。ここでは、コンテンツ毎に設定する場合を例にとり説明する。コンテンツアクセス指標が平均同時配信数だとすると、例えば図7に示すコンテンツAのように、平均同時配信数が200を超え、かつクラスタ内にレプリカが無い(レプリカ数=0)場合(条件1)、クラスタのいずれかのサーバにコンテンツをミラーする(アクション1)。平均同時配信数を100で割った値が、現在のクラスタ内のレプリカ数を超えると(条件2)、クラスタ内にもう1つレプリカを1つ増やす(アクション2)、等というようにポリシを設定できる。
【0102】
また、例えば、図7のコンテンツBのように、平均同時接続数が10件を下回ったら(条件1)、クラスタ内のコンテンツBのレプリカを全て削除する(アクション1)、等というように設定することができる。
【0103】
なお、上記各構成要素は、プログラム制御可能なコンピュータ処理部(CPU)によって実現され、コンテンツ配置管理を行うためのコンテンツ配置管理プログラムをコンテンツ配置制御装置2030が実行することにより以下に詳しく説明するコンテンツの配置管理を行う。このコンテンツ配置管理プログラムは、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体から各構成要路であるコンテンツ配置制御装置2030のコンピュータ処理部(CPU)のメモリにロードされ、コンピュータ処理部の動作を制御することにより管理に必要な各機能を実現する。
【0104】
(第1の実施の形態の動作)
次に、本実施の形態によるコンテンツ配信システムが、コンテンツの配置状況を更新する際の動作を順に説明する。この配置状況の更新が従来の技術と差別化される本発明の特徴である。
【0105】
配置対象選択部2032は、アクセス監視装置2011からコンテンツアクセス指標を受け取り、さらにポリシ管理装置2015の管理情報を参照しながら、コンテンツアクセス指標の値に応じて、コンテンツに対するアクション、具体的にはコンテンツをミラーをする、または削除する、または何もしない等を決定する。
【0106】
アクションの実行を判断すると、配置対象選択部2032はコンテンツ配置判断部2031に、アクションの実行を指示する。アクションは、具体的にはあるコンテンツのミラーの実行か、削除の実行となる。以下順をおって説明する。
【0107】
まず、指示がコンテンツのミラーであった場合の処理内容を、図8のフローチャートを参照して説明する。
【0108】
コンテンツ配置判断部2031は、ミラー対象のコンテンツの識別子とそのクラスタ内に作成すべき新規レプリカの数(新たにサーバに接続されたディスクにコピーを作る数)について配置対象選択部2032からの指示を受ける(ステップ2800)。
【0109】
配置対象選択部2032は、アクセス監視装置2011が管理する情報とポリシ管理装置2015が管理する情報を参照しながら、ミラー対象のコンテンツの識別子とそのクラスタ内に作成すべき新規レプリカの数を判断している。ここで、例えば、図7に示されるようにコンテンツAには、コンテンツアクセス指標が「200以上」でかつ、クラスタ内に存在するレプリカの数が「0」である場合には、クラスタ内のいずれかのサーバ1つにレプリカを作成するように設定されているとする。そして、図24に示されるように、コンテンツAのコンテンツアクセス指標が「300」であったとする。この時、配置対象選択部2032はミラー対象のコンテンツの識別子として「A」を、そのクラスタ内に作成すべき新規レプリカの数として「1」をコンテンツ配置判断部2031に指示する。
【0110】
コンテンツ配置判断部2031は、配置先決定サーバリストを初期化(空の状態とする)し、さらに配置先サーバ数を初期化して「0」にする(ステップ2801)。そして、サーバ状況監視装置の管理情報およびコンテンツ配置状況管理装置の管理情報を参照しながら、設定された基準に適合するサーバを候補サーバリストに登録する(ステップ2802)。ここで設定された基準の例としては、ミラー対象であるコンテンツが置かれておらずかつActiveであるサーバ、等とすることが挙げられる。
【0111】
そして、候補サーバリストが空になるまで(ステップ2803)、または配置先サーバ数が配置対象選択部2032から指示された新規レプリカ数に達するまで(ステップ2804)、以下の処理を実行する。
【0112】
まず、候補サーバリストの中から、1つサーバを配置サーバ選択部2034に選択する(ステップ2805)。この際の選択方法としては以下の方法が考えられる。
【0113】
方法1:観測サーバ負荷値の最も小さいサーバを選択する。
【0114】
方法2:観測ディスク負荷値の最も小さいサーバを選択する。
【0115】
方法3:残余ディスク負荷が、ミラー対象コンテンツのコンテンツディスク負荷より大きいサーバの中から、方法1または方法2により選択する。もし、コンテンツを置くだけのディスクスペースがあるサーバが無ければ、方法1または方法2のいずれかの方法でサーバを選択する、等の方法を採用することができる。
【0116】
上記のいずれかの方法、または他の何らかのアルゴリズムに従って、サーバを選択する。
【0117】
コンテンツ配置判断部は2031は、上記ステップ2805で選択されたサーバのディスク状況をディスク状況監視装置2028に、ミラー対象のコンテンツのコンテンツディスク負荷をコンテンツ配置状況管理装置2014に問い合わせる。そして、コンテンツをサーバに配置することで、ディスク限界負荷値を超えると予想されるかされないかによって、具体的には、観測ディスク負荷とミラー対象のコンテンツディスク負荷の合計がディスク限界負荷値を超えるか超えないかによって処理を分岐する(ステップ2807)。
【0118】
ディスク限界負荷値を超えないと予想される場合は、後述のステップ2824に進む。
【0119】
ここで、ディスク限界負荷値を超える場合の具体例を示す。ディスク容量がディスク負荷、コンテンツサイズがコンテンツディスク負荷の指標とする。ディスク負荷、つまり既に利用済みのディスク容量が1.8GB、ミラー対象のコンテンツの合計サイズが0.8GBとする。ディスク限界負荷値、つまり利用可能な総ディスク容量が2.0GBの場合、ディスク限界負荷値を超えると判断される。この場合、いずれかのコンテンツをまずサーバのディスク上から0.6GB以上削除する必要がある。
【0120】
ディスク限界負荷値を超えると予想された場合の処理について説明する。コンテンツ配置判断部2031は削除対象選択部2033に、削除できるコンテンツがあるかを問い合わせる(ステップ2809)。削除できるコンテンツがないと判断された場合(ステップ2810)は、後述のステップ2830以下に進む。
【0121】
削除すべきコンテンツがあることを指示されると、これらコンテンツを削除をした上で、ミラー対象のレプリカをサーバに作成した後にサーバ負荷がサーバ限界負荷値を超えるかどうかの予測を行う(ステップ2811)。
【0122】
具体的には、
(式1):サーバ負荷−(削除対象として挙げられたコンテンツが与えていたサーバ負荷)+ミラー対象のコンテンツが与えると予想されるサーバ負荷>サーバ限界負荷値が成り立つかどうかを確認する。
【0123】
もし、この(式1)の関係がなりたつ場合は、サーバ負荷がサーバ限界負荷値を超えると判断し(ステップ2812)、後述のステップ2830以下に進む。
【0124】
ここで、サーバ限界負荷値を超える場合の具体的な例を示す。ここでは、CPU利用率がサーバ負荷の指標とする。
【0125】
図2に示すように、サーバ(1)2021の観測サーバ負荷が現在「80%」で、サーバ限界負荷値が「90%」とする。そして、削除対象がコンテンツB、ミラー対象がコンテンツC、ミラー先のサーバがサーバ(1)2021であるとし、それぞれのコンテンツサーバ負荷が、図6に示されるように、「1.0%」、「1.5%」として設定されているとする。
【0126】
削除対象として挙げられたコンテンツが与えていたサーバ負荷は、コンテンツサーバ負荷(CPU使用率/配信)とコンテンツアクセス指標(平均同時配信数)の積で算出されるので「20%」となる。ミラー対象のコンテンツが与えると予想されるサーバ負荷は、同様に30%と算出される。この結果、(式1)の左辺は85−20+30=95%となり、サーバ限界負荷値「90%」を上回るために、サーバ限界負荷値を超えると判断される。
【0127】
もし、この(式1)の関係が成り立たない、つまり、サーバ負荷がサーバ限界負荷値を超えないと判断した場合は、削除対象として削除対象選択部2033が選択したコンテンツのサーバからの削除を実行する(ステップ2813)。なお、このステップ2811とステップ2812の処理は必ずしも行わなくても良い。
【0128】
次に、ミラー対象のコンテンツのミラー(サーバへのコンテンツのコピー)を実行する(ステップ2824)。
【0129】
そして、サーバ負荷状況の更新(ステップ2825)を行う。具体的には、観測サーバ負荷から、削除した分のコンテンツサーバ負荷を引き、ミラー対象のコンテンツが与えると予想されるサーバ負荷を足せば良い。ただし、この更新処理ステップ2825は必ずしも行わなくとも良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0130】
次に、削除、ミラーの実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ2826)。さらにレプリカ数の更新も行う。この際、同時にコンテンツディスクスコアの更新も行う。なお、コンテンツディスクスコアとは、後述する削除対象選択で用いられる指標で、コンテンツのレプリカ単位の価値を示すものである。詳細な定義については、後述の削除対象選択の動作において説明する。
【0131】
次に、ディスク状況の更新を行う(ステップ2827)。具体的には、観測ディスク負荷から、削除した分のコンテンツディスク負荷を引き、ミラーした分のコンテンツディスク負荷を足し、残余ディスク負荷も更新する処理を行う。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0132】
次に、負荷分散装置2012での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ2828)。具体的には、ミラーをしたコンテンツについては、サーバを誘導対象のサーバリストに追加する。削除したコンテンツについては、削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0133】
そして、配信先サーバ数に「1」を加え(ステップ2829)、候補サーバリストから選択されたサーバを除き、ステップ2803以下の処理に進む。
【0134】
以上が、配置対象選択部2032からコンテンツ配置判断部2031への指示がコンテンツのミラーだった場合の処理内容である。
【0135】
なお、コンテンツを具体的にいずれかのサーバに置く指示が与えられることも想定できるが、この場合は、ステップ2802で作成する候補サーバリストをこの指定されたサーバだけにした上でステップ2803以下を実行すれば良い。
【0136】
ここで、図8のステップ2809における削除対象選択の処理の詳細動作について図9を用いて順に説明する。
【0137】
削除対象選択部2033は、コンテンツアクセス指標と、コンテンツのレプリカ数から算出したコンテンツディスクスコア、という数値を指標として削除すべきコンテンツを選択する。
【0138】
最もシンプルな方法としては、コンテンツアクセス指標をレプリカ数で割った値をコンテンツディスクスコアとする方法がある。コンテンツディスクスコアは、コンテンツ配置状況管理装置2014で管理されている。
【0139】
まず、なお、ミラー対象のコンテンツについては、単純にレプリカ数で割るだけではなく、ミラー前のレプリカ数に「1」を加えた値で、コンテンツアクセス指標を割った、予測コンテンツディスクスコアという数値を算出する(ステップ2901)。初期化の手順として、空の削除対象コンテンツリストを作成し(ステップ2902)、削除可能ディスク負荷を「0」に設定する(ステップ2903)。
【0140】
次に、サーバのディスクに置かれているコンテンツの中から、この予測コンテンツディスクスコアよりも低いコンテンツディスクスコアを持つコンテンツを削除候補コンテンツリストに登録する(ステップ2904)。
【0141】
そして、削除候補が削除候補コンテンツリストにあり(ステップ2905)、かつディスク限界負荷からディスク負荷、さらにこの削除可能ディスク負荷値を引いた値(残余ディスク負荷)が、ミラー対象のコンテンツのコンテンツディスク負荷を超えるまで(ステップ2906)、ステップ2907からステップ2909の手順により削除対象コンテンツを選択する。
【0142】
まず、その削除候補コンテンツリストの中から、最もコンテンツディスクスコアの低いものを削除対象コンテンツとして選択し削除対象コンテンツリストに追加する(ステップ2907)、そのコンテンツディスク負荷値を削除可能ディスク負荷値に加算する(ステップ2908)。そしてこのコンテンツを削除候補から削除し(ステップ2909)、ステップ2905に戻る。
【0143】
もし、ステップ2905で、削除候補コンテンツリストが空であれば、削除できるコンテンツが配置予定のサーバ上にないことがコンテンツ配置判断部2031に通知される(ステップ2910)。
【0144】
ステップ2906で、ディスク限界負荷からディスク負荷、さらにこの削除可能ディスク負荷値を引いた値が、ミラー対象のコンテンツのコンテンツディスク負荷を超えたと判断された場合は、削除できるコンテンツが、配置予定のサーバ上に存在することと、その削除対象コンテンツがコンテンツ配置判断部2031に通知される(ステップ2911)。
【0145】
なお、上記ではコンテンツディスクスコアをコンテンツアクセス指標をレプリカ数で割った値、予測コンテンツディスクスコアをミラー前のレプリカ数に「1」を加えた値で、コンテンツアクセス指標を割った値と定義しているが、これはそれぞれ、コンテンツ配信システム単位で集計された指標であるコンテンツアクセス指標と、レプリカ数から算出される値であれば良く、上記の方法に限定される訳ではない。
【0146】
次に、配置対象選択部2032からコンテンツ配置判断部2031への指示がコンテンツの削除だった場合の処理内容について説明する。
【0147】
コンテンツの削除の指示において、削除するレプリカ数が指定された場合について、図10を用いて詳細に説明する。
【0148】
コンテンツ配置判断部2031は、削除対象のコンテンツの識別子とそのクラスタ内から削除すべき削除レプリカ数について配置対象選択部2032からの指示を受け付ける(ステップ3000)。
【0149】
配置対象選択部2032は、アクセス監視装置2011が管理する情報とポリシ管理装置2015が管理する情報を参照しながら、削除対象のコンテンツの識別子とそのクラスタ内から削除すべきレプリカの数を判断する。
【0150】
例えば、図7に示されるように、コンテンツBには、コンテンツアクセス指標が「10」を下回ったら、クラスタ内に存在する全てのレプリカを削除するように設定されているとする。そして、図24に示されるように、コンテンツBのコンテンツアクセス指標が「5」であり、設定されていた閾値「10」を下回っているとする。
【0151】
この時、配置対象選択部2032は、コンテンツ配置状況管理装置2014の管理情報を参照し、コンテンツBのレプリカ数を参照する。そして、配置対象選択部2032は削除対象のコンテンツの識別子として「b」を、そのクラスタ内に作成すべき新規レプリカの数として先に参照したコンテンツBのレプリカ数をコンテンツ配置判断部2031に指示する。
【0152】
コンテンツ配置判断部2031は、削除元決定サーバリストを初期化(空の状態とする)し、さらに削除元サーバ数を「0」にする(ステップ3001)。そして、コンテンツ配置状況管理装置の管理情報を参照して、指定されたコンテンツのレプリカがディスクに置かれているサーバを削除候補サーバリストに登録する(ステップ3002)。
【0153】
次いで、削除候補サーバリストが空になるまで(ステップ3003)、または削除元サーバ数が配置対象選択部2032から指示された削除レプリカ数に達するまで(ステップ3004)、以下に述べる処理を実行する。
【0154】
まず、候補サーバリストの中から、1つサーバを配置サーバ選択部2034に選択させる(3005)。この際の選択方法としては以下のような方法がある。方法1:観測サーバ負荷値の最も高いサーバを選択する。
方法2:観測ディスク負荷値の最も高いサーバを選択する。
上記のいずれかの方法、または他の何らかのアルゴリズムに従って、サーバを選択する。
【0155】
次に、削除対象のコンテンツの削除を実行する(ステップ3006)。
【0156】
そして、サーバ負荷状況の更新(ステップ3007)を行う。具体的には、観測サーバ負荷から、削除した分のコンテンツサーバ負荷を引く。ただし、この更新処理3007は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0157】
次に、削除の実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ3008)。具体的には、削除を行ったサーバを配置サーバのリストから削除すること、レプリカ数を1つ減算すること、更新されたレプリカ数を用いてコンテンツディスクスコアを更新することを実行する。
【0158】
次に、ディスク状況の更新を行う(ステップ3009)。具体的には、観測ディスク負荷から、削除した分のコンテンツディスク負荷を引き、残余ディスク負荷も更新する処理を行う。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0159】
次に、負荷分散装置2012での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ3010)。削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0160】
そして、削除元サーバ数に「1」を加え(ステップ3011)、削除候補サーバリストから選択したサーバを除き(ステップ3012)、ステップ3003以下の処理に進む。
【0161】
また、コンテンツの削除の指示が、サーバを指定されて行われる場合も想定されるが、この場合は、ステップ3002で作成する削除候補サーバリストに指定されたサーバだけを登録した後に、ステップ3003以下を実行すれば良い。また、指定されたコンテンツを配信システム上の全てのサーバから削除されるように指示された場合は、コンテンツの配置状況をコンテンツ配置状況管理装置2014に確認し、コンテンツを配置しているサーバを抜き出し、これらを削除候補サーバリストに登録した後に、ステップ3003以下を実行すれば良い。
【0162】
なお、コンテンツのミラーや削除の指示は管理端末2006から随時できるものとする。このような構成により、管理者の判断によりコンテンツ配置を実現することも可能となる。ただし、コンテンツのミラーを上記の枠組みで行うと、コンテンツディスクスコアが低いと、レプリカが作成できない可能性がある。ミラーを確実に行いたい場合は、コンテンツディスクスコアを十分高い値に修正した上で行う必要がある。
【0163】
ここで、上記説明した処理のうち、コンテンツの削除、コンテンツのミラー(コピーであるレプリカをディスク上に作成し、配信を担当するサーバを決定する処理)の処理の実行方法についてより詳細な説明を行う。
【0164】
削除に関しては、コンテンツ配置制御装置2030が直にディスクからのレプリカの削除を行って、コンテンツ配置状況管理装置2014への管理情報の更新の指示、負荷分散装置2012への管理情報の更新の指示を行えば良い。もし、サーバに削除処理を受け付けるインタフェースがあるならば、ディスクからのレプリカの削除は、そのインタフェースを利用して行えば良い。本発明の実施の形態における、削除の方式は、前記のいずれでも構わないし、利用可能であれば他の方式であっても良い。
【0165】
ミラーについては、コンテンツ配信システム内にはコンテンツのレプリカは存在せず、他のコンテンツ配信システムから配信して貰う場合と、既にコンテンツ配信システム内にコンテンツのレプリカが存在する場合とで相違する。
【0166】
まず、コンテンツ配信システム内にはコンテンツのレプリカは存在せず、他のコンテンツ配信システムから配信して貰う場合について示す。この場合大きく分けて、図21に示されるPULL式の方法と、図22に示されるPUSH式の方法がある。
【0167】
まず、図21を用いてPULL式の方法について説明する。図21に示されるように、コンテンツ配置状況管理装置4130からの指示をミラー先のサーバ4101が受け、サーバ4101がコンテンツの配信のリクエストを他のコンテンツ配信システム4160に送る。そして、コンテンツのレプリカを保有する他のコンテンツ配信システム4160内のサーバ4151から、サーバ4201がコンテンツの配信を受けて、ディスク4202にレプリカの作成を行う方法がある。ここで、配信の仕組みはクライアントに対しての配信の方法と異なる方法でも構わない。例えば、クライアントにはUDPによる配信であるが、ミラーのための配信はFTPで行うといった方法でも良い。この方式は、ミラー先のサーバーがリクエストを出してコンテンツを取得する、いわゆるPULL式の方法である。
【0168】
次に、図22を用いて、PUSH式の方法について説明する。図22に示されるように、コンテンツ配置状況管理装置4230からの指示は他のコンテンツ配信システム4260に送出される。他のコンテンツ配信システムには、ミラー配信のための受け付けるミラー用配信受付部4280があり、ここでどのコンテンツをどのコンテンツ配信システムのどのサーバに行うかを受け付ける。そして、対象コンテンツのミラーを、コンテンツのレプリカを保有する他のコンテンツ配信システム4160内のサーバ4251から、指定された配信システムの指定されたサーバである4201に対して行い、レプリカをディスク4202に作成する。この方法は、ミラー先であるサーバからリクエストが出るのではなく、ミラー元からいきなり送りつけられる方式のため、PUSH式と呼ぶことにする。
【0169】
本発明の実施の形態における、ミラー処理の他のコンテンツ配信システムから配信方式は、PULL式、PUSH式いずれでも構わない。また、存在するならば他の方式であっても良い。
【0170】
次に、既にコンテンツ配信システム内にコンテンツのレプリカが存在する場合を示す。外部とのネットワークを浪費しない方法としては、図23に示すように、コンテンツ配信システム内での配信によりミラーを行う方法が望ましい。しかし、図21または42に示すように、他のコンテンツ配信システムからミラーを行う方法でも構わない。さらにここでの配信方式は、上記のPULL式、PUSH式いずれでも構わない。
【0171】
本実施の形態が従来の実施例と大きく異なる点は、コンテンツの配置をサーバ単位で判断しているのではなく、コンテンツ配信システム単位で判断している点である。コンテンツアクセス指標という、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標を基にして、コンテンツ配信システム内のコンテンツのレプリカの数(レプリカ数)を決定すること、さらにディスクの効率的な利用のためのコンテンツのレプリカの置換えを、コンテンツアクセス指標とレプリカ数から算出したコンテンツディスクスコアというものを基準に判断している点が大きな特徴である。
【0172】
これらの特徴により、コンテンツ配信システムにおける負荷分散やディスクの利用を、コンテンツの人気やシステムに掛ける負荷に応じて適切に配分することが可能となる。
【0173】
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
【0174】
本発明の第2の実施の形態によるシステムの構成を図11に示す。図1と比較すると、第1の実施の形態との違いは、クラスタ3120内のディスクの配置である。ディスク2124、3215は各サーバに直結されているのではなく、ローカルなネットワーク(ローカルネットワーク3140)によりクラスタ内の全サーバと接続される共有ディスクとなっている。
【0175】
図11では、ディスク3124とディスク3125が、サーバ2021、サーバ2022、サーバ2023とローカルネットワーク3140で接続されている。サーバ2021〜2023とのシステム的な接続形態はNFS、SAN、NAS等を挙げることができるが、いずれの方法でも、また他の方法でも構わない。
【0176】
図4で示されるように、第1の実施の形態では、コンテンツBはサーバ(1)2021、サーバ(2)2022に接続される両方のディスク2024、2025にレプリカを作成することで、コンテンツBを配信するためのサーバ配信能力の増強を実現していた。これに対して、本実施の形態の構成においては、いずれかのディスクにコンテンツのレプリカを置くだけで、(ディスクのスループットがボトルネックとならない限り)配信を担当するサーバを増やすことにより、サーバ配信能力を増強することができる。このため、クラスタ上に必要となるディスク容量を第1の実施の形態よりもさらに削減することが可能でとなる。
【0177】
上記構成の違いにより、各構成要素の機能と動作についても第1の実施の形態と部分的に相違する。以下、第1の実施の形態との相違点を中心に順に説明する。
【0178】
まず、サーバ状況監視装置2027の機能については第1の実施の形態と同様である。
【0179】
ディスク状況監視装置2028の機能は、第1の実施の形態と同様であるが、ディスクが1台のサーバにのみ接続されているわけではないため、図3に示される例のようにサーバ単位で管理するのではなく、図12に示されるようにディスク単位で管理する必要がある。
【0180】
負荷分散装置2012の機能は第1の実施の形態と同様である。ここで、図5に示されるようなコンテンツ毎にクライアントのリクエストを誘導する先の候補を管理する誘導先のリストを参照するが、この候補となっているサーバは、配信を担当するサーバではあるが、コンテンツはそのサーバ直付けのディスクに格納されているわけではないことが第1の実施の形態との差である。
【0181】
コンテンツ配置状況管理装置2014は、第1の実施の形態と同様に各コンテンツのクラスタ内での所在情報を管理している。第1の実施の形態と異なるのは、図13に示されるように、管理する情報として、コンテンツの配信を実行するサーバと、そのサーバがコンテンツを読み出すディスクとの対応を管理している点である。
【0182】
先に述べたように、ディスクからの読み出しのスループットが限界に達しない限り、コンテンツは基本的にはいずれか1つのディスクに格納しておけば良いが、ディスクスループットがボトルネックとなった場合は、別のディスクにレプリカを作成し、負荷分散を行うことも想定できる。そのため、必ずしも1つのコンテンツに対して、1つのディスクが対応する訳ではない。このような場合は、サーバ毎に、サーバと読み出しを行うディスクの対応を管理すべきであり、図13はそのような例になっている。
【0183】
また、新たに配信を担当するサーバの数を表す配信担当サーバ数のフィールドも管理する。また、サーバとディスクの対応が一意に決まらなくなったため、コンテンツスコアも、配信担当サーバ数とコンテンツアクセス指標から算出するコンテンツサーバスコアと、レプリカ数とコンテンツアクセス指標から算出するコンテンツディスクスコアの2種類を管理するものとする。
【0184】
図13の例では、コンテンツサーバスコアは、コンテンツアクセス指標を配信担当サーバ数で割った値、コンテンツディスクスコアはコンテンツアクセス指標をレプリカ数で割った値になっている。なお、この例では、同一のコンテンツアクセス指標である平均同時配信数からコンテンツディスクスコア、コンテンツサーバスコアを算出しているが、異なるコンテンツアクセス指標から算出しても問題ない。
【0185】
アクセス監視装置2011の機能については、第1の実施の形態と同様である。コンテンツの配置を制御するコンテンツ配置制御装置2030は、第1の実施の形態と同様である。
【0186】
また、ポリシ管理装置2015の機能は、第1の実施の形態と同様であるが、アクションの内容として、コンテンツをミラーをするまたは削除する、という内容に加えて、配信担当サーバを追加するまたは減らすといったこともできるようになっている。
【0187】
例えば、図14のコンテンツAのように、平均同時配信数が「200」を超え、かつクラスタ内にレプリカが無い(レプリカ数=0)場合(条件1)、クラスタのいずれかのサーバにコンテンツをミラーする(アクション1)。平均同時配信数を「200」で割った値が、現在のクラスタ内の配信担当サーバ数を超えると(条件2)、クラスタ内にもう1つ配信担当サーバを1つ増やす(アクション2)、等と設定できる。また、コンテンツBのように、平均同時配信数を「1000」で割った値が、現在のクラスタ内の配信担当サーバ数を超えると(条件2)、クラスタ内にもう1つ配信担当サーバを1つ増やすと同時に別のディスクへのレプリカの作成も行う(アクション2)、等と設定することができる。
【0188】
(第2の実施の形態の動作)
次に、第2の実施の形態における、コンテンツ配信システムがコンテンツの配置状況を更新する際の動作について順に説明する。
【0189】
配置対象選択部2032は、アクセス監視装置2011からコンテンツアクセス指標を受け取り、さらにポリシ管理装置2015の管理情報を参照しながら、コンテンツアクセス指標の値に応じて、コンテンツに対するアクション、具体的にはコンテンツをミラーをする、または削除する、配信担当サーバを追加する、減らす、または何もしない等のアクションを決定する。
【0190】
アクションの実行を判断すると、配置対象選択部2032はコンテンツ配置判断部2031に、アクションの実行を指示する。アクションは、具体的にはあるコンテンツのディスクへのミラーと配信担当サーバの割当の実行か、(既にミラー済みであるコンテンツの)配信担当サーバの追加、配信担当サーバの削減、コンテンツレプリカの削除、のいずれかとなる。以下、順に説明する。
【0191】
まず、指示がコンテンツのディスクへのミラーと配信担当サーバの割当の実行の場合の処理内容について、図15のフローチャートを参照して説明する。
【0192】
コンテンツ配置判断部2031は、ミラーの実行とその対象のコンテンツの識別子について配置対象選択部2032からの指示を受ける(ステップ3500)。そして、コンテンツ配置判断部2031は、コンテンツ配置状況管理装置2014の管理情報を参照しながら、配置を行う候補ディスクを選択する(ステップ3503)。この選択方法としては、ミラー対象であるコンテンツが配置されていないディスクの中から観測ディスク負荷値の最も小さいディスクを選択するのが最もシンプルな方法である。
【0193】
コンテンツ配置判断部は2031は、上記ステップ3503で選択されたディスクのディスク状況をディスク状況監視装置2028に、ミラー対象のコンテンツのコンテンツディスク負荷をコンテンツ配置状況管理装置2014に問い合わせる(ステップ3504)。
【0194】
そして、コンテンツをサーバに配置することで、ディスク限界負荷値を超えると予想されるかどうかによって、具体的には、観測ディスク負荷とミラー対象のコンテンツディスク負荷の合計がディスク限界負荷値を超えるかどうかによって処理を分岐する(ステップ3505)。ディスク限界負荷値を超えないと予想される場合は、後述のステップ3508に進む。
ステップ3505にて、ディスク限界負荷値を超えると予想された場合、コンテンツ配置判断部2031は、削除対象選択部2033に対して削除できるコンテンツがあるかどうかを問い合わせる(ステップ3506)。削除できるコンテンツがないと判断された場合(ステップ3507)は、処理を終了する。削除対象の選択の処理であるステップ3506は、コンテンツディスクスコアを指標として、第1の実施の形態におけるステップ2810の動作と同様である。
削除対象が決まると、次に配信担当サーバの割当を行う。コンテンツ配置判断部2031は、配置サーバ選択部2034に配信を割当てるサーバの候補を1つ選択させる(ステップ3508)。この際の選択方法としては、対象コンテンツの配信がまだ割当てられていないサーバの中から、観測サーバ負荷値の最も小さいサーバを選択するのが最もシンプルな方法である。
ステップ3504で選択された削除対象コンテンツのうち、ステップ3508で選択されたサーバが配信担当となっているコンテンツを抽出する。そして、これらのコンテンツが対象サーバに与えていたサーバ負荷の合計値を、削除対象コンテンツサーバ負荷合計値として算出する。
【0195】
そして、これらコンテンツを削除をした上で、ミラー対象のコンテンツをサーバが配信担当となった場合のサーバ負荷がサーバ限界負荷値を超えることがないかどうかの予測を行う(ステップ3509)。
【0196】
具体的には、
(式2):サーバ負荷−削除対象コンテンツサーバ負荷合計値+ミラー対象のコンテンツが与えると予想されるサーバ負荷>サーバ限界負荷値
が成り立つかどうかを確認する。
もし、上記(式2)の関係がなりたつ場合は、サーバ負荷がサーバ限界負荷値を超えると判断し(ステップ3510)、当該サーバが配信を担当しているコンテンツを配信担当から外すことで、サーバ限界負荷値以下にサーバ負荷を抑えることができるかどうかを確認する(ステップ3511)。なお、具体的な方法については、別途詳細に示す。配信担当から外すコンテンツを選択できた場合は、ステップ3513以下に進む。選択できなかった場合には処理を終了する。なお、ステップ3511、ステップ3512の処理については省略することも可能である。
【0197】
次に、削除対象として削除対象選択部2033が選択したコンテンツのサーバからの削除を実行する(ステップ3513)。次に、ミラー対象のコンテンツのミラー(ディスクへのコンテンツのコピー)を実行する(ステップ3513)。そして、ステップ3508で選択したサーバをミラー対象コンテンツの配信担当サーバとして設定する(ステップ3515)。
【0198】
そして、サーバ負荷状況の更新(ステップ3516)を行う。具体的には、観測サーバ負荷から、削除コンテンツサーバ負荷合計値を引き、ミラー対象のコンテンツが与えると予想されるサーバ負荷を足すことで更新を行う。ただし、このステップ3526による更新処理は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0199】
次に、削除、ミラーの実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバとディスクの情報を更新する(ステップ3517)。この際、レプリカ数、配置担当サーバ数の更新も行う。また、同時にコンテンツサーバスコア、コンテンツディスクスコアの更新も行う。
【0200】
次に、ディスク状況の更新を行う(ステップ3518)。具体的には、観測ディスク負荷から、削除した分のコンテンツディスク負荷を引き、ミラーした分のコンテンツディスク負荷を足し、残余ディスク負荷も更新する処理を行う。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0201】
次に、負荷分散装置2012における管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ3519)。具体的には、ミラーをしたコンテンツについては、サーバを誘導対象のサーバリストに追加する。削除したコンテンツについては、削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0202】
以上が、配置対象選択部2032からコンテンツ配置判断部2031への指示がコンテンツのディスクへのミラーと配信担当サーバの割当の実行の場合における処理内容である。
【0203】
なお、コンテンツを具体的にいずれかのディスクに置く指示が与えられることも想定できるが、この場合は、ステップ3503で選択された候補ディスクをこの指定されたディスクとすれば良い。また、なお、コンテンツの配信担当サーバとしていずれかのサーバが特定されて指示が与えられることも想定できるが、この場合は、ステップ3508で選択された候補サーバをこの指定されたサーバとすれば良い。
【0204】
ここで、ステップ3508で選択されたサーバの配信担当から外すステップ3511におけるコンテンツの選択処理の詳細について図16を用いて順に説明する。
【0205】
削除対象選択部2033は、コンテンツアクセス指標と、コンテンツの配信担当サーバ数から算出したコンテンツサーバスコア、という数値を指標として、配信担当から外すコンテンツ(除外対象コンテンツ)を選択する。最もシンプルなコンテンツサーバスコアの定義としては、コンテンツアクセス指標を配信担当サーバ数で割った値とすることである。コンテンツサーバスコアは、コンテンツ配置状況管理装置2014で管理されている。
【0206】
まず、配信元のサーバを割当てる対象のコンテンツについては、単純に配信担当サーバ数で割るだけではなく、配信割当前(現在)の配信担当サーバ数に1加えた値で、コンテンツアクセス指標を割った、予測コンテンツサーバスコアという数値を算出する(ステップ3601)。
【0207】
初期化の手順として、空の除外対象コンテンツリストを作成し(ステップ3602)、除外可能サーバ負荷を「0」に設定する(ステップ3603)。
【0208】
次に、サーバが配信担当して割当てられているコンテンツの中から、この予測コンテンツサーバスコアよりも低いコンテンツサーバスコアを持つコンテンツを除外候補コンテンツリストに登録(ステップ3604)、そして、除外候補コンテンツリストが空でなく(ステップ3605)、かつサーバ限界負荷から観測サーバ負荷、さらにこの除外可能ディスク負荷値を引いた値(残余サーバ負荷)が、配信元サーバを割り当てようとしているコンテンツのコンテンツサーバ負荷を超えるまで(ステップ3606)、ステップ3607からステップ3609の手順により除外対象コンテンツを選択する。
【0209】
まず、その除外候補コンテンツリストの中から、最もコンテンツサーバスコアの低いものをサーバの配信担当から外す除外対象コンテンツとして選択し、除外対象コンテンツリストに追加する(ステップ3607)、そのコンテンツサーバ負荷値を除外可能ディスク負荷値に加算する(ステップ3608)。そしてこのコンテンツを除外候補から削除し(ステップ3609)、ステップ3605に戻る。
【0210】
もし、上記ステップ3605で除外候補コンテンツリストが空となれば、配信対象から除外できるコンテンツが、割当予定のサーバ上に存在しないことがコンテンツ配置判断部2031に通知される(ステップ3610)。
【0211】
また、ステップ3606で、サーバ限界負荷から観測サーバ負荷、さらにこの除外可能サーバ負荷値を引いた値が、配信割当の対象のコンテンツのコンテンツサーバ負荷を超えたと判断された場合は、配信対象から除外できるコンテンツが、割当予定のサーバ上に存在することと、その除外対象コンテンツリストがコンテンツ配置判断部2031に通知される(ステップ3611)。
【0212】
なお、上記ではコンテンツサーバスコアをコンテンツアクセス指標を配信担当サーバ数で割った値、予測コンテンツディスクスコアを配信割当前の配信サーバ数に「1」を加えた値で、コンテンツアクセス指標を割った値と定義しているが、これはそれぞれ、コンテンツ配信システム単位で集計された指標であるコンテンツアクセス指標と、配信担当サーバ数から算出される値であれば良く、上記の方法は1つのバリエーションに過ぎない。
【0213】
次に、既にミラー済みであるコンテンツの配信担当サーバの追加の処理内容について説明する。
【0214】
処理内容としては、図15で説明したコンテンツのディスクへのミラーと配信担当サーバの割当の実行における処理内容とほぼ同様である。図15における、ステップ3503からステップ3507、およびステップ3513、ステップ3514を省いた処理手順を実行すれば良い。
【0215】
次に、図17のフローチャートを参照して配信担当サーバの削減の場合の処理内容について説明する。
【0216】
コンテンツ配置判断部2031は、配信担当サーバの削減対象のコンテンツの識別子とそのクラスタ内から削減すべき削減配信担当サーバ数について配置対象選択部2032から指示を受ける(ステップ3700)。
【0217】
コンテンツ配置判断部2031は、削減元決定サーバリストを初期化(空の状態とする)し、さらに削減元サーバ数を「0」にする(ステップ3001)。そして、コンテンツ配置状況管理装置2014の管理情報を参照して、指定されたコンテンツが配信対象となっているサーバを削減候補サーバリストに登録する(ステップ3702)。
【0218】
そして、削減候補サーバリストが空になるまで(ステップ3703)、または削減元サーバ数が配置対象選択部2032から指示された削減配信担当サーバ数に達するまで(ステップ3704)、以下に述べる処理を実行する。
【0219】
まず、削減候補サーバリストの中から、1つサーバを配置サーバ選択部2034によって選択する(ステップ3705)。この際の選択方法としては、観測サーバ負荷値の最も高いサーバを選択する方法などが考えられる。
【0220】
次に、除外対象のコンテンツをこのサーバの配信対象から外す(ステップ3706)。
【0221】
そして、サーバ状況監視装置2027におけるサーバ負荷状況の更新(ステップ3707)を行う。具体的には、観測サーバ負荷から、削除した分のコンテンツサーバ負荷を引く処理を行う。ただし、この更新処理3707は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
次に、削除の実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ3708)。具体的には、配置担当から外したサーバを配置サーバのリストから削除すること、配置担当サーバ数を1つ減算すること、更新された配置担当サーバ数を用いてコンテンツディスクスコアを更新すること、といった処理を行う。
【0222】
次に、負荷分散装置2012での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ3710)。さらに、削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0223】
そして、削除元サーバ数に「1」を加え(ステップ3711)、削除候補サーバリストから選択したサーバを除き(ステップ3712)、ステップ3703以下の処理に進む。また、コンテンツの削除の指示が、サーバを指定されて行われる場合も想定されるが、この場合は、ステップ3702で作成する削除候補サーバリストに指定されたサーバだけを登録したのちに、ステップ3703以下を実行すれば良い。
【0224】
また、指定されたコンテンツを配信システム上の全てのサーバから削除されるように指示された場合は、コンテンツの配置状況をコンテンツ配置状況管理装置2014に確認し、コンテンツを配置しているサーバを抜き出し、これらをから削除候補サーバリストに指定されたサーバだけを登録したのちに、ステップ3703以下を実行すれば良い。
【0225】
次に、コンテンツの削除の指示が、削除するレプリカ数を指定された場合について、図18を用いて詳細に説明する。コンテンツの削除の指示において、削除するレプリカ数が指定された場合について、図10を用いて詳細に説明する。
【0226】
コンテンツ配置判断部2031は、削除対象のコンテンツの識別子とそのクラスタ内から削除すべき削除レプリカ数について配置対象選択部2032から指示される(ステップ3800)。コンテンツ配置判断部2031は、コンテンツ配置状況管理装置の管理情報を参照して、指定されたコンテンツのレプリカがディスクに置かれているディスクを削除候補ディスクリストに登録する(ステップ3801)。
【0227】
さらに、削除元決定ディスクリストを初期化(空の状態とする)し、さらに削除元ディスク数を「0」にする(ステップ3802)。
【0228】
そして、削除候補ディスクリストが空になるまで(ステップ3803)、または削除元ディスク数が配置対象選択部2032から指示された削除レプリカ数に達するまで(ステップ3804)、以下に述べる処理を実行する。
【0229】
まず候補サーバリストの中から、1つサーバを配置サーバ選択部2034に選択させる(ステップ3005)。この際の選択方法としては観測ディスク負荷値の最も高いサーバを選択する方法が考えられる。
【0230】
次に、削除対象のコンテンツの削除を実行する(ステップ3806)。
【0231】
そして、サーバ負荷状況の更新(ステップ3807)を行う。具体的には、削除したコンテンツのレプリカを配信対象としていたサーバの観測サーバ負荷から、削除したレプリカのコンテンツサーバ負荷を引く。ただし、このステップ3807の更新処理は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0232】
次に、削除の実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ3808)。具体的には、削除したコンテンツのレプリカを配信対象としていたサーバと削除を行ったディスクのレコードを配置サーバのリストから削除する処理、レプリカ数を1つ減算する処理、そのレプリカを配信対象としていたサーバ数を配信担当サーバ数から引く処理、更新されたレプリカ数を用いてコンテンツディスクスコアを更新する処理、更新された配信担当サーバ数を用いてコンテンツサーバスコアを更新する処理を行う。
【0233】
次に、ディスク状況の更新を行う(ステップ3809)。具体的には、観測ディスク負荷から、削除した分のコンテンツディスク負荷を引き、残余ディスク負荷も更新する処理を行う。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0234】
次に、負荷分散装置での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ3810)。削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のコンテンツ配信システムを誘導先として登録する。
【0235】
そして、削除元ディスク数に「1」を加え(ステップ3811)、削除候補ディスクリストから選択したディスクを除き(ステップ3812)、ステップ3803以下の処理に進む。
【0236】
また、コンテンツの削除の指示が、ディスクを指定して行われる場合も想定されるが、この場合は、ステップ3802で作成する削除候補ディスクリストに指定されたディスクだけを登録した後に、ステップ3803以下の処理を実行すれば良い。
【0237】
また、指定されたコンテンツを配信システム上の全てのディスクから削除されるように指示された場合は、コンテンツの配置状況をコンテンツ配置状況管理装置2014に確認し、コンテンツを配置しているディスクを全て抜き出し、これらを削除候補ディスクリストに登録した後に、ステップ3803以下の処理を実行すれば良い。
【0238】
なお、第1の実施の形態と同様に、コンテンツのミラーや削除の指示は管理端末2006から随時行うことができるものとする。このように構成することで、管理者の判断によりコンテンツ配置を実現することも可能となる。ただし、コンテンツのミラーを上記の枠組みで行うと、コンテンツディスクスコアが低いと、レプリカが作成できない可能性がある。同様に、コンテンツサーバスコアが低いと、配信担当サーバを割当できない可能性がある。ミラーを確実に行いたい場合は、コンテンツディスクスコアやコンテンツサーバスコアを十分高い値に修正した上で行う必要がある。
【0239】
本実施の形態では、ディスクが各サーバ間で共有となっているが、コンテンツアクセス指標という、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標を基にして、コンテンツ配信システム内のコンテンツのレプリカの数(レプリカ数)および配信担当サーバ数を決定すること、さらにディスクの効率的な利用のためのコンテンツのレプリカの置換えや、サーバが配信を担当するコンテンツの入れ替えを決定している点が大きな特徴である。これらの特徴により、コンテンツ配信システムにおける負荷分散やディスクの利用を、コンテンツの人気やシステムに掛ける負荷に応じて適切に配分することが可能となる。
【0240】
(第3の実施の形態)
次いで、本発明の第3の実施の形態について説明する。この第3の実施の形態によるシステムの構成は、第1または第2の実施の形態と同じである。
【0241】
第3の実施の形態では、柔軟かつ自律的なコンテンツ配置管理を行うために必要なポリシの種類やその管理方法において上記第1又は第2の実施の形態と相違する。
【0242】
上述した第1又は第2の実施の形態では、ポリシ管理装置2015に設定したコンテンツ毎のポリシに従って、コンテンツのミラー、または削除の実行の処理がアクションとして実行されていた。あるコンテンツをミラーしようとした際に、ディスクのディスク負荷がディスク限界負荷を超えると予想されると、コンテンツディスクスコアが低いものがディスクから削除されていた。
【0243】
また、第2の実施の形態においては、サーバのサーバ負荷がサーバ限界負荷を超えると予想されると、コンテンツサーバスコアの低いコンテンツに対しての配信担当サーバを削減していた。
【0244】
しかし、コンテンツによっては、ディスクからの削除や配信担当サーバ数の削減を一定期間抑制したいという場合も考えられる。このようなコンテンツ毎の特性に応じた柔軟なコンテンツ配置を実現するためには、多彩なポリシの種類が必要である。また、適用したいポリシの種類は時間と共に変化するため、適用時間の設定も可能であることが望ましい。
【0245】
一般的なコンテンツ配信システムでは、以下のような制御が自律的に行われることが望ましい。
(1)指定コンテンツは、希望期間の間、ディスクからの削除や配信担当サーバ数の削減を抑制できる。
(2)人気のあるコンテンツは、人気に応じてコンテンツ配信システム内に自律的に分散配置される。
(3)その他のコンテンツは、ディスクの効率的運用のため、システム上設定されたルールに従ってディスクからの削除や配信担当サーバ数の削減を受けることでディスクスペースを開放する。
【0246】
ここで、この第3の実施の形態においては、以下のような条件とアクションの組であるポリシを導入する。
【0247】
なお、以下に述べるポリシによる制御以外に、指定時間にレプリカを作成、または削除するといった制御を行うためのコマンドを用意し、管理者が管理端末2006から当該コマンドを用いて指示することにより、レプリカの作成と削除を行うことも可能である。
【0248】
(1)固定ポリシ:
条件:設定された期間の間、削除候補として選択されるとき
アクション:ディスクからの削除対象や配信担当サーバ数の削減対象とさせない。
【0249】
(2)新規レプリカ作成ポリシ:
条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、もしコンテンツのレプリカが配信管理システム内にない。
【0250】
アクション:レプリカを作成するための処理を実行する。
【0251】
(3)レプリカ増設ポリシ:
条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、レプリカ数を超えるとき
アクション:配信管理システム内にもう1つレプリカを作成するための処理を実行する。
【0252】
(4)レプリカ削除ポリシ:
条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき
アクション:ディスクからレプリカを設定された数だけ削除する。
【0253】
(5)レプリカ追い出しポリシ:
条件:設定された期間の間に削除候補として選択されるとき
アクション:ディスクから削除される。
【0254】
(6)新規配信担当サーバ割当ポリシ:
条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツの配信担当サーバが配信管理システム内にない
アクション:配信担当サーバを割り当てる処理を実行する。
【0255】
(7)配信担当サーバ増設ポリシ:
条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、配信担当サーバ数を超えるとき
アクション:配信管理システム内のコンテンツの配信担当サーバ数を1つ増やすための処理を実行する。
【0256】
(8)配信担当削減ポリシ:
条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき
アクション:配信担当サーバ数を設定された数だけ削減する。
【0257】
第1の実施の形態の構成の場合は、(1)〜(5)のポリシを、第2の実施の形態の構成の場合は、(1)〜(8)のポリシを、それぞれ適用することで、上記の要求を満たす制御を実現することができる。
【0258】
例えば、図19のような設定例について説明する。図19において、コンテンツAは、「2003年5月5日10:00から5月19日10:00」までは、ディスクからの削除や配信担当サーバ数の削減は禁止される。そして、「2003年5月12日10:00から5月19日10:00」の間は、コンテンツアクセス指標を設定された閾値「15」で割った値がレプリカ数を上回ると、レプリカを1つ追加するための処理が実行される。
【0259】
コンテンツBは、「2003年5月12日10:00から5月19日10:00」までは、コンテンツアクセス指標が設定された閾値「10」を上回ると、配信担当サーバを割当てる処理が実行される。そして、「2003年5月19日10:00から5月26日10:00」の間は、コンテンツアクセス指標を設定された閾値「10」で割った値がレプリカ数を上回ると、レプリカを1つ追加するための処理が実行される。さらに、同じく「2003年5月19日10:00から5月26日10:00」の間にコンテンツアクセス指標が設定された閾値「1」を下回ると、配信担当サーバ数を「1」削減する(この例では、閾値、削減数の順でパラメータとして設定されるものとしている。)
ここで、上記固定ポリシがコンテンツに設定されていない期間は、第1の実施の形態または第2の実施の形態に従って、コンテンツのディスクからの削除や配信担当サーバ数の削減は随時行えるものとする。さらに、第1の実施の形態、第2の実施の形態と同様に、コンテンツのミラーや削除の指示は管理端末2006から随時できるものとする。また、各ポリシが用いるコンテンツアクセス指標は同一の指標でも良いし、各々異なる指標でも良い。
【0260】
ポリシの種類については、上記以外にも多様な種類が存在するが、本実施の形態の本質は、以下のようなポリシを用意した上で、これらのポリシを第1の実施の形態、第2の実施の形態で示した自律的な、レプリカや配信割当サーバの増減する仕組みを利用して実行する点にある。
(1)ディスクからの削除対象や配信担当サーバ数の削減対象とさせないためのポリシ
(2)配信システムに1つ目のコンテンツの配信手段を用意するためのポリシ
(3)配信システムにコンテンツの配信手段を増やしていく際のポリシ
(4)人気がなくなった場合に、自律的に配信システムから消去するためのポリシ
なお、これらのポリシは必ずしもコンテンツ毎に行う必要はなく、コンテンツをグループ化した上で、グループ単位に設定するようにしても良い。
【0261】
(第4の実施の形態)
次いで、本発明の第4の実施の形態について説明する。この第4の実施の形態によるシステムの構成は、第1、第2、または第3の実施の形態と同じである。
【0262】
この第4の実施の形態においては、サーバ負荷やディスク負荷に応じて、柔軟かつ自律的なコンテンツ配置管理を行うために必要な管理方法を実現する。第3の実施の形態までは、コンテンツベースでのポリシ設定であったが、ここではサーバやディスクの状況に応じた、自律的なコンテンツの配置を実現する。
【0263】
まず、第4の実施の形態におけるディスクの状況に応じた自律的なコンテンツ配置について示す。
【0264】
まず、ディスク状況監視装置2027は、ディスク限界負荷を観測ディスク負荷が超えるディスクがないかどうかを監視している。ディスク限界負荷を超えたディスクがあると、最もコンテンツアクセス指標が大きなコンテンツを選択する。そして、第1の実施の形態と同じ構成の場合は、もう1つレプリカの作成する処理を図9に示される手順に従って実行する。また、第2の実施の形態と同じ構成の場合は、1つレプリカの作成する処理を図15に示される手順に従って実行する。
【0265】
次に、第4の実施の形態におけるサーバの状況に応じた自律的なコンテンツ配置について示す。
【0266】
まず、サーバ状況監視装置2027は、サーバ限界負荷を観測サーバ負荷が超えるサーバがないかどうかを監視している。サーバ限界負荷を超えたサーバがあると、最もコンテンツアクセス指標が大きなコンテンツを選択する。そして、第1の実施の形態と同じ構成の場合は、もう1つレプリカの作成する処理を図9に示される手順に従って実行する。また、第2の実施の形態と同じ構成の場合は、配信担当サーバ数を1つ増やす処理を第2の実施の形態の動作において示した処理フローに従って実行する。
【0267】
(第5の実施の形態)
次いで、本発明の第5の実施の形態について説明する。第5の実施の形態によるシステムの構成を図20に示す。
【0268】
これまでの実施の形態の構成と異なるのは、外部のコンテンツ配信システムと接続するネットワーク2005の上にサーバ4050が配置されていることである。このサーバ4050にはクラスタとは別にコンテンツを蓄積するための手段としてディスク4051が接続されている。図20に示すクラスタ2020の構成は第1の実施の形態におけるクラスタと同じ構成となっているが、第2の実施の形態での構成のような共有ディスクを持つクラスタ構成としてもよい。
【0269】
ところで、これまでの実施の形態においては、人気に応じた自律的な負荷分散が実現されていたため、人気が出たコンテンツや個別にミラーを施したコンテンツについては、配信システムのサーバからの速いレスポンス、高スループットでの配信が実現できる。しかし、人気が出たことが確認されるまで、具体的には、コンテンツアクセス指標を更新する期間の間は、配信システム上にレプリカが作成されないため、突発的にコンテンツに人気が出ても、リクエスト毎に外部のコンテンツ配信システムに誘導し、そこから配信しなければならなかった。このような状況において、速いレスポンス、高スループットで配信できるようになればより好ましい。
【0270】
この第5の実施の形態による構成とすれば、このようなコンテンツアクセス指標を更新する期間の間で人気が出たコンテンツに関しても、速いレスポンス、高スループットでの配信を実現できるようになる。
【0271】
まず、これまでの実施の形態と異なる動作として、負荷分散装置2012で、これまで外部のコンテンツ配信システムに誘導されていたリクエストがサーバ4050に誘導されるようになる点がある。
【0272】
サーバ4050は、いわゆるプロキシキャッシュサーバとして動作し、ユーザからの接続されたディスク上に保持されていないコンテンツへのリクエストを受けると外部のコンテンツ配信システムからコンテンツを取得する。取得したコンテンツは、ディスク4051に保存してから、または保存しつつ、クライアント2001〜2003に配信する。
【0273】
保持しているコンテンツに対してのリクエストは、外部のコンテンツ配信システムから取得して中継するのではなく、ディスク4051から読み出してクライアント2001〜2003に配信する。ディスク4051が一杯になった場合は、一般的なキャッシュサーバにおける置換えアルゴリズム等により、置換えを実行する。
【0274】
このように、いわゆるプロキシキャッシュとして機能を果たすサーバ4050を設置することで、コンテンツアクセス指標を更新する期間の間で人気が出たコンテンツに関しても、速いレスポンス、高スループットでの配信を実現できるようになる。
【0275】
さらに、コンテンツ配置状況管理装置2014とサーバ4050を連動させることで、ディスク4051の利用効率を向上させることができる。コンテンツアクセス指標が更新されて、設定されているポリシに従ってレプリカが作成されたコンテンツについては、それ以降はリクエストはクラスタのサーバに誘導されるようになるため、サーバ4050の方に誘導されることは無くなる。
【0276】
そのため、クラスタの方に、レプリカが作成されたことを検知すると同時に、コンテンツ配置状況管理装置2014は、そのコンテンツのディスク4051からの削除をサーバ4050に指示する。サーバ4050は、ディスク4051からそのコンテンツを削除する。
【0277】
このようにしておくことで、利用可能なディスクスペースを事前に確保できるため、コンテンツの置換え処理のオーバヘッドが削減できる。
【0278】
(第6の実施の形態)
次いで、本発明の第6の実施の形態について説明する。第6の実施の形態によるシステムの構成と動作は、第1から第4のいずれかの実施の形態の構成と動作を踏襲したものになるが、各サーバ2021〜2023がプロキシキャッシュサーバとして動作する点が異なる。それに伴い、負荷分散装置2012、コンテンツ配置制御装置2030の機能および動作が変更される。
【0279】
以下、第1の実施の形態をベースにした場合の第6の実施の形態について、図1に示す構成を参照して説明する。
【0280】
機能以外の構成については、図1に示されるように第1の実施の形態の構成と変わらない。ただし、クラスタ2020のサーバ2021、サーバ2022、サーバ2023は、プロキシキャッシュサーバとして機能する。
【0281】
プロキシサーバの機能とは、第5の実施の形態において説明したように、ユーザからのコンテンツのリクエストを受けると、接続されたディスク内に保持されていないコンテンツについては、外部のコンテンツ配信システムからコンテンツを取得する。そして取得したコンテンツを、ディスクに保存してから、または保存しつつ、クライアントに配信する。保持しているコンテンツは、ディスクから読み出してクライアントに配信する。
【0282】
第1から第4の実施の形態における負荷分散装置2012は、リクエストされたコンテンツがクラスタ内のサーバに接続されたディスクに格納されており、そのサーバから配信が可能な場合は、そこにリクエストを誘導し、そのサーバからクライアントへのコンテンツの配信を行い、リクエストされたコンテンツがクラスタ内のサーバに接続されたディスクに格納されていない、またはそのコンテンツを配信可能なサーバが存在しない場合は、外部のその他のコンテンツ配信システムにリクエストを誘導していた。
【0283】
この第6の実施の形態では、負荷分散装置2012は、コンテンツ配置制御装置2030に、誘導先の更新処理を発行し、この処理の完了を待ってから、上記第1から第4の実施の形態における動作を行うことが特徴である。
【0284】
コンテンツの配置を制御するコンテンツ配置制御装置2030は、第1から第4の実施の形態においては、アクセス状況等に基づいて、クラスタ内のサーバにレプリカ(コピー)を作成するコンテンツ、またはクラスタ内のサーバからレプリカ(コピー)を削除するコンテンツの選択した上で、コンテンツのミラー、削除の実行指示までを行う機能を持っていた。
【0285】
この第6の実施の形態では、負荷分散装置2012から、コンテンツの誘導先の更新要求を受ける機能を持つようになる。この機能と、第1から第4の実施の形態で持っていた機能とは、併用することも可能であるし、以下で示す機能のみを使うことも可能である。
【0286】
併用する場合は、以下で示す第6の実施の形態と、第1の実施の形態が並行して機能するだけであるため、以下では新規な機能について図25のフローチャートを参照して説明する。
【0287】
負荷分散装置2012は、ユーザのリクエストを誘導する際に、コンテンツ配置制御装置2030にコンテンツの誘導先の更新要求を行う。
【0288】
コンテンツ配置判断部2031は、この更新要求を受け取り、配置対象選択部2032に中継する(ステップ4500)。配置対象選択部2032は、アクセス監視装置2011からコンテンツアクセス指標を受け取り、さらにポリシ管理装置2015の管理情報を参照する。そして、配置対象選択部2032は、コンテンツの誘導先の追加が必要か否かを判断し、追加が必要な場合の追加するサーバ数を算出する(ステップ4501)。
【0289】
例えば、図7に示されるようにコンテンツAには、コンテンツアクセス指標が「200」以上でかつ、クラスタ内に存在するレプリカの数が「0」である場合には、クラスタ内のいずれかのサーバ1つにレプリカを作成するように設定されているとする。そして、図24に示されるように、コンテンツAのコンテンツアクセス指標が「300」であったとする。この時、配置対象選択部2032はコンテンツAのリクエスト誘導先とするサーバを1つ追加するように判断する。
【0290】
もし、追加が必要と判断されれば(ステップ4502)、誘導先決定サーバリストを初期化(空の状態とする)し、さらに誘導先決定サーバ数を「0」にする(ステップ4502)。
【0291】
そして、コンテンツ配置判断部2031は、サーバ状況監視装置2027の管理情報およびコンテンツ配置状況管理装置2014の管理情報を参照しながら、設定された基準に適合するサーバを候補サーバリストに登録する(ステップ4504)。ここで設定された基準の例としては、誘導先の追加対象であるコンテンツが置かれておらずかつActiveであるサーバ、等とすることが挙げられる。
【0292】
もし、追加が必要と判断されなければ、更新処理完了の通知が負荷分散装置2012に対して行われる(ステップ4531)
そして、候補サーバリストが空になるまで(ステップ4505)、または誘導先決定サーバ数が配置対象選択部2032から指示された追加数に達するまで(ステップ4506)、以下の処理を実行する。
【0293】
すなわち、候補サーバリストが空になる、または誘導先決定サーバ数が配置対象選択部2032から指示された追加数に達すると、コンテンツ配置判断部2031は、負荷分散装置2012に誘導先の更新処理完了を通知する(ステップ4521)。
【0294】
まず候補サーバリストの中から、1つサーバを配置サーバ選択部2034に選択させる(ステップ4507)。この際の選択方法としては以下のような方法がある。
【0295】
方法1:観測サーバ負荷値の最も小さいサーバを選択する。
【0296】
方法2:観測ディスク負荷値の最も小さいサーバを選択する。
【0297】
方法3:残余ディスク負荷が、ミラー対象コンテンツのコンテンツディスク負荷より大きいサーバの中から、方法1または方法2により選択する。もしコンテンツを置くだけのディスクスペースがあるサーバが無ければ、方法1または方法2のいずれかの方法でサーバを選択する。
【0298】
上記のいずれかの方法、または他の何らかのアルゴリズムに従って、サーバを選択する。
【0299】
コンテンツ配置判断部2031は、上記ステップ4505で決定されたサーバのディスク状況をディスク状況監視装置2028に、ミラー対象のコンテンツのコンテンツディスク負荷をコンテンツ配置状況管理装置2014に問い合わせる(ステップ4508)。
【0300】
そして、コンテンツをサーバに配置することで、ディスク限界負荷値を超えると予想されるかされないかによって、具体的には、観測ディスク負荷とミラー対象のコンテンツディスク負荷の合計がディスク限界負荷値を超えるか超えないかによって処理を分岐する(ステップ4509)。
【0301】
ディスク限界負荷値を超えないと予想される場合は、後述のステップ4524に進む。ディスク限界負荷値を超えると予想された場合、コンテンツ配置判断部2031は削除対象選択部2033に、削除できるコンテンツがあるかを問い合わせる(ステップ4510)。削除できるコンテンツがないと判断された場合(ステップ4511)は、後述のステップ4530以下に進む。
【0302】
削除できるコンテンツがあることを指示されると、これらコンテンツを削除をした上で誘導先の追加対象のコンテンツのレプリカをサーバに作成した後で、サーバ負荷がサーバ負荷限界値を超えることがないかの予測を行う(ステップ4512)。
【0303】
もし、サーバ負荷がサーバ負荷限界値を超えないと判断した場合は(ステップ4513)、削除対象として削除対象選択部2033が選択したコンテンツのサーバからの削除を実行する(ステップ4514)。なお、このステップ4512とステップ4513の処理は必ずしも行わなくても良い。
【0304】
そして、サーバ負荷状況の更新(ステップ4515)を行う。ただし、この更新処理であるステップ4515は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0305】
次に、削除又は誘導先の追加に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ4516)。さらにレプリカ数の更新も行う。この際、同時にコンテンツディスクスコアの更新も行う。
【0306】
次に、ディスク状況の更新を行う(ステップ4517)。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0307】
次に、負荷分散装置2012での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ4518)。具体的には、誘導先決定サーバリストのサーバを誘導対象に追加する。削除したコンテンツについては、削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0308】
そして、誘導先決定サーバ数に「1」を加え(ステップ4519)、候補サーバリストから選択されたサーバを除き(ステップ4520)、ステップ4503以下の処理に進む。
【0309】
この第6の実施の形態が、第1から第5の実施の形態と大きく異なる点は、コンテンツのミラーの指示を発行するのではなく、キャッシュサーバが自律的に取得を行うようにした点である。キャッシュサーバを導入し、ユーザのリクエストを負荷分散装置で誘導することで、特に明示的に支持を出さなくても、コンテンツのミラーが自律的に行われるようになる。
【0310】
(第7の実施の形態)
次いで、本発明の第7の実施の形態について説明する。第7の実施の形態の構成は、第1から第6の実施の形態の構成のいずれのものでも良い。
【0311】
第7の実施の形態のシステムで第1から第6の実施の形態と異なる点は、コンテンツアクセス指標の管理である。
【0312】
コンテンツアクセス指標は、コンテンツに対するクライアントのリクエスト、またはそれに伴う配信実績を示す指標である。単純にこの指標を管理すると、初めてコンテンツに対してのリクエストや配信実績が発生するまで値は「0」である。このため、新たに生成されたコンテンツは、コンテンツアクセス指標が昔からあるコンテンツに比べて、人気のわりに低くなってしまう可能性がある。
【0313】
例えば、コンテンツ配信システムが起動してからのコンテンツ毎のリクエスト数をコンテンツアクセス指標として管理している場合を想定する。コンテンツAは、先週の1週間で「1000」アクセスあったが、今週はリクエストが0件であるとする。それに対して昨日生成されたコンテンツBは既に500件のアクセスがあるとする。
【0314】
この場合、単純にアクセス指標をリクエスト数の積算で管理していては、コンテンツBの方がコンテンツAより価値が無いと判断されてしまい、置き換え等の際に、コンテンツAの方が優先されてディスクに残されてしまうという問題が発生してしまう。
【0315】
このような問題を解消するためには、初めてコンテンツに対してのリクエストや配信実績が発生した際に設定するコンテンツアクセス指標の値を底上げを行えばよい。
【0316】
その底上げする値の選択法のとしては、コンテンツ配信システム内で最も小さなコンテンツアクセス指標の値を底上げ値とする、最も最近コンテンツ配信システム内のディスク上から削除されたコンテンツのコンテンツアクセス指標を底上げ値とする、最も最近コンテンツ配信システム内のサーバの配信担当から外されたコンテンツのコンテンツアクセス指標を底上げ値とする、等の方法が挙げられる。
【0317】
(第8の実施の形態)
第8の実施の形態について説明する。第8の実施の形態によるシステムの構成は、第1から第7の実施の形態の構成のいずれのものでも良い。
【0318】
第8の実施の形態で第1から第7の実施の形態と異なる点は、観測サーバ負荷の管理である。
【0319】
配信システムにおいては、システムのトラブルやメンテナンスに伴うサーバのダウンと再起動、またはシステム処理能力の増強のためのサーバの新規追加、等が起こる。この際、単純に行うと、観測サーバ負荷は初期値として「0」を取ることになる。観測サーバ負荷が低いため、一斉にこのサーバにコンテンツの配信が割り当てられる可能性がある。
【0320】
このような問題を解消するためには、サーバ負荷の初期値を底上げしてやれば良い。その底上げする値の選択法のとしては、コンテンツ配信システム内で最も小さなサーバ負荷の値を底上げ値とする等の方法が挙げられる。
【0321】
(第9の実施の形態)
第9の実施の形態について説明する。この第9の実施の形態によるシステムの構成は、第1から第8の実施の形態の構成のいずれのものでも良い。
【0322】
第9の実施の形態で第1から第8の実施の形態と異なる点は、観測ディスク負荷の管理である。
【0323】
配信システムにおいては、システムのトラブルやメンテナンスに伴うディスクの停止と復旧、またはシステム処理能力の増強のためのディスクの新規追加、等が起こる。この際、単純に行うと、観測ディスク負荷は初期値として「0」を取ることになる。観測ディスク負荷が低いため、一斉にこのディスクにコンテンツのレプリカが作成される可能性がある。
【0324】
このような問題を解消するためには、ディスク負荷の初期値を底上げしてやれば良い。その底上げする値の選択法のとしては、コンテンツ配信システム内で最も小さなディスク負荷の値を底上げ値とする等の方法が挙げられる。
【0325】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【0326】
【発明の効果】
以上説明したように本発明のコンテンツ配信システムにおけるコンテンツ配置管理システムによれば、以下に述べるような優れた効果が得られる。
【0327】
本発明の第1の効果は、コンテンツ配置管理に要するコストを大きく削減できることである。その理由は、前記アクセス監視装置の前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行うことにより、コンテンツ配信システム内でのコンテンツ配置管理を自律的に配置管理を行うためである。
【0328】
本発明の第2の効果は、ディスク等の外部記憶装置の利用効率を向上させる点にある。また、コンテンツの人気やシステムに与える負荷等に応じた配置管理を実現することでディスク等の外部記憶装置の利用効率を向上できる点にある。その理由は、サーバ単位ではなく、コンテンツ配信システム単位でのコンテンツの人気に応じた配置管理を行っているからである。
【0329】
本発明の第3の効果は、コンテンツ単位での配置管理を実現できる点にある。コンテンツ単位にポリシと呼ばれる配置管理内容を設定することでコンテンツ単位での配置管理を行なうことができる。
【0330】
本発明の第4の効果は、サーバの稼働率を上げ、予備のスタンバイ状態のサーバも不要とする点である。その理由は、複数のコンテンツ群、またはコンテンツを同一のサーバに割り当てることができるために、従来より粒度の高い負荷分散が実現できるからである。さらに、予備のサーバがなくなった場合など、負荷の低いコンテンツ群のサーバを負荷の高いコンテンツ群のサーバに割当てなおす機能があるためである。
【0331】
本発明の第5の効果は、突発的に人気が出る等により、システムに与える負荷が大きくなったコンテンツにも対応できる点である。その理由は、プロキシキャッシュサーバとコンテンツ配信システムを併用するためである。従来、他のコンテンツ配信システムへ対して行われていたリクエスト、および他のコンテンツ配信システムから行われていた配信を、プロキシキャッシュサーバとの間で行うことが可能となるため、突発的に人気が出たりシステムに与える負荷が大きくなったコンテンツにも高レスポンス、高スループットな配信が可能になる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態によるシステムの構成を示すブロック図である。
【図2】第1の実施の形態におけるサーバ状況監視装置が管理する観測サーバ負荷とサーバ限界負荷値の内容例示す図である。
【図3】第1の実施の形態におけるディスク状況監視装置が管理する観測ディスク負荷とディスク限界負荷値の内容例を示す図である。
【図4】第1の実施の形態におけるリクエスト誘導の処理を説明のためのブロック図である。
【図5】第1の実施の形態における負荷分散装置での管理情報の内容例を示す図である。
【図6】第1の実施の形態におけるコンテンツ配置状況管理装置が管理するコンテンツの管理情報の内容例を示す図である。
【図7】第1の実施の形態におけるポリシ管理装置での管理情報の内容例を示す図である。
【図8】第1の実施の形態におけるコンテンツ配置制御(ミラー)の処理内容を示すフローチャートである。
【図9】第1の実施の形態における削除対象選択の処理内容を示すフローチャートである。
【図10】第1の実施の形態におけるコンテンツ配置制御(削除)の処理内容を示すフローチャートである。
【図11】本発明の第2の実施の形態によるシステムの構成を示すブロック図である。
【図12】第2の実施の形態におけるディスク状況監視装置が管理する観測ディスク負荷とディスク限界負荷値の内容例を示す図である。
【図13】第2の実施の形態におけるコンテンツ配置状況管理装置が管理するコンテンツの管理情報の内容例を示す図である。
【図14】第2の実施の形態におけるポリシ管理装置での管理情報の内容例を示す図である。
【図15】第2の実施の形態におけるコンテンツ配置制御(ミラーとサーバ割り当て)の処理内容を示すフローチャートである。
【図16】第2の実施の形態における削除対象選択の処理内容を示すフローチャートである。
【図17】第2の実施の形態におけるコンテンツ配置制御(配信担当サーバ削減)の処理内容を示すフローチャートである。
【図18】第2の実施の形態におけるコンテンツ配置制御(削除)の処理内容を示すフローチャートである。
【図19】第3の実施の形態における条件とアクションの組であるポリシの例を示す図である。
【図20】本発明の第5の実施の形態によるシステムの構成を示すブロック図である。
【図21】第1の実施の形態における他のコンテンツシステムからの配信(PULL式)を説明するためのブロック図である。
【図22】第1の実施の形態における他のコンテンツシステムからの配信(PUSH式)を説明するためのブロック図である。
【図23】第1の実施の形態におけるコンテンツシステム内でのレプリカの作成を説明するためのブロック図である。
【図24】第1の実施の形態におけるアクセス状況監視装置が管理する管理情報の内容例を示す図である。
【図25】第6の実施の形態におけるコンテンツ配置制御(誘導先更新)の処理内容を示すフローチャートである。
【図26】従来のコンテンツ配信システムの構成図を示すブロック図である。
【図27】共有型ストレージを用いる従来のコンテンツ配信システムの構成を示すブロック図である。
【図28】従来の広域コンテンツ配信システムの構成を示すブロック図である。
【図29】従来のコンテンツ配信システムにおけるコンテンツ配置管理システムの構成を示すブロック図である。
【図30】従来のコンテンツ配置管理システムにおけるコンテンツ管理テーブルの内容例を示す図である。
【符号の説明】
2001〜2003:クライアント
2004:アクセス網
2005:ネットワーク
2006:管理端末
2010:コンテンツ配信システム
2011:アクセス監視装置
2012:負荷分散装置
2013:ローカルネットワーク
2014:コンテンツ配置状況管理装置
2015:ポリシ管理装置
2020:クラスタ
2021〜2023:サーバ
2024〜2026:ディスク
2027:サーバ状況監視装置
2028:ディスク状況監視装置
2030:コンテンツ配置制御装置
2031:コンテンツ配置判断部
2032:配置対象選択部
2033:削除対象選択部
2034:配置サーバ選択部
3120:クラスタ
3124、3125:ディスク
3140:ローカルネットワーク
4050:サーバ
4051:ディスク
【発明の属する技術分野】
本発明は、コンピュータネットワークにおける広域にネットワークで接続されたコンテンツ配信システムにおける自律的にコンテンツの配置を行うコンテンツ配置管理システム及びコンテンツ配置管理方法に関する。
【0002】
【従来の技術】
コンピュータネットワークにおいて、クライアントに対してコンテンツ配信を行うコンテンツ配信サーバは、そのコンテンツを受信する複数のクライアントとネットワークを介して接続される。そのため、前述のコンテンツ配信サーバは複数のクライアントから同時的に接続の要求受けたり、複数のクライアントに対して、同時的にコンテンツの配信を行う場合がある。しかしながら、コンテンツ配信サーバが、クライアントからの要求に応じる計算機としての処理能力、あるいはコンテンツ配信能力を十分に有しない場合、クライアントの受信するコンテンツの質は劣化する。
【0003】
具体的には、レスポンスタイムの劣化、映像の乱れ等が挙げられる。さらに、前述した接続要求処理や、コンテンツ配信といった負荷がさらに大きい場合には、コンテンツの配信停止に至ることもある。なお、ここでのコンテンツとしては、ユーザからネットワークを通じてアクセスされるオブジェクト全般を指す。具体的な例としては、Webのドキュメントや画像、映像や音声のストリーミングデータ、一般的なデータファイル、クライアントからの要求を受けて実行されるプログラム、等が挙げられるが、これらに限定されるものではない。
【0004】
これらの事態に対処するために、図26に示されるように複数のコンテンツ配信サーバ103〜107を用意し、クライアント109〜111からの負荷を分散する方式が多く採用されている。この複数台のサーバからなるサーバ群をクラスタ102と呼ぶ。また、あるコンテンツの複製をシステム管理者が複数サーバに明示的に配置する必要のあるコンテンツ配信サーバをミラーサーバと称し、クライアントから要求されたコンテンツを中継した結果、複製コンテンツが受動的に記憶されるサーバをキャッシュサーバと言う。そして、こうしたシステム管理者が複製したコンテンツ、あるいは結果として複製されたコンテンツをレプリカと呼ぶ。図26において、このコンテンツ配信システム112においては、複数のコンテンツ配信サーバ103〜107によってクラスタ202が構成され、ネットワーク113に接続された複数のクライアント109〜111が、負荷分散装置101を介して上記コンテンツ配信サーバ103〜107に接続されている。
【0005】
また、クライアント109〜111からの要求を各々のミラーサーバ、あるいはキャッシュサーバに割振る装置を負荷分散装置101(またはロードバランサ)と呼ぶ。こうした、クラスタ102、負荷分散装置101等からなる一群のコンテンツ配信装置群をコンテンツ配信システム112と呼ぶ。
【0006】
なお、それぞれのコンテンツ配信サーバが、コンテンツを記憶するための外部記憶装置を備えている図26に示されるような構成の他に、図27に示されるようなNAS、あるいはSANといったネットワークに接続された共有型ストレージを用いる構成も存在する。図27において、このコンテンツ配信システム212においては、コンテンツ配信サーバ203〜207と、共有型ストレージ213、214がネットワーク215によって接続され、クラスタ202を構成している。また、ネットワーク208に接続された複数のクライアント209〜211が、負荷分散装置201を介して上記コンテンツ配信サーバ203〜207に接続されている。
【0007】
上述のコンテンツ配信システム112の内部での負荷分散は、地理的に近い地域内での負荷分散である。そのため、このコンテンツ配信システムから地理的に遠いクライアントが配信を受ける場合、レスポンス時間は遅くなる。こうした、配信要求の地理的な分散に対処するために、複数のコンテンツ配信システムを地理的に分散配置することが行われている。これら複数のコンテンツ配信システムはネットワークで接続され、広域コンテンツ配信システムを構成している。
【0008】
図28に広域コンテンツ配信システムでの負荷分散の構成を示す。ここでは、複数のコンテンツ配信システム307〜310間でコンテンツの複製が行われている。この広域コンテンツ配信システムでは、クライアントからのコンテンツリクエストがいずれかのコンテンツ配信システムに誘導されるが、その際にまずクライアントに最も近いコンテンツ配信システムに誘導されうる。しかし、その最寄のコンテンツ配信システムに当該コンテンツが存在しない場合は、別のコンテンツ配信システムに誘導される。図28において、この広域コンテンツ配信システム320においては、複数のコンテンツ配信システム301〜305は、それぞれクラスタ301B〜305Bと、負荷分散装置301A〜305Aで構成され、複数のクライアント314〜316がネットワーク312を介して、複数のクライアント317〜319がネットワーク313を介して広域コンテンツ配信システムにに接続されている。
【0009】
上述したコンテンツ配信システム、および広域コンテンツ配信システムにおいては、コンテンツレプリカの配置方法によってそのシステムの性能が大きく変化する。しかしながら、コンテンツ配信システム内負荷分散システムと広域負荷分散システムに最適なコンテンツ配信手法およびコンテンツ配置手法は異なる。図28に示すような広域負荷分散システムでは、拠点であるコンテンツ配信システム301〜305、クライアント314〜319を含むネットワークでの限られたネットワーク帯域、およびネットワークトポロジの複雑さを考慮して、どの位置のコンテンツ配信システムにコンテンツを配置するのが最適かを判断する。
【0010】
それに対して、十分なネットワーク帯域を有しトポロジは既知であるコンテンツ配信システム内においては、そのサーバやディスク装置の負荷分散を目的としたコンテンツ配置の最適化が行われる。そのため、負荷分散のためのリクエスト誘導手法とともに、コンテンツ配信サーバの配信性能あるいはクラスタ301B〜305Bが有するハードディスクあるいはRAID等の有限な記憶容量や限界スループット等を考慮して配置を行う必要がある。
【0011】
多くのコンテンツ配信システムでは、複数の異なるコンテンツが配置され、コンテンツによってクライアントからのアクセス頻度が異なる。すなわち、コンテンツ配信システムには人気のあるコンテンツとそうでないコンテンツとが存在する。仮に、それら個々のコンテンツを差別なくコンテンツ配信システム内に配置するとすると、人気があるコンテンツに対してはサーバの配信性能が限界に達してしまうために、クライアントが品質劣化を感じてしまうという問題も起こる。あるいは人気のないコンテンツに多くのディスク容量が占められてしまうといったことがおこる。従って、コンテンツ配信システムにおけるコンテンツ配置方法については、負荷分散とコンテンツの人気の有無を考慮することが重要である。
【0012】
コンテンツの人気を考慮した広域負荷分散システムにおけるコンテンツ配置管理方法としては、例えば特開2001−67377号公報(特許文献1)に記載の方法がある。これは、コンピュータ資源の使用状況の予測に基づき資源の予約を行い、コンテンツ配信システム内部でコンテンツの配置管理を行うものである。また、文献”A dynamic object replication and migration protocol for an Internet hosting service”,「Distributed Computing Systems, 1999. Proceedings. 19th IEEE International Conference on, pp.101 −113, (1999)」(非特許文献1)では、コンテンツの人気に応じてコンテンツ配置を決定しているが、前述公報と同様に広域負荷分散におけるコンテンツ配置管理方法に関するものである。
【0013】
次に、コンテンツの人気を考慮したコンテンツ配信システム内の負荷分散システムでのコンテンツ配置管理方法について述べる。この手法は前述のクラスタを構成するサーバがミラーサーバである場合とキャッシュサーバである場合とで異なる。ミラーサーバを用いてコンテンツの人気に応じた配置を行う方法として、コンテンツ配信システム管理者が明示的に行う方法がある。すなわち、人間の判断を介してコンテンツ配置を行う方法であるが、これはシステム管理コストの増大を招く。さらに、ミラーサーバに配置するコンテンツが増加し、そのミラーサーバが有する有限なディスク容量に対して十分な容量が確保されない際に、コンテンツ配置時と同様にシステム管理者が明示的に必要性の少ないレプリカを削除する必要がある。このことは管理者に大きな負担を強いるために、管理コストが膨らんでしまうという問題がある。
【0014】
一方、キャッシュサーバと負荷分散装置を併用したシステムでは、管理者が明示的にコンテンツの配置を行う必要はない。しかしながら、負荷分散装置によりクライアントからのリクエストが各キャッシュサーバに自動的に公平に振り分けられるため、全てのキャッシュサーバにほぼ同じコンテンツが存在することとなる。これは、キャッシュサーバの外部記憶装置の非効率につながる。なぜなら、仮に負荷分散装置がサーバにクライアントからのリクエストを割り振りつつも、各サーバが担当するコンテンツが異なれば、外部記憶装置の容量は節約されるからである。
【0015】
さらに、自動的にコンテンツが配置されてしまうことは、管理者のポリシを反映した配置が不可能となることを意味する。さらに、コンテンツの増加によりキャッシュサーバのディスク容量が容量の限界に近づいた際に、LRU(Least−Recently−Used)あるいはLFU(Least−Frequently−Used)といった削除アルゴリズムでコンテンツの削除が行われるが、これは各サーバ単位でのみ行われており、クラスタ全体のコンテンツ配置状況を監視した上でのコンテンツレプリカ削除は行われていない。
【0016】
ミラーサーバを用いるコンテンツ配信システム内負荷分散システムにおいて、コンテンツの人気(例えばリクエスト数や配信実績数)やコンテンツがその配信に伴いシステムに与える負荷(例えば、平均同時配信数、サーバがそのコンテンツの配信のために出力する平均ビット数等)に応じたコンテンツ配置を行うには、システム管理者が明示的にコンテンツの配置を決定する必要がある。
【0017】
明示的に行う必要のないコンテンツ配置管理システムとして、特開2002−259354号公報(特許文献2)に記載される方法があるが、これはサーバ単位で配信するコンテンツの配置を管理するものである。
【0018】
図29にこのシステムの概要を示す。各ミラーサーバ403〜407へのアクセス数等の負荷は、コントロールサーバ416により監視され、このコントロールサーバ416の参照結果を受けて負荷分散装置401がミラーサーバ403〜407にクライアントからのリクエストを割り振る。監視および管理対象コンテンツの単位は、複数のコンテンツがグループ化されたコンテンツ群である。また、このコンテンツ群を配置する先の単位はサーバ単位である。そのため、コンテンツ群に対する負荷が増加した際には、サーバの数を増減することで、負荷分散を図っている。図30にコンテンツ群501とその配信を担当するサーバ502の対応表を示す。各コンテンツ種別は複数のサーバに配置され得るが、図30に示されるようにコンテンツ単位で割り当てることと、同一のサーバに複数のコンテンツを配置することが難しい。
【0019】
これはコンテンツ群の配信を担当するサーバ単位での負荷分散であるといえる。また、この負荷の増減に対応するために必要なサーバを、通常時より準備しておく必要がある。これはすなわち、不稼動な予備サーバを準備しておくことであり、これは稼働率の低下につながる。また、この方法では外部記憶装置の容量が限界に達したときに、自動的にコンテンツのレプリカの数量を低減する機能がない。さらに、予備のサーバがなくなった際に、負荷の低いコンテンツ群のサーバを、負荷の高いコンテンツ群のサーバに割当てなおす機能がない。さらに各コンテンツごとに異なる管理ポリシを導入することが不可能である。
【0020】
また、特開2001−27965号公報(特許文献3)に記載される方法では、ディレクトリ単位でコンテンツの管理を行っており、さらに特開2002−63064号公報(特許文献4)に記載される方法では、ディレクトリ単位でのコンテンツ管理をポリシ制御により自律的に行われる。ここでは、ディレクトリに適用された置換えポリシの自動切換えや、そのパラメータ間の割り当て容量等の自動調整により、ヒット率を向上させる等の制御を行われている。しかしながら、コンテンツ毎にレプリカの増設や競合時の振る舞い等のようなコンテンツ毎の配置方針に対するポリシ管理は試みられておらず、人気に応じたコンテンツ配置を実現する方法であるとは言えない。
【0021】
【特許文献1】
特開2001−67377号公報
【特許文献2】
特開2002−259354号公報
【特許文献3】
特開2001−27965号公報
【特許文献4】
特開2002−63064号公報
【非特許文献1】
”A dynamic object replication and migration protocol for an Internet hosting service”, Distributed Computing Systems, 1999. Proceedings. 19th IEEE International Conference on, pp.101 −113, (1999).
【0022】
【発明が解決しようとする課題】
特許文献1に記載の方法は、広域負荷分散システムにおけるコンテンツ配置管理方法であり、コンテンツ配信システム内の配置管理方法には触れられていない。このため、コンテンツ配信システム内には別のコンテンツ配置管理方法が必要である。
【0023】
また、特許文献2に記載の方法は、コンテンツ配信システム内負荷分散におけるコンテンツ配置管理方法ではあるが、ディスク管理の対象とする単位がコンテンツ提供事業者毎等に設定されたコンテンツ群となっており、さらにその割り当て先がサーバ単位である。このため、複数のコンテンツ群を同一のサーバに割り当てる機構が存在しない。さらに、予備のサーバがなくなった際に、負荷の低いコンテンツ群のサーバを、負荷の高いコンテンツ群のサーバに割当てなおす機能がない。これらは稼働率の低下につながる。またミラーサーバのディスク容量が限界に達した際にレプリカを削除する手段は存在しない。そのため、大きなディスク容量を必要としてしまう。
【0024】
さらに、特許文献3および特許文献4に記載される方法では、ディレクトリ単位でコンテンツの配置管理を行っている。これもコンテンツ単位での人気に応じた配置は行われていない。ユーザはコンテンツ単位で興味を示すものであるから、サーバ単位、ディレクトリ 単位ではなく、コンテンツ単位での配置方法を実現するのが望ましい。また、クライアントからのアクセス数が増加し、キャッシュサーバあるいはミラーサーバにおいてレプリカを生成した結果、サーバのディスク容量の限界に達した際に、従来はサーバ単位で判断されたレプリカ削除管理が行われており、クラスタ単位で判断を行ったレプリカ削除管理が行われていなかった。
【0025】
本発明は、コンテンツの人気に基づいたコンテンツの配置管理をコンテンツ単位で行う。そこでは、システム管理者 はポリシを設定することによって、コンテンツは自律的に最適なサーバに配置にされる。さらに、サーバのディスク 容量が限界に達した際に、コンテンツ間での追い出しが行われるため、システム管理者はディスク容量の限界を考慮する必要はなくなる。従来は、上述の人気に応じたコンテンツ配置管理、コンテンツ単位での配置管理、サー バのディスク容量を意識した追い出し、といった機能を同時に実現する方法はなかった。
【0026】
上述した従来の技術における問題点をまとめると以下のようになる。
【0027】
第1の問題点は、ミラーサーバを用いるコンテンツ配信システム内でのコンテンツ配置管理方法では、システム管理者が明示的にコンテンツ配置を決定する必要がある点にある。
【0028】
その理由は、コンテンツ配置管理を行うシステム管理者に支払う経費および労務費が大きく、システムコストの増加につながるためである。これを解決するには、自律的に配置管理を行う仕組みを導入する必要がある。
【0029】
第2の問題点は、キャッシュサーバを用いるコンテンツ配信システム内でのコンテンツ配置管理方法では、コンテンツの人気等に応じた配置管理ができなく、さらにディスク等の外部記憶装置の利用効率が低下する点にある。また、キャッシュサーバに格納されるコンテンツの量が増加してディスク容量の限界を超えた際にコンテンツが削除されることがあるが、ほぼ同時にすべてのキャッシュサーバからコンテンツが削除されてしまい、適切な個数のコンテンツを配置しておけないという問題点もある。
【0030】
その理由は、負荷分散装置がクライアントからのリクエストをキャッシュサーバに振り分ける際に、ラウンドロビンアルゴリズム等のサーバ負荷を均一にする目的で振り分けるため、全てのキャッシュサーバにコンテンツのレプリカが生成されてしまうからである。キャッシュサーバ単位ではなく、コンテンツ配信システム単位でのコンテンツの人気に応じた配置管理が必要である。コンテンツ配信システム単位で配置管理を行うことによって、複数コンテンツ間の人気が異なる際に、人気のないコンテンツを先に削除をすることが可能となる。
【0031】
第3の問題点は、従来はコンテンツ群単位やディレクトリ単位でコンテンツ配置管理が行っており、コンテンツ単位にポリシを導入することによるコンテンツ単位での配置管理を行なうことができない点にある。
【0032】
その理由は、コンテンツ群やディレクトリ群といった複数のコンテンツを含む管理単位を用いることは、様々な属性を持つコンテンツや異なる人気を有すコンテンツをまとめて配置することであり、人気のないコンテンツにディスクが占有されることに由来するディスク利用効率低下等を招く。概して、ユーザが興味を示すのはコンテンツ単位である。そのため、アクセスの集中もコンテンツ単位で行われるべきである。また、コンテンツ単位にポリシを与えて管理することは、コンテンツ単位に異なる属性が存在するため、重要である。例えば、ニュースと映画では属性が異なるため、コンテンツ単位で優先度、視聴可能時間等を考慮したポリシ設定を行う必要がある。
【0033】
第4の問題点は、従来の方式ではサーバの稼働率が低くなったり、予備のスタンバイ状態のサーバを用意しておく必要がある点である。この問題は、ディスクへの配置管理の単位を、コンテンツ提供事業者等を単位としてグループ化したコンテンツ群としていること、さらにその割り当て先がサーバ単位であることに起因している。複数のコンテンツ群、またはコンテンツを同一のサーバに割り当てる機構が存在しないために、負荷分散の粒度が粗くなってしまう。そのため、サーバを比較的余裕を持った台数用意しなくてはならない。さらに、予備のサーバがなくなった際に、負荷の低いコンテンツ群のサーバを、負荷の高いコンテンツ群のサーバに割当てなおす機能がない。これらのことは、サーバの稼働率の低下を引き起こす。この問題を解消するためには、ディスクへの配置管理の単位を、コンテンツ等もっと細かい単位とすること、複数のコンテンツ群、またはコンテンツを同一のサーバに割り当てる機構を導入すること、負荷の低いコンテンツ群のサーバを、負荷の高いコンテンツ群のサーバに割当てなおす機構を導入すること、が必要である。
【0034】
第5の問題点は、従来のコンテンツ配信システムには突発的に人気が出たコンテンツに対応できる機能がない点である。
【0035】
その理由は、ポリシを利用したコンテンツ配置制御方法では、アクセス数等を監視した時の状態と、実際にそれに基づいて最適な配置状態に至るまでにある一定の時間が存在するためである。その間にアクセスがそのコンテンツに対して集中してしまうと、他のコンテンツ配信システムからコンテンツを配信することになるが、この場合、レスポンスが遅い、他のコンテンツ配信システムとの間のネットワークの輻輳させる、等の問題を発生させる危険性がある。しかし、従来のキャッシュサーバを用いる方式では、第1から第4の問題を解決することはできない。第1から第4の問題を解決するための機構と、突発的に人気が出たコンテンツに対応できる機構の両方を取り入れたシステムを構築する必要がある。
【0036】
【発明の目的】
本発明の第1の目的は、コンテンツ配信システム内でのコンテンツの配置管理を自律的に行うことで、コンテンツの配置管理に要する管理コストを削減するコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0037】
本発明の第2の目的は、コンテンツの人気等のコンテンツ毎に設定した条件に応じて、コンテンツを配置していくこと、または削除をしていくことで、コンテンツ配信システムの限られたディスクの利用効率を向上させるコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0038】
本発明の第3の目的は、コンテンツ単位にポリシを導入して、コンテンツ単位での自律的配置を実現するコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0039】
本発明の第4の目的は、サーバの稼働率を上げ、予備のスタンバイ状態のサーバも不要とするコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0040】
本発明の第5の目的は、第1から第4の目的を達成すると同時に、突発的に人気が出たコンテンツにも高レスポンス、高スループットな配信を実現するコンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラムを提案することにある。
【0041】
【課題を解決するための手段】
上記目的を達成する本発明は、コンテンツ配信システム内でのコンテンツの配置管理を行うコンテンツ配置管理システムであって、前記コンテンツに対するクライアントからのリクエスト、当該リクエストに伴うコンテンツの配信実績、それらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理するアクセス監視装置を備え、前記アクセス監視装置の前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行うことを特徴とする。
【0042】
請求項2の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのレプリカの数を前記コンテンツアクセス指標から算出することを特徴とする。
【0043】
請求項3の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値を、コンテンツ毎に設定することを特徴とする。
【0044】
請求項4の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値として、前記コンテンツ配信システム内のレプリカの数によって異なる値を前記コンテンツ毎に設定することを特徴とする。
【0045】
請求項5の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出することを特徴とする。
【0046】
請求項6の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値を、コンテンツ毎に設定することを特徴とする。
【0047】
請求項7の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値として、コンテンツ配信システム内のクライアントへの配信を担当するサーバの数によって異なる値をコンテンツ毎に設定することを特徴とする。
【0048】
請求項8の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの許容負荷値を超えると判断された場合に、前記ディスクの負荷を軽減するために前記ディスクから削除するコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断することを特徴とする。
【0049】
請求項9の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの負荷が許容値を超えると判断され、前記ディスクの負荷を軽減するために前記所定のディスクからコンテンツのレプリカを選択して削除する場合に、前記所定のディスク上にあるコンテンツのレプリカについては、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数で割ることでコンテンツディスクスコアなる値を算出し、前記レプリカを作成しようとしているコンテンツについては、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数にこれからコピーを作成しようとする数を足した値で割った予測コンテンツディスクスコアなる値を算出し、前記予測コンテンツディスクスコアより前記コンテンツディスクスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を全て削除した時に、レプリカを作成してもディスクの負荷が許容値を超えないと予想される場合、前記コンテンツスディスクコアが低い順に、レプリカを作成してもディスクの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、前記コンテンツのレプリカの作成を行うことを特徴とする。
【0050】
請求項10の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のディスク上にコンテンツのレプリカを作成する際に、前記ディスクの負荷が最も低い、または残りのディスク負荷の許容値が最も大きいディスクをレプリカの作成先として選択することを特徴とする。
【0051】
請求項11の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断することを特徴とする。
【0052】
請求項12の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する際に、既に前記サーバに割り当て済みのコンテンツのレプリカについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数で割ることでコンテンツサーバスコアなる値を算出し、前記レプリカを作成しようとしているコンテンツについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数に、割り当てをしようとしているサーバの数を足した値で割ることで予測コンテンツサーバスコアなる値を算出し、前記予測コンテンツサーバスコアより前記コンテンツサーバスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を削除した結果、レプリカを作成してもサーバの負荷が許容値を超えないと予想される場合、前記コンテンツサーバスコアが低い順に、レプリカを作成しても前記サーバの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、コンテンツのレプリカの作成を行うことを特徴とする。
【0053】
請求項13の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の所定のサーバをコンテンツの配信の担当として割り振る際に、サーバの負荷が最も低い、または残りのサーバ負荷の許容値が最も大きいサーバを配信の割り当て先として選択することを特徴とする。
【0054】
請求項14の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内の複数のサーバ毎にディスクが接続されていることを特徴とする。
【0055】
請求項15の本発明のコンテンツ配置管理システムは、コンテンツ配信システム内のディスクが複数のサーバから参照可能な共有ディスクとして接続されていることを特徴とする。
【0056】
請求項16の本発明のコンテンツ配置管理システムは、コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定することを特徴とする。
【0057】
請求項17の本発明のコンテンツ配置管理システムは、前記ポリシを、前記コンテンツ毎に設定することを特徴とする。
【0058】
請求項18の本発明のコンテンツ配置管理システムは、前記ポリシをコンテンツ毎に設定したポリシ管理装置と、前記コンテンツアクセス指標と前記ポリシを参照しながら、クラスタ内のサーバにコンテンツのレプリカの作成や、またはクラスタ内のサーバからレプリカの削除を実行することにより、コンテンツの配置を制御するコンテンツ配置制御装置とを備えることを特徴とする。
【0059】
請求項19の本発明のコンテンツ配置管理システムは、コンテンツの所在情報を管理するコンテンツ配置状況管理装置を備え、前記コンテンツ配置制御装置は、前記コンテンツ配置状況管理装置の前記コンテンツの所在情報を参照してコンテンツの配置を制御することを特徴とする。
【0060】
請求項20の本発明のコンテンツ配置管理システムは、コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定し、(1)固定ポリシ(条件:設定された期間の間に削除候補として選択されるとき/アクション:ディスクからの削除対象や配信担当サーバ数の削減対象とさせない)、(2)新規レプリカ作成ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツのレプリカが配信管理システム内にない/アクション:レプリカを作成するための処理を実行する)、(3)レプリカ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、レプリカ数を超えるとき/アクション:配信管理システム内にもう1つレプリカを作成するための処理を実行する)、(4)レプリカ削除ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:ディスクからレプリカを設定された数だけ削除する)、(5)レプリカ追い出しポリシ(条件:設定された期間の間に削除候補として選択される時/アクション:ディスクから削除される)、(6)新規配信担当サーバ割当ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツの配信担当サーバが配信管理システム内にない/アクション:配信担当サーバを割り当てる処理を実行する、(7)配信担当サーバ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、配信担当サーバ数を超えるとき/アクション:配信管理システム内のコンテンツの配信担当サーバ数を1つ増やすための処理を実行する)、(8)配信担当削減ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:配信担当サーバ数を設定された数だけ削減する)の何れかのポリシから選択して設定することを特徴とする。
【0061】
請求項21の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内にプロキシキャッシュサーバを備え、一部のコンテンツの配信を前記プロキシキャッシュサーバ経由で行うことを特徴とする。
【0062】
請求項22の本発明のコンテンツ配置管理システムは、前記コンテンツ配信システム内のサーバをプロキシキャッシュサーバとして機能させ、コンテンツのレプリカの作成や削除の指示を負荷分散装置による誘導により間接的に実行することを特徴とする。
【0063】
請求項23の本発明のコンテンツ配置管理システムは、ディスクの負荷を監視し、観測したディスク負荷がディスクの負荷の許容値を超えたディスクがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカを他のコンテンツ配信システム内に作成することを特徴とする。
【0064】
請求項24の本発明のコンテンツ配置管理システムは、サーバの負荷を監視し、観測したサーバ負荷がサーバの負荷の許容値を超えたサーバがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカの配信を担当するサーバを増やすことを特徴とする。
【0065】
請求項25の本発明のコンテンツ配置管理システムは、初めてコンテンツに対するリクエストや配信実績が発生した際に設定されるコンテンツアクセス指標の初期値を動的に変化する基準値とすることを特徴とする。
【0066】
請求項26の本発明のコンテンツ配置管理システムは、再起動や新規に増設されたサーバの観測サーバ負荷の初期値を、動的に変化する基準値とすることを特徴とする。
【0067】
請求項27の本発明のコンテンツ配置管理システムは、再起動され又は新規に増設されたディスクの観測ディスク負荷の初期値を、動的に変化する基準値とすることを特徴とする。
【0068】
請求項28の本発明は、コンピュータ上で実行され、コンテンツ配信システム内でのコンテンツの配置管理を行うコンテンツ配置管理プログラムであって、前記コンテンツに対するクライアントからのリクエスト、当該リクエストに伴うコンテンツの配信実績、それらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理し、前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行う機能を実行する。
【0069】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について図面を参照して詳細に説明する。
【0070】
(第1の実施の形態)
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
【0071】
図1を参照すると、本発明の第1の実施の形態によるシステムは、コンテンツを視聴する複数のクライアント(図1では、3つのクライアント)2001、2002、2003、ユーザがネットワークにより接続するアクセス網2004、アクセス網2004にネットワークにより接続されたコンテンツ配信システム2010、コンテンツ配信システム2010を外部ネットワークやその他のコンテンツ配信システムと接続するネットワーク2005とを備えて構成される。
【0072】
ここで、コンテンツ配信システム2010は、ディスクが接続されたサーバ群で構成されるクラスタ2020、ユーザのリクエストをこれらのサーバや外部のコンテンツ配信システムに負荷分散しながら誘導する負荷分散装置2012、コンテンツの所在情報を管理するコンテンツ配置状況管理装置2014、コンテンツへのユーザのリクエスト状況を監視するアクセス監視装置2011、コンテンツの配置を制御するコンテンツ配置制御装置2030、コンテンツの配置方針(ポリシ)を管理するためのポリシ管理装置2015、上記ポリシの入力やコンテンツ配信管理システムの設定を行うための管理端末2006を含んで構成される。
【0073】
負荷分散装置2012とアクセス監視装置2011は、コンテンツ配信システム2010を利用するユーザ(クライアント2001〜2003)からのコンテンツへのリクエストが経由するように接続されている。
【0074】
負荷分散装置2012とクラスタ2020は、ローカルネットワーク2013により接続されている。また、負荷分散装置2012は、ネットワーク2005で外部のコンテンツ配信システムにも接続されている。コンテンツ配置状況管理装置2014、コンテンツ配置制御装置2030、ポリシ管理装置2015、管理端末2006、クラスタ2020、負荷分散装置2012、およびアクセス監視装置2011は、システム内のローカルネットワーク2013により互いに接続されている。
【0075】
クラスタ2020は、ディスクが接続されたサーバ群(ディスク2024が接続されたサーバ2021(サーバ(1))、ディスク2025が接続されたサーバ2022(サーバ(2))、ディスク2026が接続されたサーバ2023(サーバ(3))の3台のサーバに加えて、クラスタ内の各サーバ2021〜2023の使用状況や負荷等を監視、管理しているサーバ状況監視装置2027、各ディスク2024〜2026の利用状況や負荷状況を監視、管理するディスク状況監視装置2028を備えて構成されている。
【0076】
なお、ここでは、サーバ状況やディスク状況は、サーバ状況監視装置2027、ディスク状況監視装置2028によりクラスタ2020内の1箇所で集中管理される構成として説明するが、サーバ状況監視装置2027、ディスク状況監視装置2028は各サーバやディスク毎に分散管理する構成としてもよい。図1のように、集中管理することのメリットは、コンテンツ配置制御装置2030が行うサーバ状況、ディスク状況の問い合わせがいずれも一括して行えるようになるという点である。
【0077】
サーバ状況監視装置2027は、各サーバ2021〜2023の観測サーバ負荷(サーバの処理量を表す指標)とその負荷の限界値であるサーバ限界負荷値を管理している。サーバ負荷を表す指標は、いわゆるサーバのロードでも良いし、サーバのCPU利用率、サーバ毎に観測した累積アクセス数や一定期間のアクセス数、現在の同時コネクション数、現在のサーバスループット(サーバからクライアントに送信している総データ量を単位時間で割った値)等、様々な指標を定義することが可能である。
【0078】
また、複数の指標に関して、上述した観測サーバ負荷、サーバ負荷限界値のセットを保持しても良い。さらに、幾つかの指標から何らかの算出式により得た新たな指標を観測サーバ負荷として定義しても良い。
【0079】
図2は、サーバ負荷の指標をサーバのCPU使用率とした場合の例を示している。サーバ限界負荷値については、一般にはシステム起動時に設定されるものであるが、随時管理端末2006から設定も可能である。観測サーバ負荷に関しては、設定された周期で負荷を測定して更新する方法や、コンテンツの配置状況やユーザのアクセス状況が変わるごとにイベントドリブン的に更新する方法等を選択することができる。さらに、設定された周期で負荷を測定して更新する方法と、コンテンツの配置状況やユーザのアクセス状況が変わるごとにイベントドリブン的に更新を行う方法を併用することも可能である。
【0080】
ディスク状況監視装置2028は、各ディスク2024〜2026の観測ディスク負荷とその負荷の限界値であるディスク限界負荷値を管理している。ディスク負荷を表す指標としては、使用ディスク容量、ディスク毎の稼動率、Write数、Read数、現在のRead/Writeのスループット等が考えられる。
【0081】
図3は、使用ディスク容量(単位B)をディスク負荷の指標とした場合の例を示している。ディスク限界負荷値については、一般にはシステム起動時に設定されるものであるが、随時管理端末2006から設定も可能である。観測ディスク負荷に関しては、コンテンツの配置状況が変わるごとにイベントドリブン的に更新することが望ましいが、システムに与える処理負荷を軽減することを考慮し、設定された周期で負荷を測定して更新する方法としても良い。また、設定された周期で負荷を測定して更新する方法と、コンテンツの配置状況やユーザのアクセス状況が変わるごとにイベントドリブン的に更新を行う方法を併用しても良い。
【0082】
上述のように負荷分散装置2012は、クライアント2001〜2003のアクセス網2004と接続され、クラスタ2020とローカルネットワーク2013によって接続されると共に、外部のネットワークおよびその他のコンテンツ配信システムとネットワーク2005により接続されている。
【0083】
クライアント2001〜2003のリクエストを受付けると、リクエストされたコンテンツがクラスタ内のサーバに接続されたディスクに格納されており、そのサーバから配信が可能な場合は、負荷分散装置2012は、そこにリクエストを誘導し、そのサーバからクライアントへのコンテンツの配信を行うようにする。
【0084】
例えば、図4のようにサーバ(1)2021にクライアントがリクエストするコンテンツAが格納されている場合は、クライアントのリクエストをサーバ(1)2021に誘導し、サーバ(1)2021からクライアントへの配信を確立させる。
【0085】
また、クライアントの要求するコンテンツBが、サーバ(1)2021、サーバ(2)2022の両方に置かれている場合、負荷分散装置2012は、ラウンドロビン、またはサーバ負荷の低いサーバを選択する等適当な制御方法に従って、サーバの負荷分散を図る形で、どちらかのサーバにクライアントのリクエストを誘導、そのサーバからの配信を確立する。
【0086】
さらに、ユーザの要求するコンテンツCがクラスタ2020内のサーバにはなく、外部のコンテンツ配信システム2310のサーバにある場合は、負荷分散装置負荷分散装置2012は、クライアントのリクエストを外部のコンテンツ配信システム2310に誘導し、そのコンテンツ配信システム2310内のサーバからの配信を確立させる。
【0087】
負荷分散装置2012は、コンテンツ毎にクライアントのリクエストを誘導する先の候補を管理しておく必要がある。例えば、上述の例では、図5に示すように、コンテンツAについてはサーバ1を、コンテンツBについては、サーバ1とサーバ2を誘導先の候補として管理しておく必要がある。
【0088】
コンテンツCに関しては、図5では、コンテンツ配信システム2310を誘導先の候補として管理している(つまり、ここではコンテンツ配信システム2310内のどのサーバに誘導するかは負荷分散装置2012に任せる、というやり方となっている)。
【0089】
自コンテンツ配信システム内のサーバに無い場合に、他のコンテンツ配信システムに誘導する方法は、他にも多数存在する。具体的にコンテンツ配信システム2310のコンテンツを保持するサーバを候補として管理しておいて、その中から選択して誘導する方法もある。また、誘導先を決定するシステムが別に存在し、そのシステムを誘導先として登録しておく、等の方法も考えられる。ここでは、自コンテンツ配信システム内のサーバに無い場合に、他のコンテンツ配信システムに誘導する方法を特定しない。なお、クライアントのリクエストを誘導の候補は、コンテンツの配置状況に依存して決まるもののため、この管理情報は、コンテンツの配置に応じて更新される必要がある。
【0090】
また、配信ができないサーバにリクエストを誘導してはいけないため、それぞれの誘導候補先のサーバが配信可能(Active)か配信できない状態(Down)の状態かも管理しておく必要がある。例えば、図4に示すように、コンテンツDは、サーバ2、サーバ3の両方に置かれているが、サーバ2はActiveだが、サーバ3はDownしているとする。このとき、コンテンツDへのクライアントからの要求が来ると、負荷分散装置2012は、サーバの配信可能状況を調べた上で、サーバ2にクライアントのリクエストを誘導、そのサーバからの配信を確立する。
【0091】
なお、サーバの配信状態については、負荷分散装置2012が独自に必ずしも管理する必要はなく、先のサーバ状況監視装置2027で管理してある情報を参照する、という方法でも問題はない。以下ではサーバ状況監視装置2027で管理してある情報を参照するものとして説明する。
【0092】
コンテンツ配置状況管理装置2014は、各コンテンツのクラスタ内での所在情報(どこのサーバのディスクにどのコンテンツのレプリカ(コピー)が配置されているか)を管理している。さらに、各コンテンツの属性情報も同時に管理している。
【0093】
具体的には、コンテンツをサーバに配置した結果発生するサーバ負荷(コンテンツサーバ負荷)、コンテンツをディスクに配置した結果発生するディスク負荷(コンテンツディスク負荷)、コンテンツへのアクセス状況を示す指標(コンテンツアクセス指標)、クラスタ内の幾つのサーバのディスク上にレプリカが存在するかを示すレプリカ数、後述するコンテンツの価値を示すコンテンツディスクスコア等を属性として有する。
【0094】
例えば、図6は、コンテンツの所在情報を示すための配置サーバのフィールドに加え、コンテンツサーバ負荷として1配信あたりに要するCPU使用率、コンテンツディスク負荷としてコンテンツサイズ、コンテンツアクセス指標として、平均同時配信数、コンテンツディスクスコアとしてコンテンツアクセス指標をレプリカ数で割った値とした場合を示している。これら情報は、コンテンツ配置制御装置2030により行われるコンテンツ配置やユーザからのリクエストやユーザへの配信実績の変化に応じてアップデートされて管理されなければならない。
【0095】
アクセス監視装置2011は、コンテンツ配信システム2010を通じて、コンテンツに対するクライアントからのリクエスト、またはそれに伴う配信実績、またはこれらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を管理する。
【0096】
このコンテンツアクセス指標としては、例えば、コンテンツ毎の累積リクエスト数、または、一定期間のコンテンツ毎のリクエスト数、またはコンテンツ毎の同時配信数、配信実績バイト数、コンテンツ毎の累積配信実績数、一定期間のコンテンツ毎の配信実績数、等を定義することができる。また、コンテンツアクセス指標として、上記にあげた指標のうち複数の指標を保持しても良いし、幾つかの指標から何らかの算出式により得たものを1つのコンテンツアクセス指標としても良い。また、コンテンツアクセス指標はコンテンツ毎に管理される情報であるため、コンテンツ配置状況管理装置2014の管理情報とまとめて管理しても良い。
【0097】
図6は、平均同時配信数をコンテンツアクセス指標として、コンテンツ配置状況管理装置2014の管理情報をまとめた場合の例を示している。また、コンテンツアクセス指標の更新と同時に、コンテンツディスクスコアについても更新する必要がある。
【0098】
これらの更新については、各クライアントのリクエストまたは配信完了毎にイベントドリブンに更新しても良いが、必ずしもイベントドリブンに更新する必要はなく、周期的に更新するといったバッチ的な更新を取ることも可能である。
【0099】
コンテンツの配置を制御するコンテンツ配置制御装置2030は、アクセス状況等に基づいて、クラスタ内のサーバにレプリカ(コピー)を作成するコンテンツ、またはクラスタ内のサーバからレプリカ(コピー)を削除するコンテンツを選択する配置対象選択部2032、レプリカの作成を行うサーバを選択する配置サーバ選択部2034、レプリカ作成により、ディスクのディスク限界負荷値をオーバーする可能性がある場合に、ディスクから削除するコンテンツのレプリカを選択する削除対象選択部2033、上記の各構成要素の機能を統括して、コンテンツのミラー、削除の実行指示までを行うコンテンツ配置判断部2031を備える。これらの各構成要素の機能については、後述の動作の説明において行う。
【0100】
コンテンツ配置制御装置2030において、配置対象選択部2032は、アクセス監視装置2011からコンテンツアクセス指標を受け取り、さらにポリシ管理装置2015の管理情報を参照しながら、コンテンツアクセス指標の値に応じて、コンテンツに対するアクション、具体的にはコンテンツをミラーをする、または削除する、または何もしない等の決定を行う。どのような値の時に、どのような選択をするかについては、システムで一意に設定することもできるし、コンテンツ毎やコンテンツグループ毎に設定することもできる。この設定の入力を管理端末2006から受けて、管理するのがポリシ管理装置2015である。
【0101】
最も詳細には、コンテンツ毎にポリシと呼ばれる、条件とアクション(処理内容)の対が設定される。ここでは、コンテンツ毎に設定する場合を例にとり説明する。コンテンツアクセス指標が平均同時配信数だとすると、例えば図7に示すコンテンツAのように、平均同時配信数が200を超え、かつクラスタ内にレプリカが無い(レプリカ数=0)場合(条件1)、クラスタのいずれかのサーバにコンテンツをミラーする(アクション1)。平均同時配信数を100で割った値が、現在のクラスタ内のレプリカ数を超えると(条件2)、クラスタ内にもう1つレプリカを1つ増やす(アクション2)、等というようにポリシを設定できる。
【0102】
また、例えば、図7のコンテンツBのように、平均同時接続数が10件を下回ったら(条件1)、クラスタ内のコンテンツBのレプリカを全て削除する(アクション1)、等というように設定することができる。
【0103】
なお、上記各構成要素は、プログラム制御可能なコンピュータ処理部(CPU)によって実現され、コンテンツ配置管理を行うためのコンテンツ配置管理プログラムをコンテンツ配置制御装置2030が実行することにより以下に詳しく説明するコンテンツの配置管理を行う。このコンテンツ配置管理プログラムは、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体から各構成要路であるコンテンツ配置制御装置2030のコンピュータ処理部(CPU)のメモリにロードされ、コンピュータ処理部の動作を制御することにより管理に必要な各機能を実現する。
【0104】
(第1の実施の形態の動作)
次に、本実施の形態によるコンテンツ配信システムが、コンテンツの配置状況を更新する際の動作を順に説明する。この配置状況の更新が従来の技術と差別化される本発明の特徴である。
【0105】
配置対象選択部2032は、アクセス監視装置2011からコンテンツアクセス指標を受け取り、さらにポリシ管理装置2015の管理情報を参照しながら、コンテンツアクセス指標の値に応じて、コンテンツに対するアクション、具体的にはコンテンツをミラーをする、または削除する、または何もしない等を決定する。
【0106】
アクションの実行を判断すると、配置対象選択部2032はコンテンツ配置判断部2031に、アクションの実行を指示する。アクションは、具体的にはあるコンテンツのミラーの実行か、削除の実行となる。以下順をおって説明する。
【0107】
まず、指示がコンテンツのミラーであった場合の処理内容を、図8のフローチャートを参照して説明する。
【0108】
コンテンツ配置判断部2031は、ミラー対象のコンテンツの識別子とそのクラスタ内に作成すべき新規レプリカの数(新たにサーバに接続されたディスクにコピーを作る数)について配置対象選択部2032からの指示を受ける(ステップ2800)。
【0109】
配置対象選択部2032は、アクセス監視装置2011が管理する情報とポリシ管理装置2015が管理する情報を参照しながら、ミラー対象のコンテンツの識別子とそのクラスタ内に作成すべき新規レプリカの数を判断している。ここで、例えば、図7に示されるようにコンテンツAには、コンテンツアクセス指標が「200以上」でかつ、クラスタ内に存在するレプリカの数が「0」である場合には、クラスタ内のいずれかのサーバ1つにレプリカを作成するように設定されているとする。そして、図24に示されるように、コンテンツAのコンテンツアクセス指標が「300」であったとする。この時、配置対象選択部2032はミラー対象のコンテンツの識別子として「A」を、そのクラスタ内に作成すべき新規レプリカの数として「1」をコンテンツ配置判断部2031に指示する。
【0110】
コンテンツ配置判断部2031は、配置先決定サーバリストを初期化(空の状態とする)し、さらに配置先サーバ数を初期化して「0」にする(ステップ2801)。そして、サーバ状況監視装置の管理情報およびコンテンツ配置状況管理装置の管理情報を参照しながら、設定された基準に適合するサーバを候補サーバリストに登録する(ステップ2802)。ここで設定された基準の例としては、ミラー対象であるコンテンツが置かれておらずかつActiveであるサーバ、等とすることが挙げられる。
【0111】
そして、候補サーバリストが空になるまで(ステップ2803)、または配置先サーバ数が配置対象選択部2032から指示された新規レプリカ数に達するまで(ステップ2804)、以下の処理を実行する。
【0112】
まず、候補サーバリストの中から、1つサーバを配置サーバ選択部2034に選択する(ステップ2805)。この際の選択方法としては以下の方法が考えられる。
【0113】
方法1:観測サーバ負荷値の最も小さいサーバを選択する。
【0114】
方法2:観測ディスク負荷値の最も小さいサーバを選択する。
【0115】
方法3:残余ディスク負荷が、ミラー対象コンテンツのコンテンツディスク負荷より大きいサーバの中から、方法1または方法2により選択する。もし、コンテンツを置くだけのディスクスペースがあるサーバが無ければ、方法1または方法2のいずれかの方法でサーバを選択する、等の方法を採用することができる。
【0116】
上記のいずれかの方法、または他の何らかのアルゴリズムに従って、サーバを選択する。
【0117】
コンテンツ配置判断部は2031は、上記ステップ2805で選択されたサーバのディスク状況をディスク状況監視装置2028に、ミラー対象のコンテンツのコンテンツディスク負荷をコンテンツ配置状況管理装置2014に問い合わせる。そして、コンテンツをサーバに配置することで、ディスク限界負荷値を超えると予想されるかされないかによって、具体的には、観測ディスク負荷とミラー対象のコンテンツディスク負荷の合計がディスク限界負荷値を超えるか超えないかによって処理を分岐する(ステップ2807)。
【0118】
ディスク限界負荷値を超えないと予想される場合は、後述のステップ2824に進む。
【0119】
ここで、ディスク限界負荷値を超える場合の具体例を示す。ディスク容量がディスク負荷、コンテンツサイズがコンテンツディスク負荷の指標とする。ディスク負荷、つまり既に利用済みのディスク容量が1.8GB、ミラー対象のコンテンツの合計サイズが0.8GBとする。ディスク限界負荷値、つまり利用可能な総ディスク容量が2.0GBの場合、ディスク限界負荷値を超えると判断される。この場合、いずれかのコンテンツをまずサーバのディスク上から0.6GB以上削除する必要がある。
【0120】
ディスク限界負荷値を超えると予想された場合の処理について説明する。コンテンツ配置判断部2031は削除対象選択部2033に、削除できるコンテンツがあるかを問い合わせる(ステップ2809)。削除できるコンテンツがないと判断された場合(ステップ2810)は、後述のステップ2830以下に進む。
【0121】
削除すべきコンテンツがあることを指示されると、これらコンテンツを削除をした上で、ミラー対象のレプリカをサーバに作成した後にサーバ負荷がサーバ限界負荷値を超えるかどうかの予測を行う(ステップ2811)。
【0122】
具体的には、
(式1):サーバ負荷−(削除対象として挙げられたコンテンツが与えていたサーバ負荷)+ミラー対象のコンテンツが与えると予想されるサーバ負荷>サーバ限界負荷値が成り立つかどうかを確認する。
【0123】
もし、この(式1)の関係がなりたつ場合は、サーバ負荷がサーバ限界負荷値を超えると判断し(ステップ2812)、後述のステップ2830以下に進む。
【0124】
ここで、サーバ限界負荷値を超える場合の具体的な例を示す。ここでは、CPU利用率がサーバ負荷の指標とする。
【0125】
図2に示すように、サーバ(1)2021の観測サーバ負荷が現在「80%」で、サーバ限界負荷値が「90%」とする。そして、削除対象がコンテンツB、ミラー対象がコンテンツC、ミラー先のサーバがサーバ(1)2021であるとし、それぞれのコンテンツサーバ負荷が、図6に示されるように、「1.0%」、「1.5%」として設定されているとする。
【0126】
削除対象として挙げられたコンテンツが与えていたサーバ負荷は、コンテンツサーバ負荷(CPU使用率/配信)とコンテンツアクセス指標(平均同時配信数)の積で算出されるので「20%」となる。ミラー対象のコンテンツが与えると予想されるサーバ負荷は、同様に30%と算出される。この結果、(式1)の左辺は85−20+30=95%となり、サーバ限界負荷値「90%」を上回るために、サーバ限界負荷値を超えると判断される。
【0127】
もし、この(式1)の関係が成り立たない、つまり、サーバ負荷がサーバ限界負荷値を超えないと判断した場合は、削除対象として削除対象選択部2033が選択したコンテンツのサーバからの削除を実行する(ステップ2813)。なお、このステップ2811とステップ2812の処理は必ずしも行わなくても良い。
【0128】
次に、ミラー対象のコンテンツのミラー(サーバへのコンテンツのコピー)を実行する(ステップ2824)。
【0129】
そして、サーバ負荷状況の更新(ステップ2825)を行う。具体的には、観測サーバ負荷から、削除した分のコンテンツサーバ負荷を引き、ミラー対象のコンテンツが与えると予想されるサーバ負荷を足せば良い。ただし、この更新処理ステップ2825は必ずしも行わなくとも良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0130】
次に、削除、ミラーの実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ2826)。さらにレプリカ数の更新も行う。この際、同時にコンテンツディスクスコアの更新も行う。なお、コンテンツディスクスコアとは、後述する削除対象選択で用いられる指標で、コンテンツのレプリカ単位の価値を示すものである。詳細な定義については、後述の削除対象選択の動作において説明する。
【0131】
次に、ディスク状況の更新を行う(ステップ2827)。具体的には、観測ディスク負荷から、削除した分のコンテンツディスク負荷を引き、ミラーした分のコンテンツディスク負荷を足し、残余ディスク負荷も更新する処理を行う。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0132】
次に、負荷分散装置2012での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ2828)。具体的には、ミラーをしたコンテンツについては、サーバを誘導対象のサーバリストに追加する。削除したコンテンツについては、削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0133】
そして、配信先サーバ数に「1」を加え(ステップ2829)、候補サーバリストから選択されたサーバを除き、ステップ2803以下の処理に進む。
【0134】
以上が、配置対象選択部2032からコンテンツ配置判断部2031への指示がコンテンツのミラーだった場合の処理内容である。
【0135】
なお、コンテンツを具体的にいずれかのサーバに置く指示が与えられることも想定できるが、この場合は、ステップ2802で作成する候補サーバリストをこの指定されたサーバだけにした上でステップ2803以下を実行すれば良い。
【0136】
ここで、図8のステップ2809における削除対象選択の処理の詳細動作について図9を用いて順に説明する。
【0137】
削除対象選択部2033は、コンテンツアクセス指標と、コンテンツのレプリカ数から算出したコンテンツディスクスコア、という数値を指標として削除すべきコンテンツを選択する。
【0138】
最もシンプルな方法としては、コンテンツアクセス指標をレプリカ数で割った値をコンテンツディスクスコアとする方法がある。コンテンツディスクスコアは、コンテンツ配置状況管理装置2014で管理されている。
【0139】
まず、なお、ミラー対象のコンテンツについては、単純にレプリカ数で割るだけではなく、ミラー前のレプリカ数に「1」を加えた値で、コンテンツアクセス指標を割った、予測コンテンツディスクスコアという数値を算出する(ステップ2901)。初期化の手順として、空の削除対象コンテンツリストを作成し(ステップ2902)、削除可能ディスク負荷を「0」に設定する(ステップ2903)。
【0140】
次に、サーバのディスクに置かれているコンテンツの中から、この予測コンテンツディスクスコアよりも低いコンテンツディスクスコアを持つコンテンツを削除候補コンテンツリストに登録する(ステップ2904)。
【0141】
そして、削除候補が削除候補コンテンツリストにあり(ステップ2905)、かつディスク限界負荷からディスク負荷、さらにこの削除可能ディスク負荷値を引いた値(残余ディスク負荷)が、ミラー対象のコンテンツのコンテンツディスク負荷を超えるまで(ステップ2906)、ステップ2907からステップ2909の手順により削除対象コンテンツを選択する。
【0142】
まず、その削除候補コンテンツリストの中から、最もコンテンツディスクスコアの低いものを削除対象コンテンツとして選択し削除対象コンテンツリストに追加する(ステップ2907)、そのコンテンツディスク負荷値を削除可能ディスク負荷値に加算する(ステップ2908)。そしてこのコンテンツを削除候補から削除し(ステップ2909)、ステップ2905に戻る。
【0143】
もし、ステップ2905で、削除候補コンテンツリストが空であれば、削除できるコンテンツが配置予定のサーバ上にないことがコンテンツ配置判断部2031に通知される(ステップ2910)。
【0144】
ステップ2906で、ディスク限界負荷からディスク負荷、さらにこの削除可能ディスク負荷値を引いた値が、ミラー対象のコンテンツのコンテンツディスク負荷を超えたと判断された場合は、削除できるコンテンツが、配置予定のサーバ上に存在することと、その削除対象コンテンツがコンテンツ配置判断部2031に通知される(ステップ2911)。
【0145】
なお、上記ではコンテンツディスクスコアをコンテンツアクセス指標をレプリカ数で割った値、予測コンテンツディスクスコアをミラー前のレプリカ数に「1」を加えた値で、コンテンツアクセス指標を割った値と定義しているが、これはそれぞれ、コンテンツ配信システム単位で集計された指標であるコンテンツアクセス指標と、レプリカ数から算出される値であれば良く、上記の方法に限定される訳ではない。
【0146】
次に、配置対象選択部2032からコンテンツ配置判断部2031への指示がコンテンツの削除だった場合の処理内容について説明する。
【0147】
コンテンツの削除の指示において、削除するレプリカ数が指定された場合について、図10を用いて詳細に説明する。
【0148】
コンテンツ配置判断部2031は、削除対象のコンテンツの識別子とそのクラスタ内から削除すべき削除レプリカ数について配置対象選択部2032からの指示を受け付ける(ステップ3000)。
【0149】
配置対象選択部2032は、アクセス監視装置2011が管理する情報とポリシ管理装置2015が管理する情報を参照しながら、削除対象のコンテンツの識別子とそのクラスタ内から削除すべきレプリカの数を判断する。
【0150】
例えば、図7に示されるように、コンテンツBには、コンテンツアクセス指標が「10」を下回ったら、クラスタ内に存在する全てのレプリカを削除するように設定されているとする。そして、図24に示されるように、コンテンツBのコンテンツアクセス指標が「5」であり、設定されていた閾値「10」を下回っているとする。
【0151】
この時、配置対象選択部2032は、コンテンツ配置状況管理装置2014の管理情報を参照し、コンテンツBのレプリカ数を参照する。そして、配置対象選択部2032は削除対象のコンテンツの識別子として「b」を、そのクラスタ内に作成すべき新規レプリカの数として先に参照したコンテンツBのレプリカ数をコンテンツ配置判断部2031に指示する。
【0152】
コンテンツ配置判断部2031は、削除元決定サーバリストを初期化(空の状態とする)し、さらに削除元サーバ数を「0」にする(ステップ3001)。そして、コンテンツ配置状況管理装置の管理情報を参照して、指定されたコンテンツのレプリカがディスクに置かれているサーバを削除候補サーバリストに登録する(ステップ3002)。
【0153】
次いで、削除候補サーバリストが空になるまで(ステップ3003)、または削除元サーバ数が配置対象選択部2032から指示された削除レプリカ数に達するまで(ステップ3004)、以下に述べる処理を実行する。
【0154】
まず、候補サーバリストの中から、1つサーバを配置サーバ選択部2034に選択させる(3005)。この際の選択方法としては以下のような方法がある。方法1:観測サーバ負荷値の最も高いサーバを選択する。
方法2:観測ディスク負荷値の最も高いサーバを選択する。
上記のいずれかの方法、または他の何らかのアルゴリズムに従って、サーバを選択する。
【0155】
次に、削除対象のコンテンツの削除を実行する(ステップ3006)。
【0156】
そして、サーバ負荷状況の更新(ステップ3007)を行う。具体的には、観測サーバ負荷から、削除した分のコンテンツサーバ負荷を引く。ただし、この更新処理3007は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0157】
次に、削除の実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ3008)。具体的には、削除を行ったサーバを配置サーバのリストから削除すること、レプリカ数を1つ減算すること、更新されたレプリカ数を用いてコンテンツディスクスコアを更新することを実行する。
【0158】
次に、ディスク状況の更新を行う(ステップ3009)。具体的には、観測ディスク負荷から、削除した分のコンテンツディスク負荷を引き、残余ディスク負荷も更新する処理を行う。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0159】
次に、負荷分散装置2012での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ3010)。削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0160】
そして、削除元サーバ数に「1」を加え(ステップ3011)、削除候補サーバリストから選択したサーバを除き(ステップ3012)、ステップ3003以下の処理に進む。
【0161】
また、コンテンツの削除の指示が、サーバを指定されて行われる場合も想定されるが、この場合は、ステップ3002で作成する削除候補サーバリストに指定されたサーバだけを登録した後に、ステップ3003以下を実行すれば良い。また、指定されたコンテンツを配信システム上の全てのサーバから削除されるように指示された場合は、コンテンツの配置状況をコンテンツ配置状況管理装置2014に確認し、コンテンツを配置しているサーバを抜き出し、これらを削除候補サーバリストに登録した後に、ステップ3003以下を実行すれば良い。
【0162】
なお、コンテンツのミラーや削除の指示は管理端末2006から随時できるものとする。このような構成により、管理者の判断によりコンテンツ配置を実現することも可能となる。ただし、コンテンツのミラーを上記の枠組みで行うと、コンテンツディスクスコアが低いと、レプリカが作成できない可能性がある。ミラーを確実に行いたい場合は、コンテンツディスクスコアを十分高い値に修正した上で行う必要がある。
【0163】
ここで、上記説明した処理のうち、コンテンツの削除、コンテンツのミラー(コピーであるレプリカをディスク上に作成し、配信を担当するサーバを決定する処理)の処理の実行方法についてより詳細な説明を行う。
【0164】
削除に関しては、コンテンツ配置制御装置2030が直にディスクからのレプリカの削除を行って、コンテンツ配置状況管理装置2014への管理情報の更新の指示、負荷分散装置2012への管理情報の更新の指示を行えば良い。もし、サーバに削除処理を受け付けるインタフェースがあるならば、ディスクからのレプリカの削除は、そのインタフェースを利用して行えば良い。本発明の実施の形態における、削除の方式は、前記のいずれでも構わないし、利用可能であれば他の方式であっても良い。
【0165】
ミラーについては、コンテンツ配信システム内にはコンテンツのレプリカは存在せず、他のコンテンツ配信システムから配信して貰う場合と、既にコンテンツ配信システム内にコンテンツのレプリカが存在する場合とで相違する。
【0166】
まず、コンテンツ配信システム内にはコンテンツのレプリカは存在せず、他のコンテンツ配信システムから配信して貰う場合について示す。この場合大きく分けて、図21に示されるPULL式の方法と、図22に示されるPUSH式の方法がある。
【0167】
まず、図21を用いてPULL式の方法について説明する。図21に示されるように、コンテンツ配置状況管理装置4130からの指示をミラー先のサーバ4101が受け、サーバ4101がコンテンツの配信のリクエストを他のコンテンツ配信システム4160に送る。そして、コンテンツのレプリカを保有する他のコンテンツ配信システム4160内のサーバ4151から、サーバ4201がコンテンツの配信を受けて、ディスク4202にレプリカの作成を行う方法がある。ここで、配信の仕組みはクライアントに対しての配信の方法と異なる方法でも構わない。例えば、クライアントにはUDPによる配信であるが、ミラーのための配信はFTPで行うといった方法でも良い。この方式は、ミラー先のサーバーがリクエストを出してコンテンツを取得する、いわゆるPULL式の方法である。
【0168】
次に、図22を用いて、PUSH式の方法について説明する。図22に示されるように、コンテンツ配置状況管理装置4230からの指示は他のコンテンツ配信システム4260に送出される。他のコンテンツ配信システムには、ミラー配信のための受け付けるミラー用配信受付部4280があり、ここでどのコンテンツをどのコンテンツ配信システムのどのサーバに行うかを受け付ける。そして、対象コンテンツのミラーを、コンテンツのレプリカを保有する他のコンテンツ配信システム4160内のサーバ4251から、指定された配信システムの指定されたサーバである4201に対して行い、レプリカをディスク4202に作成する。この方法は、ミラー先であるサーバからリクエストが出るのではなく、ミラー元からいきなり送りつけられる方式のため、PUSH式と呼ぶことにする。
【0169】
本発明の実施の形態における、ミラー処理の他のコンテンツ配信システムから配信方式は、PULL式、PUSH式いずれでも構わない。また、存在するならば他の方式であっても良い。
【0170】
次に、既にコンテンツ配信システム内にコンテンツのレプリカが存在する場合を示す。外部とのネットワークを浪費しない方法としては、図23に示すように、コンテンツ配信システム内での配信によりミラーを行う方法が望ましい。しかし、図21または42に示すように、他のコンテンツ配信システムからミラーを行う方法でも構わない。さらにここでの配信方式は、上記のPULL式、PUSH式いずれでも構わない。
【0171】
本実施の形態が従来の実施例と大きく異なる点は、コンテンツの配置をサーバ単位で判断しているのではなく、コンテンツ配信システム単位で判断している点である。コンテンツアクセス指標という、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標を基にして、コンテンツ配信システム内のコンテンツのレプリカの数(レプリカ数)を決定すること、さらにディスクの効率的な利用のためのコンテンツのレプリカの置換えを、コンテンツアクセス指標とレプリカ数から算出したコンテンツディスクスコアというものを基準に判断している点が大きな特徴である。
【0172】
これらの特徴により、コンテンツ配信システムにおける負荷分散やディスクの利用を、コンテンツの人気やシステムに掛ける負荷に応じて適切に配分することが可能となる。
【0173】
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
【0174】
本発明の第2の実施の形態によるシステムの構成を図11に示す。図1と比較すると、第1の実施の形態との違いは、クラスタ3120内のディスクの配置である。ディスク2124、3215は各サーバに直結されているのではなく、ローカルなネットワーク(ローカルネットワーク3140)によりクラスタ内の全サーバと接続される共有ディスクとなっている。
【0175】
図11では、ディスク3124とディスク3125が、サーバ2021、サーバ2022、サーバ2023とローカルネットワーク3140で接続されている。サーバ2021〜2023とのシステム的な接続形態はNFS、SAN、NAS等を挙げることができるが、いずれの方法でも、また他の方法でも構わない。
【0176】
図4で示されるように、第1の実施の形態では、コンテンツBはサーバ(1)2021、サーバ(2)2022に接続される両方のディスク2024、2025にレプリカを作成することで、コンテンツBを配信するためのサーバ配信能力の増強を実現していた。これに対して、本実施の形態の構成においては、いずれかのディスクにコンテンツのレプリカを置くだけで、(ディスクのスループットがボトルネックとならない限り)配信を担当するサーバを増やすことにより、サーバ配信能力を増強することができる。このため、クラスタ上に必要となるディスク容量を第1の実施の形態よりもさらに削減することが可能でとなる。
【0177】
上記構成の違いにより、各構成要素の機能と動作についても第1の実施の形態と部分的に相違する。以下、第1の実施の形態との相違点を中心に順に説明する。
【0178】
まず、サーバ状況監視装置2027の機能については第1の実施の形態と同様である。
【0179】
ディスク状況監視装置2028の機能は、第1の実施の形態と同様であるが、ディスクが1台のサーバにのみ接続されているわけではないため、図3に示される例のようにサーバ単位で管理するのではなく、図12に示されるようにディスク単位で管理する必要がある。
【0180】
負荷分散装置2012の機能は第1の実施の形態と同様である。ここで、図5に示されるようなコンテンツ毎にクライアントのリクエストを誘導する先の候補を管理する誘導先のリストを参照するが、この候補となっているサーバは、配信を担当するサーバではあるが、コンテンツはそのサーバ直付けのディスクに格納されているわけではないことが第1の実施の形態との差である。
【0181】
コンテンツ配置状況管理装置2014は、第1の実施の形態と同様に各コンテンツのクラスタ内での所在情報を管理している。第1の実施の形態と異なるのは、図13に示されるように、管理する情報として、コンテンツの配信を実行するサーバと、そのサーバがコンテンツを読み出すディスクとの対応を管理している点である。
【0182】
先に述べたように、ディスクからの読み出しのスループットが限界に達しない限り、コンテンツは基本的にはいずれか1つのディスクに格納しておけば良いが、ディスクスループットがボトルネックとなった場合は、別のディスクにレプリカを作成し、負荷分散を行うことも想定できる。そのため、必ずしも1つのコンテンツに対して、1つのディスクが対応する訳ではない。このような場合は、サーバ毎に、サーバと読み出しを行うディスクの対応を管理すべきであり、図13はそのような例になっている。
【0183】
また、新たに配信を担当するサーバの数を表す配信担当サーバ数のフィールドも管理する。また、サーバとディスクの対応が一意に決まらなくなったため、コンテンツスコアも、配信担当サーバ数とコンテンツアクセス指標から算出するコンテンツサーバスコアと、レプリカ数とコンテンツアクセス指標から算出するコンテンツディスクスコアの2種類を管理するものとする。
【0184】
図13の例では、コンテンツサーバスコアは、コンテンツアクセス指標を配信担当サーバ数で割った値、コンテンツディスクスコアはコンテンツアクセス指標をレプリカ数で割った値になっている。なお、この例では、同一のコンテンツアクセス指標である平均同時配信数からコンテンツディスクスコア、コンテンツサーバスコアを算出しているが、異なるコンテンツアクセス指標から算出しても問題ない。
【0185】
アクセス監視装置2011の機能については、第1の実施の形態と同様である。コンテンツの配置を制御するコンテンツ配置制御装置2030は、第1の実施の形態と同様である。
【0186】
また、ポリシ管理装置2015の機能は、第1の実施の形態と同様であるが、アクションの内容として、コンテンツをミラーをするまたは削除する、という内容に加えて、配信担当サーバを追加するまたは減らすといったこともできるようになっている。
【0187】
例えば、図14のコンテンツAのように、平均同時配信数が「200」を超え、かつクラスタ内にレプリカが無い(レプリカ数=0)場合(条件1)、クラスタのいずれかのサーバにコンテンツをミラーする(アクション1)。平均同時配信数を「200」で割った値が、現在のクラスタ内の配信担当サーバ数を超えると(条件2)、クラスタ内にもう1つ配信担当サーバを1つ増やす(アクション2)、等と設定できる。また、コンテンツBのように、平均同時配信数を「1000」で割った値が、現在のクラスタ内の配信担当サーバ数を超えると(条件2)、クラスタ内にもう1つ配信担当サーバを1つ増やすと同時に別のディスクへのレプリカの作成も行う(アクション2)、等と設定することができる。
【0188】
(第2の実施の形態の動作)
次に、第2の実施の形態における、コンテンツ配信システムがコンテンツの配置状況を更新する際の動作について順に説明する。
【0189】
配置対象選択部2032は、アクセス監視装置2011からコンテンツアクセス指標を受け取り、さらにポリシ管理装置2015の管理情報を参照しながら、コンテンツアクセス指標の値に応じて、コンテンツに対するアクション、具体的にはコンテンツをミラーをする、または削除する、配信担当サーバを追加する、減らす、または何もしない等のアクションを決定する。
【0190】
アクションの実行を判断すると、配置対象選択部2032はコンテンツ配置判断部2031に、アクションの実行を指示する。アクションは、具体的にはあるコンテンツのディスクへのミラーと配信担当サーバの割当の実行か、(既にミラー済みであるコンテンツの)配信担当サーバの追加、配信担当サーバの削減、コンテンツレプリカの削除、のいずれかとなる。以下、順に説明する。
【0191】
まず、指示がコンテンツのディスクへのミラーと配信担当サーバの割当の実行の場合の処理内容について、図15のフローチャートを参照して説明する。
【0192】
コンテンツ配置判断部2031は、ミラーの実行とその対象のコンテンツの識別子について配置対象選択部2032からの指示を受ける(ステップ3500)。そして、コンテンツ配置判断部2031は、コンテンツ配置状況管理装置2014の管理情報を参照しながら、配置を行う候補ディスクを選択する(ステップ3503)。この選択方法としては、ミラー対象であるコンテンツが配置されていないディスクの中から観測ディスク負荷値の最も小さいディスクを選択するのが最もシンプルな方法である。
【0193】
コンテンツ配置判断部は2031は、上記ステップ3503で選択されたディスクのディスク状況をディスク状況監視装置2028に、ミラー対象のコンテンツのコンテンツディスク負荷をコンテンツ配置状況管理装置2014に問い合わせる(ステップ3504)。
【0194】
そして、コンテンツをサーバに配置することで、ディスク限界負荷値を超えると予想されるかどうかによって、具体的には、観測ディスク負荷とミラー対象のコンテンツディスク負荷の合計がディスク限界負荷値を超えるかどうかによって処理を分岐する(ステップ3505)。ディスク限界負荷値を超えないと予想される場合は、後述のステップ3508に進む。
ステップ3505にて、ディスク限界負荷値を超えると予想された場合、コンテンツ配置判断部2031は、削除対象選択部2033に対して削除できるコンテンツがあるかどうかを問い合わせる(ステップ3506)。削除できるコンテンツがないと判断された場合(ステップ3507)は、処理を終了する。削除対象の選択の処理であるステップ3506は、コンテンツディスクスコアを指標として、第1の実施の形態におけるステップ2810の動作と同様である。
削除対象が決まると、次に配信担当サーバの割当を行う。コンテンツ配置判断部2031は、配置サーバ選択部2034に配信を割当てるサーバの候補を1つ選択させる(ステップ3508)。この際の選択方法としては、対象コンテンツの配信がまだ割当てられていないサーバの中から、観測サーバ負荷値の最も小さいサーバを選択するのが最もシンプルな方法である。
ステップ3504で選択された削除対象コンテンツのうち、ステップ3508で選択されたサーバが配信担当となっているコンテンツを抽出する。そして、これらのコンテンツが対象サーバに与えていたサーバ負荷の合計値を、削除対象コンテンツサーバ負荷合計値として算出する。
【0195】
そして、これらコンテンツを削除をした上で、ミラー対象のコンテンツをサーバが配信担当となった場合のサーバ負荷がサーバ限界負荷値を超えることがないかどうかの予測を行う(ステップ3509)。
【0196】
具体的には、
(式2):サーバ負荷−削除対象コンテンツサーバ負荷合計値+ミラー対象のコンテンツが与えると予想されるサーバ負荷>サーバ限界負荷値
が成り立つかどうかを確認する。
もし、上記(式2)の関係がなりたつ場合は、サーバ負荷がサーバ限界負荷値を超えると判断し(ステップ3510)、当該サーバが配信を担当しているコンテンツを配信担当から外すことで、サーバ限界負荷値以下にサーバ負荷を抑えることができるかどうかを確認する(ステップ3511)。なお、具体的な方法については、別途詳細に示す。配信担当から外すコンテンツを選択できた場合は、ステップ3513以下に進む。選択できなかった場合には処理を終了する。なお、ステップ3511、ステップ3512の処理については省略することも可能である。
【0197】
次に、削除対象として削除対象選択部2033が選択したコンテンツのサーバからの削除を実行する(ステップ3513)。次に、ミラー対象のコンテンツのミラー(ディスクへのコンテンツのコピー)を実行する(ステップ3513)。そして、ステップ3508で選択したサーバをミラー対象コンテンツの配信担当サーバとして設定する(ステップ3515)。
【0198】
そして、サーバ負荷状況の更新(ステップ3516)を行う。具体的には、観測サーバ負荷から、削除コンテンツサーバ負荷合計値を引き、ミラー対象のコンテンツが与えると予想されるサーバ負荷を足すことで更新を行う。ただし、このステップ3526による更新処理は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0199】
次に、削除、ミラーの実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバとディスクの情報を更新する(ステップ3517)。この際、レプリカ数、配置担当サーバ数の更新も行う。また、同時にコンテンツサーバスコア、コンテンツディスクスコアの更新も行う。
【0200】
次に、ディスク状況の更新を行う(ステップ3518)。具体的には、観測ディスク負荷から、削除した分のコンテンツディスク負荷を引き、ミラーした分のコンテンツディスク負荷を足し、残余ディスク負荷も更新する処理を行う。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0201】
次に、負荷分散装置2012における管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ3519)。具体的には、ミラーをしたコンテンツについては、サーバを誘導対象のサーバリストに追加する。削除したコンテンツについては、削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0202】
以上が、配置対象選択部2032からコンテンツ配置判断部2031への指示がコンテンツのディスクへのミラーと配信担当サーバの割当の実行の場合における処理内容である。
【0203】
なお、コンテンツを具体的にいずれかのディスクに置く指示が与えられることも想定できるが、この場合は、ステップ3503で選択された候補ディスクをこの指定されたディスクとすれば良い。また、なお、コンテンツの配信担当サーバとしていずれかのサーバが特定されて指示が与えられることも想定できるが、この場合は、ステップ3508で選択された候補サーバをこの指定されたサーバとすれば良い。
【0204】
ここで、ステップ3508で選択されたサーバの配信担当から外すステップ3511におけるコンテンツの選択処理の詳細について図16を用いて順に説明する。
【0205】
削除対象選択部2033は、コンテンツアクセス指標と、コンテンツの配信担当サーバ数から算出したコンテンツサーバスコア、という数値を指標として、配信担当から外すコンテンツ(除外対象コンテンツ)を選択する。最もシンプルなコンテンツサーバスコアの定義としては、コンテンツアクセス指標を配信担当サーバ数で割った値とすることである。コンテンツサーバスコアは、コンテンツ配置状況管理装置2014で管理されている。
【0206】
まず、配信元のサーバを割当てる対象のコンテンツについては、単純に配信担当サーバ数で割るだけではなく、配信割当前(現在)の配信担当サーバ数に1加えた値で、コンテンツアクセス指標を割った、予測コンテンツサーバスコアという数値を算出する(ステップ3601)。
【0207】
初期化の手順として、空の除外対象コンテンツリストを作成し(ステップ3602)、除外可能サーバ負荷を「0」に設定する(ステップ3603)。
【0208】
次に、サーバが配信担当して割当てられているコンテンツの中から、この予測コンテンツサーバスコアよりも低いコンテンツサーバスコアを持つコンテンツを除外候補コンテンツリストに登録(ステップ3604)、そして、除外候補コンテンツリストが空でなく(ステップ3605)、かつサーバ限界負荷から観測サーバ負荷、さらにこの除外可能ディスク負荷値を引いた値(残余サーバ負荷)が、配信元サーバを割り当てようとしているコンテンツのコンテンツサーバ負荷を超えるまで(ステップ3606)、ステップ3607からステップ3609の手順により除外対象コンテンツを選択する。
【0209】
まず、その除外候補コンテンツリストの中から、最もコンテンツサーバスコアの低いものをサーバの配信担当から外す除外対象コンテンツとして選択し、除外対象コンテンツリストに追加する(ステップ3607)、そのコンテンツサーバ負荷値を除外可能ディスク負荷値に加算する(ステップ3608)。そしてこのコンテンツを除外候補から削除し(ステップ3609)、ステップ3605に戻る。
【0210】
もし、上記ステップ3605で除外候補コンテンツリストが空となれば、配信対象から除外できるコンテンツが、割当予定のサーバ上に存在しないことがコンテンツ配置判断部2031に通知される(ステップ3610)。
【0211】
また、ステップ3606で、サーバ限界負荷から観測サーバ負荷、さらにこの除外可能サーバ負荷値を引いた値が、配信割当の対象のコンテンツのコンテンツサーバ負荷を超えたと判断された場合は、配信対象から除外できるコンテンツが、割当予定のサーバ上に存在することと、その除外対象コンテンツリストがコンテンツ配置判断部2031に通知される(ステップ3611)。
【0212】
なお、上記ではコンテンツサーバスコアをコンテンツアクセス指標を配信担当サーバ数で割った値、予測コンテンツディスクスコアを配信割当前の配信サーバ数に「1」を加えた値で、コンテンツアクセス指標を割った値と定義しているが、これはそれぞれ、コンテンツ配信システム単位で集計された指標であるコンテンツアクセス指標と、配信担当サーバ数から算出される値であれば良く、上記の方法は1つのバリエーションに過ぎない。
【0213】
次に、既にミラー済みであるコンテンツの配信担当サーバの追加の処理内容について説明する。
【0214】
処理内容としては、図15で説明したコンテンツのディスクへのミラーと配信担当サーバの割当の実行における処理内容とほぼ同様である。図15における、ステップ3503からステップ3507、およびステップ3513、ステップ3514を省いた処理手順を実行すれば良い。
【0215】
次に、図17のフローチャートを参照して配信担当サーバの削減の場合の処理内容について説明する。
【0216】
コンテンツ配置判断部2031は、配信担当サーバの削減対象のコンテンツの識別子とそのクラスタ内から削減すべき削減配信担当サーバ数について配置対象選択部2032から指示を受ける(ステップ3700)。
【0217】
コンテンツ配置判断部2031は、削減元決定サーバリストを初期化(空の状態とする)し、さらに削減元サーバ数を「0」にする(ステップ3001)。そして、コンテンツ配置状況管理装置2014の管理情報を参照して、指定されたコンテンツが配信対象となっているサーバを削減候補サーバリストに登録する(ステップ3702)。
【0218】
そして、削減候補サーバリストが空になるまで(ステップ3703)、または削減元サーバ数が配置対象選択部2032から指示された削減配信担当サーバ数に達するまで(ステップ3704)、以下に述べる処理を実行する。
【0219】
まず、削減候補サーバリストの中から、1つサーバを配置サーバ選択部2034によって選択する(ステップ3705)。この際の選択方法としては、観測サーバ負荷値の最も高いサーバを選択する方法などが考えられる。
【0220】
次に、除外対象のコンテンツをこのサーバの配信対象から外す(ステップ3706)。
【0221】
そして、サーバ状況監視装置2027におけるサーバ負荷状況の更新(ステップ3707)を行う。具体的には、観測サーバ負荷から、削除した分のコンテンツサーバ負荷を引く処理を行う。ただし、この更新処理3707は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
次に、削除の実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ3708)。具体的には、配置担当から外したサーバを配置サーバのリストから削除すること、配置担当サーバ数を1つ減算すること、更新された配置担当サーバ数を用いてコンテンツディスクスコアを更新すること、といった処理を行う。
【0222】
次に、負荷分散装置2012での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ3710)。さらに、削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0223】
そして、削除元サーバ数に「1」を加え(ステップ3711)、削除候補サーバリストから選択したサーバを除き(ステップ3712)、ステップ3703以下の処理に進む。また、コンテンツの削除の指示が、サーバを指定されて行われる場合も想定されるが、この場合は、ステップ3702で作成する削除候補サーバリストに指定されたサーバだけを登録したのちに、ステップ3703以下を実行すれば良い。
【0224】
また、指定されたコンテンツを配信システム上の全てのサーバから削除されるように指示された場合は、コンテンツの配置状況をコンテンツ配置状況管理装置2014に確認し、コンテンツを配置しているサーバを抜き出し、これらをから削除候補サーバリストに指定されたサーバだけを登録したのちに、ステップ3703以下を実行すれば良い。
【0225】
次に、コンテンツの削除の指示が、削除するレプリカ数を指定された場合について、図18を用いて詳細に説明する。コンテンツの削除の指示において、削除するレプリカ数が指定された場合について、図10を用いて詳細に説明する。
【0226】
コンテンツ配置判断部2031は、削除対象のコンテンツの識別子とそのクラスタ内から削除すべき削除レプリカ数について配置対象選択部2032から指示される(ステップ3800)。コンテンツ配置判断部2031は、コンテンツ配置状況管理装置の管理情報を参照して、指定されたコンテンツのレプリカがディスクに置かれているディスクを削除候補ディスクリストに登録する(ステップ3801)。
【0227】
さらに、削除元決定ディスクリストを初期化(空の状態とする)し、さらに削除元ディスク数を「0」にする(ステップ3802)。
【0228】
そして、削除候補ディスクリストが空になるまで(ステップ3803)、または削除元ディスク数が配置対象選択部2032から指示された削除レプリカ数に達するまで(ステップ3804)、以下に述べる処理を実行する。
【0229】
まず候補サーバリストの中から、1つサーバを配置サーバ選択部2034に選択させる(ステップ3005)。この際の選択方法としては観測ディスク負荷値の最も高いサーバを選択する方法が考えられる。
【0230】
次に、削除対象のコンテンツの削除を実行する(ステップ3806)。
【0231】
そして、サーバ負荷状況の更新(ステップ3807)を行う。具体的には、削除したコンテンツのレプリカを配信対象としていたサーバの観測サーバ負荷から、削除したレプリカのコンテンツサーバ負荷を引く。ただし、このステップ3807の更新処理は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0232】
次に、削除の実行状況に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ3808)。具体的には、削除したコンテンツのレプリカを配信対象としていたサーバと削除を行ったディスクのレコードを配置サーバのリストから削除する処理、レプリカ数を1つ減算する処理、そのレプリカを配信対象としていたサーバ数を配信担当サーバ数から引く処理、更新されたレプリカ数を用いてコンテンツディスクスコアを更新する処理、更新された配信担当サーバ数を用いてコンテンツサーバスコアを更新する処理を行う。
【0233】
次に、ディスク状況の更新を行う(ステップ3809)。具体的には、観測ディスク負荷から、削除した分のコンテンツディスク負荷を引き、残余ディスク負荷も更新する処理を行う。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0234】
次に、負荷分散装置での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ3810)。削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のコンテンツ配信システムを誘導先として登録する。
【0235】
そして、削除元ディスク数に「1」を加え(ステップ3811)、削除候補ディスクリストから選択したディスクを除き(ステップ3812)、ステップ3803以下の処理に進む。
【0236】
また、コンテンツの削除の指示が、ディスクを指定して行われる場合も想定されるが、この場合は、ステップ3802で作成する削除候補ディスクリストに指定されたディスクだけを登録した後に、ステップ3803以下の処理を実行すれば良い。
【0237】
また、指定されたコンテンツを配信システム上の全てのディスクから削除されるように指示された場合は、コンテンツの配置状況をコンテンツ配置状況管理装置2014に確認し、コンテンツを配置しているディスクを全て抜き出し、これらを削除候補ディスクリストに登録した後に、ステップ3803以下の処理を実行すれば良い。
【0238】
なお、第1の実施の形態と同様に、コンテンツのミラーや削除の指示は管理端末2006から随時行うことができるものとする。このように構成することで、管理者の判断によりコンテンツ配置を実現することも可能となる。ただし、コンテンツのミラーを上記の枠組みで行うと、コンテンツディスクスコアが低いと、レプリカが作成できない可能性がある。同様に、コンテンツサーバスコアが低いと、配信担当サーバを割当できない可能性がある。ミラーを確実に行いたい場合は、コンテンツディスクスコアやコンテンツサーバスコアを十分高い値に修正した上で行う必要がある。
【0239】
本実施の形態では、ディスクが各サーバ間で共有となっているが、コンテンツアクセス指標という、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標を基にして、コンテンツ配信システム内のコンテンツのレプリカの数(レプリカ数)および配信担当サーバ数を決定すること、さらにディスクの効率的な利用のためのコンテンツのレプリカの置換えや、サーバが配信を担当するコンテンツの入れ替えを決定している点が大きな特徴である。これらの特徴により、コンテンツ配信システムにおける負荷分散やディスクの利用を、コンテンツの人気やシステムに掛ける負荷に応じて適切に配分することが可能となる。
【0240】
(第3の実施の形態)
次いで、本発明の第3の実施の形態について説明する。この第3の実施の形態によるシステムの構成は、第1または第2の実施の形態と同じである。
【0241】
第3の実施の形態では、柔軟かつ自律的なコンテンツ配置管理を行うために必要なポリシの種類やその管理方法において上記第1又は第2の実施の形態と相違する。
【0242】
上述した第1又は第2の実施の形態では、ポリシ管理装置2015に設定したコンテンツ毎のポリシに従って、コンテンツのミラー、または削除の実行の処理がアクションとして実行されていた。あるコンテンツをミラーしようとした際に、ディスクのディスク負荷がディスク限界負荷を超えると予想されると、コンテンツディスクスコアが低いものがディスクから削除されていた。
【0243】
また、第2の実施の形態においては、サーバのサーバ負荷がサーバ限界負荷を超えると予想されると、コンテンツサーバスコアの低いコンテンツに対しての配信担当サーバを削減していた。
【0244】
しかし、コンテンツによっては、ディスクからの削除や配信担当サーバ数の削減を一定期間抑制したいという場合も考えられる。このようなコンテンツ毎の特性に応じた柔軟なコンテンツ配置を実現するためには、多彩なポリシの種類が必要である。また、適用したいポリシの種類は時間と共に変化するため、適用時間の設定も可能であることが望ましい。
【0245】
一般的なコンテンツ配信システムでは、以下のような制御が自律的に行われることが望ましい。
(1)指定コンテンツは、希望期間の間、ディスクからの削除や配信担当サーバ数の削減を抑制できる。
(2)人気のあるコンテンツは、人気に応じてコンテンツ配信システム内に自律的に分散配置される。
(3)その他のコンテンツは、ディスクの効率的運用のため、システム上設定されたルールに従ってディスクからの削除や配信担当サーバ数の削減を受けることでディスクスペースを開放する。
【0246】
ここで、この第3の実施の形態においては、以下のような条件とアクションの組であるポリシを導入する。
【0247】
なお、以下に述べるポリシによる制御以外に、指定時間にレプリカを作成、または削除するといった制御を行うためのコマンドを用意し、管理者が管理端末2006から当該コマンドを用いて指示することにより、レプリカの作成と削除を行うことも可能である。
【0248】
(1)固定ポリシ:
条件:設定された期間の間、削除候補として選択されるとき
アクション:ディスクからの削除対象や配信担当サーバ数の削減対象とさせない。
【0249】
(2)新規レプリカ作成ポリシ:
条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、もしコンテンツのレプリカが配信管理システム内にない。
【0250】
アクション:レプリカを作成するための処理を実行する。
【0251】
(3)レプリカ増設ポリシ:
条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、レプリカ数を超えるとき
アクション:配信管理システム内にもう1つレプリカを作成するための処理を実行する。
【0252】
(4)レプリカ削除ポリシ:
条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき
アクション:ディスクからレプリカを設定された数だけ削除する。
【0253】
(5)レプリカ追い出しポリシ:
条件:設定された期間の間に削除候補として選択されるとき
アクション:ディスクから削除される。
【0254】
(6)新規配信担当サーバ割当ポリシ:
条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツの配信担当サーバが配信管理システム内にない
アクション:配信担当サーバを割り当てる処理を実行する。
【0255】
(7)配信担当サーバ増設ポリシ:
条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、配信担当サーバ数を超えるとき
アクション:配信管理システム内のコンテンツの配信担当サーバ数を1つ増やすための処理を実行する。
【0256】
(8)配信担当削減ポリシ:
条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき
アクション:配信担当サーバ数を設定された数だけ削減する。
【0257】
第1の実施の形態の構成の場合は、(1)〜(5)のポリシを、第2の実施の形態の構成の場合は、(1)〜(8)のポリシを、それぞれ適用することで、上記の要求を満たす制御を実現することができる。
【0258】
例えば、図19のような設定例について説明する。図19において、コンテンツAは、「2003年5月5日10:00から5月19日10:00」までは、ディスクからの削除や配信担当サーバ数の削減は禁止される。そして、「2003年5月12日10:00から5月19日10:00」の間は、コンテンツアクセス指標を設定された閾値「15」で割った値がレプリカ数を上回ると、レプリカを1つ追加するための処理が実行される。
【0259】
コンテンツBは、「2003年5月12日10:00から5月19日10:00」までは、コンテンツアクセス指標が設定された閾値「10」を上回ると、配信担当サーバを割当てる処理が実行される。そして、「2003年5月19日10:00から5月26日10:00」の間は、コンテンツアクセス指標を設定された閾値「10」で割った値がレプリカ数を上回ると、レプリカを1つ追加するための処理が実行される。さらに、同じく「2003年5月19日10:00から5月26日10:00」の間にコンテンツアクセス指標が設定された閾値「1」を下回ると、配信担当サーバ数を「1」削減する(この例では、閾値、削減数の順でパラメータとして設定されるものとしている。)
ここで、上記固定ポリシがコンテンツに設定されていない期間は、第1の実施の形態または第2の実施の形態に従って、コンテンツのディスクからの削除や配信担当サーバ数の削減は随時行えるものとする。さらに、第1の実施の形態、第2の実施の形態と同様に、コンテンツのミラーや削除の指示は管理端末2006から随時できるものとする。また、各ポリシが用いるコンテンツアクセス指標は同一の指標でも良いし、各々異なる指標でも良い。
【0260】
ポリシの種類については、上記以外にも多様な種類が存在するが、本実施の形態の本質は、以下のようなポリシを用意した上で、これらのポリシを第1の実施の形態、第2の実施の形態で示した自律的な、レプリカや配信割当サーバの増減する仕組みを利用して実行する点にある。
(1)ディスクからの削除対象や配信担当サーバ数の削減対象とさせないためのポリシ
(2)配信システムに1つ目のコンテンツの配信手段を用意するためのポリシ
(3)配信システムにコンテンツの配信手段を増やしていく際のポリシ
(4)人気がなくなった場合に、自律的に配信システムから消去するためのポリシ
なお、これらのポリシは必ずしもコンテンツ毎に行う必要はなく、コンテンツをグループ化した上で、グループ単位に設定するようにしても良い。
【0261】
(第4の実施の形態)
次いで、本発明の第4の実施の形態について説明する。この第4の実施の形態によるシステムの構成は、第1、第2、または第3の実施の形態と同じである。
【0262】
この第4の実施の形態においては、サーバ負荷やディスク負荷に応じて、柔軟かつ自律的なコンテンツ配置管理を行うために必要な管理方法を実現する。第3の実施の形態までは、コンテンツベースでのポリシ設定であったが、ここではサーバやディスクの状況に応じた、自律的なコンテンツの配置を実現する。
【0263】
まず、第4の実施の形態におけるディスクの状況に応じた自律的なコンテンツ配置について示す。
【0264】
まず、ディスク状況監視装置2027は、ディスク限界負荷を観測ディスク負荷が超えるディスクがないかどうかを監視している。ディスク限界負荷を超えたディスクがあると、最もコンテンツアクセス指標が大きなコンテンツを選択する。そして、第1の実施の形態と同じ構成の場合は、もう1つレプリカの作成する処理を図9に示される手順に従って実行する。また、第2の実施の形態と同じ構成の場合は、1つレプリカの作成する処理を図15に示される手順に従って実行する。
【0265】
次に、第4の実施の形態におけるサーバの状況に応じた自律的なコンテンツ配置について示す。
【0266】
まず、サーバ状況監視装置2027は、サーバ限界負荷を観測サーバ負荷が超えるサーバがないかどうかを監視している。サーバ限界負荷を超えたサーバがあると、最もコンテンツアクセス指標が大きなコンテンツを選択する。そして、第1の実施の形態と同じ構成の場合は、もう1つレプリカの作成する処理を図9に示される手順に従って実行する。また、第2の実施の形態と同じ構成の場合は、配信担当サーバ数を1つ増やす処理を第2の実施の形態の動作において示した処理フローに従って実行する。
【0267】
(第5の実施の形態)
次いで、本発明の第5の実施の形態について説明する。第5の実施の形態によるシステムの構成を図20に示す。
【0268】
これまでの実施の形態の構成と異なるのは、外部のコンテンツ配信システムと接続するネットワーク2005の上にサーバ4050が配置されていることである。このサーバ4050にはクラスタとは別にコンテンツを蓄積するための手段としてディスク4051が接続されている。図20に示すクラスタ2020の構成は第1の実施の形態におけるクラスタと同じ構成となっているが、第2の実施の形態での構成のような共有ディスクを持つクラスタ構成としてもよい。
【0269】
ところで、これまでの実施の形態においては、人気に応じた自律的な負荷分散が実現されていたため、人気が出たコンテンツや個別にミラーを施したコンテンツについては、配信システムのサーバからの速いレスポンス、高スループットでの配信が実現できる。しかし、人気が出たことが確認されるまで、具体的には、コンテンツアクセス指標を更新する期間の間は、配信システム上にレプリカが作成されないため、突発的にコンテンツに人気が出ても、リクエスト毎に外部のコンテンツ配信システムに誘導し、そこから配信しなければならなかった。このような状況において、速いレスポンス、高スループットで配信できるようになればより好ましい。
【0270】
この第5の実施の形態による構成とすれば、このようなコンテンツアクセス指標を更新する期間の間で人気が出たコンテンツに関しても、速いレスポンス、高スループットでの配信を実現できるようになる。
【0271】
まず、これまでの実施の形態と異なる動作として、負荷分散装置2012で、これまで外部のコンテンツ配信システムに誘導されていたリクエストがサーバ4050に誘導されるようになる点がある。
【0272】
サーバ4050は、いわゆるプロキシキャッシュサーバとして動作し、ユーザからの接続されたディスク上に保持されていないコンテンツへのリクエストを受けると外部のコンテンツ配信システムからコンテンツを取得する。取得したコンテンツは、ディスク4051に保存してから、または保存しつつ、クライアント2001〜2003に配信する。
【0273】
保持しているコンテンツに対してのリクエストは、外部のコンテンツ配信システムから取得して中継するのではなく、ディスク4051から読み出してクライアント2001〜2003に配信する。ディスク4051が一杯になった場合は、一般的なキャッシュサーバにおける置換えアルゴリズム等により、置換えを実行する。
【0274】
このように、いわゆるプロキシキャッシュとして機能を果たすサーバ4050を設置することで、コンテンツアクセス指標を更新する期間の間で人気が出たコンテンツに関しても、速いレスポンス、高スループットでの配信を実現できるようになる。
【0275】
さらに、コンテンツ配置状況管理装置2014とサーバ4050を連動させることで、ディスク4051の利用効率を向上させることができる。コンテンツアクセス指標が更新されて、設定されているポリシに従ってレプリカが作成されたコンテンツについては、それ以降はリクエストはクラスタのサーバに誘導されるようになるため、サーバ4050の方に誘導されることは無くなる。
【0276】
そのため、クラスタの方に、レプリカが作成されたことを検知すると同時に、コンテンツ配置状況管理装置2014は、そのコンテンツのディスク4051からの削除をサーバ4050に指示する。サーバ4050は、ディスク4051からそのコンテンツを削除する。
【0277】
このようにしておくことで、利用可能なディスクスペースを事前に確保できるため、コンテンツの置換え処理のオーバヘッドが削減できる。
【0278】
(第6の実施の形態)
次いで、本発明の第6の実施の形態について説明する。第6の実施の形態によるシステムの構成と動作は、第1から第4のいずれかの実施の形態の構成と動作を踏襲したものになるが、各サーバ2021〜2023がプロキシキャッシュサーバとして動作する点が異なる。それに伴い、負荷分散装置2012、コンテンツ配置制御装置2030の機能および動作が変更される。
【0279】
以下、第1の実施の形態をベースにした場合の第6の実施の形態について、図1に示す構成を参照して説明する。
【0280】
機能以外の構成については、図1に示されるように第1の実施の形態の構成と変わらない。ただし、クラスタ2020のサーバ2021、サーバ2022、サーバ2023は、プロキシキャッシュサーバとして機能する。
【0281】
プロキシサーバの機能とは、第5の実施の形態において説明したように、ユーザからのコンテンツのリクエストを受けると、接続されたディスク内に保持されていないコンテンツについては、外部のコンテンツ配信システムからコンテンツを取得する。そして取得したコンテンツを、ディスクに保存してから、または保存しつつ、クライアントに配信する。保持しているコンテンツは、ディスクから読み出してクライアントに配信する。
【0282】
第1から第4の実施の形態における負荷分散装置2012は、リクエストされたコンテンツがクラスタ内のサーバに接続されたディスクに格納されており、そのサーバから配信が可能な場合は、そこにリクエストを誘導し、そのサーバからクライアントへのコンテンツの配信を行い、リクエストされたコンテンツがクラスタ内のサーバに接続されたディスクに格納されていない、またはそのコンテンツを配信可能なサーバが存在しない場合は、外部のその他のコンテンツ配信システムにリクエストを誘導していた。
【0283】
この第6の実施の形態では、負荷分散装置2012は、コンテンツ配置制御装置2030に、誘導先の更新処理を発行し、この処理の完了を待ってから、上記第1から第4の実施の形態における動作を行うことが特徴である。
【0284】
コンテンツの配置を制御するコンテンツ配置制御装置2030は、第1から第4の実施の形態においては、アクセス状況等に基づいて、クラスタ内のサーバにレプリカ(コピー)を作成するコンテンツ、またはクラスタ内のサーバからレプリカ(コピー)を削除するコンテンツの選択した上で、コンテンツのミラー、削除の実行指示までを行う機能を持っていた。
【0285】
この第6の実施の形態では、負荷分散装置2012から、コンテンツの誘導先の更新要求を受ける機能を持つようになる。この機能と、第1から第4の実施の形態で持っていた機能とは、併用することも可能であるし、以下で示す機能のみを使うことも可能である。
【0286】
併用する場合は、以下で示す第6の実施の形態と、第1の実施の形態が並行して機能するだけであるため、以下では新規な機能について図25のフローチャートを参照して説明する。
【0287】
負荷分散装置2012は、ユーザのリクエストを誘導する際に、コンテンツ配置制御装置2030にコンテンツの誘導先の更新要求を行う。
【0288】
コンテンツ配置判断部2031は、この更新要求を受け取り、配置対象選択部2032に中継する(ステップ4500)。配置対象選択部2032は、アクセス監視装置2011からコンテンツアクセス指標を受け取り、さらにポリシ管理装置2015の管理情報を参照する。そして、配置対象選択部2032は、コンテンツの誘導先の追加が必要か否かを判断し、追加が必要な場合の追加するサーバ数を算出する(ステップ4501)。
【0289】
例えば、図7に示されるようにコンテンツAには、コンテンツアクセス指標が「200」以上でかつ、クラスタ内に存在するレプリカの数が「0」である場合には、クラスタ内のいずれかのサーバ1つにレプリカを作成するように設定されているとする。そして、図24に示されるように、コンテンツAのコンテンツアクセス指標が「300」であったとする。この時、配置対象選択部2032はコンテンツAのリクエスト誘導先とするサーバを1つ追加するように判断する。
【0290】
もし、追加が必要と判断されれば(ステップ4502)、誘導先決定サーバリストを初期化(空の状態とする)し、さらに誘導先決定サーバ数を「0」にする(ステップ4502)。
【0291】
そして、コンテンツ配置判断部2031は、サーバ状況監視装置2027の管理情報およびコンテンツ配置状況管理装置2014の管理情報を参照しながら、設定された基準に適合するサーバを候補サーバリストに登録する(ステップ4504)。ここで設定された基準の例としては、誘導先の追加対象であるコンテンツが置かれておらずかつActiveであるサーバ、等とすることが挙げられる。
【0292】
もし、追加が必要と判断されなければ、更新処理完了の通知が負荷分散装置2012に対して行われる(ステップ4531)
そして、候補サーバリストが空になるまで(ステップ4505)、または誘導先決定サーバ数が配置対象選択部2032から指示された追加数に達するまで(ステップ4506)、以下の処理を実行する。
【0293】
すなわち、候補サーバリストが空になる、または誘導先決定サーバ数が配置対象選択部2032から指示された追加数に達すると、コンテンツ配置判断部2031は、負荷分散装置2012に誘導先の更新処理完了を通知する(ステップ4521)。
【0294】
まず候補サーバリストの中から、1つサーバを配置サーバ選択部2034に選択させる(ステップ4507)。この際の選択方法としては以下のような方法がある。
【0295】
方法1:観測サーバ負荷値の最も小さいサーバを選択する。
【0296】
方法2:観測ディスク負荷値の最も小さいサーバを選択する。
【0297】
方法3:残余ディスク負荷が、ミラー対象コンテンツのコンテンツディスク負荷より大きいサーバの中から、方法1または方法2により選択する。もしコンテンツを置くだけのディスクスペースがあるサーバが無ければ、方法1または方法2のいずれかの方法でサーバを選択する。
【0298】
上記のいずれかの方法、または他の何らかのアルゴリズムに従って、サーバを選択する。
【0299】
コンテンツ配置判断部2031は、上記ステップ4505で決定されたサーバのディスク状況をディスク状況監視装置2028に、ミラー対象のコンテンツのコンテンツディスク負荷をコンテンツ配置状況管理装置2014に問い合わせる(ステップ4508)。
【0300】
そして、コンテンツをサーバに配置することで、ディスク限界負荷値を超えると予想されるかされないかによって、具体的には、観測ディスク負荷とミラー対象のコンテンツディスク負荷の合計がディスク限界負荷値を超えるか超えないかによって処理を分岐する(ステップ4509)。
【0301】
ディスク限界負荷値を超えないと予想される場合は、後述のステップ4524に進む。ディスク限界負荷値を超えると予想された場合、コンテンツ配置判断部2031は削除対象選択部2033に、削除できるコンテンツがあるかを問い合わせる(ステップ4510)。削除できるコンテンツがないと判断された場合(ステップ4511)は、後述のステップ4530以下に進む。
【0302】
削除できるコンテンツがあることを指示されると、これらコンテンツを削除をした上で誘導先の追加対象のコンテンツのレプリカをサーバに作成した後で、サーバ負荷がサーバ負荷限界値を超えることがないかの予測を行う(ステップ4512)。
【0303】
もし、サーバ負荷がサーバ負荷限界値を超えないと判断した場合は(ステップ4513)、削除対象として削除対象選択部2033が選択したコンテンツのサーバからの削除を実行する(ステップ4514)。なお、このステップ4512とステップ4513の処理は必ずしも行わなくても良い。
【0304】
そして、サーバ負荷状況の更新(ステップ4515)を行う。ただし、この更新処理であるステップ4515は必ずしも行わなくても良く、構成の説明において示したように、サーバ状況監視装置2027が、定期的に観測値を用いて更新するようにしても良い。
【0305】
次に、削除又は誘導先の追加に合わせてコンテンツ配置状況管理装置2014の管理情報である配置サーバの情報を更新する(ステップ4516)。さらにレプリカ数の更新も行う。この際、同時にコンテンツディスクスコアの更新も行う。
【0306】
次に、ディスク状況の更新を行う(ステップ4517)。なお、このディスク負荷の更新は必ずしも行わなくても良く、構成の説明において示したように、ディスク状況監視装置2028が、定期的に観測値を用いて更新するようにしても良い。
【0307】
次に、負荷分散装置2012での管理情報も更新し、コンテンツの配置状況と整合性を保つ(ステップ4518)。具体的には、誘導先決定サーバリストのサーバを誘導対象に追加する。削除したコンテンツについては、削除の実施状況に合わせて負荷分散装置2012のリクエストの誘導先のリストからレプリカを削除したサーバを削除する。もし、レプリカ数が「0」になり、コンテンツ配信システム2010上にコンテンツのレプリカが無くなった場合は、他のコンテンツ配信システム、または誘導先を決定してくれる別のシステムを誘導先として登録する。
【0308】
そして、誘導先決定サーバ数に「1」を加え(ステップ4519)、候補サーバリストから選択されたサーバを除き(ステップ4520)、ステップ4503以下の処理に進む。
【0309】
この第6の実施の形態が、第1から第5の実施の形態と大きく異なる点は、コンテンツのミラーの指示を発行するのではなく、キャッシュサーバが自律的に取得を行うようにした点である。キャッシュサーバを導入し、ユーザのリクエストを負荷分散装置で誘導することで、特に明示的に支持を出さなくても、コンテンツのミラーが自律的に行われるようになる。
【0310】
(第7の実施の形態)
次いで、本発明の第7の実施の形態について説明する。第7の実施の形態の構成は、第1から第6の実施の形態の構成のいずれのものでも良い。
【0311】
第7の実施の形態のシステムで第1から第6の実施の形態と異なる点は、コンテンツアクセス指標の管理である。
【0312】
コンテンツアクセス指標は、コンテンツに対するクライアントのリクエスト、またはそれに伴う配信実績を示す指標である。単純にこの指標を管理すると、初めてコンテンツに対してのリクエストや配信実績が発生するまで値は「0」である。このため、新たに生成されたコンテンツは、コンテンツアクセス指標が昔からあるコンテンツに比べて、人気のわりに低くなってしまう可能性がある。
【0313】
例えば、コンテンツ配信システムが起動してからのコンテンツ毎のリクエスト数をコンテンツアクセス指標として管理している場合を想定する。コンテンツAは、先週の1週間で「1000」アクセスあったが、今週はリクエストが0件であるとする。それに対して昨日生成されたコンテンツBは既に500件のアクセスがあるとする。
【0314】
この場合、単純にアクセス指標をリクエスト数の積算で管理していては、コンテンツBの方がコンテンツAより価値が無いと判断されてしまい、置き換え等の際に、コンテンツAの方が優先されてディスクに残されてしまうという問題が発生してしまう。
【0315】
このような問題を解消するためには、初めてコンテンツに対してのリクエストや配信実績が発生した際に設定するコンテンツアクセス指標の値を底上げを行えばよい。
【0316】
その底上げする値の選択法のとしては、コンテンツ配信システム内で最も小さなコンテンツアクセス指標の値を底上げ値とする、最も最近コンテンツ配信システム内のディスク上から削除されたコンテンツのコンテンツアクセス指標を底上げ値とする、最も最近コンテンツ配信システム内のサーバの配信担当から外されたコンテンツのコンテンツアクセス指標を底上げ値とする、等の方法が挙げられる。
【0317】
(第8の実施の形態)
第8の実施の形態について説明する。第8の実施の形態によるシステムの構成は、第1から第7の実施の形態の構成のいずれのものでも良い。
【0318】
第8の実施の形態で第1から第7の実施の形態と異なる点は、観測サーバ負荷の管理である。
【0319】
配信システムにおいては、システムのトラブルやメンテナンスに伴うサーバのダウンと再起動、またはシステム処理能力の増強のためのサーバの新規追加、等が起こる。この際、単純に行うと、観測サーバ負荷は初期値として「0」を取ることになる。観測サーバ負荷が低いため、一斉にこのサーバにコンテンツの配信が割り当てられる可能性がある。
【0320】
このような問題を解消するためには、サーバ負荷の初期値を底上げしてやれば良い。その底上げする値の選択法のとしては、コンテンツ配信システム内で最も小さなサーバ負荷の値を底上げ値とする等の方法が挙げられる。
【0321】
(第9の実施の形態)
第9の実施の形態について説明する。この第9の実施の形態によるシステムの構成は、第1から第8の実施の形態の構成のいずれのものでも良い。
【0322】
第9の実施の形態で第1から第8の実施の形態と異なる点は、観測ディスク負荷の管理である。
【0323】
配信システムにおいては、システムのトラブルやメンテナンスに伴うディスクの停止と復旧、またはシステム処理能力の増強のためのディスクの新規追加、等が起こる。この際、単純に行うと、観測ディスク負荷は初期値として「0」を取ることになる。観測ディスク負荷が低いため、一斉にこのディスクにコンテンツのレプリカが作成される可能性がある。
【0324】
このような問題を解消するためには、ディスク負荷の初期値を底上げしてやれば良い。その底上げする値の選択法のとしては、コンテンツ配信システム内で最も小さなディスク負荷の値を底上げ値とする等の方法が挙げられる。
【0325】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【0326】
【発明の効果】
以上説明したように本発明のコンテンツ配信システムにおけるコンテンツ配置管理システムによれば、以下に述べるような優れた効果が得られる。
【0327】
本発明の第1の効果は、コンテンツ配置管理に要するコストを大きく削減できることである。その理由は、前記アクセス監視装置の前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行うことにより、コンテンツ配信システム内でのコンテンツ配置管理を自律的に配置管理を行うためである。
【0328】
本発明の第2の効果は、ディスク等の外部記憶装置の利用効率を向上させる点にある。また、コンテンツの人気やシステムに与える負荷等に応じた配置管理を実現することでディスク等の外部記憶装置の利用効率を向上できる点にある。その理由は、サーバ単位ではなく、コンテンツ配信システム単位でのコンテンツの人気に応じた配置管理を行っているからである。
【0329】
本発明の第3の効果は、コンテンツ単位での配置管理を実現できる点にある。コンテンツ単位にポリシと呼ばれる配置管理内容を設定することでコンテンツ単位での配置管理を行なうことができる。
【0330】
本発明の第4の効果は、サーバの稼働率を上げ、予備のスタンバイ状態のサーバも不要とする点である。その理由は、複数のコンテンツ群、またはコンテンツを同一のサーバに割り当てることができるために、従来より粒度の高い負荷分散が実現できるからである。さらに、予備のサーバがなくなった場合など、負荷の低いコンテンツ群のサーバを負荷の高いコンテンツ群のサーバに割当てなおす機能があるためである。
【0331】
本発明の第5の効果は、突発的に人気が出る等により、システムに与える負荷が大きくなったコンテンツにも対応できる点である。その理由は、プロキシキャッシュサーバとコンテンツ配信システムを併用するためである。従来、他のコンテンツ配信システムへ対して行われていたリクエスト、および他のコンテンツ配信システムから行われていた配信を、プロキシキャッシュサーバとの間で行うことが可能となるため、突発的に人気が出たりシステムに与える負荷が大きくなったコンテンツにも高レスポンス、高スループットな配信が可能になる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態によるシステムの構成を示すブロック図である。
【図2】第1の実施の形態におけるサーバ状況監視装置が管理する観測サーバ負荷とサーバ限界負荷値の内容例示す図である。
【図3】第1の実施の形態におけるディスク状況監視装置が管理する観測ディスク負荷とディスク限界負荷値の内容例を示す図である。
【図4】第1の実施の形態におけるリクエスト誘導の処理を説明のためのブロック図である。
【図5】第1の実施の形態における負荷分散装置での管理情報の内容例を示す図である。
【図6】第1の実施の形態におけるコンテンツ配置状況管理装置が管理するコンテンツの管理情報の内容例を示す図である。
【図7】第1の実施の形態におけるポリシ管理装置での管理情報の内容例を示す図である。
【図8】第1の実施の形態におけるコンテンツ配置制御(ミラー)の処理内容を示すフローチャートである。
【図9】第1の実施の形態における削除対象選択の処理内容を示すフローチャートである。
【図10】第1の実施の形態におけるコンテンツ配置制御(削除)の処理内容を示すフローチャートである。
【図11】本発明の第2の実施の形態によるシステムの構成を示すブロック図である。
【図12】第2の実施の形態におけるディスク状況監視装置が管理する観測ディスク負荷とディスク限界負荷値の内容例を示す図である。
【図13】第2の実施の形態におけるコンテンツ配置状況管理装置が管理するコンテンツの管理情報の内容例を示す図である。
【図14】第2の実施の形態におけるポリシ管理装置での管理情報の内容例を示す図である。
【図15】第2の実施の形態におけるコンテンツ配置制御(ミラーとサーバ割り当て)の処理内容を示すフローチャートである。
【図16】第2の実施の形態における削除対象選択の処理内容を示すフローチャートである。
【図17】第2の実施の形態におけるコンテンツ配置制御(配信担当サーバ削減)の処理内容を示すフローチャートである。
【図18】第2の実施の形態におけるコンテンツ配置制御(削除)の処理内容を示すフローチャートである。
【図19】第3の実施の形態における条件とアクションの組であるポリシの例を示す図である。
【図20】本発明の第5の実施の形態によるシステムの構成を示すブロック図である。
【図21】第1の実施の形態における他のコンテンツシステムからの配信(PULL式)を説明するためのブロック図である。
【図22】第1の実施の形態における他のコンテンツシステムからの配信(PUSH式)を説明するためのブロック図である。
【図23】第1の実施の形態におけるコンテンツシステム内でのレプリカの作成を説明するためのブロック図である。
【図24】第1の実施の形態におけるアクセス状況監視装置が管理する管理情報の内容例を示す図である。
【図25】第6の実施の形態におけるコンテンツ配置制御(誘導先更新)の処理内容を示すフローチャートである。
【図26】従来のコンテンツ配信システムの構成図を示すブロック図である。
【図27】共有型ストレージを用いる従来のコンテンツ配信システムの構成を示すブロック図である。
【図28】従来の広域コンテンツ配信システムの構成を示すブロック図である。
【図29】従来のコンテンツ配信システムにおけるコンテンツ配置管理システムの構成を示すブロック図である。
【図30】従来のコンテンツ配置管理システムにおけるコンテンツ管理テーブルの内容例を示す図である。
【符号の説明】
2001〜2003:クライアント
2004:アクセス網
2005:ネットワーク
2006:管理端末
2010:コンテンツ配信システム
2011:アクセス監視装置
2012:負荷分散装置
2013:ローカルネットワーク
2014:コンテンツ配置状況管理装置
2015:ポリシ管理装置
2020:クラスタ
2021〜2023:サーバ
2024〜2026:ディスク
2027:サーバ状況監視装置
2028:ディスク状況監視装置
2030:コンテンツ配置制御装置
2031:コンテンツ配置判断部
2032:配置対象選択部
2033:削除対象選択部
2034:配置サーバ選択部
3120:クラスタ
3124、3125:ディスク
3140:ローカルネットワーク
4050:サーバ
4051:ディスク
Claims (41)
- コンテンツ配信システム内でのコンテンツの配置管理を行うコンテンツ配置管理システムであって、
前記コンテンツに対するクライアントからのリクエスト、当該リクエストに伴うコンテンツの配信実績、それらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理するアクセス監視装置を備え、
前記アクセス監視装置の前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行うことを特徴とするコンテンツ配置管理システム。 - 前記コンテンツ配信システム内の前記コンテンツのレプリカの数を前記コンテンツアクセス指標から算出することを特徴とする請求項1に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値を、コンテンツ毎に設定することを特徴とする請求項2に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値として、前記コンテンツ配信システム内のレプリカの数によって異なる値を前記コンテンツ毎に設定することを特徴とする請求項2または請求項3に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出することを特徴とする請求項1から請求項4の何れか1項に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値を、コンテンツ毎に設定することを特徴とする請求項5に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値として、コンテンツ配信システム内のクライアントへの配信を担当するサーバの数によって異なる値をコンテンツ毎に設定することを特徴とする請求項5または請求項6に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの許容負荷値を超えると判断された場合に、前記ディスクの負荷を軽減するために前記ディスクから削除するコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断することを特徴とする請求項1から請求項7の何れか1項に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの負荷が許容値を超えると判断され、前記ディスクの負荷を軽減するために前記所定のディスクからコンテンツのレプリカを選択して削除する場合に、
前記所定のディスク上にあるコンテンツのレプリカについては、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数で割ることでコンテンツディスクスコアなる値を算出し、
前記レプリカを作成しようとしているコンテンツについては、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数にこれからコピーを作成しようとする数を足した値で割った予測コンテンツディスクスコアなる値を算出し、
前記予測コンテンツディスクスコアより前記コンテンツディスクスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を全て削除した時に、レプリカを作成してもディスクの負荷が許容値を超えないと予想される場合、
前記コンテンツスディスクコアが低い順に、レプリカを作成してもディスクの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、前記コンテンツのレプリカの作成を行うことを特徴とする請求項1から請求項8の何れか1項に記載のコンテンツ配置管理システム。 - 前記コンテンツ配信システム内の所定のディスク上にコンテンツのレプリカを作成する際に、前記ディスクの負荷が最も低い、または残りのディスク負荷の許容値が最も大きいディスクをレプリカの作成先として選択することを特徴とする請求項9に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断することを特徴とする請求項1から請求項10の何れか1項に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する際に、
既に前記サーバに割り当て済みのコンテンツのレプリカについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数で割ることでコンテンツサーバスコアなる値を算出し、
前記レプリカを作成しようとしているコンテンツについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数に、割り当てをしようとしているサーバの数を足した値で割ることで予測コンテンツサーバスコアなる値を算出し、
前記予測コンテンツサーバスコアより前記コンテンツサーバスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を削除した結果、レプリカを作成してもサーバの負荷が許容値を超えないと予想される場合、前記コンテンツサーバスコアが低い順に、レプリカを作成しても前記サーバの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、コンテンツのレプリカの作成を行うことを特徴とする請求項1から請求項11の何れか1項に記載のコンテンツ配置管理システム。 - 前記コンテンツ配信システム内の所定のサーバをコンテンツの配信の担当として割り振る際に、サーバの負荷が最も低い、または残りのサーバ負荷の許容値が最も大きいサーバを配信の割り当て先として選択することを特徴とする請求項12に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内の複数のサーバ毎にディスクが接続されていることを特徴とする請求項1から請求項13の何れか1項に記載のコンテンツ配置管理システム。
- コンテンツ配信システム内のディスクが複数のサーバから参照可能な共有ディスクとして接続されていることを特徴とする請求項1から請求項14の何れか1項に記載のコンテンツ配置管理システム。
- コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定することを特徴とする請求項1から請求項15の何れか1項に記載のコンテンツ配置管理システム。
- 前記ポリシを、前記コンテンツ毎に設定することを特徴とする請求項16に記載のコンテンツ配置管理システム。
- 前記ポリシをコンテンツ毎に設定したポリシ管理装置と、前記コンテンツアクセス指標と前記ポリシを参照しながら、クラスタ内のサーバにコンテンツのレプリカの作成や、またはクラスタ内のサーバからレプリカの削除を実行することにより、コンテンツの配置を制御するコンテンツ配置制御装置とを備えることを特徴とする請求項16に記載のコンテンツ配置管理システム。
- コンテンツの所在情報を管理するコンテンツ配置状況管理装置を備え、
前記コンテンツ配置制御装置は、前記コンテンツ配置状況管理装置の前記コンテンツの所在情報を参照してコンテンツの配置を制御することを特徴とする請求項18に記載のコンテンツ配置管理システム。 - コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定し、
(1)固定ポリシ(条件:設定された期間の間に削除候補として選択されるとき/アクション:ディスクからの削除対象や配信担当サーバ数の削減対象とさせない)、
(2)新規レプリカ作成ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツのレプリカが配信管理システム内にない/アクション:レプリカを作成するための処理を実行する)、
(3)レプリカ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、レプリカ数を超えるとき/アクション:配信管理システム内にもう1つレプリカを作成するための処理を実行する)、
(4)レプリカ削除ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:ディスクからレプリカを設定された数だけ削除する)、
(5)レプリカ追い出しポリシ(条件:設定された期間の間に削除候補として選択される時/アクション:ディスクから削除される)、
(6)新規配信担当サーバ割当ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツの配信担当サーバが配信管理システム内にない/アクション:配信担当サーバを割り当てる処理を実行する。
(7)配信担当サーバ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、配信担当サーバ数を超えるとき/アクション:配信管理システム内のコンテンツの配信担当サーバ数を1つ増やすための処理を実行する)、
(8)配信担当削減ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:配信担当サーバ数を設定された数だけ削減する)
の何れかのポリシから選択して設定することを特徴とする請求項1から請求項19のコンテンツ配置管理システム。 - 前記コンテンツ配信システム内にプロキシキャッシュサーバを備え、一部のコンテンツの配信を前記プロキシキャッシュサーバ経由で行うことを特徴とする請求項1から請求項20の何れか1項に記載のコンテンツ配置管理システム。
- 前記コンテンツ配信システム内のサーバをプロキシキャッシュサーバとして機能させ、コンテンツのレプリカの作成や削除の指示を負荷分散装置による誘導により間接的に実行することを特徴とする請求項1から請求項20の何れか1項に記載のコンテンツ配置管理システム。
- ディスクの負荷を監視し、観測したディスク負荷がディスクの負荷の許容値を超えたディスクがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカを他のコンテンツ配信システム内に作成することを特徴とする請求項1から請求項22の何れか1項に記載のコンテンツ配置管理システム。
- サーバの負荷を監視し、観測したサーバ負荷がサーバの負荷の許容値を超えたサーバがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカの配信を担当するサーバを増やすことを特徴とする請求項1から請求項23の何れか1項に記載のコンテンツ配置管理システム。
- 初めてコンテンツに対するリクエストや配信実績が発生した際に設定されるコンテンツアクセス指標の初期値を動的に変化する基準値とすることを特徴とする請求項1から請求項24の何れか1項に記載のコンテンツ配置管理システム。
- 再起動や新規に増設されたサーバの観測サーバ負荷の初期値を、動的に変化する基準値とすることを特徴とする請求項1から請求項25の何れか1項に記載のコンテンツ配置管理システム。
- 再起動され又は新規に増設されたディスクの観測ディスク負荷の初期値を、動的に変化する基準値とすることを特徴とする請求項1から請求項26の何れか1項に記載のコンテンツ配置管理システム。
- コンピュータ上で実行され、コンテンツ配信システム内でのコンテンツの配置管理を行うコンテンツ配置管理プログラムであって、
前記コンテンツに対するクライアントからのリクエスト、当該リクエストに伴うコンテンツの配信実績、それらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理し、
前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行う機能を実行することを特徴とするコンテンツ配置管理プログラム。 - 前記コンテンツ配信システム内の前記コンテンツのレプリカの数を前記コンテンツアクセス指標から算出する機能と、
前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値として、前記コンテンツ配信システム内のレプリカの数によって異なる値を前記コンテンツ毎に設定する機能を有することを特徴とする請求項28に記載のコンテンツ配置管理プログラム。 - 前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する機能と、
前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値として、コンテンツ配信システム内のクライアントへの配信を担当するサーバの数によって異なる値をコンテンツ毎に設定する機能を有することを特徴とする請求項28に記載のコンテンツ配置管理プログラム。 - 前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの許容負荷値を超えると判断された場合に、前記ディスクの負荷を軽減するために前記ディスクから削除するコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する機能を有することを特徴とする請求項28から請求項30の何れか1項に記載のコンテンツ配置管理プログラム。
- 前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの負荷が許容値を超えると判断され、前記ディスクの負荷を軽減するために前記所定のディスクからコンテンツのレプリカを選択して削除する場合に、
前記所定のディスク上にあるコンテンツのレプリカについては、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数で割ることでコンテンツディスクスコアなる値を算出する機能と、
前記レプリカを作成しようとしているコンテンツについては、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数にこれからコピーを作成しようとする数を足した値で割った予測コンテンツディスクスコアなる値を算出する機能と、
前記予測コンテンツディスクスコアより前記コンテンツディスクスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を全て削除した時に、レプリカを作成してもディスクの負荷が許容値を超えないと予想される場合、
前記コンテンツスディスクコアが低い順に、レプリカを作成してもディスクの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、前記コンテンツのレプリカの作成を行う機能を有することを特徴とする請求項28から請求項31の何れか1項に記載のコンテンツ配置管理プログラム。 - 前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する機能を有することを特徴とする請求項28から請求項32の何れか1項に記載のコンテンツ配置管理プログラム。
- 前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する際に、
既に前記サーバに割り当て済みのコンテンツのレプリカについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数で割ることでコンテンツサーバスコアなる値を算出する機能と、
前記レプリカを作成しようとしているコンテンツについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数に、割り当てをしようとしているサーバの数を足した値で割ることで予測コンテンツサーバスコアなる値を算出する機能と、
前記予測コンテンツサーバスコアより前記コンテンツサーバスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を削除した結果、レプリカを作成してもサーバの負荷が許容値を超えないと予想される場合、前記コンテンツサーバスコアが低い順に、レプリカを作成しても前記サーバの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、コンテンツのレプリカの作成を行う機能を有することを特徴とする請求項28から請求項33の何れか1項に記載のコンテンツ配置管理プログラム。 - 前記コンテンツ配信システム内の所定のサーバをコンテンツの配信の担当として割り振る際に、サーバの負荷が最も低い、または残りのサーバ負荷の許容値が最も大きいサーバを配信の割り当て先として選択する機能を有することを特徴とする請求項34に記載のコンテンツ配置管理プログラム。
- コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして前記コンテンツ毎に設定する機能を有することを特徴とする請求項28から請求項35の何れか1項に記載のコンテンツ配置管理プログラム。
- コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定し、
(1)固定ポリシ(条件:設定された期間の間に削除候補として選択されるとき/アクション:ディスクからの削除対象や配信担当サーバ数の削減対象とさせない)、
(2)新規レプリカ作成ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツのレプリカが配信管理システム内にない/アクション:レプリカを作成するための処理を実行する)、
(3)レプリカ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、レプリカ数を超えるとき/アクション:配信管理システム内にもう1つレプリカを作成するための処理を実行する)、
(4)レプリカ削除ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:ディスクからレプリカを設定された数だけ削除する)、
(5)新規配信担当サーバ割当ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツの配信担当サーバが配信管理システム内にない/アクション:配信担当サーバを割り当てる処理を実行する。
(6)配信担当サーバ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、配信担当サーバ数を超えるとき/アクション:配信管理システム内のコンテンツの配信担当サーバ数を1つ増やすための処理を実行する)、
(7)配信担当削減ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:配信担当サーバ数を設定された数だけ削減する)
の何れかのポリシから選択して設定する機能を有することを特徴とする請求項28から請求項36のコンテンツ配置管理プログラム。 - 前記コンテンツ配信システム内にプロキシキャッシュサーバを備え、一部のコンテンツの配信を前記プロキシキャッシュサーバ経由で行うことを特徴とする請求項28から請求項37の何れか1項に記載のコンテンツ配置管理プログラム。
- 前記コンテンツ配信システム内のサーバをプロキシキャッシュサーバとして機能させ、コンテンツのレプリカの作成や削除の指示を負荷分散装置による誘導により間接的に実行することを特徴とする請求項28から請求項37の何れか1項に記載のコンテンツ配置管理プログラム。
- ディスクの負荷を監視し、観測したディスク負荷がディスクの負荷の許容値を超えたディスクがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカを他のコンテンツ配信システム内に作成することを特徴とする請求項28から請求項39の何れか1項に記載のコンテンツ配置管理プログラム。
- サーバの負荷を監視し、観測したサーバ負荷がサーバの負荷の許容値を超えたサーバがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカの配信を担当するサーバを増やすことを特徴とする請求項28から請求項40の何れか1項に記載のコンテンツ配置管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003196324A JP2005031987A (ja) | 2003-07-14 | 2003-07-14 | コンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003196324A JP2005031987A (ja) | 2003-07-14 | 2003-07-14 | コンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005031987A true JP2005031987A (ja) | 2005-02-03 |
Family
ID=34206857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003196324A Withdrawn JP2005031987A (ja) | 2003-07-14 | 2003-07-14 | コンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005031987A (ja) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007065714A (ja) * | 2005-08-29 | 2007-03-15 | Nippon Telegr & Teleph Corp <Ntt> | ピュアー型p2p通信における動的レプリカ制御方法およびそれを具備した装置、ならびにそのプログラム |
JP2008140184A (ja) * | 2006-12-01 | 2008-06-19 | Fujitsu Ltd | データセンタ、キャッシュサーバ及び方法 |
JP2008205781A (ja) * | 2007-02-20 | 2008-09-04 | Fujitsu Ltd | コンテンツの配信方法及びシステム |
JP2009003680A (ja) * | 2007-06-21 | 2009-01-08 | Nec Corp | データ転送システム、データ転送方法、及びデータ転送用プログラム |
JP2009200606A (ja) * | 2008-02-19 | 2009-09-03 | Kddi Corp | コンテンツ配信制御装置及びコンピュータプログラム |
JP2010009449A (ja) * | 2008-06-30 | 2010-01-14 | Nec Corp | 分散情報配置システム |
WO2010024228A1 (ja) * | 2008-08-25 | 2010-03-04 | 日本電気株式会社 | コンテンツ配信システム |
JP2011070567A (ja) * | 2009-09-28 | 2011-04-07 | Nec Corp | コンテンツ配置替システム、コンテンツ配信システム、コンテンツ配置替方法およびプログラム |
KR101028639B1 (ko) * | 2002-02-14 | 2011-04-11 | 레벨 3 시디엔 인터내셔널 | 관리된 객체 복제 및 전달 |
JP2011518376A (ja) * | 2008-03-31 | 2011-06-23 | アマゾン テクノロジーズ インコーポレーテッド | コンテンツ管理するための方法とシステム |
JP2011170640A (ja) * | 2010-02-18 | 2011-09-01 | Nec Corp | キャッシュサーバ制御装置、コンテンツ配信システム、コンテンツ配信方法、及びプログラム |
JP2012175298A (ja) * | 2011-02-18 | 2012-09-10 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ配信方法、中継装置及びコンテンツ配信システム |
JP2012203629A (ja) * | 2011-03-25 | 2012-10-22 | Kddi Corp | コンテンツ分散管理システム |
JP2012212208A (ja) * | 2011-03-30 | 2012-11-01 | Brother Ind Ltd | 情報処理装置、情報処理方法及びプログラム |
WO2013035796A1 (ja) * | 2011-09-07 | 2013-03-14 | 日本電気株式会社 | コンテンツ配信システム、制御装置およびコンテンツ配信方法 |
WO2013069652A1 (en) * | 2011-11-07 | 2013-05-16 | Square Enix Holdings Co., Ltd. | Management apparatus and control method of management apparatus |
WO2013094157A1 (ja) * | 2011-12-19 | 2013-06-27 | 日本電気株式会社 | キャッシュ装置、通信方法、およびプログラム |
JP2015095246A (ja) * | 2013-11-14 | 2015-05-18 | 日本電信電話株式会社 | 情報処理システム、管理装置、サーバ装置及びキー割当プログラム |
US9829954B2 (en) | 2013-03-21 | 2017-11-28 | Fujitsu Limited | Autonomous distributed cache allocation control system |
JP2018524656A (ja) * | 2015-04-30 | 2018-08-30 | ネットフリックス・インコーポレイテッドNetflix, Inc. | 階層化キャッシュフィル |
JP2020181474A (ja) * | 2019-04-26 | 2020-11-05 | 富士通株式会社 | 情報処理装置、分散処理システム及び分散処理プログラム |
WO2025004678A1 (ja) * | 2023-06-30 | 2025-01-02 | 富士フイルム株式会社 | 画像データ配信装置、方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1198446A (ja) * | 1997-09-18 | 1999-04-09 | Fujitsu Ltd | ビデオサーバシステム、コンテンツ動的配置方法及びデータ送出装置 |
JP2002259354A (ja) * | 2001-03-01 | 2002-09-13 | Hitachi Ltd | ネットワークシステム及び負荷分散方法 |
JP2003067279A (ja) * | 2001-08-28 | 2003-03-07 | Nec Corp | コンテンツ動的ミラーリングシステム、 |
JP2003122658A (ja) * | 2001-10-11 | 2003-04-25 | Hitachi Ltd | データ配送方法 |
-
2003
- 2003-07-14 JP JP2003196324A patent/JP2005031987A/ja not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1198446A (ja) * | 1997-09-18 | 1999-04-09 | Fujitsu Ltd | ビデオサーバシステム、コンテンツ動的配置方法及びデータ送出装置 |
JP2002259354A (ja) * | 2001-03-01 | 2002-09-13 | Hitachi Ltd | ネットワークシステム及び負荷分散方法 |
JP2003067279A (ja) * | 2001-08-28 | 2003-03-07 | Nec Corp | コンテンツ動的ミラーリングシステム、 |
JP2003122658A (ja) * | 2001-10-11 | 2003-04-25 | Hitachi Ltd | データ配送方法 |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101028639B1 (ko) * | 2002-02-14 | 2011-04-11 | 레벨 3 시디엔 인터내셔널 | 관리된 객체 복제 및 전달 |
JP2007065714A (ja) * | 2005-08-29 | 2007-03-15 | Nippon Telegr & Teleph Corp <Ntt> | ピュアー型p2p通信における動的レプリカ制御方法およびそれを具備した装置、ならびにそのプログラム |
JP2008140184A (ja) * | 2006-12-01 | 2008-06-19 | Fujitsu Ltd | データセンタ、キャッシュサーバ及び方法 |
JP2008205781A (ja) * | 2007-02-20 | 2008-09-04 | Fujitsu Ltd | コンテンツの配信方法及びシステム |
JP2009003680A (ja) * | 2007-06-21 | 2009-01-08 | Nec Corp | データ転送システム、データ転送方法、及びデータ転送用プログラム |
JP2009200606A (ja) * | 2008-02-19 | 2009-09-03 | Kddi Corp | コンテンツ配信制御装置及びコンピュータプログラム |
JP2011518376A (ja) * | 2008-03-31 | 2011-06-23 | アマゾン テクノロジーズ インコーポレーテッド | コンテンツ管理するための方法とシステム |
JP2010009449A (ja) * | 2008-06-30 | 2010-01-14 | Nec Corp | 分散情報配置システム |
WO2010024228A1 (ja) * | 2008-08-25 | 2010-03-04 | 日本電気株式会社 | コンテンツ配信システム |
US8423593B2 (en) | 2008-08-25 | 2013-04-16 | Nec Corporation | Content distribution system |
CN102124751A (zh) * | 2008-08-25 | 2011-07-13 | 日本电气株式会社 | 内容分发系统 |
JP2011070567A (ja) * | 2009-09-28 | 2011-04-07 | Nec Corp | コンテンツ配置替システム、コンテンツ配信システム、コンテンツ配置替方法およびプログラム |
JP2011170640A (ja) * | 2010-02-18 | 2011-09-01 | Nec Corp | キャッシュサーバ制御装置、コンテンツ配信システム、コンテンツ配信方法、及びプログラム |
JP2012175298A (ja) * | 2011-02-18 | 2012-09-10 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ配信方法、中継装置及びコンテンツ配信システム |
JP2012203629A (ja) * | 2011-03-25 | 2012-10-22 | Kddi Corp | コンテンツ分散管理システム |
JP2012212208A (ja) * | 2011-03-30 | 2012-11-01 | Brother Ind Ltd | 情報処理装置、情報処理方法及びプログラム |
WO2013035796A1 (ja) * | 2011-09-07 | 2013-03-14 | 日本電気株式会社 | コンテンツ配信システム、制御装置およびコンテンツ配信方法 |
JPWO2013035796A1 (ja) * | 2011-09-07 | 2015-03-23 | 日本電気株式会社 | コンテンツ配信システム、制御装置およびコンテンツ配信方法 |
US9240998B2 (en) | 2011-11-07 | 2016-01-19 | Shinra Technologies, Inc. | Management apparatus and control method of management apparatus |
WO2013069652A1 (en) * | 2011-11-07 | 2013-05-16 | Square Enix Holdings Co., Ltd. | Management apparatus and control method of management apparatus |
JP2013101584A (ja) * | 2011-11-07 | 2013-05-23 | Square Enix Holdings Co Ltd | 管理装置、管理装置の制御方法 |
WO2013094157A1 (ja) * | 2011-12-19 | 2013-06-27 | 日本電気株式会社 | キャッシュ装置、通信方法、およびプログラム |
US9829954B2 (en) | 2013-03-21 | 2017-11-28 | Fujitsu Limited | Autonomous distributed cache allocation control system |
JP2015095246A (ja) * | 2013-11-14 | 2015-05-18 | 日本電信電話株式会社 | 情報処理システム、管理装置、サーバ装置及びキー割当プログラム |
JP2018524656A (ja) * | 2015-04-30 | 2018-08-30 | ネットフリックス・インコーポレイテッドNetflix, Inc. | 階層化キャッシュフィル |
US11010341B2 (en) | 2015-04-30 | 2021-05-18 | Netflix, Inc. | Tiered cache filling |
US11675740B2 (en) | 2015-04-30 | 2023-06-13 | Netflix, Inc. | Tiered cache filling |
JP2020181474A (ja) * | 2019-04-26 | 2020-11-05 | 富士通株式会社 | 情報処理装置、分散処理システム及び分散処理プログラム |
JP7192645B2 (ja) | 2019-04-26 | 2022-12-20 | 富士通株式会社 | 情報処理装置、分散処理システム及び分散処理プログラム |
WO2025004678A1 (ja) * | 2023-06-30 | 2025-01-02 | 富士フイルム株式会社 | 画像データ配信装置、方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005031987A (ja) | コンテンツ配信システムにおけるコンテンツ配置管理システム及びコンテンツ配置管理プログラム | |
US11237871B1 (en) | Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems | |
US11431791B2 (en) | Content delivery method, virtual server management method, cloud platform, and system | |
JP5119077B2 (ja) | 仮想サーバリソース調整システム、リソース調整装置、仮想サーバリソース調整方法、及び、コンピュータプログラム | |
US10579272B2 (en) | Workload aware storage platform | |
JP4681615B2 (ja) | ノードのワークロードの分割 | |
CN104065568B (zh) | 一种Web服务器集群的路由方法 | |
US20150074222A1 (en) | Method and apparatus for load balancing and dynamic scaling for low delay two-tier distributed cache storage system | |
CN105049268A (zh) | 分布式计算资源分配系统和任务处理方法 | |
CN102571772A (zh) | 一种元数据服务器热点均衡方法 | |
JP2010102464A (ja) | 計算機システムおよび計算機システムにおける複製作成方法 | |
KR101236477B1 (ko) | 비대칭 클러스터 파일 시스템의 데이터 처리 방법 | |
WO2017075967A1 (zh) | 在线媒体服务的带宽分配方法及系统 | |
WO2023216571A1 (zh) | 弹性搜索集群的资源调度方法、装置及系统 | |
US9760405B2 (en) | Defining enforcing and governing performance goals of a distributed caching infrastructure | |
CN114844912B (zh) | 数据链路分配方法、装置及分布式块存储系统 | |
Jayalakshmi et al. | Dynamic data replication strategy in cloud environments | |
KR101690944B1 (ko) | 이종 컴퓨터 환경에서 부하 분산을 고려한 분산 캐시 관리 방법 및 장치 | |
JP3672483B2 (ja) | コンテンツ配信装置、コンテンツ配信方法、コンテンツ配信プログラムを記録した記録媒体 | |
CN117041258B (zh) | 一种bim工程信息管理系统 | |
CN105897456A (zh) | 内容分发方法及系统 | |
JP2014203329A (ja) | ストレージシステム、ノード装置及びデータ管理方法 | |
US12361017B2 (en) | Nodal redundancy storage decisions | |
JP5790501B2 (ja) | データ供給装置、システム、及び方法、及びコンピュータプログラム | |
CN120255827A (zh) | 数据副本的存储方法、系统、介质、电子设备及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090615 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100419 |