(57)【要約】【課題】コンテンツを１つ以上のセグメントに分割して配信し、通信装置は受信したセグメントをその後の配信のため保持できるコンテンツ配信システムにおいて、効果的に保持するセグメントを選択する。【解決手段】通信装置は、配信要求メッセージを転送したことの応答としてセグメントを受信すると配信要求メッセージの送信元に向けて転送する通信手段と、保持手段に受信したセグメントを保持させるための空き容量が存在しない場合には受信したセグメント及び保持手段に保持されているセグメントの廃棄順位に従い保持手段に保持させないセグメントを判定する判定手段と、を備えており、判定手段は、セグメントの廃棄順位の判定に、当該セグメントを示す配信要求メッセージを転送してから、当該配信要求メッセージを転送したことの応答として当該セグメントを受信するまでのラウンドトリップ時間を使用する。【選択図】図３
2015049854.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを１つ以上のセグメントに分割して配信するコンテンツ配信システムの通信装置であって、
セグメントを保持する保持手段と、
保持していないコンテンツのセグメントを示す配信要求メッセージを受信すると、前記受信した配信要求メッセージを所定の判断基準に従い転送し、前記配信要求メッセージを転送したことの応答としてセグメントを受信すると、前記受信したセグメントを前記配信要求メッセージの送信元に向けて転送する通信手段と、
前記保持手段に前記受信したセグメントを保持させるための空き容量が存在するかを判定し、空き容量が存在しない場合には前記受信したセグメント及び前記保持手段に保持されているセグメントの廃棄順位に従い前記保持手段に保持させないセグメントを判定する判定手段と、
を備えており、
前記判定手段は、セグメントの前記廃棄順位の判定に、当該セグメントを示す配信要求メッセージを転送してから、当該配信要求メッセージを転送したことの応答として当該セグメントを受信するまでのラウンドトリップ時間を使用することを特徴とする通信装置。
【請求項２】
前記廃棄順位は、前記ラウンドトリップ時間が小さくなる程高くなることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記判定手段は、セグメントの前記廃棄順位の判定に、当該セグメントを示す配信要求メッセージの受信頻度をさらに使用することを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記廃棄順位は、前記ラウンドトリップ時間が小さくなる程高くなり、前記受信頻度が小さい程高くなることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記判定手段は、前記保持手段に前記受信したセグメントを保持させるための空き容量が存在する場合には前記受信したセグメントを前記保持手段に保持させることを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
請求項１から５のいずれか１項に記載の通信装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツ配信システムにおいて、コンテンツを転送した通信装置における当該コンテンツのキャッシュ技術に関する。
【背景技術】
【０００２】
取得するコンテンツがどのサーバ装置に保存されているかを、コンテンツを取得するクライアント装置が意識することなく、コンテンツ名に基づき、コンテンツの配信要求メッセージのパケットのルーティングや、コンテンツの配信を行うネットワークが提案されている。特許文献１及び非特許文献１は、その様なネットワークの１つであるコンテンツ・セントリック・ネットワーク（ＣＣＮ：Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ）を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２７７２３４号公報
【非特許文献】
【０００４】
【非特許文献１】Ｖ．Ｊａｃｏｂｓｏｎ，ｅｔ  ａｌ．，"Ｎｅｔｗｏｒｋｉｎｇ  Ｎａｍｅｄ  Ｃｏｎｔｅｎｔ"，ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＣｏＮＥＸＴ  ２００９，２００９年１２月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
コンテンツ・セントリック・ネットワークにおいて、コンテンツを公開するサーバ装置は当該コンテンツを１つ以上のセグメントに分割し、クライアント装置はセグメント単位でコンテンツを取得する。また、コンテンツ・セントリック・ネットワークにおいて、クライアント装置へのセグメントの転送を行った通信装置（以下、中間装置と呼ぶ。）は、当該セグメントを保存でき、この中間装置は、自装置が保持しているセグメントの配信要求メッセージをクライアント装置から受信すると、当該配信要求メッセージをサーバ装置に転送することなく、自装置が保持するセグメントを、当該配信要求メッセージの送信元のクライアント装置に向けて送信できる。
【０００６】
中間装置がセグメントを保持するために使用できる記憶容量には上限があり、中間装置は、既に保持しているセグメントの合計容量が上限に達していると、転送するセグメントを新たに受信した際に、既に保持しているセグメント及び新たに受信したセグメントの中から当該中間装置で保持しないセグメントを決定する必要がある。しかしながら、特許文献１は、この決定方法については何ら述べていない。また、非特許文献１では、中間装置は、保持しているセグメントの中で配信に使用されてから判断時点までの期間が最も長いセグメントを廃棄して、新たに転送したセグメントを保持するとしている。
【０００７】
非特許文献１の方法は、配信要求メッセージにおいて要求される可能性の最も低いセグメントから削除するもの、つまり、保持しているセグメントが配信要求メッセージで指定される可能性（以下、ヒット率）を高くするものである。しかしながら、コンテンツ配信システムにおいては、ネットワーク内の帯域の使用効率を高め、クライアント装置がコンテンツを取得するのに要する時間を短くする様に中間装置において保持するセグメントを取捨選択することが望ましい。しかしながら、中間装置においてヒット率により取捨選択を行っても、ネットワーク内の帯域の使用効率を高め、クライアント装置がコンテンツを取得するのに要する時間を短くすることはできない。
【０００８】
本発明は、コンテンツを１つ以上のセグメントに分割して配信し、通信装置は受信したセグメントをその後の配信のため保持できるコンテンツ配信システムにおいて、効果的に保持するセグメントを選択する通信装置及びプログラムを提供するものである。
【課題を解決するための手段】
【０００９】
本発明の一側面によると、コンテンツを１つ以上のセグメントに分割して配信するコンテンツ配信システムの通信装置であって、セグメントを保持する保持手段と、保持していないコンテンツのセグメントを示す配信要求メッセージを受信すると、前記受信した配信要求メッセージを所定の判断基準に従い転送し、前記配信要求メッセージを転送したことの応答としてセグメントを受信すると、前記受信したセグメントを前記配信要求メッセージの送信元に向けて転送する通信手段と、前記保持手段に前記受信したセグメントを保持させるための空き容量が存在するかを判定し、空き容量が存在しない場合には前記受信したセグメント及び前記保持手段に保持されているセグメントの廃棄順位に従い前記保持手段に保持させないセグメントを判定する判定手段と、を備えており、前記判定手段は、セグメントの前記廃棄順位の判定に、当該セグメントを示す配信要求メッセージを転送してから、当該配信要求メッセージを転送したことの応答として当該セグメントを受信するまでのラウンドトリップ時間を使用することを特徴とする。
【発明の効果】
【００１０】
効果的に保持するセグメントを選択することができる。
【図面の簡単な説明】
【００１１】
【図１】コンテンツ・セントリック・ネットワークの説明図。
【図２】一実施形態による中間装置の概略的な構成図。
【図３】一実施形態による中間装置が保持するデータを示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【００１３】
まず、図１を用いてコンテンツ・セントリック・ネットワークの概略を説明する。コンテンツを公開したいユーザは、サーバ装置１に当該コンテンツを保存する。サーバ装置１は、保持している公開用のコンテンツをそれぞれ１つ以上のセグメントに分割すると共に、保持しているコンテンツ名を他の装置に報知する。コンテンツの転送を担う中間装置２１及び２２は、サーバ装置１が報知するコンテンツ名から、コンテンツ名に基づくルーティング・テーブルを作成する。例えば、クライアント装置３１のユーザが取得したいコンテンツが、サーバ装置１に保持されているものとする。このとき、クライアント装置３１のユーザが取得したいコンテンツ名をクライアント装置３１に入力すると、クライアント装置３１は、入力されたコンテンツ名を含むインタレスト・パケット（配信要求メッセージ）を中間装置２１に向けて送信する。なお、クライアント装置３１は、入力されたコンテンツ名に対応するコンテンツのいずれのセグメントもまだ受信していないため、クライアント装置３１は、このインタレスト・パケットにセグメント番号"０１"も含める。
【００１４】
中間装置２１は、ルーティング・テーブルから、クライアント装置３１から受信したインタレスト・パケットに含まれるコンテンツ名に対応するコンテンツをサーバ装置１が保持していると認識し、このインタレスト・パケットをサーバ装置１に転送する。クライアント装置３１からのインタレスト・パケットを受信したサーバ装置１は、受信したインタレスト・パケットで指定されたコンテンツの１番目のセグメントを中間装置２１に送信し、中間装置２１は、サーバ装置１から受信したセグメントをクライアント装置３１に送信する。また、このとき、中間装置２１は、転送したセグメントを保存する。
【００１５】
クライアント装置３１は、セグメント番号を１ずつ増加させながら、入力されたコンテンツ名を含むインタレスト・パケットを中間装置２１に転送し、上述したのと同様に、サーバ装置１から、入力されたコンテンツ名の残りのセグメントを受信する。なお、最後のセグメントには、最後のセグメントであることを示す情報が含まれており、クライアント装置３１は、この情報によりコンテンツの総てのセグメントを受信したことを認識する。また、中間装置２１は、クライアント装置３１が要求したすべてのコンテンツの転送に関わったことにより、当該コンテンツの総てのセグメントを保持することになる。
【００１６】
その後、例えば、クライアント装置３２が、クライアント装置３１が取得したのと同じコンテンツについてのインタレスト・パケット（セグメント番号は"０１"を含む）を中間装置２２に送信すると、中間装置２２は、ルーティング・テーブルに基づき、このインタレスト・パケットを中間装置２１に転送する。中間装置２１は、受信したインタレスト・パケットが示すコンテンツの番号１のセグメントを保持しているため、受信したインタレスト・パケットをサーバ装置１に転送することなく、自装置が保持している当該コンテンツの番号１のセグメントを中間装置２２に送信し、中間装置２２は、受信したコンテンツをクライアント装置３２に送信する。また、このとき、中間装置２２は、転送したコンテンツのセグメントを保存する。以後、残りのセグメントも同様に処理され、よってクライアント装置３２へのコンテンツの配信により、中間装置２２も当該コンテンツの総てのセグメントを保持することになる。その後、クライアント装置３３が、クライアント装置３１及び３２が取得したのと同じコンテンツの取得を要求すると、クライアント装置３３は、中間装置２２が保持するコンテンツを受信する。
【００１７】
図２は、一実施形態による中間装置２１の構成図である。なお、中間装置２２の構成も中間装置２１と同様である。通信部２１１は、複数の通信インタフェースを有し、他の装置（クライアント装置又は他の中間装置）からコンテンツのセグメントを示す配信要求メッセージを受信すると、その判定部２１２は、受信した配信要求メッセージが示すセグメントを保持部２１０が保持しているかを判定する。ここで、保持部２１０が当該セグメントを保持している場合には、通信部２１１は、当該セグメントを保持部２１０から読み出して配信要求メッセージの送信元の装置に向けて送信する。
【００１８】
一方、保持部２１０が当該セグメントを保持していない場合には、ルーティング・テーブル２１３に基づき、受信した配信要求メッセージをサーバ装置１に向けて転送する。また、このとき通信部２１１は、保持部２１０の未処理テーブルに、転送した配信要求メッセージについて、配信要求メッセージで指定されているセグメントを示す値と、配信要求メッセージの応答を送信するインタフェースと、配信要求メッセージの転送時刻を示す情報を追加する。図３（Ｂ）は、未処理テーブルの例である。図３（Ｂ）においては、"Ｎａｍｅ２"という名のコンテンツの２番目及び３番目のセグメントを要求する配信要求メッセージをそれぞれ時刻ｔａ及びｔｂにサーバ装置１に向けて転送したことと、当該配信要求メッセージの応答として、サーバ装置１からセグメントを受信すると、受信したセグメントを配信要求メッセージの送信元の装置に配信するために、インタフェースＩＦ１に出力することが示されている。
【００１９】
なお、サーバ装置１に向けて転送した配信要求メッセージと同じセグメントを指定する配信要求メッセージを、既に転送した配信要求メッセージの応答として当該セグメントを受信する前に受信した場合、通信部２１１は、保持部２１０の未処理テーブルに後から受信した配信要求メッセージに関する情報を追加はするが、サーバ装置１に向けての転送は行わない。なお、この場合、配信要求メッセージの転送は行わないため、未処理テーブルの転送時刻フィールドは、ヌル値のままとするか、転送していないことを示す値を設定する。さらに、転送先インタフェースには、複数の値を設定できる様にしておき、サーバ装置１に向けて転送した配信要求メッセージと同じセグメントを指定する配信要求メッセージを、既に転送した配信要求メッセージの応答として当該セグメントを受信する前に受信した場合、後から受信した配信要求メッセージに対する転送先インタフェースを、未処理テーブルの当該セグメントに対するエントリに追加する構成とすることもできる。具体的には、図３（Ｂ）の状態で、"Ｎａｍｅ２"の２番目のセグメントを要求する配信要求メッセージを受信した、この配信要求メッセージに対する転送先インタフェースがＩＦ２である場合、"Ｎａｍｅ２"の２番目のセグメントに対応するエントリの転送先インタフェースにＩＦ２を追加する形態であっても良い。
【００２０】
通信部２１１は、サーバ装置１に向けて転送した配信要求メッセージの応答としてセグメントを受信すると、未処理テーブルに従いセグメントを転送すると共に、転送済となったセグメントに関する未処理テーブルのエントリを削除する。さらに、判定部２１２は、保持部２１０に当該セグメントを保持するための空き容量があるかを判定し、空き容量がある場合には、当該セグメントを保持部２１０に保持させる。さらに、保持部２１０が保持しているセグメントを管理する管理テーブルに新たに保持したセグメントについての情報を追加する。
【００２１】
図３（Ａ）は、管理テーブルの例である。図３（Ａ）に示す様に、管理テーブルは、保持しているセグメント名を示す情報と、当該セグメントのラウンドトリップ時間を含む。なお、管理テーブルは、例えば、セグメントの保存位置を示す図示しない情報等も含む。ここで、ラウンドトリップ時間とは、未処理テーブルの配信要求メッセージの転送時刻と、当該配信要求メッセージの応答として当該セグメントを受け取った時刻の差である。
【００２２】
判定部２１２は、転送のために新たに受信したセグメントを保持するための空き容量が保持部２１０にない場合、既に保持部２１０に保持しているセグメントと新たに受信したセグメントから廃棄順位を算出し、廃棄順位の最も高いものを廃棄すると決定する。つまり、廃棄順位の最も高いセグメントが既に保持部２１０に保持されているものである場合、通信部２１１は、廃棄順位の最も高いセグメントを保持部２１０から削除して新たに受信したセグメントを保持部２１０に保持させる。また、廃棄順位の最も高いセグメントが新たに受信したものである場合、通信部２１１は、受信したセグメントを転送後に廃棄する。
【００２３】
本実施形態において、この廃棄順位は、各セグメントのラウンドトリップ時間に基づき算出する。なお、廃棄順位は、ラウンドトリップ時間の短いものほど高くする。クライアント装置があるセグメントをある中間装置から取得する場合を基準とした、当該中間装置が当該セグメントを保持していなかった場合の取得時間の変動量は、当該中間装置における当該セグメントのラウンドトリップ時間に等しくなる。したがって、ラウンドトリップ時間の小さいセグメントは、削除したとしてもクラインアント装置におけるセグメントの取得にかかる時間への影響は小さい。
【００２４】
さらに、セグメントのラウンドトリップ時間が長いことは、その中間装置の次に当該セグメントを保存している中間装置又はサーバ装置までの距離が長いことを意味し、これは、多くの伝送区間を経由している可能性が高いことを意味する。したがって、セグメントのラウンドトリップ時間が長いセグメントを削除すると、当該セグメントを示す配信要求メッセージをその後に受信した場合、配信要求メッセージの転送及びその後のセグメントの受信によりネットワークの多くの資源を消費することになる。したがって、ラウンドトリップ時間の小さいセグメントから先に削除することで、ネットワークの使用効率を高めることができる。
【００２５】
なお、各セグメントのラウンドトリップ時間に加えセグメントの要求頻度を考慮して廃棄順位を算出することもできる。この場合、ランドトリップ時間が小さい程、廃棄順位は高く、かつ、コンテンツの要求頻度が小さい程、廃棄順位は高くなる。例えば、ラウンドトリップ時間とコンテンツの要求頻度を乗じた値に基づき廃棄順位を算出することができる。なお、要求頻度は、過去所定期間の要求数や、セグメントを保持してからの累積要求数や、所定期間毎の要求数の平均値とすることができる。また、現在時点から、過去に要求された時までの時間が長い程小さくなる重み係数で重みづけすることもできる。なお、新たに受信したセグメントの要求頻度は０又は小さい値であるため、要求頻度を使用する場合には、新たに受信したセグメントは廃棄順位算出の対象外として常に保存することができる。さらに、新たに受信したセグメントの要求頻度を０以外の所定値、例えば、既に保持されているセグメントの要求頻度に基づく値、例えば、平均値、最小値、最大値とすることができる。
【００２６】
なお、本発明による中間装置２１は、コンピュータを上記中間装置２１として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【図１】
2015049854.tif 000003
【図２】
2015049854.tif 000004
【図３】
2015049854.tif 000005