JP2018064171A - 通信方法、通信装置及び通信プログラム - Google Patents

通信方法、通信装置及び通信プログラム Download PDF

Info

Publication number
JP2018064171A
JP2018064171A JP2016200875A JP2016200875A JP2018064171A JP 2018064171 A JP2018064171 A JP 2018064171A JP 2016200875 A JP2016200875 A JP 2016200875A JP 2016200875 A JP2016200875 A JP 2016200875A JP 2018064171 A JP2018064171 A JP 2018064171A
Authority
JP
Japan
Prior art keywords
content
multicast
multicast address
icn node
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2016200875A
Other languages
English (en)
Inventor
祐治 小島
Yuji Kojima
祐治 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016200875A priority Critical patent/JP2018064171A/ja
Priority to US15/713,079 priority patent/US20180102911A1/en
Publication of JP2018064171A publication Critical patent/JP2018064171A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】コンテンツが転送されるネットワークにおいて通信帯域を効率的に利用する。
【解決手段】インタレスト管理部はインタレストパケットの生成および転送を行う。アドレス決定部は受信したコンテンツに対応するマルチキャストアドレスを決定する。コンテンツ転送部はコンテンスサーバが送信したコンテンツをICNの通信によって転送する。対応関係管理部はコンテンツとマルチキャストアドレスとの対応関係を管理する。マルチキャスト管理部はマルチキャストツリーに参加するための処理等を実行する。ユニキャスト転送部はIPユニキャスト通信でデータを転送する。マルチキャスト転送部はマルチキャスト通信でデータを転送する。
【選択図】図6

Description

