JP2005018293A - Content delivery control device, content delivery control method and content delivery control program - Google Patents

Content delivery control device, content delivery control method and content delivery control program Download PDF

Info

Publication number
JP2005018293A
JP2005018293A JP2003180335A JP2003180335A JP2005018293A JP 2005018293 A JP2005018293 A JP 2005018293A JP 2003180335 A JP2003180335 A JP 2003180335A JP 2003180335 A JP2003180335 A JP 2003180335A JP 2005018293 A JP2005018293 A JP 2005018293A
Authority
JP
Japan
Prior art keywords
content
acquisition request
cache server
batching
client terminal
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.)
Pending
Application number
JP2003180335A
Other languages
Japanese (ja)
Inventor
Yasushi Ikeda
康 池田
Tensei Ko
天成 胡
Minoru Nakazawa
実 中沢
Michimitsu Hattori
進実 服部
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.)
Kanazawa Institute of Technology (KIT)
Original Assignee
Kanazawa Institute of Technology (KIT)
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 Kanazawa Institute of Technology (KIT) filed Critical Kanazawa Institute of Technology (KIT)
Priority to JP2003180335A priority Critical patent/JP2005018293A/en
Publication of JP2005018293A publication Critical patent/JP2005018293A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To realize a content delivery system that reduces loads on servers and networks. <P>SOLUTION: A content acquisition request reception part 310 receives content acquisition requests from users. A classification control part 324 classifies the content acquisition requests according to information about cache servers to be assigned and the like. A batching time computation part 326 sets batching times according to the classification. For every piece of content by the content acquisition requests, multicast streams are generated at periods of the batching time, and the users receive desired content. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、ネットワーク上におけるコンテンツ配信技術に関する。
【0002】
【従来の技術】
近年、インターネットのブロードバンド化に伴いWWW(World Wide Web)や電子メールなどのテキストデータだけではなく、音声や動画像といったマルチメディアデータを用いたコンテンツ配信サービスが行われるようになった。その中でもビデオオンデマンド(Video−on−Demand:以下、「VOD」と表記する)は、ホームエンターテイメント、デジタルビデオ・ライブラリ、ムービー・オンデマンド、遠隔授業、遠隔会議、インターネットショッピング、ニュース・オンデマンド、医療情報サービスなど、様々な分野での活用が期待されている。
【0003】
【非特許文献1】
池田康 外4名、「ポリシ選択型CDNプラットフォームの構成と検証」、電子情報通信学会論文誌 通信ソサエティ、社団法人 電気通信情報学会、2003年3月、VOL.J86−BNo.3、p.400−409
【非特許文献2】
Huadong Ma、Kang G.Shin、”Multicast Video−on−Demand Services”、ACM SIGCOMM Computer Communication Review Volume 32、Issue 1、pp.31−43、January 2002
【0004】
【発明が解決しようとする課題】
画像等を含むマルチメディアデータは、テキストデータに比べデータ量が大きいだけでなく、連続的に安定したネットワーク帯域を確保する必要があるため伝送コストが高い。したがって、ユーザからの配信要求が多くなり、ネットワークおよびサーバ処理能力を越えるとサービスの遅延・停止が発生する。
【0005】
このような問題に対処すべく提案されている技術として、CDN(Content Delivery/Distribution Network)がある。CDNは、コンテンツ配信のために複数のキャッシュサーバをネットワーク上に配置する。これらのキャッシュサーバはコンテンツのコピーを保持する。CDNはユーザがアクセスするクライアント端末のURL(Uniform Resource Locator)を調べて、最寄りのキャッシュサーバにつなぐ構成となっている。ユーザへのコンテンツ配信を複数のキャッシュサーバが行うため、ネットワークやキャッシュサーバの負荷が分散される効果がある。
【0006】
しかし、CDNを用いたとしても、ユーザ数やコンテンツの数、コンテンツ自体のデータ量が増加すれば、そのたびにキャッシュサーバの増強を余儀なくされる。CDNはコンテンツ配信システムが高コスト構造からの脱却するための決定打ではないのである。また、CDNはユニキャスト通信に基づくコンテンツ配信であるゆえに、ユーザ数の増加はそのまま通信コネクション数の増加につながる。ネットワークへの負荷が大きくなるため、キャッシュサーバへのアクセス数が増えるとネットワークの許容範囲を超えることも多い。
【0007】
本発明は上記背景に鑑みてなされたものであり、その目的は、ネットワークまたはキャッシュサーバの負荷を抑制してコンテンツの配信を行うための技術を提供すること、にある。
【0008】
【課題を解決するための手段】
本発明のある態様は、コンテンツ配信制御装置に関する。この装置は、ネットワークを介して接続されるクライアント端末から、画像または音声データを含むことにより構成される所望のデジタルコンテンツについての取得要求であるコンテンツ取得要求を受信する取得要求受信部と、受信したコンテンツ取得要求ごとに、その要求するデジタルコンテンツを送信すべきキャッシュサーバを割り当てるキャッシュサーバ選択部と、その割り当てたキャッシュサーバが送信すべきデジタルコンテンツごとに所定の待機時間であるバッチング時間を設定するバッチング時間設定部と、設定したバッチング時間が経過したことを契機として、その割り当てたキャッシュサーバからクライアント端末へのデジタルコンテンツの送信を行わしめるキャッシュサーバ制御部を含む。
【0009】
「キャッシュサーバ」とは、デジタルコンテンツをクライアント端末に送信する機能を有するサーバ装置をいう。同一のデジタルコンテンツを複数のキャッシュサーバが配信する能力を有してもよい。また、キャッシュサーバは、一台で複数のデジタルコンテンツを配信する能力を有してもよい。
コンテンツ配信制御装置は、クライアント端末と、キャッシュサーバを結びつけ、コンテンツ配信システム全体の制御を行うための装置である。
【0010】
この装置のキャッシュサーバ選択部は、受信したコンテンツ取得要求において要求されるデジタルコンテンツに基づいて、キャッシュサーバを割り当ててもよい。
【0011】
たとえば、多数のユーザからの需要が見込まれるデジタルコンテンツの場合には、一台のキャッシュサーバだけではすべてのユーザの要求に応えられない可能性がある。このような場合には、同一のデジタルコンテンツに対するコンテンツ取得要求を、複数のキャッシュサーバに振り分けることでキャッシュサーバやネットワークの負荷を分散できる。
【0012】
この装置のキャッシュサーバ選択部は、受信したコンテンツ取得要求を行ったクライアント端末に関する情報に基づいて、キャッシュサーバを割り当ててもよい。
【0013】
「クライアント端末に関する情報」とはクライアント端末のIPアドレス、所属するドメイン名、クライアント端末の性能などに関する機器情報、コンテンツ配信サービスに対する契約の内容、クライアント端末の所属するネットワークに関する情報などをいう。以下、このクライアント端末に関する情報のことを、単に「クライアント情報」とよぶ。
【0014】
受信したコンテンツ取得要求において要求されるデジタルコンテンツにつき、既にコンテンツ取得要求が行われている場合において、受信したコンテンツ取得要求を行ったクライアント端末と、既に行われているコンテンツ取得要求について割り当てられているキャッシュサーバとのネットワーク距離が所定の値以上であれば、キャッシュサーバ選択部は、受信したコンテンツ取得要求に対しては、割り当てられているキャッシュサーバとは別のキャッシュサーバを割り当ててもよい。
【0015】
「ネットワーク距離」とは、2つの通信ノード間における通信上の距離をいう。ネットワーク距離は、経由するルータやネットワークの数により定義されてもよい。あるいは、キャッシュサーバとクライアント端末の間の物理的な距離で定義してもよいし、通信スループットまで考慮して定義してもよい。
【0016】
受信したコンテンツ取得要求を行ったクライアント端末が、マルチキャストに対応するネットワークに所属しているか否かを検出する所属ネットワーク判断部を更に含み、その所属ネットワーク判断部が、クライアント端末はマルチキャストネットワークに所属していないことを検出した場合には、キャッシュサーバ制御部は、バッチング時間が経過していなくとも、キャッシュサーバからクライアント端末へのデジタルコンテンツの送信を行わしめてもよい。
【0017】
キャッシュサーバにかかる処理負荷に関する情報であるサーバ負荷情報を検出するサーバ負荷検出部を更に含み、キャッシュサーバ選択部は、検出したサーバ負荷情報に基づいて、受信したコンテンツ取得要求において要求されるデジタルコンテンツを送信すべきキャッシュサーバを割り当ててもよい。
【0018】
「サーバ負荷情報」とは、キャッシュサーバのCPU(Central Processing Unit)の使用率、RAM(Random Access Memory)などの記録媒体のメモリ使用量やメモリ占有率、キャッシュサーバが処理しているネットワークコネクション数などであってもよい。また、キャッシュサーバの処理能力を考慮して処理負荷を判定してもよい。以下、このサーバ負荷情報の外にも、サーバのIPアドレス、所属するドメイン名、キャッシュサーバの性能などに関する機器情報、配信能力を有するコンテンツの内容などの情報も含め、キャッシュサーバに関する情報を、まとめて「サーバ情報」とよぶ。
特定のキャッシュサーバに負荷が集中している場合には、別のキャッシュサーバにも処理を分担させることにより、全体としてキャッシュサーバの負荷を分散できる。
【0019】
この装置のバッチング時間設定部は、割り当てたキャッシュサーバについて検出したサーバ負荷情報に基づいて、バッチング時間の長さを変化させてもよい。
【0020】
この装置のバッチング時間設定部は、割り当てたキャッシュサーバが送信すべきデジタルコンテンツに対するコンテンツ取得要求の数に基づいて、バッチング時間を設定してもよい。
【0021】
キャッシュサーバ選択部によるキャッシュサーバの割り当て方についての規則である第1のポリシの入力を検出する第1ポリシ設定部を更に含み、入力を検出した第1のポリシに基づいて、キャッシュサーバ選択部はキャッシュサーバの割り当てを行ってもよい。
【0022】
バッチング時間設定部によるバッチング時間を設定するための規則である第2のポリシの入力を検出する第2ポリシ設定部を更に含み、入力を検出した第2のポリシに基づいて、バッチング時間設定部はバッチング時間の設定を行ってもよい。
【0023】
本発明の別の態様も、コンテンツ配信制御装置である。この装置は、ネットワークを介して接続されるクライアント端末から、画像または音声データを含むことにより構成される所望のデジタルコンテンツについての取得要求であるコンテンツ取得要求を受信する取得要求受信部と、受信したコンテンツ取得要求において要求されるデジタルコンテンツを検出するコンテンツ検出部と、検出したデジタルコンテンツごとに、受信したコンテンツ取得要求を分類する取得要求分類部と、分類したコンテンツ取得要求を一時的に保持するためのメモリ領域である取得要求保持領域を、その分類ごとに記録媒体において確保する取得要求保持領域管理部と、確保した取得要求保持領域のそれぞれにおいて保持するコンテンツ取得要求群ごとに、それらのコンテンツ取得要求が要求するデジタルコンテンツを送信すべきキャッシュサーバを割り当てるキャッシュサーバ設定部と、確保した取得要求保持領域のそれぞれにおいて保持するコンテンツ取得要求群ごとに、それらのコンテンツ取得要求を一時的に保持すべき時間であるバッチング時間を設定するバッチング時間設定部と、設定したバッチング時間の経過状況を監視するバッチング時間管理部と、設定したバッチング時間の経過を検出した場合には、そのバッチング時間に対応する取得要求保持領域に保持されているコンテンツ取得要求を読み出し、取得要求保持領域に対応して割り当てたキャッシュサーバから読み出したコンテンツ取得要求を行ったクライアント端末へのデジタルコンテンツの配信を行わしめるキャッシュサーバ制御部を含む。
【0024】
本発明の更に別の態様は、コンテンツ配信制御方法である。この方法は、ネットワークを介して接続されるクライアント端末から、画像または音声データを含むことにより構成される所望のデジタルコンテンツについての取得要求であるコンテンツ取得要求を受信するステップと、受信したコンテンツ取得要求ごとに、その要求するデジタルコンテンツを送信すべきキャッシュサーバを割り当てるステップと、割り当てたキャッシュサーバが送信すべきデジタルコンテンツごとに所定の待機時間であるバッチング時間を設定するステップと、設定したバッチング時間が経過したことを契機として、キャッシュサーバからクライアント端末へのデジタルコンテンツの送信を行わしめるステップを含むことを特徴とする。
【0025】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、サーバ、システム、コンピュータプログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【0026】
【発明の実施の形態】
インターネット上においては、特定のサーバにユーザのアクセスが殺到することはよくある。特に、人気のあるデジタルコンテンツ(以下、単に「コンテンツ」とよぶ)を有するサーバに対しては、一時的に大量のアクセスが集中しやすい。特定のサーバにユーザからのアクセスが集中すればサーバの負荷は増加し応答性は悪くなる。また、通信トラフィックの急増はネットワークに局所的な輻輳を発生させやすい。近年のブロードバンド化は、音声や動画像などデータ量の大きなコンテンツを受信しながら同時に再生を行ういわゆるストリーミングを可能としつつある。ネットワークがブロードバンド化しても、サーバやネットワークの負荷は付随的に増えるのである。
【0027】
IPネットワーク上で伝送コストを減らす手法としてIPマルチキャスト(以下、単に「マルチキャスト」とよぶ)がある。マルチキャストとは、一度のデータ送信で複数のクライアントが同一データを受信できるデータ配信技術である。マルチキャスト配信の対象となるクライアント端末はそのマルチキャストグループに登録される。ルータは、サーバから受け取ったマルチキャスト配信のパケットが別々のネットワークに所属するクライアント端末にそれぞれ送信されるべきパケットであれば、パケットをコピーしてそれぞれのネットワークに流す。ユニキャストにおいては、サーバはサービスを受けるべきクライアントのそれぞれに対して通信コネクションを張り、クライアントそれぞれに対して同一のパケットを送信する。これに対して、マルチキャストにおいては、サーバが送出したパケットをルータが必要に応じてコピーするので、ネットワーク全体としての通信トラフィックが軽減される。また、サーバはクライアントごとに通信コネクションを張るための処理が必要でないので、サーバ自体の負荷も軽減される。
【0028】
マルチキャストの利点をまとめると以下のようになる。
(1)クライアントごとに通信コネクションを張る必要がないため、ネットワークの通信帯域消費量が減少する。このため、ネットワーク全体としての通信トラフィックも軽減される。
(2)クライアントごとに通信コネクションを張る必要がないため、サーバの負荷が軽減される。このため、コンテンツ配信システム全体としてのスループットが向上する。
(3)新規のクライアントに対しても、その新規クライアントをマルチキャストグループに登録するだけで対応できるため、コンテンツ配信システム全体としてのスケーラビリティが高い。
【0029】
しかし、既存のマルチキャスト配信方法では、複数のクライアントが同じマルチキャストストリームに参加するために、サーバに対して同時刻にアクセスする必要がある。ゆえに、マルチキャストはユーザが様々な時刻にアクセスするVODシステムのようなアプリケーションには不向きとされ、IPレベルでのマルチキャスト・VODは普及しなかった。
【0030】
現在のVODを取り巻く状況は必ずしも盤石ではなく、新しいVODアーキテクチャが求められている。本発明で提案するコンテンツ配信制御装置は、IPレベルでのマルチキャストに注目し、新しいマルチキャスト・VOD(以下、「MVOD:Multicast VOD」とよぶ)アーキテクチャを提案するものである。
【0031】
マルチキャスト配信をVODに近づけるための方法としてバッチング方式とよばれる方法がある。本実施の形態においては、コンテンツ配信制御装置にこのバッチング方式を取り入れることによりMVODを実現する。コンテンツ配信制御装置とは、ユーザからのコンテンツ取得要求を適切なキャッシュサーバへ振り分けるコンテンツ配信システムを制御するための装置である。
【0032】
図1は、コンテンツ配信システム200の概念図である。コンテンツ配信システム200は、キャッシュサーバ群210、クライアント端末群220およびコンテンツ配信制御装置230を含んで構成される。キャッシュサーバ群210は、コンテンツの配信を行うキャッシュサーバの集合であり、クライアント端末群220はキャッシュサーバからコンテンツの配信サービスを受けるべきクライアント端末の集合である。コンテンツ配信制御装置230は両者の仲介を行う装置である。コンテンツ配信制御装置230は、クライアント端末が要求するコンテンツを保持するキャッシュサーバをキャッシュサーバ群210から探索する。また、その探索したキャッシュサーバのうち、クライアント端末に対して実際にコンテンツを配信すべきキャッシュサーバの選択も行う。さらに、その選択されたキャッシュサーバが要求されたコンテンツをクライアント端末に配信するタイミングの制御も行う。
【0033】
以下では、まずバッチング方式について説明し、コンテンツ配信制御装置にバッチング方式を取り入れる利点について説明する。その後、コンテンツ配信システム全体の処理について説明する。
【0034】
「バッチング方式」とは、ある一定時間において、同じコンテンツに対する複数のクライアントからのコンテンツ取得要求を、一つのマルチキャストストリームで処理する方法である。以下、この一定時間のことを「バッチング時間」とよぶ。また、バッチング時間中におけるコンテンツ取得要求の募集を行うことを「バッチング」とよぶ。コンテンツを配信するサーバにはクライアントからのコンテンツ取得要求を一時的に蓄えるキューを用意する。キューに蓄えられたコンテンツ取得要求の送信元である複数のクライアントにつき、要求されるコンテンツごとにマルチキャストグループを生成する。そして、設定されたバッチング時間を周期として定期的にマルチキャストストリームが生成され、クライアント端末へのコンテンツ配信が実現される。
【0035】
バッチング方式によるマルチキャスト配信では、バッチング時間中に多くのコンテンツ取得要求があったとしても一つのマルチキャストストリームで対応できるため、クライアント数の増加に対するスケーラビリティが高い。ユニキャストに比べてサーバの負荷も軽減される。ユーザは、コンテンツ配信用のサーバにアクセスしたタイミングでいずれかのマルチキャストストリームにより、コンテンツを受信できる。バッチング時間が長いほど、コンテンツ配信システムのスループットが向上する。サーバがマルチキャストストリームを生成してコンテンツを配信する頻度が低下するため、サーバの負荷が軽減されるからである。また、同様の理由からネットワークにおける通信トラフィックも軽減される。バッチング時間を短く設定すれば、ユーザのコンテンツ取得要求に対する即時性が向上する。図2にバッチング方式の概念図を示す。
【0036】
バッチング方式によれば、マルチキャストの利点を生かしつつ、コンテンツ配信を行うことができる。しかし、バッチング方式はコンテンツ配信用の各サーバ上での実装を前提としているため、それぞれのサーバにバッチングを行うための機能追加が必要であり設備コストが高い。また、コンテンツ配信用のサーバのそれぞれが、ユーザのコンテンツ取得要求についてのキュー管理やバッチング時間の管理などのさまざまな処理を行う必要がある。これにより、各サーバの処理負荷が高くなる。
【0037】
バッチング方式においては、ユーザのリクエストを蓄えるキューの管理方式も重要な要素となる。代表的なキュー管理方式としてFCFS(First Come First Serve)、MQL(Maximum Queue Length first)、MFQ(Maximum Factored Queue Length first)がある。しかしこれらの方式は、コンテンツ数の多い環境では効率が悪く適さない。既存のキュー管理方式は、コンテンツ配信用のサーバにおけるキューの管理には適するが、本実施の形態におけるコンテンツ配信制御装置のように、クライアント端末からのコンテンツ取得要求を複数のキャッシュサーバに振り分ける装置について適合するものではないからである。なぜならば、コンテンツ配信制御装置のパフォーマンスは、各キャッシュサーバやネットワークの負荷などの要因の影響を受けるからである。これらの方式はそのような状況を想定したキュー管理方式ではない。したがってコンテンツ配信制御装置においては、これらの要因も考慮したキュー管理方式を取り入れる必要がある。コンテンツ配信制御装置のキュー管理については後に詳述する。
【0038】
本実施の形態においては、バッチング方式を取り入れたコンテンツ配信制御装置とそれによるコンテンツ配信システムを提案する。コンテンツ配信制御装置にクライアントからのコンテンツ取得要求を一時的に蓄えるキューを用意し、次に提案するキュー管理方式にもとづいてキャッシュサーバの制御を行う。コンテンツ配信制御装置においてバッチング方式を取り入れる利点を6つにまとめ、以下に挙げる。
【0039】
(1)低コストで実現できる。
キャッシュサーバにおいてバッチングに関する複雑な処理を必要としない。そのため、キャッシュサーバに機能追加が必要なく既存のキャッシュサーバをそのまま使える。キャッシュサーバ上でバッチングを行う場合にはキャッシュサーバ上でキューを保持しなければならないため、全てのキャッシュサーバにおいてそれぞれキューの容量をピーク設計しなければならない。しかし、コンテンツ配信制御装置においてバッチングを行う場合、コンテンツ配信制御装置においてのみピーク設計すればよい。前述したように、コストの問題はコンテンツ配信において非常に重要であるためこの利点は大きい。
【0040】
(2)キュー管理を柔軟に行うことができる。
キャッシュサーバおよびネットワークの状況に応じてコンテンツ配信システムの稼働中であっても動的にキューの設定を変更できる。すなわち、キャッシュサーバやネットワークの負荷、コンテンツに対するコンテンツ取得要求の数、コンテンツ取得要求を行っているクライアント端末の分布状況などのさまざまな状況に鑑みてキューの制御を行うことができる。また、コンテンツ配信制御装置ですべてのコンテンツ取得要求を一元的に処理するので、キャッシュサーバ単体ではなく複数のキャッシュサーバで総合的なキュー管理が可能である。キューの管理方針などに関する設定を一元的に行うことができるため、システム全体としてのメンテナンス性も向上する。
【0041】
(3)クライアント端末の状況に応じた制御が可能である。
コンテンツ配信制御装置にてクライアント情報を取得して、それを基にしたキャッシュサーバの割り当てが可能である。たとえば、コンテンツ配信を行うキャッシュサーバとサービスを受けるクライアント端末はネットワーク上である程度近接するように、キャッシュサーバを割り当てることにより、配信サービスの品質向上が図られる。あるいは、コンテンツの内容が地方のニュースなど、地域性を有するものであれば、そのコンテンツを必要とするクライアント端末の分布状況を予め予測することも可能である。このような場合には、コンテンツの内容とクライアント端末のネットワーク上の位置に基づいてキャッシュサーバを割り当てることにより、効率的なコンテンツ配信が可能となる。
【0042】
(4)アドレス管理が容易となる。
コンテンツ配信制御装置にて、複数のキャッシュサーバにおいて使用中のマルチキャストアドレスを一元的に把握し管理できる。また、コンテンツ配信制御装置においてのみマルチキャストストリームの割り当てを行うことができる環境であれば、コンテンツ配信システム内における不正なマルチキャストアドレスの使用を防ぎやすい。
【0043】
(5)規模拡張性が高い。
キャッシュサーバの増加に対して、コンテンツ配信制御装置の設定のみ変更すればよいので規模拡張性が高い。また、コンテンツ配信制御装置はキャッシュサーバのアドレスまたはURL割り当てのみを行い、自らコンテンツ配信処理を行う必要がないので、マルチキャストプロトコルと独立した運用が可能である。
【0044】
(6)部分適用性が高い。
コンテンツ配信制御装置はクライアント情報に基づいて、クライアント端末が属するネットワークがマルチキャストネットワークか非マルチキャストネットワークかを判別できる。この判別情報によりキャッシュサーバの割り当てを制御できる。コンテンツ配信制御装置がキャッシュサーバの割り当てを制御するため、コンテンツ配信システムにマルチキャスト非対応のキャッシュサーバが混在していていもまとめて管理できる。
【0045】
図3はコンテンツ配信制御装置の処理の流れの大要を示す図である。同図においては、クライアント端末はマルチキャストに対応するネットワークに属すものもあれば、属さないものもある。
(1)クライアント端末はコンテンツ配信制御装置(CRS with Batching)に対してコンテンツ取得要求(Query of Contents)を行う。この際、クライアント端末はコンテンツ配信制御装置の所在を事前にDNS(Domain Name System)サーバにアクセスすることによって取得している。
(2)コンテンツ配信制御装置はバッチング時間中においてコンテンツ取得要求を募集、すなわちバッチングを行い、マルチキャストグループの生成を行う。クライアント端末がマルチキャストに対応したネットワークに所属していない場合には、バッチング対象外としてユニキャスト用のキャッシュサーバを割り当てる。
(3)コンテンツ配信制御装置がコンテンツ取得要求を募集した後、バッチング時間が経過すると、それまでに受け付けられたコンテンツ取得要求を行ったクライアント端末に対して、割り当てたキャッシュサーバへのリダイレクト指令を行う。リダイレクト指令とは、クライアント端末に対して、コンテンツを配信すべきキャッシュサーバの所在を知らせるものである。
(4)クライアント端末はリダイレクト指令によって指定されたキャッシュサーバへコンテンツの配信を要求する。以下、クライアント端末からコンテンツ配信装置へのコンテンツ取得要求と、クライアント端末からキャッシュサーバへのコンテンツの配信の要求を明示的に区別するため、場面に応じて特に前者を「第1リクエスト」、後者を「第2リクエスト」ともよぶものとする。
(5)キャッシュサーバは第2リクエストのあったコンテンツをマルチキャストまたはユニキャストにより要求元のクライアント端末に配信する。
以上、(1)〜(5)の処理によって複数のクライアント端末に対するMVODが実現される。
【0046】
コンテンツの増加や大容量化によってキャッシュサーバの処理能力を超えてコンテンツ取得要求がなされる場面が想定される。この場合、どのコンテンツ取得要求をどのキャッシュサーバにどの順番で割り当てを行うのかによって、VODシステム全体において同時に対応可能なクライアント端末数は変わってくる。キュー管理方式は、割り当てスケジューリングに直結しているためバッチングにおいて重要な要素である。
【0047】
代表的なキュー管理方式としてFCFS、MQL、MFQがあるが、これらはコンテンツ配信を行うサーバ上でのキュー管理を前提としている。そのため、コンテンツ配信制御装置において、これらのキュー管理方式をそのまま適用した場合、各キャッシュサーバやネットワークの負荷を考慮せずに、複数のクライアントからのコンテンツ取得要求を複数のキャッシュサーバに割り当てることになるため効率が良くない。そこで、本実施の形態におけるコンテンツ配信装置においては、キャッシュサーバとクライアント端末を結ぶネットワーク広域性とコンテンツ数を考慮したキュー管理方式を提案する。
【0048】
まず、先述の各種のキュー管理方式について説明する。
(1)FCFS
キューの中で一番長い時間待たされたコンテンツ取得要求を次の割り当て対象とする。この方式の利点は、コンテンツの人気度を考慮しないため、すべてのクライアント端末のコンテンツ取得要求に対して公平であることである。しかし、この方式ではVODシステムのスループットが低くなる。
(2)MQL
キューの中で最もコンテンツ取得要求の多いコンテンツを次の割り当て対象とする。この方式は、コンテンツ取得要求が行われた時刻やクライアント端末の状況については考慮せず、キューの中にあるコンテンツ取得要求の数だけをパラメタとするため公平性がない。より人気度の高いコンテンツについて優先的にコンテンツ配信が行われる。
(3)MFQ
キューの中で待たされる時間とコンテンツの人気度の両方を考慮したアクセス頻度によって次の割り当て対象を決定する。この方式は、MQLに近いスループットを、ある程度の公平性を保ったまま実現できる。
【0049】
これまで、3つの既存のキュー管理方式について述べたが、これらは複数のキャッシュサーバが存在するシステムでは効率が悪く、コンテンツ配信制御装置においてバッチングを行う場合には不適当である。これらのキュー管理方式は、一つのコンテンツ配信用のサーバ上で実装されることを前提としているため、キャッシュサーバおよびクライアント端末を結ぶネットワークの広域性が考慮されないからである。具体的には、3つの問題点がある。まとめたものを下に挙げる。
(1)全てのコンテンツ取得要求が一つのキューによって管理されているため、コンテンツごとにキャッシュサーバの負荷やコンテンツ取得要求の数による細かなキュー管理ができない。
(2)キュー管理のパラメタがコンテンツ取得要求の数とその要求の処理までの待機時間だけであるため、キャッシュサーバおよびクライアント端末の位置情報を考慮することができず、キャッシュサーバ割り当てにキャッシュサーバとクライアント端末とのネットワーク上の距離に関する情報を反映させることができない。
(3)バッチングの周期が一定であることと、全コンテンツが同じバッチング時間であるため、一つのコンテンツに対するバッチング効率を考慮できない。
以上の問題点を考慮し、本実施の形態で提案する新しいキュー管理方式の概要を示したのが図4であり、図3のバッチング処理の部分に相当する。
【0050】
図4はバッチングの処理の流れについて説明するための模式図である。バッチング処理部はユーザからのコンテンツ取得要求を集積し、各ユーザに対して所望のコンテンツを配信すべきキャッシュサーバの割り当てを行う。ここでは、バッチング処理部の機能ブロック図の説明に先立ち、その処理の概要について述べる。
【0051】
クライアント端末からコンテンツ配信制御装置に送信した第1リクエスト(Query)は、まず、共通のキューに入る。次に分類部(Classifier)がステータス情報(クライアント情報、サーバ情報、コンテンツ情報)に基づいてキューをコンテンツごとに生成し、対応するキャッシュサーバを割り当て、それぞれにバッチング時間を設定する。「コンテンツ情報」とはコンテンツの人気度やコンテンツに付属する情報をいう。バッチング時間がゼロになると、リダイレクション処理部(Redirect Engine)はキューにある第1リクエストの送信元であるクライアント端末を一つのマルチキャストグループとして、その各クライアント端末にリダイレクト指令を行う。リダイレクト指令を送信した後、割り当てたキャッシュサーバがコンテンツ配信を行うまでの処理については後に詳述する。
【0052】
分類部における処理の流れを図5に示す。
受信した第1リクエストは分類部により取り出される。そして、取り出された第1リクエストを送信したクライアント端末が、マルチキャスト対応のネットワークに所属しているか否かを判断する。マルチキャスト非対応である場合には、適当なキャッシュサーバによりコンテンツをユニキャスト配信させるように制御する。クライアント端末がマルチキャスト対応のネットワークに所属していれば、その第1リクエストの要求するコンテンツの配信用として割り当てられているキャッシュサーバと、新たに受信した第1リクエストの送信元であるクライアント端末とのネットワーク距離を検査する。ネットワーク距離が所定の値より大きい場合には、新たにキューを生成し、妥当な近接度のキャッシュサーバをコンテンツ配信用に割り当てる。そして、その割り当てたキャッシュサーバのサーバ情報やコンテンツ情報、後に述べるポリシ情報に基づいて、バッチング時間を設定する。
【0053】
一方、すでに割り当てられているキャッシュサーバと、新たに受信した第1リクエストの送信元であるクライアント端末のネットワーク距離が所定の値よりも小さい場合には、そのキャッシュサーバの負荷状況を検査する。キャッシュサーバの負荷が所定値以下であれば、そのままそのキャッシュサーバが割り当てられるキューに、新たに受信した第1リクエストを追加する。
【0054】
分類部がキューを生成するときに設定するバッチング時間は、主としてキャッシュサーバの負荷状況とコンテンツの人気度によって決まる。キャッシュサーバの負荷が重くなる傾向にある場合には、バッチング時間を長くすることでキャッシュサーバが処理するマルチキャストストリーム数を減らして負荷の増加を抑える。これにより、一つのマルチキャストストリームで処理するユーザの数が増加するため、バッチングの効率が高くなる。逆にキャッシュサーバの負荷が軽い場合には、バッチング時間を短くすることで要求に対するコンテンツ配信の即時性を向上させる。
【0055】
コンテンツ配信制御装置はキャッシュサーバとクライアント端末のネットワーク上の位置だけでなく、キャッシュサーバの負荷やコンテンツ名もパラメタにしてキャッシュサーバの割り当てを行うことができる。コンテンツ配信制御装置の構成を図6に示す。
【0056】
コンテンツ配信制御装置の構成要素はSNMP(Simple Network Management Protocol)とポリシ、マッピング処理部、バッチング処理部の4つである。順に説明する。
(1)SNMP
SNMPはエージェント、マネージャ、管理ブロック(MIB:Management Information Base)の3つのコンポーネントで構成されており、ネットワーク上に点在するネットワーク機器の管理・状況把握などをおこなうプロトコルである。本実施の形態においては、各キャッシュサーバの状態を把握するために用いる。SNMPマネージャは、キャッシュサーバ群(Neighboring Servers)にアクセスし、それぞれのサーバ情報を取得してサーバ情報格納部に格納する。
(2)ポリシ
ポリシとは、コンテンツ配信制御装置がどのようにキャッシュサーバ割り当てを行えばよいかが記述されたものである。具体的には、サーバ情報やクライアント情報、コンテンツ情報をパラメタにキャッシュサーバ選択を行う関数のことである。ポリシはコンテンツ配信制御装置上に複数個実装可能で、管理者によって遠隔から動的に変更できる。
(3)マッピング処理部
マッピング処理部には2つの機能がある。一つは、SNMPなどによって取得したステータス情報をポリシに基づいて処理し、割り当てるべきキャッシュサーバ選択を行う機能である。ステータス情報とは、クライアント情報格納部、コンテンツ情報格納部、サーバ情報格納部にそれぞれ格納されるクライアント情報、コンテンツ情報およびサーバ情報をいう。もう一つは、バッチング処理において分類部がキューイングを行う際に必要とするステータス情報を提供することである。
(4)バッチング処理部
バッチング処理部はクライアント端末とのインタフェースとなる。バッチング処理部は、クライアント端末よりコンテンツ取得要求を受け付け、バッチング後、リダイレクト指令を送信する。バッチング処理部は、前述したキュー管理方式を実際に具体化したものである。
【0057】
図7は、クライアント端末が第1リクエストを行い、マルチキャストストリームを受信するまでのシーケンス図である。
まず、クライアントはコンテンツ配信制御装置へ第1リクエストをHTTP(HyperText Transfer Protocol)により行う(GET:Content)。コンテンツ配信制御装置はバッチングを行い、クライアント端末に対してメタファイルのリダイレクト指令を出す(Redirect:Metafile)。メタファイルとはクライアント端末のブラウザがストリーミング再生を行うために必要な情報を記述したファイルのことである。メタファイルには、割り当てたキャッシュサーバやコンテンツの所在情報であるURLが含まれる。また、コンテンツの抄録やタイトル、著作権に関する情報が含まれてもよい。
【0058】
クライアント端末はリダイレクト指令に従い、コンテンツ配信制御装置へメタファイルを要求し取得する(GET:Metafile、RES:Metafile)。このとき、同じマルチキャストストリームへバッチングされた全クライアント端末は同じメタファイルを取得することになる。クライアント端末はメタファイルに記述された内容に基づいて割り当てられたキャッシュサーバへ第2リクエストを行う(GET:Content)。キャッシュサーバはその要求を受信した時点でマルチキャストストリーム配信を開始する。
【0059】
コンテンツをユニキャストにより配信する場合には、コンテンツ配信制御装置はユニキャスト用のメタファイルをクライアント端末にダウンロードさせる。そして、クライアント端末は、指定されたキャッシュサーバにユニキャストにより第2リクエストを行う。
【0060】
図8は、バッチング処理部232の機能ブロック図である。バッチング処理部232はコンテンツ取得要求受信部310、分類処理部320およびリダイレクション処理部330を含む。コンテンツ取得要求受信部310はクライアント端末からコンテンツ取得要求を受信し、これを一時的に保持する。分類処理部320は、コンテンツ取得要求受信部310が受信したコンテンツ取得要求群をステータス情報に基づいて分類する。分類処理部320は、分類制御部324およびバッチング時間演算部326を含む。分類制御部324は、コンテンツ取得要求受信部310が受信して保持するコンテンツ取得要求を適宜取り出して分類する。コンテンツ取得要求には、送信元であるクライアント端末のIPアドレス、要求するコンテンツなどの情報が含まれる。マッピング処理部350はこれらの情報をもとに、送信元であるクライアント端末に所望のコンテンツを配信するのに最適なキャッシュサーバを選択する。バッチング時間演算部326は、分類制御部324から受け取ったステータス情報を元にして最適なバッチング時間を計算する。
【0061】
リダイレクション処理部330は、分類処理部320において指定されたキャッシュサーバによるクライアント端末へのコンテンツ配信を制御する。リダイレクション処理部330は、コンテンツ取得要求格納部332、コンテンツ取得要求処理部334、バッチング時間処理部336、メタファイル生成部338、リダイレクト指令送信部340、メタファイル送信部342およびメタファイル格納部344を含む。コンテンツ取得要求処理部334は分類制御部324が分類したコンテンツ取得要求を取得する。コンテンツ取得要求処理部334は、その分類に応じてコンテンツ取得要求をコンテンツ取得要求格納部332に格納する。コンテンツ取得要求処理部334からの指示をうけて、バッチング時間処理部336はバッチング時間をタイマー設定し、時間の管理を行う。メタファイル生成部338は、メタファイルを生成しメタファイル格納部344に格納する。
【0062】
バッチング時間処理部336がバッチング時間の経過を検出すると、リダイレクト指令送信部340はクライアント端末に対してリダイレクト指令を行う。メタファイル送信部342は、クライアント端末からのメタファイル取得要求を受信すると、メタファイル格納部344に格納されるメタファイルを送信する。クライアント端末は受信したメタファイルの記述に従って、キャッシュサーバに第2リクエストを行い、コンテンツの配信がなされるのは前述の通りである。
【0063】
図9は、マッピング処理部350の機能ブロック図である。マッピング処理部350は、ステータス情報取得部352、マルチキャストネットワーク判定部354およびキャッシュサーバ選択部356を含む。ステータス情報取得部352はステータス情報や設定されたポリシに関する情報を取得する。マルチキャストネットワーク判定部354は、第1リクエスト要求を行ってきたクライアント端末がマルチキャスト対応のネットワークに所属するか否かを判断する。キャッシュサーバ選択部356は、第1リクエストに対して、コンテンツ配信を行うべきキャッシュサーバの選択を行う。
【0064】
以上、実施の形態においては、コンテンツ配信制御装置を既存のコンテンツ配信システムに追加するだけでよい。また、実装が容易であり低コストでかつ規模拡張性に優れる。このため、大規模なVOD配信を可能にするものと考えられる。
【0065】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0066】
そうした変形例として、バッチング時間を周期としてキャッシュサーバにマルチキャストストリームを生成させるのではなく、あるコンテンツに対する第1リクエストを所定数受信したことを契機として生成させてもよい。バッチング時間は、マルチキャスト配信を行う時間帯に応じて変更してもよい。たとえば、日中のネットワーク負荷が一般的に高い時間帯においてはバッチング時間を長く設定し、深夜のようにネットワーク負荷が一般的に低い時間帯においてはバッチング時間を短く設定しても良い。
【0067】
また、バッチング時間の長さやキャッシュサーバの割り当て方法に関するポリシについては、複数の関数を組み合わせてプログラム形式で設定できてもよい。
【0068】
【発明の効果】
本発明によれば、ネットワークまたはキャッシュサーバの負荷を抑制してコンテンツの配信を行うことができる。
【図面の簡単な説明】
【図1】本実施の形態におけるコンテンツ配信制御装置の役割を示す模式図である。
【図2】バッチング方式を説明するための模式図である。
【図3】コンテンツ配信制御装置によるキャッシュサーバの割り当てからコンテンツの配信までの概要を示す図である。
【図4】バッチング処理の流れの概要を示す図である。
【図5】図4の分類部における処理のフローチャートである。
【図6】コンテンツ配信制御装置の構成を示す図である。
【図7】クライアント端末がコンテンツ取得要求を行ってマルチキャストストリームを受信するまでのシーケンス図である。
【図8】コンテンツ配信制御装置におけるバッチング処理部の機能ブロック図である。
【図9】コンテンツ配信制御装置におけるマッピング処理部の機能ブロック図である。
【符号の説明】
230 コンテンツ配信制御装置、232 バッチング処理部、310 コンテンツ取得要求受信部、320 分類処理部、324 分類制御部、326 バッチング時間演算部、330 リダイレクション処理部、332 コンテンツ取得要求格納部、334 コンテンツ取得要求処理部、336 バッチング時間処理部、340 リダイレクト指令送信部、342 メタファイル送信部、350マッピング処理部、352 ステータス情報取得部、354 マルチキャストネットワーク判定部、356 キャッシュサーバ選択部。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a content distribution technique on a network.
[0002]
[Prior art]
In recent years, content distribution services using multimedia data such as voice and moving images as well as text data such as WWW (World Wide Web) and e-mail have been provided along with the broadbandization of the Internet. Among them, video-on-demand (hereinafter referred to as “VOD”) is home entertainment, digital video library, movie on demand, distance learning, remote conference, Internet shopping, news on demand, It is expected to be used in various fields such as medical information services.
[0003]
[Non-Patent Document 1]
Yasushi Ikeda and 4 others, “Configuration and Verification of Policy Selective CDN Platform”, IEICE Transactions Society, The Institute of Telecommunications Information, March 2003, VOL. J86-BNo. 3, p. 400-409
[Non-Patent Document 2]
Huadong Ma, Kang G., et al. Shin, “Multicast Video-on-Demand Services”, ACM SIGCOMM Computer Communication Review Volume 32, Issue 1, pp. 199 31-43, January 2002
[0004]
[Problems to be solved by the invention]
Multimedia data including images and the like has not only a large amount of data compared to text data, but also has a high transmission cost because it is necessary to ensure a continuously stable network bandwidth. Accordingly, there are many distribution requests from users, and if the network and server processing capabilities are exceeded, service delays and stops occur.
[0005]
As a technique proposed to deal with such a problem, there is a CDN (Content Delivery / Distribution Network). CDN arranges a plurality of cache servers on a network for content distribution. These cache servers hold a copy of the content. The CDN is configured to check the URL (Uniform Resource Locator) of the client terminal accessed by the user and connect to the nearest cache server. Since content distribution to users is performed by a plurality of cache servers, the load on the network and the cache server is distributed.
[0006]
However, even if the CDN is used, if the number of users, the number of contents, and the data amount of the contents themselves increase, the cache server must be increased each time. CDN is not a decisive action for a content distribution system to break away from a high cost structure. Further, since CDN is content distribution based on unicast communication, an increase in the number of users directly leads to an increase in the number of communication connections. Since the load on the network becomes large, when the number of accesses to the cache server increases, the allowable range of the network is often exceeded.
[0007]
The present invention has been made in view of the above background, and an object of the present invention is to provide a technique for distributing content while suppressing a load on a network or a cache server.
[0008]
[Means for Solving the Problems]
One embodiment of the present invention relates to a content distribution control apparatus. This apparatus receives from a client terminal connected via a network an acquisition request receiving unit that receives a content acquisition request that is an acquisition request for desired digital content configured by including image or audio data. For each content acquisition request, a cache server selection unit that allocates a cache server to which the requested digital content is to be transmitted, and batching that sets a predetermined waiting time for each digital content to be transmitted by the allocated cache server A time setting unit and a cache server control unit that transmits digital content from the allocated cache server to the client terminal when the set batching time has elapsed are included.
[0009]
“Cache server” refers to a server device having a function of transmitting digital content to a client terminal. A plurality of cache servers may have the ability to distribute the same digital content. Moreover, the cache server may have a capability of distributing a plurality of digital contents by one unit.
The content distribution control device is a device for connecting a client terminal and a cache server to control the entire content distribution system.
[0010]
The cache server selection unit of this device may assign a cache server based on the digital content requested in the received content acquisition request.
[0011]
For example, in the case of digital contents for which demand from a large number of users is expected, there is a possibility that only one cache server cannot meet the demands of all users. In such a case, the load on the cache server or the network can be distributed by distributing content acquisition requests for the same digital content to a plurality of cache servers.
[0012]
The cache server selection unit of this apparatus may assign a cache server based on the received information regarding the client terminal that has made the content acquisition request.
[0013]
“Information about the client terminal” means the IP address of the client terminal, the domain name to which the client terminal belongs, device information about the performance of the client terminal, the contents of the contract for the content distribution service, information about the network to which the client terminal belongs. Hereinafter, the information regarding the client terminal is simply referred to as “client information”.
[0014]
For the digital content requested in the received content acquisition request, when the content acquisition request has already been made, the client terminal that has made the received content acquisition request is assigned to the content acquisition request that has already been made. If the network distance to the cache server is equal to or greater than a predetermined value, the cache server selection unit may assign a cache server different from the assigned cache server to the received content acquisition request.
[0015]
“Network distance” refers to a communication distance between two communication nodes. The network distance may be defined by the number of routers and networks that pass through. Alternatively, it may be defined by a physical distance between the cache server and the client terminal, or may be defined in consideration of communication throughput.
[0016]
It further includes an affiliated network determination unit that detects whether or not the client terminal that has received the received content acquisition request belongs to a network that supports multicast, and the affiliated network determination unit includes the client terminal that belongs to the multicast network. If it is detected that the data is not stored, the cache server control unit may transmit the digital content from the cache server to the client terminal even if the batching time has not elapsed.
[0017]
The server further includes a server load detection unit that detects server load information that is information related to the processing load applied to the cache server, and the cache server selection unit is a digital content requested in the received content acquisition request based on the detected server load information. May be assigned to the cache server to be transmitted.
[0018]
“Server load information” refers to the usage rate of the CPU (Central Processing Unit) of the cache server, the memory usage and memory occupation rate of the recording medium such as RAM (Random Access Memory), and the number of network connections processed by the cache server. It may be. Further, the processing load may be determined in consideration of the processing capacity of the cache server. In addition to this server load information, information related to the cache server, including the server IP address, the domain name to which the server belongs, device information related to the performance of the cache server, and the contents of content having distribution capability, etc. This is called “server information”.
When the load is concentrated on a specific cache server, the load on the cache server can be distributed as a whole by sharing the processing with another cache server.
[0019]
The batching time setting unit of this device may change the length of the batching time based on the server load information detected for the allocated cache server.
[0020]
The batching time setting unit of this apparatus may set the batching time based on the number of content acquisition requests for digital content to be transmitted by the allocated cache server.
[0021]
The cache server selection unit further includes a first policy setting unit that detects an input of a first policy that is a rule on how to allocate a cache server by the cache server selection unit, and based on the first policy that has detected the input, the cache server selection unit A cache server may be allocated.
[0022]
The batching time setting unit further includes a second policy setting unit that detects an input of the second policy, which is a rule for setting the batching time by the batching time setting unit, and the batching time setting unit is based on the second policy in which the input is detected. You may set batching time.
[0023]
Another aspect of the present invention is also a content distribution control device. This apparatus receives from a client terminal connected via a network an acquisition request receiving unit that receives a content acquisition request that is an acquisition request for desired digital content configured by including image or audio data. A content detection unit that detects digital content requested in the content acquisition request, an acquisition request classification unit that classifies the received content acquisition request for each detected digital content, and temporarily holds the classified content acquisition request The acquisition request holding area that is a memory area of the acquisition request holding area management unit that reserves in the recording medium for each classification and the content acquisition request group that holds each acquisition request holding area in the acquired acquisition request holding area. Digital content requested by the request For each content acquisition request group held in each of the acquired acquisition request holding areas and a cache server setting unit that allocates a cache server to be transmitted, a batching time that is a time for temporarily holding those acquisition requests is set. The batching time setting unit to monitor, the batching time management unit to monitor the progress of the set batching time, and when the set batching time has passed, it is held in the acquisition request holding area corresponding to the batching time. A cache server control unit that reads out the content acquisition request that is received and distributes the digital content to the client terminal that has made the content acquisition request read from the cache server assigned in correspondence with the acquisition request holding area.
[0024]
Yet another aspect of the present invention is a content distribution control method. The method includes a step of receiving a content acquisition request, which is an acquisition request for desired digital content configured by including image or audio data, from a client terminal connected via a network, and the received content acquisition request Assigning a cache server to which the requested digital content is to be transmitted, setting a batching time which is a predetermined waiting time for each digital content to be transmitted by the allocated cache server, and setting the batching time. It is characterized by including a step of transmitting digital content from the cache server to the client terminal when triggered.
[0025]
It should be noted that any combination of the above-described constituent elements and a representation of the present invention converted between a method, apparatus, server, system, computer program, recording medium, etc. are also effective as an aspect of the present invention.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
On the Internet, users often rush to specific servers. In particular, a large amount of access tends to be temporarily concentrated on a server having popular digital content (hereinafter simply referred to as “content”). If accesses from users concentrate on a specific server, the load on the server increases and the responsiveness deteriorates. Moreover, the rapid increase in communication traffic tends to cause local congestion in the network. In recent years, broadbandization has enabled so-called streaming in which content with a large amount of data such as voice and moving images is received and played back simultaneously. Even if the network becomes broadband, the load on the server and network increases incidentally.
[0027]
There is IP multicast (hereinafter simply referred to as “multicast”) as a technique for reducing transmission costs on an IP network. Multicast is a data distribution technique in which a plurality of clients can receive the same data with a single data transmission. Client terminals that are the targets of multicast distribution are registered in the multicast group. If the multicast distribution packet received from the server is a packet to be transmitted to each client terminal belonging to a different network, the router copies the packet and sends it to each network. In unicast, the server establishes a communication connection to each client to receive a service, and transmits the same packet to each client. On the other hand, in multicast, since a router copies a packet sent by a server as necessary, communication traffic as a whole network is reduced. In addition, since the server does not require processing for establishing a communication connection for each client, the load on the server itself is reduced.
[0028]
The advantages of multicast are summarized as follows.
(1) Since there is no need to establish a communication connection for each client, the communication bandwidth consumption of the network is reduced. For this reason, the communication traffic of the whole network is also reduced.
(2) Since there is no need to establish a communication connection for each client, the load on the server is reduced. For this reason, the throughput of the entire content distribution system is improved.
(3) Since it is possible to cope with a new client only by registering the new client in the multicast group, the entire content distribution system is highly scalable.
[0029]
However, in the existing multicast distribution method, since a plurality of clients participate in the same multicast stream, it is necessary to access the server at the same time. Therefore, multicast is not suitable for applications such as VOD systems in which users access at various times, and multicast / VOD at the IP level has not become widespread.
[0030]
The current situation surrounding VOD is not necessarily rock-solid, and a new VOD architecture is required. The content distribution control apparatus proposed in the present invention pays attention to multicast at the IP level, and proposes a new multicast VOD (hereinafter referred to as “MVOD: Multicast VOD”) architecture.
[0031]
There is a method called a batching method as a method for making multicast distribution close to VOD. In the present embodiment, MVOD is realized by incorporating this batching method into the content distribution control device. The content distribution control device is a device for controlling a content distribution system that distributes a content acquisition request from a user to an appropriate cache server.
[0032]
FIG. 1 is a conceptual diagram of a content distribution system 200. The content distribution system 200 includes a cache server group 210, a client terminal group 220, and a content distribution control device 230. The cache server group 210 is a set of cache servers that perform content distribution, and the client terminal group 220 is a set of client terminals that should receive the content distribution service from the cache server. The content distribution control device 230 is a device that mediates both. The content distribution control device 230 searches the cache server group 210 for a cache server that holds the content requested by the client terminal. In addition, among the searched cache servers, a cache server to which content is actually distributed to the client terminal is also selected. Further, the selected cache server also controls the timing of distributing the requested content to the client terminal.
[0033]
Hereinafter, the batching method will be described first, and the advantages of incorporating the batching method into the content distribution control device will be described. Thereafter, processing of the entire content distribution system will be described.
[0034]
The “batching method” is a method of processing content acquisition requests from a plurality of clients for the same content with a single multicast stream for a certain period of time. Hereinafter, this fixed time is referred to as “batching time”. Recruiting content acquisition requests during batching time is called “batching”. A server for distributing content is provided with a queue for temporarily storing content acquisition requests from clients. A multicast group is generated for each requested content for a plurality of clients that are transmission sources of content acquisition requests stored in the queue. Then, a multicast stream is periodically generated with the set batching time as a cycle, and content distribution to the client terminal is realized.
[0035]
In the multicast distribution by the batching method, even if there are many content acquisition requests during the batching time, it can be handled by one multicast stream, so the scalability against the increase in the number of clients is high. The server load is also reduced compared to unicast. The user can receive the content by any multicast stream at the timing when the user accesses the content distribution server. The longer the batching time, the higher the throughput of the content distribution system. This is because the frequency at which the server generates a multicast stream and distributes the content decreases, thereby reducing the load on the server. For the same reason, communication traffic in the network is also reduced. If the batching time is set short, the immediacy of the user's content acquisition request is improved. FIG. 2 shows a conceptual diagram of the batching method.
[0036]
According to the batching method, content distribution can be performed while taking advantage of multicast. However, since the batching method is premised on implementation on each server for content distribution, it is necessary to add a function for batching to each server, and the equipment cost is high. In addition, each of the content distribution servers needs to perform various processes such as queue management and batching time management for user content acquisition requests. This increases the processing load on each server.
[0037]
In the batching method, a queue management method for storing user requests is also an important factor. Typical queue management methods include FCFS (First Come First Server), MQL (Maximum Queue Length first), and MFQ (Maximum Factored Queue First first). However, these methods are not efficient and are not suitable for environments with a large number of contents. An existing queue management method is suitable for managing a queue in a content distribution server, but a device that distributes content acquisition requests from client terminals to a plurality of cache servers, such as the content distribution control device in the present embodiment. It is because it does not fit. This is because the performance of the content distribution control device is affected by factors such as the load on each cache server and network. These methods are not queue management methods assuming such a situation. Therefore, it is necessary for the content distribution control apparatus to adopt a queue management method that takes these factors into consideration. The queue management of the content distribution control device will be described in detail later.
[0038]
In the present embodiment, a content distribution control device incorporating a batching method and a content distribution system using the content distribution control device are proposed. A queue for temporarily storing content acquisition requests from clients is prepared in the content distribution control device, and the cache server is controlled based on the queue management method proposed next. The advantages of adopting the batching method in the content distribution control device are summarized into six, and are listed below.
[0039]
(1) It can be realized at low cost.
No complicated processing related to batching is required in the cache server. Therefore, it is not necessary to add functions to the cache server, and the existing cache server can be used as it is. When batching is performed on the cache server, the queue must be held on the cache server. Therefore, the capacity of each queue must be designed to peak in all the cache servers. However, when batching is performed in the content distribution control apparatus, peak design may be performed only in the content distribution control apparatus. As described above, this advantage is significant because the cost issue is very important in content distribution.
[0040]
(2) Queue management can be performed flexibly.
Even when the content distribution system is in operation, the queue settings can be changed dynamically according to the cache server and network conditions. That is, the queue can be controlled in consideration of various situations such as the load on the cache server and the network, the number of content acquisition requests for content, and the distribution status of client terminals that are making content acquisition requests. In addition, since all content acquisition requests are centrally processed by the content distribution control device, comprehensive queue management is possible with a plurality of cache servers instead of a single cache server. Since settings related to the queue management policy can be made centrally, the maintainability of the entire system is improved.
[0041]
(3) Control according to the status of the client terminal is possible.
The client information is acquired by the content distribution control device, and the cache server can be allocated based on the client information. For example, the quality of the distribution service can be improved by allocating the cache server so that the client server receiving the service and the client terminal receiving the service are close to each other to some extent on the network. Alternatively, if the content has regional characteristics such as local news, the distribution status of client terminals that require the content can be predicted in advance. In such a case, efficient content distribution is possible by allocating a cache server based on the content content and the location of the client terminal on the network.
[0042]
(4) Address management becomes easy.
The content distribution control device can centrally grasp and manage the multicast addresses being used in a plurality of cache servers. In addition, in an environment where a multicast stream can be allocated only in the content distribution control device, it is easy to prevent the use of an illegal multicast address in the content distribution system.
[0043]
(5) High scalability.
As the number of cache servers increases, only the setting of the content distribution control device needs to be changed, so the scalability of the scale is high. Further, since the content distribution control apparatus only assigns the address or URL of the cache server and does not need to perform the content distribution process by itself, it can be operated independently of the multicast protocol.
[0044]
(6) Partial applicability is high.
Based on the client information, the content distribution control device can determine whether the network to which the client terminal belongs is a multicast network or a non-multicast network. The allocation of the cache server can be controlled by this discrimination information. Since the content distribution control device controls the allocation of the cache server, even if a multicast server that does not support multicast is mixed in the content distribution system, it can be managed collectively.
[0045]
FIG. 3 is a diagram showing an outline of the processing flow of the content distribution control apparatus. In the figure, some client terminals belong to a network that supports multicast and some do not.
(1) The client terminal makes a content acquisition request (Query of Contents) to the content distribution control device (CRS with Batching). At this time, the client terminal obtains the location of the content distribution control device by accessing a DNS (Domain Name System) server in advance.
(2) The content distribution control device recruits content acquisition requests during the batching time, that is, performs batching, and generates a multicast group. If the client terminal does not belong to a network that supports multicast, a unicast cache server is allocated as a non-batch target.
(3) When the batching time has elapsed after the content distribution control device solicits the content acquisition request, a redirect instruction to the allocated cache server is issued to the client terminal that has made the content acquisition request accepted so far. . The redirect command notifies the client terminal of the location of the cache server to which the content is to be distributed.
(4) The client terminal requests distribution of content to the cache server designated by the redirect command. Hereinafter, in order to explicitly distinguish the content acquisition request from the client terminal to the content distribution apparatus and the content distribution request from the client terminal to the cache server, the former is particularly referred to as the “first request” and the latter according to the situation. Also referred to as “second request”.
(5) The cache server delivers the requested content to the requesting client terminal by multicast or unicast.
As described above, MVOD for a plurality of client terminals is realized by the processes (1) to (5).
[0046]
It is assumed that a content acquisition request is made beyond the processing capacity of the cache server due to an increase in content or an increase in capacity. In this case, the number of client terminals that can be handled simultaneously in the entire VOD system varies depending on which content acquisition request is assigned to which cache server in which order. The queue management method is an important element in batching because it is directly linked to allocation scheduling.
[0047]
Typical queue management methods include FCFS, MQL, and MFQ, which are premised on queue management on a server that performs content distribution. Therefore, when these queue management methods are applied as they are in the content distribution control device, content acquisition requests from a plurality of clients are allocated to a plurality of cache servers without considering the load on each cache server or network. Therefore, efficiency is not good. In view of this, in the content distribution apparatus according to the present embodiment, a queue management method is proposed in consideration of the network wideness connecting the cache server and the client terminal and the number of contents.
[0048]
First, the various queue management methods described above will be described.
(1) FCFS
The content acquisition request that has been waiting for the longest time in the queue is set as the next allocation target. The advantage of this method is that it is fair to the content acquisition requests of all client terminals because the popularity of the content is not considered. However, this method reduces the throughput of the VOD system.
(2) MQL
The content with the highest content acquisition request in the queue is set as the next allocation target. This method does not take into consideration the time when the content acquisition request is made and the status of the client terminal, and uses only the number of content acquisition requests in the queue as a parameter, so there is no fairness. Content distribution is performed preferentially for more popular content.
(3) MFQ
The next allocation target is determined by the access frequency considering both the time waited in the queue and the popularity of the content. This method can realize a throughput close to MQL while maintaining a certain degree of fairness.
[0049]
So far, three existing queue management methods have been described, but these are inefficient in a system having a plurality of cache servers, and are inappropriate when batching is performed in a content distribution control apparatus. This is because these queue management methods are assumed to be implemented on a single server for content distribution, and thus the wide area of the network connecting the cache server and the client terminal is not considered. Specifically, there are three problems. The summary is listed below.
(1) Since all content acquisition requests are managed by one queue, fine queue management cannot be performed for each content based on the load on the cache server and the number of content acquisition requests.
(2) Since the queue management parameter is only the number of content acquisition requests and the waiting time until the processing of the requests, the location information of the cache server and the client terminal cannot be taken into consideration. Information on the network distance to the client terminal cannot be reflected.
(3) Since the batching cycle is constant and all the contents have the same batching time, the batching efficiency for one content cannot be considered.
In consideration of the above problems, FIG. 4 shows an outline of a new queue management method proposed in the present embodiment, which corresponds to the batching process portion of FIG.
[0050]
FIG. 4 is a schematic diagram for explaining the flow of the batching process. The batching processing unit accumulates content acquisition requests from users and assigns a cache server to which desired content is distributed to each user. Here, before explaining the functional block diagram of the batching processing unit, an outline of the processing will be described.
[0051]
The first request (Query) transmitted from the client terminal to the content distribution control apparatus first enters a common queue. Next, a classification unit (Classifier) generates a queue for each content based on status information (client information, server information, content information), assigns a corresponding cache server, and sets a batching time for each. “Content information” refers to content popularity and information attached to the content. When the batching time becomes zero, the redirection processing unit (Redirect Engine) issues a redirect command to each client terminal by setting the client terminals that are the transmission source of the first request in the queue as one multicast group. Processing from when the redirect command is transmitted until the allocated cache server performs content distribution will be described in detail later.
[0052]
The flow of processing in the classification unit is shown in FIG.
The received first request is taken out by the classification unit. And it is judged whether the client terminal which transmitted the taken out 1st request belongs to the network corresponding to a multicast. If multicast is not supported, the content is controlled to be unicasted by an appropriate cache server. If the client terminal belongs to a multicast-compatible network, the cache server allocated for distributing the content requested by the first request and the client terminal that is the transmission source of the newly received first request Check network distance. When the network distance is larger than a predetermined value, a new queue is generated, and a cache server having a reasonable proximity is allocated for content distribution. Then, the batching time is set based on the server information and content information of the allocated cache server and policy information described later.
[0053]
On the other hand, when the network distance between the already allocated cache server and the client terminal that is the transmission source of the newly received first request is smaller than a predetermined value, the load status of the cache server is checked. If the load on the cache server is equal to or less than a predetermined value, the newly received first request is added to the queue to which the cache server is assigned as it is.
[0054]
The batching time set when the classification unit generates a queue is mainly determined by the load status of the cache server and the popularity of the content. When the load on the cache server tends to increase, the number of multicast streams processed by the cache server is reduced by increasing the batching time to suppress the increase in load. Thereby, since the number of users processed with one multicast stream increases, the efficiency of batching becomes high. On the other hand, when the load on the cache server is light, the immediacy of content delivery with respect to the request is improved by shortening the batching time.
[0055]
The content distribution control apparatus can assign a cache server using not only the position of the cache server and the client terminal on the network but also the load of the cache server and the content name as parameters. The configuration of the content distribution control device is shown in FIG.
[0056]
There are four components of the content distribution control device: SNMP (Simple Network Management Protocol), policy, mapping processing unit, and batching processing unit. These will be described in order.
(1) SNMP
SNMP is composed of three components, an agent, a manager, and a management block (MIB: Management Information Base), and is a protocol that manages and grasps the status of network devices scattered on the network. In the present embodiment, it is used for grasping the state of each cache server. The SNMP manager accesses a cache server group (Neighboring Servers), acquires each server information, and stores it in the server information storage unit.
(2) Policy
The policy describes how the content distribution control apparatus should perform cache server allocation. Specifically, it is a function that performs cache server selection using server information, client information, and content information as parameters. A plurality of policies can be mounted on the content distribution control apparatus and can be dynamically changed remotely by an administrator.
(3) Mapping processing unit
The mapping processing unit has two functions. One is a function of processing status information acquired by SNMP or the like based on a policy and selecting a cache server to be allocated. Status information refers to client information, content information, and server information stored in a client information storage unit, a content information storage unit, and a server information storage unit, respectively. The other is to provide status information required when the classification unit performs queuing in the batching process.
(4) Batching processing unit
The batching processing unit serves as an interface with the client terminal. The batching processing unit receives a content acquisition request from the client terminal, and transmits a redirect command after batching. The batching processing unit is an actual implementation of the queue management method described above.
[0057]
FIG. 7 is a sequence diagram until the client terminal makes the first request and receives the multicast stream.
First, the client makes a first request to the content distribution control device using HTTP (HyperText Transfer Protocol) (GET: Content). The content distribution control apparatus performs batching and issues a metafile redirect command to the client terminal (Redirect: Metafile). A metafile is a file that describes information necessary for the browser of the client terminal to perform streaming playback. The metafile includes a URL that is the location information of the allocated cache server and content. In addition, information regarding the content abstract, title, and copyright may be included.
[0058]
In accordance with the redirect command, the client terminal requests and acquires a metafile from the content distribution control device (GET: Metafile, RES: Metafile). At this time, all client terminals batched into the same multicast stream acquire the same metafile. The client terminal makes a second request to the allocated cache server based on the contents described in the metafile (GET: Content). When the cache server receives the request, it starts multicast stream distribution.
[0059]
When the content is distributed by unicast, the content distribution control device causes the client terminal to download a unicast metafile. Then, the client terminal makes a second request to the designated cache server by unicast.
[0060]
FIG. 8 is a functional block diagram of the batching processing unit 232. The batching processing unit 232 includes a content acquisition request receiving unit 310, a classification processing unit 320, and a redirection processing unit 330. The content acquisition request receiving unit 310 receives a content acquisition request from the client terminal and temporarily holds it. The classification processing unit 320 classifies the content acquisition request group received by the content acquisition request receiving unit 310 based on the status information. The classification processing unit 320 includes a classification control unit 324 and a batching time calculation unit 326. The classification control unit 324 appropriately takes out and classifies content acquisition requests received and held by the content acquisition request receiving unit 310. The content acquisition request includes information such as the IP address of the client terminal that is the transmission source and the requested content. Based on these pieces of information, the mapping processing unit 350 selects an optimal cache server for delivering desired content to the client terminal that is the transmission source. The batching time calculation unit 326 calculates an optimum batching time based on the status information received from the classification control unit 324.
[0061]
The redirection processing unit 330 controls content distribution to the client terminal by the cache server specified by the classification processing unit 320. The redirection processing unit 330 includes a content acquisition request storage unit 332, a content acquisition request processing unit 334, a batching time processing unit 336, a metafile generation unit 338, a redirect command transmission unit 340, a metafile transmission unit 342, and a metafile storage unit 344. Including. The content acquisition request processing unit 334 acquires the content acquisition request classified by the classification control unit 324. The content acquisition request processing unit 334 stores the content acquisition request in the content acquisition request storage unit 332 according to the classification. In response to an instruction from the content acquisition request processing unit 334, the batching time processing unit 336 sets the batching time as a timer and manages the time. The metafile generation unit 338 generates a metafile and stores it in the metafile storage unit 344.
[0062]
When the batching time processing unit 336 detects that the batching time has elapsed, the redirect command transmission unit 340 issues a redirect command to the client terminal. When the metafile transmission unit 342 receives a metafile acquisition request from the client terminal, the metafile transmission unit 342 transmits the metafile stored in the metafile storage unit 344. As described above, the client terminal makes a second request to the cache server according to the description of the received metafile, and the content is distributed.
[0063]
FIG. 9 is a functional block diagram of the mapping processing unit 350. The mapping processing unit 350 includes a status information acquisition unit 352, a multicast network determination unit 354, and a cache server selection unit 356. The status information acquisition unit 352 acquires status information and information related to the set policy. The multicast network determination unit 354 determines whether the client terminal that has made the first request request belongs to a multicast-compatible network. In response to the first request, the cache server selection unit 356 selects a cache server on which content distribution is to be performed.
[0064]
As described above, in the embodiment, it is only necessary to add the content distribution control device to the existing content distribution system. In addition, mounting is easy, low cost, and excellent scalability. For this reason, it is considered that large-scale VOD distribution is possible.
[0065]
The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .
[0066]
As such a modification, the cache server may not generate a multicast stream with a batching time as a period, but may be generated when a predetermined number of first requests for a certain content are received. The batching time may be changed according to the time zone for multicast distribution. For example, the batching time may be set longer in a time zone where the network load during the day is generally high, and the batching time may be set shorter in a time zone where the network load is generally low, such as midnight.
[0067]
Further, the policy regarding the length of the batching time and the cache server allocation method may be set in a program format by combining a plurality of functions.
[0068]
【The invention's effect】
According to the present invention, it is possible to distribute content while suppressing a load on a network or a cache server.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing the role of a content distribution control apparatus in the present embodiment.
FIG. 2 is a schematic diagram for explaining a batching method.
FIG. 3 is a diagram showing an overview from allocation of a cache server to content distribution by the content distribution control device;
FIG. 4 is a diagram showing an outline of a flow of batching processing.
FIG. 5 is a flowchart of processing in the classification unit of FIG. 4;
FIG. 6 is a diagram illustrating a configuration of a content distribution control device.
FIG. 7 is a sequence diagram until a client terminal makes a content acquisition request and receives a multicast stream.
FIG. 8 is a functional block diagram of a batching processing unit in the content distribution control apparatus.
FIG. 9 is a functional block diagram of a mapping processing unit in the content distribution control device.
[Explanation of symbols]
230 content distribution control device, 232 batching processing unit, 310 content acquisition request receiving unit, 320 classification processing unit, 324 classification control unit, 326 batching time calculation unit, 330 redirection processing unit, 332 content acquisition request storage unit, 334 content acquisition request Processing unit, 336 Batching time processing unit, 340 Redirect command transmission unit, 342 Metafile transmission unit, 350 mapping processing unit, 352 Status information acquisition unit, 354 Multicast network determination unit, 356 Cache server selection unit.

