JP2005031987A - Content layout management system and content layout management program for content delivery system - Google Patents

Content layout management system and content layout management program for content delivery system Download PDF

Info

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
Application number
JP2003196324A
Other languages
Japanese (ja)
Inventor
Toshiyasu Kurasugi
俊康 蔵杉
Akira Kobayashi
昭 小林
Shinji Nakadai
慎二 中台
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003196324A priority Critical patent/JP2005031987A/en
Publication of JP2005031987A publication Critical patent/JP2005031987A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a content layout management system for a content delivery system capable of reducing the management cost required for the layout management of contents by autonomously performing the layout management of the contents within the content delivery system. <P>SOLUTION: This device comprises an access monitoring device 2011 for managing a content access index that is a request from a client to which a content is delivered or the result of the delivery on a content delivery system basis. Based on the content access index that is an index showing the access state to the contents managed on the content delivery system basis, the layout of contents is autonomously determined and executed on the content delivery system basis. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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:ディスク
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a content arrangement management system and a content arrangement management method for autonomously arranging contents in a content distribution system connected to a wide area in a computer network.
[0002]
[Prior art]
In a computer network, a content distribution server that distributes content to clients is connected to a plurality of clients that receive the content via the network. For this reason, the content distribution server described above may receive connection requests from a plurality of clients at the same time, or may distribute contents to a plurality of clients at the same time. However, when the content distribution server does not have sufficient processing capability as a computer that responds to a request from the client or content distribution capability, the quality of the content received by the client deteriorates.
[0003]
Specifically, response time degradation, video disturbance, and the like can be mentioned. Furthermore, when the load such as the connection request processing or content distribution described above is further increased, content distribution may be stopped. Note that the contents here refer to all objects accessed from the user through the network. Specific examples include, but are not limited to, Web documents and images, video and audio streaming data, general data files, programs executed in response to requests from clients, and the like. is not.
[0004]
In order to cope with these situations, as shown in FIG. 26, a plurality of content distribution servers 103 to 107 are prepared, and a method of distributing loads from the clients 109 to 111 is often employed. A server group composed of a plurality of servers is called a cluster 102. In addition, a content distribution server that requires a system administrator to explicitly place a copy of a content on multiple servers is called a mirror server. As a result of relaying the content requested by the client, the copy content is passively stored. This server is called a cache server. The content copied by the system administrator or the content copied as a result is called a replica. 26, in the content distribution system 112, a plurality of content distribution servers 103 to 107 constitute a cluster 202, and a plurality of clients 109 to 111 connected to the network 113 are connected to the content via the load balancer 101. Connected to distribution servers 103-107.
[0005]
A device that allocates requests from the clients 109 to 111 to each mirror server or cache server is called a load balancer 101 (or load balancer). Such a group of content distribution apparatuses including the cluster 102, the load distribution apparatus 101, and the like is referred to as a content distribution system 112.
[0006]
Each content distribution server is connected to a network such as NAS or SAN as shown in FIG. 27 in addition to the configuration as shown in FIG. 26 provided with an external storage device for storing content. There are also configurations using shared storage. 27, in this content distribution system 212, content distribution servers 203 to 207 and shared storages 213 and 214 are connected by a network 215 to form a cluster 202. A plurality of clients 209 to 211 connected to the network 208 are connected to the content distribution servers 203 to 207 via the load balancer 201.
[0007]
The load distribution within the content distribution system 112 described above is load distribution within a geographically close region. Therefore, when a client geographically far from the content distribution system receives distribution, the response time is delayed. In order to cope with such geographical distribution of distribution requests, a plurality of content distribution systems are geographically distributed. The plurality of content distribution systems are connected via a network to form a wide area content distribution system.
[0008]
FIG. 28 shows a load distribution configuration in the wide area content distribution system. Here, content replication is performed between the plurality of content distribution systems 307 to 310. In this wide area content distribution system, a content request from a client is guided to one of the content distribution systems. At that time, the content request can be first guided to the content distribution system closest to the client. However, when the content does not exist in the nearest content distribution system, it is guided to another content distribution system. In FIG. 28, in the wide area content distribution system 320, a plurality of content distribution systems 301 to 305 are configured by clusters 301B to 305B and load distribution apparatuses 301A to 305A, respectively, and a plurality of clients 314 to 316 are connected to the network 312. A plurality of clients 317 to 319 are connected to the wide area content distribution system via the network 313.
[0009]
In the content distribution system and the wide area content distribution system described above, the performance of the system varies greatly depending on the content replica arrangement method. However, the optimum content distribution method and content arrangement method for the load distribution system in the content distribution system and the wide area load distribution system are different. In the wide area load distribution system as shown in FIG. 28, in consideration of the limited network bandwidth in the network including the content distribution systems 301 to 305 as the bases and the clients 314 to 319 and the complexity of the network topology, It is determined whether it is optimal to place content in the content distribution system.
[0010]
On the other hand, in a content distribution system having a sufficient network bandwidth and a known topology, content arrangement optimization for the purpose of load distribution of the server and disk device is performed. For this reason, it is necessary to perform the arrangement in consideration of the distribution performance of the content distribution server, the finite storage capacity such as the hard disks or RAIDs included in the clusters 301B to 305B, the limit throughput, and the like together with the request guidance method for load distribution.
[0011]
In many content distribution systems, a plurality of different contents are arranged, and the access frequency from the client differs depending on the contents. That is, the content distribution system includes popular content and content that is not. If these individual contents are placed in the content distribution system without discrimination, the server's distribution performance will reach the limit for popular contents, and the client may experience quality degradation. Occur. Or a lot of disk space may be occupied by unpopular content. Therefore, it is important for the content arrangement method in the content distribution system to consider the load distribution and the popularity of the content.
[0012]
As a content arrangement management method in a wide area load distribution system considering content popularity, for example, there is a method described in Japanese Patent Laid-Open No. 2001-67377 (Patent Document 1). This reserves resources based on the prediction of the usage status of computer resources, and manages the arrangement of contents within the content distribution system. Also, the document “A dynamic object replication and migration protocol for an Internet hosting service,” (Distributed Computing Systems, 1999. Proceedings. The content arrangement is determined according to the popularity of the contents, but it relates to a content arrangement management method in the wide area load distribution as in the above publication.
[0013]
Next, a content arrangement management method in the load distribution system in the content distribution system considering content popularity will be described. This method differs depending on whether the server constituting the cluster is a mirror server or a cache server. As a method of performing arrangement according to the popularity of content using a mirror server, there is a method in which a content distribution system administrator explicitly performs it. In other words, this is a method of arranging content through human judgment, but this increases system management costs. Furthermore, when the content to be placed on the mirror server increases and sufficient capacity is not secured for the finite disk capacity that the mirror server has, the system administrator explicitly needs little like the content placement. The replica needs to be deleted. This imposes a heavy burden on the administrator, which increases the management cost.
[0014]
On the other hand, in a system using both a cache server and a load balancer, there is no need for an administrator to explicitly place content. However, since the request from the client is automatically and fairly distributed to each cache server by the load balancer, almost the same content exists in all the cache servers. This leads to inefficiency of the external storage device of the cache server. This is because the capacity of the external storage device is saved if the content handled by each server is different while the load balancer allocates a request from a client to the server.
[0015]
Furthermore, the fact that content is automatically arranged means that the arrangement reflecting the administrator's policy becomes impossible. Furthermore, when the disk capacity of the cache server approaches the capacity limit due to an increase in content, the content is deleted by a deletion algorithm such as LRU (Least-Recently-Used) or LFU (Least-Frequency-Used). This is performed only for each server, and content replica deletion is not performed after monitoring the content arrangement status of the entire cluster.
[0016]
In a load distribution system in a content distribution system using a mirror server, the popularity of content (for example, the number of requests and the number of distribution results) and the load that the content gives to the system accompanying the distribution (for example, the average number of simultaneous distributions, the server distributes the content) In order to perform content arrangement according to the average number of bits output for the purpose, the system administrator needs to explicitly determine the arrangement of the content.
[0017]
As a content arrangement management system that does not need to be explicitly performed, there is a method described in Japanese Patent Laid-Open No. 2002-259354 (Patent Document 2), which manages the arrangement of contents to be distributed on a server basis. .
[0018]
FIG. 29 shows an outline of this system. The load such as the number of accesses to each of the mirror servers 403 to 407 is monitored by the control server 416, and the load balancer 401 allocates a request from the client to the mirror servers 403 to 407 in response to the reference result of the control server 416. The unit of the monitored and managed content is a content group in which a plurality of contents are grouped. In addition, the unit in which the content group is arranged is a server unit. Therefore, when the load on the content group increases, the load is distributed by increasing or decreasing the number of servers. FIG. 30 shows a correspondence table between the content group 501 and the server 502 in charge of distribution thereof. Although each content type can be arranged in a plurality of servers, it is difficult to allocate in units of contents as shown in FIG. 30 and to arrange a plurality of contents on the same server.
[0019]
This can be said to be load distribution in units of servers in charge of distribution of content groups. In addition, it is necessary to prepare servers necessary for dealing with the increase / decrease of the load from the normal time. This means that an inactive spare server is prepared, which leads to a reduction in the operation rate. Further, this method does not have a function of automatically reducing the number of content replicas when the capacity of the external storage device reaches the limit. Further, when there is no spare server, there is no function to reassign a server of a content group with a low load to a server of a content group with a high load. Furthermore, it is impossible to introduce a different management policy for each content.
[0020]
In the method described in Japanese Patent Laid-Open No. 2001-27965 (Patent Document 3), contents are managed in units of directories, and further, the method described in Japanese Patent Laid-Open No. 2002-63064 (Patent Document 4). Then, content management in directory units is autonomously performed by policy control. Here, control such as improving the hit rate is performed by automatically switching the replacement policy applied to the directory and automatically adjusting the allocation capacity between the parameters. However, policy management has not been attempted with respect to an arrangement policy for each content such as the addition of replicas for each content or behavior at the time of competition, and it cannot be said that this is a method for realizing content arrangement according to popularity.
[0021]
[Patent Document 1]
JP 2001-67377 A
[Patent Document 2]
JP 2002-259354 A
[Patent Document 3]
JP 2001-27965 A
[Patent Document 4]
JP 2002-63064 A
[Non-Patent Document 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]
[Problems to be solved by the invention]
The method described in Patent Document 1 is a content placement management method in a wide area load distribution system, and does not touch the placement management method in the content distribution system. For this reason, another content arrangement management method is required in the content distribution system.
[0023]
The method described in Patent Document 2 is a content arrangement management method for load distribution in a content distribution system, but is a content group in which a unit for disk management is set for each content provider. Furthermore, the allocation destination is a server unit. For this reason, there is no mechanism for assigning a plurality of content groups to the same server. Further, when there is no spare server, there is no function to reassign a server of a content group with a low load to a server of a content group with a high load. These will lead to a reduction in availability. There is no means for deleting a replica when the disk capacity of the mirror server reaches its limit. Therefore, a large disk capacity is required.
[0024]
Furthermore, in the methods described in Patent Document 3 and Patent Document 4, content arrangement management is performed in units of directories. This is also not arranged according to popularity in content units. Since the user shows interest in content units, it is desirable to realize an arrangement method in content units, not server units or directory units. In addition, when the number of accesses from clients increases and replicas are generated on the cache server or mirror server, the server's disk capacity limit is reached, so conventionally, replica deletion management that has been determined on a server basis is performed. Therefore, replica deletion management that was determined in cluster units was not performed.
[0025]
The present invention performs content arrangement management based on the popularity of content in units of content. There, the system administrator sets the policy so that the content is autonomously placed on the optimal server. In addition, when the disk capacity of the server reaches the limit, eviction between contents is performed, so the system administrator does not need to consider the disk capacity limit. Conventionally, there has been no method for simultaneously realizing the functions such as content allocation management according to the above-mentioned popularity, allocation management in units of content, and eviction in consideration of server disk capacity.
[0026]
The problems in the prior art described above are summarized as follows.
[0027]
The first problem is that in the content arrangement management method in the content distribution system using a mirror server, the system administrator needs to explicitly determine the content arrangement.
[0028]
This is because the expense and labor cost paid to the system administrator who performs content arrangement management are large, leading to an increase in system cost. In order to solve this, it is necessary to introduce a mechanism for autonomously managing the arrangement.
[0029]
The second problem is that in the content distribution management method in the content distribution system using the cache server, it is impossible to manage the arrangement according to the popularity of the content, and the use efficiency of the external storage device such as a disk is lowered. It is in. In addition, content may be deleted when the amount of content stored in the cache server increases and the disk capacity limit is exceeded. However, content is deleted from all cache servers almost at the same time. There is also a problem that the number of contents cannot be arranged.
[0030]
The reason is that when the load balancer distributes a request from a client to a cache server, the content is distributed for the purpose of making the server load uniform, such as a round robin algorithm, so that a replica of the content is generated on all cache servers. It is. It is necessary to manage the arrangement according to the popularity of content not in cache servers but in content distribution systems. By managing the arrangement in units of content distribution systems, it is possible to delete unpopular content first when the popularity among a plurality of content differs.
[0031]
The third problem is that, conventionally, content placement management is performed in units of content groups or directories, and placement management in units of content cannot be performed by introducing a policy in units of content.
[0032]
The reason for this is that using a management unit that includes multiple contents such as content groups and directory groups means that content with various attributes and contents with different popularity are placed together, and discs are used for content that is not popular. Causes a decrease in disk utilization efficiency resulting from the fact that the disk is occupied. In general, it is the content unit that the user is interested in. Therefore, concentration of access should be performed on a content basis. In addition, it is important to provide a policy for each content unit because different attributes exist for each content unit. For example, since news and movies have different attributes, it is necessary to set a policy in consideration of priority, viewable time, etc. for each content.
[0033]
The fourth problem is that in the conventional method, the operating rate of the server is low or it is necessary to prepare a spare standby server. This problem is due to the fact that the unit for managing the arrangement on the disk is a group of contents grouped by a content provider or the like, and the allocation destination is a server unit. Since there is no mechanism for assigning a plurality of content groups or content to the same server, the granularity of load distribution becomes coarse. Therefore, it is necessary to prepare a relatively large number of servers. Further, when there is no spare server, there is no function to reassign a server of a content group with a low load to a server of a content group with a high load. These things cause a reduction in the availability rate of the server. In order to solve this problem, the unit for managing the arrangement on the disc should be a finer unit such as content, a plurality of content groups, or a mechanism for allocating content to the same server, content with low load It is necessary to introduce a mechanism for reassigning a group of servers to a server of a content group with a high load.
[0034]
A fifth problem is that a conventional content distribution system does not have a function that can cope with suddenly popular content.
[0035]
The reason for this is that, in the content arrangement control method using a policy, there is a certain time until the optimum arrangement state is reached based on the state when the number of accesses or the like is monitored. If access concentrates on the content in the meantime, content will be delivered from other content delivery systems. In this case, the response will be slow, causing network congestion with other content delivery systems. There is a risk of causing problems such as. However, the methods using the conventional cache server cannot solve the first to fourth problems. There is a need to construct a system that incorporates both a mechanism for solving the first to fourth problems and a mechanism that can cope with suddenly popular content.
[0036]
OBJECT OF THE INVENTION
A first object of the present invention is to perform content arrangement management in a content distribution system autonomously, thereby reducing a management cost required for content arrangement management, and a content arrangement management system and content arrangement management in a content distribution system To propose a program.
[0037]
The second object of the present invention is to arrange or delete content according to conditions set for each content such as popularity of the content, so that a limited number of discs of the content distribution system can be used. The object is to propose a content arrangement management system and a content arrangement management program in a content distribution system that improves the use efficiency.
[0038]
A third object of the present invention is to propose a content arrangement management system and a content arrangement management program in a content distribution system that introduces a policy in units of contents and realizes autonomous arrangement in units of contents.
[0039]
A fourth object of the present invention is to propose a content arrangement management system and a content arrangement management program in a content distribution system that increases the operating rate of a server and eliminates the need for a standby server.
[0040]
A fifth object of the present invention is to provide a content arrangement management system in a content distribution system that achieves the first to fourth objects and at the same time realizes high-response and high-throughput distribution for suddenly popular content, and It is to propose a content arrangement management program.
[0041]
[Means for Solving the Problems]
The present invention that achieves the above object is a content placement management system that manages the placement of content in a content delivery system, and requests from the client for the content, the delivery results of the content accompanying the request, and conversion from them A content access index, which is an index indicating the load of the content to be applied to the system, for each content distribution system, and a cluster in the content distribution system based on the content access index of the access monitoring apparatus It is characterized by autonomously allocating the content in charge of distribution to the server and creating or deleting replicas on the disk.
[0042]
The content arrangement management system of the present invention according to claim 2 is characterized in that the number of replicas of the content in the content distribution system is calculated from the content access index.
[0043]
The content arrangement management system of the present invention according to claim 3 is characterized in that a threshold used for calculating the number of replicas of the content in the content distribution system from a content access index is set for each content.
[0044]
The content arrangement management system of the present invention according to claim 4 is a value that varies depending on the number of replicas in the content distribution system as a threshold used when calculating the number of replicas of the content in the content distribution system from a content access index. Is set for each content.
[0045]
The content arrangement management system of the present invention according to claim 5 is characterized in that the number of servers in charge of distributing the content to the client in the content distribution system is calculated from the content access index.
[0046]
The content arrangement management system according to claim 6 of the present invention provides, for each content, a threshold value used when calculating the number of servers in charge of distributing the content to the client in the content distribution system from the content access index. It is characterized by setting.
[0047]
The content distribution management system of the present invention according to claim 7 uses the content distribution system as a threshold used when calculating the number of servers in charge of distributing the content to the client in the content distribution system from the content access index. A different value is set for each content depending on the number of servers in charge of distribution to the client.
[0048]
The content arrangement management system of the present invention according to claim 8 is configured to create a replica of the content on a predetermined disk in the content distribution system, and when it is determined that the allowable load value of the disk is exceeded, The content replica to be deleted from the disk in order to reduce the load on the disk is determined based on a content access index that is an index representing an access status to the content managed in units of the content distribution system. .
[0049]
In the content arrangement management system of the present invention according to claim 9, when the replica of the content is created on a predetermined disk in the content distribution system, it is determined that the load of the disk exceeds an allowable value, When a content replica is selected and deleted from the predetermined disk in order to reduce the load, the access status to the content managed in the content distribution system unit is checked for the content replica on the predetermined disk. The content disk index is calculated by dividing the content access index, which is the index to represent, by the number of replicas in the content distribution system of the content, and the content for which the replica is to be created is managed on a content distribution system basis For content A predicted content disk score obtained by dividing the content access index, which is an index representing the access status of the content, by the value of the number of replicas in the content distribution system plus the number of copies to be made from now, When a replica of content whose content disc score is lower than the content disc score is extracted as a deletion candidate, and all deletion candidates are deleted, even if a replica is expected, the load on the disc is not expected to exceed an allowable value, In order of increasing content disk core, the replica of the content is created after deleting the replica until it is predicted that the disk load will not exceed the allowable value even if the replica is created.
[0050]
According to the content arrangement management system of the present invention of claim 10, when a replica of content is created on a predetermined disk in the content distribution system, the load of the disk is the lowest or the allowable value of the remaining disk load is The largest disk is selected as a replica creation destination.
[0051]
The content arrangement management system of the present invention according to claim 11, when allocating a predetermined server in the content distribution system as a person in charge of distribution of the content, when it is determined that the load of the server exceeds an allowable value, The content replica to be removed from the server distribution person in order to reduce the server load is determined based on a content access index that is an index representing an access status to the content managed in units of the content distribution system. .
[0052]
The content arrangement management system of the present invention according to claim 12, when allocating a predetermined server in the content distribution system as a person in charge of distribution of the content, when it is determined that the load of the server exceeds an allowable value, When determining the content replica to be removed from the server's distribution staff in order to reduce the server load based on the content access index, which is an index indicating the access status to the content managed in the content distribution system unit, For a content replica that has already been assigned to the server, calculate the value of the content server score by dividing the content access index by the number of servers to which content distribution is assigned, , The content access index A value that is a predicted content server score is calculated by dividing the number of servers to which the distribution of tents is allocated by the value of the number of servers to be allocated, and the content server score is calculated from the predicted content server score. If replicas of low content are extracted as deletion candidates and deletion candidates are deleted, if it is expected that the server load will not exceed the allowable value even if replicas are created, replicas are created in ascending order of the content server scores. Even if the replica is deleted until it is predicted that the load on the server does not exceed the allowable value, the content replica is created.
[0053]
In the content arrangement management system according to the thirteenth aspect of the present invention, when a predetermined server in the content distribution system is allocated as a person in charge of content distribution, the load on the server is the lowest or the allowable value of the remaining server load is the highest. A large server is selected as a distribution assignment destination.
[0054]
The content arrangement management system of the present invention according to claim 14 is characterized in that a disk is connected to each of a plurality of servers in the content distribution system.
[0055]
The content arrangement management system of the present invention according to claim 15 is characterized in that the disks in the content distribution system are connected as shared disks that can be referred to from a plurality of servers.
[0056]
The content placement management system of the present invention according to claim 16 is characterized in that the content autonomous placement management content is set as a policy which is a combination of conditions and processing details at that time.
[0057]
The content arrangement management system of the present invention according to claim 17 is characterized in that the policy is set for each content.
[0058]
The content placement management system of the present invention according to claim 18 is a policy management device that sets the policy for each content, and creates a replica of the content on a server in the cluster while referring to the content access index and the policy, Alternatively, a content placement control device that controls the placement of content by executing deletion of a replica from a server in the cluster is provided.
[0059]
A content arrangement management system according to a nineteenth aspect of the present invention includes a content arrangement status management apparatus that manages content location information, and the content arrangement control apparatus refers to the content location information of the content arrangement status management apparatus. The content arrangement is controlled.
[0060]
The content arrangement management system of the present invention according to claim 20 sets the autonomous arrangement management contents of contents as a policy that is a combination of conditions and processing contents at that time, and (1) a fixed policy (condition: set) When selected as a deletion candidate during the period / action: not to be deleted from the disk or the target of reduction of the number of servers in charge of distribution), (2) new replica creation policy (condition: content during the set period The access index exceeds the set threshold value and the content replica is not in the distribution management system / action: execute processing for creating a replica), (3) replica addition policy (condition: during the set period) When the value obtained by dividing the content access index by the set threshold exceeds the number of replicas / Action: Another one in the distribution management system (4) Replica deletion policy (Condition: When the content access index falls below the set threshold during the set period / Action: The replica is set from the disk (5) replica eviction policy (condition: when selected as a deletion candidate during a set period / action: deleted from disk), (6) new distribution server allocation policy (condition) : During the set period, the content access index exceeds the set threshold value, and the content distribution server is not in the distribution management system / action: execute the process of assigning the distribution server, (7) distribution server Expansion policy (Condition: During the set period, the value divided by the threshold value that set the content access index is the distribution responsibility. When the number of servers is exceeded / Action: Process for increasing the number of servers in charge of distributing content in the distribution management system is executed), (8) Distribution manager reduction policy (Condition: Content within a set period) When the access index falls below a set threshold value / action: the number of servers in charge of distribution is reduced by the set number), it is selected and set.
[0061]
A content arrangement management system according to a twenty-first aspect of the present invention is characterized in that a proxy cache server is provided in the content distribution system, and a part of content is distributed via the proxy cache server.
[0062]
The content placement management system according to the present invention of claim 22 causes a server in the content distribution system to function as a proxy cache server, and indirectly executes a content replica creation or deletion instruction by guidance of a load balancer. It is characterized by.
[0063]
The content placement management system according to the present invention of claim 23 monitors the disk load, and if there is a disk whose observed disk load exceeds the allowable value of the disk load, the replica of the content having the largest content access index is found. It is created in the content distribution system.
[0064]
The content arrangement management system of the present invention according to claim 24 monitors the server load, and if there is a server whose observed server load exceeds the allowable value of the server load, distribution of a replica of the content having the largest content access index It is characterized by increasing the number of servers in charge.
[0065]
The content arrangement management system of the present invention according to claim 25 is characterized in that an initial value of a content access index set when a request for content or a delivery result is generated for the first time is a dynamically changing reference value.
[0066]
The content arrangement management system of the present invention according to claim 26 is characterized in that the initial value of the observation server load of the server newly restarted or newly added is set as a dynamically changing reference value.
[0067]
The content allocation management system according to a twenty-seventh aspect of the present invention is characterized in that an initial value of an observed disk load of a disk that has been restarted or newly added is set as a dynamically changing reference value.
[0068]
The present invention of claim 28 is a content arrangement management program that is executed on a computer and manages the arrangement of contents in a content distribution system, wherein a request from the client to the contents, and the distribution results of the contents accompanying the request The content access index, which is an index indicating the load that the content converted from them has on the system, is managed for each content distribution system, and based on the content access index, to the clustered servers in the content distribution system The function of autonomously allocating content in charge and creating and deleting replicas on disk is executed.
[0069]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.
[0070]
(First embodiment)
Next, a first embodiment of the present invention will be described in detail with reference to the drawings.
[0071]
Referring to FIG. 1, a system according to the first embodiment of the present invention includes a plurality of clients (three clients in FIG. 1) 2001, 2002, 2003 viewing content, and an access network 2004 in which users connect via a network. A content distribution system 2010 connected to the access network 2004 by a network, and a network 2005 for connecting the content distribution system 2010 to an external network or other content distribution systems.
[0072]
Here, the content distribution system 2010 includes a cluster 2020 composed of a group of servers to which disks are connected, a load balancer 2012 that guides user requests while distributing the load to these servers and external content distribution systems, In order to manage a content arrangement status management apparatus 2014 that manages location information, an access monitoring apparatus 2011 that monitors a user's request status for content, a content arrangement control apparatus 2030 that controls content arrangement, and a content arrangement policy (policy) The policy management apparatus 2015 includes a management terminal 2006 for inputting the policy and setting the content distribution management system.
[0073]
The load distribution apparatus 2012 and the access monitoring apparatus 2011 are connected so that a request for content from a user (clients 2001 to 2003) using the content distribution system 2010 passes.
[0074]
The load balancer 2012 and the cluster 2020 are connected by a local network 2013. The load balancer 2012 is also connected to an external content distribution system via a network 2005. The content arrangement status management apparatus 2014, content arrangement control apparatus 2030, policy management apparatus 2015, management terminal 2006, cluster 2020, load distribution apparatus 2012, and access monitoring apparatus 2011 are connected to each other by a local network 2013 in the system.
[0075]
The cluster 2020 includes a server group to which disks are connected (a server 2021 (server (1)) to which a disk 2024 is connected, a server 2022 (server (2)) to which a disk 2025 is connected, and a server 2023 to which a disk 2026 is connected. In addition to the three servers (server (3)), the server status monitoring device 2027 that monitors and manages the usage status and load of each server 2021 to 2023 in the cluster, and the usage status of each disk 2024 to 2026 And a disk status monitoring device 2028 for monitoring and managing the load status.
[0076]
Here, the server status and the disk status are described as a configuration in which the server status monitoring device 2027 and the disk status monitoring device 2028 are centrally managed in one place in the cluster 2020. The apparatus 2028 may be configured to perform distributed management for each server or disk. As shown in FIG. 1, the advantage of centralized management is that both the server status and disk status inquiries performed by the content arrangement control apparatus 2030 can be performed at once.
[0077]
The server status monitoring device 2027 manages the observation server load (an index indicating the processing amount of the server) of each server 2021 to 2023 and the server limit load value that is a limit value of the load. The server load index may be a so-called server load, the server CPU usage rate, the cumulative number of accesses observed for each server, the number of accesses for a certain period, the current number of simultaneous connections, the current server throughput (from server to client It is possible to define various indicators such as a value obtained by dividing the total amount of data transmitted to the unit time).
[0078]
Moreover, you may hold | maintain the set of the observation server load mentioned above and a server load limit value regarding a some parameter | index. Furthermore, you may define the new parameter | index obtained by some calculation formula from some indexes as an observation server load.
[0079]
FIG. 2 shows an example in which the server load index is the CPU usage rate of the server. The server limit load value is generally set when the system is started, but can also be set from the management terminal 2006 as needed. Regarding the observation server load, it is possible to select a method of measuring and updating the load at a set period, a method of updating in an event-driven manner every time the content arrangement status and the user access status change, and the like. Furthermore, it is also possible to use both a method of measuring and updating a load at a set cycle and a method of updating in an event-driven manner every time the content arrangement status and the user access status change.
[0080]
The disk status monitoring device 2028 manages the observed disk load of each of the disks 2024 to 2026 and a disk limit load value that is a limit value of the load. As an index representing the disk load, the capacity of the used disk, the operation rate for each disk, the number of writes, the number of reads, the current read / write throughput, and the like can be considered.
[0081]
FIG. 3 shows an example in which the used disk capacity (unit B) is used as an index of the disk load. The disk limit load value is generally set when the system is started, but can also be set from the management terminal 2006 as needed. Regarding the observation disk load, it is desirable to update in an event-driven manner every time the content arrangement status changes, but in consideration of reducing the processing load on the system, the load is measured and updated at a set cycle. It is good as a method. Further, a method of measuring and updating a load at a set cycle and a method of performing event-driven updating each time a content arrangement status or a user access status changes may be used in combination.
[0082]
As described above, the load balancer 2012 is connected to the access network 2004 of the clients 2001 to 2003, is connected to the cluster 2020 and the local network 2013, and is connected to an external network and other content distribution systems via the network 2005. Yes.
[0083]
When the request from the clients 2001 to 2003 is received, the requested content is stored in a disk connected to a server in the cluster, and if distribution from the server is possible, the load balancer 2012 sends the request to the disk. Guide the content from the server to the client.
[0084]
For example, when the content A requested by the client is stored in the server (1) 2021 as shown in FIG. 4, the client request is guided to the server (1) 2021, and distribution from the server (1) 2021 to the client is performed. Establish.
[0085]
Further, when the content B requested by the client is placed in both the server (1) 2021 and the server (2) 2022, the load balancer 2012 selects a round robin or a server with a low server load, etc. In accordance with various control methods, the server requests are distributed to one of the servers in a manner that distributes the server load, and distribution from the server is established.
[0086]
Further, when the content C requested by the user is not in the server in the cluster 2020 but in the server of the external content distribution system 2310, the load balancer load distribution device 2012 sends the client request to the external content distribution system 2310. And the distribution from the server in the content distribution system 2310 is established.
[0087]
The load balancer 2012 needs to manage candidates for destination of client requests for each content. For example, in the above-described example, as illustrated in FIG. 5, it is necessary to manage the server 1 for the content A and the server 1 and the server 2 for the content B as guidance destination candidates.
[0088]
With respect to the content C, in FIG. 5, the content distribution system 2310 is managed as a guide destination candidate (that is, the load distribution device 2012 is left to which server in the content distribution system 2310 to be guided). )
[0089]
There are many other methods of guiding to other content distribution systems when they are not in the server in the own content distribution system. Specifically, there is a method in which a server holding the content of the content distribution system 2310 is managed as a candidate and is selected and guided. In addition, there is another method in which a system for determining a guide destination exists and the system is registered as a guide destination. Here, a method of guiding to another content distribution system when there is no server in the content distribution system is not specified. Since the candidate for guiding the client request is determined depending on the arrangement state of the content, the management information needs to be updated according to the arrangement of the content.
[0090]
Further, since the request should not be guided to a server that cannot be distributed, it is also necessary to manage whether each of the induction candidate destination servers can be distributed (Active) or cannot be distributed (Down). For example, as shown in FIG. 4, it is assumed that the content D is placed on both the server 2 and the server 3, but the server 2 is active but the server 3 is down. At this time, when a request for the content D is received from the client, the load balancer 2012 checks the server distributable status, guides the client request to the server 2, and establishes the distribution from the server.
[0091]
Note that the server distribution status does not necessarily have to be managed independently by the load balancer 2012, and there is no problem with the method of referring to the information managed by the previous server status monitoring device 2027. In the following description, it is assumed that information managed by the server status monitoring apparatus 2027 is referred to.
[0092]
The content arrangement status management apparatus 2014 manages the location information of each content in a cluster (which content replica (copy) is located on which server disk). Furthermore, the attribute information of each content is managed simultaneously.
[0093]
Specifically, the server load (content server load) generated as a result of placing content on the server, the disk load (content disc load) generated as a result of placing content on the disc, and an index (content access) indicating the access status to the content Index), the number of replicas indicating the number of replicas on the server's disk in the cluster, a content disk score indicating the value of the content described later, and the like as attributes.
[0094]
For example, FIG. 6 shows a CPU usage rate required for one distribution as a content server load, a content size as a content disk load, and an average number of simultaneous distributions as a content access index, in addition to a placement server field for indicating content location information. In this example, the content disk index is a value obtained by dividing the content access index by the number of replicas. These pieces of information must be updated and managed in accordance with changes in content placement performed by the content placement control apparatus 2030, requests from users, and distribution results to users.
[0095]
The access monitoring apparatus 2011 manages a content access index that is an index indicating a load on the system by a request for a content from a client, a delivery result accompanying the content, or a content converted from these requests, through the content distribution system 2010.
[0096]
As this content access index, for example, the cumulative number of requests for each content, the number of requests for each content for a certain period, the number of simultaneous distributions for each content, the number of bytes of distribution, the number of cumulative distributions for each content, the certain period It is possible to define the number of distribution results for each content. Further, as the content access index, a plurality of indices among the above-mentioned indices may be held, or one obtained from some index by some calculation formula may be used as one content access index. Further, since the content access index is information managed for each content, it may be managed together with the management information of the content arrangement status management apparatus 2014.
[0097]
FIG. 6 shows an example in which the management information of the content arrangement status management apparatus 2014 is collected using the average simultaneous distribution number as a content access index. Further, it is necessary to update the content disc score simultaneously with the update of the content access index.
[0098]
These updates may be event-driven for each client request or delivery completion, but it is not necessary to update to event-driven, and batch updates such as periodic updates are also possible. It is.
[0099]
The content placement control device 2030 that controls the placement of content selects content that creates a replica (copy) on a server in the cluster or content that removes a replica (copy) from a server in the cluster, based on the access status or the like The arrangement target selection unit 2032 to perform, the arrangement server selection unit 2034 to select a server for creating a replica, and a replica of content to be deleted from the disk when there is a possibility that the disk limit load value of the disk will be exceeded. A deletion target selection unit 2033 to be selected, and a content arrangement determination unit 2031 that performs functions of the above-described constituent elements to perform content mirroring and deletion execution instructions are provided. The function of each of these components will be described in the description of the operation described later.
[0100]
In the content placement control apparatus 2030, the placement target selection unit 2032 receives the content access index from the access monitoring apparatus 2011, and further refers to the management information of the policy management apparatus 2015, and takes action on the content according to the value of the content access index. Specifically, a decision is made to mirror the content, delete it, or do nothing. What value is selected and what selection is made can be set uniquely in the system, or can be set for each content or each content group. The policy management apparatus 2015 receives this setting input from the management terminal 2006 and manages it.
[0101]
Most specifically, a pair of a condition and an action (processing content) called a policy is set for each content. Here, the case of setting for each content will be described as an example. Assuming that the content access index is the average number of simultaneous distributions, for example, in the case of content A shown in FIG. 7, when the average number of simultaneous distributions exceeds 200 and there are no replicas in the cluster (number of replicas = 0) (condition 1) The content is mirrored on any of the servers (action 1). When the average number of simultaneous distributions divided by 100 exceeds the number of replicas in the current cluster (Condition 2), one more replica is added in the cluster (Action 2), etc. it can.
[0102]
Further, for example, as in content B in FIG. 7, when the average number of simultaneous connections falls below 10 (condition 1), all replicas of content B in the cluster are deleted (action 1), etc. be able to.
[0103]
Each of the above-described components is realized by a program-controllable computer processing unit (CPU), and content that will be described in detail below when the content placement control device 2030 executes a content placement management program for performing content placement management. Manage the placement of This content arrangement management program is stored in a magnetic disk, a semiconductor memory, or other recording medium, and is loaded from the recording medium into the memory of the computer processing unit (CPU) of the content arrangement control device 2030, which is each constituent route. Each function necessary for management is realized by controlling the operation of the unit.
[0104]
(Operation of the first embodiment)
Next, the operation when the content distribution system according to the present embodiment updates the content arrangement status will be described in order. This update of the arrangement status is a feature of the present invention that is differentiated from the prior art.
[0105]
The arrangement target selection unit 2032 receives the content access index from the access monitoring apparatus 2011, and further refers to the management information of the policy management apparatus 2015, and determines the action for the content, specifically the content, according to the value of the content access index. Decide whether to mirror, delete, or do nothing.
[0106]
When the execution of the action is determined, the arrangement target selection unit 2032 instructs the content arrangement determination unit 2031 to execute the action. Specifically, the action is execution of mirroring of a certain content or execution of deletion. This will be explained in the following order.
[0107]
First, processing details when the instruction is a mirror of content will be described with reference to the flowchart of FIG.
[0108]
The content placement determination unit 2031 gives an instruction from the placement target selection unit 2032 regarding the identifier of the content to be mirrored and the number of new replicas to be created in the cluster (the number of copies to be newly created on a disk connected to the server). Receive (step 2800).
[0109]
The placement target selection unit 2032 determines the identifier of the content to be mirrored and the number of new replicas to be created in the cluster while referring to the information managed by the access monitoring device 2011 and the information managed by the policy management device 2015. ing. Here, for example, as shown in FIG. 7, if the content access index is “200 or more” and the number of replicas existing in the cluster is “0”, as shown in FIG. Suppose that one server is set to create a replica. Then, as shown in FIG. 24, it is assumed that the content access index of content A is “300”. At this time, the arrangement target selection unit 2032 instructs the content arrangement determination unit 2031 to specify “A” as the identifier of the content to be mirrored and “1” as the number of new replicas to be created in the cluster.
[0110]
The content placement determination unit 2031 initializes the placement destination determination server list (sets it to an empty state), and further initializes the number of placement destination servers to “0” (step 2801). Then, referring to the management information of the server status monitoring device and the management information of the content arrangement status management device, a server that meets the set criteria is registered in the candidate server list (step 2802). As an example of the reference set here, it is possible to use a server that does not contain content to be mirrored and is active.
[0111]
Then, the following processing is executed until the candidate server list becomes empty (step 2803) or until the number of placement destination servers reaches the number of new replicas instructed from the placement target selection unit 2032 (step 2804).
[0112]
First, one server is selected by the placement server selection unit 2034 from the candidate server list (step 2805). The following methods are conceivable as selection methods at this time.
[0113]
Method 1: Select the server with the smallest observation server load value.
[0114]
Method 2: Select the server with the smallest observed disk load value.
[0115]
Method 3: Select from among servers whose residual disk load is larger than the content disk load of the mirrored content by Method 1 or Method 2. If there is no server having enough disk space for placing content, a method such as selecting a server by either method 1 or method 2 can be adopted.
[0116]
A server is selected according to any of the above methods or some other algorithm.
[0117]
The content arrangement determination unit 2031 inquires of the disk status monitoring apparatus 2028 about the disk status of the server selected in step 2805 and the content arrangement status management apparatus 2014 about the content disk load of the mirrored content. Depending on whether content is placed on the server or not expected to exceed the disk limit load value, specifically, the total of the observed disk load and the mirrored content disk load exceeds the disk limit load value. The process branches depending on whether or not it exceeds (step 2807).
[0118]
If it is predicted that the disk limit load value will not be exceeded, the process proceeds to step 2824 described later.
[0119]
Here, a specific example when the disk limit load value is exceeded is shown. The disk capacity is an index of the disk load, and the content size is an index of the content disk load. Assume that the disk load, that is, the already used disk capacity is 1.8 GB, and the total size of the contents to be mirrored is 0.8 GB. If the disk limit load value, that is, the total available disk capacity is 2.0 GB, it is determined that the disk limit load value is exceeded. In this case, it is necessary to first delete any content from the server disk by 0.6 GB or more.
[0120]
Processing when it is predicted that the disk limit load value will be exceeded will be described. The content arrangement determination unit 2031 inquires of the deletion target selection unit 2033 whether there is content that can be deleted (step 2809). If it is determined that there is no content that can be deleted (step 2810), the process proceeds to step 2830 and later.
[0121]
When it is instructed that there is content to be deleted, after these contents are deleted, it is predicted whether or not the server load will exceed the server limit load value after the mirrored replica is created on the server (step 2811). ).
[0122]
In particular,
(Expression 1): Server load− (server load given by content listed as deletion target) + server load expected to be given by mirror target content> Check whether server limit load value is satisfied.
[0123]
If the relationship of (Expression 1) is satisfied, it is determined that the server load exceeds the server limit load value (step 2812), and the process proceeds to step 2830 and later described.
[0124]
Here, a specific example in the case where the server limit load value is exceeded is shown. Here, the CPU usage rate is an index of server load.
[0125]
As shown in FIG. 2, the observation server load of the server (1) 2021 is currently “80%”, and the server limit load value is “90%”. Then, it is assumed that the deletion target is the content B, the mirror target is the content C, and the mirror destination server is the server (1) 2021, and each content server load is “1.0%”, as shown in FIG. It is assumed that “1.5%” is set.
[0126]
The server load given to the content listed as the deletion target is “20%” because it is calculated by the product of the content server load (CPU usage rate / distribution) and the content access index (average number of simultaneous distributions). Similarly, the server load expected to be given by the mirrored content is calculated as 30%. As a result, the left side of (Equation 1) is 85-20 + 30 = 95%, which exceeds the server limit load value “90%”, and thus is determined to exceed the server limit load value.
[0127]
If it is determined that the relationship of (Equation 1) does not hold, that is, the server load does not exceed the server limit load value, the content selected by the deletion target selection unit 2033 as the deletion target is deleted from the server. (Step 2813). Note that the processing of step 2811 and step 2812 is not necessarily performed.
[0128]
Next, mirroring of the content to be mirrored (copying of content to the server) is executed (step 2824).
[0129]
Then, the server load status is updated (step 2825). Specifically, the content server load corresponding to the deleted content server load is subtracted from the observation server load, and the server load expected to be given by the mirror target content may be added. However, this update processing step 2825 does not necessarily have to be performed, and as shown in the description of the configuration, the server status monitoring apparatus 2027 may periodically update using the observation value.
[0130]
Next, the placement server information, which is the management information of the content placement status management apparatus 2014, is updated in accordance with the execution status of deletion and mirror (step 2826). In addition, the number of replicas is also updated. At this time, the content disc score is also updated. The content disc score is an index used for selecting a deletion target, which will be described later, and indicates the value of a content replica unit. The detailed definition will be described later in the operation of selecting a deletion target.
[0131]
Next, the disk status is updated (step 2827). Specifically, a process of subtracting the deleted content disk load from the observed disk load, adding the mirrored content disk load, and updating the remaining disk load is performed. Note that the disk load need not always be updated, and as shown in the description of the configuration, the disk status monitoring apparatus 2028 may periodically update the disk load using observation values.
[0132]
Next, the management information in the load balancer 2012 is also updated to maintain consistency with the content arrangement status (step 2828). Specifically, for mirrored content, the server is added to the server list to be guided. For the deleted content, the server from which the replica has been deleted is deleted from the request destination list of the load balancer 2012 in accordance with the deletion implementation status. If the number of replicas becomes “0” and there are no content replicas on the content distribution system 2010, another content distribution system or another system that determines the guide destination is registered as the guide destination.
[0133]
Then, “1” is added to the number of distribution destination servers (step 2829), and the server proceeds to the processing after step 2803 except for the servers selected from the candidate server list.
[0134]
The above is the processing content when the instruction from the arrangement target selection unit 2032 to the content arrangement determination unit 2031 is a content mirror.
[0135]
It can be assumed that an instruction to specifically place the content on any of the servers is given. In this case, the candidate server list created in step 2802 is made only to the designated server, and then steps 2803 and after are performed. Just do it.
[0136]
Here, the detailed operation of the deletion target selection process in step 2809 of FIG. 8 will be described in order with reference to FIG.
[0137]
The deletion target selection unit 2033 selects content to be deleted using the numerical values of the content access index and the content disc score calculated from the number of content replicas as indexes.
[0138]
As the simplest method, there is a method of using a value obtained by dividing a content access index by the number of replicas as a content disc score. The content disc score is managed by the content arrangement status management device 2014.
[0139]
First, for the content to be mirrored, not only simply divided by the number of replicas, but also the value of the predicted content disk score, which is obtained by dividing the content access index by the value obtained by adding “1” to the number of replicas before mirroring. Calculate (step 2901). As an initialization procedure, an empty deletion target content list is created (step 2902), and the erasable disk load is set to “0” (step 2903).
[0140]
Next, content having a content disc score lower than the predicted content disc score is registered in the deletion candidate content list from the content placed on the server disc (step 2904).
[0141]
Then, the deletion candidate is in the deletion candidate content list (step 2905), and the value obtained by subtracting the disk load from the disk limit load and further this deletable disk load value (remaining disk load) is the content disk load of the content to be mirrored. (Step 2906), the content to be deleted is selected by the procedure from step 2907 to step 2909.
[0142]
First, from the deletion candidate content list, the one with the lowest content disc score is selected as the deletion target content and added to the deletion target content list (step 2907), and the content disc load value is added to the deleteable disc load value. (Step 2908). This content is deleted from the deletion candidates (step 2909), and the process returns to step 2905.
[0143]
If the deletion candidate content list is empty in step 2905, the content arrangement determining unit 2031 is notified that there is no content that can be deleted on the server to be arranged (step 2910).
[0144]
If it is determined in step 2906 that the value obtained by subtracting the disk load from the disk limit load and the disk load value that can be deleted exceeds the content disk load of the content to be mirrored, the content that can be deleted is the server to be placed. The content placement determination unit 2031 is notified of the content existing above and the content to be deleted (step 2911).
[0145]
In the above, the content disk score is defined as the value obtained by dividing the content access index by the number of replicas, and the predicted content disk score is defined as the value obtained by adding “1” to the number of replicas before mirroring and the value obtained by dividing the content access index. However, this may be a value calculated from the content access index, which is an index aggregated in units of content distribution systems, and the number of replicas, and is not limited to the above method.
[0146]
Next, processing contents when the instruction from the arrangement target selection unit 2032 to the content arrangement determination unit 2031 is content deletion will be described.
[0147]
A case where the number of replicas to be deleted is designated in the content deletion instruction will be described in detail with reference to FIG.
[0148]
The content placement determining unit 2031 receives an instruction from the placement target selecting unit 2032 regarding the identifier of the content to be deleted and the number of deleted replicas to be deleted from the cluster (step 3000).
[0149]
The placement target selection unit 2032 determines the identifier of the content to be deleted and the number of replicas to be deleted from the cluster while referring to the information managed by the access monitoring device 2011 and the information managed by the policy management device 2015.
[0150]
For example, as shown in FIG. 7, it is assumed that content B is set to delete all replicas existing in the cluster when the content access index falls below “10”. Then, as shown in FIG. 24, it is assumed that the content access index of the content B is “5”, which is lower than the set threshold “10”.
[0151]
At this time, the arrangement target selection unit 2032 refers to the management information of the content arrangement state management apparatus 2014 and refers to the number of replicas of the content B. Then, the arrangement target selecting unit 2032 instructs the content arrangement determining unit 2031 to specify “b” as the identifier of the content to be deleted and the number of replicas of the content B referred to earlier as the number of new replicas to be created in the cluster. .
[0152]
The content arrangement determining unit 2031 initializes the deletion source determination server list (sets it to an empty state), and further sets the number of deletion source servers to “0” (step 3001). Then, referring to the management information of the content arrangement status management apparatus, the server where the replica of the specified content is placed on the disk is registered in the deletion candidate server list (step 3002).
[0153]
Next, the processing described below is executed until the deletion candidate server list becomes empty (step 3003) or until the number of deletion source servers reaches the number of deletion replicas instructed from the arrangement target selection unit 2032 (step 3004).
[0154]
First, the server selection unit 2034 selects one server from the candidate server list (3005). As a selection method at this time, there are the following methods. Method 1: Select the server with the highest observed server load value.
Method 2: Select the server with the highest observed disk load value.
A server is selected according to any of the above methods or some other algorithm.
[0155]
Next, the content to be deleted is deleted (step 3006).
[0156]
Then, the server load status is updated (step 3007). Specifically, the deleted content server load is subtracted from the observation server load. However, this update processing 3007 does not necessarily have to be performed, and as shown in the description of the configuration, the server status monitoring apparatus 2027 may periodically update using the observation value.
[0157]
Next, information on the arrangement server, which is management information of the content arrangement status management apparatus 2014, is updated in accordance with the execution status of deletion (step 3008). Specifically, the server that has been deleted is deleted from the list of placement servers, the number of replicas is decremented by 1, and the content disk score is updated using the updated number of replicas.
[0158]
Next, the disk status is updated (step 3009). Specifically, a process of subtracting the deleted content disk load from the observed disk load and updating the remaining disk load is performed. Note that the disk load need not always be updated, and as shown in the description of the configuration, the disk status monitoring apparatus 2028 may periodically update the disk load using observation values.
[0159]
Next, the management information in the load balancer 2012 is also updated to maintain consistency with the content arrangement status (step 3010). The server from which the replica has been deleted is deleted from the request destination list of the load balancer 2012 in accordance with the deletion implementation status. If the number of replicas becomes “0” and there are no content replicas on the content distribution system 2010, another content distribution system or another system that determines the guide destination is registered as the guide destination.
[0160]
Then, “1” is added to the number of deletion source servers (step 3011), the servers selected from the deletion candidate server list are excluded (step 3012), and the process proceeds to step 3003 and subsequent steps.
[0161]
In addition, it is assumed that the content deletion instruction is performed by designating a server. In this case, after registering only the server designated in the deletion candidate server list created in step 3002, step 3003 and the subsequent steps are registered. Should be executed. In addition, when instructed to delete the designated content from all servers on the distribution system, the content placement status is confirmed with the content placement status management device 2014, and the server where the content is placed is extracted. After these are registered in the deletion candidate server list, step 3003 and subsequent steps may be executed.
[0162]
It is assumed that content mirroring and deletion instructions can be given from the management terminal 2006 at any time. With such a configuration, it is also possible to realize content arrangement according to the judgment of the administrator. However, if content mirroring is performed using the above framework, a replica may not be created if the content disc score is low. In order to perform mirroring reliably, it is necessary to correct the content disc score to a sufficiently high value.
[0163]
Here, of the above-described processes, a more detailed explanation will be given on how to execute the process of content deletion and content mirroring (processing for creating a replica as a copy on a disk and determining a server in charge of distribution). Do.
[0164]
Regarding the deletion, the content arrangement control device 2030 directly deletes the replica from the disk, and issues an instruction to update the management information to the content arrangement state management device 2014 and an instruction to update the management information to the load distribution device 2012. Just do it. If the server has an interface that accepts deletion processing, the replica can be deleted from the disk using that interface. In the embodiment of the present invention, the deletion method may be any of the above methods, and may be another method as long as it can be used.
[0165]
Regarding the mirror, there is no content replica in the content distribution system, and there are differences between the case where the content is distributed from another content distribution system and the case where the content replica already exists in the content distribution system.
[0166]
First, a case will be described in which there is no content replica in the content distribution system and distribution is performed from another content distribution system. In this case, there are broadly divided into a PULL method shown in FIG. 21 and a PUSH method shown in FIG.
[0167]
First, the PULL method will be described with reference to FIG. As shown in FIG. 21, the mirror destination server 4101 receives an instruction from the content arrangement state management apparatus 4130, and the server 4101 sends a content distribution request to another content distribution system 4160. Then, there is a method in which the server 4201 receives the content distribution from the server 4151 in the other content distribution system 4160 that holds the content replica, and creates a replica on the disk 4202. Here, the delivery mechanism may be different from the delivery method to the client. For example, although the distribution is performed by UDP for the client, the distribution for the mirror may be performed by FTP. This method is a so-called PULL method in which a mirror destination server issues a request to acquire content.
[0168]
Next, the PUSH method will be described with reference to FIG. As shown in FIG. 22, the instruction from the content arrangement state management device 4230 is sent to another content distribution system 4260. Another content distribution system has a mirror distribution reception unit 4280 for receiving a mirror distribution, which receives which content is sent to which server of which content distribution system. Then, the mirror of the target content is performed from the server 4251 in the other content distribution system 4160 that holds the replica of the content to the specified server 4201 of the specified distribution system, and the replica is created on the disk 4202 To do. This method is called a push method because a request is not sent from the mirror destination server but sent from the mirror source suddenly.
[0169]
In the embodiment of the present invention, the distribution method from other content distribution systems of mirror processing may be either PULL type or PUSH type. Further, if it exists, another method may be used.
[0170]
Next, a case where a content replica already exists in the content distribution system will be described. As a method not to waste the network with the outside, as shown in FIG. 23, a method of performing mirroring by distribution in the content distribution system is desirable. However, as shown in FIG. 21 or 42, a method of mirroring from another content distribution system may be used. Furthermore, the delivery method here may be either the PULL type or the PUSH type.
[0171]
This embodiment differs greatly from the conventional example in that the content arrangement is not determined on a server basis, but on a content distribution system basis. Determining the number of content replicas (number of replicas) in the content distribution system based on the content access index, which is an index representing the access status to content managed in units of content distribution systems. A major feature is that replacement of content replicas for efficient use is determined based on a content disk score calculated from a content access index and the number of replicas.
[0172]
With these features, it is possible to appropriately distribute the load distribution and disk usage in the content distribution system according to the popularity of the content and the load on the system.
[0173]
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
[0174]
FIG. 11 shows the configuration of a system according to the second embodiment of the present invention. Compared to FIG. 1, the difference from the first embodiment is the arrangement of the disks in the cluster 3120. The disks 2124 and 3215 are not directly connected to each server, but are shared disks connected to all servers in the cluster by a local network (local network 3140).
[0175]
In FIG. 11, a disk 3124 and a disk 3125 are connected to a server 2021, a server 2022, and a server 2023 via a local network 3140. Examples of system connection forms with the servers 2021 to 2023 include NFS, SAN, NAS, and the like, but any method may be used.
[0176]
As shown in FIG. 4, in the first embodiment, content B is created by creating replicas on both disks 2024 and 2025 connected to server (1) 2021 and server (2) 2022. The server distribution capability for distributing the server was realized. On the other hand, in the configuration of the present embodiment, by simply placing a content replica on one of the disks, the server distribution is increased by increasing the number of servers in charge of the distribution (unless the disk throughput becomes a bottleneck). Capability can be enhanced. For this reason, the disk capacity required on the cluster can be further reduced as compared with the first embodiment.
[0177]
Due to the difference in the configuration described above, the functions and operations of each component are also partially different from those in the first embodiment. Hereinafter, the differences from the first embodiment will be described in order.
[0178]
First, the function of the server status monitoring apparatus 2027 is the same as that of the first embodiment.
[0179]
The function of the disk status monitoring device 2028 is the same as that of the first embodiment, but since the disk is not connected to only one server, it is in units of servers as in the example shown in FIG. Instead of managing, it is necessary to manage in units of disks as shown in FIG.
[0180]
The function of the load balancer 2012 is the same as that of the first embodiment. Here, a list of guidance destinations for managing candidate candidates for guiding client requests for each content as shown in FIG. 5 is referred to. The candidate server is a server in charge of distribution. However, the difference from the first embodiment is that the content is not stored on the disk directly attached to the server.
[0181]
The content arrangement status management apparatus 2014 manages the location information of each content in the cluster, as in the first embodiment. The difference from the first embodiment is that, as shown in FIG. 13, as information to be managed, correspondence between a server that executes content distribution and a disk from which the server reads content is managed. is there.
[0182]
As mentioned earlier, unless the throughput of reading from the disk reaches the limit, the content should basically be stored on any one disk, but if the disk throughput becomes a bottleneck It is also possible to create a replica on another disk and perform load distribution. Therefore, one disc does not necessarily correspond to one content. In such a case, the correspondence between the server and the disk to be read out should be managed for each server, and FIG. 13 shows such an example.
[0183]
It also manages a field for the number of servers in charge of distribution representing the number of servers in charge of new distribution. In addition, since the correspondence between the server and the disk is not uniquely determined, the content score is divided into two types: a content server score calculated from the number of servers in charge of distribution and a content access index, and a content disk score calculated from the number of replicas and the content access index. Shall be managed.
[0184]
In the example of FIG. 13, the content server score is a value obtained by dividing the content access index by the number of servers in charge of distribution, and the content disk score is a value obtained by dividing the content access index by the number of replicas. In this example, the content disc score and the content server score are calculated from the average number of simultaneous distributions that are the same content access index, but there is no problem even if they are calculated from different content access indexes.
[0185]
The function of the access monitoring apparatus 2011 is the same as that of the first embodiment. The content arrangement control apparatus 2030 that controls the arrangement of contents is the same as that in the first embodiment.
[0186]
Further, the function of the policy management apparatus 2015 is the same as that of the first embodiment, but in addition to the content of mirroring or deleting the content as the content of the action, a distribution server is added or reduced. You can also do that.
[0187]
For example, when the average number of simultaneous distributions exceeds “200” and there are no replicas in the cluster (number of replicas = 0) as in content A in FIG. 14, the content is sent to any server in the cluster. Mirror (action 1). If the value obtained by dividing the average number of simultaneous distributions by “200” exceeds the number of servers in charge of distribution in the current cluster (condition 2), another server in charge of distribution is increased by one (action 2), etc. Can be set. Further, when the value obtained by dividing the average number of simultaneous distributions by “1000” exceeds the number of servers in charge of distribution in the current cluster (condition 2) as in content B, another distribution server in the cluster is 1 At the same time, a replica can be created on another disk (action 2).
[0188]
(Operation of Second Embodiment)
Next, the operation when the content distribution system updates the content arrangement status in the second embodiment will be described in order.
[0189]
The arrangement target selection unit 2032 receives the content access index from the access monitoring apparatus 2011, and further refers to the management information of the policy management apparatus 2015, and determines the action for the content, specifically the content, according to the value of the content access index. Determine actions such as mirroring or deleting, adding a server in charge of distribution, reducing, or doing nothing.
[0190]
When the execution of the action is determined, the arrangement target selection unit 2032 instructs the content arrangement determination unit 2031 to execute the action. Specifically, the action is execution of allocation of a mirror and a distribution server to a disk of a certain content, addition of a distribution server (for a content that has already been mirrored), reduction of a distribution server, deletion of a content replica, Either. Hereinafter, it demonstrates in order.
[0191]
First, the processing contents in the case where the instruction is to execute the allocation of the content disk to the disk and the distribution server will be described with reference to the flowchart of FIG.
[0192]
The content arrangement determining unit 2031 receives an instruction from the arrangement target selecting unit 2032 regarding the execution of the mirror and the identifier of the target content (step 3500). Then, the content arrangement determination unit 2031 selects a candidate disk to be arranged while referring to the management information of the content arrangement state management apparatus 2014 (step 3503). As the selection method, the simplest method is to select the disk with the smallest observed disk load value from the disks on which the content to be mirrored is not arranged.
[0193]
The content arrangement determination unit 2031 inquires of the disk status monitoring apparatus 2028 about the disk status of the disk selected in step 3503 and the content arrangement status management apparatus 2014 about the content disk load of the mirrored content (step 3504).
[0194]
Whether the total of the observed disk load and the mirrored content disk load exceeds the disk limit load value depends on whether or not it is expected to exceed the disk limit load value by placing the content on the server. The process branches depending on whether or not (step 3505). If it is predicted that the disk limit load value will not be exceeded, the process proceeds to step 3508 described later.
If it is predicted in step 3505 that the disk limit load value is exceeded, the content arrangement determination unit 2031 inquires of the deletion target selection unit 2033 whether there is content that can be deleted (step 3506). If it is determined that there is no content that can be deleted (step 3507), the process ends. Step 3506, which is a deletion target selection process, is the same as the operation of step 2810 in the first embodiment, using the content disc score as an index.
When the deletion target is determined, the distribution server is assigned. The content arrangement determination unit 2031 causes the arrangement server selection unit 2034 to select one server candidate to which distribution is assigned (step 3508). As a selection method at this time, the simplest method is to select a server having the smallest observation server load value from among servers to which distribution of the target content has not yet been assigned.
Of the contents to be deleted selected in step 3504, the contents selected by the server selected in step 3508 are extracted. Then, the total value of the server loads given to the target server by these contents is calculated as the deletion target content server load total value.
[0195]
Then, after deleting these contents, a prediction is made as to whether or not the server load will not exceed the server limit load value when the server is in charge of distributing the contents to be mirrored (step 3509).
[0196]
In particular,
(Expression 2): Server load-total content server load to be deleted + server load expected to be given by mirror target content> server limit load value
Confirm whether or not holds.
If the relationship of the above (Formula 2) is satisfied, it is determined that the server load exceeds the server limit load value (step 3510), and the server manages the server by removing the content for which the server is in charge of distribution. It is confirmed whether the server load can be suppressed below the limit load value (step 3511). A specific method will be described in detail separately. If it is possible to select the content to be excluded from the person in charge of distribution, the process proceeds to step 3513 and subsequent steps. If it cannot be selected, the process ends. Note that the processing in steps 3511 and 3512 may be omitted.
[0197]
Next, the content selected by the deletion target selection unit 2033 as the deletion target is deleted from the server (step 3513). Next, mirroring of content to be mirrored (copying of content to a disc) is executed (step 3513). Then, the server selected in step 3508 is set as the server in charge of distributing the mirrored content (step 3515).
[0198]
Then, the server load status is updated (step 3516). Specifically, the update is performed by subtracting the deleted content server load total value from the observation server load and adding the server load expected to be provided by the mirrored content. However, the update process in step 3526 is not necessarily performed, and as shown in the description of the configuration, the server status monitoring apparatus 2027 may periodically update the observation value.
[0199]
Next, the arrangement server and disk information, which is management information of the content arrangement status management apparatus 2014, is updated in accordance with the execution status of deletion and mirror (step 3517). At this time, the number of replicas and the number of servers in charge of placement are also updated. At the same time, the content server score and the content disc score are updated.
[0200]
Next, the disk status is updated (step 3518). Specifically, a process of subtracting the deleted content disk load from the observed disk load, adding the mirrored content disk load, and updating the remaining disk load is performed. Note that the disk load need not always be updated, and as shown in the description of the configuration, the disk status monitoring apparatus 2028 may periodically update the disk load using observation values.
[0201]
Next, the management information in the load balancer 2012 is also updated to maintain consistency with the content arrangement status (step 3519). Specifically, for mirrored content, the server is added to the server list to be guided. For the deleted content, the server from which the replica has been deleted is deleted from the request destination list of the load balancer 2012 in accordance with the deletion implementation status. If the number of replicas becomes “0” and there are no content replicas on the content distribution system 2010, another content distribution system or another system that determines the guide destination is registered as the guide destination.
[0202]
The above is the processing contents in the case where the instruction from the arrangement target selection unit 2032 to the content arrangement determination unit 2031 is execution of allocation of a mirror to a content disk and a server in charge of distribution.
[0203]
Although it can be assumed that an instruction to place content on any one of the discs is specifically given, in this case, the candidate disc selected in step 3503 may be the designated disc. In addition, although it can be assumed that any server is specified as the content distribution server and an instruction is given, in this case, the candidate server selected in step 3508 may be the designated server. .
[0204]
Here, details of the content selection processing in step 3511 which is excluded from the distribution responsibility of the server selected in step 3508 will be described in order with reference to FIG.
[0205]
The deletion target selection unit 2033 selects content (exclusion target content) to be excluded from distribution by using the numerical values of the content access index and the content server score calculated from the number of content distribution servers as indexes. The simplest definition of the content server score is a value obtained by dividing the content access index by the number of servers in charge of distribution. The content server score is managed by the content arrangement state management device 2014.
[0206]
First, for the content to which the distribution source server is assigned, the content access index is divided by the value obtained by adding 1 to the number of servers in charge of distribution before distribution (current), instead of simply dividing by the number of servers in charge of distribution. Then, a numerical value called predicted content server score is calculated (step 3601).
[0207]
As an initialization procedure, an empty exclusion target content list is created (step 3602), and the server load that can be excluded is set to “0” (step 3603).
[0208]
Next, content having a content server score lower than the predicted content server score is registered in the exclusion candidate content list from the content assigned by the server in charge of distribution (step 3604), and the exclusion candidate content list Is not empty (step 3605), and the value obtained by subtracting the observable server load from the server limit load and further this exemptable disk load value (residual server load) represents the content server load of the content to which the distribution source server is assigned. The content to be excluded is selected by the procedure from step 3607 to step 3609 until it exceeds (step 3606).
[0209]
First, from the exclusion candidate content list, the one with the lowest content server score is selected as the exclusion target content to be removed from the server's distributor, and added to the exclusion target content list (step 3607). This is added to the disk load value that can be excluded (step 3608). Then, this content is deleted from the exclusion candidates (step 3609), and the process returns to step 3605.
[0210]
If the exclusion candidate content list is empty in step 3605, the content arrangement determining unit 2031 is notified that there is no content that can be excluded from the distribution target on the server to be allocated (step 3610).
[0211]
If it is determined in step 3606 that the value obtained by subtracting the server load limit from the server load limit and the server load value that can be excluded exceeds the content server load of the content to be distributed, it is excluded from the distribution target. The content that can be stored exists on the server to be allocated, and the content list to be excluded is notified to the content arrangement determination unit 2031 (step 3611).
[0212]
In the above, the value obtained by dividing the content access index by the value obtained by dividing the content server score by the content access index by the number of servers in charge of distribution, and the predicted content disk score by adding “1” to the number of distribution servers before distribution allocation. However, this may be a value calculated from the content access index, which is an index aggregated for each content distribution system, and the number of servers in charge of distribution, and the above method is only one variation. Absent.
[0213]
Next, the additional processing contents of the server in charge of distributing the content that has already been mirrored will be described.
[0214]
The processing content is almost the same as the processing content in the execution of the allocation of the content mirror to the disk and the distribution server as described in FIG. In FIG. 15, a processing procedure in which steps 3503 to 3507 and steps 3513 and 3514 are omitted may be executed.
[0215]
Next, processing contents in the case of reducing the number of servers in charge of distribution will be described with reference to the flowchart of FIG.
[0216]
The content arrangement determining unit 2031 receives an instruction from the arrangement target selecting unit 2032 regarding the identifier of the content to be reduced of the distribution server and the number of reduction distribution servers to be reduced from within the cluster (step 3700).
[0217]
The content arrangement determining unit 2031 initializes the reduction source determination server list (sets it to an empty state), and further sets the number of reduction source servers to “0” (step 3001). Then, with reference to the management information of the content arrangement status management apparatus 2014, the server to which the designated content is to be distributed is registered in the reduction candidate server list (step 3702).
[0218]
The processing described below is executed until the reduction candidate server list becomes empty (step 3703) or until the number of reduction source servers reaches the number of servers in charge of reduction distribution instructed from the arrangement target selection unit 2032 (step 3704). To do.
[0219]
First, one server is selected from the reduction candidate server list by the placement server selection unit 2034 (step 3705). As a selection method at this time, a method of selecting a server having the highest observation server load value may be considered.
[0220]
Next, the content to be excluded is excluded from the distribution targets of this server (step 3706).
[0221]
Then, the server load status is updated in the server status monitoring apparatus 2027 (step 3707). Specifically, processing for subtracting the deleted content server load from the observation server load is performed. However, this update processing 3707 does not necessarily have to be performed, and as shown in the description of the configuration, the server status monitoring apparatus 2027 may periodically update the observation value.
Next, the arrangement server information, which is the management information of the content arrangement status management apparatus 2014, is updated in accordance with the execution status of the deletion (step 3708). Specifically, deleting the server removed from the placement manager from the placement server list, subtracting one placement manager server, updating the content disk score using the updated number of placement manager servers, The process is performed.
[0222]
Next, the management information in the load balancer 2012 is also updated to maintain consistency with the content arrangement status (step 3710). Furthermore, the server from which the replica has been deleted is deleted from the request guide list of the load balancer 2012 in accordance with the deletion implementation status. If the number of replicas becomes “0” and there are no content replicas on the content distribution system 2010, another content distribution system or another system that determines the guide destination is registered as the guide destination.
[0223]
Then, “1” is added to the number of deletion source servers (step 3711), the servers selected from the deletion candidate server list are excluded (step 3712), and the process proceeds to step 3703 and subsequent steps. In addition, it is assumed that the content deletion instruction is performed by designating a server. In this case, after registering only the server designated in the deletion candidate server list created in step 3702, step 3703 is performed. You can do the following:
[0224]
In addition, when instructed to delete the designated content from all servers on the distribution system, the content placement status is confirmed with the content placement status management device 2014, and the server where the content is placed is extracted. After registering only the servers specified in the deletion candidate server list from these, step 3703 and the subsequent steps may be executed.
[0225]
Next, the case where the content deletion instruction specifies the number of replicas to be deleted will be described in detail with reference to FIG. A case where the number of replicas to be deleted is designated in the content deletion instruction will be described in detail with reference to FIG.
[0226]
The content placement determination unit 2031 is instructed by the placement target selection unit 2032 regarding the identifier of the content to be deleted and the number of deleted replicas to be deleted from the cluster (step 3800). The content arrangement determination unit 2031 refers to the management information of the content arrangement state management apparatus, and registers the disk in which the specified content replica is placed on the disk in the deletion candidate disk list (step 3801).
[0227]
Further, the deletion source determination disk list is initialized (empty), and the number of deletion source disks is set to “0” (step 3802).
[0228]
The processing described below is executed until the deletion candidate disk list becomes empty (step 3803) or until the number of deletion source disks reaches the number of deletion replicas instructed from the arrangement target selection unit 2032 (step 3804).
[0229]
First, the server selection unit 2034 selects one server from the candidate server list (step 3005). As a selection method at this time, a method of selecting a server having the highest observed disk load value can be considered.
[0230]
Next, the content to be deleted is deleted (step 3806).
[0231]
Then, the server load status is updated (step 3807). Specifically, the content server load of the deleted replica is subtracted from the observation server load of the server that was targeted for distribution of the deleted content replica. However, the update process in step 3807 does not necessarily have to be performed, and as shown in the description of the configuration, the server status monitoring apparatus 2027 may periodically update the observation value.
[0232]
Next, the arrangement server information, which is the management information of the content arrangement status management apparatus 2014, is updated in accordance with the execution status of the deletion (step 3808). Specifically, the server that was targeted for distribution of the deleted content replica and the deleted disk record from the list of placement servers, the process of subtracting the number of replicas, and the replica was targeted for distribution A process of subtracting the number of servers from the number of servers in charge of distribution, a process of updating the content disk score using the updated number of replicas, and a process of updating the content server score using the updated number of servers in charge of distribution.
[0233]
Next, the disk status is updated (step 3809). Specifically, a process of subtracting the deleted content disk load from the observed disk load and updating the remaining disk load is performed. Note that the disk load need not always be updated, and as shown in the description of the configuration, the disk status monitoring apparatus 2028 may periodically update the disk load using observation values.
[0234]
Next, the management information in the load balancer is also updated to maintain consistency with the content arrangement status (step 3810). The server from which the replica has been deleted is deleted from the request destination list of the load balancer 2012 in accordance with the deletion implementation status. If the number of replicas becomes “0” and there are no content replicas on the content distribution system 2010, another content distribution system or another content distribution system that determines the destination is registered as the destination. To do.
[0235]
Then, “1” is added to the number of deletion source disks (step 3811), the disks selected from the deletion candidate disk list are excluded (step 3812), and the process proceeds to step 3803 and subsequent steps.
[0236]
In addition, it is assumed that the content deletion instruction is performed by designating a disc. In this case, after registering only the disc designated in the deletion candidate disc list created in step 3802, step 3803 and the subsequent steps are performed. It is sufficient to execute the process.
[0237]
In addition, when instructed to delete the designated content from all the disks on the distribution system, the content placement status is confirmed with the content placement status management device 2014, and all the disks on which the content is placed are checked. After extracting and registering them in the deletion candidate disk list, the processing from step 3803 onward may be executed.
[0238]
Note that, as in the first embodiment, it is assumed that a content mirror or deletion instruction can be given from the management terminal 2006 as needed. With this configuration, it is possible to realize content arrangement based on the judgment of the administrator. However, if content mirroring is performed using the above framework, a replica may not be created if the content disc score is low. Similarly, if the content server score is low, there is a possibility that the server in charge of distribution cannot be allocated. In order to perform mirroring reliably, it is necessary to correct the content disc score and content server score to a sufficiently high value.
[0239]
In the present embodiment, the disk is shared between the servers, but the content distribution system is based on an index that represents an access status to content managed in units of content distribution systems, which is a content access index. Determine the number of replicas of content (number of replicas) and the number of servers in charge of distribution, replace content replicas for efficient use of disks, and replace the content that the server is responsible for distribution This is a major feature. With these features, it is possible to appropriately distribute the load distribution and disk usage in the content distribution system according to the popularity of the content and the load on the system.
[0240]
(Third embodiment)
Next, a third embodiment of the present invention will be described. The configuration of the system according to the third embodiment is the same as that of the first or second embodiment.
[0241]
The third embodiment is different from the first or second embodiment in the type of policy and the management method necessary for performing flexible and autonomous content arrangement management.
[0242]
In the first or second embodiment described above, according to the policy for each content set in the policy management device 2015, the content mirroring or deletion execution processing is executed as an action. When attempting to mirror some content, if the disk load on the disk was expected to exceed the disk limit load, the one with the lower content disk score was deleted from the disk.
[0243]
In the second embodiment, if the server load of the server is predicted to exceed the server limit load, the number of servers in charge of distributing content with a low content server score is reduced.
[0244]
However, depending on the content, it may be possible to suppress the deletion from the disk or the reduction in the number of servers in charge of distribution for a certain period of time. In order to realize such flexible content arrangement according to the characteristics of each content, various policy types are required. In addition, since the type of policy to be applied changes with time, it is desirable that the application time can be set.
[0245]
In a general content distribution system, it is desirable that the following control is performed autonomously.
(1) The designated content can be suppressed from being deleted from the disk and the number of servers in charge of distribution can be reduced during the desired period.
(2) Popular content is autonomously distributed in the content distribution system according to popularity.
(3) For other contents, for efficient operation of the disk, the disk space is released by receiving the deletion from the disk and the reduction of the number of servers in charge of distribution according to the rules set on the system.
[0246]
Here, in the third embodiment, a policy that is a set of conditions and actions as described below is introduced.
[0247]
In addition to the control based on the policy described below, a command for performing control such as creation or deletion of a replica at a specified time is prepared, and the administrator instructs the management terminal 2006 using the command to execute the replica. It is also possible to create and delete.
[0248]
(1) Fixed policy:
Condition: When selected as a deletion candidate for a set period of time
Action: Do not delete from the disk or reduce the number of servers in charge of distribution.
[0249]
(2) New replica creation policy:
Condition: During the set period, the content access index exceeds the set threshold, and there is no content replica in the distribution management system.
[0250]
Action: Perform processing to create a replica.
[0251]
(3) Replica expansion policy:
Condition: When the value divided by the set threshold value exceeds the number of replicas during the set period
Action: Execute processing for creating another replica in the distribution management system.
[0252]
(4) Replica deletion policy:
Condition: When the content access index falls below the set threshold during the set period
Action: Delete a set number of replicas from disk.
[0253]
(5) Replica eviction policy:
Condition: When selected as a deletion candidate during a set period
Action: Removed from disk.
[0254]
(6) New distribution server allocation policy:
Condition: During the set period, the content access index exceeds the set threshold, and the content distribution server is not in the distribution management system
Action: Execute processing to assign the server in charge of distribution.
[0255]
(7) Distribution server expansion policy:
Condition: When the value divided by the set threshold for the content access index exceeds the number of servers in charge of distribution during the set period
Action: Execute processing for increasing the number of content distribution servers in the distribution management system by one.
[0256]
(8) Distribution charge reduction policy:
Condition: When the content access index falls below the set threshold during the set period
Action: Reduce the number of servers in charge of distribution by the set number.
[0257]
In the case of the configuration of the first embodiment, the policies (1) to (5) are applied, and in the case of the configuration of the second embodiment, the policies (1) to (8) are applied. Thus, it is possible to realize control that satisfies the above requirements.
[0258]
For example, a setting example as shown in FIG. 19 will be described. In FIG. 19, content A is prohibited from being deleted from the disk or the number of servers in charge of distribution is reduced from “10:00 on May 5, 2003 to 10:00 on May 19”. Then, between “12:00 on May 12, 2003 and 10:00 on May 19, 2003”, when the value obtained by dividing the content access index by the set threshold value “15” exceeds the number of replicas, 1 replica is set. The process for adding one is executed.
[0259]
For content B, from “12:00 on May 12, 2003 to 10:00 on May 19, 2003”, if the content access index exceeds the set threshold value “10”, a process of assigning a server in charge of distribution is executed. The Then, between “19:00 on May 19, 2003 and 10:00 on May 26, 2003”, when the value obtained by dividing the content access index by the set threshold “10” exceeds the number of replicas, 1 replica is set. The process for adding one is executed. Furthermore, if the content access index falls below the set threshold “1” between “19:00 on May 19, 2003 and 10:00 on May 26, 2003”, the number of servers in charge of distribution is reduced by “1”. (In this example, the parameters are set in the order of the threshold value and the reduction number.)
Here, during the period when the fixed policy is not set for the content, it is possible to delete the content from the disc and reduce the number of servers in charge of distribution according to the first embodiment or the second embodiment. . Further, as in the first embodiment and the second embodiment, it is assumed that a content mirror or deletion instruction can be given from the management terminal 2006 as needed. Further, the content access index used by each policy may be the same index or a different index.
[0260]
There are various types of policies other than the above, but the essence of the present embodiment is that the following policies are prepared, and these policies are used in the first embodiment and second policy. This is in that it is executed using the autonomous mechanism for increasing / decreasing replicas and distribution allocation servers shown in the embodiment.
(1) Policies for preventing deletion from disk and reduction of the number of servers in charge of distribution
(2) Policy for preparing the first content distribution means in the distribution system
(3) Policy when adding content distribution means to the distribution system
(4) Policy for autonomously deleting from the distribution system when popularity is lost
Note that these policies do not necessarily need to be performed for each content, and may be set for each group after the content is grouped.
[0261]
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described. The configuration of the system according to the fourth embodiment is the same as that of the first, second, or third embodiment.
[0262]
In the fourth embodiment, a management method necessary for performing flexible and autonomous content arrangement management according to the server load and the disk load is realized. Up to the third embodiment, the policy setting is based on content, but here, autonomous content placement according to the state of the server or disk is realized.
[0263]
First, autonomous content placement according to the state of the disc in the fourth embodiment will be described.
[0264]
First, the disk status monitoring device 2027 monitors whether there is any disk whose observed disk load exceeds the disk limit load. If there is a disc exceeding the disc limit load, the content with the largest content access index is selected. In the case of the same configuration as that of the first embodiment, another replica creation process is executed according to the procedure shown in FIG. Further, in the case of the same configuration as that of the second embodiment, the process of creating one replica is executed according to the procedure shown in FIG.
[0265]
Next, autonomous content placement according to the server status in the fourth embodiment will be described.
[0266]
First, the server status monitoring apparatus 2027 monitors whether there is a server whose observed server load exceeds the server limit load. If there is a server that exceeds the server limit load, the content with the largest content access index is selected. In the case of the same configuration as that of the first embodiment, another replica creation process is executed according to the procedure shown in FIG. In the case of the same configuration as that of the second embodiment, the process of increasing the number of servers in charge of distribution by one is executed according to the processing flow shown in the operation of the second embodiment.
[0267]
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described. FIG. 20 shows the configuration of a system according to the fifth embodiment.
[0268]
A difference from the configuration of the embodiments described above is that a server 4050 is arranged on a network 2005 connected to an external content distribution system. A disk 4051 is connected to the server 4050 as a means for storing contents separately from the cluster. Although the configuration of the cluster 2020 shown in FIG. 20 is the same as that of the cluster in the first embodiment, it may be a cluster configuration having a shared disk as in the configuration of the second embodiment.
[0269]
By the way, in the embodiments so far, autonomous load balancing according to popularity has been realized, so for popular content and individually mirrored content, a quick response from the server of the distribution system High-throughput distribution can be realized. However, until it is confirmed that the content has become popular, specifically, since the replica is not created on the distribution system during the period of updating the content access index, even if the content suddenly becomes popular, Each request had to be directed to an external content distribution system and distributed from there. In such a situation, it would be more desirable if delivery with a fast response and high throughput could be achieved.
[0270]
With the configuration according to the fifth embodiment, it is possible to realize a fast response and high-throughput distribution even for content that has become popular during the period of updating the content access index.
[0271]
First, as an operation different from the above-described embodiments, there is a point that a request that has been guided to an external content distribution system so far is guided to the server 4050 by the load balancer 2012.
[0272]
The server 4050 operates as a so-called proxy cache server, and acquires content from an external content distribution system when receiving a request for content not held on a connected disk from a user. The acquired content is distributed to the clients 2001 to 2003 after being stored in the disk 4051 or while being stored.
[0273]
A request for the held content is not acquired from an external content distribution system and relayed, but is read from the disk 4051 and distributed to the clients 2001 to 2003. When the disk 4051 becomes full, replacement is executed by a replacement algorithm or the like in a general cache server.
[0274]
In this way, by installing the server 4050 that functions as a so-called proxy cache, it is possible to realize fast response and high-throughput distribution even for content that has become popular during the period of updating the content access index. Become.
[0275]
Furthermore, the utilization efficiency of the disk 4051 can be improved by linking the content arrangement state management apparatus 2014 and the server 4050. For content whose content access index has been updated and a replica has been created according to the set policy, since the request is directed to the cluster server thereafter, it is not directed to the server 4050. Disappear.
[0276]
Therefore, at the same time as detecting that a replica has been created for the cluster, the content arrangement status management apparatus 2014 instructs the server 4050 to delete the content from the disk 4051. The server 4050 deletes the content from the disk 4051.
[0277]
By doing so, the available disk space can be secured in advance, and the overhead of content replacement processing can be reduced.
[0278]
(Sixth embodiment)
Next, a sixth embodiment of the present invention will be described. The configuration and operation of the system according to the sixth embodiment follows the configuration and operation of any of the first to fourth embodiments, but each server 2021 to 2023 operates as a proxy cache server. The point is different. Accordingly, the functions and operations of the load distribution device 2012 and the content arrangement control device 2030 are changed.
[0279]
Hereinafter, a sixth embodiment based on the first embodiment will be described with reference to the configuration shown in FIG.
[0280]
The configuration other than the function is the same as that of the first embodiment as shown in FIG. However, the server 2021, the server 2022, and the server 2023 of the cluster 2020 function as proxy cache servers.
[0281]
As described in the fifth embodiment, the function of the proxy server is that when a content request is received from a user, content that is not held in the connected disc is content from an external content distribution system. To get. Then, the acquired content is distributed to the client after being stored on the disk or while being stored. The stored content is read from the disc and distributed to the client.
[0282]
The load balancer 2012 in the first to fourth embodiments stores the requested content on a disk connected to a server in the cluster, and if the distribution is possible from that server, the request is sent there. If the requested content is not stored on a disk connected to a server in the cluster or there is no server that can deliver the content, Was directing requests to other content delivery systems.
[0283]
In the sixth embodiment, the load distribution apparatus 2012 issues a guidance destination update process to the content arrangement control apparatus 2030, waits for the completion of this process, and then the first to fourth embodiments. It is characterized by performing the operation in.
[0284]
In the first to fourth embodiments, the content placement control apparatus 2030 that controls the placement of content is a content that creates a replica (copy) on a server in the cluster based on the access status or the like, It had a function to select contents to delete replicas (copy) from the server, and to execute contents mirroring and deletion instructions.
[0285]
The sixth embodiment has a function of receiving a content destination update request from the load balancer 2012. This function and the functions possessed in the first to fourth embodiments can be used in combination, or only the functions shown below can be used.
[0286]
Since the sixth embodiment and the first embodiment described below function only in parallel when used in combination, the new function will be described below with reference to the flowchart of FIG.
[0287]
When the load balancer 2012 guides the user's request, the load balancer 2012 requests the content arrangement control device 2030 to update the content guide destination.
[0288]
The content arrangement determination unit 2031 receives this update request and relays it to the arrangement target selection unit 2032 (step 4500). The arrangement target selection unit 2032 receives the content access index from the access monitoring apparatus 2011 and further refers to the management information of the policy management apparatus 2015. Then, the arrangement target selecting unit 2032 determines whether it is necessary to add a content destination, and calculates the number of servers to be added when the addition is necessary (step 4501).
[0289]
For example, as shown in FIG. 7, in the content A, when the content access index is “200” or more and the number of replicas existing in the cluster is “0”, any server in the cluster Assume that one is set to create a replica. Then, as shown in FIG. 24, it is assumed that the content access index of content A is “300”. At this time, the arrangement target selection unit 2032 determines to add one server as a request guide destination of the content A.
[0290]
If it is determined that addition is necessary (step 4502), the guide destination determination server list is initialized (empty state), and the number of guide destination determination servers is set to “0” (step 4502).
[0291]
Then, the content arrangement determining unit 2031 registers a server that meets the set criteria in the candidate server list while referring to the management information of the server status monitoring apparatus 2027 and the management information of the content arrangement status management apparatus 2014 (step 4504). ). As an example of the reference set here, it is possible to use a server that does not contain content to which a guidance destination is added and is active, and the like.
[0292]
If it is not determined that addition is necessary, a notification of completion of update processing is sent to the load balancer 2012 (step 4531).
The following processing is executed until the candidate server list becomes empty (step 4505) or the number of guidance destination determination servers reaches the additional number instructed from the arrangement target selection unit 2032 (step 4506).
[0293]
That is, when the candidate server list becomes empty or the number of guidance destination determination servers reaches the additional number instructed from the arrangement target selection unit 2032, the content arrangement determination unit 2031 completes the guidance destination update processing in the load balancer 2012 Is notified (step 4521).
[0294]
First, the server selection unit 2034 selects one server from the candidate server list (step 4507). As a selection method at this time, there are the following methods.
[0295]
Method 1: Select the server with the smallest observation server load value.
[0296]
Method 2: Select the server with the smallest observed disk load value.
[0297]
Method 3: Select from among servers whose residual disk load is larger than the content disk load of the mirrored content by Method 1 or Method 2. If there is no server with enough disk space to place content, the server is selected by either method 1 or method 2.
[0298]
A server is selected according to any of the above methods or some other algorithm.
[0299]
The content arrangement determination unit 2031 inquires of the disk status monitoring apparatus 2028 about the disk status of the server determined in step 4505 and the content arrangement status management apparatus 2014 about the content disk load of the mirrored content (step 4508).
[0300]
Depending on whether the content is placed on the server or not expected to exceed the disk limit load value, the total of the observed disk load and the mirrored content disk load exceeds the disk limit load value. The process branches depending on whether or not it exceeds (step 4509).
[0301]
If it is predicted that the disk limit load value will not be exceeded, the process proceeds to step 4524 described later. When it is predicted that the disk limit load value will be exceeded, the content arrangement determination unit 2031 inquires of the deletion target selection unit 2033 whether there is content that can be deleted (step 4510). If it is determined that there is no content that can be deleted (step 4511), the process proceeds to step 4530 and later.
[0302]
If it is instructed that there is content that can be deleted, the server load will not exceed the server load limit value after the content is deleted and a replica of the content to be added to the destination is created on the server. Is predicted (step 4512).
[0303]
If it is determined that the server load does not exceed the server load limit value (step 4513), the content selected by the deletion target selection unit 2033 as a deletion target is deleted from the server (step 4514). Note that the processing in step 4512 and step 4513 is not necessarily performed.
[0304]
Then, the server load status is updated (step 4515). However, step 4515 which is the update process does not necessarily have to be performed, and as shown in the description of the configuration, the server status monitoring apparatus 2027 may periodically update the observation value.
[0305]
Next, the arrangement server information, which is the management information of the content arrangement state management apparatus 2014, is updated in accordance with the deletion or addition of the guidance destination (step 4516). In addition, the number of replicas is also updated. At this time, the content disc score is also updated.
[0306]
Next, the disk status is updated (step 4517). Note that the disk load need not always be updated, and as shown in the description of the configuration, the disk status monitoring apparatus 2028 may periodically update the disk load using observation values.
[0307]
Next, management information in the load balancer 2012 is also updated to maintain consistency with the content arrangement status (step 4518). Specifically, a server in the guidance destination determination server list is added to the guidance target. For the deleted content, the server from which the replica has been deleted is deleted from the request destination list of the load balancer 2012 in accordance with the deletion implementation status. If the number of replicas becomes “0” and there are no content replicas on the content distribution system 2010, another content distribution system or another system that determines the guide destination is registered as the guide destination.
[0308]
Then, “1” is added to the number of guidance destination determination servers (step 4519), the servers selected from the candidate server list are excluded (step 4520), and the process proceeds to step 4503 and subsequent steps.
[0309]
The sixth embodiment differs greatly from the first to fifth embodiments in that the cache server autonomously obtains content rather than issuing a content mirror instruction. is there. By introducing a cache server and guiding user requests with the load balancer, content mirroring can be performed autonomously without any explicit support.
[0310]
(Seventh embodiment)
Next, a seventh embodiment of the present invention will be described. The configuration of the seventh embodiment may be any of the configurations of the first to sixth embodiments.
[0311]
The system of the seventh embodiment is different from the first to sixth embodiments in the management of content access indexes.
[0312]
The content access index is an index indicating a client request for the content or a delivery result accompanying the request. If this index is simply managed, the value is “0” until a request for content or a distribution result occurs for the first time. For this reason, the newly generated content may become less popular than content that has a long content access index.
[0313]
For example, a case is assumed where the number of requests for each content since the content distribution system is activated is managed as a content access index. It is assumed that the content A accessed “1000” in the last week, but this week has 0 requests. On the other hand, it is assumed that the content B generated yesterday has already been accessed 500 times.
[0314]
In this case, if the access index is simply managed by integrating the number of requests, it is determined that the content B is less valuable than the content A, and the content A is given priority in the case of replacement. The problem of being left on the disk occurs.
[0315]
In order to solve such a problem, it is only necessary to raise the value of the content access index that is set when a request for content or a delivery result occurs for the first time.
[0316]
As a method for selecting the value to be raised, the content access index of the content that has been deleted from the disk in the content distribution system most recently is raised, with the value of the smallest content access index in the content distribution system being raised. And the content access index of the content most recently removed from the server in charge of the content distribution system is set as the bottom-up value.
[0317]
(Eighth embodiment)
An eighth embodiment will be described. The configuration of the system according to the eighth embodiment may be any of the configurations of the first to seventh embodiments.
[0318]
The difference of the eighth embodiment from the first to seventh embodiments is the management of the observation server load.
[0319]
In the distribution system, the server is down and restarted due to system troubles and maintenance, or a new server is added to increase the system processing capacity. At this time, if it is simply performed, the observation server load takes “0” as an initial value. Since the observation server load is low, there is a possibility that content distribution will be assigned to this server all at once.
[0320]
In order to solve such a problem, the initial value of the server load may be raised. As a method for selecting the value to be raised, there is a method in which the lowest server load value in the content distribution system is set as the raised value.
[0321]
(Ninth embodiment)
A ninth embodiment will be described. The configuration of the system according to the ninth embodiment may be any of the configurations of the first to eighth embodiments.
[0322]
The ninth embodiment is different from the first to eighth embodiments in the management of the observation disk load.
[0323]
In the distribution system, the disk is stopped and recovered due to system trouble or maintenance, or a new disk is added to increase the system processing capacity. At this time, if it is simply performed, the observation disk load takes “0” as an initial value. Since the observation disk load is low, content replicas may be created on this disk all at once.
[0324]
In order to solve such a problem, the initial value of the disk load may be raised. As a method for selecting the value to be raised, there is a method in which the lowest disk load value in the content distribution system is set as the raised value.
[0325]
Although the present invention has been described with reference to the preferred embodiments and examples, the present invention is not necessarily limited to the above-described embodiments and examples, and various modifications can be made within the scope of the technical idea. Can be implemented.
[0326]
【The invention's effect】
As described above, according to the content arrangement management system in the content distribution system of the present invention, the following excellent effects can be obtained.
[0327]
The first effect of the present invention is that the cost required for content arrangement management can be greatly reduced. The reason is that based on the content access index of the access monitoring device, the content distribution person in charge is allocated to the clustered servers in the content distribution system, and replicas are created and deleted on the disk autonomously. This is because content placement management within the content distribution system is performed autonomously.
[0328]
The second effect of the present invention is to improve the utilization efficiency of an external storage device such as a disk. In addition, it is possible to improve the utilization efficiency of an external storage device such as a disk by realizing arrangement management in accordance with the popularity of content and the load applied to the system. The reason is that location management is performed according to the popularity of content not in units of servers but in units of content distribution systems.
[0329]
A third effect of the present invention is that it is possible to realize arrangement management in units of contents. By setting arrangement management content called a policy for each content unit, it is possible to perform arrangement management for each content unit.
[0330]
The fourth effect of the present invention is that the operating rate of the server is increased and a standby standby server is not required. The reason is that a plurality of content groups or contents can be assigned to the same server, so that load distribution with higher granularity than conventional can be realized. Furthermore, this is because there is a function of reassigning a server of a content group with a low load to a server of a content group with a high load, such as when there is no spare server.
[0331]
The fifth effect of the present invention is that it can cope with contents whose load is increased on the system due to sudden popularity. The reason is that the proxy cache server and the content distribution system are used together. Conventionally, requests that have been made to other content distribution systems and distributions that have been made from other content distribution systems can be performed with a proxy cache server. High-response and high-throughput distribution is possible even for content that goes out and has a heavy load on the system.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a system according to a first embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of contents of an observation server load and a server limit load value managed by the server status monitoring apparatus according to the first embodiment.
FIG. 3 is a diagram illustrating an example of contents of an observed disk load and a disk limit load value managed by the disk status monitoring apparatus according to the first embodiment.
FIG. 4 is a block diagram for explaining request guidance processing according to the first embodiment;
FIG. 5 is a diagram illustrating a content example of management information in the load distribution apparatus according to the first embodiment;
FIG. 6 is a diagram illustrating an example of content management information managed by the content arrangement status management apparatus according to the first embodiment;
FIG. 7 is a diagram illustrating an example of the contents of management information in the policy management apparatus according to the first embodiment.
FIG. 8 is a flowchart showing processing contents of content arrangement control (mirror) in the first embodiment;
FIG. 9 is a flowchart showing processing details of selection of a deletion target in the first embodiment.
FIG. 10 is a flowchart showing processing details of content arrangement control (deletion) in the first embodiment.
FIG. 11 is a block diagram showing a configuration of a system according to a second embodiment of the present invention.
FIG. 12 is a diagram illustrating an example of contents of an observed disk load and a disk limit load value managed by the disk status monitoring apparatus according to the second embodiment.
FIG. 13 is a diagram illustrating an example of content management information managed by the content arrangement status management apparatus according to the second embodiment.
FIG. 14 is a diagram illustrating an example of contents of management information in a policy management apparatus according to the second embodiment.
FIG. 15 is a flowchart illustrating processing contents of content arrangement control (mirror and server allocation) in the second embodiment;
FIG. 16 is a flowchart showing processing details of deletion target selection in the second embodiment;
FIG. 17 is a flowchart showing processing contents of content arrangement control (distribution server reduction) in the second embodiment;
FIG. 18 is a flowchart illustrating processing contents of content arrangement control (deletion) in the second embodiment.
FIG. 19 is a diagram illustrating an example of a policy which is a set of conditions and actions according to the third embodiment.
FIG. 20 is a block diagram showing a configuration of a system according to a fifth embodiment of the present invention.
FIG. 21 is a block diagram for explaining distribution (PULL type) from another content system in the first embodiment;
FIG. 22 is a block diagram for explaining distribution (PUSH type) from another content system in the first embodiment;
FIG. 23 is a block diagram for explaining creation of a replica in the content system in the first embodiment;
FIG. 24 is a diagram illustrating an example of the contents of management information managed by the access status monitoring apparatus according to the first embodiment.
FIG. 25 is a flowchart showing the processing contents of content arrangement control (guidance destination update) in the sixth embodiment.
FIG. 26 is a block diagram showing a configuration diagram of a conventional content distribution system.
FIG. 27 is a block diagram showing a configuration of a conventional content distribution system using a shared storage.
FIG. 28 is a block diagram showing a configuration of a conventional wide area content distribution system.
FIG. 29 is a block diagram showing a configuration of a content arrangement management system in a conventional content distribution system.
FIG. 30 is a diagram illustrating a content example of a content management table in a conventional content arrangement management system.
[Explanation of symbols]
2001-2003: Client
2004: Access network
2005: Network
2006: Management terminal
2010: Content distribution system
2011: Access monitoring device
2012: Load balancer
2013: Local network
2014: Content arrangement state management device
2015: Policy management device
2020: Cluster
2021-2023: Server
2024-2026: Disc
2027: Server status monitoring device
2028: Disk status monitoring device
2030: Content arrangement control device
2031: Content arrangement determination unit
2032: Arrangement target selection unit
2033: Deletion target selection unit
2034: Arrangement server selection unit
3120: Cluster
3124, 3125: Disk
3140: Local network
4050: Server
4051: Disc