本発明は、ネットワークにおいてデータを転送する技術に関する。
インターネットは、エンドツーエンド(end-to-end)でのデータの送受信をターゲットに設計されたが、最近では、サーバから端末へのコンテンツ(例えば動画や音楽など)の配信システムとして利用されるようになっている。そこで、情報配信に着目したネットワーク技術であるICN(Information Centric Networking)の研究が盛んに行われている。なお、ICNは、CCN(Content Centric Networking)又はNDN(Named Data Networking)とも呼ばれる。
或る文献は、ICNに関して以下のような技術を開示する。具体的には、コンテンツの識別子を用いてパケットを転送する複数のノードの各々が、複数のマルチキャストツリーの少なくとも1つを用いて、コンテンツを要求するための要求パケットを転送し、要求パケットに対する応答として、要求したコンテンツを含む応答パケットを受信する。これにより、ネットワークの負荷の上昇が抑制される。
但し、ICNの通信が行われるネットワークには、ICNの通信を行うことができるノードだけではなく、ICNの通信を行うことができないノードが含まれている場合がある。そして、それが原因となってコンテンツの転送の際に通信帯域が効率的に利用されないことがある。上記技術は、このような問題には着目していない。
国際公開第2015/029321号
本発明の目的は、1つの側面では、コンテンツが転送されるネットワークにおいて通信帯域を効率的に利用するための技術を提供することである。
本発明に係る通信装置は、第1のコンテンツについての複数の要求パケットを第1の装置から受信した場合、当該複数の要求パケットのうち1の要求パケットを第2の装置に転送する第1転送部と、第1のコンテンツに割り当てる第1のマルチキャストアドレスを決定し、第1のコンテンツの識別情報と第1のマルチキャストアドレスとを、第1の装置及び第2の装置に送信する第2転送部と、第1のコンテンツを第2の装置から受信した場合、第1のマルチキャストアドレスを用いて第1のコンテンツを第1の装置に転送する第3転送部とを有する。
1つの側面では、コンテンツが転送されるネットワークにおいて通信帯域を効率的に利用できるようになる。
図1は、ICNによるコンテンツ転送について説明するための図である。 図2は、ICNによるコンテンツ転送について説明するための図である。 図3は、ICNによる要求パケット転送について説明するための図である。 図4は、ICNによるコンテンツ転送について説明するための図である。 図5は、ネットワーク構成を示す図である。 図6は、ICNノードの機能ブロック図である。 図7は、端末の機能ブロック図である。 図8は、第1の実施の形態の概要を説明するための図である。 図9は、第1の実施の形態の概要を説明するための図である。 図10は、第1の実施の形態の概要を説明するための図である。 図11は、第1の実施の形態において実行される処理のシーケンス図である。 図12は、第1の実施の形態において実行される処理のシーケンス図である。 図13は、マルチキャストツリー参加処理について説明するための図である。 図14は、マルチキャストツリー参加処理について説明するための図である。 図15は、マルチキャストツリー参加処理について説明するための図である。 図16は、マルチキャストツリー参加処理について説明するための図である。 図17は、マルチキャストツリー参加処理について説明するための図である。 図18は、マルチキャストツリー参加処理について説明するための図である。 図19は、第2の実施の形態の概要を説明するための図である。 図20は、第2の実施の形態の概要を説明するための図である。 図21は、第2の実施の形態において実行される処理のシーケンス図である。 図22は、第3の実施の形態の概要を説明するための図である。 図23は、第3の実施の形態の概要を説明するための図である。 図24は、第3の実施の形態において実行される処理のシーケンス図である。 図25は、第3の実施の形態において実行される処理のシーケンス図である。 図26は、マルチキャストアドレスの割り当てについて説明するための図である。 図27は、第4の実施の形態の概要を説明するための図である。 図28は、第4の実施の形態の概要を説明するための図である。 図29は、第4の実施の形態において実行される処理のシーケンス図である。 図30は、第4の実施の形態において実行される処理のシーケンス図である。 図31は、第4の実施の形態において実行される処理のシーケンス図である。 図32は、中継装置の機能ブロック図である。 図33は、コンピュータの機能ブロック図である。
はじめに、図1乃至図4を用いてICNによるコンテンツ転送について簡単に説明する。例えば図1に示すように、端末11tは、要求するコンテンツのコンテンツID(IDentification information)を含むインタレスト(Interest)パケットを送信する。インタレストパケットは、要求パケットとも呼ばれる。図1においては、「/fj/kawasaki」がコンテンツIDである。端末11tは、ICNの通信を行うことができ(以下、ICNノードと呼ぶ)且つネットワークとの接続点に配置されているノードにインタレストパケットを送信すればよいので、コンテンツ毎に異なるサーバを見つけてそのサーバとエンドツーエンドで通信を行わなくてもよい。なお、コンテンツIDではなくコンテンツ名であってもよい。
各ICNノードは、インタレストパケットに含まれるコンテンツIDに対応するフェース(すなわち、ICNにおけるインタフェース。ここでは「Next Face」)をFIB(Forwarding Information Base)3001から特定し、特定したフェースからインタレストパケットを転送する。FIB3001は、コンテンツサーバ11sによってコンテンツ名が広告されることによって、各ICNノードにおいて予め生成される。また、各ICNノードは、インタレストパケットを受信したフェースの情報を、PIT(Pending Interest Table)3002に登録する。
インタレストパケットは、ICNノード16i、ICNノード15i、ICNノード14i、ICNノード13i、ICNノード12i及びICNノード11iを経由するルートで転送され、コンテンツサーバ11sに到達する。コンテンツサーバ11sは、インタレストパケットに含まれるコンテンツIDを有するコンテンツを、ICNノード11iに送信する。
コンテンツは、ICNノード11i、ICNノード12i、ICNノード13i、ICNノード14i、ICNノード15i及びICNノード16iを経由するルートで転送され、端末11tに到達する。ここで、各ICNノードは、転送されるコンテンツのコンテンツIDに対応するフェース(ここでは「Requested Face」)をPIT3002から特定し、特定したフェースからコンテンツを転送する。また、各ICNノードは、コンテンツのキャッシュをキャッシュアルゴリズムに従って保存する。これ以降、例えば図2に示すように、コンテンツを要求する別の端末12tはキャッシュからコンテンツを取得することができる。
ICNの通信が行われるネットワークにおいては、必ずしも全ての中継ノードがICNノードであるわけではなく、既存のIP(Internet Protocol)/L3(Layer 3)ネットワーク上にオーバレイの構造で展開される(ICN Over IP)。例えば図3においては、IPルータ11rはICNの通信を行わない。コンテンツサーバ12sと端末13t及び14tとの間におけるエンドツーエンドの通信ではなく、ICNノード間におけるホップバイホップ(hop-by-hop)の通信が行われる。ICNノード間におけるホップバイホップの通信は、IPユニキャストで行われる。以下では、「ユニキャスト」とはIPユニキャストのことである。
図3に示すように、同一のコンテンツIDを含むインタレストパケットを複数の経路から受信したICNノード18i(アグリゲートノードと呼ばれる)は、複数のインタレストパケットを1つのインタレストパケットに集約し、コンテンツサーバ12sに転送する。これと同様に、図4に示すように、アグリゲートノードであるICNノード18iがコンテンツを受信した場合にはコンテンツの複製を生成し、複数回のユニキャスト通信によってコンテンツを端末13t及び端末14tに転送する。IPルータ11rとICNノード18iとの間において2回のユニキャスト通信が行われているが、この区間については1回のユニキャスト通信であっても問題は無いので、2回のユニキャスト通信が行われることによって通信帯域が無駄に消費されていると言える。
そこで、以下では、通信帯域を効率的に利用するようにコンテンツを転送する方法について説明する。
[実施の形態1]
図5に、第1の実施の形態のネットワーク構成を示す。コンテンツサーバ1sは、ICNの通信によって、コンテンツ(例えば、動画や音声など)を要求する端末に対してコンテンツを配信する。ネットワーク上には、ICNノード1i乃至5iと、IPルータ1r乃至3rとが配置されており、例えばパーソナルコンピュータ又はスマートフォン等である端末1t乃至6tは、ネットワークとの接続点にある中継ノードに接続される。より具体的には、ICNノード1iはコンテンツサーバ1s及び端末4tに接続され、ICNノード2iはICNノード1iに接続され、IPルータ1rはICNノード2iに接続される。ICNノード4iはIPルータ1rに接続され、端末2t及び3tはICNノード4iに接続される。ICNノード3iはIPルータ1rに接続され、IPルータ2r及びICNノード5iはICNノード3iに接続される。端末1tはIPルータ2rに接続される。IPルータ3rはICNノード5iに接続され、端末5t及び6tはIPルータ3rに接続される。なお、装置間の接続は無線接続であってもよい。
図6に、各ICNノードの機能ブロック図を示す。各ICNノードは、例えばRAM(Random Access Memory)であるメモリ100と、CPU(Central Processing Unit)101と、ハードウエアコンポーネントを相互に接続するためのバス102と、ハードウエアのネットワークインタフェース103a及び103bとを有する。ネットワークインタフェース103a及び103bは、例えば、Ethernet(登録商標)のインタフェース又は無線LAN(Local Area Network)のインタフェースである。図6においてはネットワークインタフェースの数は2であるが、数に限定は無い。
プログラム1001はCPU101によりメモリ100にロードされて実行されることで、図6に示す各種機能を実現する。具体的には、ICN層の機能として、インタレスト管理部10011、アドレス決定部10012、コンテンツ転送部10013及び対応関係管理部10014が実現され、IP層の機能として、マルチキャスト管理部10015、ユニキャスト転送部10016及びマルチキャスト転送部10017が実現される。プログラム1001に基づく処理に使用されるデータ1002は、対応関係データ10021と、コンテンツのキャッシュ10022と、FIB10023と、PIT10024とを含む。本実施の形態においては、「マルチキャスト」とはIPマルチキャストのことである。
インタレスト管理部10011は、インタレストパケットの生成および転送を行う。アドレス決定部10012は、受信したコンテンツに対応するマルチキャストアドレスを決定する。コンテンツ転送部10013は、コンテンツサーバ1sが送信したコンテンツを、ICNの通信によって転送する。対応関係管理部10014は、コンテンツとマルチキャストアドレスとの対応関係を管理する。マルチキャスト管理部10015は、マルチキャストツリーに参加するための処理等を実行する。ユニキャスト転送部10016は、IPユニキャスト通信でデータを転送する。マルチキャスト転送部10017は、マルチキャスト通信でデータを転送する。
対応関係データ10021は、コンテンツIDとマルチキャストアドレスとの対応関係を示すデータを含む。キャッシュ10022は、コンテンツのキャッシュを含む。FIB10023は、上で述べたように、コンテンツIDとインタレストパケットの出力先のフェースとを対応付けて格納する。PIT10024は、上で述べたように、コンテンツIDとインタレストパケットを受信したフェースとを対応付けて格納する。
図7に、各端末の機能ブロック図を示す。各端末は、例えばRAMであるメモリ200と、CPU201と、ハードウエアコンポーネントを相互に接続するためのバス202と、ハードウエアのネットワークインタフェース203とを有する。ネットワークインタフェース203は、例えば、Ethernet(登録商標)のインタフェース又は無線LANのインタフェースである。
プログラム2001はCPU201によりメモリ200にロードされて実行されることで、図7に示す各種機能を実現する。具体的には、ICN層の機能として、インタレスト管理部20011、コンテンツ受信部20013及び対応関係管理部20014が実現され、IP層の機能として、マルチキャスト管理部20015、ユニキャスト通信部20016及びマルチキャスト通信部20017が実現される。プログラム2001に基づく処理に使用されるデータ2002は、対応関係データ20021を含む。
インタレスト管理部20011は、インタレストパケットの生成および送信を行う。コンテンツ受信部20013は、コンテンツサーバ1sが送信したコンテンツを受信する。対応関係管理部20014は、コンテンツとマルチキャストアドレスとの対応関係を管理する。マルチキャスト管理部20015は、IGMP(Internet Group Management Protocol) Joinメッセージを発行する処理等を実行する。ユニキャスト通信部20016は、ユニキャスト通信でデータを送信及び受信する。マルチキャスト通信部20017は、マルチキャスト通信で送信されたコンテンツを受信する。
対応関係データ20021は、コンテンツIDとマルチキャストアドレスとの対応関係を示すデータを含む。
図8乃至図10を用いて、第1の実施の形態の概要を説明する。例えば図8に示すように、端末1t、端末2t及び端末3tが、同一のコンテンツIDを含むインタレストパケットを送信するとする。図8においては、ICNノード2i及びICNノード4iがアグリゲートノードに該当し、3つのインタレストパケットは集約されて最終的には1つのインタレストパケットがコンテンツサーバ1sに到達する。
図9に示すように、コンテンツサーバ1sは、インタレストパケットを受信すると、インタレストパケットに含まれるコンテンツIDを有するコンテンツを、ICNノード1iにユニキャストで送信する。送信されたパケットを受信したICNノード2iは、アグリゲートノードであるので、受信したコンテンツに対応するマルチキャストアドレスを決定する。そして、ICNノード2iは、受信したコンテンツとそのコンテンツに対応するマルチキャストアドレスとを含む対応関係データを、インタレストパケットの転送先であるコンテンツサーバ1sに向かう方向を順方向とした場合、その逆方向である前ホップの中継ノードにあたるICNノード3i及びICNノード4i、並びに、次ホップの中継ノードにあたるICNノード1iに送信する。対応関係データは、ICNノード1i、コンテンツサーバ1s、ICNノード3i、端末1t、ICNノード4i、端末2t及び端末3tに到達する。対応関係データを受信した各ICNノードは、マルチキャストルーティングプロトコル(PIM−SM(Protocol-Independent Multicast-Sparse Mode)またはPIM−DM(Protocol-Independent Multicast-Dense Mode))に従って、マルチキャストツリー(マルチキャスト配信ツリーとも呼ばれる)に参加するための処理(以下、マルチキャストツリー参加処理と呼ぶ)を実行する。PIM−SMにおいては、ランデブーポイント(RP:Rendezvous Point)である中継ノードに対してJoinメッセージを送信することで、マルチキャストツリーへの参加が表明される。PIM−DMにおいては、プルーン(Prune)メッセージの送信を抑止することで、マルチキャストツリーへの参加が表明される。また、対応関係データを受信した各端末はIGMP Joinメッセージを送信することで、マルチキャストツリーへの参加が表明される。
これにより、図10に示すように、端末1t、端末2t及び端末3tにマルチキャストでコンテンツが配信されるようになる。ここで、ICNノード2iとIPルータ1rとの間においては、2回のユニキャスト通信ではなく、1回のマルチキャスト通信が行われている。従って、ICNノード2iとIPルータ1rとの間において通信帯域を効率的に利用することができる。
次に、図11乃至図18を用いて、第1の実施の形態についてより詳細に説明する。
まず、端末1tのインタレスト管理部20011は、ICNノード3iに、コンテンツIDを含むインタレストパケットを送信する(図11:ステップS1)。
ICNノード3iは、端末1tから受信したインタレストパケットを、ICNノード2iに転送する(ステップS3)。
端末2tのインタレスト管理部20011は、ICNノード4iに、端末1tが送信したコンテンツIDと同じコンテンツIDを含むインタレストパケットを送信する(ステップS5)。
端末3tのインタレスト管理部20011は、ICNノード4iに、端末1tが送信したコンテンツIDと同じコンテンツIDを含むインタレストパケットを送信する(ステップS7)。
ICNノード4iのインタレスト管理部10011は、端末2tから受信したインタレストパケット及び端末3tから受信したインタレストパケットをアグリゲートする(ステップS9)。アグリゲートは、複数のインタレストパケットを1つのインタレストパケットにまとめる処理である。そして、ICNノード4iのインタレスト管理部10011は、1つのインタレストパケットをICNノード2iに転送する(ステップS11)。ステップS11においては、FIB10023に格納されている情報に従い転送先が決定される。また、インタレストパケットを受信したフェースの識別情報がインタレストパケットに含まれるコンテンツIDに対応付けてPIT10024に登録される。上記ステップS3及び以下においても同様とする。
なお、アグリゲートを実行するか否かは、同じコンテンツIDについて複数の「Requested Face」がPIT10024に登録されているか否かによって判定される。この判定は、インタレスト管理部10011によって行われる。以下においても同様とする。
ICNノード2iのインタレスト管理部10011は、ICNノード3i及びICNノード4iからインタレストパケットを受信する。そして、ICNノード2iのインタレスト管理部10011は、受信した2つのインタレストパケットをアグリゲートし(ステップS13)、1つのインタレストパケットをICNノード1iに転送する(ステップS15)。
ICNノード1iのインタレスト管理部10011は、ICNノード2iから受信したインタレストパケットを、コンテンツサーバ1sに転送する(ステップS17)。
コンテンツサーバ1sは、ICNノード1iからインタレストパケットを受信し、受信したインタレストパケットに含まれるコンテンツIDに対応するコンテンツを、例えば記憶装置から読み出す。そして、コンテンツサーバ1sは、ICNノード1iにコンテンツをユニキャストで送信する(ステップS19)。
ICNノード1iのコンテンツ転送部10013は、コンテンツサーバ1sから受信したコンテンツを、ICNノード2iにユニキャストで(すなわち、ユニキャスト転送部10016を介して)転送する(ステップS21)。また、コンテンツ転送部10013は、コンテンツのキャッシュをメモリ100に格納する。なお、コンテンツの転送の際には、PIT10024が参照されることで転送先のフェースが決定される。以下においても同様とする。
ICNノード2iのコンテンツ転送部10013は、ICNノード1iからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。ICNノード2iは、アグリゲートノードであり、且つ、受信したコンテンツについての対応関係データがメモリ100に格納されていないので、アドレスを決定する処理を実行すべきと判定される。そこで、アドレス決定部10012は、受信したコンテンツに対応するマルチキャストアドレスを決定する(ステップS23)。例えば、ICNノードのIDとステップS23の処理時点の時刻の情報とを入力としてハッシュ関数に基づき、マルチキャストアドレスが決定される。
そして、ICNノード2iの対応関係管理部10014は、受信したコンテンツとマルチキャストアドレスとの対応関係を示す対応関係データを生成する(ステップS25)。また、対応関係管理部10014は、生成した対応関係データをメモリ100に格納する。処理は端子A乃至Iを介して図12のステップS27に移行する。
図12の説明に移行し、ICNノード2iの対応関係管理部10014は、生成した対応関係データを、コンテンツサーバ1sに向かう方向を順方向とした場合、次ホップの中継ノードにあたるICNノード1iに送信する(ステップS27)。
ICNノード1iの対応関係管理部10014は、ICNノード2iから受信した対応関係データをコンテンツサーバ1sに転送する(ステップS29)。また、対応関係管理部10014は、受信した対応関係データをメモリ100に格納する。
ICNノード2iの対応関係管理部10014は、生成した対応関係データを、コンテンツサーバ1sに向かう方向を順方向とした場合、その逆方向である前ホップの中継ノードにあたるICNノード3i及び4iに送信する(ステップS31及びステップS35)。
ICNノード3iの対応関係管理部10014は、ICNノード2iから受信した対応関係データを端末1tに転送する(ステップS33)。また、対応関係管理部10014は、生成した対応関係データをメモリ100に格納する。
端末1tの対応関係管理部20014は、ICNノード3iから対応関係データを受信し、受信した対応関係データをメモリ200に格納する。
ICNノード4iの対応関係管理部10014は、ICNノード2iから受信した対応関係データを端末2t及び端末3tに送信する(ステップS37及びステップS39)。また、対応関係管理部10014は、生成した対応関係データをメモリ100に格納する。
端末2tの対応関係管理部20014は、ICNノード4iから対応関係データを受信し、受信した対応関係データをメモリ200に格納する。また、端末3tの対応関係管理部20014は、ICNノード4iから対応関係データを受信し、受信した対応関係データをメモリ200に格納する。
そして、端末1t、端末2t及び端末3tのマルチキャスト管理部20015、並びに、ICNノード3i及びICNノード4iのマルチキャスト管理部10015は、対象のコンテンツに割り当てられたマルチキャストアドレスに基づき、マルチキャストツリー参加処理を実行する(ステップS41)。また、ICNノード1i及びICNノード2iは、対象のコンテンツに割り当てられたマルチキャストアドレスに基づき、マルチキャストツリー参加処理を実行する(ステップS43)。マルチキャストツリー参加処理については、後で説明する。
これに応じ、ICNノード2iのコンテンツ転送部10013は、ICNノード1iから受信したコンテンツをマルチキャストで(すなわち、マルチキャスト転送部10017を介して)IPルータ1rに送信する(ステップS45)。
IPルータ1rは、ICNノード2iから受信したコンテンツをコピーし、コンテンツをICNノード3i及びICNノード4iにマルチキャストで送信する(ステップS47及びステップS51)。
ICNノード3iのコンテンツ転送部10013は、IPルータ1rからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツを端末1tに転送する(ステップS49)。
ICNノード4iのコンテンツ転送部10013は、IPルータ1rからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。ICNノード4iはアグリゲートノードであるが、受信したコンテンツについての対応関係データがメモリ100に格納されているため、アドレスを決定する処理を実行すべきではないと判定される。そして、コンテンツ転送部10013は、受信したコンテンツを端末2t及び端末3tにマルチキャストで転送する(ステップS53及びステップS55)。
以上のように,ICNノード2iは、当初はユニキャストで受信したコンテンツをマルチキャストで転送し、以降、マルチキャストで受信したコンテンツをマルチキャストで転送する。ICNノード1iも、対応関係データをコンテンツサーバ1sへ送信するタイミングとコンテンツサーバ1sがコンテンツを送信するタイミングとの関係によっては、当初、ユニキャストで受信したコンテンツをマルチキャストで転送し、以降、マルチキャストで受信したコンテンツをマルチキャストで転送する。
コンテンツがライブ配信されている場合、コンテンツサーバ1sはさらにマルチキャストでコンテンツを配信する(ステップS57)。
ICNノード1iのコンテンツ転送部10013は、コンテンツサーバ1sからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツをマルチキャストでICNノード2iに送信する(ステップS59)。
ICNノード2iのコンテンツ転送部10013は、ICNノード1iからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツをマルチキャストでIPルータ1rに送信する(ステップS61)。
IPルータ1rは、ICNノード2iから受信したコンテンツをコピーし、コンテンツをICNノード3i及びICNノード4iにマルチキャストで送信する(ステップS63及びステップS64)。
ICNノード3iのコンテンツ転送部10013は、IPルータ1rからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツを端末1tに転送する(ステップS65)。
ICNノード4iのコンテンツ転送部10013は、IPルータ1rからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツを端末2t及び端末3tにマルチキャストで転送する(ステップS67及びステップS69)。
以上のようにマルチキャストを利用することで、ICNノードだけでなくIPルータが配置されたネットワークにおいても、コンテンツを転送する際に通信帯域を効率的に利用することができるようになる。
図13乃至図18を用いて、マルチキャストツリー参加処理について説明する。ここでは、図14において太線で示すように、IPルータ1rとIPルータ2rとの間に、図8乃至図10には示されていない別の経路が存在するとする。
まず、図13及び図14を用いて、RPF(Reverse Path Forwarding)の処理について説明する。ICNノード2iのコンテンツ転送部10013は、ユニキャストで送信されたコンテンツを受信し(図13:ステップS71)、受信したコンテンツのキャッシュをメモリ100に格納する。そして、ICNノード2iのコンテンツ転送部10013は、受信したコンテンツを、コンテンツを受信したインタフェース以外のインタフェース(すなわち、IPルータ1rにデータを送信するためのインタフェース)から、マルチキャストでコンテンツを転送する(ステップS73)。
IPルータ1rは、マルチキャストで送信されたコンテンツを受信する。そして、IPルータ1rは、受信したコンテンツを、コンテンツを受信したインタフェース以外のインタフェースから、マルチキャストでコンテンツを転送する(ステップS75及びS76)。結果として、図14に示すように、コンテンツはICNノード3i、IPルータ2r及びICNノード4iへ転送される。
ICNノード3iのコンテンツ転送部10013は、マルチキャストで送信されたコンテンツを受信し、受信したコンテンツのキャッシュをメモリ100に格納する。そして、ICNノード3iは、受信したコンテンツを、コンテンツを受信したインタフェース以外のインタフェースから、マルチキャストでコンテンツを転送する(ステップS77及び79)。結果として、図14に示すように、コンテンツはICNノード5i及びIPルータ2rへ転送される。
IPルータ2rは、マルチキャストで送信されたコンテンツを受信する。そして、IPルータ2rは、受信したコンテンツを、コンテンツを受信したインタフェース以外のインタフェースから、マルチキャストでコンテンツを転送する(ステップS81)。結果として、図14に示すように、コンテンツは端末1tへ転送される。
ここで、IPルータ2rは、アップリンクストリームインタフェース及びダウンリンクストリームインタフェースを決定する(ステップS83)。図14の例では、「U」が付された経路のフェースがアップリンクストリームインタフェースに該当し、「D」が付された経路がダウンリンクストリームインタフェースに該当する。IPルータ2rは、コンテンツを受信したインタフェースをアップリンクストリームインタフェースと決定し、コンテンツを送信したインタフェースをダウンリンクストリームインタフェースと決定する。ただし、複数のインタフェースからコンテンツを受信した場合、IPルータ2rは、いずれか一つのインタフェースをアップリンクストリームインタフェースと決定する。図14の例では、IPルータ1rからのインタフェースがアップリンクストリームインタフェースと決定された。
同様に、ICNノード3iのマルチキャスト管理部10015は、図14に示すようにアップリンクストリームインタフェース及びダウンリンクストリームインタフェースを決定する(ステップS85)。
RPFの処理の後、ネットワーク管理者の指定に従って、PIM−SMの場合の処理又はPIM−DMの場合の処理が実行される。
図15及び図16を用いて、PIM−SMの処理について説明する。ここでは、対応関係データを既に各端末及び各ICNノードが受信したとする。
端末1tのマルチキャスト管理部20015は、メモリ200に格納された対応関係データに含まれるマルチキャストアドレスを含むIGMP Joinメッセージを、IPルータ2rに送信する(図15:ステップS91)。
IPルータ2rは、端末1tからIGMP Joinメッセージを受信すると、ランデブーポイントであるIPルータ1rに対して、アップリンクストリームインタフェースを介してJoinメッセージを送信する(ステップS93)。
ICNノード3iのマルチキャスト管理部10015は、メモリ200に格納された対応関係データに含まれるマルチキャストアドレスを含むJoinメッセージを、ランデブーポイントであるIPルータ1rに対して、アップリンクストリームインタフェースを介して送信する(ステップS94)。ICNノード3iの配下には、コンテンツを要求する端末はないが、ICNノード3i自身がコンテンツをキャッシュする必要があるため、JoinメッセージをIPルータ1rに送信する。
ICNノード2iのコンテンツ転送部10013は、ユニキャストで送信されたコンテンツを受信し(ステップS95)、コンテンツのキャッシュをメモリ100に格納する。そして、ICNノード2iのコンテンツ転送部10013は、受信したコンテンツをIPルータ1rにマルチキャストで転送する(ステップS97)。
IPルータ1rは、IPルータ2r及びICNノード3iからJoinメッセージを受信する。また、図16に示すように、IPルータ1rは、ICNノード4iからもJoinメッセージを受信する。IPルータ1rは、Joinメッセージを受信したフェースからコンテンツを転送するが、Joinメッセージを受信しなかったフェースからはコンテンツを転送しない。具体的には、IPルータ1rは、マルチキャストでIPルータ2rへコンテンツを送信する(ステップS99)。また、IPルータ1rは、マルチキャストでICNノード3iへコンテンツを送信する(ステップS103)。さらに、IPルータ1rは、マルチキャストでICNノード4iへコンテンツを送信する。
IPルータ2rは、IPルータ1rからコンテンツを受信する。そして、IPルータ2rは、受信したコンテンツを、マルチキャストで端末1tに送信する(ステップS101)。
なお、図16においては、ICNノード3iがJoinメッセージをIPルータ1rに送信しているが、仮に送信しないと、コンテンツを受信できなくなる。この場合、IPルータ1rは、コンテンツをICNノード3iへ転送せず、IPルータ2r宛のコンテンツもICNノード3iを経由せず、太線で示す経路で転送するからである。ICNノード3iの配下には、コンテンツを要求する端末はないが、ICNノード3i自身がコンテンツをキャッシュする必要があるため、ICNノード3iはJoinメッセージをIPルータ1rに送信する。
図17及び図18を用いて、PIM−DMの場合の処理について説明する。ここでは、対応関係データを既に各端末及び各ICNノードが受信したとする。
端末1tのマルチキャスト管理部20015は、メモリ200に格納された対応関係データに含まれるマルチキャストアドレスを含むIGMP Joinメッセージを、IPルータ2rに送信する(図17:ステップS111)。
IPルータ2rは、ダウンリンクストリームインタフェースではなく且つアップリングストリームインタフェースではないフェース(ここでは、ICNノード3iにデータを転送するためのフェース)から、IGMPのプルーンメッセージを送信する(ステップS113)。プルーンメッセージは、マルチキャストでデータを受信することを拒否することを表すメッセージである。
ICNノード5iのマルチキャスト管理部10015は、ダウンリンクストリームインタフェースではなく且つアップリングストリームインタフェースではないフェース(ここでは、ICNノード3iにデータを転送するためのフェース)から、IGMPのプルーンメッセージを送信する(ステップS115)。
ICNノード3iは、ICNノード3iの2つのダウンリンクストリームインタフェースからプルーンメッセージを受信し、且つ、ICNノード3iがマルチキャストツリーに参加しなくてもよい場合、アップリンクストリームインタフェースからIPルータ1rに、プルーンメッセージを送信する。このようにすると、IPルータ1rは、ICNノード3iにはコンテンツを配信しない。
ICNノード3iの配下には、コンテンツを要求する端末はないが、ICNノード3i自身がコンテンツをキャッシュする必要があるため、図17において、ICNノード3iは、プルーンメッセージを送信しない。
ICNノード2iのコンテンツ転送部10013は、ユニキャストで送信されたコンテンツを受信し(ステップS119)、コンテンツのキャッシュをメモリ100に格納する。そして、ICNノード2iのコンテンツ転送部10013は、受信したコンテンツをIPルータ1rにマルチキャストで転送する(ステップS121)。
IPルータ1rは、マルチキャストで送信されたコンテンツをIPルータ1rから受信する。そして、IPルータ1rは、マルチキャストでIPルータ2rへコンテンツを送信する(ステップS123)。また、IPルータ1rは、マルチキャストでICNノード3iへコンテンツを送信する(ステップS126)。さらに、IPルータ1rは、マルチキャストでICNノード4iへコンテンツを送信する。
IPルータ2rは、IPルータ1rからコンテンツを受信する。そして、IPルータ2rは、受信したコンテンツを、マルチキャストで端末1tに送信する(ステップS125)。
なお、図18においては、ICNノード3iがプルーンメッセージをIPルータ1rに送信していないが、仮に送信すると、ICNノード3iはコンテンツを受信できなくなる。この場合、IPルータ1rは、コンテンツをICNノード3iへ転送せず、IPルータ2r宛のコンテンツもICNノード3iを経由せず、太線で示す経路で転送するからである。ICNノード3iの配下には、コンテンツを要求する端末はないが、ICNノード3i自身がコンテンツをキャッシュする必要があるため、ICNノード3iは、IPルータ1rに対してプルーンメッセージを送信することを抑止する。
なお、本実施の形態においては、インタレストパケットがアグリゲートされることが、マルチキャストでの通信が開始することのトリガとなる。そのため、インタレストパケットがアグリゲートされるために十分な時間があることが好ましい。複数のインタレストパケットが全く異なるタイミングで発行され、且つ、短い時間でコンテンツの配信が終了するようなケースは、本実施の形態には適していない。一方で、スポーツの生中継(すなわちライブ配信)が特定の時刻から開始することが予告されており、各端末がその時刻に間に合うようにインタレストパケットを発行するようなケースは、本実施の形態に適している。
ところで、インタレストパケットのアグリゲートの状況に関係なく、コンテンツに対応するマルチキャストアドレスを予め決定する方法も考えられる。しかし、この場合、インタレストパケットがアグリゲートされておらず、マルチキャストで配信したとしても通信効率が向上しない状況においても、マルチキャストアドレスが無駄に確保されることになる。これに対して、本実施の形態によれば、マルチキャストで配信をすれば通信効率が向上する状況において、マルチキャストアドレスが確保されるようになる。
[実施の形態2]
図19及び図20を用いて、第2の実施の形態の概要を説明する。例えば、図19に示すように、端末1t乃至3tに対するコンテンツのライブ配信が開始した後において、端末4tが同じコンテンツのコンテンツIDを含むインタレストパケット(以下では、追加インタレストパケットと呼ぶ)をICNノード1iに送信したとする。この場合、ICNノード1iは、コンテンツIDとコンテンツに割り当てられたマルチキャストアドレスとを含む対応関係データを、端末4tに送信する。これに応じ、端末4tは、受信した対応関係データに含まれるマルチキャストアドレスについてマルチキャストツリー参加処理を実行する。具体的には、第1の実施の形態と同様に、端末4tはIGMP JoinメッセージをICNノード1iに送信する。
これにより、図20に示すように、端末1t乃至3tだけでなく、端末4tもコンテンツを受信できるようになる。また、端末4tに対しては、コンテンツのライブデータだけでなく、ICNノード1iからコンテンツのキャッシュ(すなわち、過去の配信データ)が配信されるので、端末4tにおいて追っかけ再生を行うことが可能になる。
次に、図21を用いて、第2の実施の形態についてより詳細に説明する。実施の形態1の処理が実行されたことによって、コンテンツの配信が既に行われているとする。
コンテンツサーバ1sは、コンテンツをマルチキャストでICNノード1iに送信する(図21:ステップS201)。
ICNノード1iのコンテンツ転送部10013は、コンテンツサーバ1sからコンテンツを受信し、受信したコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツをマルチキャストで(すなわち、マルチキャスト転送部10017を介して)ICNノード2iに送信する(ステップS203)。
ICNノード2iのコンテンツ転送部10013は、ICNノード1iからコンテンツを受信し、受信したコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツをマルチキャストでIPルータ1rに送信する(ステップS205)。
IPルータ1rは、ICNノード2iから受信したコンテンツをコピーし、コンテンツをICNノード3i及びICNノード4iにマルチキャストで送信する(ステップS207及びステップS211)。
ICNノード3iのコンテンツ転送部10013は、IPルータ1rからコンテンツを受信し、受信したコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツを端末1tに転送する(ステップS209)。
ICNノード4iのコンテンツ転送部10013は、IPルータ1rからコンテンツを受信し、受信したコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツを端末2t及び端末3tにマルチキャストで転送する(ステップS213及びステップS215)。
その後、端末4tのインタレスト管理部20011は、追加インタレストパケットをICNノード1iに送信する(ステップS217)。
これに応じ、ICNノード1iの対応関係管理部10014は、追加インタレストパケットに含まれるコンテンツIDとコンテンツに割り当てられたマルチキャストアドレスとを含む対応関係データを、端末4tに送信する(ステップS219)。
端末4tの対応関係管理部20014は、対応関係データを受信し、メモリ200に格納する。そして、マルチキャスト管理部20015は、受信された対応関係データに含まれるマルチキャストアドレスに基づき、マルチキャストツリー参加処理を実行する(ステップS221)。具体的には、マルチキャスト管理部20015は、IGMP JoinメッセージをICNノード1iに送信する。
コンテンツサーバ1sは、コンテンツのライブデータ(以下、ライブコンテンツと呼ぶ)をICNノード1iにマルチキャストで送信する(ステップS223)。
ICNノード1iのコンテンツ転送部10013は、ライブコンテンツをコンテンツサーバ1sから受信し、受信したコンテンツのキャッシュをメモリ100に格納する。そして、ICNノード1iのコンテンツ転送部10013は、受信したライブコンテンツとメモリ100に格納されているキャッシュ10022(すなわち、キャッシュコンテンツ)とを、マルチキャストで端末4tに送信する(ステップS225)。なお、端末4tは、受信したキャッシュコンテンツとライブコンテンツとをコンテンツに含まれる情報(例えば番号或いは時刻の情報など)に基づき順序どおりに並べ、時系列でコンテンツを再送すること及び早送りで再生することができるようにする。
以上のような処理を実行すれば、端末4tにおいてキャッシュコンテンツとライブコンテンツとの両方を閲覧することができるようになる。
[実施の形態3]
図22及び図23を用いて、第3の実施の形態の概要を説明する。例えば、図22に示すように、端末1t乃至3tに対するコンテンツのライブ配信が開始した後において、端末5t及び6tが追加インタレストパケットをICNノード5iに送信したとする。この場合、ICNノード5iは、追加インタレストパケットをアグリゲートし、ICNノード3iに転送する。追加インタレストパケットを受信したICNノード3iは、コンテンツIDとコンテンツに割り当てられたマルチキャストアドレスAとを含む対応関係データを、ICNノード5iに送信する。本対応関係データは、ライブコンテンツ用の対応関係データである。また、ICNノード3iは、コンテンツIDとキャッシュコンテンツに割り当てるマルチキャストアドレスBとを含む対応関係データを、ICNノード5iに送信する。本対応関係データは、キャッシュコンテンツ用の対応関係データである。ICNノード5iは、受信した対応関係データを端末5t及び6tに送信する。これに応じ、端末5t及び6tは、受信した対応関係データに含まれるマルチキャストアドレスについてマルチキャストツリー参加処理を実行する。具体的には、端末5t及び6tは、ライブコンテンツに割り当てるマルチキャストアドレスAについてIGMP JoinメッセージをICNノード5iに送信し、また、キャッシュコンテンツに割り当てるマルチキャストアドレスBについてIGMP JoinメッセージをICNノード5iに送信する。また、ICNノード5iは、JoinメッセージをICNノード3iに送信する。
これにより、図23に示すように、端末1t乃至3tだけでなく、端末5t及び6tもライブコンテンツを受信できるようになる。また、端末5t及び6tに対しては、ライブコンテンツだけでなく、ICNノード3iからキャッシュコンテンツが配信されるので、端末5t及び6tにおいて追っかけ再生を行うことが可能になる。また、ライブコンテンツ用のマルチキャストアドレスとキャッシュコンテンツ用のマルチキャストアドレスとを使い分けることで、冗長な経路が存在するネットワークにおいて、キャッシュコンテンツが不要である経路にまでキャッシュコンテンツを転送することを防げるようになる。これにより、帯域が無駄に消費されることを防ぐことができるようになる。
次に、図24乃至図26を用いて、第3の実施の形態についてより詳細に説明する。実施の形態1の処理が実行されたことによって、マルチキャストアドレスAを用いてコンテンツの配信が既に行われているとする。
コンテンツサーバ1sは、コンテンツをICNノード1iに送信する(図24:ステップS301)。
ICNノード1iのコンテンツ転送部10013は、コンテンツサーバ1sからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツをマルチキャストでICNノード2iに送信する(ステップS303)。
ICNノード2iのコンテンツ転送部10013は、ICNノード1iからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツをマルチキャストでIPルータ1rに送信する(ステップS305)。
IPルータ1rは、ICNノード2iから受信したコンテンツを、ICNノード3iにマルチキャストで送信する(ステップS307)。
ここで、端末5tのインタレスト管理部20011が追加インタレストパケットをICNノード5iに送信し(ステップS309)、また、端末6tのインタレスト管理部20011が追加インタレストパケットをICNノード5iに送信する(ステップS311)。
ICNノード5iのインタレスト管理部10011は、端末5tが送信した追加インタレストパケットと端末6tが送信した追加インタレストパケットとをアグリゲートし(ステップS313)、1つの追加インタレストパケットをICNノード3iに転送する(ステップS315)。
ICNノード3iのインタレスト管理部10011は、追加インタレストパケットを受信する。これに応じ、アドレス決定部10012は、キャッシュコンテンツに対応するマルチキャストアドレス(ここでは、マルチキャストアドレスBとする)を決定する(ステップS317)。対応関係管理部10014は、コンテンツID及びキャッシュコンテンツであることを示す情報とマルチキャストアドレスBとを含む対応関係データを生成し(ステップS319)、メモリ100に格納する。そして、対応関係管理部10014は、ステップS319において生成された対応関係データと、メモリ100に格納されており且つマルチキャストアドレスAを含む対応関係データとを、ICNノード5iに送信する(ステップS321)。
ICNノード5iの対応関係管理部10014は、マルチキャストアドレスAを含む対応関係データと、マルチキャストアドレスBを含む対応関係データとをICNノード3iから受信し、端末5tに転送する(ステップS323)。また、対応関係管理部10014は、マルチキャストアドレスAを含む対応関係データと、マルチキャストアドレスBを含む対応関係データとを、端末6tに送信し(ステップS325)、メモリ100に格納する。そして処理は端子J乃至Rを介して図25のステップS327に移行する。
図25の説明に移行し、端末5tのマルチキャスト管理部20015及び端末6tのマルチキャスト管理部20015は、マルチキャストアドレスA及びマルチキャストアドレスBについて、マルチキャストツリー参加処理を実行する(ステップS327)。また、ICNノード5iのマルチキャスト管理部10015は、マルチキャストアドレスA及びマルチキャストアドレスBについて、マルチキャストツリー参加処理を実行する(ステップS329)。
ICNノード3iのコンテンツ転送部10013は、ICNノード3iのメモリ100に格納されているキャッシュ10022(すなわち、キャッシュコンテンツ)を、マルチキャストアドレスBを用いたマルチキャストでICNノード5iに送信する(ステップS331)。
ICNノード5iのコンテンツ転送部10013は、キャッシュコンテンツをICNノード3iから受信する。そして、ICNノード5iのコンテンツ転送部10013は、受信したキャッシュコンテンツを、マルチキャストアドレスBを用いたマルチキャストでIPルータ3rに送信する(ステップS333)。
IPルータ3rは、キャッシュコンテンツをICNノード5iから受信する。そして、IPルータ3rは、受信したキャッシュコンテンツを、マルチキャストアドレスBを用いたマルチキャストで端末5t及び端末6tに送信する(ステップS335及びS337)。
その後、コンテンツサーバ1sは、コンテンツをICNノード1iに送信する(ステップS339)。ステップS339において送信されるコンテンツはライブコンテンツである。
ICNノード1iのコンテンツ転送部10013は、コンテンツサーバ1sからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したライブコンテンツを、マルチキャストでICNノード2iに送信する(ステップS341)。
ICNノード2iのコンテンツ転送部10013は、ICNノード1iからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したライブコンテンツをマルチキャストでIPルータ1rに送信する(ステップS343)。
IPルータ1rは、ICNノード2iから受信したライブコンテンツを、ICNノード3iにマルチキャストで転送する(ステップS345)。
ICNノード3iのコンテンツ転送部10013は、IPルータ1rからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したライブコンテンツを、マルチキャストアドレスAを用いたマルチキャストでICNノード5iに送信する(ステップS347)。
ICNノード5iのコンテンツ転送部10013は、ICNノード3iからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツを、マルチキャストアドレスAを用いたマルチキャストでIPルータ3rに送信する(ステップS349)。
IPルータ3rは、ライブコンテンツをICNノード5iから受信する。そして、IPルータ3rは、受信したライブコンテンツを、マルチキャストアドレスAを用いたマルチキャストで端末5t及び端末6tに送信する(ステップS351及びS353)。第2の実施の形態と同様に、端末5t及び端末6tは、受信したキャッシュコンテンツとライブコンテンツとをコンテンツに含まれる情報に基づき順序どおりに並べ、時系列でコンテンツを再送すること及び早送りで再生することができるようにする。
なお、図26に示すように、端末5t及び端末6tに対する配信が開始された後、さらに別の端末(ここでは、端末7tとする)がICNノード3iに追加インタレストパケットを送信したとする。この場合、端末7tに対してキャッシュコンテンツを配信することについて、マルチキャストアドレスBとは異なるマルチキャストアドレスCをさらに決定し、ICNノード3iが端末7tに対してマルチキャストアドレスCを用いたマルチキャストを行う。
以上のように、ライブコンテンツ用のマルチキャストアドレスとキャッシュコンテンツ用のマルチキャストアドレスとを使用することで、ネットワークが複雑である場合にキャッシュコンテンツが無駄に配信されることを防げるようになる。
[実施の形態4]
図27及び図28を用いて、第4の実施の形態の概要を説明する。例えば、図27に示すように、端末1t乃至3tに対するコンテンツのライブ配信が開始した後において、端末5t及び6tが追加インタレストパケットをICNノード5iに送信したとする。この場合、ICNノード5iは、追加インタレストパケットをアグリゲートし、ICNノード3iに転送する。追加インタレストパケットを受信したICNノード3iは、コンテンツIDとコンテンツに割り当てられたマルチキャストアドレスAとを含む対応関係データを、ICNノード5iに送信する。ここで、ICNノード3iは、キャッシュコンテンツについてのアグリゲートノードではないのでキャッシュコンテンツ用のマルチキャストアドレスを決定せず、キャッシュコンテンツをICNノード5iに送信する。
ICNノード5iは、マルチキャストアドレスAを含む対応関係データと、キャッシュコンテンツとを受信する。ICNノード5iは、キャッシュコンテンツについてのアグリゲートノードであるので、キャッシュコンテンツに割り当てるマルチキャストアドレスBを決定する。そして、ICNノード5iは、コンテンツIDとマルチキャストアドレスBとを含む対応関係データを生成する。ICNノード5iは、受信した対応関係データ及び生成した対応関係データを端末5t及び6tに送信する。また、ICNノード5iは、生成した対応関係データをICNノード3iに送信する。これに応じ、端末5t及び6tは、対応関係データに含まれるマルチキャストアドレスについてマルチキャストツリー参加処理を実行する。具体的には、端末5t及び6tは、ライブコンテンツに割り当てるマルチキャストアドレスAについてIGMP JoinメッセージをICNノード5iに送信し、また、キャッシュコンテンツに割り当てるマルチキャストアドレスBについてIGMP JoinメッセージをICNノード5iに送信する。また、ICNノード5iは、JoinメッセージをICNノード3iに送信する。
これにより、図28に示すように、端末1t乃至3tだけでなく、端末5t及び6tもライブコンテンツを受信できるようになる。第3の実施の形態と比較すると、以下のような効果がある。すなわち、キャッシュコンテンツについてのアグリゲートノードが存在しない場合、マルチキャストが行われず、ユニキャストでの転送が行われるので、無駄にマルチキャストアドレスが使用されることを抑制できるようになる。
次に、図29乃至図31を用いて、第4の実施の形態についてより詳細に説明する。実施の形態1の処理が実行されたことによって、マルチキャストアドレスAを用いてコンテンツの配信が既に行われているとする。
コンテンツサーバ1sは、コンテンツをICNノード1iに送信する(図29:ステップS401)。
ICNノード1iのコンテンツ転送部10013は、コンテンツサーバ1sからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツをマルチキャストでICNノード2iに送信する(ステップS403)。
ICNノード2iのコンテンツ転送部10013は、ICNノード1iからコンテンツを受信し、コンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツをマルチキャストでIPルータ1rに送信する(ステップS405)。
IPルータ1rは、ICNノード2iから受信したコンテンツを、コンテンツをICNノード3iにマルチキャストで送信する(ステップS407)。
ここで、端末5tのインタレスト管理部20011が追加インタレストパケットをICNノード5iに送信し(ステップS409)、また、端末6tのインタレスト管理部20011が追加インタレストパケットをICNノード5iに送信する(ステップS411)。
ICNノード5iのインタレスト管理部10011は、端末5tが送信した追加インタレストパケットと端末6tが送信した追加インタレストパケットとをアグリゲートし(ステップS413)、1つの追加インタレストパケットをICNノード3iに転送する(ステップS415)。
ICNノード3iのインタレスト管理部10011は、追加インタレストパケットを受信する。アドレス決定部10012は、ICNノード3iはキャッシュコンテンツについてのアグリゲートノードではないので、キャッシュコンテンツに対応するマルチキャストアドレスを決定しない。そこで、対応関係管理部10014は、メモリ100に格納されており且つマルチキャストアドレスAを含む対応関係データを、ICNノード5iに送信する(ステップS417)。また、コンテンツ転送部10013は、メモリ100に格納されているキャッシュコンテンツを、ユニキャストでICNノード5iに送信する(ステップS419)。処理は端子S乃至BBを介して図30のステップS421に移行する。
図30の説明に移行し、ICNノード5iのアドレス決定部10012は、キャッシュコンテンツに割り当てるマルチキャストアドレスBを決定する(ステップS421)。対応関係管理部10014は、コンテンツID及びキャッシュコンテンツであることを示す情報とマルチキャストアドレスBとを含む対応関係データを生成し(ステップS423)、ICNノード3iに送信するとともに(ステップS424)、メモリ100に格納する。
ICNノード5iの対応関係管理部10014は、マルチキャストアドレスAを含む対応関係データ及びマルチキャストアドレスBを含む対応関係データを、端末5t及び6tに送信する(ステップS425及びS427)。
端末5tのマルチキャスト管理部20015及び端末6tのマルチキャスト管理部20015は、マルチキャストアドレスA及びマルチキャストアドレスBについて、マルチキャストツリー参加処理を実行する(ステップS429)。また、ICNノード5iのマルチキャスト管理部10015は、マルチキャストアドレスA及びマルチキャストアドレスBについて、マルチキャストツリー参加処理を実行する(ステップS431)。
ICNノード5iのコンテンツ転送部10013は、ICNノード3iから受信したキャッシュコンテンツを、マルチキャストアドレスBを用いたマルチキャストでIPルータ3rに送信する(ステップS433)。
IPルータ3rは、キャッシュコンテンツをICNノード5iから受信する。そして、IPルータ3rは、受信したキャッシュコンテンツを、マルチキャストアドレスBを用いたマルチキャストで端末5t及び端末6tに送信する(ステップS435及びS437)。処理は端子CC乃至KKを介して図31のステップS439に移行する。
図31の説明に移行し、ICNノード3iは、メモリ100に格納されているキャッシュコンテンツを、マルチキャストでICNノード5iに送信する(ステップS439)。ステップS419においてもユニキャストで同様の処理が行われるが、ステップS419の処理だけではすべてのキャッシュコンテンツについて送信が完了しないことがあるため、ステップS439の処理が実行される。
ICNノード5iのコンテンツ転送部10013は、ICNノード3iから受信したキャッシュコンテンツを、マルチキャストアドレスBを用いたマルチキャストでIPルータに送信する(ステップS441)。
IPルータ3rは、キャッシュコンテンツをICNノード5iから受信する。そして、IPルータ3rは、受信したキャッシュコンテンツを、マルチキャストアドレスBを用いたマルチキャストで端末5t及び端末6tに送信する(ステップS443及びS445)。
その後、コンテンツサーバ1sは、コンテンツをICNノード1iに送信する(ステップS447)。ステップS447において送信されるコンテンツはライブコンテンツである。
ICNノード1iのコンテンツ転送部10013は、コンテンツサーバ1sからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したライブコンテンツを、マルチキャストでICNノード2iに送信する(ステップS449)。
ICNノード2iのコンテンツ転送部10013は、ICNノード1iからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したライブコンテンツをマルチキャストでIPルータ1rに送信する(ステップS451)。
IPルータ1rは、ICNノード2iから受信したライブコンテンツを、ICNノード3iにマルチキャストで転送する(ステップS453)。
ICNノード3iのコンテンツ転送部10013は、IPルータ1rからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したライブコンテンツを、マルチキャストアドレスAを用いたマルチキャストでICNノード5iに送信する(ステップS455)。
ICNノード5iのコンテンツ転送部10013は、ICNノード3iからライブコンテンツを受信し、ライブコンテンツのキャッシュをメモリ100に格納する。そして、コンテンツ転送部10013は、受信したコンテンツを、マルチキャストアドレスAを用いたマルチキャストでIPルータ3rに送信する(ステップS457)。
IPルータ3rは、ライブコンテンツをICNノード5iから受信する。そして、IPルータ3rは、受信したライブコンテンツを、マルチキャストアドレスAを用いたマルチキャストで端末5t及び端末6tに送信する(ステップS459及び461)。第2の実施の形態と同様に、端末5t及び端末6tは、受信したキャッシュコンテンツとライブコンテンツとをコンテンツに含まれる情報に基づき順序どおりに並べ、時系列でコンテンツを再送すること及び早送りで再生することができるようにする。
以上のように、ライブコンテンツ用のマルチキャストアドレスとキャッシュコンテンツ用のマルチキャストアドレスとを使用することで、ネットワークが複雑である場合にキャッシュコンテンツが無駄に配信されることを防げるようになる。また、キャッシュコンテンツについてのアグリゲートノードが存在しない場合、マルチキャストが行われず、ユニキャストでの転送が行われるので、無駄にマルチキャストアドレスが使用されることを抑制できるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したICNノード及び端末の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、上で述べたIPルータは、図32に示すように、メモリ2601とCPU2603とハードディスク・ドライブ(HDD)2605と表示装置2609に接続される表示制御部2607とリムーバブル・ディスク2611用のドライブ装置2613と入力装置2615とネットワークに接続するための通信制御部2617(図32では、2617a乃至2617c)とがバス2619で接続されている構成の場合もある。なお、場合によっては、表示制御部2607、表示装置2609、ドライブ装置2613、入力装置2615は含まれない場合もある。オペレーティング・システム(OS:Operating System)及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、HDD2605に格納されており、CPU2603により実行される際にはHDD2605からメモリ2601に読み出される。必要に応じてCPU2603は、表示制御部2607、通信制御部2617、ドライブ装置2613を制御して、必要な動作を行わせる。なお、通信制御部2617のいずれかを介して入力されたデータは、他の通信制御部2617を介して出力される。CPU2603は、通信制御部2617を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ2601に格納され、必要があればHDD2605に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2611に格納されて頒布され、ドライブ装置2613からHDD2605にインストールされる。インターネットなどのネットワーク及び通信制御部2617を経由して、HDD2605にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2603、メモリ2601などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
なお、上で述べた端末及びコンテンツサーバは、コンピュータ装置であって、図33に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る通信装置は、(A)第1のコンテンツについての複数の要求パケット(例えば、実施の形態におけるインタレストパケット)を第1の装置から受信した場合、当該複数の要求パケットのうち1の要求パケットを第2の装置に転送する第1転送部と、(B)第1のコンテンツに割り当てる第1のマルチキャストアドレスを決定し、第1のコンテンツの識別情報と第1のマルチキャストアドレスとを、第1の装置及び第2の装置に送信する第2転送部と、(C)第1のコンテンツを第2の装置から受信した場合、第1のマルチキャストアドレスを用いて第1のコンテンツを第1の装置に転送する第3転送部とを有する。
複数の要求パケットに対してマルチキャストで応答できるので、通信帯域が無駄に消費されることがなくなり、通信帯域を効率的に利用できるようになる。
また、第2転送部は、(b1)第1のマルチキャストアドレスを用いて第1のコンテンツの転送が開始された後、第1のコンテンツについての要求パケットを第3の装置から受信した場合、第1のコンテンツの識別情報と第1のマルチキャストアドレスとを第3の装置に送信し、第3転送部は、(c1)第1のコンテンツのライブデータ及び第1のコンテンツのキャッシュを、第1のマルチキャストアドレスを用いて第3の装置に転送してもよい。第3の装置のユーザが、第1の装置に過去に配信された第1のコンテンツを閲覧できるようになる。
また、第2転送部は、(b2)第1のマルチキャストアドレスを用いて第1のコンテンツの転送が開始された後、第1のコンテンツについての要求パケットを第4の装置から受信した場合、第1のコンテンツのキャッシュに割り当てる第2のマルチキャストアドレスを決定し、(b3)第1のコンテンツの識別情報と第1のマルチキャストアドレスとを含む第1の情報と、第1のコンテンツのキャッシュの識別情報と第2のマルチキャストアドレスとを含む第2の情報とを第4の装置に送信し、第3転送部は、(c2)第1のコンテンツのライブデータを第1のマルチキャストアドレスを用いて第4の装置に転送し、第1のコンテンツのキャッシュを第2のマルチキャストアドレスを用いて第4の装置に転送してもよい。ライブデータとキャッシュとを同じマルチキャストアドレスで転送すると、キャッシュが不要な経路にまでキャッシュを転送する可能性がある。そこで、上で述べたような処理を実行すれば、キャッシュが無駄に転送されることを防げるので、帯域の消費を抑制することができる。
また、第2転送部は、(b4)第1のマルチキャストアドレスを用いて第1のコンテンツの転送が開始された後、第1のコンテンツについての要求パケットを第5の装置及び第6の装置から受信した場合、第1のコンテンツのキャッシュに割り当てる第3のマルチキャストアドレスを決定し、(b5)第1のコンテンツの識別情報と第1のマルチキャストアドレスとを含む第1の情報と、第1のコンテンツのキャッシュの識別情報と第3のマルチキャストアドレスとを含む第3の情報とを、第5の装置及び第6の装置に送信し、第3転送部は、(c3)第1のコンテンツのライブデータを第1のマルチキャストアドレスを用いて第5の装置及び第6の装置に転送し、第1のコンテンツのキャッシュを第3のマルチキャストアドレスを用いて第5の装置及び第6の装置に転送してもよい。通信装置がキャッシュについてのアグリゲートノードに相当する場合にはマルチキャストアドレスが決定されるようになる。これにより、マルチキャストアドレスが無駄に使用されることを抑制できるようになる。
また、本通信装置は、(D)第1のマルチキャストアドレスに対応するマルチキャストグループへの参加についての要求パケットを第1の装置から受信した場合、第1のマルチキャストアドレスに対応するマルチキャストグループに参加するための処理を実行する管理部をさらに有してもよい。第1の装置に対して、コンテンツがマルチキャストで転送されるようになる。
また、第2転送部は、(b6)通信装置の識別情報と時刻の情報とを入力とするハッシュ関数に基づき、第1のマルチキャストアドレスを生成してもよい。通信装置においてマルチキャストアドレスを生成することができるようになる。
また、通信装置は、ICN(Information Centric Networking)の通信を行う通信装置であってもよい。
本実施の形態の第2の態様に係る通信方法は、(E)第1のコンテンツについての複数の要求パケットを第1の装置から受信した場合、当該複数の要求パケットのうち1の要求パケットを第2の装置に転送し、(F)第1のコンテンツに割り当てる第1のマルチキャストアドレスを決定し、(G)第1のコンテンツの識別情報と第1のマルチキャストアドレスとを、第1の装置及び第2の装置に送信し、(H)第1のコンテンツを第2の装置から受信した場合、第1のマルチキャストアドレスを用いて第1のコンテンツを第1の装置に転送する処理を含む。
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1のコンテンツについての複数の要求パケットを第1の装置から受信した場合、当該複数の要求パケットのうち1の要求パケットを第2の装置に転送する第1転送部と、
前記第1のコンテンツに割り当てる第1のマルチキャストアドレスを決定し、前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを、前記第1の装置及び前記第2の装置に送信する第2転送部と、
前記第1のコンテンツを前記第2の装置から受信した場合、前記第1のマルチキャストアドレスを用いて前記第1のコンテンツを前記第1の装置に転送する第3転送部と、
を有する通信装置。
(付記2)
前記第2転送部は、
前記第1のマルチキャストアドレスを用いて前記第1のコンテンツの転送が開始された後、前記第1のコンテンツについての要求パケットを第3の装置から受信した場合、前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを前記第3の装置に送信し、
前記第3転送部は、
前記第1のコンテンツのライブデータ及び前記第1のコンテンツのキャッシュを、前記第1のマルチキャストアドレスを用いて前記第3の装置に転送する、
付記1記載の通信装置。
(付記3)
前記第2転送部は、
前記第1のマルチキャストアドレスを用いて前記第1のコンテンツの転送が開始された後、前記第1のコンテンツについての要求パケットを第4の装置から受信した場合、前記第1のコンテンツのキャッシュに割り当てる第2のマルチキャストアドレスを決定し、
前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを含む第1の情報と、前記第1のコンテンツのキャッシュの識別情報と前記第2のマルチキャストアドレスとを含む第2の情報とを前記第4の装置に送信し、
前記第3転送部は、
前記第1のコンテンツのライブデータを前記第1のマルチキャストアドレスを用いて前記第4の装置に転送し、前記第1のコンテンツのキャッシュを前記第2のマルチキャストアドレスを用いて前記第4の装置に転送する、
付記1記載の通信装置。
(付記4)
前記第2転送部は、
前記第1のマルチキャストアドレスを用いて前記第1のコンテンツの転送が開始された後、前記第1のコンテンツについての要求パケットを第5の装置及び第6の装置から受信した場合、前記第1のコンテンツのキャッシュに割り当てる第3のマルチキャストアドレスを決定し、
前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを含む第1の情報と、前記第1のコンテンツのキャッシュの識別情報と前記第3のマルチキャストアドレスとを含む第3の情報とを、前記第5の装置及び前記第6の装置に送信し、
前記第3転送部は、
前記第1のコンテンツのライブデータを前記第1のマルチキャストアドレスを用いて前記第5の装置及び前記第6の装置に転送し、前記第1のコンテンツのキャッシュを前記第3のマルチキャストアドレスを用いて前記第5の装置及び前記第6の装置に転送する、
付記1記載の通信装置。
(付記5)
前記第1のマルチキャストアドレスに対応するマルチキャストグループへの参加についての要求パケットを前記第1の装置から受信した場合、前記第1のマルチキャストアドレスに対応するマルチキャストグループに参加するための処理を実行する管理部
をさらに有する付記1乃至4のいずれか1つ記載の通信装置。
(付記6)
前記第2転送部は、
前記通信装置の識別情報と時刻の情報とを入力とするハッシュ関数に基づき、前記第1のマルチキャストアドレスを生成する、
付記1乃至5のいずれか1つ記載の通信装置。
(付記7)
前記通信装置は、
ICN(Information Centric Networking)の通信を行う通信装置である、
付記1乃至6のいずれか1つ記載の通信装置。
(付記8)
通信装置が、
第1のコンテンツについての複数の要求パケットを第1の装置から受信した場合、当該複数の要求パケットのうち1の要求パケットを第2の装置に転送し、
前記第1のコンテンツに割り当てる第1のマルチキャストアドレスを決定し、
前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを、前記第1の装置及び前記第2の装置に送信し、
前記第1のコンテンツを前記第2の装置から受信した場合、前記第1のマルチキャストアドレスを用いて前記第1のコンテンツを前記第1の装置に転送する、
処理を実行する通信方法。
(付記9)
通信装置に、
第1のコンテンツについての複数の要求パケットを第1の装置から受信した場合、当該複数の要求パケットのうち1の要求パケットを第2の装置に転送し、
前記第1のコンテンツに割り当てる第1のマルチキャストアドレスを決定し、
前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを、前記第1の装置及び前記第2の装置に送信し、
前記第1のコンテンツを前記第2の装置から受信した場合、前記第1のマルチキャストアドレスを用いて前記第1のコンテンツを前記第1の装置に転送する、
処理を実行させる通信プログラム。
11t,12t,13t,14t,1t,2t,3t,4t,5t,6t,7t 端末
1s,11s,12s コンテンツサーバ
11i,12i,13i,14i,15i,16i,17i,18i,19i,20i,1i,2i,3i,4i,5i ICNノード
100,200 メモリ 101,201 CPU
102,202 バス 103a,103b,203 ネットワークインタフェース
1001,2001 プログラム 1002,2002 データ
10011,20011 インタレスト管理部 10012 アドレス決定部
10013 コンテンツ転送部 10014,20014 対応関係管理部
10015,20015 マルチキャスト管理部 10016 ユニキャスト転送部
10017 マルチキャスト転送部 20016 ユニキャスト通信部
20017 マルチキャスト通信部 10021,20021 対応関係データ
10022 キャッシュ 10023 FIB
10024 PIT

