(57)【特許請求の範囲】
【請求項１】
コンテンツ指向型のネットワークに接続されるルータによる輻輳制御方法であって、
前記ネットワークを監視することで、輻輳が発生しているか否かを判断し、
送信を要求するコンテンツデータの名前を含む興味パケットを受信し、
前記興味パケットを受信し、かつ、前記輻輳が発生していると判断した場合、前記輻輳の発生を通知するための第１のＮＡＣＫパケットを生成し、
前記生成された第１のＮＡＣＫパケットを前記ネットワークに送信し、
前記第１のＮＡＣＫパケットの生成では、前記受信した興味パケットに含まれる名前に対応するコンテンツデータを代替する第１の代替コンテンツデータが前記ルータのキャッシュに記憶されている場合には、前記第１のＮＡＣＫパケットに、前記第１の代替コンテンツデータに関する情報を含める、
輻輳制御方法。
【請求項２】
前記輻輳制御方法は、
前記コンテンツデータを代替する第２の代替コンテンツデータに関する情報をさらに含み、かつ輻輳の発生を通知するための第２のＮＡＣＫパケットを更に受信し、
前記第１のＮＡＣＫパケットの生成では、前記第１の代替コンテンツデータが前記ルータのキャッシュに記憶されている場合には、前記受信した前記第２のＮＡＣＫパケットに、前記第１の代替コンテンツデータに関する情報をさらに含めることで、前記第１のＮＡＣＫパケットを生成する、
請求項１に記載の輻輳制御方法。
【請求項３】
前記輻輳制御方法は、さらに、
前記輻輳が発生していると判断した場合に、前記興味パケットに含まれる前記名前に対応するコンテンツデータを代替する前記第１の代替コンテンツデータが前記キャッシュに記憶されているかどうかを探索する、
請求項１に記載の輻輳制御方法。
【請求項４】
前記ルータが受信した興味パケットを転送するとき、前記ネットワークを監視することで、前記ネットワークに輻輳が発生しているか否かを判断する、
請求項１に記載の輻輳制御方法。
【請求項５】
前記第１の代替コンテンツデータに関する情報は、前記興味パケットに含まれる前記名前に対応するコンテンツデータと同一または類似のコンテンツデータに関する情報である、
請求項１に記載の輻輳制御方法。
【請求項６】
前記興味パケットに含まれる名前は、前記名前に対応するコンテンツデータ自身の名前と前記コンテンツデータのビットレートに関する情報を含み、前記第１の代替コンテンツデータに関する情報は、前記興味パケットに含まれる前記名前に対応するコンテンツデータ自身の名前と同一の名前で、前記興味パケットに含まれる名前に含まれるビットレートとは異なるビットレートであることを示す情報とを含む、
請求項５に記載の輻輳制御方法。
【請求項７】
前記第１の代替コンテンツデータに関する情報は、前記興味パケットに含まれる前記名前に対応するコンテンツデータ自身の名前と同一の名前で、前記興味パケットに含まれる名前に含まれるビットレートよりも高いビットレートであることを示す情報を含む、
請求項６に記載の輻輳制御方法。
【請求項８】
前記第１の代替コンテンツデータに関する情報および前記第２の代替コンテンツデータに関する情報は、それぞれ対応するコンテンツデータ自身の名前、および前記対応するコンテンツデータの属性に関する情報を含む、
請求項２に記載の輻輳制御方法。
【請求項９】
前記興味パケットに含まれる名前、前記第１の代替コンテンツデータに関する情報および前記第２の代替コンテンツデータに関する情報は、それぞれ、連続的な数字および文字列の少なくとも一方を含み、階層構造で記述される、
請求項８に記載の輻輳制御方法。
【請求項１０】
前記第１の代替コンテンツデータおよび前記第２の代替コンテンツデータに関する情報は、それぞれ、前記興味パケットを送信した端末から前記ルータまでの距離に関する情報を更に含む、
請求項２に記載の輻輳制御方法。
【請求項１１】
前記距離に関する情報は、前記興味パケットを生成し、送信した端末から前記ルータに到達するまでに経由したルータの数を示すホップ数であり、
前記第１のＮＡＣＫパケットの生成では、前記ルータの前記キャッシュに存在する前記第１の代替コンテンツデータに関する情報には、さらに前記距離を示す情報として１を入力し、前記ルータと異なるルータのキャッシュに存在する前記第２の代替コンテンツデータに関する情報に含まれる前記距離を示す情報に、１を加える、
請求項１０に記載の輻輳制御方法。
【請求項１２】
コンテンツ指向型のネットワークは、ＣＣＮ(Content Centric Network)を含む、
請求項１に記載の輻輳制御方法。
【請求項１３】
コンテンツ指向型のネットワークに接続される端末による輻輳制御方法であって、
送信を要求するコンテンツデータの名前を含む興味パケットを前記ネットワークに送信し、
前記興味パケットに対する応答パケットとして、前記ネットワークの輻輳の発生を通知するための第１のＮＡＣＫパケットを受信し、
前記第１のＮＡＣＫパケットを受信した場合に、輻輳制御を実行し、
前記輻輳制御の実行では、
前記受信した前記第１のＮＡＣＫパケットに、前記興味パケットに含まれる前記名前に対応するコンテンツデータを代替する代替コンテンツデータに関する情報が含まれている場合、前記名前に替えて前記代替コンテンツデータの名前を含む興味パケットを生成し、生成した前記代替コンテンツデータの名前を含む興味パケットを前記送信において送信させる、
輻輳制御方法。
【請求項１４】
コンテンツ指向型のネットワークに接続される端末であって、
送信を要求するコンテンツデータの名前を含む興味パケットを前記ネットワークに送信する送信部と、
前記興味パケットに対する応答パケットとして、前記ネットワークの輻輳の発生を通知するための第１のＮＡＣＫパケットを受信する受信部と、
前記受信部が前記第１のＮＡＣＫパケットを受信した場合に、輻輳制御を行う輻輳制御部と、を備え、
前記輻輳制御部は、前記受信部で受信した前記第１のＮＡＣＫパケットに、前記興味パケットに含まれる前記名前に対応するコンテンツデータを代替する代替コンテンツデータに関する情報が含まれている場合、前記名前に替えて前記代替コンテンツデータの名前を含む興味パケットを生成して、生成した前記代替コンテンツデータの名前を含む興味パケットを前記送信部に送信させる、
端末。
【請求項１５】
コンテンツ指向型のネットワークに接続されるルータであって、
コンテンツデータを記憶するキャッシュと、
送信を要求するコンテンツデータの名前を含む興味パケットを受信する受信部と、
前記ネットワークを監視することにより、輻輳が発生しているか否かを判断するネットワーク監視部と、
前記興味パケットを受信し、かつ、前記輻輳が発生していると判断した場合、前記輻輳の発生を通知するための第１のＮＡＣＫパケットを生成するＮＡＣＫパケット生成部と、
前記生成された第１のＮＡＣＫパケットを送信する送信部と、を備え、
前記ＮＡＣＫパケット生成部は、前記興味パケットに含まれる前記名前に対応するコンテンツデータを代替する代替コンテンツデータが前記キャッシュに記憶されている場合には、前記第１のＮＡＣＫパケットに、前記代替コンテンツデータに関する情報を含める、
ルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツ指向型のネットワークに接続されるルータ、端末、および、それらの輻輳制御方法に関する。
【背景技術】
【０００２】
近年、コンテンツデータが存在する場所でなく、コンテンツデータ自体の名前を指定することにより、コンテンツデータを取得することができるコンテンツ指向型のネットワーク技術が提案されている（例えば、非特許文献１および非特許文献２）。
【０００３】
非特許文献１および非特許文献２では、コンテンツ指向型のネットワークの一つとして、例えばＣＣＮ（Content Centric Network）という技術が提案されている。
【０００４】
ＣＣＮなどコンテンツ指向型のネットワーク（以下、ＣＣＮ網と記載）では、ユーザの端末装置がコンテンツデータを取得するために、コンテンツデータが存在する場所でなく、コンテンツデータ自体の名前を指定した興味パケット(Interest Packet)をネットワークに送出する。そして、コンテンツを提供するコンテンツ提供元は、興味パケットを受け取ると、その名前に対応するコンテンツデータのデータパケットを送出する。
【０００５】
しかし、ＣＣＮ網を利用したコンテンツデータの配信においても、インターネット上での通信と同様に、輻輳等によりパケットロスが発生する可能性がある。パケットロスが発生すると、コンテンツデータの配信が滞る可能性があり、さまざまな問題が発生する。たとえば受信端末が動画コンテンツデータのストリーミング再生を行っている場合、動画プレイヤーの再生バッファの枯渇が頻発することにより、スムーズな再生が妨げられるなどの問題が発生する。
【０００６】
それに対して、例えば再送を用いてＣＣＮ網上でのパケットロスに対応する手法が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許出願公開第２０１２／０１５５４６４号明細書
【非特許文献】
【０００８】
【非特許文献１】V. Jacobson, D. K. Smetters, J. D. Thornton, M. F. Plass, N.H. Briggs, R. L. Braynard (PARC) Networking Named Content, CoNEXT 2009, Rome, December, 2009.
【非特許文献２】Cheng Yi, et al A Case for Stateful Forwarding Plane, NDN, Technical Report NDN-0002, 2012.
【非特許文献３】Yaogong Wang, et al An Improved Hop-by-hop Interest Shaper for Congestion Control in Named Data Networking, ACM ICN’13, August 2013, Hong Kong, China.
【非特許文献４】Cheng Yi, et al Adaptive Forwarding in Named Data Networking, ACM SIGCOMM Computer Communication Review, Volume 42, Number 3, July 2012.
【非特許文献５】Giovanna Carofiglio, et al ICP:Design and Evaluation of an Interest Control Protocol for Content-Centric Networking, ACM ICN’12, August 17, 2012, Helsinki, Finland.
【非特許文献６】Derek Kulinski, et al. NDNVideo: Random-access Live and Pre-recorded Streaming using NDN,NDN Technical Report NDN-0007,September 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に示される再送方法では、ＣＣＮ網上で安定した動画コンテンツデータの配信を行うための輻輳制御機構として不十分である。つまり、従来方法では、輻輳によるコンテンツデータの配信の停滞を抑制するには不十分であるという問題がある。
【００１０】
そこで、本発明は、上述の事情を鑑みてなされたもので、輻輳によるコンテンツデータの配信の停滞を抑制することができるルータ、端末、およびそれらの輻輳制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本開示の一態様に係るルータの輻輳制御方法は、コンテンツ指向型のネットワークに接続されるルータによる輻輳制御方法であって、前記ネットワークを監視することで、輻輳が発生しているか否かを判断し、送信を要求するコンテンツデータの名前を含む興味パケットを受信し、前記興味パケットを受信し、かつ、前記輻輳が発生していると判断した場合、前記輻輳の発生を通知するためのＮＡＣＫパケットを生成し、前記生成されたＮＡＣＫパケットを前記ネットワークに送信し、前記ＮＡＣＫパケットの生成では、前記受信した興味パケットに含まれる名前に対応するコンテンツデータを代替する第１の代替コンテンツデータが前記ルータのキャッシュに記憶されている場合には、前記ＮＡＣＫパケットに、前記第１の代替コンテンツデータに関する情報を含める。
【００１２】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１３】
本開示によれば、輻輳によるコンテンツデータの配信の停滞を抑制することができるルータ、端末、およびそれらの輻輳制御方法を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、ＣＣＮ網上でのコンテンツの配信システムの一例を示す図である。
【図２】図２は、ＣＣＮ網内にコンテンツデータが記憶されていることを示す図である。
【図３】図３は、実施の形態１におけるコンテンツ配信システムの構成の一例を示す図である。
【図４】図４は、実施の形態１における受信端末の構成の一例を示す図である。
【図５】図５は、実施の形態１におけるルータの構成の一例を示す図である。
【図６】図６は、実施の形態１におけるコンテンツ配信システムの処理フローを示すシーケンスである。
【図７】図７は、比較例におけるコンテンツ配信システムの処理フローを示すシーケンス図である。
【図８】図８は、実施の形態１におけるルータのＮＡＣＫパケット発行処理を示すフローチャートである。
【図９Ａ】図９Ａは、代替コンテンツデータに関する情報を含まないＮＡＣＫパケットの構成の一例を示す図である。
【図９Ｂ】図９Ｂは、代替コンテンツデータに関する情報を含まないＮＡＣＫパケットの構成の一例を示す図である。
【図９Ｃ】図９Ｃは、代替コンテンツデータに関する情報を含まないＮＡＣＫパケットの構成の一例を示す図である。
【図９Ｄ】図９Ｄは、代替コンテンツデータに関する情報を含まないＮＡＣＫパケットの構成の一例を示す図である。
【図９Ｅ】図９Ｅは、代替コンテンツデータに関する情報を含まないＮＡＣＫパケットの構成の一例を示す図である。
【図１０Ａ】図１０Ａは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の一例を示す図である。
【図１０Ｂ】図１０Ｂは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の一例を示す図である。
【図１０Ｃ】図１０Ｃは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の一例を示す図である。
【図１０Ｄ】図１０Ｄは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の一例を示す図である。
【図１０Ｅ】図１０Ｅは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の一例を示す図である。
【図１１Ａ】図１１Ａは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の別の一例を示す図である。
【図１１Ｂ】図１１Ｂは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の別の一例を示す図である。
【図１１Ｃ】図１１Ｃは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の別の一例を示す図である。
【図１１Ｄ】図１１Ｄは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の別の一例を示す図である。
【図１１Ｅ】図１１Ｅは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の別の一例を示す図である。
【図１２】図１２は、実施の形態１における受信端末がＮＡＣＫパケットを受信した際の動作を示すフローチャートである。
【図１３】図１３は、実施の形態２におけるコンテンツ配信システムの構成の一例を示す図である。
【図１４】図１４は、実施の形態２におけるコンテンツ配信システムの処理フローを示すシーケンス図である。
【図１５】図１５は、実施の形態２におけるルータのＮＡＣＫパケット発行処理を示すフローチャートである。
【図１６】図１６は、実施の形態２におけるコンテンツ配信システムの全体処理シーケンスを示す図である。
【発明を実施するための形態】
【００１５】
（本発明の一態様を得るに至った経緯）
以下、本開示の一態様を得るに至った経緯について説明する。
【００１６】
［ＣＣＮ網におけるコンテンツデータの配信］
まず、ＣＣＮ網におけるコンテンツデータの配信について説明する。
【００１７】
図１は、ＣＣＮ網上でのコンテンツ配信システムの一例を示す図である。
【００１８】
図１に示すコンテンツ配信システム９００は、パブリッシャー９０１と、ＣＣＮルータ９０３および９０５と、ＣＣＮ網９０４とを備える。
【００１９】
パブリッシャー９０１は、コンテンツ９０２を保持しており、興味パケットの応答としてコンテンツ９０２の一次配信を行う。
【００２０】
ＣＣＮルータ９０３および９０５は、ＣＣＮ網９０４における中継装置の一例であり、ＣＣＮ網９０４を介して接続されている。
【００２１】
ＣＣＮルータ９０３は、ＰＩＴ(Pending Interest Table)９１１と、キャッシュ９１２と、ＦＩＢ(Forwarding Information Base)９１３とを備え、ＣＣＮルータ９０５は、ＰＩＴ９０６と、キャッシュ９０７と、ＦＩＢ９０８とを備える。キャッシュ９０７およびキャッシュ９１２は、一度受信したコンテンツデータを記憶する。ＰＩＴ９０６およびＰＩＴ９１１は、どのネットワークインターフェイス（以下フェイスと記述する）から興味パケットを受信し、どのフェイスに送信したかを記憶する。ＦＩＢ９０８およびＦＩＢ９１３は、各名前空間に対するデータへの興味パケットはどのフェイスに送信すればよいかを記憶する。
【００２２】
ＣＣＮ網９０４は、１以上のＣＣＮルータによって構成されている。すべてのＣＣＮルータ内にはＣＣＮルータ９０３および９０５と同様に、一度受信したコンテンツデータを記憶するキャッシュ（キャッシュメモリとも言う）と、どのフェイスから興味パケットを受信したかを記憶するＰＩＴと、各名前空間に対応するデータへの興味パケットをどのフェイスに送信すればよいかを記憶するＦＩＢとを備えている。
【００２３】
受信端末９０９および受信端末９１０はそれぞれ、ＣＣＮルータ９０５を通じてＣＣＮ網９０４に接続されている。
【００２４】
次に、以上のように構成されたコンテンツ配信システム９００において、受信端末９１０がコンテンツ９０２を受信する手順について述べる。
【００２５】
まず、受信端末９１０は、コンテンツ９０２に対応する名前を記載した興味パケットをＣＣＮルータ９０５に対して送信する。
【００２６】
次に、ＣＣＮルータ９０５は、受信端末９１０から受け取った興味パケットに含まれる名前に対応するコンテンツデータをキャッシュ９０７内に記憶している場合には、そのコンテンツデータを受信端末９１０に送信する。一方、ＣＣＮルータ９０５は、そのコンテンツデータをキャッシュ９０７内に記憶していない場合には、ＦＩＢ９０８の内容に従ってＣＣＮ網９０４に対して興味パケットの転送を行い、ＰＩＴ９０６に興味パケットに含まれる名前と受信したフェイスとを記憶する。また、ＣＣＮルータ９０５は、興味パケットに記載された名前と同一の名前に対する興味パケットに関する情報がＰＩＴ９０６に既に存在した場合は、上記興味パケットは転送せず、上記興味パケットを受信したフェイスの情報のみを記憶する。
【００２７】
なお、興味パケットを受け取ったＣＣＮ網９０４内のルータも、ＣＣＮルータ９０５と同様の処理を行う。
【００２８】
ここで、ＣＣＮ網９０４上のＣＣＮルータ９０３およびＣＣＮルータ９０５を含むＣＣＮルータすべてがコンテンツ９０２をキャッシュ（記憶）していない場合、受信端末９１０が送信した興味パケットはパブリッシャー９０１に到達する。
【００２９】
この場合、興味パケットを受け取ったパブリッシャー９０１は、例えばＣＣＮルータ９０３に対して上記興味パケットに記載されている名前に対応するコンテンツ９０２のデータを送り返す。
【００３０】
すると、ＣＣＮルータ９０３は、興味パケットをパブリッシャー９０１に転送した際にＰＩＴ９１１に記載した情報を元に、対応するフェイスに対して取得したコンテンツ９０２のデータを転送し、かつ、キャッシュ９１２に受信したコンテンツ９０２のデータを記憶する。以降、ＣＣＮ網９０４内のＣＣＮルータ９０５などのＣＣＮルータがＰＩＴの内容にしたがってコンテンツ９０２のデータの転送を行うことにより、受信端末９１０にコンテンツ９０２のデータが配信される。
【００３１】
続いて、コンテンツ９０２を受信端末９１０が受信した後に、受信端末９０９が同一のコンテンツ９０２を取得する手順について述べる。
【００３２】
まず、受信端末９０９は、コンテンツ９０２に対する興味パケットを発行してＣＣＮルータ９０５に対して送信する。
【００３３】
次に、ＣＣＮルータ９０５は、受信端末９０９が送信した興味パケットに対応するコンテンツ９０２のデータをキャッシュ９０７に記憶しているので、受信端末９０９が送信した興味パケットに対してコンテンツ９０２のデータを送り返す。
【００３４】
このように、ＣＣＮ網９０４におけるＣＣＮルータのキャッシュを利用することにより、受信端末９０９は、受信端末９１０の受信したものと同じコンテンツ９０２のデータを取得することができる。そのため、ＣＣＮ網９０４のトラフィックをいたずらに増大させることがない。つまり、ＣＣＮ網９０４上のＣＣＮルータが記憶するコンテンツ９０２のデータを利用することにより、コンテンツデータの配信の際のネットワーク全体のトラフィックを減少させることができる。
【００３５】
以上のように、ＣＣＮ網上でコンテンツの配信は、コンテンツを取得する際に名前を含めた興味パケットを利用することにより実現されている。コンテンツを場所でなく名前そのものによって指定することができるため、コンテンツを受信する受信端末はコンテンツの保管されている場所を意識することなく効率的にコンテンツを受け取ることができる。
【００３６】
また、ＣＣＮ網を用いると、受信端末がコンテンツを要求して、取得するという受信側主体な配信システムを構成できるので、動画サイトなどのコンテンツを多数の人数が効率的かつ高品質に受信できるようになる。
【００３７】
［現状の輻輳制御技術の問題点］
しかしながら、ＣＣＮ網を利用したコンテンツデータの配信においても、インターネット上での通信と同様に、輻輳等によりパケットロスが発生する可能性がある。より具体的には、ＣＣＮ網上でのコンテンツデータの配信において、インターネット上でのＴＣＰ/ＩＰを利用した通信と同様に、各リンクに可用帯域を上回るデータが流入することにより輻輳が発生する。輻輳が発生した場合、パケットロスが発生し、受信端末に対して、コンテンツデータの配信が滞る可能性がある。そして、受信端末に対してコンテンツデータの配信が滞ることにより、さまざまな問題が発生する。たとえば、受信端末が動画コンテンツのストリーミング再生行っている場合、動画プレイヤーの再生バッファの枯渇が頻発することにより、スムーズな再生が妨げられる。
【００３８】
このような、コンテンツデータの配信が滞る問題を解決するために、ＣＣＮ網上での輻輳を防ぐ輻輳制御技術が必要になる。具体的には、１）ＣＣＮ網上で輻輳を検知する検出技術、２）輻輳を検知時に受信端末に対して輻輳を通知する技術、３）輻輳を緩和し素早くコンテンツを取得する制御技術が必要となる。
【００３９】
１）ＣＣＮ網上での輻輳検知を行う方法としては、各ＣＣＮルータが上位のＣＣＮルータとの間のリンクの帯域を管理し、リンクの帯域を超えるようなデータが流れる場合には輻輳と判定する方法が提案されている（例えば非特許文献３）。２）また、受信端末に対して輻輳発生を通知する技術としては、輻輳を検知したＣＣＮルータがコンテンツデータの取得不可を示すＮＡＣＫ(Negative Acknowledgement)パケットを受信端末に対して送り返すという手法が提案されている（例えば非特許文献３、４）。
【００４０】
しかし、３）ＣＣＮ網上の輻輳を緩和する方法としては、不十分な制御方法しか提案されていない（例えば非特許文献５）。ＣＣＮ網上で安定したデータ配信を実現するためには、これら輻輳を検知し受信端末に通知する技術に加えて、輻輳状態から抜け出すための制御技術が必要である。しかし、非特許文献５などでは、輻輳状態から抜け出すために輻輳発生時に受信端末側で行う輻輳制御が提案されているものの、送信する興味パケットの数を単純に減少させる等のきわめて簡易なものしか提案されていない。そのため、この輻輳制御技術を用いても、ＣＣＮの特徴であるＣＣＮルータのキャッシュを活かすことができないため、ＣＣＮ網を効率的に利用することができず通信品質の向上も限定的である。
【００４１】
ところで、現在のインターネットにおいて動画コンテンツデータの配信は有力なサービスの一つである。そのため、動画コンテンツデータの配信は、ＣＣＮ網上でのサービスとしても有力である。動画コンテンツデータの配信を行う際にはその品質が重要である。一般に動画コンテンツの品質はコンテンツデータのビットレートが高いほど高品質となり、低いほど低品質となる。そのため、高品質な動画コンテンツデータの配信サービスを実現するためには、受信端末が動画コンテンツデータを一定のレート以上で受信する必要がある。一方、ネットワークの可用帯域は時間とともに変化するため、不用意に可用帯域以上の高いビットレートの動画コンテンツのデータの受信を試みた場合、パケットロスが発生し、安定した動画コンテンツデータの受信および再生を行うことができない。可用帯域の変化やネットワークトラフィックの増加によって発生する輻輳に対して、ＣＣＮ網上において安定した動画コンテンツデータの配信を行うための輻輳制御機構は重要である。しかし、ＣＣＮ網上における輻輳制御技術は現在のところ十分な議論がなされていない。
【００４２】
［動画配信における輻輳制御技術］
ここで、さらに、動画コンテンツデータの配信を行う際の輻輳制御技術について述べる。
【００４３】
一般に受信端末駆動で動画コンテンツデータの配信を行う場合、複数のビットレートでエンコードされたデータを、それぞれ数秒または数フレーム分に細かく分割したデータの単位（以降、チャンクと記載）に加工したものを配信元で用意し、受信端末側がチャンクをシーケンシャルに要求・取得する方法が広く用いられている。そのため、ＣＣＮ網上での動画コンテンツデータの配信においても、パブリッシャーやＣＣＮルータで生成された複数エンコードレートの動画コンテンツのチャンクに対して、受信端末が次々と興味パケットを送信することでデータの受信が行われる動画配信方式が利用されると考えられる（例えば非特許文献６）。
【００４４】
この動画配信方式すなわち受信端末が動画コンテンツデータのチャンクをシーケンシャルに要求し取得する方式では、以下に述べる２つの制御方法によりＣＣＮ網上のトラフィック量を制御することができる。
【００４５】
１点目の制御方法は、受信端末が各々のチャンクに対する興味パケットを送信する間隔（以降、興味パケットの送信レートと記述する）を制御する方法である。例えば、興味パケットの送信レートが高くなればなるほど（送信間隔を短くすればするほど）、一定時間に受信端末に送り返されるコンテンツデータが増加し素早くコンテンツデータの取得を行えるがＣＣＮ網上のトラフィックは増加する。逆に興味パケットの送信レートを低くすると（送信間隔を長くすると）、コンテンツデータの取得は遅くなるが、ＣＣＮ網上のトラフィックは減少する。
【００４６】
２点目の制御方法は、受信端末が興味パケットを送信する対象の動画コンテンツデータのエンコードレートを制御する方法である。例えば受信端末がより低いビットレートでエンコードされた動画コンテンツデータのチャンクに対して興味パケットを送信する場合には、ＣＣＮ網上のトラフィックは減少する。また、例えば受信端末がより高いビットレートでエンコードされた動画コンテンツデータのチャンクに対して興味パケットを送信する場合にはＣＣＮ網上のトラフィックは増加する。
【００４７】
このように、ＣＣＮ網上のトラフィック量は興味パケットの送信間隔と動画コンテンツデータのエンコードレートとにより制御することができる。
【００４８】
しかし、ＣＣＮ網上での輻輳制御技術として、１点目の制御方法については多く提案されているが、１点目の制御方法については考慮されていない。つまり、受信端末からの興味パケットの送信レートとトラフィックとの関係のみに着目し、受信端末が輻輳発生のメッセージを受け取った場合に興味パケットの送信レートを引き下げてトラフィックを減少させることで輻輳を回避するという単純な手法を用いた１点目の制御方法が提案されているに過ぎない（例えば非特許文献５）。そして、受信端末がより低いビットレートの動画コンテンツを選択しトラフィックを減少させるという２点目の制御方法については考慮されていない。
【００４９】
さらに、非特許文献５に開示される１点目の制御技術では、興味パケットの送信レートを減少させることにより単位時間当たりに受信端末が受信できるデータ量が単純に減少する。そのため、受信端末側で再生できる動画コンテンツデータが不足するバッファアンダフローが発生して再生が停止してしまう。すなわち、輻輳発生時に安定した再生を実現することができないという問題がある。
【００５０】
つまり、従来の再送方法では、ＣＣＮ網上で安定した動画コンテンツデータの配信を行うための輻輳制御機構として不十分である。換言すると、従来の再送方法では、輻輳によるコンテンツデータの配信の停滞を抑制するには不十分であるという問題がある。
【００５１】
［本発明の一態様に係る着想］
以上を鑑みて、発明者（ら）は、輻輳発生時にも安定した再生を実現するためには、受信端末からの興味パケットの送信レートだけでなく興味パケットの送信先コンテンツを切り替える部分も含めた輻輳制御方式が必要であると着想した。つまり、ＣＣＮ網の可用帯域が低い場合にはビットレートの低い映像コンテンツに対する興味パケットを送信し、ＣＣＮ網の可用帯域に余裕がある場合にはビットレートの高い映像コンテンツに対する興味パケットを配信するような方式が必要であると着想する。そして、興味パケットの送信レートを切り替えたり興味パケットで送信対象となるコンテンツデータを切り替えたりすることにより輻輳発生時のコンテンツ再生の安定性を向上させることができると考える。
【００５２】
さらに、発明者（ら）は、ＣＣＮ網に備わっている網内キャッシュを効率的に利用することができると、より効率的かつＣＣＮ網に適した輻輳制御を行うことができると考える。従来の輻輳制御技術では、網内キャッシュに存在する動画コンテンツデータを考慮していないので、輻輳が発生した場合には興味パケットを送信する対象のコンテンツデータをよりビットレートの低いものに切り替える方法に想到するに留まる。一方、ＣＣＮ網上の網内キャッシュに存在する動画コンテンツデータを考慮すると、輻輳が発生したリンクよりもより受信端末に近いルータ上によりビットレートの高いコンテンツデータが記憶されている場合には、輻輳発生時に、興味パケットで送信対象とするコンテンツデータをよりビットレートの高いコンテンツデータに切り替えるとよいと考える。これにより、輻輳発生時にも効率的かつ高品質なコンテンツデータを取得できる可能性がある。
【００５３】
以下、図２を用いて上記の着想について簡単に説明する。
【００５４】
図２は、ＣＣＮ網内にコンテンツデータが記憶されていることを示す図である。図１と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【００５５】
パブリッシャー９０１は、高・中・低ビットレートでエンコードされたコンテンツデータである高ビットレートコンテンツ９０２Ａと、中ビットレートコンテンツ９０２Ｂと、低ビットレートコンテンツ９０２Ｃとを保持している。ＣＣＮルータ９０５は、以前に高ビットレートコンテンツ９０２Ａを転送したことがあり、キャッシュ９０７内に高ビットレートコンテンツ９０２Ａを記憶しているとする。そして、この場合において、ＣＣＮルータ９０５に接続された受信端末９１０が中ビットレートコンテンツ９０２Ｂに対する興味パケットを送信するとする。
【００５６】
ＣＣＮ網９０４で輻輳発生等がない場合、中ビットレートコンテンツ９０２ＢはＣＣＮルータ９０５に記憶されていないため、この興味パケットはパブリッシャー９０１まで転送され、中ビットレートコンテンツ９０２ＢがＣＣＮ網９０４およびＣＣＮルータ９０５を介して返送される。一方、ＣＣＮ網９０４で輻輳が発生した場合、従来の輻輳制御技術では、受信端末９１０が興味パケットの送信対象をよりビットレートの低いコンテンツデータである低ビットレートコンテンツ９０２Ｃに切り替えるまでしかなかった。それに対して、上記の着想によれば、ＣＣＮルータ９０５のキャッシュ９０７には高ビットレートコンテンツ９０２Ａが存在しているため、よりビットレートの高い高ビットレートコンテンツ９０２Ａへ興味パケットの送信対象を切り替えたほうが、ＣＣＮ網９０４のトラフィックを削減できるのでより効率的なコンテンツデータの取得が可能になる。加えてより高品質なコンテンツデータを取得できる。
【００５７】
このように、輻輳によるコンテンツデータの配信の停滞を抑制するためにＣＣＮ網上で輻輳制御を行う場合、単純に興味パケットの送信レートを低下させたり取得対象のコンテンツのビットレートを引き下げたりするのではなく、キャッシュ内に存在するコンテンツデータについて考慮した上で、より効率的にＣＣＮ網上でコンテンツデータの取得を行えるような方法がよいと考える。
【００５８】
本開示は、上述の事情を鑑みてなされたもので、輻輳によるコンテンツデータの配信の停滞を抑制することができるルータ、端末、およびそれらの輻輳制御方法を提供する。
【００５９】
本開示の一形態に係るルータの輻輳制御方法は、コンテンツ指向型のネットワークに接続されるルータによる輻輳制御方法であって、前記ネットワークを監視することで輻輳が発生しているか否かを判断し、興味パケットを受信し、前記興味パケットを受信し、かつ、前記輻輳が発生していると判断した場合、前記輻輳の発生を通知するための第１のＮＡＣＫパケットを生成し、前記生成された第１のＮＡＣＫパケットを前記ネットワークに送信し、前記第１のＮＡＣＫパケットの生成では、前記受信した興味パケットに含まれる名前に対応するコンテンツデータを代替する第１の代替コンテンツデータが前記ルータのキャッシュに記憶されている場合には、前記第１のＮＡＣＫパケットに、前記代替コンテンツデータに関する情報を含める。
【００６０】
これにより、輻輳によるコンテンツデータの配信の停滞を抑制することができるルータの輻輳制御方法を実現できる。
【００６１】
具体的には、ルータは、輻輳が発生していると判断すると自身のキャッシュ内に存在している第１の代替コンテンツデータに関する情報を第１のＮＡＣＫパケットに含めて受信端末に送信し、受信端末が、対象のコンテンツデータを第１の代替コンテンツデータに切り替えることができる。それにより、ルータは、受信端末に、輻輳の発生時に輻輳の発生しているリンクにトラフィックを発生させることなく、途切れなくコンテンツデータ（第１の代替コンテンツデータ）を取得させることができる。
【００６２】
ここで、例えば、前記コンテンツデータに関する情報または前記コンテンツデータを代替する第２の代替コンテンツデータに関する情報をさらに含み、かつ輻輳の発生を通知するための第２のＮＡＣＫパケットを更に受信し、前記第１のＮＡＣＫパケットの生成では、前記第１の代替コンテンツデータが前記ルータのキャッシュに記憶されている場合には、前記受信した前記第２のＮＡＣＫパケットに、前記第１の代替コンテンツデータに関する情報をさらに含めことで、前記第１のＮＡＣＫパケットが生成されてもよい。
【００６３】
例えば、ルータは、コンテンツデータに関する情報を含む第２のＮＡＣＫパケットまたは他のルータにおけるコンテンツデータを代替する第２の代替コンテンツデータに関する情報を含む第２のＮＡＣＫパケットを受信した場合、当該第２のＮＡＣＫパケットに、自身のキャッシュ内に存在している第１の代替コンテンツデータに関する情報をさらに含めた第１のＮＡＣＫパケットを生成して受信端末に送信する。それにより、受信端末が、対象のコンテンツデータを複数の代替コンテンツデータの一に切り替えることができる。このようにして、ルータの制御方法は、輻輳の発生時に輻輳の発生しているリンクにトラフィックを発生させることなく、途切れなくコンテンツデータ（代替コンテンツデータ）を取得させることができる。
【００６４】
また、例えば、さらに、前記輻輳が発生していると判断した場合に、前記興味パケットに含まれる前記名前に対応するコンテンツデータを代替する第１の代替コンテンツデータが前記キャッシュに記憶されているかを探索してもよい。
【００６５】
また、例えば、前記ルータが受信した興味パケットを転送するとき、前記ネットワークを監視することで、前記ネットワークに輻輳が発生しているか否かを検知するとしてもよい。
【００６６】
また、例えば、前記第１の代替コンテンツデータに関する情報は、前記興味パケットに含まれる前記名前に対応するコンテンツデータと同一または類似のコンテンツデータに関する情報であるとしてもよい。
【００６７】
また、例えば、前記興味パケットに含まれる名前は、前記名前に対応するコンテンツデータ自身の名前と前記コンテンツデータのビットレートに関する情報を含み、前記第１の代替コンテンツデータに関する情報は、前記興味パケットに含まれる前記名前に対応するコンテンツデータ自身の名前と同一の名前で、前記興味パケットに含まれる名前に含まれるビットレートとは異なるビットレートであることを示す情報を含んでもよい。
【００６８】
また、例えば、前記第１の代替コンテンツデータに関する情報は、前記興味パケットに含まれる前記名前に対応するコンテンツデータ自身の名前と同一の名前で、前記興味パケットに含まれる名前に含まれるビットレートよりも高いビットレートであることを示す情報を含んでもよい。
【００６９】
また、例えば、前記コンテンツデータに関する情報、前記第１の代替コンテンツデータに関する情報および前記第２の代替コンテンツデータに関する情報は、それぞれ対応するコンテンツデータ自身の名前、および前記対応するコンテンツデータの属性に関する情報を含んでもよい。
【００７０】
ここで、例えば、前記興味パケットに含まれる名前および前記コンテンツデータに関する情報、前記第１の代替コンテンツデータに関する情報および前記第２の代替コンテンツデータに関する情報は、それぞれ、連続的な数字および文字列の少なくとも一方を含み、階層構造で記述されるとしてもよい。
【００７１】
また、例えば、前記第１の代替コンテンツデータおよび前記第２の代替コンテンツデータに関する情報は、それぞれ、前記興味パケットを送信した端末から前記ルータまでの距離に関する情報を含むとしてもよい。
【００７２】
ここで、例えば、前記距離に関する情報は、前記興味パケットを生成し、送信した端末から前記ルータに到達するまでに経由したルータの数を示すホップ数であり、前記ＮＡＣＫパケットの生成では、前記ルータの前記キャッシュに存在する前記第１の代替コンテンツデータに関する情報には、さらに前記距離を示す情報として１を入力し、前記ルータと異なるルータのキャッシュに存在する前記第２の代替コンテンツデータに関する情報に含まれる前記距離を示す情報に、１を加えるとしてもよい。
【００７３】
これにより、前記興味パケットを生成し、送信した端末が前記ＮＡＣＫパケットを受信したとき、前記ＮＡＣＫパケットに含まれる第１の代替コンテンツデータに対応する距離を示す情報には、前記興味パケットを送信した端末から前記ルータに到達するまでに経由したルータの数が示される。
【００７４】
また前記ＮＡＣＫパケットに含まれる第２の代替コンテンツデータに対応する距離を示す情報には、前記興味パケットを送信した端末から前記異なるルータに到達するまでに経由したルータの数が示される。
【００７５】
また、コンテンツ指向型のネットワークは、ＣＣＮ(Content Centric Network)を含む、としてもよい。
【００７６】
また、本開示の一形態に係る端末の輻輳制御方法は、コンテンツ指向型のネットワークに接続される端末による輻輳制御方法であって、送信を要求するコンテンツデータの名前を含む興味パケットを前記ネットワークに送信し、前記興味パケットに対する応答パケットとして、前記ネットワークの輻輳の発生を通知するための第１のＮＡＣＫパケットを受信し、前記第１のＮＡＣＫパケットを受信した場合に、輻輳制御を実行し、前記輻輳制御の実行では、前記受信した前記第１のＮＡＣＫパケットに、前記興味パケットに含まれる前記名前に対応するコンテンツデータを代替する代替コンテンツデータに関する情報が含まれている場合、前記名前に替えて前記代替コンテンツデータの名前を含む興味パケットを生成し、生成した前記代替コンテンツデータの名前を含む興味パケットを前記送信において送信させる。
【００７７】
また、本開示の一形態に係る端末は、コンテンツ指向型のネットワークに接続される端末であって、送信を要求するコンテンツデータの名前を含む興味パケットを前記ネットワークに送信する送信部と、前記興味パケットに対する応答パケットとして、前記ネットワークの輻輳の発生を通知するための第１のＮＡＣＫパケットを受信する受信部と、前記受信部が前記第１のＮＡＣＫパケットを受信した場合に、輻輳制御を行う輻輳制御部と、を備え、前記輻輳制御部は、前記受信部で受信した前記第１のＮＡＣＫパケットに、前記興味パケットに含まれる前記名前に対応するコンテンツデータを代替する代替コンテンツデータに関する情報が含まれている場合、前記名前に替えて前記代替コンテンツデータの名前を含む興味パケットを生成して、生成した前記代替コンテンツデータの名前を含む興味パケットを前記送信部に送信させる。
【００７８】
また、本開示の一形態に係るルータは、コンテンツ指向型のネットワークに接続されるルータであって、コンテンツデータを記憶するキャッシュと、送信を要求するコンテンツデータの名前を含む興味パケットを受信する受信部と、前記ネットワークを監視することにより、輻輳が発生しているか否かを判断するネットワーク監視部と、前記興味パケットを受信し、かつ、前記輻輳が発生していると判断した場合、前記輻輳の発生を通知するための第１のＮＡＣＫパケットを生成するＮＡＣＫパケット生成部と、前記生成された第１のＮＡＣＫパケットを送信する送信部と、を備え、前記ＮＡＣＫパケット生成部は、前記興味パケットに含まれる前記名前に対応するコンテンツデータを代替する代替コンテンツデータが前記キャッシュに記憶されている場合には、前記第１のＮＡＣＫパケットに、前記代替コンテンツデータに関する情報を含める。
【００７９】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００８０】
以下、本開示の一態様に係るルータ、端末、およびそれらの輻輳制御方法等について、図面を参照しながら具体的に説明する。
【００８１】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００８２】
（実施の形態１）
以下、本開示の一実施の形態について、図面を参照して詳細に説明する。
【００８３】
［コンテンツ配信システムの構成］
図３は、実施の形態１におけるコンテンツ配信システム１００の構成の一例を示す図である。コンテンツ配信システム１００は、複数の受信端末と、それぞれキャッシュを有する複数のルータと、複数のパブリッシャーとを備える。本実施の形態では、コンテンツ配信システム１００は、説明を簡単にするため、例えば図３に示すように、受信端末１０と、受信端末１１と、キャッシュ２０１を有するルータ２０と、パブリッシャー３０とで構成されているとして以下説明する。
【００８４】
受信端末１０と受信端末１１は、コンテンツ指向型のネットワークに接続され、コンテンツデータの名前を記載した興味パケットを送信し、コンテンツデータを含むデータパケットを受信する。本実施の形態では、受信端末１０および受信端末１１は、例えばルータ２０を介して、パブリッシャー３０と接続されている。受信端末１０と受信端末１１は、コンテンツデータの名前を記載した興味パケットをルータ２０に送信することで、コンテンツデータを含むデータパケットをルータ２０から受信する。
【００８５】
ルータ２０は、コンテンツ指向型のネットワークに接続され、興味パケットおよびデータパケットを転送する。本実施の形態では、ルータ２０は、受信端末１０および受信端末１１と接続され、かつ、パブリッシャー３０と接続されている。
【００８６】
パブリッシャー３０は、コンテンツ指向型のネットワークに接続され、コンテンツの一次配信を行い、コンテンツデータを保持している。本実施の形態では、パブリッシャー３０は、自身の名前が「video/a/」というコンテンツデータを256kbps,512kbpsおよび1Mbpsのビットレートでパブリッシャー３０が有する記録媒体（図示せず）に保持している（または、保存しているともいう）。
【００８７】
記録媒体とは、例えば、メモリ、ハードディスクといった書き込み可能な記録媒体である。
【００８８】
このとき、記録媒体（図示せず）に保持しているコンテンツデータの名前が、それぞれ「video/a/256kbps」、「video/a/512kbps」および「video/a/1Mbps」であるとする。
【００８９】
名前がそれぞれ「video/a/256kbps」、「video/a/512kbps」および「video/a/1Mbps」のコンテンツデータは、コンテンツデータ自身の名前「video/a/」が同じであるので、内容が互いに同じである。一方で、これらのコンテンツデータはビットレートが互いに異なる。
【００９０】
パブリッシャー３０が、保持するコンテンツデータを送信（または、配信ともいう）する場合、または、受信端末１０がコンテンツデータの送信を要求する場合には、コンテンツデータの名前として「video/a/256kbps」、「video/a/512kbps」および「video/a/1Mbps」の名前（名前空間）を用いて配信または配信の要求がなされる。
【００９１】
コンテンツデータの名前は、例えば、連続的な数字および文字列の少なくとも一方を含み、階層構造で記述される。
【００９２】
このように、コンテンツデータを配信する場合、およびコンテンツデータの送信を要求する場合に用いるコンテンツデータの名前には、コンテンツデータ自身の名前と、コンテンツデータの属性に関する情報を含む。属性の情報については、ビットレートを例に説明をするが、これに限定をされない。
【００９３】
例えば、コンテンツデータの解像度を、コンテンツデータの属性に関する情報としてもよい。また、コンテンツデータが動画データである場合には、例えば、コンテンツデータの、解像度、フレームレート、時間区間、色空間などをコンテンツデータの属性に関する情報としてもよい。
【００９４】
［受信端末の構成］
次に、受信端末１０または１１の構成について説明する。
【００９５】
図４は、実施の形態１における受信端末１０の構成の一例を示す図である。
【００９６】
受信端末１０は、コンテンツ指向型のネットワークに接続される端末の一例であり、コンテンツデータの名前を記載した興味パケットを送信し、コンテンツデータを含むデータパケットを受信する。本実施の形態では、受信端末１０は、コンテンツ指向型のネットワークの一例であるＣＣＮ網４０に接続されている。
【００９７】
図４に示す受信端末１０は、送信部１０１と、受信部１０２と、輻輳制御部１０３と、デコーダ１０４と、受信データ管理部１０５とを備える。
【００９８】
送信部１０１は、ＣＣＮの興味パケットを送信する。より具体的には、送信部１０１は、コンテンツデータの名前を含む興味パケットをＣＣＮ網４０に送信する。
【００９９】
受信部１０２は、ＣＣＮのデータパケットとＮＡＣＫパケットとを受信する。より具体的には、受信部１０２は、興味パケットを受信する。なお、受信部１０２は、当該興味パケットに対する応答パケットとして、ＣＣＮ網４０の輻輳の発生を通知するためのＮＡＣＫパケットを受信する場合もある。
【０１００】
輻輳制御部１０３は、興味パケットの送信を制御する。より具体的には、受信部１０２がＮＡＣＫパケットを受信した場合に、輻輳制御を行う。輻輳制御部１０３は、受信部１０２で受信したＮＡＣＫパケットに、興味パケットに含まれる名前に対応するコンテンツデータを代替する代替コンテンツデータに関する情報が含まれている場合、当該コンテンツデータの名前に替えて代替コンテンツデータの名前を含む興味パケットを生成して、生成した代替コンテンツデータの名前を含む興味パケットを送信部１０１に送信させる。
【０１０１】
受信データ管理部１０５は、輻輳制御部１０３が輻輳制御を行うための情報を管理し、必要に応じてその情報を輻輳制御部１０３に提供する。
【０１０２】
デコーダ１０４は、受信したコンテンツデータの復号（デコード）を行う。
【０１０３】
［ルータの構成］
次に、ルータ２０の構成について説明する。
【０１０４】
図５は、実施の形態１におけるルータ２０の構成の一例を示す図である。
【０１０５】
ルータ２０は、コンテンツ指向型のネットワークに接続され、興味パケットおよびデータパケットを転送する。本実施の形態では、ルータ２０は、コンテンツ指向型のネットワークの一例であるＣＣＮ網４０に接続されている。
【０１０６】
図５に示すルータ２０は、キャッシュ２０１と、受信部２０２と、代替コンテンツ探索部２０３と、ネットワーク監視部２０４と、ＮＡＣＫパケット生成部２０５と、送信部２０６とを備える。
【０１０７】
受信部２０２は、興味パケット、コンテンツパケットおよびＮＡＣＫパケットを受信する。より具体的には、受信部２０２は、輻輳の発生を通知するためのＮＡＣＫパケットを受信する。
【０１０８】
送信部２０６は興味パケット、コンテンツパケットおよびＮＡＣＫパケットを送信する。より具体的には、送信部２０６は、ＮＡＣＫパケット生成部２０５により生成されたＮＡＣＫパケットを送信する。
【０１０９】
代替コンテンツ探索部２０３は、キャッシュ２０１内の代替コンテンツデータを検索する。より具体的には、受信部２０２が興味パケットを受信し、かつ、ネットワーク監視部２０４が輻輳の発生を検知した場合に、興味パケットに含まれる名前に対応するコンテンツデータを代替する代替コンテンツデータがキャッシュ２０１に記憶されているかを探索する。ここで、代替コンテンツデータに関する情報は、興味パケットに含まれる送信を要求するコンテンツデータの名前に対応するコンテンツデータと同一または類似のコンテンツデータに関する情報である。
【０１１０】
２つのコンテンツデータが同一であるというのは、少なくとも、互いの名前に含まれるコンテンツデータ自身の名前が同じであり、互いの名前に含まれるコンテンツデータの属性に関する情報が示す値（または内容）が一定の基準を満足することである。
【０１１１】
同一であることを満足するための一定の基準とは、例えば、互いの名前に含まれるコンテンツデータの属性に関する情報が示す値（または内容）が、同じであることである。
【０１１２】
２つのコンテンツデータが類似であるというのは、少なくとも互いの名前に含まれるコンテンツデータ自身の名前が同じであり、互いの名前に含まれるコンテンツデータの属性に関する情報が示す値（または内容）が一定の基準を満足することである。
【０１１３】
類似であることを満足するための一定の基準とは、例えば、互いの名前に含まれるコンテンツデータの属性に関する情報が示す値（または内容）が、異なることである。
【０１１４】
上述の一定の基準というのは、一例であり、上述の内容に限定されるものではない。例えば、コンテンツ配信システム１００の管理者が適宜決めればよい。
【０１１５】
代替コンテンツデータに関する情報は、例えば、興味パケットに含まれる名前に対応するコンテンツデータと同一内容で、興味パケットに含まれる名前が含んでいるコンテンツデータのビットレートよりも高い、または低いビットレートのコンテンツデータに関する情報であってもよい。また、代替コンテンツデータに関する情報は、代替コンテンツデータに対応するコンテンツデータを配信するとき、および配信を要求するときの名前であってもよい。また、代替コンテンツデータの名前は、連続的な数字および文字列の少なくとも一方を含み、階層構造で記述されるとしてもよい。
【０１１６】
ネットワーク監視部２０４は、ネットワークの輻輳を監視する。より具体的には、ネットワーク監視部２０４は、ＣＣＮ網４０を監視し、輻輳の発生を検知する。ネットワーク監視部２０４は、ルータ２０が興味パケットを転送する際のＣＣＮ網４０を監視することで、ＣＣＮ網に輻輳が発生しているか否かを判断し、輻輳が発生していると判断した場合、これを検知する。ここでの輻輳は、ルータ２０が興味パケットをＣＣＮ網４０に、興味パケットを転送しても、当該興味パケットに対する応答パケット等が返ってこないことも意味する。また、興味パケットを転送しても興味パケットに含まれる名前に対応するコンテンツデータを取得できないことも含む。
【０１１７】
ＮＡＣＫパケット生成部２０５は、輻輳の発生時にＮＡＣＫパケット（第１のＮＡＣＫパケット）を生成する。より具体的には、ＮＡＣＫパケット生成部２０５は、受信部２０２が興味パケットを受信し、かつ、ネットワーク監視部２０４が輻輳の発生を検知した場合、輻輳の発生を通知するためのＮＡＣＫパケットを生成する。ＮＡＣＫパケット生成部２０５は、興味パケットに含まれるコンテンツデータの名前に対応するコンテンツデータを代替する代替コンテンツデータがキャッシュ２０１に記憶されている場合には、上記ＮＡＣＫパケットに、代替コンテンツデータに関する情報を含める。
【０１１８】
［コンテンツ配信システムの動作］
次に、上記のように構成されたコンテンツ配信システム１００の動作について説明する。
【０１１９】
図６は、実施の形態１におけるコンテンツ配信システム１００の処理フローを示すシーケンスである。以下では、輻輳が発生していない状況下で、名前が「video/a/1Mbps」のコンテンツデータを受信端末１１が受信し、その後に名前が「video/a/512kbps/」のコンテンツデータ取得を受信端末１１が試みた際にルータ２０とパブリッシャー３０の間のリンクで輻輳を検知した場合の動作について説明する。
【０１２０】
まず、Ｓ１００において、パブリッシャー３０は、名前がそれぞれ「video/a/256kbps」、「video/a/512kbps」および「video/a/1Mbps」のコンテンツデータを予め保持しているとする。
【０１２１】
次に、受信端末１１は、名前が「video/a/1Mbps」のコンテンツデータに対する興味パケットを発行して送信する（Ｓ１０１）。
【０１２２】
次に、ルータ２０は、受信端末１１が発行した興味パケットを受信し、自身のキャッシュ２０１内に興味パケットに含まれる名前と同じ名前「video/a/1Mbps」のコンテンツデータが存在しないことを確認すると、その興味パケットをパブリッシャー３０側に転送する（Ｓ１０２）。なお、ルータ２０は、興味パケットに記載された名前と同一の名前に対する興味パケットに関する情報がＰＩＴ（不図示）に既に存在した場合は、この興味パケットは転送せず、この興味パケットを受信したフェイスの情報のみを記憶し、処理を終了する。
【０１２３】
次に、パブリッシャー３０は、受信端末１１が発行した興味パケットを受信すると、名前が「video/a/1Mbps」のコンテンツデータのデータパケットをルータ２０側に送信（返信）する（Ｓ１０３）。
【０１２４】
次に、ルータ２０は、名前が「video/a/1Mbps」のコンテンツデータのデータパケットを受信すると、名前が「video/a/1Mbps」のコンテンツデータのデータパケットをキャッシュ２０１内に記憶する（Ｓ１０４）と共に、受信端末１１側に転送する（Ｓ１０５）。
【０１２５】
Ｓ１０４により、受信したコンテンツデータは、パブリッシャー３０が送信するときに用いたコンテンツデータの名前「video/a/1Mbps」で、ルータ２０のキャッシュ２０１内に記憶される。
【０１２６】
そして、受信端末１１は、名前が「video/a/1Mbps」のコンテンツデータのデータパケットを受信する（Ｓ１０６）。
【０１２７】
その後に、受信端末１０が、名前が「video/a/512kbps」のコンテンツデータに対する興味パケットを発行して送信するとする（Ｓ１０７）。
【０１２８】
次に、ルータ２０は、受信端末１１が発行した興味パケットを受信すると、自身のキャッシュ２０１内に興味パケットに含まれる名前が「video/a/512kbps」のコンテンツデータが存在しないことを確認し、その興味パケットをパブリッシャー３０側に転送する前に、輻輳が発生しているか否かの判断を行う。このとき、ルータ２０が、輻輳が発生していると判断し、この結果、輻輳を検知したとする（Ｓ１０８）。
【０１２９】
すると、ルータ２０は、当該興味パケットに含まれる名前である「video/a/512Mbps」に対応するコンテンツデータを代替する代替コンテンツデータがキャッシュ２０１に存在するかどうかを探索する。この例では、Ｓ１０４において、名前「video/a/1Mbps」のコンテンツデータが記憶されているので、代替コンテンツデータ（第１の代替コンテンツデータ）がキャッシュ２０１内に存在することを確認する。この場合、ルータ２０は、代替コンテンツデータ「video/a/1Mbps」に関する情報を含めた、輻輳の発生を通知するためのＮＡＣＫパケットを生成し、受信端末１０側に送信する（Ｓ１０９）。なお、キャッシュ２０１に記憶されている名前「video/a/1Mbps」に対応するコンテンツデータは、名前「video/a/512kbps」に対応するコンテンツデータと内容が同じ（つまり、コンテンツデータ自身の名前「video/a/」が同じ）でビットレートのみが異なるコンテンツデータであるので、代替コンテンツデータとして探索される。
【０１３０】
次に、受信端末１０は、代替コンテンツデータの名前「video/a/1Mbps」に関する情報を含むＮＡＣＫパケットを受信すると、代替コンテンツデータへの興味パケットを切り替えるかどうかを判断し、切り替えを判断した場合に（Ｓ１１０）、名前が「video/a/1Mbps」の代替コンテンツデータに対する興味パケットを発行して送信する（Ｓ１１１）。
【０１３１】
次に、名前が「video/a/1Mbps」の代替コンテンツデータに対する興味パケットを受信したルータ２０は、自身のキャッシュ２０１内に名前「video/a/1Mbps」の代替コンテンツデータが存在するので、名前が「video/a/1Mbps」の代替コンテンツデータのデータパケットを受信端末１０に送信する（Ｓ１１２）。
【０１３２】
最後に、受信端末１０は、名前が「video/a/1Mbps」の代替コンテンツデータのデータパケットを受信する（Ｓ１１３）。
【０１３３】
このようにルータ２０は、輻輳の発生を検知すると自身のキャッシュ２０１内に存在している代替コンテンツデータに関する情報をＮＡＣＫパケットに含めて受信端末１０に送信する。そして、受信端末１０が、対象のコンテンツデータを代替コンテンツデータに切り替えることにより、輻輳の発生時に輻輳の発生しているリンクにトラフィックを発生させることなく、途切れなくコンテンツデータ（代替コンテンツデータ）を取得することができる。
【０１３４】
ここで、比較例として、一般的なコンテンツ配信システムの動作について説明する。つまり、比較例として、ルータ２０が輻輳を検知しても代替コンテンツデータを探索せず、代替コンテンツデータに関する情報を含まないＮＡＣＫパケットを送信する場合における動作について説明する。
【０１３５】
図７は、比較例におけるコンテンツ配信システムの処理フローを示すシーケンス図である。
【０１３６】
まず、受信端末１０は、コンテンツデータに対する興味パケットを発行して送信するとする（Ｓ２０１）。
【０１３７】
次に、ルータ２０は、受信端末１０が発行した興味パケットを受信すると、自身のキャッシュ２０１内に要求されたコンテンツデータが存在するかを確認する（Ｓ２０２）。
【０１３８】
Ｓ２０２においてＹｅｓの場合、ルータ２０は、受信端末１０に対してキャッシュ２０１内のコンテンツデータのデータパケットを送信し（Ｓ２０３）、処理を終了する。
【０１３９】
Ｓ２０２においてＮｏの場合、ルータ２０は、受信端末１０が発行した興味パケットをパブリッシャー３０側に転送する（Ｓ２０４）。すると、パブリッシャー３０は、受信端末１０が発行した興味パケットを受信すると、要求されたコンテンツデータをルータ２０側に送信する（Ｓ２０５）。なお、ルータ２０は、受信端末１０が発行した興味パケットに記載された名前と同一の名前に対する興味パケットに関する情報がＰＩＴ（不図示）に既に存在した場合は、この興味パケットは転送せず、この興味パケットを受信したフェイスの情報のみを記憶し、処理を終了する。
【０１４０】
また、ルータ２０は、当該興味パケットの転送を行う際に輻輳の発生有無を検知する（Ｓ２０６）。
【０１４１】
Ｓ２０６において、ルータ２０が輻輳を検知した場合（Ｓ２０６でＹｅｓ）、輻輳の発生を通知するためのＮＡＣＫパケットを生成する処理（発行処理）を行い（Ｓ２０７）、生成したＮＡＣＫパケットを受信端末１０に送信する（Ｓ２０８）。
【０１４２】
一方、Ｓ２０６において、ルータ２０が輻輳を検知しない場合（Ｓ２０６でＮｏ）、ルータ２０は、パブリッシャー３０から送信されたコンテンツデータを受信し、受信端末１０に対してコンテンツデータを送信し（Ｓ２０９）、処理を終了する。
【０１４３】
続いて、本実施の形態におけるコンテンツ配信システムの動作について説明する。ここでは、ルータ２０が輻輳を検知した場合に代替コンテンツデータを探索し、代替コンテンツデータに関する情報を含むＮＡＣＫパケットを送信する特徴的な動作を中心に説明する。
【０１４４】
図８は、実施の形態１におけるルータのＮＡＣＫパケット発行処理を示すフローチャートである。
【０１４５】
図８に示すＮＡＣＫパケットの発行処理（Ｓ３０７）は、図７に示すＮＡＣＫパケットの発行処理（Ｓ２０７）に対応するものであるが、本実施の形態の特徴的な動作が付加されている点で異なる。
【０１４６】
まず、ルータ２０のネットワーク監視部２０４が輻輳を検知し、Ｓ３０７に示すＮＡＣＫパケット発行処理に進んだとする。
【０１４７】
Ｓ３０７において、ルータ２０の代替コンテンツ探索部２０３は、自身のキャッシュ２０１の内部に代替コンテンツデータがあるかどうかを探索する（Ｓ３０７１）。
【０１４８】
次に、キャッシュ２０１の内部に代替コンテンツデータがあったかを確認し（Ｓ３０７２）、なかった場合（Ｓ３０７２でＮｏ）には、ＮＡＣＫパケット生成部２０５は、代替コンテンツデータに関する情報を含まないＮＡＣＫパケットを生成する（Ｓ３０７３）。
【０１４９】
一方、Ｓ３０７２において、キャッシュ２０１の内部に代替コンテンツデータがあった場合（Ｓ３０７２でＹｅｓ）、ＮＡＣＫパケット生成部２０５は、代替コンテンツデータに関する情報を含めたＮＡＣＫパケットの生成を行う（Ｓ３０７４）。
【０１５０】
そして、ルータ２０の送信部２０６は、Ｓ３０７３もしくはＳ３０７４で生成したＮＡＣＫパケットを受信端末１０に対して送信する（Ｓ３０８）。
【０１５１】
このようにして、輻輳発生時には、ルータ２０から送信された輻輳の発生を通知するためのＮＡＣＫパケットもしくは、さらに代替コンテンツデータに関する情報を含めたＮＡＣＫパケットを受け取ることができる。
【０１５２】
［ＮＡＣＫパケットの構成例］
次に、ルータ２０が生成するＮＡＣＫパケットの構成例について、図を用いて説明する。
【０１５３】
以下、代替コンテンツデータに関する情報を含めたＮＡＣＫパケットの構成例と代替コンテンツデータに関する情報を含まないＮＡＣＫパケットについて例示する。
【０１５４】
図９Ａ〜図９Ｅは、代替コンテンツデータに関する情報を含まないＮＡＣＫパケットの構成の一例を示す図である。
【０１５５】
図９Ａに示すＮＡＣＫパケット５１は、パケットタイプを示すためのフィールド５１１と、ＮＡＣＫパケット対象コンテンツを示すためのフィールド５１２と、selector部を示すフィールド５１３とからなる。図９Ｂに示すＮＡＣＫパケット５２は、パケットタイプを示すためのフィールド５２１と、パケット長を示すためのフィールド５２２と、ＮＡＣＫパケット対象コンテンツを示すためのフィールド５２３と、selector部を示すフィールド５２４とからなる。また、図９Ｃに示すＮＡＣＫパケット５３は、ＮＡＣＫ対象コンテンツおよびパケットタイプを示すためのフィールド５３１と、selector部を示すフィールド５３２とからなる。図９Ｄに示すＮＡＣＫパケット５４は、ＮＡＣＫ対象コンテンツおよびパケットタイプを示すためのフィールド５４１からなる。図９Ｅに示すＮＡＣＫパケット５５は、パケットタイプを示すためのフィールド５５１と、ＮＡＣＫ対象コンテンツを示すためのフィールド５５２とからなる。
【０１５６】
図１０Ａ〜図１０Ｅは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の一例を示す図である。図９Ａ〜図９Ｅと同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１５７】
図１０Ａ〜図１０Ｅに示すＮＡＣＫパケットは、図９Ａ〜図９ＥのＮＡＣＫパケットに代替コンテンツデータに関する情報を示すためのフィールドが加えられている。より具体的には、図１０Ａに示すＮＡＣＫパケット６１には、さらに、代替コンテンツデータに関する情報を示すためのフィールド６１４が含まれている。図１０Ｂに示すＮＡＣＫパケット６２には、さらに、代替コンテンツデータに関する情報を示すためのフィールド６２５が含まれている。図１０Ｃに示すＮＡＣＫパケット６３には、さらに、代替コンテンツデータに関する情報を示すためのフィールド６３３が含まれており、図１０Ｄに示すＮＡＣＫパケット６４には、さらに、代替コンテンツデータに関する情報を示すためのフィールド６４２が含まれている。図１０Ｅに示すＮＡＣＫパケット６５には、さらに、代替コンテンツデータに関する情報を示すためのフィールド６５３が含まれている。
【０１５８】
図１０Ａ〜図１０Ｅに示すＮＡＣＫパケットに含まれる代替コンテンツデータに関する情報を示すためのフィールドそれぞれにはルータ２０のキャッシュ２０１内に存在していた代替コンテンツデータの名前などが書き込まれる。
【０１５９】
図１１Ａ〜図１１Ｅは、代替コンテンツデータに関する情報を含むＮＡＣＫパケットの構成の別の一例を示す図である。図９Ａ〜図９Ｅおよび図１０Ａ〜図１０Ｅと同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１６０】
図１１Ａ〜図１１Ｅに示すＮＡＣＫパケット７１〜７５はそれぞれ、パケットタイプを示すためのフィールド７１１〜７５１に、代替コンテンツデータに関する情報を含むＮＡＣＫパケットであることを示すために、Ｔｙｐｅ：ＡＬＴ＿ＮＡＣＫと記載されている場合が示されている。
【０１６１】
［代替コンテンツデータ］
ルータ２０の代替コンテンツ探索部２０３は、代替コンテンツデータとして、興味パケットで要求されるコンテンツデータと同一または類似のコンテンツデータがキャッシュ２０１内に存在するかを一定の基準に基づいて探索する。
【０１６２】
以下、興味パケットで要求されるコンテンツデータが動画コンテンツであるとした場合において、同一または類似のコンテンツデータを探索する際の基準の一例を示す。
【０１６３】
例えば、配信および配信の要求に用いる動画コンテンツデータの名前として、動画コンテンツデータ自身の名前、および動画コンテンツデータの属性に関する情報を含むとする。
【０１６４】
また、動画コンテンツデータの属性に関する情報は、動画コンテンツデータの時間区間の情報を含む。更に、動画コンテンツデータの属性に関する情報は、動画コンテンツデータの解像度、エンコード時のビットレート、動画コンテンツデータのフレームレート、動画コンテンツデータの色空間のうちの少なくとも１つ含むものとする。
【０１６５】
この場合、例えば、興味パケットで要求される名前に対応する動画コンテンツデータ自身の名前と同一かつ興味パケットで要求される名前に含まれる時間区間と同一の時間区間のコンテンツであって、１）解像度が異なるもの、２）エンコード時のビットレートが異なるもの、３）動画コンテンツデータのフレームレートが異なるもの、もしくは、４）動画コンテンツデータの色空間が異なるものを同一のコンテンツデータとして探索されてもよい。
【０１６６】
また、動画コンテンツデータの属性に関する情報は、動画コンテンツデータの中の撮影対象をしたときの角度、撮影対象の被写体、撮影時の画角を含むものとする。
【０１６７】
この場合、例えば、興味パケットで要求される名前に対応する動画コンテンツデータ自身の名前と同一あって、１）コンテンツの時間区間が近いもの、２）撮影された角度が異なるもの、３）撮影対象の被写体が異なるもの、４）撮影時の画角が異なっているもの、もしくは、５）撮影場所の位置情報が異なるものを、類似のコンテンツデータとして探索されてもよい。
【０１６８】
次に、以上の基準により代替コンテンツ探索部２０３が代替コンテンツデータの探索する際の手順の一例について説明する。
【０１６９】
ここで、例えば自身の名前が「/video/a/」のコンテンツデータが1Mbpsでエンコードされており、そのコンテンツデータの１秒から１０秒までのコンテンツデータに対する興味パケットに含まれるコンテンツデータの名前が「/video/a/1Mbps/1s-10s」のように表されて発行されているとする。この場合、代替コンテンツ探索部２０３は、まず、キャッシュ２０１内に「/video/a/」に一致するコンテンツデータがないかどうかを探索する。そして、一致するものがあった場合、ビットレートが異なるが、データ区間が同一であるようなコンテンツデータ（例えば「/video/a/2Mbps/1s-10s」のようなコンテンツデータ）があるとすれば、このコンテンツデータは興味パケットで要求されたコンテンツデータの名前に対応するコンテンツデータと同一のコンテンツデータであり、代替コンテンツデータであるとして探索を終了する。このようにして、ＮＡＣＫパケット生成部２０５は、代替コンテンツデータに関する情報をＮＡＣＫパケットに含めことができる。
【０１７０】
なお、上記では、代替コンテンツデータが動画コンテンツであるとして説明したがそれに限らない。代替コンテンツの対象となるのは動画だけにとどまるものではない。たとえば、次に説明するように一般的なセンサデータにおける代替コンテンツデータでもよい。すなわち、例えばセンサデータ全体を示す名前が同一のコンテンツであって、１）データのサンプリング周期が異なるもの、２）データの集計方法が異なるもの、もしくは、３）データの計測精度が異なるもの、を興味パケットで要求されるコンテンツデータと同一のコンテンツデータとして探索されるとしてもよい。
【０１７１】
この場合、興味パケットに含まれる名前、代替コンテンツデータの名前には、それぞれ、センサデータ全体を示す名前、およびセンサデータの属性の情報として、データのサンプリング周期、データの集計方法、データの計測精度のうちの少なくとも１つが含まれていることが必要である。
【０１７２】
また、例えば、センサデータ全体を示す名前が同一のコンテンツであって、１）データの集計場所を示す位置情報が近接しているもの、２）データの要素数が異なるもの、もしくは、３）データ計測の時間区間が近接しているものを、興味パケットで要求されるコンテンツデータと類似のコンテンツデータとして探索されるとしてもよい。
【０１７３】
この場合、興味パケットに含まれる名前、代替コンテンツデータの名前には、それぞれ、センサデータ全体を示す名前、およびセンサデータの属性の情報として、データの集計場所を示す位置情報、データの要素数、データ計測の時間区間のうちの少なくとも１つが含まれていることが必要である。
【０１７４】
なお、データの集計場所を示す位置情報が近接しているかどうかの判断、およびデータ計測の時間区間が近接しているかどうかの判断、に関してはそれぞれ、ルータ２１内に判断するための条件または値などを記憶しておき、記憶した条件または値に従って判断すればよい。
【０１７５】
［受信端末の動作］
次に、本実施の形態における受信端末１０の動作について説明する。
【０１７６】
図１２は、実施の形態１における受信端末１０がＮＡＣＫパケットを受信した際の動作を示すフローチャートである。
【０１７７】
まず、ＣＣＮ網４０において輻輳が発生し、データパケットの受信が困難であった場合、受信端末１０はＮＡＣＫパケットを受信する。
【０１７８】
次に、受信端末１０は、受信したＮＡＣＫパケットに、代替コンテンツにデータ関する情報が含まれているかを確認する（Ｓ４０１）。
【０１７９】
ＮＡＣＫパケットに代替コンテンツデータに関する情報が含まれていなかった場合（Ｓ４０１でＮｏ）、受信端末１０は、ＮＡＣＫパケットを受け取ったコンテンツデータについて再度興味パケットを生成し、ＣＣＮ網４０に対し興味パケットの再送信を行う（Ｓ４０６）。
【０１８０】
一方、Ｓ４０１において、受信したＮＡＣＫパケットに代替コンテンツデータに関する情報が含まれていた場合（Ｓ４０１でＹｅｓ）、受信端末１０の輻輳制御部１０３は、受信データ管理部１０５に問い合わせを行い、興味パケットに含まれる送信を要求するコンテンツデータの名前を代替コンテンツデータの名前に切り替えてよいかどうかを判断する（Ｓ４０４）。
【０１８１】
興味パケットの送信対象を切り替え不可だった場合（Ｓ４０４でＮｏ）には、受信端末１０は、ＮＡＣＫパケットを受け取ったコンテンツデータについて再度興味パケットを作成し（Ｓ４０２）、ＣＣＮ網４０に対し興味パケットの再送信を行う（Ｓ４０６）。
【０１８２】
一方、Ｓ４０４において、興味パケットの送出先名前空間を変更することが可能であったことなどにより、興味パケットに含まれるコンテンツデータの名前を代替コンテンツデータの名前に切り替える場合（Ｓ４０４でＹｅｓ）、受信端末１０は、代替コンテンツデータの名前を含む興味パケットを作成する（Ｓ４０５）。そして、作成した興味パケットをＣＣＮ網４０に送信する（Ｓ４０６）。
【０１８３】
このように、ＮＡＣＫパケットに代替コンテンツデータに関する情報が含まれている場合、受信端末１０は輻輳の発生時に代替コンテンツデータを例えば、ルータ２０から素早く取得することができる。また、ＣＣＮ網４０に対する輻輳制御も行えるのでＣＣＮ網４０も輻輳状態から素早く抜け出すことができる。
【０１８４】
［実施の形態１の効果等］
以上のように、本実施の形態によれば、輻輳によるコンテンツデータの配信の停滞を抑制することができるータ、端末、およびそれらの輻輳制御方法を実現することができる。
【０１８５】
より具体的には、ルータ２０は、輻輳の発生を検知すると自身のキャッシュ２０１内に存在している代替コンテンツデータに関する情報をＮＡＣＫパケットに含めて受信端末１０に送信し、受信端末１０が、対象のコンテンツデータを代替コンテンツデータに切り替えることができる。それにより、ルータ２０は、受信端末１０に、輻輳の発生時に輻輳の発生しているリンクにトラフィックを発生させることなく、途切れなくコンテンツデータ（代替コンテンツデータ）を取得させることができる。
【０１８６】
言い換えると、受信端末１０は、代替コンテンツデータに関する情報を含むＮＡＣＫパケットを受信することで、受信端末１０はその代替コンテンツデータに関する情報に基づき、送信する興味パケットに含める送信対象のコンテンツデータの名前を代替コンテンツデータの名前に切り替えることができる。それにより、受信端末１０は、輻輳が発生したネットワークのリンクに対してコンテンツデータを要求せずに、別のリンクから代替コンテンツデータを取得することができる。このようにして、受信端末１０は、輻輳状態のネットワークのリンクを回避し、リアルタイム性あるコンテンツデータの配信の停滞を抑制できるだけでなく、その輻輳を早期に収束できる輻輳制御技術を実現することができる。
【０１８７】
このように、本実施の形態では、ＣＣＮ網４０を利用したコンテンツデータの配信において、輻輳が発生してもルータ２０をＣＣＮ網４０に接続し、受信端末１０とパブリッシャー３０との間を中継するルータ２０のキャッシュを有効に利用することで輻輳の回避を行える効率的なネットワーク利用と、輻輳の収束を行うことが可能な輻輳制御技術を実現することができる。
【０１８８】
（実施の形態２）
実施の形態１では、輻輳が発生したリンクと受信端末１０との間に単一のルータ２０のみが存在する場合を例に挙げて説明した。しかし、実際のＣＣＮ網４０では受信端末１０とパブリッシャー３０との間には多数のルータが存在する。また各ルータのキャッシュには異なる名前のコンテンツデータが記憶されていることも考えられる。
【０１８９】
以下、この場合の例を、本実施の形態として説明する。
【０１９０】
［コンテンツ配信システムの構成］
図１３は、実施の形態２におけるコンテンツ配信システム２００の構成の一例を示す図である。コンテンツ配信システム２００は、複数の受信端末と、それぞれキャッシュを有する複数のルータと、複数のパブリッシャーとを備える。本実施の形態でも、説明を簡単にするため、コンテンツ配信システム２００は、受信端末１０と、ルータ２０と、ルータ２１と、パブリッシャー３０と、パブリッシャー３１とで構成されているとして以下説明する。なお、図３と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１９１】
本実施の形態では、図１３に示すように、受信端末１０は、ルータ２０およびルータ２１を介してパブリッシャー３０およびパブリッシャー３１と接続されている。ルータ２０およびルータ２１は、受信端末１０以外のユーザによるコンテンツデータの取得処理によりそれぞれのキャッシュ内に名前「video/a/2Mbps」および「video/a/1Mbps」のコンテンツデータを記憶しているものとする。
【０１９２】
パブリッシャー３０およびパブリッシャー３１の構成は、実施の形態１で説明したパブリッシャー３０と同様のため、ここでの説明は省略する。また、パブリッシャー３０は名前「video/a/512kbps」および「video/a/1Mbps」のコンテンツデータをそれぞれ、パブリッシャー３０が有する記録媒体に保持しており、パブリッシャー３１は名前「video/a/2Mbps」のコンテンツデータをパブリッシャー３１が有する記録媒体（図示せず）に保持しているものとする。パブリッシャー３１が有する記録媒体とは、例えば、メモリ、またはハードディスクといった書き込み可能な記録媒体である。
【０１９３】
また、ルータ２０およびルータ２１の構成は、実施の形態１で説明したルータ２０と同様であるが、受信部２０２およびＮＡＣＫパケット生成部２０５のみ、動作が一部異なるので、説明する。
【０１９４】
受信部２０２は、興味パケット、コンテンツパケットおよびＮＡＣＫパケットを受信する。より具体的には、受信部２０２は、輻輳の発生を通知するためのＮＡＣＫパケットを受信する。本実施の形態では、受信部２０２は、輻輳の発生を通知するためのＮＡＣＫパケットだけでなく、輻輳の発生を通知するためのＮＡＣＫパケットであって代替コンテンツデータに関する情報を含むＮＡＣＫパケット（第２のＮＡＣＫパケット）を受信する。
【０１９５】
ＮＡＣＫパケット生成部２０５は、輻輳の発生時にＮＡＣＫパケット（第１のＮＡＣＫパケット）を生成する。より具体的には、ＮＡＣＫパケット生成部２０５は、受信部２０２が興味パケットを受信し、かつ、ネットワーク監視部２０４が輻輳の発生を検知した場合、輻輳の発生を通知するためのＮＡＣＫパケットを生成する。ＮＡＣＫパケット生成部２０５は、興味パケットに含まれる名前に対応するコンテンツデータを代替する代替コンテンツデータがキャッシュ２０１に記憶されている場合には、上記ＮＡＣＫパケットに、代替コンテンツデータに関する情報を含めたＮＡＣＫパケットを生成する。
【０１９６】
本実施の形態では、ＮＡＣＫパケット生成部２０５は、受信部２０２で代替コンテンツデータ（第２の代替コンテンツデータ）に関する情報を含むＮＡＣＫパケットを受信し、かつ、当該ＮＡＣＫパケットに含まれる名前に対応するコンテンツデータを代替する代替コンテンツデータがキャッシュ２０１に記憶されている場合には、受信部２０２で受信した当該ＮＡＣＫパケットに、代替コンテンツデータに関する情報をさらに含めたＮＡＣＫパケットを新たに生成する。ここで、第２の代替コンテンツデータは、興味パケットに含まれる名前に対応するコンテンツデータを代替する、コンテンツデータである。
【０１９７】
そして、送信部２０６は、ＮＡＣＫパケット生成部２０５により生成された新たなＮＡＣＫパケットを送信する。
【０１９８】
このように各ルータ（ルータ２０およびルータ２１）のキャッシュに同一内容のコンテンツであるがビットレートが異なるコンテンツデータが記憶されており、あるルータ２１とパブリッシャー３０の間で輻輳が発生した場合、実施の形態１で述べたような単一の代替コンテンツデータを提示するのではなく、各ルータが記憶する複数の異なるコンテンツデータを代替コンテンツデータとして提示する。これにより受信端末１０に、より適した輻輳制御を行わせることができる。
【０１９９】
以下、図１４を用いて具体的にコンテンツ配信システム２００の動作について説明する。
【０２００】
［コンテンツ配信システムの動作］
図１４は、実施の形態２におけるコンテンツ配信システム２００の処理フローを示すシーケンス図である。
【０２０１】
まず、受信端末１０は、名前「video/a/512kbps」のコンテンツデータに対する興味パケットを発行して送信する（Ｓ５０１）。
【０２０２】
次に、興味パケットを受信したルータ２０は、受信した興味パケットをルータ２１に転送する（Ｓ５０２）。なお、ルータ２０は、受信端末１０が発行した興味パケットに記載された名前と同一の名前に対する興味パケットに関する情報がＰＩＴ（不図示）に既に存在した場合は、この興味パケットは転送せず、この興味パケットを受信したフェイスの情報のみを記憶し、処理を終了する。
【０２０３】
次に、興味パケットを受信したルータ２１は、パブリッシャー３０に向けて興味パケットを転送しようとする。ここで、ルータ２１がこの興味パケットの転送を行うとき、ルータ２１とパブリッシャー３０の間で輻輳が発生しているのか否かを判断し、輻輳が発生していると判断すると、ルータ２１は輻輳を検知する（Ｓ５０３）。
【０２０４】
次に、輻輳を検知したルータ２１は、自身のキャッシュ内に要求されたコンテンツデータの代替となる代替コンテンツデータが存在しているかどうかを探索する。本実施の形態では、ルータ２１は、キャッシュに記憶している名前「video/a/1Mbps」のコンテンツデータを代替コンテンツデータとして探索することができる。そのため、ルータ２１は、代替コンテンツデータに関する情報として例えば名前「video/a/1Mbps」を含むＮＡＣＫパケットを作成する。そして、ルータ２１は、作成した代替コンテンツデータ「video/a/1Mbps」に関する情報を含むＮＡＣＫパケットをルータ２０に対して送信する（Ｓ５０４）。
【０２０５】
次に、代替コンテンツデータ「video/a/1Mbps」に関する情報を含むＮＡＣＫパケットを受信したルータ２０は、さらに、自身のキャッシュ内に要求されたコンテンツデータの代替となる代替コンテンツデータが存在しているかどうかを探索する。本実施の形態では、ルータ２０は、キャッシュに記憶している名前「video/a/2Mbps」のコンテンツデータを代替コンテンツデータとして探索することができる。そのため、ルータ２０は、代替コンテンツデータに関する情報に、名前「video/a/2Mbps」を追記したＮＡＣＫパケットを新たに作成する
（Ｓ５０５）。
【０２０６】
次に、ルータ２０は、代替コンテンツデータ「video/a/2Mbps」に関する情報を追記したＮＡＣＫパケットを、受信端末１０に対して送信（転送）する（Ｓ５０６）。
【０２０７】
次に、受信端末１０は、代替コンテンツデータに関する情報を含むＮＡＣＫパケットから、輻輳が発生しており要求した名前「video/a/512kbps」のコンテンツデータ自体を取得することはできないが 名前「video/a/1Mbps」と名前「video/a/2Mbps」の代替コンテンツデータが存在し取得可能であると知ることができる。そして、受信端末１０は、代替コンテンツへの興味パケットの切り替えを判断する（Ｓ５０７）。
【０２０８】
次に、受信端末１０は、ＮＡＣＫパケットに含まれる代替コンテンツデータに関する情報から自身に最適な代替コンテンツデータを選択し、選択した代替コンテンツデータを対象とする興味パケットを発行して再送信する。本実施の形態では、受信端末１０は、名前「video/a/2Mbps」の代替コンテンツデータに対する興味パケットを発行して送信する（Ｓ５０８）。
【０２０９】
次に、名前「video/a/2Mbps」の代替コンテンツデータに対する興味パケットを受信したルータ２０は、自身のキャッシュ２０１内に名前「video/a/2Mbps」の代替コンテンツデータが存在するので、名前「video/a/2Mbps」の代替コンテンツデータのデータパケットを受信端末１０に送信する（Ｓ５０９）。
【０２１０】
最後に、受信端末１０は、名前「video/a/2Mbps」の代替コンテンツデータのデータパケットを受信する（Ｓ５１０）。
【０２１１】
このようにして、受信端末１０は、輻輳の回避を行いながら代替コンテンツデータを受信することができる。つまり、代替コンテンツデータに関する情報に複数の代替コンテンツデータに関する情報を含めることにより、受信端末１０は、輻輳の発生しているリンクにトラフィックを発生させることなく、状況に合わせた最適な代替コンテンツデータを取得できる。
【０２１２】
［ＮＡＣＫパケット転送処理の詳細］
次に、図１４におけるＳ５０５の詳細について説明する。以下は、ルータ２０に限る処理ではないが、ルータ２０を他のルータも代表するとして説明する。
【０２１３】
図１５は、実施の形態２におけるルータ２０のＮＡＣＫパケット発行処理を示すフローチャートである。
【０２１４】
まず、ルータ２０の受信部２０２がＮＡＣＫパケットを受信し、Ｓ５０５に示すＮＡＣＫパケット発行処理に進んだとする。
【０２１５】
ここで、ＮＡＣＫパケットは、輻輳の発生を通知するためのものだけでなく、代替コンテンツデータに関する情報を含んでいるとする。
【０２１６】
この場合、代替コンテンツ探索部２０３は、自身のキャッシュ２０１の内部にさらに代替コンテンツデータがあるかどうかを探索する（Ｓ５０５１）。
【０２１７】
次に、キャッシュ２０１の内部に代替コンテンツデータがあったかを確認し（Ｓ５０５２）、キャッシュ２０１の内部に代替コンテンツデータがなかった場合（Ｓ５０５２でＮｏ）には、当該ＮＡＣＫパケットをそのまま送信部２０６に渡す（Ｓ５０５３）。
【０２１８】
一方、Ｓ５０５２において、キャッシュ２０１の内部に代替コンテンツデータがあった場合（Ｓ５０５２でＹｅｓ）には、当該ＮＡＣＫパケットの代替コンテンツデータに関する情報に、探索した代替コンテンツデータの名前など、探索した代替コンテンツデータに関する情報を追記したＮＡＣＫパケットを新たに生成する（Ｓ５０５４）。
【０２１９】
そして、ルータ２０の送信部２０６は、Ｓ５０５３のＮＡＣＫパケットもしくはＳ５０５４生成したＮＡＣＫパケットを受信端末１０に送信する（Ｓ５０６）。
【０２２０】
［全体処理シーケンス］
次に、図１６を用いて、本実施の形態におけるコンテンツ配信システム２００の全体処理シーケンスについて説明する。
【０２２１】
図１６は、実施の形態２におけるコンテンツ配信システム２００の全体処理シーケンスを示す図である。なお、図７、図１４および図１５と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０２２２】
以下、図７、１４および図１５と異なる処理（Ｓ６０１およびＳ６０２）について説明する。
【０２２３】
Ｓ２０６において、ルータ２０は、輻輳を検知しなかった（つまり、輻輳が発生していないと判断した）場合（Ｓ２０６でＮｏ）、ＣＣＮ網４０からＮＡＣＫパケットまたはコンテンツデータのデータパケットを受信する。
【０２２４】
Ｓ６０１において、ルータ２０は、受信したパケットの内容の判別を行い、コンテンツデータのデータパケットを受信したと判断した場合（Ｓ６０１のコンテンツデータのデータパケット）には、そのデータパケットをＣＣＮ網４０に対して送信する（Ｓ６０１）。
【０２２５】
一方、Ｓ６０１において、ルータ２０は、ＮＡＣＫパケット受信したと判断した場合（Ｓ６０１のＮＡＣＫパケット）には、Ｓ５０５に進み、ＮＡＣＫパケット転送処理を行う。
【０２２６】
このようにして、受信端末１０は、ＣＣＮ網４０から、興味パケットで要求したコンテンツデータもしくはＮＡＣＫパケットを受信する。
【０２２７】
［実施の形態２の効果等］
以上のように、本実施の形態によれば、輻輳によるコンテンツデータの配信の停滞を抑制することができるルータ、端末、およびそれらの輻輳制御方法を実現することができる。
【０２２８】
より具体的には、ルータ２０は、他のルータにおける代替コンテンツデータに関する情報を含むＮＡＣＫパケットを受信した場合、当該ＮＡＣＫパケットに、自身のキャッシュ２０１内に存在している代替コンテンツデータに関する情報をさらに含めて受信端末１０に送信する。それにより、受信端末１０が、対象のコンテンツデータを複数の代替コンテンツデータの一に切り替えることができる。このようにして、ルータ２０は、受信端末１０に、輻輳の発生時に輻輳の発生しているリンクにトラフィックを発生させることなく、途切れなくコンテンツデータ（代替コンテンツデータ）を取得させることができる。
【０２２９】
なお、実施の形態２では、他のルータにおける代替コンテンツデータに関する情報を含むＮＡＣＫパケットを受信したときのルータ２０の動作を説明した。しかしながら、ルータ２０が受信するＮＡＣＫパケットというのは、受信端末１０から送信された興味パケットに対する応答パケットであるため、興味パケットに含まれる名前の情報をそもそも含んでいる（図９Ａ〜図９Ｅ参照）。
【０２３０】
したがって、他のルータで輻輳を検知し、かつ他のルータが代替コンテンツデータを自身のキャッシュに記憶していない場合、他のルータは、興味パケットに含まれる名前に対応するコンテンツデータの情報を含めたＮＡＣＫパケットを送信する。この場合、ルータ２０は、受信したＮＡＣＫパケットに含まれるコンテンツデータの情報を用いて、キャッシュ２０１の中に代替コンテンツデータが存在するかどうかを探索することができる。
【０２３１】
そして、ルータ２０は、代替コンテンツデータがキャッシュ２０１の中に存在すれば、ＮＡＣＫパケットに代替コンテンツデータの情報を含めたＮＡＣＫパケットを新たに生成すればよい。
【０２３２】
つまり、本実施の形態の輻輳制御方法等によれば、輻輳状態のネットワークのリンクを回避し、リアルタイム性あるコンテンツデータの配信の停滞を抑制できるだけでなく、その輻輳を早期に収束することができる。
【０２３３】
なお、当該ＮＡＣＫパケットにおいて、第１の代替コンテンツデータおよび前記第２の代替コンテンツデータに関する情報は、それぞれ、興味パケットを送信した受信端末１０等からルータ２０等に到達するまでの距離を示す情報を更に含むとしてもよい。さらに、この距離を示す情報は、興味パケットを送信した端末から前記ルータに到達するまでに経由したルータの数を示すホップ数であってもよい。この場合、例えば、ルータ２０におけるＮＡＣＫパケット生成部２０５では、ルータ２０のキャッシュ２０１に存在する代替コンテンツデータに関する情報に、さらに当該距離を示す情報として１を入力してもよい。また、ＮＡＣＫパケット生成部２０５は、ルータ２０と異なるルータのキャッシュに存在する代替コンテンツデータに関する情報に含まれる前記距離を示す情報には、１を加えるとしてもよい。
【０２３４】
なお、この距離を示す情報は、図１０Ａ〜図１１Ｅで説明したＮＡＣＫパケットの構成において、例えば、代替コンテンツデータに関する情報を示すためのフィールドや、selector部を示すフィールドに含めたらよい。
【０２３５】
それにより、受信端末１０は、対象のコンテンツデータを複数の代替コンテンツデータの一に切り替える判断をする際に、コンテンツデータの取得を最も短時間で行うために、例えば受信端末１０から最も近いルータのキャッシュに記憶されている代替コンテンツデータを選択することなどが可能になる。
【０２３６】
以上、本開示によれば、輻輳によるコンテンツデータの配信の停滞を抑制することができるルータ、端末、およびそれらの輻輳制御方法を実現することができる。
【０２３７】
以上、本開示の一つまたは複数の態様に係るデバイス、デバイス管理装置、中継装置および端末装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の一つまたは複数の態様の範囲内に含まれてもよい。
【０２３８】
例えば、以下のような場合も本開示に含まれる。
【０２３９】
（１）上記のサーバ、ルータおよび受信端末（以下では各装置と総称）は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０２４０】
（２）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０２４１】
（３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０２４２】
（４）本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２４３】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０２４４】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２４５】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０２４６】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２４７】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０２４８】
本開示は、ルータ、端末、およびそれらの輻輳制御方法等に利用でき、コンテンツ指向型のネットワークに接続されるルータ、端末、およびそれらの輻輳制御方法に利用できる。
【符号の説明】
【０２４９】
１０、１１、９０９、９１０  受信端末
２０、２１、２２  ルータ
３０、３１、３２、９０１  パブリッシャー
４０、９０４  ＣＣＮ網
５１、５２、５３、５４、５５、６１、６２、６３、６４、６５、７１、７２、７３、７４、７５  ＮＡＣＫパケット
１００、２００、９００  コンテンツ配信システム
１０１、２０６  送信部
１０２、２０２  受信部
１０３  輻輳制御部
１０４  デコーダ
１０５  受信データ管理部
２０１、９０７、９１２  キャッシュ
２０３  代替コンテンツ探索部
２０４  ネットワーク監視部
２０５  ＮＡＣＫパケット生成部
５１１、５１２、５１３、５２１、５２２、５２３、５２４、５３１、５３２、５４１、５５１、５５２、６１４、６２５、６３３、６４２、６５３、７１１、７２１、７３１、７４１、７５１  フィールド
９０２  コンテンツ
９０２Ａ  高ビットレートコンテンツ
９０２Ｂ  中ビットレートコンテンツ
９０２Ｃ  低ビットレートコンテンツ
９０３、９０５  ＣＣＮルータ
９０６、９１１  ＰＩＴ
９０８、９１３  ＦＩＢ
【図１】
0006630092.tif 000002
【図２】
0006630092.tif 000003
【図３】
0006630092.tif 000004
【図４】
0006630092.tif 000005
【図５】
0006630092.tif 000006
【図６】
0006630092.tif 000007
【図７】
0006630092.tif 000008
【図８】
0006630092.tif 000009
【図９Ａ】
0006630092.tif 000010
【図９Ｂ】
0006630092.tif 000011
【図９Ｃ】
0006630092.tif 000012
【図９Ｄ】
0006630092.tif 000013
【図９Ｅ】
0006630092.tif 000014
【図１０Ａ】
0006630092.tif 000015
【図１０Ｂ】
0006630092.tif 000016
【図１０Ｃ】
0006630092.tif 000017
【図１０Ｄ】
0006630092.tif 000018
【図１０Ｅ】
0006630092.tif 000019
【図１１Ａ】
0006630092.tif 000020
【図１１Ｂ】
0006630092.tif 000021
【図１１Ｃ】
0006630092.tif 000022
【図１１Ｄ】
0006630092.tif 000023
【図１１Ｅ】
0006630092.tif 000024
【図１２】
0006630092.tif 000025
【図１３】
0006630092.tif 000026
【図１４】
0006630092.tif 000027
【図１５】
0006630092.tif 000028
【図１６】
0006630092.tif 000029