(実施形態1)
図1に示すように、本実施形態の通信ネットワークシステムは、上位ドメイン10を有する。上位ドメイン10は、複数の下位ドメイン20を有する。複数の下位ドメイン20は、それぞれ住宅に設けられた通信ネットワーク(ホームネットワーク)である。このように本実施形態の通信ネットワークシステムは、ドメインが階層化されたマルチドメインの通信ネットワークである。
本実施形態では、上位ドメイン10は、2つの下位ドメイン20を有する。以下では2つの下位ドメイン20を区別するために、必要に応じて、第1下位ドメインを符号21で表し、第2下位ドメインを符号22で表す。
なお、本実施形態の通信ネットワークシステムは、2階層のネットワークであるが、3階層以上のネットワークであってもよい。
下位ドメイン20は、複数のノード(以下、「端末ノード」という)30と、端末ノード30間に介在される中継装置(下位中継装置)40と、設定装置(下位設定装置)50と、認証サーバ(下位認証サーバ)60と、を有する。
本実施形態では、下位ドメイン21,22のそれぞれは、2つの端末ノード30と、1つの下位中継装置40と、1つの下位設定装置50と、1つの下位認証サーバ60と、を有する。
したがって、本実施形態の通信ネットワークシステムは、4つの端末ノード30と、2つの下位中継装置40と、2つの下位設定装置50と、2つの下位認証サーバ60と、を含む。
以下では、4つの端末ノードを区別するために、必要に応じて、第1端末ノードを符号31で表し、第2端末ノードを符号32で表し、第3端末ノードを符号33で表し、第4端末ノードを符号34で表す。2つの下位中継装置40を区別するために、必要に応じて、第1下位中継装置を符号41で表し、第2下位中継装置を符号42で表す。2つの下位設定装置50を区別するために、必要に応じて、第1下位設定装置を符号51で表し、第2下位設定装置を符号52で表す。2つの下位認証サーバ60を区別するために、必要に応じて、第1下位中継装置を符号61で表し、第2下位中継装置を符号62で表す。
上位ドメイン10は、さらに、中継装置(上位中継装置)70と、設定装置(上位設定装置)80と、認証サーバ(上位認証サーバ)90と、を有する。
上位中継装置70は、異なる下位ドメイン20に属する下位中継装置40間に介在される。上位中継装置70は、たとえば、インターネットのような外部ネットワークの通信路を介して下位中継装置41,42に接続される。
下位中継装置41は、住宅内に設けられた通信路(リンク)を介して各端末ノード31,32に接続されている。下位中継装置42は、住宅内に設けられた通信路(リンク)を介して各端末ノード33,34に接続されている。
下位中継装置40は、ホームネットワークを外部ネットワークに接続するためのプロキシサーバとしても機能する。すなわち、下位中継装置40は、ドメイン20内の端末ノード30の代理として上位中継装置70と通信する。
本実施形態の通信ネットワークシステムのノード(中継装置41,42,70、端末ノード31,32,33,34)には、それぞれ他のノードと区別可能な識別情報(アドレス)が付与される。以下では、これらノードの識別情報をノードIDという。中継装置40、70がDHCP機能を有している場合には、各端末ノード30には、ノードIDが動的に割り当てられる。また、各ドメイン10,21,22にも識別情報が付与される。ドメインの識別情報をドメインIDという。
本実施形態では、各端末ノード31,32,33,34のノードIDは、それぞれC11,C12,C21,C22である。上位中継装置70のノードIDはA0であり、下位中継装置21,22のノードIDはそれぞれB1,B2である。上位設定装置80のノードIDはY0であり、下位設定装置51,52のノードIDはY1,Y2である。また、各ドメイン10,21,22のドメインIDは、それぞれX0,X1,X2である。
各端末ノード30は、所定の機能を実現するための機器(図示せず)を有する。以下では、取り扱う処理の単位をオブジェクトと呼び、オブジェクトが提供可能なサービスに関するサービス属性をインターフェイスと呼ぶ。すなわち、インターフェイスは、前記機器により所定の機能を実現するためのプログラムである。端末ノード30は、インターフェイスの集合体であるオブジェクトを有する。つまり、オブジェクトは、端末ノード30の用途を規定するプログラムであるといえる。なお、複数の端末ノード30が同一のオブジェクトを有していてもよい。この場合には、オブジェクトを指定することで、複数の端末ノード30を同時に指定することが可能になる。
たとえば、前記機器が時計である場合、オブジェクトを「目覚まし時計」として取り扱える。このオブジェクトが有するインターフェイスは、たとえば、時刻セット機能や、アラーム機能、温度計測機能である。このようにオブジェクトは実際には1ないし複数のプログラム(インターフェイス)により実現される。各端末ノード30は、オブジェクトに対応付けられたオブジェクト識別子と、オブジェクトが含むインターフェイスに対応付けられたインターフェイス識別子とを記憶する記憶装置(図示せず)を備える。
本実施形態では、第1端末ノード31は、所定の機能を実現するための機器としてTVカメラを備える。この第1端末ノード31は、TVカメラによる撮像機能という第1オブジェクトを有する。第1オブジェクトのインターフェイスは、TVカメラによる撮像の開始やTVカメラによる撮像の停止、TVカメラの焦点合わせ、TVカメラの視野の変更などTVカメラの機能に対応したサービス(サービス属性)である。第3端末ノード33は、所定の機能を実現するための機器としてモニタを備える。第3端末ノード33は、モニタによる表示機能という第2オブジェクトを有する。第2オブジェクトのインターフェイスは、モニタによる表示の開始やモニタによる表示の停止などモニタの機能に対応したサービスである。
たとえば、下位ドメイン21は子世帯の住宅内の通信ネットワークであり、下位ドメイン22は親世帯の住宅内の通信ネットワークであるとする。この場合、端末ノード31と端末ノード33とが連携することで、端末ノード31のTVカメラ(ネットワークカメラ)が撮像した子世帯の住宅で飼っているペットの映像を、親世帯の住宅の端末ノード33のモニタ(ネットワーク対応のモニタ装置)に表示させることができる。子世帯の住宅の家人が不在になる間だけ端末ノード31と端末ノード33とを連携させれば、子世帯の住宅の家人が不在になる間だけペットの映像を端末ノード33のモニタに表示させることができる。
また、端末ノード31がスイッチを有し、端末ノード33が負荷を有していてもよい。この場合、端末ノード31と端末ノード33とを連携させることで、端末ノード31のスイッチで端末ノード33の負荷を制御できるようになる。あるいは、端末ノード31がマイクロホンを有し、端末ノード33がスピーカを有していてもよい。この場合、端末ノード31と端末ノード33とを連携させることで、端末ノード31のマイクロホンに入力された音声を端末ノード33のスピーカから出力させることができる。
端末ノード31と端末ノード33とが連携する場合、端末ノード31から端末ノード33には、下位中継装置41、上位中継装置70、下位中継装置42を経てデータが送信される。
また、各端末ノード30は、後述のパーティション情報の変更を指示するトリガを発生させるためのスイッチ(図示せず)を備える。このトリガは、後述するブローカ情報である。
下位中継装置40は、中継ユニット(下位中継ユニット)401と、パーティション情報記憶ユニット(下位パーティション情報記憶ユニット)402と、ルーティングユニット(下位ルーティングユニット)403と、を有する。
なお、必要に応じて、下位中継装置41の下位中継ユニットを符号411で表し、下位中継装置41の下位パーティション情報記憶ユニットを符号412で表し、下位中継装置41の下位ルーティングユニットを符号413で表す。また、必要に応じて、下位中継装置42の下位中継ユニットを符号421で表し、下位中継装置42の下位パーティション情報記憶ユニットを符号422で表し、下位中継装置42の下位ルーティングユニットを符号423で表す。
下位中継ユニット401は、端末ノード30間の中継をするように構成される。下位中継ユニット401は中継ノードとして機能する。下位中継ユニット401は、下位のノード(端末ノード30)から受け取ったブローカ情報の要求ノードIDが自身と異なるドメインに属するノードのノードIDであれば、ブローカ情報を上位中継装置70に転送するように構成される。下位中継ユニット401は、下位のノード(端末ノード30)から受け取ったブローカ情報の要求ノードIDが自身と同じドメインに属するノードのノードIDであれば、ブローカ情報を下位設定装置50に転送するように構成される。なお、下位中継ユニット401は、単純に、下位のノード(端末ノード30)から受け取ったブローカ情報を上位中継装置70と下位設定装置50とに転送するように構成されていてもよい。
下位パーティション情報記憶ユニット402は、パーティション情報(下位パーティション情報)を記憶するように構成される。下位パーティション情報は、下位中継ユニット401にノード30間の中継をさせるかどうかを決定するための情報である。つまり、パーティション情報は、ノード間の連携関係を規定する情報である。
パーティション情報は、ノードIDと、パーティション番号と、を含む。つまり、パーティション情報は、(ノードID,パーティション番号)のデータ対である。
パーティション番号は、ドメイン10,21,22ごとに付与される。ドメイン間の階層関係を表すために、上位のドメインを示す数値と下位のドメインを示す数値との間をドット(.)で区切る形式で表現される。
本実施形態では、最上位のドメインである上位ドメイン10のパーティション番号は、「1」である。上位中継装置70と上位設定装置90は上位ドメイン10にのみ属するから、上位中継装置70と上位設定装置90とのパーティション番号は「1」である。
下位ドメイン21のパーティション番号は「1.1」であり、下位ドメイン22のパーティション番号は「1.2」である。ここで、ドットの左の数字は、上位ドメイン10のパーティション番号を示す。ドットの右の数字は、下位ドメイン20を区別するための番号を示す。下位中継装置41には、下位中継装置41が属する下位ドメイン21のパーティション番号「1.1」が付与される。下位中継装置42には、下位中継装置42が属する下位ドメイン22のパーティション番号「1.2」が付与される。
たとえば、下位パーティション情報記憶ユニット412は表1に示す下位パーティション情報をデフォルトのパーティション情報として記憶し、下位パーティション情報記憶ユニット422は表2に示す下位パーティション情報をデフォルトのパーティション情報として記憶する。
下位ルーティングユニット403は、下位パーティション情報記憶ユニット402に記憶された下位パーティション情報の内容に従って下位中継ユニット401を制御するように構成される。つまり、下位ルーティングユニットは、下位パーティション情報記憶ユニット402に格納された下位パーティション情報に基づいて端末ノード30間の通信の許可と禁止とを選択する。
下位ルーティングユニット403は、以下の規則に従って下位中継ユニット401の制御(アクセス制御)を行う。
規則1: パーティション番号が一致しているノード間の通信を許可する。
規則2: パーティション番号のうちの下位ドメイン20のパーティション番号(つまり、「.」の右側の数値)が0であれば、上位ドメイン10のパーティション番号が一致しているノード間の通信を許可する。
なお、規則2では、「.」の右側の数値が0であれば、ワイルドカードとみなし、「.」の右側が他の数値であるものと一致しているとみなす。また、「.0」は省略して記述される。たとえば、「1.0」は「1」と表記される。
下位ルーティングユニット403は、下位設定装置50から下位パーティション情報を受け取ると、下位パーティション情報記憶ユニット402に記憶された下位パーティション情報を受け取った下位パーティション情報に更新するように構成される。
下位ルーティングユニット403は、下位設定装置50からリセット信号を受け取ると、下位パーティション情報記憶ユニット402に記憶された下位パーティション情報をデフォルトの下位パーティション情報に更新するように構成される。
上位中継装置70は、中継ユニット(上位中継ユニット)701と、パーティション情報記憶ユニット(上位パーティション情報記憶ユニット)702と、ルーティングユニット(上位ルーティングユニット)703と、を有する。
上位中継ユニット701は、下位中継ユニット401間の中継をするように構成される。また、上位中継ユニット701は、下位中継装置40から受け取ったブローカ情報を上位設定装置80に転送するように構成される。
上位パーティション情報記憶ユニット702は、パーティション情報(上位パーティション情報)を記憶するように構成される。上位パーティション情報は、上位中継ユニット701に下位中継ユニット401間の中継をさせるかどうかを決定するための情報である。
たとえば、上位パーティション情報記憶ユニット702は表3に示す上位パーティション情報をデフォルトのパーティション情報として記憶する。
上位ルーティングユニット703は、上位パーティション情報記憶ユニット702に記憶された上位パーティション情報の内容に従って上位中継ユニット701を制御するように構成される。
上位ルーティングユニット703は、下位ルーティングユニット403と同様の規則1)および規則2)に従って上位中継ユニット701の制御(アクセス制御)を行う。上位ルーティングユニット703は、上位設定装置80から上位パーティション情報を受け取ると、上位パーティション情報記憶ユニット702に記憶された上位パーティション情報を受け取った上位パーティション情報に更新するように構成される。上位ルーティングユニット703は、上位設定装置80からリセット信号を受け取ると、上位パーティション情報記憶ユニット702に記憶された上位パーティション情報をデフォルトの上位パーティション情報(本実施形態では表3に示すパーティション情報)に更新するように構成される。
本実施形態では、パーティション情報記憶ユニット402,702は、中継装置40,70に内蔵されている。しかしながら、パーティション情報記憶ユニット402,702は、物理的に中継装置40,70と分離されていてもよい。この場合、パーティション情報記憶ユニット402,702は、中継装置40,70と通信するように構成される。
本実施形態では、設定装置50,80は、物理的に中継装置40,70と分離されているから、中継装置40,70と通信を行うように構成される。しかしながら、設定装置50,80は、中継装置40,70に内蔵されていてもよい。
下位認証サーバ60は、下位中継装置40と他のノードとの間の通信を暗号化するためのセッション鍵(下位セッション鍵)を配布するために設けられる。下位認証サーバ61は下位中継装置41に接続され、下位認証サーバ62は下位中継装置42に接続される。
下位認証サーバ60は、鍵配布ユニット(下位鍵配布ユニット)601と、鍵記憶ユニット(下位鍵記憶ユニット)602と、を有する。なお、必要に応じて、下位認証サーバ61の下位鍵配布ユニットを符号611で表し、下位認証サーバ61の下位鍵記憶ユニットを符号612で表す。同様に、必要に応じて、下位認証サーバ62の下位鍵配布ユニットを符号621で表し、下位認証サーバ62の下位鍵記憶ユニットを符号622で表す。
下位鍵記憶ユニット602は、下位セッション鍵を暗号化して各ノードに配布するために各ノードとの間の共通鍵である秘密鍵(下位秘密鍵)を記憶するように構成される。下位秘密鍵は、セッション鍵の配布対象のノードごと設定される。当然ながら、セッション鍵の配布対象のノードは、下位秘密鍵を有している。
なお、本実施形態では、下位鍵記憶ユニット602は下位鍵配布ユニット601と分離されている。下位鍵記憶ユニット602は下位鍵配布ユニット601と一体に構成されていてもよい。
下位鍵配布ユニット601は、下位中継装置40からの要求に応じて下位中継装置40に下位セッション鍵を配布するように構成される。下位鍵配布ユニット601は、下位中継装置40に下位セッション鍵を配布する際には、下位鍵記憶ユニット602に記憶された秘密鍵を用いて下位セッション鍵を暗号化する。
上位認証サーバ90は、上位中継装置70と他のノードとの間の通信を暗号化するためのセッション鍵(上位セッション鍵)を配布するために設けられる。上位認証サーバ90は上位中継装置70に接続される。
上位認証サーバ90は、鍵配布ユニット(上位鍵配布ユニット)901と、鍵記憶ユニット(上位鍵記憶ユニット)902と、を有する。
上位鍵記憶ユニット902は、上位セッション鍵を暗号化して各ノードに配布するために各ノードとの間の共通鍵である秘密鍵(上位秘密鍵)を記憶するように構成される。上位秘密鍵は、セッション鍵の配布対象のノードごと設定される。当然ながら、セッション鍵の配布対象のノードは、上位秘密鍵を有している。
上位鍵記憶ユニット902は、ノードIDまたはドメインIDと秘密鍵とパーティション番号との三つ組みのデータを記憶する。なお、本実施形態では、上位鍵記憶ユニット902は上位鍵配布ユニット901と分離されている。上位鍵記憶ユニット902は上位鍵配布ユニット901と一体に構成されていてもよい。
上位鍵配布ユニット901は、上位中継装置70からの要求に応じて上位中継装置70に上位セッション鍵を配布するように構成される。上位鍵配布ユニット901は、上位中継装置70に上位セッション鍵を配布する際には、上位鍵記憶ユニット902に記憶された秘密鍵を用いて上位セッション鍵を暗号化する。
このように、各ノードは、セッション鍵を用いてデータの暗号化を行う。上位中継装置70は、上位設定装置80や下位ドメイン20のノード(下位中継装置40や、端末ノード30、下位設定装置50)のような上位ドメイン10内のノードと通信を行うときには、上位認証サーバ90が配布するセッション鍵(上位セッション鍵)を用いる。下位中継装置41は、自身が属する下位ドメイン21内のノード(端末ノード31,32や下位設定装置51)と通信を行うときには、下位認証サーバ61が配布する下位セッション鍵を用いる。同様に、下位中継装置42は、自身が属する下位ドメイン22内のノード(端末ノード33,34や下位設定装置52)と通信を行うときには、下位認証サーバ62が配布する下位セッション鍵を用いる。
各鍵記憶ユニット902,612,622は、それぞれ表4〜表6のように、鍵データを記憶する。鍵データは、ノードIDまたはドメインIDと、秘密鍵と、パーティション番号とが互いに関連付けられたデータである。この鍵データを、(ノードIDまたはドメインID,秘密鍵,パーティション番号)として表す。なお、上位秘密鍵をドメインIDと関連付けているのは、下位ドメイン20毎に上位秘密鍵を割り当てるためである。
上位鍵配布ユニット901は、下位中継装置41,42からセッション鍵の配布を要求されると、セッション鍵を生成する。このセッション鍵は、通信する2つのノードあるいはドメインに共通である。上位鍵配布ユニット901は、下位中継装置41,42が管理する下位ドメイン21,22のドメインID(X1,X2)に関係付けられている秘密鍵Kdx1,Kdx2を上位鍵記憶ユニット902から取得する。上位鍵配布ユニット901は、取得した秘密鍵Kdx1,Kdx2を用いてセッション鍵を暗号化して下位中継装置41,42にそれぞれ配布する。下位中継装置41,42は、暗号化されたセッション鍵(チケット)を受け取ると、自身の保持している秘密鍵を用いてチケットを復号化してセッション鍵を取得する。
下位鍵配布ユニット611,612は、各端末ノード31,32,33,34からセッション鍵の配布を要求されると、セッション鍵を生成する。このセッション鍵は、通信する2つのノードあるいはドメインに共通である。下位鍵配布ユニット601は、各端末ノード31,32,33,34のノードIDにそれぞれ関係付けられている秘密鍵Kc11,Kc12,Kc21,Kc22を下位鍵記憶ユニット602から取得する。下位鍵配布ユニット601は、取得した秘密鍵Kc11,Kc12,Kc21,Kc22を用いてセッション鍵を暗号化して、端末ノード31,32,33,34にそれぞれ配布する。各端末ノード30は、暗号化されたセッション鍵(チケット)を受け取ると、自身の保持している秘密鍵を用いてチケットを復号化してセッション鍵を取得する。
鍵配布ユニット901,611,612は、セッション鍵を配布した後に、鍵記憶ユニット902,612,622のパーティション情報(パーティション番号)を更新するように構成される。なお、鍵配布ユニット901,611,612は、設定装置80,51,52からリセット信号を受け取ると、鍵記憶ユニット902,612,622に記憶されたパーティション情報をデフォルトのパーティション情報に更新するように構成される。
たとえば、下位中継装置41が上位中継装置70との間で通信を行うためにセッション鍵の配布を要求する場合を想定する。この場合、上位認証サーバ90は、上位中継装置70および下位中継装置41にそれぞれ上位セッション鍵を配布する。また、上位認証サーバ90は、上位中継装置41が属する下位ドメイン21と上位中継装置70とのパーティション情報を更新する。ただし、この例では下位ドメイン21のパーティション番号が「1.1」であり、上位中継装置70のパーティション番号が「1」である。つまり、パーティション情報を更新する前においても、下位中継装置41と上位中継装置70との間の通信が許可されている。つまり、下位中継装置41が上位中継装置70と通信することが許可されている。よって、上位鍵記憶ユニット902に記憶されたパーティション情報は実質的には更新されない。
たとえば、下位ドメイン21,22間の通信を行うためにセッション鍵の配布を要求する場合を想定する。この場合、上位認証サーバ90は、下位中継装置41,42にそれぞれセッション鍵を配布する。また、上位認証サーバ90は、下位中継装置41,42が属する下位ドメイン21,22のパーティション情報(パーティション番号)を更新する。この場合、下位ドメイン21,22のうちの一方のパーティション番号が、下位ドメイン21,22の他方のパーティション番号と一致するように変更される。たとえば、表4に示す例では、下位ドメイン21のパーティション番号が1.1から1.2に変更される。
下位設定装置51は、下位中継装置41に接続される。下位設定装置52は、下位中継装置42に接続される。
各下位設定装置50は、通信ユニット(下位通信ユニット)501と、ブローカ情報記憶ユニット(下位ブローカ情報記憶ユニット)502と、ブローカ情報設定ユニット(下位ブローカ情報設定ユニット)503と、パーティション情報更新ユニット(下位パーティション情報更新ユニット)504と、を有する。
なお、必要に応じて、下位設定装置51の下位通信ユニットを符号511で表し、下位設定装置51の下位ブローカ情報記憶ユニットを符号512で表し、下位設定装置51の下位ブローカ情報設定ユニットを符号513で表し、下位設定装置51の下位パーティション情報更新ユニットを符号514で表す。同様に、必要に応じて、下位設定装置52の下位通信ユニットを符号521で表し、下位設定装置52の下位ブローカ情報記憶ユニットを符号522で表し、下位設定装置52の下位ブローカ情報設定ユニットを符号523で表し、下位設定装置52の下位パーティション情報更新ユニットを符号524で表す。
下位通信ユニット501は、接続された下位中継装置40との間で通信を行うように構成される。下位通信ユニット501は、下位中継ユニット401間の中継が要求されたことを示す下位ブローカ情報を受信する受信ユニット(下位受信ユニット)として機能する。
下位ブローカ情報記憶ユニット502は、下位通信ユニット501が受信した下位ブローカ情報を記憶するように構成される。
ブローカ情報は、下位ドメイン20に含まれる端末ノード30間の連携関係を示す情報である。ブローカ情報は、送信元を示す情報と、送信元の属するドメインを示す情報と、送信先を示す情報とを含む。具体的には、ブローカ情報は、送信元のノードIDと、送信元の属するドメインIDと、送信先のノードID(要求ノードID)とで構成されるデータである。以下では、ブローカ情報を、(送信元のノードID,送信元の属するドメインID,要求ノードID)の形で表す。送信元は、中継装置40に信号の中継を要求する端末ノード30である。送信先は、中継装置40が中継する信号の宛先の端末ノード30である。言い換えれば、送信先は、送信元が信号の受け取りを要求する端末ノード30である。たとえば、ブローカ情報(C11,X1,C21)は、端末ノードC11が端末ノードC21に何らかのサービスを提供することを希望していることを示す。
下位ブローカ情報設定ユニット503は、下位ブローカ情報記憶ユニット502に記憶された下位ブローカ情報を参照して下位パーティション情報を生成するように構成される。
下位ブローカ情報設定ユニット503は、ブローカ情報判定モジュール(下位ブローカ情報判定モジュール)5031と、パーティション情報生成モジュール(下位パーティション情報生成モジュール)5032と、を含む。下位ブローカ情報判定モジュール5031は、下位ブローカ情報記憶ユニット502に2つの下位ブローカ情報(第1下位ブローカ情報と第2下位ブローカ情報)が記憶されると、第1下位ブローカ情報の示す送信元が第2下位ブローカ情報の示す送信先と一致し、かつ、第1下位ブローカ情報の示す送信先が第2下位ブローカ情報の示す送信元と一致するかどうかを判定するように構成される。下位ブローカ情報生成モジュール5032は、下位ブローカ情報判定モジュール5031によって第1下位ブローカ情報の示す送信元が第2下位ブローカ情報の示す送信先と一致し、かつ、第1下位ブローカ情報の示す送信先が第2下位ブローカ情報の示す送信元と一致すると判定されると、下位パーティション情報を生成するように構成される。この下位パーティション情報は、第1下位ブローカ情報の示す送信元と第1下位ブローカ情報の示す送信先との間の中継(第2下位ブローカ情報の示す送信元と第2下位ブローカ情報の示す送信先との間の中継)を下位中継ユニット401にさせることを示す。
下位パーティション情報更新ユニット504は、下位通信ユニット501を制御して、下位ブローカ情報設定ユニット503で生成された下位パーティション情報を下位中継装置40に送信する。これによって、下位パーティション情報更新ユニット504は、下位パーティション情報記憶ユニット402に記憶された下位パーティション情報を下位ブローカ情報設定ユニット503で生成された下位パーティション情報に更新する。
また、下位パーティション情報更新ユニット504は、端末ノード30に代わって下位認証サーバ60にセッション鍵の配布を要求する。すなわち、下位パーティション情報更新ユニット504は、下位通信ユニット501を制御して、下位ブローカ情報設定ユニット503で生成された下位パーティション情報に基づいて、相互に通信を開始する2つのノードへのセッション鍵の配布を要求するメッセージを送信する。また、下位パーティション情報更新ユニット504は、下位通信ユニット501を制御して、下位ブローカ情報設定ユニット503で生成された下位パーティション情報を下位認証サーバ60に送信する。これによって、下位認証サーバ60は、セッション鍵を配布し、パーティション情報(パーティション番号)を更新する。
このように下位設定装置50は、下位鍵記憶ユニット602に格納されているデータ(パーティション情報)の更新と、下位パーティション情報記憶ユニット402に格納されているデータ(パーティション情報)の更新とを行うブローカサービスを提供する。
上位設定装置80は、上位中継装置70に接続される。上位設定装置80は、通信ユニット(上位通信ユニット)801と、ブローカ情報記憶ユニット(上位ブローカ情報記憶ユニット)802と、ブローカ情報設定ユニット(上位ブローカ情報設定ユニット)803と、パーティション情報更新ユニット(上位パーティション情報更新ユニット)804と、を有する。
上位通信ユニット801は、上位中継装置70との間で通信を行うように構成される。上位通信ユニット801は、下位中継ユニット401間の中継が要求されたことを示す上位ブローカ情報を受信する受信ユニット(上位受信ユニット)として機能する。上位ブローカ情報は、下位ドメイン20に含まれる端末ノード30間の通信の連携関係を示す情報でもある。
上位ブローカ情報記憶ユニット802は、上位通信ユニット801が受信した上位ブローカ情報を記憶するように構成される。
上位ブローカ情報設定ユニット803は、上位ブローカ情報記憶ユニット802に記憶された上位ブローカ情報を参照して上位パーティション情報を生成するように構成される。
上位ブローカ情報設定ユニット803は、ブローカ情報判定モジュール(上位ブローカ情報判定モジュール)8031と、パーティション情報生成モジュール(上位パーティション情報生成モジュール)8032と、を含む。上位ブローカ情報判定モジュール8031は、上位ブローカ情報記憶ユニット802に2つの上位ブローカ情報(第1上位ブローカ情報と第2上位ブローカ情報)が記憶されると、第1上位ブローカ情報の示す送信元が第2上位ブローカ情報の示す送信先と一致し、かつ、第1上位ブローカ情報の示す送信先が第2上位ブローカ情報の示す送信元と一致するかどうかを判定するように構成される。上位ブローカ情報生成モジュール8032は、上位ブローカ情報判定モジュール8031によって第1上位ブローカ情報の示す送信元が第2上位ブローカ情報の示す送信先と一致し、かつ、第1上位ブローカ情報の示す送信先が第2上位ブローカ情報の示す送信元と一致すると判定されると、上位パーティション情報を生成するように構成される。この上位パーティション情報は、第1上位ブローカ情報の示す送信元と第1上位ブローカ情報の示す送信先との間の中継(第2上位ブローカ情報の示す送信元と第2上位ブローカ情報の示す送信先との間の中継)を上位中継ユニット701にさせることを示す。
上位パーティション情報更新ユニット804は、上位通信ユニット801を制御して、上位ブローカ情報設定ユニット803で生成された上位パーティション情報を上位中継装置70に送信する。これによって、上位パーティション情報更新ユニット804は、上位パーティション情報記憶ユニット702に記憶された上位パーティション情報を上位ブローカ情報設定ユニット803で生成された上位パーティション情報に更新する。
また、上位パーティション情報更新ユニット804は、中継装置40,70や端末ノード30に代わって上位認証サーバ90にセッション鍵の配布を要求する。すなわち、上位パーティション情報更新ユニット804は、上位通信ユニット801を制御して、上位ブローカ情報設定ユニット803で生成された上位パーティション情報に基づいて、相互に通信を開始する2つのノードへのセッション鍵の配布を要求するメッセージを送信する。また、上位パーティション情報更新ユニット804は、上位通信ユニット801を制御して、上位ブローカ情報設定ユニット803で生成された上位パーティション情報を上位認証サーバ90に送信する。これによって、上位認証サーバ90は、セッション鍵を配布し、パーティション情報(パーティション番号)を更新する。
このように上位設定装置80は、上位鍵記憶ユニット902に格納されているデータ(パーティション情報)の更新と、上位パーティション情報記憶ユニット402に格納されているデータ(パーティション情報)の更新とを行うブローカサービスを提供する。
以下に、本実施形態の通信ネットワークシステムの動作について説明する。
まず、上位設定装置80の動作について説明する。初期状態では、下位パーティション情報記憶ユニット412が表1に示す下位パーティション情報を記憶し、下位パーティション情報記憶ユニット422が表2に示す下位パーティション情報を記憶しているとする。
表1に示す下位パーティション情報では、下位中継装置41と端末ノード31,32とのパーティション番号が一致している。そのため、規則1により、下位ルーティングユニット413は、下位中継装置41と第1端末ノード31との間の通信を許可し、下位中継装置41と第2端末ノード32との間の通信を許可する。さらに、下位ルーティングユニット413は、端末ノード31,32間の通信を許可する。これにより第1端末ノード31と第2端末ノード32とが通信可能になる。
下位中継装置41および端末ノード31,32と上位中継装置70とはパーティション番号が一致していない。しかしながら、規則2により、下位ルーティングユニット413は、下位中継装置41と上位中継装置70との間の通信を許可し、端末ノード31,32と上位中継装置70との間の通信を許可する。規則1により、下位中継装置41と第1端末ノード31との間の通信が許可され、下位中継装置41と第2端末ノード32との間の通信が許可されている。よって、下位中継装置41および端末ノード31,32と上位中継装置70とが通信可能になる。
下位ルーティングユニット413は、ノード間の通信路が有効であるか無効であるかを決定している。下位ルーティングユニット413は、ノード間の通信路が全て有効であれば、ノード間の通信を許可する。一方、下位ルーティングユニット413は、ノード間の通信路に無効な通信路が含まれていれば、ノード間の通信を許可しない。
さらに、表1に示す下位パーティション情報によれば、下位中継装置41と下位設定装置51とはパーティション番号が一致している。そのため、下位ルーティングユニット413は、下位中継装置41と下位設定装置51との間の通信を許可する。
表2に示す下位パーティション情報によれば、下位ルーティングユニット423は、端末ノード33,34間の通信を許可する。また、下位ルーティングユニット423は、下位中継装置42および端末ノード33,34と上位中継装置70との間の通信を許可する。さらに、下位ルーティングユニット423は、下位中継装置42と下位設定装置52との間の通信を許可する。
また、初期状態では、上位パーティション情報記憶ユニット702が表3に示す上位パーティション情報を記憶しているとする。
表3に示す上位パーティション情報によれば、上位中継装置70と上位設定装置80とはパーティション番号が一致している。そのため、上位ルーティングユニット703は、上位中継装置70と上位設定装置80との間の通信を許可する。一方、下位中継装置41と下位中継装置42とはパーティション番号が一致しない。そのため、上位ルーティングユニット703は、下位中継装置41,42間の通信を許可しない。つまり、初期状態では、下位ドメイン20間の通信が禁止されている。
表3に示す上位パーティション情報によれば、上位中継装置70および上位設定装置80のパーティション番号が「1(=1.0)」であり、下位中継装置41,42のパーティション番号がそれぞれ「1.1」,「1.2」である。そのため、規則2によって、上位ルーティングユニット703は、上位中継装置70および上位設定装置80と下位中継装置41,42との間の通信を許可する。
このように初期状態では、同じ下位ドメイン20に属する端末ノード30間の通信は許可され、異なる下位ドメイン20に属する端末ノード30間の通信は許可されない。また、上位中継装置70は、下位中継装置41,42および端末ノード31〜34と通信が可能である。つまり、上位中継装置70は上位ドメイン10に含まれる全てのノードと通信できる。
異なる下位ドメイン21,22の間の通信を許可するには、上位パーティション情報記憶ユニット702のパーティション情報を表7のように変更すればよい。
表7に示すパーティション情報では、下位中継装置41のパーティション番号が「1.2」である。つまり、下位中継装置41のパーティション番号が「1.1」から「1.2」に変更されている。この場合、上位パーティション情報記憶ユニット702のパーティション情報においては、下位中継装置41と下位中継装置42とのパーティション番号が一致する。よって、上位ルーティングユニット703は、下位中継装置41,42間の通信を許可する。つまり、下位ドメイン21,22の間の通信が許可される。なお、下位中継装置42のパーティション番号を「1.2」から「1.1」に変更しても同じ結果が得られる。
下位中継装置41は、下位ドメイン21内の端末ノード31,32との通信が許可されている。また、下位中継装置42は、下位ドメイン22内の端末ノード33,34との間の通信が許可されている。そのため、中継装置41,42,70を介して端末ノード31と端末ノード33とが相互に通信可能になる。
このように、異なる下位ドメイン21,22に属する端末ノード30間の中継の可否を変更するには、上位パーティション情報記憶ユニット702に格納された上位パーティション情報を変更する必要がある。本実施形態では、特定の端末ノード30と別の端末ノード30との中継を要求する場合には、特定の端末ノード30に、別の端末ノード30のノードIDを含むブローカ情報を送信させる。また、別の端末ノード30に、特定の端末ノード30のノードIDを含むブローカ情報を送信させる。ブローカ情報は、図2に示すように、自身のノードID(送信元ノードID)と、自身が属するドメインを特定するドメインIDと、自身が連携を希望するノードIDである要求ノードIDとを含む。
第1端末ノード31と第3端末ノード33との間で通信を行う場合、第1端末ノード31は、(C11,X1,C21)を含むブローカ情報を下位中継装置41を経て上位中継装置70に送信する(図3の(1))。本実施形態では、このブローカ情報は、第1端末ノード31が第3端末ノード33に対してサービス(TVカメラにより撮像した映像を開示するというサービス)を提供できることを示す。
上位中継装置70は、受信したブローカ情報を上位設定装置80に転送する。これによって、上位設定装置80の上位通信モジュール801は、第1端末ノード31からブローカ情報を受信する。上位ブローカ情報記憶ユニット802は、上位通信モジュール801が受信したブローカ情報を記憶する。そのため、表8の上段に示すブローカ情報(第1ブローカ情報)が上位ブローカ情報記憶ユニット802に記憶される。
このように、上位ブローカ情報記憶ユニット802にブローカ情報が記憶されると、上位設定装置80は、当該ブローカ情報の要求ノードIDを持つノードに、ブローカ情報の閲覧を許可する。すなわち、第3端末ノード33は、上位ブローカ情報記憶ユニット802に記憶されたブローカ情報の要求ノードIDと自身のノードIDとが一致するから、データ(たとえばブローカ情報)の閲覧が可能になる。
第3端末ノード33が、第1端末ノード31の提供するサービスの享受(つまり、TVカメラで撮像された映像のモニタ装置への表示)を希望するとする。この場合、第3端末ノード33は、(C21,X2,C11)を含むブローカ情報を下位中継装置42を経て上位中継装置70に送信する(図3の(2))。
上位中継装置70は、受信したブローカ情報を上位設定装置80に転送する。これによって、上位設定装置80の上位通信モジュール801は、各端末ノード33からブローカ情報を受信する。
上位ブローカ情報記憶ユニット802は、上位通信モジュール801が受信したブローカ情報を記憶する。そのため、表8の下段に示すブローカ情報(第2ブローカ情報)が上位ブローカ情報記憶ユニット802に記憶される。
このように、上位ブローカ情報記憶ユニット802には、表8に示すブローカ情報が端末ノード31,33の連携関係を示す情報として格納される。
このように2つのローカ情報(第1および第2ブローカ情報)が上位ブローカ情報記憶ユニット802に記憶されると、上位ブローカ情報判定モジュール803は、第1ブローカ情報の示す送信元が第2ブローカ情報の示す送信先と一致し、かつ、第1ブローカ情報の示す送信先が第2ブローカ情報の示す送信元と一致するかどうかを判定する。
表8に示す第1ブローカ情報では、送信元が第1端末ノード31であり、送信先が第3端末ノード33である。表8に示す第2ブローカ情報では、送信元が第3端末ノード33であり、送信先が第1端末ノード31である。
したがって、上位ブローカ情報設定ユニット803は、上位中継ユニット701に第1ブローカ情報が示す送信元(第1端末ノード31)と第1ブローカ情報が示す送信先(第1端末ノード33)との間の中継をさせることを示すパーティション情報を生成する。
上位パーティション情報更新ユニット804は、上位ブローカ情報設定ユニット803で生成された上位パーティション情報を上位中継装置70に送信する。これによって、上位パーティション情報更新ユニット804は、上位パーティション情報記憶ユニット702に記憶された上位パーティション情報を上位ブローカ情報設定ユニット803で生成された上位パーティション情報に更新する。
また、上位パーティション情報更新ユニット804は、上位認証サーバ90にセッション鍵の配布を要求する。さらに、上位パーティション情報更新ユニット804は、上位ブローカ情報設定ユニット803で生成された上位パーティション情報を上位認証サーバ90に送信する(図3の(3))。これによって、上位認証サーバ90は、セッション鍵を配布し、パーティション情報(パーティション番号)を更新する。
このようにして、下位ドメイン21,22間で上位中継装置70を介してデータを伝送することが可能になる。つまり、下位ドメイン21,22の間の通信が許可される。
なお、第1端末ノード31は、下位中継装置41と、セッション鍵を用いた暗号化通信を行う。第2端末ノード32は、下位中継装置42と、セッション鍵を用いた暗号化通信を行う。下位中継装置41,42は、上位中継装置70と、それぞれセッション鍵を用いた暗号化通信を行う。
以上述べた本実施形態の通信ネットワークシステムによれば、ノード(端末ノード30、中継装置40)の間の通信の許可と禁止とをパーティション情報記憶ユニット702に格納された上位パーティション情報によって動的に制御できる。
次に、下位設定装置50の動作について説明する。なお、下位設定装置51,52は同様の動作を行うから、下位設定装置51についてのみ説明する。
初期状態では、下位パーティション情報記憶ユニット412が表9に示す下位パーティション情報を記憶しているとする。
表9に示す下位パーティション情報では、下位中継装置41は、第1端末ノード31とパーティション番号が一致しているが、第2端末ノード32とパーティション番号が一致していない。そのため、規則1により、下位ルーティングユニット413は、端末ノード31,32間の通信を許可しない。
下位ドメイン21の端末ノード31,32の間の通信を許可するには、下位パーティション情報記憶ユニット412の下位パーティション情報を表1のように変更する必要がある。
第1端末ノード31が第2端末ノード32との連携を要求する場合、第1端末ノード31は、(C11,X1,C12)を含むブローカ情報を下位中継装置41に送信する。下位中継装置41は、受信したブローカ情報を下位設定装置51に転送する。
これによって、下位通信モジュール511は、第1端末ノード31からブローカ情報を受信する。下位ブローカ情報記憶ユニット512は、下位通信モジュール511が受信したブローカ情報を記憶する。
第2端末ノード32が第1端末ノード31との連携を受け入れる場合、第2端末ノード32は、(C12,X1,C11)を含むブローカ情報を下位中継装置41に送信する。下位中継装置41は、受信したブローカ情報を下位設定装置51に転送する。
これによって、下位通信モジュール511は、第2端末ノード32からブローカ情報を受信する。下位ブローカ情報記憶ユニット512は、下位通信モジュール511が受信したブローカ情報を記憶する。
このようにして、(C11,X1,C12)を含むブローカ情報と(C12,X1,C11)を含むブローカ情報とが下位ブローカ情報記憶ユニット512に記憶される。この場合、下位ブローカ情報設定ユニット513は、第1端末ノード31と第2端末ノード32との間の中継をさせることを示すパーティション情報(表1に示すパーティション情報)を生成する。
下位パーティション情報更新ユニット514は、下位ブローカ情報設定ユニット513で生成された下位パーティション情報を下位中継装置41に送信する。
これによって、下位パーティション情報更新ユニット514は、下位パーティション情報記憶ユニット412に記憶された下位パーティション情報を下位ブローカ情報設定ユニット513で生成された下位パーティション情報に更新する。
また、下位パーティション情報更新ユニット514は、下位認証サーバ61にセッション鍵の配布を要求する。さらに、下位パーティション情報更新ユニット514は、下位ブローカ情報設定ユニット513で生成された下位パーティション情報を下位認証サーバ61に送信する。これによって、下位認証サーバ61は、セッション鍵を配布し、パーティション情報(パーティション番号)を更新する。
このようにして、同じ下位ドメイン21の端末ノード31,32間で下位中継装置41を介してデータを伝送することが可能になる。
なお、パーティション情報記憶ユニット402,702のパーティション情報の変更は、ウェブサーバ(図示せず)を利用して行えるようにしてもよい。この場合に、パーソナルコンピュータなどの端末装置からウェブサーバにアクセスすることで、パーティション情報の変更を行う。なお、中継装置40,70を上述したようなウェブサーバとして用いてもよい。
なお、ブローカ情報設定ユニット803,503は、ブローカ情報記憶ユニット802,502に記憶された1つのブローカ情報に基づいて、中継ユニット701,401にブローカ情報の送信元と送信先との間の中継をさせることを示すパーティション情報を生成するように構成されていてもよい。
なお、ブローカ情報は、利用者のユーザIDを含んでいてもよい。つまり、設定装置50,80は、ユーザ認証を行うように構成されていてもよい。このようにすれば、ノード間の連携関係が不正に変更されることを防止できる。また、ブローカ情報は暗号化された状態で送信されてもよい。このようにすればセキュリティを向上できる。
また、設定装置50,80をウェブサーバとして用いてもよい。この場合、パーソナルコンピュータなどの端末装置から設定装置50,80にアクセスすることで、ブローカ情報の変更を行う。なお、設定装置50,80は、端末装置からアクセスするユーザの認証を行うことが好ましい。この場合、各ドメイン21,22の両方から、もしくはいずれか一方のドメイン21,22から端末装置で設定装置50,80にアクセスすれば、端末装置を認証サーバ90により認証できる。よって、ブローカ情報の変更を安全に行える。ブローカ情報の変更は、設定装置50,80に設けられたHTMLの入力フォームを用いて行える。たとえば、入力フォームに、送信元のノードIDと、送信元が属するドメインIDと、要求ノードIDとを入力させればよい。
図4は、本実施形態の変形例の通信ネットワークシステムを示す。この変形例では、端末ノード31,32は、通信路を介して下位設定装置51に接続されている。また、端末ノード33,34は、通信路を介して下位設定装置52に接続されている。
端末ノード31,32は、ブローカ情報を下位中継装置41ではなく下位設定装置51に送信するように構成される。同様に、端末ノード33,34は、ブローカ情報を下位中継装置42ではなく下位設定装置52に送信するように構成される。
下位設定装置50において、ブローカ情報記憶ユニット502は、下位通信ユニット501が受信したブローカ情報を記憶する。また、下位パーティション情報更新ユニット504は、端末ノード30から受け取ったブローカ情報を下位中継装置40に転送するように構成される。このとき、下位パーティション情報更新ユニット504は、ブローカ情報を下位中継装置40に送信する前に下位認証サーバ60に下位セッション鍵の配布を要求する。すなわち、下位パーティション情報更新ユニット504は、下位認証サーバ60から配布された下位セッション鍵を用いてブローカ情報を暗号化して上位中継装置70に送信する。また、下位パーティション情報更新ユニット504は、下位認証サーバ60から配布された下位セッション鍵を用いて下位パーティション情報を暗号化して下位中継装置40に送信する。すなわち、下位パーティション情報更新ユニット504は、下位認証サーバ60が下位セッション鍵を配布した後に、下位パーティション情報記憶ユニット402に記憶された下位パーティション情報を更新するように構成される。
下位中継装置40において、中継ユニット401は、下位設定装置50から受け取ったブローカ情報を上位中継装置70(上位設定装置80)に転送するように構成される。このように、下位中継装置41,42は、下位のノード(端末ノード31,32,33,34)からの連携の要求(ブローカ情報)を上位中継装置70(上位設定装置80)に転送する転送サービスを行うように構成される。
上位設定装置80において、上位パーティション情報更新ユニット804は、上位パーティション情報を上位中継装置70に送信する前に上位認証サーバ90に上位セッション鍵の配布を要求する。そして、上位パーティション情報更新ユニット804は、上位認証サーバ90から配布された上位セッション鍵を用いて上位パーティション情報を暗号化して上位中継装置70に送信する。すなわち、上位パーティション情報更新ユニット804は、上位認証サーバ90が上位セッション鍵を配布した後に、上位パーティション情報記憶ユニット702に記憶された下位パーティション情報を更新するように構成される。
変形例では、端末ノード30が送信したブローカ情報は、最初に下位設定装置51,52で受信される。その後、ブローカ情報は、下位中継装置41,42を通して上位中継装置70に送信される。
以下に、本実施形態の変形例の通信ネットワークシステムの動作について説明する。
第1端末ノード31が第3端末ノード33に連携を要求する場合、第1端末ノード31はブローカ情報(C11,X1,C21)を下位設定装置51に送信する(図4の(1))。この場合、下位ブローカ情報記憶ユニット512は、表10に示すブローカ情報を記憶する。下位パーティション情報更新ユニット514は、下位認証サーバ61に下位セッション鍵の配布を要求する(図4の(2))。その後、下位パーティション情報更新ユニット504は、下位認証サーバ61から配布された下位セッション鍵を用いてブローカ情報を暗号化して上位中継装置70(上位設定装置80)に送信する(図4の(3))。上位中継装置70は、下位中継装置41から受け取ったブローカ情報を上位設定装置80に送信する。
第3端末ノード33が第1端末ノード31に連携を要求する場合、第3端末ノード33はブローカ情報(C21,X1,C11)を下位設定装置52に送信する(図4の(4))。この場合、下位ブローカ情報記憶ユニット522は、表11に示すブローカ情報を記憶する。下位パーティション情報更新ユニット524は、下位認証サーバ62に下位セッション鍵の配布を要求する(図4の(5))。その後、下位パーティション情報更新ユニット524は、下位認証サーバ62から配布された下位セッション鍵を用いてブローカ情報を暗号化して上位中継装置70(上位設定装置80)に送信する(図4の(6))。上位中継装置70は、下位中継装置41から受け取ったブローカ情報を上位設定装置80に送信する。
上位設定装置80では、上位通信ユニット801が、上位中継装置70および各下位中継装置41,42を介して各下位設定装置51,52からブローカ情報を受け取る。これによって、上位ブローカ情報記憶ユニット802は、連携要求のデータ(ブローカ情報)を集約し、表8に示すブローカ情報を記憶する。その後、上位設定装置80は、上述したように上位鍵記憶ユニット902および上位パーティション情報記憶ユニット702のパーティション情報を更新する(図4の(7))。これによって、第1端末ノード31と第3端末ノード33との間の通信が許可される。つまり、異なる下位ドメイン21,22間での通信が許可される。
この変形例では、各端末ノード30は、各下位中継装置41,42の転送サービスを受けるためのネットワークアドレスを知っていればよい。そのため、下位ドメイン21,22内で閉じたアドレス設定が可能になる。つまり、構成管理を下位ドメイン21,22ごとに行うことができ、構成管理が容易になる。たとえば、NATルータが用いられて、下位ドメイン21,22に対してプライベートアドレスのような固有のアドレスが割り振られる場合でも、転送サービスを利用するためのネットワークアドレスをデフォルトで固定とすることで下位ドメイン21,22での構成管理が容易になる。
なお、変形例では、パーティション情報更新ユニット804,504は、認証サーバ90,60にセッション鍵の配布を要求している。しかしながら、パーティション情報更新ユニット804,504は、認証サーバ90,60からのセッション鍵の再配布を待っても良い。要は、パーティション情報更新ユニット804,504は、認証サーバ90,60がセッション鍵を配布した後に、パーティション情報やブローカ情報を送信するように構成されていればよい。
なお、図5に示すように、ブローカ情報は、属性情報を含んでいてもよい。属性情報は、下位ドメイン20を単位として連携するか、端末ノード30を単位として連携するかを指定する情報である。さらに詳しく説明すると、属性情報には「オール」と「オンリー」とがある。「オール」は下位ドメイン20を単位として下位ドメイン20に属するすべての端末ノード30間の連携を許容することを示す。「オンリー」は指定した端末ノード30間の連携を許容することを示す。
ブローカ情報に「オール」の属性情報が含まれている場合には、上述と同様の動作になる。一方、ブローカ情報に「オンリー」の属性情報が含まれている場合には、たとえば、下位設定装置51は、下位パーティション情報記憶ユニット412に記憶されたパーティション情報を表1に示す内容から表12に示す内容に変更する。また、下位設定装置51は、下位鍵記憶ユニット612に記憶されたパーティション情報を表5に示す内容から表13に示す内容に変更する。同様に、下位設定装置52は、下位パーティション情報記憶ユニット422に記憶されたパーティション情報を表2に示す内容から表14に示す内容に変更する。また、下位設定装置52は、下位鍵記憶ユニット622に記憶されたパーティション情報を表6に示す内容から表15に示す内容に変更する。
表12および表13に示すパーティション情報では、第1端末ノード31のパーティション番号が1.1.1であり、第2端末ノード32のパーティション番号が1.2である。この場合、下位ルーティングユニット413は、規則2により第1端末ノード31と下位中継装置41との間の通信を許可する。しかし、下位ルーティングユニット413は、第2端末ノード32と下位中継装置41との間の通信を許可しない。
表14および表15に示すパーティション情報では、第3端末ノード33のパーティション番号が1.2.1であり、第4端末ノード34のパーティション番号が1.1である。この場合、下位ルーティングユニット423は、規則2により第3端末ノード33と下位中継装置42との間の通信を許可する。しかし、下位ルーティングユニット423は、第4端末ノード34と下位中継装置42との間の通信を許可しない。
このようにすれば、各ドメイン10,21,22がそれぞれパーティション情報を持つ。そのため、ノード間のアクセス制御を複数箇所で管理できる。よって、ノード間の通信の安全性が向上する。
しかも、各ドメイン10,21,22内でノードごとに通信の許可と禁止とを選択できる。よって、下位ドメイン21,22間で連携が要求された端末ノード30間でのみ通信が可能になる。そのため、通信の安全性が高くなる。
(実施形態2)
本実施形態の通信ネットワークシステムでは、パーティション情報(下位パーティション情報および上位パーティション情報)は、下位ドメイン20に属する複数のノードそれぞれの識別番号(ノードID)と、各識別番号にそれぞれ紐付けされたローカルパーティション番号およびグローバルパーティション番号と、を含む。
ローカルパーティション番号は、同じ下位ドメイン20に属するノード間の中継の可否の判定に使用される。つまりローカルパーティション番号はドメイン内のパーティション番号である。さらにいえば、ローカルパーティション番号は、特定の下位ドメイン内でのみ有効である。
グローバルパーティション番号は、異なるドメインに属するノード間の通信の中継の可否の判定に使用される。つまりローカルパーティション番号はドメイン外のパーティション番号である。グローバルパーティション番号は、通信ネットワークシステム全体で有効である。
本実施形態におけるパーティション情報記憶ユニット702,412,422と、鍵記憶ユニット902,612,622とは、ローカルパーティション番号とグローバルパーティション番号とを区別して格納する領域をノードごとに備える。
以下では、ローカルパーティション番号とグローバルパーティション番号とを区別するために、ローカルパーティション番号の前には「L:」を付加し、グローバルパーティション番号の前には「G:」を付加する。
本実施形態において、ルーティングユニット703,413,423は、以下の規則に従って中継ユニット701,411,422の制御(アクセス制御)を行う。
規則1: ローカルパーティション番号が一致しているノード間の通信を同じドメイン内で許可する。
規則2: ローカルパーティション番号のうちの下位ドメイン20のパーティション番号(つまり、「.」の右側の数値)が0であれば、上位ドメイン10のパーティション番号が一致しているノード間の通信を同じドメイン内で許可する。
規則3: グローバルパーティション番号が一致しているノード間の通信を異なるドメイン間で許可する。
規則4: グローバルパーティション番号のうちの下位ドメイン20のパーティション番号(つまり、「.」の右側の数値)が0であれば、上位ドメイン10のパーティション番号が一致しているノード間の通信を異なるドメイン間で許可する。
なお、規則2,4では、「.」の右側の数値が0であれば、ワイルドカードとみなし、「.」の右側が他の数値であるものと一致しているとみなす。また、「.0」は省略して記述される。たとえば、「1.0」は「1」と表記される。
つまり、ローカルパーティション番号が一致する場合には、各ドメイン10,21,22の中で通信が許可される。グローバルパーティション番号が一致する場合には、ドメイン10,21,22間で通信が許可される。各ノードにはローカルパーティション番号とグローバルパーティション番号とがそれぞれ付与されている。そのため、各ドメイン10,21,22内で通信が許可ないし禁止されるノードと、ドメイン10,21,22間で通信が許可ないし禁止されるノードとを個別に設けることができる。すなわち、通信ネットワークにおいてノードごとに通信の許可される範囲と禁止される範囲とを自由に設定できる。
本実施形態では、パーティション情報記憶ユニット702,412,422は、それぞれ表16、表17、表18に示すパーティション情報を記憶する。
鍵記憶ユニット902,612,622は、それぞれ表19、表20、表21に示すパーティション情報を記憶する。
上述した規則に従い中継装置70,41,42は、ローカルパーティション番号が一致するノード間の通信を許可し、グローバルパーティション番号が一致するノード間の通信を許可する。本実施形態の構成では、パーティション番号が多重化されているといえる。
以下に、本実施形態の通信ネットワークシステムの動作について説明する。下位中継装置41の下位パーティション情報記憶ユニット412は表17に示すパーティション情報を記憶し、下位認証サーバ61の下位鍵記憶ユニット612は表20に示すパーティション情報を記憶する。よって、第1端末ノード31は、下位ドメイン21内のノード(下位中継装置41および第2端末ノード32)との間の通信が許可されている。また、第1端末ノード31は、下位ドメイン21外のノード(上位中継装置70)との間の通信が許可されている。同様に、第2端末ノード32は、下位ドメイン21内のノード(下位中継装置41および第1端末ノード31)との間の通信が許可されている。また、第2端末ノード32は、下位ドメイン21外のノード(上位中継装置70)との間の通信が許可されている。
ここで、第2端末ノード32と下位ドメイン21外のノードとの間の通信を禁止したい場合には、第2端末ノード32のグローバルパーティション番号を「G:1.1」から「G:1.2」に変更する。この場合、第2端末ノード32は、ローカルパーティション番号が一致しているノードとの間の通信が同じドメイン21内で許可される。一方、第2端末ノード32は、下位中継装置41とはグローバルパーティション番号が一致しない。そのため、下位中継装置41は、第2端末ノード32が下位ドメイン21外のノードと通信することを許可しない。たとえば、端末ノード31,32がそれぞれTVカメラを備えているとする。この場合、端末ノード31の撮像した画像は下位ドメイン21外のノードに伝送され、端末ノード32の撮像した画像は下位ドメイン21外のノードに伝送されない。このような設定の変更は、設定を変更したいノードが属するドメイン10,21,22のパーティション情報記憶ユニット702,412,422に記憶されたパーティション情報(パーティション番号)を変更するだけで行える。
本実施形態の通信ネットワークシステムによれば、同じドメイン10,21,22に属するノード間のアクセス制御と、異なるドメイン10,21,22に属するノード間のアクセス制御とを同時に行える。たとえば、同じドメイン21に属する端末ノード31,32間の通信の許可と、それぞれ異なるドメイン21,22に属する端末ノード31,33間の通信の許可とを同時に行える。本実施形態の通信ネットワークシステムの他の構成および動作は、実施形態1の通信ネットワークシステムと同様であるから説明を省略する。
パーティション情報は、管理用パーティション番号などの様々なパーティション番号を含んでいてもよい。各ノードに様々なパーティション番号を対応付けておけば、様々な範囲で通信の制限と許可とが可能になる。たとえば、ファームウェアのアップデートや他のサービスとの連携を行うときに、これらのサービスの適用範囲を柔軟に変更できる。
(実施形態3)
本実施形態の通信ネットワークシステムは、パーティション情報の内容が実施形態1の通信ネットワークシステムと異なる。
本実施形態では、下位中継装置41,42は上位中継装置70と通信可能である。ノード間のアクセス制御は、中継装置40,70がコンテンツベースのデータルーティングを行うことにより実行される。コンテンツベースのデータルーティングを行うために、各端末ノード30は、それぞれが提供するサービス(オブジェクト)を一意に識別するためのオブジェクト識別子を記憶する。また、各端末ノード30は、オブジェクトのサービス属性(インターフェイス)を一意に識別するためのインターフェイス識別子を記憶する。
以下、本実施形態の通信ネットワークシステムの動作例を説明する
第1端末ノード31が、自身が属する下位ドメイン21と異なる下位ドメイン22に属する第3端末ノード31にオブジェクト(TVカメラにより撮像された映像)を提供する場合、当該オブジェクトに対応するオブジェクト識別子を外部ネットワークに公開する。第1端末ノード31は、オブジェクト識別子を公開するために、中継装置70に提供メッセージをオブジェクト識別子とともに送信する。中継装置70が第1端末ノード31から提供メッセージを受信すると、中継装置70は、第三者が認識できるようにオブジェクト識別子を公開する。なお、公開されるのはオブジェクト識別子だけである。よって、TVカメラにより撮像された映像は転送されず、第三者がこの映像を見ることはできない。
第3端末ノード33は、第1端末ノード31の提供するサービスを享受しようとする場合、中継装置70にアクセスする。これによって、第3端末ノード33は、映像を転送するサービスの識別子(オブジェクト識別子と、当該サービスを提供する第1端末ノード31の識別子)を認識して、中継装置70を経由して第1端末ノード31が提供するサービスを享受する。
本実施形態におけるパーティション情報は、オブジェクトを識別するためのオブジェクト識別子と、インターフェイスを識別するためのインターフェイス識別子と、を含む。
たとえば、本実施形態におけるパーティション情報は、パーティション番号に加えて、サービスを提供する端末ノード30(送信元のノード)のオブジェクト識別子と、サービスを享受する端末ノード30(送信先のノード)のインターフェイス識別子とを含む。
本実施形態では、端末ノード30に設定されたオブジェクト識別子とインターフェイス識別子との組み合わせをパーティション情報記憶ユニット702で様々に記述してパーティションを設定できる。そのため、パーティション情報記憶ユニット702で扱う情報の組み合わせ数を簡便化できる。また、パーティション情報記憶ユニット702で扱う情報に柔軟性を持たせることができる。
本実施形態の通信ネットワークシステムを構築する各ノード(中継装置40,41,70、端末ノード31,32,33,34)は、それぞれ1つ以上のオブジェクトを有していてもよい。また、1つのオブジェクトは、複数のインターフェイスを有していてもよい。したがって、パーティション情報としてオブジェクト識別子およびインターフェイス識別子を用いれば、ノードに1つの識別情報(ノードIDやドメインID)を用いるだけで、複数種類の機能について複数種類のサービス属性を要求できる。言い換えると、1つのアドレスで、複数のサービスを提供できる。
たとえば、本実施形態の通信ネットワークシステムの使用するプロトコルがTCP/IPであるときに、少ないコネクション数で複数のサービスを提供できる。また、サービスを享受するノードでは少ないコネクション数で複数個のオブジェクトにアクセスできる。したがって、たとえば、ノードが有する複数のオブジェクトから所望のオブジェクトを選択することで享受するサービスを柔軟に変更できる。
本実施形態では、オブジェクト識別子をOIDと表記し、インターフェイス識別子をIIDと表記する。また、複数のオブジェクト識別子OIDを区別する場合には必要に応じて正の整数値を付記する。複数のインターフェイス識別子IIDを区別する場合には必要に応じて正の整数値を付記する。
たとえば、1つのオブジェクト識別子OID1に複数のインターフェイス識別子IID1,IID2,……を対応付ける場合は、OID1:IID1,OID1:IID2,……と表される。複数のオブジェクト識別子OID1,OID2,……に一つのインターフェイス識別子IID1を対応付ける場合は、OID1:IID1,OID2:IID2,……と表される。
たとえば、オブジェクト識別子OID1は、カメラを規定するプログラムであるオブジェクトに対応する。インターフェイス識別子IID1は、ズームに対応する。インターフェイス識別子IID2は、パンに対応する。
オブジェクト識別子とインターフェイス識別子との対応付けには、ワイルドカードを用いることもできる。本実施形態では、ワイルドカードを「*」で表す。たとえば、OID1:*や、*:IID1のような対応付けが可能である。OID1:*は、オブジェクト識別子OID1に対して任意のインターフェイス識別子を対応付けることを意味する。*:IID1は、任意のオブジェクト識別子がインターフェイス識別子IID1に対応付けられることを意味する。
このような各種の組み合わせを用いることによって、オブジェクト識別子OID1にインターフェイス識別子IID1,IID2を関連付けることができる。これによって、OID1:IID1,OID1:IID2という連携関係を設定できる。これらのオブジェクト識別子およびインターフェイス識別子を持つノードを連携させることができる。すなわち、オブジェクト識別子とインターフェイス識別子とを適宜に組み合わせて用いることにより、連携関係の設定を簡単にしたり連携関係の柔軟性を高めたりできる。本実施形態の通信ネットワークシステムの他の構成および動作は、実施形態1の通信ネットワークシステムと同様であるから説明を省略する。
(実施形態4)
本実施形態の通信ネットワークシステムでは、パーティション番号はネットワークアドレスとサブネットマスクとにより記述されている。また、各ノード(中継装置70,41,42、設定装置80,51,52、端末ノード31,32,33,34)の識別情報(ノードID)はドメイン10,21,22内におけるMACアドレスである。
上位中継装置70は、上位ドメイン10内のノードからの要求に応じて、ネットワークアドレスおよびサブネットマスクを与える機能を有する。下位中継装置41,42は、それぞれ下位ドメイン21,22内のノードからの要求に応じて、ネットワークアドレスおよびサブネットマスクを与える機能を有する。各ドメイン10,21,22に属するノードは、ネットワークアドレスおよびサブネットマスクの設定を中継装置70,41,42に要求する際に、他のノードとの連携を要求する。すなわち、中継装置70,41,42は、DHCP機能を有したルータと同様の機能を有する。ただし、中継装置70,41,42は、ルータとは異なり、ノード間の通信の許可と禁止とをパーティション情報に基づいて動的に変更できる。
本実施形態のパーティション情報は、実施形態2と同様に、ローカルパーティション番号とグローバルパーティション番号とを含む。本実施形態では、プライベートアドレスをローカルパーティション番号として用い、グローバルアドレスをグローバルパーティション番号として用いる。
本実施形態では、パーティション情報記憶ユニット702,412,422は、それぞれ表22、表23、表24に示すパーティション情報を記憶する。
また、鍵記憶ユニット902,612,622は、それぞれ表25、表26、表27に示すパーティション情報を記憶する。
本実施形態では、各中継装置70,41,42は、設定装置80,51,52のそれぞれにIPアドレス(IPv4またはIPv6)を与える。また、各中継装置70,41,42は、設定装置80,51,52に与えたIPアドレスを記憶する。ただし、各設定装置80,51,52をPPPoE対応のノードとする場合には、上位中継装置70が各設定装置80,51,52にアドレスを与えればよい。
本実施形態では、上位中継装置70はルータの機能を有している。また、下位中継装置41,42は、NATルータ(NAT機能を有するルータ)の機能を有している。
下位中継装置40は、プライベートアドレス(プライベートのネットワークアドレスおよびサブネットマスク)と、グローバルアドレス(グローバルのネットワークアドレスおよびサブネットマスク)とを有する。たとえば、下位中継装置41のプライベートアドレスは「172.16.1.0/24」であり、下位中継装置42のプライベートアドレスは「172.16.2.0/24」である。下位中継装置41のグローバルアドレスは「1.0.1.0/24」であり、下位中継装置42のグローバルアドレスは「1.0.2.0/24」である。
第1端末ノード31が第3端末ノード33との連携を要求する際には、第1端末ノード31は、下位設定装置51にブローカ情報を送信する。このブローカ情報に含まれるノードIDはMACアドレスである。同様に、第3端末ノード33が第1端末ノード31との連携を要求する際には、第3端末ノード33は、下位設定装置52にブローカ情報を送信する。つまり、端末ノード30は、ノードIDであるMACアドレスと同時に連携要求を送信する。
下位設定装置51,52は、それぞれDHCP機能を用いて端末ノード31,33のノードIDに対応するインターネットプロトコルのネットワークアドレスおよびサブネットマスクをパーティション情報記憶ユニット412,422(または鍵記憶ユニット612,622)から入手する。これによって、下位設定装置51,52は、それぞれIPアドレスを生成して端末ノード31,33に付与する。すなわち、本実施形態の通信ネットワークシステムでは、下位設定装置50は、端末ノード30と双方向通信を行う。これに対して、実施形態1の通信ネットワークシステムでは、下位設定装置50は端末ノード30から信号を受信するだけである。
下位設定装置50は、端末ノード30へのIPアドレスの付与と同時に、端末ノード30からの連携要求の処理を行う。ブローカ情報の要求ノードIDが送信元ノードIDと同じドメイン20に属するノードIDであれば、下位設定装置50は、下位パーティション情報記憶ユニット402と下位鍵記憶ユニット602とのパーティション情報を更新する。連携を要求する端末ノード30の再接続の際に、鍵記憶ユニット602の更新と、鍵配布ユニット601によるセッション鍵の配布とが実行される。すなわち、セッション鍵の配布に伴ってパーティション情報が更新される。パーティション情報記憶ユニット402は、NATルータのルーティングテーブルとしても用いられる。
ブローカ情報の要求ノードIDが、送信元ノードIDと異なるドメイン20に属するノードIDであれば、下位設定装置50は、下位中継装置40を通してブローカ情報を上位設定装置80に送信する。上位設定装置80は、受け取ったブローカ情報に基づいて、上位パーティション情報記憶ユニット702と上位鍵記憶ユニット902とのパーティション情報を更新する。つまり、上位鍵ユニット902は、上位ドメイン10のルーティングテーブルである上位パーティション情報記憶ユニット702と連動する。鍵記憶ユニット902の更新は、連携を要求する端末ノード30の再接続の際に、鍵配布ユニット901によるセッション鍵の配布とともに実行される。
本実施形態の通信ネットワークシステムは、グローバルパーティション番号の代わりにグローバルアドレスを用い、ローカルパーティション番号の代わりにプライベートアドレスを用いる。したがって、パーティション番号は、NAT機能によるグローバルアドレスおよびプライベートアドレスを含むIPアドレスと対応する。よって、下位中継装置40は連携要求(ブローカ情報)にしたがってNAT機能を実行するか否かを選択する。
端末ノード30が異なるドメイン20の端末ノード30との連携を要求した場合、下位中継装置40はNAT機能を実行する。そのため、下位中継装置40はNAT機能のための変換テーブルを作成する。一方、端末ノード30が同じドメイン20に属する端末ノード30との連携を要求した場合、下位中継装置40はNAT機能を実行しない。そのため、下位中継装置40はNAT機能のための変換テーブルを作成しない。下位中継装置40は、連携を要求する端末ノード30の再接続の際に、DHCPサーバ機能によりIPアドレスを入手する。下位中継装置40は、端末ノード30のパーティション番号とDHCPサーバ機能により得たIPアドレス(アドレス値)とを用いてNAT機能のための変換テーブルを作成する。
以上説明したように、本実施形態の通信ネットワークシステムでは、パーティション番号がルーティングのためのアドレスと一致している。そのため、通信の許可と禁止との選択、すなわちアクセス制御をノード毎に行える。また、パーティション番号は、NAT機能によるプライベートアドレスを含むIPアドレスと対応している。そのため、アクセス制御の設定とNAT機能の透過の設定とを同時に行える。つまり、ドメインを超える通信を禁止する場合には、グローバルアドレスを割り振らないようにしてNAT機能を透過できないようにすればよい。連携要求に応じて柔軟な設定が可能になる。
なお、上位中継装置70をルータにより構成してもよい。また、下位中継装置41,42をインターネットプロトコルにおけるレイヤ3(L3)のスイッチング機能を持つLANスイッチにより構成してもよい。各中継装置41,42のネットワークアドレスおよびサブネットマスクは上述の例と同様に設定される。また、各中継装置41,42のIPアドレスは、IPv4のIPアドレスであってもよいし、IPv6のIPアドレスであってもよい。また、IPv4やIPv6と同様のマスク処理を行うアドレス体系であれば本実施形態の技術思想を適用できる。さらに、アドレスの付与はDHCPサーバではなく、オートIP、UPnP、IPv6のリンクローカルアドレス、PPPoE機能などを利用して行ってもよい。本実施形態の通信ネットワークシステムの他の構成および動作は、実施形態2の通信ネットワークシステムと同様であるから説明を省略する。