Claims (8)

  1. 第1のコンテンツについての複数の要求パケットを第1の装置から受信した場合、当該複数の要求パケットのうち1の要求パケットを第2の装置に転送する第1転送部と、
    前記第1のコンテンツに割り当てる第1のマルチキャストアドレスを決定し、前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを、前記第1の装置及び前記第2の装置に送信する第2転送部と、
    前記第1のコンテンツを前記第2の装置から受信した場合、前記第1のマルチキャストアドレスを用いて前記第1のコンテンツを前記第1の装置に転送する第3転送部と、
    を有する通信装置。
  2. 前記第2転送部は、
    前記第1のマルチキャストアドレスを用いて前記第1のコンテンツの転送が開始された後、前記第1のコンテンツについての要求パケットを第3の装置から受信した場合、前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを前記第3の装置に送信し、
    前記第3転送部は、
    前記第1のコンテンツのライブデータ及び前記第1のコンテンツのキャッシュを、前記第1のマルチキャストアドレスを用いて前記第3の装置に転送する、
    請求項1記載の通信装置。
  3. 前記第2転送部は、
    前記第1のマルチキャストアドレスを用いて前記第1のコンテンツの転送が開始された後、前記第1のコンテンツについての要求パケットを第4の装置から受信した場合、前記第1のコンテンツのキャッシュに割り当てる第2のマルチキャストアドレスを決定し、
    前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを含む第1の情報と、前記第1のコンテンツのキャッシュの識別情報と前記第2のマルチキャストアドレスとを含む第2の情報とを前記第4の装置に送信し、
    前記第3転送部は、
    前記第1のコンテンツのライブデータを前記第1のマルチキャストアドレスを用いて前記第4の装置に転送し、前記第1のコンテンツのキャッシュを前記第2のマルチキャストアドレスを用いて前記第4の装置に転送する、
    請求項1記載の通信装置。
  4. 前記第2転送部は、
    前記第1のマルチキャストアドレスを用いて前記第1のコンテンツの転送が開始された後、前記第1のコンテンツについての要求パケットを第5の装置及び第6の装置から受信した場合、前記第1のコンテンツのキャッシュに割り当てる第3のマルチキャストアドレスを決定し、
    前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを含む第1の情報と、前記第1のコンテンツのキャッシュの識別情報と前記第3のマルチキャストアドレスとを含む第3の情報とを、前記第5の装置及び前記第6の装置に送信し、
    前記第3転送部は、
    前記第1のコンテンツのライブデータを前記第1のマルチキャストアドレスを用いて前記第5の装置及び前記第6の装置に転送し、前記第1のコンテンツのキャッシュを前記第3のマルチキャストアドレスを用いて前記第5の装置及び前記第6の装置に転送する、
    請求項1記載の通信装置。
  5. 前記第1のマルチキャストアドレスに対応するマルチキャストグループへの参加についての要求パケットを前記第1の装置から受信した場合、前記第1のマルチキャストアドレスに対応するマルチキャストグループに参加するための処理を実行する管理部
    をさらに有する請求項1乃至4のいずれか1つ記載の通信装置。
  6. 前記第2転送部は、
    前記通信装置の識別情報と時刻の情報とを入力とするハッシュ関数に基づき、前記第1のマルチキャストアドレスを生成する、
    請求項1乃至5のいずれか1つ記載の通信装置。
  7. 通信装置が、
    第1のコンテンツについての複数の要求パケットを第1の装置から受信した場合、当該複数の要求パケットのうち1の要求パケットを第2の装置に転送し、
    前記第1のコンテンツに割り当てる第1のマルチキャストアドレスを決定し、
    前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを、前記第1の装置及び前記第2の装置に送信し、
    前記第1のコンテンツを前記第2の装置から受信した場合、前記第1のマルチキャストアドレスを用いて前記第1のコンテンツを前記第1の装置に転送する、
    処理を実行する通信方法。
  8. 通信装置に、
    第1のコンテンツについての複数の要求パケットを第1の装置から受信した場合、当該複数の要求パケットのうち1の要求パケットを第2の装置に転送し、
    前記第1のコンテンツに割り当てる第1のマルチキャストアドレスを決定し、
    前記第1のコンテンツの識別情報と前記第1のマルチキャストアドレスとを、前記第1の装置及び前記第2の装置に送信し、
    前記第1のコンテンツを前記第2の装置から受信した場合、前記第1のマルチキャストアドレスを用いて前記第1のコンテンツを前記第1の装置に転送する、
    処理を実行させる通信プログラム。
