(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-08
(45)【発行日】2022-02-17
(54)【発明の名称】コンテンツ配信ネットワークの転送装置
(51)【国際特許分類】
H04L 67/06 20220101AFI20220209BHJP
H04N 21/238 20110101ALI20220209BHJP
H04N 21/262 20110101ALI20220209BHJP
【FI】
H04L67/06
H04N21/238
H04N21/262
(21)【出願番号】P 2018149307
(22)【出願日】2018-08-08
【審査請求日】2020-05-28
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成28年度 国立開発研究法人情報通信研究機構「欧州との連携による情報指向ネットワーキングに関する実証的研究開発」副題「革新的なアプリケーションとグローバルな実証によるICNの深化」委託研究、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(74)【代理人】
【識別番号】100076428
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100131886
【氏名又は名称】坂本 隆志
(74)【代理人】
【識別番号】100170667
【氏名又は名称】前田 浩次
(72)【発明者】
【氏名】植田 一暁
(72)【発明者】
【氏名】田上 敦士
【審査官】今川 悟
(56)【参考文献】
【文献】特開2015-170323(JP,A)
【文献】特開2016-149714(JP,A)
【文献】特開2003-015938(JP,A)
【文献】特開2017-142675(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/06
H04N 21/238
H04N 21/262
(57)【特許請求の範囲】
【請求項1】
コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、
第1要求パケットを受信すると、前記第1要求パケットが処理対象であるか否かを判定する判定手段と、
前記第1要求パケットが処理対象であると、前記第1要求パケットが要求する要求オブジェクトに対応する要求コンテンツを判定し、所定期間、前記要求コンテンツのオブジェクトを要求する第2要求パケットを監視する監視手段と、
前記第2要求パケットが所定条件を満たす場合、前記要求コンテンツのオブジェクトの内、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトとは異なるオブジェクトを要求する第3要求パケットを生成して送信する送信手段と、
転送したオブジェクトをキャッシュするためのキャッシュ手段
と、
を備えており、
前記要求オブジェクトを前記キャッシュ手段がキャッシュしておらず、かつ、前記要求オブジェクトの受信待ちでないことを、前記判定手段は、前記第1要求パケットが処理対象であると判定することの条件の1つとすることを特徴とす
る転送装置。
【請求項2】
複数の通信リンクに接続され、
コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、
第1要求パケットを受信すると、前記第1要求パケットが処理対象であるか否かを判定する判定手段と、
前
記第1要求パケットが処理対象であると、前記第1要求パケットが要求する要求オブジェクトに対応する要求コンテンツを判定し、所定期間、前記要求コンテンツのオブジェクトを要求する第2要求パケットを監視する監視手段と、
前記第2要求パケットが所定条件を満たす場合、前記要求コンテンツのオブジェクトの内、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトとは異なるオブジェクトを要求する第3要求パケットを生成して送信する送信手段と、
を備えており、
前記判定手段は、前記第1要求パケットの転送先の通信リンクが前記複数の通信リンクのうちの所定の通信リンクであることを、前記第1要求パケットが処理対象であると判定することの条件の1つとすることを特徴とす
る転送装置。
【請求項3】
コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、
第1要求パケットを受信すると、前記第1要求パケットが処理対象であるか否かを判定する判定手段と、
前記第1要求パケットが処理対象であると、前記第1要求パケットが要求する要求オブジェクトに対応する要求コンテンツを判定し、所定期間、前記要求コンテンツのオブジェクトを要求する第2要求パケットを監視する監視手段と、
前記第2要求パケットが所定条件を満たす場合、前記要求コンテンツのオブジェクトの内、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトとは異なるオブジェクトを要求する第3要求パケットを生成して送信する送信手段と、
を備えており、
前記判定手段は、前記要求オブジェクトの名前に基づき判定される、前記要求コンテンツを公開しているサーバ装置の設置場所が所定の設置場所であることを、前記第1要求パケットが処理対象であると判定することの条件の1つとすることを特徴とす
る転送装置。
【請求項4】
コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、
第1要求パケットを受信すると、前記第1要求パケットが処理対象であるか否かを判定する判定手段と、
前記第1要求パケットが処理対象であると、前記第1要求パケットが要求する要求オブジェクトに対応する要求コンテンツを判定し、所定期間、前記要求コンテンツのオブジェクトを要求する第2要求パケットを監視する監視手段と、
前記第2要求パケットが所定条件を満たす場合、前記要求コンテンツのオブジェクトの内、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトとは異なるオブジェクトを要求する第3要求パケットを生成して送信する送信手段と、
を備えており、
前記判定手段は、前記要求コンテンツが複数のオブジェクトに分割されていることを、前記第1要求パケットが処理対象であると判定することの条件の1つとすることを特徴とす
る転送装置。
【請求項5】
コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、
第1要求パケットを受信すると、前記第1要求パケットが処理対象であるか否かを判定する判定手段と、
前記第1要求パケットが処理対象であると、前記第1要求パケットが要求する要求オブジェクトに対応する要求コンテンツを判定し、所定期間、前記要求コンテンツのオブジェクトを要求する第2要求パケットを監視する監視手段と、
前記第2要求パケットが所定条件を満たす場合、前記要求コンテンツのオブジェクトの内、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトとは異なるオブジェクトを要求する第3要求パケットを生成して送信する送信手段と、
を備えており、
前記所定条件は、前記所定期間に受信した前記第2要求パケットの数が閾値より少ないと満たされることを特徴とす
る転送装置。
【請求項6】
コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、
第1要求パケットを受信すると、前記第1要求パケットが処理対象であるか否かを判定する判定手段と、
前記第1要求パケットが処理対象であると、前記第1要求パケットが要求する要求オブジェクトに対応する要求コンテンツを判定し、所定期間、前記要求コンテンツのオブジェクトを要求する第2要求パケットを監視する監視手段と、
前記第2要求パケットが所定条件を満たす場合、前記要求コンテンツのオブジェクトの内、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトとは異なるオブジェクトを要求する第3要求パケットを生成して送信する送信手段と、
を備えており、
コンテンツを分割した1つ以上のオブジェクトそれぞれのオブジェクト名はオブジェクトの番号を有し、
前記所定条件は、前記所定期間に受信した前記第2要求パケットが要求するオブジェクトそれぞれの番号の最大値が、閾値より小さいと満たされることを特徴とす
る転送装置。
【請求項7】
前記判定手段は、前記要求オブジェクトの番号が所定値より小さいことを、前記第1要求パケットが処理対象であると判定することの条件の1つとすることを特徴とする請求項
6に記載の転送装置。
【請求項8】
前記送信手段は、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトそれぞれの番号の最大値より大きい番号のオブジェクトを要求する前記第3要求パケットを生成することを特徴とする請求項
6又は
7に記載の転送装置。
【請求項9】
前記送信手段は、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトそれぞれの番号の最大値より大きい番号のオブジェクトをそれぞれが要求する所定数の前記第3要求パケットを生成することを特徴とする請求項
6又は
7に記載の転送装置。
【請求項10】
前記送信手段は、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトそれぞれの番号の最大値に1を加えた番号のオブジェクトから前記最大値に所定値を加えた番号のオブジェクトまでを要求する前記第3要求パケットを生成することを特徴とする請求項
6又は
7に記載の転送装置。
【請求項11】
請求項1から
10のいずれか1項に記載の転送装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置に関する。
【背景技術】
【0002】
コンテンツを示す名前に基づきコンテンツの配信を行うネットワークが提案されている。特許文献1及び非特許文献1は、その様なネットワークの1つであるコンテンツ・セントリック・ネットワーク(CCN:Content Centric Networking)を開示している。
【0003】
CCNにおいて、コンテンツを公開するサーバ装置は、当該コンテンツを1つ以上のチャンクと呼ばれるオブジェクトに分割し、クライアント装置は、この分割されたオブジェクト単位でコンテンツを取得する。また、CCNにおいて、オブジェクトの転送を行った通信装置(以下、転送装置と呼ぶ。)は、当該オブジェクトを保持(キャッシュ)できる。この転送装置は、自装置がキャッシュしているオブジェクトを要求するインタレスト・パケット(要求パケット)をクライアント装置から受信すると、当該インタレスト・パケットをサーバ装置に向けて転送することなく、自装置が保持するオブジェクトを含むデータ・パケットを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信できる。
【0004】
以下に、転送装置の動作の一例を説明する。転送装置は、CS(Contents Store)と、FIB(Forwarding Information Base)と、PIT(PIT:Pending Interest Table)を管理する。CSは、自装置がキャッシュしているオブジェクトを示す情報である。FIBは、インタレスト・パケットと、当該インタレスト・パケットを転送すべきインタフェースとの関係を示す情報である。PITは、転送したインタレスト・パケットが要求するオブジェクトと、当該転送したインタレスト・パケットを受信したインタフェースとの関係を示す情報である。
【0005】
転送装置は、インタレスト・パケットを受信すると、CSを検索し、当該インタレスト・パケットが要求するオブジェクトをキャッシュしているか否かを判定する。キャッシュしている場合には、自装置がキャッシュしているオブジェクトを含むデータ・パケットを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信する。一方、受信したインタレスト・パケットが要求するオブジェクトをキャッシュしていない場合には、PITを検索して、当該インタレスト・パケットと同じオブジェクトを要求するインタレスト・パケットを既に転送し、当該オブジェクトの受信待ちの状態であるかを判定する。受信待ちの状態であると、受信したインタレスト・パケットを転送せず、当該インタレスト・パケットの受信インタフェースを、当該インタレスト・パケットが要求するオブジェクトに関連付ける様にしてPITを更新する。一方、受信したインタレスト・パケットが要求するオブジェクトの受信待ちでなければ、FIBに基づき判定したインタフェースから当該インタレスト・パケットを転送すると共にPITを更新する。また、転送装置は、オブジェクトを含むデータ・パケットを受信すると、当該データ・パケットの転送先インタフェースをPIT及び当該データ・パケットに含まれるオブジェクトに基づき判定し、判定したインタフェースから当該データ・パケットを送信すると共に、当該オブジェクトに関する情報をPITから削除する。また、転送装置は、転送したデータ・パケットに含まれるオブジェクトをキャッシュするとCSを更新する。
【0006】
CCNにおいて、クライアント装置は、オブジェクトを示すインタレスト・パケットを送信し、その応答として、当該オブジェクトを取得する。したがってコンテンツを取得するためには、多数のインタレスト・パケットを送信することになるが、これは、コンテンツ配信ネットワークの輻輳の原因となる。このため、非特許文献2及び3は、CCNにおける輻輳制御方法を開示している。
【先行技術文献】
【特許文献】
【0007】
【非特許文献】
【0008】
【文献】V.Jacobson,et al.,"Networking Named Content",in Proceedings of ACM CoNEXT 2009,2009年12月
【文献】Schneider,Klaus,et al.,"A practical congestion control scheme for named data networking",ACM ICN,2016年
【文献】Carofiglio,Giovanna,et al.,"Optimal multipath congestion control and request forwarding in information-centric networks:Protocol design and experimentation",Computer Networks 110(2016):104-117,2016年
【発明の概要】
【発明が解決しようとする課題】
【0009】
非特許文献2及び3に記載の構成は、クライアント装置が連続して送信できるインタレスト・パケットの数(以下、ウィンドウ・サイズ)を、受信したデータ・パケットに基づき制御するものである。具体的には、クライアント装置は、送信したインタレスト・パケットに対するデータ・パケットを所定期間内に受信するとウィンドウ・サイズを増加させ、所定期間内に受信しないとウィンドウ・サイズを減少させる。しかしながら、クライアント装置からオブジェクトを保持しているサーバ装置又は転送装置までの遅延量が大きいと、クライアント装置がウィンドウ・サイズを増加させる速度が遅くなり、コンテンツのダウンロードに要する時間が増加する。
【0010】
本発明は、コンテンツのダウンロードに要する時間を短縮させる技術を提供するものである。
【課題を解決するための手段】
【0011】
本発明の一態様によると、コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置は、第1要求パケットを受信すると、前記第1要求パケットが処理対象であるか否かを判定する判定手段と、前記第1要求パケットが処理対象であると、前記第1要求パケットが要求する要求オブジェクトに対応する要求コンテンツを判定し、所定期間、前記要求コンテンツのオブジェクトを要求する第2要求パケットを監視する監視手段と、前記第2要求パケットが所定条件を満たす場合、前記要求コンテンツのオブジェクトの内、前記第1要求パケット及び前記第2要求パケットが要求するオブジェクトとは異なるオブジェクトを要求する第3要求パケットを生成して送信する送信手段と、転送したオブジェクトをキャッシュするためのキャッシュ手段と、を備えており、前記要求オブジェクトを前記キャッシュ手段がキャッシュしておらず、かつ、前記要求オブジェクトの受信待ちでないことを、前記判定手段は、前記第1要求パケットが処理対象であると判定することの条件の1つとすることを特徴とする。
【発明の効果】
【0012】
本発明によると、コンテンツのダウンロードに要する時間を短縮させることができる。
【図面の簡単な説明】
【0013】
【
図1】一実施形態によるコンテンツ配信ネットワークの構成図。
【
図3】一実施形態による処理部における処理のフローチャート。
【
図4】一実施形態によるキュー管理部におけるキュー管理処理のフローチャート。
【
図5】一実施形態によるキュー管理部におけるインタレスト・パケット生成処理のフローチャート。
【発明を実施するための形態】
【0014】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【0015】
図1は、本実施形態によるコンテンツ配信ネットワークの構成図である。以下では、コンテンツ配信ネットワークが、CCNであるものとして本実施形態の説明を行う。しかしながら、コンテンツを1つ以上のオブジェクトに分割し、分割したオブジェクトを単位としてコンテンツの配信が行われ、コンテンツを転送した転送装置がオブジェクトをキャッシュできる任意のコンテンツ配信ネットワークに本発明を適用することができる。
【0016】
図1に示す様に、コンテンツ配信ネットワークは、コンテンツを公開するサーバ装置3と、CCNに従いコンテンツを取得するクライアント装置11及び12と、境界転送装置2と、を備えている。クライアント装置11及び12、並びに、境界転送装置2は、上述したCCNの通常の転送装置で構成される、ローカルネットワーク4に接続されている。
図1において、クライアント装置11及び12、境界転送装置2、ローカルネットワーク4は、日本国内に設けられている。一方、サーバ装置3は国外、本実施形態ではイギリスに設けられている。なお、境界転送装置2とサーバ装置3とは、通常の転送装置や本実施形態による境界転送装置2で構成されるグローバルネットワークを介して通信可能な様に構成されている。また、コンテンツ配信ネットワークは、日本国内に設けられたサーバ装置も有するが、本実施形態の説明には関係ないため省略している。また、コンテンツ配信ネットワークは、サーバ装置3以外にも、日本以外の様々な国に設置されたサーバ装置を有するが、説明の簡略化のために省略している。
【0017】
本実施形態において、日本国内に設置されたクライアント装置11及び12等のクライアント装置が、日本以外の国に設置されたサーバ装置3等のサーバ装置が公開するコンテンツを取得する際、日本国内のクライアント装置が送信するインタレスト・パケットは、境界転送装置2に転送される様に、ローカルネットワーク4の転送装置のFIBは設定されている。なお、本実施形態においては、説明の簡略化のため、1つの境界転送装置2のみが日本に設置されているものとするが、複数の境界転送装置2を日本に設置する構成とすることもできる。例えば、東京及び大阪に境界転送装置2を設置し、サーバ装置3が公開するコンテンツを要求するインタレスト・パケットのうち、東日本のクライアント装置が送信したインタレスト・パケットについては東京に設置された境界転送装置2に転送され、西日本のクライアント装置が送信したインタレスト・パケットについては大阪に設置された境界転送装置2に転送される様に、ローカルネットワーク4の転送装置のFIBを設定する構成とすることもできる。
【0018】
クライアント装置11及び12は、ウィンドウ・サイズWと、送信したインタレスト・パケットのうち、その応答としてデータ・パケットを受信していないインタレスト・パケットの数Uを管理する。ウィンドウ・サイズWは、数Uの最大許容値を規定する。例えば、ウィンドウ・サイズW=4であると、クライアント装置11及び12は、4つのインタレスト・パケットまで連続して送信することができる。そして、4つのインタレスト・パケットを送信すると、当該4つのインタレスト・パケットのいずれかのインタレスト・パケットの応答としてのデータ・パケットを受信するまで、クライアント装置11及び12は、新たなインタレスト・パケットを送信することができない。また、当該4つのインタレスト・パケットのうちの1つのインタレスト・パケットの応答としてのデータ・パケットを受信すると、クライアント装置11及び12は、新たに1つのインタレスト・パケットを送信することがでる。
【0019】
また、クライアント装置11及び12は、送信したインタレスト・パケットの応答として所定期間内にデータ・パケットを受信したか否かに応じてウィンドウ・サイズWを増減させる。例えば、ウィンドウ・サイズWの初期値を4とする。この場合、クライアント装置11及び12は、4つのインタレスト・パケットを送信した後、その総てに対するデータ・パケットを所定期間内に受信すると、ウィンドウ・サイズWを倍の8にする。ウィンドウ・サイズW=8であるため、クライアント装置11及び12は、8つのインタレスト・パケットを連続して送信することができる。クライアント装置11及び12は、8つのインタレスト・パケットを送信した後、その総てに対するデータ・パケットを所定期間内に受信すると、ウィンドウ・サイズWを倍の16にする。この様に、本実施形態において、クライアント装置11及び12は、送信したインタレスト・パケットの総ての応答を所定期間内に受信すると、ウィンドウ・サイズWを倍にするものとする。つまり、クライアント装置11及び12は、コンテンツ配信ネットワークのトラフィック量が少なく、送信したインタレスト・パケットの応答を所定期間内に受信すると、ウィンドウ・サイズWを、4、8、16、32、64、128、256・・と増加させることができる。一方、クライアント装置11及び12は、送信したインタレスト・パケットの少なくとも1つの応答を所定期間内に受信しないと、ウィンドウ・サイズWを半分にするものとする。この様に、ウィンドウ・サイズWを段階的に徐々に増加させることで、コンテンツ配信ネットワークのトラフィック状況に応じて適切に送信するインタレスト・パケットの量を制御することができる。なお、ウィンドウ・サイズWの制御方法は、上述した方法以外にも様々な方法があるが、クライアント装置11及び12におけるウィンドウ・サイズの制御方法の具体的な内容に拘わらず、本発明を適用することができる。
【0020】
例えば、クライアント装置11がサーバ装置3からあるコンテンツを取得するものとする。なお、クライアント装置11からサーバ装置3までの間の総ての転送装置(境界転送装置2を含む)において、当該コンテンツのオブジェクトはキャッシュされていないものとする。つまり、クライアント装置11が送信する当該コンテンツのオブジェクトを要求する総てのインタレスト・パケットは、サーバ装置3まで転送され、総てのオブジェクトが、サーバ装置3から配信されるものとする。また、クライアント装置11からサーバ装置3までの総てのリンクの物理回線は十分に大きく、かつ、クライアント装置11からサーバ装置3までの総てのリンクのトラフィック量は十分に小さいものとする。この場合、クライアント装置11は、ウィンドウ・サイズWを順に増加させることができるが、日本とイギリスとの距離が大きいため、クライアント装置11とサーバ装置3との間のリンクに輻輳が生じていない場合においてもラウンドトリップ遅延(RTT)は、凡そ200msになる。つまり、クライアント装置11は、ウィンドウ・サイズWを凡そ200ms毎にしか増加させることができない。この様に、RTTが大きいと、ウィンドウ・サイズWを、サーバ装置3との間の可能なスループットに対応するサイズに増加させるまでの時間が長くなり、コンテンツの取得に要する時間が長くなる。なお、サーバ装置3が日本国内に設置されているものとすると、RTTは凡そ数ms~数十msであり、クライアント装置11は、ウィンドウ・サイズWをサーバ装置3までの可能なスループットに対応するサイズに短時間で増加させることができる。
【0021】
本実施形態は、境界転送装置2により、クライアント装置が、RTTの大きなサーバ装置3からコンテンツを取得する際、クライアント装置のウィンドウ・サイズWを短時間に増加させることで、クライアント装置によるコンテンツのダウンロード時間を短縮させるものである。
【0022】
図2は、境界転送装置2の構成図である。処理部22は、複数のインタフェースを有し、基本的には、通常の転送装置と同じ動作を行う。つまり、処理部22は、FIB、PIT、CSを管理し、インタレスト・パケット及びデータ・パケットの転送を行う。また、データ・パケットを受信して転送した場合、当該データ・パケットが格納するオブジェクトを、所定の基準に従いキャッシュする。処理部22は、通常の転送装置と同じ動作に加えて、あるインタレスト・パケットを転送する場合、当該インタレスト・パケットが要求するオブジェクトのオブジェクト名に基づき、当該インタレスト・パケットをキュー管理部21にも転送するかを判定する。なお、キュー管理部21にインタレスト・パケットを送信する場合、当該インタレスト・パケットをキュー管理部21のみに送信するのではなく、当該インタレスト・パケットをFIBに基づき判定されるインタフェースから転送すると共に、同じインタレスト・パケットをキュー管理部21に送信する。
【0023】
本実施形態において、オブジェクト名は、階層構造であり、その階層構造の最上位は国名を示すものとする。例えば、日本国内のサーバ装置が公開するコンテンツの名前は、日本を示すjpで始まり、名前が"contentsA"であるコンテンツの番号1のオブジェクト名は、例えば、"/jp/・・・/contentsA/1"である。同様に、イギリスのサーバ装置3が公開するコンテンツの名前は、イギリスを示すukで始まり、名前が"contentsA"であるコンテンツの番号1のオブジェクト名は、例えば、"/uk/・・・/contentsA/1"である。また、htmlファイルの様に、そのサイズが1つのオブジェクトの最大許容サイズ以下であるコンテンツは、コンテンツ名とオブジェクト名が等しいものとする。例えば、イギリスのサーバ装置3が公開する、その名前が"/uk/・・・/AAA.html"であるコンテンツは、オブジェクト名も"/uk/・・・/AAA.html"であるものとする。処理部22は、転送するインタレスト・パケットのうち、要求するオブジェクト名が外国を示し、かつ、オブジェクトの番号を有するもの、つまり、複数のオブジェクトに分割されているコンテンツの内に1つのオブジェクトを要求するインタレスト・パケットを、高速処理対象のインタレスト・パケットとしてキュー管理部21に送信する。
【0024】
図3は、処理部22におけるインタレスト・パケット受信時の処理フローである。処理部22は、S10で、インタレスト・パケットを受信するまで待機する。インタレスト・パケットを受信すると、処理部22は、S11で、当該インタレスト・パケットがFIBに基づき転送を行うべきものであるか否かを判定する。例えば、キャッシュしているオブジェクトを要求するインタレスト・パケットや、PITに示されているオブジェクトを要求するインタレスト・パケットを受信した場合、S11はNoになる。インタレスト・パケットがFIBに基づき転送を行うべきものではないと、処理部22は、S10から処理を繰り返す。一方、インタレスト・パケットがFIBに基づき転送を行うべきものであると、処理部22は、S12で、インタレスト・パケットが、高速処理対象であるか否かを判定する。高速処理対象であるか否かは、インタレスト・パケットが要求するオブジェクトのオブジェクト名に基づき、上述した様に判定する。インタレスト・パケットが、高速処理対象ではないと、処理部22は、S10から処理を繰り返す。一方、インタレスト・パケットが高速処理対象であると、処理部22は、S13で、インタレスト・パケットをキュー管理部21に送信する。なお、処理部22は、
図3に示す処理に加えて、通常の転送装置と同じ処理をインタレスト・パケットに対して行う。
【0025】
図4は、キュー管理部21におけるキュー管理処理のフローチャートである。S20で、キュー管理部21は、処理部22からインタレスト・パケットを受信するまで待機する。処理部22からインタレスト・パケットを受信すると、キュー管理部21は、S21で、受信したインタレスト・パケットが要求するオブジェクトのコンテンツに対応するキューが存在するか否かを管理する。インタレスト・パケットが要求するオブジェクトのコンテンツに対応するキューが存在しないと、キュー管理部21は、S22で、当該インタレスト・パケットが要求するオブジェクトの番号(以下、RNと呼ぶ。)が閾値以下であるかを判定する。RNが閾値より大きいと、キュー管理部21は、S20から処理を繰り返す。一方、RNが閾値以下であると、キュー管理部21は、S23で、当該コンテンツに対応するキューを作成し、RNをキューに対応付けて保存する。そして、キュー管理部21は、S24で、作成したキューに対応するタイマのカウントを開始する。
【0026】
一方、S21において、インタレスト・パケットが要求するオブジェクトのコンテンツに対応するキューが存在すると、キュー管理部21は、S25で、受信したインタレスト・パケットの要求オブジェクトの番号が、当該コンテンツのキューに対応するRNより大きいかを判定する。受信したインタレスト・パケットの要求オブジェクトの番号が、当該コンテンツのキューに対応するRNより大きいと、キュー管理部21は、当該コンテンツのキューに対応するRNを、受信したインタレスト・パケットの要求オブジェクトの番号に更新する。一方、受信したインタレスト・パケットの要求オブジェクトの番号が、当該コンテンツのキューに対応するRN以下であると、キュー管理部21は、当該コンテンツのキューに対応するRNを変更しない。
【0027】
図5は、キュー管理部21におけるインタレスト・パケット送信処理のフローチャートである。S30で、キュー管理部21は、タイマのカウント値が所定値に達したキューが存在するかを判定する。タイマのカウント値が所定値に達したキューが存在していないと、キュー管理部21は、S30から処理を繰り返す。タイマのカウント値が所定値に達したキューが存在すると、キュー管理部21は、S31で、当該キューに対応するRNの値が閾値以下であるかを判定する。なお、本実施形態において、S31で使用する閾値は、
図4のS22で使用する閾値と同じとする。しかしながら、S31で使用する閾値と、
図4のS22で使用する閾値とを別の値とすることもできる。キューに対応するRNの値が閾値より大きいと、キュー管理部21は、S33で、当該キューを廃棄してS30から処理を繰り返す。一方、キューに対応するRNの値が閾値以下であると、キュー管理部21は、当該キューに対応するコンテンツのオブジェクトであって、その番号が、当該キューに対応するRNの値より1だけ大きい値から、所定の値Xだけ大きい値までのオブジェクトを要求するインタレスト・パケットを生成して、処理部22に送信する。その後、S33で、キュー管理部21は、当該キューを廃棄して、S30から処理を繰り返す。
【0028】
なお、処理部22は、キュー管理部21から受信するインタレスト・パケットについては、通常の転送装置と同じ処理のみを行い、
図3で説明した処理については行わない。また、処理部22は、クライアント装置1から受信したインタレスト・パケットの応答として受信したオブジェクト(データ・パケット)については、通常の転送装置と同じ転送処理を行う。一方、処理部22は、キュー管理部21から受信したインタレスト・パケットの応答として受信したオブジェクトについてはキャッシュを行い、キュー管理部21に転送しない。なお、キュー管理部21から受信したインタレスト・パケットの応答として受信したオブジェクトの総てをキャッシュする容量が無い場合には、オブジェクトを受信してからの時間が短い程、優先的にキャッシュする。
【0029】
以下、クライアント装置11が、"uk/aaa/videoA.mp4"とのコンテンツ名のコンテンツを取得する場合について説明する。なお、当該コンテンツは10000個のオブジェクトに分割され、そのオブジェクト名は、"uk/aaa/videoA.mp4/1"~"uk/aaa/videoA.mp4/10000"であるものとする。また、クライアント装置11は、それまで、コンテンツの取得を行っておらず、ウィンドウ・サイズWは非常に小さい初期値、例えば、4であるものとする。また、キュー管理部21が保持する閾値は300であり、所定値Xは150であるものとする。また、初期状態において、クライアント装置11からサーバ装置3までに存在する総ての転送装置は"uk/aaa/videoA.mp4"のいずれのオブジェクトもキャッシュしていないものとする。
【0030】
ウィンドウ・サイズW=4であるため、クライアント装置11は、"uk/aaa/videoA.mp4/1"~"uk/aaa/videoA.mp4/4"を要求する4つのインタレスト・パケットを連続して送信する。各インタレスト・パケットは、境界転送装置2における転送対象、かつ、高速処理対象であるため(
図3のS11及びS12)、キュー管理部21に送信される。
【0031】
キュー管理部21は、いずれのキューも管理していないため、閾値より小さい番号のオブジェクトである"uk/aaa/videoA.mp4/1"を要求するインタレスト・パケットを受信すると、キュー管理部21は、
図4のS23でキューを作成し、当該キューに対応づけてRN=1を保持し、
図4のS24で当該キューに対応するタイマのカウントを開始する。続いて、キュー管理部21は、"uk/aaa/videoA.mp4/2"を要求するインタレスト・パケットを受信すると、
図4のS25で、コンテンツ"uk/aaa/videoA.mp4"のキューに対応するRNを2に更新する。同様に、"uk/aaa/videoA.mp4/3"及び"uk/aaa/videoA.mp4/4"を要求するインタレスト・パケットの受信により、コンテンツ"uk/aaa/videoA.mp4"のキューに対応するRNは4に更新される。
【0032】
コンテンツ"uk/aaa/videoA.mp4"に対応するキューのタイマのカウント値が所定値に達すると(
図5のS30)、キュー管理部21は、S31で、当該キューに対応するRNが閾値である300以下かどうかを判定する。本例では、RN=4と、閾値である300以下であるため、キュー管理部21は、S32で、コンテンツ"uk/aaa/videoA.mp4"の番号が5から154のオブジェクトを要求するインタレスト・パケットを生成して処理部22に送信する。つまり、キュー管理部21は、"uk/aaa/videoA.mp4/5"から"uk/aaa/videoA.mp4/154"を要求するインタレスト・パケットを生成して処理部22に送信する。
【0033】
これにより、境界転送装置2は、"uk/aaa/videoA.mp4/1"から"uk/aaa/videoA.mp4/154"を要求するインタレスト・パケットをサーバ装置3に向けて送信したことになる。なお、このうち、"uk/aaa/videoA.mp4/1"から"uk/aaa/videoA.mp4/4"は、クライアント装置11が送信したものであり、境界転送装置2は、これらのインタレスト・パケットの応答として受信するデータ・パケットについては通常通り転送する。一方、"uk/aaa/videoA.mp4/5"から"uk/aaa/videoA.mp4/154"を要求するインタレスト・パケットは、キュー管理部21が生成したものであるため、処理部22は、これらのインタレスト・パケットの応答として受信する"uk/aaa/videoA.mp4/4"から"uk/aaa/videoA.mp4/154"をキャッシュする。
【0034】
クライアント装置11は、"uk/aaa/videoA.mp4/1"から"uk/aaa/videoA.mp4/4"を受信すると、ウィンドウ・サイズWを倍の8に設定し、"uk/aaa/videoA.mp4/5"から"uk/aaa/videoA.mp4/12"を要求するインタレスト・パケットを送信するが、これらは境界転送装置2にキャッシュされているため、境界転送装置2は直ちにこれらオブジェクトをクライアント装置11に送信できる。その後、クライアント装置11は、ウィンドウ・サイズWを倍の16に設定し、"uk/aaa/videoA.mp4/13"から"uk/aaa/videoA.mp4/28"を要求するインタレスト・パケットを送信するが、これらは境界転送装置2にキャッシュされているため、境界転送装置2は直ちにこれらオブジェクトをクライアント装置11に送信できる。
【0035】
その後、クライアント装置11が、"uk/aaa/videoA.mp4/155"を要求するインタレスト・パケットを送信すると、境界転送装置2では、コンテンツ"uk/aaa/videoA.mp4"に対応するキューが新たに作成される。例えば、このとき、クライアント装置11のウィンドウ・サイズWが128であると、新たに作成したキューに対応するタイマのカウント値が所定値に達するまでに、キュー管理部21は、"uk/aaa/videoA.mp4/252"までを要求するインタレスト・パケットを受信することになる。したがって、境界転送装置2は、
図5のS32で、"uk/aaa/videoA.mp4/253"~"uk/aaa/videoA.mp4/402"を要求するインタレスト・パケットを生成して送信する。よって、境界転送装置2は、"uk/aaa/videoA.mp4/253"~"uk/aaa/videoA.mp4/402"を先取りしてキャッシュすることができ、クライアント装置11は、"uk/aaa/videoA.mp4/253"~"uk/aaa/videoA.mp4/402"を短い時間で取得することができる。
【0036】
この様に、ウィンドウ・サイズWが閾値より小さいとき、クライアント装置11が取得しているコンテンツを境界転送装置2が先取りしてキャッシュしておくことで、クライアント装置11のウィンドウ・サイズWを素早く増加させることができ、よって、クライアント装置11によるコンテンツのダウンロード時間を短縮することができる。なお、その後、クライアント装置11が、"uk/aaa/videoA.mp4/403"を要求するインタレスト・パケットを送信した際には、
図4のS22はNoとなり、キューは作成されない。
【0037】
続いて、クライアント装置11が、"uk/aaa/video.html"とのコンテンツ名のコンテンツを取得する場合について説明する。当該コンテンツのサイズは、1つのオブジェクトの最大データ量以下であるため、オブジェクト名は、コンテンツ名に等しく、オブジェクト番号を有さない。この場合、クライアント装置11は、"uk/aaa/video.html"を要求するインタレスト・パケットを送信するが、オブジェクト番号がないことより、境界転送装置2における高速処理対象ではないため(
図3のS12)、当該インタレスト・パケットは、キュー管理部21に送信されない。
【0038】
続いて、クライアント装置12が、"uk/aaa/videoB.mp4"とのコンテンツ名のコンテンツを取得する場合について説明する。なお、当該コンテンツは10000個のオブジェクトに分割され、そのオブジェクト名は、"uk/aaa/videoB.mp4/1"~"uk/aaa/videoB.mp4/10000"であるものとする。また、クライアント装置12は、それまでにも他のコンテンツの取得を行っており、ウィンドウ・サイズWは、それまでのコンテンツの取得のスループットに応じた値、例えば、1024であるものとする。また、キュー管理部21が保持する閾値は300であり、所定値Xは150であるものとする。また、初期状態において、クライアント装置12からサーバ装置3までに存在する総ての転送装置は"uk/aaa/videoB.mp4"のいずれのオブジェクトもキャッシュしていないものとする。
【0039】
ウィンドウ・サイズW=1024であるため、クライアント装置12は、"uk/aaa/videoB.mp4/1"~"uk/aaa/videoB.mp4/1024"を要求する1024個のインタレスト・パケットを連続して送信する。各インタレスト・パケットは、境界転送装置2における転送対象、かつ、高速処理対象であるため、キュー管理部21に送信される。キュー管理部21は、"uk/aaa/videoB.mp4/1"を要求するインタレスト・パケットを受信すると、
図4のS23でキューを作成し、当該キューに対応づけてRN=1を記録し、
図4のS24で当該キューに対応するタイマのカウントを開始する。続いて、キュー管理部21は、"uk/aaa/videoB.mp4/2"を要求するインタレスト・パケットを受信すると、
図4のS25で、コンテンツ"uk/aaa/videoB.mp4"のキューに対応するRNを2に更新する。同様に、"uk/aaa/videoB.mp4/3"~"uk/aaa/videoB.mp4/1024"を要求するインタレスト・パケットの受信により、コンテンツ"uk/aaa/videoB.mp4"のキューに対応するRNは1024に更新される。
【0040】
コンテンツ"uk/aaa/videoB.mp4"のキューに対応するタイマのカウント値が所定値に達すると(
図5のS30)、キュー管理部21は、S31で、当該キューのRNが閾値である300以下かどうかを判定する。本例では、RN=1024と、閾値である300より大きいため、キュー管理部21は、S33で、コンテンツ"uk/aaa/videoB.mp4"のキューを廃棄する。つまり、キュー管理部21は、コンテンツ"uk/aaa/videoB.mp4"のオブジェクトを要求するインタレスト・パケットを生成して送信しない。この様に、クライアント装置12のウィンドウ・サイズWが十分に大きい場合(閾値より大きい場合)、境界転送装置2による先取りの効果は少ないため、境界転送装置2は、オブジェクトの先取りを行わない。
【0041】
続いて、クライアント装置12が、"uk/aaa/videoC.mp4"とのコンテンツ名のコンテンツを取得する場合について説明する。なお、当該コンテンツは10000個のオブジェクトに分割され、そのオブジェクト名は、"uk/aaa/videoC.mp4/1"~"uk/aaa/videoC.mp4/10000"であるものとする。また、"uk/aaa/videoC.mp4/1"~"uk/aaa/videoC.mp4/4000"は、ローカルネットワーク4内の転送装置にキャッシュされており、クライアント装置12は、"uk/aaa/videoC.mp4/1"~"uk/aaa/videoC.mp4/4000"をローカルネットワーク4から取得済であるものとする。また、これにより、クライアント装置12のウィンドウ・サイズWは、それまでのコンテンツの取得のスループットに応じた値、例えば、1024であるものとする。なお、クライアント装置12からサーバ装置3までに存在する総ての転送装置は"uk/aaa/videoC.mp4/4001"~"uk/aaa/videoC.mp4/10000"のいずれもキャッシュしていないものとする。さらに、キュー管理部21が保持する閾値は300であり、所定値Xは150であるものとする。
【0042】
ウィンドウ・サイズW=1024であるため、クライアント装置12は、"uk/aaa/videoC.mp4/4001"~"uk/aaa/videoC.mp4/5024"を要求する1024個のインタレスト・パケットを連続して送信する。各インタレスト・パケットは、境界転送装置2における転送対象、かつ、高速処理対象であるため、キュー管理部21に送信される。キュー管理部21は、"uk/aaa/videoC.mp4/4001"を要求するインタレスト・パケットを受信するが、要求しているオブジェクトの番号が1001と、閾値である300より大きいため、キューは作成されない(S22)。この様に、閾値より大きいオブジェクトを要求するクライアント装置のウィンドウ・サイズWは、通常、十分に大きく、よって、境界転送装置2による先取りの効果は少ないため、境界転送装置2は、オブジェクトの先取りを行わない。
【0043】
なお、本実施形態において、処理部22は、インタレスト・パケットが要求するオブジェクト名に基づき高速処理対象であるか否かを判定した。より詳しくは、インタレスト・パケットが要求するオブジェクト名が、外国を示していることを高速処理対象とするための条件の1つとした。しかしながら、国名ではなく、ある所定の地域を示す名前であることを高速処理対象とするための条件の1つとすることもできる。また、オブジェクト名ではなく、FIBが示す転送先のインタフェースが、所定のインタフェースであることを、高速処理対象とするための条件の1つとすることもできる。この所定のインタフェースは、例えば、伝送遅延が所定値以上の通信リンクに接続するインタフェースである。
【0044】
また、転送装置として動作する処理部22と、高速化のためのオブジェクトの先取りを行うキュー管理部21とを、個別の装置として実現することもできる。
【0045】
図6は、本実施形態による境界転送装置の別の構成図である。転送部23は、通常の転送装置と同様に、FIB、PIT、CSを管理し、インタレスト・パケット及びデータ・パケットの転送と、キャッシュを管理する。
【0046】
判定部24は、インタレスト・パケットを監視し、インタレスト・パケットが高速処理対象であるか否かを判定する。判定部24は、インタレスト・パケットの要求オブジェクトを転送部23がキャッシュしておらず、かつ、当該要求オブジェクトの受信待ちでないことを高速処理対象であると判定する条件の1つとすることができる。また、判定部23は、インタレスト・パケットの転送先の通信リンク(インタフェース)が、所定の通信リンク(所定のインタフェース)であることを高速処理対象であると判定する条件の1つとすることができる。さらに、判定部24は、インタレスト・パケットの要求オブジェクトのオブジェクト名に基づき、当該要求オブジェクトに対応するコンテンツを公開しているサーバ装置の設置場所を判定し、判定した設置場所が所定の地域内(所定の設置場所)であることを、高速処理対象であると判定する条件の1つとすることができる。さらに、判定部23は、インタレスト・パケットの要求オブジェクトが、1つのコンテンツを分割した複数のオブジェクトの1つであり、1つのコンテンツそのものではないことを、高速処理対象であると判定する条件の1つとすることができる。さらに、判定部23は、インタレスト・パケットの要求オブジェクトの番号が所定値より小さいことを、高速処理対象であると判定する条件の1つとすることができる。なお、要求オブジェクトの番号は、例えば、コンテンツ内における要求オブジェクトの時間順序に対応する。
【0047】
監視部25は、判定部23が、あるインタレスト・パケットを処理対象と判定すると、当該インタレスト・パケットの要求オブジェクトに対応するコンテンツを判定し、所定期間の間、当該コンテンツのオブジェクトを要求する後続のインタレスト・パケットを監視する。なお、以下の説明では、処理対象のインタレスト・パケットの要求オブジェクトに対応するコンテンツを要求コンテンツと呼ぶものとする。さらに、監視部25が所定の期間の間に監視した、要求コンテンツのオブジェクトを要求する後続のインタレスト・パケットを被監視インタレスト・パケットと呼ぶ。
【0048】
送信処理部26は、被監視インタレスト・パケットが所定条件を満たす場合、要求コンテンツの所定数のオブジェクトを要求する1つ以上のインタレスト・パケット(以下、高速用インタレスト・パケット)を生成して、転送部26に出力する。高速用インタレスト・パケットが要求するオブジェクトは、要求オブジェクト及び被監視インタレスト・パケットが要求するオブジェクトとは異なるオブジェクトとする。例えば、1つ以上の高速用インタレスト・パケットが要求するオブジェクトは、要求オブジェクト及び被監視インタレスト・パケットが要求するオブジェクトの番号の最大値より大きい番号のオブジェクトとすることができる。例えば、1つ以上の高速用インタレスト・パケットが要求するオブジェクトは、要求オブジェクト及び被監視インタレスト・パケットが要求するオブジェクトの番号の最大値に1を加えた番号から所定値を加えた番号までのオブジェクトとすることができる。
【0049】
なお、所定条件は、被監視インタレスト・パケットの要求オブジェクトの番号の最大値が閾値より小さいと満たされる構成とすることができる。なお、より簡易的には、被監視インタレスト・パケットの数が閾値より小さいと満たされるとする構成であっても良い。
【0050】
また、本発明による境界転送装置2は、コンピュータを上記境界転送装置2として動作・機能させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【符号の説明】
【0051】
24:判定部、25:監視部、26:送信処理部