JP2003280975A - キャッシュ制御方法およびキャッシュシステム - Google Patents

キャッシュ制御方法およびキャッシュシステム

Info

Publication number
JP2003280975A
JP2003280975A JP2002084620A JP2002084620A JP2003280975A JP 2003280975 A JP2003280975 A JP 2003280975A JP 2002084620 A JP2002084620 A JP 2002084620A JP 2002084620 A JP2002084620 A JP 2002084620A JP 2003280975 A JP2003280975 A JP 2003280975A
Authority
JP
Japan
Prior art keywords
content
cache
request
requests
server
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.)
Granted
Application number
JP2002084620A
Other languages
English (en)
Other versions
JP4017065B2 (ja
Inventor
Michimitsu Hattori
進実 服部
Minoru Nakazawa
実 中沢
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 JP2002084620A priority Critical patent/JP4017065B2/ja
Publication of JP2003280975A publication Critical patent/JP2003280975A/ja
Application granted granted Critical
Publication of JP4017065B2 publication Critical patent/JP4017065B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 コンテンツ配信ネットワークにおけるコスト
を削減する。 【解決手段】 キャッシュサーバ14は、コンテンツ配
信ネットワーク上に設けられている。キャッシュサーバ
14は、リクエスト回数カウンタ28を用いてコンテン
ツのリクエスト回数の増大を監視する。リクエスト回数
が増大することにより所定のキャッシュ条件が満たされ
るのを待ってからキャッシュサーバ14がコンテンツを
キャッシングする。典型的には所定の数までリクエスト
数が増大したときにキャッシングが行われる。好ましく
は、リクエスト回数からその後のリクエスト回数増大量
の期待値が求められ、期待値が最大になるときのリクエ
スト回数が、キャッシュ条件の閾値として用いられる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンテンツ配信ネ
ットワーク上のキャッシュサーバによるコンテンツのキ
ャッシングの制御方法に関し、特に、コスト削減が可能
なキャッシュ制御方法に関する。
【0002】
【従来の技術】インターネットはそれ以前のメディアに
はなかった双方向性を持ち、世界中に蓄積された情報を
容易かつ即時的に取得可能なハイパーメディアである。
そのため、インターネットを利用したビジネス(e−c
ommerce、デジタルコンテンツ配信など)やアプ
リケーションシステム(CRM、ERPなど)、コミュ
ニケーション(VoIP、Eメールなど)は年々増加し
ており、インターネットの情報伝達媒体としての地位は
高まる一方である。しかし、近年の急激なアクセスネッ
トワークの高速大容量化や、コンテンツの大容量化によ
って、バックボーンネットワークの処理能力を超えるト
ラヒック需要が発生し、コンテンツの応答速度が著しく
低下する場面も多く見られるようになった。これは、イ
ンターネットの双方向性や即時性が損なわれることを意
味し、インターネットを利用したビジネスやシステムに
とって非常に重要な問題である。
【0003】この問題に対処すべく、現在さまざまなコ
ンテンツ配信システムの研究開発が盛んに行われてお
り、その中の1つにコンテンツ配信ネットワーク(Cont
ent Distribution/Delivery Network、以下CDN)が
ある。CDNは、ネットワークエッジに配備したサーバ
を用いて、インターネットにおける渋滞や遅延を解消す
るソリューションであり、1999年に設立された米A
kamai社のコンテンツデリバリネットワークがはじ
まりである。Akamaiは世界中に配備したサーバを
結ぶサーバネットワークと、独自のルーティング技術に
よって顧客(コンテンツ事業者)のコンテンツをエンド
ユーザに届けるシステムを構築し、応答速度の低下の問
題を解決した。また、CDNはそのコンテンツ配信能力
から、P2Pネットワークやグローバルコンピューティ
ング(以下Grid)におけるミドルウェアとしての役
割を期待されている。
【0004】しかし、ミドルウェアとしてCDNを用い
るにはコストが高く、より低コストのCDNサービスが
実現されることが求められる。さらに、地理的に離れた
場所で同質のCDNサービスを受けられなければ、アプ
リケーションに地域格差が生じる問題も発生する。これ
に関する最近の活動では、CDNピアリングに関する活
動が多い。CDNピアリングとは、異なる事業者間でC
DNリソースを共有し合うことである。これによって複
数の事業者が提携することでコストを抑えつつ大規模な
CDNを構成できるが、本格的な実用段階には至ってい
ない。また、仮に実用段階に至ったとしてもCDNを利
用する分のコストはかかり、アプリケーション(結局は
ユーザ)の負担が増えるという問題は依然として残る。
【0005】
【発明が解決しようとする課題】上述したようにCDN
が注目を集めており、CDNをインフラとする様々なコ
ンテンツ配信サービスが行われている。そして、アクセ
スネットワークのブロードバンド化に伴って、CDN市
場が成長し続けることが予想される。しかし、広域なネ
ットワーク上でCDNを用いるためにはコストが高いと
いう課題があり、CDNプラットフォームのコスト最適
化が求められる。
【0006】コストの問題ついてさらに説明する。CD
Nには、キャッシュサーバを用いたものと、バックボー
ンネットワークを活用しエンドユーザまでコンテンツを
配信するものがある。ここでは、主として、前者のキャ
ッシュサーバを用いるCDN技術に着目する。既存のC
DNの目的は、単純に「利益の最大化」であった。ここ
でいう利益とは、エンドユーザからキャッシュサーバへ
行われるリクエスト回数である。利益の最大化を達成す
るため、従来、キャッシュサーバは、リクエストされた
任意のコンテンツを無差別にキャッシングする。その結
果、キャッシングされるコンテンツ数が非常に多く、こ
のことが、キャッシュサーバに多大な容量を要求し、そ
して、コストを押し上げる要因になっている。
【0007】本発明は上記課題に鑑みてなされたもので
あり、その目的は、コンテンツ配信におけるコストを削
減可能な技術を提供することにある。さらに、本発明の
目的は、リクエスト回数の増大が見込める適当なコンテ
ンツをキャッシング可能にすることによってコストを適
切に削減可能な技術を提供することにある。
【0008】
【課題を解決するための手段】本発明は、コンテンツ配
信ネットワーク上のキャッシュサーバによるコンテンツ
のキャッシングを制御するキャッシュ制御方法に関す
る。本発明のキャッシュ制御方法は、コンテンツのリク
エスト回数の増大を監視し、リクエスト回数が増大する
ことにより所定のキャッシュ条件が満たされるのを待っ
てから前記コンテンツをキャッシュサーバにキャッシン
グさせる。好ましくは、前記キャッシュ条件は、リクエ
スト回数が多いほどその後のリクエストの可能性が大き
いリクエスト特性に基づき設定される。
【0009】典型的には、キャッシュ条件は、リクエス
ト回数が適当な値まで増大したときに満たされる。この
判断を実現する処理には、典型的にはリクエスト回数そ
のものが用いられるが、他のパラメータが用いられても
よい。
【0010】本発明によれば、例えば、1回だけリクエ
ストされた後にリクエストされないコンテンツを無駄に
キャッシングするのを回避できる。実際、このようなコ
ンテンツは相当に多い。このようにして、本発明によれ
ば、適当なコンテンツを限定的にキャッシングすること
により、コストの削減を図れる。
【0011】好ましくは、前記キャッシュ条件は、リク
エスト回数とその後の目標リクエスト回数達成確率との
関係に基づき設定される。目標リクエスト回数達成確率
は、例えば、リクエストのログを解析することによって
得られる。
【0012】好ましくは、前記キャッシュ条件は、前記
目標リクエスト回数達成確率から得られるリクエスト増
大量の期待値に基づき設定される。好ましくは、期待値
が適当な大きさになるリクエスト回数が、キャッシュ条
件としてのコンテンツ抽出閾値に設定される。より好ま
しくは、期待値が最大になるときのリクエスト回数が、
キャッシュ条件としてのコンテンツ抽出閾値に設定され
る。そして、本発明は、コンテンツのリクエスト回数が
前記コンテンツ抽出閾値まで増大したときに前記コンテ
ンツを前記キャッシュサーバにキャッシングさせる。本
発明によれば、期待値に基づくキャッシングの制御によ
り、リクエスト回数の増大が見込めるコンテンツを適切
にキャッシングできる。
【0013】なお、本発明の範囲内で、目標リクエスト
回数達成確率に基づく他の制御が行われてもよい。例え
ば、目標リクエスト回数達成確率が適当な値になるとき
のリクエスト回数がコンテンツ抽出閾値として用いられ
てもよい。しかし、上述の期待値に基づく制御は、後述
にてより詳細に説明されるように、リクエスト回数の増
大が見込めるコンテンツを適当なタイミングでキャッシ
ングでき、本発明の利点が一層好適に得られると考えら
れる。
【0014】さらに好ましくは、ユーザグループによっ
て前記リクエスト特性が異なることに基づき、キャッシ
ュ条件がユーザグループに応じて設定される。そして、
ユーザグループによるリクエスト回数に基づきキャッシ
ングが制御される。ユーザグループに応じた制御によ
り、さらなるコスト削減効果が期待できる。また、本発
明は、後述にてさらに説明するように、ユーザグループ
によって異なる被リクエストコンテンツの幅を反映した
適切な制御を可能にする。
【0015】本発明の別の態様は、コンテンツ配信ネッ
トワーク上のキャッシュサーバによるコンテンツのキャ
ッシュの制御方法であって、ユーザグループによるコン
テンツリクエスト履歴情報を取得するステップと、前記
コンテンツリクエスト履歴情報に基づき、リクエスト回
数とその後の目標リクエスト回数達成確率との関係を求
めるステップと、前記目標リクエスト回数未満のリクエ
スト回数を対象として、前記目標リクエスト回数達成確
率と前記目標リクエスト回数までの残リクエスト回数の
積で表されるリクエスト増大量の期待値を求めるステッ
プと、前記期待値が最大になるときのリクエスト回数を
コンテンツ抽出閾値に設定するステップと、前記ユーザ
グループによるコンテンツのリクエスト回数を監視し、
あるコンテンツのリクエスト回数が前記コンテンツ抽出
閾値まで増大したときに前記コンテンツをキャッシュサ
ーバにキャッシングさせるキャッシュ制御を行うステッ
プと、を含む。
【0016】本発明の別の態様は、コンテンツリクエス
ト増大量の予測方法であり、ユーザグループによるコン
テンツリクエスト履歴情報を取得するステップと、前記
コンテンツリクエスト履歴情報に基づき、リクエスト回
数とその後の目標リクエスト回数の達成確率との関係を
求めるステップと、前記目標リクエスト回数未満のリク
エスト回数を対象として、前記目標リクエスト回数達成
確率と前記目標リクエスト回数までの残リクエスト回数
の積で表されるリクエスト増大量の期待値を求めるステ
ップと、を含む。
【0017】本発明の別の態様はキャッシュシステムで
あり、コンテンツ配信ネットワーク上で提供されるコン
テンツをキャッシュデータとして記憶するキャッシュメ
モリと、ユーザグループによるコンテンツのリクエスト
回数をカウントするリクエスト回数カウンタと、前記リ
クエスト回数カウンタによりカウントされたリクエスト
回数が所定のコンテンツ抽出閾値に達したときに前記コ
ンテンツを前記キャッシュメモリにキャッシングさせる
キャッシュ制御部と、を含む。上述の構成がキャッシュ
サーバに設けられるとき、そのキャッシュサーバが単独
で本態様のキャッシュシステムであってよい。また、上
述の構成がコンテンツ配信サービス上で分散されると
き、それらが本態様のキャッシュシステムであってよ
い。
【0018】好ましくは、キャッシュシステムは、前記
ユーザグループによるコンテンツリクエスト履歴情報を
解析することにより前記コンテンツ抽出閾値を求める解
析部を含む。好ましくは、前記解析部は、前記コンテン
ツリクエスト履歴情報から得られるリクエスト増大の期
待値が最大になるときのリクエスト回数を前記コンテン
ツ抽出閾値として求める。
【0019】本発明の別の態様は、コンテンツ配信ネッ
トワークを介して提供されるコンテンツをキャッシュデ
ータとして記憶するキャッシュメモリを有するキャッシ
ュサーバであって、ユーザグループによるコンテンツの
リクエスト回数が所定のコンテンツ抽出閾値に達したと
きに前記コンテンツを前記キャッシュメモリにキャッシ
ングするように制御される。
【0020】本発明の別の態様は、コンテンツ配信ネッ
トワーク上のキャッシュサーバによるコンテンツのキャ
ッシングを制御するキャッシュ制御装置であって、ユー
ザグループによるコンテンツのリクエスト回数をカウン
トするリクエスト回数カウンタと、前記リクエスト回数
カウンタによりカウントされたリクエスト回数が所定の
コンテンツ抽出閾値に達したときに前記コンテンツを前
記キャッシュサーバにキャッシングさせるキャッシュ制
御部と、を含む。本態様のキャッシュ制御装置は、コン
テンツ配信ネットワーク上の局所的な装置で構成されて
もよく、分散された複数の装置で構成されてもよい。
【0021】本発明の別の態様は、コンテンツ配信ネッ
トワークを介して提供されるコンテンツをキャッシュデ
ータとして記憶するキャッシュメモリに関連して用いら
れる、コンピュータにて実行可能なプログラムであっ
て、ユーザグループによるコンテンツのリクエスト回数
をカウントし、リクエスト回数が所定のコンテンツ抽出
閾値に達したときに前記コンテンツを前記キャッシュメ
モリにキャッシングさせるキャッシュ制御を前記コンピ
ュータに実現させる。本発明の別の態様は、上述のプロ
グラムを記録した、コンピュータにて読取可能な記録媒
体である。
【0022】さらに、以上の構成要素の任意の組合せ、
本発明の表現を方法、装置、サーバ、システム、コンピ
ュータプログラム、記録媒体などの間で変換したものも
また、本発明の態様として有効である。
【0023】
【発明の実施の形態】以下、本発明についてさらに説明
する。以下では、まず、「ユーザクラスタリング機構を
用いたコンテンツ自動配信システムの構築」の提案につ
いて詳細に説明する。その後に、同技術を適用したキャ
ッシュサーバで構成されるシステムの実施形態について
説明する。「ユーザクラスタリング機構を用いたコンテ
ンツ自動配信システムの構築」 1.コンテンツ自動配信システムの構築に関する説明の
全体概要を説明する。 以下では、まず、CDN(コンテンツ配信ネットワー
ク)の概要を説明し(2章)、それから、本提案システ
ムについて説明する(3章)。ここでは、本提案システ
ムの位置づけ(3.1節)、具体的手法(3.2〜3.
5節)、試作機の構成(3.6〜3.7節)を説明す
る。さらに、試作機による実験および評価を説明する
(4章)。
【0024】2.CDN(Content Distribution/Deliv
ery Network) CDNとは、ネットワークエッジに配備されたサーバを
むすんだサーバネットワークを用いてインターネットの
渋滞や遅延を解消するソリューションである。既に述べ
たように、1999年に米Akamai社がはじめたコンテン
ツ・デリバリー・ネットワークがはじまりであり、その
後今日に至るまで多くのCDNプロバイダが生まれてい
る。本章では、CDNのアーキテクチャおよびプロトコ
ルについて説明する。
【0025】2.1 CDNアーキテクチャおよびプロ
トコル CDNはコンテンツ提供者とエンドユーザとの間に位置
し、コンテンツ配信を効率化するために様々な機能を果
たす。CDNを構成する主な機能には次がある。すなわ
ち、リクエスト・ルーティング、ディストリビューショ
ン、アカウンティングおよびコンテンツ・アダプテーシ
ョンである。
【0026】2.1.1 リクエスト・ルーティング
(Request Routing System) リクエスト・ルーティングとは、分散された多数のサロ
ゲートの中から最も適切な1つを選び出し、そこへエン
ドユーザからの要求を誘導することである。単純な例と
して、BIND(参考文献:Paul Albitz and Cricket Liu,
DNS & BIND Third Edition, O'REILLY, 2000)のラウ
ンドロビン機能による負荷分散がある。しかしこの方式
はアクセスを順に振り分けるだけであり、サーバやネッ
トワークの混雑度に応じた負荷分散機能はない。サロゲ
ートの中から最適なものを選択するためには様々な条件
を考慮しなければならず、以下のようなものが考えられ
ている。・サロゲートのCPU負荷、応答時間、・サロ
ゲートにおけるコンテンツのキャッシュ状況、・サロゲ
ートのカバーするコンテンツ種類、・ユーザとサロゲー
ト間のネットワーク混雑度、パケット損失率、回線速
度、・サロゲート運用者、ISP、コンテンツ提供者等
関係者間での契約関係。
【0027】リクエスト・ルーティングシステムには、
上で挙げた情報を関係する機器の間で常時交換し、最新
のパラメータを保持することが求められる。
【0028】現在リクエスト・ルーティングについては
多くの手法が考案されているが、IETF(Internet E
ngineering Task Force)のCDI(Content Distribut
ionInternetworking)WGにおいてもこの技術が検討さ
れている(参考文献:B. Cain, F. Douglis, M. Green,
M. Hofmann, R. Nair and D. Potter, O.Spantscheck.
Known CDN Request-Routing Mechanisms. Draft-cain
-cdnp-known-request-routing-02.txt. June 2001)。
【0029】2.1.2 ディストリビューション(Di
stribution System) プロキシ・キャッシュ・サーバへのコンテンツ配信は、
エンドユーザからの要求により受動的に行われるが、そ
れだけでは効率が悪い。複数のキャッシュサーバ間で通
信を行い、それらが近隣のキャッシュサーバからコンテ
ンツを複製する方式など、効率的にコンテンツを配信す
るための研究がIRCacheプロジェクトを中心に行
われ、いくつかのプロトコルが提案された(参考文献:
P. Vixieand D. Wessels. Hyper Text Caching Protoco
l (HTCP). RFC2187. September,1997)、(参考文献:
V.Valloppillil and K.W.Ross. Cache Array Routing P
rotocol v1.0. draft-vinod-carp-v1-03.txt February,
1998)。
【0030】CDNにおけるサロゲートでは、さらにコ
ンテンツ提供者側による積極的あるいは戦略的にコンテ
ンツ配信制御が行われる。さきがけ的存在として、Ak
amai社が開発したFreeFlowがある。さら
に、サロゲート間での通信に専用回線や衛星回線などを
活用し、コンテンツ配信の効率化を行う企業も現れてき
ている。
【0031】2.1.3 アカウンティング(Accounti
ng System) 一般的に、インターネットを介して情報を提供しようと
いう場合にはAAA(Authentication, Authorization,
Accounting)の3つの処理が必要である。それぞれ
「認証」「許可」「課金」という意味である。認証は相
手が誰であるかを確認することであり、許可は確認され
た相手に対してどのような権限を与えるか制御すること
であり、課金は料金計算のための情報収集、料金請求な
どの処理である。これら3つを総合的に議論する場とし
て、IETFにはAAAワーキンググループがある。こ
のWGの目標は、多様なアプリケーションに共通に使用
可能な汎用性のあるAAAのためのプロトコルを定義す
ることにある。
【0032】2.1.4 コンテンツ・アダプテーショ
ン(Content Adaptation) エンドユーザの嗜好や特性、使用する機器のスペックな
どに合わせてコンテンツを修正/加工することを、コン
テンツ・アダプテーションといい、コンテンツ配信の付
加価値を高めることを期待されている。コンテンツ・ア
ダプテーションの例を示すと、1)言語の翻訳、2)メ
ディアタイプの適応、3)ユーザ特性に合わせた広告挿
入、4)地域データの挿入、5)ウィルス・スキャンで
ある。
【0033】しかし、サロゲートにおいてコンテンツの
適応をどこまで行うことができるかという問題もある。
デジタル著作権の管理技術は現在十分に発展しておら
ず、法整備もなされていないため、この問題は解決され
るに至っていない。CDNがビジネスとして発展するた
めには、この問題に早急に取り組まなければならないと
いわれている。
【0034】3.提案システム この章では、本提案システムの構成と、それを実現する
ための方法、本システムを実装した試作機の構成などに
ついて説明する。
【0035】3.1 提案システム概要 本提案システムの目的は、アプリケーションからCDN
を低コストで使用できるようにすることである。低コス
ト化を図るためには、第1に設備投資を減らす必要があ
る。本システムは完成後にフリーソフトウェアとして配
布することが好ましいと考えられる。CDNプラットフ
ォームを広く浸透させることによって、アプリケーショ
ン開発の活性化が期待できる。本システムの構成を図1
および図2に示す。
【0036】ディストリビューションシステムは、本シ
ステムを組込んだサーバ(Distribution Server,以下D
S)群から成り、各サーバは自律的に協調し、コンテン
ツを複製し合う。キャッシュサーバ(CS)はDSに含
まれる。また、オリジンもディストリビューションシス
テムに含まれる。協調関係については全てのサーバが同
等であり、図2にそれを示す。
【0037】リクエストルーティングシステムは、ユー
ザ(アプリケーション)からの名前解決に対して応答す
るシステムである。コンテンツの名前と所在を保持し、
これらはディストリビューションシステムからの登録に
よって更新される。DNS(Domain Name Service)サ
ーバとほぼ同等の役割を負う。
【0038】図1について説明すると、(1)オリジン
(Webサーバに限らず情報の発生源という意味)は、
リクエストルーティングシステムへコンテンツ(名前、
場所)を登録する。(2)コンテンツの場所を問い合わ
せる。(3)登録リストの中から最も適切と思われる場
所を応答として返す。(4)(3)の結果がオリジンサ
ーバだった場合、オリジンサーバへリクエストする。
(5)コンテンツの取得が行われる。(6)オリジンは
コンテンツの複製を行なうために、複製先サーバリスト
を取得する。(7)複製ポリシーに基づいてコンテンツ
の複製を行う。(8)コンテンツを受け取ったサーバは
リクエストルーティングシステムへ、コンテンツ(名
前、場所)を登録する。(9)リクエストルーティング
システムから複製先サーバリストを取得する。(10)
複製先サーバの方がオリジンサーバよりもエンドユーザ
に近い場合は、複製先サーバへリクエストする。(1
1)コンテンツの取得が行われる。
【0039】3.2 提案システムの具体化 ここでは、主としてディストリビューションシステムに
ついて説明する。ディストリビューションシステムの役
割は、最適なコンテンツ配信を行うことである。3.
2.1では本システムにおける「最適なコンテンツ配
信」の意味について述べ、3.2.2でその実現手法、
3.2.3では本システムで用いる具体化について述べ
る。
【0040】3.2.1 最適なコンテンツ配信 コンテンツ配信における「最適」という言葉には様々な
意味があり、配信側か受信側かによっても意味が異な
る。ここでは、配信側と受信側における「最適なコンテ
ンツ配信」の意味について述べる。ただし、ここでは、
狭義のコンテンツ配信(コンテンツの配送方法)につい
て説明する。
【0041】まず、受信側(つまりはユーザ側)から見
た最適なコンテンツ配信であるが、エンドユーザに対し
ての応答速度が最速であるような配信を最適ということ
もあれば、エンドユーザへジッタのない安定したデータ
転送ができる配信を最適ということもある。いくらジッ
タのない安定したデータ転送でも、応答速度が非常に遅
い場合は最適とはいえず、逆に応答速度がいくら高速で
もデータ転送が途切れてしまっても最適とはいえない。
また、応答速度が高速でジッタもなかったとしても、一
度に転送できるデータ転送量が小さければ最適とはいえ
ない。このように、最適となるための必要条件を挙げれ
ばキリがなく、全ての条件を満足することなど不可能に
近い。そこで、インターネットにおいては、ある1つの
サービスを提供するために最低限必要な品質をQoS
(Quality of Service)とよび、このQoSを満たせば
「最適」となる。つまり、最適なコンテンツ配信とはQ
oSを満足する配信である。
【0042】しかし、ベストエフォート型のインターネ
ット上、特にネットワーク的に離れた地域間による「E
nd to End」での通信ではQoS実現すら難し
く、RSVPやDiffserv、MPLSなどの技術
を用いたソリューションが期待されていた。だが、この
流れはCDNの登場によって大きく流れが変わることに
なる。「End to End」という概念を戦略的に
インターネットに持ち込むことによって、QoS実現を
可能にした。ネットワークエッジに配置されたサーバ、
つまりエンドユーザに近いサーバからコンテンツを配信
することによって、混雑する回線や遅い回線を回避し、
応答速度が高速でスループットの高いデータ転送をジッ
タもエラーもなく行えることを意味する。まとめると、
CDNを用いれば、QoS保証されたサービスが可能で
あり、受信側にとって最適なコンテンツ配信が行えると
いえる。
【0043】次に、配信側にとって最適なコンテンツ配
信についてであるが、受信側にはない条件が必要とな
る。それは、コンテンツ配信資源の効率的活用である。
配信側の立場では、コンテンツ配信にかかるコストより
も得られる利益が少ないと、コンテンツ配信を行う意味
がなくなってしまうからである。ここでいうコストと
は、コンテンツ配信に必要となるあらゆるもので、ディ
スク/メモリ使用量やコンテンツ複製トラフィック、計
算負荷などであり、配信側は利益を高めるためにはコス
トの最適化を行う必要がある。つまり、コストの最適化
を行いつつ、ユーザへ近いサーバへコンテンツを配置す
ることが、配信側にとっての「最適なコンテンツ配信」
といえる。
【0044】3.2.2 最適なコンテンツ配信の実現
手法 3.2.1で最適なコンテンツ配信とは「コストの最適
化が行われたCDNである」と説明したが、それに対し
て本システムがとるアプローチを述べる。本システムは
コストの最適化を行うために「多く必要とされるコンテ
ンツを、多く必要とするユーザから、最も近いサーバ
へ」というコンセプトに基づいて設計する。
【0045】コンテンツ複製対象を、多く必要とされる
コンテンツに限定することで大きなコスト削減効果が見
込まれる。図3〜図8は、それぞれ異なったプロキシサ
ーバのアクセスログを解析した結果である。図3と図
4、図7は研究室で使用しているプロキシサーバ(Sq
uid)、図5と図6、図8は情報工学科のプロキシサ
ーバ(Squid)のものである。ユーザのリクエスト
傾向としてわかるのは、リクエスト回数の少ないコンテ
ンツ数の割合は非常に高いがそれらに対するリクエスト
数の割合はそれほど高くなく、リクエスト回数の多いコ
ンテンツはコンテンツ数の割合は少ないがリクエスト数
の割合が高いということである。図6を基にして考えれ
ば、2回以上リクエストされたコンテンツをキャッシュ
することにするだけで、66.23%のディスク/メモ
リ使用量が削減できる。また、3.4節で詳しく述べる
が、リクエストの多いコンテンツは、その後もリクエス
トされる可能性が高いので、リクエストの多いコンテン
ツのみでコンテンツの複製を行う。
【0046】次に、コンテンツを必要としているユーザ
に近いサーバに限定してコンテンツを複製する理由を説
明する。これは、リクエストのネットワーク的な偏りを
利用しようというものである。インターネットには数多
くのネットワークが相互接続されており、ネットワーク
によってユーザ数もリクエスト傾向も違う。全てのネッ
トワークを同じように捉えるのではなく、ネットワーク
単位で捉えることによってそのネットワークに特化した
コンテンツ配信が行える。よって、ネットワーク単位で
リクエストを解析することは重要であり、コンテンツの
複製はネットワーク毎(つまりネットワークに一番近い
サーバ)に行うべきである。ネットワークの分割の仕
方、つまりはユーザのグルーピング方法については3.
3節で説明する。
【0047】3.2.3 実現手法の具体化 本システムにおいて用いる手順について説明する。本シ
ステムは大きく分けて3つの手順をふんでコンテンツの
複製が行われる。このような手順をふむ理由は3.2.
2で説明した通りである。3つの手順は、(1)ユーザ
クラスタリング(ユーザのグループ化)、(2)リクエ
ストの多いコンテンツの抽出、(3)最適サーバ選択で
ある。(1)については3.3節、(2)については
3.4節、(3)については3.5節で説明する。
【0048】(ポリシーについて)後に詳細に述べるよ
うに、本提案システムでは、CDNにポリシーが組み込
まれる。 ポリシーは複製モジュールとのインタフェー
スに従いさえすればどのようなものでもよく、様々なア
ルゴリズムが適用可能である。
【0049】今回提案するポリシーは「コンテンツ配信
におけるコストを削減」というものである。既存のCD
Nの目的が単純に「利益の最大化」というものであるの
に対して、本提案ポリシーはコストの無駄を省くという
ことが目的となる。ここでいう利益とは、エンドユーザ
からCS(DS)へ行われるリクエスト数のことであ
る。コンテンツ配信においては、より多くのリクエスト
に対応できるということが利益といえる。提案ポリシー
を実現するために求められる条件を3つ示す。(1)利
益を多く生む場所(地域)の把握、(2)利益の高いコ
ンテンツの抽出、(3)最適なサーバにコンテンツを複
製である。これら条件(1)〜(3)を満足するため
に、上述の3つのアルゴリズムがそれぞれ有利に用いら
れる。すなわち条件(1)にはユーザクラスタリングが
対応し、条件(2)には選択的コンテンツ抽出が対応
し、条件(3)には最適サーバ探索が対応する。
【0050】3.3 ユーザクラスタリング 本システムにおけるユーザクラスタリングとは、ユーザ
を共通のポリシーによって管理されているネットワーク
単位によってグループ化することである。ここで用いら
れる好適なクラスタリングアルゴリズムは、「Balachan
der Krishnamurthy and Jia Wang. On Network-Aware C
lustering of Web Clients. In Proceedings of ACM SI
GCOMM, August 2000.」である。このアルゴリズムは、
BGP(Broader Gateway Protocol)ルーティングテー
ブルのスナップショットを用いてユーザのクラスタリン
グを行う(K.Lougheed and Y.Rekhter. A Border GateW
ayProtocol. RFC1163, IETF, June 1990.)。ルーティ
ングテーブルのエントリーをクラスタリングの単位とす
ると、BGPルーティングテーブルがネットワークの障
害や変更に対応するので、クラスタリングの精度は高く
なる。上述のBalachander Krishnamurthyらの実験結果
によると、99.9%のユーザがどれかのクラスターに
属し、90%以上の精度があると報告されている。クラ
スタリングの手順を図9に示すとともに、以下に図9に
ついて説明する。
【0051】「IP Address extract
ion」: アクセスログからIPアドレスを抽出する。
【0052】「Network prefix ext
raction(Prefix extraction, unification, me
rging)」:BGPルーティングテーブルから、プレフ
ィックスエントリーを抽出する。プレフィックスエント
リーのフォーマットがBGPルーティングテーブルによ
って異なるのでマージする。フォーマットには下の3種
類ある。すなわち、「X1.X2.X3.X4/k1.k2.k3.k4」、「X
1.X2.X3.X4/m」および「X1.X2.X3.0」である。
【0053】「Client cluster ide
ntification」:ログから抽出したユーザI
PアドレスについてBGPルーティングテーブルから抽
出したプレフィックスと比較し、最長一致するプレフィ
ックスを求める。ユーザは最長一致したプレフィックス
のクラスターに属すると識別される。
【0054】「Validation」:Networ
k−Aware clusteringには、2つの理
由によりクラスターが誤って求められる可能性がある。
クラスターがもう1つ以上のネットワークを含んでいる
場合と、1つのネットワークがいくつかのクラスターに
分割されている場合である。この問題を解決するため
に、nslookupとtracerouteを用い
る。nslookupはホストのドメイン名を問い合わ
せるツールである。同じプレフィックスのユーザには同
じドメイン名がついている性質を利用してクラスタリン
グの精度を高めようというものであるが、前出のBalach
ander Krishnamurthyらの文献によれば、nslook
upによってドメイン名が求められる確率は50%程度
であり、nslookupだけでは問題を解決できない可能性が
ある。そこでtracerouteを適切なかたちで適
用してクラスタリングの精度を高めることが好適であ
る。tracerouteはユーザまでの経路情報を得
ることができるので、同じネットワークに属しているか
どうかを判断することができる。
【0055】「Examining impact o
f network dynamics」:BGPルー
ティングテーブルがネットワークの障害や変更に即座に
更新されるので、クラスタリングをネットワークの変動
に対応させることができる。「Self−correc
tion and adaptation」:Vali
dationによって求めたクラスタリングの誤検出を
修正する。1人のユーザが2つのクラスターにまたがって
いる場合、1つのクラスターとする。1つのネットワーク
がいくつかのネットワークを含んでいた場合、trac
erouteによって得られた結果に基づいてクラスタ
ーを分割する。
【0056】(グループ化の利点)既に述べたように、
ユーザクラスタリングとは、ユーザのグループ化のこと
である。ここで、グループ化による利点を以下に2つ挙
げる。すなわち、(1)リクエスト傾向の把握がしやす
い、(2)複製を効率的に行える、である。
【0057】(1)リクエスト傾向の把握がしやすい利
点:ユーザ1人毎にリクエスト傾向を把握するよりもグ
ループ単位で行う方が処理負荷を軽減することができ、
把握しやすいものとなる。グループが類似した嗜好や特
徴を持つユーザの集合だとすれば、グループ内のユーザ
は類似したコンテンツをリクエストする事が期待できる
ため、グループ単位のリクエスト傾向はユーザ単位のも
のと近似と考えることができる。つまり、グループ化に
よってユーザ単位でリクエスト傾向を把握する必要はな
くなり、ユーザ単位では難しい傾向の把握をしやすくな
ることを意味する。
【0058】(2)複製を効率的に行える利点:ユーザ
単位でコンテンツの複製を行うのではなくグループ単位
で行うため、複製1回に対する効果を高めることができ
る。例えば、リクエスト傾向の異なる2つのグループが
あった場合、リクエストの少ないグループに対してコン
テンツの複製を行うよりも、リクエストの多いグループ
に対して行う方が提案したポリシーに基づいていて効率
的である。既存CDNがリクエストの有無によってコン
テンツの複製を行うかどうかの判断をしてきたのに対
し、リクエスト数の多いか少ないかによって複製の判断
を行うという本提案ポリシーにおいては、グループ化が
非常に有効である。
【0059】このようにグループ化によってもたらされ
る効果は高いのだが、ここで重要なのはグループ化が何
に基づいて行われて、その精度がどの程度であるかとい
うことである。今回はコンテンツ配信における最適化と
いうことを重視し、上述したように、ネットワークトポ
ロジーに基づいてユーザのグループ化を行うNetwork-Aw
are Clusteringを用いる。このアルゴリズムは、BGP
ルーティングテーブルのスナップショットとユーザのI
Pアドレスを使用してグループ化(クラスタリング)を
行うものであり、このアルゴリズムを簡略化したものが
本提案システムに好適に適用される。
【0060】3.4 コンテンツ抽出アルゴリズム コンテンツを選択的に抽出するのは、最小限のコストで
最大限の利益(リクエスト数)を上げるコスト最適化の
ためである。リクエストの多いコンテンツのみを複製対
象とすることで、リクエストの少ない(利益の少ない)
コンテンツに関するコストを削減することができる。し
かし、この方法によるコスト最適化のためには、リクエ
ストの多いコンテンツをリクエストされる以前に把握す
る必要がある。これはユーザのリクエストを予測するこ
とであり、非常に難しい問題である。なぜなら、どのコ
ンテンツがどの程度リクエストされるのかを予測するた
めには、ユーザ特性を知る必要があるからである。本シ
ステムにおけるアプローチはログから確率的なリクエス
ト傾向を求め、それを用いてコンテンツを抽出する。 3.4.1 ユーザのリクエスト傾向 リクエスト傾向(リクエスト特性)を知る手段として、
プロキシサーバのログを解析することが有効である。プ
ロキシサーバは学校や企業などの組織の出入り口に位置
し、ユーザのリクエストを代行する役割を持つ。リクエ
ストの履歴はログとして蓄積されるので、プロキシサー
バのログを解析すれば組織単位でのユーザのリクエスト
傾向がわかる。図10に示されるように、今回解析した
ログは研究室X、情報工学科Y、大学Zの学生約300
0人が加入しているISPの3つである。ただし、図1
0においては、不正アクセスや正規のリクエストでない
ものは除かれている。また、ログの解析においてユーザ
のプライバシーが守られなければならないことはもちろ
んである。
【0061】3つのプロキシサーバのログ解析結果よ
り、リクエスト数が多いコンテンツは少量しかないこと
がわかった(リクエストが少ないコンテンツの数が多
い)(図11)。したがって、リクエストの多いコンテ
ンツだけを抽出することによって、ディスクスペース量
や管理コスト、複製に関する処理などを削減することが
できる。
【0062】図12〜図17は、それぞれのログから、
リクエスト回数別にその後リクエストされる確率を表し
たものである。それぞれの図は10回以上、20回以
上、30回以上、40回以上、50回以上、100回以
上リクエストされる確率を図にしたものである。図12
を見ると、3回リクエストされたコンテンツが10回以
上リクエストされる可能性は研究室のものが約70%、
ISPが約65%、情報工学科が約82%だということが
わかる。ばらつきがあるが、3つとも同じような対数曲
線を描くことがわかる。このことから、リクエスト回数
が多いほどその後リクエストされる可能性が高いことが
わかり(リクエスト回数が少ないほどその後のリクエス
トされる可能性が低い)(図11)、ある程度リクエス
トされたコンテンツはその後リクエストされる可能性が
非常に高くなることがわかった。
【0063】3.4.2 期待値 3.4.1で、リクエスト回数が多くなるとその後リク
エストされる可能性が高い傾向があると説明した。では
実際にリクエスト回数がどの程度になればコンテンツ抽
出を行うべきなのかを説明する。いくら確率が高くても
得られる利益(キャッシュヒットによってユーザ得られ
る利益)が低ければ意味がない。例えば、図17の情報
工学科のグラフを見ると、99回リクエストされたコン
テンツが100回以上リクエストされる可能性は99.
76446%であることがわかる。そこで、99回目の
リクエストで初めてコンテンツをキャッシュしたとす
る。もしリクエストされる回数が100回ならば1回分
しか利益を得ることしかできない。よって、「その後リ
クエストされる確率が高い」ではなく、「高い利益を得
る確率が高い」という判断によってコンテンツを抽出す
る必要がある。
【0064】本システムにおいては、「利益を得られる
確率(X回以上リクエストされる確率)」と「得られる
利益(その後のリクエスト回数)」との積を求め、それ
とXとの商を期待値とし、それに基づいてコンテンツ抽
出を行うことにする(期待値を求めるときにXで割らな
くてもよい)。
【0065】期待値を表したものが図18〜図23であ
る。これらの図より、あるリクエスト回数で期待値が極
大値を取ること、どのプロキシサーバかによって極大値
をとるリクエスト回数が異なることがわかる。それぞれ
のプロキシサーバによる違いは、グループ毎のリクエス
ト傾向の違いを表している。本システムは、極大値をグ
ループ毎に求め、これをコンテンツ抽出閾値とする。
【0066】次に、図24は、期待値が最大となるリク
エスト回数をグラフにしたものを示す。横軸(X)は、
図18〜図23における目標のリクエスト回数(10回
から100回)である。縦軸は、期待値が極大値となる
リクエスト数(コンテンツ抽出閾値)である。横軸のリ
クエスト回数(X)は、何回リクエストされたものを利
益が高いとするかによって決まる。例えば、100回以
上リクエストされるコンテンツを利益が高いとすると、
情報工学科ならばリクエスト数13回でコンテンツを抽
出すればよいことがわかる(コンテンツ抽出閾値=13
で、期待値が最大になる)。このように、図24より、
コンテンツ抽出閾値は変数Xによって定まることがわか
る。Xは、システム使用者により適宜決定されてよい。
【0067】図24における近似曲線の傾きはユーザの
リクエストの幅を表す。これは多数回リクエストされる
コンテンツが多い場合に期待値が最大となるのが早く、
少ない場合は最大となることが遅いことを根拠としてい
る(多数回リクエストされるコンテンツが多いというこ
とは、リクエストが偏っているといえる)。よって、傾
きが大きいほどリクエストの幅が広く、小さいほどリク
エストの幅は狭い。この場合、情報工学科が最もリクエ
ストの幅が狭く、ISPが最もリクエストの幅が広いこ
とがわかる。したがって、このようなコンテンツ抽出閾
値導出手法を適用することにより、グループのリクエス
ト傾向を反映させた閾値の設定が可能になる。閾値はC
Sのログを解析することによって求められる。なお、図
24における「x」は「X/10」である。
【0068】また、上述において、本システムによるコ
ストの最適化とは、「利益の少ないコンテンツに関する
コストを削減しつつ最大限の利益を上げよう」というも
のであり、単なる利益の最大化ではないことに注意が必
要である。
【0069】3.4.3 クラスタリングとコンテンツ
抽出 3.4.2ではコンテンツ抽出閾値の導出法を説明した
が、実際の使用方法について述べる。コンテンツ抽出閾
値を、3.3節で説明したユーザクラスタリングによっ
て求めたクラスタリング毎に適用する(図25)。クラ
スターが組織単位となるので、組織単位でコンテンツ閾
値を求めることができ、コンテンツ抽出の精度を高める
ことができる(組織単位でのリクエスト傾向を反映でき
るので)。また、コンテンツの複製を個人単位やインタ
ーネット全体ではなくクラスター単位で行うことによっ
て、複製回数を抑え、頻繁な複製を防ぐことができる。
【0070】3.5 最適サーバ選択アルゴリズム ユーザクラスタリングによって求めたクラスター毎にコ
ンテンツ抽出アルゴリズムを適用し、複製するコンテン
ツと複製先の目標となる場所(クラスター)を導入する
ことができた。しかし、複製を行うためには複製目標の
クラスターに対して最適である複製先DSを発見するこ
とが求められる。そこで最適サーバ探索が求められる。
本システムにおいては、以下に説明するように、最適サ
ーバを目標クラスターから最も近いサーバとし、単純に
ラウンドトリップタイム(以下、RTT)の小さいもの
を近いとする。
【0071】複製を行なうためにはクラスターの最近隣
にある複製先DS(Distributed Server、以下同じ)を
発見することが望まれる。DNSサーバを用いて複製先
となるクラスター側から最近隣DSを発見する方法(図
26)には様々な研究および製品があるが(下川俊彦,
吉田紀彦,牛島和夫. 多様な選択ポリシーを利用可能な
サーバ選択機構, 電子情報通信学会論文誌 Vol.J84-D-I
No.9 2001.9)、これがクラスターから遠隔にあるDS
単独で最近隣DSを探索することになると問題は難解に
なる。なぜなら、クラスターから各DSへの経路を把握
することが、複製元DSでは難しいからである(図2
7)。この解決策としてIPルーティングのように各D
Sが協調し合い、クラスターから最近隣DSを探索する
方法(図28)を挙げることができるが、DSの数が多
くなると協調によるオーバーヘッドが大きくなるのであ
まり好ましくない。違った協調を使用したものとして、
複製元DSと近いDSから順に協調し複製する方法があ
る。フローチャートは図33のようになる。この場合、
協調そのものに対するオーバーヘッドは小さくて済むが
複製が局所的であり、目標となるクラスターから最近隣
のDSへコンテンツを複製するために複数回複製を要す
る可能性が高い(図29〜図32)。また、こういった
アルゴリズムは複製の終了条件を設定するのが難しい。
【0072】上記を考慮した上で、本システムは、精度
の低いDS単独で探索する方法を提案し用いる。サーバ
選択における「最適」または「最近隣」の定義に関し
て、RTTやTCPスループット、サーバ処理能力、回
線使用率など様々な要素を用いた研究が多いが、本シス
テムにおいては単純にRTTを用いる。ユーザクラスタ
ーから最もRTTが小さい(応答速度が速い)DSを最
低サーバとする。
【0073】3.5.1 提案最適サーバ選択方法 提案手法はtracerouteを基にしている。この
方法は、ネットワークトポロジーが木構造または線形構
造である場合には高精度で最近隣サーバを発見すること
ができるが、リングを含むネットワークである場合には
精度は保証されない。処理の流れを図34に、イメージ
化したものを図35〜図39に示す。tracerou
teを、www.XXXXX.co.jpといったUR
Lに対して実行することによって経路情報とRTTが得
られる。
【0074】3.6 システムの実装方法 3.3〜3.5節で、コンテンツ複製におけるポリシー
を説明した。本説では、この複製ポリシーをどのように
実装するかを述べる。多様な複製ポリシーを利用可能と
し、システムの柔軟性を上げる意味で、実装は柔軟であ
ることが望ましい。そこで、本システムにおいては複製
ポリシーと複製を実行するモジュールとを分離し、実装
を容易化する。複製ポリシーに基づいて複製戦略をたて
るモジュールを解析モジュール、複製を行なうモジュー
ルを複製モジュールと呼ぶことにする。図40はこれら
をまとめた階層図である。このような階層をとることに
よって、アプリケーションは複製ポリシーを選択するこ
とが可能となる。
【0075】3.6.1 解析モジュール 解析モジュールは複製ポリシーに基づいて複製戦略をた
て、複製モジュールに指令を下す役割を持つ。複製ポリ
シーは選択可能とすることがより好適と考えられる。複
製ポリシーの構成は図41で示す。複製ポリシーはユー
ザクラスタリングアルゴリズム、コンテンツ抽出アルゴ
リズム、最適ザーバ選択アルゴリズムの3つのアルゴリ
ズムによって構成される。組み合わせは自由とし、アプ
リケーションレベルで組み合わせを決められる機構を作
成することがより好適と考えられる。
【0076】3.6.2 複製モジュール 複製モジュールは解析モジュールの指示(どのコンテン
ツをどのDSに複製するか)を受け、それに基づいて複
製を行なうモジュールである。複製モジュールには、D
S間通信における認証や暗号化などのセキュリティ機能
や、軽量化された通信機能が備えられることが望まれ
る。図42に複製モジュールの構成図を示す。
【0077】(P−CDN)ここで、上述にて説明され
るように、本発明者は、コンテンツ配信にかかるコスト
削減を目的としたポリシーを既存CDNに組み込んだP
−CDN(Policy based CDN)を提案する。
【0078】P−CDNとは、アプリケーションから多
様なポリシーが選択可能なCDNであり、既存CDNに
戦略性を持たせることができる。ポリシーとは具体的に
キャッシュサーバ(CD、上述のDSに相当)間におけ
るコンテンツ配置アルゴリズムのことであり、本システ
ムはポリシーに基づいてCS間でコンテンツの複製を行
う。P−CDNの特徴は以下の4つ、すなわち、(1)
ポリシーに基づくコンテンツ配置、(2)ポリシーの内
容は条件内で自由、(3)複数のポリシーを組込み可
能、(4)ポリシーの選択は自由である。
【0079】P−CDNでは、既に述べたように、ポリ
シーと複製を実行するモジュールとが分離されることが
有利でる。ポリシーに基づき複製の指令を出す解析モジ
ュールが設けられ、さらに、複製を実行する複製モジュ
ールが設けられる。
【0080】より詳細には、解析モジュールの役割は2
つある。1つはアプリケーションに対してポリシーの選
択性を提供することである。もう1つは、ポリシーに対
してシステムが組み込まれているCS(DS)やネット
ワークの状態を提供する役割である。ポリシーに提供さ
れる項目は、(1)CPU使用率、(2)メモリ使用
率、(3)コネクション数、(4)データ転送量、
(5)ユーザからのリクエストのログ、(6)外部との
通信用のメッセージ通信機能、である。
【0081】一方、複製モジュールはポリシーからの指
令を受け、それに基づいて実際にコンテンツを複製する
モジュールである。ポリシーから複製モジュールになさ
れる指令は、以下に示す2つの要素から構成される。す
なわち、(1)コンテンツの名前(URL)および
(2)複製先サーバ名(IPアドレス)である。
【0082】解析モジュールと複製モジュールとの分離
によって様々なポリシーの開発および実装を簡単化で
き、ポリシーの開発だけに専念できる環境が生まれると
考える。以上、P−CDNについて説明した。
【0083】3.7 試作機の構成 本章で述べてきた提案システムを実用化するために作成
された、システムを実装した試作機について説明する。
試作機は、PC/AT互換機で作成し、システムはFr
eeBSD上に実装する。システムはキャッシュサーバ
ソフトウェアであるSquid(Squid Web Proxy Cach
e)を基にして作成した。Squidにはコンテンツの
キャッシュ機能やキャッシュサーバ間通信機能があるの
で、コーディング作業を大幅に減らすことができる。図
43は、試作機のシステム構成図を示している。
【0084】3.7.1 解析モジュールの実装 解析モジュールには、Squidのアクセスログを解析
する機能と、最適サーバ探索機能を持たせる。図44お
よび図45は、解析モジュールの動作を示している。
【0085】図44および図45について説明すると、
(1)Squidのアクセスログを用いてユーザクラス
タリングを行なう。ログはクラスター毎に分割される。
クラスタリングに用いるBGPルーティングテーブルは
前もってダウンロードしておく。(2)ログ毎にリクエ
スト傾向を求める。リクエスト傾向によって抽出閾値を
導出する。(3)閾値以上のリクエスト回数のコンテン
ツを抽出し、URLを抜き出す。(4)クラスターから
最も近いDSを探索し、DSのIPアドレスを求める。
(5)URLとDSのIPアドレスを複製モジュールへ
渡す。
【0086】3.7.2 複製モジュールの実装 本来なら解析モジュールのように複製モジュールも単体
で動作するように実装することが望ましいと考えられ
る。しかし、今回は、複製モジュールをプロキシサーバ
ソフトウエアのSquidに組込んで実装を行なった。
【0087】複製モジュールは解析モジュールが作成し
た複製先DSリストを利用して、コンテンツの複製を行
なうモジュールである。複製モジュールは複製先DSリ
ストを定期的にチェックしており、リストに変更があれ
ばリストから複製先DSアドレスと複製するコンテンツ
を取得して複製動作を行なう。DS間のネゴシエーショ
ンは図46のような内容になっている。Connection mes
sageはDS間で複製を行なうための情報の通信を行い、
Request Messageはコンテンツ複製を実際に開始するた
めの通信に利用する。Connection messageには各種メソ
ッドが含まれており、メッセージを受信したDSがメソ
ッドに合わせた処理を行なうようになっている。Connec
tion messageのメソッドの種類にはDS間でネゴシエー
ションを開始するときに複製元DSから送られる「ICP_
NEGO」、複製先DSが複製可能だと複製元DSに知らせ
る「ICP_NEGO_Y」、複製先DSが複製不可能だと複製元
に知らせる「ICP_NEGO_N」、複製するコンテンツのアド
レスを複製先DSに送るための「ICP_MOVE」がある。通
信プロトコルはConnection messageの送信にはUDPを
Request messageとコンテンツデータの送信にはTCP
を用いている。まず、リストに変更が複製元DSは複製先
DSリストから複製先DSと複製するコンテンツを取得
する。複製元DSは複製先DSにConnection message
「ICP_NEGO」を送信しネゴシエーション要求を出し協調
動作を開始する。「ICP_NEGO」を受け取った複製先DS
は現在の自分の状態を調べて複製可能かどうかを判断す
る。判断する内容はディスク残り容量、CPU負荷、ネ
ットワーク負荷などをもとに判断する。複製可能な場合
は複製元DSへ「ICP_NEGO_Y」を返し、不可能な場合は
「ICP_NEGO_N」を返す。「ICP_NEGO_Y」を受けた複製元
DSは協調動作可能と判断し、複製先DSへ「ICP_MOV
E」メッセージを送信する。このメッセージには複製す
るコンテンツのアドレスが含まれている。また、「ICP_
NEGO_N」メッセージを受け取った場合は協調動作を中止
する。「ICP_MOVE」を受け取った複製先DSはRequest
messageを複製元DSに送信し、それを受けた複製元D
Sはコンテンツデータの送信は開始するようになってい
る。
【0088】4 実験と評価 本提案システムを検証するために、解析モジュールと複
製モジュールをインストールした試作機によって検証実
験を行った。本章では、その実験環境と実験結果につい
て述べる。
【0089】4.1 実験環境 4.1.1 ネットワーク構成 図47に今回の実験環境のネットワーク構成を示す。ル
ータマシン、試作機マシン(DS)、クライアントマシン
はいずれも一般的なマシン(IBM PC/AT互換機)
を使用した。ルータマシンIにはOSとしてFreeB
SD5.0を、ルータマシンII、III、IVはFr
eeBSD4.2をインストールした。それぞれのルー
タマシンにはNIC(Network Interface Card)が複数枚
装着してあり、複数のネットワークとのゲートウェイと
して動作している。試作機マシンのOSにはFreeB
SD4.2、クライアントマシンにはWindowsM
E(登録商標)とWindows2000(登録商標)
をインストールした。試作機マシン、クライアントマシ
ンにはNICが1枚装着してある。各端末間の接続速度
はすべて100baseTXで接続されている。試作機
マシンにはアクセスログの解析を行うための解析モジュ
ールとコンテンツ複製を行うための複製モジュールが実
装されている。各マシンスペックは図48に示すとおり
である。マシンスペックには個体差があるが、これはC
PU処理速度を故意に下げることにより、CPUの処理
能力が解析処理やパケット転送処理のボトルネックとな
るような環境を作っている。試作機Aと試作機Bとを差
別化するため、試作機AのNICは意図的に性能の低い
ものにしてある。
【0090】4.1.2 実験環境詳細 実験開始段階では試作機Aにだけコンテンツをキャッシ
ュしてある状態にしてある。その他の試作機はコンテン
ツを何も持っておらず、クライアントからのアクセスが
こない状態になっている。試作機Aは一定時間間隔でア
クセスログを解析し、最適なコンテンツ配置先を選択す
るプログラムが動作している。また、それぞれの試作機
マシン上では複製モジュールが動作しており、協調を行
うためのメッセージのやり取りができるようになってい
る。
【0091】実験では図49のように、各クライアント
から試作機Aへリクエスト要求を複数回送っている。実
験ではクライアントマシンからのアクセス要求をクライ
アントグループからのアクセスと見立てて、解析モジュ
ールでクラスタリングを行うようになっている。アクセ
ス回数はクライアントαよりクライアントβが多く要求
を出すパターンと少なく出すパターンで行った。取得す
るデータはコンテンツ複製前とコンテンツ複製後で試作
機からクライアントマシンへのHTTPレスポンスタイ
ム等のデータを取り、提案システムや解析モジュールの
有効性をデータとして示す。
【0092】今回の実験は、複製ポリシーとして設定し
てある一連のアルゴリズムに基づいてコンテンツ複製が
行われるかを検証するためのものなので、ユーザクラス
タリングアルゴリズムとコンテンツ抽出アルゴリズムは
単純化してある。
【0093】実験環境で使用されるマシンに割り振られ
るIPアドレスがプライベートIPアドレスなので、外
部のBGPルーティングテーブルを用いたクラスタリン
グが行えない。よって、クラスタリングはプレフィック
スを24bit固定として行う。
【0094】3.4節で説明したコンテンツ抽出アルゴ
リズムは、ログが充分に蓄積された状態でなければアル
ゴリズムの精度が保証されない。そのため、ログの蓄積
数が少ない場合は予め固定の閾値を設定しておき、その
閾値を用いてコンテンツ抽出を行う。今回は、10回を
閾値として設定した。コンテンツ抽出アルゴリズムは、
ログ数が例えば1000行以上になった時に初めて動作
するように構成される。
【0095】4.2 実験結果 4.1.2節の実験環境での検証では図50に示すデー
タを得ることができた。今回の検証では複製閾値を10
回としているので、アクセス回数が10回を超えたとこ
ろからグラフに変化が現れている。図50に示すアクセ
ス時間はクライアントβからコンテンツにアクセス要求
を出してから、コンテンツデータの先頭がクライアント
に届くまでの時間である。実験開始直後はクライアント
のアクセス要求はすべて試作機Aへ送られる。アクセス
解析によりコンテンツの複製が起こった後は、クライア
ントβからのアクセスはレスポンスのよい試作機へ送ら
れるようになる。図50のグラフのからもわかるよう
に、クライアントβから試作機Aまでのレスポンスタイ
ムと、コンテンツ複製が起こり複製先の試作機へアクセ
ス要求を送ったレスポンスタイムでは複製先試作機にア
クセスしたほうがレスポンスタイムが短いことがわか
る。今回の検証でのコンテンツの複製された動作は、ク
ライアントα、βからのアクセスを試作機Aが解析しア
クセスの多いクライアントβに近いところにコンテンツ
を複製しようとしコンテンツの複製を行った。図51の
ように解析モジュールが最適サーバを選択し、試作機C
が最適だと判断しコンテンツを複製し、コンテンツ複製
後からは図52のようにクライアントβは試作機Cにア
クセスするようになるために、レスポンスタイムが短く
なっているのである。図に示してはないが、クライアン
トαのリクエスト数がクライアントβより多い場合でも
同じように、レスポンスタイムが短くなっている。これ
は試作機Aより試作機BのほうがCPU能力がよいの
で、コンテンツが試作機Bへ複製され、クライアントα
のアクセス要求も試作機Bに送られるようになったため
である。
【0096】4.3 評価 図50に示されるように実験結果から提案システムの有
効性を示すことができた。図50よりコンテンツ複製前
よりコンテンツ複製後のほうがクライアントへのレスポ
ンスが向上していることがわかる。これは、複製前のサ
ーバより解析モジュールによって選ばれた複製後のサー
バのほうがクライアントに近いからということが言え
る。このことから、解析モジュールの最適サーバを選択
するアルゴリズムが有効だといえる。提案システムでは
自律的にクラスター毎のアクセス傾向を解析し、クラス
タリングされたクライアントグループの近くにアクセス
の多いコンテンツを自動的に配置することができる。ク
ライアントグループごとにアクセスの多いコンテンツを
近くのサーバに複製することによって、オリジンサーバ
までコンテンツをアクセスしに行かなくても済むので、
レスポンスタイムが短くなる。また、コンテンツが複数
配置されることになるので、オリジンサーバの負荷分散
やトラヒックの軽減を行うことができる。また、この提
案システムはフリーソフトとして配布されてもよい。C
DNプラットフォームを誰もが利用することができ、C
DNを用いたアプリケーションの開発を促進することが
できると考えられる。
【0097】(評価項目と確認)ここで、評価項目とそ
の達成の確認を行う。評価項目として、(1)閾値によ
って複製が行えるか、(2)(1)がクラスター毎に行
えるか、(3)最適サーバが探索されているか、を挙げ
る。
【0098】図53は、図50と同様の図である。図5
3より、閾値による複製によってクライアントβに対す
る応答速度が向上しているのがわかる。これは、閾値を
境にクライアントβに最も近い試作機Cにコンテンツが
複製され、クライアントβのリクエストが試作機Cに対
して行われるようになるからである。これで評価項目
(1)と(2)が満足された。
【0099】また、図54は、ルータIVと試作機Cを
一定時間高負荷状態にした時のクライアントβに対する
応答速度の変化を表したものである。試作機Cが高負荷
状態であるために、まず試作機Bにコンテンツが複製さ
れ、その後試作機Cに複製されているのがわかる。この
実験によって評価項目(3)も満足された。
【0100】5.以上に説明したように、ユーザクラス
タリング機構を用いたコンテンツ自動配信システム、P
−CDNの提案を行った。ユーザクラスタリング機構を
用いることによって、ユーザをクラスターに分割するこ
とができ、それぞれのクラスターに特化したコンテンツ
配置戦略をたてることができることを説明した。本シス
テムを実装した試作機による検証実験では、複製ポリシ
ーに基づいて動作することが確認された。複製ポリシー
のコンテンツ抽出アルゴリズムによりコンテンツ抽出、
複製が適切に行われた。
【0101】「キャッシュサーバ」次に、上述の技術が
適用されたキャッシュサーバを含むシステムの実施形態
を説明する。キャッシュサーバは上述のディストリビュ
ーションサーバ(DS)に対応する。この実施形態に
は、主として、上述した技術のうちの、期待値に基づく
コンテンツ抽出アルゴリズムが適用されている。
【0102】図55は、キャッシュサーバを含むCDN
の構成図である。コンテンツプロバイダはコンテンツを
ユーザに提供するサーバである。コンテンツレシーバは
インターネットを介してコンテンツプロバイダが提供す
るコンテンツを受信して利用するユーザの端末である。
インターネットには複数のネットワークノードが含ま
れ、コンテンツプロバイダからコンテンツレシーバへ提
供されるコンテンツのデータを中継するルータとして機
能する。
【0103】図55において、ユーザグループ10は、
例えば、ある大学に属する複数のコンテンツレシーバを
含む。ネットワークノード12は、ユーザグループ10
の近傍に位置している。そして、ネットワークノード1
2には、本実施形態のキャッシュサーバ14が一体的に
設けられている。キャッシュサーバ14は、ユーザグル
ープ10のために、コンテンツプロバイダから提供され
るコンテンツをキャッシュメモリに格納し、これにより
キャッシングが行われる。なお、図示されないが、キャ
ッシュサーバは他のネットワークノードにも設けられて
いてよいことはもちろんである。
【0104】図56は、キャッシュサーバ14の構成を
示している。キャッシュサーバ14は、第1通信部20
および第2通信部22を有する。第1通信部20はネッ
トワークと通信し、第2通信部22はローカル側(ユー
ザグループ)と通信する。第1通信部20および第2通
信部22は、ハードウエア構成としては同一でよい。
【0105】キャッシュメモリ24は、キャッシュメモ
リ制御部26の制御の下で、キャッシングのためにコン
テンツを格納する。すなわち、コンテンツがキャッシュ
メモリ24に複写され、これによりキャッシングが行わ
れる。キャッシュメモリ制御部26は本発明のキャッシ
ュ制御部として機能する。
【0106】リクエスト回数カウンタ28は、ユーザグ
ループ10によるリクエストの情報を入手して、コンテ
ンツのリクエスト回数を計測する。各々のコンテンツの
リクエスト回数がカウントされる。カウント値は図示の
ようなテーブルに書き込まれる。このようにして、ユー
ザグループ10によるコンテンツのリクエスト回数とそ
の増大が監視される。
【0107】許可カウントテーブル30は、目標カウン
トと許可カウントを対応づけるテーブルである。目標カ
ウントは、本発明の目標リクエスト回数に相当し、3.
4.2節で説明した図24の横軸に相当する。許可カウ
ントは、図24の縦軸に相当し、期待値が最大になると
きのリクエスト回数である。
【0108】既に説明したように、期待値は、目標リク
エスト達成確率と残リクエスト回数の積で表される。目
標リクエスト回数達成確率は、リクエスト回数nから目
標リクエスト回数(目標カウント)Xに到達する確率で
あり、残リクエスト回数は、リクエスト回数nから目標
リクエスト回数(目標カウント)Xまでの残リのクエス
ト数、すなわち、X−nである。
【0109】本実施形態では、予め、ユーザグループ1
0のリクエストのログが、適当な期間に渡って解析され
る。例えば、2ヶ月間のログが解析される。この解析結
果に基づき、期待値の情報が求められる。そして、図2
4のテーブルのデータがキャッシュサーバに予め入力さ
れ、保持されている。
【0110】また、図24を参照して既に述べたよう
に、リクエスト特性、特にリクエストの幅(バリエーシ
ョン)がユーザグループによって異なる。そして、期待
値を最大にするリクエスト回数もユーザグループによっ
て異なる。この点に関して、本実施形態の許可カウント
テーブル30は、対象のグループの解析結果から得られ
たデータ、すなわち対象のグループの特性を反映するデ
ータを保持している。
【0111】図56に戻り、指定UI(ユーザインター
フェース)32は、キーボード等のデバイスを用いて入
力された目標カウントを受け付ける。目標カウントはキ
ャッシュメモリ制御部26により取得される。キャッシ
ュメモリ制御部26は、許可カウントテーブル30を参
照し、目標カウントに対応する許可カウントを求める。
この許可カウントは、キャッシュメモリ制御部26によ
り保持され、コンテンツ抽出閾値として、すなわちキャ
ッシュ条件として、キャッシングの制御に用いられる。
すなわち、以下に説明するように、あるコンテンツのリ
クエスト回数が許可カウントに達したとき、キャッシュ
条件が成立し、コンテンツのキャッシュが許可され、キ
ャッシングが行われる。
【0112】次に、図56のキャッシュサーバ14によ
るキャッシングの動作を説明する。上述のように、リク
エスト回数カウンタ28は、ユーザグループ10による
コンテンツのリクエスト回数を計測する。例えば、ユー
ザグループ10を構成する一の端末からURL1という
コンテンツが初めてリクエストされたとき、URL1の
カウント値として1がテーブルに記録される。その後、
ユーザグループ10の端末からURL1がリクエストさ
れるたびに、テーブル中のカウントが1ずつ増やされ
る。
【0113】キャッシュメモリ制御部26は、ユーザグ
ループ10の端末からコンテンツがリクエストされたと
き、リクエスト回数カウンタ28のテーブルを参照す
る。そして、キャッシュメモリ制御部26は、今回のリ
クエストによって、コンテンツのリクエスト回数が許可
カウントに達したか否かを判定する。上述したように、
許可カウントは許可カウントテーブル30を参照するこ
とによって得られる。そして、キャッシュメモリ制御部
26は、リクエスト回数が許可カウントに達した場合、
コンテンツデータをキャッシュメモリ24に格納するこ
とで、コンテンツをキャッシングする。
【0114】例えば、上述のURL1がリクエストされ
たとき、この情報がキャッシュメモリ制御部26に取得
される。キャッシュメモリ制御部26は、現在のURL
1のカウント値を、リクエスト回数カウンタ28から求
める。そして、キャッシュメモリ制御部26は、今回の
リクエストにより、リクエスト回数が許可カウントに達
するか否かを判定する。すでに許可カウントから1を引
いた値までリクエスト回数が到達している場合、今回の
リクエストにより、リクエスト回数が許可カウントに到
達する。そこで、キャッシュメモリ制御部26は、リク
エストされたコンテンツデータをキャッシュメモリに格
納する。キャッシュサーバを通過するときにコンテンツ
データがキャッシュメモリに格納される。
【0115】以上のようにして、本実施形態は、コンテ
ンツのリクエスト回数の増大を監視して、リクエスト回
数が許可カウント(コンテンツ抽出閾値)まで増大する
ことによりキャッシュ条件が満たされるのを待ってから
コンテンツをキャッシュサーバにキャッシングさせる。
したがって、コンテンツの増大が見込める適当なコンテ
ンツをキャッシングできる。1度だけしかリクエストさ
れないようなコンテンツの無駄なキャッシングが回避さ
れ、コストを削減できる。
【0116】また、本実施形態は、リクエスト特性に基
づいた適切なキャッシング制御を行っている。特に、本
実施形態は、上述のように、リクエスト増大の期待値に
基づいたコンテンツ抽出閾値(許可カウント)を用いて
おり、これにより好適な制御が行われる。
【0117】すなわち、コンテンツ抽出閾値を大きく設
定すると、その後のリクエストの確率は高いものの、リ
クエスト回数自体が少なくなり、キャッシングの効果が
少なくなる。一方、コンテンツ抽出閾値を小さくしすぎ
ると、リクエスト回数が伸びないコンテンツを無駄にキ
ャッシングする可能性が高くなる。このような点を考慮
した上で、本実施形態は、期待値に基づきコンテンツ抽
出閾値を設定している。その結果、リクエスト回数の増
大が見込めるコンテンツを早めの適切なタイミングでキ
ャッシングすることができ、コスト削減が図れる。
【0118】なお、本実施形態では、キャッシュサーバ
14はネットワークノード12と一体化されていた(図
55)。しかし、本発明はこれに限定されない。キャッ
シュサーバ14はネットワークノード12の外側に付属
してもよい。
【0119】また、図55には示されないが、他のユー
ザグループについても同様に本発明のキャッシュ制御技
術が適用されてよいことはもちろんである。このとき、
一つのキャッシュサーバが複数のユーザに対応してもよ
い。
【0120】また、本実施形態では、図55に示される
ように、ユーザグループに近いキャッシュサーバがコン
テンツをキャッシングしている。これに対し、アクセス
時間が多少長くなるものの、本発明の範囲内で、ユーザ
グループからより遠くのキャッシュサーバが用いられて
もよい。
【0121】また、本実施形態では、すべてのコンテン
ツに関して、目標カウントおよび許可カウントが一定で
あった。これに対し、コンテンツの種類が判別可能なと
き、目標カウントおよび許可カウントをコンテンツに応
じて異ならせる制御が行われてもよい。例えば、コンテ
ンツのジャンルに応じた制御を行うことが好適と考えら
れる。
【0122】また、キャッシュサーバ14の指定UI3
2は、目標カウントを入手した。そして、キャッシュサ
ーバ14内で、許可カウントテーブル30を参照して、
許可カウントが求められた。これに対し、指定UI32
は、許可カウントを入手してもよい。すなわち、オペレ
ータによりキーボード等を用いて許可カウントが入力さ
れる。このとき、許可カウントテーブル30は削除され
てもよい。
【0123】また、キャッシュサーバ14は、本発明の
キャッシュ制御のためのプログラムをコンピュータにイ
ンストールすることにより実現されている。さらに、こ
のプログラムは、通信でキャッシュサーバ14に入手さ
れてもよく、CD−ROM等の記録媒体からキャッシュ
サーバ14に入手されてもよい。そして、キャッシュサ
ーバ14は、本発明のキャッシュシステムとして機能す
る。さらに、キャッシュサーバ14は、本発明のキャッ
シュ制御装置の機能を実現し、すなわちキャッシュ制御
装置を備えている。これらの点は、下記の実施形態にお
いても同様である。
【0124】また、本発明は、主として、コンテンツを
キャッシュメモリに格納する部分に特徴をもつので、上
述の説明では、格納されたコンテンツを活用する部分の
説明は省略されている。しかし、この点に関しては、従
来同様の処理が行われてよい。すなわち、格納済み(キ
ャッシング済み)のコンテンツがユーザグループ10の
端末からリクエストされときは、キャッシュメモリ26
の制御の下で、キャッシュメモリ24からコンテンツが
読み出され、提供される。これによりアクセス時間が短
縮される。その他、既に格納されたコンテンツは、LF
U(Least Frequently Used)方式またはLRU(Least
Recent Used)方式等の適当な方法でキャッシュバッフ
ァから追い出される。
【0125】次に、図57は、本発明の別の実施形態に
おけるキャッシュサーバ140を示している。キャッシ
ュサーバ140は、上述した構成に加えて、リクエスト
履歴を解析する機能を備える。
【0126】図57において、リクエスト履歴情報取得
部40は、コンテンツのリクエスト履歴の情報を取得す
る。リクエスト履歴情報は、キャッシュサーバ140自
身により、リクエストを監視することにより取得されて
もよい。また、リクエスト履歴情報は外部から通信等で
入手されてもよい。例えば、前述したように、ユーザグ
ループのプロキシサーバでのアクセスログが、履歴情報
として有用である。
【0127】キャッシュサーバ140はさらに解析部4
2を有する。解析部42は、リクエスト履歴の情報を取
得する。解析部42は、既に説明したコンテンツ抽出ア
ルゴリズムに従った処理を行う。すなわち、期待値算出
部44が、目標リクエスト回数の達成確率を求め(図1
2〜図17)、期待値を求める(図18〜図23)。そ
して、期待値に基づき、許可カウントテーブル30が作
成される。既に説明したように、許可カウントテーブル
は、図24のグラフに相当するデータをもち、目標カウ
ント(目標リクエスト回数)と、最大の期待値を与える
リクエストの関係求める。
【0128】さらに、解析部42において、許可カウン
ト決定部46は、指定UI32を介して、目標カウント
の指定値を取得する。この指定値に対応する許可カウン
トが求められる。許可カウントはキャッシュメモリ制御
部26に伝えられ、キャッシング制御に使われる。
【0129】図57のキャッシュサーバ140のキャッ
シング動作を説明する。初期段階では、期待値および許
可カウントを求められるだけの十分な量のリクエスト履
歴が得られていない。そこで、キャッシュメモリ制御部
26は、デフォルト値の許可カウントを用いる。
【0130】デフォルト値の許可カウントは、複数種類
でもよい。そして、ユーザグループの種類に対応するデ
フォルト値が選択されてもよい。例えば、研究室、学
部、大学といったグループの規模または他の性質に応じ
て異なるデフォルト値が設定される。好ましくは、グル
ープ規模等に応じた適当な許可カウントが、予め統計的
に求められ、使用される。この許可カウントは、図24
を用いて説明したグループ間のリクエスト幅の相違を反
映しており、好適である。
【0131】リクエスト履歴情報が十分な量に達したか
否かは、例えば、履歴情報の集積期間に基づき判断され
る。例えば2ヶ月が経過したとき、十分な履歴情報が得
られたと判断される。また例えば、リクエスト総数が適
当な値に達したとき、リクエスト履歴情報が十分である
と判断されてもよい。
【0132】リクエスト履歴情報が集まると、解析部4
2が、履歴情報を解析し、許可カウントテーブルを求め
る。さらに、解析部42は、指定された目標カウントに
対応する許可カウントを求める。この解析部42は、許
可カウントをキャッシュメモリ制御部26に伝える。以
降、キャッシュメモリ制御部26は、解析部42から伝
えられた許可カウントをキャッシング制御に使う。な
お、解析部42の一部または全部の構成がキャッシュメ
モリ制御部26に設けられてもよい。
【0133】さらに好ましくは、図57のキャッシュサ
ーバ140は、リクエスト履歴のさらなる追跡調査を行
う。すなわち、リクエスト履歴から許可カウントが求め
られた後も、引き続き、リクエスト履歴情報が収集され
る。解析部42は、引き続き得られるリクエスト履歴情
報を解析して、期待値を求め、許可カウントを求める。
この処理は、上述の初めて許可カウントを求める処理と
同様でよい。新たに求められた許可カウントがキャッシ
ュメモリ制御部26に伝えられる。このようにして、本
実施形態によれば、許可カウントの値を調整することが
できる。
【0134】なお、許可カウントの調整には、前回に許
可カウントを求めた後の履歴情報のみが用いられてもよ
い。それ以前の履歴も含めた長期間の情報が用いられて
もよい。
【0135】上記の調整処理によれば、グループの変化
に応じて、例えば、グループの規模や年齢層の変化に応
じて、キャッシュ条件(許可カウント)を好適に調整す
ることができる。また、季節等の環境の変化に合わせた
キャッシュ条件の調整も可能となる。このようにして、
より一層のコスト削減効果を得ることが期待できる。
【0136】以上、本発明の好適な実施形態を説明し
た。なお、本実施形態では、本発明を実現するための主
要な機能が、主に単独のキャッシュサーバに設けられ
た。しかし、本発明を実現可能な範囲で、それら機能が
ネットワークに分散して設けられてもよいことはもちろ
んである。例えば、一部または全部の機能が、コンテン
ツプロバイダに設けられてもよく、また、コンテンツレ
シーバ側に設けられてもよい。
【0137】また、本実施形態では、本発明が、予め決
まったユーザグループおよびキャッシュサーバに対して
適用されていた。そして、これにより、システムが簡略
化されている。しかし、本発明の範囲内で、より自動化
の進んだシステムが採用されてもよい。
【0138】典型的には、まず、前出のクラスタリング
分析アルゴリズム(3.3節)が組み込まれる。そし
て、ユーザグループ(クラスタリング)が自動的に求め
られる。求められたクラスタリングのリクエスト特性が
分析され、キャッシュ条件に基づくキャッシング制御が
行われる。
【0139】また、最適サーバ選択アルゴリズム(3.
5節)が組み込まれてもよい。最適サーバ選択アルゴリ
ズムにより、ユーザグループの近傍のキャッシュサーバ
が検出される。検出されたキャッシュサーバにて、上述
した本実施形態のキャッシング制御が行われる。コンテ
ンツデータは、検出されたキャッシュサーバに複製され
る。
【0140】上述のクラスタ分析機能および最適サーバ
選択機能についても、コンテンツ抽出機能と同様、局所
的に設けられてもよく、分散して設けられてもよい。例
えば、コンテンツプロバイダが、クラスタ分析機能と最
適サーバ選択機能をもち、(1)ユーザグループおよび
その近傍のサーバを見つけ、(2)ユーザグループのリ
クエスト特性を解析し、そして、(3)上述のキャッシ
ング制御として、キャッシュサーバへの複製の指示を行
ってもよい。
【0141】以上、本発明を実施の形態をもとに説明し
た。これらの実施の形態は例示であり、それらの各構成
要素や各処理プロセスの組合せにいろいろな変形例が可
能なこと、またそうした変形例も本発明の範囲にあるこ
とは当業者に理解されるところである。
【0142】
【発明の効果】以上に説明したように、本発明によれ
ば、無駄なキャッシングを削減し、リクエスト回数増大
が見込めるコンテンツを適切にキャッシングし、コンテ
ンツ配信ネットワークにおけるコスト削減を図ることが
できる。
【図面の簡単な説明】
【図1】 コンテンツ自動配信システムの構築に関する
提案システムを示す図である。
【図2】 コンテンツ自動配信システムの構築に関する
提案システムを示す図である。
【図3】 プロキシサーバのアクセスログを解析した結
果を示す図である。
【図4】 プロキシサーバのアクセスログを解析した結
果を示す図である。
【図5】 プロキシサーバのアクセスログを解析した結
果を示す図である。
【図6】 プロキシサーバのアクセスログを解析した結
果を示す図である。
【図7】 プロキシサーバのアクセスログを解析した結
果を示す図である。
【図8】 プロキシサーバのアクセスログを解析した結
果を示す図である。
【図9】 適当なクラスタリングの手順を示す図であ
る。
【図10】 リクエスト傾向を求めるためにログを取得
したプロキシサーバを示す図である。
【図11】 ログ解析結果の概要を示す図である。
【図12】 リクエスト回数別にその後リクエストされ
る確率を表した図である。
【図13】 リクエスト回数別にその後リクエストされ
る確率を表した図である。
【図14】 リクエスト回数別にその後リクエストされ
る確率を表した図である。
【図15】 リクエスト回数別にその後リクエストされ
る確率を表した図である。
【図16】 リクエスト回数別にその後リクエストされ
る確率を表した図である。
【図17】 リクエスト回数別にその後リクエストされ
る確率を表した図である。
【図18】 リクエスト回数と期待値の関係を示す図で
ある。
【図19】 リクエスト回数と期待値の関係を示す図で
ある。
【図20】 リクエスト回数と期待値の関係を示す図で
ある。
【図21】 リクエスト回数と期待値の関係を示す図で
ある。
【図22】 リクエスト回数と期待値の関係を示す図で
ある。
【図23】 リクエスト回数と期待値の関係を示す図で
ある。
【図24】 期待値が最大となるリクエスト回数を示す
図である。
【図25】 クラスタリング毎のコンテンツ抽出閾値の
適用を示す図である。
【図26】 最適サーバ選択アルゴリズムを説明するた
めの図である。
【図27】 最適サーバ選択アルゴリズムを説明するた
めの図である。
【図28】 最適サーバ選択アルゴリズムを説明するた
めの図である。
【図29】 最適サーバ選択アルゴリズムを説明するた
めの図である。
【図30】 最適サーバ選択アルゴリズムを説明するた
めの図である。
【図31】 最適サーバ選択アルゴリズムを説明するた
めの図である。
【図32】 最適サーバ選択アルゴリズムを説明するた
めの図である。
【図33】 最適サーバ選択アルゴリズムを説明するた
めの図である。
【図34】 最適サーバ選択のための処理の流れを示す
図である。
【図35】 図34の処理のイメージを示す図である。
【図36】 図34の処理のイメージを示す図である。
【図37】 図34の処理のイメージを示す図である。
【図38】 図34の処理のイメージを示す図である。
【図39】 図34の処理のイメージを示す図である。
【図40】 解析モジュールと複製モジュールで構成さ
れるシステムの概念を示す図である。
【図41】 複製ポリシーの構成を示す図である。
【図42】 複製モジュールの構成を示す図である。
【図43】 提案システムの試作機の構成を示す図であ
る。
【図44】 解析モジュールの動作を示す図である。
【図45】 解析モジュールの動作を示す図である。
【図46】 提案システムにおけるサーバ間のネゴシエ
ーションを示す図である。
【図47】 提案システムの実験環境のネットワーク構
成を示す図である。
【図48】 試作システムのマシンスペックを示す図で
ある。
【図49】 試作システムの実験におけるリクエスト要
求を示す図である。
【図50】 試作機の実験データを示す図である。
【図51】 実験におけるコンテンツの複製を示す図で
ある。
【図52】 実験におけるコンテンツ複製後のアクセス
を示す図である。
【図53】 実験結果を示す図である。
【図54】 実験結果を示す図である。
【図55】 本発明の好適な実施形態における、キャッ
シュサーバを含むコンテンツ配信システムの全体構成を
示す図である。
【図56】 図55のシステムに設けられたキャッシュ
サーバの構成を示す図である。
【図57】 リクエスト履歴の解析機能を備えた別の実
施形態におけるキャッシュサーバの構成を示す図であ
る。
【符号の説明】
10 ユーザグループ 12 ネットワークノード 14 キャッシュサーバ 24 キャッシュメモリ 26 キャッシュメモリ制御部 28 リクエスト回数カウンタ 30 許可カウントテーブル 40 リクエスト履歴情報取得部 42 解析部 44 期待値算出部 46 許可カウント決定部

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 コンテンツ配信ネットワーク上のキャッ
    シュサーバによるコンテンツのキャッシングの制御方法
    であって、 コンテンツのリクエスト回数の増大を監視し、リクエス
    ト回数が増大することにより所定のキャッシュ条件が満
    たされるのを待ってから前記コンテンツをキャッシュサ
    ーバにキャッシングさせることを特徴とするキャッシュ
    制御方法。
  2. 【請求項2】 前記キャッシュ条件は、リクエスト回数
    が多いほどその後のリクエストの可能性が大きいリクエ
    スト特性に基づき設定されることを特徴とする請求項1
    に記載のキャッシュ制御方法。
  3. 【請求項3】 前記キャッシュ条件は、リクエスト回数
    とその後の目標リクエスト回数達成確率との関係に基づ
    き設定されることを特徴とする請求項2に記載のキャッ
    シュ制御方法。
  4. 【請求項4】 前記キャッシュ条件は、前記目標リクエ
    スト回数達成確率から得られるリクエスト増大量の期待
    値に基づき設定されることを特徴とする請求項3に記載
    のキャッシュ制御方法。
  5. 【請求項5】 前記期待値が最大になるときのリクエス
    ト回数を、前記キャッシュ条件としてのコンテンツ抽出
    閾値に設定し、コンテンツのリクエスト回数が前記コン
    テンツ抽出閾値まで増大したときに前記コンテンツを前
    記キャッシュサーバにキャッシングさせることを特徴と
    する請求項4に記載のキャッシュ制御方法。
  6. 【請求項6】 ユーザグループによって前記リクエスト
    特性が異なることに基づき、キャッシュ条件をユーザグ
    ループに応じて設定することを特徴とする請求項2〜5
    のいずれかに記載のキャッシュ制御方法。
  7. 【請求項7】 コンテンツ配信ネットワーク上のキャッ
    シュサーバによるコンテンツのキャッシュの制御方法で
    あって、 ユーザグループによるコンテンツリクエスト履歴情報を
    取得するステップと、 前記コンテンツリクエスト履歴情報に基づき、リクエス
    ト回数とその後の目標リクエスト回数達成確率との関係
    を求めるステップと、 前記目標リクエスト回数未満のリクエスト回数を対象と
    して、前記目標リクエスト回数達成確率と前記目標リク
    エスト回数までの残リクエスト回数の積で表されるリク
    エスト増大量の期待値を求めるステップと、 前記期待値が最大になるときのリクエスト回数をコンテ
    ンツ抽出閾値に設定するステップと、 前記ユーザグループによるコンテンツのリクエスト回数
    を監視し、あるコンテンツのリクエスト回数が前記コン
    テンツ抽出閾値まで増大したときに前記コンテンツをキ
    ャッシュサーバにキャッシングさせるキャッシュ制御を
    行うステップと、 を含むことを特徴とするキャッシュ制御方法。
  8. 【請求項8】 ユーザグループによるコンテンツリクエ
    スト履歴情報を取得するステップと、 前記コンテンツリクエスト履歴情報に基づき、リクエス
    ト回数とその後の目標リクエスト回数の達成確率との関
    係を求めるステップと、 前記目標リクエスト回数未満のリクエスト回数を対象と
    して、前記目標リクエスト回数達成確率と前記目標リク
    エスト回数までの残リクエスト回数の積で表されるリク
    エスト増大量の期待値を求めるステップと、 を含むことを特徴とするコンテンツリクエスト増大量の
    予測方法。
  9. 【請求項9】 コンテンツ配信ネットワーク上で提供さ
    れるコンテンツをキャッシュデータとして記憶するキャ
    ッシュメモリと、 ユーザグループによるコンテンツのリクエスト回数をカ
    ウントするリクエスト回数カウンタと、 前記リクエスト回数カウンタによりカウントされたリク
    エスト回数が所定のコンテンツ抽出閾値に達したときに
    前記コンテンツを前記キャッシュメモリにキャッシング
    させるキャッシュ制御部と、 を含むことを特徴とするキャッシュシステム。
  10. 【請求項10】 前記ユーザグループによるコンテンツ
    リクエスト履歴情報を解析することにより前記コンテン
    ツ抽出閾値を求める解析部を含むことを特徴とする請求
    項9に記載のキャッシュシステム。
  11. 【請求項11】 前記解析部は、前記コンテンツリクエ
    スト履歴情報から得られるリクエスト増大の期待値が最
    大になるときのリクエスト回数を前記コンテンツ抽出閾
    値として求めることを特徴とする請求項10に記載のキ
    ャッシュシステム。
  12. 【請求項12】 コンテンツ配信ネットワークを介して
    提供されるコンテンツをキャッシュデータとして記憶す
    るキャッシュメモリを有するキャッシュサーバであっ
    て、 ユーザグループによるコンテンツのリクエスト回数が所
    定のコンテンツ抽出閾値に達したときに前記コンテンツ
    を前記キャッシュメモリにキャッシングするように制御
    されることを特徴とするキャッシュサーバ。
  13. 【請求項13】 コンテンツ配信ネットワーク上のキャ
    ッシュサーバによるコンテンツのキャッシングを制御す
    るキャッシュ制御装置であって、 ユーザグループによるコンテンツのリクエスト回数をカ
    ウントするリクエスト回数カウンタと、 前記リクエスト回数カウンタによりカウントされたリク
    エスト回数が所定のコンテンツ抽出閾値に達したときに
    前記コンテンツを前記キャッシュサーバにキャッシング
    させるキャッシュ制御部と、 を含むことを特徴とするキャッシュ制御装置。
  14. 【請求項14】 コンテンツ配信ネットワークを介して
    提供されるコンテンツをキャッシュデータとして記憶す
    るキャッシュメモリに関連して用いられる、コンピュー
    タにて実行可能なプログラムであって、 ユーザグループによるコンテンツのリクエスト回数をカ
    ウントし、リクエスト回数が所定のコンテンツ抽出閾値
    に達したときに前記コンテンツを前記キャッシュメモリ
    にキャッシングさせるキャッシュ制御を前記コンピュー
    タに実現させることを特徴とするプログラム。
  15. 【請求項15】 請求項14に記載のプログラムを記録
    した、コンピュータにて読取可能な記録媒体。