JP2016200875A 2016-10-12 2016-10-12 通信方法、通信装置及び通信プログラム Ceased JP2018064171A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016200875A JP2018064171A (ja) 2016-10-12 2016-10-12 通信方法、通信装置及び通信プログラム
US15/713,079 US20180102911A1 (en) 2016-10-12 2017-09-22 Communication apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016200875A JP2018064171A (ja) 2016-10-12 2016-10-12 通信方法、通信装置及び通信プログラム

Publications (1)

Publication Number Publication Date
JP2018064171A true JP2018064171A (ja) 2018-04-19

Family

ID=61830121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016200875A Ceased JP2018064171A (ja) 2016-10-12 2016-10-12 通信方法、通信装置及び通信プログラム

Country Status (2)

Country Link
US (1) US20180102911A1 (ja)
JP (1) JP2018064171A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11483238B2 (en) * 2019-10-14 2022-10-25 Cisco Technology, Inc. Centralized path computation for information-centric networking
US11909542B2 (en) * 2022-02-08 2024-02-20 Arista Networks, Inc. EVPN PIM neighborship

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7746799B2 (en) * 2003-06-20 2010-06-29 Juniper Networks, Inc. Controlling data link layer elements with network layer elements
US9158769B2 (en) * 2009-12-28 2015-10-13 Adam Dunstan Systems and methods for network content delivery
US20140155043A1 (en) * 2011-12-22 2014-06-05 Cygnus Broadband, Inc. Application quality management in a communication system
KR20150025249A (ko) * 2013-08-28 2015-03-10 한국전자통신연구원 배칭 기반의 콘텐트 라우팅 방법 및 배칭 기반의 콘텐트 라우팅 방법을 수행하는 장치
US9756098B2 (en) * 2014-09-15 2017-09-05 Verizon Digital Media Services Inc. Multi-tenant over-the-top multicast
US10244567B2 (en) * 2016-05-31 2019-03-26 Telefonaktiebolaget Lm Ericsson (Publ) ICN connectivity awareness