Claims (41)

コンテンツ配信システム内でのコンテンツの配置管理を行うコンテンツ配置管理システムであって、
前記コンテンツに対するクライアントからのリクエスト、当該リクエストに伴うコンテンツの配信実績、それらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理するアクセス監視装置を備え、
前記アクセス監視装置の前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行うことを特徴とするコンテンツ配置管理システム。
A content placement management system for managing content placement in a content distribution system,
An access monitoring device that manages, in units of content distribution systems, requests for content from the client, content distribution results associated with the requests, and content access indexes that indicate the load that the content converted from them has on the system ,
Based on the content access index of the access monitoring device, the allocation of content distribution to clustered servers in the content distribution system, autonomous creation and deletion of replicas to the disk, Content placement management system.
前記コンテンツ配信システム内の前記コンテンツのレプリカの数を前記コンテンツアクセス指標から算出することを特徴とする請求項1に記載のコンテンツ配置管理システム。The content arrangement management system according to claim 1, wherein the number of replicas of the content in the content distribution system is calculated from the content access index. 前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値を、コンテンツ毎に設定することを特徴とする請求項2に記載のコンテンツ配置管理システム。The content arrangement management system according to claim 2, wherein a threshold value used for calculating the number of replicas of the content in the content distribution system from a content access index is set for each content. 前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値として、前記コンテンツ配信システム内のレプリカの数によって異なる値を前記コンテンツ毎に設定することを特徴とする請求項2または請求項3に記載のコンテンツ配置管理システム。The threshold value used when calculating the number of replicas of the content in the content distribution system from a content access index is set for each content differently depending on the number of replicas in the content distribution system. The content arrangement management system according to claim 2 or claim 3. 前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出することを特徴とする請求項1から請求項4の何れか1項に記載のコンテンツ配置管理システム。5. The content arrangement according to claim 1, wherein the number of servers in charge of distributing the content to the client in the content distribution system is calculated from the content access index. Management system. 前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値を、コンテンツ毎に設定することを特徴とする請求項5に記載のコンテンツ配置管理システム。The threshold value used when calculating the number of servers in charge of distributing the content to clients in the content distribution system from the content access index is set for each content. Content placement management system. 前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値として、コンテンツ配信システム内のクライアントへの配信を担当するサーバの数によって異なる値をコンテンツ毎に設定することを特徴とする請求項5または請求項6に記載のコンテンツ配置管理システム。Depending on the number of servers in charge of delivery to clients in the content distribution system, the threshold used when calculating the number of servers in charge of delivery of the content to clients in the content delivery system from the content access index 7. The content arrangement management system according to claim 5, wherein a different value is set for each content. 前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの許容負荷値を超えると判断された場合に、前記ディスクの負荷を軽減するために前記ディスクから削除するコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断することを特徴とする請求項1から請求項7の何れか1項に記載のコンテンツ配置管理システム。When creating a replica of the content on a predetermined disk in the content distribution system, if it is determined that the allowable load value of the disk is exceeded, it is deleted from the disk in order to reduce the load on the disk The content replica is determined on the basis of a content access index that is an index representing an access status to the content managed in units of the content distribution system. The content arrangement management system described. 前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの負荷が許容値を超えると判断され、前記ディスクの負荷を軽減するために前記所定のディスクからコンテンツのレプリカを選択して削除する場合に、
前記所定のディスク上にあるコンテンツのレプリカについては、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数で割ることでコンテンツディスクスコアなる値を算出し、
前記レプリカを作成しようとしているコンテンツについては、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数にこれからコピーを作成しようとする数を足した値で割った予測コンテンツディスクスコアなる値を算出し、
前記予測コンテンツディスクスコアより前記コンテンツディスクスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を全て削除した時に、レプリカを作成してもディスクの負荷が許容値を超えないと予想される場合、
前記コンテンツスディスクコアが低い順に、レプリカを作成してもディスクの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、前記コンテンツのレプリカの作成を行うことを特徴とする請求項1から請求項8の何れか1項に記載のコンテンツ配置管理システム。
When creating a replica of the content on a predetermined disk in the content distribution system, it is determined that the load on the disk exceeds an allowable value, and the content of the content from the predetermined disk is reduced to reduce the load on the disk. When selecting and deleting a replica,
For content replicas on the predetermined disc, the content access index, which is an index indicating the access status to the content managed in units of the content distribution system, is divided by the number of replicas in the content distribution system. Calculate the disk score,
For the content that is to be created as a replica, a copy of the content access index, which is an index representing the access status to the content managed in the content distribution system unit, is created from the number of replicas in the content distribution system. Calculate the value of the predicted content disc score divided by the number you want to add,
When replicas of content whose content disc score is lower than the predicted content disc score are extracted as deletion candidates, and all deletion candidates are deleted, it is expected that the disk load will not exceed the allowable value even if replicas are created ,
The replica of the content is created after deleting the replica until it is predicted that the load on the disc does not exceed an allowable value even if the replica is created in order from the lowest content disk core. The content arrangement management system according to any one of claims 1 to 8.
前記コンテンツ配信システム内の所定のディスク上にコンテンツのレプリカを作成する際に、前記ディスクの負荷が最も低い、または残りのディスク負荷の許容値が最も大きいディスクをレプリカの作成先として選択することを特徴とする請求項9に記載のコンテンツ配置管理システム。When creating a replica of content on a predetermined disk in the content distribution system, selecting the disk with the lowest load on the disk or the largest allowable disk load as the replica creation destination. The content arrangement management system according to claim 9, wherein: 前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断することを特徴とする請求項1から請求項10の何れか1項に記載のコンテンツ配置管理システム。When allocating a predetermined server in the content distribution system as a person in charge of content distribution, if it is determined that the load on the server exceeds an allowable value, the server is removed from the server distribution person to reduce the server load 11. The content replica is determined based on a content access index that is an index representing an access status to content managed in units of the content distribution system. The content arrangement management system described. 前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する際に、
既に前記サーバに割り当て済みのコンテンツのレプリカについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数で割ることでコンテンツサーバスコアなる値を算出し、
前記レプリカを作成しようとしているコンテンツについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数に、割り当てをしようとしているサーバの数を足した値で割ることで予測コンテンツサーバスコアなる値を算出し、
前記予測コンテンツサーバスコアより前記コンテンツサーバスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を削除した結果、レプリカを作成してもサーバの負荷が許容値を超えないと予想される場合、前記コンテンツサーバスコアが低い順に、レプリカを作成しても前記サーバの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、コンテンツのレプリカの作成を行うことを特徴とする請求項1から請求項11の何れか1項に記載のコンテンツ配置管理システム。
When allocating a predetermined server in the content distribution system as a person in charge of content distribution, if it is determined that the load on the server exceeds an allowable value, the server is removed from the server distribution person in order to reduce the server load When determining a replica of content based on a content access index that is an index representing an access status to content managed in units of content distribution systems,
For content replicas that have already been assigned to the server, calculate the value of the content server score by dividing the content access index by the number of servers to which content delivery is assigned,
For the content to be created as a replica, a value that is a predicted content server score by dividing the content access index by the number of servers to which content distribution is allocated plus the number of servers to be allocated To calculate
If the content server score lower than the predicted content server score is extracted as a deletion candidate, and the deletion candidate is deleted, the server load is expected not to exceed the allowable value even if the replica is created, The content replica is created after the replica is deleted until it is predicted that the load on the server does not exceed an allowable value even if the replica is created in order of increasing content server score. The content arrangement management system according to any one of claims 1 to 11.
前記コンテンツ配信システム内の所定のサーバをコンテンツの配信の担当として割り振る際に、サーバの負荷が最も低い、または残りのサーバ負荷の許容値が最も大きいサーバを配信の割り当て先として選択することを特徴とする請求項12に記載のコンテンツ配置管理システム。When allocating a predetermined server in the content distribution system as a person in charge of content distribution, a server having the lowest server load or the largest allowable value of the remaining server load is selected as a distribution allocation destination. The content arrangement management system according to claim 12. 前記コンテンツ配信システム内の複数のサーバ毎にディスクが接続されていることを特徴とする請求項1から請求項13の何れか1項に記載のコンテンツ配置管理システム。The content arrangement management system according to any one of claims 1 to 13, wherein a disk is connected to each of a plurality of servers in the content distribution system. コンテンツ配信システム内のディスクが複数のサーバから参照可能な共有ディスクとして接続されていることを特徴とする請求項1から請求項14の何れか1項に記載のコンテンツ配置管理システム。The content arrangement management system according to any one of claims 1 to 14, wherein a disk in the content distribution system is connected as a shared disk that can be referred to from a plurality of servers. コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定することを特徴とする請求項1から請求項15の何れか1項に記載のコンテンツ配置管理システム。The content arrangement management system according to any one of claims 1 to 15, wherein the autonomous arrangement management content of content is set as a policy that is a combination of a condition and processing content at that time. 前記ポリシを、前記コンテンツ毎に設定することを特徴とする請求項16に記載のコンテンツ配置管理システム。The content arrangement management system according to claim 16, wherein the policy is set for each content. 前記ポリシをコンテンツ毎に設定したポリシ管理装置と、前記コンテンツアクセス指標と前記ポリシを参照しながら、クラスタ内のサーバにコンテンツのレプリカの作成や、またはクラスタ内のサーバからレプリカの削除を実行することにより、コンテンツの配置を制御するコンテンツ配置制御装置とを備えることを特徴とする請求項16に記載のコンテンツ配置管理システム。Creating a replica of content on a server in the cluster or deleting a replica from a server in the cluster while referring to the policy management apparatus that sets the policy for each content, the content access index and the policy The content arrangement management system according to claim 16, further comprising: a content arrangement control device that controls arrangement of contents. コンテンツの所在情報を管理するコンテンツ配置状況管理装置を備え、
前記コンテンツ配置制御装置は、前記コンテンツ配置状況管理装置の前記コンテンツの所在情報を参照してコンテンツの配置を制御することを特徴とする請求項18に記載のコンテンツ配置管理システム。
A content arrangement status management device for managing content location information is provided.
19. The content arrangement management system according to claim 18, wherein the content arrangement control device controls the arrangement of the content with reference to the content location information of the content arrangement state management device.
コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定し、
(1)固定ポリシ(条件:設定された期間の間に削除候補として選択されるとき/アクション:ディスクからの削除対象や配信担当サーバ数の削減対象とさせない)、
(2)新規レプリカ作成ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツのレプリカが配信管理システム内にない/アクション:レプリカを作成するための処理を実行する)、
(3)レプリカ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、レプリカ数を超えるとき/アクション:配信管理システム内にもう1つレプリカを作成するための処理を実行する)、
(4)レプリカ削除ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:ディスクからレプリカを設定された数だけ削除する)、
(5)レプリカ追い出しポリシ(条件:設定された期間の間に削除候補として選択される時/アクション:ディスクから削除される)、
(6)新規配信担当サーバ割当ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツの配信担当サーバが配信管理システム内にない/アクション:配信担当サーバを割り当てる処理を実行する。
(7)配信担当サーバ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、配信担当サーバ数を超えるとき/アクション:配信管理システム内のコンテンツの配信担当サーバ数を1つ増やすための処理を実行する)、
(8)配信担当削減ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:配信担当サーバ数を設定された数だけ削減する)
の何れかのポリシから選択して設定することを特徴とする請求項1から請求項19のコンテンツ配置管理システム。
Set autonomous content management content as a policy that is a combination of conditions and processing content at that time,
(1) Fixed policy (condition: when selected as a deletion candidate during a set period / action: not to be deleted from the disk or to be reduced to the number of servers in charge of distribution),
(2) New replica creation policy (Condition: The content access index exceeds the set threshold during the set period, and the content replica is not in the distribution management system / Action: Process for creating the replica is executed )
(3) Replica expansion policy (Condition: When the value obtained by dividing the content access index by the set threshold exceeds the number of replicas during the set period / Action: Create another replica in the distribution management system Execute the process for)
(4) Replica deletion policy (Condition: When the content access index falls below the set threshold during the set period / Action: Delete the set number of replicas from the disk),
(5) Replica eviction policy (condition: when selected as a deletion candidate during a set period / action: deleted from disk),
(6) New distribution server allocation policy (Condition: The content access index exceeds the set threshold during the set period, and the content distribution server is not in the distribution management system / Action: Allocate distribution server) Execute the process.
(7) Distribution server expansion policy (Condition: When the value divided by the set threshold for the content access index exceeds the number of distribution servers during the set period / Action: Distribution of content in the distribution management system Execute the process to increase the number of servers in charge by one),
(8) Distribution charge reduction policy (Condition: When the content access index falls below the set threshold during the set period / Action: Reduce the number of distribution charge servers by the set number)
20. The content arrangement management system according to claim 1, wherein the content arrangement management system is selected and set from any one of the policies.
前記コンテンツ配信システム内にプロキシキャッシュサーバを備え、一部のコンテンツの配信を前記プロキシキャッシュサーバ経由で行うことを特徴とする請求項1から請求項20の何れか1項に記載のコンテンツ配置管理システム。21. The content arrangement management system according to claim 1, wherein a proxy cache server is provided in the content distribution system, and a part of content is distributed via the proxy cache server. . 前記コンテンツ配信システム内のサーバをプロキシキャッシュサーバとして機能させ、コンテンツのレプリカの作成や削除の指示を負荷分散装置による誘導により間接的に実行することを特徴とする請求項1から請求項20の何れか1項に記載のコンテンツ配置管理システム。21. The server according to claim 1, wherein a server in the content distribution system functions as a proxy cache server, and a content replica creation or deletion instruction is indirectly executed by guidance by a load balancer. The content arrangement management system according to claim 1. ディスクの負荷を監視し、観測したディスク負荷がディスクの負荷の許容値を超えたディスクがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカを他のコンテンツ配信システム内に作成することを特徴とする請求項1から請求項22の何れか1項に記載のコンテンツ配置管理システム。The disk load is monitored, and if there is a disk whose observed disk load exceeds the allowable value of the disk load, a replica of the content with the largest content access index is created in another content distribution system. The content arrangement management system according to any one of claims 1 to 22. サーバの負荷を監視し、観測したサーバ負荷がサーバの負荷の許容値を超えたサーバがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカの配信を担当するサーバを増やすことを特徴とする請求項1から請求項23の何れか1項に記載のコンテンツ配置管理システム。The server load is monitored, and when there is a server whose observed server load exceeds an allowable value of the server load, the number of servers in charge of distributing a replica of a content having the largest content access index is increased. The content arrangement management system according to any one of claims 1 to 23. 初めてコンテンツに対するリクエストや配信実績が発生した際に設定されるコンテンツアクセス指標の初期値を動的に変化する基準値とすることを特徴とする請求項1から請求項24の何れか1項に記載のコンテンツ配置管理システム。25. The initial value of a content access index that is set when a request for content or a delivery result occurs for the first time is set as a dynamically changing reference value. Content placement management system. 再起動や新規に増設されたサーバの観測サーバ負荷の初期値を、動的に変化する基準値とすることを特徴とする請求項1から請求項25の何れか1項に記載のコンテンツ配置管理システム。The content placement management according to any one of claims 1 to 25, wherein an initial value of an observation server load of a restarted or newly added server is set as a dynamically changing reference value. system. 再起動され又は新規に増設されたディスクの観測ディスク負荷の初期値を、動的に変化する基準値とすることを特徴とする請求項1から請求項26の何れか1項に記載のコンテンツ配置管理システム。27. The content arrangement according to claim 1, wherein an initial value of an observed disk load of a restarted or newly added disk is set as a dynamically changing reference value. Management system. コンピュータ上で実行され、コンテンツ配信システム内でのコンテンツの配置管理を行うコンテンツ配置管理プログラムであって、
前記コンテンツに対するクライアントからのリクエスト、当該リクエストに伴うコンテンツの配信実績、それらから換算されるコンテンツがシステムに与える負荷を示す指標であるコンテンツアクセス指標を、コンテンツ配信システム単位で管理し、
前記コンテンツアクセス指標を基にして、コンテンツ配信システム内のクラスタ化されたサーバへのコンテンツの配信担当の割り振り、ディスクへのレプリカの作成や削除を自律的に行う機能を実行することを特徴とするコンテンツ配置管理プログラム。
A content placement management program that is executed on a computer and performs content placement management in a content distribution system,
A content access index, which is an index indicating a load from the client on the content, a distribution result of the content accompanying the request, and a load that the content converted from the request gives to the system is managed in units of content distribution systems,
Based on the content access index, a function for autonomously allocating content distribution personnel to clustered servers in the content distribution system and creating or deleting replicas on a disk is executed. Content placement management program.
前記コンテンツ配信システム内の前記コンテンツのレプリカの数を前記コンテンツアクセス指標から算出する機能と、
前記コンテンツ配信システム内の前記コンテンツのレプリカの数をコンテンツアクセス指標から算出する際に用いる閾値として、前記コンテンツ配信システム内のレプリカの数によって異なる値を前記コンテンツ毎に設定する機能を有することを特徴とする請求項28に記載のコンテンツ配置管理プログラム。
A function of calculating the number of replicas of the content in the content distribution system from the content access index;
The threshold value used when calculating the number of replicas of the content in the content distribution system from a content access index has a function of setting a different value for each content depending on the number of replicas in the content distribution system. The content arrangement management program according to claim 28.
前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する機能と、
前記コンテンツ配信システム内の前記コンテンツのクライアントへの配信を担当するサーバの数を、前記コンテンツアクセス指標から算出する際に用いる閾値として、コンテンツ配信システム内のクライアントへの配信を担当するサーバの数によって異なる値をコンテンツ毎に設定する機能を有することを特徴とする請求項28に記載のコンテンツ配置管理プログラム。
A function for calculating the number of servers in charge of distributing the content in the content distribution system to clients from the content access index;
Depending on the number of servers in charge of distribution to clients in the content distribution system, the threshold used when calculating the number of servers in charge of distribution of the content to clients in the content distribution system from the content access index The content arrangement management program according to claim 28, having a function of setting different values for each content.
前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの許容負荷値を超えると判断された場合に、前記ディスクの負荷を軽減するために前記ディスクから削除するコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する機能を有することを特徴とする請求項28から請求項30の何れか1項に記載のコンテンツ配置管理プログラム。When creating a replica of the content on a predetermined disk in the content distribution system, if it is determined that the allowable load value of the disk is exceeded, it is deleted from the disk in order to reduce the load on the disk 31. The function according to claim 28, further comprising a function of determining a content replica based on a content access index that is an index representing an access status to content managed in units of the content distribution system. The content arrangement management program according to item 1. 前記コンテンツ配信システム内の所定のディスク上に前記コンテンツのレプリカを作成する際に、前記ディスクの負荷が許容値を超えると判断され、前記ディスクの負荷を軽減するために前記所定のディスクからコンテンツのレプリカを選択して削除する場合に、
前記所定のディスク上にあるコンテンツのレプリカについては、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数で割ることでコンテンツディスクスコアなる値を算出する機能と、
前記レプリカを作成しようとしているコンテンツについては、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標をコンテンツのコンテンツ配信システム内のレプリカの数にこれからコピーを作成しようとする数を足した値で割った予測コンテンツディスクスコアなる値を算出する機能と、
前記予測コンテンツディスクスコアより前記コンテンツディスクスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を全て削除した時に、レプリカを作成してもディスクの負荷が許容値を超えないと予想される場合、
前記コンテンツスディスクコアが低い順に、レプリカを作成してもディスクの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、前記コンテンツのレプリカの作成を行う機能を有することを特徴とする請求項28から請求項31の何れか1項に記載のコンテンツ配置管理プログラム。
When creating a replica of the content on a predetermined disk in the content distribution system, it is determined that the load on the disk exceeds an allowable value, and the content of the content from the predetermined disk is reduced to reduce the load on the disk. When selecting and deleting a replica,
For content replicas on the predetermined disc, the content access index, which is an index indicating the access status to the content managed in units of the content distribution system, is divided by the number of replicas in the content distribution system. A function to calculate the value of the disk score;
For the content that is to be created as a replica, a copy of the content access index, which is an index representing the access status to the content managed in the content distribution system unit, is created from the number of replicas in the content distribution system. A function to calculate a value that is a predicted content disc score divided by the value to be added, and
When replicas of content whose content disc score is lower than the predicted content disc score are extracted as deletion candidates, and all deletion candidates are deleted, it is expected that the disk load will not exceed the allowable value even if replicas are created ,
The content disk core has a function of creating a replica of the content after deleting the replica until it is expected that the disk load will not exceed an allowable value even if the replica is created in order from the lowest. The content arrangement management program according to any one of claims 28 to 31.
前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、前記コンテンツ配信システム単位で管理されるコンテンツに対するアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する機能を有することを特徴とする請求項28から請求項32の何れか1項に記載のコンテンツ配置管理プログラム。When allocating a predetermined server in the content distribution system as a person in charge of content distribution, if it is determined that the load on the server exceeds an allowable value, the server is removed from the server distribution person to reduce the server load 33. The function according to claim 28, further comprising a function of determining a content replica based on a content access index that is an index representing an access status to content managed in units of the content distribution system. The content arrangement management program according to item 1. 前記コンテンツ配信システム内の所定のサーバを前記コンテンツの配信の担当として割り振る際に、前記サーバの負荷が許容値を超えると判断された場合に、サーバ負荷を軽減するためにサーバの配信担当から外すコンテンツのレプリカを、コンテンツ配信システム単位で管理されるコンテンツに対してのアクセス状況を表す指標であるコンテンツアクセス指標を基にして判断する際に、
既に前記サーバに割り当て済みのコンテンツのレプリカについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数で割ることでコンテンツサーバスコアなる値を算出する機能と、
前記レプリカを作成しようとしているコンテンツについて、前記コンテンツアクセス指標をコンテンツの配信が割り当てられているサーバの数に、割り当てをしようとしているサーバの数を足した値で割ることで予測コンテンツサーバスコアなる値を算出する機能と、
前記予測コンテンツサーバスコアより前記コンテンツサーバスコアが低いコンテンツのレプリカを削除候補として抽出し、削除候補を削除した結果、レプリカを作成してもサーバの負荷が許容値を超えないと予想される場合、前記コンテンツサーバスコアが低い順に、レプリカを作成しても前記サーバの負荷が許容値を超えないと予想されるまでレプリカを削除した上で、コンテンツのレプリカの作成を行う機能を有することを特徴とする請求項28から請求項33の何れか1項に記載のコンテンツ配置管理プログラム。
When allocating a predetermined server in the content distribution system as a person in charge of content distribution, if it is determined that the load on the server exceeds an allowable value, the server is removed from the server distribution person in order to reduce the server load When determining a replica of content based on a content access index that is an index representing an access status to content managed in units of content distribution systems,
A function of calculating a value as a content server score by dividing the content access index by the number of servers to which content distribution is assigned, for a replica of the content already assigned to the server;
For the content that is to be created as a replica, a value that is a predicted content server score by dividing the content access index by the number of servers to which content distribution is allocated plus the number of servers that are to be allocated A function for calculating
If the content server score is lower than the predicted content server score is extracted as a deletion candidate, and the deletion candidate is deleted, the server load is expected not to exceed the allowable value even if a replica is created, The content server score has a function of creating a replica of a content after deleting the replica until it is predicted that the load of the server does not exceed an allowable value even if the replica is created in order from the lowest The content arrangement management program according to any one of claims 28 to 33.
前記コンテンツ配信システム内の所定のサーバをコンテンツの配信の担当として割り振る際に、サーバの負荷が最も低い、または残りのサーバ負荷の許容値が最も大きいサーバを配信の割り当て先として選択する機能を有することを特徴とする請求項34に記載のコンテンツ配置管理プログラム。When allocating a predetermined server in the content distribution system as a person in charge of content distribution, the server has a function of selecting a server with the lowest server load or the largest allowable server load as a distribution allocation destination The content arrangement management program according to claim 34, wherein: コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして前記コンテンツ毎に設定する機能を有することを特徴とする請求項28から請求項35の何れか1項に記載のコンテンツ配置管理プログラム。36. The content management apparatus according to claim 28, further comprising: a function for setting content autonomous location management content for each content as a policy that is a combination of a condition and processing content at that time. The content arrangement management program described. コンテンツの自律的な配置管理内容を、条件とその際の処理内容の組み合わせであるポリシとして設定し、
(1)固定ポリシ(条件:設定された期間の間に削除候補として選択されるとき/アクション:ディスクからの削除対象や配信担当サーバ数の削減対象とさせない)、
(2)新規レプリカ作成ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツのレプリカが配信管理システム内にない/アクション:レプリカを作成するための処理を実行する)、
(3)レプリカ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、レプリカ数を超えるとき/アクション:配信管理システム内にもう1つレプリカを作成するための処理を実行する)、
(4)レプリカ削除ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:ディスクからレプリカを設定された数だけ削除する)、
(5)新規配信担当サーバ割当ポリシ(条件:設定された期間の間に、コンテンツアクセス指標が設定した閾値を超え、コンテンツの配信担当サーバが配信管理システム内にない/アクション:配信担当サーバを割り当てる処理を実行する。
(6)配信担当サーバ増設ポリシ(条件:設定された期間の間に、コンテンツアクセス指標を設定した閾値で割った値が、配信担当サーバ数を超えるとき/アクション:配信管理システム内のコンテンツの配信担当サーバ数を1つ増やすための処理を実行する)、
(7)配信担当削減ポリシ(条件:設定された期間の間で、コンテンツアクセス指標が設定した閾値を下回ったとき/アクション:配信担当サーバ数を設定された数だけ削減する)
の何れかのポリシから選択して設定する機能を有することを特徴とする請求項28から請求項36のコンテンツ配置管理プログラム。
Set autonomous content management content as a policy that is a combination of conditions and processing content at that time,
(1) Fixed policy (condition: when selected as a deletion candidate during a set period / action: not to be deleted from the disk or to be reduced to the number of servers in charge of distribution),
(2) New replica creation policy (Condition: The content access index exceeds the set threshold during the set period, and the content replica is not in the distribution management system / Action: Process for creating the replica is executed )
(3) Replica expansion policy (Condition: When the value obtained by dividing the content access index by the set threshold exceeds the number of replicas during the set period / Action: Create another replica in the distribution management system Execute the process for)
(4) Replica deletion policy (Condition: When the content access index falls below the set threshold during the set period / Action: Delete the set number of replicas from the disk),
(5) New distribution server allocation policy (Condition: The content access index exceeds the set threshold during the set period, and the content distribution server is not in the distribution management system / Action: Allocate distribution server Execute the process.
(6) Distribution server expansion policy (Condition: When the value divided by the set threshold for the content access index exceeds the number of distribution servers during the set period / Action: Distribution of content in the distribution management system Execute the process to increase the number of servers in charge by one),
(7) Distribution charge reduction policy (Condition: When the content access index falls below the set threshold during the set period / Action: Reduce the number of distribution charge servers by the set number)
37. The content arrangement management program according to claim 28, further comprising a function of selecting and setting from any one of the policies.
前記コンテンツ配信システム内にプロキシキャッシュサーバを備え、一部のコンテンツの配信を前記プロキシキャッシュサーバ経由で行うことを特徴とする請求項28から請求項37の何れか1項に記載のコンテンツ配置管理プログラム。The content distribution management program according to any one of claims 28 to 37, wherein a proxy cache server is provided in the content distribution system, and a part of content is distributed via the proxy cache server. . 前記コンテンツ配信システム内のサーバをプロキシキャッシュサーバとして機能させ、コンテンツのレプリカの作成や削除の指示を負荷分散装置による誘導により間接的に実行することを特徴とする請求項28から請求項37の何れか1項に記載のコンテンツ配置管理プログラム。The server in the content distribution system functions as a proxy cache server, and content replica creation and deletion instructions are indirectly executed by guidance by a load balancer. The content arrangement management program according to claim 1. ディスクの負荷を監視し、観測したディスク負荷がディスクの負荷の許容値を超えたディスクがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカを他のコンテンツ配信システム内に作成することを特徴とする請求項28から請求項39の何れか1項に記載のコンテンツ配置管理プログラム。The disk load is monitored, and if there is a disk whose observed disk load exceeds the allowable value of the disk load, a replica of the content with the largest content access index is created in another content distribution system. The content arrangement management program according to any one of claims 28 to 39. サーバの負荷を監視し、観測したサーバ負荷がサーバの負荷の許容値を超えたサーバがあると、最もコンテンツアクセス指標が大きなコンテンツのレプリカの配信を担当するサーバを増やすことを特徴とする請求項28から請求項40の何れか1項に記載のコンテンツ配置管理プログラム。The server load is monitored, and when there is a server whose observed server load exceeds an allowable value of the server load, the number of servers in charge of distributing a replica of a content having the largest content access index is increased. The content arrangement management program according to any one of claims 28 to 40.
JP2003196324A 2003-07-14 2003-07-14 Content layout management system and content layout management program for content delivery system Withdrawn JP2005031987A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003196324A JP2005031987A (en) 2003-07-14 2003-07-14 Content layout management system and content layout management program for content delivery system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003196324A JP2005031987A (en) 2003-07-14 2003-07-14 Content layout management system and content layout management program for content delivery system

Publications (1)

Publication Number Publication Date
JP2005031987A true JP2005031987A (en) 2005-02-03

Family

ID=34206857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003196324A Withdrawn JP2005031987A (en) 2003-07-14 2003-07-14 Content layout management system and content layout management program for content delivery system

Country Status (1)

Country Link
JP (1) JP2005031987A (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065714A (en) * 2005-08-29 2007-03-15 Nippon Telegr & Teleph Corp <Ntt> Method for dynamically controlling replica for pure p2p communication, device having it, and its program
JP2008140184A (en) * 2006-12-01 2008-06-19 Fujitsu Ltd Data center, cache server and method
JP2008205781A (en) * 2007-02-20 2008-09-04 Fujitsu Ltd Method and system for distributing content
JP2009003680A (en) * 2007-06-21 2009-01-08 Nec Corp Data transfer system, data transfer method and data transfer program
JP2009200606A (en) * 2008-02-19 2009-09-03 Kddi Corp Content distribution controller and computer program
JP2010009449A (en) * 2008-06-30 2010-01-14 Nec Corp Distributed information arrangement system
WO2010024228A1 (en) * 2008-08-25 2010-03-04 日本電気株式会社 Content distribution system
JP2011070567A (en) * 2009-09-28 2011-04-07 Nec Corp Content rearrangement system, content distribution system, content rearrangement method, and program
KR101028639B1 (en) * 2002-02-14 2011-04-11 레벨 3 시디엔 인터내셔널 Managed object replication and delivery
JP2011518376A (en) * 2008-03-31 2011-06-23 アマゾン テクノロジーズ インコーポレーテッド Method and system for content management
JP2011170640A (en) * 2010-02-18 2011-09-01 Nec Corp Cache server control device, content distribution system, method of distributing content, and program
JP2012175298A (en) * 2011-02-18 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> Content distribution method, relay device and content distribution system
JP2012203629A (en) * 2011-03-25 2012-10-22 Kddi Corp Content distribution management system
JP2012212208A (en) * 2011-03-30 2012-11-01 Brother Ind Ltd Information processing device, information processing method and program
WO2013035796A1 (en) * 2011-09-07 2013-03-14 日本電気株式会社 Content delivery system, control device, and content delivery method
WO2013069652A1 (en) * 2011-11-07 2013-05-16 Square Enix Holdings Co., Ltd. Management apparatus and control method of management apparatus
WO2013094157A1 (en) * 2011-12-19 2013-06-27 日本電気株式会社 Cache device, communication method, and program
JP2015095246A (en) * 2013-11-14 2015-05-18 日本電信電話株式会社 Information processing system, management device, server device and key allocation program
US9829954B2 (en) 2013-03-21 2017-11-28 Fujitsu Limited Autonomous distributed cache allocation control system
JP2018524656A (en) * 2015-04-30 2018-08-30 ネットフリックス・インコーポレイテッドNetflix, Inc. Tiered cache fill
JP2020181474A (en) * 2019-04-26 2020-11-05 富士通株式会社 Information processing apparatus, distributed processing system and distributed processing program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1198446A (en) * 1997-09-18 1999-04-09 Fujitsu Ltd Video server system, method for dynamically arranging contents, and data transmitter
JP2002259354A (en) * 2001-03-01 2002-09-13 Hitachi Ltd Network system and load distributing method
JP2003067279A (en) * 2001-08-28 2003-03-07 Nec Corp Contents dynamic mirroring system
JP2003122658A (en) * 2001-10-11 2003-04-25 Hitachi Ltd Data distribution method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1198446A (en) * 1997-09-18 1999-04-09 Fujitsu Ltd Video server system, method for dynamically arranging contents, and data transmitter
JP2002259354A (en) * 2001-03-01 2002-09-13 Hitachi Ltd Network system and load distributing method
JP2003067279A (en) * 2001-08-28 2003-03-07 Nec Corp Contents dynamic mirroring system
JP2003122658A (en) * 2001-10-11 2003-04-25 Hitachi Ltd Data distribution method

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101028639B1 (en) * 2002-02-14 2011-04-11 레벨 3 시디엔 인터내셔널 Managed object replication and delivery
JP4573732B2 (en) * 2005-08-29 2010-11-04 日本電信電話株式会社 Servant device
JP2007065714A (en) * 2005-08-29 2007-03-15 Nippon Telegr & Teleph Corp <Ntt> Method for dynamically controlling replica for pure p2p communication, device having it, and its program
JP2008140184A (en) * 2006-12-01 2008-06-19 Fujitsu Ltd Data center, cache server and method
JP2008205781A (en) * 2007-02-20 2008-09-04 Fujitsu Ltd Method and system for distributing content
JP2009003680A (en) * 2007-06-21 2009-01-08 Nec Corp Data transfer system, data transfer method and data transfer program
JP2009200606A (en) * 2008-02-19 2009-09-03 Kddi Corp Content distribution controller and computer program
JP2011518376A (en) * 2008-03-31 2011-06-23 アマゾン テクノロジーズ インコーポレーテッド Method and system for content management
JP2010009449A (en) * 2008-06-30 2010-01-14 Nec Corp Distributed information arrangement system
WO2010024228A1 (en) * 2008-08-25 2010-03-04 日本電気株式会社 Content distribution system
CN102124751A (en) * 2008-08-25 2011-07-13 日本电气株式会社 Content distribution system
US8423593B2 (en) 2008-08-25 2013-04-16 Nec Corporation Content distribution system
JP2011070567A (en) * 2009-09-28 2011-04-07 Nec Corp Content rearrangement system, content distribution system, content rearrangement method, and program
JP2011170640A (en) * 2010-02-18 2011-09-01 Nec Corp Cache server control device, content distribution system, method of distributing content, and program
JP2012175298A (en) * 2011-02-18 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> Content distribution method, relay device and content distribution system
JP2012203629A (en) * 2011-03-25 2012-10-22 Kddi Corp Content distribution management system
JP2012212208A (en) * 2011-03-30 2012-11-01 Brother Ind Ltd Information processing device, information processing method and program
JPWO2013035796A1 (en) * 2011-09-07 2015-03-23 日本電気株式会社 Content distribution system, control device, and content distribution method
WO2013035796A1 (en) * 2011-09-07 2013-03-14 日本電気株式会社 Content delivery system, control device, and content delivery method
WO2013069652A1 (en) * 2011-11-07 2013-05-16 Square Enix Holdings Co., Ltd. Management apparatus and control method of management apparatus
JP2013101584A (en) * 2011-11-07 2013-05-23 Square Enix Holdings Co Ltd Management device and control method of management device
US9240998B2 (en) 2011-11-07 2016-01-19 Shinra Technologies, Inc. Management apparatus and control method of management apparatus
WO2013094157A1 (en) * 2011-12-19 2013-06-27 日本電気株式会社 Cache device, communication method, and program
US9829954B2 (en) 2013-03-21 2017-11-28 Fujitsu Limited Autonomous distributed cache allocation control system
JP2015095246A (en) * 2013-11-14 2015-05-18 日本電信電話株式会社 Information processing system, management device, server device and key allocation program
JP2018524656A (en) * 2015-04-30 2018-08-30 ネットフリックス・インコーポレイテッドNetflix, Inc. Tiered cache fill
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 (en) * 2019-04-26 2020-11-05 富士通株式会社 Information processing apparatus, distributed processing system and distributed processing program
JP7192645B2 (en) 2019-04-26 2022-12-20 富士通株式会社 Information processing device, distributed processing system and distributed processing program

Similar Documents

Publication Publication Date Title
JP2005031987A (en) Content layout management system and content layout management program for content delivery system
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
KR102324987B1 (en) Method and apparatus for resource allocation
US9330004B2 (en) Data processing method, cache node, collaboration controller, and system
JP4681615B2 (en) Node workload split
US20150074222A1 (en) Method and apparatus for load balancing and dynamic scaling for low delay two-tier distributed cache storage system
US9767031B2 (en) Dynamic structural management of a distributed caching infrastructure
US20180074724A1 (en) Workload aware storage platform
CN108833503A (en) A kind of Redis cluster method based on ZooKeeper
JP2010033292A (en) Virtual server resource adjusting system, resource adjusting device, virtual server resource adjusting method, and computer program
Nannai John et al. A novel dynamic data replication strategy to improve access efficiency of cloud storage
JP2010102464A (en) Computer system and duplicate creation method in computer system
KR101236477B1 (en) Method of processing data in asymetric cluster filesystem
WO2017075967A1 (en) Bandwidth allocation method and system for on-line media service
Rajalakshmi et al. An improved dynamic data replica selection and placement in cloud
WO2023216571A1 (en) Resource scheduling method, apparatus and system for elastic-search cluster
CN114844912B (en) Data link distribution method and device and distributed block storage system
US9760405B2 (en) Defining enforcing and governing performance goals of a distributed caching infrastructure
CN115617468A (en) Tenant resource management method and tenant management system
WO2021210123A1 (en) Scheduling method, scheduler, gpu cluster system, and program
Wang et al. Provision of storage QoS in distributed file systems for clouds
Jayalakshmi et al. Dynamic data replication strategy in cloud environments
JP3672483B2 (en) Content distribution apparatus, content distribution method, and recording medium recording content distribution program
JP2014203329A (en) Storage system, node device, and data management method

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