JP2002084620A 2002-03-25 2002-03-25 キャッシュ制御方法およびキャッシュシステム Expired - Lifetime JP4017065B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002084620A JP4017065B2 (ja) 2002-03-25 2002-03-25 キャッシュ制御方法およびキャッシュシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002084620A JP4017065B2 (ja) 2002-03-25 2002-03-25 キャッシュ制御方法およびキャッシュシステム

Publications (2)

Publication Number Publication Date
JP2003280975A true JP2003280975A (ja) 2003-10-03
JP4017065B2 JP4017065B2 (ja) 2007-12-05

Family

ID=29231871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002084620A Expired - Lifetime JP4017065B2 (ja) 2002-03-25 2002-03-25 キャッシュ制御方法およびキャッシュシステム

Country Status (1)

Country Link
JP (1) JP4017065B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006103801A1 (ja) * 2005-03-29 2006-10-05 Brother Kogyo Kabushiki Kaisha 情報処理装置、情報処理方法及び情報処理用プログラム
JP2009141774A (ja) * 2007-12-07 2009-06-25 Canon Inc データ処理装置及びその制御方法、コンピュータプログラム
WO2010140938A1 (en) * 2009-06-03 2010-12-09 Telefonaktiebolaget L M Ericsson (Publ) Method and node for distributing electronic content in a content distribution network
JP2011003154A (ja) * 2009-06-22 2011-01-06 Nippon Telegr & Teleph Corp <Ntt> 情報データ収集管理装置とその送信周期推定方法及びプログラム
JP2011518376A (ja) * 2008-03-31 2011-06-23 アマゾン テクノロジーズ インコーポレーテッド コンテンツ管理するための方法とシステム
WO2011077609A1 (ja) * 2009-12-25 2011-06-30 パナソニック株式会社 ネットワーク位置認識システム、及び端末位置認識装置
JP2012518841A (ja) * 2009-02-20 2012-08-16 アルカテル−ルーセント トポロジを意識したキャッシュ協働
WO2013121745A1 (ja) * 2012-02-13 2013-08-22 日本電気株式会社 キャッシュ装置、配信方法、およびプログラム
US9829954B2 (en) 2013-03-21 2017-11-28 Fujitsu Limited Autonomous distributed cache allocation control system
JP2019509546A (ja) * 2016-01-25 2019-04-04 グーグル エルエルシー レイテンシの削減
US10897450B2 (en) 2016-05-18 2021-01-19 Fujitsu Limited Communication method and communication apparatus
US11714916B2 (en) 2020-08-11 2023-08-01 Fujitsu Limited Device and method for managing personal data

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277337A (ja) * 2005-03-29 2006-10-12 Brother Ind Ltd 情報処理装置、情報処理方法及び情報処理用プログラム
WO2006103801A1 (ja) * 2005-03-29 2006-10-05 Brother Kogyo Kabushiki Kaisha 情報処理装置、情報処理方法及び情報処理用プログラム
JP4635682B2 (ja) * 2005-03-29 2011-02-23 ブラザー工業株式会社 情報処理装置、情報処理方法及び情報処理用プログラム
JP2009141774A (ja) * 2007-12-07 2009-06-25 Canon Inc データ処理装置及びその制御方法、コンピュータプログラム
JP2011518376A (ja) * 2008-03-31 2011-06-23 アマゾン テクノロジーズ インコーポレーテッド コンテンツ管理するための方法とシステム
JP2012518841A (ja) * 2009-02-20 2012-08-16 アルカテル−ルーセント トポロジを意識したキャッシュ協働
US9065809B2 (en) 2009-06-03 2015-06-23 Telefonaktiebolaget L M Ericsson (Publ) Method and node for distributing electronic content in a content distribution network
WO2010140938A1 (en) * 2009-06-03 2010-12-09 Telefonaktiebolaget L M Ericsson (Publ) Method and node for distributing electronic content in a content distribution network
JP2011003154A (ja) * 2009-06-22 2011-01-06 Nippon Telegr & Teleph Corp <Ntt> 情報データ収集管理装置とその送信周期推定方法及びプログラム
WO2011077609A1 (ja) * 2009-12-25 2011-06-30 パナソニック株式会社 ネットワーク位置認識システム、及び端末位置認識装置
JP5307902B2 (ja) * 2009-12-25 2013-10-02 パナソニック株式会社 ネットワーク位置認識システム、及び端末位置認識装置
US8681760B2 (en) 2009-12-25 2014-03-25 Panasonic Corporation Network positioning system and terminal positioning device
WO2013121745A1 (ja) * 2012-02-13 2013-08-22 日本電気株式会社 キャッシュ装置、配信方法、およびプログラム
US9829954B2 (en) 2013-03-21 2017-11-28 Fujitsu Limited Autonomous distributed cache allocation control system
JP2019509546A (ja) * 2016-01-25 2019-04-04 グーグル エルエルシー レイテンシの削減
US10897450B2 (en) 2016-05-18 2021-01-19 Fujitsu Limited Communication method and communication apparatus
US11714916B2 (en) 2020-08-11 2023-08-01 Fujitsu Limited Device and method for managing personal data