Also Published As

Publication number Publication date
US20180102911A1 (en) 2018-04-12

Similar Documents

Publication Publication Date Title
JP4514648B2 (ja) 管理サーバによる情報処理方法及びルータ
EP2137881B1 (en) Multicast distribution tree establishment and maintenance in a wireless multi-hop relay communication system
JP5619290B2 (ja) マルチキャストブランチ、プロトコルインデペンデントマルチキャストルータおよびレイヤ2交換機のプルーニング方法
TWI268065B (en) Method and apparatus for managing multicast groups in a system area network
JP5340062B2 (ja) ネットワーク中継装置およびネットワークシステム
US7808930B2 (en) Dynamic multipoint tree rearrangement
US7508827B2 (en) Multicast routing program, multicast routing method, and multicast router
JP2007208953A (ja) 等価コストマルチパスマルチキャスト配信構造の形成のための方法,システム及びデバイス
CN109981308B (zh) 报文传输方法及装置
MX2010011654A (es) Metodo y aparato para multi-difundir la administracion de un arbol en un sistema de comunicacion de rele de multiples saltos.
US10225091B2 (en) Method for implementing point-to-multipoint multicast, network node, and system
JP2018064171A (ja) 通信方法、通信装置及び通信プログラム
WO2021083228A1 (zh) 报文转发方法、装置及计算机存储介质
KR101924002B1 (ko) 칩 멀티 프로세서, 및 칩 멀티 프로세서를 위한 라우터
US11018886B1 (en) Methods and apparatus for selectively filtering an IP multicast data stream for selected group members of a multicast group
JP2006197470A (ja) データストリーム配信システム、ノード、配信経路決定装置、及び配信経路決定プログラム
WO2009111990A1 (zh) 一种组播控制的方法、设备和***
JP4974929B2 (ja) 通信装置
KR20020041852A (ko) 중계기서버를 이용한 멀티캐스팅 전송 시스템 및 방법
JP6251654B2 (ja) 通信システム、識別子管理装置、及び識別子割り当て方法
WO2021175030A1 (zh) Bier网络的信令配置方法、装置和存储介质
JP2013118537A (ja) マルチキャスト配信システム、ルータ及びマルチキャスト配信方法
Heira et al. One-to-many file transfer using multipath-multicast with gossiping
JP5827664B2 (ja) マルチキャスティングの要求、マルチキャスティング要求の処理、および前記プロセスの補助のための、方法およびデバイス
JP2004297180A (ja) マルチキャスト配送システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200629

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200901

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20210126