特許第6371230号(P6371230)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許6371230コンテンツ配信ネットワークの転送装置及びプログラム
<>
  • 特許6371230-コンテンツ配信ネットワークの転送装置及びプログラム 図000002
  • 特許6371230-コンテンツ配信ネットワークの転送装置及びプログラム 図000003
  • 特許6371230-コンテンツ配信ネットワークの転送装置及びプログラム 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6371230
(24)【登録日】2018年7月20日
(45)【発行日】2018年8月8日
(54)【発明の名称】コンテンツ配信ネットワークの転送装置及びプログラム
(51)【国際特許分類】
   H04L 12/913 20130101AFI20180730BHJP
   G06F 13/00 20060101ALI20180730BHJP
【FI】
   H04L12/913
   G06F13/00 520R
【請求項の数】5
【全頁数】8
(21)【出願番号】特願2015-21481(P2015-21481)
(22)【出願日】2015年2月5日
(65)【公開番号】特開2016-144190(P2016-144190A)
(43)【公開日】2016年8月8日
【審査請求日】2017年8月22日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100131886
【弁理士】
【氏名又は名称】坂本 隆志
(74)【代理人】
【識別番号】100170667
【弁理士】
【氏名又は名称】前田 浩次
(72)【発明者】
【氏名】横田 健治
(72)【発明者】
【氏名】田上 敦士
【審査官】 大石 博見
(56)【参考文献】
【文献】 特開2011−135575(JP,A)
【文献】 特開2009−277234(JP,A)
【文献】 特表2013−546280(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/913
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、
受信待ちのオブジェクト数である第1の値を管理する管理手段と、
閾値を保持する保持手段と、
1つ以上のオブジェクトを示す要求パケットを受信すると、当該1つ以上のオブジェクトの内、キャッシュしておらず、かつ、受信待ちでないオブジェクトを判定して、前記判定したオブジェクトの数である第2の値を求め、前記第1の値と前記第2の値の和が前記閾値を超えていると、前記第2の値より小さい第3の値を決定し、前記判定したオブジェクトから前記第3の値の数のオブジェクトを選択し、前記選択したオブジェクトを示す要求パケットを送信する処理を行う処理手段と、
を備えていることを特徴とする転送装置。
【請求項2】
前記保持手段は、前記閾値より大きい制限値を保持しており、
前記処理手段は、前記第3の値を、前記制限値から前記第1の値を減じた値以下に制限することを特徴とする請求項1に記載の転送装置。
【請求項3】
前記第3の値は、前記第1の値と前記第2の値の和が前記制限値以下では、前記第1の値と前記第2の値の和が大きくなると、大きくなることを特徴とする請求項2に記載の転送装置。
【請求項4】
前記処理手段は、前記判定したオブジェクトから選択されなかった、前記第2の値から前記第3の値を減じた数のオブジェクトを、前記受信した要求パケットの送信元の装置に通知することを特徴とする請求項1から3のいずれか1項に記載の転送装置。
【請求項5】
請求項1から4のいずれか1項に記載の転送装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンテンツを複数のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置及びプログラムに関する。
【背景技術】
【0002】
コンテンツを示す名前に基づきコンテンツの配信を行うネットワークが提案されている。特許文献1は、その様なネットワークの1つであるコンテンツ・セントリック・ネットワーク(CCN:Content Centric Networking)を開示し、非特許文献1は、その様なネットワークの1つであるネームド・データ・ネットワーク(NDN:Named Data Networking)を開示している。
【0003】
例えば、CCNにおいて、コンテンツを公開するサーバ装置は当該コンテンツを1つ以上のチャンクと呼ばれるオブジェクトに分割し、クライアント装置は、この分割されたオブジェクトを指定するインタレスト・パケット(要求パケット)をCCNに送信し、オブジェクト単位でコンテンツを取得する。CCNを構成する転送装置は、インタレスト・パケットを受信すると、当該インタレスト・パケットを、当該インタレスト・パケットが要求するオブジェクトを保持しているサーバ装置に向けて転送し、転送したインタレスト・パケットの応答としてオブジェクトを受信すると、受信したオブジェクトを、当該インタレスト・パケットを送信したクライアント装置に向けて転送する。
【0004】
また、転送装置は、受信して転送したオブジェクトをキャッシュできる。転送装置は、キャッシュしているオブジェクトを要求するインタレスト・パケットを受信すると、当該インタレスト・パケットを転送することなく、キャッシュしているオブジェクトをクライアント装置に向けて送信することができる。また、転送装置は、第1インタレスト・パケットを転送したことにより受信待ちとなっているオブジェクトと同じオブジェクトを要求する第2インタレスト・パケットを受信すると、第2インタレスト・パケットを転送しない。これは、第2インタレスト・パケットを転送しなくとも、そのうち当該オブジェクトを受信するからである。
【0005】
以上の動作を行うため、転送装置は、CS(Content Store)とPIT(Pending Interest Table)を管理している。CSはキャッシュしているオブジェクトを示す情報であり、PITは、受信待ちとなっているオブジェクトと、当該オブジェクトを受信した場合の送信インタフェースの関係を示す情報である。この様なCCNにおいて、1つのオブジェクトのみを指定するインタレスト・パケットを送信してオブジェクトを取得すると、コンテンツのサイズが大きい場合には大量のインタレスト・パケットを送信する必要があり非効率である。したがって、特許文献2は、クライアント装置が、複数のオブジェクトの範囲を指定するインタレスト・パケットをCCNに送信して、当該複数のオブジェクトを1つのインタレスト・パケットの応答として取得する構成を開示している。
【0006】
また、非特許文献1は、オブジェクトを転送する転送装置において、要求パケットの転送数に制限を設ける構成を開示している。具体的には、所定の制限値をあらかじめ決めておくと共に、転送装置は、受信待ちであるオブジェクト数を管理する。そして、転送装置は、受信した要求パケットを転送することで、受信待ち数が制限値を超える場合には、当該要求パケットを転送せず、代わりに、当該要求パケットを送信したクライアント装置に否定応答(NACK)を送信している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−277234号公報
【特許文献2】特開2011−135575号公報
【非特許文献】
【0008】
【非特許文献1】C.Yi,et al.,"Adaptive Forwarding in Named Data Networking",ACM SIGCOMM Computer Communication Review,2012年
【発明の概要】
【発明が解決しようとする課題】
【0009】
コンテンツのサイズが大きいと、クラインアント装置は、1つのオブジェクトを取得するために多数の要求パケットを送信する必要がある。非特許文献1に記載の方法において、転送装置は、制限値を超えると要求パケットの転送を制限するが、クライアント装置が多数のオブジェクトに分割されたコンテンツを取得する様な場合には、受信待ち数が制限値にはりつくことが生じ得る。この場合、他のクライアント装置が送信した要求パケットがなかなか転送されず、クライアント装置間で帯域利用の不公平さが生じる恐れがある。
【0010】
本発明は、クライアント装置間での帯域利用の不公平さを低減させる転送装置及びプログラムを提供するものである。
【課題を解決するための手段】
【0011】
本発明の一側面によると、コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置は、受信待ちのオブジェクト数である第1の値を管理する管理手段と、閾値を保持する保持手段と、1つ以上のオブジェクトを示す要求パケットを受信すると、当該1つ以上のオブジェクトの内、キャッシュしておらず、かつ、受信待ちでないオブジェクトを判定して、前記判定したオブジェクトの数である第2の値を求め、前記第1の値と前記第2の値の和が前記閾値を超えていると、前記第2の値より小さい第3の値を決定し、前記判定したオブジェクトから前記第3の値の数のオブジェクトを選択し、前記選択したオブジェクトを示す要求パケットを送信する処理を行う処理手段と、を備えていることを特徴とする。
【発明の効果】
【0012】
クライアント装置間での帯域利用の不公平さを低減させることができる。
【図面の簡単な説明】
【0013】
図1】一実施形態による転送装置の構成図。
図2】一実施形態による転送装置における処理のフローチャート。
図3】一実施形態による転送装置における処理の説明図。
【発明を実施するための形態】
【0014】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【0015】
<第一実施形態>
図2は、本実施形態による転送装置における処理を示すフローチャートである。なお、以下の説明においては、CCNにおける用語を使用するが、本実施形態はCCNに限定されない。まず、以下の説明において使用する用語について説明する。インタレスト・パケットは、コンテンツを分割したオブジェクトを要求する要求パケットである。なお、本実施形態において、インタレスト・パケットは、1つのオブジェクトのみを要求するものではなく、1つ以上のオブジェクトを要求するものとする。よって、インタレスト・パケットにおいては、要求するオブジェクトのオブジェクト名が列挙される。以下では、インタレスト・パケットにおいて要求されているオブジェクトの数を、"要求オブジェクト数"と呼ぶ。また、転送装置は、インタレスト・パケットを転送したことにより受信待ちとなっているオブジェクトの数を管理している。以下では、この受信待ちとなっているオブジェクトの数を"受信待ち数"と呼ぶ。転送装置には、"受信待ち数"の最大値が設定されている。以下では、この"受信待ち数"の最大値を"制限値"と呼ぶ。例えば、受信待ち数が"75"であり、制限値が"100"である場合に、転送装置は、25個までのオブジェクトであれば、インタレスト・パケットを転送して受信待ちに加えることができる。本実施形態において、転送装置は、制限値に加えて閾値を使用する。閾値は制限値以下の値である。なお、以下の説明においては、特に断りのない限り、具体的な数値例とし、受信待ち数として"75"を、制限値として"100"を、閾値として"80"を使用する。転送装置は、インタレスト・パケットを受信する度に、図2の処理を行う。
【0016】
S10において、転送装置は、受信したインタレスト・パケットの要求オブジェクト数を判定する。転送装置は、S11で、インタレスト・パケットが要求する個々のオブジェクトについて、キャッシュしているものと、既に受信待ちであるものをCS及びPITにより判定する。そして、インタレスト・パケットに含めて転送が必要なオブジェクトの数、つまり、受信したインタレスト・パケットが要求するオブジェクトの内、キャッシュしておらず、かつ、受信待ちでないオブジェクトの数を判定する。なお、以下では、インタレスト・パケットに含めて転送が必要なオブジェクトと、その数をそれぞれ"転送必要オブジェクト"及び"転送必要オブジェクト数"と呼ぶ。例えば、受信したインタレスト・パケットの要求オブジェクト数が"30"であり、そのうち、キャッシュしているオブジェクトが"10"であり(CSにより判定)、既に受信待ちであるオブジェクトが"5"(PITにより判定)であるとすると、転送必要オブジェクト数は、"30−10−5=15"となる。
【0017】
転送装置は、S12で、転送必要オブジェクトを総て含むインタレスト・パケットを転送すると、受信待ち数が閾値を超えるか否かを判定する。具体的には、現在の受信待ち数と転送必要オブジェクト数の和が閾値を超えるか否かを判定する。閾値を超えない場合、転送装置は、S15で、転送必要オブジェクトのオブジェクト名を含むインタレスト・パケットを転送してPITを更新する。例えば、受信待ち数が"75"であり、閾値が"80"であると、"転送必要オブジェクト数"が"5"以下であれば、S12はYesである。一方、現在の受信待ち数と転送必要オブジェクト数との和が閾値を超えると、転送装置は、S13で、実際に転送するオブジェクト数を決定する。なお、この実際に転送するオブジェクト数を、以下では"転送オブジェクト数"と呼ぶ。当然ではあるが、"転送オブジェクト数"は、"転送必要オブジェクト数"より少ない値である。
【0018】
以下では、S13での処理について説明する。まず、転送装置は、現在の受信待ち数と転送必要オブジェクト数との和から閾値を減じた値を求める。この値に所定の係数を乗じ、これにより、転送するインタレスト・パケットから除くオブジェクトの数(以下、除く数と呼ぶ)を求める。例えば、受信待ち数が"75"であり、閾値が"80"であり、転送必要オブジェクト数が"15"であるとすると、転送必要オブジェクト数と受信待ち数の和から閾値を減じた値は、"75+15−80=10"となる。所定の係数を0.1とすると、除く数は、"10×0.1=1"となる。なお、所定の係数を乗じた値が整数とならない場合には、切り上げ、切り捨て、四捨五入等の任意の方法で整数にする。以下の数値例では切り上げるものとする。転送装置は、転送必要オブジェクト数から除く数を減じた値を転送オブジェクト数とする。上記例では、除く数は"1"であるため、転送オブジェクト数は"14"となる。なお、転送オブジェクト数が、制限値から受信待ちオブジェクト数を減じた値(以下、最大転送数と呼ぶ。)より大きくなる場合には、転送オブジェクト数を最大転送数に制限する。
【0019】
例えば、受信待ち数が"75"で制限値が"100"であるため、最大転送数は"25"である。また、閾値が"80"であるため、転送必要オブジェクト数が"28"であり、所定の係数が0.1であると、除く数は、"(75+28−80)×0.1=2.3"であり、切り上げて"3"となる。この場合、上記説明した式により求められる転送オブジェクト数は"28−3=25"であり、最大転送数"25"以下である。したがって、転送オブジェクト数はそのまま"25"となる。しかし、転送必要オブジェクト数が"29"であり、所定の係数が0.1であると、除く数は、"(75+29−80)×0.1=2.4"であり切り上げて"3"となる。この場合、上記説明した式により求められる転送オブジェクト数は"29−3=26"であり、最大転送数"25"より多くなる。この場合、"転送必要オブジェクト数"は最大転送数に等しい"25"とする。したがって、結果として除く数は"4"となる。
【0020】
つまり、転送装置は、S13において、転送オブジェクト数と除く数を決定する。また、決定した数に従い、どのオブジェクトを転送するインタレスト・パケットに含め、どのオブジェクトを含めないかも決定する。なお、転送するインタレスト・パケットに含めるオブジェクトをどの様に決定するかは任意の方法を使用することができる。転送装置は、S14において、インタレスト・パケットを送信したクライアント装置に、転送するインタレスト・パケットに含めないと決定したオブジェクトをNACKにより通知する。なお、1つのNACKに1つのオブジェクト名を含めても、1つのNACKに転送しないと決定した総てのオブジェクト名を含めても良い。その後、転送装置は、S15で、決定したオブジェクト名を含むインタレスト・パケットを転送する。
【0021】
図3は、インタレスト・パケットを受信した時点における受信待ち数と当該インタレスト・パケットの転送必要オブジェジェクト数の和(横軸)と、当該受信待ち数と転送オブジェクト数の和(縦軸)との関係を示している。なお、点線は従来技術であり、実線が本実施形態での関係である。点線に示す様に、従来技術では、制限値のみで判定するため、横軸の値が制限値以下においては、横軸の値と縦軸の値は同じであり、横軸の値が制限値を超えると縦軸の値は制限値に制限される。本実施形態では、横軸が閾値を超えると、従来技術より縦軸の値が低くなる。なお、本実施形態においては、横軸が閾値より大きく、から、制限値以下の範囲においては、横軸の値が大きくなる程、縦軸の値も大きくなる。しかしながら、階段状に大きく、つまり、ある範囲において縦軸の値が一定となる様にしても良い。さらに、図3の例では、横軸の値が制限値を超えても、縦軸は制限値より小さい範囲が存在するが、横軸の値が制限値を超えると、縦軸の値を制限値とする構成であっても良い。いずれにしても、本実施形態によると、制限値に対する余裕が増加し、クライアント装置が利用する帯域の不公平さを低減することができる。
【0022】
図1は、本実施形態による転送装置の構成図である。インタフェース部11は、複数のインタフェースを有し、パケットの送受信を行う。保持部13は、PITや、CSや、キャッシュしているオブジェクトを保持する。保持部13は、さらに、制限値や閾値や、所定の係数を保持する。また、管理部14は、受信待ち数、制限値から受信待ち数を減じた最大転送数等を管理する。処理部12は、図2に示す処理を行ってインタレスト・パケットの転送を行う。
【0023】
<その他の実施形態>
なお、第一実施形態では、転送必要オブジェクト数と受信待ち数の和から閾値を減じた値に所定の係数を乗ずることで除く数を求め、転送必要オブジェクト数から除く数を減ずることで転送オブジェクト数を求めていた。しかしながら、例えば、転送必要オブジェクト数と受信待ち数の和から閾値を減じた値に所定の係数を乗ずることで転送オブジェクト数を求める構成であっても良い。また、所定の係数は、固定的な値ではなく、転送必要オブジェクト数と受信待ち数の和から閾値を減じた値により変化する値であっても良い。より一般的には、転送必要オブジェクト数と受信待ち数の和が閾値を超えた場合、転送必要オブジェクト数より少ない数を、転送オブジェクト数とする構成であれば良い。なお、何れの場合にしても、転送オブジェクト数と受信待ち数の和は、制限値以内とする。
【0024】
さらに、第一実施形態においては、現在の受信待ち数と転送必要オブジェクト数との和から閾値を減じた値を求め、この値に所定の係数を乗じ、これにより、除く数を求めていた。しかしながら、現在の受信待ち数と転送必要オブジェクト数との和が制限値を超えていると、制限値を超えた数と、制限値から現在の受信待ち数を減じた値に所定の係数を乗じた値との和を除く数とする形態であっても良い。例えば、受信待ち数が"75"であり、閾値が"80"であり、制限値が"100"であり、所定の係数を"0.1"とする。この場合、転送必要オブジェクト数が"28"であると、制限値を超えた数は、"75+28−100=3"である。また、制限値から現在の受信待ち数を減じた値に所定の係数を乗じた値は、"(100−80)×0.1=2"である。したがって、除く数は"2+3=5"であり、転送オブジェクト数は"23"となる。さらに、転送必要オブジェクト数が"29"であると、制限値を超えた数は、"75+29−100=4"である。また、制限値から現在の受信待ち数を減じた値に所定の係数を乗じた値は、"(100−80)×0.1=2"である。したがって、除く数は"2+4=6"であり、転送オブジェクト数は"23"となる。なお、現在の受信待ち数と転送必要オブジェクト数との和が制限値を超えていない場合の処理は、第一実施形態と同様である。この形態では、現在の受信待ち数と転送必要オブジェクト数との和が制限値を超えると、現在の受信待ち数と転送オブジェクト数の和は制限値より小さくなる。よって、1つのインタレスト・パケットにおける転送必要オブジェクト数が大きくとも、当該インタレスト・パケット転送後の受信待ち数は制限値より小さくなる。よって、他のクライアント装置がオブジェクトを要求できなくなる状態を減らすことができる。
【0025】
また、本発明による転送装置は、コンピュータを上記転送装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
図1
図2
図3