(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6081322
(24)【登録日】2017年1月27日
(45)【発行日】2017年2月15日
(54)【発明の名称】転送したコンテンツを保存する通信装置
(51)【国際特許分類】
G06F 13/00 20060101AFI20170206BHJP
H04N 21/2183 20110101ALI20170206BHJP
【FI】
G06F13/00 520R
G06F13/00 540A
H04N21/2183
【請求項の数】6
【全頁数】8
(21)【出願番号】特願2013-183374(P2013-183374)
(22)【出願日】2013年9月4日
(65)【公開番号】特開2015-49854(P2015-49854A)
(43)【公開日】2015年3月16日
【審査請求日】2016年2月2日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100131886
【弁理士】
【氏名又は名称】坂本 隆志
(74)【代理人】
【識別番号】100170667
【弁理士】
【氏名又は名称】前田 浩次
(72)【発明者】
【氏名】横田 健治
(72)【発明者】
【氏名】田上 敦士
【審査官】
新田 亮
(56)【参考文献】
【文献】
特開2012−151652(JP,A)
【文献】
Junghwan Lee et al.,Cache Replacement Strategies for Scalable Video Streaming in CCN,Proceedings of 19th Asia-Pacific Conference on Communications,2013年 8月,p.184-189
【文献】
Haopei Wang et al.,A Data Structure for Content Cache Management in Content-Centric Networking,Proceedings of 3th International Conference on Networking and Distributed Computing,2012年,p.11-15
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
H04N 21/2183
(57)【特許請求の範囲】
【請求項1】
コンテンツを1つ以上のセグメントに分割して配信するコンテンツ配信システムの通信装置であって、
セグメントを保持する保持手段と、
保持していないコンテンツのセグメントを示す配信要求メッセージを受信すると、前記受信した配信要求メッセージを所定の判断基準に従い転送し、前記配信要求メッセージを転送したことの応答としてセグメントを受信すると、前記受信したセグメントを前記配信要求メッセージの送信元に向けて転送する通信手段と、
前記保持手段に前記受信したセグメントを保持させるための空き容量が存在するかを判定し、空き容量が存在しない場合には前記受信したセグメント及び前記保持手段に保持されているセグメントの廃棄順位に従い前記保持手段に保持させないセグメントを判定する判定手段と、
を備えており、
前記判定手段は、セグメントの前記廃棄順位の判定に、当該セグメントを示す配信要求メッセージを転送してから、当該配信要求メッセージを転送したことの応答として当該セグメントを受信するまでのラウンドトリップ時間を使用することを特徴とする通信装置。
【請求項2】
前記廃棄順位は、前記ラウンドトリップ時間が小さくなる程高くなることを特徴とする請求項1に記載の通信装置。
【請求項3】
前記判定手段は、セグメントの前記廃棄順位の判定に、当該セグメントを示す配信要求メッセージの受信頻度をさらに使用することを特徴とする請求項1又は2に記載の通信装置。
【請求項4】
前記廃棄順位は、前記ラウンドトリップ時間が小さくなる程高くなり、前記受信頻度が小さい程高くなることを特徴とする請求項3に記載の通信装置。
【請求項5】
前記判定手段は、前記保持手段に前記受信したセグメントを保持させるための空き容量が存在する場合には前記受信したセグメントを前記保持手段に保持させることを特徴とする請求項1から4のいずれか1項に記載の通信装置。
【請求項6】
請求項1から5のいずれか1項に記載の通信装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンテンツ配信システムにおいて、コンテンツを転送した通信装置における当該コンテンツのキャッシュ技術に関する。
【背景技術】
【0002】
取得するコンテンツがどのサーバ装置に保存されているかを、コンテンツを取得するクライアント装置が意識することなく、コンテンツ名に基づき、コンテンツの配信要求メッセージのパケットのルーティングや、コンテンツの配信を行うネットワークが提案されている。特許文献1及び非特許文献1は、その様なネットワークの1つであるコンテンツ・セントリック・ネットワーク(CCN:Content Centric Networking)を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−277234号公報
【非特許文献】
【0004】
【非特許文献1】V.Jacobson,et al.,"Networking Named Content",in Proceedings of ACM CoNEXT 2009,2009年12月
【発明の概要】
【発明が解決しようとする課題】
【0005】
コンテンツ・セントリック・ネットワークにおいて、コンテンツを公開するサーバ装置は当該コンテンツを1つ以上のセグメントに分割し、クライアント装置はセグメント単位でコンテンツを取得する。また、コンテンツ・セントリック・ネットワークにおいて、クライアント装置へのセグメントの転送を行った通信装置(以下、中間装置と呼ぶ。)は、当該セグメントを保存でき、この中間装置は、自装置が保持しているセグメントの配信要求メッセージをクライアント装置から受信すると、当該配信要求メッセージをサーバ装置に転送することなく、自装置が保持するセグメントを、当該配信要求メッセージの送信元のクライアント装置に向けて送信できる。
【0006】
中間装置がセグメントを保持するために使用できる記憶容量には上限があり、中間装置は、既に保持しているセグメントの合計容量が上限に達していると、転送するセグメントを新たに受信した際に、既に保持しているセグメント及び新たに受信したセグメントの中から当該中間装置で保持しないセグメントを決定する必要がある。しかしながら、特許文献1は、この決定方法については何ら述べていない。また、非特許文献1では、中間装置は、保持しているセグメントの中で配信に使用されてから判断時点までの期間が最も長いセグメントを廃棄して、新たに転送したセグメントを保持するとしている。
【0007】
非特許文献1の方法は、配信要求メッセージにおいて要求される可能性の最も低いセグメントから削除するもの、つまり、保持しているセグメントが配信要求メッセージで指定される可能性(以下、ヒット率)を高くするものである。しかしながら、コンテンツ配信システムにおいては、ネットワーク内の帯域の使用効率を高め、クライアント装置がコンテンツを取得するのに要する時間を短くする様に中間装置において保持するセグメントを取捨選択することが望ましい。しかしながら、中間装置においてヒット率により取捨選択を行っても、ネットワーク内の帯域の使用効率を高め、クライアント装置がコンテンツを取得するのに要する時間を短くすることはできない。
【0008】
本発明は、コンテンツを1つ以上のセグメントに分割して配信し、通信装置は受信したセグメントをその後の配信のため保持できるコンテンツ配信システムにおいて、効果的に保持するセグメントを選択する通信装置及びプログラムを提供するものである。
【課題を解決するための手段】
【0009】
本発明の一側面によると、コンテンツを1つ以上のセグメントに分割して配信するコンテンツ配信システムの通信装置であって、セグメントを保持する保持手段と、保持していないコンテンツのセグメントを示す配信要求メッセージを受信すると、前記受信した配信要求メッセージを所定の判断基準に従い転送し、前記配信要求メッセージを転送したことの応答としてセグメントを受信すると、前記受信したセグメントを前記配信要求メッセージの送信元に向けて転送する通信手段と、前記保持手段に前記受信したセグメントを保持させるための空き容量が存在するかを判定し、空き容量が存在しない場合には前記受信したセグメント及び前記保持手段に保持されているセグメントの廃棄順位に従い前記保持手段に保持させないセグメントを判定する判定手段と、を備えており、前記判定手段は、セグメントの前記廃棄順位の判定に、当該セグメントを示す配信要求メッセージを転送してから、当該配信要求メッセージを転送したことの応答として当該セグメントを受信するまでのラウンドトリップ時間を使用することを特徴とする。
【発明の効果】
【0010】
効果的に保持するセグメントを選択することができる。
【図面の簡単な説明】
【0011】
【
図1】コンテンツ・セントリック・ネットワークの説明図。
【
図2】一実施形態による中間装置の概略的な構成図。
【
図3】一実施形態による中間装置が保持するデータを示す図。
【発明を実施するための形態】
【0012】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【0013】
まず、
図1を用いてコンテンツ・セントリック・ネットワークの概略を説明する。コンテンツを公開したいユーザは、サーバ装置1に当該コンテンツを保存する。サーバ装置1は、保持している公開用のコンテンツをそれぞれ1つ以上のセグメントに分割すると共に、保持しているコンテンツ名を他の装置に報知する。コンテンツの転送を担う中間装置21及び22は、サーバ装置1が報知するコンテンツ名から、コンテンツ名に基づくルーティング・テーブルを作成する。例えば、クライアント装置31のユーザが取得したいコンテンツが、サーバ装置1に保持されているものとする。このとき、クライアント装置31のユーザが取得したいコンテンツ名をクライアント装置31に入力すると、クライアント装置31は、入力されたコンテンツ名を含むインタレスト・パケット(配信要求メッセージ)を中間装置21に向けて送信する。なお、クライアント装置31は、入力されたコンテンツ名に対応するコンテンツのいずれのセグメントもまだ受信していないため、クライアント装置31は、このインタレスト・パケットにセグメント番号"01"も含める。
【0014】
中間装置21は、ルーティング・テーブルから、クライアント装置31から受信したインタレスト・パケットに含まれるコンテンツ名に対応するコンテンツをサーバ装置1が保持していると認識し、このインタレスト・パケットをサーバ装置1に転送する。クライアント装置31からのインタレスト・パケットを受信したサーバ装置1は、受信したインタレスト・パケットで指定されたコンテンツの1番目のセグメントを中間装置21に送信し、中間装置21は、サーバ装置1から受信したセグメントをクライアント装置31に送信する。また、このとき、中間装置21は、転送したセグメントを保存する。
【0015】
クライアント装置31は、セグメント番号を1ずつ増加させながら、入力されたコンテンツ名を含むインタレスト・パケットを中間装置21に転送し、上述したのと同様に、サーバ装置1から、入力されたコンテンツ名の残りのセグメントを受信する。なお、最後のセグメントには、最後のセグメントであることを示す情報が含まれており、クライアント装置31は、この情報によりコンテンツの総てのセグメントを受信したことを認識する。また、中間装置21は、クライアント装置31が要求したすべてのコンテンツの転送に関わったことにより、当該コンテンツの総てのセグメントを保持することになる。
【0016】
その後、例えば、クライアント装置32が、クライアント装置31が取得したのと同じコンテンツについてのインタレスト・パケット(セグメント番号は"01"を含む)を中間装置22に送信すると、中間装置22は、ルーティング・テーブルに基づき、このインタレスト・パケットを中間装置21に転送する。中間装置21は、受信したインタレスト・パケットが示すコンテンツの番号1のセグメントを保持しているため、受信したインタレスト・パケットをサーバ装置1に転送することなく、自装置が保持している当該コンテンツの番号1のセグメントを中間装置22に送信し、中間装置22は、受信したコンテンツをクライアント装置32に送信する。また、このとき、中間装置22は、転送したコンテンツのセグメントを保存する。以後、残りのセグメントも同様に処理され、よってクライアント装置32へのコンテンツの配信により、中間装置22も当該コンテンツの総てのセグメントを保持することになる。その後、クライアント装置33が、クライアント装置31及び32が取得したのと同じコンテンツの取得を要求すると、クライアント装置33は、中間装置22が保持するコンテンツを受信する。
【0017】
図2は、一実施形態による中間装置21の構成図である。なお、中間装置22の構成も中間装置21と同様である。通信部211は、複数の通信インタフェースを有し、他の装置(クライアント装置又は他の中間装置)からコンテンツのセグメントを示す配信要求メッセージを受信すると、その判定部212は、受信した配信要求メッセージが示すセグメントを保持部210が保持しているかを判定する。ここで、保持部210が当該セグメントを保持している場合には、通信部211は、当該セグメントを保持部210から読み出して配信要求メッセージの送信元の装置に向けて送信する。
【0018】
一方、保持部210が当該セグメントを保持していない場合には、ルーティング・テーブル213に基づき、受信した配信要求メッセージをサーバ装置1に向けて転送する。また、このとき通信部211は、保持部210の未処理テーブルに、転送した配信要求メッセージについて、配信要求メッセージで指定されているセグメントを示す値と、配信要求メッセージの応答を送信するインタフェースと、配信要求メッセージの転送時刻を示す情報を追加する。
図3(B)は、未処理テーブルの例である。
図3(B)においては、"Name2"という名のコンテンツの2番目及び3番目のセグメントを要求する配信要求メッセージをそれぞれ時刻ta及びtbにサーバ装置1に向けて転送したことと、当該配信要求メッセージの応答として、サーバ装置1からセグメントを受信すると、受信したセグメントを配信要求メッセージの送信元の装置に配信するために、インタフェースIF1に出力することが示されている。
【0019】
なお、サーバ装置1に向けて転送した配信要求メッセージと同じセグメントを指定する配信要求メッセージを、既に転送した配信要求メッセージの応答として当該セグメントを受信する前に受信した場合、通信部211は、保持部210の未処理テーブルに後から受信した配信要求メッセージに関する情報を追加はするが、サーバ装置1に向けての転送は行わない。なお、この場合、配信要求メッセージの転送は行わないため、未処理テーブルの転送時刻フィールドは、ヌル値のままとするか、転送していないことを示す値を設定する。さらに、転送先インタフェースには、複数の値を設定できる様にしておき、サーバ装置1に向けて転送した配信要求メッセージと同じセグメントを指定する配信要求メッセージを、既に転送した配信要求メッセージの応答として当該セグメントを受信する前に受信した場合、後から受信した配信要求メッセージに対する転送先インタフェースを、未処理テーブルの当該セグメントに対するエントリに追加する構成とすることもできる。具体的には、
図3(B)の状態で、"Name2"の2番目のセグメントを要求する配信要求メッセージを受信した、この配信要求メッセージに対する転送先インタフェースがIF2である場合、"Name2"の2番目のセグメントに対応するエントリの転送先インタフェースにIF2を追加する形態であっても良い。
【0020】
通信部211は、サーバ装置1に向けて転送した配信要求メッセージの応答としてセグメントを受信すると、未処理テーブルに従いセグメントを転送すると共に、転送済となったセグメントに関する未処理テーブルのエントリを削除する。さらに、判定部212は、保持部210に当該セグメントを保持するための空き容量があるかを判定し、空き容量がある場合には、当該セグメントを保持部210に保持させる。さらに、保持部210が保持しているセグメントを管理する管理テーブルに新たに保持したセグメントについての情報を追加する。
【0021】
図3(A)は、管理テーブルの例である。
図3(A)に示す様に、管理テーブルは、保持しているセグメント名を示す情報と、当該セグメントのラウンドトリップ時間を含む。なお、管理テーブルは、例えば、セグメントの保存位置を示す図示しない情報等も含む。ここで、ラウンドトリップ時間とは、未処理テーブルの配信要求メッセージの転送時刻と、当該配信要求メッセージの応答として当該セグメントを受け取った時刻の差である。
【0022】
判定部212は、転送のために新たに受信したセグメントを保持するための空き容量が保持部210にない場合、既に保持部210に保持しているセグメントと新たに受信したセグメントから廃棄順位を算出し、廃棄順位の最も高いものを廃棄すると決定する。つまり、廃棄順位の最も高いセグメントが既に保持部210に保持されているものである場合、通信部211は、廃棄順位の最も高いセグメントを保持部210から削除して新たに受信したセグメントを保持部210に保持させる。また、廃棄順位の最も高いセグメントが新たに受信したものである場合、通信部211は、受信したセグメントを転送後に廃棄する。
【0023】
本実施形態において、この廃棄順位は、各セグメントのラウンドトリップ時間に基づき算出する。なお、廃棄順位は、ラウンドトリップ時間の短いものほど高くする。クライアント装置があるセグメントをある中間装置から取得する場合を基準とした、当該中間装置が当該セグメントを保持していなかった場合の取得時間の変動量は、当該中間装置における当該セグメントのラウンドトリップ時間に等しくなる。したがって、ラウンドトリップ時間の小さいセグメントは、削除したとしてもクラインアント装置におけるセグメントの取得にかかる時間への影響は小さい。
【0024】
さらに、セグメントのラウンドトリップ時間が長いことは、その中間装置の次に当該セグメントを保存している中間装置又はサーバ装置までの距離が長いことを意味し、これは、多くの伝送区間を経由している可能性が高いことを意味する。したがって、セグメントのラウンドトリップ時間が長いセグメントを削除すると、当該セグメントを示す配信要求メッセージをその後に受信した場合、配信要求メッセージの転送及びその後のセグメントの受信によりネットワークの多くの資源を消費することになる。したがって、ラウンドトリップ時間の小さいセグメントから先に削除することで、ネットワークの使用効率を高めることができる。
【0025】
なお、各セグメントのラウンドトリップ時間に加えセグメントの要求頻度を考慮して廃棄順位を算出することもできる。この場合、ランドトリップ時間が小さい程、廃棄順位は高く、かつ、コンテンツの要求頻度が小さい程、廃棄順位は高くなる。例えば、ラウンドトリップ時間とコンテンツの要求頻度を乗じた値に基づき廃棄順位を算出することができる。なお、要求頻度は、過去所定期間の要求数や、セグメントを保持してからの累積要求数や、所定期間毎の要求数の平均値とすることができる。また、現在時点から、過去に要求された時までの時間が長い程小さくなる重み係数で重みづけすることもできる。なお、新たに受信したセグメントの要求頻度は0又は小さい値であるため、要求頻度を使用する場合には、新たに受信したセグメントは廃棄順位算出の対象外として常に保存することができる。さらに、新たに受信したセグメントの要求頻度を0以外の所定値、例えば、既に保持されているセグメントの要求頻度に基づく値、例えば、平均値、最小値、最大値とすることができる。
【0026】
なお、本発明による中間装置21は、コンピュータを上記中間装置21として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。