(57)【特許請求の範囲】
【請求項１】
コンテンツ指向型ネットワークに接続した通信制御装置であって、
興味パケットを送信する送信部と、
前記興味パケットに対応するデータパケットを受信する受信部と、
前記送信部が送信した興味パケットに対応するデータパケットの中で、受信していないデータパケットを示す未受信情報が記録される送信ＰＩＴを記憶するメモリ部と、
前記受信部が受信したデータパケットに、送信が完了していないデータパケットを示すＰＩＴ情報が含まれている場合、当該ＰＩＴ情報と、前記送信ＰＩＴと、を用いて、前記興味パケットに対応するデータパケットのパケットロスを検出するパケット処理部とを備える
ことを特徴とする通信制御装置。
【請求項２】
前記受信部は、更に、他装置から前記興味パケットを受信し、
前記メモリ部は、更に、前記受信部が受信した興味パケットに対応するデータパケットの中で、送信が完了していないデータパケットを示す未送信情報が記録される受信ＰＩＴを記憶し、
前記送信部は、更に、前記興味パケットに対応するデータパケットを前記他装置へ送信し、
前記パケット処理部は、前記受信ＰＩＴに記録されている前記未送信情報を前記ＰＩＴ情報として、前記送信部が送信するデータパケットに含める
ことを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記未送信情報には、当該未送信情報が示すデータパケットに対応する興味パケットを受け取った通信インターフェイスを示すフェイス情報が含まれ、
前記パケット処理部は、前記受信ＰＩＴから、前記送信部が送信するデータパケットを示す前記未送信情報に含まれているフェイス情報を抽出し、前記受信ＰＩＴに記録されている、当該抽出したフェイス情報と同一のフェイス情報を含む前記未送信情報を前記ＰＩＴ情報として当該データパケットに含め、
前記送信部は、当該データパケットを前記抽出されたフェイス情報が示す通信インターフェイスによって送出させる
ことを特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記パケット処理部は、前記受信部が受信したデータパケットに含まれている前記ＰＩＴ情報を削除した後、前記受信ＰＩＴに記録されている前記未送信情報を前記ＰＩＴ情報として、当該データパケットに含める
ことを特徴とする請求項２に記載の通信制御装置。
【請求項５】
前記パケット処理部は、前記受信部が受信したデータパケットに含まれている前記ＰＩＴ情報と前記送信ＰＩＴに記録されている前記未受信情報とを比較し、前記ＰＩＴ情報が示すデータパケットと当該未受信情報が示すデータパケットとが一致しなかった場合に、当該一致しなかったデータパケットのパケットロスを検出し、更に、当該一致しなかったデータパケットに対応する興味パケットを前記送信部に再送させる
ことを特徴とする請求項１に記載の通信制御装置。
【請求項６】
前記パケット処理部は、前記比較において、前記送信ＰＩＴに記録されている前記未受信情報の中で、記録されてからの経過時間が所定の閾値以下の前記未受信情報を用いない
ことを特徴とする請求項５に記載の通信制御装置。
【請求項７】
前記パケット処理部は、更に、前記送信ＰＩＴに記録されている前記未受信情報に対してタイムアウト値を設定し、前記未受信情報が前記送信ＰＩＴに記録されてから、当該未受信情報が示すデータパケットを前記受信部が受信するまでの時間が前記タイムアウト値を超えた場合に、当該データパケットのパケットロスを検出し、更に、当該データパケットに対応する興味パケットを前記送信部に再送させる
ことを特徴とする請求項５に記載の通信制御装置。
【請求項８】
前記パケット処理部は、前記送信部が一のコンテンツを構成する複数のデータパケットをそれぞれ送信する場合、前記受信ＰＩＴに記録されている、前記一のコンテンツを構成するデータパケットを示す前記未送信情報のみを前記ＰＩＴ情報として、前記送信部が送信するデータパケットに含める
ことを特徴とする請求項２に記載の通信制御装置。
【請求項９】
前記パケット処理部は、前記受信部が一のコンテンツを構成する複数のデータパケットをそれぞれ受信した場合、当該受信したデータパケットに含まれている前記ＰＩＴ情報と、前記送信ＰＩＴに記録されている、前記一のコンテンツを構成するデータパケットを示す前記未受信情報と、を用いて、前記検出を行う
ことを特徴とする請求項１に記載の通信制御装置。
【請求項１０】
コンテンツ指向型ネットワークに接続した通信制御装置における通信制御方法であって、
前記通信制御装置は、送信した興味パケットに対応するデータパケットの中で、受信していないデータパケットを示す未受信情報が記録される送信ＰＩＴを記憶するメモリ部を備え、
前記興味パケットを送信し、
前記興味パケットに対応するデータパケットを受信し、
前記受信したデータパケットに、送信が完了していないデータパケットを示すＰＩＴ情報が含まれている場合、当該ＰＩＴ情報と、前記送信ＰＩＴと、を用いて、前記興味パケットに対応するデータパケットのパケットロスを検出する
ことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ指向型ネットワークに接続した通信制御装置及び通信制御方法に関し、特に、パケットロスを検出する技術に関する。
【背景技術】
【０００２】
近年、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ベースのネットワークに代わる次世代のネットワークとして、ＣＣＮ（Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ）に代表されるコンテンツ指向型ネットワークが提案されている。例えば、非特許文献１は、ＣＣＮにおいてコンテンツを配信する技術について開示している。
【０００３】
コンテンツ指向型ネットワークにおける通信の特徴は、コンテンツの取得を行う際に、コンテンツを記憶している装置の識別情報（ＩＰアドレス等）ではなく、コンテンツの識別情報（コンテンツの名称等）を用いる点にある。また、一般的なＣＣＮにおける通信では、受信側の装置（クライアント）が、コンテンツに関する興味パケット（インタレストパケット）を送信先の装置を指定せずに送信し、送信した興味パケットに対応するコンテンツのデータパケットをＣＣＮ上の何れかの装置から受信する。
【０００４】
特許文献１では、ＣＣＮにおいて、パケットロスの発生を検知する方法が開示されている。具体的には、各クライアントが、興味パケットを送信してからの経過時間を計測し、予め定めた閾値（タイムアウト値）が示す時間が経過するまでにデータパケットを受信できなかった場合に、パケットロスが発生したと判断する。
【０００５】
また、特許文献２では、コンテンツのデータパケットの受信者が、受信したデータパケットのシーケンス番号を確認し、シーケンス番号の不連続を検出した際に、パケットロスが発生したと判断する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１４―５３４４９５号公報
【特許文献２】米国特許出願公開第２０１４／０２３７０８５号明細書
【非特許文献】
【０００７】
【非特許文献１】Ａｌｅｘａｎｄｅｒ  Ａｆａｎａｓｙｅｖ、外２２名、「ＮＦＤ  Ｄｅｖｅｌｏｐｅｒ‘ｓ  Ｇｕｉｄｅ」、［online］、ＮＤＮ、Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＮＤＮ−００２１、［平成２７年７月７日検索］、インターネット<URL:http://named-data.net/wp-content/uploads/2014/07/NFD-developer-guide.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＣＣＮにおけるパケットロスの検出には、更なる改善が必要とされている。
【課題を解決するための手段】
【０００９】
本開示の一態様は、コンテンツ指向型ネットワークに接続した通信制御装置であって、興味パケットを送信する送信部と、前記興味パケットに対応するデータパケットを受信する受信部と、前記送信部が送信した興味パケットに対応するデータパケットの中で、受信していないデータパケットを示す未受信情報が記録される送信ＰＩＴを記憶するメモリ部と、前記受信部が受信したデータパケットに、送信が完了していないデータパケットを示すＰＩＴ情報が含まれている場合、当該ＰＩＴ情報と、前記送信ＰＩＴと、を用いて、前記興味パケットに対応するデータパケットのパケットロスを検出するパケット処理部とを備える。
【発明の効果】
【００１０】
本開示によれば、コンテンツ指向型ネットワークにおけるパケットロスをより適切に検出することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】ＣＣＮネットワークを用いた通信制御システムの構成の一例を示す図である。
【図２】ＰＩＴの構成の一例を示す図である。
【図３】ＣＣＮネットワークに接続された各装置の概略構成の一例を示す図である。
【図４】通信制御システムにおいてパケットロスを検出する処理の一例を示すシーケンス図である。
【図５】ルータの機能構成の一例を示す図である。
【図６】ルータがパケットを処理する動作の一例を示すフローチャートである。
【図７】ＰＩＴ情報の比較処理を行う動作の一例を示すフローチャートである。
【図８】ルータがデータパケット以外のパケットを受信した際に行う処理の動作の一例を示すフローチャートである。
【図９】クライアントがデータパケットを受信した際に行う処理の動作の一例を示すフローチャートである。
【図１０】ＣＣＮで用いられるパケットのフォーマットの一例を示す図である。
【図１１】ＣＣＮにおける二個のルータ間で興味パケットとデータパケットとを送受信している状況の一例を示す図である。
【発明を実施するための形態】
【００１２】
（本発明の基礎となった知見）
以下、本発明の基礎となった知見について説明する。
【００１３】
図１は、ＣＣＮネットワーク（以下、ＣＣＮ網）を用いた通信制御システムの構成の一例を示す図である。コンテンツを要求するクライアント１００は、ＣＣＮ網１０１を介して、コンテンツを提供するパブリッシャー１０６と接続されている。コンテンツのデータの送受信は、フェイスと呼ばれる通信インターフェイスを介して行われる。ＣＣＮ網１０１には、一つ以上のルータ１０２が接続されている。
【００１４】
ルータ１０２は、ＣＣＮ網１０１上を流通するコンテンツのデータを蓄積するＣＳ（Ｃｏｎｔｅｎｔ  Ｓｔｏｒｅ）１０３と、受信及び転送した興味パケットについて記録するＰＩＴ（Ｐｅｎｄｉｎｇ  Ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ）１０４と、興味パケットを転送する経路を示したＦＩＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）１０５と、を備えている。
【００１５】
ＣＣＮでは、コンテンツの名前を識別子として通信を行うことに加え、ＣＣＮ網１０１上の各ルータ１０２が備えるＣＳ１０３を活用する。これにより、複数のクライアント１００が、同一のコンテンツを取得する場合に、より効率的なデータ配信を実現可能となっている。クライアント１００及びパブリッシャー１０６も、それぞれ、ＰＩＴ１０７、１０８を有している。尚、ＰＩＴ１０４、１０７、１０８は同様の構成であるので、以下の説明では、ＰＩＴ１０２、１０７、１０８を総称する場合、ＰＩＴ２００と記載する。
【００１６】
ここで、ＰＩＴ２００の構成、ＰＩＴ２００への情報の記録方法、及びＰＩＴ２００に記録されている情報の消去方法について説明する。
【００１７】
図２は、ＰＩＴ２００の構成の一例を示す図である。ＰＩＴ２００には、興味パケットの方向（受信したか送信したか）を示す属性２０１と、興味パケットが要求するコンテンツの名前２０２と、興味パケットを受け取ったフェイスを示すフェイス２０３（フェイス情報）と、を組み合わせた（対応付けた）エントリが記録される。
【００１８】
また、ＰＩＴ２００は、受信ＰＩＴ２０４と送信ＰＩＴ２０５とを備える。受信ＰＩＴ２０４には、受信した興味パケットについてのエントリ、つまり、図２において属性２０１が「ｉｎｃｏｍｉｎｇ」であるエントリが記録される。送信ＰＩＴ２０５には、送信した興味パケットについてのエントリ、つまり、図２において属性２０１が「ｏｕｔｇｏｉｎｇ」であるエントリが記録される。
【００１９】
例えば、ルータ１０２が、名前「ａ」のコンテンツを要求する興味パケットをフェイス「ｅｔｈ１」によって受け取った後、フェイス「ｅｔｈ０」から送出したとする。
【００２０】
この場合、ルータ１０２は、図２に示すように、属性２０１「Ｉｎｃｏｍｉｎｇ」、名前２０２「ａ」及びフェイス２０３「ｅｔｈ１」を組み合わせたエントリを受信ＰＩＴ２０４に記録する。また、ルータ１０２は、図２に示すように、属性２０１「Ｏｕｔｇｏｉｎｇ」、名前２０２「ａ」及びフェイス２０３「ｅｔｈ０」を組み合わせたエントリを送信ＰＩＴ２０５に記録する。
【００２１】
別の例として、ルータ１０２が、名前「ｃ」のコンテンツを要求する興味パケットをフェイス「ｅｔｈ０」によって受け取った後、ルータ１０２内で当該興味パケットの転送を行うための処理中であるとする。つまり、ルータ１０２において、当該興味パケットの送信は行われていないとする。
【００２２】
この場合、ルータ１０２は、図２に示すように、属性２０１「Ｉｎｃｏｍｉｎｇ」、名前２０２「ｃ」及びフェイス２０３「ｅｔｈ０」を組み合わせたエントリのみを受信ＰＩＴ２０４に記録し、送信ＰＩＴ２０５にはエントリを記録しない。
【００２３】
ルータ１０２は、興味パケットの転送（受信及び送信）を行うことがあるため、受信ＰＩＴ２０４及び送信ＰＩＴ２０５の双方にエントリを記録する。一方、クライアント１００は、興味パケットの送信しか行わないため、送信ＰＩＴ２０５にのみエントリを記録する。また、パブリッシャー１０６は、興味パケットの受信しか行わないため、受信ＰＩＴ２０４にのみエントリを記録する。
【００２４】
以下、受信ＰＩＴ２０４に記憶されているエントリを、受信ＰＩＴ２０４のエントリと記載する。送信ＰＩＴ２０５に記憶されているエントリを、送信ＰＩＴ２０５のエントリと記載する。
【００２５】
送信ＰＩＴ２０５のエントリは、当該エントリに対応するデータパケットを受信したときに消去される。送信ＰＩＴ２０５のエントリに対応するデータパケットとは、送信した興味パケットに対応するデータパケットを示す。興味パケットに対応するデータパケットとは、当該興味パケットが要求するコンテンツを構成するデータパケットを示す。
【００２６】
例えば、図２に示すように、属性２０１「Ｏｕｔｇｏｉｎｇ」、名前２０２「ａ」及びフェイス２０３「ｅｔｈ０」を組み合わせたエントリが送信ＰＩＴ２０５に記録されていたとする。この場合に、フェイス「ｅｔｈ０」が、名前「ａ」のコンテンツを構成するデータパケットを受け取ったとする。この場合、ルータ１０２は、当該データパケットに対応する上記送信ＰＩＴ２０５のエントリ（属性２０１「Ｏｕｔｇｏｉｎｇ」、名前２０２「ａ」及びフェイス２０３「ｅｔｈ０」の組み合わせ）を消去する。
【００２７】
つまり、送信ＰＩＴ２０５のエントリを参照すれば、ルータ１０２及びクライアント１００がそれぞれ送信した興味パケットに対応するデータパケットの中で、受信していないデータパケットに関する情報を把握することができる。
【００２８】
例えば、送信ＰＩＴ２０５のエントリに含まれる名前２０２を参照することで、受信していないデータパケットがどのような名前のコンテンツを構成するデータパケットであるのかを把握することができる。また、送信ＰＩＴ２０５のエントリに含まれるフェイス２０３を参照することで、受信していないデータパケットが、どのフェイスによって送出された興味パケットに対応するデータパケットであるのかを把握することができる。
【００２９】
このように、送信ＰＩＴ２０５のエントリ（未受信情報）は、送信した興味パケットに対応するデータパケットの中で、受信していないデータパケットを示している。
【００３０】
一方、受信ＰＩＴ２０４のエントリは、当該エントリに対応するデータパケットを送信したときに消去される。受信ＰＩＴ２０４のエントリに対応するデータパケットとは、当該エントリに対応する興味パケット、つまり、受信した興味パケットに対応するデータパケットを示す。
【００３１】
例えば、図２に示すように、属性２０１「Ｉｎｃｏｍｉｎｇ」、名前２０２「ｃ」、及びフェイス２０３「ｅｔｈ０」とを組み合わせたエントリが受信ＰＩＴ２０４に記録されていたとする。この場合に、フェイス「ｅｔｈ０」が名前「ｃ」のコンテンツを構成するデータパケットを送出したとする。この場合、ルータ１０２は、当該データパケットに対応する上記受信ＰＩＴ２０４のエントリ（属性２０１「Ｉｎｃｏｍｉｎｇ」、名前２０２「ｃ」及びフェイス２０３「ｅｔｈ０」の組み合わせ）を消去する。
【００３２】
つまり、受信ＰＩＴ２０４のエントリを参照すれば、ルータ１０２及びパブリッシャー１０６がそれぞれ受信した興味パケットに対応するデータパケットの中で、送信が完了していないデータパケットに関する情報を把握することができる。
【００３３】
例えば、受信ＰＩＴ２０４のエントリに含まれる名前２０２を参照することで、送信が完了していないデータパケットが、どのような名前のコンテンツを構成するデータパケットであるのかを把握することができる。また、受信ＰＩＴ２０４のエントリに含まれるフェイス２０３を参照することで、送信が完了していないデータパケットが、どのフェイスによって受け取られた興味パケットに対応するデータパケットであるのかを把握することができる。
【００３４】
このように、受信ＰＩＴ２０４に記憶されているエントリ（未送信情報）は、受信した興味パケットに対応するデータパケットの中で、送信が完了していないデータパケットを示している。
【００３５】
以上のように、ＣＣＮでは、受信ＰＩＴ２０４及び送信ＰＩＴ２０５を用いて、興味パケット及びデータパケットの送信、受信、及び転送を制御する。
【００３６】
しかし、従来のＩＰによる通信と同様、ＣＣＮによる通信は、ベストエフォート型（品質の保証がない）サービスとして提供される場合がある。つまり、ＣＣＮによる通信においても、ネットワークの容量や通信リンクの品質の問題から、パケットロスが発生する可能性がある。したがって、ＣＣＮを用いて安定した通信を実現するために、ＣＣＮ上で高信頼性通信を実現する技術が必要とされている。具体的には、パケットロスの検出と、ロスしたパケットを回復するための再送処理である。
【００３７】
従来のＩＰによる通信では、一般的に、ルータは、データの転送に関してのステートを持たない。このため、パケットロスの検出や再送処理は、ネットワークの両端に位置するクライアントあるいはサーバのみが行うＥｎｄ  ｔｏ  Ｅｎｄ（Ｅ２Ｅ）のアプローチが一般的であった。
【００３８】
一方、ＣＣＮにおけるルータ１０２は、コンテンツの名前を用いてルーティングを行うために、受信した興味パケットと転送した興味パケットに関するステートをＰＩＴ２００に保持している。そのため、ＣＣＮによる通信では、パケットロスの検出や再送処理に関しても、データパケットの転送経路上のルータ１０２で実行することが可能となる。
【００３９】
このように、ＣＣＮによる通信では、転送経路の途中に位置するルータ１０２が再送処理を行うことで、転送経路の端に位置するパブリッシャー１０６とクライアント１００との間で再送処理を行うＥ２Ｅのアプローチと比べて、素早くパケットロスを検出して再送要求を行うことが可能となる。その結果、パケットロスに起因するデータ到着の遅れ等の影響を、より小さくすることができる。
【００４０】
しかし、上記の転送経路中のルータ１０２による効率的な再送処理を実装するためには、パケットロスを適切に検出する必要がある。そこで、特許文献１では、各クライアントが興味パケットを送信してからの経過時間を計測し、当該経過時間がある閾値（タイムアウト値）が示す時間を超えるまでにデータパケットを受信できなかった場合にパケットロスが発生したと判断する方法が開示されている。また、特許文献２では、コンテンツを要求した装置が受信したデータパケットのシーケンス番号を確認し、シーケンス番号の飛び（不連続）を検出した際に、パケットロスが発生したと判断する方法が開示されている。
【００４１】
しかし、特許文献１や特許文献２に開示された方法を用いても、ＣＣＮによる通信において、パケットロスを適切に検出することは困難であった。
【００４２】
特許文献１に開示された方法では、パケットロスの検出を行うために、タイムアウト値を適切な値に設定することが非常に重要である。一般的にタイムアウト値を決定する際には、コンテンツのデータの取得に必要な時間を定常的に観測し、その観測値に基づいて最適なタイムアウト値を計算する必要がある。しかし、ＣＣＮによる通信では、コンテンツのデータの取得時間がダイナミックに変動するため、このような方法の適用は困難である。
【００４３】
同一のパブリッシャー１０６が有するコンテンツのデータを連続的に取得する場合も、コンテンツのデータがパブリッシャー１０６にしか存在していないか、あるいはＣＣＮ上のルータ１０２のＣＳ１０３にも蓄積されているかによって、コンテンツのデータの取得に必要な時間は大きく異なる。この結果は、コンテンツのデータの取得時間の揺らぎとして観測されることになる。
【００４４】
例えば、ルータ１０２のＣＳ１０３からコンテンツのデータを取得する場合、パブリッシャー１０６からデータを取得する場合に比べて、より短い時間でコンテンツのデータを取得することができる。しかし、クライアント１００は、要求したコンテンツのデータがルータ１０２のＣＳ１０３から送信されたのか、パブリッシャー１０６から送信されたのかを予測することができない。
【００４５】
このため、ルータ１０２のＣＳ１０３から送信されたデータの取得時間に合わせてタイムアウト値を設定すると、実際にはパブリッシャー１０６からデータが送信され、パケットロスが発生していないにもかかわらず、上記経過時間が当該タイムアウト値が示す時間を超えたために、誤ってパケットロスを検出し、無駄な再送処理を行う虞がある。
【００４６】
これとは反対に、パブリッシャー１０６から送信されたデータの取得時間に合わせてタイムアウト値を設定すると、ルータ１０２のＣＳ１０３からデータが送信されたときに発生したパケットロスを迅速に検出することができず、パケットロスによるデータの到着の遅れを増大させる。
【００４７】
一方、特許文献２に開示された方法は、ＩＰを用いたリアルタイム通信で一般的に用いられる方法である。しかしながら、ＣＣＮによる通信では、データパケットの到着順序は、コンテンツをパブリッシャー１０６から受け取るか、ルータ１０２のＣＳ１０３から受け取るか、また、どのルータ１０２から受け取るかなどによって、容易に入れ替わる。このため、パケットロスが発生していなくても、シーケンス番号の飛び（不連続）は容易に発生する。その結果、パケットロスの発生を誤って検出する可能性がある。
【００４８】
本開示の目的は、上記従来の課題を解決するもので、コンテンツ指向型ネットワークにおけるパケットロスをより適切に検出することが可能となる技術を提供することである。
【００４９】
本開示の一態様による通信制御装置は、コンテンツ指向型ネットワークに接続した通信制御装置であって、興味パケットを送信する送信部と、前記興味パケットに対応するデータパケットを受信する受信部と、前記送信部が送信した興味パケットに対応するデータパケットの中で、受信していないデータパケットを示す未受信情報が記録される送信ＰＩＴを記憶するメモリ部と、前記受信部が受信したデータパケットに、送信が完了していないデータパケットを示すＰＩＴ情報が含まれている場合、当該ＰＩＴ情報と、前記送信ＰＩＴと、を用いて、前記興味パケットに対応するデータパケットのパケットロスを検出するパケット処理部とを備える。
【００５０】
本構成によれば、メモリ部が記憶する送信ＰＩＴに記録されている未受信情報を用いて、送信部が送信した興味パケットに対応するデータパケットの中で、受信していないデータパケットを把握することができる。また、受信部が受信したデータパケットにＰＩＴ情報が含まれている場合、当該ＰＩＴ情報を用いて、上記興味パケットの送信先の装置において送信が完了していないデータパケットを把握することができる。
【００５１】
このため、本構成によれば、送信ＰＩＴを用いて把握した、受信していないデータパケットと、ＰＩＴ情報を用いて把握した、上記興味パケットの送信先の装置において送信が完了していないデータパケットと、が一致しないことによって、興味パケットに対応するデータパケットのパケットロスを適切に検出することができる。
【００５２】
また、前記受信部は、更に、他装置から前記興味パケットを受信し、前記メモリ部は、更に、前記受信部が受信した興味パケットに対応するデータパケットの中で、送信が完了していないデータパケットを示す未送信情報が記録される受信ＰＩＴを記憶し、前記送信部は、更に、前記興味パケットに対応するデータパケットを前記他装置へ送信し、前記パケット処理部は、前記受信ＰＩＴに記録されている前記未送信情報を前記ＰＩＴ情報として、前記送信部が送信するデータパケットに含めることとしてもよい。
【００５３】
本構成によれば、受信ＰＩＴに記録されている未送信情報が、ＰＩＴ情報として、送信部が他装置へ送信するデータパケットに含められる。これにより、当該他装置は、受信したデータパケットにＰＩＴ情報として含まれている未送信情報を用いて、自身が送信した興味パケットに対応するデータパケットの中で、当該興味パケットの送信先の装置において送信が完了していないデータパケットを把握することができる。
【００５４】
その結果、当該他装置は、当該把握したデータパケットと、自身が送信した興味パケットに対応するデータパケットの中で、受信していないデータパケットと、が一致しない場合に、当該興味パケットに対応するデータパケットのパケットロスがあったことを適切に検出することができる。
【００５５】
また、前記未送信情報には、当該未送信情報が示すデータパケットに対応する興味パケットを受け取った通信インターフェイスを示すフェイス情報が含まれ、前記パケット処理部は、前記受信ＰＩＴから、前記送信部が送信するデータパケットを示す前記未送信情報に含まれているフェイス情報を抽出し、前記受信ＰＩＴに記録されている、当該抽出したフェイス情報と同一のフェイス情報を含む前記未送信情報を前記ＰＩＴ情報として当該データパケットに含め、前記送信部は、当該データパケットを前記抽出されたフェイス情報が示す通信インターフェイスによって送出させることとしてもよい。
【００５６】
本構成によれば、受信ＰＩＴから、送信部が送信するデータパケットを示す未送信情報に含まれているフェイス情報が抽出される。これにより、当該抽出されたフェイス情報によって、当該データパケットに対応する興味パケットを受け取った通信インターフェイスを特定することができる。その結果、当該データパケットを当該特定した通信インターフェイスによって返信する必要があると判断し、当該特定された通信インターフェイスを、当該データパケットを送出させるフェイスとして特定することができる。
【００５７】
そして、本構成によれば、受信ＰＩＴに記録されている、上記抽出したフェイス情報と同一のフェイス情報を含む未送信情報が、ＰＩＴ情報として送信部が送信するデータパケットに含められる。これにより、上記特定した通信インターフェイスと同一の通信インターフェイスによって送出する必要があるが、その送出が完了していないデータパケットを示す未送信情報が、送信部が送信するデータパケットに含められる。そして、当該データパケットが、上記特定した通信インターフェイスによって送出される。
【００５８】
このため、当該データパケットを受信した他装置は、当該データパケットにＰＩＴ情報として含まれている未送信情報から、自身が送信した興味パケットを受け取った通信インターフェイスによる送出が完了していないデータパケットを把握することができる。
【００５９】
その結果、当該把握したデータパケットと当該他装置が送信した興味パケットに対応する、受信していないデータパケットとが一致しなかった場合に、当該他装置は、当該興味パケットに対応するデータパケットのパケットロスがあったことを適切に検出することができる。
【００６０】
また、前記パケット処理部は、前記受信部が受信したデータパケットに含まれている前記ＰＩＴ情報を削除した後、前記受信ＰＩＴに記録されている前記未送信情報を前記ＰＩＴ情報として、当該データパケットに含めることとしてもよい。
【００６１】
本構成によれば、データパケットに含まれていたＰＩＴ情報が、自身が有する受信ＰＩＴに記憶されている未送信情報に更新され、当該更新後のＰＩＴ情報を含むデータパケットが他装置へ送信される。
【００６２】
このため、当該データパケットを受信した他装置は、当該データパケットに含まれるＰＩＴ情報から、当該データパケットを送信した装置が送信を完了していないデータパケットを把握することができる。これにより、当該他装置は、当該データパケットを送信した装置と当該他装置との間の転送経路におけるパケットロスを適切に検出することができる。このため、本構成の通信制御装置をコンテンツ指向型ネットワークに接続すれば、データパケットの転送経路毎に個別にパケットロスを検出することが可能となる。
【００６３】
また、前記パケット処理部は、前記受信部が受信したデータパケットに含まれている前記ＰＩＴ情報と前記送信ＰＩＴに記録されている前記未受信情報とを比較し、前記ＰＩＴ情報が示すデータパケットと当該未受信情報が示すデータパケットとが一致しなかった場合に、当該一致しなかったデータパケットのパケットロスを検出し、更に、当該一致しなかったデータパケットに対応する興味パケットを前記送信部に再送させることとしてもよい。
【００６４】
本構成によれば、ＰＩＴ情報が示す、送信が完了していないデータパケットと、送信ＰＩＴに記録されている未受信情報が示す、受信が完了していないデータパケットとが一致しないことによって、当該一致しなかったデータパケットのパケットロスを適切に検出することができる。
【００６５】
また、本構成によれば、興味パケットに対応するデータパケットのパケットロスを検出した場合に、当該データパケットに対応する興味パケットを効率良く再送することができる。
【００６６】
また、前記パケット処理部は、前記比較において、前記送信ＰＩＴに記録されている前記未受信情報の中で、記録されてからの経過時間が所定の閾値以下の前記未受信情報を用いないこととしてもよい。
【００６７】
例えば、本構成の第一の装置が第一の興味パケットを送信後、第二の装置が第一の興味パケットを受信する前に、過去に受信した第二の興味パケットに対応する第二のデータパケットを送信したとする。この場合、第二の装置は、第一の興味パケットを受信していないので、第二のデータパケットに、第一の興味パケットに対応する第一のデータパケットの送信が完了していないことを示すＰＩＴ情報を含めることができない。
【００６８】
その後、第一の装置において、第一のデータパケットを示す未受信情報が送信ＰＩＴに記録されてからの経過時間が所定の閾値になる前に、受信部が第二のデータパケットを受信したとする。
【００６９】
このような場合に、本構成の第一の装置では、送信ＰＩＴに記録されている第一のデータパケットを示す未受信情報を用いずに上記比較を行う。このため、第二のデータパケットに含まれているＰＩＴ情報が示すデータパケットに、第一のデータパケットが含まれていないことによって、誤って第一のデータパケットのパケットロスを検出することを防止することができる。
【００７０】
また、前記パケット処理部は、更に、前記送信ＰＩＴに記録されている前記未受信情報に対してタイムアウト値を設定し、前記未受信情報が前記送信ＰＩＴに記録されてから、当該未受信情報が示すデータパケットを前記受信部が受信するまでの時間が前記タイムアウト値を超えた場合に、当該データパケットのパケットロスを検出し、更に、当該データパケットに対応する興味パケットを前記送信部に再送させることとしてもよい。
【００７１】
本構成によれば、データパケットに対応する未受信情報が送信ＰＩＴに記録されてからの経過時間がタイムアウト値を超える度に、当該データパケットのパケットロスが検出され、当該データパケットに対応する当該興味パケットが再送される。
【００７２】
このため、興味パケットに対応するデータパケットのパケットロスが発生したとしても、当該データパケットの適切な再送処理が可能となる。その結果、信頼性を損なうことなく、当該データパケットを取得することができる。
【００７３】
また、前記パケット処理部は、前記送信部が一のコンテンツを構成する複数のデータパケットをそれぞれ送信する場合、前記受信ＰＩＴに記録されている、前記一のコンテンツを構成するデータパケットを示す前記未送信情報のみを前記ＰＩＴ情報として、前記送信部が送信するデータパケットに含めることとしてもよい。
【００７４】
一定期間、送信部が一のコンテンツを構成する複数のデータパケットをそれぞれ連続して集中的に送信するとする。本構成によれば、このような場合に、受信ＰＩＴに記録されている、当該コンテンツとは他のコンテンツを構成するデータパケットを示す未送信情報をＰＩＴ情報として、送信するデータパケットに含めることを回避することができる。これにより、当該期間中、データパケットに含まれるＰＩＴ情報のサイズを軽減することができる。その結果、コンテンツ指向型ネットワークの通信負荷を軽減することができる。
【００７５】
また、前記パケット処理部は、前記受信部が一のコンテンツを構成する複数のデータパケットをそれぞれ受信した場合、当該受信したデータパケットに含まれている前記ＰＩＴ情報と、前記送信ＰＩＴに記録されている、前記一のコンテンツを構成するデータパケットを示す前記未受信情報と、を用いて、前記検出を行うこととしてもよい。
【００７６】
一定期間、受信部が一のコンテンツを構成する複数のデータパケットのそれぞれを連続して集中的に受信するとする。本構成によれば、このような場合に、当該期間中、受信したデータパケットに含まれるＰＩＴ情報と、送信ＰＩＴに記録されている、当該コンテンツを構成するデータパケットを示す未受信情報と、を用いて、当該コンテンツを構成するデータパケットのパケットロスだけを集中的に検出することができる。
【００７７】
また、本開示は、以上のような特徴的な処理を実行するための処理部を備える通信制御装置だけでなく、当該通信制御装置における上記特徴的な処理を実行する通信制御方法も開示する。
【００７８】
尚、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
【００７９】
（実施の形態１）
実施の形態１におけるＣＣＮネットワーク（以下、ＣＣＮ網）を用いた通信制御システムは、パブリッシャー１０６及びルータ１０２が、各装置自身の受信ＰＩＴ２０４のエントリが示す情報を、下位のルータ１０２及びクライアント１００に対して送信することを特徴とする。また、下位のルータ１０２及びクライアント１００が、受信した他装置の受信ＰＩＴ２０４のエントリが示す情報を用いて、パケットロスを検出することを特徴とする。
【００８０】
ここで、上位の装置とは、ＣＣＮ網１０１上のある装置から見て、興味パケットを送信する方向に位置する装置（興味パケットの送信先の装置）を示す。ＣＣＮ網１０１上の装置とは、ＣＣＮ網１０１に接続された装置、つまり、クライアント１００、ルータ１０２、又はパブリッシャー１０６を示す。下位の装置とは、興味パケットに対応するデータパケットを送信する方向に位置する装置（データパケットの送信先の装置）を示す。
【００８１】
具体的には、ＣＣＮ網１０１上の各装置は、データパケットを下位の装置に送信する場合、自身の受信ＰＩＴ２０４から、当該データパケットに対応するエントリに含まれるフェイス２０３を抽出する。
【００８２】
これにより、各装置は、当該抽出したフェイス２０３が示すフェイスを、当該データパケットに対応する興味パケットを受け取ったフェイスとして特定する。そして、各装置は、当該データパケットを当該特定したフェイスから返信する必要があると判断し、当該抽出したフェイス２０３が示すフェイスを、当該データパケットを送出させるフェイスとして特定する。
【００８３】
そこで、当該各装置は、自身の受信ＰＩＴ２０４に記録されているエントリの中で、上記の抽出したフェイス２０３と同一のフェイス２０３を含むエントリから、名前２０２を抽出する。そして、当該各装置は、当該抽出した名前２０２を、送信が完了していないデータパケットを示す情報（以下、ＰＩＴ情報）として、当該データパケットに含める。これにより、各装置は、上記特定したフェイスと同一のフェイスによって送出する必要があるが、その送出が完了していないデータパケットを示す情報を、当該データパケットに含める。
【００８４】
そして、当該各装置は、上記の抽出したフェイス２０３が示すフェイスに当該データパケットを送出させる。
【００８５】
一方、データパケットを受信した下位の装置は、受信したデータパケットに含まれている、上位の装置の受信ＰＩＴ２０４のエントリから得られた上記ＰＩＴ情報と、自身の送信ＰＩＴ２０５のエントリの中で、当該データパケットを受信したフェイスを示すフェイス２０３と同一のフェイス２０３を含むエントリとを比較する。
【００８６】
当該比較の結果、ＰＩＴ情報が示す名前２０２と、送信ＰＩＴ２０５のエントリに含まれる名前２０２とが一致していれば、当該装置はパケットロスを検出しない。一方、一致していなければ、当該装置は、当該一致していない名前２０２のコンテンツを構成するデータパケットのパケットロスを検出する。そして、当該装置は、自身の送信ＰＩＴ２０５のエントリに従い、当該一致していない名前２０２のコンテンツを構成するデータパケットに対応する興味パケットを再送する。
【００８７】
また、各装置は、データパケットの転送を行う場合、受信したデータパケットに含まれているＰＩＴ情報を削除した後、自身の受信ＰＩＴ２０４のエントリの情報をＰＩＴ情報として当該データパケットに含めて、下位の装置へ送信する。つまり、各装置は、受信したデータパケットに含まれているＰＩＴ情報を、自身の受信ＰＩＴ２０４のエントリが示す情報に更新する。これにより、データパケットの転送経路毎に個別にパケットロスの検出と、ロスしたデータパケットの再送制御を可能にする。
【００８８】
以下、図面を用いて詳細に説明する。図３は、ＣＣＮ網１０１（コンテンツ指向型ネットワーク）に接続された各装置の概略構成の一例を示す図である。クライアント１００は、上述したルータ１０２に相当するルータＡ１０２Ａ及びルータＢ１０２Ｂを介して、パブリッシャー１０６と接続されている。クライアント１００、ルータＡ１０２Ａ、ルータＢ１０２Ｂ、パブリッシャー１０６は、それぞれ、ＰＩＴ１０７、ＰＩＴ１０４Ａ、ＰＩＴ１０４Ｂ、ＰＩＴ１０８を備えている。
【００８９】
３０７は、クライアント１００が備える、フェイス「ｅｔｈ０」を示している。３０８、３０９は、ルータＡ１０２Ａが備えるフェイス「ｅｔｈ０」、「ｅｔｈ１」を示している。３１０、３１１は、ルータＢ１０２Ｂが備えるフェイス「ｅｔｈ０」、「ｅｔｈ１」を示している。３１２は、パブリッシャー１０６が備えるフェイス「ｅｔｈ０」を示している。
【００９０】
以下、図３に示す通信制御システムにおいて、クライアント１００が２つのコンテンツを要求した場合に、ルータＡ１０２ＡとルータＢ１０２Ｂとの間のデータパケットの転送経路（リンク）で、１つのデータパケットのロスが発生する例を用いて、パケットロスを検出する処理について説明する。
【００９１】
図４は、通信制御システムにおいてパケットロスを検出する処理の一例を示すシーケンス図である。以下、クライアント１００が、名前が「ａ」「ｂ」の二つのコンテンツを要求し、名前が「ａ」のコンテンツを構成するデータパケットが、ルータＢ１０２ＢからルータＡ１０２Ａに送信される際にロスするものとして説明する。
【００９２】
以下、名前「ａ」のコンテンツをコンテンツ「ａ」と記載する。コンテンツ「ａ」を要求する興味パケットを「Ｉ：ａ」と記載する。コンテンツ「ｂ」を構成するデータパケットを「Ｄ：ｂ」と記載する。データパケット「Ｄ：ａ」が、コンテンツの名前「ａ」をＰＩＴ情報として含む場合、「Ｄ：ａ：ＰＩＴ［ａ］」と記載する。また、当該ＰＩＴ情報をＰＩＴ情報「ＰＩＴ［ａ］」と記載する。
【００９３】
属性「ｉｎｃｏｍｉｎｇ」、名前「ａ」及びフェイス「ｅｔｈ０」を組み合わせた受信ＰＩＴ２０４のエントリを、受信ＰＩＴ２０４のエントリ「ｉ［ａ（ｅｔｈ０）］」と記載する。属性「ｏｕｔｇｏｉｎｇ」、名前「ａ」及びフェイス「ｅｔｈ１」を組み合わせた送信ＰＩＴ２０５のエントリを、送信ＰＩＴ２０５のエントリ「ｏ［ａ（ｅｔｈ１）］」と記載する。
【００９４】
ＰＩＴ２００（１０７、１０４Ａ、１０４Ｂ、１０８）に、二つの受信ＰＩＴ２０４のエントリ「ｉ［ａ（ｅｔｈ０）］」、「ｉ［ｂ（ｅｔｈ０）］」、及び二つの送信ＰＩＴ２０５のエントリ「ｏ［ａ（ｅｔｈ１）］」、「ｏ［ｂ（ｅｔｈ１）］」が存在する状態を、「ＰＩＴ［ｉ［ａ、ｂ（ｅｔｈ０）］ｏ［ａ、ｂ（ｅｔｈ１）］］」と記載する。
【００９５】
尚、初期状態では、ルータＡ１０２Ａ及びルータＢ１０２ＢのＣＳ１０３には、データパケットが蓄積されていないものとする。
【００９６】
以下、図４に示すシーケンスについて順を追って説明する。まず、処理４０４において、クライアント１００は、コンテンツ「ａ」「ｂ」を要求する興味パケット「Ｉ：ａ」「Ｉ：ｂ」を送信する。送信の結果、クライアント１００は、興味パケット「Ｉ：ａ」「Ｉ：ｂ」がフェイス「ｅｔｈ０」によって送出されたことを示すエントリを送信ＰＩＴ２０５に記録する。その結果、ＰＩＴ１０７の状態は、状態４０７（「ＰＩＴ［ｏ［ａ、ｂ（ｅｔｈ０）］］」）となる。
【００９７】
処理４０８と処理４０９では、ルータＡ１０２Ａ及びルータＢ１０２Ｂが、処理４０４で送信された興味パケット「Ｉ：ａ」「Ｉ：ｂ」をパブリッシャー１０６に転送する。当該転送の結果、ルータＡ１０２Ａは、興味パケット「Ｉ：ａ」「Ｉ：ｂ」をフェイス３０８「ｅｔｈ０」が受け取ったことを示すエントリ「ｉ［ａ、ｂ（ｅｔｈ０）］」を受信ＰＩＴ２０４に記録する。また、ルータＡ１０２Ａは、興味パケット「Ｉ：ａ」「Ｉ：ｂ」をフェイス３０９「ｅｔｈ１」が送出したことを示すエントリ「ｏ［ａ、ｂ（ｅｔｈ１）］」を送信ＰＩＴ２０５に記録する。
【００９８】
その結果、ルータＡ１０２ＡのＰＩＴ１０４Ａの状態は、何らエントリが記録されていない初期状態４０５「ＰＩＴ［］」から、状態４１１「ＰＩＴ［ｉ［ａ、ｂ（ｅｔｈ０）］ｏ［ａ、ｂ（ｅｔｈ１）］］」に更新される。同様にして、ルータＢ１０２ＢのＰＩＴ１０４Ｂも、初期状態４０６「ＰＩＴ［］」から、状態４１２「ＰＩＴ［ｉ［ａ、ｂ（ｅｔｈ０）］ｏ［ａ、ｂ（ｅｔｈ１）］］」に更新される。
【００９９】
パブリッシャー１０６は、処理４０９で送信された興味パケット「Ｉ：ａ」「Ｉ：ｂ」をフェイス３１２「ｅｔｈ０」が受け取ると、当該受け取りを示すエントリを受信ＰＩＴ２０４に記録する。その結果、ＰＩＴ１０８の状態は、不図示の初期状態「ＰＩＴ［］」から、状態４１０「ＰＩＴ［ｉ［ａ、ｂ（ｅｔｈ０）］］」に更新される。
【０１００】
次に、処理４１４において、パブリッシャー１０６は、自身が保有しているコンテンツ「ａ」を構成するデータパケット「Ｄ：ａ」を送信する処理を行う。具体的には、パブリッシャー１０６は、処理４１４を開始すると、先ず、自身の受信ＰＩＴ２０４に記録されているエントリ「ｉ［ａ（ｅｔｈ０）］」、「ｉ［ｂ（ｅｔｈ０）］」の中で、当該データパケット「Ｄ：ａ」に対応するエントリ「ｉ［ａ（ｅｔｈ０）］」に含まれているフェイス２０３「ｅｔｈ０」を抽出する。
【０１０１】
これにより、パブリッシャー１０６は、当該抽出したフェイス２０３「ｅｔｈ０」が示すフェイス３１２「ｅｔｈ０」を、当該データパケット「Ｄ：ａ」に対応する興味パケットを受け取ったフェイスとして特定する。そして、パブリッシャー１０６は、当該データパケット「Ｄ：ａ」を当該特定したフェイス３１２「ｅｔｈ０」から返信する必要があると判断し、当該特定したフェイス３１２「ｅｔｈ０」を、当該データパケット「Ｄ：ａ」を送出させるフェイスとして特定する。
【０１０２】
次に、パブリッシャー１０６は、自身の受信ＰＩＴ２０４に記録されているエントリ「ｉ［ａ（ｅｔｈ０）］」、「ｉ［ｂ（ｅｔｈ０）］」の中で、上記の抽出したフェイス２０３「ｅｔｈ０」と同一のフェイス２０３「ｅｔｈ０」を含むエントリ「ｉ［ａ（ｅｔｈ０）］」、「ｉ［ｂ（ｅｔｈ０）］」から、名前２０２「ａ」、「ｂ」を抽出する。そして、パブリッシャー１０６は、当該抽出した名前２０２「ａ」、「ｂ」をＰＩＴ情報として、当該データパケット「Ｄ：ａ」に含める。
【０１０３】
これにより、上記特定したフェイス３１２「ｅｔｈ０」と同一のフェイス３１２「ｅｔｈ０」によって送出する必要があるが、その送出が完了していないデータパケット「Ｄ：ａ」「Ｄ：ｂ」に対応するエントリ「ｉ［ａ（ｅｔｈ０）］」、「ｉ［ｂ（ｅｔｈ０）］」の情報（名前２０２「ａ」、「ｂ」）を、ＰＩＴ情報として当該データパケット「Ｄ：ａ」に含める。
【０１０４】
そして、パブリッシャー１０６は、上記の特定したフェイス３１２「ｅｔｈ０」に、当該データパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」を送出させ、処理４１４を終了する。
【０１０５】
パブリッシャー１０６は、処理４１４においてデータパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」の送信を完了すると、当該送信したデータパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」に対応する受信ＰＩＴ２０４のエントリ「ｉ［ａ（ｅｔｈ０）］」を消去する。これにより、パブリッシャー１０６は、ＰＩＴ１０８の状態を、状態４１０「ＰＩＴ［ｉ［ａ、ｂ（ｅｔｈ０）］］」から、状態４２０「ＰＩＴ［ｉ［ｂ（ｅｔｈ０）］］」に更新する。
【０１０６】
一方、ルータＢ１０２Ｂは、フェイス３１１「ｅｔｈ１」によって、データパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」を受け取る。そして、ルータＢ１０２Ｂは、当該受け取ったデータパケットに含まれているＰＩＴ情報「ＰＩＴ［ａ、ｂ］」が示すコンテンツの名前「ａ」「ｂ」と、状態４１２となっている自身の送信ＰＩＴ２０５のエントリの中で、当該データパケットを受信したフェイス３１１「ｅｔｈ１」と同一のフェイス３１１「ｅｔｈ１」を含むエントリ「ｏ［ａ（ｅｔｈ１）］」、「ｏ［ｂ（ｅｔｈ１）］」に含まれている名前２０２「ａ」、「ｂ」と、を比較する。
【０１０７】
この場合、上記ＰＩＴ情報「ＰＩＴ［ａ、ｂ］」が示すコンテンツの名前「ａ」「ｂ」と、自身の送信ＰＩＴ２０５のエントリから得られたコンテンツの名前２０２「ａ」「ｂ」とが一致している。つまり、ＰＩＴ情報が示す、上位のパブリッシャー１０６で送信が完了していない、コンテンツ「ａ」「ｂ」を構成する二つのデータパケットと、自身の送信ＰＩＴ２０５のエントリが示す、自身が受信していない、コンテンツ「ａ」「ｂ」を構成する二つのデータパケットと、が一致している。このため、ルータＢ１０２Ｂは、上位のパブリッシャー１０６と自身との間のデータパケットの転送経路で、パケットロスは発生していないと判断する。
【０１０８】
そこで、ルータＢ１０２Ｂは、処理４１３において、パブリッシャ−１０６から受け取ったデータパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」を転送する処理を行う。具体的には、ルータＢ１０２Ｂは、処理４１３を開始すると、先ず、受け取ったデータパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」からＰＩＴ情報を削除する。そして、ルータＢ１０２Ｂは、処理４１４と同様にして、自身の受信ＰＩＴ２０４に記録されているエントリから得たＰＩＴ情報「ＰＩＴ［ａ、ｂ］」を、処理４１３の開始時にＰＩＴ情報を削除した後のデータパケット「Ｄ：ａ」に含める。そして、ルータＢ１０２Ｂは、処理４１４と同様、自身の受信ＰＩＴ２０４に記録されているエントリを用いて特定したフェイス３１０「ｅｔｈ０」によって、当該データパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」を送出させ、処理４１３を終了する。
【０１０９】
そして、ルータＢ１０２Ｂは、自身のＰＩＴ１０４Ｂの状態を、状態４１２「ＰＩＴ［ｉ［ａ、ｂ（ｅｔｈ０）］ｏ［ａ、ｂ（ｅｔｈ１）］］」から、状態４１５「ＰＩＴ［ｉ［ｂ（ｅｔｈ０）］ｏ［ｂ（ｅｔｈ１）］］」に更新する。また、ルータＢ１０２Ｂは、処理４１３で送出したデータパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」に含まれているＰＩＴ情報を削除し、当該削除後のデータパケット「Ｄ：ａ」を自身のＣＳ１０３に記憶する。
【０１１０】
そして、処理４１３で送信したデータパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」がロスしたとする。このとき、ルータＢ１０２ＢのＰＩＴ１０４Ｂの状態は、状態４１５「ＰＩＴ［ｉ［ｂ（ｅｔｈ０）］ｏ［ｂ（ｅｔｈ１）］］」である。一方、ルータＡ１０２Ａは、処理４１３で送信されたデータパケット「Ｄ：ａ：ＰＩＴ［ａ、ｂ］」を受信していない。このため、ルータＡ１０２ＡのＰＩＴ１０４Ａの状態は、状態４１１「ＰＩＴ［ｉ［ａ、ｂ（ｅｔｈ０）］ｏ［ａ、ｂ（ｅｔｈ１）］］」のまま変化せず、送信ＰＩＴ２０５にデータパケット「Ｄ：ａ」に対応するエントリ「ｏ［ａ（ｅｔｈ１）］」が残っている。尚、パケットロスの検出は、ルータＡ１０２Ａが、コンテンツ「ｂ」のデータパケットを受信した時に行われる。
【０１１１】
その後、処理４１７において、パブリッシャー１０６は、処理４１４と同様、ＰＩＴ情報を含むデータパケット「Ｄ：ｂ：ＰＩＴ［ｂ］」を送信する。ルータＢ１０２Ｂは、当該データパケット「Ｄ：ｂ：ＰＩＴ［ｂ］」を受け取ると、上述と同様の比較処理を行う。その結果、データパケット「Ｄ：ｂ：ＰＩＴ［ｂ］」に含まれるＰＩＴ情報「ＰＩＴ［ｂ］」が示すコンテンツの名前「ｂ」と、状態４１５のＰＩＴ１０４Ｂにおける送信ＰＩＴ２０５のエントリから得られたコンテンツの名前２０２「ｂ」とが一致するため、ルータＢ１０２Ｂは、パケットロスが発生していないと判断する。そこで、ルータＢ１０２Ｂは、処理４１６において、処理４１３と同様にして、ＰＩＴ情報を含むデータパケット「Ｄ：ｂ：ＰＩＴ［ｂ］」を転送する。
【０１１２】
ルータＡ１０２Ａは、処理４１６で送信されたデータパケット「Ｄ：ｂ：ＰＩＴ［ｂ］」を受け取ると、上述と同様の比較処理を行う。つまり、ルータＡ１０２Ａは、当該受け取ったデータパケット「Ｄ：ｂ：ＰＩＴ［ｂ］」に含まれているＰＩＴ情報「ＰＩＴ［ｂ］」が示すコンテンツの名前「ｂ」と、状態４１１となっている自身の送信ＰＩＴ２０５のエントリの中で、当該データパケットを受信したフェイス３０９「ｅｔｈ１」と同一のフェイス３０９「ｅｔｈ１」を含むエントリに含まれている名前２０２「ａ」、「ｂ」と、を比較する。
【０１１３】
この場合、上記ＰＩＴ情報「ＰＩＴ［ｂ］」が示すコンテンツの名前「ｂ」と自身の送信ＰＩＴ２０５のエントリから得られたコンテンツの名前２０２「ａ」「ｂ」とにおいて、コンテンツの名前「ａ」が一致していない。つまり、ＰＩＴ情報が示す、上位のパブリッシャー１０６で送信が完了していない、コンテンツ「ｂ」を構成するデータパケットと、自身の送信ＰＩＴ２０５のエントリが示す、自身が受信していないコンテンツ「ａ」「ｂ」を構成する二つのデータパケットと、において、コンテンツ「ａ」を構成するデータパケットが一致していない。このため、ルータＡ１０２Ａは、処理４１８において、上位のルータＢ１０２Ｂと自身との間のデータパケットの転送経路で、コンテンツ「ａ」を構成するデータパケットのパケットロスが発生したことを検出する。
【０１１４】
ルータＡ１０２Ａは、名前「ａ」のコンテンツを構成するデータパケットのパケットロスを検出すると、処理４２２を実行する。具体的には、ルータＡ１０２Ａは、処理４２２において、状態４１１となっている自身の送信ＰＩＴ２０５の当該データパケット「Ｄ：ａ」に対応するエントリ「ｏ［ａ（ｅｔｈ１）］」に従い、当該データパケットに対応する興味パケット「Ｉ：ａ」をフェイス「ｅｔｈ１」によって再び送出（再送）させる。
【０１１５】
また、処理４２１において、ルータＡ１０２Ａは、処理４１３、４１６と同様にして、ＰＩＴ情報「ＰＩＴ［ａ、ｂ］」を含むデータパケット「Ｄ：ｂ：ＰＩＴ［ａ、ｂ］」を転送する。つまり、このデータパケットの転送では、ルータＡ１０２Ａは、状態４１１にある自身の受信ＰＩＴ２０４のエントリ「ｉ［ａ、ｂ（ｅｔｈ０）」から得られたＰＩＴ情報「ＰＩＴ［ａ，ｂ］」をデータパケットに含めている。
【０１１６】
クライアント１００は、データパケット「Ｄ：ｂ：ＰＩＴ［ａ、ｂ］」を受信すると、上述と同様の比較処理を行う。この場合、状態４０７となっている送信ＰＩＴ２０５のエントリ「ｏ［ａ、ｂ（ｅｔｈ０）」に含まれているコンテンツの名前２０２「ａ」「ｂ」と、データパケット内に含まれるＰＩＴ情報「ＰＩＴ［ａ、ｂ］」が示すコンテンツの名前「ａ」「ｂ」とが一致している。このため、クライアント１００は、パケットロスが発生していないと判断する。つまり、クライアント１００は、パケットロスを検知せず、興味パケットを再送しない。
【０１１７】
ルータＢ１０２Ｂは、処理４２２において再送された興味パケット「Ｉ：ａ」を受信すると、処理４１３の後にルータＢ１０２Ｂ上のＣＳ１０３に記憶したデータパケット「Ｄ：ａ」を取得する（処理４２５）。そして、ルータＢ１０２Ｂは、処理４１３、４１６と同様の処理４２７を行い、ルータＡ１０２Ａは、処理４１３、４１６と同様の処理４２６を行う。これにより、クライアント１００は、処理４２２において再送された興味パケット「Ｉ：ａ」に対応するデータパケット「Ｄ：ａ」を受信する。
【０１１８】
尚、クライアント１００が要求したすべてのデータパケットの転送を完了した状態では、各装置１００、１０２Ａ、１０２Ｂ、１０６のＰＩＴ１０７、１０４Ａ、１０４Ｂ、１０８の状態４２９、４３０、４３１、４３２は、エントリが記録されていない初期状態となる。
【０１１９】
このように、実施の形態１の通信制御システムでは、ＰＩＴ２００のエントリが示す情報を含むデータパケットを送受信することで、より適切にパケットロスの検出を行うことができ、効率的な再送制御を行うことが可能となる。
【０１２０】
尚、実施の形態１では、コンテンツ指向型ネットワークの代表例としてＣＣＮを取り上げている。しかし、コンテンツ指向型ネットワークは、ＣＣＮ網１０１に限らず、ＮＤＮ（Ｎａｍｅｄ  Ｄａｔａ  Ｎｅｔｗｏｒｉｋｉｎｇ）等の他のコンテンツ指向型ネットワークであってもよい。
【０１２１】
また、実施の形態１では、本開示の通信制御装置は、ルータ１０２（１０２Ａ、１０２Ｂ）であるとして詳細を説明している。本開示の通信制御装置は、ＣＣＮ網１０１に接続したクライアント１００であって、上位の装置の受信ＰＩＴ２０４のエントリが示す、送信が完了していないデータパケットを示すＰＩＴ情報を含むデータパケットを受信し、受信したデータパケットに含まれるＰＩＴ情報を用いて、パケットロスの検出及び再送制御を行う。また、本開示の通信制御装置は、ＣＣＮにおけるパブリッシャー１０６であって、興味パケットを受信し、自身の受信ＰＩＴ２０４のエントリが示す、受信した興味パケットに対応するデータパケットの中で、送信が完了していないデータパケットを示すＰＩＴ情報を含むデータパケットを送信する。
【０１２２】
次に、ルータ１０２の構成について詳述する。図５は、ルータ１０２の機能構成の一例を示す図である。ルータ１０２は、不図示のＣＰＵ、ＲＡＭやＲＯＭ等のメモリー、及び、通信インターフェイス（フェイス）等を備えている。図５に示す各処理部５０２〜５０６は、上記メモリーに記憶されている、各処理部５０２〜５０６として機能させるためのプログラムをＣＰＵに実行させることにより実現される。尚、図５に示す各処理部５０２〜５０６は、各処理部５０２〜５０６として機能する専用回路を組み合わせることで実現してもよい。また、メモリ部５１０は、上記メモリーの記憶領域により実現される。
【０１２３】
パケット受信部５０２（受信部）及びパケット送信部５０３（送信部）は、上記通信インターフェイス（フェイス）を介して、ＣＣＮ網１０１と接続され、興味パケット及びデータパケットの送受信を行う。尚、パケット受信部５０２及びパケット送信部５０３がＣＣＮ網１０１と送受信するパケットは、興味パケット及びデータパケットに限らない。当該送受信するパケットは、例えば、ルーティング情報を交換するための制御パケットや、コンテンツが存在しないことやネットワークが輻輳していることを示すＮＡＣＫ（Ｎｅｇａｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）パケットであってもよい。
【０１２４】
パケット処理部５０４は、パケット受信部５０２、パケット送信部５０３及びメモリ部５１０と接続されており、メモリ部５１０に記憶されている情報等を用いて、パケット受信部５０２及びパケット送信部５０３で送受信されるパケットの処理方法を決定する。パケット処理部５０４は、更に、後述するＰＩＴ情報比較部５０５（パケット処理部）と、後述するＰＩＴ情報追加部５０６（パケット処理部）としても動作する。
【０１２５】
メモリ部５１０は、上述した、ＣＳ１０３、ＰＩＴ１０４、及びＦＩＢ１０５を記憶する。
【０１２６】
以下では、実施の形態１の通信制御システムにおいて、ルータ１０２またはクライアント１００がパケットを受信した場合の動作について、図５〜図９を用いて詳細に説明する。尚、以下では、図４を用いて詳述した処理と同様の処理の説明については簡略化する。
【０１２７】
図６は、ルータ１０２がパケットを処理する動作の一例を示すフローチャートである。まず、図６において、処理フローは、パケット受信部５０２によるパケットの受信（Ｓ６００）により起動される。パケット処理部５０４は、ステップＳ６００でパケット受信部５０２が受信したパケットがデータパケットであるか否かの判定を行う（Ｓ６０１）。
【０１２８】
具体的には、ステップＳ６０１において、パケット処理部５０４は、ＣＣＮで用いられるパケットのヘッダー領域に格納されているパケットのタイプを示す情報を参照する。そして、パケット処理部５０４は、当該参照した情報が、データパケットを示すか否かによって、上記受信したパケットがデータパケットであるか否かを判定する。ＣＣＮで用いられるパケットのフォーマットについては後述する。
【０１２９】
パケット処理部５０４は、受信したパケットがデータパケットではないと判定した場合（Ｓ６０１；ＮＯ）、後述するステップＳ８００を行う（Ｓ６０２）。パケット処理部５０４は、受信したパケットがデータパケットであると判定した場合には（Ｓ６０１；ＹＥＳ）、後述するＰＩＴ情報の比較処理（Ｓ７００）を呼び出す（Ｓ６０３）。
【０１３０】
続いて、パケット処理部５０４は、図２を用いて上述したように、ＰＩＴ１０４における送信ＰＩＴ２０５から、ステップＳ６００で受信したデータパケットに対応するエントリを削除する（Ｓ６０４）。そして、パケット処理部５０４は、ステップＳ６００で受信したデータパケットに対応するエントリが、ルータ１０２自身の受信ＰＩＴ２０４に記録されているか否かを判定する（Ｓ６０５）。
【０１３１】
パケット処理部５０４は、ステップＳ６０５において記録されていないと判定した場合（Ｓ６０５；ＮＯ）、ステップＳ６００で受信したデータパケットを転送せず、当該データパケットをＣＳ１０３に記憶する。これにより、以降、当該データパケットが構成するコンテンツを要求する興味パケットを受信した場合に、ＣＳ１０３から当該データパケットを取得して転送できるようにする。尚、ステップＳ６００で受信したデータパケットが既にＣＳ１０３に記憶されている場合は、当該データパケットを破棄する（Ｓ６０６）。そして、パケット処理部５０４は、パケットの転送処理を終了する（Ｓ６１１）。
【０１３２】
一方、パケット処理部５０４が、ステップＳ６０５において記録されていると判定したとする（Ｓ６０５；ＹＥＳ）。この場合、ＰＩＴ情報追加部５０６は、下位のルータ１０２にステップＳ６００で受信したデータパケットを転送するための準備として、データパケットに含まれているＰＩＴ情報を更新する（Ｓ６０７）。
【０１３３】
具体的には、ステップＳ６０７において、ＰＩＴ情報追加部５０６は、先ず、データパケットに含まれているＰＩＴ情報を削除する。そして、ＰＩＴ情報追加部５０６は、図４の処理４１３と同様にして、ルータ１０２自身の受信ＰＩＴ２０４に記録されている、当該データパケットに対応するエントリに含まれているフェイス２０３を抽出する。これにより、当該抽出したフェイス２０３が示すフェイスを、当該データパケットを送出するフェイスとして特定する。そして、ＰＩＴ情報追加部５０６は、ルータ１０２自身の受信ＰＩＴ２０４に記録されている、当該抽出したフェイス２０３と同一のフェイス２０３を含むエントリに含まれる名前２０２を、ＰＩＴ情報として当該データパケットに含める。そして、ＰＩＴ情報追加部５０６は、ステップＳ６０７を終了する。
【０１３４】
次に、パケット処理部５０４は、パケット送信部５０３に、ステップＳ６００で受信したデータパケットを下位のルータ１０２へ転送させる（Ｓ６０８）。具体的には、ステップＳ６０８において、パケット処理部５０４は、ステップＳ６０７で特定されたフェイスによって、ステップＳ６００で受信したデータパケットを送出させるよう、パケット送信部５０３に指示する。これにより、パケット送信部５０３は、ステップＳ６０７で特定されたフェイスに、当該データパケットを送出させる。その結果、下位のルータ１０２に当該データパケットが転送される。
【０１３５】
そして、パケット処理部５０４は、図４の処理４１３を行った後と同様にして、ルータ１０２自身の受信ＰＩＴ２０４から、ステップＳ６０８で転送したデータパケットに対応するエントリを消去する（Ｓ６０９）。そして、パケット処理部５０４は、ステップＳ６０８で転送したデータパケットと同一のデータパケットをＣＳ１０３に記憶する（Ｓ６１０）。そして、パケット処理部５０４は、パケットの転送処理を終了する（Ｓ６１１）。
【０１３６】
次に、ステップＳ６０３で行われるＰＩＴ情報の比較処理（Ｓ７００）の詳細について図７を用いて説明する。図７は、ＰＩＴ情報の比較処理（Ｓ７００）のフローチャートである。
【０１３７】
パケット処理部５０４により、ＰＩＴ情報の比較処理が呼び出されると（Ｓ７００）、ＰＩＴ情報比較部５０５は、ステップＳ６００で受信したデータパケット内にＰＩＴ情報が含まれているか否かを判定する（Ｓ７０１）。
【０１３８】
ステップＳ６００で受信したデータパケットは、実施の形態１の通信制御システムとは他の通信制御システムのパブリッシャー１０６等から送信されたデータパケットである可能性があり、データパケット内にＰＩＴ情報が含まれていない可能性がある。そこで、ＰＩＴ情報比較部５０５は、ステップＳ７０１において、データパケットにＰＩＴ情報が含まれていないと判定した場合（Ｓ７０１；ＮＯ）、他の通信制御システムの装置から送信されたデータパケットであると判断し、ＰＩＴ情報の比較処理を終了する。これにより、処理は、呼び出し元の処理に戻る（Ｓ７０５）。
【０１３９】
尚、呼び出し元の処理に戻った後、ステップＳ６０７が行われた場合、データパケットにＰＩＴ情報が含められ、ステップＳ６０８において、当該ＰＩＴ情報を含むデータパケットが下位の装置へ転送される。その結果、当該下位の装置は、パケットロスを検出することが可能となる。
【０１４０】
一方、ＰＩＴ情報比較部５０５が、ステップＳ７０１において、データパケットにＰＩＴ情報が含まれていると判定したとする（Ｓ７０１；ＹＥＳ）。この場合、ＰＩＴ情報比較部５０５は、ルータ１０２自身の送信ＰＩＴ２０５のエントリの中で、当該データパケットを受信したフェイスを示すフェイス２０３と同一のフェイス２０３を含むエントリから、名前２０２を抽出する。そして、ＰＩＴ情報比較部５０５は、データパケットに含まれているＰＩＴ情報が示す名前２０２と、ルータ１０２自身の送信ＰＩＴ２０５から抽出した名前２０２と、を比較する（Ｓ７０２）。
【０１４１】
ステップＳ７０２の比較結果、送信ＰＩＴ２０５から抽出した名前２０２と、データパケットに含まれていたＰＩＴ情報が示す名前２０２とが一致しなかった場合（Ｓ７０３；ＹＥＳ）、ＰＩＴ情報比較部５０５は、ルータ１０２自身と上位の装置との間のパケットの転送経路で、当該一致しなかった名前２０２のコンテンツを構成するデータパケットのパケットロスが発生したことを検出する。この場合（Ｓ７０３；ＹＥＳ）、パケット処理部５０４は、図４の処理４２２と同様にして、送信ＰＩＴ２０５のエントリに従い、当該一致しなかった名前２０２のコンテンツを構成するデータパケットに対応する興味パケットをパケット送信部５０３に再送させ、ＰＩＴ情報の比較処理を終了する（Ｓ７０４）。これにより、処理は、呼び出し元の処理に戻る（Ｓ７０５）。
【０１４２】
一方、ステップＳ７０２の比較結果、送信ＰＩＴ２０５から抽出した名前２０２と、データパケットに含まれていたＰＩＴ情報が示す名前２０２とが一致した場合（Ｓ７０３；ＮＯ）、ＰＩＴ情報比較部５０５は、パケットロスは発生していないと判断し、ＰＩＴ情報の比較処理を終了する。これにより、処理は、呼び出し元の処理に戻る（Ｓ７０５）。
【０１４３】
次に、ルータ１０２が興味パケットに対応するデータパケット以外のパケットを受信した場合にステップＳ６０２で行われる処理の詳細について図８を用いて説明する。図８は、ルータ１０２が興味パケットに対応するデータパケット以外のパケットを受信した際に行う処理の動作を示すフローチャートである。
【０１４４】
パケット処理部５０４は、ステップＳ６０２の処理を開始すると（Ｓ８００）、ステップＳ６００でパケット受信部５０２が受信したパケットが、興味パケットであるか否かの判定を行う（Ｓ８０１）。
【０１４５】
具体的には、ステップＳ８０１において、パケット処理部５０４は、ＣＣＮで用いられるパケットのヘッダー領域に含まれるパケットのタイプを示す情報を参照する。そして、パケット処理部５０４は、当該参照した情報が、興味パケットを示すか否かによって、上記受信したパケットが興味パケットであるか否かを判定する。ＣＣＮで用いられるパケットのフォーマットについては後述する。
【０１４６】
パケット処理部５０４は、受信したパケットが興味パケットではないと判定した場合（Ｓ８０１；ＮＯ）、受信したパケットに対して規定されている所定の処理を行い、処理を終了する（Ｓ８０２）。
【０１４７】
一方、パケット処理部５０４は、受信したパケットが興味パケットであると判定した場合（Ｓ８０１；ＹＥＳ）、図４の処理４０８、４０９と同様にして、当該興味パケットを受け取ったことを示すエントリを受信ＰＩＴに追加する（Ｓ８０３）。次に、パケット処理部５０４は、ＣＳ１０３内に、当該興味パケットに対応するデータパケットが記憶されているか否かの検索を行う（Ｓ８０４）。
【０１４８】
ＣＳ１０３内に、当該興味パケットに対応するデータパケットが記憶されていなかった場合（Ｓ８０５；ＮＯ）、パケット処理部５０４は、パケット送信部５０３に対し、図４の処理４０８、４０９と同様にして、上位の装置との通信に用いるフェイスによって、当該興味パケットを上位の装置へ転送するよう指示する（Ｓ８０６）。これにより、当該興味パケットは上位の装置へ転送される。そして、パケット処理部５０４は、当該興味パケットを送出したことを示すエントリを送信ＰＩＴ２０５に記録し（Ｓ８０７）、処理を終了する（Ｓ８１１）。
【０１４９】
一方、パケット処理部５０４がＣＳ１０３内に興味パケットに対応するデータパケットが記憶されていたと判定した場合（Ｓ８０５；ＹＥＳ）、ＰＩＴ情報追加部５０６は、ＣＳ１０３内から当該データパケットを取得し、ステップＳ６０７と同様にして、自身の受信ＰＩＴ２０４に記録されているエントリから得たＰＩＴ情報をデータパケットに含める（Ｓ８０８）。尚、ステップＳ８０８において、ＰＩＴ情報追加部５０６は、ステップＳ６０７と同様にして、当該データパケットを送信するフェイスを特定する。
【０１５０】
そして、パケット処理部５０４は、パケット送信部５０３に、下位の装置へ当該データパケットを転送させる（Ｓ８０９）。具体的には、ステップＳ８０９において、パケット処理部５０４は、ステップＳ８０８で特定されたフェイスによって、ステップＳ８０８でＰＩＴ情報が含めれられたデータパケットを送出させるよう、パケット送信部５０３に指示する。これにより、パケット送信部５０３は、ステップＳ８０８で特定されたフェイスに、当該データパケットを送出させる。その結果、下位のルータ１０２に当該データパケットが転送される。
【０１５１】
そして、パケット処理部５０４は、転送したデータパケットに対応する自身の受信ＰＩＴ２０４のエントリを消去し（Ｓ８１０）、処理を終了する（Ｓ８１１）。
【０１５２】
以上、ルータ１０２における処理フローについて述べたが、ルータ１０２におけるパケットロスの検出方法を、クライアント１００及びパブリッシャー１０６に適用する場合は、クライアント１００及びパブリッシャー１０６を以下のように構成すればよい。
【０１５３】
具体的には、クライアント１００及びパブリッシャー１０６が、図５に示すルータ１０２と同様の処理部５０２〜５０６及びメモリ部５１０を備えるようにすればよい。
【０１５４】
そして、クライアント１００では、クライアント１００が備えるパケット送信部５０３（以下、パケット送信部５０３ａ）が興味パケットを送信した後に、ステップＳ８０７と同様にして、クライアント１００が備えるパケット処理部５０４（以下、パケット処理部５０４ａ）が、当該興味パケットを送出したことを示すエントリを自身の送信ＰＩＴ２０５に追加すればよい。
【０１５５】
一方、クライアント１００がデータパケットを処理する動作については、次のようにすればよい。図９は、クライアント１００がデータパケットを受信した際に行う処理の動作を示すフローチャートである。
【０１５６】
クライアント１００が備えるパケット受信部５０２（以下、パケット受信部５０２ａ）がデータパケットを受信すると（Ｓ９００）、パケット処理部５０４ａは、ＰＩＴ情報の比較処理（Ｓ７００）を呼び出す（Ｓ９０１）。これにより、クライアント１００が備えるＰＩＴ情報比較部５０５は、図７に示す処理フローに従い、ＰＩＴ情報の比較処理を行う。その結果、クライアント１００においてもパケットロスの検出を行え、また、パケットロスを検出した場合にはステップＳ７０４の再送処理を行うことができる。
【０１５７】
次に、パケット処理部５０４ａは、ステップＳ９００で受信したデータパケットに対応するエントリが、クライアント１００自身の送信ＰＩＴ２０５に記録されているか否かを判定する（Ｓ９０２）。
【０１５８】
パケット処理部５０４ａは、ステップＳ９０２において記録されていないと判定した場合（Ｓ９０２；ＮＯ）、そのまま受信処理を完了する（Ｓ９０４）。一方、パケット処理部５０４ａは、ステップＳ９０２において記録されていると判定した場合（Ｓ９０２；ＹＥＳ）、図２を用いて上述したように、送信ＰＩＴ２０５から、ステップＳ９００で受信したデータパケットに対応するエントリを削除した後（Ｓ９０３）、受信処理を完了する（Ｓ９０４）。
【０１５９】
一方、パブリッシャー１０６では、パブリッシャー１０６が備えるパケット受信部５０２が興味パケットを受信した後に、ステップＳ８０３と同様にして、パブリッシャー１０６が備えるパケット処理部５０４（以下、パケット処理部５０４ｂ）が、当該興味パケットを受け取ったことを示すエントリを自身の受信ＰＩＴ２０４に追加すればよい。
【０１６０】
また、パブリッシャー１０６が備えるパケット送信部５０３（以下、パケット送信部５０３ｂ）がデータパケットを送信する場合には、ステップＳ８０８、Ｓ８０９と同様にして、パブリッシャー１０６が備えるＰＩＴ情報追加部５０６が、パブリッシャー１０６の受信ＰＩＴ２０４のエントリから得られるＰＩＴ情報を当該データパケットに含めた後、、パケット処理部５０４ｂがパケット送信部５０３ｂに当該データパケットを送信させるようにすればよい。そして、データパケットの送出後は、パケット処理部５０４ｂが、ステップＳ８１０と同様にして、自身の受信ＰＩＴ２０４から、当該データパケットに対応するエントリを消去するようにすればよい。
【０１６１】
次に、ＣＣＮで用いられるパケットのフォーマットについて説明する。図１０は、ＣＣＮで用いられるパケットのフォーマットの一例を示す図である。図１０に示すように、データパケットは、ヘッダー領域（１０００〜１００６）と、メッセージ領域（１００７〜１０１２）と、を含んでいる。ヘッダー領域（１０００〜１００６）は、ＣＣＮで用いられる全てのパケットで共通しており、メッセージ領域は、パケットのタイプに応じて異なっている。
【０１６２】
１０００の領域（以下、バージョン領域１０００）には、パケットのバージョンを示す情報が格納される。１００１の領域（以下、タイプ領域１００１）には、パケットのタイプを示す情報が格納される。例えば、タイプ領域１００１には、上述の興味パケットであるか、データパケットであるかを示す情報が格納される。つまり、上述したステップＳ６０１、Ｓ８０１では、当該タイプ領域１００１が参照される。１００２の領域にはパケット長が格納される。１００３の領域には、パケットのタイプに特有の情報、１００４の領域にはヘッダー長が格納される。１００５の領域には、メッセージ領域に格納されている情報やデータを識別する情報が格納される。１００６の領域にはメッセージ長が格納される。
【０１６３】
例えば、パケットが上述したデータパケットである場合、タイプ領域１００１にはデータパケットであることを識別する識別子が格納される。また、１００５の領域には、コンテンツの名前が格納される。メッセージ領域（１００７〜１０１２）は、１００７〜１００９の領域と、１０１０〜１０１２の領域と、の二つの領域に分類される。１００７〜１００９の領域には、当該データパケットが構成するコンテンツのデータ及び当該データに関する情報が格納される。また、１０１０〜１０１２の領域には、ＰＩＴ情報及びＰＩＴ情報を示すデータが格納される。
【０１６４】
具体的には、１００７の領域には、コンテンツのデータであることを示す識別子が格納され、１００８の領域にはコンテンツのデータ長が格納され、１００９の領域に、コンテンツを構成するデータが格納される。１０１０の領域には、ＰＩＴ情報であることを示す識別子が格納され、１０１１の領域には、ＰＩＴ情報のデータ長が格納され、１０１２の領域には、ＰＩＴ情報が格納される。
【０１６５】
一方、パケットが上述した興味パケットである場合、タイプ領域１００１には興味パケットであることを識別する識別子が格納される。また、１００５の領域には、当該興味パケットが要求するコンテンツの名前が格納される。メッセージ領域（１００７〜１０１２）は、用いられない、あるいは、領域自体が存在しない。
【０１６６】
（実施の形態２：送信するＰＩＴ情報の圧縮）
実施の形態１では、各装置が送信する対象のデータパケットにＰＩＴ情報を含める場合、自身の受信ＰＩＴ２０４から、当該データパケットに対応するエントリに含まれるフェイス２０３を抽出後、自身の受信ＰＩＴ２０４のエントリの中で、当該抽出したフェイス２０３と同一のフェイス２０３を含む全てのエントリから名前２０２を抽出し、これをＰＩＴ情報としていた。しかし、必ずしもすべての送信対象のデータパケットに、上記全てのエントリから抽出した名前２０２をＰＩＴ情報として含める必要は無い。以下に示すように、送信対象のデータパケットに含めるＰＩＴ情報のサイズを少なくしてもよい。
【０１６７】
例えば、名前が「ａ」のコンテンツが、更に、名前が「ａ／１」、「ａ／２」、「ａ／３」、・・・とシーケンシャルな子階層の名前を持つコンテンツに分割されていることがある。そこで、例えば、名前が「ａ」のコンテンツ（コンテンツ「ａ」）が、上述のように、名前が「ａ／１」、「ａ／２」、「ａ／３」の三個のコンテンツ（コンテンツ「ａ／１」、コンテンツ「ａ／２」、コンテンツ「ａ／３」）に分割されているとする。また、名前が「ｂ」のコンテンツ（コンテンツ「ｂ」）も、上述のように、名前が「ｂ／１」、「ｂ／２」、「ｂ／３」の三個のコンテンツ（コンテンツ「ｂ／１」、コンテンツ「ｂ／２」、コンテンツ「ｂ／３」）に分割されているとする。
【０１６８】
そして、クライアント１００がコンテンツ「ａ」「ｂ」を取得するために、コンテンツ「ａ」を構成する三個のコンテンツ「ａ／１」、「ａ／２」、「ａ／３」と、コンテンツ「ｂ」を構成する三個のコンテンツ「ｂ／１」、「ｂ／２」、「ｂ／３」と、を要求する計六個の興味パケットを送信したとする。
【０１６９】
これにより、ルータ１０２の受信ＰＩＴ２０４のエントリが、「ｉ［ａ／１、ａ／２、ａ／３、ｂ／１、ｂ／２、ｂ／３（ｅｔｈ０）］」になったとする。そして、ルータ１０２が、コンテンツ「ａ」を構成する３個のデータパケットの中で、コンテンツ「ａ／１」を構成するデータパケット「Ｄ：ａ／１」を、フェイス「ｅｔｈ０」によって転送するとする。
【０１７０】
この場合において、ルータ１０２のパケット処理部５０４が、受信ＰＩＴ２０４に記憶されているフェイス「ｅｔｈ０」を含むエントリの中で、コンテンツ「ａ」を構成するデータパケット（コンテンツ「ａ／１」、「ａ／２」、「ａ／３」を構成するデータパケット）に対応するエントリ「ｉ［ａ／１、ａ／２、ａ／３（ｅｔｈ０）］」のみから、名前２０２「ａ／１」、「ａ／２」、「ａ／３」を抽出するようにし、当該抽出した名前２０２をＰＩＴ情報としてデータパケット「Ｄ：ａ／１」に含めるようにしてもよい。
【０１７１】
つまり、ルータ１０２のパケット処理部５０４が、受信ＰＩＴ２０４に記憶されているフェイス「ｅｔｈ０」を含むエントリの中で、転送するデータパケット「Ｄ：ａ／１」が構成するコンテンツ「ａ」とは他のコンテンツ「ｂ」を構成するデータパケット（コンテンツ「ｂ／１」、「ｂ／２」、「ｂ／３」を構成するデータパケット）に対応するエントリ「ｉ［ｂ／１、ｂ／２、ｂ／３（ｅｔｈ０）］」からは、名前２０２「ｂ／１」、「ｂ／２」、「ｂ／３」を抽出しないようにしてもよい。これにより、ＰＩＴ情報のサイズを軽減するようにしてもよい。
【０１７２】
このように、パケット処理部５０４が、一のコンテンツを構成する複数のデータパケットをそれぞれ送信する場合に、受信ＰＩＴ２０４に記録されている、当該コンテンツを構成するデータパケットに対応する（関する）エントリに含まれている名前２０２のみを、ＰＩＴ情報として、送信するデータパケットに含めるようにしてもよい。
【０１７３】
これにより、一定期間、一のコンテンツを構成する複数のデータパケットをそれぞれ連続して集中的に送信するような場合に、受信ＰＩＴ２０４に記録されている、当該コンテンツとは他のコンテンツを構成するデータパケットに対応するエントリに含まれている名前２０２をＰＩＴ情報として、送信対象のデータパケットに含めることを回避してもよい。このようにして、当該期間中、データパケットに含まれるＰＩＴ情報のサイズを軽減するようにし、ネットワークの通信負荷を軽減してもよい。
【０１７４】
ただし、この方法を用いる場合、データパケットを受信する側の装置が、データパケットに含まれるＰＩＴ情報が軽減されていることを識別できるようにする必要がある。また、ステップＳ７０２において、受信したデータパケットに含まれているＰＩＴ情報が示す名前と比較する対象の、送信ＰＩＴ２０５のエントリから抽出される名前２０２も、ＰＩＴ情報と同様に軽減する必要がある。これは、以下のようにして実現すればよい。
【０１７５】
例えば、パケット処理部５０４がＰＩＴ情報をデータパケットに含める場合に、図１０に示すパケットの１０１０の領域に格納する、ＰＩＴ情報であることを示す識別子を、通常通りのＰＩＴ情報を含むときと、上述のように軽減されたＰＩＴ情報を含むときと、で異ならせるようにすればよい。または、図１０に示すパケットの１００３の領域に格納するデータパケットに特有の情報を、通常通りのＰＩＴ情報を含むときと、上述のように軽減されたＰＩＴ情報を含むときとで異ならせるようにすればよい。
【０１７６】
そして、ステップＳ７０２において、ＰＩＴ情報比較部５０５は、受信したデータパケットに含まれているＰＩＴ情報が、軽減されたＰＩＴ情報であるか否かを判定するようにすればよい。そして、ＰＩＴ情報比較部５０５は、軽減されたＰＩＴ情報であると判定した場合には、自身の送信ＰＩＴ２０５のエントリの中で、受信したデータパケットが構成するコンテンツと同一のコンテンツを構成するデータパケットに対応するエントリのみから、名前２０２を抽出するようにすればよい。そして、当該抽出した名前２０２と、軽減されたＰＩＴ情報が示す名前と、を比較して、パケットロスを検出するようにすればよい。
【０１７７】
例えば、ルータ１０２の送信ＰＩＴ２０５のエントリが、「ｏ［ａ／１、ａ／２、ａ／３、ｂ／１、ｂ／２、ｂ／３（ｅｔｈ０）］」のときに、フェイス「ｅｔｈ０」によって、データパケット「Ｄ：ａ／１、ＰＩＴ［ａ／１、ａ／２、ａ／３］」が受け取られたとする。また、データパケットに含まれるＰＩＴ情報「ＰＩＴ［ａ／１、ａ／２、ａ／３］」は、軽減されたＰＩＴ情報であるとする。
【０１７８】
この場合、ステップＳ７０２において、ＰＩＴ情報比較部５０５が、受信したデータパケットの１０１０の領域又は１００３の領域から、当該受信したデータパケットに含まれるＰＩＴ情報が、軽減されたＰＩＴ情報であるか否かを判定するようにすればよい。
【０１７９】
そして、軽減されたＰＩＴ情報であると判定した場合には、ＰＩＴ情報比較部５０５が当該受信したデータパケットが構成するコンテンツを把握するようにすればよい。本具体例では、当該受信したデータパケットが構成するコンテンツの名前「ａ／１」のプレフィックスから、当該データパケットがコンテンツ「ａ」を構成するデータパケットであることを把握することができる。
【０１８０】
そして、ＰＩＴ情報比較部５０５が、自身の送信ＰＩＴ２０５のエントリのうち、コンテンツ「ａ」を構成するデータパケットに対応するエントリ「ｏ［ａ／１、ａ／２、ａ／３（ｅｔｈ０）］」のみから、名前２０２「ａ／１」、「ａ／２」、「ａ／３」を抽出するようにすればよい。そして、ＰＩＴ情報比較部５０５が、当該抽出した名前２０２「ａ／１」、「ａ／２」、「ａ／３」と、軽減されたＰＩＴ情報「ＰＩＴ［ａ／１、ａ／２、ａ／３］」が示す名前「ａ／１」、「ａ／２」、「ａ／３」と、を比較するようにすればよい。
【０１８１】
この場合、一定期間、一のコンテンツを構成する複数のデータパケットのそれぞれを連続して集中的に受信するような場合に、当該期間中、受信したデータパケットに含まれる軽減されたＰＩＴ情報と、送信ＰＩＴ２０５に記録されている、当該コンテンツを構成するデータパケットに対応するエントリと、を用いて、当該コンテンツを構成するデータパケットのパケットロスだけを集中的に検出することができる。
【０１８２】
また、データパケット「Ｄ：ａ」に含めるＰＩＴ情報を「ＰＩＴ［ａ，ｂ］」とする場合、ＰＩＴ情報が示すコンテンツの名前「ａ」は、データパケットが構成するコンテンツの名前そのものと重複している。そこで、このように、ＰＩＴ情報が示すコンテンツの名前に、データパケットが構成するコンテンツの名前が含まれている場合には、ＰＩＴ情報に、データパケットが構成するコンテンツの名前を含めないようにしてもよい。つまり、上記例では、データパケット「Ｄ：ａ」に含めるＰＩＴ情報を「ＰＩＴ［ａ，ｂ］」とせずに、「ＰＩＴ［ｂ］」としてもよい。このようにして、データパケットに含めるＰＩＴ情報を軽減してもよい。
【０１８３】
ただし、この方法を用いる場合も、上述のようにデータパケットの１０１０の領域又は１００３の領域を用いて、データパケットを受信する側の装置が、データパケットに含まれるＰＩＴ情報が軽減されていることを識別できるようにする必要がある。また、ステップＳ７０２では、ＰＩＴ情報が軽減されているか否かを判定し、軽減されていると判定した場合には、受信したデータパケットに含まれているＰＩＴ情報が示す名前に、データパケットが構成するコンテンツの名前を追加する必要がある。
【０１８４】
ただし、例えば、データパケット「Ｄ：ａ」に含めるＰＩＴ情報が「ＰＩＴ［ａ］」であるときには、データパケット「Ｄ：ａ」に含めるＰＩＴ情報が存在しなくなる。その結果、ステップＳ７０１において、ＰＩＴ情報比較部５０５が、データパケット内にＰＩＴ情報が含まれていないと判定され、ステップＳ７０２が行われないことになる。したがって、この問題を回避するため、ステップＳ７０１においても、ＰＩＴ情報が軽減されているのか否かを判定するようにし、ＰＩＴ情報が軽減されていると判定され、且つ、ＰＩＴ情報が含まれていないときは、ステップＳ７０２の処理を行うようにしてもよい。
【０１８５】
更に、データパケットに含めるＰＩＴ情報が示す名前は、「ａ」「ｂ」といった文字列に限らず、例えば、ＰＩＴ情報が示す名前のハッシュ値を計算したものでもよい。ただし、この場合、当該データパケットを受信した装置では、ステップＳ７０２において、受信したデータパケットに含まれるＰＩＴ情報が示すハッシュ値と、自身の送信ＰＩＴ２０５のエントリから抽出した名前２０２のハッシュ値と、を比較する必要がある。
【０１８６】
また、当該ＰＩＴ情報が示すハッシュ値を、送信ＰＩＴ２０５のエントリから抽出した名前２０２に対応するブルームフィルタとして構成してもよい。この場合、当該ＰＩＴ情報を含むデータパケットを受信した装置では、ステップＳ７０２において、受信したデータパケットに含まれるＰＩＴ情報が示すブルームフィルタを用いて、自身の送信ＰＩＴ２０５のエントリから抽出した名前２０２が、ＰＩＴ情報に対応する名前に含まれていないことだけを確認できるようにしてもよい。
【０１８７】
（実施の形態３：ＰＩＴ情報とタイムアウトの組み合わせ）
実施の形態１、２では、パケットロスを検出するために、上位の装置の受信ＰＩＴ２０４のエントリ及び自身の送信ＰＩＴ２０５のエントリから抽出した情報の比較を用いる方法について説明した。
【０１８８】
しかし、パケット処理部５０４が、更に、自身の送信ＰＩＴ２０５のエントリに対してタイムアウト値を設定し、送信ＰＩＴ２０５にエントリが記録されてから、当該エントリに対応するデータパケットを受信するまでの時間がタイムアウト値を超えた場合に、当該データパケットのパケットロスを検出するようにしてもよい。そして、パケット処理部５０４が、当該パケットロスを検出した場合には、当該データパケットに対応する興味パケットをパケット送信部５０３に再送させるようにしてもよい。
【０１８９】
具体的には、送信ＰＩＴ２０５に、各エントリと対応付けて、当該エントリが記録された日時と、当該エントリのタイムアウト値と、を記録できるようにしてもよい。そして、パケット処理部５０４が、ステップＳ８０７において、送信ＰＩＴ２０５にエントリを記録する際に、当該エントリのタイムアウト値と当該エントリを記録した日時とを、当該エントリと対応づけて記録するようにしてもよい。
【０１９０】
そして、パケット処理部５０４が、定期的に、送信ＰＩＴ２０５のエントリを参照するようにし、参照したエントリに対応付けられている当該エントリが記録された日時から、当該エントリに対応付けられているタイムアウト値を超える時間が経過していたときは、当該エントリに対応するデータパケットのパケットロスを検出し、ステップＳ７０４と同様に、当該データパケットに対応する興味パケットを再送するようにしてもよい。
【０１９１】
尚、この場合、興味パケットの再送が繰り返されないよう、パケット処理部５０４が、参照したエントリに対応付けられている日時を、興味パケットを再送した日時に更新するように構成する必要がある。
【０１９２】
このように構成すれば、例えば、送信した興味パケットに対応するデータパケットのパケットロスがバースト的に発生し、当該データパケットが一定期間受信できなくなった場合でも、当該データパケットに対応するエントリが送信ＰＩＴ２０５に記録されてからの経過時間がタイムアウト値を超える度に当該興味パケットが再送される。
【０１９３】
これにより、当該興味パケットに対応するデータパケットのパケットロスが発生したとしても、当該データパケットの適切な再送処理が可能となる。その結果、信頼性を損なうことなく、当該データパケットを取得することができる。
【０１９４】
（実施の形態４：送信遅延への対応）
図１１は、ＣＣＮにおける二個のルータ１０２Ａ、１０２Ｂ間で興味パケット１１０４とデータパケット１１０５とを送受信している状況の一例を示す図である。図１１は、ルータＡ１０２Ａによる興味パケット１１０４「Ｉ：ｃ」の送信と、ルータＢ１０２Ｂによるデータパケット１１０５「Ｄ：ａ：ＰＩＴ［ａ，ｂ］」の転送とが略同時に行われている状況を示している。
【０１９５】
このとき、ルータＡ１０２Ａの送信ＰＩＴ２０５のエントリは、「ｏ［ａ，ｂ，ｃ］」となる。一方、ルータＢ１０２Ｂがデータパケット１１０５を送信した時点では、ルータＢ１０２Ｂに興味パケット１１０４が到着していないため、データパケット１１０５に含まれるＰＩＴ情報は、「ＰＩＴ［ａ，ｂ］」となっている。このため、データパケット１１０５をルータＡ１０２Ａが受信したときに、実際にはパケットロスが発生していないにもかかわらず、興味パケット１１０４に対応するデータパケットのパケットロスを検出する可能性がある。
【０１９６】
この課題を解消するため、ＰＩＴ情報比較部５０５が、ステップＳ７０２における比較において、送信ＰＩＴ２０５のエントリの中で、記録されてからの経過時間が所定の閾値以下のエントリから抽出した名前２０２を用いないようにしてもよい。
【０１９７】
これを実現するためには、更に、送信ＰＩＴ２０５に、各エントリと対応付けて、当該エントリが記録された日時を記録できるようにすればよい。そして、パケット処理部５０４が、ステップＳ８０７において、送信ＰＩＴ２０５にエントリを記録する際に、当該エントリを記録した日時を当該エントリと対応づけて記録するようにすればよい。また、上記閾値は、例えば、隣接する二個のルータ１０２で制御信号の送受信を行い、データパケットを往復させた場合に必要な時間を計測し、当該計測した時間を設定すればよい。
【０１９８】
このように構成すれば、以下に示す効果が得られる。例えば、上位のルータ１０２がデータパケットを送信した後、下位のルータ１０２が興味パケットを送信したとする。そして、下位のルータ１０２が、当該興味パケットを送信したことを示す送信ＰＩＴ２０５のエントリを記録してからの経過時間が所定の閾値になる前に、当該データパケットを受信して、ステップＳ７０２が行われたとする。
【０１９９】
この場合、当該ステップＳ７０２において、上記興味パケットを送信したことを示す送信ＰＩＴ２０５のエントリから抽出した名前２０２が、ＰＩＴ情報が示す名前と比較されなくなる。これにより、上記興味パケットに対応するデータパケットのパケットロスを誤って検出することを防止することができる。
【０２００】
（実施の形態５：ＰＩＴ情報の送信回数の削減）
上述の実施の形態では、各装置は、データパケットを送信する場合に、当該データパケットに必ずＰＩＴ情報を含めて送信するようにしていた。しかし、例えば、各装置が、送信したデータパケットの個数をカウントするようにし、ＰＩＴ情報を持たないデータパケットを所定の個数送信する毎に、ＰＩＴ情報を含むデータパケットを送信するようにしてもよい。又は、各装置が、ＰＩＴ情報を含むデータパケットを送信してから、所定時間が経過するまでは、ＰＩＴ情報を含まないデータパケットを送信するようにし、当該所定時間の経過後に、ＰＩＴ情報を含むデータパケットを送信するようにしてもよい。
【０２０１】
また、各装置が、ＰＩＴ情報のみを含み、コンテンツのデータを含まないデータパケットを送信するようにしてもよい。具体的には、下位の装置が、ＰＩＴ情報のみを含み、コンテンツのデータを含まないデータパケットに対する興味パケットを送信した場合に、当該興味パケットを受信した装置が、自身の受信ＰＩＴ２０４のエントリから抽出したＰＩＴ情報のみを含むデータパケットを返信するようにしてもよい。または、各装置が、自発的に、且つ、定期的に、自身の受信ＰＩＴ２０４のエントリから抽出したＰＩＴ情報のみを含むデータパケットを、当該ＰＩＴ情報の抽出元のエントリに含まれるフェイスによって送出するようにしてもよい。
【０２０２】
つまり、上記の手法を用いることで、ＰＩＴ情報を含むデータパケットを送信する回数を少なくして、ＣＣＮ網１０１上で送受信されるデータパケットのサイズを軽減し、ネットワークの通信負荷を軽減してもよい。
【０２０３】
ただし、上記の手法を用いる場合も、データパケットを受信する側の装置が、各データパケットがどのような情報を含んでいるかを識別できるようにする必要がある。これは、例えば、データパケットを送信する各装置が、データパケットを送信する場合に、図１０に示すデータパケットの１０１０の領域や１００３の領域に格納する情報を、データパケットにＰＩＴ情報のみを含む場合と、ＰＩＴ情報だけが含まれていない場合と、ＰＩＴ情報とコンテンツが含まれている場合と、で異ならせることで実現することができる。
【産業上の利用可能性】
【０２０４】
本開示は、コンテンツ指向型ネットワークにおける通信制御装置に利用でき、特に、データを中継するルータ装置、データを受信するクライアント装置、及び、データを提供するパブリッシャーなどに利用できる。
【符号の説明】
【０２０５】
１００    クライアント（通信制御装置）
１０１    ＣＣＮ網（コンテンツ指向型ネットワーク）
１０２、１０２Ａ、１０２Ｂ    ルータ（通信制御装置）
１０３    ＣＳ
１０４、１０７、１０８    ＰＩＴ
１０５    ＦＩＢ
１０６    パブリッシャー（通信制御装置）
２０４    受信ＰＩＴ
２０５    送信ＰＩＴ
５０２    パケット受信部（受信部）
５０３    パケット送信部（送信部）
５０４    パケット処理部
５０５    ＰＩＴ情報比較部（パケット処理部）
５０６    ＰＩＴ情報追加部（パケット処理部）
５１０    メモリ部
【図１】
0006599263.tif 000002
【図２】
0006599263.tif 000003
【図３】
0006599263.tif 000004
【図４】
0006599263.tif 000005
【図５】
0006599263.tif 000006
【図６】
0006599263.tif 000007
【図７】
0006599263.tif 000008
【図８】
0006599263.tif 000009
【図９】
0006599263.tif 000010
【図１０】
0006599263.tif 000011
【図１１】
0006599263.tif 000012