(57)【要約】      （修正有）【課題】コンテンツが転送されるネットワークにおいて通信帯域を効率的に利用する。【解決手段】インタレスト管理部はインタレストパケットの生成および転送を行う。アドレス決定部は受信したコンテンツに対応するマルチキャストアドレスを決定する。コンテンツ転送部はコンテンスサーバが送信したコンテンツをＩＣＮの通信によって転送する。対応関係管理部はコンテンツとマルチキャストアドレスとの対応関係を管理する。マルチキャスト管理部はマルチキャストツリーに参加するための処理等を実行する。ユニキャスト転送部はＩＰユニキャスト通信でデータを転送する。マルチキャスト転送部はマルチキャスト通信でデータを転送する。【選択図】図６
2018064171.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンテンツについての複数の要求パケットを第１の装置から受信した場合、当該複数の要求パケットのうち１の要求パケットを第２の装置に転送する第１転送部と、
前記第１のコンテンツに割り当てる第１のマルチキャストアドレスを決定し、前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを、前記第１の装置及び前記第２の装置に送信する第２転送部と、
前記第１のコンテンツを前記第２の装置から受信した場合、前記第１のマルチキャストアドレスを用いて前記第１のコンテンツを前記第１の装置に転送する第３転送部と、
を有する通信装置。
【請求項２】
前記第２転送部は、
前記第１のマルチキャストアドレスを用いて前記第１のコンテンツの転送が開始された後、前記第１のコンテンツについての要求パケットを第３の装置から受信した場合、前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを前記第３の装置に送信し、
前記第３転送部は、
前記第１のコンテンツのライブデータ及び前記第１のコンテンツのキャッシュを、前記第１のマルチキャストアドレスを用いて前記第３の装置に転送する、
請求項１記載の通信装置。
【請求項３】
前記第２転送部は、
前記第１のマルチキャストアドレスを用いて前記第１のコンテンツの転送が開始された後、前記第１のコンテンツについての要求パケットを第４の装置から受信した場合、前記第１のコンテンツのキャッシュに割り当てる第２のマルチキャストアドレスを決定し、
前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを含む第１の情報と、前記第１のコンテンツのキャッシュの識別情報と前記第２のマルチキャストアドレスとを含む第２の情報とを前記第４の装置に送信し、
前記第３転送部は、
前記第１のコンテンツのライブデータを前記第１のマルチキャストアドレスを用いて前記第４の装置に転送し、前記第１のコンテンツのキャッシュを前記第２のマルチキャストアドレスを用いて前記第４の装置に転送する、
請求項１記載の通信装置。
【請求項４】
前記第２転送部は、
前記第１のマルチキャストアドレスを用いて前記第１のコンテンツの転送が開始された後、前記第１のコンテンツについての要求パケットを第５の装置及び第６の装置から受信した場合、前記第１のコンテンツのキャッシュに割り当てる第３のマルチキャストアドレスを決定し、
前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを含む第１の情報と、前記第１のコンテンツのキャッシュの識別情報と前記第３のマルチキャストアドレスとを含む第３の情報とを、前記第５の装置及び前記第６の装置に送信し、
前記第３転送部は、
前記第１のコンテンツのライブデータを前記第１のマルチキャストアドレスを用いて前記第５の装置及び前記第６の装置に転送し、前記第１のコンテンツのキャッシュを前記第３のマルチキャストアドレスを用いて前記第５の装置及び前記第６の装置に転送する、
請求項１記載の通信装置。
【請求項５】
前記第１のマルチキャストアドレスに対応するマルチキャストグループへの参加についての要求パケットを前記第１の装置から受信した場合、前記第１のマルチキャストアドレスに対応するマルチキャストグループに参加するための処理を実行する管理部
をさらに有する請求項１乃至４のいずれか１つ記載の通信装置。
【請求項６】
前記第２転送部は、
前記通信装置の識別情報と時刻の情報とを入力とするハッシュ関数に基づき、前記第１のマルチキャストアドレスを生成する、
請求項１乃至５のいずれか１つ記載の通信装置。
【請求項７】
通信装置が、
第１のコンテンツについての複数の要求パケットを第１の装置から受信した場合、当該複数の要求パケットのうち１の要求パケットを第２の装置に転送し、
前記第１のコンテンツに割り当てる第１のマルチキャストアドレスを決定し、
前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを、前記第１の装置及び前記第２の装置に送信し、
前記第１のコンテンツを前記第２の装置から受信した場合、前記第１のマルチキャストアドレスを用いて前記第１のコンテンツを前記第１の装置に転送する、
処理を実行する通信方法。
【請求項８】
通信装置に、
第１のコンテンツについての複数の要求パケットを第１の装置から受信した場合、当該複数の要求パケットのうち１の要求パケットを第２の装置に転送し、
前記第１のコンテンツに割り当てる第１のマルチキャストアドレスを決定し、
前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを、前記第１の装置及び前記第２の装置に送信し、
前記第１のコンテンツを前記第２の装置から受信した場合、前記第１のマルチキャストアドレスを用いて前記第１のコンテンツを前記第１の装置に転送する、
処理を実行させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおいてデータを転送する技術に関する。
【背景技術】
【０００２】
インターネットは、エンドツーエンド（end-to-end）でのデータの送受信をターゲットに設計されたが、最近では、サーバから端末へのコンテンツ（例えば動画や音楽など）の配信システムとして利用されるようになっている。そこで、情報配信に着目したネットワーク技術であるＩＣＮ（Information Centric Networking）の研究が盛んに行われている。なお、ＩＣＮは、ＣＣＮ（Content Centric Networking）又はＮＤＮ（Named Data Networking）とも呼ばれる。
【０００３】
或る文献は、ＩＣＮに関して以下のような技術を開示する。具体的には、コンテンツの識別子を用いてパケットを転送する複数のノードの各々が、複数のマルチキャストツリーの少なくとも１つを用いて、コンテンツを要求するための要求パケットを転送し、要求パケットに対する応答として、要求したコンテンツを含む応答パケットを受信する。これにより、ネットワークの負荷の上昇が抑制される。
【０００４】
但し、ＩＣＮの通信が行われるネットワークには、ＩＣＮの通信を行うことができるノードだけではなく、ＩＣＮの通信を行うことができないノードが含まれている場合がある。そして、それが原因となってコンテンツの転送の際に通信帯域が効率的に利用されないことがある。上記技術は、このような問題には着目していない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１５／０２９３２１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、１つの側面では、コンテンツが転送されるネットワークにおいて通信帯域を効率的に利用するための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係る通信装置は、第１のコンテンツについての複数の要求パケットを第１の装置から受信した場合、当該複数の要求パケットのうち１の要求パケットを第２の装置に転送する第１転送部と、第１のコンテンツに割り当てる第１のマルチキャストアドレスを決定し、第１のコンテンツの識別情報と第１のマルチキャストアドレスとを、第１の装置及び第２の装置に送信する第２転送部と、第１のコンテンツを第２の装置から受信した場合、第１のマルチキャストアドレスを用いて第１のコンテンツを第１の装置に転送する第３転送部とを有する。
【発明の効果】
【０００８】
１つの側面では、コンテンツが転送されるネットワークにおいて通信帯域を効率的に利用できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、ＩＣＮによるコンテンツ転送について説明するための図である。
【図２】図２は、ＩＣＮによるコンテンツ転送について説明するための図である。
【図３】図３は、ＩＣＮによる要求パケット転送について説明するための図である。
【図４】図４は、ＩＣＮによるコンテンツ転送について説明するための図である。
【図５】図５は、ネットワーク構成を示す図である。
【図６】図６は、ＩＣＮノードの機能ブロック図である。
【図７】図７は、端末の機能ブロック図である。
【図８】図８は、第１の実施の形態の概要を説明するための図である。
【図９】図９は、第１の実施の形態の概要を説明するための図である。
【図１０】図１０は、第１の実施の形態の概要を説明するための図である。
【図１１】図１１は、第１の実施の形態において実行される処理のシーケンス図である。
【図１２】図１２は、第１の実施の形態において実行される処理のシーケンス図である。
【図１３】図１３は、マルチキャストツリー参加処理について説明するための図である。
【図１４】図１４は、マルチキャストツリー参加処理について説明するための図である。
【図１５】図１５は、マルチキャストツリー参加処理について説明するための図である。
【図１６】図１６は、マルチキャストツリー参加処理について説明するための図である。
【図１７】図１７は、マルチキャストツリー参加処理について説明するための図である。
【図１８】図１８は、マルチキャストツリー参加処理について説明するための図である。
【図１９】図１９は、第２の実施の形態の概要を説明するための図である。
【図２０】図２０は、第２の実施の形態の概要を説明するための図である。
【図２１】図２１は、第２の実施の形態において実行される処理のシーケンス図である。
【図２２】図２２は、第３の実施の形態の概要を説明するための図である。
【図２３】図２３は、第３の実施の形態の概要を説明するための図である。
【図２４】図２４は、第３の実施の形態において実行される処理のシーケンス図である。
【図２５】図２５は、第３の実施の形態において実行される処理のシーケンス図である。
【図２６】図２６は、マルチキャストアドレスの割り当てについて説明するための図である。
【図２７】図２７は、第４の実施の形態の概要を説明するための図である。
【図２８】図２８は、第４の実施の形態の概要を説明するための図である。
【図２９】図２９は、第４の実施の形態において実行される処理のシーケンス図である。
【図３０】図３０は、第４の実施の形態において実行される処理のシーケンス図である。
【図３１】図３１は、第４の実施の形態において実行される処理のシーケンス図である。
【図３２】図３２は、中継装置の機能ブロック図である。
【図３３】図３３は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
はじめに、図１乃至図４を用いてＩＣＮによるコンテンツ転送について簡単に説明する。例えば図１に示すように、端末１１ｔは、要求するコンテンツのコンテンツＩＤ（IDentification information）を含むインタレスト（Interest）パケットを送信する。インタレストパケットは、要求パケットとも呼ばれる。図１においては、「/fj/kawasaki」がコンテンツＩＤである。端末１１ｔは、ＩＣＮの通信を行うことができ（以下、ＩＣＮノードと呼ぶ）且つネットワークとの接続点に配置されているノードにインタレストパケットを送信すればよいので、コンテンツ毎に異なるサーバを見つけてそのサーバとエンドツーエンドで通信を行わなくてもよい。なお、コンテンツＩＤではなくコンテンツ名であってもよい。
【００１１】
各ＩＣＮノードは、インタレストパケットに含まれるコンテンツＩＤに対応するフェース（すなわち、ＩＣＮにおけるインタフェース。ここでは「Next Face」）をＦＩＢ（Forwarding Information Base）３００１から特定し、特定したフェースからインタレストパケットを転送する。ＦＩＢ３００１は、コンテンツサーバ１１ｓによってコンテンツ名が広告されることによって、各ＩＣＮノードにおいて予め生成される。また、各ＩＣＮノードは、インタレストパケットを受信したフェースの情報を、ＰＩＴ（Pending Interest Table）３００２に登録する。
【００１２】
インタレストパケットは、ＩＣＮノード１６ｉ、ＩＣＮノード１５ｉ、ＩＣＮノード１４ｉ、ＩＣＮノード１３ｉ、ＩＣＮノード１２ｉ及びＩＣＮノード１１ｉを経由するルートで転送され、コンテンツサーバ１１ｓに到達する。コンテンツサーバ１１ｓは、インタレストパケットに含まれるコンテンツＩＤを有するコンテンツを、ＩＣＮノード１１ｉに送信する。
【００１３】
コンテンツは、ＩＣＮノード１１ｉ、ＩＣＮノード１２ｉ、ＩＣＮノード１３ｉ、ＩＣＮノード１４ｉ、ＩＣＮノード１５ｉ及びＩＣＮノード１６ｉを経由するルートで転送され、端末１１ｔに到達する。ここで、各ＩＣＮノードは、転送されるコンテンツのコンテンツＩＤに対応するフェース（ここでは「Requested Face」）をＰＩＴ３００２から特定し、特定したフェースからコンテンツを転送する。また、各ＩＣＮノードは、コンテンツのキャッシュをキャッシュアルゴリズムに従って保存する。これ以降、例えば図２に示すように、コンテンツを要求する別の端末１２ｔはキャッシュからコンテンツを取得することができる。
【００１４】
ＩＣＮの通信が行われるネットワークにおいては、必ずしも全ての中継ノードがＩＣＮノードであるわけではなく、既存のＩＰ（Internet Protocol）／Ｌ３（Layer 3）ネットワーク上にオーバレイの構造で展開される（ＩＣＮ Ｏｖｅｒ ＩＰ）。例えば図３においては、ＩＰルータ１１ｒはＩＣＮの通信を行わない。コンテンツサーバ１２ｓと端末１３ｔ及び１４ｔとの間におけるエンドツーエンドの通信ではなく、ＩＣＮノード間におけるホップバイホップ（hop-by-hop）の通信が行われる。ＩＣＮノード間におけるホップバイホップの通信は、ＩＰユニキャストで行われる。以下では、「ユニキャスト」とはＩＰユニキャストのことである。
【００１５】
図３に示すように、同一のコンテンツＩＤを含むインタレストパケットを複数の経路から受信したＩＣＮノード１８ｉ（アグリゲートノードと呼ばれる）は、複数のインタレストパケットを１つのインタレストパケットに集約し、コンテンツサーバ１２ｓに転送する。これと同様に、図４に示すように、アグリゲートノードであるＩＣＮノード１８ｉがコンテンツを受信した場合にはコンテンツの複製を生成し、複数回のユニキャスト通信によってコンテンツを端末１３ｔ及び端末１４ｔに転送する。ＩＰルータ１１ｒとＩＣＮノード１８ｉとの間において２回のユニキャスト通信が行われているが、この区間については１回のユニキャスト通信であっても問題は無いので、２回のユニキャスト通信が行われることによって通信帯域が無駄に消費されていると言える。
【００１６】
そこで、以下では、通信帯域を効率的に利用するようにコンテンツを転送する方法について説明する。
【００１７】
［実施の形態１］
図５に、第１の実施の形態のネットワーク構成を示す。コンテンツサーバ１ｓは、ＩＣＮの通信によって、コンテンツ（例えば、動画や音声など）を要求する端末に対してコンテンツを配信する。ネットワーク上には、ＩＣＮノード１ｉ乃至５ｉと、ＩＰルータ１ｒ乃至３ｒとが配置されており、例えばパーソナルコンピュータ又はスマートフォン等である端末１ｔ乃至６ｔは、ネットワークとの接続点にある中継ノードに接続される。より具体的には、ＩＣＮノード１ｉはコンテンツサーバ１ｓ及び端末４ｔに接続され、ＩＣＮノード２ｉはＩＣＮノード１ｉに接続され、ＩＰルータ１ｒはＩＣＮノード２ｉに接続される。ＩＣＮノード４ｉはＩＰルータ１ｒに接続され、端末２ｔ及び３ｔはＩＣＮノード４ｉに接続される。ＩＣＮノード３ｉはＩＰルータ１ｒに接続され、ＩＰルータ２ｒ及びＩＣＮノード５ｉはＩＣＮノード３ｉに接続される。端末１ｔはＩＰルータ２ｒに接続される。ＩＰルータ３ｒはＩＣＮノード５ｉに接続され、端末５ｔ及び６ｔはＩＰルータ３ｒに接続される。なお、装置間の接続は無線接続であってもよい。
【００１８】
図６に、各ＩＣＮノードの機能ブロック図を示す。各ＩＣＮノードは、例えばＲＡＭ（Random Access Memory）であるメモリ１００と、ＣＰＵ（Central Processing Unit）１０１と、ハードウエアコンポーネントを相互に接続するためのバス１０２と、ハードウエアのネットワークインタフェース１０３ａ及び１０３ｂとを有する。ネットワークインタフェース１０３ａ及び１０３ｂは、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）のインタフェース又は無線ＬＡＮ（Local Area Network）のインタフェースである。図６においてはネットワークインタフェースの数は２であるが、数に限定は無い。
【００１９】
プログラム１００１はＣＰＵ１０１によりメモリ１００にロードされて実行されることで、図６に示す各種機能を実現する。具体的には、ＩＣＮ層の機能として、インタレスト管理部１００１１、アドレス決定部１００１２、コンテンツ転送部１００１３及び対応関係管理部１００１４が実現され、ＩＰ層の機能として、マルチキャスト管理部１００１５、ユニキャスト転送部１００１６及びマルチキャスト転送部１００１７が実現される。プログラム１００１に基づく処理に使用されるデータ１００２は、対応関係データ１００２１と、コンテンツのキャッシュ１００２２と、ＦＩＢ１００２３と、ＰＩＴ１００２４とを含む。本実施の形態においては、「マルチキャスト」とはＩＰマルチキャストのことである。
【００２０】
インタレスト管理部１００１１は、インタレストパケットの生成および転送を行う。アドレス決定部１００１２は、受信したコンテンツに対応するマルチキャストアドレスを決定する。コンテンツ転送部１００１３は、コンテンツサーバ１ｓが送信したコンテンツを、ＩＣＮの通信によって転送する。対応関係管理部１００１４は、コンテンツとマルチキャストアドレスとの対応関係を管理する。マルチキャスト管理部１００１５は、マルチキャストツリーに参加するための処理等を実行する。ユニキャスト転送部１００１６は、ＩＰユニキャスト通信でデータを転送する。マルチキャスト転送部１００１７は、マルチキャスト通信でデータを転送する。
【００２１】
対応関係データ１００２１は、コンテンツＩＤとマルチキャストアドレスとの対応関係を示すデータを含む。キャッシュ１００２２は、コンテンツのキャッシュを含む。ＦＩＢ１００２３は、上で述べたように、コンテンツＩＤとインタレストパケットの出力先のフェースとを対応付けて格納する。ＰＩＴ１００２４は、上で述べたように、コンテンツＩＤとインタレストパケットを受信したフェースとを対応付けて格納する。
【００２２】
図７に、各端末の機能ブロック図を示す。各端末は、例えばＲＡＭであるメモリ２００と、ＣＰＵ２０１と、ハードウエアコンポーネントを相互に接続するためのバス２０２と、ハードウエアのネットワークインタフェース２０３とを有する。ネットワークインタフェース２０３は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）のインタフェース又は無線ＬＡＮのインタフェースである。
【００２３】
プログラム２００１はＣＰＵ２０１によりメモリ２００にロードされて実行されることで、図７に示す各種機能を実現する。具体的には、ＩＣＮ層の機能として、インタレスト管理部２００１１、コンテンツ受信部２００１３及び対応関係管理部２００１４が実現され、ＩＰ層の機能として、マルチキャスト管理部２００１５、ユニキャスト通信部２００１６及びマルチキャスト通信部２００１７が実現される。プログラム２００１に基づく処理に使用されるデータ２００２は、対応関係データ２００２１を含む。
【００２４】
インタレスト管理部２００１１は、インタレストパケットの生成および送信を行う。コンテンツ受信部２００１３は、コンテンツサーバ１ｓが送信したコンテンツを受信する。対応関係管理部２００１４は、コンテンツとマルチキャストアドレスとの対応関係を管理する。マルチキャスト管理部２００１５は、ＩＧＭＰ（Internet Group Management Protocol） Ｊｏｉｎメッセージを発行する処理等を実行する。ユニキャスト通信部２００１６は、ユニキャスト通信でデータを送信及び受信する。マルチキャスト通信部２００１７は、マルチキャスト通信で送信されたコンテンツを受信する。
【００２５】
対応関係データ２００２１は、コンテンツＩＤとマルチキャストアドレスとの対応関係を示すデータを含む。
【００２６】
図８乃至図１０を用いて、第１の実施の形態の概要を説明する。例えば図８に示すように、端末１ｔ、端末２ｔ及び端末３ｔが、同一のコンテンツＩＤを含むインタレストパケットを送信するとする。図８においては、ＩＣＮノード２ｉ及びＩＣＮノード４ｉがアグリゲートノードに該当し、３つのインタレストパケットは集約されて最終的には１つのインタレストパケットがコンテンツサーバ１ｓに到達する。
【００２７】
図９に示すように、コンテンツサーバ１ｓは、インタレストパケットを受信すると、インタレストパケットに含まれるコンテンツＩＤを有するコンテンツを、ＩＣＮノード１ｉにユニキャストで送信する。送信されたパケットを受信したＩＣＮノード２ｉは、アグリゲートノードであるので、受信したコンテンツに対応するマルチキャストアドレスを決定する。そして、ＩＣＮノード２ｉは、受信したコンテンツとそのコンテンツに対応するマルチキャストアドレスとを含む対応関係データを、インタレストパケットの転送先であるコンテンツサーバ１ｓに向かう方向を順方向とした場合、その逆方向である前ホップの中継ノードにあたるＩＣＮノード３ｉ及びＩＣＮノード４ｉ、並びに、次ホップの中継ノードにあたるＩＣＮノード１ｉに送信する。対応関係データは、ＩＣＮノード１ｉ、コンテンツサーバ１ｓ、ＩＣＮノード３ｉ、端末１ｔ、ＩＣＮノード４ｉ、端末２ｔ及び端末３ｔに到達する。対応関係データを受信した各ＩＣＮノードは、マルチキャストルーティングプロトコル（ＰＩＭ−ＳＭ（Protocol-Independent Multicast-Sparse Mode）またはＰＩＭ−ＤＭ（Protocol-Independent Multicast-Dense Mode））に従って、マルチキャストツリー（マルチキャスト配信ツリーとも呼ばれる）に参加するための処理（以下、マルチキャストツリー参加処理と呼ぶ）を実行する。ＰＩＭ−ＳＭにおいては、ランデブーポイント（ＲＰ：Rendezvous Point）である中継ノードに対してＪｏｉｎメッセージを送信することで、マルチキャストツリーへの参加が表明される。ＰＩＭ−ＤＭにおいては、プルーン（Prune）メッセージの送信を抑止することで、マルチキャストツリーへの参加が表明される。また、対応関係データを受信した各端末はＩＧＭＰ Ｊｏｉｎメッセージを送信することで、マルチキャストツリーへの参加が表明される。
【００２８】
これにより、図１０に示すように、端末１ｔ、端末２ｔ及び端末３ｔにマルチキャストでコンテンツが配信されるようになる。ここで、ＩＣＮノード２ｉとＩＰルータ１ｒとの間においては、２回のユニキャスト通信ではなく、１回のマルチキャスト通信が行われている。従って、ＩＣＮノード２ｉとＩＰルータ１ｒとの間において通信帯域を効率的に利用することができる。
【００２９】
次に、図１１乃至図１８を用いて、第１の実施の形態についてより詳細に説明する。
【００３０】
まず、端末１ｔのインタレスト管理部２００１１は、ＩＣＮノード３ｉに、コンテンツＩＤを含むインタレストパケットを送信する（図１１：ステップＳ１）。
【００３１】
ＩＣＮノード３ｉは、端末１ｔから受信したインタレストパケットを、ＩＣＮノード２ｉに転送する（ステップＳ３）。
【００３２】
端末２ｔのインタレスト管理部２００１１は、ＩＣＮノード４ｉに、端末１ｔが送信したコンテンツＩＤと同じコンテンツＩＤを含むインタレストパケットを送信する（ステップＳ５）。
【００３３】
端末３ｔのインタレスト管理部２００１１は、ＩＣＮノード４ｉに、端末１ｔが送信したコンテンツＩＤと同じコンテンツＩＤを含むインタレストパケットを送信する（ステップＳ７）。
【００３４】
ＩＣＮノード４ｉのインタレスト管理部１００１１は、端末２ｔから受信したインタレストパケット及び端末３ｔから受信したインタレストパケットをアグリゲートする（ステップＳ９）。アグリゲートは、複数のインタレストパケットを１つのインタレストパケットにまとめる処理である。そして、ＩＣＮノード４ｉのインタレスト管理部１００１１は、１つのインタレストパケットをＩＣＮノード２ｉに転送する（ステップＳ１１）。ステップＳ１１においては、ＦＩＢ１００２３に格納されている情報に従い転送先が決定される。また、インタレストパケットを受信したフェースの識別情報がインタレストパケットに含まれるコンテンツＩＤに対応付けてＰＩＴ１００２４に登録される。上記ステップＳ３及び以下においても同様とする。
【００３５】
なお、アグリゲートを実行するか否かは、同じコンテンツＩＤについて複数の「Ｒｅｑｕｅｓｔｅｄ Ｆａｃｅ」がＰＩＴ１００２４に登録されているか否かによって判定される。この判定は、インタレスト管理部１００１１によって行われる。以下においても同様とする。
【００３６】
ＩＣＮノード２ｉのインタレスト管理部１００１１は、ＩＣＮノード３ｉ及びＩＣＮノード４ｉからインタレストパケットを受信する。そして、ＩＣＮノード２ｉのインタレスト管理部１００１１は、受信した２つのインタレストパケットをアグリゲートし（ステップＳ１３）、１つのインタレストパケットをＩＣＮノード１ｉに転送する（ステップＳ１５）。
【００３７】
ＩＣＮノード１ｉのインタレスト管理部１００１１は、ＩＣＮノード２ｉから受信したインタレストパケットを、コンテンツサーバ１ｓに転送する（ステップＳ１７）。
【００３８】
コンテンツサーバ１ｓは、ＩＣＮノード１ｉからインタレストパケットを受信し、受信したインタレストパケットに含まれるコンテンツＩＤに対応するコンテンツを、例えば記憶装置から読み出す。そして、コンテンツサーバ１ｓは、ＩＣＮノード１ｉにコンテンツをユニキャストで送信する（ステップＳ１９）。
【００３９】
ＩＣＮノード１ｉのコンテンツ転送部１００１３は、コンテンツサーバ１ｓから受信したコンテンツを、ＩＣＮノード２ｉにユニキャストで（すなわち、ユニキャスト転送部１００１６を介して）転送する（ステップＳ２１）。また、コンテンツ転送部１００１３は、コンテンツのキャッシュをメモリ１００に格納する。なお、コンテンツの転送の際には、ＰＩＴ１００２４が参照されることで転送先のフェースが決定される。以下においても同様とする。
【００４０】
ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ＩＣＮノード１ｉからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。ＩＣＮノード２ｉは、アグリゲートノードであり、且つ、受信したコンテンツについての対応関係データがメモリ１００に格納されていないので、アドレスを決定する処理を実行すべきと判定される。そこで、アドレス決定部１００１２は、受信したコンテンツに対応するマルチキャストアドレスを決定する（ステップＳ２３）。例えば、ＩＣＮノードのＩＤとステップＳ２３の処理時点の時刻の情報とを入力としてハッシュ関数に基づき、マルチキャストアドレスが決定される。
【００４１】
そして、ＩＣＮノード２ｉの対応関係管理部１００１４は、受信したコンテンツとマルチキャストアドレスとの対応関係を示す対応関係データを生成する（ステップＳ２５）。また、対応関係管理部１００１４は、生成した対応関係データをメモリ１００に格納する。処理は端子Ａ乃至Ｉを介して図１２のステップＳ２７に移行する。
【００４２】
図１２の説明に移行し、ＩＣＮノード２ｉの対応関係管理部１００１４は、生成した対応関係データを、コンテンツサーバ１ｓに向かう方向を順方向とした場合、次ホップの中継ノードにあたるＩＣＮノード１ｉに送信する（ステップＳ２７）。
【００４３】
ＩＣＮノード１ｉの対応関係管理部１００１４は、ＩＣＮノード２ｉから受信した対応関係データをコンテンツサーバ１ｓに転送する（ステップＳ２９）。また、対応関係管理部１００１４は、受信した対応関係データをメモリ１００に格納する。
【００４４】
ＩＣＮノード２ｉの対応関係管理部１００１４は、生成した対応関係データを、コンテンツサーバ１ｓに向かう方向を順方向とした場合、その逆方向である前ホップの中継ノードにあたるＩＣＮノード３ｉ及び４ｉに送信する（ステップＳ３１及びステップＳ３５）。
【００４５】
ＩＣＮノード３ｉの対応関係管理部１００１４は、ＩＣＮノード２ｉから受信した対応関係データを端末１ｔに転送する（ステップＳ３３）。また、対応関係管理部１００１４は、生成した対応関係データをメモリ１００に格納する。
【００４６】
端末１ｔの対応関係管理部２００１４は、ＩＣＮノード３ｉから対応関係データを受信し、受信した対応関係データをメモリ２００に格納する。
【００４７】
ＩＣＮノード４ｉの対応関係管理部１００１４は、ＩＣＮノード２ｉから受信した対応関係データを端末２ｔ及び端末３ｔに送信する（ステップＳ３７及びステップＳ３９）。また、対応関係管理部１００１４は、生成した対応関係データをメモリ１００に格納する。
【００４８】
端末２ｔの対応関係管理部２００１４は、ＩＣＮノード４ｉから対応関係データを受信し、受信した対応関係データをメモリ２００に格納する。また、端末３ｔの対応関係管理部２００１４は、ＩＣＮノード４ｉから対応関係データを受信し、受信した対応関係データをメモリ２００に格納する。
【００４９】
そして、端末１ｔ、端末２ｔ及び端末３ｔのマルチキャスト管理部２００１５、並びに、ＩＣＮノード３ｉ及びＩＣＮノード４ｉのマルチキャスト管理部１００１５は、対象のコンテンツに割り当てられたマルチキャストアドレスに基づき、マルチキャストツリー参加処理を実行する（ステップＳ４１）。また、ＩＣＮノード１ｉ及びＩＣＮノード２ｉは、対象のコンテンツに割り当てられたマルチキャストアドレスに基づき、マルチキャストツリー参加処理を実行する（ステップＳ４３）。マルチキャストツリー参加処理については、後で説明する。
【００５０】
これに応じ、ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ＩＣＮノード１ｉから受信したコンテンツをマルチキャストで（すなわち、マルチキャスト転送部１００１７を介して）ＩＰルータ１ｒに送信する（ステップＳ４５）。
【００５１】
ＩＰルータ１ｒは、ＩＣＮノード２ｉから受信したコンテンツをコピーし、コンテンツをＩＣＮノード３ｉ及びＩＣＮノード４ｉにマルチキャストで送信する（ステップＳ４７及びステップＳ５１）。
【００５２】
ＩＣＮノード３ｉのコンテンツ転送部１００１３は、ＩＰルータ１ｒからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツを端末１ｔに転送する（ステップＳ４９）。
【００５３】
ＩＣＮノード４ｉのコンテンツ転送部１００１３は、ＩＰルータ１ｒからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。ＩＣＮノード４ｉはアグリゲートノードであるが、受信したコンテンツについての対応関係データがメモリ１００に格納されているため、アドレスを決定する処理を実行すべきではないと判定される。そして、コンテンツ転送部１００１３は、受信したコンテンツを端末２ｔ及び端末３ｔにマルチキャストで転送する（ステップＳ５３及びステップＳ５５）。
【００５４】
以上のように，ＩＣＮノード２ｉは、当初はユニキャストで受信したコンテンツをマルチキャストで転送し、以降、マルチキャストで受信したコンテンツをマルチキャストで転送する。ＩＣＮノード１ｉも、対応関係データをコンテンツサーバ１ｓへ送信するタイミングとコンテンツサーバ１ｓがコンテンツを送信するタイミングとの関係によっては、当初、ユニキャストで受信したコンテンツをマルチキャストで転送し、以降、マルチキャストで受信したコンテンツをマルチキャストで転送する。
【００５５】
コンテンツがライブ配信されている場合、コンテンツサーバ１ｓはさらにマルチキャストでコンテンツを配信する（ステップＳ５７）。
【００５６】
ＩＣＮノード１ｉのコンテンツ転送部１００１３は、コンテンツサーバ１ｓからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツをマルチキャストでＩＣＮノード２ｉに送信する（ステップＳ５９）。
【００５７】
ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ＩＣＮノード１ｉからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツをマルチキャストでＩＰルータ１ｒに送信する（ステップＳ６１）。
【００５８】
ＩＰルータ１ｒは、ＩＣＮノード２ｉから受信したコンテンツをコピーし、コンテンツをＩＣＮノード３ｉ及びＩＣＮノード４ｉにマルチキャストで送信する（ステップＳ６３及びステップＳ６４）。
【００５９】
ＩＣＮノード３ｉのコンテンツ転送部１００１３は、ＩＰルータ１ｒからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツを端末１ｔに転送する（ステップＳ６５）。
【００６０】
ＩＣＮノード４ｉのコンテンツ転送部１００１３は、ＩＰルータ１ｒからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツを端末２ｔ及び端末３ｔにマルチキャストで転送する（ステップＳ６７及びステップＳ６９）。
【００６１】
以上のようにマルチキャストを利用することで、ＩＣＮノードだけでなくＩＰルータが配置されたネットワークにおいても、コンテンツを転送する際に通信帯域を効率的に利用することができるようになる。
【００６２】
図１３乃至図１８を用いて、マルチキャストツリー参加処理について説明する。ここでは、図１４において太線で示すように、ＩＰルータ１ｒとＩＰルータ２ｒとの間に、図８乃至図１０には示されていない別の経路が存在するとする。
【００６３】
まず、図１３及び図１４を用いて、ＲＰＦ（Reverse Path Forwarding）の処理について説明する。ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ユニキャストで送信されたコンテンツを受信し（図１３：ステップＳ７１）、受信したコンテンツのキャッシュをメモリ１００に格納する。そして、ＩＣＮノード２ｉのコンテンツ転送部１００１３は、受信したコンテンツを、コンテンツを受信したインタフェース以外のインタフェース（すなわち、ＩＰルータ１ｒにデータを送信するためのインタフェース）から、マルチキャストでコンテンツを転送する（ステップＳ７３）。
【００６４】
ＩＰルータ１ｒは、マルチキャストで送信されたコンテンツを受信する。そして、ＩＰルータ１ｒは、受信したコンテンツを、コンテンツを受信したインタフェース以外のインタフェースから、マルチキャストでコンテンツを転送する（ステップＳ７５及びＳ７６）。結果として、図１４に示すように、コンテンツはＩＣＮノード３ｉ、ＩＰルータ２ｒ及びＩＣＮノード４ｉへ転送される。
【００６５】
ＩＣＮノード３ｉのコンテンツ転送部１００１３は、マルチキャストで送信されたコンテンツを受信し、受信したコンテンツのキャッシュをメモリ１００に格納する。そして、ＩＣＮノード３ｉは、受信したコンテンツを、コンテンツを受信したインタフェース以外のインタフェースから、マルチキャストでコンテンツを転送する（ステップＳ７７及び７９）。結果として、図１４に示すように、コンテンツはＩＣＮノード５ｉ及びＩＰルータ２ｒへ転送される。
【００６６】
ＩＰルータ２ｒは、マルチキャストで送信されたコンテンツを受信する。そして、ＩＰルータ２ｒは、受信したコンテンツを、コンテンツを受信したインタフェース以外のインタフェースから、マルチキャストでコンテンツを転送する（ステップＳ８１）。結果として、図１４に示すように、コンテンツは端末１ｔへ転送される。
【００６７】
ここで、ＩＰルータ２ｒは、アップリンクストリームインタフェース及びダウンリンクストリームインタフェースを決定する（ステップＳ８３）。図１４の例では、「Ｕ」が付された経路のフェースがアップリンクストリームインタフェースに該当し、「Ｄ」が付された経路がダウンリンクストリームインタフェースに該当する。ＩＰルータ２ｒは、コンテンツを受信したインタフェースをアップリンクストリームインタフェースと決定し、コンテンツを送信したインタフェースをダウンリンクストリームインタフェースと決定する。ただし、複数のインタフェースからコンテンツを受信した場合、ＩＰルータ２ｒは、いずれか一つのインタフェースをアップリンクストリームインタフェースと決定する。図１４の例では、ＩＰルータ１ｒからのインタフェースがアップリンクストリームインタフェースと決定された。
【００６８】
同様に、ＩＣＮノード３ｉのマルチキャスト管理部１００１５は、図１４に示すようにアップリンクストリームインタフェース及びダウンリンクストリームインタフェースを決定する（ステップＳ８５）。
【００６９】
ＲＰＦの処理の後、ネットワーク管理者の指定に従って、ＰＩＭ−ＳＭの場合の処理又はＰＩＭ−ＤＭの場合の処理が実行される。
【００７０】
図１５及び図１６を用いて、ＰＩＭ−ＳＭの処理について説明する。ここでは、対応関係データを既に各端末及び各ＩＣＮノードが受信したとする。
【００７１】
端末１ｔのマルチキャスト管理部２００１５は、メモリ２００に格納された対応関係データに含まれるマルチキャストアドレスを含むＩＧＭＰ Ｊｏｉｎメッセージを、ＩＰルータ２ｒに送信する（図１５：ステップＳ９１）。
【００７２】
ＩＰルータ２ｒは、端末１ｔからＩＧＭＰ Ｊｏｉｎメッセージを受信すると、ランデブーポイントであるＩＰルータ１ｒに対して、アップリンクストリームインタフェースを介してＪｏｉｎメッセージを送信する（ステップＳ９３）。
【００７３】
ＩＣＮノード３ｉのマルチキャスト管理部１００１５は、メモリ２００に格納された対応関係データに含まれるマルチキャストアドレスを含むＪｏｉｎメッセージを、ランデブーポイントであるＩＰルータ１ｒに対して、アップリンクストリームインタフェースを介して送信する（ステップＳ９４）。ＩＣＮノード３ｉの配下には、コンテンツを要求する端末はないが、ＩＣＮノード３ｉ自身がコンテンツをキャッシュする必要があるため、ＪｏｉｎメッセージをＩＰルータ１ｒに送信する。
【００７４】
ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ユニキャストで送信されたコンテンツを受信し（ステップＳ９５）、コンテンツのキャッシュをメモリ１００に格納する。そして、ＩＣＮノード２ｉのコンテンツ転送部１００１３は、受信したコンテンツをＩＰルータ１ｒにマルチキャストで転送する（ステップＳ９７）。
【００７５】
ＩＰルータ１ｒは、ＩＰルータ２ｒ及びＩＣＮノード３ｉからＪｏｉｎメッセージを受信する。また、図１６に示すように、ＩＰルータ１ｒは、ＩＣＮノード４ｉからもＪｏｉｎメッセージを受信する。ＩＰルータ１ｒは、Ｊｏｉｎメッセージを受信したフェースからコンテンツを転送するが、Ｊｏｉｎメッセージを受信しなかったフェースからはコンテンツを転送しない。具体的には、ＩＰルータ１ｒは、マルチキャストでＩＰルータ２ｒへコンテンツを送信する（ステップＳ９９）。また、ＩＰルータ１ｒは、マルチキャストでＩＣＮノード３ｉへコンテンツを送信する（ステップＳ１０３）。さらに、ＩＰルータ１ｒは、マルチキャストでＩＣＮノード４ｉへコンテンツを送信する。
【００７６】
ＩＰルータ２ｒは、ＩＰルータ１ｒからコンテンツを受信する。そして、ＩＰルータ２ｒは、受信したコンテンツを、マルチキャストで端末１ｔに送信する（ステップＳ１０１）。
【００７７】
なお、図１６においては、ＩＣＮノード３ｉがＪｏｉｎメッセージをＩＰルータ１ｒに送信しているが、仮に送信しないと、コンテンツを受信できなくなる。この場合、ＩＰルータ１ｒは、コンテンツをＩＣＮノード３ｉへ転送せず、ＩＰルータ２ｒ宛のコンテンツもＩＣＮノード３ｉを経由せず、太線で示す経路で転送するからである。ＩＣＮノード３ｉの配下には、コンテンツを要求する端末はないが、ＩＣＮノード３ｉ自身がコンテンツをキャッシュする必要があるため、ＩＣＮノード３ｉはＪｏｉｎメッセージをＩＰルータ１ｒに送信する。
【００７８】
図１７及び図１８を用いて、ＰＩＭ−ＤＭの場合の処理について説明する。ここでは、対応関係データを既に各端末及び各ＩＣＮノードが受信したとする。
【００７９】
端末１ｔのマルチキャスト管理部２００１５は、メモリ２００に格納された対応関係データに含まれるマルチキャストアドレスを含むＩＧＭＰ Ｊｏｉｎメッセージを、ＩＰルータ２ｒに送信する（図１７：ステップＳ１１１）。
【００８０】
ＩＰルータ２ｒは、ダウンリンクストリームインタフェースではなく且つアップリングストリームインタフェースではないフェース（ここでは、ＩＣＮノード３ｉにデータを転送するためのフェース）から、ＩＧＭＰのプルーンメッセージを送信する（ステップＳ１１３）。プルーンメッセージは、マルチキャストでデータを受信することを拒否することを表すメッセージである。
【００８１】
ＩＣＮノード５ｉのマルチキャスト管理部１００１５は、ダウンリンクストリームインタフェースではなく且つアップリングストリームインタフェースではないフェース（ここでは、ＩＣＮノード３ｉにデータを転送するためのフェース）から、ＩＧＭＰのプルーンメッセージを送信する（ステップＳ１１５）。
【００８２】
ＩＣＮノード３ｉは、ＩＣＮノード３ｉの２つのダウンリンクストリームインタフェースからプルーンメッセージを受信し、且つ、ＩＣＮノード３ｉがマルチキャストツリーに参加しなくてもよい場合、アップリンクストリームインタフェースからＩＰルータ１ｒに、プルーンメッセージを送信する。このようにすると、ＩＰルータ１ｒは、ＩＣＮノード３ｉにはコンテンツを配信しない。
【００８３】
ＩＣＮノード３ｉの配下には、コンテンツを要求する端末はないが、ＩＣＮノード３ｉ自身がコンテンツをキャッシュする必要があるため、図１７において、ＩＣＮノード３ｉは、プルーンメッセージを送信しない。
【００８４】
ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ユニキャストで送信されたコンテンツを受信し（ステップＳ１１９）、コンテンツのキャッシュをメモリ１００に格納する。そして、ＩＣＮノード２ｉのコンテンツ転送部１００１３は、受信したコンテンツをＩＰルータ１ｒにマルチキャストで転送する（ステップＳ１２１）。
【００８５】
ＩＰルータ１ｒは、マルチキャストで送信されたコンテンツをＩＰルータ１ｒから受信する。そして、ＩＰルータ１ｒは、マルチキャストでＩＰルータ２ｒへコンテンツを送信する（ステップＳ１２３）。また、ＩＰルータ１ｒは、マルチキャストでＩＣＮノード３ｉへコンテンツを送信する（ステップＳ１２６）。さらに、ＩＰルータ１ｒは、マルチキャストでＩＣＮノード４ｉへコンテンツを送信する。
【００８６】
ＩＰルータ２ｒは、ＩＰルータ１ｒからコンテンツを受信する。そして、ＩＰルータ２ｒは、受信したコンテンツを、マルチキャストで端末１ｔに送信する（ステップＳ１２５）。
【００８７】
なお、図１８においては、ＩＣＮノード３ｉがプルーンメッセージをＩＰルータ１ｒに送信していないが、仮に送信すると、ＩＣＮノード３ｉはコンテンツを受信できなくなる。この場合、ＩＰルータ１ｒは、コンテンツをＩＣＮノード３ｉへ転送せず、ＩＰルータ２ｒ宛のコンテンツもＩＣＮノード３ｉを経由せず、太線で示す経路で転送するからである。ＩＣＮノード３ｉの配下には、コンテンツを要求する端末はないが、ＩＣＮノード３ｉ自身がコンテンツをキャッシュする必要があるため、ＩＣＮノード３ｉは、ＩＰルータ１ｒに対してプルーンメッセージを送信することを抑止する。
【００８８】
なお、本実施の形態においては、インタレストパケットがアグリゲートされることが、マルチキャストでの通信が開始することのトリガとなる。そのため、インタレストパケットがアグリゲートされるために十分な時間があることが好ましい。複数のインタレストパケットが全く異なるタイミングで発行され、且つ、短い時間でコンテンツの配信が終了するようなケースは、本実施の形態には適していない。一方で、スポーツの生中継（すなわちライブ配信）が特定の時刻から開始することが予告されており、各端末がその時刻に間に合うようにインタレストパケットを発行するようなケースは、本実施の形態に適している。
【００８９】
ところで、インタレストパケットのアグリゲートの状況に関係なく、コンテンツに対応するマルチキャストアドレスを予め決定する方法も考えられる。しかし、この場合、インタレストパケットがアグリゲートされておらず、マルチキャストで配信したとしても通信効率が向上しない状況においても、マルチキャストアドレスが無駄に確保されることになる。これに対して、本実施の形態によれば、マルチキャストで配信をすれば通信効率が向上する状況において、マルチキャストアドレスが確保されるようになる。
【００９０】
［実施の形態２］
図１９及び図２０を用いて、第２の実施の形態の概要を説明する。例えば、図１９に示すように、端末１ｔ乃至３ｔに対するコンテンツのライブ配信が開始した後において、端末４ｔが同じコンテンツのコンテンツＩＤを含むインタレストパケット（以下では、追加インタレストパケットと呼ぶ）をＩＣＮノード１ｉに送信したとする。この場合、ＩＣＮノード１ｉは、コンテンツＩＤとコンテンツに割り当てられたマルチキャストアドレスとを含む対応関係データを、端末４ｔに送信する。これに応じ、端末４ｔは、受信した対応関係データに含まれるマルチキャストアドレスについてマルチキャストツリー参加処理を実行する。具体的には、第１の実施の形態と同様に、端末４ｔはＩＧＭＰ ＪｏｉｎメッセージをＩＣＮノード１ｉに送信する。
【００９１】
これにより、図２０に示すように、端末１ｔ乃至３ｔだけでなく、端末４ｔもコンテンツを受信できるようになる。また、端末４ｔに対しては、コンテンツのライブデータだけでなく、ＩＣＮノード１ｉからコンテンツのキャッシュ（すなわち、過去の配信データ）が配信されるので、端末４ｔにおいて追っかけ再生を行うことが可能になる。
【００９２】
次に、図２１を用いて、第２の実施の形態についてより詳細に説明する。実施の形態１の処理が実行されたことによって、コンテンツの配信が既に行われているとする。
【００９３】
コンテンツサーバ１ｓは、コンテンツをマルチキャストでＩＣＮノード１ｉに送信する（図２１：ステップＳ２０１）。
【００９４】
ＩＣＮノード１ｉのコンテンツ転送部１００１３は、コンテンツサーバ１ｓからコンテンツを受信し、受信したコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツをマルチキャストで（すなわち、マルチキャスト転送部１００１７を介して）ＩＣＮノード２ｉに送信する（ステップＳ２０３）。
【００９５】
ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ＩＣＮノード１ｉからコンテンツを受信し、受信したコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツをマルチキャストでＩＰルータ１ｒに送信する（ステップＳ２０５）。
【００９６】
ＩＰルータ１ｒは、ＩＣＮノード２ｉから受信したコンテンツをコピーし、コンテンツをＩＣＮノード３ｉ及びＩＣＮノード４ｉにマルチキャストで送信する（ステップＳ２０７及びステップＳ２１１）。
【００９７】
ＩＣＮノード３ｉのコンテンツ転送部１００１３は、ＩＰルータ１ｒからコンテンツを受信し、受信したコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツを端末１ｔに転送する（ステップＳ２０９）。
【００９８】
ＩＣＮノード４ｉのコンテンツ転送部１００１３は、ＩＰルータ１ｒからコンテンツを受信し、受信したコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツを端末２ｔ及び端末３ｔにマルチキャストで転送する（ステップＳ２１３及びステップＳ２１５）。
【００９９】
その後、端末４ｔのインタレスト管理部２００１１は、追加インタレストパケットをＩＣＮノード１ｉに送信する（ステップＳ２１７）。
【０１００】
これに応じ、ＩＣＮノード１ｉの対応関係管理部１００１４は、追加インタレストパケットに含まれるコンテンツＩＤとコンテンツに割り当てられたマルチキャストアドレスとを含む対応関係データを、端末４ｔに送信する（ステップＳ２１９）。
【０１０１】
端末４ｔの対応関係管理部２００１４は、対応関係データを受信し、メモリ２００に格納する。そして、マルチキャスト管理部２００１５は、受信された対応関係データに含まれるマルチキャストアドレスに基づき、マルチキャストツリー参加処理を実行する（ステップＳ２２１）。具体的には、マルチキャスト管理部２００１５は、ＩＧＭＰ ＪｏｉｎメッセージをＩＣＮノード１ｉに送信する。
【０１０２】
コンテンツサーバ１ｓは、コンテンツのライブデータ（以下、ライブコンテンツと呼ぶ）をＩＣＮノード１ｉにマルチキャストで送信する（ステップＳ２２３）。
【０１０３】
ＩＣＮノード１ｉのコンテンツ転送部１００１３は、ライブコンテンツをコンテンツサーバ１ｓから受信し、受信したコンテンツのキャッシュをメモリ１００に格納する。そして、ＩＣＮノード１ｉのコンテンツ転送部１００１３は、受信したライブコンテンツとメモリ１００に格納されているキャッシュ１００２２（すなわち、キャッシュコンテンツ）とを、マルチキャストで端末４ｔに送信する（ステップＳ２２５）。なお、端末４ｔは、受信したキャッシュコンテンツとライブコンテンツとをコンテンツに含まれる情報（例えば番号或いは時刻の情報など）に基づき順序どおりに並べ、時系列でコンテンツを再送すること及び早送りで再生することができるようにする。
【０１０４】
以上のような処理を実行すれば、端末４ｔにおいてキャッシュコンテンツとライブコンテンツとの両方を閲覧することができるようになる。
【０１０５】
［実施の形態３］
図２２及び図２３を用いて、第３の実施の形態の概要を説明する。例えば、図２２に示すように、端末１ｔ乃至３ｔに対するコンテンツのライブ配信が開始した後において、端末５ｔ及び６ｔが追加インタレストパケットをＩＣＮノード５ｉに送信したとする。この場合、ＩＣＮノード５ｉは、追加インタレストパケットをアグリゲートし、ＩＣＮノード３ｉに転送する。追加インタレストパケットを受信したＩＣＮノード３ｉは、コンテンツＩＤとコンテンツに割り当てられたマルチキャストアドレスＡとを含む対応関係データを、ＩＣＮノード５ｉに送信する。本対応関係データは、ライブコンテンツ用の対応関係データである。また、ＩＣＮノード３ｉは、コンテンツＩＤとキャッシュコンテンツに割り当てるマルチキャストアドレスＢとを含む対応関係データを、ＩＣＮノード５ｉに送信する。本対応関係データは、キャッシュコンテンツ用の対応関係データである。ＩＣＮノード５ｉは、受信した対応関係データを端末５ｔ及び６ｔに送信する。これに応じ、端末５ｔ及び６ｔは、受信した対応関係データに含まれるマルチキャストアドレスについてマルチキャストツリー参加処理を実行する。具体的には、端末５ｔ及び６ｔは、ライブコンテンツに割り当てるマルチキャストアドレスＡについてＩＧＭＰ ＪｏｉｎメッセージをＩＣＮノード５ｉに送信し、また、キャッシュコンテンツに割り当てるマルチキャストアドレスＢについてＩＧＭＰ ＪｏｉｎメッセージをＩＣＮノード５ｉに送信する。また、ＩＣＮノード５ｉは、ＪｏｉｎメッセージをＩＣＮノード３ｉに送信する。
【０１０６】
これにより、図２３に示すように、端末１ｔ乃至３ｔだけでなく、端末５ｔ及び６ｔもライブコンテンツを受信できるようになる。また、端末５ｔ及び６ｔに対しては、ライブコンテンツだけでなく、ＩＣＮノード３ｉからキャッシュコンテンツが配信されるので、端末５ｔ及び６ｔにおいて追っかけ再生を行うことが可能になる。また、ライブコンテンツ用のマルチキャストアドレスとキャッシュコンテンツ用のマルチキャストアドレスとを使い分けることで、冗長な経路が存在するネットワークにおいて、キャッシュコンテンツが不要である経路にまでキャッシュコンテンツを転送することを防げるようになる。これにより、帯域が無駄に消費されることを防ぐことができるようになる。
【０１０７】
次に、図２４乃至図２６を用いて、第３の実施の形態についてより詳細に説明する。実施の形態１の処理が実行されたことによって、マルチキャストアドレスＡを用いてコンテンツの配信が既に行われているとする。
【０１０８】
コンテンツサーバ１ｓは、コンテンツをＩＣＮノード１ｉに送信する（図２４：ステップＳ３０１）。
【０１０９】
ＩＣＮノード１ｉのコンテンツ転送部１００１３は、コンテンツサーバ１ｓからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツをマルチキャストでＩＣＮノード２ｉに送信する（ステップＳ３０３）。
【０１１０】
ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ＩＣＮノード１ｉからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツをマルチキャストでＩＰルータ１ｒに送信する（ステップＳ３０５）。
【０１１１】
ＩＰルータ１ｒは、ＩＣＮノード２ｉから受信したコンテンツを、ＩＣＮノード３ｉにマルチキャストで送信する（ステップＳ３０７）。
【０１１２】
ここで、端末５ｔのインタレスト管理部２００１１が追加インタレストパケットをＩＣＮノード５ｉに送信し（ステップＳ３０９）、また、端末６ｔのインタレスト管理部２００１１が追加インタレストパケットをＩＣＮノード５ｉに送信する（ステップＳ３１１）。
【０１１３】
ＩＣＮノード５ｉのインタレスト管理部１００１１は、端末５ｔが送信した追加インタレストパケットと端末６ｔが送信した追加インタレストパケットとをアグリゲートし（ステップＳ３１３）、１つの追加インタレストパケットをＩＣＮノード３ｉに転送する（ステップＳ３１５）。
【０１１４】
ＩＣＮノード３ｉのインタレスト管理部１００１１は、追加インタレストパケットを受信する。これに応じ、アドレス決定部１００１２は、キャッシュコンテンツに対応するマルチキャストアドレス（ここでは、マルチキャストアドレスＢとする）を決定する（ステップＳ３１７）。対応関係管理部１００１４は、コンテンツＩＤ及びキャッシュコンテンツであることを示す情報とマルチキャストアドレスＢとを含む対応関係データを生成し（ステップＳ３１９）、メモリ１００に格納する。そして、対応関係管理部１００１４は、ステップＳ３１９において生成された対応関係データと、メモリ１００に格納されており且つマルチキャストアドレスＡを含む対応関係データとを、ＩＣＮノード５ｉに送信する（ステップＳ３２１）。
【０１１５】
ＩＣＮノード５ｉの対応関係管理部１００１４は、マルチキャストアドレスＡを含む対応関係データと、マルチキャストアドレスＢを含む対応関係データとをＩＣＮノード３ｉから受信し、端末５ｔに転送する（ステップＳ３２３）。また、対応関係管理部１００１４は、マルチキャストアドレスＡを含む対応関係データと、マルチキャストアドレスＢを含む対応関係データとを、端末６ｔに送信し（ステップＳ３２５）、メモリ１００に格納する。そして処理は端子Ｊ乃至Ｒを介して図２５のステップＳ３２７に移行する。
【０１１６】
図２５の説明に移行し、端末５ｔのマルチキャスト管理部２００１５及び端末６ｔのマルチキャスト管理部２００１５は、マルチキャストアドレスＡ及びマルチキャストアドレスＢについて、マルチキャストツリー参加処理を実行する（ステップＳ３２７）。また、ＩＣＮノード５ｉのマルチキャスト管理部１００１５は、マルチキャストアドレスＡ及びマルチキャストアドレスＢについて、マルチキャストツリー参加処理を実行する（ステップＳ３２９）。
【０１１７】
ＩＣＮノード３ｉのコンテンツ転送部１００１３は、ＩＣＮノード３ｉのメモリ１００に格納されているキャッシュ１００２２（すなわち、キャッシュコンテンツ）を、マルチキャストアドレスＢを用いたマルチキャストでＩＣＮノード５ｉに送信する（ステップＳ３３１）。
【０１１８】
ＩＣＮノード５ｉのコンテンツ転送部１００１３は、キャッシュコンテンツをＩＣＮノード３ｉから受信する。そして、ＩＣＮノード５ｉのコンテンツ転送部１００１３は、受信したキャッシュコンテンツを、マルチキャストアドレスＢを用いたマルチキャストでＩＰルータ３ｒに送信する（ステップＳ３３３）。
【０１１９】
ＩＰルータ３ｒは、キャッシュコンテンツをＩＣＮノード５ｉから受信する。そして、ＩＰルータ３ｒは、受信したキャッシュコンテンツを、マルチキャストアドレスＢを用いたマルチキャストで端末５ｔ及び端末６ｔに送信する（ステップＳ３３５及びＳ３３７）。
【０１２０】
その後、コンテンツサーバ１ｓは、コンテンツをＩＣＮノード１ｉに送信する（ステップＳ３３９）。ステップＳ３３９において送信されるコンテンツはライブコンテンツである。
【０１２１】
ＩＣＮノード１ｉのコンテンツ転送部１００１３は、コンテンツサーバ１ｓからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したライブコンテンツを、マルチキャストでＩＣＮノード２ｉに送信する（ステップＳ３４１）。
【０１２２】
ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ＩＣＮノード１ｉからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したライブコンテンツをマルチキャストでＩＰルータ１ｒに送信する（ステップＳ３４３）。
【０１２３】
ＩＰルータ１ｒは、ＩＣＮノード２ｉから受信したライブコンテンツを、ＩＣＮノード３ｉにマルチキャストで転送する（ステップＳ３４５）。
【０１２４】
ＩＣＮノード３ｉのコンテンツ転送部１００１３は、ＩＰルータ１ｒからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したライブコンテンツを、マルチキャストアドレスＡを用いたマルチキャストでＩＣＮノード５ｉに送信する（ステップＳ３４７）。
【０１２５】
ＩＣＮノード５ｉのコンテンツ転送部１００１３は、ＩＣＮノード３ｉからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツを、マルチキャストアドレスＡを用いたマルチキャストでＩＰルータ３ｒに送信する（ステップＳ３４９）。
【０１２６】
ＩＰルータ３ｒは、ライブコンテンツをＩＣＮノード５ｉから受信する。そして、ＩＰルータ３ｒは、受信したライブコンテンツを、マルチキャストアドレスＡを用いたマルチキャストで端末５ｔ及び端末６ｔに送信する（ステップＳ３５１及びＳ３５３）。第２の実施の形態と同様に、端末５ｔ及び端末６ｔは、受信したキャッシュコンテンツとライブコンテンツとをコンテンツに含まれる情報に基づき順序どおりに並べ、時系列でコンテンツを再送すること及び早送りで再生することができるようにする。
【０１２７】
なお、図２６に示すように、端末５ｔ及び端末６ｔに対する配信が開始された後、さらに別の端末（ここでは、端末７ｔとする）がＩＣＮノード３ｉに追加インタレストパケットを送信したとする。この場合、端末７ｔに対してキャッシュコンテンツを配信することについて、マルチキャストアドレスＢとは異なるマルチキャストアドレスＣをさらに決定し、ＩＣＮノード３ｉが端末７ｔに対してマルチキャストアドレスＣを用いたマルチキャストを行う。
【０１２８】
以上のように、ライブコンテンツ用のマルチキャストアドレスとキャッシュコンテンツ用のマルチキャストアドレスとを使用することで、ネットワークが複雑である場合にキャッシュコンテンツが無駄に配信されることを防げるようになる。
【０１２９】
［実施の形態４］
図２７及び図２８を用いて、第４の実施の形態の概要を説明する。例えば、図２７に示すように、端末１ｔ乃至３ｔに対するコンテンツのライブ配信が開始した後において、端末５ｔ及び６ｔが追加インタレストパケットをＩＣＮノード５ｉに送信したとする。この場合、ＩＣＮノード５ｉは、追加インタレストパケットをアグリゲートし、ＩＣＮノード３ｉに転送する。追加インタレストパケットを受信したＩＣＮノード３ｉは、コンテンツＩＤとコンテンツに割り当てられたマルチキャストアドレスＡとを含む対応関係データを、ＩＣＮノード５ｉに送信する。ここで、ＩＣＮノード３ｉは、キャッシュコンテンツについてのアグリゲートノードではないのでキャッシュコンテンツ用のマルチキャストアドレスを決定せず、キャッシュコンテンツをＩＣＮノード５ｉに送信する。
【０１３０】
ＩＣＮノード５ｉは、マルチキャストアドレスＡを含む対応関係データと、キャッシュコンテンツとを受信する。ＩＣＮノード５ｉは、キャッシュコンテンツについてのアグリゲートノードであるので、キャッシュコンテンツに割り当てるマルチキャストアドレスＢを決定する。そして、ＩＣＮノード５ｉは、コンテンツＩＤとマルチキャストアドレスＢとを含む対応関係データを生成する。ＩＣＮノード５ｉは、受信した対応関係データ及び生成した対応関係データを端末５ｔ及び６ｔに送信する。また、ＩＣＮノード５ｉは、生成した対応関係データをＩＣＮノード３ｉに送信する。これに応じ、端末５ｔ及び６ｔは、対応関係データに含まれるマルチキャストアドレスについてマルチキャストツリー参加処理を実行する。具体的には、端末５ｔ及び６ｔは、ライブコンテンツに割り当てるマルチキャストアドレスＡについてＩＧＭＰ ＪｏｉｎメッセージをＩＣＮノード５ｉに送信し、また、キャッシュコンテンツに割り当てるマルチキャストアドレスＢについてＩＧＭＰ ＪｏｉｎメッセージをＩＣＮノード５ｉに送信する。また、ＩＣＮノード５ｉは、ＪｏｉｎメッセージをＩＣＮノード３ｉに送信する。
【０１３１】
これにより、図２８に示すように、端末１ｔ乃至３ｔだけでなく、端末５ｔ及び６ｔもライブコンテンツを受信できるようになる。第３の実施の形態と比較すると、以下のような効果がある。すなわち、キャッシュコンテンツについてのアグリゲートノードが存在しない場合、マルチキャストが行われず、ユニキャストでの転送が行われるので、無駄にマルチキャストアドレスが使用されることを抑制できるようになる。
【０１３２】
次に、図２９乃至図３１を用いて、第４の実施の形態についてより詳細に説明する。実施の形態１の処理が実行されたことによって、マルチキャストアドレスＡを用いてコンテンツの配信が既に行われているとする。
【０１３３】
コンテンツサーバ１ｓは、コンテンツをＩＣＮノード１ｉに送信する（図２９：ステップＳ４０１）。
【０１３４】
ＩＣＮノード１ｉのコンテンツ転送部１００１３は、コンテンツサーバ１ｓからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツをマルチキャストでＩＣＮノード２ｉに送信する（ステップＳ４０３）。
【０１３５】
ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ＩＣＮノード１ｉからコンテンツを受信し、コンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツをマルチキャストでＩＰルータ１ｒに送信する（ステップＳ４０５）。
【０１３６】
ＩＰルータ１ｒは、ＩＣＮノード２ｉから受信したコンテンツを、コンテンツをＩＣＮノード３ｉにマルチキャストで送信する（ステップＳ４０７）。
【０１３７】
ここで、端末５ｔのインタレスト管理部２００１１が追加インタレストパケットをＩＣＮノード５ｉに送信し（ステップＳ４０９）、また、端末６ｔのインタレスト管理部２００１１が追加インタレストパケットをＩＣＮノード５ｉに送信する（ステップＳ４１１）。
【０１３８】
ＩＣＮノード５ｉのインタレスト管理部１００１１は、端末５ｔが送信した追加インタレストパケットと端末６ｔが送信した追加インタレストパケットとをアグリゲートし（ステップＳ４１３）、１つの追加インタレストパケットをＩＣＮノード３ｉに転送する（ステップＳ４１５）。
【０１３９】
ＩＣＮノード３ｉのインタレスト管理部１００１１は、追加インタレストパケットを受信する。アドレス決定部１００１２は、ＩＣＮノード３ｉはキャッシュコンテンツについてのアグリゲートノードではないので、キャッシュコンテンツに対応するマルチキャストアドレスを決定しない。そこで、対応関係管理部１００１４は、メモリ１００に格納されており且つマルチキャストアドレスＡを含む対応関係データを、ＩＣＮノード５ｉに送信する（ステップＳ４１７）。また、コンテンツ転送部１００１３は、メモリ１００に格納されているキャッシュコンテンツを、ユニキャストでＩＣＮノード５ｉに送信する（ステップＳ４１９）。処理は端子Ｓ乃至ＢＢを介して図３０のステップＳ４２１に移行する。
【０１４０】
図３０の説明に移行し、ＩＣＮノード５ｉのアドレス決定部１００１２は、キャッシュコンテンツに割り当てるマルチキャストアドレスＢを決定する（ステップＳ４２１）。対応関係管理部１００１４は、コンテンツＩＤ及びキャッシュコンテンツであることを示す情報とマルチキャストアドレスＢとを含む対応関係データを生成し（ステップＳ４２３）、ＩＣＮノード３ｉに送信するとともに（ステップＳ４２４）、メモリ１００に格納する。
【０１４１】
ＩＣＮノード５ｉの対応関係管理部１００１４は、マルチキャストアドレスＡを含む対応関係データ及びマルチキャストアドレスＢを含む対応関係データを、端末５ｔ及び６ｔに送信する（ステップＳ４２５及びＳ４２７）。
【０１４２】
端末５ｔのマルチキャスト管理部２００１５及び端末６ｔのマルチキャスト管理部２００１５は、マルチキャストアドレスＡ及びマルチキャストアドレスＢについて、マルチキャストツリー参加処理を実行する（ステップＳ４２９）。また、ＩＣＮノード５ｉのマルチキャスト管理部１００１５は、マルチキャストアドレスＡ及びマルチキャストアドレスＢについて、マルチキャストツリー参加処理を実行する（ステップＳ４３１）。
【０１４３】
ＩＣＮノード５ｉのコンテンツ転送部１００１３は、ＩＣＮノード３ｉから受信したキャッシュコンテンツを、マルチキャストアドレスＢを用いたマルチキャストでＩＰルータ３ｒに送信する（ステップＳ４３３）。
【０１４４】
ＩＰルータ３ｒは、キャッシュコンテンツをＩＣＮノード５ｉから受信する。そして、ＩＰルータ３ｒは、受信したキャッシュコンテンツを、マルチキャストアドレスＢを用いたマルチキャストで端末５ｔ及び端末６ｔに送信する（ステップＳ４３５及びＳ４３７）。処理は端子ＣＣ乃至ＫＫを介して図３１のステップＳ４３９に移行する。
【０１４５】
図３１の説明に移行し、ＩＣＮノード３ｉは、メモリ１００に格納されているキャッシュコンテンツを、マルチキャストでＩＣＮノード５ｉに送信する（ステップＳ４３９）。ステップＳ４１９においてもユニキャストで同様の処理が行われるが、ステップＳ４１９の処理だけではすべてのキャッシュコンテンツについて送信が完了しないことがあるため、ステップＳ４３９の処理が実行される。
【０１４６】
ＩＣＮノード５ｉのコンテンツ転送部１００１３は、ＩＣＮノード３ｉから受信したキャッシュコンテンツを、マルチキャストアドレスＢを用いたマルチキャストでＩＰルータに送信する（ステップＳ４４１）。
【０１４７】
ＩＰルータ３ｒは、キャッシュコンテンツをＩＣＮノード５ｉから受信する。そして、ＩＰルータ３ｒは、受信したキャッシュコンテンツを、マルチキャストアドレスＢを用いたマルチキャストで端末５ｔ及び端末６ｔに送信する（ステップＳ４４３及びＳ４４５）。
【０１４８】
その後、コンテンツサーバ１ｓは、コンテンツをＩＣＮノード１ｉに送信する（ステップＳ４４７）。ステップＳ４４７において送信されるコンテンツはライブコンテンツである。
【０１４９】
ＩＣＮノード１ｉのコンテンツ転送部１００１３は、コンテンツサーバ１ｓからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したライブコンテンツを、マルチキャストでＩＣＮノード２ｉに送信する（ステップＳ４４９）。
【０１５０】
ＩＣＮノード２ｉのコンテンツ転送部１００１３は、ＩＣＮノード１ｉからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したライブコンテンツをマルチキャストでＩＰルータ１ｒに送信する（ステップＳ４５１）。
【０１５１】
ＩＰルータ１ｒは、ＩＣＮノード２ｉから受信したライブコンテンツを、ＩＣＮノード３ｉにマルチキャストで転送する（ステップＳ４５３）。
【０１５２】
ＩＣＮノード３ｉのコンテンツ転送部１００１３は、ＩＰルータ１ｒからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したライブコンテンツを、マルチキャストアドレスＡを用いたマルチキャストでＩＣＮノード５ｉに送信する（ステップＳ４５５）。
【０１５３】
ＩＣＮノード５ｉのコンテンツ転送部１００１３は、ＩＣＮノード３ｉからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ１００に格納する。そして、コンテンツ転送部１００１３は、受信したコンテンツを、マルチキャストアドレスＡを用いたマルチキャストでＩＰルータ３ｒに送信する（ステップＳ４５７）。
【０１５４】
ＩＰルータ３ｒは、ライブコンテンツをＩＣＮノード５ｉから受信する。そして、ＩＰルータ３ｒは、受信したライブコンテンツを、マルチキャストアドレスＡを用いたマルチキャストで端末５ｔ及び端末６ｔに送信する（ステップＳ４５９及び４６１）。第２の実施の形態と同様に、端末５ｔ及び端末６ｔは、受信したキャッシュコンテンツとライブコンテンツとをコンテンツに含まれる情報に基づき順序どおりに並べ、時系列でコンテンツを再送すること及び早送りで再生することができるようにする。
【０１５５】
以上のように、ライブコンテンツ用のマルチキャストアドレスとキャッシュコンテンツ用のマルチキャストアドレスとを使用することで、ネットワークが複雑である場合にキャッシュコンテンツが無駄に配信されることを防げるようになる。また、キャッシュコンテンツについてのアグリゲートノードが存在しない場合、マルチキャストが行われず、ユニキャストでの転送が行われるので、無駄にマルチキャストアドレスが使用されることを抑制できるようになる。
【０１５６】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したＩＣＮノード及び端末の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【０１５７】
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１５８】
また、上で述べたＩＰルータは、図３２に示すように、メモリ２６０１とＣＰＵ２６０３とハードディスク・ドライブ（ＨＤＤ）２６０５と表示装置２６０９に接続される表示制御部２６０７とリムーバブル・ディスク２６１１用のドライブ装置２６１３と入力装置２６１５とネットワークに接続するための通信制御部２６１７（図３２では、２６１７ａ乃至２６１７ｃ）とがバス２６１９で接続されている構成の場合もある。なお、場合によっては、表示制御部２６０７、表示装置２６０９、ドライブ装置２６１３、入力装置２６１５は含まれない場合もある。オペレーティング・システム（ＯＳ：Operating System）及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２６０５に格納されており、ＣＰＵ２６０３により実行される際にはＨＤＤ２６０５からメモリ２６０１に読み出される。必要に応じてＣＰＵ２６０３は、表示制御部２６０７、通信制御部２６１７、ドライブ装置２６１３を制御して、必要な動作を行わせる。なお、通信制御部２６１７のいずれかを介して入力されたデータは、他の通信制御部２６１７を介して出力される。ＣＰＵ２６０３は、通信制御部２６１７を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ２６０１に格納され、必要があればＨＤＤ２６０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２６１１に格納されて頒布され、ドライブ装置２６１３からＨＤＤ２６０５にインストールされる。インターネットなどのネットワーク及び通信制御部２６１７を経由して、ＨＤＤ２６０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２６０３、メモリ２６０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１５９】
なお、上で述べた端末及びコンテンツサーバは、コンピュータ装置であって、図３３に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１６０】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１６１】
本実施の形態の第１の態様に係る通信装置は、（Ａ）第１のコンテンツについての複数の要求パケット（例えば、実施の形態におけるインタレストパケット）を第１の装置から受信した場合、当該複数の要求パケットのうち１の要求パケットを第２の装置に転送する第１転送部と、（Ｂ）第１のコンテンツに割り当てる第１のマルチキャストアドレスを決定し、第１のコンテンツの識別情報と第１のマルチキャストアドレスとを、第１の装置及び第２の装置に送信する第２転送部と、（Ｃ）第１のコンテンツを第２の装置から受信した場合、第１のマルチキャストアドレスを用いて第１のコンテンツを第１の装置に転送する第３転送部とを有する。
【０１６２】
複数の要求パケットに対してマルチキャストで応答できるので、通信帯域が無駄に消費されることがなくなり、通信帯域を効率的に利用できるようになる。
【０１６３】
また、第２転送部は、（ｂ１）第１のマルチキャストアドレスを用いて第１のコンテンツの転送が開始された後、第１のコンテンツについての要求パケットを第３の装置から受信した場合、第１のコンテンツの識別情報と第１のマルチキャストアドレスとを第３の装置に送信し、第３転送部は、（ｃ１）第１のコンテンツのライブデータ及び第１のコンテンツのキャッシュを、第１のマルチキャストアドレスを用いて第３の装置に転送してもよい。第３の装置のユーザが、第１の装置に過去に配信された第１のコンテンツを閲覧できるようになる。
【０１６４】
また、第２転送部は、（ｂ２）第１のマルチキャストアドレスを用いて第１のコンテンツの転送が開始された後、第１のコンテンツについての要求パケットを第４の装置から受信した場合、第１のコンテンツのキャッシュに割り当てる第２のマルチキャストアドレスを決定し、（ｂ３）第１のコンテンツの識別情報と第１のマルチキャストアドレスとを含む第１の情報と、第１のコンテンツのキャッシュの識別情報と第２のマルチキャストアドレスとを含む第２の情報とを第４の装置に送信し、第３転送部は、（ｃ２）第１のコンテンツのライブデータを第１のマルチキャストアドレスを用いて第４の装置に転送し、第１のコンテンツのキャッシュを第２のマルチキャストアドレスを用いて第４の装置に転送してもよい。ライブデータとキャッシュとを同じマルチキャストアドレスで転送すると、キャッシュが不要な経路にまでキャッシュを転送する可能性がある。そこで、上で述べたような処理を実行すれば、キャッシュが無駄に転送されることを防げるので、帯域の消費を抑制することができる。
【０１６５】
また、第２転送部は、（ｂ４）第１のマルチキャストアドレスを用いて第１のコンテンツの転送が開始された後、第１のコンテンツについての要求パケットを第５の装置及び第６の装置から受信した場合、第１のコンテンツのキャッシュに割り当てる第３のマルチキャストアドレスを決定し、（ｂ５）第１のコンテンツの識別情報と第１のマルチキャストアドレスとを含む第１の情報と、第１のコンテンツのキャッシュの識別情報と第３のマルチキャストアドレスとを含む第３の情報とを、第５の装置及び第６の装置に送信し、第３転送部は、（ｃ３）第１のコンテンツのライブデータを第１のマルチキャストアドレスを用いて第５の装置及び第６の装置に転送し、第１のコンテンツのキャッシュを第３のマルチキャストアドレスを用いて第５の装置及び第６の装置に転送してもよい。通信装置がキャッシュについてのアグリゲートノードに相当する場合にはマルチキャストアドレスが決定されるようになる。これにより、マルチキャストアドレスが無駄に使用されることを抑制できるようになる。
【０１６６】
また、本通信装置は、（Ｄ）第１のマルチキャストアドレスに対応するマルチキャストグループへの参加についての要求パケットを第１の装置から受信した場合、第１のマルチキャストアドレスに対応するマルチキャストグループに参加するための処理を実行する管理部をさらに有してもよい。第１の装置に対して、コンテンツがマルチキャストで転送されるようになる。
【０１６７】
また、第２転送部は、（ｂ６）通信装置の識別情報と時刻の情報とを入力とするハッシュ関数に基づき、第１のマルチキャストアドレスを生成してもよい。通信装置においてマルチキャストアドレスを生成することができるようになる。
【０１６８】
また、通信装置は、ＩＣＮ（Information Centric Networking）の通信を行う通信装置であってもよい。
【０１６９】
本実施の形態の第２の態様に係る通信方法は、（Ｅ）第１のコンテンツについての複数の要求パケットを第１の装置から受信した場合、当該複数の要求パケットのうち１の要求パケットを第２の装置に転送し、（Ｆ）第１のコンテンツに割り当てる第１のマルチキャストアドレスを決定し、（Ｇ）第１のコンテンツの識別情報と第１のマルチキャストアドレスとを、第１の装置及び第２の装置に送信し、（Ｈ）第１のコンテンツを第２の装置から受信した場合、第１のマルチキャストアドレスを用いて第１のコンテンツを第１の装置に転送する処理を含む。
【０１７０】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１７１】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１７２】
（付記１）
第１のコンテンツについての複数の要求パケットを第１の装置から受信した場合、当該複数の要求パケットのうち１の要求パケットを第２の装置に転送する第１転送部と、
前記第１のコンテンツに割り当てる第１のマルチキャストアドレスを決定し、前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを、前記第１の装置及び前記第２の装置に送信する第２転送部と、
前記第１のコンテンツを前記第２の装置から受信した場合、前記第１のマルチキャストアドレスを用いて前記第１のコンテンツを前記第１の装置に転送する第３転送部と、
を有する通信装置。
【０１７３】
（付記２）
前記第２転送部は、
前記第１のマルチキャストアドレスを用いて前記第１のコンテンツの転送が開始された後、前記第１のコンテンツについての要求パケットを第３の装置から受信した場合、前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを前記第３の装置に送信し、
前記第３転送部は、
前記第１のコンテンツのライブデータ及び前記第１のコンテンツのキャッシュを、前記第１のマルチキャストアドレスを用いて前記第３の装置に転送する、
付記１記載の通信装置。
【０１７４】
（付記３）
前記第２転送部は、
前記第１のマルチキャストアドレスを用いて前記第１のコンテンツの転送が開始された後、前記第１のコンテンツについての要求パケットを第４の装置から受信した場合、前記第１のコンテンツのキャッシュに割り当てる第２のマルチキャストアドレスを決定し、
前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを含む第１の情報と、前記第１のコンテンツのキャッシュの識別情報と前記第２のマルチキャストアドレスとを含む第２の情報とを前記第４の装置に送信し、
前記第３転送部は、
前記第１のコンテンツのライブデータを前記第１のマルチキャストアドレスを用いて前記第４の装置に転送し、前記第１のコンテンツのキャッシュを前記第２のマルチキャストアドレスを用いて前記第４の装置に転送する、
付記１記載の通信装置。
【０１７５】
（付記４）
前記第２転送部は、
前記第１のマルチキャストアドレスを用いて前記第１のコンテンツの転送が開始された後、前記第１のコンテンツについての要求パケットを第５の装置及び第６の装置から受信した場合、前記第１のコンテンツのキャッシュに割り当てる第３のマルチキャストアドレスを決定し、
前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを含む第１の情報と、前記第１のコンテンツのキャッシュの識別情報と前記第３のマルチキャストアドレスとを含む第３の情報とを、前記第５の装置及び前記第６の装置に送信し、
前記第３転送部は、
前記第１のコンテンツのライブデータを前記第１のマルチキャストアドレスを用いて前記第５の装置及び前記第６の装置に転送し、前記第１のコンテンツのキャッシュを前記第３のマルチキャストアドレスを用いて前記第５の装置及び前記第６の装置に転送する、
付記１記載の通信装置。
【０１７６】
（付記５）
前記第１のマルチキャストアドレスに対応するマルチキャストグループへの参加についての要求パケットを前記第１の装置から受信した場合、前記第１のマルチキャストアドレスに対応するマルチキャストグループに参加するための処理を実行する管理部
をさらに有する付記１乃至４のいずれか１つ記載の通信装置。
【０１７７】
（付記６）
前記第２転送部は、
前記通信装置の識別情報と時刻の情報とを入力とするハッシュ関数に基づき、前記第１のマルチキャストアドレスを生成する、
付記１乃至５のいずれか１つ記載の通信装置。
【０１７８】
（付記７）
前記通信装置は、
ＩＣＮ（Information Centric Networking）の通信を行う通信装置である、
付記１乃至６のいずれか１つ記載の通信装置。
【０１７９】
（付記８）
通信装置が、
第１のコンテンツについての複数の要求パケットを第１の装置から受信した場合、当該複数の要求パケットのうち１の要求パケットを第２の装置に転送し、
前記第１のコンテンツに割り当てる第１のマルチキャストアドレスを決定し、
前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを、前記第１の装置及び前記第２の装置に送信し、
前記第１のコンテンツを前記第２の装置から受信した場合、前記第１のマルチキャストアドレスを用いて前記第１のコンテンツを前記第１の装置に転送する、
処理を実行する通信方法。
【０１８０】
（付記９）
通信装置に、
第１のコンテンツについての複数の要求パケットを第１の装置から受信した場合、当該複数の要求パケットのうち１の要求パケットを第２の装置に転送し、
前記第１のコンテンツに割り当てる第１のマルチキャストアドレスを決定し、
前記第１のコンテンツの識別情報と前記第１のマルチキャストアドレスとを、前記第１の装置及び前記第２の装置に送信し、
前記第１のコンテンツを前記第２の装置から受信した場合、前記第１のマルチキャストアドレスを用いて前記第１のコンテンツを前記第１の装置に転送する、
処理を実行させる通信プログラム。
【符号の説明】
【０１８１】
１１ｔ，１２ｔ，１３ｔ，１４ｔ，１ｔ，２ｔ，３ｔ，４ｔ，５ｔ，６ｔ，７ｔ  端末
１ｓ，１１ｓ，１２ｓ  コンテンツサーバ
１１ｉ，１２ｉ，１３ｉ，１４ｉ，１５ｉ，１６ｉ，１７ｉ，１８ｉ，１９ｉ，２０ｉ，１ｉ，２ｉ，３ｉ，４ｉ，５ｉ  ＩＣＮノード
１００，２００  メモリ    １０１，２０１  ＣＰＵ
１０２，２０２  バス    １０３ａ，１０３ｂ，２０３  ネットワークインタフェース
１００１，２００１  プログラム    １００２，２００２  データ
１００１１，２００１１  インタレスト管理部    １００１２  アドレス決定部
１００１３  コンテンツ転送部    １００１４，２００１４  対応関係管理部
１００１５，２００１５  マルチキャスト管理部    １００１６  ユニキャスト転送部
１００１７  マルチキャスト転送部    ２００１６  ユニキャスト通信部
２００１７  マルチキャスト通信部    １００２１，２００２１  対応関係データ
１００２２  キャッシュ    １００２３  ＦＩＢ
１００２４  ＰＩＴ
【図１】
2018064171.tif 000003
【図２】
2018064171.tif 000004
【図３】
2018064171.tif 000005
【図４】
2018064171.tif 000006
【図５】
2018064171.tif 000007
【図６】
2018064171.tif 000008
【図７】
2018064171.tif 000009
【図８】
2018064171.tif 000010
【図９】
2018064171.tif 000011
【図１０】
2018064171.tif 000012
【図１１】
2018064171.tif 000013
【図１２】
2018064171.tif 000014
【図１３】
2018064171.tif 000015
【図１４】
2018064171.tif 000016
【図１５】
2018064171.tif 000017
【図１６】
2018064171.tif 000018
【図１７】
2018064171.tif 000019
【図１８】
2018064171.tif 000020
【図１９】
2018064171.tif 000021
【図２０】
2018064171.tif 000022
【図２１】
2018064171.tif 000023
【図２２】
2018064171.tif 000024
【図２３】
2018064171.tif 000025
【図２４】
2018064171.tif 000026
【図２５】
2018064171.tif 000027
【図２６】
2018064171.tif 000028
【図２７】
2018064171.tif 000029
【図２８】
2018064171.tif 000030
【図２９】
2018064171.tif 000031
【図３０】
2018064171.tif 000032
【図３１】
2018064171.tif 000033
【図３２】
2018064171.tif 000034
【図３３】
2018064171.tif 000035