Claims (14)

ネットワークを介して接続されるクライアント端末から、画像または音声データを含むことにより構成される所望のデジタルコンテンツについての取得要求であるコンテンツ取得要求を受信する取得要求受信部と、
前記受信したコンテンツ取得要求ごとに、その要求するデジタルコンテンツを送信すべきキャッシュサーバを割り当てるキャッシュサーバ選択部と、
前記割り当てたキャッシュサーバが送信すべきデジタルコンテンツごとに所定の待機時間であるバッチング時間を設定するバッチング時間設定部と、
前記設定したバッチング時間が経過したことを契機として、前記割り当てたキャッシュサーバから前記クライアント端末への前記デジタルコンテンツの送信を行わしめるキャッシュサーバ制御部と、を含むことを特徴とするコンテンツ配信制御装置。
An acquisition request receiving unit that receives a content acquisition request, which is an acquisition request for desired digital content configured by including image or audio data, from a client terminal connected via a network;
For each received content acquisition request, a cache server selection unit for assigning a cache server to which the requested digital content is to be transmitted;
A batching time setting unit for setting a batching time which is a predetermined waiting time for each digital content to be transmitted by the allocated cache server;
And a cache server control unit configured to transmit the digital content from the allocated cache server to the client terminal when the set batching time has elapsed.
前記キャッシュサーバ選択部は、前記受信したコンテンツ取得要求において要求されるデジタルコンテンツに基づいて、前記キャッシュサーバを割り当てることを特徴とする請求項1に記載のコンテンツ配信制御装置。The content delivery control apparatus according to claim 1, wherein the cache server selection unit assigns the cache server based on digital content requested in the received content acquisition request. 前記キャッシュサーバ選択部は、前記受信したコンテンツ取得要求を行ったクライアント端末に関する情報に基づいて、前記キャッシュサーバを割り当てることを特徴とする請求項1または2に記載のコンテンツ配信制御装置。The content delivery control apparatus according to claim 1, wherein the cache server selection unit assigns the cache server based on information about the client terminal that has made the received content acquisition request. 前記受信したコンテンツ取得要求において要求されるデジタルコンテンツにつき、既にコンテンツ取得要求が行われている場合において、前記受信したコンテンツ取得要求を行ったクライアント端末と、前記既に行われているコンテンツ取得要求について割り当てられているキャッシュサーバとのネットワーク距離が所定の値以上であれば、前記キャッシュサーバ選択部は、前記受信したコンテンツ取得要求に対しては、前記割り当てられているキャッシュサーバとは別のキャッシュサーバを割り当てることを特徴とする請求項1から3のいずれかに記載のコンテンツ配信制御装置。For the digital content requested in the received content acquisition request, when a content acquisition request has already been made, the client terminal that has made the received content acquisition request is allocated to the content acquisition request that has already been made If the network distance to the assigned cache server is equal to or greater than a predetermined value, the cache server selection unit selects a cache server different from the assigned cache server for the received content acquisition request. 4. The content distribution control device according to claim 1, wherein the content distribution control device is assigned. 前記受信したコンテンツ取得要求を行ったクライアント端末が、マルチキャストに対応するネットワークに所属しているか否かを検出する所属ネットワーク判断部、を更に含み、
前記所属ネットワーク判断部が、前記クライアント端末はマルチキャストネットワークに所属していないことを検出した場合には、前記キャッシュサーバ制御部は、前記バッチング時間が経過していなくとも、前記キャッシュサーバから前記クライアント端末への前記デジタルコンテンツの送信を行わしめることを特徴とする請求項1から4のいずれかに記載のコンテンツ配信制御装置。
An affiliated network determination unit that detects whether or not the client terminal that has made the received content acquisition request belongs to a network that supports multicast;
If the affiliated network determination unit detects that the client terminal does not belong to the multicast network, the cache server control unit determines whether the batching time has elapsed or not from the cache server to the client terminal. 5. The content distribution control device according to claim 1, wherein the digital content is transmitted to the device.
前記キャッシュサーバにかかる処理負荷に関する情報であるサーバ負荷情報を検出するサーバ負荷検出部、を更に含み、
前記キャッシュサーバ選択部は、前記検出したサーバ負荷情報に基づいて、前記受信したコンテンツ取得要求において要求されるデジタルコンテンツを送信すべきキャッシュサーバを割り当てることを特徴とする請求項1から5のいずれかに記載のコンテンツ配信制御装置。
A server load detection unit that detects server load information that is information relating to the processing load applied to the cache server;
6. The cache server selection unit according to claim 1, wherein the cache server selection unit assigns a cache server to which digital content requested in the received content acquisition request is to be transmitted based on the detected server load information. The content distribution control device described in 1.
前記バッチング時間設定部は、前記割り当てたキャッシュサーバについて検出したサーバ負荷情報に基づいて、前記バッチング時間の長さを変化させることを特徴とする請求項6に記載のコンテンツ配信制御装置。The content delivery control apparatus according to claim 6, wherein the batching time setting unit changes the length of the batching time based on server load information detected for the allocated cache server. 前記バッチング時間設定部は、前記割り当てたキャッシュサーバが送信すべきデジタルコンテンツに対する前記コンテンツ取得要求の数に基づいて、前記バッチング時間を設定することを特徴とする請求項1から7のいずれかに記載のコンテンツ配信制御装置。The said batching time setting part sets the said batching time based on the number of the said content acquisition requests with respect to the digital content which the said allocated cache server should transmit. Content delivery control device. 前記キャッシュサーバ選択部による前記キャッシュサーバの割り当て方についての規則である第1のポリシの入力を検出する第1ポリシ設定部、を更に含み、
前記入力を検出した第1のポリシに基づいて、前記キャッシュサーバ選択部は前記キャッシュサーバの割り当てを行うことを特徴とする請求項1から8に記載のコンテンツ配信制御装置。
A first policy setting unit for detecting an input of a first policy that is a rule on how to allocate the cache server by the cache server selection unit;
The content distribution control apparatus according to claim 1, wherein the cache server selection unit performs the allocation of the cache server based on a first policy in which the input is detected.
前記バッチング時間設定部による前記バッチング時間を設定するための規則である第2のポリシの入力を検出する第2ポリシ設定部、を更に含み、
前記入力を検出した第2のポリシに基づいて、前記バッチング時間設定部は前記バッチング時間の設定を行うことを特徴とする請求項1から9のいずれかに記載のコンテンツ配信制御装置。
A second policy setting unit for detecting an input of a second policy that is a rule for setting the batching time by the batching time setting unit;
The content delivery control apparatus according to any one of claims 1 to 9, wherein the batching time setting unit sets the batching time based on a second policy in which the input is detected.
ネットワークを介して接続されるクライアント端末から、画像または音声データを含むことにより構成される所望のデジタルコンテンツについての取得要求であるコンテンツ取得要求を受信する取得要求受信部と、
前記受信したコンテンツ取得要求において要求されるデジタルコンテンツを検出するコンテンツ検出部と、
前記検出したデジタルコンテンツごとに、前記受信したコンテンツ取得要求を分類する取得要求分類部と、
前記分類したコンテンツ取得要求を一時的に保持するためのメモリ領域である取得要求保持領域を、前記分類ごとに記録媒体において確保する取得要求保持領域管理部と、
前記確保した取得要求保持領域のそれぞれにおいて保持するコンテンツ取得要求群ごとに、それらのコンテンツ取得要求が要求するデジタルコンテンツを送信すべきキャッシュサーバを割り当てるキャッシュサーバ設定部と、
前記確保した取得要求保持領域のそれぞれにおいて保持するコンテンツ取得要求群ごとに、それらのコンテンツ取得要求を一時的に保持すべき時間であるバッチング時間を設定するバッチング時間設定部と、
前記設定したバッチング時間の経過状況を監視するバッチング時間管理部と、前記設定したバッチング時間の経過を検出した場合には、そのバッチング時間に対応する前記取得要求保持領域に保持されているコンテンツ取得要求を読み出し、前記取得要求保持領域に対応して割り当てたキャッシュサーバから前記読み出したコンテンツ取得要求を行ったクライアント端末への前記デジタルコンテンツの配信を行わしめるキャッシュサーバ制御部と、を含むことを特徴とするコンテンツ配信制御装置。
An acquisition request receiving unit that receives a content acquisition request, which is an acquisition request for desired digital content configured by including image or audio data, from a client terminal connected via a network;
A content detection unit for detecting digital content requested in the received content acquisition request;
An acquisition request classifying unit that classifies the received content acquisition request for each detected digital content;
An acquisition request holding area management unit for securing an acquisition request holding area, which is a memory area for temporarily holding the classified content acquisition requests, in a recording medium for each classification;
For each content acquisition request group held in each of the secured acquisition request holding areas, a cache server setting unit that allocates a cache server to which the digital content requested by the content acquisition request is to be transmitted;
For each content acquisition request group held in each of the secured acquisition request holding areas, a batching time setting unit that sets a batching time that is a time for temporarily holding those content acquisition requests;
A batching time management unit that monitors the progress of the set batching time, and a content acquisition request held in the acquisition request holding area corresponding to the batching time when the set batching time is detected. And a cache server control unit that distributes the digital content from the cache server allocated in correspondence with the acquisition request holding area to the client terminal that has made the read content acquisition request. Content distribution control device.
ネットワークを介して接続されるクライアント端末から、画像または音声データを含むことにより構成される所望のデジタルコンテンツについての取得要求であるコンテンツ取得要求を受信するステップと、
前記受信したコンテンツ取得要求ごとに、その要求するデジタルコンテンツを送信すべきキャッシュサーバを割り当てるステップと、
前記割り当てたキャッシュサーバが送信すべきデジタルコンテンツごとに所定の待機時間であるバッチング時間を設定するステップと、
前記設定したバッチング時間が経過したことを契機として、前記キャッシュサーバから前記クライアント端末への前記デジタルコンテンツの送信を行わしめるステップと、を含むことを特徴とするコンテンツ配信制御方法。
Receiving a content acquisition request which is an acquisition request for desired digital content configured by including image or audio data from a client terminal connected via a network;
For each received content acquisition request, assigning a cache server to transmit the requested digital content;
Setting a batching time which is a predetermined waiting time for each digital content to be transmitted by the allocated cache server;
And a step of transmitting the digital content from the cache server to the client terminal in response to elapse of the set batching time.
ネットワークを介して接続されるクライアント端末から、画像または音声データを含むことにより構成される所望のデジタルコンテンツについての取得要求であるコンテンツ取得要求を受信する機能と、
前記受信したコンテンツ取得要求ごとに、その要求するデジタルコンテンツを送信すべきキャッシュサーバを割り当てる機能と、
前記割り当てたキャッシュサーバが送信すべきデジタルコンテンツごとに所定の待機時間であるバッチング時間を設定する機能と、
前記設定したバッチング時間が経過したことを契機として、前記キャッシュサーバから前記クライアント端末への前記デジタルコンテンツの送信を行わしめる機能と、をコンピュータに発揮させることを特徴とするコンテンツ配信制御プログラム。
A function of receiving a content acquisition request which is an acquisition request for desired digital content configured by including image or audio data from a client terminal connected via a network;
A function of allocating a cache server for transmitting the requested digital content for each received content acquisition request;
A function of setting a batching time which is a predetermined waiting time for each digital content to be transmitted by the allocated cache server;
A content distribution control program that causes a computer to exhibit a function of transmitting the digital content from the cache server to the client terminal when the set batching time has elapsed.
ネットワークを介して接続されるクライアント端末から、画像または音声データを含むことにより構成される所望のデジタルコンテンツについての取得要求であるコンテンツ取得要求を受信する取得要求受信機能と、
前記受信したコンテンツ取得要求において要求されるデジタルコンテンツを検出するコンテンツ検出機能と、
前記検出したデジタルコンテンツごとに、前記受信したコンテンツ取得要求を分類する取得要求分類機能と、
前記分類したコンテンツ取得要求を一時的に保持するためのメモリ領域である取得要求保持領域を、前記分類ごとに記録媒体において確保する取得要求保持領域管理機能と、
前記確保した取得要求保持領域のそれぞれにおいて保持するコンテンツ取得要求群ごとに、それらのコンテンツ取得要求が要求するデジタルコンテンツを送信すべきキャッシュサーバを割り当てるキャッシュサーバ設定機能と、
前記確保した取得要求保持領域のそれぞれにおいて保持するコンテンツ取得要求群ごとに、それらのコンテンツ取得要求を一時的に保持すべき時間であるバッチング時間を設定するバッチング時間設定機能と、
前記設定したバッチング時間の経過状況を監視するバッチング時間管理機能と、
前記設定したバッチング時間の経過を検出した場合には、そのバッチング時間に対応する前記取得要求保持領域に保持されているコンテンツ取得要求を読み出し、前記取得要求保持領域に対応して割り当てたキャッシュサーバから前記読み出したコンテンツ取得要求を行ったクライアント端末への前記デジタルコンテンツの配信を行わしめるキャッシュサーバ制御機能と、
をコンピュータに発揮させることを特徴とするコンテンツ配信制御プログラム。
An acquisition request receiving function for receiving a content acquisition request that is an acquisition request for desired digital content configured by including image or audio data from a client terminal connected via a network;
A content detection function for detecting digital content requested in the received content acquisition request;
An acquisition request classification function for classifying the received content acquisition request for each detected digital content;
An acquisition request holding area management function for securing an acquisition request holding area, which is a memory area for temporarily holding the classified content acquisition requests, in a recording medium for each classification;
A cache server setting function for allocating a cache server to which digital content requested by the content acquisition request is to be transmitted for each content acquisition request group held in each of the secured acquisition request holding areas;
A batching time setting function for setting a batching time that is a time for temporarily holding the content acquisition request for each content acquisition request group held in each of the secured acquisition request holding regions;
A batching time management function for monitoring the progress of the set batching time;
When it is detected that the set batching time has elapsed, the content acquisition request held in the acquisition request holding area corresponding to the batching time is read out from the cache server assigned in correspondence with the acquisition request holding area. A cache server control function for delivering the digital content to the client terminal that has made the read content acquisition request;
A content distribution control program for causing a computer to exhibit the above.
JP2003180335A 2003-06-24 2003-06-24 Content delivery control device, content delivery control method and content delivery control program Pending JP2005018293A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003180335A JP2005018293A (en) 2003-06-24 2003-06-24 Content delivery control device, content delivery control method and content delivery control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003180335A JP2005018293A (en) 2003-06-24 2003-06-24 Content delivery control device, content delivery control method and content delivery control program

