(58)【調査した分野】(Int.Cl.,DB名)
前記第1の電力情報及び前記第2の電力情報は、キャッシュ配置に伴う電力及びコンテンツ配信に伴うトラフィック転送電力から求められる第1の電力量及び第2の電力量である、
請求項1記載のノード。
【背景技術】
【0002】
従来、ネットワーク(網と記載することもある)におけるトラフィック量を削減することにより、ネットワーク機器が消費する電力(electric power)または電力量(electric
energy)を低減する省電力ネットワーク技術が知られている。
【0003】
トラフィック量は、例えば、スループット、つまりパケット転送量(単位時間当たりの
パケット数PPS(Packet Per Second))で示される。また、電力量は、電力と時間との積を積算した総量(ワット秒(W・sec)またはジュール(J))として求められる。なお、この明細書の開示においては、特に限定を要しないとき、単に電力と記載することもある。
【0004】
省電力ネットワーク技術の一例として、コア網やメトロ網に接続された複数のサーバにコンテンツの複製を配置し、ユーザ利用のクライアント装置と地理的に近いサーバからコンテンツの配信を行うネットワークシステムが存在する。このシステムにおいては、ネットワークを通過するトラフィック量を削減することにより、ネットワーク機器が消費する電力を低減することが可能である。
【0005】
コンテンツの複製をキャッシュする技術は、コンテンツをユーザ利用のクライアント装置の近くに存在するサーバやノードにキャッシュするほど、ネットワークで処理されるトラフィック量が減り、ネットワーク機器配備や消費電力を低減することが可能である。しかし、多くのコンテンツをキャッシュすることにより、メモリ利用や機器配備に伴う消費電力やコストが発生する。このため、トラフィック量削減に伴う電力や機器配備コストの低減と、コンテンツキャッシュに伴う電力やコストの増加との相互関係を考慮する必要がある。
【0006】
近年、ネットワークを構成するノードにキャッシュ機能を付与することで、コンテンツのキャッシュ配置の制約を緩和するCCN(Content Centric Networking)技術が注目されている。このCCN技術が適用されたネットワークでは、コア網やメトロ網を構成するノードにコンテンツの複製をキャッシュさせる。そして、ノードがキャッシュしたコンテンツを配信することで、ネットワークに流入するトラフィック量を削減し、ネットワーク機器が消費する電力や機器配備コストを低減することが可能である。
【発明の概要】
【発明が解決しようとする課題】
【0009】
上記非特許文献1は、キャッシュ(コンテンツキャッシュ)配置に伴う電力と、トラフィック転送(コンテンツ配信)に伴う電力とを考慮し、全コンテンツリスト及びリクエスト分布(popularity)を用いて、最も省電力になるキャッシュ配置箇所を特定する方法を開示している。
【0010】
これは、コンテンツのリクエスト分布リストを一元管理できるという仮定の下、コンテンツ毎の最適なキャッシュ配置箇所を設計し、各コンテンツを指定されたノードでのみキャッシュする方法である。
【0011】
なお、このキャッシュ配置設計方法においては、
図1に示すように、コンテンツデータが事前に選択した経路(route)を転送された場合のトラフィック転送電力[ワットW=
ジュールJ/sec]は、経路変数
【0012】
【数1】
を用いて、
【0013】
【数2】
と定義する。
【0014】
ここで、Dはコンテンツデータサイズ[bits]、Rk,jはコンテンツkに対する拠点jからの単位時間当たりのリクエスト数[requests/sec]、H(s
t(i,j))は経路変数s
t(i,j)に対する経路長、及びPr及びPwdmは1bitのコンテンツデータを転送することに要するルータ(router)及びWDM(波長分割多重:Wavelength Division Multiplexing)装置の電力パラメータ[W/bps=J/bit]である。
【0015】
また、キャッシュ配置電力[ワットW=ジュールJ/sec]は、キャッシュ配置変数
【0016】
【数3】
を用いて、
【0017】
【数4】
と与える。
【0018】
ここで、Pcaは1bitのコンテンツデータをキャッシュすることに伴うメモリの電力パラメータ[W/bit=J/bit・sec]である。
【0019】
そして、キャッシュ配置電力とトラフィック転送電力との和で与えられる目的関数
【0020】
【数5】
をCCN固有の階層制約を満たすようにすることにより、電力(コスト)を最小化する仕組みである。
【0021】
しかし、CCNなど様々なコンテンツ配信者の存在を前提として、自律分散的にコンテンツ配信を実施するような仕組みを想定すると、全コンテンツリスト及びリクエスト分布を把握することは現実的ではない。また、全コンテンツリストを取得できたとしても大規模網を対象とすると、上述したキャッシュ配置設計方法を実施することは、対象規模が大きくなり計算が困難になる。
【0022】
すなわち、上述したような集中管理方法によるキャッシュ配置箇所の管理が難しい環境を想定したとき、キャッシュ配置に伴う電力とコンテンツ配信に伴うトラフィック転送電力との双方を考慮しながら、適切なキャッシュ配置箇所をノードの自律分散処理で制御することが求められる。
【0023】
課題は、ネットワークにおける消費電力を低減するために、ノードの自律分散処理によってネットワークにおける適切なキャッシュ配置を実施する技術を提供することにある。
【課題を解決するための手段】
【0024】
上記課題を解決するために、省電力ネットワークを構成し、配信されるコンテンツのキャッシュ機能を有するノードは、コンテンツの配信ツリーに基づいて、第1階層ノードと前記第1階層ノードより下位の複数の第2階層ノードとを含む論理的なサブツリー構造を導出し;前記サブツリー構造における前記第1階層ノードにコンテンツをキャッシュするときの第1の電力情報を算出し;前記第1の電力情報と、前記サブツリー構造における前記第2階層ノードにより算出された、前記第2階層ノードにコンテンツをキャッシュするときの第2の電力情報とを比較して、前記第2階層ノードに対するコンテンツリクエストレートの閾値を算出し;算出した前記閾値を前記第2階層ノードに設定制御し;計測したコンテンツリクエストレートと前記閾値との大小関係に応じて、コンテンツのキャッシュ配置の可否を判定する;ように構成されたプロセッサを備える。
【発明の効果】
【0025】
開示したノードによれば、キャッシュ配置に伴う電力及びコンテンツ配信に伴うトラフィック転送電力の双方を考慮した、ネットワークにおける適切なキャッシュ配置を実施することができる。
【0026】
他の課題、特徴及び利点は、図面及び特許請求の範囲とともに取り上げられる際に、以下に記載される発明を実施するための形態を読むことにより明らかになるであろう。
【発明を実施するための形態】
【0028】
以下、添付図面を参照して、さらに詳細に説明する。図面には好ましい実施形態が示されている。しかし、多くの異なる形態で実施されることが可能であり、本明細書に記載される実施形態に限定されない。
【0029】
[自律分散型キャッシュ配置制御システム]
一実施の形態におけるシステム構成を示す
図2を参照すると、自律分散型キャッシュ配置制御システム1は、次世代ネットワーク・アーキテクチャのキャッシュ配置技術であるCCN(Content Centric Networking)を適用可能である。
【0030】
このキャッシュ配置制御システム1は、コア網やメトロ網などのバックボーンネットワーク2を構成する複数のノード3と、バックボーンネットワーク2に接続され、オリジンサイトのコンテンツの作成者または配信者(publisher)により運用されるオリジンサーバ4とを備える。
【0031】
また、このキャッシュ配置制御システム1は、バックボーンネットワーク2に接続されるアクセスネットワーク(図示省略)収容のクライアント装置5を更に備える。クライアント装置5はユーザ(subscriber)により利用される。ここでは、オリジンサーバ4及びクライアント装置5は、1個ずつを図示しているが、実際には複数存在する。
【0032】
各ノード3は、具体的には、ルータ及びWDM装置を含む通信ノードであるが、キャッシュノードと記載することもある。
【0033】
このキャッシュ配置制御システム1においては、バックボーンネットワーク2における消費電力を低減するために、分散配置の複数のノード3は、自律的に適切なキャッシュ配置制御を実施する。なお、このキャッシュ配置制御システム1においては、消費電力の低減だけではなく、機器配備コストを低減する仕組みとして解釈することができるため、電力はコストと等価である。
【0034】
[ノード]
図3は、
図2に示す一実施の形態の自律分散型キャッシュ配置制御システム1におけるノード3の構成を示す。
【0035】
キャッシュノード3は、ハードウェア構成として、次の要素を含んでいる。つまり、プロセッサとしてのCPU(Central Processing Unit)と、作業用メモリとしてのRAM
(Random Access Memory)と、立ち上げのためのブートプログラムを格納したROM(Read Only Memory)と、OS(Operating System)、各種アプリケーションプログラム、及び各種情報(データを含む)を書換え可能に格納する不揮発性のフラッシュメモリとしてのディスクと、通信インタフェースとしてのNIC(Network Interface Card)などとを備える。これらのハードウェア構成は、当業者が容易に理解でき、実施可能であるので、ここではこの構成の図示を省略している。
【0036】
後に詳述する運用前及び運用中の処理機能を論理的に実現するには、キャッシュノード3において、ディスクに制御プログラムをアプリケーションプログラムとしてインストールしておく。そして、このキャッシュノード3においては、CPUがこの制御プログラムをRAMに展開して実行する。
【0037】
キャッシュノード3は、NICによって実現可能なネットワークインタフェース30を備える。また、キャッシュノード3は、配信ツリー管理部31、リクエスト転送処理部32、リクエスト転送テーブル33、データ転送部34、データ転送テーブル35、及びキャッシュメモリ36を機能構成要素として備える。リクエスト転送テーブル33、データ転送テーブル35、及びキャッシュメモリ36は、ディスクによって実現可能である。
【0038】
さらに、キャッシュノード3は、サブツリー管理部37、電力指標管理部38、閾値算出部39、閾値設定部40、リクエストレート計測部41、及びキャッシュ判定部42を機能構成要素として備える。キャッシュノード3におけるこれらの構成要素については後に詳述する。
【0039】
[動作]
次に、一実施の形態の自律分散型キャッシュ配置制御システム1における処理例について、
図2、
図3及び関連図を併せ参照して説明する。
【0040】
自律分散型キャッシュ配置制御システム1にCCN技術を適用すると、キャッシュノード3における運用前の処理及び運用中の処理は、次に示す処理内容になる。
【0041】
運用前のコンテンツ広告処理:
コンテンツの作成者または配信者が、オリジンサーバ4からバックボーンネットワーク(単に、ネットワークと記載することもある)2内にコンテンツ情報を広告(配信)する。
【0042】
各キャッシュノード3では、広告されたコンテンツ情報を受信したことを契機に、配信ツリー管理部31は、各コンテンツの発行拠点となる各オリジンサイトをルート(root)とした配信木(配信ツリーと記載することもある)を構築(作成)する。
【0043】
さらに、広告コンテンツを探索するための経路(route)を構築するために、リクエス
ト転送処理部32は、この配信木を遡るように、リクエスト転送テーブル33を作成する。
【0044】
運用中のコンテンツ探索・発見処理:
ユーザ利用のクライアント装置5からのコンテンツリクエスト(具体的には、Interest Packet)が各キャッシュノード3に上がってきた(到着した)ことを契機に、リクエスト転送処理部32は、該当コンテンツがキャッシュされているキャッシュノード3に辿り着くまで、リクエスト転送テーブル33を参照して、コンテンツリクエストを隣接ノードへ転送する。
【0045】
また、コンテンツリクエストを受信したキャッシュノード3では、受信したネットワークインタフェース30の箇所、つまり物理ポート番号などをデータ転送テーブル35に登録しておく。
【0046】
さらに、特定のキャッシュノード3のキャッシュメモリ36上で、要求コンテンツが発見されたら、データ転送部34は、データ転送テーブル35を参照し、コンテンツリクエ
ストが辿った経路と逆方向に該当コンテンツのデータを配信する。
【0047】
運用中のデータ蓄積処理:
該当コンテンツのデータを転送したキャッシュノード3では、データ転送部34は、LFU(Least Frequently Used)などの手法に従い、キャッシュメモリ36に該当データ
のキャッシュを実施する。
【0048】
しかし、上述した運用前の処理及び運用中の処理では、コンテンツデータは経由する全てのキャッシュノード3でキャッシュされてしまうことから、キャッシュ配置に伴う電力及びコンテンツ配信に伴うトラフィック転送電力を考慮した、ネットワーク2におけるキャッシュ配置を実施することができない。
【0049】
したがって、キャッシュノード3においては、上述した運用前の処理及び運用中の処理に加えて、次に記載の処理を行う。
【0050】
運用前の閾値算出処理:
各キャッシュノード3では、各コンテンツのリクエストレートに対する閾値を、キャッシュ配置に伴う電力(キャッシュ配置電力)と、コンテンツ配信に伴う電力(トラフィック転送電力)との和が最小となるように、配信木上の親子関係のノード間の電力情報から自律的に設定する。
【0051】
図4はこの運用前の閾値算出処理の詳細を示す。この閾値算出処理においては、オリジンノードをルートとした配信木に対して、以降の処理を並列に実施する。
【0052】
S41:オリジンサイトの配信木に基づき、キャッシュ階層及びサブツリーを導出する。サブツリー管理部37は、配信ツリー管理部31からキャッシュ階層、つまり各ノードと、各ノードの直下に存在し、各ノードにコンテンツリクエストを上げてくる(通知する)可能性がある子ノードとの関係を取得し、親子関係の論理的なサブツリー構造を導出する(
図5参照)。
【0053】
S42:サブツリーにおいて、自ノードにコンテンツ(厳密には、コンテンツデータ)をキャッシュした場合の電力モデルを算出する。つまり、電力指標管理部38は、各サブツリーのルートとなる自ノードにコンテンツをキャッシュした場合の電力モデルを、自ノードでコンテンツをキャッシュした場合の電力量と、コンテンツリクエストレートλを持つコンテンツを自ノードから配下の全ての子ノード及び枝ノードに配信した場合の電力量とから算出する(
図5,
図6参照)。
【0055】
この電力モデルは、ノードiにおいてオリジンサイトtをルートとしたキャッシュ階層毎に算出される電力モデルである。
【0056】
ここで、Ca
iはキャッシュ配置に伴う電力量、Tr
iは各拠点(サイト)からのコンテンツリクエストレートの変数λとノードiからキャッシュ階層配下の枝ノードまでのホップ長の総和「H上付t、下付i」を用いて表現されるトラフィック転送電力である。
【0057】
なお、電力モデル
【数7】
は一次式(a×λ+b)として表すことができる。
【0058】
S43:電力指標管理部38は、自ノードにコンテンツをキャッシュした場合の電力モデルを上位ノードに通知する(
図6参照)。
【0059】
S44:自ノードにコンテンツをキャッシュした場合の電力モデルと、全ての子ノードにキャッシュした場合の電力モデルとを比較し、各子ノードに対するリクエストレートの閾値を算出する(
図7参照)。つまり、閾値算出部39は、自ノードにおける電力モデルと、子ノードから収集した電力モデルとを比較し、次のようなキャッシュ判定ルールを導出する。
【0060】
If:自ノードにキャッシュした場合の総電力量(=キャッシュ配置電力+トラフィック転送電力)>各子ノードにキャッシュした場合の総電力量(=キャッシュ配置電力+トラフィック転送電力)であるならば、
【0061】
【数8】
Then:コンテンツは子ノードにキャッシュする。
【0062】
Else If:自ノードにキャッシュした場合の総電力量≦各子ノードにキャッシュした場合の総電力量であるならば、
【0063】
【数9】
Then:コンテンツは自ノードあるいは上位レイヤのノードでキャッシュする。
【0064】
ここで、「C上付t、下付i」は、オリジンサイトtをルートに持つキャッシュ階層におけるノードiの子ノード集合を示す。
【0065】
次に、閾値算出部39は、上記キャッシュ判定ルールを満たす変数λ(各拠点からのリクエストレート)を下記の等式で導出する。
【0068】
この結果、オリジンサイトtを持つコンテンツに対するキャッシュノードjにおけるリ
クエストレートの閾値は、
【0070】
ここで、Dはデータサイズ[bits]、「Cr上付t、下付i」はオリジンサイトtをルートとしたキャッシュ階層に対するノードiの子ノードの総数、「H上付t、下付i」はオリジンサイトtをルートとしたキャッシュ階層に対するノードiから枝ノードまでのホップ長の総和、及び「H上付t、下付j」はオリジンサイトtをルートとしたキャッシュ階層に対するノードjの配下にある枝ノードの総数を示す。
【0071】
さらに、Pr及びPwdmは1bitのコンテンツデータを転送することに要するルータ及びWDM装置の電力パラメータ[W/bps=J/bit]、及びPcaは1bitのコンテンツデータをキャッシュすることに伴うメモリの電力パラメータ[W/bit=J/bit・sec]を表している。
【0072】
S45:子ノードに閾値を設定する処理においては、閾値設定部40は、ノードiの閾値算出部39で導出された、オリジンサイトtを持つコンテンツに対する子ノードjにおけるリクエストレート閾値「Th上付t、下付j」をノードjに設定制御する。
【0073】
S46:S44の閾値算出処理及びS45の閾値設定処理は、キャッシュ階層のオリジンノードに到達するまで実施された後、終了する。
【0074】
したがって、閾値を設定された各ノードにおけるコンテンツのキャッシュ判定ルールは次の通りである。つまり、ノードjにリクエストされたオリジンサイトtを持つコンテンツに対し、リクエストレートが閾値「Th上付t、下付j」を上回る(超過する)コンテンツは、キャッシュする。一方、リクエストレートが閾値「Th上付t、下付j」以下のコンテンツは、キャッシュしない。
運用中のキャッシュ判定処理:
各キャッシュノード3において、コンテンツ毎のリクエストレートを計測し、計測したリクエストレートと閾値とに基づいて、コンテンツキャッシュ可否を判定する。そして、リクエストレートが閾値を上回る(超過する)コンテンツはキャッシュする。また、リクエストレートが閾値以下のコンテンツはキャッシュしない。
【0075】
図8はこの運用中のキャッシュ判定処理の詳細を示す。
S81:各ノードにおいて、あるコンテンツのリクエストを受信する。
【0076】
S82:リクエストレート計測部41は、コンテンツリクエストに対する該当コンテンツのリクエストレートを見積もる(計測する)。
【0077】
S83:キャッシュ判定部42は、キャッシュメモリ36を参照して、コンテンツリクエストに対する該当コンテンツが自ノードでキャッシュされているかを判定する。
【0078】
S84,S85:キャッシュされている場合は、データ転送部34は、自ノードからコンテンツデータをキャッシュ階層の子ノードに配信する(S84)。また、キャッシュされていない場合は、リクエスト転送処理部32は、リクエストをキャッシュ階層の上位ノードに転送する(S85)。
【0079】
S86,S87,S88:データ削除のためのリクエストレート判定処理においては、キャッシュ判定部42によって、該当コンテンツのオリジンサイトtを特定し、S82で計測された該当コンテンツのリクエストレートが閾値「Th上付t、下付j」以下と判定された場合は、キャッシュされているデータを削除した後、終了する。また、キャッシュ判定部42によって、S82で計測された該当コンテンツのリクエストレートが閾値「Th上付t、下付j」を超過していると判定された場合は、キャッシュされているデータを維持した後、終了する。
【0080】
S89,S90,S91,S92:データキャッシュのためのリクエストレート判定処理においては、キャッシュ判定部42によって、該当コンテンツのオリジンサイトtを特定し、他ノードから転送された該当コンテンツデータに対して、S82で計測された該当コンテンツのリクエストレートが閾値「Th上付t、下付j」を超過していると判定された場合は、該当データを自ノードにキャッシュした後、終了する。また、キャッシュ判定部42によって、他ノードから転送された該当コンテンツデータに対して、S82で計測された該当コンテンツのリクエストレートが閾値「Th上付t、下付j」以下と判定された場合は、該当データを自ノードにキャッシュしないで終了する。
【0081】
上述したように、自律分散型キャッシュ配置制御システム1においては、各キャッシュノード3の自律分散処理で、効率的なキャッシュ判定を行うことを可能にする。
【0082】
[一実施の形態の効果]
次に、上述した一実施の形態の自律分散型キャッシュ配置制御システム1における効果について説明する。
【0083】
評価条件は次のように設定した。
(1)電力特性(
図9参照)
(2)対象ネットワーク:
図10に示すトポロジの24個のノード
(3)コンテンツ数:10,000
(4)各コンテンツのオリジンサイト:一様分布に従い設定
(5)コンテンツサイズ:幾何分布に従い設定。平均コンテンツサイズは10Mbytesである。
(6)コンテンツの固定分割サイズ(Chunkサイズ):10Kbytes
(7)各拠点からのリクエスト発生量:100requests/sec
(8)コンテンツのリクエスト量分布:Zipf(α=1.2)分布に従い設定
(9)リクエスト発生分布:ポアソン分布に従い設定
(10)シミュレーション時間:7,200sec
また、本開示技術(Threshold-based Caching)の効果を次の2つの技術と比較する。
【0084】
第1の技術は、最適キャッシュ配置(Optimal Caching)であり、ネットワーク全体の
コンテンツ情報(リクエスト分布)を用いて最適設計されたキャッシュ配置箇所のみにコンテンツキャッシュを実施する。
【0085】
第2の技術は、一般的なLFU(Pure LFU)であり、メモリサイズを超過したら低人気コンテンツから廃棄する。
【0086】
評価結果として、各キャッシュノードにおけるメモリサイズの上限値を変化させたときのネットワーク全体の平均消費電力量が
図11に示され、ネットワーク内のキャッシュノードでリクエストがヒットするキャッシュヒットレートが
図12に示されている。
【0087】
図11から理解できるように、局所的な情報を用いる本開示技術により、ネットワーク
全体のコンテンツ情報(リクエスト分布)を用いる最適キャッシュ配置技術と近い省電力効果が得られている。一方、LFU技術は、搭載されるメモリを最大限利用することからキャッシュ配置に伴う電力量が支配的になり、他の技術に比べて全体の平均消費電力量が大きくなる。
【0088】
また、
図12から理解できるように、本開示技術により、ネットワーク全体の情報を用いる最適キャッシュ配置技術のキャッシュヒットレートとほぼ同等の性能を達成している。一方、LFU技術は、メモリを有効利用できず、他の技術よりキャッシュヒットレートは低くなる。
【0089】
したがって、ノードの自律分散処理を前提とした本開示技術により、全体のコンテンツ情報を管理することなく、ほぼ最適なキャッシュ配置が実現できる。また、メモリの利用効率を向上させることで、一般的なLFU技術よりも、省電力効果及びキャッシュヒットレート性能を向上させることが可能になる。
【0090】
[変形例]
上述した一実施の形態における処理はコンピュータで実行可能なプログラムとして提供され、CD−ROMやフレキシブルディスクなどの非一時的コンピュータ可読記録媒体、さらには通信回線を経て提供可能である。
【0091】
また、上述した一実施の形態における各処理はその任意の複数または全てを選択し組合せて実施することもできる。