以下、本発明の実施の形態について、図面に基づいて説明する。本実施形態において、本発明に係る中継装置は、中継サーバとして実施される。また、本実施形態において、本発明に係る情報処理装置は、データリンク層の通信を利用したクラウドサービスを、ホームネットワークに提供するサービスサーバとして実施される。また、本実施形態において、本発明に係る通信ノードは、サービスサーバ、及びホームネットワークに設置される通
信装置であるサービスアダプタとして実施される。また、本実施形態において、所定のデータリンク層のフレームは、Ethernet(登録商標)におけるMACフレーム(Media Access Control Frame)として実施される。
本実施形態に係る通信システムは、ホームネットワークに関するクラウドサービスの提供を受ける者である複数のユーザと、サービスサーバによりクラウドサービスをユーザに提供する者である複数のサービスプロバイダと、中継サーバによりユーザ及びサービスプロバイダにMACフレームの中継サービスを提供する者である中継プロバイダとによって利用される。ここで、クラウドサービスとは、例えば、ホームネットワーク4に設置されたネットワークカメラ等を用いた自宅監視をするセキュリティサービスであり、データリンク層の通信網を利用するネットワークサービスである。サービスプロバイダ及び中継プロバイダは、ユーザからの申し込み(依頼)に応じて、クラウドサービスや中継サービスを提供する。また、中継プロバイダは、ユーザからの申し込み(依頼)に応じて、ホームネットワーク同士のMACフレームの中継サービスを提供する。なお、本実施形態では、1つのサービスサーバは、1つのクラウドサービスを提供することを前提とするが、1つのサービスサーバが複数のクラウドサービスを提供してもよい。また、本発明は、ホームネットワーク向けのクラウドサービス提供の用途に限定されるものではない。
なお、以下に説明する実施の形態は、本発明を実施する一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明を実施するにあたっては、実施の形態に応じた具体的構成が適宜採用されることが好ましい。
<構成>
図1は、本実施形態に係る中継サーバを含む通信システムの構成を示す概略図である。本実施形態に係る通信システムは、中継サーバ1、1つ以上のサービスサーバ2、ネットワークアダプタ3が設置される1つ以上のホームネットワーク4、ローカルネットワーク5、及びインターネット6を備える。中継サーバ1とサービスサーバ2とは、ローカルネットワーク5に接続し、互いに通信可能である。また、中継サーバ1とサービスアダプタ3とは、インターネット6に接続し、互いに通信可能である。また、サービスサーバ2は、インターネット6に接続し、サービスサーバ2とサービスアダプタ3とは、互いに通信可能である。なお、通信システムは、インターネット6の代わりに、イントラネット、WAN(Wide Area Network)等で構成されてもよい。
中継サーバ1は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、ROM(Read Only Memory)13、HDD(Hard Disk Drive)等の補助記憶装置14、ゲートウェイ等を介してインターネット6と接続されるNIC(Network Interface Card)15、及び、ローカルネットワーク5と接続されるNIC16を備えたコンピュータである。CPU11は、中央処理装置であり、RAM12等に展開された命令及びデータを処理することで、RAM12、補助記憶装置14等を制御する。RAM12は、主記憶装置であり、CPU11によって制御され、各種命令やデータが書き込まれ、読み出される。補助記憶装置14は、不揮発性の補助記憶装置であり、RAM12にロードされるOS(Operating System)や通信の制御を行うプログラム等の各種プログラム、データベース等、主にコンピュータの電源を落としても保持したい情報が書き込まれ、読み出される。また、本実施形態において、中継サーバ1には、OSとしてLinux(登録商標)が搭載されている。
なお、1台のコンピュータが中継サーバ1の提供するすべての機能やデータを提供する形態だけでなく、複数のコンピュータがこれらを提供してもよい。
サービスサーバ2は、中継サーバ1と同様に、CPU21、RAM22、ROM23、補助記憶装置24、ローカルネットワーク5と接続されるNIC25、及び、ゲートウェイ等を介してインターネット6と接続されるNIC26を備えたコンピュータである。補助記憶装置24には、ホームネットワーク4に対しクラウドサービスを提供するプログラム、本実施形態に係る仮想ネットワークアダプタを生成する機能を有するプログラム等も記憶される。本実施形態において、サービスサーバ2には、OSとしてLinux(登録商標)が搭載されている。
ホームネットワーク4は、家庭等に構築されたローカルエリアネットワークである。ホームネットワーク4では、データリンク層のプロトコルとして、Ethernet(登録商標)の通信が用いられる。ホームネットワーク4に接続されたネットワーク機器は、MACフレームを送受する。
サービスアダプタ3は、ホームネットワーク4に接続された通信装置であり、CPU、RAM、ROM、補助記憶装置、NIC等を備えたコンピュータである。サービスアダプタ3は、中継サーバ1との間でフレーム伝送路を確立する機能を有する。また、サービスアダプタ3は、ホームネットワーク4と中継サーバ1との間で、MACフレームを中継する機能を有する。すなわち、サービスアダプタ3は、ホームネットワーク4からフレームを受信したときに、受信したMACフレームを中継サーバ1との間で確立されたフレーム伝送路に送信し、当該フレーム伝送路からMACフレームを受信したときに、受信した当該MACフレームをホームネットワーク4に送信する。
ホームネットワーク4に接続される情報機器41は、Ethernet(登録商標)による通信機能を有する情報機器であり、例えば、パーソナルコンピュータ、ネットワーク対応テレビ受像器等のネットワーク対応家電製品、ネットワークカメラ、NAS(Network Attached Storage)、その他のネットワーク対応の情報機器である。ルータ42は、ホームネットワーク4内の情報機器41がインターネット6に接続するためのゲートウェイの機能を持つルータであり、例えば、ブロードバンドルータである。なお、サービスアダプタ3、及びルータ42の機能は、1台の装置で実現されてもよい。
図2は、本実施形態に係る通信システムが構築するデータリンク層の論理的な通信網の例を示すイメージ図である。論理的な通信網は、インターネット6、ローカルネットワーク5を横断して構築される。図2に示される論理的な通信網は、中継サーバ1を介して互いにMACフレームを送受可能な状態にある、ホームネットワーク4の情報機器41やサービスサーバ2が構成する、データリンク層の論理的な通信網である。図2には、3つのデータリンク層の論理的な通信網が示されている。
第1の論理的な通信網は、サービスサーバ2Aが接続されたホームネットワーク4Aである。図2において、第1の論理的な通信網は、情報装置41A、サービスアダプタ3A、仮想ポートP11、仮想ブリッジB1、仮想ポートP21、及び仮想ネットワークアダプタV1の結線によって示されている。
第2の論理的な通信網は、サービスサーバ2A及び2Bが接続されたホームネットワーク4Bである。図2において、第2の論理的な通信網は、情報装置41B、サービスアダプタ3B、仮想ポートP12、仮想ブリッジB2、仮想ポートP22、P23、及び仮想ネットワークアダプタV2、V3の結線によって示されている。
第3の論理的な通信網は、互いに接続されたホームネットワーク4C及び4Dである。図2において、第3の論理的な通信網は、情報装置41C、41D、サービスアダプタ3
C、3D、仮想ポートP13、P14、及び仮想ブリッジB3の結線によって示されている。
これら、第1〜第3の論理的な通信網は、互いに独立の通信網である。
図2において、フレーム伝送路T11〜T14は、中継サーバ1とサービスアダプタ3との間に確立されるMACフレームの伝送路である。具体的には、フレーム伝送路T11〜T14は、EtherIP[RFC3378]とIPsecとのプロトコルで実現される、MACフレームをカプセル化するトンネルである。フレーム伝送路T21〜T23は、中継サーバ1とサービスサーバ2との間に確立されるデータリンク層のフレームの伝送路である。具体的には、GRE(Generic Routing Encapsulation)[RFC1701]で実現される、MACフレームをカプセル化するトンネルである。
仮想ポートP11〜P14は、中継サーバ1がサービスアダプタ3との間で確立するフレーム伝送路の一端となり、論理的な接続関係を構築する単位となる仮想的なポートである。仮想ポートP11〜P14は、具体的には、中継サーバ1のOS上に構成される仮想ネットワークアダプタであり、EtherIP及びIPsecによるトンネリングの機能を有する。仮想ポートP11〜P14は、それぞれ、物理的なネットワークインタフェースとしてのNIC15を介してサービスアダプタ3A〜3Dと通信する。また、仮想ポートP21〜P23は、中継サーバ1がサービスサーバ2との間で確立するフレーム伝送路の一端となる仮想ポートである。仮想ポートP21〜P23は、P11〜P14と同様に中継サーバ1のOS上に構成される仮想ネットワークアダプタであり、GREによるトンネリングの機能を有する。仮想ポートP21〜P23は、物理的なネットワークインタフェースとしてのNIC16を介してサービスサーバ2A、2Bと通信する。
仮想ブリッジB1〜B3は、仮想ポート間を接続することで、フレーム伝送路間の論理的な接続関係を示す。仮想ブリッジB1〜B3は、MACフレームを中継する仮想的なブリッジ(あるいはレイヤ2の仮想スイッチ)を意味する。中継サーバ1がMACフレームを中継することで、この論理的な接続関係が実現される。仮想ブリッジB1は、仮想ポートP11及びP21を接続し、フレーム伝送路T11とT21とが接続されていることを示す。仮想ブリッジB2は、仮想ポートP12、P22、及びP23を接続し、フレーム伝送路T12、T22、及びT23が接続されていることを示す。仮想ブリッジB3は、仮想ポートP13及びP14を接続し、フレーム伝送路T13及びT14が接続されていることを示す。
なお、本実施形態において、論理的な接続関係は、ホームネットワーク4及びサービサーバ2との間の接続と、ホームネットワーク4同士の間の接続とを前提としているが、サービスサーバ2同士の接続や、複数のホームネットワーク4及び複数のサービスサーバ2の接続等を採用してもよい。
図3から図5を用いて、中継サーバ1の補助記憶装置14に記憶されるデータベースについて説明する。本実施形態におけるデータベースは、リレーショナルデータベースである。データベースは、アダプタ情報テーブル、セッション情報テーブル、及びユーザ契約情報テーブルを有する。中継サーバ1の各機能は、これらのテーブルに管理される情報を用いて実現される。
図3は、アダプタ情報テーブルのデータの例である。アダプタ情報テーブルは、サービスアダプタ3に関する情報を管理する。サービスアダプタIDは、サービスアダプタ3を識別する識別情報である。この例において、「AA01」、「AB02」、「AC03」
、及び「AD04」は、図2におけるサービスアダプタ3A、3B、3C、及び3Dを識別するものとする。認証キーは、サービスアダプタ3の認証のために用いられる鍵情報である。セッションIDは、確立されたフレーム伝送路を管理するために使われる識別情報である。
図4は、セッション情報テーブルのデータの例である。セッション情報テーブルは、サービスアダプタ3との間のフレーム伝送路に関する情報を管理する。セッションIDは、フレーム伝送路を識別する。サービスアダプタIPアドレスは、フレーム伝送路を確立しているサービスアダプタ3のIPアドレスを示す。ポートIPアドレスは、仮想ポートに割り当てられたIPアドレスを示し、通信の管理等に用いられる情報である。宅間接続情報は、接続先のセッションIDの値をとり、ホームネットワーク4同士のデータリンク層での接続関係を示す。サービスサーバ接続情報は、サービスサーバ2(及びサービスサーバ2で提供されるクラウドサービス)を識別するサービスIDの値を取り、ホームネットワーク4とサービスサーバ2との間のデータリンク層での接続関係を示す。本実施形態において、「α」、「β」は、それぞれ、図2におけるサービスサーバ2A、2Bを識別するサービスIDを意味する。
図5は、ユーザ契約情報テーブルのデータの例である。ユーザ契約情報テーブルは、本実施形態に係る通信システムを用いた、クラウドサービスや中継サービスの提供についての、ユーザの申し込みに関する情報を管理する。サービスアダプタIDは、サービスの提供対象となるホームネットワーク4のサービスアダプタ3を識別する。申し込みサービスIDは、サービスサーバ2(及びサービスサーバ2で提供されるクラウドサービス)を識別するサービスIDの値を取り、ユーザによって申し込まれ、サービスサーバ2によって提供されるクラウドサービスを示す。申し込みステータスは、中継サーバ1によって中継サービスがホームネットワーク4に提供されるか否かの状態(中継サービスの利用状況)を示す。
図6は、本実施形態に係る通信システムの機能構成を示す概略図である。
中継サーバ1は、補助記憶装置14に記録されているプログラムが、RAM12に読み出され、CPU11によって実行されることで、認証部101、フレーム伝送路確立部102、論理接続情報保持部103、フレーム中継部104、及び論理接続情報変更部105を備えるコンピュータとして機能する。なお、本実施形態では、コンピュータの備える各機能は、汎用プロセッサであるCPU11によって実行されるが、これらの機能の一部又は全部は、1又は複数の専用プロセッサによって実行されてもよい。
同様に、サービスサーバ2は、補助記憶装置24に記録されているプログラムが、RAM22に読み出され、CPU21によって実行されることで、仮想ネットワークアダプタ生成部201、及び論理接続要求部202を備えるコンピュータとして機能する。なお、本実施形態では、コンピュータの備える各機能は、汎用プロセッサであるCPU21によって実行されるが、これらの機能の一部又は全部は、1又は複数の専用プロセッサによって実行されてもよい。
本実施形態において、中継サーバ1の認証部101は、通信ノードとしてのサービスアダプタ3の認証を行う。具体的には、認証部101は、サービスアダプタ3との間でフレーム伝送路を確立する前に、サービスアダプタ3からインターネット6を介して通知されるサービスアダプタID、及び認証キーに基づいて、サービスアダプタ3がフレーム伝送路を確立する権限があるか否かを確認する。この際、アダプタ情報テーブルを参照し、サービスアダプタ3が中継サーバ1に通知するサービスアダプタID及び、認証キーの組の妥当性を確認する。
本実施形態に係る認証部101によれば、サービスアダプタ3が、フレーム伝送路を確立する権限を有するか否かを確認し、確認した権限の有無に応じて、フレーム伝送路の確立等の適切な処理を実行することができる。なお、認証部101は、サービスアダプタ3に限らず、サービスサーバ2も認証するようにしてもよい。
本実施形態において、中継サーバ1のフレーム伝送路確立部102は、MACフレームにデータリンク層より上位層の管理情報を付加することで、通信ノードとしてのサービスアダプタ3又はサーバスサーバ2との間で、MACフレームを当該上層の通信により伝送するためのフレーム伝送路を確立する。フレーム伝送路を確立するにあたり、フレーム伝送路確立部102は、サービスアダプタ3のうち、認証されたサービスアダプタ3との間でフレーム伝送路を確立する。
具体的には、フレーム伝送路確立部102は、中継サーバ1とサービスアダプタ3との間、又は中継サーバ1とサーバスサーバ2との間で、MACフレームを所定のトンネリングプロトコルでカプセル化して伝送するトンネル(フレーム伝送路に相当)を確立する。この際、フレーム伝送路確立部102は、トンネルを介したMACフレームの伝送を行う、仮想ネットワークアダプタ(図2における仮想ポートP11〜P14、P21〜P23)を中継サーバ1上に作成する。
まず、サービスアダプタ3との間でのフレーム伝送路(図2におけるフレーム伝送路T11〜P14)の確立について、詳細を説明する。フレーム伝送路確立部102は、サービスアダプタ3との間でEtherIP及びIPsecを用いたトンネルを、フレーム伝送路として確立する。フレーム伝送路が確立された状態において、フレーム伝送路確立部102によって作成される仮想ネットワークアダプタ(図2における仮想ポートP11〜P14)が、フレームの伝送処理を行う。フレーム伝送路確立部102は、確立したフレーム伝送路を識別するセッションIDを、アダプタ情報テーブルの対応するレコードのセッションIDフィールドに登録する。また、フレーム伝送路確立部102は、確立したフレーム伝送路の情報をセッション情報テーブルに登録する。
サービスアダプタ3との間のフレーム伝送路において、MACフレームは、データリンク層より上位層のEtherIP及びIPsecのプロトコルの管理情報が付加され、IP(Internet Protocol)パケットにカプセル化されて伝送される。また、このフレーム伝送路において、IPパケットは、IPsecにより暗号化される。
図7は、本実施形態に係るフレームに付加される上位層の管理情報の例を示す図である。図7には、サービスアダプタ3との間で伝送されるMACフレームに付加されるEtherIPの管理情報が示されている。図7において、MACフレーム501は、EtherIPヘッダ502及びIPの管理情報であるIPヘッダ503が付加され、カプセル化される。
次に、サービスサーバ2との間でのフレーム伝送路(図2におけるフレーム伝送路T21〜T23)の確立について、詳細を説明する。フレーム伝送路確立部102は、サービスサーバ2との間で、GREのプロトコルを用いたトンネルを、フレーム伝送路として確立する。また、フレーム伝送路確立部102は、サービスサーバ2に対し、GREの通信を行うためのIPアドレスを通知する。フレーム伝送路が確立された状態において、フレーム伝送路確立部102によって作成される仮想ネットワークアダプタ(図2における仮想ポートP21〜P23)が、フレームの伝送処理を行う。
サービスアダプタ3との間のフレーム伝送路では、データリンク層より上位層のGRE
のプロトコルの管理情報が付加され、IPパケットが伝送される。
本実施形態のフレーム伝送路確立部102によれば、ネットワーク層以上のプロトコルの通信網を横断して、データリンク層のフレームの伝送を行うことができる。また、本実施形態のフレーム伝送路確立部102によれば、フレーム伝送路確立部102は、サービスアダプタ3のうち、認証されたサービスアダプタ3との間でフレーム伝送路を確立するため、悪意あるユーザ等が操作する不適切な通信ノードが、通信システムが構築するデータリンク層のネットワークにアクセスすることを防ぐことができる。
本実施形態において、中継サーバ1の論理接続情報保持部103は、複数のフレーム伝送路間の論理的な接続関係を示す論理接続情報を保持する。論理的な接続関係は、図2における仮想ブリッジB1〜B3に相当する。また、論理接続情報は、セッション情報テーブルの、宅間接続情報及びサービスサーバ接続情報のフィールドの値として保持される。
図4のセッション情報テーブルにおいて、例えば、1行目のレコードは、セッションIDの値が「AAAA0001」であり、サービスサーバ接続情報の値が「α」である。このレコードは、サービスアダプタ3Aとの間のフレーム伝送路T11(図3のサービスアダプタID「AA01」のレコード参照)と、サービスサーバ接続情報「α」が識別するサービスサーバ2Aとの間のフレーム伝送路T21とが接続していることを示す(図2における仮想ブリッジB1に相当する)。同様に、2行目のレコードは、フレーム伝送路T12とT22とT23とが接続していることを示す(図2における仮想ブリッジB2に相当する)。また、3行目のレコードは、セッションIDの値が「CCCC0003」であり、宅間接続情報の値が「DDDD0004」である。このレコードは、サービスアダプタ3Cとの間のフレーム伝送路T13と、サービスアダプタ3Dとの間のフレーム伝送路T14とが接続していることを示す(図2における仮想ブリッジB3に相当する)。
本実施形態の論理接続情報保持部103によれば、フレーム伝送路間の論理的な接続関係を示す論理接続情報が保持されるため、物理的な接続関係を変更することなく、簡易、迅速にフレーム伝送路間の接続関係を構築できる。
本実施形態において、中継サーバ1のフレーム中継部104は、論理接続情報保持部103によって保持された論理接続情報が示す接続関係が、第1のフレーム伝送路と第2のフレーム伝送路とが接続していることを示す場合に、第1のフレーム伝送路からMACフレームを受信したときに、受信したMACフレームを、第2のフレーム伝送路に送信する。ここで、第1のフレーム伝送路は、中継サーバ1とサービスアダプタ3との間のフレーム伝送路であってもよく、中継サーバ1とサービスサーバ2との間のフレーム伝送路であってもよい。第2のフレーム伝送路も同様である。
フレーム中継部104は、MACフレームの伝送処理に関して、フレーム伝送路確立部102によって作成される中継サーバ1上の仮想ネットワークアダプタ(仮想ポート)を利用する。何れかの仮想ネットワークアダプタ(図2における仮想ポートP11〜P14、及びP21〜P23)が、フレーム伝送路を介して所定のプロトコル(EtherIP及びIPsec、又はGRE)にカプセル化されたMACフレームを受信すると、当該仮想ネットワークアダプタは、デカプセル化によりMACフレームを取り出す処理を行う。また、フレーム中継部104が、フレーム伝送路にMACフレームを送信する際には、中継サーバ1上の仮想ネットワークアダプタは、MACフレームを所定のプロトコルにカプセル化して送信する処理を行う。
フレーム中継部104は、中継サーバ1上の仮想ネットワークアダプタがMACフレームを受信したことを条件に、論理接続情報が示す接続関係が接続していることを示すフレ
ーム伝送路に対応する仮想ネットワークアダプタに、受信したMACフレームを送信させる。このため、フレーム中継部104は、複数の仮想ネットワークアダプタ(仮想ポート)間の仮想ブリッジ(仮想スイッチ)の役割を担うことになる。
図8は、本実施形態に係る中継サーバ1のフレーム中継処理の例を示す図である。図8は、図2におけるデータリンク層の論理的な通信網の例と対応する。図8には、仮想ブリッジB1〜B3のそれぞれに分類した、MACフレームの受信に関する条件と、その条件が発生した場合のMACフレームの送信処理との関係が示されている。例えば、フレーム中継部104は、仮想ブリッジB1に関して、仮想ポートP11からMACフレームを受信した場合に、仮想ポートP21へ、受信したMACフレームを送信する(番号1を参照)。また、例えば、フレーム中継部104は、仮想ブリッジB2に関して、仮想ポートP22からMACフレームを受信した場合に、仮想ポートP12及びP23へ、受信したMACフレームを送信する(番号4を参照)。
本実施形態において、中継サーバ1の論理接続情報変更部105は、論理接続情報が示す接続関係を変更する要求が通知されたときに、通知された要求に応じて、論理接続情報保持部103によって保持される論理接続情報を変更する。論理接続情報変更部105は、サービスサーバ2から中継サーバ1に通知される、中継サーバ1及びサービスアダプタ3との間で確立されたフレーム伝送路と、サービスサーバ2上の仮想ネットワークアダプタによって確立されるフレーム伝送路との接続要求に従って、論理接続情報を変更する。
具体的には、論理接続情報変更部105は、サービスサーバ2からの接続要求として、インタフェース作成要求を通知されたときに、セッション情報テーブルのレコードうち、インタフェース作成要求に含まれている接続先のホームネットワーク4の情報(サービスアダプタ3を識別するサービスアダプタID)に対応するレコードにおいて、サービスサーバ接続情報フィールドの値に、通知元のサービスサーバ2を識別するサービスIDを追加する。
なお、本実施形態において、1台のコンピュータである中継サーバ1が、認証部101、フレーム伝送路確立部102、論理接続情報保持部103、フレーム中継部104、及び論理接続情報変更部105の機能を提供した。これに対し、例えば、フレーム伝送路確立部102として機能するコンピュータである終端サーバ、論理接続情報保持部103として機能するコンピュータであるデータベースサーバ、フレーム中継部104として機能する仮想スイッチサーバ、及び論理接続情報変更部105として機能するAPIサーバ等の複数のコンピュータ構成でこれらの機能を実現することを採用してもよい。この際、終端サーバ、データベースサーバ、仮想スイッチサーバ、及びAPIサーバは、ネットワークを介して互いに通信可能なように構成した通信システムを採用してもよい。このようにすることで、通信システムについて、負荷の分散を行うことやスケーラビリティを高めることができる。
本実施形態において、サービスサーバ2の仮想ネットワークアダプタ生成部201は、中継サーバ1との間でフレーム伝送路を確立する仮想ネットワークアダプタをサービスサーバ2上に生成する。
本実施形態において、仮想ネットワークアダプタ生成部201によって生成される仮想ネットワークアダプタは、サービスサーバ2のOS上でEthernet(登録商標)のNICをシミュレートするネットワークドライバ(TAPデバイス)である。仮想ネットワークアダプタは、物理インタフェースとしてNIC25を介して中継サーバ1と通信し、GREのトンネルによるフレーム伝送路を中継サーバ1との間で確立する。図2においては、仮想ネットワークアダプタは、仮想ネットワークアダプタV1〜V3として示され
ている。
具体的には、仮想ネットワークアダプタ生成部201は、例えば、「ip link add gr10
type gretap local 172.16.0.1 remote 172.16.0.2 ttl 255」等のコマンドを実行する
ことで、仮想ネットワークアダプタを生成する。ここで、「172.16.0.1」及び「172.16.0.2」は、それぞれ、ローカルネットワーク5上で、サービスサーバ2のNIC25及び中継サーバ1のNIC26に割り当てられたIPアドレスである。また、「gr10」は、生成される仮想ネットワークアダプタの名称である。
本実施形態において、サービスサーバ2の論理接続要求部202は、中継サーバ1及びサービスアダプタ3との間で確立されたフレーム伝送路と、仮想ネットワークアダプタ生成部201によって生成される仮想ネットワークアダプタにより確立されるフレーム伝送路との接続要求を、中継装置サーバ1に通知する。論理接続要求部202は、この通知によって、中継サーバ1に論理接続情報を変更させる。
具体的には、論理接続要求部202は、接続要求としてのインタフェース作成要求を、ローカルネットワーク5を介して、中継サーバ1に通知する。インタフェース作成要求には、接続先のホームネットワーク4の情報(サービスアダプタ3を識別するサービスアダプタID)が含まれる。
<処理の流れ>
図9から図12までを用いて、本実施形態に係る通信システムの処理の流れを説明する。なお、シーケンス図等に示された処理の具体的な内容および順序は一例であり、処理内容および順序には、実施の形態に適したものが適宜採用されることが好ましい。
図9は、サービスアダプタ3との間のフレーム伝送路の確立処理の流れを示すシーケンス図である。この処理の流れは、例えば、ユーザがサービスアダプタ3をホームネットワーク4に新たに設置したことを契機に開始される。
ステップS101では、サービスアダプタ3が、インターネット6を介して中継サーバ1に接続依頼を通知する。接続要求には、通知元のサービスアダプタ3を識別するサービスアダプタID、及び認証キーが含まれる。
次に、ステップS102では、中継サーバ1の認証部101が、中継サーバ1から通知された接続依頼に含まれるサービスアダプタID、及び認証キーに基づいて、サービスアダプタ3がフレーム伝送路を確立する権限があることを確認し、サービスアダプタ3を認証する。
次に、ステップS103では、中継サーバ1のフレーム伝送路確立部102が、仮想ネットワークアダプタを中継サーバ1上に作成する。作成される仮想ネットワークアダプタは、サービスアダプタ3との間でトンネルを介したMACフレームの伝送を行うためのものである。また、作成される仮想ネットワークアダプタには、IPアドレス等サービスアダプタ3と通信するために必要な情報が設定される。
次に、ステップS104では、中継サーバ1が、作成した仮想ネットワークアダプタに関するMACフレームの中継機能を起動することで、中継処理(仮想ブリッジ)の準備をする。ただし、この時点では、論理接続情報が示す接続先が存在しないため、実質的な中継処理は動作しない。
次に、ステップS105では、中継サーバ1のフレーム伝送路確立部102が、セッシ
ョン情報を登録する。フレーム伝送路確立部102は、新しいセッションIDを生成し、アダプタ情報テーブルのセッションIDフィールドに登録する。また、フレーム伝送路確立部102は、セッション情報テーブルに、レコードを追加する。追加するレコードは、生成したセッションID、サービスアダプタ3のIPアドレス、ステップS103において作成した仮想ポートに割り当てたIPアドレスの要素を有する。
次に、ステップS106では、中継サーバ1のフレーム伝送路確立部102が、サービスアダプタ3に接続成功を示す情報を通知する。
図10は、サービスサーバ2との間のフレーム伝送路の確立処理の流れを示すシーケンス図である。この処理の流れは、例えば、図9によるサービスアダプタ3との間のフレーム伝送路の確立処理の完了後、ユーザがサービスプロバイダの提供するクラウドサービスを申し込む操作をしたことを契機に開始される。
ステップS201では、ユーザが、インターネット6を介してサービスサーバ2にサービス利用依頼を通知する。本実施形態において、ユーザは、サービスサーバ2が提供するサービス利用依頼用のWeb画面を用いて、必要な情報を入力し、サービス利用依頼を通知する。通知されるサービス利用依頼の情報には、通知元のユーザが利用するサービスアダプタ3(ホームネットワーク4)を識別するサービスアダプタIDが含まれる。
ステップS202及びS203では、ユーザのホームネットワーク4がサービス利用依頼に関するクラウドサービスを利用可能であるか否かが確認される。まず、ステップS202では、サービスサーバ2が、サービス利用依頼に関するクラウドサービスの利用可否を、中継サーバ1にローカルネットワーク5を介して問い合わせる。問い合わせには、確認対象のサービスアダプタ3を識別するサービスアダプタID、サービスサーバ2を識別するサービスIDの情報が含まれる。中継サーバ1は、ユーザ契約情報テーブルのレコードの内、問い合わせに含まれるサービスアダプタIDが識別するサービスアダプタ3に対応するレコードを参照する。中継サーバ1は、参照したレコードの申し込みステータスが「利用中」であること、及び申し込みサービスIDにサービスサーバ2を識別するサービスIDが含まれることを確認する。次に、ステップS203では、中継サーバ1が、ステップS202におけるサービスサーバ2からの利用可否確認の問い合わせに対し、利用可能であることを返答(通知)する。
ステップS204では、サービスサーバ2が、ホームネットワーク4にアクセスするためのインタフェースを作成する依頼であるインタフェース作成依頼を、中継サーバ1に通知する。このインタフェース作成依頼には、アクセス先のホームネットワーク4を示すサービスアダプタIDの情報が含まれる。インタフェース作成依頼を通知された中継サーバ1は、ステップS205からS209において当該作成依頼に対応する。
ステップS205及びS206では、サービスサーバ2上に仮想ネットワークアダプタが作成される。まず、ステップS205では、中継サーバ1が、仮想ネットワークアダプタ作成指示を、サービスサーバ2に通知する。次に、ステップS206では、サービスサーバ2の仮想ネットワークアダプタ生成部201が、中継サーバ1との間でフレーム伝送路を確立する仮想ネットワークアダプタをサービスサーバ2上に生成する。
ステップS207では、中継サーバ1のフレーム伝送路確立部102が、サービスサーバ2(ステップS206で作成された仮想ネットワークアダプタ)との間でフレーム伝送路を確立する仮想ネットワークアダプタを中継サーバ1上に作成する。仮想ネットワークアダプタには、IPアドレス等サービスサーバ2と通信するために必要な情報が設定される。
ステップS208では、中継サーバ1の論理接続情報変更部105が、セッション情報テーブルを更新することで、インタフェース作成要求の通知元のサービスサーバ2とアクセス先のホームネットワーク4とが接続していることを示す接続情報の登録を行う。
ステップS209では、中継サーバ1のフレーム伝送路確立部102が、サービスサーバ2にインタフェース接続情報を通知する。本実施形態において、通知されるインタフェース接続情報は、ステップS205からS208の処理が成功し、インタフェース作成依頼が正常に処理されたことを示す情報である。
ステップS210では、サービスサーバ2が、Web画面を用いて、サービス利用の開始を示す通知をユーザに対して行う。
図11は、サービスサーバ2から送信されたフレームの伝送処理の流れを示すシーケンス図である。この処理の流れは、図2が示すデータリンク層の論理的な通信網が構築されていることを前提とする。また、この処理の流れは、サービスサーバ2A上で実行されるクラウドサービスを提供する提供プログラムが、ホームネットワーク4Aの情報機器41A宛のデータ送信を仮想ネットワークアダプタV1に命令したことを契機に開始される。
ステップS301及びS302では、MACフレームが、サービスサーバ2Aから中継サーバ1に送信される。まず、ステップS301では、サービスサーバ2上の仮想ネットワークアダプタV1が情報機器41A宛のMACフレームを生成する。次に、ステップS302では、仮想ネットワークアダプタV1が、生成したMACフレームを、サービスサーバ2Aと中継サーバ1との間で確立されたフレーム伝送路T21に送信する。中継サーバ1は、仮想ネットワークアダプタV1からフレーム伝送路T21を介してMACフレームを受信する。
ステップS303及びS304では、MACフレームが、中継サーバ1からサービスサーバ3Aに送信される。まず、ステップS303では、中継サーバ1のフレーム中継部104が、論理接続情報を参照し、T21に関する接続関係を確認する。接続関係の確認の結果、中継サーバ1のフレーム中継部104は、論理接続情報がフレーム伝送路T21とT11とが接続していると判定する。次に、ステップS304では、中継サーバ1のフレーム中継部104が、仮想ネットワークアダプタV1から受信したMACフレームを、中継サーバ1とサービスアダプタ3Aとの間で確立されたフレーム伝送路T11に送信する。サービスアダプタ3Aは、フレーム伝送路T11を介してMACフレームを受信する。
ステップS305では、MACフレームが、サービスアダプタ3Aから情報機器41に送信される。サービスアダプタ3Aは、フレーム伝送路T11を介して受信したMACフレームをホームネットワーク4へ送信する。情報機器41Aは、ホームネットワーク4のサービスアダプタ3から情報機器41A宛であるMACフレームを受信する。
以上の処理の流れは、サービスサーバ2Aが送信したフレームの中継処理の流れであるが、その他のサービスサーバ2やサービスアダプタ3が送信したフレームの中継処理も同様の流れになる。
図12は、ホームネットワーク4間の接続処理の流れを示すシーケンス図である。この処理の流れは、図9によるサービスアダプタ3との間のフレーム伝送路の確立処理の完了後、ユーザがホームネットワーク4間の接続の申し込み操作をしたことを契機に開始される。
ステップS401では、ユーザが、インターネット6を介して、中継サーバ1にホームネットワーク間接続依頼を通知する。本実施形態において、ユーザは、中継サーバ1が提供するWeb画面を用いて、必要な情報を入力し、サービス利用依頼を通知する。通知されるホームネットワーク間接続依頼の情報には、接続元のサービスアダプタ3を識別するサービスアダプタID及び接続先のホームネットワーク4のサービスアダプタ3を識別するサービスアダプタIDが含まれる。
次に、ステップS402では、中継サーバ1の論理接続情報変更部105が、ホームネットワーク間接続依頼に応じて、論理接続情報が示す接続関係がホームネットワーク4同士の接続を示すように、接続情報の登録を行う。具体的には、論理接続情報変更部105が、ホームネットワーク間接続依頼に含まれているサービスアダプタIDに基づいて、セッション情報テーブルのレコードうち、接続元及び接続先のホームネットワーク4に関するレコードの宅間接続情報のフィールドを更新する。
次に、ステップS403では、中継サーバ1が、ホームネットワーク間接続が開始したことを知らせる情報を、ユーザに通知する。
以上の本実施形態によれば、インターネット6等を横断するフレーム伝送路を確立し、論理的なデータリンク層の接続関係に基づいて、フレーム伝送路間で動的にフレームの中継を行うため、インターネット6等のパケット通信網を横断するデータリンク層の通信網を、簡易、迅速に構築できる。また、サービスサーバ2に搭載されたプログラムによって、ホームネットワーク4ごとにデータリンク層で通信可能な仮想ネットワークアダプタが生成されるため、サービスサーバ2は、ホームネットワーク4にデータリンク層でアクセスする環境を、新たにネットワーク機器の設置等を要することなく、簡易、迅速に獲得できる。
また、本実施形態によれば、論理的な接続関係に基づいて、フレーム中継部104がフレームを中継するため、データリンク層の複数の通信網を1つの中継サーバ1で構築できる。そのため、物理的な接続関係に基づく場合と比較し、データリンク層の複数の通信網の構築のための設備、機器等を節約できる。また、本実施形態によれば、データリンク層の複数の通信網を、互いに独立に構築できるため、セキュリティやプライバシーへの配慮等ができ、ユーザやサービスプロバイダのニーズに応じたデータリンク層の通信網を提供できる。