JP2016149714A - コンテンツ配信ネットワークの転送装置 - Google Patents

コンテンツ配信ネットワークの転送装置 Download PDF

Info

Publication number
JP2016149714A
JP2016149714A JP2015026853A JP2015026853A JP2016149714A JP 2016149714 A JP2016149714 A JP 2016149714A JP 2015026853 A JP2015026853 A JP 2015026853A JP 2015026853 A JP2015026853 A JP 2015026853A JP 2016149714 A JP2016149714 A JP 2016149714A
Authority
JP
Japan
Prior art keywords
received
packet
request packet
data packet
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015026853A
Other languages
English (en)
Other versions
JP6430849B2 (ja
Inventor
一暁 植田
Kazuaki Ueda
一暁 植田
健治 横田
Kenji Yokota
健治 横田
敦士 田上
Atsushi Tagami
敦士 田上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2015026853A priority Critical patent/JP6430849B2/ja
Publication of JP2016149714A publication Critical patent/JP2016149714A/ja
Application granted granted Critical
Publication of JP6430849B2 publication Critical patent/JP6430849B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】オブジェクトを1つ以上のデータ・パケットで配信するコンテンツ配信ネットワークの転送装置であって、インタレスト集約の可否を判定できる転送装置を提供する。【解決手段】転送装置は、受信待ちとなっているオブジェクトと、その送信インタフェースとの関係を示すペンディング情報を保持する保持手段と、要求パケットを受信すると転送するか否かを判定する判定手段と、を備えており、第1要求パケットが要求するオブジェクトと、その応答として受信するデータ・パケットの送信インタフェースとの関係がペンディング情報に含まれているときに、当該オブジェクトを要求する第2要求パケットを受信すると、第1要求パケットの応答として少なくとも1つデータ・パケットを受信しているかを判定し、少なくとも1つデータ・パケットを受信していると、第2要求パケットを転送すると判定する。【選択図】図1

Description

本開示は、コンテンツを複数のオブジェクトに分割し、オブジェクトを1つ以上のデータ・パケットで配信するコンテンツ配信ネットワークの転送装置に関する。
コンテンツ名に基づきルーティングを行うネットワークが提案されている。特許文献1及び非特許文献1は、その様なネットワークの1つであるコンテンツ・セントリック・ネットワーク(CCN:Content Centric Networking)を開示している。
CCNにおいて、コンテンツを公開するサーバ装置は当該コンテンツを1つ以上のチャンクと呼ばれるオブジェクトに分割し、クライアント装置は、この分割されたオブジェクト単位でコンテンツを要求する。また、CCNにおいて、オブジェクトの転送を行った通信装置は、当該オブジェクトをキャッシュ(保持)できる。この通信装置は、自装置がキャッシュしているオブジェクトを要求するパケット(以下、インタレスト・パケット)をクライアント装置から受信すると、当該インタレスト・パケットをサーバ装置に向けて転送することなく、キャッシュしているオブジェクトを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信できる。
ここで、以下の説明において使用する用語について説明する。インタレスト・パケット及びオブジェクトの転送を行う通信装置を転送装置と呼ぶものとする。インタレスト・パケットの応答として、オブジェクトを送信するサーバ装置や通信装置を纏めて送信装置と呼ぶものとする。なお、送信装置との用語は、説明の対象としている転送装置とは異なる装置に対して使用する。例えば、説明の対象としている転送装置が、キャッシュしているオブジェクトを要求するインタレスト・パケットを受信し、当該転送装置がキャッシュしているオブジェクトを送信する場合、当該転送装置は、送信装置でもあるが、この場合には転送装置との用語を使用する。また、オブジェクトは、パケットにより配信されるが、オブジェクトを含むパケットをデータ・パケットと呼ぶものとする。
以下に、転送装置の動作の一例を説明する。転送装置は、CS(Contents Store)と、FIB(Forward Information Base)と、PIT(Pending Interest Table)を管理する。CSは、自装置がキャッシュしているオブジェクトを示す情報である。FIBは、インタレスト・パケットと、当該インタレスト・パケットを転送すべきインタフェースとの関係を示す情報である。PITは、転送したインタレスト・パケットが要求するオブジェクトと、当該オブジェクトを含むデータ・パケットを受信した場合に、当該データ・パケットを送信するインタフェースとの関係を示す情報である。なお、このデータ・パケットを送信するインタフェースは、CCNにおいては、インタレスト・パケットを受信したインタフェースである。
転送装置は、インタレスト・パケットを受信すると、CSを検索し、当該インタレスト・パケットが要求するオブジェクトをキャッシュしているか否かを判定する。キャッシュしている場合には、キャッシュしているオブジェクトを含むデータ・パケットを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信する。一方、キャッシュしていない場合には、PITを検索して、当該インタレスト・パケットと同じオブジェクトを要求するインタレスト・パケットを既に転送し、当該オブジェクトの受信待ちの状態であるかを判定する。受信待ちの状態であると、受信したインタレスト・パケットを転送せず、当該インタレスト・パケットの受信インタフェースを、当該インタレスト・パケットが要求するオブジェクトに関連付ける様にしてPITを更新する。一方、受信したインタレスト・パケットが要求するオブジェクトの受信待ちでなければ、FIBに基づき判定したインタフェースから当該インタレスト・パケットを転送すると共にPITを更新する。また、転送装置は、オブジェクトを含むデータ・パケットを受信すると、当該オブジェクトの転送先インタフェースをPITに基づき判定し、判定した転送先インタフェースから当該データ・パケットを送信すると共に、当該オブジェクトに関する情報をPITから削除する。さらに、転送装置は、受信して転送したオブジェクトを保存するとCSを更新する。
上述した様に、CCNにおいて、転送装置は、受信したインタレスト・パケットと同じオブジェクトを要求するインタレスト・パケットを既に転送し、当該オブジェクトの受信待ちの状態である場合、受信したインタレスト・パケットを転送しない。これは、転送装置が、あるオブジェクトを要求するインタレスト・パケット(第1インタレスト・パケット)を受信・転送し、当該オブジェクトの受信待ちであるときに、当該オブジェクトを要求する新たなインタレスト・パケット(第2インタレスト・パケット)受信した場合、第2インタレスト・パケットを転送しなくとも、当該オブジェクトをそのうちに受信するからである。この場合、転送装置は、当該オブジェクトを受信すると、第1インタレスト・パケット及び第2インタレスト・パケットを送信したクライアント装置それぞれに、当該オブジェクトを送信する。なお、以下の説明において、受信したインタレスト・パケットが要求するオブジェクトが、既に受信待ちの状態であるために、当該インタレスト・パケットを転送しない処理を"インタレスト集約"と呼ぶものとする。
一般的に、コンテンツ配信ネットワークの各リンクには、MTU(Maximum Transmission Unit)が設定されており、リンクを介して送受信されるデータ・パケットは、MTUで示されるサイズ以下に制限される。このため、各リンクのMTUを考慮したデータ・パケットの転送方法を示す非特許文献2が作成された。以下に、非特許文献2の概要を述べる。まず、非特許文献2においては、サーバ装置が、当該装置からクライアント装置までの経路に含まれるリンクのMTUの最小値に基づきオブジェクトを分割してデータ・パケットを生成し、当該経路の途中にある各転送装置でデータ・パケットを分割することを禁止している。サーバ装置が、経路に含まれるリンクのMTUの最小値を判定するために、非特許文献2は、インタレスト・パケットに経路MTU(Path Minimum MTU)フィールド(経路最大値フィールドとも呼ぶ。)を設けることを規定している。
具体的には、クライアント装置は、送信するインタレスト・パケットの経路MTUフィールドに、当該インタレスト・パケットを送信するリンクのMTU値を設定する。転送装置は、受信したインタレスト・パケットの経路MTUフィールドの値と、当該インタレスト・パケットを送信するリンクのMTU値を比較し、当該インタレスト・パケットを送信するリンクのMTU値が、受信したインタレスト・パケットの経路MTUフィールドの値より小さければ、当該インタレスト・パケットの経路MTUフィールドの値を、当該インタレスト・パケットを送信するリンクのMTU値に変更して送信する。これにより、送信装置や転送装置は、自装置からクライアント装置までの経路に含まれるリンクのMTUの最小値を判定することができる。
また、1つのオブジェクトをMTUに合わせて分割することにより、オブジェクトの名前を含むデータ・パケットと、名前を含まないデータ・パケットが生じる。したがって、非特許文献2によると、クライアント装置は、インタレスト・パケットのヘッダの第1識別子(FragmentStreamID)フィールドに第1識別子を設定する。送信装置は、送信するデータ・パケットの第2識別子(InterestStreamID)フィールドに、受信したインタレスト・パケットの第1識別子と同じ値を設定する。これにより、各転送装置は、データ・パケットを受信した場合、どのインタレスト・パケットに対するものであるかを判定できる。なお、データ・パケットも第1識別子フィールドを有し、送信装置は、同じオブジェクトを送信する複数のデータ・パケットには同じ第1識別子を設定する。なお、データ・パケットの第1識別子は、データ・パケットに設定する第2識別子とは独立して決定される。また、データ・パケットのヘッダには、最大MTU(Object Maximum MTU)フィールド(最大サイズ・フィールドとも呼ぶ。)が設けられている。最大MTUフィールドには、1つのオブジェクトをMTUに合わせて分割することで生成される各データ・パケットのMTUの最大値が設定される。転送装置は、データ・パケットの最大MTUフィールドの値に基づき、当該データ・パケットが搬送するオブジェクトから生成された一連のデータ・パケットのMTUの最大値を判定することができる。
上述した様に、リンクのMTUを考慮しない場合、インタレスト集約は、PITに同じオブジェクトに対するエントリが有るか否かのみにより判定することができた。しかしながら、リンクのMTUを考慮する場合、PITに同じオブジェクトについてのエントリが有るか否かのみによりインタレスト集約が可能であるかを判定できない。例えば、上述した様に、経路MTUフィールドに設定された値が第1MTU値である第1インタレスト・パケットを転送装置が既に転送し、データ・パケットの受信待ち状態であるものとする。この状態において、当該転送装置が、経路MTUフィールドに設定された値が第1MTU値より小さい第2MTU値であり、第1インタレスト・パケットと同じオブジェクトを要求する第2インタレスト・パケットを受信したものとする。転送装置が受信するデータ・パケットは、第1インタレスト・パケットの応答として受信するものであるため、各データ・パケットのサイズは、第1MTU値以下であるが、第2MTU値以下である保証はない。したがって、受信したデータ・パケットのサイズのサイズが第2MTU値より大きいと、転送装置は、受信したデータ・パケットを、第2インタレスト・パケットを送信したクライアント装置に向けて送信することはできない。
したがって、MTUを考慮した転送を行う場合、インタレスト・パケットの転送には、受信した第1インタレスト・パケットの経路MTUフィールドの値もPITで管理し、同じオブジェクトを要求する第2インタレスト・パケットを受信した場合、第2インタレスト・パケットの経路MTUフィールドの値と、PITのエントリである、第1インタレスト・パケットの経路MTUフィールドの値とを比較して、インタレスト集約を行うか否かを判定しなければならない。具体的には、第2インタレスト・パケットの経路MTUフィールドの値が、第1インタレスト・パケットの経路MTUフィールドの値以上である場合にのみインタレスト集約を行い、第2インタレスト・パケットの経路MTUフィールドの値が、第1インタレスト・パケットの経路MTUフィールドの値より小さい場合には、第2インタレスト・パケットを転送してPITを更新する必要がある。
特開2009−277234号公報
V.Jacobson,et al.,"Networking Named Content",in Proceedings of ACM CoNEXT 2009,2009年12月 "CCNx End−to−End Fragmentation、[online]、[平成27年1月20日検索]、インターネット<URL:http://www.ccnx.org/pubs/ccnx−mosko−fragmentation−01.html
例えば、非特許文献2が示す構成において、第1インタレスト・パケットの応答として、既に一部のデータ・パケットを受信し転送しているものとする。この状態において、第1インタレスト・パケットと同じオブジェクトを要求する第2インタレスト・パケットを受信し、この第2インタレスト・パケットの経路MTUフィールドの値が、第1インタレスト・パケットの経路MTUフィールドの値以上であると、上述した判定方法では、インタレスト集約は可能となる。しかしながら、この場合、転送装置は、第2インタレスト・パケットの受信後に受信するデータ・パケットについては、第2インタレスト・パケットを送信したクライアント装置に送信することはできるが、既に転送したデータ・パケットについては、これらがキャッシュ対象でない限り、第2インタレスト・パケットを送信したクライアント装置に送信することはできない。つまり、非特許文献2に示す構成では、正確にインタレスト集約可能であるかを判定することはできない。
本発明は、コンテンツを複数のオブジェクトに分割し、オブジェクトを1つ以上のデータ・パケットで配信するコンテンツ配信ネットワークの転送装置であって、インタレスト集約の可否を判定できる転送装置を提供するものである。
本発明の一側面によると、コンテンツを1つ以上のオブジェクトに分割し、1つのオブジェクトを1つ以上のデータ・パケットで配信するコンテンツ配信ネットワークの転送装置は、オブジェクトを要求する要求パケットを転送したことにより受信待ちとなっている当該オブジェクトと、当該要求パケットの応答として受信するデータ・パケットの送信インタフェースとの関係を示すペンディング情報を保持する保持手段と、要求パケットを受信すると、当該要求パケットを転送するか否かを判定する判定手段と、を備えており、前記判定手段は、第1要求パケットが要求するオブジェクトと、前記第1要求パケットの応答として受信するデータ・パケットの送信インタフェースとの関係が前記ペンディング情報に含まれているときに、当該オブジェクトを要求する第2要求パケットを受信すると、前記第1要求パケットの応答として少なくとも1つデータ・パケットを受信しているかを判定し、少なくとも1つデータ・パケットを受信していると、前記第2要求パケットを転送すると判定することを特徴とする。
インタレスト集約の可否を判定することができる。
一実施形態による転送装置の構成図。 一実施形態によるPITを示す図。 一実施形態によるインタレスト・パケット受信時の処理を示すフローチャート。 一実施形態によるPITを示す図。 一実施形態によるデータ・パケット受信時の処理を示すフローチャート。 一実施形態によるデータ・パケット受信時の処理を示すフローチャート。 一実施形態によるデータ・パケット受信時の処理を示すフローチャート。
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の実施形態は例示であり、本発明を実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
<第一実施形態>
図2は、本実施形態による転送装置が管理するPITの一例を示している。なお、図2において、番号フィールドは、PITの各エントリを識別するエントリ番号を示しているが、説明の便宜上設けたものであり、番号フィールドを設けない構成とすることもできる。図2のオブジェクト名フィールドは、受信待ちであるオブジェクト名を示している。また、インタレスト・フィールドの第1識別子フィールドには、受信して転送したインタレスト・パケットの第1識別子フィールドの値が設定され、同じく経路MTUフィールドには、転送したインタレスト・パケットの受信時における経路MTUフィールドの値が設定される。受信状態フィールドには、対応するインタレスト・パケットの応答として受信したデータ・パケットを示す情報が設定される。図2においては、1つのオブジェクトから生成されるデータ・パケットの数の最大値を5とし、5ビットでデータ・パケットの受信状況を示すものとしている。本実施形態では、LSB〜MSBの順に各ビットを各データ・パケットに対応させ、値"0"が未受信を、値"1"が受信済みを示すものとする。例えば、受信状態フィールドの値が"00011"であることは、1番目と2番目のデータ・パケットを既に受信し転送したことを示している。なお、1つのオブジェクトを構成するデータ・パケットの数は、例えば、データ・パケットのヘッダに設定されている。なお、受信状態フィールドのビット数は、コンテンツ配信ネットワークにおいて1つのオブジェクトから生成されるデータ・パケットの数の最大値に基づき決定される。
データ・フィールドの第1識別子フィールドは、受信したデータ・パケットの第1識別子フィールドの値が設定され、MTUフィールドには、受信したデータ・パケットの最大MTUフィールドの値が設定される。さらに、インタフェース・フィールドには、受信したデータ・パケットを送信すべきインタフェースと、当該インタフェースに受信したデータ・パケットを送信する際に、当該データ・パケットの第2識別子フィールドに設定すべき値が設定される。
以下、インタレスト・パケットを受信した際の処理を図3のフローチャートにより説明する。S10で転送装置は、受信したインタレスト・パケットが要求するオブジェクトをキャッシュしており、かつ、送信可能であるかをCSに基づき判定する。例えば、転送装置は、受信したインタレスト・パケットが要求するオブジェクトをキャッシュしているが、当該オブジェクトを受信した際のデータ・パケットの最大MTUフィールドの値が、受信したインタレスト・パケットの経路MTUフィールドの値より大きいと、キャッシュしているが送信不可と判定する。なお、これは、非特許文献2においては、転送装置においてオブジェクトの分割を禁止しているからである。しかしながら、転送装置において、キャッシュしているオブジェクトの分割を許容する構成とすることもできる。この場合、キャッシュしているオブジェクトは、総て送信可能と判定する。キャッシュし、かつ、送信可能である場合、転送装置は、S16で、キャッシュしているオブジェクトをクライアント装置に送信して処理を終了する。一方、要求されたオブジェクトをキャッシュしていない、或いは、キャッシュしているが送信不可である場合、転送装置は、S11で、要求されたオブジェクトのエントリがPITに存在するかを判定する。この判定は、本実施形態では、オブジェクト名により行う。存在しないと、転送装置は、S15で、受信したインタレスト・パケットの転送処理を行う。なお、インタレスト・パケットの転送により、転送装置は、PITに当該インタレスト・パケットに関するエントリを追加する。一例として、オブジェクト名"AAA"を要求し、第1識別子フィールド及び経路MTUフィールドにそれぞれ"12345"及び"1500"が設定されたインタレスト・パケットをインタフェースIF#1で受信した場合、図2(A)の番号#1で示すエントリが追加される。図2(A)に示す様に、オブジェクト名フィールドと、インタレスト・フィールドには、それぞれ、インタレスト・パケットで示された値を設定する。また、受信状態フィールドは、総てのビットを0に設定する。さらに、インタフェース・フィールドには、当該インタレスト・パケットを受信したインタフェースと、当該インタレスト・パケットの第1識別子フィールドの値が設定される。
一方、S11で、要求されたオブジェクトのエントリがPITに存在すると、転送装置は、S12及びS13で、受信したインタレスト・パケットを、既にPITにエントリされているインタレスト・パケットに集約可能であるかを判定する。なお、このインタレスト集約可能であるか否かを判定するためのする条件を、集約条件と呼ぶものとする。集約条件を満たさない場合、転送装置は、S15で、受信したインタレスト・パケットの転送処理を行い、上述したのと同様に、PITに新たなエントリを追加する。一方、集約条件を満足していると、転送装置は、受信したインタレスト・パケットを転送せず、PITの更新を行う。本実施形態では、集約条件として、S12で、データ・パケットの一部を既に受信しているかを判定する。転送装置は、データ・パケットを受信して転送すると、受信状態フィールドの対応するビットを"1"に変更する。したがって、転送装置は、データ・パケットの一部を既に受信しているかを受信状態フィールドの値により判定することができる。データ・パケットの一部を既に受信していないと、転送装置は、S13で、受信したインタレスト・パケットがMTUに関する条件を満たしているかを判定する。具体的には、受信したインタレスト・パケットの経路MTUフィールドの値が、集約対象の経路MTUフィールドの値以上であるか否かを判定する。受信したインタレスト・パケットの経路MTUフィールドの値が、集約対象の経路MTUフィールドの値以上ではないと、インタレスト集約できないと判定し、受信したインタレスト・パケットの経路MTUフィールドの値が、集約対象の経路MTUフィールドの値以上であると、インタレスト集約可能と判定する。
例えば、図2(A)の状態において、名前"AAA"のオブジェクトを要求するインタレスト・パケットをIF#2で受信し、当該インタレスト・パケットの第1識別子フィールド及び経路MTUフィールドにはそれぞれ"23456"及び"1500"が設定されていたものとする。この場合、S11において、図2(A)の番号#1のエントリがヒットし、よって、転送装置は、番号#1のエントリに対応するインタレスト・パケットに、受信したインタレスト・パケットを集約できるかを判定する。本例では、S12及びS13の判定は、それぞれ、"No"、"Yes"であり集約条件を満たす。よって、転送装置は、S14において、図2(B)の様にPITを更新する。具体的には、番号#1のエントリのインタフェース・フィールドに、インタレスト・パケットを受信したインタフェースであるIF#2と、当該インタレスト・パケットの第1識別子フィールドの値を設定する。
図2(B)の状態において、転送装置が、第1識別子フィールドの値が"34567"であり、第2識別子フィールドの値が"12345"であり、最大MTUフィールドの値が1480であるデータ・パケットを受信したものとする。転送装置は、データ・パケットの第2識別子フィールドの値に基づき、PITのインタレスト・フィールドの第1識別子フィールドを検索し、受信したデータ・パケットがどのエントリに関するものであるかを判定する。本例においては、番号#1のエントリに関するものと判定される。転送装置は、判定した番号#1のエントリのインタフェース・フィールドに示されたインタフェースから受信したデータ・パケットを送信する。なお、この際、送信するデータ・パケットの第2識別子フィールドの値には、インタフェース・フィールドに設定された値を設定する。具体的には、本例では、IF#1及びIF#2それぞれからデータ・パケットを送信し、IF#1から送信するデータ・パケットの第2識別子フィールドには、受信したのと同じ"12345"を設定し、IF#2から送信するデータ・パケットの第2識別子フィールドには、"23456"を設定する。また、PITの受信状態フィールドと、データ・フィールドの値をそれぞれ受信したデータ・パケットに応じて更新する。図2(C)の番号#1のエントリは、この更新後の状態を示している。
また、図3のS12又はS13の処理を経由してS15を行う場合には、受信したインタレスト・パケットのエントリを新たにPITに追加する。例えば、図2(A)の状態の後に、転送装置が、名前"AAA"のオブジェクトを要求するインタレスト・パケットをIF#3で受信し、当該インタレスト・パケットの第1識別子フィールド及び経路MTUフィールドにはそれぞれ"45678"及び"1280"が設定されていたものとする。この場合、当該インタレスト・パケットを受信した時点において、番号#1のエントリに対する受信状態が未受信であるか否かに拘らず集約条件を満たさないため、S15において、当該インタレスト・パケットの転送処理が行われる。したがって、図2(C)の番号#2に示すエントリがPITに追加される。図2(C)においては、番号#1のエントリについて、既に1つのデータ・パケットを受信済みであり、番号#2のエントリに対してはデータ・パケットが未受信であることが示されている。なお、番号#1のエントリに対して受信するオブジェクトが5つのデータ・パケットに分割されているものとすると、この5つのデータ・パケットを転送すると、転送装置は、番号#1のエントリをPITから削除する。また、キャッシュを行う場合には、オブジェクト単位でキャッシュを行う。
続いて、オブジェクトを受信した場合の処理について説明する。図4(A)は、以下の説明に使用するPITである。図4(A)によると、PITには番号#1及び番号#2のエントリが存在し、対象とするオブジェクトは同じである。また、何れのエントリもデータ・パケットを受信していないことがPITには示されている。
図5は、オブジェクトを受信した場合の処理を示すフローチャートである。S20で、転送装置は、受信したデータ・パケットの第2識別子フィールドの値により、PITのインタレスト・フィールドの第1識別子フィールドを検索する。例えば、受信したデータ・パケットの第2識別子フィールドの値が"12345"であると、番号#1のエントリがヒットする。転送装置は、S21で、ヒットしたエントリから、当該データ・パケットを送信するインタフェースを判定する。本例では、IF#1及びIF#2が転送先インタフェースとして判定される。その後、転送装置は、S22で、ヒットしたエントリの受信状態フィールドから、データ・パケットを初めて受信するのか、少なくとも1つのデータ・パケットを既に受信しているかを判定する。本例では、図4(A)に示す様に、受信状態フィールドの値が"00000"、つまり、初めて受信したデータ・パケットである。この場合、転送装置は、S24において、第2処理を実行し、当該データ・パケットを転送する他のインタフェースを判定する。
図7は、第2処理のフローチャートである。S40で、転送装置は、S20でヒットしたエントリとオブジェクト名フィールドの値が同じであり、経路MTUフィールドの値が、受信したデータ・パケットの最大MTUフィールドの値以上であり、かつ、受信状態フィールドが未受信を示しているエントリを検索する。例えば、本例において、受信したデータ・パケットの最大MTUフィールドの値が"1200"であるものとする。この場合、図4(A)の番号#2のエントリがヒットする。したがって、S41の判定は、Yesとなり、S42で、転送装置は、番号#2のエントリから、IF#3を転送先インタフェースと判定する。図5に戻り、転送装置は、判定した転送インタフェースからデータ・パケットを送信し、S26でPITを更新する。本例では、更新後のPITは、図4(B)の通りとなる。なお、受信したデータ・パケットの第1識別子フィールドの値は、"34567"としている。
一方、受信したデータ・パケットの最大MTUフィールドの値が、"1200"ではなく"1480"であるものとする。この場合、番号#2の経路MTUフィールドの値は、データ・パケットの最大MTUフィールドの値より小さいため、図7のS40で、番号#2のエントリはヒットしない。したがって、IF#3は、転送先インタフェースとならず、よって、S26においてPITは、図2(C)の様に更新される。
続いて、図5のS22で一部受信済みである場合の処理について説明する。この場合、転送装置は、S23で第1処理を実行し、当該データ・パケットを転送する他のインタフェースを判定する。図6は、第1処理のフローチャートである。S30で、転送装置は、S20でヒットしたエントリとオブジェクト名フィールド及びデータ・フィールドの値が同じである他のエントリを検索し、S31で、他のエントリが存在するかを判定する。他のエントリが存在すると、転送装置は、S31で、当該他のエントリのインタフェース・フィールドが示すインタフェースも転送インタフェースと判定する。
例えば、図4(B)の状態において、第2識別子フィールドの値が"12345"、第1識別子フィールドの値が"34567"、最大MTUフィールドの値がが"1200"のデータ・パケットを受信したものとする。つまり、番号#1のエントリに対する2番目のデータ・パケットを受信したものとする。この場合、S20における検索で、番号#1のエントリがヒットする。転送装置は、S30で、番号#1のエントリのオブジェクト名フィールド及びデータ・フィールドの値が同じであるエントリを検索し、この場合、番号#2のエントリがヒットする。したがって、転送装置は、番号#2のエントリが示すIF#3も転送インタフェースであると判定し、図5のS25で、IF#1、IF#2、IF#3からデータ・パケットを送信し、S26でPITを更新する。なお、データ・パケットの最大MTUフィールドにより、あるインタレスト・パケットの応答として受信する一連のデータ・パケットのMTUの最大値が示されているため、図6のS30においては、データ・フィールド全体ではなく、データ・フィールドの第1識別子フィールドのみ、もしくは第2識別子フィールドのみの一致により検索する構成であっても良い。一方、図2(C)の状態において、番号#1のエントリに対する2番目のデータ・パケットを受信した場合には、S31で他のエントリは存在しないため、図5のS25で、IF#1、IF#2からデータ・パケットを送信し、S26でPITを更新する。
図1は、本実施形態による転送装置の構成図である。キャッシュ部11は、オブジェクトのキャッシュを行う。保持部12は、インタレスト・パケットを転送したことにより受信待ちとなっているオブジェクトと、当該インタレストの応答として受信するデータ・パケットの送信インタフェースとの関係を示すペンディング情報を保持する。本実施形態において、ペンディング情報は、PITの形態とする。なお、保持部12は、CSやFIBも管理する。判定部13は、インタレスト・パケットを受信すると、当該インタレスト・パケットを転送するか否か、つまり、インタレスト集約を行うか否かを図3の処理に基づき判定する。例えば、判定部13は、PITのエントリに含まれているオブジェクトを要求するインタレスト・パケットを受信すると、当該エントリの受信状態フィールドから、少なくとも1つデータ・パケットを受信済であるかを判定する。受信済みであると、当該インタレスト・パケットについてはインタレスト集約不可であると判定する。また、判定部13は、PITのエントリの経路MTUフィールドの値と、受信したインタレスト・パケットの経路MTUフィールドの値を比較し、受信したインタレスト・パケットの経路MTUフィールドの値が、PITのエントリの経路MTUフィールドの値より小さいと、インタレスト集約不可であると判定する。
さらに、判定部13は、データ・パケットを受信すると、図5〜図7の処理によりデータ・パケットの送信インタフェースを決定する。具体的には、あるインタレスト・パケットの応答として初めてデータ・パケットを受信したものとする。この場合、当該インタレスト・パケットを受信したインタフェースと、当該インタレスト・パケットにインタレスト集約されたインタレスト・パケットを受信したインタフェースが、当該データ・パケットの送信インタフェースとなる。さらに、当該インタレスト・パケットとは異なるインタレスト・パケットであるが同じオブジェクトを要求するPITエントリであって、経路MTUフィールドの値が当該データ・パケットの最大MTUフィールドの値以上であり、かつ、データ・パケットを受信していないエントリがある場合、判定部13は、当該エントリのインタフェース・フィールドが示すインタフェースも当該データ・パケットの送信インタフェースとする。これは、当該インタレスト・パケットとは異なるインタレスト・パケットについても、"事後的"に当該インタレスト・パケットにインタレスト集約したことに相当する。
また、判定部13は、あるインタレスト・パケットの応答として2番目以降のデータ・パケットを受信したものとする。この場合、判定部13は、当該インタレスト・パケットと、当該インタレスト・パケットにインタレスト集約したインタレスト・パケットの受信インタフェースを、当該データ・パケットの送信インタフェースとする。この場合のインタレスト集約は、インタレスト・パケット受信時のインタレスト集約のみならず、上記"事後的"なインタレスト集約も含む。なお、本実施形態において、判定部13は、データ・パケットに含まれる第2識別子の値と、PITエントリのインタレスト・フィールドの第1識別子フィールドの値により、インタレスト・パケットとデータ・パケットの対応関係を判定する。
更新部14は、PITの管理を行い、インタレスト・パケットの転送、データ・パケットの転送を行う度にPITを更新する。具体的には、受信したインタレスト・パケットについてインタレスト集約不可と判定すると、当該インタレスト・パケットについての新たなエントリをPITに追加する。一方、当該インタレスト・パケットについて、他のインタレスト・パケットへのインタレスト集約が可能であると判定すると、当該他のインタレスト・パケットに関するエントリのインタフェース・フィールドに、当該インタレスト・パケットを受信したインタフェースを追加する様にPITを更新する。また、データ・パケットを転送すると、上述した様にPITを更新する。なお、通信処理部15は、複数のインタフェースを有し、パケットの送受信処理を行う。
以上、本実施形態によると転送装置は、MTUを考慮したネットワークにおいて、必要に応じてインタレスト集約を行い、コンテンツ配信ネットワークにおけるトラフィックを効果的に抑えることができる。
<第二実施形態>
続いて、第二実施形態について、第一実施形態との相違点を中心に説明する。なお、本実施形態においては、キャッシュしているオブジェクトについては転送装置において分割可能とする。第一実施形態において、キャッシュしているオブジェクトについては転送装置において分割可能とすると、図3のS10での判定は、キャッシュの有無のみとなる。ここで、第一実施形態では、キャッシュ有無の判定は、オブジェクト毎に行っていた。つまり、オブジェクトの総てのデータ・パケットを受信して、当該オブジェクトをキャッシュしていると、インタレスト・パケットの転送は行わず、キャッシュしているオブジェクトをS16で送信していた。なお、キャッシュ有無の判定は、CSにより行う。つまり、CSに要求されたオブジェクトが存在する場合、キャッシュ有りであり、CSに要求されたオブジェクトが存在しない場合、キャッシュ無しと判定していた。
しかしながら、要求されたオブジェクトがCSに存在しない場合であっても、PITにエントリが存在し、かつ、当該オブジェクトがキャッシュ対象であれば、転送装置は、最終的にはオブジェクトの全体を受信してキャッシュすることになる。また、一部のデータ・パケットを受信している場合、転送装置は、既にオブジェクトの一部を保持している。したがって、本実施形態では、インタレスト・パケットを受信し、当該インタレスト・パケットが要求するオブジェクトに対応するPITのエントリが存在すると、当該オブジェクトがキャッシュ対象であるかを判定する。キャッシュ対象であると、当該インタレスト・パケットに対するエントリをPITに新たに追加して、インタレスト・パケットの転送は行わない。なお、このとき、PITの当該エントリには、キャッシュ待ちであることを示す情報を付加しておく。転送装置は、当該エントリが要求するオブジェクトに対する総てのデータ・パケットを受信すると、当該エントリの経路MTUフィールドの値と、インタフェース・フィールドの値に基づき、データ・パケットを送信する。なお、当該エントリが要求するオブジェクトを総て受信する前に、送信可能なデータ・パケットを送信する形態であっても良い。なお、受信したインタレスト・パケットが要求するオブジェクトがキャッシュ対象ではない場合の処理は、第一実施形態と同様である。
なお、本実施形態においても、転送装置におけるオブジェクトの分割を許容しない構成とすることもできる。この場合、転送装置は、インタレスト・パケットを受信し、当該インタレスト・パケットが要求するオブジェクトに対応するPITのエントリが存在すると、当該オブジェクトがキャッシュ対象であり、かつ、当該エントリの経路MTUフィールドの値が、受信したインタレスト・パケットの経路MTUフィールドの値以下であるかを判定する。転送装置は、キャッシュ対象であり、かつ、当該エントリの経路MTUフィールドの値が、受信したインタレスト・パケットの経路MTUフィールドの値以下であると、当該インタレスト・パケットに対するエントリをPITに新たに追加して、インタレスト・パケットの転送は行わない。そして、キャッシュしたオブジェクトをインタレスト・パケットの送信元のクライアント装置に送信する。それ以外の処理は第一実施形態と同様である。
<第三実施形態>
第一実施形態及び第二実施形態において、判定部13は、データ・パケットの第2識別子フィールドの値と、インタレスト・パケットの第1識別子フィールドの値により、インタレスト・パケットとデータ・パケットの対応関係を判定していた。しかしながら、本発明は、これに限定されず、任意の方法によりインタレスト・パケットとデータ・パケットの対応関係を判定できる。例えば、インタレスト・パケットは、そのデータ部分のハッシュ値であるインタレスト・ラベル(IL:Interest Label)を含み、データ・パケットもこのハッシュ値を含んでいる。また、インタレスト・パケット及びデータ・パケットは、その転送用に転送ラベル(FL:Fowarding Label)を含んでいる。したがって、これら情報や、それらの組み合わせによりインタレスト・パケットとデータ・パケットの対応関係を判定することができる。
なお、本発明による転送装置は、コンピュータを上記転送装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。

Claims (10)

  1. コンテンツを1つ以上のオブジェクトに分割し、1つのオブジェクトを1つ以上のデータ・パケットで配信するコンテンツ配信ネットワークの転送装置であって、
    オブジェクトを要求する要求パケットを転送したことにより受信待ちとなっている当該オブジェクトと、当該要求パケットの応答として受信するデータ・パケットの送信インタフェースとの関係を示すペンディング情報を保持する保持手段と、
    要求パケットを受信すると、当該要求パケットを転送するか否かを判定する判定手段と、
    を備えており、
    前記判定手段は、第1要求パケットが要求するオブジェクトと、前記第1要求パケットの応答として受信するデータ・パケットの送信インタフェースとの関係が前記ペンディング情報に含まれているときに、当該オブジェクトを要求する第2要求パケットを受信すると、前記第1要求パケットの応答として少なくとも1つデータ・パケットを受信しているかを判定し、少なくとも1つデータ・パケットを受信していると、前記第2要求パケットを転送すると判定することを特徴とする転送装置。
  2. コンテンツを1つ以上のオブジェクトに分割し、1つのオブジェクトを1つ以上のデータ・パケットで配信するコンテンツ配信ネットワークの転送装置であって、
    オブジェクトを要求する要求パケットを転送したことにより受信待ちとなっている当該オブジェクトと、当該要求パケットの応答として受信するデータ・パケットの送信インタフェースとの関係を示すペンディング情報を保持する保持手段と、
    要求パケットを受信すると、当該要求パケットを転送するか否かを判定する判定手段と、
    オブジェクトをキャッシュするキャッシュ手段と、
    を備えており、
    前記判定手段は、第1要求パケットが要求するオブジェクトと、前記第1要求パケットの応答として受信するデータ・パケットの送信インタフェースとの関係が前記ペンディング情報に含まれているときに、当該オブジェクトを要求する第2要求パケットを受信すると、当該オブジェクトがキャッシュ対象であるかと、前記第1要求パケットの応答として少なくとも1つデータ・パケットを受信しているかを判定し、当該オブジェクトがキャッシュ対象ではなく、かつ、少なくとも1つデータ・パケットを受信していると、前記第2要求パケットを転送すると判定することを特徴とする転送装置。
  3. 要求パケットは、前記転送装置が、当該要求パケットを生成した装置に向けて送信できるデータ・パケットのサイズの最大値を示す経路最大値フィールドを有し、
    前記判定手段は、前記第2要求パケットの経路最大値フィールドの値が、前記第1要求パケットの経路最大値フィールドの値より小さいと、前記第2要求パケットを転送すると判定することを特徴とする請求項1又は2に記載の転送装置。
  4. 前記第2要求パケットを転送しないと、前記第1要求パケットの応答として受信するデータ・パケットの送信インタフェースとして、前記第2要求パケットを受信したインタフェースを追加する様に前記ペンディング情報を更新し、前記第2要求パケットを転送すると、前記第2要求パケットの応答として受信するデータ・パケットの送信インタフェースとして、前記第2要求パケットを受信したインタフェースを追加する様に前記ペンディング情報を更新する更新手段を更に備えていることを特徴とする請求項1から3のいずれか1項に記載の転送装置。
  5. 要求パケットは識別情報を含み、当該要求パケットの応答としてデータ・パケットを送信する装置は、当該データ・パケットに当該要求パケットの識別情報を設定し、
    前記判定手段は、受信したデータ・パケットの識別情報と、要求パケットの識別情報から、当該受信したデータ・パケットがどの要求パケットの応答として受信したものであるかを判定することを特徴とする請求項1から4のいずれか1項に記載の転送装置。
  6. コンテンツを1つ以上のオブジェクトに分割し、1つのオブジェクトを1つ以上のデータ・パケットで配信するコンテンツ配信ネットワークの転送装置であって、
    受信して転送した、オブジェクトを要求する要求パケットと、当該要求パケットの応答として受信するデータ・パケットの送信インタフェースと、の関係を示すペンディング情報を保持する保持手段と、
    データ・パケットを受信すると、前記ペンディング情報に基づき当該データ・パケットを送信するインタフェースを判定する判定手段と、
    を備えており、
    前記判定手段は、第1要求パケットの応答として受信する第1データ・パケットの送信インタフェースとして第1インタフェースが、前記第1要求パケットと同じオブジェクトを要求する第2要求パケットの応答として受信する第2データ・パケットの送信インタフェースとして第2インタフェースが前記ペンディング情報に含まれているときに、前記第1データ・パケットを受信した場合、前記第1データ・パケットを、前記第2インタフェースにも送信可能か否かを判定することを特徴とする転送装置。
  7. 要求パケットは、前記転送装置が、当該要求パケットを生成した装置に向けて送信できるデータ・パケットのサイズの最大値を示す経路最大値フィールドを有し、
    データ・パケットは、当該データ・パケットと同じオブジェクトから生成されたデータ・パケットのサイズの最大値を示す最大サイズ・フィールドを有し、
    前記判定手段は、前記第1データ・パケットを前記第1要求パケットの応答として初めて受信し、かつ、前記初めて受信したデータ・パケットの最大サイズ・フィールドの値が前記第2要求パケットの経路最大値フィールドの値以下であり、かつ、前記第2データ・パケットを受信していない場合、前記初めて受信した第1データ・パケットを、前記第2インタフェースにも送信可能と判定することを特徴とする請求項6に記載の転送装置。
  8. 前記判定手段は、前記第1データ・パケットを前記第1要求パケットの応答として初めて受信したときに、前記初めて受信した第1データ・パケットを、前記第2インタフェースにも送信可能と判定すると、前記第1要求パケットの応答として受信する各第1データ・パケットを前記第2インタフェースにも送信可能と判定することを特徴とする請求項7に記載の転送装置。
  9. 要求パケットは識別情報を含み、当該要求パケットの応答としてデータ・パケットを送信する装置は、当該データ・パケットに当該要求パケットの識別情報を設定し、
    前記判定手段は、受信したデータ・パケットの識別情報と、要求パケットの識別情報から、当該受信したデータ・パケットがどの要求パケットの応答として受信したものであるかを判定することを特徴とする請求項6から8のいずれか1項に記載の転送装置。
  10. 請求項1から9のいずれか1項に記載の転送装置として、プロセッサを有する装置を機能させることを特徴とするプログラム。
JP2015026853A 2015-02-13 2015-02-13 コンテンツ配信ネットワークの転送装置 Active JP6430849B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015026853A JP6430849B2 (ja) 2015-02-13 2015-02-13 コンテンツ配信ネットワークの転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015026853A JP6430849B2 (ja) 2015-02-13 2015-02-13 コンテンツ配信ネットワークの転送装置

Publications (2)

Publication Number Publication Date
JP2016149714A true JP2016149714A (ja) 2016-08-18
JP6430849B2 JP6430849B2 (ja) 2018-11-28

Family

ID=56691406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015026853A Active JP6430849B2 (ja) 2015-02-13 2015-02-13 コンテンツ配信ネットワークの転送装置

Country Status (1)

Country Link
JP (1) JP6430849B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018056032A1 (ja) * 2016-09-21 2018-03-29 Kddi株式会社 コンテンツ配信システムのサーバ装置、転送装置及びプログラム
WO2020031627A1 (ja) * 2018-08-08 2020-02-13 Kddi株式会社 コンテンツ配信ネットワークの転送装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277234A (ja) * 2008-05-16 2009-11-26 Palo Alto Research Center Inc コンテンツセントリックネットワークにおける通信を円滑化するための方法
JP2014241135A (ja) * 2013-06-11 2014-12-25 三星電子株式会社Samsung Electronics Co.,Ltd. コンテンツ中心ネットワークにおけるノードの通信方法及びそのノード

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277234A (ja) * 2008-05-16 2009-11-26 Palo Alto Research Center Inc コンテンツセントリックネットワークにおける通信を円滑化するための方法
JP2014241135A (ja) * 2013-06-11 2014-12-25 三星電子株式会社Samsung Electronics Co.,Ltd. コンテンツ中心ネットワークにおけるノードの通信方法及びそのノード

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018056032A1 (ja) * 2016-09-21 2018-03-29 Kddi株式会社 コンテンツ配信システムのサーバ装置、転送装置及びプログラム
US11184460B2 (en) 2016-09-21 2021-11-23 Kddi Corporation Server device and transfer device for content distribution system
WO2020031627A1 (ja) * 2018-08-08 2020-02-13 Kddi株式会社 コンテンツ配信ネットワークの転送装置
JP2020024606A (ja) * 2018-08-08 2020-02-13 Kddi株式会社 コンテンツ配信ネットワークの転送装置
CN112154425A (zh) * 2018-08-08 2020-12-29 凯迪迪爱通信技术有限公司 用于内容分发网络的传送设备
US11212359B2 (en) 2018-08-08 2021-12-28 Kddi Corporation Transfer apparatus for content distribution network
JP7022030B2 (ja) 2018-08-08 2022-02-17 Kddi株式会社 コンテンツ配信ネットワークの転送装置
CN112154425B (zh) * 2018-08-08 2024-03-08 凯迪迪爱通信技术有限公司 用于内容分发网络的传送设备

Also Published As

Publication number Publication date
JP6430849B2 (ja) 2018-11-28

Similar Documents

Publication Publication Date Title
KR102301353B1 (ko) 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
KR101978177B1 (ko) 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
US20160182680A1 (en) Interest acknowledgements for information centric networking
US20170034055A1 (en) Handling Consumer Mobility in Information-Centric Networks
KR20140009931A (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
JP2016116218A (ja) 距離ベースのインタレスト転送のためのシステム及び方法
EP3070910B1 (en) Pending interest table behavior
JP2016059039A (ja) Ccnにおける中間ルータにおけるインタレストキープアライブ
JP2017063412A (ja) ネットワーク名称付きフラグメントによるフロー制御
JP6430849B2 (ja) コンテンツ配信ネットワークの転送装置
US9781038B2 (en) Packet routing and forwarding in information centric networking
US11184460B2 (en) Server device and transfer device for content distribution system
JP6495777B2 (ja) コンテンツ配信ネットワークの転送装置、サーバ装置及びプログラム
JP6590774B2 (ja) コンテンツ配信システムのサーバ装置、転送装置及びプログラム
JP7164556B2 (ja) コンテンツ配信システムの転送装置及びプログラム
JP2007233700A (ja) キャッシュシステム、負荷監視サーバ、キャッシュ管理サーバ及びキャッシュサーバ。
JP6894391B2 (ja) コンテンツ配信ネットワークのクライアント装置及びプログラム
JP6403567B2 (ja) コンテンツ配信ネットワークの通信装置及びプログラム
US10033642B2 (en) System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US20130227066A1 (en) Data transfer apparatus and data transfer method
JP6591946B2 (ja) コンテンツ配信システムのサーバ装置、転送装置及びプログラム
JP2006221457A (ja) Pure型P2P通信におけるレプリケーション制御を行うサーバントとそのレプリケーション制御方法およびプログラム
JP6403566B2 (ja) コンテンツ配信ネットワークの転送装置、クライアント装置及びプログラム
KR101506157B1 (ko) 피투피 통신 제어 방법, 이를 위한 싱크홀 라우팅 장치 및 정보 수집 장치
JP2021043543A (ja) コンテンツ配信システムの転送装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181101

R150 Certificate of patent or registration of utility model

Ref document number: 6430849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150