(57)【要約】コンテンツの名前又は識別子により通信を行うネットワークにおいて、ネットワークの負荷及び消費エネルギーを抑制するために、本実施形態の通信システムは、コンテンツの識別子を用いてパケットを転送する複数のノードと、前記複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する制御手段と、を含み、前記複数のノードの各々は、前記算出したマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送し、前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する。
2015029321.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの識別子を用いてパケットを転送する複数のノードと、
前記複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する制御手段と、を含み、
前記複数のノードの各々は、
前記算出したマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送し、
前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する
通信システム。
【請求項２】
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
前記複数のノードの各々は、
前記第１のツリー群に属するマルチキャストツリーのいずれかを用いて、前記要求パケットを転送する
請求項１に記載の通信システム。
【請求項３】
前記制御手段は、
前記複数のマルチキャストツリーを算出し、前記算出したマルチキャストツリーのうち、所定の条件に応じて、複数の前記要求パケットを転送するマルチキャストツリーを決定する
請求項１又は２に記載の通信システム。
【請求項４】
前記所定の条件は、ランダムに、又は、転送可能な前記応答パケット数が最大となるマルチキャストツリーに決定するという条件である
請求項３に記載の通信システム。
【請求項５】
前記制御手段は、
前記マルチキャストツリーに含まれる少なくとも１つのノードにおいて、前記要求パケットに対する応答である応答パケットが転送できなくなるまで、複数の前記要求パケットを前記決定したマルチキャストツリーで転送させる
請求項１乃至４のいずれかに記載の通信システム。
【請求項６】
前記制御手段は、転送するコンテンツの優先度を計算し、前記優先度の高いコンテンツを含む応答パケットに対応する要求パケットを優先して、前記算出したマルチキャストツリーの少なくとも１つを用いて転送させる
請求項１乃至５のいずれかに記載の通信システム。
【請求項７】
前記制御手段は、前記複数のノードのうち、前記要求パケット又は前記応答パケットの転送を行わないノードを、休止状態に移行させる
請求項１乃至６のいずれかに記載の通信システム。
【請求項８】
前記制御手段は、前記複数のノードに対して、前記要求パケットを転送する前記一部のマルチキャストツリーに関する情報を通知し、
前記複数のノードの各々は、前記制御手段から通知された前記情報に基づいて、前記一部のマルチキャストツリーを用いて前記要求パケットを転送する
請求項１乃至７のいずれかに記載の通信システム。
【請求項９】
前記複数のノードの少なくとも１つに対して、前記要求パケットを処理するための処理規則を通知する制御装置を有し、
前記複数のノードの各々は、前記要求パケットを受信したことに応じて、前記要求パケットを処理するための処理規則を要求し、
前記制御装置は、前記要求に応じて、前記要求パケットを前記一部のマルチキャストツリーに沿って転送させるための処理規則を生成し、前記生成した処理規則を前記複数のノードの少なくとも１つに通知する
請求項１乃至８のいずれかに記載の通信システム。
【請求項１０】
コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する制御部を備え、
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
前記制御部は、前記複数のマルチキャストツリーのうち、所定の条件に応じて、前記コンテンツを要求する要求パケットを転送する少なくとも１つのマルチキャストツリーを決定する
制御装置。
【請求項１１】
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
前記制御部は、
所定の条件に応じて、前記第１のツリー群に属するマルチキャストツリーのいずれかを前記要求パケットを転送するマルチキャストツリーと決定する
請求項１０に記載の制御装置。
【請求項１２】
前記所定の条件は、ランダムに、又は、転送可能な前記応答パケット数が最大となるマルチキャストツリーに決定する
請求項１１に記載の制御装置。
【請求項１３】
前記制御部は、前記マルチキャストツリーに含まれる少なくとも１つのノードにおいて、前記要求パケットに対する応答である応答パケットが転送できなくなるまで、複数の前記要求パケットを前記決定したマルチキャストツリーで転送させる
請求項１０乃至１２のいずれかに記載の制御装置。
【請求項１４】
前記制御部は、転送するコンテンツの優先度を計算し、前記優先度の高いコンテンツを含む応答パケットに対応する要求パケットを優先して、前記算出したマルチキャストツリーの少なくとも１つを用いて転送させる
請求項１０乃至１３のいずれかに記載の制御装置。
【請求項１５】
前記制御部は、前記複数のノードのうち、前記要求パケット又は前記応答パケットの転送を行わないノードを、休止状態に移行させる
請求項１０乃至１４のいずれかに記載の制御装置。
【請求項１６】
前記制御部は、前記複数のノードに対して、前記要求パケットを転送する前記一部のマルチキャストツリーに関する情報を通知し、
前記複数のノードの各々は、前記制御手段から通知された前記情報に基づいて、前記一部のマルチキャストツリーを用いて前記要求パケットを転送する
請求項１０乃至１５のいずれかに記載の制御装置。
【請求項１７】
前記制御部が、
前記複数のノードの各々は、前記要求パケットを受信したことに応じて、前記要求パケットを処理するための処理規則を要求し、
前記制御装置は、前記要求に応じて、前記要求パケットを前記一部のマルチキャストツリーに沿って転送させるための処理規則を生成し、前記生成した処理規則を前記複数のノードの少なくとも１つに通知する
請求項１０乃至１６のいずれかに記載の制御装置。
【請求項１８】
コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出し、
前記複数のマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送し、
前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する
通信方法。
【請求項１９】
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
所定の条件に応じて、前記第１のツリー群に属するマルチキャストツリーのいずれかを前記要求パケットを転送するマルチキャストツリーと決定する
請求項１８に記載の通信方法。
【請求項２０】
前記複数のマルチキャストツリーを算出し、前記算出したマルチキャストツリーのうち、所定の条件に応じて、複数の前記要求パケットを転送するマルチキャストツリーを決定する
請求項１８又は１９に記載の通信方法。
【請求項２１】
前記所定の条件は、ランダムに、又は、転送可能な前記応答パケット数が最大となるマルチキャストツリーに決定する請求項２０に記載の通信方法。
【請求項２２】
前記マルチキャストツリーに含まれる少なくとも１つのノードにおいて、前記要求パケットに対する応答である応答パケットが転送できなくなるまで、複数の前記要求パケットを前記決定したマルチキャストツリーで転送させる
請求項１８乃至２１のいずれかに記載の通信方法。
【請求項２３】
転送するコンテンツの優先度を計算し、
前記優先度の高いコンテンツを含む応答パケットに対応する要求パケットを優先して、前記算出したマルチキャストツリーの少なくとも１つを用いて転送させる
請求項１８乃至２２のいずれかに記載の通信方法。
【請求項２４】
前記複数のノードのうち、前記要求パケット又は前記応答パケットの転送を行わないノードを、休止状態に移行させる
請求項１８乃至２３のいずれかに記載の通信方法。
【請求項２５】
前記複数のノードに対して、前記要求パケットを転送する前記一部のマルチキャストツリーに関する情報を通知し、
通知された前記情報に基づいて、前記一部のマルチキャストツリーを用いて前記要求パケットを転送する
請求項１８乃至２４のいずれかに記載の通信方法。
【請求項２６】
前記複数のノードの少なくとも１つに対して、前記要求パケットを処理するための処理規則を通知し、
前記要求パケットを受信したことに応じて、前記要求パケットを処理するための処理規則を要求し、
前記要求に応じて、前記要求パケットを前記一部のマルチキャストツリーに沿って転送させるための処理規則を生成し、
前記生成した処理規則を前記複数のノードの少なくとも１つに通知する
請求項１８乃至２５のいずれかに記載の通信方法。
【請求項２７】
コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する処理と、
前記複数のマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送する処理と、
前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する処理と
をコンピュータに実行させるプログラムを記憶する記憶媒体。
【請求項２８】
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
所定の条件に応じて、前記第１のツリー群に属するマルチキャストツリーのいずれかを前記要求パケットを転送するマルチキャストツリーと決定する処理
を前記プログラムが含む
請求項２７に記載の記憶媒体。
【請求項２９】
前記プログラムは、前記複数のマルチキャストツリーを算出し、前記算出したマルチキャストツリーのうち、所定の条件に応じて、複数の前記要求パケットを転送するマルチキャストツリーを決定する処理
を前記プログラムが含む請求項２７又は２８に記載の記憶媒体。
【請求項３０】
前記所定の条件は、ランダムに、又は、転送可能な前記応答パケット数が最大となるマルチキャストツリーに決定する請求項２９に記載の記憶媒体。
【請求項３１】
前記マルチキャストツリーに含まれる少なくとも１つのノードにおいて、前記要求パケットに対する応答である応答パケットが転送できなくなるまで、複数の前記要求パケットを前記決定したマルチキャストツリーで転送させる処理
を前記プログラムが含む請求項２７乃至３０のいずれかに記載の記憶媒体。
【請求項３２】
転送するコンテンツの優先度を計算する処理と、
前記優先度の高いコンテンツを含む応答パケットに対応する要求パケットを優先して、前記算出したマルチキャストツリーの少なくとも１つを用いて転送させる処理と
を前記プログラムが含む請求項２７乃至３１のいずれかに記載の記憶媒体。
【請求項３３】
前記複数のノードのうち、前記要求パケット又は前記応答パケットの転送を行わないノードを、休止状態に移行させる処理
を前記プログラムが含む請求項２７乃至３２のいずれかに記載の記憶媒体。
【請求項３４】
前記複数のノードに対して、前記要求パケットを転送する前記一部のマルチキャストツリーに関する情報を通知する処理と、
通知された前記情報に基づいて、前記一部のマルチキャストツリーを用いて前記要求パケットを転送する処理と
を前記プログラムが含む請求項２７乃至３３のいずれかに記載の記憶媒体。
【請求項３５】
前記複数のノードの少なくとも１つに対して、前記要求パケットを処理するための処理規則を通知する処理と、
前記要求パケットを受信したことに応じて、前記要求パケットを処理するための処理規則を要求する処理と、
前記要求に応じて、前記要求パケットを前記一部のマルチキャストツリーに沿って転送させるための処理規則を生成する処理と、
前記生成した処理規則を前記複数のノードの少なくとも１つに通知する処理と
を前記プログラムが含む請求項２７乃至３４のいずれかに記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書の開示は、通信システム、制御装置、通信方法および記憶媒体に関する。
【背景技術】
【０００２】
近年、ＩＰアドレスなど位置依存型のアドレスではなく、コンテンツの名前（ＩＤ：Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を用いて通信を行うネットワークアーキテクチャが、注目を集めている。【０００３】
特許文献１は、コンテンツの名前又は識別子により通信を行うネットワークである、コンテンツセントリックネットワーク（ＣＣＮ：Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋ）に関して開示する。【０００４】
特許文献１に記載のネットワークは、当該ネットワークに属するノードが、コンテンツの名前又は識別子により、当該コンテンツの問い合わせ（クエリ、Ｑｕｅｒｙ）を例えばブロードキャストすることで、当該コンテンツを要求する。要求されたコンテンツを保存するホストは、当該コンテンツを、当該コンテンツを要求した（問い合わせた）ノードに対して返送する。【０００５】
また、特許文献１は、コンテンツを保存するホストのノードと、当該コンテンツを要求したノードとの間の中間ノードに、当該コンテンツをキャッシュすることを開示する。中間ノードにキャッシュされたコンテンツは、当該コンテンツを要求する第２のノードによって利用される。第２のノードは、コンテンツを保存するホストまでの全経路を辿ることなく、中間ノードにキャッシュされたコンテンツを利用することができる。【０００６】
一方、特許文献２は、コンテンツをマルチキャストツリーによって配信する通信ネットワークに関して開示する。【０００７】
特許文献２では、複数のマルチキャストツリーが構築され、さらにデータ（コンテンツ）が複数のブロックに分割され、その複数のツリーに適切にブロックが割り振られることでデータ（コンテンツ）の配信が行われる。特許文献２では、複数のマルチキャストツリーを同時に用いることによって、ネットワーク上の空き資源が有効に活用される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−２７８６２４号公報
【特許文献２】特開２００８−７８７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に記載のネットワークでは、コンテンツの問い合わせ（クエリ、Ｑｕｅｒｙ）をブロードキャストするため、ネットワークの負荷が上昇するという課題が生じる。特に、ネットワークの規模が大きくなると、コンテンツを要求するノードの数も増大するため、この課題は顕著となる。また、ブロードキャストされた問い合わせ（クエリ、Ｑｕｅｒｙ）に対して、当該コンテンツをキャッシュしている複数の中間ノードがコンテンツを返送すると、同じコンテンツが複数返送されることになり、ネットワークの負荷はさらに上昇してしまう。【００１０】
一方、特許文献２に記載のネットワークのように、複数のマルチキャストを用いてコンテンツを分割して配信すると、１つのコンテンツの配信に関わるノードの数が多くなる。そのため、１つのコンテンツの配信に対して多くのノードを稼働させる必要があり、ネットワーク全体のエネルギー消費量が増大するという課題が生じる。【００１１】
例示的な実施形態は、上記課題に鑑み、コンテンツの名前又は識別子により通信を行うネットワークにおいて、ネットワークの負荷及び消費エネルギーを抑制するための技術を提供することを目的とする。なお、この目的は、本明細書に開示される実施形態が達成しようとする複数の目的の１つに過ぎないことに留意されるべきである。その他の目的又は課題と新規な特徴は、本明細書の記述又は添付図面から明らかにされる。
【課題を解決するための手段】
【００１２】
例示的な実施形態による通信システムは、コンテンツの識別子を用いてパケットを転送する複数のノードと、前記複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する制御手段と、を含み、前記複数のノードの各々は、前記算出したマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送し、前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する。【００１３】
例示的な実施形態による制御装置は、コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する制御部を備え、前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、前記制御部は、前記複数のマルチキャストツリーのうち、所定の条件に応じて、前記コンテンツを要求する要求パケットを転送する少なくとも１つのマルチキャストツリーを決定する。【００１４】
例示的な実施形態による通信方法は、コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出し、前記複数のマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送し、前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する。【００１５】
例示的な実施形態による記憶媒体は、コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する処理と、前記複数のマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送する処理と、前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する処理とをコンピュータに実行させるプログラムを記憶するものである。
【発明の効果】
【００１６】
本発明の例示的な実施形態によれば、コンテンツの名前又は識別子により通信を行うネットワークにおいて、ネットワークの負荷及び消費エネルギーの上昇を抑制することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】例示的な実施形態における通信システムの構成例を示す図である。
【図２】例示的な実施形態における通信システムの複数のマルチキャストツリーの例を示す図である。
【図３】コンテンツに関するトラフィックを、一部のマルチキャストツリーに集中して割り当てない場合の通信システムの構成例を示す図である。
【図４】例示的な実施形態の通信システムの構成例を示す図である。
【図５】例示的な第１の実施形態における通信システムの構成例を示す図である。
【図６】例示的な第１の実施形態におけるノード１の構成例を示す図である。
【図７】例示的な第１の実施形態における制御装置３の構成例を示す図である
【図８】例示的な第１の実施形態における通信システムの動作例を示すシーケンス図である。
【図９】例示的な第１の実施形態における制御装置３の動作例を示すフローチャートである。
【図１０】例示的な第４の実施形態における、通信システムの構成例を示す図である。
【図１１】オープンフロー技術により構成された通信システムの概要を示す図である。
【図１２】フローテーブル５１０の各エントリ（フローエントリ）の構成例を示す図である。
【図１３】例示的な第５の実施形態における通信システムの例を示す図である。
【図１４】例示的な第５の実施形態におけるオープンフロースイッチ１０の構成の例を示す図である。
【図１５】例示的な第５の実施形態におけるオープンフローコントローラ３０の構成の例を示す図である。
【図１６】例示的な第５の実施形態における処理規則決定部３０１が生成する処理規則の例を示す図である。
【図１７】例示的な第５の実施形態の動作例を示すシーケンス図である。
【発明を実施するための形態】
【００１８】
以下では、具体的な実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
以下に説明される複数の実施形態は、独立に実施されることもできるし、適宜組み合わせて実施されることもできる。これら複数の実施形態は、互いに異なる新規な特徴を有している。したがって、これら複数の実施形態は、互いに異なる目的又は課題を解決することに寄与し、互いに異なる効果を奏することに寄与する。
図１を用いて、例示的な実施形態の概要について説明する。例示的な実施形態に関する通信システムは、図１に示すように、ノード１−１乃至１−４（以下、特に区別する必要が無い場合は、「ノード１」と記載する）と、通信端末２とを含む。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本実施形態を図示の態様に限定することを意図するものではない。
【００１９】
ここで、例示的な実施形態は、コンテンツの名前又は識別子により通信を行うＣＣＮにより実現可能である。
【００２０】
ＣＣＮは、コンテンツの名前又は識別子（コンテンツＩＤ）を用いて、通信を行うネットワークアーキテクチャである。ＣＣＮにおいて、ノードは、コンテンツを要求するための要求パケット（クエリ、コンテンツの問い合わせ、コンテンツの要求）と、コンテンツを配送するための応答パケットとを送受信する。要求パケットは、ノードが要求するコンテンツの名前又は識別子（コンテンツＩＤ）を含み、応答パケットは、コンテンツとコンテンツＩＤとを含む。
【００２１】
ＣＣＮにおいて、ネットワークに含まれるノードは、要求パケットを受信した場合、当該要求パケットに含まれるコンテンツＩＤにより、自装置に当該コンテンツＩＤに対応するコンテンツを有しているか否か（キャッシュしているか否か）を検索する。ノードは、当該コンテンツを有している場合、応答パケットを返送することにより、要求パケットを送信してきたノードにそのコンテンツを配送する。
【００２２】
ＣＣＮにおいて、コンテンツを有するノードと、当該コンテンツを要求したノードとの間の中間ノードは、当該コンテンツをキャッシュする。中間ノードは、要求パケットを受信した場合、当該要求パケットで要求されているコンテンツを、自装置がキャッシュしているかを検索する。中間ノードは、当該コンテンツをキャッシュしている場合には、当該コンテンツを返送する。したがって、要求パケットを要求したノードは、本来であれば、ホストのノードからコンテンツの配信を受けなければならないところ、どの中間ノードにおいてもコンテンツがキャッシュされていれば、その中間ノードから当該コンテンツを取得することができる。そのため、ＣＣＮでは、コンテンツの配送のための経路を短くすることができ、ネットワーク全体の負荷を低減することができる。
【００２３】
ＣＣＮでは、通信システムに含まれる複数のノードに、アドレスを与えずに、コンテンツの転送を可能にすることが実現される。
ＣＣＮでは、例えば、要求パケットを送信したノードから、コンテンツを保持しているノードまでのデータリンク層の入力インターフェースを保持することにより、コンテンツの転送が実現される。
ＣＣＮでは、例えば、コンテンツを転送する応答パケットのヘッダ部分に、コンテンツの転送経路上のノードにおける入力インターフェースに関する情報が格納される。
また、ＣＣＮでは、例えば、要求パケットを受信した各ノードが、一時的に入力インターフェースを記憶してもよい。
【００２４】
例示的な実施形態において、複数のノード１は、コンテンツの名前又は識別子（コンテンツＩＤ）により、コンテンツの要求（要求パケットの送受信）及びコンテンツの配信（応答パケットの送受信）を行う。また、複数のノード１の各々は、受信した応答パケットに含まれるコンテンツが、自装置にキャッシュされていない場合、当該コンテンツをキャッシュする。
【００２５】
例示的な実施形態において、複数のノード１の各々は、複数のマルチキャストツリーのうちの一部を用いて、要求パケットを転送する。複数のノード１の各々は、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含むマルチキャストツリーにおいて、当該第１のツリー群に属するマルチキャストツリーのいずれかを用いて、要求パケットを転送する。ただし、当該第１及び第２のツリー群のいずれかは、ネットワークのトラフィックによっては、マルチキャストツリーを含まない場合もある。例えば、ネットワークのトラフィックが増加した場合、当該全てのノード１（又はエッジ）をマルチキャストツリーに含めてもよい。すなわち、ネットワークのトラフィックが増加した場合、当該第１及び第２のツリー群のいずれかは、マルチキャストツリーを含まなくてもよい。具体的には、全てのノード１（又は全てのエッジ）をマルチキャストツリーに含めなければコンテンツを配送できない場合に、当該第１及び第２のツリー群のいずれかは、マルチキャストツリーを含まなくてもよい（すなわち、全てのノード１（又はエッジ）をマルチキャストツリーに含める）。なお、エッジ（リンク）は、通信ノード１が他の装置との間で通信するためのリンクであり、例えば、通信ノード１と他の通信ノード１との間のリンクや、通信ノード１と通信端末２との間のリンクである。また、応答パケットは、要求パケットが送信されてきた経路を辿って、当該要求パケットを送信したノードまで転送される。
【００２６】
例示的な実施形態の通信システムにおいて、複数のノード１の各々は、コンテンツに関するトラフィックを割り当てるマルチキャストツリーを、複数のマルチキャストツリーのうちの一部に集中させる。複数のノード１の各々は、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含むマルチキャストツリーにおいて、コンテンツに関するトラフィックを、当該第１のツリー群に属するマルチキャストツリーのいずれかに割り当てる。コンテンツに関するトラフィックを割り当てることは、当該マルチキャストツリーを用いてコンテンツのインタリスト（要求パケット）を送信するとともに、割り当てたツリー上の一部又は全部のノードを用いて応答パケットを転送することを意味する。すなわち、例示的な実施形態の通信システムは、特許文献２に記載の通信システムのように、コンテンツの要求及び取得に際し、より多くのマルチキャストツリーを用いるのではなく、一部のマルチキャストツリーを集中して用いる。
【００２７】
図２に示すように、例示的な実施形態の通信システムにおいて、複数のノード１の各々は、例えば、複数のマルチキャストツリーα、β、γ・・・のうちの一部であるマルチキャストツリーγを集中的に用いて、コンテンツを要求するためのパケットを送信する。
複数のノード１の各々は、例えば、複数のコンテンツを要求する場合に、要求パケットの送信に用いるマルチキャストツリーを、当該マルチキャストツリーγに集中させる。また、応答パケットは、要求パケットが送信されてきた経路を辿って、当該要求パケットを送信したノード１まで転送される。すなわち、応答パケットが、マルチキャストツリーに含まれるノード１を介して転送される。したがって、コンテンツに関するトラフィックが、マルチキャストツリーβに集中する。
【００２８】
なお、例示的な実施形態において、複数のノード１の各々は、例えば、複数のコンテンツを要求する場合に、できる限り少ない数のマルチキャストツリーを用いて、当該コンテンツの要求及び取得を実行するようにしてもよい。
【００２９】
図３は、例示的な実施形態の通信システムとは異なり、コンテンツに関するトラフィックを、一部のマルチキャストツリーに集中して割り当てない場合の通信システムの構成例を示す図である。
【００３０】
図３に示すように、ノード１−２は、経路αを利用してコンテンツＡを要求し、ホストのノード１−４からコンテンツＡの配信を受ける。この場合において、ノード１−２は、応答パケットに含まれるコンテンツＡをキャッシュする。すなわち、ノード１−１に隣接するノード１−２には、コンテンツＡがキャッシュされていることになる。しかしながら、ノード１−１は、コンテンツＡを要求する場合、経路βを利用してコンテンツＡを要求してしまう可能性がある。この場合、ノード１−１は、その近傍にコンテンツＡをキャッシュしているノード１−２があるにも関わらず、ホストのノード１−４からコンテンツＡの配送を受けなければならない。このことは、ネットワークの負荷を上昇させる原因となる。
【００３１】
一方、図４は、例示的な実施形態の通信システムの構成例を示す図である。図４に記載の通信システムでは、コンテンツに関するトラフィックが、複数のマルチキャストツリーのうちの一部のマルチキャストツリーに集中して割り当てられる。
当該通信システムでは、例えば、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含むマルチキャストツリーにおいて、コンテンツに関するトラフィックを、当該第１のツリー群に属するマルチキャストツリーのいずれかに割り当てられる。
【００３２】
図４に示すように、複数のノード１の各々は、マルチキャストツリーγを利用して、コンテンツの問い合わせ及びコンテンツの配送を行う。ノード１−２は、マルチキャストツリーγに沿ってコンテンツＡを要求し、ホストのノード１−４からコンテンツの配送を受ける。そして、ノード１−２は、コンテンツＡをキャッシュする。次に、ノード１−１がコンテンツＡを要求する場合も、マルチキャストツリーγに沿って、当該問い合わせを送信する。そうすると、ノード１−１が送信した問い合わせは、ノード１−２が受信することになる。ノード１−２にはコンテンツＡがキャッシュされているので、ノード１−２は、ノード１−１に対して、当該コンテンツＡを配送する。すなわち、ノード１−１は、近傍にあるノード１−２からコンテンツＡを受け取ることができ、ホストのノード１−４からコンテンツＡの配送を受ける必要がなく、その分ネットワークの負荷を抑制することができる。
【００３３】
上記のとおり、例示的な実施形態の通信システムでは、複数のノード１の各々が、コンテンツに関するトラフィックを、複数のマルチキャストツリーのうちの一部のマルチキャストツリーに集中して割り当てる。すなわち、当該通信システムでは、複数の要求パケットの転送が、一部のマルチキャストツリーに集中する。また、当該要求パケットに対する応答である応答パケットの転送が、当該一部のマルチキャストツリーに含まれるノードに集中する。そうすると、当該一部のマルチキャストツリーの経路上にあるノードに、コンテンツのキャッシュを集中させることができる。したがって、コンテンツを要求するノードが、当該一部のマルチキャストツリーに沿って要求パケットを送信すれば、コンテンツをキャッシュする中間ノードから、当該コンテンツを受け取ることができる可能性が高まる。
【００３４】
したがって、例示的な実施形態では、要求パケットの転送及び応答パケットの転送を、短い経路に限ることが可能になり、ネットワークの負荷を抑制することができる。また、コンテンツに関するトラフィックを、所定のマルチキャストツリーに集中して転送させると、ネットワークにおいて、コンテンツの転送に関わらないノードの数が増える。ここで、コンテンツの名前又は識別子により通信を行うネットワークにおいて、ノードにコンテンツを保存するためのデバイス（キャッシュ）を設けたことにより、当該ネットワークにおける消費エネルギーが上昇してしまうという課題がある。これに対して、例示的な実施形態では、そのようなコンテンツの転送に関わらないノードを、例えば休止状態に移行させることにより、ネットワーク全体で消費する電力を低下させることができる。
【００３５】
また、ノード１が複数のエッジ（リンク）によって接続されている場合、マルチキャストツリーに含まれないエッジ（リンク）をスリープ（停止状態）させるため、ノード１において、当該エッジと接続する通信インターフェースを休止状態に移行する。例えば、ノード１が、シェルフと呼ばれる筐体に、複数のエッジの各々に対応する通信インターフェース用のカードを装着して、複数のエッジと接続している場合、マルチキャストツリーに含まれないエッジに対応する通信インターフェース用のカードを休止状態とする。そうすることにより、ノード１において、マルチキャストツリーに含まれないエッジと接続する通信インターフェース用のカードを休止状態に移行できるので、ノード１の消費電力を削減することができ、ネットワーク全体で消費する電力を低下させることができる。
【００３６】
以下、具体的な実施の形態について、図面を参照して説明する。
【００３７】
＜第１の実施形態＞
図５は、第１の例示的な実施形態における通信システムの構成例である。なお、第１の実施形態において、上述した実施形態と同様の構成については、説明を省略する。
【００３８】
図５に示すように、例示的な第１の実施形態において、通信システムは、複数のノード１−１乃至１−４（以下、特に区別の必要がない場合は「ノード１」と記載する。）と、通信端末２と、制御装置３と、サーバ４とを含む。
【００３９】
通信端末２は、例えば、例えば、携帯電話、スマートフォン、パーソナルコンピュータ、タブレット型端末、サーバ等の通信機能を有する装置である。
【００４０】
例示的な第１の実施形態において、通信端末２は、コンテンツＡ（データ）を要求する。通信端末２は、例えば、コンテンツＡを要求するための要求パケットを、通信端末２に接続するノード１に対して送信する。通信端末２は、例えば、コンテンツＡを一意に識別可能なコンテンツＩＤを、当該要求パケットに含める。
【００４１】
通信端末２は、要求したコンテンツＡ（データ）を受け取る。通信端末２は、例えば、コンテンツＡを含む応答パケットを、ノード１を介して受信する。
【００４２】
サーバ４は、コンテンツを格納しており、当該コンテンツの要求に応じて、当該コンテンツを提供する。
【００４３】
ノード１は、例えば、スイッチやルータ、モバイルルータ等の、通信を中継する装置である。なお、モバイルルータは、例えば、携帯電話の３Ｇ回線や無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のネットワークを中継する端末である。
【００４４】
図６は、ノード１の構成例を示す図である。図６に示すように、ノード１は、第１の通信部１１と、第２の通信部１２と、制御部１３と、コンテンツ格納部１４と、処理規則ＤＢ（ＤａｔａＢａｓｅ）１５とを備える。
【００４５】
第１の通信部１１は、制御装置３から通知される制御信号を受信する手段として機能する。また、第１の通信部１１は、制御装置３に対して、ノード１の状態を示す信号や、トポロジに関する情報を通知する手段として機能する。なお、第１の通信部１１は、制御部１３の指示によって、当該ノード１の状態を示す信号や、トポロジに関する情報を通知してもよい。
【００４６】
ノード１の状態を示す情報は、例えば、コンテンツ格納部１４のうち、使用される容量、又は、使用されていない容量である。また、ノード１の状態を示す情報は、例えば、ノード１で生じた障害に関する情報である。また、ノード１の状態を示す情報は、例えば、パケットの送受信に用いるポート（入力／出力インターフェース）に関する情報である。
また、ノード１の状態を示す情報は、例えば、処理規則ＤＢ１５の更新に関する情報である。なお、処理規則ＤＢ１５は、ルーティングテーブル（例えば、コンテンツＩＤと入力インターフェースの対応表）や、パケットの処理規則を示す情報を格納している。ノード１の状態を示す情報は、これらの例に限られず、ノード１の状態を示す情報であれば、どのような情報であってもよい。
【００４７】
トポロジに関する情報は、例えば、ノード１に接続するリンクのトラフィックに関する情報である。また、トポロジに関する情報は、例えば、ノード１に接続するエッジ（リンク）で生じた障害（例えば、エッジ（リンク）の切断など）に関する情報である。また、トポロジに関する情報は、例えば、ノード１に新たに接続したエッジ（リンク）、又は、ノード１に新たに接続した対向ノード）に関する情報である。なお、トポロジに関する情報は、これらの例に限られず、ネットワークのトポロジに関する情報であれば、どのような情報であってもよい。
【００４８】
第２の通信部１２は、対向するノード１、又は、通信端末２との間で、パケットを送受信する手段として機能する。
【００４９】
制御部１３は、第２の通信部１２を介して要求パケットを受け取り、当該要求パケットに含まれるコンテンツＩＤに対応するコンテンツが、コンテンツ格納部１４に格納されているか否かを検索する。制御部１３は、例えば、要求パケットに含まれるコンテンツＩＤを抽出し、当該抽出したコンテンツＩＤをキーとして、コンテンツＩＤに対応するコンテンツがコンテンツ格納部１４に格納されているか否かを検索する。
【００５０】
制御部１３は、コンテンツ格納部１４に当該コンテンツが格納されている場合には、当該コンテンツを含めた応答パケットを、当該コンテンツを要求してきたノード１宛に送信する。
【００５１】
一方、制御部１３は、コンテンツ格納部１４に当該コンテンツが格納されていない場合、要求パケットを、隣接するノード１に転送する。なお、この場合において、制御部１３は、処理規則ＤＢ１５を参照して、当該要求パケットを転送するノード１を決定してもよい。
【００５２】
制御部１３は、他のノード１が送信してきた応答パケットを受け取り、当該応答パケットに含まれるコンテンツを、コンテンツ格納部１４に格納する。なお、この場合において、制御部１３は、応答パケットに含まれるコンテンツがコンテンツ格納部１４に格納されているか否かを検索し、当該検索の結果格納されていない場合に、当該コンテンツをコンテンツ格納部１４に格納してもよい。
【００５３】
制御部１３は、制御装置３から第１の通信部１１を介して受信したパケットを処理するための処理規則を用いて、処理規則ＤＢ１５を更新する。制御部１３は、例えば、要求パケットの転送先を示す処理規則を受信し、当該受信した処理規則を用いて、処理規則ＤＢ１５を更新する。
【００５４】
例示的な第１の実施形態において、制御部１３は、制御装置３が計算した複数のマルチキャストツリーを受け取り、当該複数のマルチキャストツリーを処理規則ＤＢ１５に記憶してもよい。制御部１３は、制御装置３から、要求パケットの送信（又は転送）に用いるマルチキャストツリー（複数のマルチキャストツリーの一部）の通知を受け、要求パケットを、当該マルチキャストツリーを用いて送信（又は転送）する。
【００５５】
制御部１３は、上述したノード１の状態を示す信号やトポロジに関する情報を収集し、第１の通信部１１を介して、制御装置３に通知する。
【００５６】
コンテンツ格納部１４は、コンテンツをキャッシュする（格納する）手段として機能する。コンテンツ格納部１４は、例えば、制御部１３からの指示に応じて、応答パケットに含まれるコンテンツを格納する。コンテンツ格納部１４は、例えば、コンテンツＩＤと、コンテンツとを対応して格納する。
【００５７】
処理規則ＤＢ１５は、受信したパケットを処理するための処理規則を格納する。処理規則ＤＢ１５は、例えば、コンテンツＩＤと、当該コンテンツＩＤを有するパケットの転送先とを対応付けて記憶するルーティングテーブルであってもよい。
【００５８】
例示的な第１の実施形態において、処理規則ＤＢ１５は、通信システムにおけるマルチキャストツリーに関する情報を記憶する。なお、マルチキャストツリーは、制御装置３から第１の通信部１１を介して通知される。
【００５９】
制御装置３は、複数のマルチキャストツリーのうち、コンテンツに関するトラフィックを割り当てる、一部のマルチキャストツリーを決定する手段として機能する。制御装置３は、まず複数のマルチキャストツリーを算出し、算出した複数のマルチキャストツリーの一部のツリーに対して、所定の条件により、コンテンツに関するトラフィックを割り当てる。
【００６０】
なお、複数のノード１の各々は、コンテンツを要求する要求パケットを、当該コンテンツに対して割り当てられたマルチキャストツリーを用いて転送する。また、上記で説明したように、コンテンツを含む応答パケットは、例えば、要求パケットの転送経路を辿って当該コンテンツを要求したノード１まで転送される。したがって、当該一部のマルチキャストツリーに含まれるノード１の一部又は全部が、要求パケットに対する応答である応答パケットを転送することになる。
【００６１】
図５では制御装置３が１つの例を示しているが、制御装置３は、複数あってもよい。制御装置３が複数ある場合には、複数の制御装置３のうちの一つがマスターとなり、複数の通信ノード１の各々を管理・制御する。そして、マスターの制御装置３に障害が生じた場合には、他の制御装置３がマスターとなり、障害が生じた制御装置３の処理を引き継ぐ。
【００６２】
図７は、例示的な第１の実施形態における制御装置３の構成例を示す図である。図７に示すように、制御装置３は、通信部３１と、制御部３２と、トポロジＤＢ３３と、処理規則ＤＢ３４と、ツリー記憶部３５とを備える。
【００６３】
通信部３１は、通信システムに含まれる複数の通信ノード１の各々と通信する手段として機能する。
【００６４】
制御部３２は、要求パケットの転送経路を計算し、当該計算した転送経路を複数のノード１の各々に通知する。制御部３２は、要求パケットの転送経路を計算する際に、要求パケットに対する応答である応答パケット（コンテンツを含む）が返送されることを考慮して、要求パケットの転送経路を計算する。
【００６５】
本願発明の第１の実施形態において、制御部３２は、複数のマルチキャストツリーのうち、要求パケットの転送を集中させる一部のマルチキャストツリーを決定する。制御部３２は、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含むマルチキャストツリーにおいて、第１のツリー群に属するマルチキャストツリーから、コンテンツに関するトラフィックを割り当てるマルチキャストツリーを決定する。なお、上述したように、当該第１及び第２のツリー群のいずれかは、ネットワークのトラフィックによっては、マルチキャストツリーを含まない場合もある。
【００６６】
制御部３２は、まず、複数のマルチキャストツリーを算出する。制御部３２は、例えば、通信システムのネットワーク構成に関する情報が格納されたトポロジＤＢ３３を参照して、複数のマルチキャストツリーを算出する。制御部３２は、例えば図２に示すような、複数のマルチキャストツリーα、β、γ・・・を算出する。なお、制御部３２が算出する複数のマルチキャストツリーは、図２に示す数に限られず、いくつであってもよい。
【００６７】
制御部３２は、例えば、ＳＴＳ＝｛ｓｔ１、・・・、ｓｔＫ｝で示されるＫ個のマルチキャストツリーを算出する。制御部３２は、まず、通信システムに含まれる複数のエッジのそれぞれに重み「１」を与え、クラスカル法（Ｋｒｕｓｋａｌ’ｓ  Ａｌｇｏｒｉｔｈｍ）を用いて、１つ目のマルチキャストツリーｓｔ１を算出する。ここで、上述したように、エッジ（リンク）は、通信ノード１が他の装置との間で通信するためのリンクであり、例えば、通信ノード１と他の通信ノード１との間のリンクや、通信ノード１と通信端末２との間のリンク、通信ノード１とサーバ４との間のリンクである。次に、制御部３２は、マルチキャストツリーｓｔ１に含まれるエッジの重みに「１」を加えて、当該エッジの重みを「２」とする。その後、制御部３２は、なるべく重みの小さいエッジを含むように、クラスカル法を用いて、２つ目のマルチキャストツリーｓｔ２を算出する。制御部３２は、これを繰り返し、最終的にＫ個のマルチキャストツリーを算出する。
【００６８】
制御部３２は、算出したＫ個のマルチキャストツリーを、ツリー記憶部３５に記憶する。また、制御部３２は、計算したＫ個のマルチキャストツリーを、通信部３１を介して、通信システムに含まれる全てのノードに通知してもよい。
【００６９】
なお、制御部３２は、Ｋ個のマルチキャストツリーの各々に、通信システムに含まれる複数のノード１（又は、複数のエッジ）の一部だけを含めてもよい。
【００７０】
なお、制御部３２は、例えば、マルチキャストツリーに、端のノード１の全てを含める。ここで、端のノード１は、例えば、通信端末２と接続するノード１、又は、サーバ４と接続するノード１である。
【００７１】
制御部３２は、Ｋ個のマルチキャストツリーを算出した後、要求されているコンテンツ（要求パケットで要求されているコンテンツ）に関する情報を収集及び計算する。制御部３２は、コンテンツに関する情報として、例えば、通信システムに含まれる複数のノードの各々が配送（送信）しなければならないコンテンツの容量に関する情報を計算する。制御部３２は、例えば、複数のノード１の各々から、ノード１の状態を示す情報として、当該複数のノード１の各々においてコンテンツを配送することで発生するトラフィックＴＭ（ｖ）を収集する。
【００７２】
なお、ＴＭ（ｖ）は、次の数１で示される。
【００７３】
［数１］
2015029321.tif 000003
【００７４】
なお、（ｖ）は通信システムに含まれる任意のノード１である。また、ＣＮＳｉｎ（ｖ）は、任意のノード１が要求するコンテンツである。また、ＣＮＳｏｕｔ（ｖ）は、任意のノード１がキャッシュしているコンテンツ、及び、任意のノード１に接続するホスト（例示的な実施形態１では、例えば、サーバ４が保持するコンテンツである。また、ＣＲｓ（ｖ）は、任意のノード１が送信するコンテンツのインタリスト（Ｉｎｔｅｒｅｓｔｓ）の数である。なお、インタリストは、コンテンツの要求であり、コンテンツを要求するためのクエリ（要求パケット）である。すなわち、ＣＲｓ（ｖ）は、任意のノード１が送信する要求パケットの数である。
【００７５】
なお、ＣＲｓ（ｖ）は、次の数２で示される。
【００７６】
［数２］
2015029321.tif 000004
【００７７】
なお、ＣＲｓ（ｖ、ｄ）は、任意のノード１（ノードｖ）が送信するコンテンツ（ｄ）を要求するためのインタリストの数である。
【００７８】
ここで、複数のノード１の各々は、送受信した要求パケットの履歴と、送受信した応答パケットの履歴を保持しており、当該履歴から、任意のノード１において発生するトラフィックＴＭ（ｖ）を推定してもよい。この場合、ＴＭ（ｖ）は、推定値となる。任意のノード１は、例えば、自装置が送信した応答パケット（コンテンツを含む応答パケット）の履歴を用いて、所定の時間内に（所定のフェーズで）配送したコンテンツの平均値を算出し、ＴＭ（ｖ）を推定する。なお、任意のノード１がＴＭ（ｖ）を推定する方法は、この例に限られず、どのような方法でもよい。
【００７９】
そして、制御部３２は、収集したＴＭ（ｖ）から、コンテンツを配送することで発生する、通信システム全体におけるトラフィックＴＭを計算する。そして、制御部３２は、計算したトラフィックＴＭを、トポロジＤＢ３３に記憶する。なお、制御部３２は、トラフィックＴＭとして、予め定めたＴＭＳＲを優先的に用いても良い。ＴＭＳＲは、例えば、自然災害等が発生した直後の通信ネットワークにおけるトラフィックや、平均的な（通常の）通信ネットワークにおけるネットワークにおけるトラフィックである。
【００８０】
なお、ＴＭは次の数３で示される。
【００８１】
［数３］
2015029321.tif 000005
【００８２】
ここで、ＣＮＳは、通信システム全体において、複数のノード１の各々によって要求される全てのコンテンツである。なお、ＣＮＳは、次の数４で表される。
【００８３】
［数４］
2015029321.tif 000006
【００８４】
また、ＣＮＳｉｎは、通信システム全体において、複数のノード１によって要求される全てのコンテンツである。ＣＮＳｉｎは、次の数５で表される。なお、Ｖは、通信システムに含まれる全てのノード１である。
【００８５】
［数５］
2015029321.tif 000007
【００８６】
また、ＣＮＳｏｕｔは、通信システム全体において、複数のノード１によって提供可能なコンテンツである。ＣＮＳｏｕｔは、次の数６で表される。
【００８７】
［数６］
2015029321.tif 000008
【００８８】
また、ＣＲｓは、通信システム全体において、複数のノード１によって送信されるコンテンツのインタリストの集合を表す。ＣＲｓは、次の数７で表される。
【００８９】
［数７］
2015029321.tif 000009
【００９０】
なお、数７において、ＣＲｓ（ｄ）は、全てのノード１によって要求されるコンテンツｄの総容量（大きさ、サイズ）である。ＣＲｓ（ｄ）は、次の数８で表される。
【００９１】
［数８］
2015029321.tif 000010
【００９２】
ここで、数８において、Ｓ（ｄ）は、コンテンツｄのサイズ（容量）を示す。なお、Ｓ（ｄ）の単位は、例えば、バイト（Ｂｙｔｅ）である。
【００９３】
制御部３２は、続いて、算出したＫ個のマルチキャストツリーのうちの１つを選択する。制御部３２は、例えば、Ｋ個のマルチキャストツリーから１つのマルチキャストツリーを、例えばランダムに選択する。なお、制御部３２が、Ｋ個のマルチキャストツリーから１つを選択する方法は、ランダムに選択することに限らず、例えば、算出された順に選択するなど、どのような方法であってもよい。
【００９４】
制御部３２は、通信システム全体において、複数のノード１によって保持される全てのコンテンツのそれぞれに対して、マルチキャストツリーｓｔ上で、コンテンツｄを送信した場合の、当該ｓｔに含まれるエッジ（ｅ）の利用率（稼働率）を計算する。当該稼働率は、Ｆ（ｅ、ｄ、ｓｔ）で表される。なお、ｅはエッジ、ｄはコンテンツ、ｓｔはマルチキャストツリーである。なお、Ｆ（ｅ、ｄ、ｓｔ）は、通信ネットワークにおけるトラフィックＴＭに基づいて推定してもよい。
【００９５】
制御部３２は、Ｆ（ｅ、ｄ、ｓｔ）がエッジ（ｅ）の能力（最大利用率、最大稼働率）であるＣ（ｅ）を超えない範囲で、選択したツリーｓｔに、コンテンツｄに関するトラフィックを割り当てる。コンテンツｄに関するトラフィックを割り当てることは、選択したツリーｓｔを用いてコンテンツｄのインタリスト（要求パケット）を送信し、かつ、選択したツリーｓｔ上の少なくとも１つのエッジ（当該エッジに接続するノード１）を用いて、コンテンツｄを含む応答パケットを転送することを意味する。
【００９６】
制御部３２は、マルチキャストツリー上の少なくとも１つのエッジ（ｅ）の能力を超えるまで、選択したマルチキャストツリーにコンテンツに関数トラフィックを割り当てる。
【００９７】
ここで、選択したマルチキャストツリーｓｔにコンテンツｄに関するトラフィックを割り当てるか否かの判断は、コンテンツｄの応答パケットが、当該選択したマルチキャストツリーｓｔ上のエッジ（当該エッジに接続するノード１）で転送できるか否かに依存する。
【００９８】
応答パケットは、コンテンツを含むためその容量が大きく、多数の応答パケットが特定のエッジ（当該エッジに接続するノード１）に集中すると、例えば当該エッジが輻輳してしまうからである。また、ＣＣＮにおけるノード１は、応答パケットに含まれるコンテンツをキャッシュする必要があるため、キャッシュできる容量を超えて応答パケットを受信してしまうと、当該応答パケットに含まれるコンテンツをキャッシュすることができなくなってしまうからである。
【００９９】
そこで、制御部３２は、コンテンツｄを含む応答パケットを、選択したマルチキャストツリー上のエッジ（及び当該エッジに接続するノード１）が転送できる範囲内で、コンテンツｄに関するトラフィックを選択したマルチキャストツリーに割り当てる。
【０１００】
制御部３２は、通信システムに含まれる複数のノードの各々に、マルチキャストツリーｓｔにコンテンツｄに関するトラフィックを割り当てるか否かの情報Ｘ（ｄ、ｓｔ）を通知する。Ｘ（ｄ、ｓｔ）は、「１」又は「０」で示され、「１」であれば、当該マルチキャストツリーｓｔに、コンテンツｄに関するトラフィックを割り当てる。一方、「０」であれば、当該マルチキャストツリーｓｔに、コンテンツｄに関するトラフィックを割り当てない。
【０１０１】
なお、制御部３２は、コンテンツｄに関するトラフィックを、選択したマルチキャストツリーｓｔに割り当てない場合には、次に選択するマルチキャストツリーｓｔに当該コンテンツｄに関するトラフィックを割り当てる。
【０１０２】
なお、複数のノード１は、コンテンツｄに関するトラフィックを割り当てられたマルチキャストツリーを用いて、コンテンツｄの要求パケットを送信する。また、当該マルチキャストツリー上のノード１を介して、コンテンツｄを含む応答パケットを転送する。
【０１０３】
Ｘ（ｄ、ｓｔ）は、数９のように、前提条件であるネットワークＧ、マルチキャストツリーの総数Ｋ，マルチキャストツリーの各々ＳＴＳ及び、ＣＮＳ、ＣＲＳが与えられたとき、数１０を満たすように求められる。
【０１０４】
［数９］
2015029321.tif 000011
【０１０５】
［数１０］
2015029321.tif 000012
【０１０６】
数１０の第１式は、マルチキャストツリーに割り当てる（含める）コンテンツの容量（サイズ）を最大化する目的関数である。数１０の第１式を用いて、マルチキャストツリーに含めるコンテンツの容量を最大化するように、Ｘ（ｄ、ｓｔ）の「１」又は「０」が決定される。なお、数１０の第２乃至第４式（下記の数１１乃至数１３に該当する部分）は、数１０の第１式の目的関数における条件を示す。
【０１０７】
まず、数１１は、エッジの利用率（稼働率）が、エッジの能力（最大利用率、最大稼働率）を超えないという条件を表す。
【０１０８】
［数１１］
2015029321.tif 000013
【０１０９】
また、数１２は、１つのコンテンツは、１つのマルチキャストツリーにより配送される（割り当てられる）という条件を表す。すなわち、１つのコンテンツが、複数のマルチキャストツリーで配送されないようにすることを表す。
【０１１０】
［数１２］
2015029321.tif 000014
【０１１１】
さらに、数１３は、Ｘ（ｄ、ｓｔ）が、「１」又は「０」のいずれかになることを表す。
【０１１２】
［数１３］
2015029321.tif 000015
【０１１３】
制御部３２は、上記数１０の第１式を満たすように決定したＸ（ｄ、ｓｔ）を、複数のノード１の各々に通知する。
【０１１４】
制御部３２は、処理規則ＤＢ３４に、複数のノード１の各々に通知したＸ（ｄ、ｓｔ）を通知する。
【０１１５】
トポロジＤＢ３３は、複数のノード１の各々から収集した、通信システムのトポロジに関する情報を格納する。トポロジに関する情報は、例えば、ノード１に接続するエッジ（リンク）のトラフィックに関する情報である。また、トポロジに関する情報は、例えば、ノード１に接続するエッジ（リンク）で生じた障害（例えば、エッジ（リンク）の切断など）に関する情報である。また、トポロジに関する情報は、例えば、ノード１に新たに接続したリンク（又は、ノード１に新たに接続した対向ノード）に関する情報である。なお、トポロジに関する情報は、これらの例に限られず、ネットワークのトポロジに関する情報であれば、どのような情報であってもよい。
【０１１６】
処理規則ＤＢ３４は、複数のノード１の各々に通知した、マルチキャストツリーｓｔにコンテンツｄに関するトラフィックを割り当てるか否かの情報Ｘ（ｄ、ｓｔ）を格納する。また、処理規則ＤＢ３４は、複数のノード１の各々に通知した、パケットの処理規則を示す情報を格納してもよい。
【０１１７】
ツリー記憶部３５は、制御部３２が算出したマルチキャストツリーに関する情報を格納する。また、ツリー記憶部３５は、制御部３２が算出したマルチキャストツリーのうち、コンテンツに関するトラフィックを割り当てる一部のマルチキャストツリーについての情報を格納してもよい。
【０１１８】
図８は、例示的な第１の実施形態における通信システムの動作例を示すシーケンス図である。なお、当該動作例は、通信システムにノード１−１、１−２、１−３及び１−４が含まれる場合の例である。
【０１１９】
まず、ノード１−１乃至１−４のそれぞれは、制御装置３に対して、トポロジ情報を通知する（Ｓ１０１）。
【０１２０】
次に、制御装置３は、複数のマルチキャストツリーを算出し（Ｓ１０２）、当該マルチキャストツリーをノード１−１乃至１−４のそれぞれに通知する（Ｓ１０３）。
【０１２１】
また、制御装置３は、複数のマルチキャストツリーのうち、コンテンツ（複数のノード１−１乃至１−４のそれぞれが要求すると推定されるコンテンツ）に関するトラフィックを割り当てる一部のマルチキャストツリーを決定する（Ｓ１０４）。制御装置３は、複数のノード１−１乃至１−４のそれぞれに対して、コンテンツ毎に、当該コンテンツのトラフィックを割り当てるマルチキャストツリーを通知する（Ｓ１０５）。
【０１２２】
ノード１−１が、例えば、コンテンツＡを要求する要求パケットを、制御装置３から通知されたマルチキャストツリーを用いて、ノード１−２に転送する（Ｓ１０６）。ノード１−２は、自装置にコンテンツＡをキャッシュしていないため、当該要求パケットをノード１−４に転送する（Ｓ１０７）。
【０１２３】
ノード１−４は、コンテンツＡを保持しているため、コンテンツＡを含む応答パケットを、ノード１−２に転送する（Ｓ１０８）。ノード１−２は、コンテンツＡをキャッシュしていなかったので、応答パケットを受信すると、当該コンテンツＡをキャッシュする（Ｓ１０９）。その後、ノード１−２は、応答パケットを、ノード１−１に転送する（Ｓ１１０）。
【０１２４】
図９は、例示的な第１の実施形態における制御装置３の動作例を示すフローチャートである。
【０１２５】
制御装置３は、複数のマルチキャストツリーを算出する（Ｓ２０１）。
【０１２６】
次に、制御装置３は、通信システム全体において、複数のノード１の各々によって要求される全てのコンテンツを計算する（Ｓ２０２）。
【０１２７】
続いて、制御装置３は、計算した複数のマルチキャストツリーのうち、コンテンツに関するトラフィックを割り当てる候補となるマルチキャストツリーを選択する（Ｓ２０３）。なお、当該選択するマルチキャストツリーは、まだコンテンツに関するトラフィックを割り当てていないツリーとする。
【０１２８】
制御装置３は、選択したマルチキャストツリーに、できる限り多くのコンテンツに関するトラフィックを割り当てる（Ｓ２０４）。
【０１２９】
制御装置３は、ステップ２０２で計算した全てのコンテンツに対して、マルチキャストツリーを割り当てられた場合には（Ｓ２０５のＹＥＳ）、通信システムにおいて、コンテンツの転送に関わらないノードを、例えば休止状態に移行させる（Ｓ２０６）。
【０１３０】
一方、ステップ２０２で計算した全てのコンテンツに対して、マルチキャストツリーを割り当てていない場合には（Ｓ２０５のＮＯ）、ステップ２０３に戻り、その割り当てていないコンテンツにマルチキャストツリーが割り当てられる。
【０１３１】
上記のとおり、例示的な第１の実施形態では、複数のノード１の各々が、コンテンツに関するトラフィックを、複数のマルチキャストツリーのうちの一部のマルチキャストツリーに集中して割り当てる。すなわち、当該通信システムでは、複数の要求パケットの転送が、一部のマルチキャストツリーに集中する。また、当該要求パケットに対する応答である応答パケットの転送が、当該一部のマルチキャストツリーの経路に集中する。そうすると、当該一部のマルチキャストツリーの経路上にある中間ノードに、コンテンツをキャッシュさせることができる。したがって、コンテンツを要求するノードが、当該一部のマルチキャストツリーに沿って要求パケットを送信すれば、コンテンツをキャッシュする中間ノードから、当該コンテンツを受け取ることができる可能性が高まる。
【０１３２】
したがって、例示的な第１の実施形態では、要求パケットの転送及び応答パケットの転送を、短い経路に限ることが可能になり、ネットワークの負荷を抑制することができる。
また、コンテンツを要求するノードと、当該コンテンツをキャッシュする中間ノードとの間で、要求パケット及び応答パケットの送受信が完了する割合が上昇すると、ネットワークにおいて、コンテンツの転送に関わらないノードの数が増える。例示的な第１の実施形態では、そのようなコンテンツの転送に関わらないノードを、例えば休止状態に移行させることにより、ネットワーク全体で消費する電力を低下させることができる。
【０１３３】
また、ノード１が複数のエッジ（リンク）によって接続されている場合、マルチキャストツリーに含まれないエッジ（リンク）をスリープ（停止状態）させることにより、ノード１において、当該エッジと接続する通信インターフェースを休止状態に移行する。例えば、ノード１が、シェルフと呼ばれる筐体に、複数のエッジの各々に対応する通信インターフェース用のカードを装着して、複数のエッジと接続している場合、マルチキャストツリーに含まれないエッジに対応する通信インターフェース用のカードを休止状態とする。
そうすることにより、ノード１において、マルチキャストツリーに含まれないエッジと接続する通信インターフェース用のカードを休止状態に移行できるため、ノード１の消費電力を削減することができ、ネットワーク全体で消費する電力を低下させることができる。
【０１３４】
＜第２の実施形態＞
例示的な第２の実施形態における通信システムは、制御装置３の制御部３２が、マルチキャストツリーｓｔにコンテンツｄに関するトラフィックを割り当てるか否かを決定する際に、優先度の高いコンテンツから順に当該決定を行う実施形態である。当該制御部３２は、通信システムにおいて、要求されるコンテンツの全てに対して、所定の条件で設けられた優先順位に基づいて順番に、マルチキャストツリーｓｔに当該コンテンツｄを割り当てるか否かを判断する。第２の実施形態は、上述の実施形態のいずれにも適用することができる。
【０１３５】
なお、例示的な第２の実施形態において、上述した実施形態と同様の構成については、説明を省略する。
【０１３６】
制御装置３の制御部３２は、通信システム全体において、複数のノード１の各々によって要求される全てのコンテンツを、下記の数１４で示される重みＷ（ｄ，ｓｔ）を用いて、ソート（Ｓｏｒｔ）する。
【０１３７】
［数１４］
2015029321.tif 000016
【０１３８】
なお、Ｖ（ｄ，ｓｔ）は、コンテンツの価値を示し、下記の数１５によって示される。
【０１３９】
［数１５］
2015029321.tif 000017
【０１４０】
Ｖ（ｄ，ｓｔ）は、要求される容量が大きいコンテンツほど、大きな値となる。
【０１４１】
また、Ｃ（ｄ，ｓｔ）は、コンテンツのコストを示し、下記の数１６によって示される。
【０１４２】
［数１６］
2015029321.tif 000018
【０１４３】
Ｃ（ｄ、ｓｔ）は、コンテンツを転送した場合における、エッジ（リンク）の利用率を示す。すなわち、Ｃ（ｄ、ｓｔ）は、その値が大きいほど、コンテンツの転送にエッジの能力を使う（エッジの利用率が増加する）ことを示す。
【０１４４】
したがって、重みＷ（ｄ，ｓｔ）が大きいほど、価値が高いコンテンツであるのに、その転送にエッジの能力を奪わない（エッジの利用率が増加しない）ことを示し、コストパフォーマンスが良いことを示す。
【０１４５】
制御部３２は、要求される全てのコンテンツを、Ｗ（ｄ，ｓｔ）を用いて並び替え、よりＷ（ｄ、ｓｔ）の大きな（コストパフォーマンスの良い）コンテンツから、当該コンテンツのトラフィックを選択したマルチキャストルートｓｔに割り当てるか否かを判断する。したがって、例示的な第２の実施形態では、Ｗ（ｄ、ｓｔ）の大きなコンテンツから、選択したマルチキャストに割り当てるか否かを決定することができる。
【０１４６】
なお、コンテンツの優先度は、上記の重みＷ（ｄ、ｓｔ）によって決定するだけに限られず、例えば要求される数（回数）の多いコンテンツだけに基づいて決定してもよい。
【０１４７】
上記のとおり、例示的な第２の実施形態では、より価値の高いコンテンツ（コストパフォーマンスのよいコンテンツ）を優先して、選択したマルチキャストルートｓｔに割り当てる。したがって、ＣＣＮにおいて、より価値の高いコンテンツほど、特定のマルチキャストにより集中して要求及び取得されていることになる。
すなわち、より価値の高いコンテンツほど、中間ノードにキャッシュされている可能性が高まり、ＣＣＮを利用してコンテンツを要求するエージェントが、当該中間ノードからコンテンツを受け取ることができる可能性が高まる。
【０１４８】
＜第３の実施形態＞
例示的な第３の実施形態における通信システムは、制御装置３の制御部３２が、複数のマルチキャストツリーからコンテンツに関するトラフィックを割り当てるマルチキャストツリーを決定する場合の決定方法のバリエーションである。第３の実施形態は、上述の実施形態のいずれにも適用することができる。
【０１４９】
なお、例示的な第３の実施形態において、上述した実施形態と同様の構成については、説明を省略する。
【０１５０】
制御部３２は、計算したＫ個のマルチキャストツリーのうち、通信システムに含まれる通信ノード１が要求する全てのコンテンツに関するトラフィックを割り当てるマルチキャストツリーの数がなるべく小さくなるように、当該マルチキャストツリーを選択する。制御部３２は、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含むマルチキャストツリーにおいて、第１のツリー群に属するマルチキャストツリーから、コンテンツに関するトラフィックを割り当てるマルチキャストツリーの数がなるべく小さくなるように、当該マルチキャストツリーを決定する。
【０１５１】
例示的な第３の実施形態における通信システムは、図５と同様である。
【０１５２】
制御部３２は、例えば、複数のマルチキャストツリーα、β及びγを算出する。
【０１５３】
また、ノード１−１乃至１−４は、コンテンツＡ，Ｂ、Ｃ，Ｄ及びＥを要求する。コンテンツＡ、Ｂ、Ｃ、Ｄ及びＥは、通信システム全体において、ノード１−１乃至１−４の各々によって要求される全てのコンテンツである。
【０１５４】
制御部３２がマルチキャストツリーαを最初に選択した場合には、当該マルチキャストツリーαだけではコンテンツＡ〜Ｅのトラフィックを収容しきれず、マルチキャストツリーβ又はγも利用する必要がある。
【０１５５】
また、制御部３２がマルチキャストツリーβを最初に選択した場合も、やはり当該マルチキャストツリーβだけではコンテンツＡ〜Ｅのトラフィックを収容しきれず、マルチキャストツリーα又はγも利用する必要がある。
【０１５６】
一方、制御部３２がマルチキャストツリーγを最初に選択した場合は、当該マルチキャストツリーγだけで、コンテンツＡ〜Ｅのトラフィックを収容できたとする。すなわち、マルチキャストツリーγを割り当てるだけで、全てのコンテンツＡ〜Ｅの要求を満たすことができる。
【０１５７】
ここで、例示的な第３の実施形態では、制御部３２が、全てのコンテンツに関するトラフィックを割り当てるマルチキャストの数が最小となるように、当該マルチキャストを決定する。すなわち、上記の例では、制御部３２は、コンテンツＡ〜Ｅに関するトラフィックは、マルチキャストツリーγに割り当てる。
【０１５８】
上記のとおり、例示的な第３の実施形態では、制御部３２が、コンテンツに関するトラフィックを割り当てる一部のマルチキャストの数が少なくなるように、当該マルチキャストを選択する。したがって、例示的な第３の実施形態では、コンテンツに関するトラフィックを割り当てるマルチキャストの数を少なくできるので、コンテンツに関するトラフィックを、当該選択したマルチキャストツリーに集中させることができる。したがって、複数の要求パケットの転送が、選択したマルチキャストツリーに集中し、当該要求パケットに対する応答である応答パケットの転送も、そのマルチキャストツリーに集中する。したがって、例示的な第３の実施形態では、コンテンツをキャッシュする中間ノードから、当該コンテンツを受け取ることができる可能性が高まる。
【０１５９】
また、コンテンツに関するトラフィックが、所定のマルチキャストツリーにより集中するので、コンテンツの転送に関わらないノードの数が増え、それらのノードを休止状態に移行させることにより、ネットワーク全体で消費する電力をより低下させることができる。
【０１６０】
また、ノード１が複数のエッジ（リンク）によって接続されている場合、マルチキャストツリーに含まれないエッジ（リンク）をスリープ（停止状態）させることにより、ノード１において、当該エッジと接続する通信インターフェースを休止状態に移行する。例えば、ノード１が、シェルフと呼ばれる筐体に、複数のエッジの各々に対応する通信インターフェース用のカードを装着して、複数のエッジと接続している場合、マルチキャストツリーに含まれないエッジに対応する通信インターフェース用のカードを休止状態とする。
そうすることにより、ノード１において、マルチキャストツリーに含まれないエッジと接続する通信インターフェース用のカードを休止状態に移行できるため、ノード１の消費電力を削減することができ、ネットワーク全体で消費する電力を低下させることができる。
【０１６１】
＜第４の実施形態＞
例示的な第４の実施形態における通信システムは、上記各実施形態における制御装置３の機能を、複数のノード１の少なくとも１つが有する場合の実施形態である。第４の実施形態は、上述の実施形態のいずれにも適用することができる。なお、例示的な第４の実施形態において、上述した実施形態と同様の構成については、説明を省略する。
【０１６２】
複数のノード１の少なくとも１つが、制御装置３の機能を有するので、通信システムが制御装置を含む必要がなくなる。
【０１６３】
図１０は、例示的な第４の実施形態における、通信システムの構成例を示す図である。
図１０に示すように、例えば、ノード１−４が、複数のマルチキャストツリーのうち、コンテンツに関するトラフィックを割り当てる一部のマルチキャストツリーを決定する手段として機能する。ノード１−４は、まず複数のマルチキャストツリーを算出し、算出した複数のマルチキャストツリーの一部のツリーに対して、所定の条件により、コンテンツに関するトラフィックを割り当てる。ノード１−４は、例えば、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含むマルチキャストツリーにおいて、第１のツリー群に属するマルチキャストツリーのいずれかに、所定の条件により、コンテンツに関するトラフィックを割り当てる。
【０１６４】
図１０に示すように、ノード１−４は、制御手段４１を備え、当該制御手段４１により、複数のマルチキャストツリーのうち、コンテンツに関するトラフィックを割り当てる一部のマルチキャストツリーを決定する。なお、制御手段４１は、例えば、上記各実施形態における制御装置３が備える各構成を含む。
【０１６５】
ノード１−４は、ノード１−１乃至１−３の各々から、リンク４２を介して、ノード１−１乃至１−３の各々のトポロジ情報を取得する。
【０１６６】
ノード１−４は、取得したトポロジ情報を用いて、複数のマルチキャストツリーを算出し、リンク４２を介して、当該マルチキャストツリーをノード１−１乃至１−３のそれぞれに通知する。
【０１６７】
また、ノード１−４は、複数のマルチキャストツリーのうち、コンテンツに関するトラフィックを割り当てる一部のマルチキャストツリーを決定し、ノード１−１乃至１−３のそれぞれに対して、コンテンツ毎に、当該コンテンツのトラフィックを割り当てるマルチキャストツリーを通知する。
【０１６８】
例示的な第４の実施形態では、複数のノード１の少なくとも１つが、制御装置３の機能を有するので、通信システムが制御装置を含む必要がなくなる。
【０１６９】
＜第５の実施形態＞
例示的な第５の実施形態は、集中制御型のネットワークアーキテクチャであるオープンフロー（ＯｐｅｎＦｌｏｗ）という技術を改良して実施する例を示す。
【０１７０】
第５の実施形態は、上述の実施形態のいずれにも適用することができる。なお、例示的な第５の実施形態において、上述した実施形態と同様の構成については、説明を省略する。
【０１７１】
オープンフローは、通信をエンドツーエンドのフローとして認識し、フロー単位で経路制御等を実行できる。
【０１７２】
図１１及び図１２を参照し、オープンフローについて説明する。
【０１７３】
図１１は、オープンフロー技術により構成された通信システムの概要を示す。なお、フローとは、例えば、所定の属性（通信の宛先や送信元等に基づいて識別される属性）を有する一連の通信パケット群である。オープンフロースイッチ５１は、オープンフロー技術を採用したネットワークスイッチである。オープンフローコントローラ５０は、オープンフロースイッチ５１を制御する情報処理装置である。
【０１７４】
オープンフロースイッチ５１は、オープンフローコントローラ５０との間に設定されたセキュアチャネル５２を介して、オープンフローコントローラ５０と通信する。オープンフローコントローラ５０は、セキュアチャネル５２を介して、オープンフロースイッチ５１のフローテーブル５１０の設定を行う。なお、セキュアチャネル５２は、スイッチとコントローラ間の通信の盗聴や改ざん等を防止するための処置がなされた通信経路である。
【０１７５】
図１２は、フローテーブル５１０の各エントリ（フローエントリ）の構成例を示す。フローエントリは、スイッチが受信したパケットのヘッダに含まれる情報と照合するためのマッチングルール（Ｍａｔｃｈｉｎｇ  Ｆｉｅｌｄｓ）と、パケットフロー毎の統計情報である統計情報（Ｃｏｕｎｔｅｒｓ）と、マッチングルールにマッチするパケットの処理方法を規定するインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）とで構成される。ここで、パケットのヘッダに含まれる情報は、宛先ＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ａｄｄｒｅｓｓ）や、ＶＬＡＮ  ＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）等である。
【０１７６】
なお、例示的な第５の実施形態において、パケットのヘッダにはコンテンツＩＤが含まれているので、当該オープンフロー技術を適用する場合には、マッチングルールにはコンテンツＩＤを含めることとなる。
【０１７７】
オープンフロースイッチ５１は、パケットを受信すると、フローテーブル５１０を参照する。オープンフロースイッチ５１は、受信したパケットのヘッダ情報にマッチするフローエントリを検索する。受信パケットのヘッダ情報にマッチするエントリが検索された場合、オープンフロースイッチ５１は、検索されたエントリのインストラクションフィールドに定義された処理方法に従って、受信パケットを処理する。処理方法は、例えば、“受信パケットを所定のポートから転送する”、“受信したパケットを破棄する”、“受信パケットのヘッダの一部を書き換えて、所定のポートから転送する”といったことが規定されている。
【０１７８】
一方、受信パケットのヘッダ情報にマッチするエントリが見つからない場合、オープンフロースイッチ５１は、例えば、セキュアチャネル５２を介して、オープンフローコントローラ５０に対して受信パケットを転送する。オープンフロースイッチ５１は、受信パケットを転送することにより、オープンフローコントローラ５０に対して、受信パケットの処理方法を規定したフローエントリの設定を要求する。オープンフロースイッチ５１は、パケットの処理方法として、コントローラに要求を送信することを規定したフローエントリにパケットがマッチした場合、その処理方法に従って、コントローラに対してフローエントリの設定を要求してもよい。
【０１７９】
オープンフローコントローラ５０は、受信パケットの処理方法を決定し、決定した処理方法を含むフローエントリをフローテーブル５１０に設定する。その後、オープンフロースイッチ５１は、設定されたフローエントリにより、受信パケットと同一のフローに属する後続のパケットを処理する。
【０１８０】
図１３は、例示的な第５の実施形態の通信システムの構成例を示す図である。例示的な第５の実施形態は、図１３に示すように、複数のオープンフロースイッチ１０、通信端末２、オープンフローコントローラ３０と、サーバ４とを含む。オープンフローコントローラ３０は、複数のオープンフロースイッチ１０の各々と、ＯｐｅｎＦｌｏｗプロトコルに従って通信することが可能である。
【０１８１】
図１４は、例示的な第５の実施形態における、オープンフロースイッチ１０の構成の例を示す図である。図１４に示すように、オープンフロースイッチ１０は、通信部１００と、処理規則ＤＢ１０１と、処理部１０２と、コンテンツ格納部１０５とを有する。処理部１０２は、処理検索部１０３と、アクション実行部１０４とを有する。
【０１８２】
通信部１００は、ＯｐｅｎＦｌｏｗプロトコルに従って、オープンフローコントローラ３０と通信する。
【０１８３】
処理規則ＤＢ１０１は、オープンフローコントローラ３０から通知された処理規則を記憶する。
【０１８４】
処理部１０２は、オープンフローコントローラ３０から通知された処理規則に従って、パケットを処理する。
【０１８５】
処理検索部１０３は、処理規則ＤＢ１０１から、受信したパケットに対応する処理規則を検索する。処理検索部１０３は、パケットと、処理規則ＤＢ１０２に記憶された処理規則の“Ｍａｔｃｈｉｎｇ  Ｆｉｅｌｄｓ”とを照合し、パケットに対応する処理規則を検索する。
【０１８６】
アクション実行部１０４は、検索された処理規則の“Ｉｎｓｔｒｕｃｔｉｏｎｓ”フィールドに規定された処理方法に従って、パケットを処理する。
【０１８７】
処理検索部１０３は、例えば、処理規則ＤＢ１０１に、受信したパケットに対応する処理規則が存在しない場合、処理規則の設定をオープンフローコントローラ３０に要求する。
【０１８８】
コンテンツ格納部１０５は、コンテンツをキャッシュする（格納する）手段として機能する。コンテンツ格納部１０５は、例えば、通信部１００から応答パケットを受信し、当該受信した応答パケットに含まれるコンテンツを格納する。コンテンツ格納部１０５は、例えば、コンテンツＩＤと、コンテンツとを対応して格納する。
【０１８９】
図１５は、オープンフローコントローラ３０の構成の例を示す。
【０１９０】
オープンフローコントローラ３０は、通信部３００、処理規則決定部３０１、ツリー決定部３０２、スイッチ管理部３０３、管理ＤＢ３０４、ツリー格納部３０５を備える。
【０１９１】
通信部３００は、オープンフロースイッチ１０と、ＯｐｅｎＦｌｏｗプロトコルに基づいて通信する機能を有する。通信部３００は、オープンフロースイッチ１０から、パケットの処理規則（上述の“フローエントリ”に対応）の要求を受信する。また、通信部３００は、オープンフロースイッチ１０に処理規則を通知する。
【０１９２】
処理規則決定部３０１は、オープンフロースイッチ１０に設定する処理規則を決定する。処理規則決定部３０１は、処理規則を決定する場合、通信部３００が受信したパケットのヘッダのコンテンツＩＤを抽出する。
【０１９３】
処理規則決定部３０１は、通信部３００が受信したパケットが要求パケットの場合、抽出したコンテンツＩＤに対応するコンテンツに関するトラフィックに割り当てられたマルチキャストツリーに沿って、当該要求パケットを送信するための処理規則を決定する。また、処理規則決定部３０１は、通信部３００が受信したパケットが応答パケットの場合、抽出したコンテンツＩＤに対応するコンテンツの要求パケットの転送経路を辿って、当該要求パケットを転送するための処理規則を決定する。なお、処理規則決定部３０１は、処理規則を決定する場合、ツリー格納部３０５を参照する。
【０１９４】
ツリー決定部３０２は、複数のマルチキャストツリーのうち、コンテンツに関するトラフィックを割り当てる一部のマルチキャストツリーを決定する。ツリー決定部３０２は、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含むマルチキャストツリーにおいて、コンテンツに関するトラフィックを割り当てる、第１のツリー群に属するマルチキャストツリーのいずれかを決定する。なお、上述したように、当該第１及び第２のツリー群のいずれかは、ネットワークのトラフィックによっては、マルチキャストツリーを含まない場合もある。
【０１９５】
なお、ツリー決定部３０２は、上記各実施形態における制御装置３の制御部３２と同様の機能を備える。ツリー決定部３０２は、コンテンツに関するトラフィックを割り当てるマルチキャストツリーを決定する場合、スイッチ管理部３０３からスイッチに関する情報を取得し、当該取得した情報を用いてもよい。また、ツリー決定部３０２は、算出した複数のマルチキャストツリーや、決定したマルチキャストツリーに関する情報を、ツリー格納部３０５に格納する。
【０１９６】
ＯｐｅｎＦｌｏｗに準拠した通信機器（ネットワークスイッチ等）は、通信機器のポートのステータスをコントローラに通知する機能（Ｐｏｒｔ  Ｓｔａｔｕｓ）や、スイッチの特性をコントローラに通知する機能（Ｆｅａｔｕｒｅ  Ｒｅｑｕｅｓｔ／Ｒｅｐｌｙ）を有する。スイッチ管理部３０３は、それらの機能により、オープンフロースイッチ１０から情報を収集してもよい。
【０１９７】
オープンフロースイッチ１０は、パケットを処理するための処理規則を、オープンフローコントローラ３０に要求することが可能である。処理規則決定部３０１は、例えば、仮想スイッチ３０３からの要求に応じて、該パケットを転送するための処理規則を作成する。
【０１９８】
処理規則決定部３０１は、生成した処理規則を、管理ＤＢ３０４に格納する。
【０１９９】
図１６は、処理規則決定部３０１が生成する処理規則の例を示す。処理規則決定部３０１は、例えば、オープンフロースイッチ１０からの要求に対応するパケットのヘッダに格納されているコンテンツＩＤと、当該パケットのポート番号をマッチングルールとして規定する。処理規則決定部３０１、例えば、マッチングルールに対応する処理方法“Ｉｎｓｔｒｕｃｔｉｏｎ”として、所定のポート番号からパケットを転送する処理方法が規定される。
【０２００】
図１６の例では、１行目の処理規則のマッチングルールは、「コンテンツＩＤが“Ａ”で、ポート番号が“８０”」である。また、１行目の処理規則のインストラクションは、ポート番号１６から当該パケットを転送することを示す。
【０２０１】
図１６の例では、３行目の処理規則のマッチングルールは、「コンテンツＩＤが“Ｂ”で、ポート番号が“１１０”」である。また、３行目の処理規則のインストラクションは、パケットを破棄することを示す。
【０２０２】
図１７は、例示的な第５の実施形態の動作例を示すシーケンス図である。
【０２０３】
例示的な第５の実施形態において、オープンフローコントローラ３０は、複数のオープンフロースイッチ１０の各々からトポロジに関する情報を取得する（Ｓ３０１）。
【０２０４】
オープンフローコントローラ３０は、複数のマルチキャストツリーを算出し（Ｓ３０２）、算出したツリーを記憶する。
【０２０５】
オープンフローコントローラ３０は、複数のマルチキャストツリーのうち、コンテンツに関するトラフィックを割り当てる一部のマルチキャストツリーを決定し（Ｓ３０３）、決定したツリーを記憶する。
【０２０６】
オープンフロースイッチ１０−１は、オープンフローコントローラ３０に対して、コンテンツを要求する場合に（Ｓ３０４）、当該コンテンツを要求するための要求パケットを処理するための処理規則を要求する（Ｓ３０５）。
【０２０７】
オープンフローコントローラ３０は、パケットを処理するための処理規則を、オープンフロースイッチ１０−１に通知する（Ｓ３０６のＦｌｏｗ  Ｍｏｄ）。
【０２０８】
オープンフロースイッチ１０−１は、オープンフローコントローラ３０から通知された処理規則に基づいて、要求パケットを転送する（Ｓ３０７）。
【０２０９】
オープンフロースイッチ１０−４は、要求パケットを受信し、当該要求パケットに対する応答である応答パケットに、要求されたコンテンツを格納する（Ｓ３０８）。続いて、オープンフロースイッチ１０４は、オープンフローコントローラ３０に対して、要求パケットに応答するための応答パケットを処理するための処理規則を要求する（Ｓ３０９）。
【０２１０】
オープンフローコントローラ３０は、応答パケットを処理するための処理規則を、オープンフロースイッチ１０−４に通知する（Ｓ３１０のＦｌｏｗ  Ｍｏｄ）。
【０２１１】
オープンフロースイッチ１０−４は、オープンフローコントローラ３０から通知された処理規則に基づいて、応答パケットを転送する（Ｓ３１１）。
【０２１２】
上記のとおり、例示的な第５の実施形態は、集中制御型のネットワークアーキテクチャであるオープンフローに適用できる。
【０２１３】
＜第６の実施形態＞
例示的な第６の実施形態について、説明する。第６の実施形態において、ノード１（オープンフロースイッチ）又は制御装置３（オープンフローコントローラ）のコンピュータ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）又はＭＰＵ（Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等は、上述した各実施形態の機能を実現するソフトウェア（プログラム）を実行する。なお、例示的な第６の実施形態において、該ソフトウェア（プログラム）を実行する装置は、ノード１（オープンフロースイッチ）又は制御装置３（オープンフローコントローラ）に限られず、どのような装置であってもよい。
【０２１４】
例示的な第６の実施形態において、ノード１（オープンフロースイッチ）又は制御装置３（オープンフローコントローラ）は、例えばＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）等の各種記憶媒体又はネットワークを介して、上述した各実施形態の機能を実現するソフトウェア（プログラム）を取得する。ノード１（オープンフロースイッチ）又は制御装置３（オープンフローコントローラ）が取得するプログラム、又は、該プログラムを記憶した記憶媒体は、例示的な実施形態を構成することになる。なお、該ソフトウェア（プログラム）は、例えば、ノード１（オープンフロースイッチ）又は制御装置３（オープンフローコントローラ）に含まれる所定の記憶部（図示しない）に、予め記憶されていてもよい。
【０２１５】
ノード１（オープンフロースイッチ）又は制御装置３（オープンフローコントローラ）のコンピュータ、ＣＰＵ又はＭＰＵ等は、取得したソフトウェア（プログラム）のプログラムコードを読み出して実行する。したがって、上述した各実施形態におけるノード１（オープンフロースイッチ）又は制御装置３（オープンフローコントローラ）の処理と同一の処理が実行される。
【０２１６】
例示的な第６の実施形態によればノード１（オープンフロースイッチ）又は制御装置３（オープンフローコントローラ）のコンピュータ、ＣＰＵ又はＭＰＵ等に実現するためのプログラムといった用途に適用できる。
【０２１７】
以上、例示的な実施形態を説明したが、本発明は、上記したそれぞれの実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。
また、本発明は、各実施形態を任意に組み合わせて実施することもできる。即ち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記）
（付記１）
コンテンツの識別子を用いてパケットを転送する複数のノードと、
前記複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する制御手段と、を含み、
前記複数のノードの各々は、
前記算出したマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送し、
前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する
通信システム。
（付記２）
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
前記複数のノードの各々は、
前記第１のツリー群に属するマルチキャストツリーのいずれかを用いて、前記要求パケットを転送する
付記１に記載の通信システム。
（付記３）
前記制御手段は、
前記複数のマルチキャストツリーを算出し、前記算出したマルチキャストツリーのうち、所定の条件に応じて、複数の前記要求パケットを転送するマルチキャストツリーを決定する
付記１又は２に記載の通信システム。
（付記４）
前記所定の条件は、ランダムに、又は、転送可能な前記応答パケット数が最大となるマルチキャストツリーに決定する付記３に記載の通信装置。
（付記５）
前記制御手段は、
前記マルチキャストツリーに含まれる少なくとも１つのノードにおいて、前記要求パケットに対する応答である応答パケットが転送できなくなるまで、複数の前記要求パケットを前記決定したマルチキャストツリーで転送させる
付記１乃至４のいずれかに記載の通信システム。
（付記６）
前記制御手段は、転送するコンテンツの優先度を計算し、前記優先度の高いコンテンツを含む応答パケットに対応する要求パケットを優先して、前記選択したマルチキャストツリーを用いて転送させる
付記１乃至５のいずれかに記載の通信システム。
（付記７）
前記制御手段は、前記複数のノードのうち、前記要求パケット又は前記応答パケットの転送を行わないノードを、休止状態に移行させる
付記１乃至６のいずれかに記載の通信システム。
（付記８）
前記制御手段は、前記複数のノードに対して、前記要求パケットを転送する前記一部のマルチキャストツリーに関する情報を通知し、
前記複数のノードの各々は、前記制御手段から通知された前記情報に基づいて、前記一部のマルチキャストツリーを用いて前記要求パケットを転送する
付記１乃至７のいずれかに記載の通信システム。
（付記９）
前記複数のノードの少なくとも１つに対して、前記要求パケットを処理するための処理規則を通知する制御装置を有し、
前記複数のノードの各々は、前記要求パケットを受信したことに応じて、前記要求パケットを処理するための処理規則を要求し、
前記制御装置は、前記要求に応じて、前記要求パケットを前記一部のマルチキャストツリーに沿って転送させるための処理規則を生成し、前記生成した処理規則を前記複数のノードの少なくとも１つに通知する
付記１乃至８のいずれかに記載の通信システム。
（付記１０）
コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する制御部を備え、
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
前記制御部は、前記複数のマルチキャストツリーのうち、所定の条件に応じて、前記コンテンツを要求する要求パケットを転送する少なくとも１つのマルチキャストツリーを決定する
制御装置。
（付記１１）
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
前記制御部は、
所定の条件に応じて、前記第１のツリー群に属するマルチキャストツリーのいずれかを前記要求パケットを転送するマルチキャストツリーと決定する
付記１０に記載の制御装置。
（付記１２）
前記所定の条件は、ランダムに、又は、転送可能な前記応答パケット数が最大となるマルチキャストツリーに決定する付記１１に記載の制御装置。
（付記１３）
前記制御部は、前記マルチキャストツリーに含まれる少なくとも１つのノードにおいて、前記要求パケットに対する応答である応答パケットが転送できなくなるまで、複数の前記要求パケットを前記決定したマルチキャストツリーで転送させる
付記１０乃至１２のいずれかに記載の制御装置。
（付記１４）
前記制御部は、転送するコンテンツの優先度を計算し、前記優先度の高いコンテンツを含む応答パケットに対応する要求パケットを優先して、前記選択したマルチキャストツリーを用いて転送させる
付記１０乃至１３のいずれかに記載の制御装置。
（付記１５）
前記制御部は、前記複数のノードのうち、前記要求パケット又は前記応答パケットの転送を行わないノードを、休止状態に移行させる
付記１０乃至１４のいずれかに記載の制御装置。
（付記１６）
前記制御部は、前記複数のノードに対して、前記要求パケットを転送する前記一部のマルチキャストツリーに関する情報を通知し、
前記複数のノードの各々は、前記制御手段から通知された前記情報に基づいて、前記一部のマルチキャストツリーを用いて前記要求パケットを転送する
付記１０乃至１５のいずれかに記載の制御装置。
（付記１７）
前記制御部が、
前記複数のノードの各々は、前記要求パケットを受信したことに応じて、前記要求パケットを処理するための処理規則を要求し、
前記制御装置は、前記要求に応じて、前記要求パケットを前記一部のマルチキャストツリーに沿って転送させるための処理規則を生成し、前記生成した処理規則を前記複数のノードの少なくとも１つに通知する
付記１０乃至１６のいずれかに記載の制御装置。
（付記１８）
コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出し、
前記複数のマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送し、
前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する
通信方法。
（付記１９）
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
所定の条件に応じて、前記第１のツリー群に属するマルチキャストツリーのいずれかを前記要求パケットを転送するマルチキャストツリーと決定する
付記１８に記載の通信方法。
（付記２０）
前記複数のマルチキャストツリーを算出し、前記算出したマルチキャストツリーのうち、所定の条件に応じて、複数の前記要求パケットを転送するマルチキャストツリーを決定する
付記１８又は１９に記載の通信方法。
（付記２１）
前記所定の条件は、ランダムに、又は、転送可能な前記応答パケット数が最大となるマルチキャストツリーに決定する付記２０に記載の通信方法。
（付記２２）
前記マルチキャストツリーに含まれる少なくとも１つのノードにおいて、前記要求パケットに対する応答である応答パケットが転送できなくなるまで、複数の前記要求パケットを前記決定したマルチキャストツリーで転送させる
付記１８乃至２１のいずれかに記載の通信方法。
（付記２３）
転送するコンテンツの優先度を計算し、
前記優先度の高いコンテンツを含む応答パケットに対応する要求パケットを優先して、前記選択したマルチキャストツリーを用いて転送させる
付記１８乃至２２のいずれかに記載の通信方法。
（付記２４）
前記複数のノードのうち、前記要求パケット又は前記応答パケットの転送を行わないノードを、休止状態に移行させる
付記１８乃至２３のいずれかに記載の通信方法。
（付記２５）
前記複数のノードに対して、前記要求パケットを転送する前記一部のマルチキャストツリーに関する情報を通知し、
通知された前記情報に基づいて、前記一部のマルチキャストツリーを用いて前記要求パケットを転送する
付記１８乃至２４のいずれかに記載の通信方法。
（付記２６）
前記複数のノードの少なくとも１つに対して、前記要求パケットを処理するための処理規則を通知し、
前記要求パケットを受信したことに応じて、前記要求パケットを処理するための処理規則を要求し、
前記要求に応じて、前記要求パケットを前記一部のマルチキャストツリーに沿って転送させるための処理規則を生成し、
前記生成した処理規則を前記複数のノードの少なくとも１つに通知する
付記１８乃至２５のいずれかに記載の通信方法。
（付記２７）
コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する処理と、
前記複数のマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送する処理と、
前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する処理と
をコンピュータに実行させるプログラム。
（付記２８）
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
所定の条件に応じて、前記第１のツリー群に属するマルチキャストツリーのいずれかを前記要求パケットを転送するマルチキャストツリーと決定する処理
を含む付記２７に記載のプログラム。
（付記２９）
前記複数のマルチキャストツリーを算出し、前記算出したマルチキャストツリーのうち、所定の条件に応じて、複数の前記要求パケットを転送するマルチキャストツリーを決定する処理を
含む付記２７又は２８に記載のプログラム。
（付記３０）
前記所定の条件は、ランダムに、又は、転送可能な前記応答パケット数が最大となるマルチキャストツリーに決定する付記２９に記載のプログラム。
（付記３１）
前記マルチキャストツリーに含まれる少なくとも１つのノードにおいて、前記要求パケットに対する応答である応答パケットが転送できなくなるまで、複数の前記要求パケットを前記決定したマルチキャストツリーで転送させる処理
を含む付記２７乃至３０のいずれかに記載のプログラム。
（付記３２）
転送するコンテンツの優先度を計算する処理と、
前記優先度の高いコンテンツを含む応答パケットに対応する要求パケットを優先して、前記選択したマルチキャストツリーを用いて転送させる処理と
を含む付記２７乃至３１のいずれかに記載のプログラム。
（付記３３）
前記複数のノードのうち、前記要求パケット又は前記応答パケットの転送を行わないノードを、休止状態に移行させる処理
を含む付記２７乃至３２のいずれかに記載のプログラム。
（付記３４）
前記複数のノードに対して、前記要求パケットを転送する前記一部のマルチキャストツリーに関する情報を通知する処理と、
通知された前記情報に基づいて、前記一部のマルチキャストツリーを用いて前記要求パケットを転送する処理と
を含む付記２７乃至３３のいずれかに記載のプログラム。
（付記３５）
前記複数のノードの少なくとも１つに対して、前記要求パケットを処理するための処理規則を通知する処理と、
前記要求パケットを受信したことに応じて、前記要求パケットを処理するための処理規則を要求する処理と、
前記要求に応じて、前記要求パケットを前記一部のマルチキャストツリーに沿って転送させるための処理規則を生成する処理と、
前記生成した処理規則を前記複数のノードの少なくとも１つに通知する処理と
を含む付記２７乃至３４のいずれかに記載のプログラム。
この出願は、２０１３年９月２日に出願された日本出願特願２０１３−１８１４２０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２１８】
１、１−１、１−２、１−３、１−４  ノード
２  通信端末
３  制御装置
４  サーバ
１０、１０−１、１０−２、１０−３、１０−４  オープンフロースイッチ
１１  第１の通信部
１２  第２の通信部
１３  制御部
１４  コンテンツ格納部
１５  処理規則ＤＢ
３０  オープンフローコントローラ
３１  通信部
３２  制御部
３３  トポロジＤＢ
３４  処理規則ＤＢ
３５  ツリー記憶部
４１  制御手段
５０  ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ
５１  ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ
５２  Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ
１００  通信部
１０１  処理規則データベース（ＤＢ）
１０２  処理部
１０３  処理検索部
１０４  アクション実行部
１０５  コンテンツ格納部
３００  通信部
３０１  処理規則決定部
３０２  ツリー決定部
３０３  スイッチ管理部
３０４  管理データベース（ＤＢ）
３０５  ツリー格納部
６３  端末管理部
６４  通知情報データベース（ＤＢ）
５１０  Ｆｌｏｗ  Ｔａｂｌｅ
【図１】
2015029321.tif 000019
【図２】
2015029321.tif 000020
【図３】
2015029321.tif 000021
【図４】
2015029321.tif 000022
【図５】
2015029321.tif 000023
【図６】
2015029321.tif 000024
【図７】
2015029321.tif 000025
【図８】
2015029321.tif 000026
【図９】
2015029321.tif 000027
【図１０】
2015029321.tif 000028
【図１１】
2015029321.tif 000029
【図１２】
2015029321.tif 000030
【図１３】
2015029321.tif 000031
【図１４】
2015029321.tif 000032
【図１５】
2015029321.tif 000033
【図１６】
2015029321.tif 000034
【図１７】
2015029321.tif 000035
【手続補正書】
【提出日】平成28年2月9日(2016.2.9)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本明細書の開示は、通信システム、制御装置、通信方法およびプログラムに関する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
例示的な実施形態によるプログラムは、コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する処理と、前記複数のマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送する処理と、前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する処理とをコンピュータに実行させる。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２７
【補正方法】変更
【補正の内容】
【請求項２７】
コンテンツの識別子を用いてパケットを転送する複数のノードを含むネットワークにおいて、複数のマルチキャストツリーを算出する処理と、
前記複数のマルチキャストツリーの少なくとも１つを用いて、前記コンテンツを要求するための要求パケットを転送する処理と、
前記要求パケットに対する応答として、前記要求したコンテンツを含む応答パケットを受信する処理とをコンピュータに実行させるプログラム。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２８
【補正方法】変更
【補正の内容】
【請求項２８】
前記複数のマルチキャストツリーは、各々少なくとも１つのマルチキャストツリーを互いに排他的に含む第１及び第２のツリー群を含み、
所定の条件に応じて、前記第１のツリー群に属するマルチキャストツリーのいずれかを前記要求パケットを転送するマルチキャストツリーと決定する処理を含む
請求項２７に記載のプログラム。
【手続補正６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２９
【補正方法】変更
【補正の内容】
【請求項２９】
前記プログラムは、前記複数のマルチキャストツリーを算出し、前記算出したマルチキャストツリーのうち、所定の条件に応じて、複数の前記要求パケットを転送するマルチキャストツリーを決定する処理
を含む請求項２７又は２８に記載のプログラム。
【手続補正７】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３０
【補正方法】変更
【補正の内容】
【請求項３０】
前記所定の条件は、ランダムに、又は、転送可能な前記応答パケット数が最大となるマルチキャストツリーに決定する請求項２９に記載のプログラム。
【手続補正８】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３１
【補正方法】変更
【補正の内容】
【請求項３１】
前記マルチキャストツリーに含まれる少なくとも１つのノードにおいて、前記要求パケットに対する応答である応答パケットが転送できなくなるまで、複数の前記要求パケットを前記決定したマルチキャストツリーで転送させる処理
を含む請求項２７乃至３０のいずれかに記載のプログラム。
【手続補正９】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３２
【補正方法】変更
【補正の内容】
【請求項３２】
転送するコンテンツの優先度を計算する処理と、
前記優先度の高いコンテンツを含む応答パケットに対応する要求パケットを優先して、前記算出したマルチキャストツリーの少なくとも１つを用いて転送させる処理と
を含む請求項２７乃至３１のいずれかに記載のプログラム。
【手続補正１０】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３３
【補正方法】変更
【補正の内容】
【請求項３３】
前記複数のノードのうち、前記要求パケット又は前記応答パケットの転送を行わないノードを、休止状態に移行させる処理
を含む請求項２７乃至３２のいずれかに記載のプログラム。
【手続補正１１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３４
【補正方法】変更
【補正の内容】
【請求項３４】
前記複数のノードに対して、前記要求パケットを転送する前記一部のマルチキャストツリーに関する情報を通知する処理と、
通知された前記情報に基づいて、前記一部のマルチキャストツリーを用いて前記要求パケットを転送する処理と
を含む請求項２７乃至３３のいずれかに記載のプログラム。
【手続補正１２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３５
【補正方法】変更
【補正の内容】
【請求項３５】
前記複数のノードの少なくとも１つに対して、前記要求パケットを処理するための処理規則を通知する処理と、
前記要求パケットを受信したことに応じて、前記要求パケットを処理するための処理規則を要求する処理と、
前記要求に応じて、前記要求パケットを前記一部のマルチキャストツリーに沿って転送させるための処理規則を生成する処理と、
前記生成した処理規則を前記複数のノードの少なくとも１つに通知する処理と
を含む請求項２７乃至３４のいずれかに記載のプログラム。
【国際調査報告】
2015029321.tif 000036
2015029321.tif 000037
2015029321.tif 000038
2015029321.tif 000039