(57)【要約】【課題】端末装置が素早くコンテンツ又はサービスの応答を取得できるとともに、コンテンツ又はサービスの提供に必要となるネットワーク帯域等のリソース消費を削減することができる提供システム等を提供する。【解決手段】コンテンツ提供装置１１ａ、１１ｂは、スレーブ提供装置として動作する場合、第一のリクエストパケットを受信し、第一のリクエストパケットのコンテンツを保持していないときは、第二のリクエストパケットを送信し、中継装置１３ａ〜１３ｆは、第二のリクエストパケットを受信し、第二のリクエストパケットのコンテンツを記憶していない場合、第二のリクエストパケットを転送するとともに、第一のリクエストパケットの受信ＩＦと、第二のリクエストパケットの出力ＩＦとに基づき、受信ＩＦを更新する。【選択図】図１
2018019115.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて通信を行う提供対象データ指向型のネットワークを介して、前記提供対象データを提供する提供システムであって、
前記提供対象データを提供する提供装置と、
前記提供対象データを取得する端末装置と、
前記提供装置及び前記端末装置に前記提供対象データ指向型のネットワークを介して接続され、前記提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継する中継装置とを備え、
前記端末装置は、
第一の提供対象データを識別するための第一の名前識別情報を含む第一のリクエストパケットを送信する送信部と、
前記第一のリクエストパケットに対応するデータパケットを受信する受信部とを備え、
前記提供装置は、
前記第一の名前識別情報と、前記第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報とを記憶し、前記マスター提供装置として前記提供装置が動作する場合、前記装置名識別情報を前記中継装置及び他の提供装置に対して広告するマスター情報制御部と、
前記第一の提供対象データを前記マスター提供装置から取得して前記端末装置に提供するスレーブ提供装置として前記提供装置が動作する場合、前記第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データを保持していないときは、前記マスター情報制御部に記憶されている前記装置名識別情報と、前記第一の名前識別情報とを含む第二のリクエストパケットを送信する提供用リクエスト処理部とを備え、
前記中継装置は、
前記提供対象データを記憶するデータ記憶部と、
前記リクエストパケットのエントリーを記憶するリクエスト記憶部と、
前記リクエストパケットの経路情報を記憶する経路情報記憶部と、
前記リクエストパケット及び前記データパケットを送信又は受信するインタフェース部と、
前記第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第一のリクエストパケットと同一のリクエストパケットのエントリーが前記リクエスト記憶部に記憶されていない場合、前記第一の名前識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第一のリクエストパケットを転送するとともに、前記第一の名前識別情報と、前記第一のリクエストパケットを受信した前記インタフェース部を識別するための受信インタフェース情報とを、前記第一のリクエストパケットのエントリーとして前記リクエスト記憶部に記憶させ、
また、前記第二のリクエストパケットを受信し、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されていない場合、前記装置名識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第二のリクエストパケットを転送するとともに、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送する前記インタフェース部を識別するための出力インタフェース情報とに基づき、前記リクエスト記憶部に記憶されている前記受信インタフェース情報を更新する中継用リクエスト処理部とを備える、
提供システム。
【請求項２】
前記装置名識別情報は、前記マスター提供装置のみが前記中継装置に広告する名前プリフィックス、及び、前記マスター提供装置が独自に定義した名前識別情報の少なくとも一部のいずれか一方を含む、
請求項１記載の提供システム。
【請求項３】
前記中継用リクエスト処理部は、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第二のリクエストパケットに含まれる前記第一の名前識別情報を含むエントリーが前記リクエスト記憶部に記憶され、且つ、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送するインタフェース部を識別するための前記出力インタフェース情報とが一致しない場合、前記リクエスト記憶部に記憶されている前記受信インタフェース情報に、前記第二のリクエストパケットを受信したインタフェース部を識別するための受信インタフェース情報を追加する、
請求項１又は２記載の提供システム。
【請求項４】
前記中継用リクエスト処理部は、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第二のリクエストパケットに含まれる前記第一の名前識別情報を含むエントリーが前記リクエスト記憶部に記憶され、且つ、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送するインタフェース部を識別するための前記出力インタフェース情報とが一致する場合、前記リクエスト記憶部に記憶されている前記受信インタフェース情報を消去して前記第二のリクエストパケットを受信したインタフェース部を識別するための受信インタフェース情報に書き換える、
請求項１〜３のいずれかに記載の提供システム。
【請求項５】
前記中継用リクエスト処理部は、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第二のリクエストパケットに含まれる前記第一の名前識別情報を含むエントリーが前記リクエスト記憶部に記憶されていない場合、前記リクエスト記憶部に、前記第一の名前識別情報と、前記第二のリクエストパケットを受信したインタフェース部を識別するための受信インタフェース情報とを含むエントリーを追加する、
請求項１〜４のいずれかに記載の提供システム。
【請求項６】
前記第二のリクエストパケットは、前記第二のリクエストパケットが前記第一のリクエストパケットと異なるリクエストパケットであることを示すリクエスト経路制御フラグをさらに含む、
請求項１〜５のいずれかに記載の提供システム。
【請求項７】
前記提供装置は、前記マスター提供装置として前記提供装置が動作しない場合は、前記端末装置が送信する前記第一のリクエストパケットを受信するために、前記提供装置の名前プリフィックスを前記中継装置に対して広告する経路情報処理部をさらに備える、
請求項１〜６のいずれかに記載の提供システム。
【請求項８】
コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて前記提供対象データの通信を行う提供対象データ指向型のネットワークを介して、前記提供対象データを取得する端末装置と、前記提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継する中継装置とに接続され、前記提供対象データを提供する提供装置であって、
前記端末装置が送信する第一のリクエストパケットに含まれる、第一の提供対象データを識別するための第一の名前識別情報と、前記第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報とを記憶し、前記マスター提供装置として前記提供装置が動作する場合、前記装置名識別情報を前記中継装置及び他の提供装置に対して広告するマスター情報制御部と、
前記第一の提供対象データを前記マスター提供装置から取得して前記端末装置に提供するスレーブ提供装置として前記提供装置が動作する場合、前記第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データを保持していないときは、前記マスター情報制御部に記憶されている前記装置名識別情報と、前記第一の名前識別情報とを含む第二のリクエストパケットを送信する提供用リクエスト処理部とを備える、
提供装置。
【請求項９】
コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて前記提供対象データの通信を行う提供対象データ指向型のネットワークを介して、前記提供対象データを取得する端末装置と、前記提供対象データを提供する提供装置とに接続され、前記提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継する中継装置であって、
前記提供対象データを記憶するデータ記憶部と、
前記リクエストパケットのエントリーを記憶するリクエスト記憶部と、
前記リクエストパケットの経路情報を記憶する経路情報記憶部と、
前記リクエストパケット及び前記データパケットを送信又は受信するインタフェース部と、
第一の提供対象データを識別するための第一の名前識別情報を含む第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第一のリクエストパケットと同一のリクエストパケットのエントリーが前記リクエスト記憶部に記憶されていない場合、前記第一の名前識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第一のリクエストパケットを転送するとともに、前記第一の名前識別情報と、前記第一のリクエストパケットを受信した前記インタフェース部を識別するための受信インタフェース情報とを、前記第一のリクエストパケットのエントリーとして前記リクエスト記憶部に記憶させ、
また、前記第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報と、前記第一の名前識別情報とを含む第二のリクエストパケットを受信し、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されていない場合、前記装置名識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第二のリクエストパケットを転送するとともに、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送するインタフェース部を識別するための出力インタフェース情報とに基づき、前記リクエスト記憶部に記憶されている前記受信インタフェース情報を更新する中継用リクエスト処理部とを備える、
中継装置。
【請求項１０】
コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて前記提供対象データの通信を行う提供対象データ指向型のネットワークを介して、前記提供対象データを取得する端末装置と、前記提供対象データを提供する提供装置とに接続され、前記提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継し、前記提供対象データを記憶するデータ記憶部と、前記リクエストパケットのエントリーを記憶するリクエスト記憶部と、前記リクエストパケットの経路情報を記憶する経路情報記憶部と、前記リクエストパケット及び前記データパケットを送信又は受信するインタフェース部とを備える中継装置における通信方法であって、
第一の提供対象データを識別するための第一の名前識別情報を含む第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第一のリクエストパケットと同一のリクエストパケットのエントリーが前記リクエスト記憶部に記憶されていない場合、前記第一の名前識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第一のリクエストパケットを転送するとともに、前記第一の名前識別情報と、前記第一のリクエストパケットを受信した前記インタフェース部を識別するための受信インタフェース情報とを、前記第一のリクエストパケットのエントリーとして前記リクエスト記憶部に記憶させ、
また、前記第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報と、前記第一の名前識別情報とを含む第二のリクエストパケットを受信し、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されていない場合、前記装置名識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第二のリクエストパケットを転送するとともに、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送するインタフェース部を識別するための出力インタフェース情報とに基づき、前記リクエスト記憶部に記憶されている前記受信インタフェース情報を更新する、
通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツ指向型又はサービス指向型のネットワークを用い、コンテンツ又はサービスの名前を指定してコンテンツ又はサービスを提供する提供システム、該提供システムに使用される提供装置及び中継装置、並びにその通信方法に関する。
【背景技術】
【０００２】
近年、コンテンツデータが存在する場所でなく、コンテンツデータ自体の名前を指定することにより、コンテンツデータを取得することができる次世代のネットワーク・アーキテクチャが提案されている。
【０００３】
例えば、特許文献１及び非特許文献１には、次世代のネットワーク・アーキテクチャとして、例えば、ＣＣＮ（Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋ）というコンテンツ指向型のネットワークを用いた通信技術が提案されている。
【０００４】
ＣＣＮでは、ユーザの端末装置は、コンテンツデータ（以下、「コンテンツ」とも記載）を取得するために、コンテンツが存在する場所でなく、コンテンツ自体の名前を指定したリクエストパケットをネットワークに送出する。そして、コンテンツを提供するコンテンツ提供装置は、中継装置を介してリクエストパケットを受け取ると、その名前に対応するコンテンツのデータパケットを、中継装置を介して端末装置へ送出する。
【０００５】
ここで、中継装置は、データパケットを中継するだけでなく、受信したデータパケットを記憶する。そして、中継装置は、記憶しているデータパケットと同一のコンテンツを要求する端末装置からリクエストパケットを受信した場合、記憶しているデータパケットを、端末装置に送信する。
【０００６】
また、コンテンツ指向型のネットワークを利用したサービス指向型のネットワークに関するシステムが提案されている。
【０００７】
例えば、非特許文献２は、サービスを要求するユーザの端末装置と、サービスを提供するサービス提供装置が、複数の中継装置を介して相互接続されたサービス指向型のネットワークを開示している。このサービス指向型のネットワークにおいて、端末装置は、サービスの名前（以降、「サービス名」と記載）と、サービスを提供するために必要なパラメータ（以降、「サービスパラメータ」と記載）を指定したリクエストパケットを送出する。
【０００８】
そして、リクエストパケットを受信した中継装置は、リクエストパケットに記述されたサービス名に基づき、適切なサービス名に対応するサービス提供装置へリクエストパケットを転送する。リクエストパケットを受信したサービス提供装置は、リクエストパケットに記載されたサービス名に基づいた処理を行い、中継装置を介して、リクエストされたサービスの応答（サービスの応答データ）をデータパケットとして端末装置に送信する。
【０００９】
また、中継装置は、データパケットを中継するだけでなく、受信したデータパケットを記憶する。そして、中継装置は、記憶しているデータパケットと同一のサービスを要求する端末装置からリクエストパケットを受信した場合、記憶しているデータパケットを利用してリクエストされたサービスの応答を、端末装置に送信する。
【００１０】
また、特許文献２には、ネットワークにおける特定サービスの最適ルーティング方法が開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許第８３８６６２２号明細書
【特許文献２】国際公開第２００５／００６６７１号
【非特許文献】
【００１２】
【非特許文献１】Ｖａｎ  Ｊａｃｏｂｓｏｎ、Ｄｉａｎａ  Ｋ．  Ｓｍｅｔｔｅｒｓ、Ｊａｍｅｓ  Ｄ．  Ｔｈｏｒｎｔｏｎ、Ｍｉｃｈａｅｌ  Ｆ．  Ｐｌａｓｓ、Ｎｉｃｈｏｌａｓ  Ｈ．  Ｂｒｉｇｇｓ、Ｒｅｂｅｃｃａ  Ｌ．  Ｂｒａｙｎａｒｄ、「Ｎｅｔｗｏｒｋｉｎｇ  Ｎａｍｅｄ  Ｃｏｎｔｅｎｔ」、ＡＣＭ  ＣｏＮＥＸＴ、２００９
【非特許文献２】Ｔｏｒｓｔｅｎ  Ｂｒａｕｎ、Ｖｏｌｋｅｒ  Ｈｉｌｔ、Ｍａｒｋｕｓ  Ｈｏｆｍａｎｎ、Ｉｖｉｃａ  Ｒｉｍａｃ、Ｍｏｒｉｔｚ  Ｓｔｅｉｎｅｒ、Ｍａｔｔｅｏ  Ｖａｒｖｅｌｌｏ、「Ｓｅｒｖｉｃｅ−Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ、２０１１
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、コンテンツ指向型又はサービス指向型のネットワーク上でのコンテンツ提供システムやサービス提供システムにおけるリクエストパケットのルーティングに関して、さらなる改善が必要とされていた。
【００１４】
本開示は、上述の事情を鑑みてなされたもので、端末装置が素早くコンテンツ又はサービスの応答を取得できるとともに、コンテンツ又はサービスの提供に必要となるネットワーク帯域等のリソース消費を削減することができる提供システム、提供装置、中継装置及びその通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
このような課題を解決するために、本開示の一態様に係る提供システムは、コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて通信を行う提供対象データ指向型のネットワークを介して、前記提供対象データを提供する提供システムであって、前記提供対象データを提供する提供装置と、前記提供対象データを取得する端末装置と、前記提供装置及び前記端末装置に前記提供対象データ指向型のネットワークを介して接続され、前記提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継する中継装置とを備え、前記端末装置は、第一の提供対象データを識別するための第一の名前識別情報を含む第一のリクエストパケットを送信する送信部と、前記第一のリクエストパケットに対応するデータパケットを受信する受信部とを備え、前記提供装置は、前記第一の名前識別情報と、前記第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報とを記憶し、前記マスター提供装置として前記提供装置が動作する場合、前記装置名識別情報を前記中継装置及び他の提供装置に対して広告するマスター情報制御部と、前記第一の提供対象データを前記マスター提供装置から取得して前記端末装置に提供するスレーブ提供装置として前記提供装置が動作する場合、前記第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データを保持していないときは、前記マスター情報制御部に記憶されている前記装置名識別情報と、前記第一の名前識別情報とを含む第二のリクエストパケットを送信する提供用リクエスト処理部とを備え、前記中継装置は、前記提供対象データを記憶するデータ記憶部と、前記リクエストパケットのエントリーを記憶するリクエスト記憶部と、前記リクエストパケットの経路情報を記憶する経路情報記憶部と、前記リクエストパケット及び前記データパケットを送信又は受信するインタフェース部と、前記第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第一のリクエストパケットと同一のリクエストパケットのエントリーが前記リクエスト記憶部に記憶されていない場合、前記第一の名前識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第一のリクエストパケットを転送するとともに、前記第一の名前識別情報と、前記第一のリクエストパケットを受信した前記インタフェース部を識別するための受信インタフェース情報とを、前記第一のリクエストパケットのエントリーとして前記リクエスト記憶部に記憶させ、また、前記第二のリクエストパケットを受信し、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されていない場合、前記装置名識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第二のリクエストパケットを転送するとともに、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送する前記インタフェース部を識別するための出力インタフェース情報とに基づき、前記リクエスト記憶部に記憶されている前記受信インタフェース情報を更新する中継用リクエスト処理部とを備える。
【発明の効果】
【００１６】
本開示によれば、端末装置が素早くコンテンツ又はサービスの応答を取得できるとともに、コンテンツ又はサービスの提供に必要となるネットワーク帯域等のリソース消費を削減することができる。
【図面の簡単な説明】
【００１７】
【図１】本開示の一実施の形態におけるコンテンツ提供システムの構成の一例を示す図である。
【図２】図１に示す中継装置に記憶される経路情報の一例を示す図である。
【図３】図１に示すコンテンツ提供装置の構成の一例を示すブロック図である。
【図４】図３に示すマスター情報制御部が保持するコンテンツ名とマスターコンテンツ提供装置の独自の名前情報との一例を示す図である。
【図５】図３に示すコンテンツ提供装置が第一のリクエストパケットを受信した場合の、リクエスト処理部の動作の一例を示すフローチャートである。
【図６】図３に示すコンテンツ提供装置が第二のリクエストパケットを受信した場合の、リクエスト処理部の動作の一例を示すフローチャートである。
【図７】図１に示す端末装置の構成の一例を示すブロック図である。
【図８】図１に示す中継装置の構成の一例を示すブロック図である。
【図９】図１に示す中継装置の各経路情報記憶部に記憶される経路情報の他の一例を示す図である。
【図１０】図８に示す中継装置における第二のリクエストパケットの受信動作の一例を示すフローチャートである。
【図１１】第一のリクエストパケットが転送されたときに図１に示す中継装置の各リクエスト記憶部に記憶されるエントリーの一例を示す図である。
【図１２】第二のリクエストパケットが転送されたときに図１に示す中継装置の各リクエスト記憶部に記憶されるエントリーの一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本開示の基礎となった知見について説明する。
【００１９】
ＣＣＮでは、ユーザの端末装置がコンテンツデータを取得するために、コンテンツデータが存在する場所でなく、コンテンツデータ自体の名前を指定したリクエストパケットをネットワークに送出する。そして、コンテンツを提供するコンテンツ提供装置は、リクエストパケットを受け取ると、その名前に対応するコンテンツデータのデータパケットを送出する。
【００２０】
リクエストパケットを中継する中継装置は、ＦＩＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）と呼ばれる経路情報記憶部に経路情報を記憶し、この経路情報記憶部の経路情報に従って、端末装置又は他の中継装置から送信されるリクエストパケットをコンテンツ提供装置又は他の中継装置に転送する。また、中継装置は、ＰＩＴ（Ｐｅｎｄｉｎｇ  Ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ）と呼ばれるリクエスト記憶部と、Ｃｏｎｔｅｎｔ  Ｓｔｏｒｅと呼ばれるデータ記憶部とを持ち、コンテンツ提供装置又は他の中継装置から送信されるデータパケットを、リクエストパケットを送信した端末装置又は他の中継装置に転送する。
【００２１】
ここで、中継装置は、リクエストパケットを受信したとき、リクエストパケットに記載された名前を含むデータパケットがデータ記憶部に存在した場合、リクエストパケットを転送することなく、リクエストパケットを受信したインタフェース部から、データ記憶部に記憶されているデータパケットを送信する。
【００２２】
一方、中継装置は、データ記憶部に、受信したリクエストパケットに記載された名前を含むデータパケットが存在せず、且つ、リクエスト記憶部に、リクエストパケットに記載された名前に対応するエントリーが存在しない場合、リクエスト記憶部に、リクエストパケットに記載された名前と、リクエストパケットを受信したインタフェース部を識別するための受信インタフェース情報（以下、「受信ＩＦ」とも記載）とを含むエントリーを記憶する。
【００２３】
そして、中継装置は、受信したリクエストパケットを、経路情報に従い、コンテンツ提供装置又は他の中継装置に転送する。但し、中継装置は、リクエストパケットに記載された名前と同一の名前がリクエスト記憶部に存在した場合、リクエストパケットを転送することなく、既に存在する同一の名前と同じエントリーに、リクエストパケットを受信したインタフェース部を識別するための受信インタフェース情報を記憶する。
【００２４】
また、中継装置は、データパケットを受信すると、データ記憶部にデータパケットを記憶する。但し、新たなデータパケットを記憶する領域がデータ記憶部にない場合、中継装置は、データ記憶部に記憶した時刻から所定時間が経過したデータパケットをデータ記憶部から消去する。
【００２５】
そして、中継装置は、リクエスト記憶部の情報に従い、データパケットの持つ名前と同一の名前が記載された複数のリクエストパケットを受信した１つ以上のインタフェース部に応じて、データパケットを複製して、複製したデータパケットをその１つ以上のインタフェース部を介して転送する。その後、中継装置は、転送したデータパケットが持つ名前と、その名前に一致するリクエストパケットを受信したインタフェースの情報とをリクエスト記憶部から消去する。
【００２６】
このように、ＣＣＮでは、中継装置にリクエスト記憶部とデータ記憶部とを最大限に活用させることにより、同一のコンテンツを複数の端末装置に効率よくデータ配信を行うことができる。
【００２７】
さらに、ＣＣＮでは、ネットワーク上に分散配置させた複数のコンテンツ提供装置が同一のコンテンツを保持していた場合、コンテンツを要求する端末装置に対して、端末装置により近いコンテンツ提供装置からコンテンツを配信することができる。
【００２８】
ネットワーク上に分散配置させた複数のコンテンツ提供装置間で同一のコンテンツを共有する方法は、大きく分けて２つある。１つ目は、マスターコンテンツ提供装置となる１つのコンテンツ提供装置からスレーブコンテンツ提供装置となる複数のコンテンツ提供装置に対して、事前にコンテンツを配信する方法である。この方法では、スレーブコンテンツ提供装置に対して端末装置からコンテンツに対するリクエストパケットが届くかどうかに関わらず、コンテンツ提供装置間でコンテンツを共有するため、ネットワーク帯域やスレーブとなるコンテンツ提供装置のコンテンツを保持する記憶容量を消費するという課題があった。
【００２９】
２つ目は、スレーブコンテンツ提供装置が端末装置からコンテンツに対するリクエストパケットを受信し、コンテンツを保持していない場合に、スレーブコンテンツ提供装置がマスターコンテンツ提供装置からコンテンツを取得した後、端末装置に配信する方法である。この方法では、端末装置がコンテンツを取得するまでの時間が増加するという課題があった。
【００３０】
また、特許文献２では、ネットワークにおける特定サービスの最適ルーティング方法が開示されている。これは、サーバで提供するサービス内容に関する情報をルータ間の経路制御プロトコルを使って登録及び更新する。そして、ルータがクライアントにより送信したサービスアクセス要求の宛先情報を選択的に変更して最適な宛先にルーティングする。また、ミラーサーバがマスターサーバと同一のサービス内容が提供可能である場合、サービス内容更新を示すメッセージをミラーサーバが接続するルータに通知するというものである。
【００３１】
しかしながら、このような方法では、新たなコンテンツやサービスの追加が頻繁に行われた場合、経路制御の制御パケットの送受信量が多くなり、ルータの処理負荷が高くなるという課題があった。
【００３２】
上記課題を解決するために、本開示の一態様に係る提供システムは、コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて通信を行う提供対象データ指向型のネットワークを介して、前記提供対象データを提供する提供システムであって、前記提供対象データを提供する提供装置と、前記提供対象データを取得する端末装置と、前記提供装置及び前記端末装置に前記提供対象データ指向型のネットワークを介して接続され、前記提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継する中継装置とを備え、前記端末装置は、第一の提供対象データを識別するための第一の名前識別情報を含む第一のリクエストパケットを送信する送信部と、前記第一のリクエストパケットに対応するデータパケットを受信する受信部とを備え、前記提供装置は、前記第一の名前識別情報と、前記第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報とを記憶し、前記マスター提供装置として前記提供装置が動作する場合、前記装置名識別情報を前記中継装置及び他の提供装置に対して広告するマスター情報制御部と、前記第一の提供対象データを前記マスター提供装置から取得して前記端末装置に提供するスレーブ提供装置として前記提供装置が動作する場合、前記第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データを保持していないときは、前記マスター情報制御部に記憶されている前記装置名識別情報と、前記第一の名前識別情報とを含む第二のリクエストパケットを送信する提供用リクエスト処理部とを備え、前記中継装置は、前記提供対象データを記憶するデータ記憶部と、前記リクエストパケットのエントリーを記憶するリクエスト記憶部と、前記リクエストパケットの経路情報を記憶する経路情報記憶部と、前記リクエストパケット及び前記データパケットを送信又は受信するインタフェース部と、前記第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第一のリクエストパケットと同一のリクエストパケットのエントリーが前記リクエスト記憶部に記憶されていない場合、前記第一の名前識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第一のリクエストパケットを転送するとともに、前記第一の名前識別情報と、前記第一のリクエストパケットを受信した前記インタフェース部を識別するための受信インタフェース情報とを、前記第一のリクエストパケットのエントリーとして前記リクエスト記憶部に記憶させ、また、前記第二のリクエストパケットを受信し、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されていない場合、前記装置名識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第二のリクエストパケットを転送するとともに、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送する前記インタフェース部を識別するための出力インタフェース情報とに基づき、前記リクエスト記憶部に記憶されている前記受信インタフェース情報を更新する中継用リクエスト処理部とを備える。
【００３３】
この構成によれば、同じコンテンツ又はサービスを提供する提供装置間で必要となるコンテンツ又はサービスのみを効率的に共有することができる。また、スレーブ提供装置となる提供装置が端末装置からコンテンツに対する第一のリクエストパケットを受信し、且つコンテンツ又はサービスの応答を保持していない場合に、マスター提供装置となる提供装置からスレーブ提供装置となる提供装置と、端末装置とに、コンテンツ又はサービスの応答が同時に配信されるため、端末装置がコンテンツ又はサービスの応答を取得するまでの時間が短縮できる。
【００３４】
この結果、端末装置が素早くコンテンツ又はサービスの応答を取得できるとともに、コンテンツ又はサービスの提供に必要となるネットワーク帯域等のリソース消費を削減することができる。
【００３５】
前記装置名識別情報は、前記マスター提供装置のみが前記中継装置に広告する名前プリフィックス、及び、前記マスター提供装置が独自に定義した名前識別情報の少なくとも一部のいずれか一方を含むようにしてもよい。
【００３６】
この構成によれば、既存のコンテンツ指向型又はサービス指向型を利用しながら、スレーブ提供装置となる提供装置及び中継装置がマスター提供装置を容易に且つ確実に識別することができる。
【００３７】
前記中継用リクエスト処理部は、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第二のリクエストパケットに含まれる前記第一の名前識別情報を含むエントリーが前記リクエスト記憶部に記憶され、且つ、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送するインタフェース部を識別するための前記出力インタフェース情報とが一致しない場合、前記リクエスト記憶部に記憶されている前記受信インタフェース情報に、前記第二のリクエストパケットを受信したインタフェース部を識別するための受信インタフェース情報を追加するようにしてもよい。
【００３８】
この構成によれば、マスター提供装置から提供される第一の提供対象データを、既に記憶しているエントリーの受信インタフェース情報を用いて、端末装置へ転送することができるとともに、追加した受信インタフェース情報を用いて、スレーブ提供装置にも転送することができる。
【００３９】
前記中継用リクエスト処理部は、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第二のリクエストパケットに含まれる前記第一の名前識別情報を含むエントリーが前記リクエスト記憶部に記憶され、且つ、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送するインタフェース部を識別するための前記出力インタフェース情報とが一致する場合、前記リクエスト記憶部に記憶されている前記受信インタフェース情報を消去して前記第二のリクエストパケットを受信したインタフェース部を識別するための受信インタフェース情報に書き換えるようにしてもよい。
【００４０】
この構成によれば、既に記憶しているエントリーの受信インタフェース情報を、第二のリクエストパケットを受信したインタフェース部を識別するための受信インタフェース情報に書き換えているので、マスター提供装置から提供される第一の提供対象データを、不要に転送することなく、スレーブ提供装置に転送することができる。
【００４１】
前記中継用リクエスト処理部は、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第二のリクエストパケットに含まれる前記第一の名前識別情報を含むエントリーが前記リクエスト記憶部に記憶されていない場合、前記リクエスト記憶部に、前記第一の名前識別情報と、前記第二のリクエストパケットを受信したインタフェース部を識別するための受信インタフェース情報とを含むエントリーを追加するようにしてもよい。
【００４２】
この構成によれば、追加したエントリーを用いて、マスター提供装置から提供される第一の提供対象データを、第二のリクエストパケットを送信した他の中継装置に転送することができる。
【００４３】
前記第二のリクエストパケットは、前記第二のリクエストパケットが前記第一のリクエストパケットと異なるリクエストパケットであることを示すリクエスト経路制御フラグをさらに含むようにしてもよい。
【００４４】
この構成によれば、リクエスト経路制御フラグにより、第二のリクエストパケットを第一のリクエストパケットと区別することができ、第一のリクエストパケットに対しては従来の第一のリクエストパケット用の処理を実行し、第二のリクエストパケットに対して、上記の第二のリクエストパケット用の処理を適切に実行することができる。
【００４５】
前記提供装置は、前記マスター提供装置として前記提供装置が動作しない場合は、前記端末装置が送信する前記第一のリクエストパケットを受信するために、前記提供装置の名前プリフィックスを前記中継装置に対して広告する経路情報処理部をさらに備えるようにしてもよい。
【００４６】
この構成によれば、提供装置がマスター提供装置として動作しない場合、提供装置の名前プリフィックスを中継装置に対して広告しているので、既存のコンテンツ指向型又はサービス指向型のネットワークを用いて第一のリクエストパケットを適切に処理することができる。
【００４７】
本開示の他の一態様に係る提供装置は、コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて前記提供対象データの通信を行う提供対象データ指向型のネットワークを介して、前記提供対象データを取得する端末装置と、前記提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継する中継装置とに接続され、前記提供対象データを提供する提供装置であって、前記端末装置が送信する第一のリクエストパケットに含まれる、第一の提供対象データを識別するための第一の名前識別情報と、前記第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報とを記憶し、前記マスター提供装置として前記提供装置が動作する場合、前記装置名識別情報を前記中継装置及び他の提供装置に対して広告するマスター情報制御部と、前記第一の提供対象データを前記マスター提供装置から取得して前記端末装置に提供するスレーブ提供装置として前記提供装置が動作する場合、前記第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データを保持していないときは、前記マスター情報制御部に記憶されている前記装置名識別情報と、前記第一の名前識別情報とを含む第二のリクエストパケットを送信する提供用リクエスト処理部とを備える。
【００４８】
この構成によれば、端末装置が送信する第一のリクエストパケットに含まれる、第一の提供対象データを識別するための第一の名前識別情報と、第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報とを記憶し、マスター提供装置として動作する場合、装置名識別情報を中継装置及び他の提供装置に対して広告し、スレーブ提供装置として動作する場合、第一のリクエストパケットを受信し、第一の名前識別情報に対応する第一の提供対象データを保持していないときは、記憶している装置名識別情報と、第一の名前識別情報とを含む第二のリクエストパケットを送信し、一方、マスター提供装置として動作する場合は、装置名識別情報を中継装置及び他の提供装置に対して広告しているので、第一のリクエストパケットが要求する第一の提供対象データを保持していない場合は、スレーブ提供装置として、マスター提供装置に第二のリクエストパケットを送信することができるとともに、第一の提供対象データを保持している場合は、マスター提供装置として、第二のリクエストパケットが要求する第一の提供対象データをスレーブ提供装置及び端末装置に提供することができる。この結果、端末装置が素早くコンテンツ又はサービスの応答を取得できるとともに、コンテンツ又はサービスの提供に必要となるネットワーク帯域等のリソース消費を削減することができる。
【００４９】
本開示の他の一態様に係る中継装置は、コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて前記提供対象データの通信を行う提供対象データ指向型のネットワークを介して、前記提供対象データを取得する端末装置と、前記提供対象データを提供する提供装置とに接続され、前記提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継する中継装置であって、前記提供対象データを記憶するデータ記憶部と、前記リクエストパケットのエントリーを記憶するリクエスト記憶部と、前記リクエストパケットの経路情報を記憶する経路情報記憶部と、前記リクエストパケット及び前記データパケットを送信又は受信するインタフェース部と、第一の提供対象データを識別するための第一の名前識別情報を含む第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第一のリクエストパケットと同一のリクエストパケットのエントリーが前記リクエスト記憶部に記憶されていない場合、前記第一の名前識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第一のリクエストパケットを転送するとともに、前記第一の名前識別情報と、前記第一のリクエストパケットを受信した前記インタフェース部を識別するための受信インタフェース情報とを、前記第一のリクエストパケットのエントリーとして前記リクエスト記憶部に記憶させ、また、前記第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報と、前記第一の名前識別情報とを含む第二のリクエストパケットを受信し、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されていない場合、前記装置名識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第二のリクエストパケットを転送するとともに、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送するインタフェース部を識別するための出力インタフェース情報とに基づき、前記リクエスト記憶部に記憶されている前記受信インタフェース情報を更新する中継用リクエスト処理部とを備える。
【００５０】
本開示の他の一態様に係る通信方法は、コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて前記提供対象データの通信を行う提供対象データ指向型のネットワークを介して、前記提供対象データを取得する端末装置と、前記提供対象データを提供する提供装置とに接続され、前記提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継し、前記提供対象データを記憶するデータ記憶部と、前記リクエストパケットのエントリーを記憶するリクエスト記憶部と、前記リクエストパケットの経路情報を記憶する経路情報記憶部と、前記リクエストパケット及び前記データパケットを送信又は受信するインタフェース部とを備える中継装置における通信方法であって、第一の提供対象データを識別するための第一の名前識別情報を含む第一のリクエストパケットを受信し、前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されておらず、且つ、前記第一のリクエストパケットと同一のリクエストパケットのエントリーが前記リクエスト記憶部に記憶されていない場合、前記第一の名前識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第一のリクエストパケットを転送するとともに、前記第一の名前識別情報と、前記第一のリクエストパケットを受信した前記インタフェース部を識別するための受信インタフェース情報とを、前記第一のリクエストパケットのエントリーとして前記リクエスト記憶部に記憶させ、また、前記第一の提供対象データを提供するマスター提供装置を識別するための装置名識別情報と、前記第一の名前識別情報とを含む第二のリクエストパケットを受信し、前記第二のリクエストパケットに含まれる前記第一の名前識別情報に対応する前記第一の提供対象データが前記データ記憶部に記憶されていない場合、前記装置名識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第二のリクエストパケットを転送するとともに、前記第一の名前識別情報に対応付けて前記リクエスト記憶部に記憶されている前記受信インタフェース情報と、前記第二のリクエストパケットを転送するインタフェース部を識別するための出力インタフェース情報とに基づき、前記リクエスト記憶部に記憶されている前記受信インタフェース情報を更新する。
【００５１】
これらの構成によれば、第一の提供対象データを識別するための第一の名前識別情報を含む第一のリクエストパケットを受信したとき、第一の名前識別情報に対応する第一の提供対象データがデータ記憶部に記憶されておらず、且つ、第一のリクエストパケットと同一のリクエストパケットのエントリーがリクエスト記憶部に記憶されていない場合、前記第一の名前識別情報と、前記経路情報記憶部に記憶された経路情報とを基に、前記第一のリクエストパケットを転送するとともに、第一の名前識別情報と、第一のリクエストパケットを受信した前記インタフェース部を識別するための受信インタフェース情報とを、第一のリクエストパケットのエントリーとしてリクエスト記憶部に記憶させているので、第一のリクエストパケットが要求する第一の提供対象データを保持していない場合は、第一のリクエストパケットを適切に処理することができる。
【００５２】
また、第二のリクエストパケットを受信したとき、第二のリクエストパケットに含まれる第一の名前識別情報に対応する第一の提供対象データがデータ記憶部に記憶されていない場合、装置名識別情報と、経路情報記憶部に記憶された経路情報とを基に、第二のリクエストパケットを転送するとともに、第一の名前識別情報に対応付けてリクエスト記憶部に記憶されている受信インタフェース情報と、第二のリクエストパケットを転送するインタフェース部を識別するための出力インタフェース情報とに基づき、リクエスト記憶部に記憶された受信インタフェース情報を更新しているので、第二のリクエストパケットが要求する第一の提供対象データを保持していない場合は、第二のリクエストパケットを、第二のリクエストパケットが要求する第一の提供対象データを保持しているマスター提供装置に転送し、マスター提供装置から、第二のリクエストパケットが要求する第一の提供対象データをスレーブ提供装置及び端末装置に提供することができる。この結果、端末装置が素早くコンテンツ又はサービスの応答を取得できるとともに、コンテンツ又はサービスの提供に必要となるネットワーク帯域等のリソース消費を削減することができる。
【００５３】
なお、本開示では、コンテンツ指向型のネットワーク上でのコンテンツ提供装置が配信するコンテンツの名前を含むリクエストパケットを使ったコンテンツの提供システム等に関して記載しているが、この例に特に限定されず、サービス指向型のネットワーク上で、サービスの名前と、サービス提供に必要なパラメータとを含むリクエストパケットを使ったサービスの提供システム等として実現されてもよい。
【００５４】
また、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【００５５】
（実施の形態）
［コンテンツ提供システムの構成］
図１は、本開示の一実施の形態におけるコンテンツ提供システムの構成の一例を示す図である。
【００５６】
図１に示すコンテンツ提供システムは、複数のコンテンツ提供装置１１ａ、１１ｂ（以下、コンテンツ提供装置１１とも記載）と、複数の端末装置１２ａ、１２ｂ（以下、端末装置１２とも記載）と、複数の中継装置１３ａ〜１３ｆ（以下、中継装置１３とも記載）とを備える。図１では、コンテンツ指向型のネットワーク１０上で、同一のコンテンツを提供（配信）するコンテンツ提供装置１１と、端末装置１２とが、中継装置１３を介して相互接続されている。
【００５７】
コンテンツ提供装置１１は、同一のコンテンツを配信するために、例えば、「／ａｂｃ」という同じ名前Ｐｒｅｆｉｘを中継装置１３に対して広告することができる。ここで、名前Ｐｒｅｆｉｘ（名前プリフィックス）は、コンテンツを識別するための名前識別情報の先頭から所定範囲の部分（接頭部分）を意味し、経路制御プロトコルに従うメッセージ交換により各中継装置１３に伝えられる。中継装置１３は、後述する経路情報記憶部に経路情報を保存し、経路情報は、名前Ｐｒｅｆｉｘと、後述する出力用のインタフェース部を識別するための出力インタフェース情報（以下、出力ＩＦと記載）との組合せで構成される。
【００５８】
中継装置１３は、受信したリクエストパケットを転送する際、リクエストパケットに記載された名前に基づいて経路情報を探索し、最長一致する名前Ｐｒｅｆｉｘに対応する出力ＩＦのインタフェース部からリクエストパケットを送出する。
【００５９】
図１に示すように、同一のコンテンツを配信するために、同一の名前Ｐｒｅｆｉｘを中継装置１３に対して広告する複数のコンテンツ提供装置１１がコンテンツ指向型のネットワーク１０上に分散配置されている場合、中継装置１３には、例えば、より近い（経由するリンクの数が少ない）コンテンツ提供装置１１の経路情報が記憶される。
【００６０】
図２は、図１に示す中継装置１３ａ〜１３ｆに記憶される経路情報の一例を示す図であり、図２の（ａ）〜（ｆ）は、中継装置１３ａ〜１３ｆの経路情報記憶部に記憶される経路情報を示している。例えば、中継装置１３ｃでは、名前Ｐｒｅｆｉｘとして「／ａｂｃ」を広告するコンテンツ提供装置１１ａ、１１ｂの内、コンテンツ提供装置１１ａがより近いと判断されると、図２の（ｃ）に示すように、中継装置１３ｃの経路情報記憶部には、名前Ｐｒｅｆｉｘの「／ａｂｃ」に対して、コンテンツ提供装置１１ａに向けた経路情報となる出力ＩＦに「ＩＦ２」が記憶される。
【００６１】
例えば、コンテンツ提供装置１１ａ、１１ｂは、名前が「／ａｂｃ／ｘｙｚ．ｍｏｖ」のコンテンツを保持し、端末装置１２ａは、「／ａｂｃ／ｘｙｚ．ｍｏｖ」というコンテンツの名前を含むリクエストパケットを送信する。中継装置１３ａは、端末装置１２ａが送信したリクエストパケット受信すると、中継装置１３ａ内に「／ａｂｃ／ｘｙｚ．ｍｏｖ」に関するエントリーがない場合、図２の（ａ）に示す経路情報を探索し、最長一致する名前Ｐｒｅｆｉｘに対応する出力ＩＦである「ＩＦ２」のインタフェース部を用いて、リクエストパケットを転送する。
【００６２】
これと同様に、中継装置１３ｂでも、上記のリクエストパケットが転送された結果、端末装置１２ａに最も近いコンテンツ提供装置１１ａにリクエストパケットを送信し、コンテンツ提供装置１１ａは、リクエストパケットを受信し、名前が「／ａｂｃ／ｘｙｚ．ｍｏｖ」のコンテンツをデータパケットとして送信する。
【００６３】
このように、ＣＣＮを代表とするコンテンツ指向型のネットワークでは、ネットワーク上に分散配置させた複数のコンテンツ提供装置１１が同一の名前Ｐｒｅｆｉｘを中継装置１３に広告し、さらに同一のコンテンツを予め共有することで、コンテンツを要求する端末装置１２に対して、端末装置１２により近いコンテンツ提供装置１１からコンテンツを配信することができる。このように、図１のコンテンツ提供装置１１ａ、１１ｂは、例えば、名前Ｐｒｅｆｉｘとして、同一の「／ａｂｃ」を有し、同じコンテンツを配信する機能を有する。
【００６４】
また、コンテンツ提供装置１１ａは、マスターコンテンツ提供装置として、任意のコンテンツを生成し、スレーブコンテンツ提供装置（例えば、コンテンツ提供装置１１ｂ）に配信する機能を有する。コンテンツ提供装置１１ａは、マスターコンテンツ提供装置として、独自の名前情報、例えば、図１に示す名前Ｐｒｅｆｉｘの「／ａｂｃ／ｍａｓｔｅｒ」）を有している。ここで、独自の名前情報は、他のコンテンツ提供装置からマスターコンテンツ提供装置を識別するための装置名識別情報である。
【００６５】
また、コンテンツ提供装置１１ｂは、スレーブコンテンツ提供装置として、マスターコンテンツ提供装置（例えば、コンテンツ提供装置１１ａ）から取得した任意のコンテンツを配信する機能を有する。上記の名前Ｐｒｅｆｉｘの「／ａｂｃ」及び「／ａｂｃ／ｍａｓｔｅｒ」は、経路情報として、コンテンツ提供装置１１ａ、１１ｂから中継装置１３に通知される。
【００６６】
ここで、コンテンツ指向型のネットワーク１０は、コンテンツ及びサービスのうち少なくとも一方を含む提供対象データを識別するための名前識別情報を用いて通信を行う提供対象データ指向型のネットワークの一例に相当し、コンテンツ提供装置１１は、提供対象データを提供する提供装置の一例に相当し、端末装置１２は、提供対象データを取得する端末装置の一例に相当し、中継装置１３は、提供装置及び端末装置に提供対象データ指向型のネットワークを介して接続され、提供対象データの提供に用いられるリクエストパケット及びデータパケットを中継する中継装置の一例に相当する。
【００６７】
［コンテンツ提供装置の構成］
図３は、図１に示すコンテンツ提供装置１１の詳細構成の一例を示すブロック図である。
【００６８】
図３に示すコンテンツ提供装置１１（コンテンツ提供装置１１ａ、１１ｂ）は、２個のインタフェース部１１０１ａ、１１０１ｂと、経路情報処理部１１０２と、マスター情報制御部１１０３と、リクエスト処理部１１０４と、データ処理部１１０５と、経路情報記憶部１１０６と、リクエスト記憶部１１０７と、データ生成部１１０８と、データ蓄積部１１０９とを備える。
【００６９】
インタフェース部１１０１ａ、１１０１ｂは、コンテンツ提供装置１１と接続される他の装置との通信インタフェースであり、データ及びパケットを受信する受信用インタフェース、又は、データ及びパケットを送信又は転送する出力用インタフェースとして機能する。したがって、インタフェース部１１０１ａ、１１０１ｂを特定することにより、コンテンツ提供装置１１と接続される装置との経路を特定することができる。以下のインタフェース部も上記と同様である。
【００７０】
なお、インタフェース部１１０１ａ、１１０１ｂの構成は、上記の例に特に限定されず、１つ又は３つ以上のインタフェース部を用いたり、１つのインタフェース部を論理的に複数のインタフェース部として使用したりする等の種々の変更が可能である。
【００７１】
経路情報処理部１１０２は、インタフェース部１１０１ａ、１１０１ｂを介して、リクエストパケットを送信するための経路情報を受信する。経路情報記憶部１１０６は、経路情報処理部１１０２が受信した経路情報を保持する。
【００７２】
また、経路情報処理部１１０２は、コンテンツ提供装置１１がマスターコンテンツ提供装置として動作しない場合は、端末装置１２が送信する第一のリクエストパケットを受信するために、コンテンツ提供装置１１の名前プリフィックスを中継装置１３等に対して広告する。
【００７３】
マスター情報制御部１１０３は、コンテンツを識別するためのコンテンツに関する名前（名前識別情報の一例）と、当該コンテンツを提供するマスターコンテンツ提供装置を識別するための独自の名前情報（装置名識別情報の一例）とを記憶しており、コンテンツ提供装置１１がマスターコンテンツ提供装置もしくはスレーブコンテンツ提供装置であるかに応じて動作が異なる。
【００７４】
コンテンツ提供装置１１がマスターコンテンツ提供装置（例えば、コンテンツ提供装置１１ａ）の場合、マスター情報制御部１１０３は、マスターコンテンツ提供装置が生成及び蓄積するコンテンツに関する名前（以降、「コンテンツ名」と記載）と、マスターコンテンツ提供装置が持つ独自の名前情報とを、スレーブコンテンツ提供装置となる１つ以上のコンテンツ提供装置（例えば、コンテンツ提供装置１１ｂ）及び中継装置１３にインタフェース部１１０１ａ、１１０１ｂを介して通知する。
【００７５】
一方、コンテンツ提供装置１１がスレーブコンテンツ提供装置（例えば、コンテンツ提供装置１１ｂ）の場合、マスター情報制御部１１０３は、マスターコンテンツ提供装置が生成及び蓄積するコンテンツの名前と、マスターコンテンツ提供装置（例えば、コンテンツ提供装置１１ａ）が持つ独自の名前情報を取得して保持する。
【００７６】
図４は、コンテンツ提供装置１１がマスターコンテンツ提供装置の場合に、マスター情報制御部１１０３が保持するコンテンツ名７０と、マスターコンテンツ提供装置（例えば、コンテンツ提供装置１１ａ）が持つ独自の名前情報７１との一例を示す図である。
【００７７】
例えば、マスター情報制御部１１０３には、コンテンツ名７０として、コンテンツの名前全体を表す「／ａｂｃ／ｖｉｄｅｏ／ｘｙｚ．ｍｏｖ」７０ａが記憶され、このコンテンツを提供するマスターコンテンツ提供装置の独自の名前情報７１として、コンテンツ名の全体を表す「／ａｂｃ／ｍａｓｔｅｒ／ｖｉｄｅｏ／ｘｙｚ．ｍｏｖ」７１ａが対応付けて記憶される。
【００７８】
また、コンテンツ名７０として、コンテンツの名前の一部を表す「／ａｂｃ／ｖｉｄｅｏ」７０ｂが記憶され、このコンテンツを提供するマスターコンテンツ提供装置の独自の名前情報７１として、コンテンツ名の一部を表す「／ａｂｃ／ｍａｓｔｅｒ／ｖｉｄｅｏ」７１ｂが対応付けて記憶されてもよい。
【００７９】
また、コンテンツ名７０として、正規表現を含むコンテンツの名前を表す「／ａｂｃ／ｖｉｄｅｏ／＊」７０ｃが記憶され、このコンテンツを提供するマスターコンテンツ提供装置の独自の名前情報７１として、正規表現を含むコンテンツ名を表す「／ａｂｃ／ｍａｓｔｅｒ／ｖｉｄｅｏ／＊」７１ｃが対応付けて記憶されてもよい。
【００８０】
このように、コンテンツ名７０としては、コンテンツの名前全体７０ａ、又はコンテンツの名前の一部７０ｂ、又は正規表現を含むコンテンツの名前の一部７０ｃであってもよい。また、マスターコンテンツ提供装置（例えば、コンテンツ提供装置１１ａ）が持つ独自の名前情報７１については、マスターコンテンツ提供装置が生成及び蓄積する各コンテンツに対して、マスターコンテンツ提供装置が独自で定義する、コンテンツに関するコンテンツ名の全体７１ａ、又はコンテンツ名の一部７１ｂ、又は正規表現を含むコンテンツ名の一部７１ｃであってもよい。
【００８１】
また、マスターコンテンツ提供装置（例えば、コンテンツ提供装置１１ａ）が持つ独自の名前情報は、図１に示した“／ａｂｃ／ｍａｓｔｅｒ”のようなマスターコンテンツ提供装置のみが中継装置１３に広告する名前Ｐｒｅｆｉｘであってもよい。
【００８２】
再び、図３を参照して、リクエスト処理部１１０４は、インタフェース部１１０１ａ、１１０１ｂを介して、第一のリクエストパケットを受信する。リクエスト記憶部１１０７は、リクエスト処理部１１０４が受信した第一のリクエストパケットに関する情報を保持する。
【００８３】
具体的には、リクエスト処理部１１０４は、インタフェース部１１０１ａ、１１０１ｂを介して、端末装置１２が任意のコンテンツを取得するために送信したコンテンツの第一のコンテンツ名を含む第一のリクエストパケット、もしくはスレーブコンテンツ提供装置（例えば、コンテンツ提供装置１１ｂ）が送信した第二のリクエストパケットを受信する。
【００８４】
また、リクエスト処理部１１０４は、コンテンツ提供装置１１がスレーブコンテンツ提供装置として動作する場合、第一のリクエストパケットを受信し、第一のコンテンツ名に対応するコンテンツを保持していないときは、マスター情報制御部１１０３に記憶されているマスターコンテンツ提供装置の独自の名前情報と、第一のコンテンツ名とを含む第二のリクエストパケットをインタフェース部１１０１ａ、１１０１ｂを介して送信する。
【００８５】
データ処理部１１０５は、リクエスト処理部１１０４が受信した第一のリクエストパケットに対応するコンテンツがデータ蓄積部１１０９に記憶されている場合、データ蓄積部１１０９から取得したコンテンツを含む１つ以上のデータパケットを、インタフェース部１１０１ａ、１１０１ｂを介して送信する。また、データ処理部１１０５は、リクエスト処理部１１０４が送信した第二のリクエストパケットに対応するコンテンツを含む１つ以上のデータパケットを、インタフェース部１１０１ａ、１１０１ｂを介して受信する。
【００８６】
データ生成部１１０８は、コンテンツを生成する。データ蓄積部１１０９は、データ生成部１１０８で生成されたコンテンツ、もしくはデータ処理部１１０５が受信したコンテンツを、コンテンツに対応する第一のコンテンツ名又は第二のコンテンツ名と共に記憶する。
【００８７】
図５は、コンテンツ提供装置１１が第一のリクエストパケットを受信した場合の、リクエスト処理部１１０４の動作を示すフローチャートである。
【００８８】
まず、コンテンツ提供装置１１のリクエスト処理部１１０４は、第一のリクエストパケットを受信すると、第一のリクエストパケットに記載された第一のコンテンツ名を基に、リクエストされたコンテンツがデータ蓄積部１１０９に記憶されているか否かを確認する（ステップＳ１１）。
【００８９】
リクエストされたコンテンツがデータ蓄積部１１０９に記憶されていた場合（ステップＳ１１でＹＥＳ）、リクエスト処理部１１０４は、コンテンツをデータパケットとして送信し（ステップＳ１２）、処理を終了する。
【００９０】
一方、リクエストされたコンテンツがデータ蓄積部１１０９に記憶されていない場合（ステップＳ１１でＮＯ）、リクエスト処理部１１０４は、第一のリスクエストパケットと同一のリクエストパケットがリクエスト記憶部１１０７に記憶されているか否かを確認する（ステップＳ１３）。なお、ステップＳ１１においてリクエストされたコンテンツがデータ蓄積部１１０９に記憶されていた場合で、記憶されているコンテンツの有効期限が過ぎていた場合、ステップＳ１３を実行する条件を追加してもよい。
【００９１】
第一のリスクエストパケットと同一のリクエストパケットがリクエスト記憶部１１０７に記憶されていた場合（ステップＳ１３でＹＥＳ）、処理を終了する。一方、第一のリスクエストパケットと同一のリクエストパケットがリクエスト記憶部１１０７に記憶されていない場合（ステップＳ１３でＮＯ）、リクエスト処理部１１０４は、第一のコンテンツ名、もしくは第一のコンテンツ名の一部がマスター情報制御部１１０３に記憶されているか否かを確認することにより、マスターコンテンツ提供装置が存在するか否かを確認する（ステップＳ１４）。
【００９２】
第一のコンテンツ名、もしくは第一のコンテンツ名の一部がマスター情報制御部１１０３に記憶されていない場合（ステップＳ１４でＮＯ）、リクエスト処理部１１０４は、処理を終了する。一方、第一のコンテンツ名、もしくは第一のコンテンツ名の一部がマスター情報制御部１１０３に記憶されていた場合（ステップＳ１４でＹＥＳ）、リクエスト処理部１１０４は、第一のリクエストパケットに関する情報をリクエスト記憶部１１０７に記憶する（ステップＳ１５）。そして、リクエスト処理部１１０４は、第一のコンテンツ名に対応するコンテンツをマスターコンテンツ提供装置から取得するため、第二のリクエストパケットを送信し（ステップＳ１６）、処理を終了する。なお、ステップＳ１５とステップＳ１６については、処理手順を入れ替えてもよい。
【００９３】
上記の第二のリクエストパケットは、マスターコンテンツ提供装置（例えば、コンテンツ提供装置１１ａ）が持つ独自の名前情報と、リクエスト経路制御フラグと、第一のリクエストパケットに記載された第一のコンテンツ名とが含まれる。ここで、リクエスト経路制御フラグは、第二のリクエストパケットが第一のリクエストパケットと異なるリクエストパケットであることを示すフラグである。
【００９４】
例えば、リクエスト経路制御フラグは、当該フラグがオンされている場合に、当該フラグを含むリクエストパケットが第二のリクエストパケットであることを示すフラグであり、各装置では、リクエスト経路制御フラグがオンされているリクエストパケットに対して第二のリクエストパケット用の処理が実行される。なお、第二のリクエストパケットと第一のリクエストパケットとの識別方法は、上記の例に特に限定されず、第二のリクエストパケットを第一のリクエストパケットと区別できれば、リクエスト経路制御フラグを省略し、他の識別方法を用いてもよい。
【００９５】
図６は、コンテンツ提供装置１１が第二のリクエストパケットを受信した場合の、リクエスト処理部１１０４の動作の一例を示すフローチャートである。
【００９６】
まず、コンテンツ提供装置１１は、リクエスト制御フラブを含む第二のリクエストパケットを受信すると、第二のリクエストパケットに記載された第一のコンテンツ名を基に、リクエストされたコンテンツがデータ蓄積部１１０９に記憶されているか否かを確認する（ステップＳ２１）。
【００９７】
リクエストされたコンテンツがデータ蓄積部１１０９に記憶されていた場合（ステップＳ２１でＹＥＳ）、リクエスト処理部１１０４は、コンテンツを、第一のコンテンツ名を含むデータパケットとして送信し（ステップＳ２２）、処理を終了する。一方、リクエストされたコンテンツがデータ蓄積部１１０９に記憶されていない場合（ステップＳ２１でＮＯ）、リクエスト処理部１１０４は、処理を終了する。
【００９８】
［端末装置の構成］
図７は、図１に示す端末装置１２の詳細構成の一例を示すブロック図である。図７に示す端末装置１２は、２個のインタフェース部１２０１ａ、１２０１ｂと、経路情報処理部１２０２と、リクエスト送信部１２０３と、データ受信部１２０４と、経路情報記憶部１２０５と、アプリケーション部１２０６とを備える。
【００９９】
端末装置１２は、アプリケーション部１２０６から指示されたコンテンツを取得するために第一のリクエストパケットを送信し、第一のリクエストパケットに対応するコンテンツを含む１つ以上のデータパケットを受信する。
【０１００】
経路情報処理部１２０２は、インタフェース部１２０１ａ、１２０１ｂを介して、第一のリクエストパケットを送信するための経路情報を受信する。経路情報記憶部１２０５は、経路情報処理部１２０２が受信した経路情報を保持する。
【０１０１】
リクエスト送信部１２０３は、少なくともアプリケーション部１２０６が取得したい映像コンテンツや音声コンテンツといったコンテンツに対する第一のコンテンツ名を含む第一のリクエストパケットを生成する。リクエスト送信部１２０３は、生成した第一のリクエストパケットを、経路情報記憶部１２０５が保持する経路情報に従い、インタフェース部１２０１ａ、１２０１ｂを介して送信する。
【０１０２】
データ受信部１２０４は、リクエスト送信部１２０３によって送信された第一のリクエストパケットに対応するコンテンツを含む１つ以上のデータパケットを、インタフェース部１２０１ａ、１２０１ｂを介して受信し、アプリケーション部１２０６にコンテンツの情報として渡す。
【０１０３】
［中継装置の構成］
図８は、図１に示す中継装置１３の詳細構成の一例を示すブロック図である。図８に示す中継装置１３は、２個のインタフェース部１３０１ａ、１３０１ｂと、リクエスト処理部１３０２と、経路情報処理部１３０３と、データ処理部１３０４と、リクエスト記憶部１３０５と、経路情報記憶部１３０６と、データ記憶部１３０７とを備える。
【０１０４】
中継装置１３は、端末装置１２が送信する第一のリクエストパケット、スレーブコンテンツ提供装置（例えば、コンテンツ提供装置１１ｂ）が送信する第二のリクエストパケット、コンテンツ提供装置１１が送信するデータパケット、及び他の中継装置が送信するデータパケットを中継する。
【０１０５】
インタフェース部１３０１ａ、１３０１ｂは、リクエストパケット及びデータパケットを送信又は受信する。リクエスト処理部１３０２、経路情報処理部１３０３、及びデータ処理部１３０４は、それぞれリクエストパケット、データパケット、経路情報を処理する。リクエスト記憶部１３０５、経路情報記憶部１３０６、及びデータ記憶部１３０７は、それぞれＰＩＴ、ＦＩＢ、Ｃｏｎｔｅｎｔ  Ｓｔｏｒｅとしての機能を有している。リクエスト記憶部１３０５は、リクエストパケットのエントリーを記憶する。経路情報記憶部１３０６は、リクエストパケットの経路情報を記憶する。データ記憶部１３０７は、コンテンツを記憶する。
【０１０６】
リクエスト処理部１３０２は、インタフェース部１３０１ａ、１３０１ｂを介して、第一のリクエストパケットを受信し、第一のコンテンツ名に対応するコンテンツがデータ記憶部１３０７に記憶されておらず、且つ、第一のリクエストパケットと同一のリクエストパケットのエントリーがリクエスト記憶部１３０５に記憶されていない場合、マスターコンテンツ提供装置を識別するための独自の名前情報と、経路情報記憶部１３０６に記憶された経路情報とを基に、第一のリクエストパケットを転送するとともに、第一のコンテンツ名と、第一のリクエストパケットを受信したインタフェース部１３０１ａ、１３０１ｂを識別するための受信ＩＦとを、第一のリクエストパケットのエントリーとしてリクエスト記憶部１３０５に記憶させる。
【０１０７】
また、リクエスト処理部１３０２は、インタフェース部１３０１ａ、１３０１ｂを介して、第二のリクエストパケットを受信し、第二のリクエストパケットに含まれる第一のコンテンツ名に対応するコンテンツがデータ記憶部１３０７に記憶されていない場合、マスターコンテンツ提供装置を識別するための独自の名前情報と、経路情報記憶部１３０６に記憶された経路情報とを基に、第二のリクエストパケットを転送するとともに、第一のコンテンツ名に対応付けてリクエスト記憶部１３０５に記憶されている受信ＩＦと、第二のリクエストパケットを転送するインタフェース部１３０１ａ、１３０１ｂを識別するための出力ＩＦとに基づき、リクエスト記憶部１３０５に記憶された受信ＩＦを更新する。
【０１０８】
また、リクエスト処理部１３０２は、第二のリクエストパケットに含まれる第一のコンテンツ名に対応するコンテンツがデータ記憶部１３０７に記憶されておらず、且つ、第二のリクエストパケットに含まれる第一のコンテンツ名を含むエントリーがリクエスト記憶部１３０５に記憶され、且つ、第一のコンテンツ名に対応付けてリクエスト記憶部１３０５に記憶されている受信ＩＦと、第二のリクエストパケットを転送するインタフェース部１３０１ａ、１３０１ｂを識別するための出力ＩＦとが一致しない場合、リクエスト記憶部１３０５に記憶されている受信ＩＦに、第二のリクエストパケットを受信したインタフェース部１３０１ａ、１３０１ｂを識別するための受信ＩＦを追加する。
【０１０９】
また、リクエスト処理部１３０２は、第二のリクエストパケットに含まれる第一のコンテンツ名に対応するコンテンツがデータ記憶部１３０７に記憶されておらず、且つ、第二のリクエストパケットに含まれる第一のコンテンツ名を含むエントリーがリクエスト記憶部１３０５に記憶され、且つ、第一のコンテンツ名に対応付けてリクエスト記憶部１３０５に記憶されている受信ＩＦと、第二のリクエストパケットを転送するインタフェース部を識別するための出力ＩＦとが一致する場合、リクエスト記憶部１３０５に記憶されている受信ＩＦを消去して第二のリクエストパケットを受信したインタフェース部１３０１ａ、１３０１ｂを識別するための受信ＩＦに書き換える。
【０１１０】
また、リクエスト処理部１３０２は、第二のリクエストパケットに含まれる第一のコンテンツ名に対応するコンテンツがデータ記憶部１３０７に記憶されておらず、且つ、第二のリクエストパケットに含まれる第一のコンテンツ名を含むエントリーがリクエスト記憶部１３０５に記憶されていない場合、リクエスト記憶部１３０５に、第一のコンテンツ名と、第二のリクエストパケットを受信したインタフェース部１３０１ａ、１３０１ｂを識別するための受信ＩＦとを含むエントリーを追加する。
【０１１１】
以下では、中継装置１３が、スレーブコンテンツ提供装置（例えば、コンテンツ提供装置１１ｂ）が送信する第二のリクエストパケットを受信した際の処理を中心に説明する。
【０１１２】
図９は、図１に示す中継装置１３ａ〜１３ｆの各経路情報記憶部１３０６に記憶される経路情報の他の一例を示す図であり、図９の（ａ）〜（ｆ）は、中継装置１３ａ〜１３ｆの各経路情報記憶部１３０６に記憶される経路情報を示している。
【０１１３】
例えば、中継装置１３ｄでは、名前Ｐｒｅｆｉｘとして「／ａｂｃ」を広告するコンテンツ提供装置１１の内、コンテンツ提供装置１１ｂがより近いと判断されると、図９の（ｄ）に示すように、中継装置１３ｄの経路情報記憶部１３０６には、名前Ｐｒｅｆｉｘの「／ａｂｃ」に対して、コンテンツ提供装置１１ｂに向けた経路情報となる出力ＩＦに「ＩＦ２」が記憶される。また、マスターコンテンツ提供装置が持つ独自名前情報について、中継装置１３ｄの経路情報記憶部１３０６には、名前Ｐｒｅｆｉｘの「／ａｂｃ／ｍａｓｔｅｒ」に対してコンテンツ提供装置１１ａに向けた経路情報となる出力ＩＦに「ＩＦ３」が記憶される。
【０１１４】
一方、中継装置１３ｃでは、最も近いコンテンツ提供装置１１ａとマスターコンテンツ提供装置とが同一であり、さらに名前Ｐｒｅｆｉｘは階層構造を持つため、名前Ｐｒｅｆｉｘの「／ａｂｃ／ｍａｓｔｅｒ」は名前Ｐｒｅｆｉｘの「／ａｂｃ」と共通の経路となる。このため、中継装置１３ｃの経路情報記憶部１３０６には、図９の（ｃ）に示すように、名前Ｐｒｅｆｉｘの「／ａｂｃ」が記憶され、名前Ｐｒｅｆｉｘの「／ａｂｃ」に対して、コンテンツ提供装置１１ａに向けた経路情報となる出力ＩＦに「ＩＦ２」が記憶される。
【０１１５】
図１０は、図８に示す中継装置における第二のリクエストパケットの受信動作の一例を示すフローチャートである。ここで、第二のリクエストパケットは、マスターコンテンツ提供装置（例えば、コンテンツ提供装置１１ａ）が持つ独自の名前情報と、リクエスト経路制御フラグと、第一のリクエストパケットに記載された第一のコンテンツ名とを含み、スレーブコンテンツ提供装置（例えば、コンテンツ提供装置１１ｂ）が送信したリクエストパケットである。
【０１１６】
まず、第二のリクエストパケットであることを特定するリクエスト経路制御フラグを含む第二のリクエストパケットを受信した場合、リクエスト処理部１３０２は、第二のリクエストパケットに含まれる第一のコンテンツ名に対応するコンテンツがデータ記憶部１３０７に記憶されているか否かを確認する（ステップＳ３１）。
【０１１７】
第二のリクエストパケットに含まれる第一のコンテンツ名に対応するコンテンツがデータ記憶部１３０７に記憶されていた場合（ステップＳ３１でＹＥＳ）、リクエスト処理部１３０２は、第二のリクエストパケットを受信したインタフェース部１３０１ａ又は１３０１ｂから、記憶されていたコンテンツを１つ以上のデータパケットとして送信し（ステップＳ３２）、処理を終了する。
【０１１８】
一方、第二のリクエストパケットに含まれる第一のコンテンツ名に対応するコンテンツがデータ記憶部１３０７に記憶されていない場合（ステップＳ３１でＮＯ）、リクエスト処理部１３０２は、第二のリクエストパケットに含まれる第一のコンテンツ名を含むエントリーがリクエスト記憶部１３０５に記憶されているか否かを確認する（ステップＳ３３）。
【０１１９】
第二のリクエストパケットに含まれる第一のコンテンツ名を含むエントリーがリクエスト記憶部１３０５に記憶されていない場合（ステップＳ３３でＮＯ）、第一のコンテンツ名と、第二のリクエストパケットを受信した受信ＩＦの情報とを新しいエントリーとして、リクエスト記憶部１３０５に追加する（ステップＳ３７）。
【０１２０】
一方、第二のリクエストパケットに含まれる第一のコンテンツ名を含むエントリーがリクエスト記憶部１３０５に記憶されていた場合（ステップＳ３３でＹＥＳ）、リクエスト処理部１３０２は、当該エントリーに記載された受信ＩＦ（第一のリクエストパケットの受信ＩＦ）と、第二のリクエストパケットを転送する出力ＩＦが同じか否かを確認する（ステップＳ３４）。
【０１２１】
当該エントリーに記載された受信ＩＦと、第二のリクエストパケットを転送する出力ＩＦとが同じ場合（ステップＳ３４でＹＥＳ）、リクエスト処理部１３０２は、第二のリクエストパケットを転送する出力ＩＦと同一となる当該エントリーに記載された受信ＩＦの情報を消去し、当該エントリーの受信ＩＦとして、第二のリクエストパケットの受信ＩＦを追加することにより、受信ＩＦを書き換える（ステップＳ３５）。
【０１２２】
一方、当該エントリーに記載された受信ＩＦと、第二のリクエストパケットを転送する出力ＩＦとが異なる場合（ステップＳ３４でＮＯ）、リクエスト処理部１３０２は、当該エントリーの受信ＩＦに、第二のリクエストパケットの受信ＩＦを追加する（ステップＳ３６）。なお、出力ＩＦは、第二のリクエストパケットに含まれるマスターコンテンツ提供装置が持つ独自の名前情報を基に、経路情報記憶部１３０６を検索することで得られる情報であってもよい。
【０１２３】
上記のステップＳ３５、ステップＳ３６、又はステップＳ３７の処理が実行された後、リクエスト処理部１３０２は、出力ＩＦから第二のリクエストパケットを転送する（ステップＳ３８）。なお、ステップＳ３５、ステップ３６又はステップＳ３７の処理と、ステップＳ３８の処理とは、処理手順を入れ替えてもよい。
【０１２４】
［システムの効果］
図１に示すコンテンツ提供システムでは、端末装置１２ｂが第一のコンテンツ名の「／ａｂｃ／ｘｙｚ．ｍｏｖ」を含む第一のリクエストパケットを送信した場合、第一のリクエストパケットは、中継装置１３ｅと、中継装置１３ｄと、中継装置１３ｆとを経由して、最も近いコンテンツ提供装置１１ｂに転送される。
【０１２５】
図１１は、第一のリクエストパケットが転送されたときに図１に示す中継装置１３ａ〜１３ｆの各リクエスト記憶部１３０５に記憶されるエントリーの一例を示す図である。図１１に示す例は、第一のリクエストパケットがコンテンツ提供装置１１ｂに転送されたときに各中継装置１３ａ〜１３ｆのリクエスト記憶部１３０５に記憶されるエントリーを示しており、図１１の（ａ）〜（ｆ）は、中継装置１３ａ〜１３ｆの各リクエスト記憶部１３０５に記憶されるエントリーを示している。
【０１２６】
図１１の（ｄ）〜（ｆ）に示すように、複数の中継装置１３のうち、第一のリクエストパケットが通過する中継装置１３ｄ、１３ｅのリクエスト記憶部１３０５は、エントリーとして、第一のリクエストパケットに含まれる第一のコンテンツ名の「／ａｂｃ／ｖｉｄｅｏ／ｘｙｚ．ｍｏｖ」と、第一のリクエストパケットの受信ＩＦを表す「ＩＦ１」とを記憶し、中継装置１３ｆのリクエスト記憶部１３０５は、エントリーとして、第一のリクエストパケットに含まれる第一のコンテンツ名の「／ａｂｃ／ｖｉｄｅｏ／ｘｙｚ．ｍｏｖ」と、第一のリクエストパケットの受信ＩＦを表す「ＩＦ２」とを記憶している。
【０１２７】
一方、図１１の（ａ）〜（ｃ）に示すように、第一のリクエストパケットが通過しない中継装置１３ａ〜１３ｃの各リクエスト記憶部１３０５は、コンテンツ名及び受信ＩＦを記憶していない。
【０１２８】
次に、コンテンツ提供装置１１ｂは、中継装置１３ｆから第一のリクエストパケットを受信し、第一のコンテンツ名に対応するコンテンツをデータ蓄積部１１０９に保持していない場合、コンテンツ提供装置１１ｂのリクエスト処理部１１０４は、マスターコンテンツ提供装置であるコンテンツ提供装置１１ａから取得してマスター情報制御部１１０３に記憶しているコンテンツ名及び独自の名前情報とを基に、マスターコンテンツ提供装置であるコンテンツ提供装置１１ａが持つ独自の名前情報と、リクエスト経路制御フラグと、第一のリクエストパケットに記載された第一のコンテンツ名とを含む第二のリクエストパケットを作成して送信する。
【０１２９】
コンテンツ提供装置１１ｂから送信された第二のリクエストパケットは、マスターコンテンツ提供装置であるコンテンツ提供装置１１ａが持つ独自の名前情報に基づき、中継装置１３ｆと、中継装置１３ｄと、中継装置１３ｃと、中継装置１３ｂとを経由して、マスターコンテンツ提供装置であるコンテンツ提供装置１１ａに転送される。
【０１３０】
図１２は、第二のリクエストパケットが転送されたときに図１に示す中継装置１３ａ〜１３ｆの各リクエスト記憶部１３０５に記憶されるエントリーの一例を示す図である。図１２に示す例は、第二のリクエストパケットがコンテンツ提供装置１１ａに転送されたときに各中継装置１３ａ〜１３ｆのリクエスト記憶部１３０５に記憶されるエントリーを示しており、図１２の（ａ）〜（ｆ）は、中継装置１３ａ〜１３ｆの各リクエスト記憶部１３０５に記憶されるエントリーを示している。
【０１３１】
まず、図１２の（ｆ）に示すように、中継装置１３ｆのリクエスト記憶部１３０５の受信ＩＦは、図１０に示すステップＳ３５の書き換え処理により、受信ＩＦが「ＩＦ２」から「ＩＦ１」に書き換えられる。
【０１３２】
次に、図１２の（ｄ）に示すように、中継装置１３ｄのリクエスト記憶部１３０５の受信ＩＦは、図１０に示すステップＳ３６の受信ＩＦの追加処理により、受信ＩＦに「ＩＦ２」が追加され、受信ＩＦは「ＩＦ１」及び「ＩＦ２」となる。
【０１３３】
次に、図１２の（ｃ）に示すように、中継装置１３ｃのリクエスト記憶部１３０５は、図１０に示すステップＳ３７のエントリーの追加処理により、エントリーとして、第二のリクエストパケットに含まれる第一のコンテンツ名の「／ａｂｃ／ｖｉｄｅｏ／ｘｙｚ．ｍｏｖ」と、第二のリクエストパケットを受信した受信ＩＦの「ＩＦ３」とを記憶する。
【０１３４】
次に、図１２の（ｂ）に示すように、中継装置１３ｂのリクエスト記憶部１３０５は、図１０に示すステップＳ３７のエントリーの追加処理により、エントリーとして、第二のリクエストパケットに含まれる第一のコンテンツ名の「／ａｂｃ／ｖｉｄｅｏ／ｘｙｚ．ｍｏｖ」と、第二のリクエストパケットを受信した受信ＩＦの「ＩＦ２」とを記憶する。
【０１３５】
次に、マスターコンテンツ提供装置であるコンテンツ提供装置１１ａが第二のリクエストパケットを受信したとき、第二のリクエストパケットに含まれる第一のコンテンツ名と、第一のコンテンツ名に対応するコンテンツとを含む１つ以上のデータパケットを送信する。このデータパケットは、当該データパケットに含まれる第一のコンテンツ名と、中継装置１３ｂ〜１３ｆのリクエスト記憶部１３０５のエントリー（図１２の（ｂ）〜（ｆ）に示すエントリー）とに従い、スレーブコンテンツ提供装置であるコンテンツ提供装置１１ｂと、端末装置１２ｂとに同時に配信される。
【０１３６】
上記のように、本実施の形態では、同じコンテンツを配信するコンテンツ提供装置間で必要となるコンテンツのみを効率的に共有することができる。また、スレーブコンテンツ提供装置であるコンテンツ提供装置１１ｂが端末装置１２ｂからコンテンツに対する第一のリクエストパケットを受信し、且つ第一のリクエストパケットが要求するコンテンツを保持していない場合、マスターコンテンツ提供装置であるコンテンツ提供装置１１ａから、スレーブコンテンツ提供装置であるコンテンツ提供装置１１ｂと、端末装置１２ｂとにコンテンツが同時に配信されるため、端末装置１２ｂがコンテンツを取得するまでの時間を短縮することができる。
【産業上の利用可能性】
【０１３７】
本開示は、コンテンツ又はサービスの名前を指定してコンテンツ又はサービスを提供する提供システムにおける通信装置に利用でき、特に、コンテンツ指向型又はサービス指向型のネットワークに接続される端末装置、コンテンツ又はサービス提供装置、及び中継装置等に利用できる。
【符号の説明】
【０１３８】
１０  コンテンツ指向型のネットワーク
１１、１１ａ、１１ｂ  コンテンツ提供装置
１２、１２ａ、１２ｂ  端末装置
１３、１３ａ〜１３ｆ  中継装置
１１０１ａ、１１０１ｂ、１２０１ａ、１２０１ｂ、１３０１ａ、１３０１ｂ  インタフェース部
１１０２  経路情報処理部
１１０３  マスター情報制御部
１１０４  リクエスト処理部
１１０５  データ処理部
１１０６  経路情報記憶部
１１０７  リクエスト記憶部
１１０８  データ生成部
１１０９  データ蓄積部
１２０２  経路情報処理部
１２０３  リクエスト送信部
１２０４  データ受信部
１２０５  経路情報記憶部
１２０６  アプリケーション部
１３０２  リクエスト処理部
１３０３  経路情報処理部
１３０４  データ処理部
１３０５  リクエスト記憶部
１３０６  経路情報記憶部
１３０７  データ記憶部
【図１】
2018019115.tif 000003
【図２】
2018019115.tif 000004
【図３】
2018019115.tif 000005
【図４】
2018019115.tif 000006
【図５】
2018019115.tif 000007
【図６】
2018019115.tif 000008
【図７】
2018019115.tif 000009
【図８】
2018019115.tif 000010
【図９】
2018019115.tif 000011
【図１０】
2018019115.tif 000012
【図１１】
2018019115.tif 000013
【図１２】
2018019115.tif 000014