Publications (1)

Publication Number Publication Date
JP2005018293A true JP2005018293A (en) 2005-01-20

Family

ID=34181350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003180335A Pending JP2005018293A (en) 2003-06-24 2003-06-24 Content delivery control device, content delivery control method and content delivery control program

Country Status (1)

Country Link
JP (1) JP2005018293A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006222631A (en) * 2005-02-09 2006-08-24 Hitachi Ltd Convergence controller and convergence control method for network
JP2006270846A (en) * 2005-03-25 2006-10-05 Nec Corp Data distribution server, system, and method
JP2007124393A (en) * 2005-10-28 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> Vod control method, image content viewing and listening preparation method, image content publishing method, vod server, vod system, image content viewing and listening system, and image content publishing system
JP2007334602A (en) * 2006-06-14 2007-12-27 Brother Ind Ltd Update data delivery system, terminal device therein, update data delivery device, connection control device, update data delivery method, and program used therefor
JP2008204108A (en) * 2007-02-19 2008-09-04 Fujitsu Ltd Content delivery system, server device and content delivery method
JP2009129076A (en) * 2007-11-21 2009-06-11 Fujitsu Ltd Information processor, method for controlling information processor and program
JP2009207133A (en) * 2008-01-29 2009-09-10 Fujitsu Ltd Management apparatus and management method
JP2010113460A (en) * 2008-11-05 2010-05-20 Nippon Telegr & Teleph Corp <Ntt> Content distribution support system, method, and program
JP2011512715A (en) * 2008-01-23 2011-04-21 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for pooling network resources
JP2012175298A (en) * 2011-02-18 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> Content distribution method, relay device and content distribution system
CN102834814A (en) * 2010-04-20 2012-12-19 日本电气株式会社 Distribution system, distribution control device, and distribution control method

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4512192B2 (en) * 2005-02-09 2010-07-28 株式会社日立製作所 Congestion control device and network congestion control method
JP2006222631A (en) * 2005-02-09 2006-08-24 Hitachi Ltd Convergence controller and convergence control method for network
JP2006270846A (en) * 2005-03-25 2006-10-05 Nec Corp Data distribution server, system, and method
JP2007124393A (en) * 2005-10-28 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> Vod control method, image content viewing and listening preparation method, image content publishing method, vod server, vod system, image content viewing and listening system, and image content publishing system
JP2007334602A (en) * 2006-06-14 2007-12-27 Brother Ind Ltd Update data delivery system, terminal device therein, update data delivery device, connection control device, update data delivery method, and program used therefor
JP2008204108A (en) * 2007-02-19 2008-09-04 Fujitsu Ltd Content delivery system, server device and content delivery method
JP2009129076A (en) * 2007-11-21 2009-06-11 Fujitsu Ltd Information processor, method for controlling information processor and program
JP2011512715A (en) * 2008-01-23 2011-04-21 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for pooling network resources
JP2009207133A (en) * 2008-01-29 2009-09-10 Fujitsu Ltd Management apparatus and management method
JP2010113460A (en) * 2008-11-05 2010-05-20 Nippon Telegr & Teleph Corp <Ntt> Content distribution support system, method, and program
CN102834814A (en) * 2010-04-20 2012-12-19 日本电气株式会社 Distribution system, distribution control device, and distribution control method
US20130041943A1 (en) * 2010-04-20 2013-02-14 Nec Corporation Distribution system, distribution control device, and distribution control method
JPWO2011132662A1 (en) * 2010-04-20 2013-07-18 日本電気株式会社 Distribution system, distribution control device, and distribution control method
JP2012175298A (en) * 2011-02-18 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> Content distribution method, relay device and content distribution system

