(57)【特許請求の範囲】
【請求項１】
第１の網に接続された第１のゲートウェイと、
第２の網に接続された第２のゲートウェイと、
前記第１のゲートウェイと前記第２のゲートウェイとの双方に接続するソケット管理サーバと、
を含む通信管理システムであって、
前記ソケット管理サーバは、
前記第２の網に接続されたサーバから、前記サーバのソケット情報を登録する要求があった場合に、前記サーバのソケット情報を登録するソケット情報登録手段と、
前記第１の網に接続されたクライアントから、通信相手を選択する要求があった場合に、前記クライアントの通信相手として有効な機器のソケット情報を前記クライアントに提示する通信相手提示手段と、
前記クライアントから、前記サーバに接続する要求があった場合に、前記クライアントに接続するためのクライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記サーバに接続するためのサーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、ソケットトンネルを設定することによって前記クライアントと前記サーバ間の通信経路を設定するソケットトンネル設定手段と、
を含むことを特徴とする通信管理システム。
【請求項２】
請求項１記載の通信管理システムにおいて、
前記ソケット管理サーバは、
前記クライアントから、前記サーバとの間に設定された通信経路を削除する要求があった場合に、前記第２のゲートウェイから前記クライアント側擬似ソケットを削除し、前記第１のゲートウェイから前記サーバ側擬似ソケットを削除するソケットトンネル削除手段、
を含むことを特徴とする通信管理システム。
【請求項３】
請求項１記載の通信管理システムにおいて、
前記ソケット管理サーバは、第１の網及び第２の網のいずれとも異なる第３の網上に位置することを特徴とする通信管理システム。
【請求項４】
請求項１記載の通信管理システムにおいて、
前記第１の網は、ローカルＩＰ網であり、前記第２の網は、前記第１の網と異なるローカルＩＰ網であることを特徴とする通信管理システム。
【請求項５】
請求項３記載の通信管理システムにおいて、
前記第３の網は、グローバルＩＰ網であることを特徴とする通信管理システム。
【請求項６】
請求項１記載の通信管理システムにおいて用いられる前記ソケット管理サーバにおいて、
前記第２の網に接続されたサーバから、前記サーバのソケット情報を登録する要求があった場合に、前記サーバのソケット情報を登録するソケット情報登録手段と、
前記第１の網に接続されたクライアントから、通信相手を選択する要求があった場合に、前記クライアントの通信相手として有効な機器のソケット情報を前記クライアントに提示する通信相手提示手段と、
前記クライアントから、前記サーバに接続する要求があった場合に、前記クライアントに接続するためのクライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記サーバに接続するためのサーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、ソケットトンネルを設定することによって前記クライアントと前記サーバ間の通信経路を設定するソケットトンネル設定手段と、
を含むことを特徴とするソケット管理サーバ。
【請求項７】
請求項１記載の通信管理システムにおいて通信を管理する方法において、
前記第２の網に接続されたサーバから、前記サーバのソケット情報を登録する要求があった場合に、前記サーバのソケット情報を登録するソケット情報登録ステップと、
前記第１の網に接続されたクライアントから、通信相手を選択する要求があった場合に、前記クライアントの通信相手として有効な機器のソケット情報を前記クライアントに提示する通信相手提示ステップと、
前記クライアントから、前記サーバに接続する要求があった場合に、前記クライアントに接続するためのクライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記サーバに接続するためのサーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、ソケットトンネルを設定することによって前記クライアントと前記サーバ間の通信経路を設定するソケットトンネル設定ステップと、
を含むことを特徴とする通信管理方法。
【請求項８】
第１の網に接続された第１のゲートウェイと、
第２の網に接続された第２のゲートウェイと、
前記第１のゲートウェイと前記第２のゲートウェイとの双方に接続するソケット管理サーバと、
を含む通信管理システムであって、
前記ソケット管理サーバは、
前記第２の網に接続されたサーバから、前記サーバのソケット情報を登録する要求があった場合に、前記サーバのソケット情報を登録するソケット情報登録手段と、
前記第１の網に接続された複数のクライアントのうちいずれかのクライアントから、通信相手を選択する要求があった場合に、そのクライアントの通信相手として有効な機器のソケット情報をそのクライアントに提示する通信相手提示手段と、
前記いずれかのクライアントから、前記サーバに接続する要求があった場合に、そのクライアントに接続するためのクライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記サーバに接続するためのサーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、ソケットトンネルを設定することによって、そのクライアントと前記サーバとの間の通信経路を設定するソケットトンネル設定手段と、
を含むことを特徴とする通信管理システム。
【請求項９】
請求項８に記載の通信管理システムにおいて、
前記ソケット情報登録手段は、前記第２の網に接続された複数のサーバのうちいずれかのサーバから、そのサーバのソケット情報を登録する要求があった場合に、そのサーバのソケット情報を登録し、
前記ソケットトンネル設定手段は、前記いずれかのクライアントから、前記いずれかのサーバに接続する要求があった場合に、そのクライアントに接続するための前記クライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記いずれかのサーバに接続するための前記サーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、前記ソケットトンネルを設定することによって、前記いずれかのクライアントと前記いずれかのサーバとの間の通信経路を設定することを特徴とする通信管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。また、その通信システムを実現させるのに関連する技術に関する。
【背景技術】
【０００２】
従来から、サーバ／クライアントのようなアプリケーション間をネットワーク接続するために、ソケット通信と呼ばれる技術を利用してネットワーク接続された機器間でアプリケーション通信を実現している。このソケット通信の概念図が図４に示されている。
【０００３】
ソケット通信は、Ｌ４ポート番号（ＴＣＰ／ＵＤＰ）及びＩＰアドレス等の情報によってアプリケーションプログラムが使用するソケットを確立し、その後、ソケット通信が実行される。
【０００４】
図４には、クライアント２００とサーバ２０２と、の間でソケット通信を行う場合の概念図が示されている。クライアント２００内には、ソケット２０４が確立され、サーバ２０２内には、ソケット２０６がそれぞれ隔離されている。これらのソケット２０４、２０６は、ネットワーク２０８によって接続されている。
【０００５】
図４のクライアント２００においては、クライアント側のアプリケーションプログラム２１０が、上記確立されたソケットに２０４を利用してサーバ２０２とのアプリケーション通信を行う。
【０００６】
サーバ２０２においても、サーバ側のアプリケーションプログラム２１２が、上記確立されたソケットに２０６を利用してクライアント２００とのアプリケーション通信を行う。
【０００７】
従来から、ソケット通信はアプリケーション間の通信を簡単に行う手法として広く利用されてきた。
【０００８】
先行特許文献の例
例えば下記特許文献１には、認証サーバにより発行された認証子を添付したリクエストが第１の機器及び第２の機器からあったときに、この認証子に応じた送信及び受信ポートがトンネルサーバに設定され、第１の機器及び第２の機器の受信及び送信ポートのそれぞれが接続されることが記載されている。
【０００９】
また、例えば下記文献２には、通信路にスイッチ接続制御装置を介在させることによって、外部ネットワークと内部ネットワークとを目的に応じたアクセス要求の制御信号によって切り離し、不正行為から確実にデータを守ることが記載されている。
【００１０】
また、例えば下記文献３には、ユーザ側ＰＣとサポートセンター間のコネクションを確立し、コネクションの内部でトンネル接続を行うことによって、ユーザ側ＰＣをサポートセンターのオペレータ端末からの遠隔操作によって維持・管理するシステムについて記載されている。
【００１１】
また、下記特許文献４には、ソケットライブラリーを介してプロセス間通信を行うソケット通信において、デバッグ用のプロセスを作成せずに通信のシミュレーションを行える技術が開示されている。
【００１２】
また、下記特許文献５には、特定のポート番号に基づいた不正アクセスを防止しうる技術が開示されている。具体的には、あるＴＣＰポート番号を、ソケット通信を行うＴＣＰポート番号であるとしてアプリケーションに定義づけ、サーバとクライアントの間でソケット通信を実現する。そして、一定の時間が経過する毎にＴＣＰポート番号を変更する。
【００１３】
これによって、不正アクセスを防止しうると記載されている。
【００１４】
【特許文献１】特開２００６−２０３５４６号公報
【特許文献２】特開２００３−１５２８０６号公報
【特許文献３】特開２００５−０２６８５６号公報
【特許文献４】特開平０５−５３８６４号公報
【特許文献５】特開２００４−２５２８７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
従来から用いられているソケット通信を、インターネットを経由して流す仕組みは存在していた。
【００１６】
しかし、従来のこのような技術では、通信の管理をサーバが行わなければならず、その処理負担が大きかった。例えば、負荷の計算や、接続の種類、認証セッションの管理など、種々の管理作業が存在し、その結果、アプリケーションサーバ等の負担は決して無視できない状態であった。
【００１７】
本発明は、このような事情に鑑みてなされたものであり、その目的は、サーバとクライアントと間におけるソケット通信を、インターネット上で実現すると共に、その管理負担が少ない通信を実現することである。
【課題を解決するための手段】
【００１８】
（１）本発明は、上記課題を解決するために、第１の網に接続された第１のゲートウェイと、第２の網に接続された第２のゲートウェイと、前記第１のゲートウェイと前記第２のゲートウェイとの双方に接続するソケット管理サーバと、を含む通信管理システムであって、前記ソケット管理サーバは、前記第２の網に接続されたサーバから、前記サーバのソケット情報を登録する要求があった場合に、前記サーバのソケット情報を登録するソケット情報登録手段と、前記第１の網に接続されたクライアントから、通信相手を選択する要求があった場合に、前記クライアントの通信相手として有効な機器のソケット情報を前記クライアントに提示する通信相手提示手段と、前記クライアントから、前記サーバに接続する要求があった場合に、前記クライアントに接続するためのクライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記サーバに接続するためのサーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、ソケットトンネルを設定することによって前記クライアントと前記サーバ間の通信経路を設定するソケットトンネル設定手段と、を含むことを特徴とする通信管理システムである。
【００１９】
（２）また、本発明は、（１）記載の通信管理システムにおいて、前記ソケット管理サーバは、前記クライアントから、前記サーバとの間に設定された通信経路を削除する要求があった場合に、前記第２のゲートウェイから前記クライアント側擬似ソケットを削除し、前記第１のゲートウェイから前記サーバ側擬似ソケットを削除するソケットトンネル削除手段、を含むことを特徴とする通信管理システムである。
【００２０】
（３）また、本発明は、（１）記載の通信管理システムにおいて、前記ソケット管理サーバは、第１の網及び第２の網のいずれとも異なる第３の網上に位置することを特徴とする通信管理システムである。
【００２１】
（４）また、本発明は、（１）記載の通信管理システムにおいて、前記第１の網は、ローカルＩＰ網であり、前記第２の網は、前記第１の網と異なるローカルＩＰ網であることを特徴とする通信管理システムである。
【００２２】
（５）また、本発明は、（３）記載の通信管理システムにおいて、前記第３の網は、グローバルＩＰ網であることを特徴とする通信管理システムである。
【００２３】
（６）また、本発明は、（１）記載の通信管理システムにおいて用いられる前記ソケット管理サーバにおいて、前記第２の網に接続されたサーバから、前記サーバのソケット情報を登録する要求があった場合に、前記サーバのソケット情報を登録するソケット情報登録手段と、前記第１の網に接続されたクライアントから、通信相手を選択する要求があった場合に、前記クライアントの通信相手として有効な機器のソケット情報を前記クライアントに提示する通信相手提示手段と、前記クライアントから、前記サーバに接続する要求があった場合に、前記クライアントに接続するためのクライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記サーバに接続するためのサーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、ソケットトンネルを設定することによって前記クライアントと前記サーバ間の通信経路を設定するソケットトンネル設定手段と、を含むことを特徴とするソケット管理サーバである。
【００２４】
（７）また、本発明は、（１）記載の通信管理システムにおいて通信を管理する方法において、前記第２の網に接続されたサーバから、前記サーバのソケット情報を登録する要求があった場合に、前記サーバのソケット情報を登録するソケット情報登録ステップと、前記第１の網に接続されたクライアントから、通信相手を選択する要求があった場合に、前記クライアントの通信相手として有効な機器のソケット情報を前記クライアントに提示する通信相手提示ステップと、前記クライアントから、前記サーバに接続する要求があった場合に、前記クライアントに接続するためのクライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記サーバに接続するためのサーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、ソケットトンネルを設定することによって前記クライアントと前記サーバ間の通信経路を設定するソケットトンネル設定ステップと、を含むことを特徴とする通信管理方法である。
【００２５】
（８）また、本発明は、第１の網に接続された第１のゲートウェイと、第２の網に接続された第２のゲートウェイと、前記第１のゲートウェイと前記第２のゲートウェイとの双方に接続するソケット管理サーバと、を含む通信管理システムであって、前記ソケット管理サーバは、前記第２の網に接続されたサーバから、前記サーバのソケット情報を登録する要求があった場合に、前記サーバのソケット情報を登録するソケット情報登録手段と、前記第１の網に接続された複数のクライアントのうちいずれかのクライアントから、通信相手を選択する要求があった場合に、そのクライアントの通信相手として有効な機器のソケット情報をそのクライアントに提示する通信相手提示手段と、前記いずれかのクライアントから、前記サーバに接続する要求があった場合に、そのクライアントに接続するためのクライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記サーバに接続するためのサーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、ソケットトンネルを設定することによって、そのクライアントと前記サーバとの間の通信経路を設定するソケットトンネル設定手段と、を含むことを特徴とする通信管理システムである。
【００２６】
（９）また、本発明は、（８）記載の通信管理システムにおいて、前記ソケット情報登録手段は、前記第２の網に接続された複数のサーバのうちいずれかのサーバから、そのサーバのソケット情報を登録する要求があった場合に、そのサーバのソケット情報を登録し、前記ソケットトンネル設定手段は、前記いずれかのクライアントから、前記いずれかのサーバに接続する要求があった場合に、そのクライアントに接続するための前記クライアント側擬似ソケットを、前記第２のゲートウェイに構築し、前記いずれかのサーバに接続するための前記サーバ側擬似ソケットを、前記第１のゲートウェイに構築し、前記クライアント側擬似ソケットと、前記サーバ側擬似ソケットとを所定の通信路で結び、前記ソケットトンネルを設定することによって、前記いずれかのクライアントと前記いずれかのサーバとの間の通信経路を設定することを特徴とする通信管理システムである。
【発明の効果】
【００２７】
以上述べたように、本発明によれば、互いの網の環境に拘わらず、擬似的にソケット通信を実行することができるシステムが提供可能である。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の好適な実施の形態を図面に基づいて説明する。
【００２９】
通信管理システム
本実施の形態における通信管理システムは、ソケット通信を利用して、クライアントとサーバとの間にネットワークを構築することによって、従来よりも接続の管理が容易で、安定した通信サービスを提供することを目的とする。
【００３０】
通信経路の形態
図１は、本実施の形態における通信管理システムの概念図である。クライアント１０とサーバ２０との間でソケット通信を行うために、クライアント１０とサーバ２０との間に第１ゲートウェイ１２と第２ゲートウェイ２２が介在する。そして、クライアント２０中のクライアントソケット１４は、第１ゲートウェイ１２中のサーバ側擬似ソケット１６に接続されている。また、サーバ２０中のサーバソケット２４は、第２ゲートウェイ２２中のクライアント側擬似ソケット２６に接続されている。
【００３１】
サーバ側擬似ソケット１６は、文字通り擬似ソケットとしての機能を有しており、クライアント１０から見ればサーバ２０に接続しているのと同様である。また、クライアント側擬似ソケット２６は、文字通り擬似ソケットとしての機能を有しており、サーバ２０から見れば、クライアント１０が接続している状態と同様である。
【００３２】
ソケットトンネル及びそれに関連する装置
図１に示すように、第１ゲートウェイ１２及び第２ゲートウェイ２２との間にソケットトンネル３０が構築されている。
【００３３】
ソケットトンネル３０内の通信プロトコルは、基本的にターゲットとなるネットワーク内で利用可能なデータ通信プロトコルであれば、どのような通信プロトコルを選択利用しても良い。
【００３４】
ソケットトンネル３０の基本的な構成は、図１に示すように、本実施の形態で特徴的な構成であるスイッチサーバ４０と、ＨＴＴＰＳ通信技術（Ｐｏｒｔ４４３）とから構成されている。スイッチサーバ４０やＨＴＴＰＳ通信技術（Ｐｏｒｔ４４３）については、後に又詳述する。
【００３５】
まず、第１ゲートウェイ１２や第２ゲートウェイ２２側には、それぞれトンネル接続用エッジクライアント１８、２８が設けられている（図１参照）。そして、上で述べたＨＴＴＰＳ通信技術（Ｐｏｒｔ４４３）を用いて、エッジクライアント１８とスイッチサーバ４０との間の通信を行う。同様に、ＨＴＴＰＳ通信技術（Ｐｏｒｔ４４３）を用いて、エッジクライアント２８とスイッチサーバ４０との間の通信が行われる。ＨＴＴＰＳ通信技術（Ｐｏｒｔ４４３）を用いる場合、このスイッチサーバ４０は、ＨＴＴＰＳサーバとなる。同様に、ＨＴＴＰＳ通信技術（Ｐｏｒｔ４４３）を用いる場合、エッジクライアント１８、２８は、ＨＴＴＰＳクライアントとなる。
【００３６】
そして、図１中のスイッチサーバ４０は、サーバ側擬似ソケット１６及びクライアント側擬似ソケット２６との間に、ソケット通信を利用した通信経路を構築する。本発明において特徴的な事項の１つは、クライアント１０とサーバ２０との間の通信経路は、スイッチサーバ４０によって管理されているということである。このような構成によって、従来各アプリケーションが管理しなければならなかったソケットトンネルの内容を、スイッチサーバ４０が行っているので、アプリケーションはソケットトンネルの内容を考慮する必要が無くなり、本来の業務に集中することが可能である。
【００３７】
このようなソケットトンネル３０においては、まず、第１ゲートウェイ１２や第２ゲートウェイ２２側に存在するトンネル接続用のエッジクライアント１８、２８が、トンネル内部のスイッチサーバ４０に両端から（図１参照）接続確認を行い、エッジクライアント１８、２８側で送信データが存在すれば、接続確認パケットに送信データに付加してスイッチサーバ４０に送信する。スイッチサーバ４０は、そのデータの宛先エッジクライアントを、（後述する）スイッチテーブルを用いて判定した後、宛先エッジクライアントへの接続確認応答に送信データを付加して、宛先エッジクライアントへデータを送信する、という仕組みを採用している。
【００３８】
ソケットトンネル３０の通信例としては、上述したように、Ｗｅｂ通信技術であるＨＴＴＰＳ通信技術（Ｐｏｒｔ４４３）を利用することが好適な一例としてあげられる。
【００３９】
第１ゲートウェイ１２及び第２ゲートウェイ２２との間の擬似ソケットをソケットトンネル３０内に存在するＨＴＴＰＳサーバ（すなわち、スイッチサーバ４０）に両方から連結することによって、通信経路を構築することができる。
【００４０】
第１ゲートウェイ１２及び第２ゲートウェイ２２のＨＴＴＰＳクライアント（すなわち、エッジクライアント１８、２８）は、ＨＴＴＰＳサーバ（すなわちスイッチサーバ４０）に対して接続通知を定期的に送信していることによって、ＨＴＴＰＳサーバ側に自分宛の他のゲートウェイからのデータが存在しているかどうかの確認を行っている。この際、ＨＴＴＰＳサーバは、他のゲートウェイからのメッセージデータを受信していた場合は、その接続通知セッション上で、宛先ゲートウェイに対するデータメッセージを送信することが可能になる。ＨＴＴＰＳクライアントは、ＨＴＴＰＳサーバから受信したこのデータメッセージを、擬似ソケット用アプリケーションに通知することによって、クライアント／サーバ間の通信が実行されている。
【００４１】
以上、ソケットトンネル３０について説明してきたが、ソケットトンネル３０を構成するには種々の通信技術を用いることが可能である。しかし、いずれの通信技術を利用数場合でもいわゆるセキュアな接続（単にセキュア接続と呼ぶ）であることが好ましい。
【００４２】
すなわち、ソケットトンネル３０は、第１ゲートウェイ１２とスイッチサーバ４０との間のセキュア接続と、スイッチサーバ４０と、第２ゲートウェイ２２とスイッチサーバ４０との間のセキュア接続と、から構成される（ことが好ましい）。
【００４３】
上で述べた例においては、セキュア接続として、Ｗｅｂサーバとクライアントがデータを送受信するために使われるＨＴＴＰプロトコルに、ポート４４３を利用したＳＳＬによる暗号化機能を付加したＨＴＴＰＳ通信技術を利用した接続を用いる例を示した。もちろん、他のセキュア接続でもかまわない。
【００４４】
図１におけるスイッチサーバ４０は、異なる複数のゲートウェイが接続されるサーバである。図１においては、スイッチサーバ４０は、第１ゲートウェイ１２及び第２ゲートウェイ２２に接続されているが、実際にはもっと多くのゲートウェイに接続することが好ましい。
【００４５】
本実施の形態においては、このスイッチサーバ４０は、クライアント１０のソケット情報及びサーバ２０のソケット情報とを保存し、クライアント１０とサーバ２０と、の間にトンネル接続を構築する機能を有する。
【００４６】
そこで、以下、このスイッチサーバ４０を、ソケット管理サーバ１４０と呼ぶことにする。ソケット管理サーバ１４０は、ソケット接続数や、ソケット情報の登録及び離脱について管理する機能を有する。
【００４７】
なお、後述する種々の図面や説明におけるソケット管理サーバ、ＮＳＰについても、同様の構成、機能を有する。
【００４８】
これらの機能は、従来はアプリケーションプログラムが実行していた機能であるので、この機能をソケット管理サーバ１４０に備えさせることは当業者であれば容易である。
【００４９】
ところで、本実施の形態においては、セキュア接続実現のために、ポート４４３を利用することを例として説明しているが、ソケットトンネル３０内で使う通信プロトコルは特に定められているものではなく、基本的に対象となるネットワーク内で利用可能なデータ通信プロトコルであれば、どのような通信プロトコルを利用しても、ソケットトンネル３０を構築することができる。
【００５０】
擬似ソケット
本実施の形態においては、例えば、図１中のエッジクライアント１２は、サーバ側擬似ソケット１６及びクライアント１０内のクライアントソケット１４が介在することによって、クライアントアプリケーションプログラム４５に接続されている。
【００５１】
図１中のサーバ側擬似ソケット１６は、擬似的にサーバソケットの機能を有するソケットである。したがって、クライアント１０をサーバ側擬似ソケット１６に接続することは、クライアント１０から見れば、サーバ２０に接続することと同様の状態となる。
【００５２】
本実施の形態において特徴的なシステムである通信管理システムは、第１ゲートウェイ１２、第２ゲートウェイ２２、そして、ソケットトンネル３０と、から構成されている（図１）。このような通信管理システムによって、クライアント１０は、あたかも直接サーバソケットと接続されているように動作することができ、クライアント１０の負担が減少する。また、サーバ２０は、あたかも直接クライアントソケットに接続しているかのように動作することができ、サーバ２０の負担が減少する。
【００５３】
ソケットトンネル通信の利用
実際の用途
このソケットトンネル通信は、種々の用途に利用することが可能である。本発明は、基本的には、ローカルＩＰドメインに存在する様々なアプリケーションサーバに対して、同じく、そのローカルＩＰドメイン（ローカルサイト）に存在するクライアントからアクセスできるようにするためのＶＰＮ（Virtual Private Network）を構築するものであり、上述したように、種々の用途に利用することが可能である。このＶＰＮは、ＳＳＬ暗号通信を利用した安全なＶＰＮ（Virtual Private Network）である。
【００５４】
本実施の形態のソケットトンネル通信システムの構築による最も一般的なメリットは、サーバ／クライアント／間は、ローカル／グローバルなどＩＰネットワーク環境を意識せずに相互通信可能になることと考えられる。
【００５５】
また、擬似ソケットのゲートウェイ登録／削除等の管理作業や、クライアント通信セッション管理をソケットトンネル３０内のＨＴＴＰＳサーバ（ソケット管理サーバ１４０）によって実行されるので、クライアント１０やサーバ２０の管理負担が減少すると共に、より安全なコネクション型通信サービスを提供することが可能となる。
【００５６】
さらに、従来はインターネット回線を利用して送受信することが困難であったＩＰマルチキャスト通信も、本実施の形態のソケットトンネル通信技術を利用することによって送受信可能になる。したがって、例えば既存のＰＰＴＰ／Ｌ２ＴＰ／ＩＰ−ＶＰＮ／ＳＳＬ−ＶＰＮなどの技術では困難であった送信形態も、本実施の形態のソケットトンネル通信技術によれば、容易に実現することが可能となる。
【００５７】
動作例 
図２には、クライアント１０と、サーバ２０と、の間において、ソケットトンネルによる通信を行う場合の説明図（タイムチャート）が示されている。図２に示すように、クライアント１０は、クライアント側の第１ゲートウェイ１２に接続されている。そして、クライアント側の第１ゲートウェイ１２は、クライアント側ＮＡＴルーター１１０を介して、ソケット管理サーバ１４０に接続されている。また、サーバ２０は、サーバ側の第２ゲートウェイ２２に接続されている。そして、サーバ側の第２ゲートウェイ２２は、サーバ側ＮＡＴルーター１２０を介して、ソケット管理サーバ１４０に接続されている。
【００５８】
なお、図２では、第１ゲートウェイ１２を、クライアント１０と独立した機器として表されているが、クライアント１０の上で動作するアプリケーションソフトウェアで構成することも好適である。
【００５９】
また、クライアント１０は、図２に示すように、ローカルＩＰ網５０内に位置し、サーバ２０は、ローカルＩＰ網６０に位置している。
【００６０】
また、これら２個のローカルＩＰ網５０，６０を結ぶためのソケットトンネル３０は、グローバルＩＰ網７０に設けられている。すなわち、ソケットトンネル３０を構成するソケット管理サーバ１４０等は、このグローバルＩＰ網７０上に設けられている。
【００６１】
本実施の形態ではこのように、グローバルＩＰ網７０上に設けられたソケットトンネル３０を用いて、ローカルＩＰ網６０上のサーバ２０と、ローカルＩＰ網５０上のクライアント１０とを結ぶことができる。
【００６２】
具体的な動作
具体的な動作例を以下説明する。
【００６３】
コネクションの設定
図２中のクライアント１０とサーバ２０と、の間には、以下の手順によってコネクションが構築される。
【００６４】
（ステップ１．）
まず、クライアント１０に対してサービスの提供をしようとするサーバ２０は、ソケット管理サーバ１４０に対して、サーバアプリケーションソケットの情報及び利用クライアントの情報の登録（の要求）を行う。この要求（Ｓ１）は、図３ではメッセージＳ１として表されている。
【００６５】
この要求に応じて、ソケット管理サーバ１４０は、アプリケーションソケットの情報を内部に登録する。この登録は、所定のプログラムが上記の所定の情報をハードディスク等の記録手段に書き込むことによって行われる。このプログラム（及びそれを実行するコンピュータ（ソケット管理サーバ１４０））は、請求の範囲の登録手段の好適な一例に相当する。
【００６６】
ここで、サービス提供の相手方が、一般的なクライアントアプリケーションであれば、クライアント側は既にアプリケーションを所持しているので、クライアント１０の情報としては、クライアントのソケット情報のみで良い。
【００６７】
（ステップ２．）
一方、クライアント１０においては、Ｗｅｂブラウザでソケット管理サーバ１４０にアクセスし、接続可能なサーバの一覧を取得する。すなわち、ソケット管理サーバ１４０は、Ｗｅｂサーバとしての機能を有しており、上記ステップ１で記録したサーバアプリケーションのソケット等に関する情報をクライアント１０に対して提供する。
【００６８】
このようなＷｅｂサーバとしての機能を実現するためのプログラム（及びこのプログラムを実行するコンピュータ）は、請求の範囲の通信相手提示手段の好適な一例に相当する。
【００６９】
このようにして得たサーバの一覧を、クライアント１０はディスプレイに表示し、利用者はこの画面から使用したいサーバを選択する（サービス参加）。この表示・選択動作における選択動作の結果、選択のメッセージＳ２がソケット管理サーバ１４０に送信される（図３参照）。
【００７０】
なお、クライアント１０が所定のクライアントソフトを所持していない場合には、そのクライアントソフトをソケット管理サーバ１４０などからダウンロードして、クライアント１０６に導入することが好ましい。
【００７１】
（ステップ３．）
次に、上記ステップ２において、使用したいサーバの選択が行われた後、ソケット管理サーバ１４０は、サーバ側の第２ゲートウェイ２２に対してクライアント１０のソケット情報の設定を実行する（図２中、Ｓ３ｂで示されている）と共に、クライアント側の第１ゲートウェイ１２に対してはサーバ２０のソケット情報の設定を行う（図２中、Ｓ３ａで示されている）。
【００７２】
本ステップ３におけるこれら処理の実行が、成功した場合、サーバソケット情報などの結果をクライアント１０等はＷｅｂブラウザなどで確認することができる。
【００７３】
なお、このソケット情報の設定は、所定のプログラムによって行われ、このプログラム及びこのプログラムを実行するコンピュータ（ソケット管理サーバ１４０）は、請求の範囲のソケットトンネル設定手段の好適な一例に相当する。
【００７４】
（ステップ４．）
また、上記設定処理（ステップ３．）の実行が成功した場合、クライアント側の第１ゲートウェイ１２からソケット管理サーバ１４０に対して、ソケットトンネル通信の設定が完了したことの報告が送信される（図２中、Ｓ４ａ）。
【００７５】
同様に、処理の実行が成功した場合、及びサーバ側ゲートウェイ１２２からソケット管理サーバ１４０に対して、ソケットトンネル通信の設定が完了したことの報告が送信される。この送信は、図３ではメッセージＳ４として表されている（図２中、Ｓ４ｂ）。
【００７６】
（ステップ５．）
その後、ソケット管理サーバ１４０からクライアント１０に対して、ソケットトンネル通信の設定が完了したことの報告が送信される。この送信は、図２ではメッセージＳ５として表されている。
【００７７】
このようにして、図２中のクライアント１０とサーバ２０との間に、ソケットトンネル通信を利用したコネクションが構築される。
【００７８】
これら一連の動作は、所定のプログラムによって行われ、このプログラム及びこのプログラムを実行するコンピュータ（ソケット管理サーバ１４０）は、請求の範囲のソケットトンネル設定手段の好適な一例に相当する。
【００７９】
コネクションの削除
次に、構築したコネクションを所定の理由で削除する場合の動作を説明する。
【００８０】
（ステップ１．）
コネクションを削除する場合、ソケット管理サーバ１４０は、クライアント側の第１ゲートウェイ１２に対して、ソケットトンネル通信の設定を削除する指示を送信する。この削除指示は、図２ではメッセージＳ６ａとして表されている。
【００８１】
同様に、ソケット管理サーバ１４０は、サーバ側の第２ゲートウェイ２２に対して、ソケットトンネル通信の設定を削除する指示を送信する。この削除指示は、図２ではメッセージＳ６ｂとして表されている。
【００８２】
このような削除の指示の送信は、ソケット管理サーバ１４０内のプログラムによって行われており、このプログラム（及びそれに基づいて削除指示を出すコンピュータ（ソケット管理サーバ１４０）が請求の範囲の削除手段の好適な一例に相当する。
【００８３】
（ステップ２．）
次に、クライアント側の第１ゲートウェイ１２は、上記指示に基づき、ソケットトンネル３０に関する設定を削除した後、ソケット管理サーバ１４０に対して、ソケットトンネル設定の削除が完了したことを報告する。この報告メッセージは、図２ではメッセージＳ７ａとして表されている。
【００８４】
同様に、サーバ側の第２ゲートウェイ２２は、ソケットトンネル３０に関する設定を削除した後、ソケット管理サーバ１４０に対して、ソケットトンネル設定の削除が完了したことを報告する。この報告メッセージは、図２ではメッセージＳ７ｂとして表されている。
【００８５】
このようにして、図２中のクライアント１０とサーバ２０との間に構築されたコネクションは削除される。
【００８６】
サービスモデル
本実施の形態におけるソケットトンネル通信を適用したサービスモデルの概念図が、図３に示されている。
【００８７】
まず、ソケットトンネル通信サービスモデルは、以下のビジネス要素から成立している。
【００８８】
１．ＡＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）：アプリケーションを提供し、アプリケーションを運用することを中核とするビジネス要素である。  
２．ＮＳＰ（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）：ソケットトンネル通信を構築し、ソケットトンネル通信を管理し、ソケットトンネル通信を運用することを中核とするビジネス要素である。  
３．ＵＳＥＲ：ＡＳＰの利用者たるビジネス要素である。  
これらの要素が互いに接続されている様子が図３に示されている。
【００８９】
複数のＡＳＰ（例えば図３においては、第１ＡＳＰ３１０ａ、第２ＡＳＰ３１０ｂ）がＮＳＰ３００に登録している。
【００９０】
ＵＳＥＲ３１２ａ、ＵＳＥＲ３１２ｂ、３１２ｃ、３１２ｄは、ＮＳＰ３００にアクセスし、そのＷｅｂ画面から接続したいサービスを選択する。ＮＳＰ３００は、ＮＳＰ３００に登録されているＡＳＰ３１０の内容を呈示するＷｅｂページをＵＳＥＲ３１２に提供しているので、ＵＳＥＲ３１２はこのＷｅｂ画面を参照することによって、利用可能なサービスを知ることができる。  
なお、ＵＳＥＲとは、ユーザと同じ意味である。
【００９１】
ＮＳＰ３００は、これまで述べたソケットトンネル３０の提供主体であり、ソケット管理サーバ１４０（スイッチサーバ４０と同じ）を用いて、ソケット管理及びソケットスイッチのサービスを提供するビジネス主体である。そして、このＮＳＰ３００は、ＩＰ網３１４の中に存在している。
【００９２】
このような構成によって、ＵＳＥＲ３１２とＡＳＰ３１０とは、お互いのＩＰネットワーク環境に依存せずに、ＡＳＰ３１０とＵＳＥＲ３１２との間の双方向通信接続（ソケット接続）が可能になる。
【００９３】
ＡＳＰ３１０とＵＳＥＲ３１２間はＮＳＰ３００のソケットトンネルスイッチ（図３中ではソケットスイッチ３００ａと記載している）を経由して、常時接続されている。したがって、マルチキャストを利用したリアルタイムデータ配信を行うなど、ＡＳＰ３１０としては従来のＷｅｂ技術では困難であったプッシュ型リアルタイムデータ配信サービスを容易に提供することが可能となった。
【００９４】
したがって、ソケット接続するＵＳＥＲ３１２（ａ〜ｄ）に対してインターネット放送やリアルタイム映像配信などのサービス提供が可能になる。
【００９５】
なお、図３においては、第１ＡＳＰ３１０ａは、ソケットトンネル３０を３個構築し、ＵＳＥＲ３１２ａ、ＵＳＥＲ３１２ｂ、にサービスを提供している。このうち、ＵＳＥＲ３１２ｂは、ソケットを２個使用し、２個のＵＳＥＲアプリケーション第１ＡＳＰ３０ｂのサービスを利用している。
【００９６】
また、図３において、第２ＡＳＰ３１０ｂは、ソケットトンネル３０を２個構築し、ＵＳＥＲ３１２ｃ、ＵＳＥＲ３１２ｄ、にサービスを提供している。ＵＳＥＲ３１２ｃは、ソケットを１個使用し、また、ＵＳＥＲ３１２ｄも１個のソケットを使用して、それぞれ第２ＡＳＰ３０ｂのサービスを利用している。
【００９７】
また、図３に示したビジネスモデルは、例えばホームカメラを利用したリアルタイムの映像配信サービスや、ネットワークを活用した医療活動などにも適用できる。
【００９８】
まとめ
本実施の形態においては、ローカルＩＰ網に存在する様々なアプリケーションサーバから、前記ローカルＩＰ網とは異なるローカルＩＰ網に存在するクライアントに対して、ソケットトンネル通信を構築して、ソケット接続による通信を簡単に提供することができる。
【００９９】
本実施の形態において特徴的なことは、ソケットトンネルの構築・ソケットトンネルの管理等を行うソケット管理サーバ１４０を設けたことである。これによって、ユーザ及びサーバはソケットトンネルの管理等を行うことなく、構築されたソケット通信を利用することが可能となる。
【０１００】
特に、各ゲートウェイ及びサーバ及びクライアントのソケット情報について、登録及び削除及びセッション管理等について一元管理できるので、従来よりも安全なコネクション型通信サービスを提供することができる場合がある。また、クライアント及びサーバに掛かる負担が減るので、より安定したネットワークの運用が可能になる場合もある。
【０１０１】
また、ＳＳＬ暗号通信等を利用すれば、より安全にＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）を構築することも可能である。
【０１０２】
さらに、本実施の形態においては、ユーザの個人情報等を、グローバルなネットワーク上に保存する必要がないので、従来よりもセキュリティが向上することが期待できる場合もある。
【図面の簡単な説明】
【０１０３】
【図１】本実施の形態のソケット通信システムの概要を示す説明図である。
【図２】ソケットトンネル通信の構築及び削除についてのタイムチャートである。
【図３】サービスモデルの一例を示す概念図である。
【図４】ソケット通信の概念図である。
【符号の説明】
【０１０４】
１０  クライアント
１２  第１ゲートウェイ
１４  クライアントソケット
１６  サーバ側擬似ソケット
１８  エッジクライアント
２０  サーバ
２２  第２ゲートウェイ
２４  サーバソケット
２６  クライアント側擬似ソケット
２８  エッジクライアント
３０  ソケットトンネル
４０  スイッチサーバ
５０  ローカルＩＰ網（クライアント側）
６０  ローカルＩＰ網（サーバ側）
７０  グローバルＩＰ網
１１０  ゲートウェイ
１２０  ゲートウェイ
１４０  ソケット管理サーバ
２００  クライアント
２０２  サーバ
２０４  ソケット
２０６  ソケット
２０８  ネットワーク
２１０  アプリケーションプログラム
２１２  アプリケーションプログラム
３００  ＮＳＰ
３１０  ＡＳＰ
３１２  ＵＳＥＲ
３１４  ＩＰ網
Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、Ｓ７  メッセージ
【図１】
0004873743.tif 000002
【図２】
0004873743.tif 000003
【図３】
0004873743.tif 000004
【図４】
0004873743.tif 000005