(57)【要約】【課題】  キャッシュデータを簡単に管理できるデータ配信装置及びデータ配信方法を提供する。【解決手段】  データ配信装置は、配信対象のデータのキャッシュデータを記憶する記憶部と、他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信する配信部と、前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージが受信されたとき、前記基準値に応じて前記所定値から遠ざけるように更新するカウンタ部と、前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄する管理部とを有する。【選択図】図５
2015106188.tif 000002
【特許請求の範囲】
【請求項１】
配信対象のデータのキャッシュデータを記憶する記憶部と、
他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信する配信部と、
前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージが受信されたとき、前記基準値に応じて前記所定値から遠ざけるように更新するカウンタ部と、
前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄する管理部とを有することを特徴とするデータ配信装置。
【請求項２】
前記カウンタ部は、前記カウンタ値の範囲を前記所定値から前記基準値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値を、前記基準値に戻すことを特徴とする請求項１に記載のデータ配信装置。
【請求項３】
前記カウンタ部は、前記カウンタ値の範囲を前記所定値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算することを特徴とする請求項１に記載のデータ配信装置。
【請求項４】
前記カウンタ部は、前記カウンタ値の範囲を、前記所定値より小さい所定の下限値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算し、
前記管理部は、前記カウンタ値が、時間の経過により前記所定値以下になったとき、前記キャッシュデータを廃棄することを特徴とする請求項１に記載のデータ配信装置。
【請求項５】
前記管理部は、前記キャッシュデータが廃棄された後で前記要求メッセージが受信されたとき、ネットワークから前記データを取得し、前記記憶部にキャッシュすることを特徴とする請求項１乃至４の何れかに記載のデータ配信装置。
【請求項６】
配信対象のデータのキャッシュデータを記憶部に記憶し、
他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信し、
前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージを受信したとき、前記基準値に応じて前記所定値から遠ざけるように更新し、
前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄することを特徴とするデータ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、データ配信装置及びデータ配信方法に関する。
【背景技術】
【０００２】
インターネットなどの公衆通信ネットワークの進歩に伴い、コンピュータ及びスマートフォンなどの端末装置と、デジタルコンテンツなどのデータを端末装置に配信するサーバ装置の間のトラフィック量が増加している。デジタルコンテンツとしては、例えば、ウェブサイト、映像データ、音楽データ、及びソフトウェアなどが挙げられる。
【０００３】
ルータやサーバ装置などのネットワーク機器の電力消費量は、トラフィック量の増加に伴って増加するので、ネットワーク内を流れるトラフィック量の低減が望まれる。これに対し、デジタルコンテンツのキャッシュデータ（複製）を複数のルータ内に保持しておき、端末装置に近いノードのルータからキャッシュデータを配信することで、トラフィック量を低減する技術が知られている（特許文献１及び非特許文献１参照）。一方、今後、キャッシュデータを保持することによる、ストレージの利用の増大が考えられるため、トラフィックの削減と、ストレージの保持量の関係を考慮したキャッシュデータの配置の実現が重要になる。
【０００４】
このような技術は、「ＣＣＮ（Content Centric Networking）」などと呼ばれ、ＣＣＮで用いられるキャッシュノードは、「コンテンツルータ（CR: Content Router）」などと呼ばれる。例えば、ＣＣＮにおいて、デジタルコンテンツをメモリにキャッシュすることにより生ずる消費電力、メモリのコスト、デジタルコンテンツの配信により生ずる消費電力を考慮し、消費電力の低減のために、ネットワーク内のキャッシュデータの最適な配置を導出するなどの運用手法などが検討されている。このとき、ネットワークにおける全コンテンツリスト及びコンテンツに対するリクエスト分布などの情報も用いられる。
【０００５】
また、非特許文献２には、ＣＣＮ技術において、ネットワーク全体のコンテンツ情報の管理を容易にするため、各ノードにおいて自律分散処理を行うことにより、効率的なキャッシュデータの配置を制御する技術が開示されている。この自律分散処理では、デジタルコンテンツをキャッシュによる消費電力、及びデジタルコンテンツの配信による消費電力を考慮し、消費電力の低減のために、キャッシュの可否を判定するためのリクエストレートの最適な閾値が導出される。
【０００６】
このように、消費電力量だけでなく、コンテンツのキャッシュに伴うストレージコストと、コンテンツの配信に伴うトラフィックの伝送コストの関係を考慮し、効率的なキャッシュ制御を実現する上で、リクエストレートに対する閾値を用いたキャッシュ判定の仕組みが有用になる。
【０００７】
リクエストレートは、単位時間（例えば１（秒））内のデジタルコンテンツに対するリクエスト数を表す。各ノードのキャッシュデータは、計測されたリクエストレートが閾値を上回る場合に保持され、リクエストレートが閾値を下回る場合に廃棄される。このようにして、デジタルコンテンツのキャッシュデータは管理される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−１８３２４１号公報
【非特許文献】
【０００９】
【非特許文献１】Satoshi Imai、他２名、”Energy Efficient Content Locations for In-Network Caching”、In Proc. of Asia-Pacific Conference on Communications, Jeju, Korea, 2012
【非特許文献２】Satoshi Imai、他２名、”Energy-Aware Cache Management for Content-Centric Networking”、in Proc. of Fist International Workshop on Energy-Aware Systems, Communications and Security, Barcelona, Spain, March 2013
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、各ノードにおいて、リクエストレートの計測処理は、デジタルコンテンツごとにリアルタイムに行われるため、コンテンツが多いほど、当該処理の負荷が増加するという問題が生ずる。したがって、キャッシュデータの簡易な管理手法が望まれる。なお、このような問題は、非特許文献２に開示された手法に限定されず、閾値に基づいてキャッシュの可否を判定する他の手法にも生じ得る。
【００１１】
そこで本件は上記の課題に鑑みてなされたものであり、キャッシュデータを簡単に管理できるデータ配信装置及びデータ配信方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本明細書に記載のデータ配信装置は、配信対象のデータのキャッシュデータを記憶する記憶部と、他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信する配信部と、前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージが受信されたとき、前記基準値に応じて前記所定値から遠ざけるように更新するカウンタ部と、前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄する管理部とを有する。
【００１３】
本明細書に記載のデータ配信方法は、配信対象のデータのキャッシュデータを記憶部に記憶し、他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信し、前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージを受信したとき、前記基準値に応じて前記所定値から遠ざけるように更新し、前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄する方法である。
【発明の効果】
【００１４】
本明細書に記載のデータ配信装置及びデータ配信方法は、キャッシュデータを簡単に管理できるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】コンテンツ配信システムの一例を示す構成図である。
【図２】リクエストレートに対するキャッシュヒット率の理想的特性を示すグラフである。
【図３】実施例に係るデータ配信装置を示す構成図である。
【図４】データ配信装置の機能構成を示す構成図である。
【図５】第１実施例におけるカウンタ値の変化の一例を示すグラフである。
【図６】第１実施例に係るデータ配信装置の処理を示すフローチャートである。
【図７】効果を検証するための数値シミュレーションの条件を示す図である。
【図８】第１実施例における、リクエストレートに対するキャッシュヒット率の特性を示すグラフである。
【図９】第２実施例におけるカウンタ値の変化の一例を示すグラフである。
【図１０】第２実施例に係るデータ配信装置の処理を示すフローチャートである。
【図１１】第２実施例における、リクエストレートに対するキャッシュヒット率の特性を示すグラフである。
【図１２】第３実施例におけるカウンタ値の変化の一例を示すグラフである。
【図１３】第３実施例に係るデータ配信装置の処理を示すフローチャートである。
【図１４】第３実施例における、リクエストレートに対するキャッシュヒット率の特性を示すグラフである。
【発明を実施するための形態】
【００１６】
図１は、コンテンツ配信システムの一例を示す構成図である。本実施例では、配信対象のデータとして、ウェブサイト、映像データ、音楽データ、及びソフトウェアなどのデジタルコンテンツを例に挙げるが、これに限定されず、配信対象は、他種のデータであってもよい。
【００１７】
コンテンツ配信システムは、複数の端末装置８０〜８２と、サーバ装置９と、複数のコンテンツルータＣＲ＃１〜＃６とを有する。サーバ装置９は、デジタルコンテンツを保持し、複数のコンテンツルータＣＲ＃１〜＃６に供給する。
【００１８】
コンテンツルータＣＲ＃１〜＃６は、パケットの経路制御に加えて、サーバ装置９からデジタルコンテンツを取得してキャッシュする機能を備えたルータである。コンテンツルータＣＲ＃１〜＃６は、複数種類のデジタルコンテンツのキャッシュデータを保持することができる。なお、コンテンツルータＣＲ＃１〜＃６が設けられるネットワークとしては、アクセス系ネットワーク、メトロ系ネットワーク、及びコア系ネットワークなどが挙げられるが、限定はない。
【００１９】
コンテンツルータＣＲ＃１〜＃６は、ツリー構造を形成するように相互に接続されている。本例において、コンテンツルータＣＲ＃１は、ツリー構造の頂点に位置し、サーバ装置９、及び下層のコンテンツルータＣＲ＃２，ＣＲ＃５と接続されている。コンテンツルータＣＲ＃２は、最下層のコンテンツルータＣＲ＃３，ＣＲ＃４と接続され、コンテンツルータＣＲ＃５は、最下層のコンテンツルータＣＲ＃６に接続されている。
【００２０】
端末装置８０〜８２は、コンピュータ及びスマートフォンなどの通信機器であり、サーバ装置９に、デジタルコンテンツの配信を要求する要求メッセージＲｑを送信する。要求メッセージＲｑは、要求元の端末装置８０〜８２を示す識別情報、及び要求対象のデジタルコンテンツの種類を示す種別情報などを含む。
【００２１】
コンテンツルータＣＲ＃１〜＃６は、要求メッセージを受信したとき、当該デジタルコンテンツのキャッシュデータＣｄを保持している場合、キャッシュデータＣｄを端末装置８０〜８２に配信する。一方、コンテンツルータＣＲ＃１〜＃６は、当該デジタルコンテンツのキャッシュデータＣｄを保持していない場合、上層のコンテンツルータＣＲ＃１〜＃６に、要求メッセージＲｑを転送する。
【００２２】
これにより、端末装置８０〜８２は、コンテンツルータＣＲ＃１〜＃６のうち、最も近いコンテンツルータ、つまり到達するまでのホップ数の最も少ないコンテンツルータから、キャッシュデータＣｄを受信することができる。例えば、端末装置８０は、コンテンツルータＣＲ＃３からキャッシュデータＣｄを受信でき、コンテンツルータＣＲ＃３がキャッシュデータＣｄを保持していない場合、コンテンツルータＣＲ＃２からキャッシュデータＣｄを受信できる。したがって、ネットワーク内を流れるトラフィック量が低減されるので、ネットワーク機器の電力消費量も低減される。
【００２３】
コンテンツルータＣＲ＃１〜＃６は、自律分散処理により、デジタルコンテンツのキャッシュの可否を決めるリクエストレートの閾値λｔを、個別に導出する。閾値λｔは、例えば、デジタルコンテンツをキャッシュによる消費電力、及びデジタルコンテンツの配信による消費電力を考慮し、消費電力を最小とするための最適な値として導出される。ここで、リクエストレートは、単位時間（例えば１（秒））内のデジタルコンテンツに対する要求メッセージＲｑの数を表す。言い換えれば、リクエストレートは、コンテンツルータＣＲ＃１〜＃６が単位時間内に受信する要求メッセージＲｑの数、つまり受信レートを表す。
【００２４】
図２は、リクエストレートに対するキャッシュヒット率の理想的特性を示すグラフである。図２において、横軸は、一例として、デジタルコンテンツ「ｃ」のリクエストレートλｃ（個／秒）を示し、縦軸は、デジタルコンテンツ「ｃ」のキャッシュデータのキャッシュヒット率を示す。キャッシュヒット率は、要求メッセージを受信したときに、当該デジタルコンテンツのキャッシュデータＣｄが保持されている確率であり、例えば、キャッシュヒット率が０．５である場合、２回に１回の確率でキャッシュデータＣｄが保持されている。
【００２５】
コンテンツルータＣＲ＃１〜＃６は、理想的特性として、リクエストレートλｃが閾値λｔを上回る場合、キャッシュデータＣｄを保持し、リクエストレートλｃが閾値λｔを下回る場合、キャッシュデータＣｄを保持しない。つまり、キャッシュヒット率は、閾値λｔを挟んで１と０に分かれる。このため、端末装置８０〜８２からのアクセス頻度が高い（人気がある）デジタルコンテンツほど、キャッシュされる確率が高くなる。
【００２６】
このような理想的特性は、各コンテンツルータＣＲ＃１〜＃６において、デジタルコンテンツに対するリクエストレートを計測することにより実現できる。しかし、この場合、リクエストレートの計測処理は、デジタルコンテンツごとにリアルタイムに行われるため、デジタルコンテンツ数に応じて、当該処理の負荷が増加してしまう。
【００２７】
そこで、実施例に係るデータ配信装置は、以下に述べるように、リクエストレートを計測することなく、カウンタ値を用いた低負荷な処理により、上記の理想的特性を実現する。なお、実施例に係るデータ配信装置としては、コンテンツルータＣＲ＃１〜＃６を挙げるが、これに限定されることはなく、他のネットワーク機器であってもよい。
【００２８】
図３は、実施例に係るデータ配信装置を示す構成図である。データ配信装置は、ＣＰＵ１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２、キャッシュメモリ（記憶部）１３、通信処理部１４などを有する。
【００２９】
ＣＰＵ１０は、演算処理手段であり、プログラムに従って、パケットの経路制御、及び、後述するデータ配信方法を実行する。ＣＰＵ１０は、バス１８を介し、各部１１〜１３と通信できるように接続されている。なお、データ配信装置は、ソフトウェアにより動作するものに限定されず、ＣＰＵ１０に代えて、特定用途向け集積回路などのハードウェアが用いられてもよい。
【００３０】
ＲＯＭ１１は、ＣＰＵ１０を動作させるプログラムなどを記憶する記憶手段として用いられる。プログラムは、例えばネットワークを介して更新される。ＲＡＭ１２は、ＣＰＵ１０のワーキングメモリとして用いられる。キャッシュメモリ１３は、デジタルコンテンツのキャッシュに使用され、１以上のキャッシュデータＣｄを記憶する。なお、キャッシュデータＣｄの記憶手段は、キャッシュメモリ１３に限定されず、例えば、ハードディスクドライブのような他の記憶手段が用いられてもよい。
【００３１】
通信処理部１４は、例えばＬＡＮ（Local Area Network）ポートであり、ネットワークと接続されている。通信処理部１４は、パケットの送信処理及び受信処理を行う。通信処理部１４は、例えば、端末装置８０〜８２が送信した要求メッセージＲｑの受信処理、端末装置８０〜８２へのキャッシュデータＣｄの送信処理、要求メッセージＲｑの他のコンテンツルータＣＲ＃１〜＃６への転送処理などを行う。
【００３２】
ＣＰＵ１０は、プログラムを実行すると、複数の機能が形成される。図４は、データ配信装置の機能構成を示す構成図である。図４には、ＣＰＵ１０に形成される機能のうち、コンテンツの配信及びキャッシュに関する機能、通信処理部１４、及びキャッシュメモリ１３に格納された複数のキャッシュデータ（＃１、＃２、・・・）Ｃｄが示されている。
【００３３】
ＣＰＵ１０は、コンテンツ配信部（配信部）１００と、キャッシュ管理部（管理部）１０１と、カウンタ部１０２とを有する。キャッシュ管理部１０１は、通信処理部１４を介し、サーバ装置９または他のコンテンツルータＣＲ＃１〜＃６から配信されるデジタルコンテンツを受信し、キャッシュメモリ１３にキャッシュする。これにより、キャッシュメモリ１３は、デジタルコンテンツごとに対応するキャッシュデータ（＃１、＃２、・・・）Ｃｄを記憶している。
【００３４】
コンテンツ配信部１００は、端末装置８０〜８２から通信処理部１４を介して受信した要求メッセージＲｑに応じて、キャッシュメモリ１３から、要求メッセージＲｑに応じたデジタルコンテンツのキャッシュデータ（＃１、＃２、・・・）Ｃｄを読み出す。そして、コンテンツ配信部１００は、読み出したキャッシュデータ（＃１、＃２、・・・）Ｃｄを端末装置８０〜８２に配信する。コンテンツ配信部１００は、通信処理部１４を介し、キャッシュデータ（＃１、＃２、・・・）Ｃｄを、一度に複数の端末装置８０〜８２に配信できる。
【００３５】
このように、コンテンツ配信部１００は、要求メッセージＲｑに応じて、キャッシュデータＣｄを端末装置８０〜８２に配信するので、端末装置８０〜８２は、配信対象のデジタルコンテンツの供給源であるサーバ装置９にアクセスすることなく、デジタルコンテンツを受信できる。このため、ネットワークのトラフィック量が削減される。
【００３６】
また、キャッシュ管理部１０１は、カウンタ部１０２から取得したカウンタ値Ｎ１、Ｎ２、・・・（Ｎｉ）に基づいて、キャッシュデータ（＃１、＃２、・・・）Ｃｄを管理する。カウンタ値Ｎ１、Ｎ２、・・・は、デジタルコンテンツごと、つまり、キャッシュデータ（＃１、＃２、・・・）Ｃｄごとに設けられている。例えば、カウンタ値Ｎ１は、キャッシュデータ（＃１）Ｃｄの管理に用いられ、カウンタ値Ｎ２は、キャッシュデータ（＃２）Ｃｄの管理に用いられる。なお、以降の説明において、カウンタ値Ｎ１、Ｎ２、・・・を、代表的に「Ｎｉ」（ｉ＝１，２，・・・）と表記する。
【００３７】
キャッシュ管理部１０１は、カウンタ値Ｎｉが所定値Ｋ（例えば０）になったとき、当該キャッシュデータ（＃１、＃２、・・・）Ｃｄを廃棄する。このとき、キャッシュ管理部１０１は、例えば、キャッシュデータ（＃１、＃２、・・・）Ｃｄをキャッシュメモリ１３から消去する。キャッシュ管理部１０１は、キャッシュデータ（＃１、＃２、・・・）Ｃｄが廃棄された後で要求メッセージＲｑを受信したとき、ネットワーク内のサーバ装置９から、当該デジタルコンテンツを取得し、キャッシュメモリ１３にキャッシュする。これにより、キャッシュデータＣｄが、キャッシュメモリ１３に再度格納されるので、データ配信装置は、再びキャッシュデータＣｄを配信できる。
【００３８】
カウンタ部１０２は、カウンタ値Ｎｉを制御する。カウンタ部１０２は、カウンタ値Ｎｉを、時間の経過とともに減少させることで所定値Ｋに近づける。例えば、カウンタ値Ｎｉは、単位時間（例えば１（秒））に１だけ減少する。なお、カウンタ値Ｎｉの減少比は、１に限定されず、後述するように、所定の減少レートαにより決定されてもよい。
【００３９】
また、カウンタ部１０２は、上記のリクエストレートλｃの閾値λｔの逆数（１／λｔ）を基準値ＴＴＬｔとし、要求メッセージＲｑが受信されたとき、カウンタ値Ｎｉを、基準値ＴＴＬｔに応じて所定値Ｋから遠ざけるように更新する。より具体的には、カウンタ部１０２は、カウンタ値Ｎｉを増加させ、例えば所定値Ｋ以上の値にセットする。
【００４０】
例えば、カウンタ部１０２は、通信処理部１４が要求メッセージＲｑを受信したとき、カウンタ値Ｎｉを基準値ＴＴＬｔに戻す。この場合、カウンタ部１０２は、カウンタ値Ｎｉの範囲を所定値Ｋから基準値ＴＴＬｔまでとする。なお、カウンタ部１０２は、これに限定されず、後述するように、通信処理部１４が要求メッセージＲｑを受信したとき、カウンタ値Ｎｉに、基準値ＴＴＬｔ及び減少レートαの積（α・ＴＴＬｔ）を加算してもよい。
【００４１】
次に、データ配信装置の動作例を説明する。
【００４２】
（第１実施例）
図５は、第１実施例におけるカウンタ値Ｎｉの変化の一例を示すグラフである。図５において、横軸は時刻を示し、縦軸はカウンタ値Ｎｉを示す。ここで、時刻ｔ１〜ｔ３，ｔ５は、要求メッセージＲｑの受信時刻を示し、時刻ｔ４は、カウンタ値Ｎｉが、所定値Ｋ＝０になった時刻を示す。
【００４３】
また、図５には、時刻に応じたキャッシュデータＣｄの有無（「有」及び「無」参照）、つまり、キャッシュメモリ１３にキャッシュデータＣｄが格納されているか否かが示されている。さらに、要求メッセージＲｑの受信時刻ｔ１〜ｔ３，ｔ４に対応して記載された「（ｈｉｔ）」及び「（ｍｉｓｓ）」は、キャッシュデータＣｄのヒットの有無をそれぞれ表す。
【００４４】
本実施例において、カウンタ部１０２は、カウンタ値Ｎｉの範囲を所定値（下限値）Ｋ＝０から基準値ＴＴＬｔ（＝１／λｔ）までとし、要求メッセージＲｑが受信されたとき、時間の経過とともに減少するカウンタ値Ｎｉを、基準値ＴＴＬｔに戻す。このため、カウンタ値Ｎｉは、要求メッセージＲｑの受信時刻ｔ１〜ｔ３，ｔ５において基準値ＴＴＬｔとなり、他の時間帯では、減少し続ける。カウンタ値Ｎｉの単位時間（例えば１（秒））当たりの減少量は、例えば１であるが、これに限定されない。
【００４５】
カウンタ値Ｎｉは、時刻ｔ４までは、時刻ｔ１〜ｔ３における要求メッセージＲｑの受信により基準値ＴＴＬｔに戻されるため、０（所定値Ｋ）に達しない。このため、時刻ｔ１〜ｔ３において、キャッシュメモリ１３にはキャッシュデータＣｄが格納されており、キャッシュデータＣｄのヒットが発生する。
【００４６】
カウンタ値Ｎｉは、時刻ｔ４において０（所定値Ｋ）に達し、新たに要求メッセージＲｑが受信される時刻ｔ５まで、０に維持される。キャッシュ管理部１０１は、カウンタ値Ｎｉが０になったことを検出すると、キャッシュデータＣｄを廃棄する。このため、時刻ｔ４から時刻ｔ５の間、キャッシュメモリ１３にはキャッシュデータＣｄが格納されていない。
【００４７】
したがって、要求メッセージＲｑの受信時刻ｔ５において、キャッシュデータＣｄのヒットが発生しない。つまり、時刻ｔ５では、キャッシュデータＣｄのキャッシュミスが発生する。このとき、キャッシュ管理部１０１は、要求メッセージＲｑを他のコンテンツルータＣＲ＃１〜＃６（データ配信装置）に転送する。
【００４８】
また、キャッシュ管理部１０１は、要求メッセージＲｑの受信時刻ｔ５において、サーバ装置９からデジタルコンテンツを取得し、キャッシュメモリ１３にキャッシュする。このため、時刻ｔ５以降、キャッシュメモリ１３にはキャッシュデータＣｄが格納されている。
【００４９】
このように、カウンタ値Ｎｉは、要求メッセージＲｑが受信されなければ、時間の経過とともに０（所定値Ｋ）に近づき、要求メッセージＲｑが受信されると、基準値ＴＴＬｔに戻されることによって、０から遠ざかる。キャッシュデータＣｄは、カウンタ値Ｎｉが０になると廃棄される。したがって、リクエストレートλｃ、つまりアクセス頻度が高いデジタルコンテンツほど、キャッシュされる確率（キャッシュヒットの確率）が高い。
【００５０】
図６は、第１実施例に係るデータ配信装置の処理（データ配信方法）を示すフローチャートである。図６は、１つのデジタルコンテンツのキャッシュデータＣｄの管理に関する処理を示すものであり、この処理は、各デジタルコンテンツのキャッシュデータＣｄについて同様に実行される。
【００５１】
まず、カウンタ部１０２は、カウンタ値Ｎｉを基準値ＴＴＬｔに設定する（ステップＳｔ１）。次に、コンテンツ配信部１００は、通信処理部１４が要求メッセージＲｑを受信したか否かを判定する（ステップＳｔ２）。
【００５２】
要求メッセージＲｑが受信された場合（ステップＳｔ２のＹｅｓ）、コンテンツ配信部１００は、要求メッセージＲｑに応じたデジタルコンテンツのキャッシュデータＣｄの有無を判定する（ステップＳｔ３）。このとき、コンテンツ配信部１００は、要求メッセージＲｑに含まれるデジタルコンテンツの種別情報に基づき、当該デジタルコンテンツのキャッシュデータＣｄがキャッシュメモリ１３に格納されているか否かを検出する。また、要求メッセージＲｑが受信されていない場合（ステップＳｔ２のＮｏ）、後述するステップＳｔ６の処理が行われる。
【００５３】
キャッシュデータＣｄが有る場合（ステップＳｔ３のＹｅｓ）、コンテンツ配信部１００は、通信処理部１４を介し、キャッシュデータＣｄを端末装置８０〜８２に配信する（ステップＳｔ４）。また、キャッシュデータＣｄが無い場合（ステップＳｔ３のＮｏ）、コンテンツ配信部１００は、通信処理部１４を介し、要求メッセージＲｑを他のコンテンツルータＣＲ＃１〜＃６に転送する（ステップＳｔ１０）。次に、コンテンツ配信部１００は、サーバ装置９または他のコンテンツルータＣＲ＃１〜＃６から配信されるデジタルコンテンツを取得し、キャッシュメモリ１３にキャッシュする（ステップＳｔ１１）。これにより、キャッシュメモリ１３にキャッシュデータＣｄが格納される。なお、ステップＳｔ１０及びステップＳｔ１１の各処理は、何れが先に実行されてもよい。
【００５４】
ステップＳｔ４またはステップＳｔ１０，Ｓｔ１１の処理の後、カウンタ部１０２は、カウンタ値Ｎｉを基準値ＴＴＬｔに戻す（ステップＳｔ５）。次に、カウンタ部１０２は、カウンタ値Ｎｉから１を減算する（ステップＳｔ６）。ステップＳｔ６の処理は、カウンタ値Ｎｉの単位時間ごとに減算量が一定となるように、例えばＣＰＵ１０に入力されるタイミング信号（クロック信号）に基づいて、一定の時間間隔で行われる。
【００５５】
次に、キャッシュ管理部１０１は、カウンタ部１０２からカウンタ値Ｎｉを取得し、カウンタ値Ｎｉが０（所定値Ｋ）であるか否かを検出する（ステップＳｔ７）。カウンタ値Ｎｉが０ではない場合（ステップＳｔ７のＮｏ）、後述するステップＳｔ９の処理が実行される。
【００５６】
カウンタ値Ｎｉが０である場合（ステップＳｔ７のＹｅｓ）、キャッシュ管理部１０１は、キャッシュデータＣｄを廃棄する（ステップＳｔ８）。その後、ＣＰＵ１０は、処理を継続する場合（ステップＳｔ９のＹｅｓ）、ステップＳｔ２の処理を再度実行し、データ配信装置のシャットダウンなどの要因により処理を継続しない場合（ステップＳｔ９のＮｏ）、処理を終了する。このようにして、データ配信装置の処理は行われる。
【００５７】
次に、第１実施例の効果を述べる。図７には、効果を検証するための数値シミュレーションの条件が示されている。コンテンツルータ（データ配信装置）ＣＲは、上述した処理を行うことにより、サーバ装置９から取得したデジタルコンテンツをキャッシュし、または、当該キャッシュデータＣｄを廃棄する。
【００５８】
数値シミュレーションでは、要求メッセージＲｑのリクエストレートλｃとして、０．０１〜１０００の範囲から抽出した１１種類の値を持つコンテンツに対し、キャッシュヒット率を算出する。また、数値シミュレーションは、３種類の基準値ＴＴＬｔ（＝０．０１，０．１，１）に対して行われる。
【００５９】
図８は、第１実施例における、リクエストレートλｃに対するキャッシュヒット率の特性を示すグラフである。図８（ａ）〜図８（ｃ）は、基準値ＴＴＬｔ＝１，０．１，０．０１（閾値λｔ＝１，１０，１００（個／秒））の場合をそれぞれ示す。図８（ａ）〜図８（ｃ）において、横軸は、リクエストレートλｃの対数値（ｌｏｇ）を示し、縦軸は、キャッシュヒット率を示す。
【００６０】
図８（ａ）〜図８（ｃ）において、四角形状の点は、数値シミュレーションにより算出されたキャッシュヒット率を示す。また、実線は、算出されたキャッシュヒット率をサンプル値としたときに、下記の近似式（１）に基づいて得られるキャッシュヒット率の特性（統計的推定値）を示し、点線は、図２に示されたキャッシュヒット率の理想的特性を示す。なお、近似式（１）において、「ｅ」は、自然対数の底（ネイピア数）を表す。
【００６１】
キャッシュヒット率＝１−ｅ−λｃ・ＴＴＬｔ  ・・・（１）
【００６２】
図８に示されるように、本実施例によると、リクエストレートλｃに対するキャッシュヒット率が、閾値λｔを挟んで１と０に分かれた理想的特性（図２参照）に近い特性が得られる。したがって、本実施例によると、リクエストレートλｃを測定することなく、キャッシュデータＣｄを簡単に管理できる。
【００６３】
しかし、例えば図８（ａ）に示された領域Ａ１，Ａ２のように、数値シミュレーションにより得られた特性と理想的特性の間には、差分が存在する。以下に述べる実施例では、この差分を低減するために、さらに改善された手法によりカウンタ値Ｎｉを制御する。
【００６４】
（第２実施例）
図９は、第２実施例におけるカウンタ値Ｎｉの変化の一例を示すグラフである。図９において、横軸は時刻を示し、縦軸はカウンタ値Ｎｉを示す。ここで、時刻ｔ１〜ｔ３，ｔ５は、要求メッセージＲｑの受信時刻を示し、時刻ｔ４は、カウンタ値Ｎｉが、所定値Ｋ＝０になった時刻を示す。また、図９には、図５と同様に、時刻に応じたキャッシュデータＣｄの有無と、キャッシュデータＣｄのヒットの有無とが示されている。
【００６５】
本実施例において、カウンタ部１０２は、カウンタ値Ｎｉの範囲を所定値（下限値）Ｋ＝０から所定の上限値Ｍｃまでとする。カウンタ部１０２は、要求メッセージＲｑが受信されたとき、時間の経過とともに減少するカウンタ値Ｎｉに、カウンタ値Ｎｉの単位時間ｔ（例えば１（秒））内の減少量である減少レートα及び基準値ＴＴＬｔに応じた値を加算する。
【００６６】
より具体的には、カウンタ部１０２は、カウンタ値Ｎｉを、単位時間ｔ当たりαだけ減算し、要求メッセージＲｑが受信されたとき、カウンタ値Ｎｉに、減少レートαと基準値ＴＴＬｔの積（α・ＴＴＬｔ）を加算する。
【００６７】
このため、カウンタ値Ｎｉは、要求メッセージＲｑの受信時刻ｔ１〜ｔ３，ｔ５において加算値α・ＴＴＬｔだけ増加し、他の時間帯では、減少し続ける。したがって、本実施例では、減少レートαを調整することにより、カウンタ値Ｎｉが所定値Ｋ＝０に近づく速度と、カウンタ値Ｎｉが所定値０から遠ざかる速度（上限値Ｍｃに近づく速度）とを任意に設定できる。
【００６８】
カウンタ値Ｎｉは、時刻ｔ４までは、時刻ｔ１〜ｔ３における要求メッセージＲｑの受信により、所定値０から加算値α・ＴＴＬｔだけ増加するため、０（所定値Ｋ）に達しない。このため、時刻ｔ１〜ｔ３において、キャッシュメモリ１３にはキャッシュデータＣｄが格納されており、キャッシュデータＣｄのヒットが発生する。なお、時刻ｔ３において、カウンタ値Ｎｉは、加算値α・ＴＴＬｔが加算されると上限値Ｍｃを超えるが、上限値Ｍｃの制限により上限値Ｍｃに留まる。
【００６９】
カウンタ値Ｎｉは、時刻ｔ４において０（所定値Ｋ）に達し、新たに要求メッセージＲｑが受信される時刻ｔ５まで、０に維持される。キャッシュ管理部１０１は、カウンタ値Ｎｉが０になったことを検出すると、キャッシュデータＣｄを廃棄する。このため、時刻ｔ４から時刻ｔ５の間、キャッシュメモリ１３にはキャッシュデータＣｄが格納されていない。
【００７０】
したがって、要求メッセージＲｑの受信時刻ｔ５において、キャッシュデータＣｄのヒットが発生しない。このとき、キャッシュ管理部１０１は、要求メッセージＲｑを他のコンテンツルータＣＲ＃１〜＃６（データ配信装置）に転送する。
【００７１】
また、キャッシュ管理部１０１は、要求メッセージＲｑの受信時刻ｔ５において、サーバ装置９からデジタルコンテンツを取得し、キャッシュメモリ１３にキャッシュする。このため、時刻ｔ５以降、キャッシュメモリ１３にはキャッシュデータＣｄが格納されている。
【００７２】
このように、カウンタ値Ｎｉは、要求メッセージＲｑが受信されなければ、時間の経過とともに０（所定値Ｋ）に近づき、要求メッセージＲｑが受信されると、加算値α・ＴＴＬｔが加算される。キャッシュデータＣｄは、カウンタ値Ｎｉが０になると廃棄される。したがって、リクエストレートλｃ、つまりアクセス頻度が高いデジタルコンテンツほど、キャッシュされる確率（ヒットの確率）が高い。
【００７３】
図１０は、第２実施例に係るデータ配信装置の処理（データ配信方法）を示すフローチャートである。図１０は、１つのデジタルコンテンツのキャッシュデータＣｄの管理に関する処理を示すものであり、この処理は、各デジタルコンテンツのキャッシュデータＣｄについて同様に実行される。
【００７４】
まず、カウンタ部１０２は、減少レートα及び上限値Ｍｃを設定する（ステップＳｔ２１）。減少レートα及び上限値Ｍｃは、例えば、ネットワーク管理装置からデータ配信装置（コンテンツルータ）に与えられる。
【００７５】
次に、カウンタ部１０２は、カウンタ値Ｎｉを基準値ＴＴＬｔに設定する（ステップＳｔ２２）。次に、コンテンツ配信部１００は、通信処理部１４が要求メッセージＲｑを受信したか否かを判定する（ステップＳｔ２３）。
【００７６】
要求メッセージＲｑが受信された場合（ステップＳｔ２３のＹｅｓ）、コンテンツ配信部１００は、要求メッセージＲｑに応じたデジタルコンテンツのキャッシュデータＣｄの有無を判定する（ステップＳｔ２４）。また、要求メッセージＲｑが受信されていない場合（ステップＳｔ２３のＮｏ）、後述するステップＳｔ２７の処理が行われる。
【００７７】
キャッシュデータＣｄが有る場合（ステップＳｔ２４のＹｅｓ）、コンテンツ配信部１００は、通信処理部１４を介し、キャッシュデータＣｄを端末装置８０〜８２に配信する（ステップＳｔ２５）。また、キャッシュデータＣｄが無い場合（ステップＳｔ２４のＮｏ）、コンテンツ配信部１００は、通信処理部１４を介し、要求メッセージＲｑを他のコンテンツルータＣＲ＃１〜＃６に転送する（ステップＳｔ３１）。次に、コンテンツ配信部１００は、サーバ装置９または他のコンテンツルータＣＲ＃１〜＃６から配信されるデジタルコンテンツを取得し、キャッシュメモリ１３にキャッシュする（ステップＳｔ３２）。これにより、キャッシュメモリ１３にキャッシュデータＣｄが格納される。なお、ステップＳｔ３１及びステップＳｔ３２の各処理は、何れが先に実行されてもよい。
【００７８】
ステップＳｔ２５またはステップＳｔ３１，Ｓｔ３２の処理の後、カウンタ部１０２は、カウンタ値Ｎｉに加算値α・ＴＴＬｔを加算する（ステップＳｔ２６）。次に、カウンタ部１０２は、カウンタ値Ｎｉからαを減算する（ステップＳｔ２７）。ステップＳｔ２７の処理は、カウンタ値Ｎｉの単位時間ｔごとに減算量（減少レート）が一定となるように、例えばＣＰＵ１０に入力されるタイミング信号（クロック信号）に基づいて、一定の時間間隔で行われる。
【００７９】
次に、キャッシュ管理部１０１は、カウンタ部１０２からカウンタ値Ｎｉを取得し、カウンタ値Ｎｉが０（所定値Ｋ）であるか否かを検出する（ステップＳｔ２８）。カウンタ値Ｎｉが０ではない場合（ステップＳｔ２８のＮｏ）、後述するステップＳｔ３０の処理が実行される。
【００８０】
カウンタ値Ｎｉが０である場合（ステップＳｔ２８のＹｅｓ）、キャッシュ管理部１０１は、キャッシュデータＣｄを廃棄する（ステップＳｔ２９）。その後、ＣＰＵ１０は、処理を継続する場合（ステップＳｔ３０のＹｅｓ）、ステップＳｔ２３の処理を再度実行し、データ配信装置のシャットダウンなどの要因により処理を継続しない場合（ステップＳｔ３０のＮｏ）、処理を終了する。このようにして、データ配信装置の処理は行われる。
【００８１】
次に、第２実施例の効果を述べる。なお、効果を検証するための数値シミュレーションの条件は、図７に示されるとおりである。
【００８２】
図１１は、第２実施例における、リクエストレートλｃに対するキャッシュヒット率の特性を示すグラフである。図１１（ａ）〜図１１（ｃ）は、基準値ＴＴＬｔ＝１，０．１，０．０１（閾値λｔ＝１，１０，１００（個／秒））の場合をそれぞれ示す。図１１（ａ）〜図１１（ｃ）において、横軸は、リクエストレートλｃの対数値（ｌｏｇ）を示し、縦軸は、キャッシュヒット率を示す。
【００８３】
図１１（ａ）〜図１１（ｃ）において、四角形状の点は、数値シミュレーションにより算出されたキャッシュヒット率を示す。また、実線は、算出されたキャッシュヒット率をサンプル値としたときに、上記の近似式（１）に基づいて得られるキャッシュヒット率の特性（統計的推定値）を示し、点線は、図２に示されたキャッシュヒット率の理想的特性を示す。
【００８４】
図１１に示されるように、本実施例によると、リクエストレートλｃに対するキャッシュヒット率が、閾値λｔを挟んで１と０に分かれた理想的特性（図２参照）に近い特性が得られる。また、本実施例では、第１実施例の場合の特性（図８）と比較すると理解されるように、リクエストレートλｃが閾値λｔである場合のキャッシュヒット率が１．０に近い値となる特性が得られる。
【００８５】
したがって、本実施例によると、例えば、図８（ａ）に示された差分領域Ａ１が低減される。このため、リクエストレートλｃが閾値λｔを上回る場合、キャッシュデータＣｄが保持されている確率が、第１実施例より高められる。
【００８６】
しかし、リクエストレートλｃが閾値λｔを下回る場合の特性は、図８（ａ）に示された差分領域Ａ２と同等の差分を有する。このため、リクエストレートλｃが閾値λｔより低いデジタルコンテンツでも、キャッシュされる確率が少なからず存在する。これは、カウンタ値Ｎｉは、下限が所定値Ｋ＝０により制限されているため、リクエストレートλｃが低いデジタルコンテンツでも必ずカウンタが０以上になる期間が存在することに起因する。
【００８７】
そこで、以下の第３実施例では、カウンタ値Ｎｉが所定値Ｋより低い値を取り得るように、カウンタ値Ｎｉの範囲が拡張されている。
【００８８】
（第３実施例）
図１２は、第３実施例におけるカウンタ値Ｎｉの変化の一例を示すグラフである。図１２において、横軸は時刻を示し、縦軸はカウンタ値Ｎｉを示す。ここで、時刻ｔ１，ｔ３〜ｔ５は、要求メッセージＲｑの受信時刻を示し、時刻ｔ２は、カウンタ値Ｎｉが、所定値Ｋになった時刻を示す。また、図１２には、図５と同様に、時刻に応じたキャッシュデータＣｄの有無と、キャッシュデータＣｄのヒットの有無とが示されている。
【００８９】
本実施例において、カウンタ部１０２は、カウンタ値Ｎｉの範囲を、所定値Ｋより小さい所定の下限値−Ｎｂ（Ｎｂは正の整数）から所定の上限値Ｍｃまでとする。これにより、カウンタ値Ｎｉの範囲が、負の値の領域Ｎｅｘまで拡張される。もっとも、カウンタ値Ｎｉは、０及び正の整数として処理するほうが容易であるため、図１２の例では、カウンタ値Ｎｉの範囲を、正方向にＮｂだけオフセットさせて処理する。このため、以下の説明では、下限値を０とし、所定値ＫをＮｂとし、上限値をＭｃ＋Ｎｂとする。
【００９０】
カウンタ部１０２は、要求メッセージＲｑが受信されたとき、時間の経過とともに減少するカウンタ値Ｎｉに、減少レートα及び基準値ＴＴＬｔに応じた値を加算する。より具体的には、カウンタ部１０２は、第２実施例と同様に、カウンタ値Ｎｉを、単位時間ｔ当たりαだけ減算し、要求メッセージＲｑが受信されたとき、カウンタ値Ｎｉに、加算値α・ＴＴＬｔを加算する。
【００９１】
このため、カウンタ値Ｎｉは、要求メッセージＲｑの受信時刻ｔ１，ｔ３〜ｔ５において加算値α・ＴＴＬｔだけ増加し、他の時間帯では、減少し続ける。カウンタ値Ｎｉは、時刻ｔ２において所定値Ｋ＝Ｎｂに達し、時刻ｔ２及び時刻ｔ３の間は、所定値Ｋ以下（つまり、拡張された範囲）となる。
【００９２】
キャッシュ管理部１０１は、カウンタ値Ｎｉが０になったことを検出すると、キャッシュデータＣｄを廃棄する。このため、時刻ｔ２から時刻ｔ３の間、キャッシュメモリ１３にはキャッシュデータＣｄが格納されていない。
【００９３】
したがって、要求メッセージＲｑの受信時刻ｔ３において、キャッシュデータＣｄのヒットが発生しない。このとき、キャッシュ管理部１０１は、要求メッセージＲｑを他のコンテンツルータＣＲ＃１〜＃６（データ配信装置）に転送する。
【００９４】
また、キャッシュ管理部１０１は、要求メッセージＲｑの受信時刻ｔ３において、サーバ装置９からデジタルコンテンツを取得し、キャッシュメモリ１３にキャッシュする。このため、時刻ｔ３以降、キャッシュメモリ１３にはキャッシュデータＣｄが格納されており、他の受信時刻ｔ１，ｔ４，ｔ５では、キャッシュデータＣｄのヒットが発生する。
【００９５】
このように、カウンタ値Ｎｉは、要求メッセージＲｑが受信されなければ、時間の経過とともに０（所定値Ｋ）に近づき、０になる前に要求メッセージＲｑが受信されなければ、０を下回る。また、カウンタ値Ｎｉは、要求メッセージＲｑが受信されると、加算値α・ＴＴＬｔが加算される。キャッシュデータＣｄは、カウンタ値Ｎｉが０になると廃棄される。したがって、リクエストレートλｃ、つまりアクセス頻度が高いデジタルコンテンツほど、キャッシュされる確率（ヒットの確率）が高い。
【００９６】
図１３は、第３実施例に係るデータ配信装置の処理（データ配信方法）を示すフローチャートである。図１３は、１つのデジタルコンテンツのキャッシュデータＣｄの管理に関する処理を示すものであり、この処理は、各デジタルコンテンツのキャッシュデータＣｄについて同様に実行される。
【００９７】
まず、カウンタ部１０２は、減少レートα、下限値−Ｎｂ、及び上限値Ｍｃ＋Ｎｂを設定する（ステップＳｔ４１）。減少レートα、下限値−Ｎｂ、及び上限値Ｍｃ＋Ｎｂは、例えば、ネットワーク管理装置からデータ配信装置（コンテンツルータ）に与えられる。
【００９８】
次に、カウンタ部１０２は、カウンタ値Ｎｉを基準値ＴＴＬｔに設定する（ステップＳｔ４２）。次に、コンテンツ配信部１００は、通信処理部１４が要求メッセージＲｑを受信したか否かを判定する（ステップＳｔ４３）。
【００９９】
要求メッセージＲｑが受信された場合（ステップＳｔ４３のＹｅｓ）、コンテンツ配信部１００は、要求メッセージＲｑに応じたデジタルコンテンツのキャッシュデータＣｄの有無を判定する（ステップＳｔ４４）。また、要求メッセージＲｑが受信されていない場合（ステップＳｔ４３のＮｏ）、後述するステップＳｔ４７の処理が行われる。
【０１００】
キャッシュデータＣｄが有る場合（ステップＳｔ４４のＹｅｓ）、コンテンツ配信部１００は、通信処理部１４を介し、キャッシュデータＣｄを端末装置８０〜８２に配信する（ステップＳｔ４５）。また、キャッシュデータＣｄが無い場合（ステップＳｔ４４のＮｏ）、コンテンツ配信部１００は、通信処理部１４を介し、要求メッセージＲｑを他のコンテンツルータＣＲ＃１〜＃６に転送する（ステップＳｔ５１）。次に、コンテンツ配信部１００は、サーバ装置９または他のコンテンツルータＣＲ＃１〜＃６から配信されるデジタルコンテンツを取得し、キャッシュメモリ１３にキャッシュする（ステップＳｔ５２）。これにより、キャッシュメモリ１３にキャッシュデータＣｄが格納される。なお、ステップＳｔ５１及びステップＳｔ５２の各処理は、何れが先に実行されてもよい。
【０１０１】
ステップＳｔ４５またはステップＳｔ５１，Ｓｔ５２の処理の後、カウンタ部１０２は、カウンタ値Ｎｉに加算値α・ＴＴＬｔを加算する（ステップＳｔ４６）。次に、カウンタ部１０２は、カウンタ値Ｎｉからαを減算する（ステップＳｔ４７）。ステップＳｔ４７の処理は、カウンタ値Ｎｉの単位時間ｔごとに減算量（減少レート）が一定となるように、例えばＣＰＵ１０に入力されるタイミング信号（クロック信号）に基づいて、一定の時間間隔で行われる。
【０１０２】
次に、キャッシュ管理部１０１は、カウンタ部１０２からカウンタ値Ｎｉを取得し、カウンタ値ＮｉがＮｂ（所定値Ｋ）以下であるか否かを検出する（ステップＳｔ４８）。カウンタ値ＮｉがＮｂより大きい場合（ステップＳｔ４８のＮｏ）、後述するステップＳｔ５０の処理が実行される。
【０１０３】
カウンタ値ＮｉがＮｂ以下である場合（ステップＳｔ４８のＹｅｓ）、キャッシュ管理部１０１は、キャッシュデータＣｄを廃棄する（ステップＳｔ４９）。その後、ＣＰＵ１０は、処理を継続する場合（ステップＳｔ５０のＹｅｓ）、ステップＳｔ４３の処理を再度実行し、データ配信装置のシャットダウンなどの要因により処理を継続しない場合（ステップＳｔ５０のＮｏ）、処理を終了する。このようにして、データ配信装置の処理は行われる。
【０１０４】
次に、第３実施例の効果を述べる。なお、効果を検証するための数値シミュレーションの条件は、図７に示されるとおりである。
【０１０５】
図１４は、第３実施例における、リクエストレートλｃに対するキャッシュヒット率の特性を示すグラフである。図１４（ａ）〜図１４（ｃ）は、基準値ＴＴＬｔ＝１，０．１，０．０１（閾値λｔ＝１，１０，１００（個／秒））の場合をそれぞれ示す。図１４（ａ）〜図１４（ｃ）において、横軸は、リクエストレートλｃの対数値（ｌｏｇ）を示し、縦軸は、キャッシュヒット率を示す。
【０１０６】
図１４（ａ）〜図１４（ｃ）において、四角形状の点は、数値シミュレーションにより算出されたキャッシュヒット率を示す。また、実線は、算出されたキャッシュヒット率をサンプル値としたときに、上記の近似式（１）に基づいて得られるキャッシュヒット率の特性（統計的推定値）を示し、点線は、図２に示されたキャッシュヒット率の理想的特性を示す。
【０１０７】
図１４に示されるように、本実施例によると、リクエストレートλｃに対するキャッシュヒット率が、閾値λｔを挟んで１と０に分かれた理想的特性（図２参照）に近い特性が得られる。また、本実施例では、第１実施例及び第２実施例の場合の特性（図８、図１１）と比較すると理解されるように、閾値λｔより低いリクエストレートλｃに対するキャッシュヒット率が０に近い値となる特性が得られる。これは、リクエストレートλｃが閾値λｔより低いデジタルコンテンツは、カウンタ値Ｎｉが所定値Ｎｂよりも常に小さくなることが考えられ、そのようなデジタルコンテンツは、すぐに廃棄されることに起因する。
【０１０８】
したがって、本実施例によると、例えば、図８（ａ）に示された差分領域Ａ２が低減される。このため、リクエストレートλｃが閾値λｔを下回る場合、キャッシュデータＣｄが保持されている確率が、第１実施例及び第２実施例より低くなる。
【０１０９】
上述した実施例では、カウンタ部１０２は、カウンタ値Ｎｉを、減少させることにより所定値に近づけ、増加させることにより所定値Ｋから遠ざけたが、カウンタ値Ｎｉを、増加させることにより所定値に近づけ、減少させることにより所定値Ｋから遠ざけてもよい。第１実施例を例に挙げると、カウンタ部１０２は、カウンタ値Ｎｉを、時間の経過とともに増加させて所定値Ｋ＝ＴＴＬｔに近づけ、要求メッセージＲｑが受信されると、０に戻す。また、第２実施例及び第３実施例の場合、カウンタ部１０２は、カウンタ値Ｎｉを、時間の経過とともに増加させて所定値Ｋ＝ＴＴＬｔに近づけ、要求メッセージＲｑが受信されると、カウンタ値から減算値α・ＴＴＬｔだけ減算する。これにより、上述した内容と同様の効果が得られる。
【０１１０】
これまで述べたように、実施例に係るデータ配信装置（コンテンツルータＣＲ＃１〜＃６）は、記憶部（キャッシュメモリ）１３と、配信部（コンテンツ配信部）１００と、カウンタ部１０２と、管理部（キャッシュ管理部）１０１とを有する。記憶部１３は、配信対象のデータのキャッシュデータＣｄを記憶する。配信部１００は、他装置（端末装置）８０〜８２から受信した要求メッセージＲｑに応じて、記憶部１３からキャッシュデータＣｄを読み出して、他装置８０〜８２に配信する。
【０１１１】
カウンタ部１０２は、データのキャッシュの可否を決める要求メッセージＲｑの受信レート（リクエストレート）λｃの閾値λｔの逆数ＴＴＬｔを基準値とする。カウンタ部１０２は、時間の経過とともに所定値Ｋに近づくカウンタ値Ｎｉを、要求メッセージＲｑが受信されたとき、基準値ＴＴＬｔに応じて所定値Ｋから遠ざけるように更新する。管理部１０１は、カウンタ値Ｎｉが所定値Ｋになったとき、キャッシュデータＣｄを廃棄する。
【０１１２】
実施例に係るデータ配信装置において、配信部１００は、要求メッセージＲｑに応じて、キャッシュデータＣｄを他装置８０〜８２に配信するので、他装置８０〜８２は、配信対象のデータの供給源であるサーバ装置９にアクセスすることなく、データを受信できる。
【０１１３】
また、カウンタ値Ｎｉは、時間の経過とともに所定値Ｋに近づき、要求メッセージＲｑの受信により、基準値ＴＴＬｔに応じて所定値Ｋから遠ざかり、カウンタ値Ｎｉが所定値Ｋになったとき、キャッシュデータＣｄは廃棄される。ここで、基準値ＴＴＬｔは、データのキャッシュの可否を決める要求メッセージＲｑの受信レートの閾値λｔの逆数である。
【０１１４】
したがって、図８に示されるように、要求メッセージＲｑの受信レート（リクエストレートλｃ）に対するキャッシュヒット率が、閾値を挟んで１と０に分かれた理想的特性に近い特性が、受信レートを測定することなく得られる。よって、実施例に係るデータ配信装置によるとキャッシュデータＣｄを簡単に管理できる。
【０１１５】
また、実施例に係るデータ配信方法は、以下の工程を含む。
工程（１）：配信対象のデータのキャッシュデータＣｄを記憶部１３に記憶する。
工程（２）：他装置８０〜８２から受信した要求メッセージＲｑに応じて、記憶部１３からキャッシュデータＣｄを読み出して、他装置８０〜８２に配信する。
工程（３）：データのキャッシュの可否を決める要求メッセージＲｑの受信レートの閾値λｔの逆数を基準値ＴＴＬｔとし、時間の経過とともに所定値Ｋに近づくカウンタ値Ｎｉを、要求メッセージＲｑを受信したとき、基準値ＴＴＬｔに応じて所定値Ｋから遠ざけるように更新する。
工程（４）：カウンタ値Ｎｉが所定値Ｋになったとき、キャッシュデータＣｄを廃棄する。
【０１１６】
実施例に係るデータ配信方法は、上記のデータ配信装置と同様の構成を有するので、上述した内容と同様の作用効果を奏する。
【０１１７】
以上、好ましい実施例を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば、種々の変形態様を採り得ることは自明である。
【０１１８】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  配信対象のデータのキャッシュデータを記憶する記憶部と、
他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信する配信部と、
前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージが受信されたとき、前記基準値に応じて前記所定値から遠ざけるように更新するカウンタ部と、
前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄する管理部とを有することを特徴とするデータ配信装置。
（付記２）  前記カウンタ部は、前記カウンタ値の範囲を前記所定値から前記基準値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値を、前記基準値に戻すことを特徴とする付記１に記載のデータ配信装置。
（付記３）  前記カウンタ部は、前記カウンタ値の範囲を前記所定値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算することを特徴とする付記１に記載のデータ配信装置。
（付記４）  前記カウンタ部は、前記カウンタ値の範囲を、前記所定値より小さい所定の下限値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算し、
前記管理部は、前記カウンタ値が前記所定値以下になったとき、前記キャッシュデータを廃棄することを特徴とする付記１に記載のデータ配信装置。
（付記５）  前記管理部は、前記キャッシュデータが廃棄された後で前記要求メッセージが受信されたとき、ネットワークから前記データを取得し、前記記憶部にキャッシュすることを特徴とする付記１乃至４の何れかに記載のデータ配信装置。
（付記６）  配信対象のデータのキャッシュデータを記憶部に記憶し、
他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信し、
前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージを受信したとき、前記基準値に応じて前記所定値から遠ざけるように更新し、
前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄することを特徴とするデータ配信方法。
（付記７）  前記カウンタ値の範囲を前記所定値から前記基準値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値を、前記基準値に戻すことを特徴とする付記６に記載のデータ配信方法。
（付記８）  前記カウンタ値の範囲を前記所定値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算することを特徴とする付記６に記載のデータ配信方法。
（付記９）  前記カウンタ値の範囲を、前記所定値より小さい所定の下限値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算し、
前記カウンタ値が前記所定値以下になったとき、前記キャッシュデータを廃棄することを特徴とする付記６に記載のデータ配信方法。
（付記１０）  前記キャッシュデータが廃棄された後で前記要求メッセージが受信されたとき、ネットワークから前記データを取得し、前記記憶部にキャッシュすることを特徴とする付記６乃至９の何れかに記載のデータ配信方法。
【符号の説明】
【０１１９】
１３                          キャッシュメモリ（記憶部）
１００                        コンテンツ配信部（配信部）
１０１                        キャッシュ管理部（管理部）
１０２                        カウンタ部
Ｎｉ                          カウンタ値
Ｃｄ                          キャッシュデータ
λｔ                          閾値
ＴＴＬｔ                      基準値
Ｍｃ                          上限値
Ｋ                            所定値
【図１】
2015106188.tif 000003
【図２】
2015106188.tif 000004
【図３】
2015106188.tif 000005
【図４】
2015106188.tif 000006
【図５】
2015106188.tif 000007
【図６】
2015106188.tif 000008
【図７】
2015106188.tif 000009
【図８】
2015106188.tif 000010
【図９】
2015106188.tif 000011
【図１０】
2015106188.tif 000012
【図１１】
2015106188.tif 000013
【図１２】
2015106188.tif 000014
【図１３】
2015106188.tif 000015
【図１４】
2015106188.tif 000016