(57)【要約】【課題】キャッシュミスの増加を抑える転送装置を提供する。【解決手段】コンテンツを複数のチャンクに分割して配信するコンテンツ配信システムのための転送装置は、チャンクをキャッシュするキャッシュ手段と、コンテンツの削除順位を決定して前記キャッシュ手段を管理する管理手段と、を備えており、前記管理手段は、前記キャッシュ手段からチャンクを削除する場合、前記削除順位に基づき決定したコンテンツの複数のチャンクを削除する。【選択図】図５
2018109903.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを複数のチャンクに分割して配信するコンテンツ配信システムのための転送装置であって、
チャンクをキャッシュするキャッシュ手段と、
コンテンツの削除順位を決定して前記キャッシュ手段を管理する管理手段と、
を備えており、
前記管理手段は、前記キャッシュ手段からチャンクを削除する場合、前記削除順位に基づき決定したコンテンツの複数のチャンクを削除することを特徴とする転送装置。
【請求項２】
前記管理手段は、前記キャッシュ手段からチャンクを削除する場合、前記削除順位が最高のコンテンツの総てのチャンクを削除することを特徴とする請求項１に記載の転送装置。
【請求項３】
前記管理手段は、前記キャッシュ手段からチャンクを削除すると、前記キャッシュ手段がキャッシュしているチャンクに対応する各コンテンツの削除順位を１つずつ繰り上げることを特徴とする請求項２に記載の転送装置。
【請求項４】
前記管理手段は、前記キャッシュ手段がキャッシュしている第１チャンクを要求するパケットを受信すると前記削除順位を更新することを特徴とする請求項１から３のいずれか１項に記載の転送装置。
【請求項５】
前記管理手段は、前記第１チャンクのコンテンツの削除順位を最下位として前記削除順位を更新することを特徴とする請求項４に記載の転送装置。
【請求項６】
前記管理手段は、転送した第１コンテンツのチャンクをキャッシュすると前記削除順位を更新することを特徴とする請求項１から５のいずれか１項に記載の転送装置。
【請求項７】
前記管理手段は、前記第１コンテンツの削除順位を最下位として前記削除順位を更新することを特徴とする請求項６に記載の転送装置。
【請求項８】
請求項１から７のいずれか１項に記載の転送装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツ配信システムの転送装置におけるキャッシュ管理技術に関する。
【背景技術】
【０００２】
コンテンツを示す名前に基づきコンテンツの要求及び配信を行うコンテンツ配信システムが提案されている。特許文献１及び非特許文献１は、その様なシステムの１つであるコンテンツ・セントリック・ネットワーク（ＣＣＮ：Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ）を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２７７２３４号広報
【非特許文献】
【０００４】
【非特許文献１】Ｖ．Ｊａｃｏｂｓｏｎ，ｅｔ  ａｌ．，"Ｎｅｔｗｏｒｋｉｎｇ  Ｎａｍｅｄ  Ｃｏｎｔｅｎｔ"，ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＣｏＮＥＸＴ  ２００９，２００９年１２月
【非特許文献２】Ｙ．Ｔｈｏｍａｓ，ｅｔ  ａｌ．，"Ｏｂｊｅｃｔ−Ｏｒｉｅｎｔｅｄ  Ｐａｃｋｅｔ  Ｃｈａｃｈｉｎｇ  ｆｏｒ  ＩＣＮ"，ＡＣＭ  ＩＣＮ  ２０１５年９月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＣＮにおいて、コンテンツ（オブジェクト）を公開するサーバ装置は当該コンテンツを１つ以上のチャンク（セグメント）に分割し、クライアント装置は、この分割されたチャンク単位でコンテンツを取得する。また、ＣＣＮにおいて、チャンクの転送を行った通信装置（以下、転送装置と呼ぶ。）は、当該チャンクを保存（キャッシュ）できる。この転送装置は、自装置がキャッシュしているチャンクを要求するインタレスト・パケット（要求パケット）をクライアント装置から受信すると、当該インタレスト・パケットをサーバ装置に向けて転送することなく、自装置がキャッシュしているチャンクを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信できる。
【０００６】
非特許文献２は、転送装置におけるキャッシュの管理方法を開示している。非特許文献２によると、あるコンテンツのチャンクを、そのコンテンツ内における時間順に連続してキャッシュしている。また、あるコンテンツのチャンクを削除する場合、当該コンテンツのチャンクの内、最後にキャッシュしたチャンクを削除している。なお、キャッシュがフルであるときに削除すべきチャンクは、コンテンツを単位として判定している。非特許文献２は、キャッシュがフルの時に新たなチャンクをキャッシュする場合、削除すべきコンテンツを判定し、判定したコンテンツの最後にキャッシュしたチャンクを削除するものである。しかしながら、１つのチャンクを単位としてキャッシュからの削除を行うため、１つの転送装置に複数のコンテンツの少数のチャンクがキャッシュされる状態となってキャッシュミスが増加し得る。また、同じコンテンツに属する各チャンクがコンテンツ配信システムの各転送装置に分散してキャッシュされ得る。同じコンテンツの複数のチャンクがコンテンツ配信システムの各転送装置に分散してキャッシュされると、クライアント装置から見れば、１つのコンテンツの複数のチャンクを取得する上で、各チャンクの受信間隔がばらつくこととなり、コンテンツが動画等である場合、その再生に影響する。
【０００７】
本発明は、キャッシュミスの増加を抑える転送装置を提供するものである。
【課題を解決するための手段】
【０００８】
本発明の一態様によると、コンテンツを複数のチャンクに分割して配信するコンテンツ配信システムのための転送装置は、チャンクをキャッシュするキャッシュ手段と、コンテンツの削除順位を決定して前記キャッシュ手段を管理する管理手段と、を備えており、前記管理手段は、前記キャッシュ手段からチャンクを削除する場合、前記削除順位に基づき決定したコンテンツの複数のチャンクを削除することを特徴とする。
【発明の効果】
【０００９】
本発明によると、同じコンテンツの多くのチャンクが同じ転送装置にキャッシュされキャッシュミスの増加を抑えることができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態によるコンテンツ配信システムの構成図。
【図２】一実施形態による転送装置の構成図。
【図３】一実施形態によるキャッシュ管理方法の説明図。
【図４】一実施形態によるチャンク転送時のフローチャート。
【図５】一実施形態によるインタレスト・パケット受信時のフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の実施形態は例示であり、本発明を実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。なお、以下では、コンテンツ配信システムがＣＣＮであるものとして本発明の実施形態の説明を行う。しかしながら、本発明は、コンテンツを複数の断片であるチャンクに分割して、チャンク単位で配信を行う任意のコンテンツ配信システムに適用することができる。
【００１２】
図１は、本実施形態によるコンテンツ配信システムの構成図である。ネットワーク４は、複数の転送装置２を含んでいる。また、ネットワーク４には、コンテンツを公開するサーバ装置３とクライアント装置１が接続されている。なお、図１においては、サーバ装置３とクライアント装置１をそれぞれ１つだけ示しているが、複数であり得る。サーバ装置３は、コンテンツを複数のチャンクに分割して配信する。なお、例えば、コンテンツにはコンテンツ名が付与され、各チャンクにもチャンク名が付与される。例えば、コンテンツ名"ＡＢＣ"のコンテンツが１０個のチャンクに分割されている場合、各チャンク名は、例えば、"ＡＢＣ／１"〜"ＡＢＣ／１０"とすることができる。なお、"ＡＢＣ／ｋ"のｋは、当該コンテンツ内におけるチャンクの番号（時間順）を示すものとすることができる。例えば、クライアント装置１は、要求するチャンクのチャンク名を含むインタレスト・パケットをネットワーク４に送信する。このインタレスト・パケットは、サーバ装置３に向けて転送されるが、このインタレスト・パケットの転送に係わった転送装置２が、このインタレスト・パケットに含まれるチャンク名のチャンクをキャッシュしていると、当該転送装置２は、キャッシュしているチャンクをクライアント装置１に向けて転送する。一方、クライアント装置１からサーバ装置３までの経路上にある総ての転送装置２が、このインタレスト・パケットに含まれるチャンク名のチャンクをキャッシュしていないと、インタレスト・パケットは最終的にサーバ装置３に到達し、サーバ装置３は、当該インタレスト・パケットにより要求されるチャンクをクライアント装置１に向けて送信する。そして、チャンクをクライアント装置１に向けて転送した転送装置２は、転送したチャンクを必要に応じてキャッシュする。
【００１３】
図２は、本実施形態による転送装置２の構成図である。インタフェース部２０３は、複数のインタフェースを有し、各インタフェースを介して他の転送装置２、クライアント装置１、サーバ装置３と、インタレスト・パケットや、チャンクを含むデータ・パケットの送受信を行う。処理部２０２は、インタレスト・パケットを受信すると、キャッシュ管理部２０１に受信したインタレスト・パケットが要求するチャンクを通知する。キャッシュ管理部２０１は、通知されたチャンクをキュッシュしていないと、その旨を処理部２０２に通知する。この場合、処理部２０２は、インタフェース部２０３を介して受信したインタレスト・パケットを他の転送装置２又はサーバ装置３に転送する。一方、キャッシュ管理部２０１は、通知されたチャンクをキュッシュしていると、キャッシュ２００からチャンクを読み出して処理部２０２に出力する。この場合、処理部２０２は、インタレスト・パケットを送信したクライアント装置１に向けて当該チャンクを含むデータ・パケットを送信する。また、キャッシュ管理部２０１は、キャッシュしているチャンクのコンテンツの削除順位を管理している。そして、キャッシュ管理部２０１は、通知されたチャンクをキュッシュしていると、この削除順位を更新する。
【００１４】
また、処理部２０２は、データ・パケットを受信すると、インタフェース部２０３を介して当該データ・パケットを転送すると共に、当該データ・パケットに含まれるチャンクをキャッシュするか否かをキャッシュ管理部２１０にチャンク名（コンテンツ名を含む）を通知して判定させる。なお、本実施形態において、チャンクをキャッシュするか否かを判定する基準は任意である。キャッシュ管理部２１０がチャンクをキャッシュすると判定すると、処理部２００は、キャッシュ管理部２１０にチャンクを出力する。キャッシュ管理部２１０は、処理部２００からキャッシュするチャンクを受け取ると、キャッシュ２００に空きスペースがあるかを判定する。空きスペースがあれば、チャンクをキャッシュし、削除順位を更新する。一方、空きスペースが無ければ、キャッシュ管理部２０１は、削除順位に従いキャッシュ２００に保存されているチャンクを削除し、キャッシュ対象のチャンクをキャッシュして削除順位を更新する。
【００１５】
図３は、本実施形態においてキャッシュ管理部２０１が管理する削除順位の説明図である。本実施形態において削除順位とは、コンテンツを単位としたキャッシュからの削除順位である。図３においては、コンテンツ＃Ａ、＃Ｂ、＃Ｃ及び＃Ｄそれぞれの削除順位が１位、２位、３位、４位であることが示されている。また、削除順位を示す情報には、各コンテンツのチャンクの内、キャッシュ２００にキャッシュされているチャンクの位置を示すポインタ情報を含めることができる。
【００１６】
図４は、本実施形態における転送装置２が、データ・パケットを転送した際に実行する処理のフローチャートである。キャッシュ管理部２０１は、処理部２０２が転送したデータ・パケットのチャンクのキャッシュの要否をＳ１０で判定する。なお、既に述べた様に、キャッシュの要否を判定する基準は任意である。キュッシュ不要であると、キャッシュ管理部２０１は処理を終了する。一方、キュッシュが必要であると、キャッシュ管理部２０１は、Ｓ１１で、キャッシュ２００に空き容量が有るか否かを判定する。キャッシュ２００に空き容量が有ると、キャッシュ管理部２０１は、Ｓ１２でキャッシュ２００にチャンクをキャッシュして削除順位を更新する。この更新は、キャッシュしたチャンクのコンテンツを削除順位の最後に変更するものである。例えば、削除順位が図３の状態であるものとする。この場合において、コンテンツ＃Ｅのチャンクをキュッシュすると、コンテンツ＃Ｅを５位に追加する。また、図３の状態において、コンテンツ＃Ｂのチャンクをキュッシュすると、コンテンツ＃Ｂを４位とし、コンテンツ＃Ｄ、＃Ｃの順位を、それぞれ、３位、２位に繰り上げる。
【００１７】
一方、Ｓ１１でキャッシュに空きがないと、キャッシュ管理部２０１は、削除順位が１位のコンテンツについて、キャッシュしている総てのチャンクをＳ１３で削除し削除順位を更新する。例えば、削除順位が図３の状態であると、キャッシュ管理部２０１は、キャッシュしているコンテンツ＃Ａの総てのチャンクを削除し、コンテンツ＃Ｂ〜＃Ｄの削除順位をそれぞれ、１位から３位に変更する。その後、キャッシュ管理部２０１は、Ｓ１１から処理を繰り返す。
【００１８】
図５は、本実施形態における転送装置２が、インタレスト・パケットを受信した際に実行する処理のフローチャートである。キャッシュ管理部２０１は、処理部２０２から、受信したインタレスト・パケットで要求されているチャンクのチャンク名を受け取ると、Ｓ２０で、当該チャンクをキュッシュ２００が保持しているかを判定する。つまり、キャッシュヒットであるかキュッシュミスであるかを判定する。キャッシュミスであると、キャッシュ管理部２０１は、Ｓ２２で、キャッシュミスを処理部２０２に通知して処理を終了する。一方、キュッシュヒットであると、キャッシュ管理部２０１は、要求されたチャンクをキュッシュ２００から読み出して処理部２０２に出力すると共に、削除順位を更新して処理を終了する。例えば、図３の状態において、コンテンツ＃Ａのチャンクが要求されると、キャッシュ管理部２０１は、コンテンツ＃Ａの削除順位を４位とし、コンテンツ＃Ｂ〜＃Ｄの削除順位を、それぞれ、１位、２位、３位に繰り上げる。
【００１９】
以上、本実施形態では、コンテンツを単位としてキャッシュから削除する順位を判定する。そして、キュッシュからチャンクを削除する場合、最も削除順位の高いコンテンツの総てのチャンクを削除する。この構成により、転送装置２は、同じコンテンツのチャンクを多くキャッシュする様になり、同じコンテンツのチャンク毎に送信元（転送装置２又はサーバ装置３）が異なることとなる確率を低くすることができる。よって、クライアント装置１から見たときに、チャンク間のダウンロード時間の揺らぎを抑えることができる。また、コンテンツを単位として削除する順位を管理し、よって、アクセス頻度の高いコンテンツのチャンクが削除される可能性を低くするため、キャッシュミスの確率を低減させることもできる。なお、最も削除順位の高いコンテンツの総てのチャンクではなく、あらかじめ定めた数の複数のチャンクを削除する構成であっても良い。この場合、最も削除順位の高いコンテンツのキャッシュされているチャンクの内、削除する複数のチャンクは、使用されてからの時間により決定することができる。なお、本実施形態では、最後にキャッシュヒット又はキュッシュに追加してからの経過時間が長くなる程、コンテンツの削除順位を高くしたが、その他の基準により削除順位を決定することもできる。例えば、チャンクのキャッシュヒットの回数のコンテンツ毎の平均値が低い程、削除順位を高くする構成とすることができる。また、チャンク毎のキャッシュヒットの回数のコンテンツ毎の合計値が低い程、削除順位を高くする構成とすることができる。さらに、キャッシュヒットの回数は、過去一定の期間における回数とすることもできる。
【００２０】
なお、本発明による転送装置２は、コンピュータを上記転送装置２として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【符号の説明】
【００２１】
２００：キャッシュ、２０１：キャッシュ管理部、２０２：処理部、２０３：インタフェース部
【図１】
2018109903.tif 000003
【図２】
2018109903.tif 000004
【図３】
2018109903.tif 000005
【図４】
2018109903.tif 000006
【図５】
2018109903.tif 000007