Similar Documents

Publication Publication Date Title
Mukerjee et al. Practical, real-time centralized control for cdn-based live video delivery
Suh et al. Push-to-peer video-on-demand system: Design and evaluation
KR101072966B1 (en) Method, device and system for distributing file data
US7680938B2 (en) Video on demand digital server load balancing
US6804717B1 (en) Providing quality of service by transmitting XML files indicating requested resources
US20040236869A1 (en) Parallel information delivery method based on peer-to-peer enabled distributed computing technology and the system thereof
KR101301004B1 (en) System and Method for Multimedia Streaming of Distributed Contents
Sweha et al. Angelcast: cloud-based peer-assisted live streaming using optimized multi-tree construction
CA2355462A1 (en) A method and apparatus for supporting a multicast response to a unicast request for a document
WO2014082538A1 (en) Business scheduling method and apparatus and convergence device
WO2010031335A1 (en) Method for controlling media server and system thereof
WO2006085843A1 (en) System architecture and method for scheduled downloading services
US20130018991A1 (en) System and method for packetizing data stream in peer-to-peer (p2p) based streaming service
Kim et al. Differentiated forwarding and caching in named-data networking
JP2005018293A (en) Content delivery control device, content delivery control method and content delivery control program
Guo et al. Selecting among replicated batching video-on-demand servers
Zhang et al. Cost-based cache replacement and server selection for multimedia proxy across wireless internet
WO2010058215A1 (en) Method and system for content handling
US8583819B2 (en) System and method for controlling server usage in peer-to-peer (P2P) based streaming service
Paul et al. Balancing Web server load for adaptable video distribution
Roy et al. Architecture of a modular streaming media server for content delivery networks
JP2005027009A (en) Video server and video distribution network system
Liu et al. Supporting low-cost video-on-demand in heterogeneous peer-to-peer networks
Rollins et al. Pixie: A jukebox architecture to support efficient peer content exchange
KR101695910B1 (en) System and method for packetizing data stream in streaming service based on peer to peer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080311