以下に、本発明に係る中継装置、中継方法、ネットワークシステム及び中継プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。
[実施例1に係るネットワークシステムの構成]
まず、図1を用いて、実施例1に係るネットワークシステムについて説明する。図1は、実施例1に係るネットワークシステム1の構成例を示す図である。図1に例示したネットワークシステム1は、コンテンツ識別情報としてのコンテンツ名を含むアクセス要求に応答してコンテンツを提供するCCNを拡張したネットワークアーキテクチャである。なお、ここでいうコンテンツとは、デジタルコンテンツを示し、例えば、動画データ、音楽データや文字データ等である。
図1に例示するように、実施例1に係るネットワークシステム1は、利用者によって用いられるユーザ端末10と、各種情報を中継するCCNノード100−1、100−2及び100−3とを含む。図1に示した例では、ユーザ端末10とCCNノード100−1とはCCNリンク21により接続され、CCNノード100−1とCCNノード100−2とはCCNリンク22により接続され、CCNノード100−2とCCNノード100−3とはCCNリンク23により接続される。
なお、ネットワークシステム1に含まれるユーザ端末の台数やCCNノードの台数は、図1に示した例に限られない。例えば、ネットワークシステム1には、2台以上のユーザ端末が含まれてもよいし、1台以上のCCNノードが含まれていればよい。また、1台のCCNノードには、複数のユーザ端末が接続されてもよいし、複数のCCNノードが接続されてもよい。
このような構成の下、実施例1におけるCCNノード100−1は、図1に例示するように、仮想制御部120−1を有し、仮想制御部120−1による制御によって、CCNノード100−1と同等の機能を有する仮想的な仮想中継部であるVCCN(Virtual CCN)ノードを複数起動させる。図1に示した例では、仮想制御部120−1は、CCNノード100−1内に、VCCNノード121−1、122−1及び123−1を起動させる。同様に、CCNノード100−2は、仮想制御部120−2を有し、CCNノード100−2と同等の機能を有するVCCNノードを複数起動させ、CCNノード100−3は、仮想制御部120−3を有し、CCNノード100−3と同等の機能を有するVCCNノードを複数起動させる。
なお、図1では、仮想制御部120−1、120−2、120−3の各々が3個のVCCNノードを起動させる例を示したが、仮想制御部120−1等が起動させるVCCNノードの数はこの例に限られない。例えば、仮想制御部120−1、120−2、120−3の各々は、1個以上のVCCNノードを起動させればよい。また、図1では、仮想制御部120−1、120−2及び120−3が同数のVCCNノードを起動させる例を示したが、仮想制御部120−1、120−2及び120−3によって起動されるVCCNノードの数は同一でなくてもよい。
なお、VCCNノード121−1等による処理や、CCNノード100−1等が有するデマルチプレクサ110−1等による処理や、マルチプレクサ130−1等による処理については、図3を用いて後述する。
ここで、実施例1に係るネットワークシステム1によって提供されるコンテンツは、各CCNノード内のVCCNノードのいずれかに割り当てられ、いずれかのVCCNノードによって保持される。ただし、ネットワークシステム1によって提供される各コンテンツは、いずれかのVCCNノードに割り当てられるものの、VCCNノードは、必ずしもコンテンツが割り当てられるとは限らない。例えば、図1に示した例において、VCCNノード121−1は、割り当てられたコンテンツを保持するが、VCCNノード122−1及び123−1は、コンテンツが割り当てられず、コンテンツを保持しない場合がある。なお、VCCNノードは、コンテンツ自体を保持するのではなく、コンテンツの所在位置のみを管理するだけでもよい。
また、実施例1では、ネットワークシステム1を利用する利用者に、利用者又は利用者の所属を識別するための情報が割り当てられる。そして、利用者がアクセスすることができるVCCNノードには、かかる利用者、又は、かかる利用者の所属を識別するための情報を割り当てる。言い換えれば、実施例1では、利用者又は利用者の所属を識別するための情報を、VCCNノードを識別するための情報として用いる。以下では、利用者又は利用者の所属を識別するための情報(VCCNノードを識別するための情報)を「仮想中継情報」と表記する場合がある。そして、ネットワークシステム1に含まれる各CCNノード内の各VCCNノードには、かかるVCCNノードにアクセスすることができる利用者又は利用者の所属を識別するための仮想中継情報が割り当てられる。
例えば、利用者がネットワークシステム1の運用側との間でネットワークシステム1を利用するための契約等を行った場合に、ネットワークシステム1の運用側が、利用者に仮想中継情報を通知する。これにより、利用者は、ネットワークシステム1内に存在するVCCNノードの仮想中継情報を知ることになる。さらに、かかる仮想中継情報をネットワークシステム1内に存在するVCCNノードのいずれかに割り当てる。例えば、仮想中継情報「F1」である利用者がアクセスできるVCCNノードがVCCNノード121−1、121−2及び121−3である場合には、VCCNノード121−1、121−2及び121−3には、仮想中継情報「F1」が割り当てられる。なお、このような仮想中継情報は、上記例のように、利用者毎や利用者の所属毎に割り当てられてもよいし、企業又は組織等の団体毎に割り当てられてもよい。
そして、ネットワークシステム1を利用する利用者は、ネットワークシステム1によって提供されるコンテンツにアクセスする場合に、ユーザ端末10を操作することで、利用者自身に割り当てられた仮想中継情報と、アクセス対象のコンテンツのコンテンツ名とを含むアクセス要求をネットワークシステム1に送信する。そして、ネットワークシステム1は、アクセス要求に含まれる仮想中継情報及びコンテンツ名に基づいて、コンテンツを提供するか否かを判定する。
具体的には、図1に示した例において、CCNノード100−1は、ユーザ端末10からアクセス要求を受信した場合に、かかるアクセス要求に含まれる仮想中継情報が示すVCCNノードにアクセス要求を出力する。そして、アクセス要求を受け付けたVCCNノードは、アクセス要求に含まれるコンテンツ名が示すコンテンツを保持する場合には、かかるコンテンツをユーザ端末10に送信する。一方、VCCNノードは、アクセス要求に含まれるコンテンツ名が示すコンテンツを保持しない場合には、かかるコンテンツ名に基づいて、他のCCNノードにアクセス要求を送信する。アクセス要求を受信した他のVCCNノードは、アクセス要求に含まれるコンテンツ名が示すコンテンツを保持するか否かを判定することで、コンテンツをユーザ端末10に送信するか、又は、アクセス要求を他のCCNノードに中継する。
また、実施例1に係るネットワークシステム1は、ユーザ端末10から受信したアクセス要求に含まれる仮想中継情報がネットワークシステム1内で起動しているVCCNノードのいずれにも該当しない場合には、ユーザ端末10にコンテンツを提供しない。また、ネットワークシステム1は、アクセス要求に含まれる仮想中継情報がCCNノード100−1内のVCCNノードのいずれかに該当する場合であっても、アクセス要求が中継される各VCCNノードがアクセス要求において要求されているコンテンツを保持しない場合には、ユーザ端末10にコンテンツを提供しない。
例えば、図1に例示したVCCNノード121−1、121−2及び121−3の仮想中継情報が「F1」であるものとする。また、コンテンツ名が「C1」であるコンテンツは、VCCNノード121−3によって保持されるものとする。また、コンテンツ名「C1」を含むアクセス要求は、VCCNノード121−1に入力された場合のみ、VCCNノード121−2、VCCNノード121−3の順に中継されるものとする。
このような場合に、仮想中継情報「F1」を割り当てられた利用者が、仮想中継情報「F1」及びコンテンツ名「C1」を含むアクセス要求をCCNノード100−1に送信したものとする。かかる場合に、アクセス要求は、VCCNノード121−1、VCCNノード121−2、VCCNノード121−3の順に中継される。そして、VCCNノード121−3は、コンテンツ名が「C1」であるコンテンツを保持するので、コンテンツ名「C1」を含むアクセス要求を受信した場合に、かかるコンテンツをCCNノード100−2とCCNノード100−1とを介して、ユーザ端末10に送信する。
一方、上記例において、仮想中継情報「F2」を割り当てられた利用者が、仮想中継情報「F2」及びコンテンツ名「C1」を含むアクセス要求をCCNノード100−1に送信したものとする。かかる場合に、アクセス要求は、VCCNノード121−1によって受信されない。すなわち、かかるアクセス要求は、VCCNノード121−3に到達しないので、利用者は、コンテンツ名が「C1」であるコンテンツにアクセスすることができない。
また、上記例において、コンテンツ名「C2」を含むアクセス要求は、VCCNノード122−2に入力された場合のみ、VCCNノード122−2、VCCNノード122−3の順に中継されるものとする。また、コンテンツ名が「C2」であるコンテンツは、VCCNノード122−3に保持されるものとする。このとき、仮想中継情報「F1」を割り当てられた利用者が、仮想中継情報「F1」及びコンテンツ名「C2」を含むアクセス要求をCCNノード100−1に送信したものとする。かかる場合に、ユーザ端末10から送信されたアクセス要求は、仮想中継情報が「F1」であるので、VCCNノード121−1に入力される。しかし、このアクセス要求は、VCCNノード122−3に到達しないので、利用者は、コンテンツ名が「C2」であるコンテンツにアクセスすることができない。
このように、実施例1に係るネットワークシステム1では、仮想中継情報とコンテンツ名との組み合わせが有効でない場合には、利用者にコンテンツが提供されない。言い換えれば、実施例1に係るネットワークシステム1では、仮想中継情報を割り当てた利用者毎に、かかる利用者に公開するコンテンツを設定することができる。すなわち、実施例1に係るネットワークシステム1は、コンテンツへのアクセスにセキュリティ対策が施されているので、コンテンツへのアクセスのセキュリティを向上させることができる。
以下に、このようなネットワークシステム1に含まれる各装置について説明する。なお、実施例1では、利用者に割り当てられる仮想中継情報が、VCCNノードを特定可能な識別子である「VCCN−ID」である場合を例に挙げて説明する。また、以下では、VCCNノードのVCCN−IDは、各VCCNノードに付加した参照符号の先頭3桁であるものとする。例えば、VCCNノード121−1のVCCN−IDは「121」であり、VCCNノード122−1のVCCN−IDは「122」であるものとする。
また、以下では、CCNノード100−1、100−2及び100−3を区別する必要がない場合には、これらを総称して「CCNノード100」と表記する場合がある。同様に、デマルチプレクサ110−1、110−2及び110−3を総称して「デマルチプレクサ110」と表記する場合があり、仮想制御部120−1、120−2及び120−3を総称して「仮想制御部120」と表記する場合があり、マルチプレクサ130−1、130−2及び130−3を総称して「マルチプレクサ130」と表記する場合がある。同様に、VCCNノード121−1、121−2及び121−3を総称して「VCCNノード121」と表記する場合があり、VCCNノード122−1、122−2及び122−3を総称して「VCCNノード122」と表記する場合があり、VCCNノード123−1、123−2及び123−3を総称して「VCCNノード123」と表記する場合がある。
[実施例1におけるユーザ端末による処理]
まず、図1に示したユーザ端末10による処理について説明する。ユーザ端末10は、ネットワークシステム1を利用する利用者によって操作される情報処理装置であり、例えば、パーソナルコンピュータである。
実施例1におけるユーザ端末10は、利用者から、コンテンツにアクセスする旨の操作、及び、アクセス対象のコンテンツのコンテンツ名の入力操作、及び、VCCN−IDの入力操作を受け付ける。そして、ユーザ端末10は、これらの操作が行われた場合に、コンテンツ名とVCCN−IDとを含むアクセス要求を、CCNノード100に送信する。そして、ユーザ端末10は、アクセス要求に応答してネットワークシステム1からコンテンツが提供された場合に、かかるコンテンツを受信する。
図1に示した例では、ユーザ端末10は、CCNリンク21を介してCCNノード100−1と接続されているので、利用者による操作に従って、コンテンツ名とVCCN−IDとを含むアクセス要求を、CCNリンク21を介してCCNノード100−1に送信し、CCNノード100−1からコンテンツを受信する。
ここで、実施例1に係るネットワークシステム1において流通するパケットについて説明する。まず、CCNにおいて流通するパケットについて説明すると、CCNにおいては、CCNパケットと呼ばれるパケットが流通する。例えば、ユーザ端末は、CCN内のCCNノードに対して、インタレストパケット(Interest packet)等と呼ばれるCCNパケットをアクセス要求として送信する。このアクセス要求であるCCNパケットには、アクセス対象であるコンテンツのコンテンツ名等の情報が含まれる。また、CCN内のCCNノードは、ユーザ端末に対して、コンテンツのCCNパケットを送信する。
一方、実施例1に係るネットワークシステム1では、ユーザ端末10は、コンテンツ名だけでなく、VCCN−ID等の仮想中継情報を含むパケットをアクセス要求としてCCNノード100に送信する。また、後述するように、CCNノード100は、コンテンツとともに、VCCN−ID等の仮想中継情報を含むパケットを送信する。以下では、実施例1に係るネットワークシステム1において流通するパケットのうち、VCCN−ID等の仮想中継情報が含まれるアクセス要求やコンテンツ等のパケットを「VCCNパケット」と表記する場合がある。
図2に、実施例1におけるユーザ端末10によって送信されるVCCNパケットに記述されるコンテンツ名の一例を示す。なお、図2の上段には、CCNにおいて流通するアクセス要求のCCNパケットP11に記述されるコンテンツ名を示し、図2の下段には、実施例1に係るネットワークシステム1において流通するアクセス要求のVCCNパケットP12に記述されるコンテンツ名を示す。
図2に例示するように、CCNにおいて流通するアクセス要求のCCNパケットP11には、アクセス対象のコンテンツ名等の情報が含まれる。一方、実施例1におけるユーザ端末10によって送信されるアクセス要求のVCCNパケットP12に記述されるコンテンツ名には、CCNにおいて流通するアクセス要求(CCNパケットP11)と比較して、データ領域D11と、データ領域D12とが付与される。
データ領域D11には、VCCNノードを利用することを示す情報である「制御文字列」が格納される。データ領域D11に制御文字列が格納されているアクセス要求は、VCCNノードが保持するコンテンツにアクセスする要求であることを示す。図2では、データ領域D11に、制御文字列として「−v」が格納される例を示している。なお、制御文字列は、VCCNノードを利用することをCCNノード100が判別できれば、如何なる情報であってもよい。また、データ領域D12には、VCCN−IDが格納される。図2では、データ領域D12に、VCCN−IDとして「aaaaa−aaa」が格納される例を示している。
このように、VCCNパケットP12は、CCNパケットP11にデータ領域D11及びデータ領域D12が付与されたパケットである。言い換えれば、VCCNパケットP12は、CCNパケットP11がデータ領域D11及びデータ領域D12によりカプセル化されることで生成される。なお、VCCNパケットP12は、CNNパケットP11がデータ領域D11によりカプセル化された後に、さらにデータ領域D12によりカプセル化されることで生成されてもよいし、CNNパケットP11がデータ領域D12によりカプセル化された後に、さらにデータ領域D11によりカプセル化されることで生成されてもよい。
また、図示することを省略するが、実施例1に係るネットワークシステム1において流通するコンテンツのVCCNパケットは、CCNにおいて流通するコンテンツのCCNパケットに制御文字列やVCCN−IDが付与されたものである。すなわち、ネットワークシステム1において流通するコンテンツのVCCNパケットは、CCNにおいて流通するコンテンツのCCNパケットが、図2に例示したデータ領域D11及びデータ領域D12によりカプセル化されることで生成される。
[実施例1におけるCCNノードの構成]
次に、図3を用いて、実施例1におけるCCNノード100について説明する。図3は、実施例1におけるCCNノード100の構成例を示す図である。図3に例示するように、実施例1におけるCCNノード100は、IF(Interface)部111と、デマルチプレクサ110と、仮想制御部120と、マルチプレクサ130とを有する。
IF部111は、CCNリンクを介して他のCCNノードと接続され、接続先のCCNノードとの間でVCCNパケット等を送受信する。図3に示した例では、IF部111は、IF111aと、IF111bと、IF111cとを含む。IF111a、111b、111cの各々は、接続されるCCNノードが予め決められている。図3に示したCCNノード100が、図1に示したCCN100−2である場合には、例えば、IF111aは、CCNリンク22を介してCCNノード100−1と接続され、CCNノード100−1との間でVCCNパケット等を送受信する。また、例えば、IF111bは、CCNリンク23を介してCCNノード100−3と接続され、CCNノード100−3との間でVCCNパケット等を送受信する。
なお、図3に例示したIF111a、111b、111cは「face」等と呼ばれる場合もある。また、図3では、IF部111に3個のIFが含まれる例を示したが、IF部111に含まれるIFの数はこれに限られない。例えば、IF部111は、1個や2個、又は、4個以上のIFを有してもよい。
デマルチプレクサ110は、図3に例示するように、VCCNテーブル112と、振分部113とを有する。
VCCNテーブル112は、CCNノード100内で起動されるVCCNノードのVCCN−IDに対応付けて、かかるVCCNノードのノード名を記憶する。なお、以下では、VCCNノードのノード名を「VCCNノード名」と表記する場合がある。このVCCNテーブル112は、後述する振分部113によってCCNパケットの振分先決定処理が行われる際に参照される。
図4に、実施例1におけるデマルチプレクサ110が保持するVCCNテーブル112の一例を示す。図4に例示したVCCNテーブル112は、図1に例示したCCNノード100−1のデマルチプレクサ110−1が保持するものとする。CCNノード100−1では、VCCNノード121−1、122−1及び123−1が起動されるので、VCCNテーブル112は、図4に例示するように、VCCN−ID「121」、「122」、「123」を記憶する。
そして、図4の例では、VCCN−IDが「121」であるVCCNノード121−1のVCCNノード名が「ノードN121」であることを示しており、VCCN−IDが「122」であるVCCNノード122−1のノード名が「ノードN122」であることを示しており、VCCN−IDが「123」であるVCCNノード123−1のノード名が「ノードN123」であることを示している。なお、実施例1では、「VCCNノードXXX−Y」のVCCNノード名は、「ノードNXXX」であるものとする。例えば、VCCNノード121−1のVCCNノード名は「ノードN121」であり、VCCNノード122−1のVCCNノード名は「ノードN122」であるものとする。
図3の説明に戻って、振分部113は、VCCNパケットを受信した場合に、かかるVCCNパケットをデカプセル化してCCNパケットを抽出し、VCCNパケットに含まれるVCCN−IDによって示されるVCCNノードに対して、デカプセル化後のCCNパケットを振り分ける。かかる振分部113は、図3に例示するように、カプセル除去部113aと、取得部113bとを有する。
カプセル除去部113aは、IF111a、111b又は111cからパケットを入力された場合に、かかるパケットに、VCCNノードを利用することを示す制御文字列が格納されているか否かを判定する。そして、カプセル除去部113aは、パケットに制御文字列が格納されている場合には、IF111a等から入力されたパケットがVCCNパケットであると判定し、かかるVCCNパケットからVCCN−IDを取得する。このとき、カプセル除去部113aは、VCCNパケットから制御文字列及びVCCN−IDを除去する処理を行う。言い換えれば、カプセル除去部113aは、VCCNパケットから、制御文字列及びVCCN−IDを除去することにより、CCNパケットを抽出するデカプセル化処理を行う。
例えば、図2に例示したVCCNパケットP12がカプセル除去部113aに入力されたものとする。かかる場合に、カプセル除去部113aは、VCCNパケットP12のデータ領域D11に制御文字列「−v」が格納されているので、かかるVCCNパケットP12がVCCNパケットであると判定する。そして、カプセル除去部113aは、VCCNパケットP12からVCCN−ID「aaaaa−aaa」を取得するとともに、VCCNパケットP12から制御文字列「−v」及びVCCN−ID「aaaaa−aaa」を除去することで、CCNパケットP11を抽出する。
また、カプセル除去部113aは、IF111a等から入力されたパケットに制御文字列が格納されていない場合には、かかるパケットがVCCNパケットでないと判定する。このとき、カプセル除去部113aは、入力されたパケットがCCNパケットである場合には、CCNに準拠した中継処理を行ってもよいし、かかるCCNパケットを廃棄してもよい。なお、カプセル除去部113aは、CCNに準拠したCCNパケットの中継処理を行う場合には、CCNに準拠した中継処理を行うことができるCCNノード100にCCNパケットの中継処理を行わせる。
取得部113bは、カプセル除去部113aによって取得されたVCCN−IDに基づいて、カプセル除去部113aによって抽出されたCCNパケットの振分先となるVCCNノードを決定する。具体的には、取得部113bは、カプセル除去部113aによって取得されたVCCN−IDに対応するVCCNノード名をVCCNテーブル112から取得する。そして、取得部113bは、VCCNテーブル112からVCCNノード名を取得できた場合には、取得したVCCNノード名に対応するVCCNノード121、122又は123のいずれかに、CCNパケットを出力する。
例えば、VCCNテーブル112が図4に示した各種情報を記憶するものとする。そして、カプセル除去部113aによって、VCCNパケットからVCCN−ID「121」が取得されたものとする。かかる場合に、取得部113bは、VCCNテーブル112から、VCCN−ID「121」に対応するVCCNノード名「ノードN121」を取得する。かかる場合には、取得部113bは、カプセル除去部113aによって抽出されたCCNパケットを、VCCNノード名が「ノードN121」であるVCCNノード121に出力する。
また、取得部113bは、VCCNテーブル112からVCCNノード名を取得できない場合には、カプセル除去部113aによって抽出されたCCNパケットを特定のVCCNノードに出力する。ここでいう「特定のVCCNノード」とは、所定のデフォルト処理を行うためのVCCNノードである。以下では、このような所定のデフォルト処理を行う特定のVCCNノードを「デフォルトVCCNノード」と表記する場合がある。なお、デフォルトVCCNノードによる処理については、後述する。
仮想制御部120は、CCNノード100と同様の中継処理を行うことができるVCCNノード121、122及び123を起動させ、起動させたVCCNノード121等による処理を制御する。
ここで、VCCNノード121、122、123による処理は同様であるので、VCCNノード121を例に挙げて、VCCNノードによる処理について説明する。VCCNノード121によって行われる各種処理は、CCNに準拠するCCNノードが備える機能により実現することができる。
具体的には、CCNに準拠するCCNノードは、一般に、「コンテンツ名のプレフィックス」と「アクセス要求の中継先IF情報」とが対応付けられた経路制御表を保持する。ここでいう「アクセス要求の中継先IF情報」とは、CCNノードの出力ポートを示し、例えば、IF111a、111b、111cのいずれかを示す情報に相当する。そして、このようなCCNノードは、図2に例示したCCNパケットP11等のアクセス要求を受信した場合に、経路制御表を参照して、アクセス要求に含まれるコンテンツ名のプレフィックスに対応する中継先IF情報を取得する。そして、CCNノード100は、取得した中継先IF情報が示すIFにアクセス要求を送信する。
実施例1におけるVCCNノード121は、このようなCCNに準拠するCCNノードによる中継先決定処理と同様に、デマルチプレクサ110から受け付けたアクセス要求の中継先を決定する処理を行う。例えば、VCCNノード121は、「コンテンツ名のプレフィックス」と「アクセス要求の中継先IF情報」とが対応付けられた経路制御表を保持する。そして、VCCNノード121は、デマルチプレクサ110からアクセス要求のCCNパケットが入力された場合に、上記のCCNノードによる中継先決定処理と同様に、経路制御表を参照することで、アクセス要求に含まれるコンテンツ名のプレフィックスに対応する中継先IF情報を取得する。そして、VCCNノード121は、マルチプレクサ130に対して、中継先IF情報が示すIFにCCNパケットを送信するように依頼する。
このように、VCCNノード121は、デマルチプレクサ110からCCNパケットが入力されるので、CCNに準拠するCCNノード100と同様の処理により、アクセス要求の中継先を決定することができる。
VCCNノード121による各種処理についてより詳細に説明する。VCCNノード121は、デマルチプレクサ110からCCNパケットを入力された場合に、かかるCCNパケットの中継先IFを決定し、決定した中継先IFを示す中継先IF情報と、CCNパケットとをマルチプレクサ130に出力する。
具体的には、VCCNノード121は、デマルチプレクサ110からCCNパケットを入力された場合に、かかるCCNパケットがアクセス要求又はコンテンツのいずれであるかを判定する。
そして、VCCNノード121は、アクセス要求であるCCNパケットが入力された場合には、かかるアクセス要求に含まれるコンテンツ名によって示されるコンテンツが、VCCNノード121自身に割り当てられているか否かを判定する。言い換えれば、VCCNノード121は、アクセス要求において要求されているコンテンツを保持するか否かを判定する。そして、VCCNノード121は、コンテンツが自身に割り当てられている場合には、かかるコンテンツのCCNパケットをマルチプレクサ130に出力する。このとき、VCCNノード121は、コンテンツの中継先IFを、アクセス要求を受信したIFである送信元IFにすることを決定する。そして、VCCNノード121は、コンテンツのCCNパケットとともに、かかるコンテンツの中継先IF情報として、アクセス要求の送信元IFを示す情報をマルチプレクサ130に出力する。
例えば、CCNノード100のIF111aがアクセス要求を受信し、VCCNノード121がかかるアクセス要求において要求されているコンテンツを保持するものとする。かかる場合には、VCCNノード121は、自身が保持するコンテンツのCCNパケットと、アクセス要求の送信元IFである「IF111a」を示す情報を中継先IF情報としてマルチプレクサ130に出力する。
一方、VCCNノード121は、アクセス要求に含まれるコンテンツ名によって示されるコンテンツが自身に割り当てられていない場合には、上述した経路制御表と、CCNパケットに含まれるコンテンツ名に基づいて、アクセス要求の中継先IFを決定する。そして、VCCNノード121は、デマルチプレクサ110から入力されたCCNパケットと、中継先IFを示す中継先IF情報とをマルチプレクサ130に出力する。
このとき、VCCNノード121は、アクセス要求の送信元であるユーザ端末10又はVCCNノードに関する情報や、アクセス要求の送信元IFに関する情報等を、アクセス要求の中継経路情報として、所定の記憶部に格納する。なお、実施例1におけるVCCNノード121は、アクセス要求の中継経路情報として、アクセス要求の送信元IFを示す情報及びアクセス要求に含まれるコンテンツ名を所定の記憶部に格納するものとする。
例えば、CCNノード100のIF111aがアクセス要求を受信し、VCCNノード121がかかるアクセス要求を他のCCNノードに中継することを決定したものとする。かかる場合に、VCCNノード121は、アクセス要求の送信元IFである「IF111a」を示す情報と、アクセス要求に含まれるコンテンツ名とを中継経路情報として所定の記憶部に格納する。
また、VCCNノード121は、デマルチプレクサ110からコンテンツのCCNパケットを入力された場合には、上述した中継経路情報を参照して、かかるコンテンツのCCNパケットの中継先を決定する。具体的には、VCCNノード121は、コンテンツへのアクセス要求を送信した送信元IFを示す情報を中継経路情報から取得し、取得した送信元IFをコンテンツのCCNパケットの中継先IFにすることを決定する。そして、VCCNノード121は、コンテンツのCCNパケットと、コンテンツの中継先IFを示す中継先IF情報とをマルチプレクサ130に出力する。
また、VCCNノード121は、デフォルトVCCNノードである場合には、デマルチプレクサ110から入力されたCCNパケットに対して、所定のデフォルト処理を行う。例えば、VCCNノード121は、マルチプレクサ130から入力されたCCNパケットを廃棄し、かかるCCNパケットを送信したユーザ端末10に対してエラー通知を行う。また、VCCNノード121は、マルチプレクサ130から入力されたCCNパケットを、隣接する全てのCCNノードに送信してもよい。
このようなデフォルトVCCNノードにCCNパケットが入力されるケースは、CCNノード内のいずれのVCCNノードにも対応しないVCCN−IDが割り当てられたVCCNパケットを受信した場合等に発生しうる。例えば、あるVCCN−IDが割り当てられている利用者がVCCN−IDに任意の情報を設定してアクセス要求となるVCCNパケットを送信する操作を行ったものとする。しかし、そのVCCN−IDを含むVCCNパケットを受信したCCNノード100において、そのVCCN−IDがVCCNテーブル112に記憶されていない場合には、CCNノード100はVCCNパケットをデフォルトVCCNノードで処理するように送信する。デフォルトVCCNノードは、全ての中継先IFからVCCNパケットを送出する。これにより、全てのCCNノードに全てのVCCN−IDに対応するVCCNノードを設定することなく、全てのVCCN−IDを設定されたVCCNパケットが対応するVCCNノードに到達可能となる。
なお、VCCNノード121がデフォルトVCCNノードである場合には、ネットワーク管理者等は、かかるVCCNノード121のコンテンツキャッシュ機能を無効に設定することが望ましい。これは、デフォルトVCCNノードが、CCNノード内に受信したVCCNパケットに対応するVCCNノードが存在しない場合に、次のCCNノードへデフォルトで中継する処理を行う際に、コンテンツのキャッシュを用いると誤ってコンテンツが送信されてしまう可能性を排除するためである。すなわち、デフォルトVCCNノードのコンテンツキャッシュ機能をオフに設定することで、デフォルトVCCNノードから誤ってコンテンツが送信されることを確実に防止することができる。
マルチプレクサ130は、図3に例示するように、VCCNテーブル132と、送信部133とを有する。
VCCNテーブル132は、CCNノード100内で起動されるVCCNノードのVCCNノード名に対応付けて、かかるVCCNノードのVCCN−IDを記憶する。このVCCNテーブル132は、後述する送信部133によってVCCNパケット送信処理が行われる際に参照される。
図5に、実施例1におけるマルチプレクサ130が保持するVCCNテーブル132の一例を示す。図5に例示したVCCNテーブル132は、図1に例示したCCNノード100−1のマルチプレクサ130−1が保持するものとする。図5に例示するように、VCCNテーブル132は、VCCNノード名「ノードN121」、「ノードN122」、「ノードN123」を記憶する。
そして、図5の例では、VCCNノード名が「ノードN121」であるVCCNノードのVCCN−IDが「121」であることを示している。言い換えれば、図5の例では、VCCNノード121のVCCNノード名が「ノードN121」であることを示している。また、図5の例では、VCCNノード名が「ノードN122」であるVCCNノード122のVCCN−IDが「122」であることを示しており、VCCNノード名が「ノードN123」であるVCCNノード123のVCCN−IDが「123」であることを示している。
図3の説明に戻って、送信部133は、VCCNノード121等からCCNパケットとCCNパケットの中継先となる中継先IF情報を入力された場合に、かかるCCNパケットをカプセル化することによりVCCNパケットを生成し、カプセル化後のVCCNパケットを中継先IF情報が示すIFに送信する。かかる送信部133は、図3に例示するように、取得部133aと、カプセル化部133bとを有する。
取得部133aは、VCCNノード121等から、CCNパケットと中継先IF情報を入力された場合に、かかるCCNパケット等を入力したVCCNノードのVCCNノード名に対応するVCCN−IDをVCCNテーブル132から取得する。そして、取得部133aは、VCCNノード121等から入力されたCCNパケットと、中継先IF情報と、VCCNテーブル132から取得したVCCN−IDとをカプセル化部133bに出力する。
カプセル化部133bは、取得部133aからCCNパケット、中継先IF情報及びVCCN−IDを入力された場合に、かかるCCNパケットをVCCN−IDによりカプセル化する。具体的には、カプセル化部133bは、取得部133aから入力されたCCNパケットに、VCCNノードを利用することを示す制御文字列と、取得部133aから入力されたVCCN−IDとを付与する。すなわち、カプセル化部133bは、取得部133aから入力されたCCNパケットをカプセル化することにより、VCCNパケットを生成する。
そして、カプセル化部133bは、取得部133aから入力された中継先IF情報が示すIF111a、111b又は111cのいずれかを介して、カプセル化後のVCCNパケットを他のCCNノードに送信する。言い換えれば、カプセル化部133bは、取得部133aから入力されたVCCN−IDによって示されるVCCNノードが起動しているCCNノードに対して、カプセル化後のVCCNパケットを送信することになる。
[実施例1におけるCCNノードによる処理手順]
次に、図6を用いて、実施例1におけるCCNノード100による処理の手順について説明する。図6は、実施例1におけるCCNノード100による処理手順を示すフローチャートである。なお、以下では、CCNノード100がVCCNパケットを受信した場合について説明する。
図6に示すように、CCNノード100のデマルチプレクサ110は、VCCNパケットを受信した場合に、かかるVCCNパケットをデカプセル化することでCCNパケットを抽出し、抽出したCCNパケットをVCCNノードに振り分ける振分処理を行う(ステップS101)。なお、デマルチプレクサ110による振分処理については、図7を用いて後述する。
続いて、CCNノード100のVCCNノードは、デマルチプレクサ110から振り分けられたCCNパケットの中継先を決定する決定処理を行う(ステップS102)。なお、VCCNノード121による決定処理については、図8を用いて後述する。
続いて、CCNノード100のマルチプレクサ130は、VCCNノード121から入力されるCCNパケットをカプセル化することによりVCCNパケットを生成し、生成したVCCNパケットを、VCCNノード121によって決定された中継先IFに送信する送信処理を行う(ステップS103)。なお、マルチプレクサ130による送信処理については、図9を用いて後述する。
次に、図7を用いて、図6のステップS101に示したデマルチプレクサ110による振分処理の手順について説明する。図7は、実施例1におけるデマルチプレクサ110による振分処理手順を示すフローチャートである。
図7に示すように、デマルチプレクサ110のカプセル除去部113aは、IF111a、111b又は111cからVCCNパケットを受信した場合に(ステップS201肯定)、かかるVCCNパケットからVCCN−IDを取得するとともに、VCCNパケットから制御文字列及びVCCN−IDを除去するデカプセル化処理を行う(ステップS202)。
続いて、デマルチプレクサ110の取得部113bは、カプセル除去部113aによって取得されたVCCN−IDに対応するVCCNノード名をVCCNテーブル112から取得する(ステップS203)。
ここで、取得部113bは、VCCNテーブル112からVCCNノード名を取得できた場合には(ステップS204肯定)、取得したVCCNノード名に対応するVCCNノード121、122又は123のいずれかに、CCNパケットを出力する(ステップS105)。
一方、取得部113bは、VCCNテーブル112からVCCNノード名を取得できない場合には(ステップS204否定)、かかるCCNパケットをデフォルトVCCNノードに出力する(ステップS206)。
次に、図8を用いて、図6のステップS102に示したVCCNノード121、122及び123による決定処理の手順について説明する。図8は、実施例1におけるVCCNノード121、122及び123による決定処理手順を示すフローチャートである。なお、VCCNノード121、122及び123による決定処理手順は同様であるので、以下では、VCCNノード121について説明する。
図8に示すように、VCCNノード121は、デマルチプレクサ110からアクセス要求のCCNパケットを入力された場合に(ステップS301肯定)、アクセス要求において要求されているコンテンツを保持するか否かを判定する(ステップS302)。具体的には、VCCNノード121は、アクセス要求のCCNパケットに含まれるコンテンツ名によって示されるコンテンツを保持するか否かを判定する。
そして、VCCNノード121は、コンテンツを保持する場合には(ステップS302肯定)、アクセス要求の送信元IFをコンテンツの中継先IFにすることを決定する(ステップS303)。そして、VCCNノード121は、コンテンツのCCNパケットと、かかるCCNパケットの中継先IFを示す中継先IF情報をマルチプレクサ130に出力する(ステップS304)。
一方、VCCNノード121は、コンテンツを保持しない場合には(ステップS302否定)、CCNパケットに含まれるコンテンツ名を用いて経路制御表を参照し、アクセス要求の中継先IFを決定する(ステップS305)。続いて、VCCNノード121は、アクセス要求の送信元IFを示す情報及びアクセス要求に含まれるコンテンツ名を中継経路情報として所定の記憶部に格納し(ステップS306)、アクセス要求のCCNパケットと中継先IF情報とをマルチプレクサ130に出力する(ステップS307)。
また、VCCNノード121は、デマルチプレクサ110から、アクセス要求のCCNパケットではなく(ステップS301否定)、コンテンツのCCNパケットを入力された場合には(ステップS308肯定)、中継経路情報を参照して、コンテンツのCCNパケットの中継先IFを決定する(ステップS309)。そして、VCCNノード121は、コンテンツのCCNパケットと、かかるCCNパケットの中継先IFを示す中継先IF情報とをマルチプレクサ130に出力する(ステップS310)。
次に、図9を用いて、図6のステップS103に示したマルチプレクサ130による送信処理の手順について説明する。図9は、実施例1におけるマルチプレクサ130による送信処理手順を示すフローチャートである。
図9に示すように、マルチプレクサ130の取得部133aは、VCCNノードから、CCNパケットと、かかるCCNパケットの中継先IF情報とを入力された場合に(ステップS401肯定)、かかるCCNパケット等を入力したVCCNノードのVCCNノード名に対応するVCCN−IDをVCCNテーブル132から取得する(ステップS402)。
そして、マルチプレクサ130のカプセル化部133bは、取得部133aによって取得されたVCCN−IDを用いて、CCNパケットをカプセル化する(ステップS403)。具体的には、カプセル化部133bは、CCNパケットに制御文字列及びVCCN−IDを付与することでVCCNパケットを生成する。
そして、カプセル化部133bは、VCCNノードから入力された中継先IF情報によって示されるIF111a、111b又は111cのいずれかを介して、カプセル化後のVCCNパケットを送信する(ステップS404)。
[実施例1の効果]
上述してきたように、実施例1におけるCCNノード100のVCCNノードは、アクセス要求に含まれるコンテンツ名からアクセス要求の中継先を決定する処理を行う。そして、デマルチプレクサ110の振分部113は、かかるアクセス要求によりコンテンツを要求しているコンテンツ要求元である利用者又は利用者の所属を識別するための仮想中継情報を含むアクセス要求を受信した場合に、かかる仮想中継情報に対応付けられた仮想中継部にアクセス要求を振り分ける。そして、マルチプレクサ130の送信部133は、振分部113からアクセス要求が振り分けられたVCCNノードによって、アクセス要求の中継先となる他の中継装置内の他の仮想中継部が決定された場合に、かかる他の仮想中継部の仮想中継情報を含むアクセス要求を他の中継装置に送信する。
すなわち、実施例1に係るネットワークシステム1では、アクセス要求のVCCNパケットが中継されるVCCNノードは、アクセス要求に含まれる仮想中継情報によって決定される。また、コンテンツのVCCNパケットもアクセス要求の中継経路を逆に辿ってユーザ端末10に送信されるので、コンテンツのVCCNパケットが中継されるVCCNノードは、仮想中継情報によって決定されるといえる。このため、実施例1に係るネットワークシステム1は、利用者に割り当てられた仮想中継情報によってVCCNパケットが流通するVCCNノードを限定できるので、仮想中継情報毎にVCCNパケットの流通を閉域化することができる。
このため、実施例1に係るネットワークシステム1では、VCCNパケットが中継されるVCCNノードが仮想中継情報によって制限されるので、利用者がアクセスできるコンテンツも制限されることになる。例えば、VCCNパケットが中継されないVCCNノードに所望のコンテンツが存在する場合には、利用者は、かかるコンテンツにアクセスすることができない。言い換えれば、利用者(個人又は団体)がアクセス可能なVCCNノードに所望のコンテンツが存在する場合のみ、かかる利用者は、所望のコンテンツにアクセスすることができる。この結果、実施例1に係るネットワークシステム1では、仮想中継情報を割り当てた利用者毎に、かかる利用者に公開するコンテンツを設定することができる。つまり、実施例1に係るネットワークシステム1は、コンテンツへのアクセスにセキュリティ対策が施されているので、コンテンツへのアクセスのセキュリティを向上させることができる。
また、実施例1に係るネットワークシステム1では、各コンテンツが複数のVCCNノードのいずれかに割り当てられる。そして、VCCNノードは、アクセス要求において要求されているコンテンツが割り当てられているか否かを判定し、割り当てられていない場合には、アクセス要求の中継先を決定する。また、マルチプレクサ130の送信部133は、VCCNノードによって、アクセス要求において要求されているコンテンツが割り当てられていると判定された場合には、アクセス要求の送信元にコンテンツを送信する。
これにより、実施例1に係るネットワークシステム1は、コンテンツが割り当てられているVCCNノードに到達可能な中継仮想情報を知る利用者のみに、かかるコンテンツにアクセスさせることができる。すなわち、実施例1に係るネットワークシステム1は、コンテンツへのアクセスにセキュリティ対策が施されているので、コンテンツへのアクセスのセキュリティを向上させることができる。
また、実施例1に係るネットワークシステム1では、カプセル除去部113aが、VCCNパケットから制御文字列及びVCCN−IDを除去するデカプセル化処理を行うことで、CCNパケットを抽出する。そして、取得部113bは、VCCNパケットに含まれるVCCN−IDに基づいて、カプセル除去部113aによって抽出されたCCNパケットをVCCNノードに振り分ける。そして、カプセル化部133bは、中継先となるVCCNノードのVCCN−IDをCCNパケットに付与するカプセル化処理を行うことでVCCNパケットを生成し、生成したVCCNパケットを中継先となるVCCNノードに送信する。
これにより、CCNノード100内のVCCNノードは、CCNパケットが振り分けられるので、CCNに準拠するCCNノードと同様の処理を行うことができる。すなわち、実施例1におけるネットワークシステム1は、CCNに準拠するCCNノードによる処理を大きく改変することなく、VCCNノードによる処理を実現することができる。
上記実施例1及び2において、エッジノードであるCCNノードは、1つのアクセス要求から複数のアクセス要求を生成して、異なるVCCN−IDと対応する複数のVCCNノードに送信してもよい。実施例3では、1つのアクセス要求から複数のアクセス要求を生成するCCNノードの例について説明する。なお、実施例3におけるCCNノードが含まれるネットワークシステムの構成は、図1に示した例と同様であるので、以下では説明を省略する。
まず、実施例3におけるネットワークシステムを利用する利用者は、仮想中継情報として、「VCCNグループID」が割り当てられる。かかる「VCCNグループID」とは、1以上のVCCN−IDをグループ化したVCCN−IDグループを識別するための識別子を示す。そして、実施例3におけるユーザ端末10は、図2に例示したデータ領域D12に「VCCNグループID」を含むVCCNパケットをCCNノード300に送信する。なお、実施例3におけるユーザ端末10は、実施例2と同様に、認証ヘッダを含むVCCNパケットを送信するものとする。
[実施例3におけるCCNノードの構成]
次に、図13を用いて、実施例3におけるCCNノード300について説明する。図13は、実施例3におけるCCNノード300の構成例を示す図である。なお、実施例3におけるCCNノード300は、図3に示したCCNノード100と比較して、デマルチプレクサの構成のみが異なるので、図13には、実施例3におけるCCNノード300が有するデマルチプレクサ310のみを図示する。
図13に例示するCCNノード300は、ユーザ端末10と接続されるエッジノードであり、ユーザ端末10から、VCCNグループIDを含むアクセス要求のVCCNパケットを受信する。かかるCCNノード300は、図13に例示するように、デマルチプレクサ310を有する。かかるデマルチプレクサ310は、振分部313と、認証テーブル314と、VCCNグループテーブル315とを有する。
認証テーブル314は、利用者識別子とパスワードとVCCNグループIDとを対応付けて記憶する。かかる認証テーブル314は、後述する認証部313cによって認証処理が行われる際に参照される。
図14に、実施例3におけるデマルチプレクサ310が保持する認証テーブル314の一例を示す。図14に例示するように、認証テーブル314は、「利用者識別子」、「パスワード」、「VCCNグループID」といった項目を有する。「利用者識別子」及び「パスワード」は、図12に例示した認証テーブル214が保持する「利用者識別子」及び「パスワード」と同様である。また、「VCCNグループID」は、利用者に割り当てられた仮想中継情報である。
図14に示した例では、利用者識別子が「U21」である利用者は、パスワードが「P21」であり、仮想中継情報としてVCCNグループID「G01」が割り当てられていることを示す。また、図14に示した例では、利用者識別子が「U22」である利用者は、パスワードが「P22」であり、仮想中継情報としてVCCNグループID「G02」が割り当てられていることを示す。
図13の説明に戻って、VCCNグループテーブル315は、実施例3における利用者に割り当てられるVCCNグループIDに対応付けて、かかるVCCNグループIDによって示されるVCCN−IDグループに属する1以上のVCCN−IDを対応付けて記憶する。
図15に、実施例3におけるデマルチプレクサ310が保持するVCCNグループテーブル315の一例を示す。図15に例示するように、VCCNグループテーブル315は、「VCCNグループID」、「VCCN−ID」といった項目を有する。
図15に示した例では、VCCNグループID「G01」によって示されるVCCN−IDグループに属するVCCN−IDが「121」、「122」及び「123」であることを示す。また、図15に示した例では、VCCNグループID「G02」によって示されるVCCN−IDグループに属するVCCN−IDが「121」及び「122」であることを示す。
図13の説明に戻って、振分部313は、認証部313cと、取得部313bとを有する。認証部313cは、VCCNパケットを受信した場合に、かかるVCCNパケットに含まれる利用者識別子、パスワード及びVCCNグループIDを用いて認証処理を行う。具体的には、認証部313cは、VCCNパケットに含まれる利用者識別子とパスワードとVCCNグループIDとの組合せである認証情報が、認証テーブル314に格納されているか否かを判定する。そして、認証部313cは、認証テーブル314に認証情報が格納されている場合には、認証を成功とする。一方、認証部313cは、認証テーブル314に認証情報が格納されていない場合には認証を失敗とする。
そして、認証部313cは、認証結果が成功した場合には、IF部111a等から受信したVCCNパケットをカプセル除去部113aに出力する。一方、認証部313cは、認証結果が失敗した場合には、VCCNパケットを廃棄してユーザ端末10に対して認証エラーを通知する。なお、認証部313cは、認証結果が失敗した場合には、VCCNパケットをカプセル除去部113aによってデカプセル化させ、デカプセル化後のCCNパケットをデフォルトVCCNノードに出力してもよい。すなわち、認証部313cは、デフォルトVCCNノードにデフォルト処理を行わせてもよい。
なお、カプセル除去部113aは、実施例1と同様の処理を行う。ただし、実施例3におけるカプセル除去部113aは、データ領域D12にVCCNグループIDが格納されたVCCNパケットを入力されるので、かかるVCCNパケットからVCCNグループIDを取得することになる。
取得部313bは、カプセル除去部113aからCCNパケット及びVCCNグループIDを入力された場合に、かかるVCCNグループIDに基づいて、CCNパケットの振分先を決定する。具体的には、取得部113bは、カプセル除去部113aによって取得されたVCCNグループIDに対応する1以上のVCCN−IDをVCCNグループテーブル315から取得する。そして、取得部313bは、VCCNグループテーブル315から取得したVCCN−IDの数だけCCNパケットを複製する。また、取得部313bは、VCCNグループテーブル315から取得した各VCCN−IDに対応するVCCNノード名をVCCNテーブル112から取得する。そして、取得部313bは、VCCNテーブル112からVCCNノード名を取得できた場合には、取得したVCCNノード名に対応するVCCNノード121、122又は123のいずれかに、CCNパケットを出力する。
例えば、VCCNグループテーブル315が図15に示した各種情報を記憶し、VCCNテーブル112が図4に示した各種情報を記憶するものとする。そして、カプセル除去部113aによって、VCCNパケットからVCCNグループID「G01」が取得されたものとする。
かかる場合に、取得部313bは、VCCNグループテーブル315から、VCCNグループID「G01」に対応するVCCN−ID「121」、「122」及び「123」を取得する。そして、取得部313bは、VCCNグループテーブル315から3個のVCCN−IDを取得したので、カプセル除去部113aから入力されたCCNパケットを複製して3個のCCNパケットを生成する。そして、取得部313bは、VCCNテーブル112から、VCCN−ID「121」に対応するVCCNノード名「ノードN121」を取得し、VCCN−ID「122」に対応するVCCNノード名「ノードN122」を取得し、VCCN−ID「123」に対応するVCCNノード名「ノードN123」を取得する。そして、取得部313bは、複製したCCNパケットを、VCCNノード名が「ノードN121」であるVCCNノード121と、VCCNノード名が「ノードN122」であるVCCNノード122と、VCCNノード名が「ノードN123」であるVCCNノード123とに出力する。
また、取得部313bは、VCCNテーブル112からVCCNノード名を1個も取得できない場合には、カプセル除去部113aによって抽出されたCCNパケットをデフォルトVCCNノードに出力する。
[実施例3の効果]
上述してきたように、実施例3におけるCCNノード300は、VCCN−IDがグループ化されたVCCNグループIDに対応付けて、1以上のVCCN−IDを記憶するVCCNグループテーブル315を有する。そして、CCNノード300の振分部313は、VCCNグループIDを含むアクセス要求を受信した場合に、VCCNグループIDに対応する1以上のVCCN−IDをVCCNグループテーブル315から取得し、取得した各VCCN−IDが示す各VCCNノードにアクセス要求を振り分ける。
これにより、実施例3におけるCCNノード300は、利便性を向上させることができる。例えば、コンテンツ「C11」にアクセスするためには、VCCN−ID「F11」を含むアクセス要求を送信する必要があり、コンテンツ「C12」にアクセスするためには、VCCN−ID「F12」を含むアクセス要求を送信する必要があるものとする。かかる場合に、同一に利用者にコンテンツ「C11」及び「C12」を公開するには、かかる利用者にVCCN−ID「F11」及び「F12」を割り当てることになる。このような場合には、利用者にとっては、VCCN−IDを使い分ける必要があるので、コンテンツへのアクセスに手間がかかる。実施例3に係るネットワークシステムでは、上記例の場合に、VCCN−ID「F11」及び「F12」をグループ化したVCCNグループのVCCNグループIDを利用者に割り当てる。これにより、利用者が複数のVCCN−IDを使い分けなくてよいので、利便性が向上する。
なお、上記実施例3では、利用者に、仮想中継情報として「VCCNグループID」が割り当てられる例を示した。そして、上記実施例3では、VCCNグループIDが1以上のVCCN−IDをグループ化したVCCN−IDグループを識別するための識別子である例を示した。しかし、上記実施例3では、利用者に、VCCNグループIDではなく、上記実施例1及び2と同様にVCCN−IDを割り当ててもよい。そして、実施例3におけるCCNノード300は、利用者に割り当てられたVCCN−IDに1以上のVCCN−IDが対応付けられたVCCNグループテーブル315を保持してもよい。すなわち、上記実施例3で説明した「VCCNグループID」は「VCCN−ID」に置き換えられてもよい。
例えば、CCNノード300は、VCCN−ID「121」に、VCCN−ID「121、122、123」が対応付けられたVCCNグループテーブル315を保持してもよい。かかる場合には、CCNノード300の取得部313bは、VCCN−ID「121」を含むVCCNパケットを受信した場合に、VCCN−ID「121」に対応するVCCN−ID「121、122、123」をVCCNグループテーブル315から取得し、取得したVCCN−IDの数だけCCNパケットを複製する。そして、取得部313bは、アクセス要求のCCNパケットを、VCCN−ID「121」に対応するVCCNノード121と、VCCN−ID「122」に対応するVCCNノード122と、VCCN−ID「123」に対応するVCCNノード123に出力する。
また、上記実施例1〜3において、カプセル除去部113aは、VCCN−IDを含むアクセス要求が送受信される通信プロトコルの階層(layer)以下の階層に属する通信プロトコルに準拠するようにカプセル化されたアクセス要求を受信し、受信したアクセス要求をデカプセル化してもよい。また、カプセル化部133bは、VCCNノードによって、アクセス要求の中継先となる他のVCCNノードが決定された場合に、他のVCCNノードのVCCN−IDを含むアクセス要求を、VCCN−IDを含むアクセス要求が送受信される通信プロトコルの階層以下の階層に属する通信プロトコルに準拠するようにカプセル化してもよい。
例えば、VCCNパケットにIPアドレス(Internet Protocol Address)が設定されるようなネットワークである場合には、カプセル除去部113a及びカプセル化部133bは、VCCNパケットをIPヘッダによりカプセル化及びデカプセル化を行ってもよい。このように、VCCNパケットが送受される通信プロトコルの階層以下の階層に属する通信プロトコルに準拠するようにVCCNパケットをカプセル化することで、ネットワークの利用環境に対して柔軟に対応することができる。
例えば、図1に例示したネットワークシステム1内にIPネットワークが含まれる場合には、かかるIPネットワークを流通する場合に、IPヘッダによりVCCNパケットをカプセル化することにより、IPネットワークにVCCNパケットを流通させることができる。また、ネットワークシステム1にIPネットワークが含まれない場合であっても、IPヘッダでのカプセル化を行うことで、VCCNノード間にリンクが結ばれた状態を形成することができ、VCCNパケットの流通セキュリティを向上させることができる。
また、上記実施例では、CCNを拡張したネットワークアーキテクチャの例を説明したが、本願発明はこれに限られない。具体的には、本願発明は、中継装置を含むネットワークアーキテクチャであって、コンテンツ識別情報としてのコンテンツ名を含むアクセス要求に応答してコンテンツを提供するネットワークアーキテクチャならば適用することができる。
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、図2、図4、図5、図12、図14、図15等に例示した各種データは、あくまで一例であって任意のデータに変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図3に例示した振分部113には、カプセル除去部113aと取得部113bとが含まれるが、カプセル除去部113aと取得部113bとは統合されてもよい。
また、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。例えば、図3に例示した仮想制御部120は、プログラムにて実現され、デマルチプレクサ110、マルチプレクサ130は、ワイヤードロジックによるハードウェアとして実現され得る。また、図3に例示したVCCNテーブル112やVCCNテーブル132等は、RAM(Random Access Memory)、ROM(Read Only Memory)等のハードウェアとして実現され得る。
なお、上記実施例で説明した中継方法は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのIPネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。