Also Published As

Publication number Publication date
JP4017065B2 (ja) 2007-12-05

Similar Documents

Publication Publication Date Title
Bhat et al. Network assisted content distribution for adaptive bitrate video streaming
US7043563B2 (en) Method and system for redirection to arbitrary front-ends in a communication system
US20020071422A1 (en) Tagging for demultiplexing in a network traffic server
US20090327079A1 (en) System and method for a delivery network architecture
US20040236869A1 (en) Parallel information delivery method based on peer-to-peer enabled distributed computing technology and the system thereof
KR20120074300A (ko) 계층적 공표 및 가입 시스템
JP2018156606A (ja) 通信制御装置、通信制御方法およびコンピュータプログラム
US11281730B1 (en) Direct leg access for proxy web scraping
US20090316600A1 (en) Telecommunications system and server apparatus
JP2003280975A (ja) キャッシュ制御方法およびキャッシュシステム
US20020136204A1 (en) Method and system for routing network traffic based upon application information
US20090150564A1 (en) Per-user bandwidth availability
US11606415B2 (en) Method, apparatus and system for processing an access request in a content delivery system
EP4227828A1 (en) Web scraping through use of proxies, and applications thereof
US20230018983A1 (en) Traffic counting for proxy web scraping
Iyengar et al. Architecting Web sites for high performance
EP2680539B1 (en) Hierarchical publish/subscribe system
KR20040076660A (ko) 분산 처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보 전송 병렬화 방법 및 그 시스템
Aljumaily Content Delivery Networks Architecture, Features, and Benefits
Li et al. Research on real-time high reliable network file distribution technology
CN109302348B (zh) 一种基于cnn网络的数据处理方法及一种路由器
Malaioni et al. EFFEC: The Efficient Edge-Caching System for Multimedia Communication
Chauhan et al. 3 Named Data Networking
EP2284721B1 (en) Apparatus and method for optimized and secured reflection of network services to remote locations
Ranjan Request redirection for dynamic content

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070501

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070814

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070912

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100928

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100928

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110928

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120928

Year of fee payment: 5