(57)【特許請求の範囲】
【請求項１】
コンテンツ配信ネットワークの通信装置であって、
コンテンツをキャッシュするキャッシュ手段と、
コンテンツを含むデータ・パケットを受信すると、当該コンテンツを要求した装置に向けて転送する転送手段と、
所定期間に受信したデータ・パケットの第１フィールドに含まれる値を、前記所定期間に受信したデータ・パケットに含まれるコンテンツ毎に合計してコンテンツのコストを算出する算出手段と、
前記算出手段が算出したコンテンツのコストと、前記キャッシュ手段がキャッシュしているコンテンツのコストに基づき、前記受信したデータ・パケットに含まれるコンテンツと、前記キャッシュ手段がキャッシュしているコンテンツから、前記キャッシュ手段にキャッシュするコンテンツを選択する選択手段と、
を備えており、
前記転送手段は、受信したデータ・パケットの第１フィールドに含まれる値に、前記受信したデータ・パケットを送信するリンクの価格の値を加えた値を、前記受信したデータ・パケットの第１フィールドに設定して、当該リンクに送信し、
前記選択手段は、前記算出手段が算出したコンテンツと同じコンテンツが前記キャッシュ手段にキャッシュされていると、当該コンテンツのコストとして前記算出手段が算出したコストを使用して前記キャッシュ手段にキュッシュするコンテンツを選択することを特徴とする通信装置。
【請求項２】
前記選択手段は、前記所定期間に受信したデータ・パケットに含まれるコンテンツと前記キャッシュ手段にキャッシュされているコンテンツの総てを前記キャッシュ手段にキャッシュできない場合、コストの高い順に前記キャッシュ手段にキャッシュするコンテンツを選択することを特徴とする請求項１に記載の通信装置。
【請求項３】
リンクの価格を決定する決定手段を更に備えており、
前記決定手段は、リンクの価格を、当該リンクの混雑度に応じて決定することを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
リンクの価格を決定する決定手段を更に備えており、
前記決定手段は、リンクの価格を、当該リンクに送信するパケットの待ち行列の長さに応じて決定することを特徴とする請求項１又は２に記載の通信装置。
【請求項５】
リンクの価格を決定する決定手段を更に備えており、
前記決定手段は、リンクの価格を、当該リンクに送信するパケットの損失確率に応じて決定することを特徴とする請求項１又は２に記載の通信装置。
【請求項６】
請求項１から５のいずれか１項に記載の通信装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツ配信ネットワークにおけるコンテンツのキャッシュ技術に関する。
【背景技術】
【０００２】
コンテンツ名に基づきルーティングを行うネットワークが提案されている。特許文献１及び非特許文献１は、その様なネットワークの１つであるコンテンツ・セントリック・ネットワーク（ＣＣＮ：Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ）を開示している。ＣＣＮを構成する通信装置である各転送装置は、コンテンツ名と、当該コンテンツ名が示すコンテンツを公開しているサーバ装置への経路（パス）を有するインタフェースとの対応関係を示すＦＩＢ（Ｆｏｗａｒｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）テーブルを維持している。各転送装置は、コンテンツを要求するインタレスト・パケット（配信要求メッセージ）を受信すると、当該インタレスト・パケットを、当該コンテンツを公開しているサーバ装置に向けて転送するため、ＦＩＢに基づきインタレスト・パケットを転送するインタフェースを決定する。
【０００３】
なお、ＣＣＮにおいて、コンテンツは、複数のチャンクと呼ばれるセグメントに分割され、コンテンツはセグメント毎に配信される。また、インタレスト・パケットも、要求するセグメントを指定するものである。また、ＣＣＮにおいて、転送装置及びクライアント装置は、インタレスト・パケットを送信したインタフェースで、当該インタレスト・パケットで要求したセグメントを受信する。ここで、ＣＣＮにおいて、コンテンツを転送した転送装置は、当該コンテンツをキャッシュできる。転送装置は、受信したインタレスト・パケットが要求するセグメントをキャッシュしている場合、当該インタレスト・パケットを転送することなく、キャッシュしているコンテンツを、当該インタレスト・パケットを送信したクライアント装置に向けて送信することができる。
【０００４】
非特許文献２は、転送装置が、転送したセグメントをキャッシュするか否かを判定する方法を開示している。具体的には、第１リンク及び第２リンクを有する転送装置が、第１コンテンツを第１リンクで受信して第２リンクに送信したものとする。転送装置は、第１リンクの帯域幅及び第２リンクの帯域幅を、それぞれ、第１リンクを利用しているクライアント装置の数及び第２リンクを使用しているクライアント装置の数で除した値を第１リンク及び第２リンクそれぞれのクライアント装置当たりの帯域幅（第１帯域幅）として求める。転送装置は、第１コンテンツのデータ量を、第１リンク及び第２リンクの第１帯域幅でそれぞれ除した値を第１リンク及び第２リンクそれぞれのコストとして求める。リンクのコストは、当該リンクによるコンテンツの、１クライアント装置当たりの転送時間を示している。そして、転送装置は、第１リンクのコストから第２リンクのコストを減じた値に第１コンテンツの人気度を示す値を乗じた値を、第１コンテンツの有用値として計算する。転送装置は、第１コンテンツをキャッシュするための空きがない場合、キャッシュされている第２コンテンツに第１コンテンツより有用値が低いものがあるかを判定し、低いものがあると有用値の低い第２コンテンツをキャシュから取り除き、第１コンテンツをキャッシュする。一方、第２コンテンツの有用値が第１コンテンツの有用値より高い場合、転送装置は、第１コンテンツをキャッシュしない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７７２３４号公報
【非特許文献】
【０００６】
【非特許文献１】Ｖ．Ｊａｃｏｂｓｏｎ，ｅｔ  ａｌ．，"Ｎｅｔｗｏｒｋｉｎｇ  Ｎａｍｅｄ  Ｃｏｎｔｅｎｔ"，ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＣｏＮＥＸＴ  ２００９，２００９年１２月
【非特許文献２】Ｍ．Ｂａｄｏｖ，ｅｔ  ａｌ．，"Ｃｏｎｇｅｓｔｉｏｎ−Ａｗａｒｅ  Ｃａｃｈｉｎｇ  ａｎｄ  Ｓｅａｒｃｈ  ｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ−Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｓ"，ＡＣＭ  ＩＣＮ，２０１４年
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献２に記載の方法の考え方は、キャッシュすることでコンテンツの転送時間が短くなる程、高くなる有用値により、キャッシュするか否かを判定するものである。しかしながら、非特許文献２に記載の方法は、転送装置が直接接続するリンクの転送時間のみを考慮するものであり、転送装置に直接接続しないリンクの転送時間は考慮されない。したがって、ネットワーク全体を見たときには、キャッシュするコンテンツを適切に選択していないかもしれない。また、１つのコンテンツの各セグメントを複数の経路を使用して取得する構成の場合、コンテンツの有用値を計算できない。
【０００８】
本発明は、キャッシュするコンテンツを効果的に決定する通信装置を提供するものである。
【課題を解決するための手段】
【０００９】
本発明の一側面によると、コンテンツ配信ネットワークの通信装置は、コンテンツをキャッシュするキャッシュ手段と、コンテンツを含むデータ・パケットを受信すると、当該コンテンツを要求した装置に向けて転送する転送手段と、所定期間に受信したデータ・パケットの第１フィールドに含まれる値を、前記所定期間に受信したデータ・パケットに含まれるコンテンツ毎に合計してコンテンツのコストを算出する算出手段と、前記算出手段が算出したコンテンツのコストと、前記キャッシュ手段がキャッシュしているコンテンツのコストに基づき、前記受信したデータ・パケットに含まれるコンテンツと、前記キャッシュ手段がキャッシュしているコンテンツから、前記キャッシュ手段にキャッシュするコンテンツを選択する選択手段と、を備えており、前記転送手段は、受信したデータ・パケットの第１フィールドに含まれる値に、前記受信したデータ・パケットを送信するリンクの価格の値を加えた値を、前記受信したデータ・パケットの第１フィールドに設定して、当該リンクに送信し、前記選択手段は、前記算出手段が算出したコンテンツと同じコンテンツが前記キャッシュ手段にキャッシュされていると、当該コンテンツのコストとして前記算出手段が算出したコストを使用して前記キャッシュ手段にキュッシュするコンテンツを選択することを特徴とする。
【発明の効果】
【００１０】
キャッシュするコンテンツを効果的に決定することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態によるコンテンツ配信ネットワークの構成図。
【図２】一実施形態によるデータ・パケットを示す図。
【図３】一実施形態によるコスト計算の説明図。
【図４】一実施形態によるキャッシュされているコンテンツのコストを示す図。
【図５】一実施形態による転送装置の構成図。
【発明を実施するための形態】
【００１２】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【００１３】
図１は、本実施形態によるコンテンツ配信ネットワークの概略的な構成図である。なお、以下の説明において、コンテンツ配信ネットワークは、ＣＣＮであるものとする。しかしながら、本発明は、コンテンツを配信した転送装置が、当該コンテンツをキャッシュでき、キャッシュしているコンテンツの配信要求メッセージを受信すると、当該配信要求メッセージを転送することなく、キャッシュしている当該コンテンツを当該配信要求メッセージの送信元に向けて送信できるコンテンツ配信ネットワークに適用できる。
【００１４】
図１において、クライアント装置１は、コンテンツを取得する通信装置であり、転送装置２１〜２３は、コンテンツ配信ネットワークを構成する通信装置であり、コンテンツ配信要求メッセージであるインタレスト・パケットの転送と、コンテンツを含むデータ・パケットの転送を行う。また、転送装置２１〜２３は、転送したコンテンツをキャッシュする機能を有している。図１に示す様に、転送装置２１は、リンク３１により転送装置２２
と接続し、リンク３２で転送装置２３と接続している。また、転送装置２２は、リンク３３により図示しない他の転送装置に接続し、転送装置２３は、リンク３４により図示しない他の転送装置に接続している。なお、図１においては図の簡略化のため１つのクライアント装置１のみを示しているが、転送装置２１には、１つ以上のクライアント装置１が接続され得る。また、コンテンツ配信ネットワークには、図示しないサーバ装置が接続され、サーバ装置は公開するコンテンツを保持している。
【００１５】
クライアント装置１は、コンテンツを取得する際、コンテンツ名及びセグメント番号を含むインタレスト・パケットを転送装置２１に送信する。転送装置２１は、インタレスト・パケットで指定されたコンテンツ名及びセグメント番号に対応するセグメントをキャッシュしていると、当該インタレスト・パケットを転送することなく、要求されたセグメントをキャッシュから取り出してクライアント装置１に配信できる。一方、インタレスト・パケットで指定されたコンテンツ名及びセグメント番号に対応するセグメントを転送装置２１がキャッシュしていない場合、転送装置２１は、保持しているＦＩＢに基づき、当該インタレスト・パケットを転送装置２２又は２３に転送する。転送装置２１からインタレスト・パケットを受信した転送装置２２又は２３は、同様に、要求されたセグメントをキャッシュしていると、キャッシュしているセグメントをクライアント装置１に送信し、キャッシュしていないと、図示しない転送装置に転送する。仮にインタレスト・パケットにより要求されるセグメントを、インタレスト・パケットの転送に係る転送装置がキャッシュしていないと、最終的に、インタレスト・パケットはサーバ装置に転送され、サーバ装置は要求されたセグメントを配信する。一方、インタレスト・パケットにより要求されるセグメントをキャッシュしている転送装置が当該インタレスト・パケットを受信すると、当該転送装置は、キャッシュしているセグメントを配信する。セグメントは、インタレスト・パケットと同じ経路を逆向きに転送され、最終的にクライアント装置１に配信される。
【００１６】
本実施形態において、セグメントを含むデータ・パケットに、図２に示す様に、価格フィールドを設ける。キャッシュしているセグメントを送信する転送装置、或いは、保持しているセグメントを送信するサーバ装置は、送信するリンクの輻輳度合いに応じて、当該リンクの価格を決定し、決定した価格を価格フィールドに設定する。リンクの価格が高いことは、当該リンクの混雑度が高いことを意味する。例えば、転送装置、サーバ装置は、当該リンクに送信すべきデータの待ち行列（キュー）の長さに応じて価格を決定できる。この場合、待ち行列の長さが長くなると価格が高くなる様にする。また、転送装置及びサーバ装置は、ＴＣＰ  Ｒｅｎｏプロトコルを監視して、リンクでのパケット損失の確率に応じて価格を決定できる。この場合、パケット損失の確率が高くなると価格が高くなる様にする。さらに、転送装置及びサーバ装置は、リンクの帯域により価格を決定できる。この場合、リンクの帯域が小さくなると価格が高くなる様にする。さらに、転送装置、サーバ装置は、ＲＦＣ３１６８で規定されるＥＣＮ（Ｅａｒｌｙ  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ）を監視して価格を決定できる。
【００１７】
さらに、本実施形態において、データ・パケットを転送する転送装置は、受信したデータ・パケットの価格フィールドに設定されている価格に、当該データ・パケットを送信するリンクの価格を加えた値を、当該データ・パケットの価格フィールドに設定して転送する。例えば、図１の構成において、クライアント装置１が送信したインタレスト・パケットの応答として、転送装置２２がリンク３３から価格フィールドに"５"が設定されたデータ・パケットを受信し、転送装置２２がリンク３１の価格を"３"であると判定していると、転送装置２２は、当該データ・パケットの価格フィールドに"８"を設定して転送装置２１に転送する。したがって、各転送装置が受信するデータ・パケットの価格フィールドには、当該データ・パケットがそれまでに経由したリンクの価格の合計値が設定されていることになる。
【００１８】
続いて、本実施形態において、転送装置２がどの様に転送したデータ・パケットのセグメントをキャッシュするか否かを決定するかについて、転送装置２１を例にして説明する。転送装置２１は所定の期間Ｔ毎に受信したデータ・パケットの価格フィールドの値をコンテンツ毎に集計する。例えば、図３に示す様に、転送装置２１がある期間Ｔの間にコンテンツ＃１のセグメント＃１及び＃３をリンク３１から受信して転送し、コンテンツ＃１のセグメント＃２をリンク３２から受信して転送したものとする。また、各セグメントを含むデータ・パケットの価格フィールドの受信時の値が、それぞれ、図３に示す通りであったものとする。この場合、コンテンツ＃１のコスト（価格の合計値）は"１４"となる。同様に、転送装置２１がこの期間Ｔの間にコンテンツ＃２のセグメント＃１０、＃１１及び＃１３を図３に示すリンクから受信して転送したものとする。また、各セグメントを含むデータ・パケットの価格フィールドの受信時の値が、それぞれ、図３に示す通りであったものとする。この場合、コンテンツ＃２のコスト（価格の合計値）は"１２"となる。
【００１９】
また、転送装置２１は、キャッシュしているコンテンツについて、それぞれ、最新の価格を維持している。図４は、転送装置２１がキャッシュしているコンテンツを示している。転送装置２１は、キャッシュの空き容量が大きく、受信したコンテンツ＃１のセグメント＃１〜＃３及びコンテンツ＃２のセグメント＃１０、＃１１及び＃１３を総てキャシュできる場合、これらの総てのセグメントをキャッシュする。一方、総てのセグメントをキャッシュできない場合、コンテンツのコストに基づきキャッシュするコンテンツのセグメントを決定する。
【００２０】
まず、転送装置２１は、期間Ｔに転送したコンテンツのコストで、キャッシュされているコンテツの価格を更新する。期間Ｔに転送したコンテンツの内、コンテンツ＃１はキャッシュされていないため、コンテンツ＃１の価格の更新はない。一方、期間Ｔに転送したコンテンツの内、コンテンツ＃２はキャッシュされているため、キャッシュされているコンテンツ＃２の価格"１６"を、期間Ｔで求めた価格"１２"に更新する。そして、転送装置２１は、最も価格の低いコンテンツであるコンテンツ＃３をキャッシュから削除し、期間Ｔに受信したコンテンツをキャッシュすると決定する。
【００２１】
なお、期間Ｔに転送したセグメントをキャッシュするために、コンテンツ＃３の総てのセグメントをキャッシュから削除する必要が無い場合には、期間Ｔに転送したセグメントをキャッシュするために必要な容量を確保するために必要な数のセグメントのみを選択してキャッシュから削除する。削除するセグメントの選択方法は、任意であるが、例えば、最も先にキャッシュされたセグメントから順に選択する。或いは、クライアント装置１から要求された数の最も少ないセグメントから順に選択する。また、期間Ｔに転送したセグメントをキャッシュするために、コンテンツ＃３の総てのセグメントをキャッシュから削除しても足らない場合には、次に、コストの低いコンテンツのセグメントをキャッシュから削除する。本例において、コンテンツ＃３の次にコストの低いコンテンツは、コンテンツ＃２である。したがって、転送装置２は、キャッシュしているコンテツ＃２のセグメントと、期間Ｔに転送したコンテツ＃２のセグメントから、セグメントを選択し、選択したセグメントが既にキャッシュされているものであれば、キャッシュから削除し、選択したセグメントが期間Ｔに転送したものであれば、当該セグメントをキャッシュしないと判定する。
【００２２】
以上、本実施形態においては、セグメントを配信するためのデータ・パケットに価格フィールドを設ける。価格フィールドに設定される値は、当該データ・パケットが経由したリンクの価格の積算値である。転送装置は、所定の期間に転送したデータ・パケットの価格フィールドの値を、コンテンツ毎に合計してコンテンツのコストを求める。そして、転送装置は、所定の期間に転送したコンテンツのコストと、キャッシュしているコンテンツのコストから、キャッシュするコンテンツをコストの高い順に選択する。コンテンツのコストは、所定の期間に要求された数が大きい程、高くなる。また、リンクの価格は、当該リンクの混雑度が高い程、高くなるため、コンテンツのコストは、混雑度の高いリンクを経由するほど、かつ、経由するリンク数の大きい程、高くなる。つまり、コンテンツのコストは、人気が高い、経由するリンク数が大きい、混雑度の高いリンクを経由していることのいずれか、或いは、それらの組み合わせを示している。したがって、コストの高いコンテンツをクライアント装置１に近い側にキャッシュすることで、当該コンテンツを配信することによるネットワークの負荷を抑えることができる。
【００２３】
図５は、本実施形態による転送装置の構成図である。保持部２００は、セグメントを保存、つまり、セグメントのキャッシュとして機能すると共に、ＦＩＢ等の各種情報を保持する。インタフェース部２０３は、複数のインタフェースを含み、他の通信装置とリンクを介して信号の送受信を行う。処理部２０２は、受信したインタレスト・パケットの処理と、受信したデータ・パケットの処理を行う。具体的には、処理部２０２は、インタレスト・パケットを受信すると、受信したインタレスト・パケットにより要求されているセグメントが保持部２００にキャッシュされているかを判定する。処理部２０２は、当該セグメントがキャッシュされていると、当該セグメントを含むデータ・パケットを、当該インタレスト・パケットを受信したインタフェースから送信する。一方、処理部２０２は、当該セグメントが保持部２００にキャッシュされていないと、保持部２００が保持するＦＩＢに従い当該インタレスト・パケットを送信するインタフェースを決定し、決定したインタフェースから当該インタレスト・パケットを送信する。また、処理部２０２は、転送したインタレスト・パケットの応答としてデータ・パケットを受信すると、当該データ・パケットを、当該インタレスト・パケットを受信したインタフェースから送信する。
【００２４】
なお、処理部２０２は、送信するデータ・パケットの価格フィールドに値を設定する。ここで、転送装置がキャッシュしていたセグメントを送信する場合、処理部２０２は、当該セグメントを含むデータ・パケットを送信するインタフェースに接続するリンクの価格を価格フィールドに設定する。一方、受信したデータ・パケットを転送する場合、処理部２０２は、受信したデータ・パケットの価格フィールドに設定されている値に、当該データ・パケットを送信するインタフェースに接続するリンクの価格を加えた値を価格フィールドに設定する。なお、インタフェース部２０３の各インタフェースに接続するリンクの価格は、コスト計算部２０１が決定する。また、コスト計算部２０１は、所定期間毎に処理部２０２が受信したデータ・パケットを監視し、コンテンツのコストを上述した様に計算する。そして、コンテンツのコストに基づきキャッシュするコンテンツ又はセグメントを計算する。
【００２５】
なお、本発明による転送装置は、コンピュータを転送装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【図１】
0006403567.tif 000002
【図２】
0006403567.tif 000003
【図３】
0006403567.tif 000004
【図４】
0006403567.tif 000005
【図５】
0006403567.tif 000006