JP6146279B2 - データ配信装置及びデータ配信方法 - Google Patents

データ配信装置及びデータ配信方法 Download PDF

Info

Publication number
JP6146279B2
JP6146279B2 JP2013246599A JP2013246599A JP6146279B2 JP 6146279 B2 JP6146279 B2 JP 6146279B2 JP 2013246599 A JP2013246599 A JP 2013246599A JP 2013246599 A JP2013246599 A JP 2013246599A JP 6146279 B2 JP6146279 B2 JP 6146279B2
Authority
JP
Japan
Prior art keywords
value
data
counter
request message
cache
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.)
Expired - Fee Related
Application number
JP2013246599A
Other languages
English (en)
Other versions
JP2015106188A (ja
Inventor
悟史 今井
悟史 今井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013246599A priority Critical patent/JP6146279B2/ja
Priority to US14/548,451 priority patent/US9678881B2/en
Publication of JP2015106188A publication Critical patent/JP2015106188A/ja
Application granted granted Critical
Publication of JP6146279B2 publication Critical patent/JP6146279B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/464Multimedia object, e.g. image, video
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本件は、データ配信装置及びデータ配信方法に関する。
インターネットなどの公衆通信ネットワークの進歩に伴い、コンピュータ及びスマートフォンなどの端末装置と、デジタルコンテンツなどのデータを端末装置に配信するサーバ装置の間のトラフィック量が増加している。デジタルコンテンツとしては、例えば、ウェブサイト、映像データ、音楽データ、及びソフトウェアなどが挙げられる。
ルータやサーバ装置などのネットワーク機器の電力消費量は、トラフィック量の増加に伴って増加するので、ネットワーク内を流れるトラフィック量の低減が望まれる。これに対し、デジタルコンテンツのキャッシュデータ(複製)を複数のルータ内に保持しておき、端末装置に近いノードのルータからキャッシュデータを配信することで、トラフィック量を低減する技術が知られている(特許文献1及び非特許文献1参照)。一方、今後、キャッシュデータを保持することによる、ストレージの利用の増大が考えられるため、トラフィックの削減と、ストレージの保持量の関係を考慮したキャッシュデータの配置の実現が重要になる。
このような技術は、「CCN(Content Centric Networking)」などと呼ばれ、CCNで用いられるキャッシュノードは、「コンテンツルータ(CR: Content Router)」などと呼ばれる。例えば、CCNにおいて、デジタルコンテンツをメモリにキャッシュすることにより生ずる消費電力、メモリのコスト、デジタルコンテンツの配信により生ずる消費電力を考慮し、消費電力の低減のために、ネットワーク内のキャッシュデータの最適な配置を導出するなどの運用手法などが検討されている。このとき、ネットワークにおける全コンテンツリスト及びコンテンツに対するリクエスト分布などの情報も用いられる。
また、非特許文献2には、CCN技術において、ネットワーク全体のコンテンツ情報の管理を容易にするため、各ノードにおいて自律分散処理を行うことにより、効率的なキャッシュデータの配置を制御する技術が開示されている。この自律分散処理では、デジタルコンテンツをキャッシュによる消費電力、及びデジタルコンテンツの配信による消費電力を考慮し、消費電力の低減のために、キャッシュの可否を判定するためのリクエストレートの最適な閾値が導出される。
このように、消費電力量だけでなく、コンテンツのキャッシュに伴うストレージコストと、コンテンツの配信に伴うトラフィックの伝送コストの関係を考慮し、効率的なキャッシュ制御を実現する上で、リクエストレートに対する閾値を用いたキャッシュ判定の仕組みが有用になる。
リクエストレートは、単位時間(例えば1(秒))内のデジタルコンテンツに対するリクエスト数を表す。各ノードのキャッシュデータは、計測されたリクエストレートが閾値を上回る場合に保持され、リクエストレートが閾値を下回る場合に廃棄される。このようにして、デジタルコンテンツのキャッシュデータは管理される。
特開2013−183241号公報
Satoshi Imai、他2名、"Energy Efficient Content Locations for In-Network Caching"、In Proc. of Asia-Pacific Conference on Communications, Jeju, Korea, 2012 Satoshi Imai、他2名、"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
しかしながら、各ノードにおいて、リクエストレートの計測処理は、デジタルコンテンツごとにリアルタイムに行われるため、コンテンツが多いほど、当該処理の負荷が増加するという問題が生ずる。したがって、キャッシュデータの簡易な管理手法が望まれる。なお、このような問題は、非特許文献2に開示された手法に限定されず、閾値に基づいてキャッシュの可否を判定する他の手法にも生じ得る。
そこで本件は上記の課題に鑑みてなされたものであり、キャッシュデータを簡単に管理できるデータ配信装置及びデータ配信方法を提供することを目的とする。
本明細書に記載のデータ配信装置は、配信対象のデータのキャッシュデータを記憶する記憶部と、他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信する配信部と、前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージが受信されたとき、前記基準値に応じて前記所定値から遠ざけるように更新するカウンタ部と、前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄する管理部とを有する。
本明細書に記載のデータ配信方法は、配信対象のデータのキャッシュデータを記憶部に記憶し、他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信し、前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージを受信したとき、前記基準値に応じて前記所定値から遠ざけるように更新し、前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄する方法である。
本明細書に記載のデータ配信装置及びデータ配信方法は、キャッシュデータを簡単に管理できるという効果を奏する。
コンテンツ配信システムの一例を示す構成図である。 リクエストレートに対するキャッシュヒット率の理想的特性を示すグラフである。 実施例に係るデータ配信装置を示す構成図である。 データ配信装置の機能構成を示す構成図である。 第1実施例におけるカウンタ値の変化の一例を示すグラフである。 第1実施例に係るデータ配信装置の処理を示すフローチャートである。 効果を検証するための数値シミュレーションの条件を示す図である。 第1実施例における、リクエストレートに対するキャッシュヒット率の特性を示すグラフである。 第2実施例におけるカウンタ値の変化の一例を示すグラフである。 第2実施例に係るデータ配信装置の処理を示すフローチャートである。 第2実施例における、リクエストレートに対するキャッシュヒット率の特性を示すグラフである。 第3実施例におけるカウンタ値の変化の一例を示すグラフである。 第3実施例に係るデータ配信装置の処理を示すフローチャートである。 第3実施例における、リクエストレートに対するキャッシュヒット率の特性を示すグラフである。
図1は、コンテンツ配信システムの一例を示す構成図である。本実施例では、配信対象のデータとして、ウェブサイト、映像データ、音楽データ、及びソフトウェアなどのデジタルコンテンツを例に挙げるが、これに限定されず、配信対象は、他種のデータであってもよい。
コンテンツ配信システムは、複数の端末装置80〜82と、サーバ装置9と、複数のコンテンツルータCR#1〜#6とを有する。サーバ装置9は、デジタルコンテンツを保持し、複数のコンテンツルータCR#1〜#6に供給する。
コンテンツルータCR#1〜#6は、パケットの経路制御に加えて、サーバ装置9からデジタルコンテンツを取得してキャッシュする機能を備えたルータである。コンテンツルータCR#1〜#6は、複数種類のデジタルコンテンツのキャッシュデータを保持することができる。なお、コンテンツルータCR#1〜#6が設けられるネットワークとしては、アクセス系ネットワーク、メトロ系ネットワーク、及びコア系ネットワークなどが挙げられるが、限定はない。
コンテンツルータCR#1〜#6は、ツリー構造を形成するように相互に接続されている。本例において、コンテンツルータCR#1は、ツリー構造の頂点に位置し、サーバ装置9、及び下層のコンテンツルータCR#2,CR#5と接続されている。コンテンツルータCR#2は、最下層のコンテンツルータCR#3,CR#4と接続され、コンテンツルータCR#5は、最下層のコンテンツルータCR#6に接続されている。
端末装置80〜82は、コンピュータ及びスマートフォンなどの通信機器であり、サーバ装置9に、デジタルコンテンツの配信を要求する要求メッセージRqを送信する。要求メッセージRqは、要求元の端末装置80〜82を示す識別情報、及び要求対象のデジタルコンテンツの種類を示す種別情報などを含む。
コンテンツルータCR#1〜#6は、要求メッセージを受信したとき、当該デジタルコンテンツのキャッシュデータCdを保持している場合、キャッシュデータCdを端末装置80〜82に配信する。一方、コンテンツルータCR#1〜#6は、当該デジタルコンテンツのキャッシュデータCdを保持していない場合、上層のコンテンツルータCR#1〜#6に、要求メッセージRqを転送する。
これにより、端末装置80〜82は、コンテンツルータCR#1〜#6のうち、最も近いコンテンツルータ、つまり到達するまでのホップ数の最も少ないコンテンツルータから、キャッシュデータCdを受信することができる。例えば、端末装置80は、コンテンツルータCR#3からキャッシュデータCdを受信でき、コンテンツルータCR#3がキャッシュデータCdを保持していない場合、コンテンツルータCR#2からキャッシュデータCdを受信できる。したがって、ネットワーク内を流れるトラフィック量が低減されるので、ネットワーク機器の電力消費量も低減される。
コンテンツルータCR#1〜#6は、自律分散処理により、デジタルコンテンツのキャッシュの可否を決めるリクエストレートの閾値λtを、個別に導出する。閾値λtは、例えば、デジタルコンテンツをキャッシュによる消費電力、及びデジタルコンテンツの配信による消費電力を考慮し、消費電力を最小とするための最適な値として導出される。ここで、リクエストレートは、単位時間(例えば1(秒))内のデジタルコンテンツに対する要求メッセージRqの数を表す。言い換えれば、リクエストレートは、コンテンツルータCR#1〜#6が単位時間内に受信する要求メッセージRqの数、つまり受信レートを表す。
図2は、リクエストレートに対するキャッシュヒット率の理想的特性を示すグラフである。図2において、横軸は、一例として、デジタルコンテンツ「c」のリクエストレートλc(個/秒)を示し、縦軸は、デジタルコンテンツ「c」のキャッシュデータのキャッシュヒット率を示す。キャッシュヒット率は、要求メッセージを受信したときに、当該デジタルコンテンツのキャッシュデータCdが保持されている確率であり、例えば、キャッシュヒット率が0.5である場合、2回に1回の確率でキャッシュデータCdが保持されている。
コンテンツルータCR#1〜#6は、理想的特性として、リクエストレートλcが閾値λtを上回る場合、キャッシュデータCdを保持し、リクエストレートλcが閾値λtを下回る場合、キャッシュデータCdを保持しない。つまり、キャッシュヒット率は、閾値λtを挟んで1と0に分かれる。このため、端末装置80〜82からのアクセス頻度が高い(人気がある)デジタルコンテンツほど、キャッシュされる確率が高くなる。
このような理想的特性は、各コンテンツルータCR#1〜#6において、デジタルコンテンツに対するリクエストレートを計測することにより実現できる。しかし、この場合、リクエストレートの計測処理は、デジタルコンテンツごとにリアルタイムに行われるため、デジタルコンテンツ数に応じて、当該処理の負荷が増加してしまう。
そこで、実施例に係るデータ配信装置は、以下に述べるように、リクエストレートを計測することなく、カウンタ値を用いた低負荷な処理により、上記の理想的特性を実現する。なお、実施例に係るデータ配信装置としては、コンテンツルータCR#1〜#6を挙げるが、これに限定されることはなく、他のネットワーク機器であってもよい。
図3は、実施例に係るデータ配信装置を示す構成図である。データ配信装置は、CPU10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、キャッシュメモリ(記憶部)13、通信処理部14などを有する。
CPU10は、演算処理手段であり、プログラムに従って、パケットの経路制御、及び、後述するデータ配信方法を実行する。CPU10は、バス18を介し、各部11〜13と通信できるように接続されている。なお、データ配信装置は、ソフトウェアにより動作するものに限定されず、CPU10に代えて、特定用途向け集積回路などのハードウェアが用いられてもよい。
ROM11は、CPU10を動作させるプログラムなどを記憶する記憶手段として用いられる。プログラムは、例えばネットワークを介して更新される。RAM12は、CPU10のワーキングメモリとして用いられる。キャッシュメモリ13は、デジタルコンテンツのキャッシュに使用され、1以上のキャッシュデータCdを記憶する。なお、キャッシュデータCdの記憶手段は、キャッシュメモリ13に限定されず、例えば、ハードディスクドライブのような他の記憶手段が用いられてもよい。
通信処理部14は、例えばLAN(Local Area Network)ポートであり、ネットワークと接続されている。通信処理部14は、パケットの送信処理及び受信処理を行う。通信処理部14は、例えば、端末装置80〜82が送信した要求メッセージRqの受信処理、端末装置80〜82へのキャッシュデータCdの送信処理、要求メッセージRqの他のコンテンツルータCR#1〜#6への転送処理などを行う。
CPU10は、プログラムを実行すると、複数の機能が形成される。図4は、データ配信装置の機能構成を示す構成図である。図4には、CPU10に形成される機能のうち、コンテンツの配信及びキャッシュに関する機能、通信処理部14、及びキャッシュメモリ13に格納された複数のキャッシュデータ(#1、#2、・・・)Cdが示されている。
CPU10は、コンテンツ配信部(配信部)100と、キャッシュ管理部(管理部)101と、カウンタ部102とを有する。キャッシュ管理部101は、通信処理部14を介し、サーバ装置9または他のコンテンツルータCR#1〜#6から配信されるデジタルコンテンツを受信し、キャッシュメモリ13にキャッシュする。これにより、キャッシュメモリ13は、デジタルコンテンツごとに対応するキャッシュデータ(#1、#2、・・・)Cdを記憶している。
コンテンツ配信部100は、端末装置80〜82から通信処理部14を介して受信した要求メッセージRqに応じて、キャッシュメモリ13から、要求メッセージRqに応じたデジタルコンテンツのキャッシュデータ(#1、#2、・・・)Cdを読み出す。そして、コンテンツ配信部100は、読み出したキャッシュデータ(#1、#2、・・・)Cdを端末装置80〜82に配信する。コンテンツ配信部100は、通信処理部14を介し、キャッシュデータ(#1、#2、・・・)Cdを、一度に複数の端末装置80〜82に配信できる。
このように、コンテンツ配信部100は、要求メッセージRqに応じて、キャッシュデータCdを端末装置80〜82に配信するので、端末装置80〜82は、配信対象のデジタルコンテンツの供給源であるサーバ装置9にアクセスすることなく、デジタルコンテンツを受信できる。このため、ネットワークのトラフィック量が削減される。
また、キャッシュ管理部101は、カウンタ部102から取得したカウンタ値N1、N2、・・・(Ni)に基づいて、キャッシュデータ(#1、#2、・・・)Cdを管理する。カウンタ値N1、N2、・・・は、デジタルコンテンツごと、つまり、キャッシュデータ(#1、#2、・・・)Cdごとに設けられている。例えば、カウンタ値N1は、キャッシュデータ(#1)Cdの管理に用いられ、カウンタ値N2は、キャッシュデータ(#2)Cdの管理に用いられる。なお、以降の説明において、カウンタ値N1、N2、・・・を、代表的に「Ni」(i=1,2,・・・)と表記する。
キャッシュ管理部101は、カウンタ値Niが所定値K(例えば0)になったとき、当該キャッシュデータ(#1、#2、・・・)Cdを廃棄する。このとき、キャッシュ管理部101は、例えば、キャッシュデータ(#1、#2、・・・)Cdをキャッシュメモリ13から消去する。キャッシュ管理部101は、キャッシュデータ(#1、#2、・・・)Cdが廃棄された後で要求メッセージRqを受信したとき、ネットワーク内のサーバ装置9から、当該デジタルコンテンツを取得し、キャッシュメモリ13にキャッシュする。これにより、キャッシュデータCdが、キャッシュメモリ13に再度格納されるので、データ配信装置は、再びキャッシュデータCdを配信できる。
カウンタ部102は、カウンタ値Niを制御する。カウンタ部102は、カウンタ値Niを、時間の経過とともに減少させることで所定値Kに近づける。例えば、カウンタ値Niは、単位時間(例えば1(秒))に1だけ減少する。なお、カウンタ値Niの減少比は、1に限定されず、後述するように、所定の減少レートαにより決定されてもよい。
また、カウンタ部102は、上記のリクエストレートλcの閾値λtの逆数(1/λt)を基準値TTLtとし、要求メッセージRqが受信されたとき、カウンタ値Niを、基準値TTLtに応じて所定値Kから遠ざけるように更新する。より具体的には、カウンタ部102は、カウンタ値Niを増加させ、例えば所定値K以上の値にセットする。
例えば、カウンタ部102は、通信処理部14が要求メッセージRqを受信したとき、カウンタ値Niを基準値TTLtに戻す。この場合、カウンタ部102は、カウンタ値Niの範囲を所定値Kから基準値TTLtまでとする。なお、カウンタ部102は、これに限定されず、後述するように、通信処理部14が要求メッセージRqを受信したとき、カウンタ値Niに、基準値TTLt及び減少レートαの積(α・TTLt)を加算してもよい。
次に、データ配信装置の動作例を説明する。
(第1実施例)
図5は、第1実施例におけるカウンタ値Niの変化の一例を示すグラフである。図5において、横軸は時刻を示し、縦軸はカウンタ値Niを示す。ここで、時刻t1〜t3,t5は、要求メッセージRqの受信時刻を示し、時刻t4は、カウンタ値Niが、所定値K=0になった時刻を示す。
また、図5には、時刻に応じたキャッシュデータCdの有無(「有」及び「無」参照)、つまり、キャッシュメモリ13にキャッシュデータCdが格納されているか否かが示されている。さらに、要求メッセージRqの受信時刻t1〜t3,t4に対応して記載された「(hit)」及び「(miss)」は、キャッシュデータCdのヒットの有無をそれぞれ表す。
本実施例において、カウンタ部102は、カウンタ値Niの範囲を所定値(下限値)K=0から基準値TTLt(=1/λt)までとし、要求メッセージRqが受信されたとき、時間の経過とともに減少するカウンタ値Niを、基準値TTLtに戻す。このため、カウンタ値Niは、要求メッセージRqの受信時刻t1〜t3,t5において基準値TTLtとなり、他の時間帯では、減少し続ける。カウンタ値Niの単位時間(例えば1(秒))当たりの減少量は、例えば1であるが、これに限定されない。
カウンタ値Niは、時刻t4までは、時刻t1〜t3における要求メッセージRqの受信により基準値TTLtに戻されるため、0(所定値K)に達しない。このため、時刻t1〜t3において、キャッシュメモリ13にはキャッシュデータCdが格納されており、キャッシュデータCdのヒットが発生する。
カウンタ値Niは、時刻t4において0(所定値K)に達し、新たに要求メッセージRqが受信される時刻t5まで、0に維持される。キャッシュ管理部101は、カウンタ値Niが0になったことを検出すると、キャッシュデータCdを廃棄する。このため、時刻t4から時刻t5の間、キャッシュメモリ13にはキャッシュデータCdが格納されていない。
したがって、要求メッセージRqの受信時刻t5において、キャッシュデータCdのヒットが発生しない。つまり、時刻t5では、キャッシュデータCdのキャッシュミスが発生する。このとき、キャッシュ管理部101は、要求メッセージRqを他のコンテンツルータCR#1〜#6(データ配信装置)に転送する。
また、キャッシュ管理部101は、要求メッセージRqの受信時刻t5において、サーバ装置9からデジタルコンテンツを取得し、キャッシュメモリ13にキャッシュする。このため、時刻t5以降、キャッシュメモリ13にはキャッシュデータCdが格納されている。
このように、カウンタ値Niは、要求メッセージRqが受信されなければ、時間の経過とともに0(所定値K)に近づき、要求メッセージRqが受信されると、基準値TTLtに戻されることによって、0から遠ざかる。キャッシュデータCdは、カウンタ値Niが0になると廃棄される。したがって、リクエストレートλc、つまりアクセス頻度が高いデジタルコンテンツほど、キャッシュされる確率(キャッシュヒットの確率)が高い。
図6は、第1実施例に係るデータ配信装置の処理(データ配信方法)を示すフローチャートである。図6は、1つのデジタルコンテンツのキャッシュデータCdの管理に関する処理を示すものであり、この処理は、各デジタルコンテンツのキャッシュデータCdについて同様に実行される。
まず、カウンタ部102は、カウンタ値Niを基準値TTLtに設定する(ステップSt1)。次に、コンテンツ配信部100は、通信処理部14が要求メッセージRqを受信したか否かを判定する(ステップSt2)。
要求メッセージRqが受信された場合(ステップSt2のYes)、コンテンツ配信部100は、要求メッセージRqに応じたデジタルコンテンツのキャッシュデータCdの有無を判定する(ステップSt3)。このとき、コンテンツ配信部100は、要求メッセージRqに含まれるデジタルコンテンツの種別情報に基づき、当該デジタルコンテンツのキャッシュデータCdがキャッシュメモリ13に格納されているか否かを検出する。また、要求メッセージRqが受信されていない場合(ステップSt2のNo)、後述するステップSt6の処理が行われる。
キャッシュデータCdが有る場合(ステップSt3のYes)、コンテンツ配信部100は、通信処理部14を介し、キャッシュデータCdを端末装置80〜82に配信する(ステップSt4)。また、キャッシュデータCdが無い場合(ステップSt3のNo)、コンテンツ配信部100は、通信処理部14を介し、要求メッセージRqを他のコンテンツルータCR#1〜#6に転送する(ステップSt10)。次に、コンテンツ配信部100は、サーバ装置9または他のコンテンツルータCR#1〜#6から配信されるデジタルコンテンツを取得し、キャッシュメモリ13にキャッシュする(ステップSt11)。これにより、キャッシュメモリ13にキャッシュデータCdが格納される。なお、ステップSt10及びステップSt11の各処理は、何れが先に実行されてもよい。
ステップSt4またはステップSt10,St11の処理の後、カウンタ部102は、カウンタ値Niを基準値TTLtに戻す(ステップSt5)。次に、カウンタ部102は、カウンタ値Niから1を減算する(ステップSt6)。ステップSt6の処理は、カウンタ値Niの単位時間ごとに減算量が一定となるように、例えばCPU10に入力されるタイミング信号(クロック信号)に基づいて、一定の時間間隔で行われる。
次に、キャッシュ管理部101は、カウンタ部102からカウンタ値Niを取得し、カウンタ値Niが0(所定値K)であるか否かを検出する(ステップSt7)。カウンタ値Niが0ではない場合(ステップSt7のNo)、後述するステップSt9の処理が実行される。
カウンタ値Niが0である場合(ステップSt7のYes)、キャッシュ管理部101は、キャッシュデータCdを廃棄する(ステップSt8)。その後、CPU10は、処理を継続する場合(ステップSt9のYes)、ステップSt2の処理を再度実行し、データ配信装置のシャットダウンなどの要因により処理を継続しない場合(ステップSt9のNo)、処理を終了する。このようにして、データ配信装置の処理は行われる。
次に、第1実施例の効果を述べる。図7には、効果を検証するための数値シミュレーションの条件が示されている。コンテンツルータ(データ配信装置)CRは、上述した処理を行うことにより、サーバ装置9から取得したデジタルコンテンツをキャッシュし、または、当該キャッシュデータCdを廃棄する。
数値シミュレーションでは、要求メッセージRqのリクエストレートλcとして、0.01〜1000の範囲から抽出した11種類の値を持つコンテンツに対し、キャッシュヒット率を算出する。また、数値シミュレーションは、3種類の基準値TTLt(=0.01,0.1,1)に対して行われる。
図8は、第1実施例における、リクエストレートλcに対するキャッシュヒット率の特性を示すグラフである。図8(a)〜図8(c)は、基準値TTLt=1,0.1,0.01(閾値λt=1,10,100(個/秒))の場合をそれぞれ示す。図8(a)〜図8(c)において、横軸は、リクエストレートλcの対数値(log)を示し、縦軸は、キャッシュヒット率を示す。
図8(a)〜図8(c)において、四角形状の点は、数値シミュレーションにより算出されたキャッシュヒット率を示す。また、実線は、算出されたキャッシュヒット率をサンプル値としたときに、下記の近似式(1)に基づいて得られるキャッシュヒット率の特性(統計的推定値)を示し、点線は、図2に示されたキャッシュヒット率の理想的特性を示す。なお、近似式(1)において、「e」は、自然対数の底(ネイピア数)を表す。
キャッシュヒット率=1−e−λc・TTLt ・・・(1)
図8に示されるように、本実施例によると、リクエストレートλcに対するキャッシュヒット率が、閾値λtを挟んで1と0に分かれた理想的特性(図2参照)に近い特性が得られる。したがって、本実施例によると、リクエストレートλcを測定することなく、キャッシュデータCdを簡単に管理できる。
しかし、例えば図8(a)に示された領域A1,A2のように、数値シミュレーションにより得られた特性と理想的特性の間には、差分が存在する。以下に述べる実施例では、この差分を低減するために、さらに改善された手法によりカウンタ値Niを制御する。
(第2実施例)
図9は、第2実施例におけるカウンタ値Niの変化の一例を示すグラフである。図9において、横軸は時刻を示し、縦軸はカウンタ値Niを示す。ここで、時刻t1〜t3,t5は、要求メッセージRqの受信時刻を示し、時刻t4は、カウンタ値Niが、所定値K=0になった時刻を示す。また、図9には、図5と同様に、時刻に応じたキャッシュデータCdの有無と、キャッシュデータCdのヒットの有無とが示されている。
本実施例において、カウンタ部102は、カウンタ値Niの範囲を所定値(下限値)K=0から所定の上限値Mcまでとする。カウンタ部102は、要求メッセージRqが受信されたとき、時間の経過とともに減少するカウンタ値Niに、カウンタ値Niの単位時間t(例えば1(秒))内の減少量である減少レートα及び基準値TTLtに応じた値を加算する。
より具体的には、カウンタ部102は、カウンタ値Niを、単位時間t当たりαだけ減算し、要求メッセージRqが受信されたとき、カウンタ値Niに、減少レートαと基準値TTLtの積(α・TTLt)を加算する。
このため、カウンタ値Niは、要求メッセージRqの受信時刻t1〜t3,t5において加算値α・TTLtだけ増加し、他の時間帯では、減少し続ける。したがって、本実施例では、減少レートαを調整することにより、カウンタ値Niが所定値K=0に近づく速度と、カウンタ値Niが所定値0から遠ざかる速度(上限値Mcに近づく速度)とを任意に設定できる。
カウンタ値Niは、時刻t4までは、時刻t1〜t3における要求メッセージRqの受信により、所定値0から加算値α・TTLtだけ増加するため、0(所定値K)に達しない。このため、時刻t1〜t3において、キャッシュメモリ13にはキャッシュデータCdが格納されており、キャッシュデータCdのヒットが発生する。なお、時刻t3において、カウンタ値Niは、加算値α・TTLtが加算されると上限値Mcを超えるが、上限値Mcの制限により上限値Mcに留まる。
カウンタ値Niは、時刻t4において0(所定値K)に達し、新たに要求メッセージRqが受信される時刻t5まで、0に維持される。キャッシュ管理部101は、カウンタ値Niが0になったことを検出すると、キャッシュデータCdを廃棄する。このため、時刻t4から時刻t5の間、キャッシュメモリ13にはキャッシュデータCdが格納されていない。
したがって、要求メッセージRqの受信時刻t5において、キャッシュデータCdのヒットが発生しない。このとき、キャッシュ管理部101は、要求メッセージRqを他のコンテンツルータCR#1〜#6(データ配信装置)に転送する。
また、キャッシュ管理部101は、要求メッセージRqの受信時刻t5において、サーバ装置9からデジタルコンテンツを取得し、キャッシュメモリ13にキャッシュする。このため、時刻t5以降、キャッシュメモリ13にはキャッシュデータCdが格納されている。
このように、カウンタ値Niは、要求メッセージRqが受信されなければ、時間の経過とともに0(所定値K)に近づき、要求メッセージRqが受信されると、加算値α・TTLtが加算される。キャッシュデータCdは、カウンタ値Niが0になると廃棄される。したがって、リクエストレートλc、つまりアクセス頻度が高いデジタルコンテンツほど、キャッシュされる確率(ヒットの確率)が高い。
図10は、第2実施例に係るデータ配信装置の処理(データ配信方法)を示すフローチャートである。図10は、1つのデジタルコンテンツのキャッシュデータCdの管理に関する処理を示すものであり、この処理は、各デジタルコンテンツのキャッシュデータCdについて同様に実行される。
まず、カウンタ部102は、減少レートα及び上限値Mcを設定する(ステップSt21)。減少レートα及び上限値Mcは、例えば、ネットワーク管理装置からデータ配信装置(コンテンツルータ)に与えられる。
次に、カウンタ部102は、カウンタ値Niを基準値TTLtに設定する(ステップSt22)。次に、コンテンツ配信部100は、通信処理部14が要求メッセージRqを受信したか否かを判定する(ステップSt23)。
要求メッセージRqが受信された場合(ステップSt23のYes)、コンテンツ配信部100は、要求メッセージRqに応じたデジタルコンテンツのキャッシュデータCdの有無を判定する(ステップSt24)。また、要求メッセージRqが受信されていない場合(ステップSt23のNo)、後述するステップSt27の処理が行われる。
キャッシュデータCdが有る場合(ステップSt24のYes)、コンテンツ配信部100は、通信処理部14を介し、キャッシュデータCdを端末装置80〜82に配信する(ステップSt25)。また、キャッシュデータCdが無い場合(ステップSt24のNo)、コンテンツ配信部100は、通信処理部14を介し、要求メッセージRqを他のコンテンツルータCR#1〜#6に転送する(ステップSt31)。次に、コンテンツ配信部100は、サーバ装置9または他のコンテンツルータCR#1〜#6から配信されるデジタルコンテンツを取得し、キャッシュメモリ13にキャッシュする(ステップSt32)。これにより、キャッシュメモリ13にキャッシュデータCdが格納される。なお、ステップSt31及びステップSt32の各処理は、何れが先に実行されてもよい。
ステップSt25またはステップSt31,St32の処理の後、カウンタ部102は、カウンタ値Niに加算値α・TTLtを加算する(ステップSt26)。次に、カウンタ部102は、カウンタ値Niからαを減算する(ステップSt27)。ステップSt27の処理は、カウンタ値Niの単位時間tごとに減算量(減少レート)が一定となるように、例えばCPU10に入力されるタイミング信号(クロック信号)に基づいて、一定の時間間隔で行われる。
次に、キャッシュ管理部101は、カウンタ部102からカウンタ値Niを取得し、カウンタ値Niが0(所定値K)であるか否かを検出する(ステップSt28)。カウンタ値Niが0ではない場合(ステップSt28のNo)、後述するステップSt30の処理が実行される。
カウンタ値Niが0である場合(ステップSt28のYes)、キャッシュ管理部101は、キャッシュデータCdを廃棄する(ステップSt29)。その後、CPU10は、処理を継続する場合(ステップSt30のYes)、ステップSt23の処理を再度実行し、データ配信装置のシャットダウンなどの要因により処理を継続しない場合(ステップSt30のNo)、処理を終了する。このようにして、データ配信装置の処理は行われる。
次に、第2実施例の効果を述べる。なお、効果を検証するための数値シミュレーションの条件は、図7に示されるとおりである。
図11は、第2実施例における、リクエストレートλcに対するキャッシュヒット率の特性を示すグラフである。図11(a)〜図11(c)は、基準値TTLt=1,0.1,0.01(閾値λt=1,10,100(個/秒))の場合をそれぞれ示す。図11(a)〜図11(c)において、横軸は、リクエストレートλcの対数値(log)を示し、縦軸は、キャッシュヒット率を示す。
図11(a)〜図11(c)において、四角形状の点は、数値シミュレーションにより算出されたキャッシュヒット率を示す。また、実線は、算出されたキャッシュヒット率をサンプル値としたときに、上記の近似式(1)に基づいて得られるキャッシュヒット率の特性(統計的推定値)を示し、点線は、図2に示されたキャッシュヒット率の理想的特性を示す。
図11に示されるように、本実施例によると、リクエストレートλcに対するキャッシュヒット率が、閾値λtを挟んで1と0に分かれた理想的特性(図2参照)に近い特性が得られる。また、本実施例では、第1実施例の場合の特性(図8)と比較すると理解されるように、リクエストレートλcが閾値λtである場合のキャッシュヒット率が1.0に近い値となる特性が得られる。
したがって、本実施例によると、例えば、図8(a)に示された差分領域A1が低減される。このため、リクエストレートλcが閾値λtを上回る場合、キャッシュデータCdが保持されている確率が、第1実施例より高められる。
しかし、リクエストレートλcが閾値λtを下回る場合の特性は、図8(a)に示された差分領域A2と同等の差分を有する。このため、リクエストレートλcが閾値λtより低いデジタルコンテンツでも、キャッシュされる確率が少なからず存在する。これは、カウンタ値Niは、下限が所定値K=0により制限されているため、リクエストレートλcが低いデジタルコンテンツでも必ずカウンタが0以上になる期間が存在することに起因する。
そこで、以下の第3実施例では、カウンタ値Niが所定値Kより低い値を取り得るように、カウンタ値Niの範囲が拡張されている。
(第3実施例)
図12は、第3実施例におけるカウンタ値Niの変化の一例を示すグラフである。図12において、横軸は時刻を示し、縦軸はカウンタ値Niを示す。ここで、時刻t1,t3〜t5は、要求メッセージRqの受信時刻を示し、時刻t2は、カウンタ値Niが、所定値Kになった時刻を示す。また、図12には、図5と同様に、時刻に応じたキャッシュデータCdの有無と、キャッシュデータCdのヒットの有無とが示されている。
本実施例において、カウンタ部102は、カウンタ値Niの範囲を、所定値Kより小さい所定の下限値−Nb(Nbは正の整数)から所定の上限値Mcまでとする。これにより、カウンタ値Niの範囲が、負の値の領域Nexまで拡張される。もっとも、カウンタ値Niは、0及び正の整数として処理するほうが容易であるため、図12の例では、カウンタ値Niの範囲を、正方向にNbだけオフセットさせて処理する。このため、以下の説明では、下限値を0とし、所定値KをNbとし、上限値をMc+Nbとする。
カウンタ部102は、要求メッセージRqが受信されたとき、時間の経過とともに減少するカウンタ値Niに、減少レートα及び基準値TTLtに応じた値を加算する。より具体的には、カウンタ部102は、第2実施例と同様に、カウンタ値Niを、単位時間t当たりαだけ減算し、要求メッセージRqが受信されたとき、カウンタ値Niに、加算値α・TTLtを加算する。
このため、カウンタ値Niは、要求メッセージRqの受信時刻t1,t3〜t5において加算値α・TTLtだけ増加し、他の時間帯では、減少し続ける。カウンタ値Niは、時刻t2において所定値K=Nbに達し、時刻t2及び時刻t3の間は、所定値K以下(つまり、拡張された範囲)となる。
キャッシュ管理部101は、カウンタ値Niが0になったことを検出すると、キャッシュデータCdを廃棄する。このため、時刻t2から時刻t3の間、キャッシュメモリ13にはキャッシュデータCdが格納されていない。
したがって、要求メッセージRqの受信時刻t3において、キャッシュデータCdのヒットが発生しない。このとき、キャッシュ管理部101は、要求メッセージRqを他のコンテンツルータCR#1〜#6(データ配信装置)に転送する。
また、キャッシュ管理部101は、要求メッセージRqの受信時刻t3において、サーバ装置9からデジタルコンテンツを取得し、キャッシュメモリ13にキャッシュする。このため、時刻t3以降、キャッシュメモリ13にはキャッシュデータCdが格納されており、他の受信時刻t1,t4,t5では、キャッシュデータCdのヒットが発生する。
このように、カウンタ値Niは、要求メッセージRqが受信されなければ、時間の経過とともに0(所定値K)に近づき、0になる前に要求メッセージRqが受信されなければ、0を下回る。また、カウンタ値Niは、要求メッセージRqが受信されると、加算値α・TTLtが加算される。キャッシュデータCdは、カウンタ値Niが0になると廃棄される。したがって、リクエストレートλc、つまりアクセス頻度が高いデジタルコンテンツほど、キャッシュされる確率(ヒットの確率)が高い。
図13は、第3実施例に係るデータ配信装置の処理(データ配信方法)を示すフローチャートである。図13は、1つのデジタルコンテンツのキャッシュデータCdの管理に関する処理を示すものであり、この処理は、各デジタルコンテンツのキャッシュデータCdについて同様に実行される。
まず、カウンタ部102は、減少レートα、下限値−Nb、及び上限値Mc+Nbを設定する(ステップSt41)。減少レートα、下限値−Nb、及び上限値Mc+Nbは、例えば、ネットワーク管理装置からデータ配信装置(コンテンツルータ)に与えられる。
次に、カウンタ部102は、カウンタ値Niを基準値TTLtに設定する(ステップSt42)。次に、コンテンツ配信部100は、通信処理部14が要求メッセージRqを受信したか否かを判定する(ステップSt43)。
要求メッセージRqが受信された場合(ステップSt43のYes)、コンテンツ配信部100は、要求メッセージRqに応じたデジタルコンテンツのキャッシュデータCdの有無を判定する(ステップSt44)。また、要求メッセージRqが受信されていない場合(ステップSt43のNo)、後述するステップSt47の処理が行われる。
キャッシュデータCdが有る場合(ステップSt44のYes)、コンテンツ配信部100は、通信処理部14を介し、キャッシュデータCdを端末装置80〜82に配信する(ステップSt45)。また、キャッシュデータCdが無い場合(ステップSt44のNo)、コンテンツ配信部100は、通信処理部14を介し、要求メッセージRqを他のコンテンツルータCR#1〜#6に転送する(ステップSt51)。次に、コンテンツ配信部100は、サーバ装置9または他のコンテンツルータCR#1〜#6から配信されるデジタルコンテンツを取得し、キャッシュメモリ13にキャッシュする(ステップSt52)。これにより、キャッシュメモリ13にキャッシュデータCdが格納される。なお、ステップSt51及びステップSt52の各処理は、何れが先に実行されてもよい。
ステップSt45またはステップSt51,St52の処理の後、カウンタ部102は、カウンタ値Niに加算値α・TTLtを加算する(ステップSt46)。次に、カウンタ部102は、カウンタ値Niからαを減算する(ステップSt47)。ステップSt47の処理は、カウンタ値Niの単位時間tごとに減算量(減少レート)が一定となるように、例えばCPU10に入力されるタイミング信号(クロック信号)に基づいて、一定の時間間隔で行われる。
次に、キャッシュ管理部101は、カウンタ部102からカウンタ値Niを取得し、カウンタ値NiがNb(所定値K)以下であるか否かを検出する(ステップSt48)。カウンタ値NiがNbより大きい場合(ステップSt48のNo)、後述するステップSt50の処理が実行される。
カウンタ値NiがNb以下である場合(ステップSt48のYes)、キャッシュ管理部101は、キャッシュデータCdを廃棄する(ステップSt49)。その後、CPU10は、処理を継続する場合(ステップSt50のYes)、ステップSt43の処理を再度実行し、データ配信装置のシャットダウンなどの要因により処理を継続しない場合(ステップSt50のNo)、処理を終了する。このようにして、データ配信装置の処理は行われる。
次に、第3実施例の効果を述べる。なお、効果を検証するための数値シミュレーションの条件は、図7に示されるとおりである。
図14は、第3実施例における、リクエストレートλcに対するキャッシュヒット率の特性を示すグラフである。図14(a)〜図14(c)は、基準値TTLt=1,0.1,0.01(閾値λt=1,10,100(個/秒))の場合をそれぞれ示す。図14(a)〜図14(c)において、横軸は、リクエストレートλcの対数値(log)を示し、縦軸は、キャッシュヒット率を示す。
図14(a)〜図14(c)において、四角形状の点は、数値シミュレーションにより算出されたキャッシュヒット率を示す。また、実線は、算出されたキャッシュヒット率をサンプル値としたときに、上記の近似式(1)に基づいて得られるキャッシュヒット率の特性(統計的推定値)を示し、点線は、図2に示されたキャッシュヒット率の理想的特性を示す。
図14に示されるように、本実施例によると、リクエストレートλcに対するキャッシュヒット率が、閾値λtを挟んで1と0に分かれた理想的特性(図2参照)に近い特性が得られる。また、本実施例では、第1実施例及び第2実施例の場合の特性(図8、図11)と比較すると理解されるように、閾値λtより低いリクエストレートλcに対するキャッシュヒット率が0に近い値となる特性が得られる。これは、リクエストレートλcが閾値λtより低いデジタルコンテンツは、カウンタ値Niが所定値Nbよりも常に小さくなることが考えられ、そのようなデジタルコンテンツは、すぐに廃棄されることに起因する。
したがって、本実施例によると、例えば、図8(a)に示された差分領域A2が低減される。このため、リクエストレートλcが閾値λtを下回る場合、キャッシュデータCdが保持されている確率が、第1実施例及び第2実施例より低くなる。
上述した実施例では、カウンタ部102は、カウンタ値Niを、減少させることにより所定値に近づけ、増加させることにより所定値Kから遠ざけたが、カウンタ値Niを、増加させることにより所定値に近づけ、減少させることにより所定値Kから遠ざけてもよい。第1実施例を例に挙げると、カウンタ部102は、カウンタ値Niを、時間の経過とともに増加させて所定値K=TTLtに近づけ、要求メッセージRqが受信されると、0に戻す。また、第2実施例及び第3実施例の場合、カウンタ部102は、カウンタ値Niを、時間の経過とともに増加させて所定値K=TTLtに近づけ、要求メッセージRqが受信されると、カウンタ値から減算値α・TTLtだけ減算する。これにより、上述した内容と同様の効果が得られる。
これまで述べたように、実施例に係るデータ配信装置(コンテンツルータCR#1〜#6)は、記憶部(キャッシュメモリ)13と、配信部(コンテンツ配信部)100と、カウンタ部102と、管理部(キャッシュ管理部)101とを有する。記憶部13は、配信対象のデータのキャッシュデータCdを記憶する。配信部100は、他装置(端末装置)80〜82から受信した要求メッセージRqに応じて、記憶部13からキャッシュデータCdを読み出して、他装置80〜82に配信する。
カウンタ部102は、データのキャッシュの可否を決める要求メッセージRqの受信レート(リクエストレート)λcの閾値λtの逆数TTLtを基準値とする。カウンタ部102は、時間の経過とともに所定値Kに近づくカウンタ値Niを、要求メッセージRqが受信されたとき、基準値TTLtに応じて所定値Kから遠ざけるように更新する。管理部101は、カウンタ値Niが所定値Kになったとき、キャッシュデータCdを廃棄する。
実施例に係るデータ配信装置において、配信部100は、要求メッセージRqに応じて、キャッシュデータCdを他装置80〜82に配信するので、他装置80〜82は、配信対象のデータの供給源であるサーバ装置9にアクセスすることなく、データを受信できる。
また、カウンタ値Niは、時間の経過とともに所定値Kに近づき、要求メッセージRqの受信により、基準値TTLtに応じて所定値Kから遠ざかり、カウンタ値Niが所定値Kになったとき、キャッシュデータCdは廃棄される。ここで、基準値TTLtは、データのキャッシュの可否を決める要求メッセージRqの受信レートの閾値λtの逆数である。
したがって、図8に示されるように、要求メッセージRqの受信レート(リクエストレートλc)に対するキャッシュヒット率が、閾値を挟んで1と0に分かれた理想的特性に近い特性が、受信レートを測定することなく得られる。よって、実施例に係るデータ配信装置によるとキャッシュデータCdを簡単に管理できる。
また、実施例に係るデータ配信方法は、以下の工程を含む。
工程(1):配信対象のデータのキャッシュデータCdを記憶部13に記憶する。
工程(2):他装置80〜82から受信した要求メッセージRqに応じて、記憶部13からキャッシュデータCdを読み出して、他装置80〜82に配信する。
工程(3):データのキャッシュの可否を決める要求メッセージRqの受信レートの閾値λtの逆数を基準値TTLtとし、時間の経過とともに所定値Kに近づくカウンタ値Niを、要求メッセージRqを受信したとき、基準値TTLtに応じて所定値Kから遠ざけるように更新する。
工程(4):カウンタ値Niが所定値Kになったとき、キャッシュデータCdを廃棄する。
実施例に係るデータ配信方法は、上記のデータ配信装置と同様の構成を有するので、上述した内容と同様の作用効果を奏する。
以上、好ましい実施例を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば、種々の変形態様を採り得ることは自明である。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 配信対象のデータのキャッシュデータを記憶する記憶部と、
他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信する配信部と、
前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージが受信されたとき、前記基準値に応じて前記所定値から遠ざけるように更新するカウンタ部と、
前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄する管理部とを有することを特徴とするデータ配信装置。
(付記2) 前記カウンタ部は、前記カウンタ値の範囲を前記所定値から前記基準値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値を、前記基準値に戻すことを特徴とする付記1に記載のデータ配信装置。
(付記3) 前記カウンタ部は、前記カウンタ値の範囲を前記所定値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算することを特徴とする付記1に記載のデータ配信装置。
(付記4) 前記カウンタ部は、前記カウンタ値の範囲を、前記所定値より小さい所定の下限値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算し、
前記管理部は、前記カウンタ値が前記所定値以下になったとき、前記キャッシュデータを廃棄することを特徴とする付記1に記載のデータ配信装置。
(付記5) 前記管理部は、前記キャッシュデータが廃棄された後で前記要求メッセージが受信されたとき、ネットワークから前記データを取得し、前記記憶部にキャッシュすることを特徴とする付記1乃至4の何れかに記載のデータ配信装置。
(付記6) 配信対象のデータのキャッシュデータを記憶部に記憶し、
他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信し、
前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージを受信したとき、前記基準値に応じて前記所定値から遠ざけるように更新し、
前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄することを特徴とするデータ配信方法。
(付記7) 前記カウンタ値の範囲を前記所定値から前記基準値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値を、前記基準値に戻すことを特徴とする付記6に記載のデータ配信方法。
(付記8) 前記カウンタ値の範囲を前記所定値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算することを特徴とする付記6に記載のデータ配信方法。
(付記9) 前記カウンタ値の範囲を、前記所定値より小さい所定の下限値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算し、
前記カウンタ値が前記所定値以下になったとき、前記キャッシュデータを廃棄することを特徴とする付記6に記載のデータ配信方法。
(付記10) 前記キャッシュデータが廃棄された後で前記要求メッセージが受信されたとき、ネットワークから前記データを取得し、前記記憶部にキャッシュすることを特徴とする付記6乃至9の何れかに記載のデータ配信方法。
13 キャッシュメモリ(記憶部)
100 コンテンツ配信部(配信部)
101 キャッシュ管理部(管理部)
102 カウンタ部
Ni カウンタ値
Cd キャッシュデータ
λt 閾値
TTLt 基準値
Mc 上限値
K 所定値

Claims (6)

  1. 配信対象のデータのキャッシュデータを記憶する記憶部と、
    他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信する配信部と、
    前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージが受信されたとき、前記基準値に応じて前記所定値から遠ざけるように更新するカウンタ部と、
    前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄する管理部とを有することを特徴とするデータ配信装置。
  2. 前記カウンタ部は、前記カウンタ値の範囲を前記所定値から前記基準値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値を、前記基準値に戻すことを特徴とする請求項1に記載のデータ配信装置。
  3. 前記カウンタ部は、前記カウンタ値の範囲を前記所定値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算することを特徴とする請求項1に記載のデータ配信装置。
  4. 前記カウンタ部は、前記カウンタ値の範囲を、前記所定値より小さい所定の下限値から所定の上限値までとし、前記要求メッセージが受信されたとき、時間の経過とともに減少する前記カウンタ値に、前記カウンタ値の単位時間内の減少量及び前記基準値に応じた値を加算し、
    前記管理部は、前記カウンタ値が、時間の経過により前記所定値以下になったとき、前記キャッシュデータを廃棄することを特徴とする請求項1に記載のデータ配信装置。
  5. 前記管理部は、前記キャッシュデータが廃棄された後で前記要求メッセージが受信されたとき、ネットワークから前記データを取得し、前記記憶部にキャッシュすることを特徴とする請求項1乃至4の何れかに記載のデータ配信装置。
  6. 配信対象のデータのキャッシュデータを記憶部に記憶し、
    他装置から受信した要求メッセージに応じて、前記記憶部から前記キャッシュデータを読み出して、前記他装置に配信し、
    前記データのキャッシュの可否を決める前記要求メッセージの受信レートの閾値の逆数を基準値とし、時間の経過とともに所定値に近づくカウンタ値を、前記要求メッセージを受信したとき、前記基準値に応じて前記所定値から遠ざけるように更新し、
    前記カウンタ値が前記所定値になったとき、前記キャッシュデータを廃棄することを特徴とするデータ配信方法。
JP2013246599A 2013-11-28 2013-11-28 データ配信装置及びデータ配信方法 Expired - Fee Related JP6146279B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013246599A JP6146279B2 (ja) 2013-11-28 2013-11-28 データ配信装置及びデータ配信方法
US14/548,451 US9678881B2 (en) 2013-11-28 2014-11-20 Data distribution device and data distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013246599A JP6146279B2 (ja) 2013-11-28 2013-11-28 データ配信装置及びデータ配信方法

Publications (2)

Publication Number Publication Date
JP2015106188A JP2015106188A (ja) 2015-06-08
JP6146279B2 true JP6146279B2 (ja) 2017-06-14

Family

ID=53183688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013246599A Expired - Fee Related JP6146279B2 (ja) 2013-11-28 2013-11-28 データ配信装置及びデータ配信方法

Country Status (2)

Country Link
US (1) US9678881B2 (ja)
JP (1) JP6146279B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9954971B1 (en) * 2015-04-22 2018-04-24 Hazelcast, Inc. Cache eviction in a distributed computing system
CN105871697B (zh) * 2016-05-26 2020-01-14 Oppo广东移动通信有限公司 一种信息发布方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333272A (en) * 1991-06-13 1994-07-26 International Business Machines Corporation Warning timer for users of interactive systems
JP2004295845A (ja) 2003-03-28 2004-10-21 Ntt Comware Corp コンテンツ配信サービスシステム、コンテンツの有効期限設定方法、コンピュータプログラム及び記録媒体
JP2005064710A (ja) * 2003-08-08 2005-03-10 Hitachi Cable Ltd スイッチングハブ
JP2005157605A (ja) 2003-11-25 2005-06-16 Hitachi Ltd 商品データ検索装置および同装置におけるデータ更新方法ならびにプログラム
JP2006072715A (ja) * 2004-09-02 2006-03-16 Hitachi Ltd コンテンツ配信システムおよびコンテンツ配信方法
JP4635682B2 (ja) * 2005-03-29 2011-02-23 ブラザー工業株式会社 情報処理装置、情報処理方法及び情報処理用プログラム
US20110238927A1 (en) * 2008-11-21 2011-09-29 Hiroyuki Hatano Contents distribution device , contents distribution control method, contents distribution control program and cache control device
US8099555B2 (en) * 2009-01-23 2012-01-17 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for memory management on print devices
JP5471178B2 (ja) * 2009-08-28 2014-04-16 富士通株式会社 キャッシュ制御装置、キャッシュ制御システム、キャッシュ制御方法及びキャッシュ制御プログラム
JP5880139B2 (ja) 2012-02-29 2016-03-08 富士通株式会社 配置サーバ、情報処理システム、キャッシュ配置方法、キャッシュ配置プログラム

Also Published As

Publication number Publication date
US20150149726A1 (en) 2015-05-28
US9678881B2 (en) 2017-06-13
JP2015106188A (ja) 2015-06-08

Similar Documents

Publication Publication Date Title
EP2704402B1 (en) Method and node for distributing electronic content in a content distribution network
US9703752B2 (en) Caching in mobile networks
CN101951395B (zh) 一种基于访问预测的P2P VoD系统服务端的数据缓存策略
Al-Abbasi et al. Multi-tier caching analysis in CDN-based over-the-top video streaming systems
US20160255169A1 (en) Method and system for smart object eviction for proxy cache
JP2001292173A (ja) インテリジェントネットワーク帯域幅およびシステムリソースを使用するための方法および装置
Björkqvist et al. Minimizing retrieval latency for content cloud
BRPI0621480A2 (pt) programação centralizada para rede de fornecimento de conteúdo
WO2016075135A1 (en) Method for storing objects in a storage and corresponding system
Carofiglio et al. FOCAL: Forwarding and caching with latency awareness in information-centric networking
Ugwuanyi et al. Co-operative and hybrid replacement caching for multi-access mobile edge computing
JP6146279B2 (ja) データ配信装置及びデータ配信方法
CN109951317B (zh) 一种基于用户驱动的流行度感知模型的缓存替换方法
Liu et al. A novel cache replacement scheme against cache pollution attack in content-centric networks
CN104506884A (zh) 一种利用虚拟cdn进行流媒体点播的系统
KR102172056B1 (ko) Icn 라우터 및 콘텐츠 제공자 단말을 포함하는 토큰 기반 캐싱 시스템의 제어 방법, 장치 및 프로그램
Al-Abbasi et al. EdgeCache: An optimized algorithm for CDN-based over-the-top video streaming services
Chu et al. Jointly optimizing throughput and content delivery cost over lossy cache networks
Jin et al. Content routing and lookup schemes using global bloom filter for content-delivery-as-a-service
Reiffers-Masson et al. Timelines are publisher-driven caches: Analyzing and shaping timeline networks
Leconte et al. Adaptive replication in distributed content delivery networks
Xie et al. Attack resilience of cache replacement policies
Jeon et al. On-path caching in information-centric networking
Kazari et al. Cache update and delivery of dynamic contents: A stochastic game approach
CN108351873A (zh) 一种缓存管理方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160804

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170412

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170501

R150 Certificate of patent or registration of utility model

Ref document number: 6146279

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees