(57)【特許請求の範囲】
【請求項１】
コンテンツを識別するためのコンテンツ識別情報を含み該コンテンツへのアクセス要求を中継する中継装置であって、
前記アクセス要求に含まれるコンテンツ識別情報から該アクセス要求の中継先を決定する処理を行う仮想的な仮想中継部と、
前記アクセス要求によりコンテンツを要求しているコンテンツ要求元である利用者又は利用者の所属を識別するための要求元識別情報を含むアクセス要求を受信した場合に、該要求元識別情報に対応付けられた識別情報であって、前記アクセス要求が振り分けられる前記仮想中継部を識別する情報である仮想中継部識別情報を用いて、前記仮想中継部に該アクセス要求を振り分ける振分部と、
前記振分部からアクセス要求が振り分けられた仮想中継部によって、該アクセス要求の中継先となる他の中継装置内の他の仮想中継部が決定された場合に、前記仮想中継部に対応する前記仮想中継部識別情報に対応付けられた要求元識別情報を含むアクセス要求を該他の中継装置に送信する送信部と
を有することを特徴とする中継装置。
【請求項２】
前記振分部は、
前記コンテンツ要求元を認証するための認証情報を含むアクセス要求を受信し、該アクセス要求に含まれる前記認証情報と前記要求元識別情報を用いて認証処理を行う認証部をさらに備え、
前記認証部による認証結果が成功である場合に、前記アクセス要求に含まれる前記要求元識別情報によって示される仮想中継部に該アクセス要求を振り分ける
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記振分部は、
前記要求元識別情報を含むアクセス要求が送受信される第１通信プロトコルの階層以下に属する第２通信プロトコルに準拠するようにカプセル化されたアクセス要求を受信し、受信したアクセス要求を、前記第１通信プロトコルに準拠するようにデカプセル化するデカプセル化部をさらに有し、
前記デカプセル化部によりデカプセル化されたアクセス要求を、該アクセス要求に含まれる前記要求元識別情報に対応付けられた前記仮想中継部識別情報によって示される仮想中継部に振り分け、
前記送信部は、
前記仮想中継部によって、前記アクセス要求の中継先となる他の仮想中継部が決定された場合に、前記仮想中継部に対応する前記仮想中継部識別情報に対応付けられた要求元識別情報を含むアクセス要求を、前記第２通信プロトコルに準拠するようにカプセル化するカプセル化部をさらに有し、
前記カプセル化部によってカプセル化されたアクセス要求を、前記他の仮想中継部が起動している他の中継装置に送信する
ことを特徴とする請求項１又は２に記載の中継装置。
【請求項４】
１つの要求元識別情報と、１以上の仮想中継部識別情報とを対応づけて記憶するグループ記憶情報部をさらに備え、
前記振分部は、
前記要求元識別情報を含むアクセス要求を受信した場合に、該要求元識別情報に対応する前記１以上の仮想中継部識別情報を前記グループ情報記憶部から取得し、取得した各仮想中継部識別情報が示す各仮想中継部に前記アクセス要求を振り分ける
ことを特徴とする請求項１〜３のいずれか一つに記載の中継装置。
【請求項５】
１以上の要求元識別情報と、該１以上の要求元識別情報がグループ化された仮想中継グループを識別するためのグループ識別情報とを対応付けて記憶するグループ情報記憶部をさらに備え、
前記振分部は、
前記グループ識別情報を含むアクセス要求を受信した場合に、該グループ識別情報に対応する１以上の要求元識別情報を前記グループ情報記憶部から取得し、取得した各要求元識別情報に対応付けられた前記仮想中継部識別情報が示す各仮想中継部に前記アクセス要求を振り分ける
ことを特徴とする請求項１〜３のいずれか一つに記載の中継装置。
【請求項６】
コンテンツを識別するためのコンテンツ識別情報を含み該コンテンツへのアクセス要求を中継する中継装置で実行される中継方法であって、
前記アクセス要求に含まれるコンテンツ識別情報から該アクセス要求の中継先を決定する処理を行う仮想的な仮想中継部を起動させる仮想制御工程と、
前記アクセス要求によりコンテンツを要求しているコンテンツ要求元である利用者又は利用者の所属を識別するための要求元識別情報を含むアクセス要求を受信した場合に、該要求元識別情報に対応付けられた識別情報であって、前記アクセス要求が振り分けられる前記仮想中継部を識別する情報である仮想中継部識別情報を用いて、前記仮想中継部に該アクセス要求を振り分ける振分工程と、
前記振分工程においてアクセス要求が振り分けられた仮想中継部によって、該アクセス要求の中継先となる他の中継装置内の他の仮想中継部が決定された場合に、前記仮想中継部に対応する前記仮想中継部識別情報に対応付けられた要求元識別情報を含むアクセス要求を該他の中継装置に送信する送信工程と
を含んだことを特徴とする中継方法。
【請求項７】
コンテンツを識別するためのコンテンツ識別情報を含み該コンテンツへのアクセス要求を中継する中継装置を含むネットワークシステムであって、
前記中継装置が、
前記アクセス要求に含まれるコンテンツ識別情報から該アクセス要求の中継先を決定する処理を行う仮想的な仮想中継部と、
前記アクセス要求によりコンテンツを要求しているコンテンツ要求元である利用者又は利用者の所属を識別するための要求元識別情報を含むアクセス要求を受信した場合に、該要求元識別情報に対応付けられた識別情報であって、前記アクセス要求が振り分けられる前記仮想中継部を識別する情報である仮想中継部識別情報を用いて、前記仮想中継部に該アクセス要求を振り分ける振分部と、
前記振分部からアクセス要求が振り分けられた仮想中継部によって、該アクセス要求の中継先となる他の中継装置内の他の仮想中継部が決定された場合に、前記仮想中継部に対応する前記仮想中継部識別情報に対応付けられた要求元識別情報を含むアクセス要求を該他の中継装置に送信する送信部と
を有することを特徴とするネットワークシステム。
【請求項８】
コンピュータを請求項１〜５のいずれか一つに記載の中継装置として機能させるための中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法、ネットワークシステム及び中継プログラムに関する。
【背景技術】
【０００２】
近年、コンテンツを効率的に配信するために設計されたネットワークが知られている。例えば、ファイルサイズの大きいコンテンツをネットワーク経由で配信するために最適化されたコンテンツデリバリネットワーク（以下、「ＣＤＮ：Contents  Delivery  Network」と表記する場合がある）が知られている。また、相手先のホスト名を知らなくてもコンテンツ名だけで相手先へのアクセスを実現するコンテンツセントリックネットワーク（以下、「ＣＣＮ：Contents  Centric  Network」と表記する場合がある）が知られている。このＣＣＮは、コンテンツを中心とするネットワークアーキテクチャであり、ＣＤＮのようにコンテンツが分散配置されることで、高速かつ安定したコンテンツへのアクセスを可能にする。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Van  Jacobson,  et  al,  “Networking  Named  Content,”  in  Proceedings  of  ACM  CoNEXT  2009,  December  2009
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のＣＣＮには、セキュリティが低いという問題があった。具体的には、従来のＣＣＮは、利用者にアクセス制限が設けられたネットワークアーキテクチャではないので、一部の利用者のみに公開したいコンテンツであっても、全ての利用者にコンテンツを公開することになっていた。例えば、従来のＣＣＮをクラウド（cloud  computing）環境に適用した場合には、全ての利用者がＣＣＮ上のコンテンツに無制限にアクセスすることが可能であった。このように、従来のＣＣＮは、コンテンツへのアクセスにセキュリティ対策が施されていなかった。
【０００５】
本発明は、上記に鑑みてなされたものであって、コンテンツへのアクセスのセキュリティを向上させることができる中継装置、中継方法、ネットワークシステム及び中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施の形態は、一つの態様において、コンテンツを識別するためのコンテンツ識別情報を含み該コンテンツへのアクセス要求を中継する中継装置であって、前記アクセス要求に含まれるコンテンツ識別情報から該アクセス要求の中継先を決定する処理を行う仮想的な仮想中継部と、前記アクセス要求によりコンテンツを要求しているコンテンツ要求元である利用者又は利用者の所属を識別するための仮想中継情報を含むアクセス要求を受信した場合に、該仮想中継情報に対応付けられた仮想中継部に該アクセス要求を振り分ける振分部と、前記振分部からアクセス要求が振り分けられた仮想中継部によって、該アクセス要求の中継先となる他の中継装置内の他の仮想中継部が決定された場合に、該他の仮想中継部の仮想中継情報を含むアクセス要求を該他の中継装置に送信する送信部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明に係る中継装置、中継方法、ネットワークシステム及び中継プログラムは、コンテンツへのアクセスのセキュリティを向上させることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１に係るネットワークシステムの構成例を示す図である。
【図２】図２は、実施例１におけるユーザ端末によって送信されるＶＣＣＮパケットに記述されるコンテンツ名の一例を示す図である。
【図３】図３は、実施例１におけるＣＣＮノードの構成例を示す図である。
【図４】図４は、実施例１におけるデマルチプレクサが保持するＶＣＣＮテーブルの一例を示す図である。
【図５】図５は、実施例１におけるマルチプレクサが保持するＶＣＣＮテーブルの一例を示す図である。
【図６】図６は、実施例１におけるＣＣＮノードによる処理手順を示すフローチャートである。
【図７】図７は、実施例１におけるデマルチプレクサによる振分処理手順を示すフローチャートである。
【図８】図８は、実施例１におけるＶＣＣＮノードによる決定処理手順を示すフローチャートである。
【図９】図９は、実施例１におけるマルチプレクサによる送信処理手順を示すフローチャートである。
【図１０】図１０は、実施例２におけるＣＣＮノードの構成例を示す図である。
【図１１】図１１は、実施例２におけるデマルチプレクサがユーザ端末から受信するＶＣＣＮパケットの例を示す図である。
【図１２】図１２は、実施例２におけるデマルチプレクサが保持する認証テーブルの一例を示す図である。
【図１３】図１３は、実施例３におけるＣＣＮノードの構成例を示す図である。
【図１４】図１４は、実施例３におけるデマルチプレクサが保持する認証テーブルの一例を示す図である。
【図１５】図１５は、実施例３におけるデマルチプレクサが保持するＶＣＣＮグループテーブルの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明に係る中継装置、中継方法、ネットワークシステム及び中継プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。
【実施例１】
【００１０】
［実施例１に係るネットワークシステムの構成］
まず、図１を用いて、実施例１に係るネットワークシステムについて説明する。図１は、実施例１に係るネットワークシステム１の構成例を示す図である。図１に例示したネットワークシステム１は、コンテンツ識別情報としてのコンテンツ名を含むアクセス要求に応答してコンテンツを提供するＣＣＮを拡張したネットワークアーキテクチャである。なお、ここでいうコンテンツとは、デジタルコンテンツを示し、例えば、動画データ、音楽データや文字データ等である。
【００１１】
図１に例示するように、実施例１に係るネットワークシステム１は、利用者によって用いられるユーザ端末１０と、各種情報を中継するＣＣＮノード１００−１、１００−２及び１００−３とを含む。図１に示した例では、ユーザ端末１０とＣＣＮノード１００−１とはＣＣＮリンク２１により接続され、ＣＣＮノード１００−１とＣＣＮノード１００−２とはＣＣＮリンク２２により接続され、ＣＣＮノード１００−２とＣＣＮノード１００−３とはＣＣＮリンク２３により接続される。
【００１２】
なお、ネットワークシステム１に含まれるユーザ端末の台数やＣＣＮノードの台数は、図１に示した例に限られない。例えば、ネットワークシステム１には、２台以上のユーザ端末が含まれてもよいし、１台以上のＣＣＮノードが含まれていればよい。また、１台のＣＣＮノードには、複数のユーザ端末が接続されてもよいし、複数のＣＣＮノードが接続されてもよい。
【００１３】
このような構成の下、実施例１におけるＣＣＮノード１００−１は、図１に例示するように、仮想制御部１２０−１を有し、仮想制御部１２０−１による制御によって、ＣＣＮノード１００−１と同等の機能を有する仮想的な仮想中継部であるＶＣＣＮ（Virtual  CCN）ノードを複数起動させる。図１に示した例では、仮想制御部１２０−１は、ＣＣＮノード１００−１内に、ＶＣＣＮノード１２１−１、１２２−１及び１２３−１を起動させる。同様に、ＣＣＮノード１００−２は、仮想制御部１２０−２を有し、ＣＣＮノード１００−２と同等の機能を有するＶＣＣＮノードを複数起動させ、ＣＣＮノード１００−３は、仮想制御部１２０−３を有し、ＣＣＮノード１００−３と同等の機能を有するＶＣＣＮノードを複数起動させる。
【００１４】
なお、図１では、仮想制御部１２０−１、１２０−２、１２０−３の各々が３個のＶＣＣＮノードを起動させる例を示したが、仮想制御部１２０−１等が起動させるＶＣＣＮノードの数はこの例に限られない。例えば、仮想制御部１２０−１、１２０−２、１２０−３の各々は、１個以上のＶＣＣＮノードを起動させればよい。また、図１では、仮想制御部１２０−１、１２０−２及び１２０−３が同数のＶＣＣＮノードを起動させる例を示したが、仮想制御部１２０−１、１２０−２及び１２０−３によって起動されるＶＣＣＮノードの数は同一でなくてもよい。
【００１５】
なお、ＶＣＣＮノード１２１−１等による処理や、ＣＣＮノード１００−１等が有するデマルチプレクサ１１０−１等による処理や、マルチプレクサ１３０−１等による処理については、図３を用いて後述する。
【００１６】
ここで、実施例１に係るネットワークシステム１によって提供されるコンテンツは、各ＣＣＮノード内のＶＣＣＮノードのいずれかに割り当てられ、いずれかのＶＣＣＮノードによって保持される。ただし、ネットワークシステム１によって提供される各コンテンツは、いずれかのＶＣＣＮノードに割り当てられるものの、ＶＣＣＮノードは、必ずしもコンテンツが割り当てられるとは限らない。例えば、図１に示した例において、ＶＣＣＮノード１２１−１は、割り当てられたコンテンツを保持するが、ＶＣＣＮノード１２２−１及び１２３−１は、コンテンツが割り当てられず、コンテンツを保持しない場合がある。なお、ＶＣＣＮノードは、コンテンツ自体を保持するのではなく、コンテンツの所在位置のみを管理するだけでもよい。
【００１７】
また、実施例１では、ネットワークシステム１を利用する利用者に、利用者又は利用者の所属を識別するための情報が割り当てられる。そして、利用者がアクセスすることができるＶＣＣＮノードには、かかる利用者、又は、かかる利用者の所属を識別するための情報を割り当てる。言い換えれば、実施例１では、利用者又は利用者の所属を識別するための情報を、ＶＣＣＮノードを識別するための情報として用いる。以下では、利用者又は利用者の所属を識別するための情報（ＶＣＣＮノードを識別するための情報）を「仮想中継情報」と表記する場合がある。そして、ネットワークシステム１に含まれる各ＣＣＮノード内の各ＶＣＣＮノードには、かかるＶＣＣＮノードにアクセスすることができる利用者又は利用者の所属を識別するための仮想中継情報が割り当てられる。
【００１８】
例えば、利用者がネットワークシステム１の運用側との間でネットワークシステム１を利用するための契約等を行った場合に、ネットワークシステム１の運用側が、利用者に仮想中継情報を通知する。これにより、利用者は、ネットワークシステム１内に存在するＶＣＣＮノードの仮想中継情報を知ることになる。さらに、かかる仮想中継情報をネットワークシステム１内に存在するＶＣＣＮノードのいずれかに割り当てる。例えば、仮想中継情報「Ｆ１」である利用者がアクセスできるＶＣＣＮノードがＶＣＣＮノード１２１−１、１２１−２及び１２１−３である場合には、ＶＣＣＮノード１２１−１、１２１−２及び１２１−３には、仮想中継情報「Ｆ１」が割り当てられる。なお、このような仮想中継情報は、上記例のように、利用者毎や利用者の所属毎に割り当てられてもよいし、企業又は組織等の団体毎に割り当てられてもよい。
【００１９】
そして、ネットワークシステム１を利用する利用者は、ネットワークシステム１によって提供されるコンテンツにアクセスする場合に、ユーザ端末１０を操作することで、利用者自身に割り当てられた仮想中継情報と、アクセス対象のコンテンツのコンテンツ名とを含むアクセス要求をネットワークシステム１に送信する。そして、ネットワークシステム１は、アクセス要求に含まれる仮想中継情報及びコンテンツ名に基づいて、コンテンツを提供するか否かを判定する。
【００２０】
具体的には、図１に示した例において、ＣＣＮノード１００−１は、ユーザ端末１０からアクセス要求を受信した場合に、かかるアクセス要求に含まれる仮想中継情報が示すＶＣＣＮノードにアクセス要求を出力する。そして、アクセス要求を受け付けたＶＣＣＮノードは、アクセス要求に含まれるコンテンツ名が示すコンテンツを保持する場合には、かかるコンテンツをユーザ端末１０に送信する。一方、ＶＣＣＮノードは、アクセス要求に含まれるコンテンツ名が示すコンテンツを保持しない場合には、かかるコンテンツ名に基づいて、他のＣＣＮノードにアクセス要求を送信する。アクセス要求を受信した他のＶＣＣＮノードは、アクセス要求に含まれるコンテンツ名が示すコンテンツを保持するか否かを判定することで、コンテンツをユーザ端末１０に送信するか、又は、アクセス要求を他のＣＣＮノードに中継する。
【００２１】
また、実施例１に係るネットワークシステム１は、ユーザ端末１０から受信したアクセス要求に含まれる仮想中継情報がネットワークシステム１内で起動しているＶＣＣＮノードのいずれにも該当しない場合には、ユーザ端末１０にコンテンツを提供しない。また、ネットワークシステム１は、アクセス要求に含まれる仮想中継情報がＣＣＮノード１００−１内のＶＣＣＮノードのいずれかに該当する場合であっても、アクセス要求が中継される各ＶＣＣＮノードがアクセス要求において要求されているコンテンツを保持しない場合には、ユーザ端末１０にコンテンツを提供しない。
【００２２】
例えば、図１に例示したＶＣＣＮノード１２１−１、１２１−２及び１２１−３の仮想中継情報が「Ｆ１」であるものとする。また、コンテンツ名が「Ｃ１」であるコンテンツは、ＶＣＣＮノード１２１−３によって保持されるものとする。また、コンテンツ名「Ｃ１」を含むアクセス要求は、ＶＣＣＮノード１２１−１に入力された場合のみ、ＶＣＣＮノード１２１−２、ＶＣＣＮノード１２１−３の順に中継されるものとする。
【００２３】
このような場合に、仮想中継情報「Ｆ１」を割り当てられた利用者が、仮想中継情報「Ｆ１」及びコンテンツ名「Ｃ１」を含むアクセス要求をＣＣＮノード１００−１に送信したものとする。かかる場合に、アクセス要求は、ＶＣＣＮノード１２１−１、ＶＣＣＮノード１２１−２、ＶＣＣＮノード１２１−３の順に中継される。そして、ＶＣＣＮノード１２１−３は、コンテンツ名が「Ｃ１」であるコンテンツを保持するので、コンテンツ名「Ｃ１」を含むアクセス要求を受信した場合に、かかるコンテンツをＣＣＮノード１００−２とＣＣＮノード１００−１とを介して、ユーザ端末１０に送信する。
【００２４】
一方、上記例において、仮想中継情報「Ｆ２」を割り当てられた利用者が、仮想中継情報「Ｆ２」及びコンテンツ名「Ｃ１」を含むアクセス要求をＣＣＮノード１００−１に送信したものとする。かかる場合に、アクセス要求は、ＶＣＣＮノード１２１−１によって受信されない。すなわち、かかるアクセス要求は、ＶＣＣＮノード１２１−３に到達しないので、利用者は、コンテンツ名が「Ｃ１」であるコンテンツにアクセスすることができない。
【００２５】
また、上記例において、コンテンツ名「Ｃ２」を含むアクセス要求は、ＶＣＣＮノード１２２−２に入力された場合のみ、ＶＣＣＮノード１２２−２、ＶＣＣＮノード１２２−３の順に中継されるものとする。また、コンテンツ名が「Ｃ２」であるコンテンツは、ＶＣＣＮノード１２２−３に保持されるものとする。このとき、仮想中継情報「Ｆ１」を割り当てられた利用者が、仮想中継情報「Ｆ１」及びコンテンツ名「Ｃ２」を含むアクセス要求をＣＣＮノード１００−１に送信したものとする。かかる場合に、ユーザ端末１０から送信されたアクセス要求は、仮想中継情報が「Ｆ１」であるので、ＶＣＣＮノード１２１−１に入力される。しかし、このアクセス要求は、ＶＣＣＮノード１２２−３に到達しないので、利用者は、コンテンツ名が「Ｃ２」であるコンテンツにアクセスすることができない。
【００２６】
このように、実施例１に係るネットワークシステム１では、仮想中継情報とコンテンツ名との組み合わせが有効でない場合には、利用者にコンテンツが提供されない。言い換えれば、実施例１に係るネットワークシステム１では、仮想中継情報を割り当てた利用者毎に、かかる利用者に公開するコンテンツを設定することができる。すなわち、実施例１に係るネットワークシステム１は、コンテンツへのアクセスにセキュリティ対策が施されているので、コンテンツへのアクセスのセキュリティを向上させることができる。
【００２７】
以下に、このようなネットワークシステム１に含まれる各装置について説明する。なお、実施例１では、利用者に割り当てられる仮想中継情報が、ＶＣＣＮノードを特定可能な識別子である「ＶＣＣＮ−ＩＤ」である場合を例に挙げて説明する。また、以下では、ＶＣＣＮノードのＶＣＣＮ−ＩＤは、各ＶＣＣＮノードに付加した参照符号の先頭３桁であるものとする。例えば、ＶＣＣＮノード１２１−１のＶＣＣＮ−ＩＤは「１２１」であり、ＶＣＣＮノード１２２−１のＶＣＣＮ−ＩＤは「１２２」であるものとする。
【００２８】
また、以下では、ＣＣＮノード１００−１、１００−２及び１００−３を区別する必要がない場合には、これらを総称して「ＣＣＮノード１００」と表記する場合がある。同様に、デマルチプレクサ１１０−１、１１０−２及び１１０−３を総称して「デマルチプレクサ１１０」と表記する場合があり、仮想制御部１２０−１、１２０−２及び１２０−３を総称して「仮想制御部１２０」と表記する場合があり、マルチプレクサ１３０−１、１３０−２及び１３０−３を総称して「マルチプレクサ１３０」と表記する場合がある。同様に、ＶＣＣＮノード１２１−１、１２１−２及び１２１−３を総称して「ＶＣＣＮノード１２１」と表記する場合があり、ＶＣＣＮノード１２２−１、１２２−２及び１２２−３を総称して「ＶＣＣＮノード１２２」と表記する場合があり、ＶＣＣＮノード１２３−１、１２３−２及び１２３−３を総称して「ＶＣＣＮノード１２３」と表記する場合がある。
【００２９】
［実施例１におけるユーザ端末による処理］
まず、図１に示したユーザ端末１０による処理について説明する。ユーザ端末１０は、ネットワークシステム１を利用する利用者によって操作される情報処理装置であり、例えば、パーソナルコンピュータである。
【００３０】
実施例１におけるユーザ端末１０は、利用者から、コンテンツにアクセスする旨の操作、及び、アクセス対象のコンテンツのコンテンツ名の入力操作、及び、ＶＣＣＮ−ＩＤの入力操作を受け付ける。そして、ユーザ端末１０は、これらの操作が行われた場合に、コンテンツ名とＶＣＣＮ−ＩＤとを含むアクセス要求を、ＣＣＮノード１００に送信する。そして、ユーザ端末１０は、アクセス要求に応答してネットワークシステム１からコンテンツが提供された場合に、かかるコンテンツを受信する。
【００３１】
図１に示した例では、ユーザ端末１０は、ＣＣＮリンク２１を介してＣＣＮノード１００−１と接続されているので、利用者による操作に従って、コンテンツ名とＶＣＣＮ−ＩＤとを含むアクセス要求を、ＣＣＮリンク２１を介してＣＣＮノード１００−１に送信し、ＣＣＮノード１００−１からコンテンツを受信する。
【００３２】
ここで、実施例１に係るネットワークシステム１において流通するパケットについて説明する。まず、ＣＣＮにおいて流通するパケットについて説明すると、ＣＣＮにおいては、ＣＣＮパケットと呼ばれるパケットが流通する。例えば、ユーザ端末は、ＣＣＮ内のＣＣＮノードに対して、インタレストパケット（Interest  packet）等と呼ばれるＣＣＮパケットをアクセス要求として送信する。このアクセス要求であるＣＣＮパケットには、アクセス対象であるコンテンツのコンテンツ名等の情報が含まれる。また、ＣＣＮ内のＣＣＮノードは、ユーザ端末に対して、コンテンツのＣＣＮパケットを送信する。
【００３３】
一方、実施例１に係るネットワークシステム１では、ユーザ端末１０は、コンテンツ名だけでなく、ＶＣＣＮ−ＩＤ等の仮想中継情報を含むパケットをアクセス要求としてＣＣＮノード１００に送信する。また、後述するように、ＣＣＮノード１００は、コンテンツとともに、ＶＣＣＮ−ＩＤ等の仮想中継情報を含むパケットを送信する。以下では、実施例１に係るネットワークシステム１において流通するパケットのうち、ＶＣＣＮ−ＩＤ等の仮想中継情報が含まれるアクセス要求やコンテンツ等のパケットを「ＶＣＣＮパケット」と表記する場合がある。
【００３４】
図２に、実施例１におけるユーザ端末１０によって送信されるＶＣＣＮパケットに記述されるコンテンツ名の一例を示す。なお、図２の上段には、ＣＣＮにおいて流通するアクセス要求のＣＣＮパケットＰ１１に記述されるコンテンツ名を示し、図２の下段には、実施例１に係るネットワークシステム１において流通するアクセス要求のＶＣＣＮパケットＰ１２に記述されるコンテンツ名を示す。
【００３５】
図２に例示するように、ＣＣＮにおいて流通するアクセス要求のＣＣＮパケットＰ１１には、アクセス対象のコンテンツ名等の情報が含まれる。一方、実施例１におけるユーザ端末１０によって送信されるアクセス要求のＶＣＣＮパケットＰ１２に記述されるコンテンツ名には、ＣＣＮにおいて流通するアクセス要求（ＣＣＮパケットＰ１１）と比較して、データ領域Ｄ１１と、データ領域Ｄ１２とが付与される。
【００３６】
データ領域Ｄ１１には、ＶＣＣＮノードを利用することを示す情報である「制御文字列」が格納される。データ領域Ｄ１１に制御文字列が格納されているアクセス要求は、ＶＣＣＮノードが保持するコンテンツにアクセスする要求であることを示す。図２では、データ領域Ｄ１１に、制御文字列として「−ｖ」が格納される例を示している。なお、制御文字列は、ＶＣＣＮノードを利用することをＣＣＮノード１００が判別できれば、如何なる情報であってもよい。また、データ領域Ｄ１２には、ＶＣＣＮ−ＩＤが格納される。図２では、データ領域Ｄ１２に、ＶＣＣＮ−ＩＤとして「ａａａａａ−ａａａ」が格納される例を示している。
【００３７】
このように、ＶＣＣＮパケットＰ１２は、ＣＣＮパケットＰ１１にデータ領域Ｄ１１及びデータ領域Ｄ１２が付与されたパケットである。言い換えれば、ＶＣＣＮパケットＰ１２は、ＣＣＮパケットＰ１１がデータ領域Ｄ１１及びデータ領域Ｄ１２によりカプセル化されることで生成される。なお、ＶＣＣＮパケットＰ１２は、ＣＮＮパケットＰ１１がデータ領域Ｄ１１によりカプセル化された後に、さらにデータ領域Ｄ１２によりカプセル化されることで生成されてもよいし、ＣＮＮパケットＰ１１がデータ領域Ｄ１２によりカプセル化された後に、さらにデータ領域Ｄ１１によりカプセル化されることで生成されてもよい。
【００３８】
また、図示することを省略するが、実施例１に係るネットワークシステム１において流通するコンテンツのＶＣＣＮパケットは、ＣＣＮにおいて流通するコンテンツのＣＣＮパケットに制御文字列やＶＣＣＮ−ＩＤが付与されたものである。すなわち、ネットワークシステム１において流通するコンテンツのＶＣＣＮパケットは、ＣＣＮにおいて流通するコンテンツのＣＣＮパケットが、図２に例示したデータ領域Ｄ１１及びデータ領域Ｄ１２によりカプセル化されることで生成される。
【００３９】
［実施例１におけるＣＣＮノードの構成］
次に、図３を用いて、実施例１におけるＣＣＮノード１００について説明する。図３は、実施例１におけるＣＣＮノード１００の構成例を示す図である。図３に例示するように、実施例１におけるＣＣＮノード１００は、ＩＦ（Interface）部１１１と、デマルチプレクサ１１０と、仮想制御部１２０と、マルチプレクサ１３０とを有する。
【００４０】
ＩＦ部１１１は、ＣＣＮリンクを介して他のＣＣＮノードと接続され、接続先のＣＣＮノードとの間でＶＣＣＮパケット等を送受信する。図３に示した例では、ＩＦ部１１１は、ＩＦ１１１ａと、ＩＦ１１１ｂと、ＩＦ１１１ｃとを含む。ＩＦ１１１ａ、１１１ｂ、１１１ｃの各々は、接続されるＣＣＮノードが予め決められている。図３に示したＣＣＮノード１００が、図１に示したＣＣＮ１００−２である場合には、例えば、ＩＦ１１１ａは、ＣＣＮリンク２２を介してＣＣＮノード１００−１と接続され、ＣＣＮノード１００−１との間でＶＣＣＮパケット等を送受信する。また、例えば、ＩＦ１１１ｂは、ＣＣＮリンク２３を介してＣＣＮノード１００−３と接続され、ＣＣＮノード１００−３との間でＶＣＣＮパケット等を送受信する。
【００４１】
なお、図３に例示したＩＦ１１１ａ、１１１ｂ、１１１ｃは「ｆａｃｅ」等と呼ばれる場合もある。また、図３では、ＩＦ部１１１に３個のＩＦが含まれる例を示したが、ＩＦ部１１１に含まれるＩＦの数はこれに限られない。例えば、ＩＦ部１１１は、１個や２個、又は、４個以上のＩＦを有してもよい。
【００４２】
デマルチプレクサ１１０は、図３に例示するように、ＶＣＣＮテーブル１１２と、振分部１１３とを有する。
【００４３】
ＶＣＣＮテーブル１１２は、ＣＣＮノード１００内で起動されるＶＣＣＮノードのＶＣＣＮ−ＩＤに対応付けて、かかるＶＣＣＮノードのノード名を記憶する。なお、以下では、ＶＣＣＮノードのノード名を「ＶＣＣＮノード名」と表記する場合がある。このＶＣＣＮテーブル１１２は、後述する振分部１１３によってＣＣＮパケットの振分先決定処理が行われる際に参照される。
【００４４】
図４に、実施例１におけるデマルチプレクサ１１０が保持するＶＣＣＮテーブル１１２の一例を示す。図４に例示したＶＣＣＮテーブル１１２は、図１に例示したＣＣＮノード１００−１のデマルチプレクサ１１０−１が保持するものとする。ＣＣＮノード１００−１では、ＶＣＣＮノード１２１−１、１２２−１及び１２３−１が起動されるので、ＶＣＣＮテーブル１１２は、図４に例示するように、ＶＣＣＮ−ＩＤ「１２１」、「１２２」、「１２３」を記憶する。
【００４５】
そして、図４の例では、ＶＣＣＮ−ＩＤが「１２１」であるＶＣＣＮノード１２１−１のＶＣＣＮノード名が「ノードＮ１２１」であることを示しており、ＶＣＣＮ−ＩＤが「１２２」であるＶＣＣＮノード１２２−１のノード名が「ノードＮ１２２」であることを示しており、ＶＣＣＮ−ＩＤが「１２３」であるＶＣＣＮノード１２３−１のノード名が「ノードＮ１２３」であることを示している。なお、実施例１では、「ＶＣＣＮノードＸＸＸ−Ｙ」のＶＣＣＮノード名は、「ノードＮＸＸＸ」であるものとする。例えば、ＶＣＣＮノード１２１−１のＶＣＣＮノード名は「ノードＮ１２１」であり、ＶＣＣＮノード１２２−１のＶＣＣＮノード名は「ノードＮ１２２」であるものとする。
【００４６】
図３の説明に戻って、振分部１１３は、ＶＣＣＮパケットを受信した場合に、かかるＶＣＣＮパケットをデカプセル化してＣＣＮパケットを抽出し、ＶＣＣＮパケットに含まれるＶＣＣＮ−ＩＤによって示されるＶＣＣＮノードに対して、デカプセル化後のＣＣＮパケットを振り分ける。かかる振分部１１３は、図３に例示するように、カプセル除去部１１３ａと、取得部１１３ｂとを有する。
【００４７】
カプセル除去部１１３ａは、ＩＦ１１１ａ、１１１ｂ又は１１１ｃからパケットを入力された場合に、かかるパケットに、ＶＣＣＮノードを利用することを示す制御文字列が格納されているか否かを判定する。そして、カプセル除去部１１３ａは、パケットに制御文字列が格納されている場合には、ＩＦ１１１ａ等から入力されたパケットがＶＣＣＮパケットであると判定し、かかるＶＣＣＮパケットからＶＣＣＮ−ＩＤを取得する。このとき、カプセル除去部１１３ａは、ＶＣＣＮパケットから制御文字列及びＶＣＣＮ−ＩＤを除去する処理を行う。言い換えれば、カプセル除去部１１３ａは、ＶＣＣＮパケットから、制御文字列及びＶＣＣＮ−ＩＤを除去することにより、ＣＣＮパケットを抽出するデカプセル化処理を行う。
【００４８】
例えば、図２に例示したＶＣＣＮパケットＰ１２がカプセル除去部１１３ａに入力されたものとする。かかる場合に、カプセル除去部１１３ａは、ＶＣＣＮパケットＰ１２のデータ領域Ｄ１１に制御文字列「−ｖ」が格納されているので、かかるＶＣＣＮパケットＰ１２がＶＣＣＮパケットであると判定する。そして、カプセル除去部１１３ａは、ＶＣＣＮパケットＰ１２からＶＣＣＮ−ＩＤ「ａａａａａ−ａａａ」を取得するとともに、ＶＣＣＮパケットＰ１２から制御文字列「−ｖ」及びＶＣＣＮ−ＩＤ「ａａａａａ−ａａａ」を除去することで、ＣＣＮパケットＰ１１を抽出する。
【００４９】
また、カプセル除去部１１３ａは、ＩＦ１１１ａ等から入力されたパケットに制御文字列が格納されていない場合には、かかるパケットがＶＣＣＮパケットでないと判定する。このとき、カプセル除去部１１３ａは、入力されたパケットがＣＣＮパケットである場合には、ＣＣＮに準拠した中継処理を行ってもよいし、かかるＣＣＮパケットを廃棄してもよい。なお、カプセル除去部１１３ａは、ＣＣＮに準拠したＣＣＮパケットの中継処理を行う場合には、ＣＣＮに準拠した中継処理を行うことができるＣＣＮノード１００にＣＣＮパケットの中継処理を行わせる。
【００５０】
取得部１１３ｂは、カプセル除去部１１３ａによって取得されたＶＣＣＮ−ＩＤに基づいて、カプセル除去部１１３ａによって抽出されたＣＣＮパケットの振分先となるＶＣＣＮノードを決定する。具体的には、取得部１１３ｂは、カプセル除去部１１３ａによって取得されたＶＣＣＮ−ＩＤに対応するＶＣＣＮノード名をＶＣＣＮテーブル１１２から取得する。そして、取得部１１３ｂは、ＶＣＣＮテーブル１１２からＶＣＣＮノード名を取得できた場合には、取得したＶＣＣＮノード名に対応するＶＣＣＮノード１２１、１２２又は１２３のいずれかに、ＣＣＮパケットを出力する。
【００５１】
例えば、ＶＣＣＮテーブル１１２が図４に示した各種情報を記憶するものとする。そして、カプセル除去部１１３ａによって、ＶＣＣＮパケットからＶＣＣＮ−ＩＤ「１２１」が取得されたものとする。かかる場合に、取得部１１３ｂは、ＶＣＣＮテーブル１１２から、ＶＣＣＮ−ＩＤ「１２１」に対応するＶＣＣＮノード名「ノードＮ１２１」を取得する。かかる場合には、取得部１１３ｂは、カプセル除去部１１３ａによって抽出されたＣＣＮパケットを、ＶＣＣＮノード名が「ノードＮ１２１」であるＶＣＣＮノード１２１に出力する。
【００５２】
また、取得部１１３ｂは、ＶＣＣＮテーブル１１２からＶＣＣＮノード名を取得できない場合には、カプセル除去部１１３ａによって抽出されたＣＣＮパケットを特定のＶＣＣＮノードに出力する。ここでいう「特定のＶＣＣＮノード」とは、所定のデフォルト処理を行うためのＶＣＣＮノードである。以下では、このような所定のデフォルト処理を行う特定のＶＣＣＮノードを「デフォルトＶＣＣＮノード」と表記する場合がある。なお、デフォルトＶＣＣＮノードによる処理については、後述する。
【００５３】
仮想制御部１２０は、ＣＣＮノード１００と同様の中継処理を行うことができるＶＣＣＮノード１２１、１２２及び１２３を起動させ、起動させたＶＣＣＮノード１２１等による処理を制御する。
【００５４】
ここで、ＶＣＣＮノード１２１、１２２、１２３による処理は同様であるので、ＶＣＣＮノード１２１を例に挙げて、ＶＣＣＮノードによる処理について説明する。ＶＣＣＮノード１２１によって行われる各種処理は、ＣＣＮに準拠するＣＣＮノードが備える機能により実現することができる。
【００５５】
具体的には、ＣＣＮに準拠するＣＣＮノードは、一般に、「コンテンツ名のプレフィックス」と「アクセス要求の中継先ＩＦ情報」とが対応付けられた経路制御表を保持する。ここでいう「アクセス要求の中継先ＩＦ情報」とは、ＣＣＮノードの出力ポートを示し、例えば、ＩＦ１１１ａ、１１１ｂ、１１１ｃのいずれかを示す情報に相当する。そして、このようなＣＣＮノードは、図２に例示したＣＣＮパケットＰ１１等のアクセス要求を受信した場合に、経路制御表を参照して、アクセス要求に含まれるコンテンツ名のプレフィックスに対応する中継先ＩＦ情報を取得する。そして、ＣＣＮノード１００は、取得した中継先ＩＦ情報が示すＩＦにアクセス要求を送信する。
【００５６】
実施例１におけるＶＣＣＮノード１２１は、このようなＣＣＮに準拠するＣＣＮノードによる中継先決定処理と同様に、デマルチプレクサ１１０から受け付けたアクセス要求の中継先を決定する処理を行う。例えば、ＶＣＣＮノード１２１は、「コンテンツ名のプレフィックス」と「アクセス要求の中継先ＩＦ情報」とが対応付けられた経路制御表を保持する。そして、ＶＣＣＮノード１２１は、デマルチプレクサ１１０からアクセス要求のＣＣＮパケットが入力された場合に、上記のＣＣＮノードによる中継先決定処理と同様に、経路制御表を参照することで、アクセス要求に含まれるコンテンツ名のプレフィックスに対応する中継先ＩＦ情報を取得する。そして、ＶＣＣＮノード１２１は、マルチプレクサ１３０に対して、中継先ＩＦ情報が示すＩＦにＣＣＮパケットを送信するように依頼する。
【００５７】
このように、ＶＣＣＮノード１２１は、デマルチプレクサ１１０からＣＣＮパケットが入力されるので、ＣＣＮに準拠するＣＣＮノード１００と同様の処理により、アクセス要求の中継先を決定することができる。
【００５８】
ＶＣＣＮノード１２１による各種処理についてより詳細に説明する。ＶＣＣＮノード１２１は、デマルチプレクサ１１０からＣＣＮパケットを入力された場合に、かかるＣＣＮパケットの中継先ＩＦを決定し、決定した中継先ＩＦを示す中継先ＩＦ情報と、ＣＣＮパケットとをマルチプレクサ１３０に出力する。
【００５９】
具体的には、ＶＣＣＮノード１２１は、デマルチプレクサ１１０からＣＣＮパケットを入力された場合に、かかるＣＣＮパケットがアクセス要求又はコンテンツのいずれであるかを判定する。
【００６０】
そして、ＶＣＣＮノード１２１は、アクセス要求であるＣＣＮパケットが入力された場合には、かかるアクセス要求に含まれるコンテンツ名によって示されるコンテンツが、ＶＣＣＮノード１２１自身に割り当てられているか否かを判定する。言い換えれば、ＶＣＣＮノード１２１は、アクセス要求において要求されているコンテンツを保持するか否かを判定する。そして、ＶＣＣＮノード１２１は、コンテンツが自身に割り当てられている場合には、かかるコンテンツのＣＣＮパケットをマルチプレクサ１３０に出力する。このとき、ＶＣＣＮノード１２１は、コンテンツの中継先ＩＦを、アクセス要求を受信したＩＦである送信元ＩＦにすることを決定する。そして、ＶＣＣＮノード１２１は、コンテンツのＣＣＮパケットとともに、かかるコンテンツの中継先ＩＦ情報として、アクセス要求の送信元ＩＦを示す情報をマルチプレクサ１３０に出力する。
【００６１】
例えば、ＣＣＮノード１００のＩＦ１１１ａがアクセス要求を受信し、ＶＣＣＮノード１２１がかかるアクセス要求において要求されているコンテンツを保持するものとする。かかる場合には、ＶＣＣＮノード１２１は、自身が保持するコンテンツのＣＣＮパケットと、アクセス要求の送信元ＩＦである「ＩＦ１１１ａ」を示す情報を中継先ＩＦ情報としてマルチプレクサ１３０に出力する。
【００６２】
一方、ＶＣＣＮノード１２１は、アクセス要求に含まれるコンテンツ名によって示されるコンテンツが自身に割り当てられていない場合には、上述した経路制御表と、ＣＣＮパケットに含まれるコンテンツ名に基づいて、アクセス要求の中継先ＩＦを決定する。そして、ＶＣＣＮノード１２１は、デマルチプレクサ１１０から入力されたＣＣＮパケットと、中継先ＩＦを示す中継先ＩＦ情報とをマルチプレクサ１３０に出力する。
【００６３】
このとき、ＶＣＣＮノード１２１は、アクセス要求の送信元であるユーザ端末１０又はＶＣＣＮノードに関する情報や、アクセス要求の送信元ＩＦに関する情報等を、アクセス要求の中継経路情報として、所定の記憶部に格納する。なお、実施例１におけるＶＣＣＮノード１２１は、アクセス要求の中継経路情報として、アクセス要求の送信元ＩＦを示す情報及びアクセス要求に含まれるコンテンツ名を所定の記憶部に格納するものとする。
【００６４】
例えば、ＣＣＮノード１００のＩＦ１１１ａがアクセス要求を受信し、ＶＣＣＮノード１２１がかかるアクセス要求を他のＣＣＮノードに中継することを決定したものとする。かかる場合に、ＶＣＣＮノード１２１は、アクセス要求の送信元ＩＦである「ＩＦ１１１ａ」を示す情報と、アクセス要求に含まれるコンテンツ名とを中継経路情報として所定の記憶部に格納する。
【００６５】
また、ＶＣＣＮノード１２１は、デマルチプレクサ１１０からコンテンツのＣＣＮパケットを入力された場合には、上述した中継経路情報を参照して、かかるコンテンツのＣＣＮパケットの中継先を決定する。具体的には、ＶＣＣＮノード１２１は、コンテンツへのアクセス要求を送信した送信元ＩＦを示す情報を中継経路情報から取得し、取得した送信元ＩＦをコンテンツのＣＣＮパケットの中継先ＩＦにすることを決定する。そして、ＶＣＣＮノード１２１は、コンテンツのＣＣＮパケットと、コンテンツの中継先ＩＦを示す中継先ＩＦ情報とをマルチプレクサ１３０に出力する。
【００６６】
また、ＶＣＣＮノード１２１は、デフォルトＶＣＣＮノードである場合には、デマルチプレクサ１１０から入力されたＣＣＮパケットに対して、所定のデフォルト処理を行う。例えば、ＶＣＣＮノード１２１は、マルチプレクサ１３０から入力されたＣＣＮパケットを廃棄し、かかるＣＣＮパケットを送信したユーザ端末１０に対してエラー通知を行う。また、ＶＣＣＮノード１２１は、マルチプレクサ１３０から入力されたＣＣＮパケットを、隣接する全てのＣＣＮノードに送信してもよい。
【００６７】
このようなデフォルトＶＣＣＮノードにＣＣＮパケットが入力されるケースは、ＣＣＮノード内のいずれのＶＣＣＮノードにも対応しないＶＣＣＮ−ＩＤが割り当てられたＶＣＣＮパケットを受信した場合等に発生しうる。例えば、あるＶＣＣＮ−ＩＤが割り当てられている利用者がＶＣＣＮ−ＩＤに任意の情報を設定してアクセス要求となるＶＣＣＮパケットを送信する操作を行ったものとする。しかし、そのＶＣＣＮ−ＩＤを含むＶＣＣＮパケットを受信したＣＣＮノード１００において、そのＶＣＣＮ−ＩＤがＶＣＣＮテーブル１１２に記憶されていない場合には、ＣＣＮノード１００はＶＣＣＮパケットをデフォルトＶＣＣＮノードで処理するように送信する。デフォルトＶＣＣＮノードは、全ての中継先ＩＦからＶＣＣＮパケットを送出する。これにより、全てのＣＣＮノードに全てのＶＣＣＮ−ＩＤに対応するＶＣＣＮノードを設定することなく、全てのＶＣＣＮ−ＩＤを設定されたＶＣＣＮパケットが対応するＶＣＣＮノードに到達可能となる。
【００６８】
なお、ＶＣＣＮノード１２１がデフォルトＶＣＣＮノードである場合には、ネットワーク管理者等は、かかるＶＣＣＮノード１２１のコンテンツキャッシュ機能を無効に設定することが望ましい。これは、デフォルトＶＣＣＮノードが、ＣＣＮノード内に受信したＶＣＣＮパケットに対応するＶＣＣＮノードが存在しない場合に、次のＣＣＮノードへデフォルトで中継する処理を行う際に、コンテンツのキャッシュを用いると誤ってコンテンツが送信されてしまう可能性を排除するためである。すなわち、デフォルトＶＣＣＮノードのコンテンツキャッシュ機能をオフに設定することで、デフォルトＶＣＣＮノードから誤ってコンテンツが送信されることを確実に防止することができる。
【００６９】
マルチプレクサ１３０は、図３に例示するように、ＶＣＣＮテーブル１３２と、送信部１３３とを有する。
【００７０】
ＶＣＣＮテーブル１３２は、ＣＣＮノード１００内で起動されるＶＣＣＮノードのＶＣＣＮノード名に対応付けて、かかるＶＣＣＮノードのＶＣＣＮ−ＩＤを記憶する。このＶＣＣＮテーブル１３２は、後述する送信部１３３によってＶＣＣＮパケット送信処理が行われる際に参照される。
【００７１】
図５に、実施例１におけるマルチプレクサ１３０が保持するＶＣＣＮテーブル１３２の一例を示す。図５に例示したＶＣＣＮテーブル１３２は、図１に例示したＣＣＮノード１００−１のマルチプレクサ１３０−１が保持するものとする。図５に例示するように、ＶＣＣＮテーブル１３２は、ＶＣＣＮノード名「ノードＮ１２１」、「ノードＮ１２２」、「ノードＮ１２３」を記憶する。
【００７２】
そして、図５の例では、ＶＣＣＮノード名が「ノードＮ１２１」であるＶＣＣＮノードのＶＣＣＮ−ＩＤが「１２１」であることを示している。言い換えれば、図５の例では、ＶＣＣＮノード１２１のＶＣＣＮノード名が「ノードＮ１２１」であることを示している。また、図５の例では、ＶＣＣＮノード名が「ノードＮ１２２」であるＶＣＣＮノード１２２のＶＣＣＮ−ＩＤが「１２２」であることを示しており、ＶＣＣＮノード名が「ノードＮ１２３」であるＶＣＣＮノード１２３のＶＣＣＮ−ＩＤが「１２３」であることを示している。
【００７３】
図３の説明に戻って、送信部１３３は、ＶＣＣＮノード１２１等からＣＣＮパケットとＣＣＮパケットの中継先となる中継先ＩＦ情報を入力された場合に、かかるＣＣＮパケットをカプセル化することによりＶＣＣＮパケットを生成し、カプセル化後のＶＣＣＮパケットを中継先ＩＦ情報が示すＩＦに送信する。かかる送信部１３３は、図３に例示するように、取得部１３３ａと、カプセル化部１３３ｂとを有する。
【００７４】
取得部１３３ａは、ＶＣＣＮノード１２１等から、ＣＣＮパケットと中継先ＩＦ情報を入力された場合に、かかるＣＣＮパケット等を入力したＶＣＣＮノードのＶＣＣＮノード名に対応するＶＣＣＮ−ＩＤをＶＣＣＮテーブル１３２から取得する。そして、取得部１３３ａは、ＶＣＣＮノード１２１等から入力されたＣＣＮパケットと、中継先ＩＦ情報と、ＶＣＣＮテーブル１３２から取得したＶＣＣＮ−ＩＤとをカプセル化部１３３ｂに出力する。
【００７５】
カプセル化部１３３ｂは、取得部１３３ａからＣＣＮパケット、中継先ＩＦ情報及びＶＣＣＮ−ＩＤを入力された場合に、かかるＣＣＮパケットをＶＣＣＮ−ＩＤによりカプセル化する。具体的には、カプセル化部１３３ｂは、取得部１３３ａから入力されたＣＣＮパケットに、ＶＣＣＮノードを利用することを示す制御文字列と、取得部１３３ａから入力されたＶＣＣＮ−ＩＤとを付与する。すなわち、カプセル化部１３３ｂは、取得部１３３ａから入力されたＣＣＮパケットをカプセル化することにより、ＶＣＣＮパケットを生成する。
【００７６】
そして、カプセル化部１３３ｂは、取得部１３３ａから入力された中継先ＩＦ情報が示すＩＦ１１１ａ、１１１ｂ又は１１１ｃのいずれかを介して、カプセル化後のＶＣＣＮパケットを他のＣＣＮノードに送信する。言い換えれば、カプセル化部１３３ｂは、取得部１３３ａから入力されたＶＣＣＮ−ＩＤによって示されるＶＣＣＮノードが起動しているＣＣＮノードに対して、カプセル化後のＶＣＣＮパケットを送信することになる。
【００７７】
［実施例１におけるＣＣＮノードによる処理手順］
次に、図６を用いて、実施例１におけるＣＣＮノード１００による処理の手順について説明する。図６は、実施例１におけるＣＣＮノード１００による処理手順を示すフローチャートである。なお、以下では、ＣＣＮノード１００がＶＣＣＮパケットを受信した場合について説明する。
【００７８】
図６に示すように、ＣＣＮノード１００のデマルチプレクサ１１０は、ＶＣＣＮパケットを受信した場合に、かかるＶＣＣＮパケットをデカプセル化することでＣＣＮパケットを抽出し、抽出したＣＣＮパケットをＶＣＣＮノードに振り分ける振分処理を行う（ステップＳ１０１）。なお、デマルチプレクサ１１０による振分処理については、図７を用いて後述する。
【００７９】
続いて、ＣＣＮノード１００のＶＣＣＮノードは、デマルチプレクサ１１０から振り分けられたＣＣＮパケットの中継先を決定する決定処理を行う（ステップＳ１０２）。なお、ＶＣＣＮノード１２１による決定処理については、図８を用いて後述する。
【００８０】
続いて、ＣＣＮノード１００のマルチプレクサ１３０は、ＶＣＣＮノード１２１から入力されるＣＣＮパケットをカプセル化することによりＶＣＣＮパケットを生成し、生成したＶＣＣＮパケットを、ＶＣＣＮノード１２１によって決定された中継先ＩＦに送信する送信処理を行う（ステップＳ１０３）。なお、マルチプレクサ１３０による送信処理については、図９を用いて後述する。
【００８１】
次に、図７を用いて、図６のステップＳ１０１に示したデマルチプレクサ１１０による振分処理の手順について説明する。図７は、実施例１におけるデマルチプレクサ１１０による振分処理手順を示すフローチャートである。
【００８２】
図７に示すように、デマルチプレクサ１１０のカプセル除去部１１３ａは、ＩＦ１１１ａ、１１１ｂ又は１１１ｃからＶＣＣＮパケットを受信した場合に（ステップＳ２０１肯定）、かかるＶＣＣＮパケットからＶＣＣＮ−ＩＤを取得するとともに、ＶＣＣＮパケットから制御文字列及びＶＣＣＮ−ＩＤを除去するデカプセル化処理を行う（ステップＳ２０２）。
【００８３】
続いて、デマルチプレクサ１１０の取得部１１３ｂは、カプセル除去部１１３ａによって取得されたＶＣＣＮ−ＩＤに対応するＶＣＣＮノード名をＶＣＣＮテーブル１１２から取得する（ステップＳ２０３）。
【００８４】
ここで、取得部１１３ｂは、ＶＣＣＮテーブル１１２からＶＣＣＮノード名を取得できた場合には（ステップＳ２０４肯定）、取得したＶＣＣＮノード名に対応するＶＣＣＮノード１２１、１２２又は１２３のいずれかに、ＣＣＮパケットを出力する（ステップＳ１０５）。
【００８５】
一方、取得部１１３ｂは、ＶＣＣＮテーブル１１２からＶＣＣＮノード名を取得できない場合には（ステップＳ２０４否定）、かかるＣＣＮパケットをデフォルトＶＣＣＮノードに出力する（ステップＳ２０６）。
【００８６】
次に、図８を用いて、図６のステップＳ１０２に示したＶＣＣＮノード１２１、１２２及び１２３による決定処理の手順について説明する。図８は、実施例１におけるＶＣＣＮノード１２１、１２２及び１２３による決定処理手順を示すフローチャートである。なお、ＶＣＣＮノード１２１、１２２及び１２３による決定処理手順は同様であるので、以下では、ＶＣＣＮノード１２１について説明する。
【００８７】
図８に示すように、ＶＣＣＮノード１２１は、デマルチプレクサ１１０からアクセス要求のＣＣＮパケットを入力された場合に（ステップＳ３０１肯定）、アクセス要求において要求されているコンテンツを保持するか否かを判定する（ステップＳ３０２）。具体的には、ＶＣＣＮノード１２１は、アクセス要求のＣＣＮパケットに含まれるコンテンツ名によって示されるコンテンツを保持するか否かを判定する。
【００８８】
そして、ＶＣＣＮノード１２１は、コンテンツを保持する場合には（ステップＳ３０２肯定）、アクセス要求の送信元ＩＦをコンテンツの中継先ＩＦにすることを決定する（ステップＳ３０３）。そして、ＶＣＣＮノード１２１は、コンテンツのＣＣＮパケットと、かかるＣＣＮパケットの中継先ＩＦを示す中継先ＩＦ情報をマルチプレクサ１３０に出力する（ステップＳ３０４）。
【００８９】
一方、ＶＣＣＮノード１２１は、コンテンツを保持しない場合には（ステップＳ３０２否定）、ＣＣＮパケットに含まれるコンテンツ名を用いて経路制御表を参照し、アクセス要求の中継先ＩＦを決定する（ステップＳ３０５）。続いて、ＶＣＣＮノード１２１は、アクセス要求の送信元ＩＦを示す情報及びアクセス要求に含まれるコンテンツ名を中継経路情報として所定の記憶部に格納し（ステップＳ３０６）、アクセス要求のＣＣＮパケットと中継先ＩＦ情報とをマルチプレクサ１３０に出力する（ステップＳ３０７）。
【００９０】
また、ＶＣＣＮノード１２１は、デマルチプレクサ１１０から、アクセス要求のＣＣＮパケットではなく（ステップＳ３０１否定）、コンテンツのＣＣＮパケットを入力された場合には（ステップＳ３０８肯定）、中継経路情報を参照して、コンテンツのＣＣＮパケットの中継先ＩＦを決定する（ステップＳ３０９）。そして、ＶＣＣＮノード１２１は、コンテンツのＣＣＮパケットと、かかるＣＣＮパケットの中継先ＩＦを示す中継先ＩＦ情報とをマルチプレクサ１３０に出力する（ステップＳ３１０）。
【００９１】
次に、図９を用いて、図６のステップＳ１０３に示したマルチプレクサ１３０による送信処理の手順について説明する。図９は、実施例１におけるマルチプレクサ１３０による送信処理手順を示すフローチャートである。
【００９２】
図９に示すように、マルチプレクサ１３０の取得部１３３ａは、ＶＣＣＮノードから、ＣＣＮパケットと、かかるＣＣＮパケットの中継先ＩＦ情報とを入力された場合に（ステップＳ４０１肯定）、かかるＣＣＮパケット等を入力したＶＣＣＮノードのＶＣＣＮノード名に対応するＶＣＣＮ−ＩＤをＶＣＣＮテーブル１３２から取得する（ステップＳ４０２）。
【００９３】
そして、マルチプレクサ１３０のカプセル化部１３３ｂは、取得部１３３ａによって取得されたＶＣＣＮ−ＩＤを用いて、ＣＣＮパケットをカプセル化する（ステップＳ４０３）。具体的には、カプセル化部１３３ｂは、ＣＣＮパケットに制御文字列及びＶＣＣＮ−ＩＤを付与することでＶＣＣＮパケットを生成する。
【００９４】
そして、カプセル化部１３３ｂは、ＶＣＣＮノードから入力された中継先ＩＦ情報によって示されるＩＦ１１１ａ、１１１ｂ又は１１１ｃのいずれかを介して、カプセル化後のＶＣＣＮパケットを送信する（ステップＳ４０４）。
【００９５】
［実施例１の効果］
上述してきたように、実施例１におけるＣＣＮノード１００のＶＣＣＮノードは、アクセス要求に含まれるコンテンツ名からアクセス要求の中継先を決定する処理を行う。そして、デマルチプレクサ１１０の振分部１１３は、かかるアクセス要求によりコンテンツを要求しているコンテンツ要求元である利用者又は利用者の所属を識別するための仮想中継情報を含むアクセス要求を受信した場合に、かかる仮想中継情報に対応付けられた仮想中継部にアクセス要求を振り分ける。そして、マルチプレクサ１３０の送信部１３３は、振分部１１３からアクセス要求が振り分けられたＶＣＣＮノードによって、アクセス要求の中継先となる他の中継装置内の他の仮想中継部が決定された場合に、かかる他の仮想中継部の仮想中継情報を含むアクセス要求を他の中継装置に送信する。
【００９６】
すなわち、実施例１に係るネットワークシステム１では、アクセス要求のＶＣＣＮパケットが中継されるＶＣＣＮノードは、アクセス要求に含まれる仮想中継情報によって決定される。また、コンテンツのＶＣＣＮパケットもアクセス要求の中継経路を逆に辿ってユーザ端末１０に送信されるので、コンテンツのＶＣＣＮパケットが中継されるＶＣＣＮノードは、仮想中継情報によって決定されるといえる。このため、実施例１に係るネットワークシステム１は、利用者に割り当てられた仮想中継情報によってＶＣＣＮパケットが流通するＶＣＣＮノードを限定できるので、仮想中継情報毎にＶＣＣＮパケットの流通を閉域化することができる。
【００９７】
このため、実施例１に係るネットワークシステム１では、ＶＣＣＮパケットが中継されるＶＣＣＮノードが仮想中継情報によって制限されるので、利用者がアクセスできるコンテンツも制限されることになる。例えば、ＶＣＣＮパケットが中継されないＶＣＣＮノードに所望のコンテンツが存在する場合には、利用者は、かかるコンテンツにアクセスすることができない。言い換えれば、利用者（個人又は団体）がアクセス可能なＶＣＣＮノードに所望のコンテンツが存在する場合のみ、かかる利用者は、所望のコンテンツにアクセスすることができる。この結果、実施例１に係るネットワークシステム１では、仮想中継情報を割り当てた利用者毎に、かかる利用者に公開するコンテンツを設定することができる。つまり、実施例１に係るネットワークシステム１は、コンテンツへのアクセスにセキュリティ対策が施されているので、コンテンツへのアクセスのセキュリティを向上させることができる。
【００９８】
また、実施例１に係るネットワークシステム１では、各コンテンツが複数のＶＣＣＮノードのいずれかに割り当てられる。そして、ＶＣＣＮノードは、アクセス要求において要求されているコンテンツが割り当てられているか否かを判定し、割り当てられていない場合には、アクセス要求の中継先を決定する。また、マルチプレクサ１３０の送信部１３３は、ＶＣＣＮノードによって、アクセス要求において要求されているコンテンツが割り当てられていると判定された場合には、アクセス要求の送信元にコンテンツを送信する。
【００９９】
これにより、実施例１に係るネットワークシステム１は、コンテンツが割り当てられているＶＣＣＮノードに到達可能な中継仮想情報を知る利用者のみに、かかるコンテンツにアクセスさせることができる。すなわち、実施例１に係るネットワークシステム１は、コンテンツへのアクセスにセキュリティ対策が施されているので、コンテンツへのアクセスのセキュリティを向上させることができる。
【０１００】
また、実施例１に係るネットワークシステム１では、カプセル除去部１１３ａが、ＶＣＣＮパケットから制御文字列及びＶＣＣＮ−ＩＤを除去するデカプセル化処理を行うことで、ＣＣＮパケットを抽出する。そして、取得部１１３ｂは、ＶＣＣＮパケットに含まれるＶＣＣＮ−ＩＤに基づいて、カプセル除去部１１３ａによって抽出されたＣＣＮパケットをＶＣＣＮノードに振り分ける。そして、カプセル化部１３３ｂは、中継先となるＶＣＣＮノードのＶＣＣＮ−ＩＤをＣＣＮパケットに付与するカプセル化処理を行うことでＶＣＣＮパケットを生成し、生成したＶＣＣＮパケットを中継先となるＶＣＣＮノードに送信する。
【０１０１】
これにより、ＣＣＮノード１００内のＶＣＣＮノードは、ＣＣＮパケットが振り分けられるので、ＣＣＮに準拠するＣＣＮノードと同様の処理を行うことができる。すなわち、実施例１におけるネットワークシステム１は、ＣＣＮに準拠するＣＣＮノードによる処理を大きく改変することなく、ＶＣＣＮノードによる処理を実現することができる。
【実施例２】
【０１０２】
上記実施例１において、ユーザ端末１０と接続されるエッジノードであるＣＣＮノードは、ユーザ名及びパスワードを含むＶＣＣＮパケットをユーザ端末１０から受信し、かかるユーザ名及びパスワードを用いて認証処理を行ってもよい。そこで、実施例２では、認証処理を行うＣＣＮノードの例について説明する。なお、実施例２におけるＣＣＮノードが含まれるネットワークシステムの構成は、図１に示した例と同様であるので、以下では説明を省略する。
【０１０３】
［実施例２におけるＣＣＮノードの構成］
まず、図１０を用いて、実施例２におけるＣＣＮノード２００について説明する。図１０は、実施例２におけるＣＣＮノード２００の構成例を示す図である。なお、実施例２におけるＣＣＮノード２００は、図３に示したＣＣＮノード１００と比較して、デマルチプレクサの構成のみが異なるので、図１０には、実施例２におけるＣＣＮノード２００が有するデマルチプレクサ２１０のみを図示する。また、以下では、既に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
【０１０４】
図１０に例示するＣＣＮノード２００は、ユーザ端末１０と接続されるエッジノードであり、ユーザ端末１０からＶＣＣＮパケットを受信した場合に、認証処理を行う。かかるＣＣＮノード２００は、図１０に例示するように、デマルチプレクサ２１０を有する。
【０１０５】
ここで、図１１に、実施例２におけるデマルチプレクサ２１０がユーザ端末１０から受信するＶＣＣＮパケットの例を示す。図１１に例示するように、デマルチプレクサ２１０は、ユーザ端末１０から認証ヘッダを含むＶＣＣＮパケットを受信する。かかる認証ヘッダには、ユーザ端末１０の利用者を識別するための利用者識別子と、利用者のパスワードが格納される。
【０１０６】
このようなデマルチプレクサ２１０は、図１０に例示するように、認証部２１３ｃを含む振分部２１３と、認証テーブル２１４とを有する。認証テーブル２１４は、ネットワークシステム１の利用者を識別するための利用者識別子と、かかる利用者のパスワードと、ＶＣＣＮ−ＩＤとを対応付けて記憶する。かかる認証テーブル２１４は、後述する認証部２１３ｃによって認証処理が行われる際に参照される。
【０１０７】
図１２に、実施例２におけるデマルチプレクサ２１０が保持する認証テーブル２１４の一例を示す。図１２に例示するように、認証テーブル２１４は、「利用者識別子」、「パスワード」、「ＶＣＣＮ−ＩＤ」といった項目を有する。「利用者識別子」は、上記の通り、利用者を識別するための情報であり、例えば、ユーザ名である。「パスワード」は、利用者のパスワードであり、「ＶＣＣＮ−ＩＤ」は、利用者に割り当てられた仮想中継情報である。
【０１０８】
図１２に示した例では、利用者識別子が「Ｕ１１」である利用者は、パスワードが「Ｐ１１」であり、仮想中継情報としてＶＣＣＮ−ＩＤ「１２１」及び「１２２」が割り当てられていることを示す。また、図１２に示した例では、利用者識別子が「Ｕ１２」である利用者は、パスワードが「Ｐ１２」であり、仮想中継情報としてＶＣＣＮ−ＩＤ「１２１」が割り当てられていることを示す。
【０１０９】
図１０の説明に戻って、認証部２１３ｃは、図１１に例示した認証ヘッダを含むＶＣＣＮパケットを受信した場合に、かかる認証ヘッダに含まれる利用者識別子及びパスワードを用いて認証処理を行う。具体的には、認証部２１３ｃは、ＶＣＣＮパケットに含まれる利用者識別子とパスワードとＶＣＣＮ−ＩＤとの組合せである認証情報が、認証テーブル２１４に格納されているか否かを判定する。そして、認証部２１３ｃは、認証テーブル２１４に認証情報が格納されている場合には、認証を成功とする。一方、認証部２１３ｃは、認証テーブル２１４に認証情報が格納されていない場合には認証を失敗とする。
【０１１０】
そして、認証部２１３ｃは、認証結果が成功した場合には、ＩＦ部１１１ａ等から受信したＶＣＣＮパケットから認証ヘッダを除去した後に、ＶＣＣＮパケットをカプセル除去部１１３ａに出力する。一方、認証部２１３ｃは、認証結果が失敗した場合には、ＶＣＣＮパケットを廃棄してユーザ端末１０に対して認証エラーを通知する。なお、認証部２１３ｃは、認証結果が失敗した場合には、ＶＣＣＮパケットをカプセル除去部１１３ａによってデカプセル化させ、デカプセル化後のＣＣＮパケットをデフォルトＶＣＣＮノードに出力してもよい。すなわち、認証部２１３ｃは、デフォルトＶＣＣＮノードにエラー処理等のデフォルト処理を行わせてもよい。
【０１１１】
なお、認証部２１３ｃによる認証処理は、ネットワーク管理者等の設定により有効又は無効のいずれかに設定することができる。例えば、実施例２におけるＣＣＮノード２００がユーザ端末１０と接続されるエッジノードである場合には、認証部２１３ｃによる認証処理が有効となるように設定され、ＣＣＮノード２００がエッジノードでない場合には、認証部２１３ｃによる認証処理が無効となるように設定される。
【０１１２】
［実施例２の効果］
上述してきたように、実施例２におけるＣＣＮノード２００の認証部２１３ｃは、認証ヘッダを含むアクセス要求を受信し、かかるアクセス要求に含まれる認証ヘッダ及びＶＣＣＮ−ＩＤを用いて認証処理を行う。そして、ＣＣＮノード２００の振分部２１３は、認証部２１３ｃによる認証結果が成功である場合に、アクセス要求を振り分ける。
【０１１３】
これにより、実施例２におけるＣＣＮノード２００は、アクセス要求に含まれるＶＣＣＮ−ＩＤが、かかるアクセス要求を送信した利用者に割り当てられたＶＣＣＮ−ＩＤであるか否かを認証することができる。その結果、ＣＣＮノード２００は、ＶＣＣＮ−ＩＤが漏洩した場合であっても、かかるＶＣＣＮ−ＩＤが割り当てられた利用者以外の利用者にコンテンツが漏洩することを防止できる。
【０１１４】
なお、上記実施例２におけるＣＣＮノード２００は、ＶＣＣＮ−ＩＤを含まないＶＣＣＮパケットを受信してもよい。かかる場合に、ＣＣＮノード２００の認証部２１３ｃは、ＶＣＣＮ−ＩＤを含まないＶＣＣＮパケットを受信した際に、ＶＣＣＮパケットに含まれる利用者識別子とパスワードとの組合せが認証テーブル２１４に格納されているか否かを判定することで認証処理を行う。そして、認証部２１３ｃは、認証が成功した場合には、かかる利用者識別子とパスワードとの組合せに対応するＶＣＣＮ−ＩＤを認証テーブル２１４から取得する。そして、認証部２１３ｃは、取得したＶＣＣＮ−ＩＤをＶＣＣＮパケットに格納した後に、ＶＣＣＮパケットをカプセル除去部１１３ａに出力する。これにより、利用者は、利用者識別子及びパスワードを入力するだけで、実施例２に係るネットワークシステムを利用することができる。
【実施例３】
【０１１５】
上記実施例１及び２において、エッジノードであるＣＣＮノードは、１つのアクセス要求から複数のアクセス要求を生成して、異なるＶＣＣＮ−ＩＤと対応する複数のＶＣＣＮノードに送信してもよい。実施例３では、１つのアクセス要求から複数のアクセス要求を生成するＣＣＮノードの例について説明する。なお、実施例３におけるＣＣＮノードが含まれるネットワークシステムの構成は、図１に示した例と同様であるので、以下では説明を省略する。
【０１１６】
まず、実施例３におけるネットワークシステムを利用する利用者は、仮想中継情報として、「ＶＣＣＮグループＩＤ」が割り当てられる。かかる「ＶＣＣＮグループＩＤ」とは、１以上のＶＣＣＮ−ＩＤをグループ化したＶＣＣＮ−ＩＤグループを識別するための識別子を示す。そして、実施例３におけるユーザ端末１０は、図２に例示したデータ領域Ｄ１２に「ＶＣＣＮグループＩＤ」を含むＶＣＣＮパケットをＣＣＮノード３００に送信する。なお、実施例３におけるユーザ端末１０は、実施例２と同様に、認証ヘッダを含むＶＣＣＮパケットを送信するものとする。
【０１１７】
［実施例３におけるＣＣＮノードの構成］
次に、図１３を用いて、実施例３におけるＣＣＮノード３００について説明する。図１３は、実施例３におけるＣＣＮノード３００の構成例を示す図である。なお、実施例３におけるＣＣＮノード３００は、図３に示したＣＣＮノード１００と比較して、デマルチプレクサの構成のみが異なるので、図１３には、実施例３におけるＣＣＮノード３００が有するデマルチプレクサ３１０のみを図示する。
【０１１８】
図１３に例示するＣＣＮノード３００は、ユーザ端末１０と接続されるエッジノードであり、ユーザ端末１０から、ＶＣＣＮグループＩＤを含むアクセス要求のＶＣＣＮパケットを受信する。かかるＣＣＮノード３００は、図１３に例示するように、デマルチプレクサ３１０を有する。かかるデマルチプレクサ３１０は、振分部３１３と、認証テーブル３１４と、ＶＣＣＮグループテーブル３１５とを有する。
【０１１９】
認証テーブル３１４は、利用者識別子とパスワードとＶＣＣＮグループＩＤとを対応付けて記憶する。かかる認証テーブル３１４は、後述する認証部３１３ｃによって認証処理が行われる際に参照される。
【０１２０】
図１４に、実施例３におけるデマルチプレクサ３１０が保持する認証テーブル３１４の一例を示す。図１４に例示するように、認証テーブル３１４は、「利用者識別子」、「パスワード」、「ＶＣＣＮグループＩＤ」といった項目を有する。「利用者識別子」及び「パスワード」は、図１２に例示した認証テーブル２１４が保持する「利用者識別子」及び「パスワード」と同様である。また、「ＶＣＣＮグループＩＤ」は、利用者に割り当てられた仮想中継情報である。
【０１２１】
図１４に示した例では、利用者識別子が「Ｕ２１」である利用者は、パスワードが「Ｐ２１」であり、仮想中継情報としてＶＣＣＮグループＩＤ「Ｇ０１」が割り当てられていることを示す。また、図１４に示した例では、利用者識別子が「Ｕ２２」である利用者は、パスワードが「Ｐ２２」であり、仮想中継情報としてＶＣＣＮグループＩＤ「Ｇ０２」が割り当てられていることを示す。
【０１２２】
図１３の説明に戻って、ＶＣＣＮグループテーブル３１５は、実施例３における利用者に割り当てられるＶＣＣＮグループＩＤに対応付けて、かかるＶＣＣＮグループＩＤによって示されるＶＣＣＮ−ＩＤグループに属する１以上のＶＣＣＮ−ＩＤを対応付けて記憶する。
【０１２３】
図１５に、実施例３におけるデマルチプレクサ３１０が保持するＶＣＣＮグループテーブル３１５の一例を示す。図１５に例示するように、ＶＣＣＮグループテーブル３１５は、「ＶＣＣＮグループＩＤ」、「ＶＣＣＮ−ＩＤ」といった項目を有する。
【０１２４】
図１５に示した例では、ＶＣＣＮグループＩＤ「Ｇ０１」によって示されるＶＣＣＮ−ＩＤグループに属するＶＣＣＮ−ＩＤが「１２１」、「１２２」及び「１２３」であることを示す。また、図１５に示した例では、ＶＣＣＮグループＩＤ「Ｇ０２」によって示されるＶＣＣＮ−ＩＤグループに属するＶＣＣＮ−ＩＤが「１２１」及び「１２２」であることを示す。
【０１２５】
図１３の説明に戻って、振分部３１３は、認証部３１３ｃと、取得部３１３ｂとを有する。認証部３１３ｃは、ＶＣＣＮパケットを受信した場合に、かかるＶＣＣＮパケットに含まれる利用者識別子、パスワード及びＶＣＣＮグループＩＤを用いて認証処理を行う。具体的には、認証部３１３ｃは、ＶＣＣＮパケットに含まれる利用者識別子とパスワードとＶＣＣＮグループＩＤとの組合せである認証情報が、認証テーブル３１４に格納されているか否かを判定する。そして、認証部３１３ｃは、認証テーブル３１４に認証情報が格納されている場合には、認証を成功とする。一方、認証部３１３ｃは、認証テーブル３１４に認証情報が格納されていない場合には認証を失敗とする。
【０１２６】
そして、認証部３１３ｃは、認証結果が成功した場合には、ＩＦ部１１１ａ等から受信したＶＣＣＮパケットをカプセル除去部１１３ａに出力する。一方、認証部３１３ｃは、認証結果が失敗した場合には、ＶＣＣＮパケットを廃棄してユーザ端末１０に対して認証エラーを通知する。なお、認証部３１３ｃは、認証結果が失敗した場合には、ＶＣＣＮパケットをカプセル除去部１１３ａによってデカプセル化させ、デカプセル化後のＣＣＮパケットをデフォルトＶＣＣＮノードに出力してもよい。すなわち、認証部３１３ｃは、デフォルトＶＣＣＮノードにデフォルト処理を行わせてもよい。
【０１２７】
なお、カプセル除去部１１３ａは、実施例１と同様の処理を行う。ただし、実施例３におけるカプセル除去部１１３ａは、データ領域Ｄ１２にＶＣＣＮグループＩＤが格納されたＶＣＣＮパケットを入力されるので、かかるＶＣＣＮパケットからＶＣＣＮグループＩＤを取得することになる。
【０１２８】
取得部３１３ｂは、カプセル除去部１１３ａからＣＣＮパケット及びＶＣＣＮグループＩＤを入力された場合に、かかるＶＣＣＮグループＩＤに基づいて、ＣＣＮパケットの振分先を決定する。具体的には、取得部１１３ｂは、カプセル除去部１１３ａによって取得されたＶＣＣＮグループＩＤに対応する１以上のＶＣＣＮ−ＩＤをＶＣＣＮグループテーブル３１５から取得する。そして、取得部３１３ｂは、ＶＣＣＮグループテーブル３１５から取得したＶＣＣＮ−ＩＤの数だけＣＣＮパケットを複製する。また、取得部３１３ｂは、ＶＣＣＮグループテーブル３１５から取得した各ＶＣＣＮ−ＩＤに対応するＶＣＣＮノード名をＶＣＣＮテーブル１１２から取得する。そして、取得部３１３ｂは、ＶＣＣＮテーブル１１２からＶＣＣＮノード名を取得できた場合には、取得したＶＣＣＮノード名に対応するＶＣＣＮノード１２１、１２２又は１２３のいずれかに、ＣＣＮパケットを出力する。
【０１２９】
例えば、ＶＣＣＮグループテーブル３１５が図１５に示した各種情報を記憶し、ＶＣＣＮテーブル１１２が図４に示した各種情報を記憶するものとする。そして、カプセル除去部１１３ａによって、ＶＣＣＮパケットからＶＣＣＮグループＩＤ「Ｇ０１」が取得されたものとする。
【０１３０】
かかる場合に、取得部３１３ｂは、ＶＣＣＮグループテーブル３１５から、ＶＣＣＮグループＩＤ「Ｇ０１」に対応するＶＣＣＮ−ＩＤ「１２１」、「１２２」及び「１２３」を取得する。そして、取得部３１３ｂは、ＶＣＣＮグループテーブル３１５から３個のＶＣＣＮ−ＩＤを取得したので、カプセル除去部１１３ａから入力されたＣＣＮパケットを複製して３個のＣＣＮパケットを生成する。そして、取得部３１３ｂは、ＶＣＣＮテーブル１１２から、ＶＣＣＮ−ＩＤ「１２１」に対応するＶＣＣＮノード名「ノードＮ１２１」を取得し、ＶＣＣＮ−ＩＤ「１２２」に対応するＶＣＣＮノード名「ノードＮ１２２」を取得し、ＶＣＣＮ−ＩＤ「１２３」に対応するＶＣＣＮノード名「ノードＮ１２３」を取得する。そして、取得部３１３ｂは、複製したＣＣＮパケットを、ＶＣＣＮノード名が「ノードＮ１２１」であるＶＣＣＮノード１２１と、ＶＣＣＮノード名が「ノードＮ１２２」であるＶＣＣＮノード１２２と、ＶＣＣＮノード名が「ノードＮ１２３」であるＶＣＣＮノード１２３とに出力する。
【０１３１】
また、取得部３１３ｂは、ＶＣＣＮテーブル１１２からＶＣＣＮノード名を１個も取得できない場合には、カプセル除去部１１３ａによって抽出されたＣＣＮパケットをデフォルトＶＣＣＮノードに出力する。
【０１３２】
［実施例３の効果］
上述してきたように、実施例３におけるＣＣＮノード３００は、ＶＣＣＮ−ＩＤがグループ化されたＶＣＣＮグループＩＤに対応付けて、１以上のＶＣＣＮ−ＩＤを記憶するＶＣＣＮグループテーブル３１５を有する。そして、ＣＣＮノード３００の振分部３１３は、ＶＣＣＮグループＩＤを含むアクセス要求を受信した場合に、ＶＣＣＮグループＩＤに対応する１以上のＶＣＣＮ−ＩＤをＶＣＣＮグループテーブル３１５から取得し、取得した各ＶＣＣＮ−ＩＤが示す各ＶＣＣＮノードにアクセス要求を振り分ける。
【０１３３】
これにより、実施例３におけるＣＣＮノード３００は、利便性を向上させることができる。例えば、コンテンツ「Ｃ１１」にアクセスするためには、ＶＣＣＮ−ＩＤ「Ｆ１１」を含むアクセス要求を送信する必要があり、コンテンツ「Ｃ１２」にアクセスするためには、ＶＣＣＮ−ＩＤ「Ｆ１２」を含むアクセス要求を送信する必要があるものとする。かかる場合に、同一に利用者にコンテンツ「Ｃ１１」及び「Ｃ１２」を公開するには、かかる利用者にＶＣＣＮ−ＩＤ「Ｆ１１」及び「Ｆ１２」を割り当てることになる。このような場合には、利用者にとっては、ＶＣＣＮ−ＩＤを使い分ける必要があるので、コンテンツへのアクセスに手間がかかる。実施例３に係るネットワークシステムでは、上記例の場合に、ＶＣＣＮ−ＩＤ「Ｆ１１」及び「Ｆ１２」をグループ化したＶＣＣＮグループのＶＣＣＮグループＩＤを利用者に割り当てる。これにより、利用者が複数のＶＣＣＮ−ＩＤを使い分けなくてよいので、利便性が向上する。
【０１３４】
なお、上記実施例３では、利用者に、仮想中継情報として「ＶＣＣＮグループＩＤ」が割り当てられる例を示した。そして、上記実施例３では、ＶＣＣＮグループＩＤが１以上のＶＣＣＮ−ＩＤをグループ化したＶＣＣＮ−ＩＤグループを識別するための識別子である例を示した。しかし、上記実施例３では、利用者に、ＶＣＣＮグループＩＤではなく、上記実施例１及び２と同様にＶＣＣＮ−ＩＤを割り当ててもよい。そして、実施例３におけるＣＣＮノード３００は、利用者に割り当てられたＶＣＣＮ−ＩＤに１以上のＶＣＣＮ−ＩＤが対応付けられたＶＣＣＮグループテーブル３１５を保持してもよい。すなわち、上記実施例３で説明した「ＶＣＣＮグループＩＤ」は「ＶＣＣＮ−ＩＤ」に置き換えられてもよい。
【０１３５】
例えば、ＣＣＮノード３００は、ＶＣＣＮ−ＩＤ「１２１」に、ＶＣＣＮ−ＩＤ「１２１、１２２、１２３」が対応付けられたＶＣＣＮグループテーブル３１５を保持してもよい。かかる場合には、ＣＣＮノード３００の取得部３１３ｂは、ＶＣＣＮ−ＩＤ「１２１」を含むＶＣＣＮパケットを受信した場合に、ＶＣＣＮ−ＩＤ「１２１」に対応するＶＣＣＮ−ＩＤ「１２１、１２２、１２３」をＶＣＣＮグループテーブル３１５から取得し、取得したＶＣＣＮ−ＩＤの数だけＣＣＮパケットを複製する。そして、取得部３１３ｂは、アクセス要求のＣＣＮパケットを、ＶＣＣＮ−ＩＤ「１２１」に対応するＶＣＣＮノード１２１と、ＶＣＣＮ−ＩＤ「１２２」に対応するＶＣＣＮノード１２２と、ＶＣＣＮ−ＩＤ「１２３」に対応するＶＣＣＮノード１２３に出力する。
【０１３６】
また、上記実施例１〜３において、カプセル除去部１１３ａは、ＶＣＣＮ−ＩＤを含むアクセス要求が送受信される通信プロトコルの階層（layer）以下の階層に属する通信プロトコルに準拠するようにカプセル化されたアクセス要求を受信し、受信したアクセス要求をデカプセル化してもよい。また、カプセル化部１３３ｂは、ＶＣＣＮノードによって、アクセス要求の中継先となる他のＶＣＣＮノードが決定された場合に、他のＶＣＣＮノードのＶＣＣＮ−ＩＤを含むアクセス要求を、ＶＣＣＮ−ＩＤを含むアクセス要求が送受信される通信プロトコルの階層以下の階層に属する通信プロトコルに準拠するようにカプセル化してもよい。
【０１３７】
例えば、ＶＣＣＮパケットにＩＰアドレス（Internet  Protocol  Address）が設定されるようなネットワークである場合には、カプセル除去部１１３ａ及びカプセル化部１３３ｂは、ＶＣＣＮパケットをＩＰヘッダによりカプセル化及びデカプセル化を行ってもよい。このように、ＶＣＣＮパケットが送受される通信プロトコルの階層以下の階層に属する通信プロトコルに準拠するようにＶＣＣＮパケットをカプセル化することで、ネットワークの利用環境に対して柔軟に対応することができる。
【０１３８】
例えば、図１に例示したネットワークシステム１内にＩＰネットワークが含まれる場合には、かかるＩＰネットワークを流通する場合に、ＩＰヘッダによりＶＣＣＮパケットをカプセル化することにより、ＩＰネットワークにＶＣＣＮパケットを流通させることができる。また、ネットワークシステム１にＩＰネットワークが含まれない場合であっても、ＩＰヘッダでのカプセル化を行うことで、ＶＣＣＮノード間にリンクが結ばれた状態を形成することができ、ＶＣＣＮパケットの流通セキュリティを向上させることができる。
【０１３９】
また、上記実施例では、ＣＣＮを拡張したネットワークアーキテクチャの例を説明したが、本願発明はこれに限られない。具体的には、本願発明は、中継装置を含むネットワークアーキテクチャであって、コンテンツ識別情報としてのコンテンツ名を含むアクセス要求に応答してコンテンツを提供するネットワークアーキテクチャならば適用することができる。
【０１４０】
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、図２、図４、図５、図１２、図１４、図１５等に例示した各種データは、あくまで一例であって任意のデータに変更することができる。
【０１４１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図３に例示した振分部１１３には、カプセル除去部１１３ａと取得部１１３ｂとが含まれるが、カプセル除去部１１３ａと取得部１１３ｂとは統合されてもよい。
【０１４２】
また、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）および該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。例えば、図３に例示した仮想制御部１２０は、プログラムにて実現され、デマルチプレクサ１１０、マルチプレクサ１３０は、ワイヤードロジックによるハードウェアとして実現され得る。また、図３に例示したＶＣＣＮテーブル１１２やＶＣＣＮテーブル１３２等は、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)等のハードウェアとして実現され得る。
【０１４３】
なお、上記実施例で説明した中継方法は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのＩＰネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、ＭＯ（Magneto-Optical  disk）、ＤＶＤ（Digital  Versatile  Disk）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【０１４４】
１  ネットワークシステム
１０  ユーザ端末
２１、２２、２３  ＣＣＮリンク
１００、２００、３００  ＣＣＮノード
１１０、２１０、３１０  デマルチプレクサ
１１１  ＩＦ部
１１２  ＶＣＣＮテーブル
１１３、２１３、３１３  振分部
１１３ａ  カプセル除去部
１１３ｂ、３１３ｂ  取得部
１２０  仮想制御部
１２１、１２２、１２３  ＶＣＣＮノード
１３０  マルチプレクサ
１３２  ＶＣＣＮテーブル
１３３  送信部
１３３ａ  取得部
１３３ｂ  カプセル化部
２１３ｃ、３１３ｃ  認証部
２１４、３１４  認証テーブル
３１５  ＶＣＣＮグループテーブル
【図１】
0005557194.tif 000002
【図２】
0005557194.tif 000003
【図３】
0005557194.tif 000004
【図４】
0005557194.tif 000005
【図５】
0005557194.tif 000006
【図６】
0005557194.tif 000007
【図７】
0005557194.tif 000008
【図８】
0005557194.tif 000009
【図９】
0005557194.tif 000010
【図１０】
0005557194.tif 000011
【図１１】
0005557194.tif 000012
【図１２】
0005557194.tif 000013
【図１３】
0005557194.tif 000014
【図１４】
0005557194.tif 000015
【図１５】
0005557194.tif 000016