(57)【特許請求の範囲】
【請求項１】
複数のネットワーク装置とそれぞれ１以上のＴＣＰ／ＩＰコネクションを用いて通信可能な通信手段と、該通信手段を用いてネットワーク装置間の通信を中継する制御手段を有し、該制御手段は、前記ネットワーク装置からのログイン要求を受けて前記通信手段が前記ネットワーク装置との通信に用いるＴＣＰ／ＩＰコネクションを設けて維持し、各ＴＣＰ／ＩＰコネクションを一意に識別可能な接続識別子によって前記ＴＣＰ／ＩＰコネクションを管理し、該ＴＣＰ／ＩＰコネクションを用いて前記通信手段により前記ネットワーク装置との通信を行うとともに、ＴＣＰ／ＩＰコネクションが維持されているネットワーク装置からの通信要求に従って、ＴＣＰ／ＩＰコネクションが維持されている通信を要求されたネットワーク装置と同じくＴＣＰ／ＩＰコネクションが維持されている前記通信要求を行ったネットワーク装置との間でのデータ転送を、維持されているそれぞれのＴＣＰ／ＩＰコネクションを用いて中継することを特徴とする中継サーバ。
【請求項２】
複数のネットワーク装置とそれぞれ１以上のＴＣＰ／ＩＰコネクションを用いて通信可能であるとともにインターネット中に存在する他の中継サーバとの通信が可能な通信手段と、該通信手段を用いてネットワーク装置間あるいはネットワーク装置と他の中継サーバ間の通信を中継する制御手段を有し、該制御手段は、前記ネットワーク装置からのログイン要求を受けて前記通信手段が前記ネットワーク装置との通信に用いるＴＣＰ／ＩＰコネクションを設けて維持し、各ＴＣＰ／ＩＰコネクションを、通信可能な他の中継サーバにおけるＴＣＰ／ＩＰコネクションを含めて一意に識別可能な接続識別子によって前記ＴＣＰ／ＩＰコネクションを管理し、該ＴＣＰ／ＩＰコネクションを用いて前記通信手段により前記ネットワーク装置との通信を行うとともに、ＴＣＰ／ＩＰコネクションが維持されているネットワーク装置から他の中継サーバとＴＣＰ／ＩＰコネクションが維持されているネットワーク装置との通信要求を受け取ると、該通信要求を前記他の中継サーバへ転送し、ＴＣＰ／ＩＰコネクションが維持されている前記通信要求を行ったネットワーク装置と前記他の中継サーバとの間でのデータ転送を、維持されている前記ＴＣＰ／ＩＰコネクションを用いて中継することを特徴とする中継サーバ。
【請求項３】
複数のネットワーク装置とそれぞれ１以上のＴＣＰ／ＩＰコネクションを用いて通信可能であるとともにインターネット中に存在する他の中継サーバとの通信が可能な通信手段と、該通信手段を用いてネットワーク装置間あるいはネットワーク装置と他の中継サーバ間の通信を中継する制御手段を有し、該制御手段は、前記ネットワーク装置からのログイン要求を受けて前記通信手段が前記ネットワーク装置との通信に用いるＴＣＰ／ＩＰコネクションを設けて維持し、各ＴＣＰ／ＩＰコネクションを、通信可能な他の中継サーバにおけるＴＣＰ／ＩＰコネクションを含めて一意に識別可能な接続識別子によって前記ＴＣＰ／ＩＰコネクションを管理し、該ＴＣＰ／ＩＰコネクションを用いて前記通信手段により前記ネットワーク装置との通信を行うとともに、他の中継サーバから自装置とのＴＣＰ／ＩＰコネクションが維持されているネットワーク装置との通信要求を受け取ると、該通信要求に従って、ＴＣＰ／ＩＰコネクションが維持されている通信を要求されたネットワーク装置と前記他の中継サーバとの間でのデータ転送を、維持されている前記ＴＣＰ／ＩＰコネクションを用いて中継することを特徴とする中継サーバ。
【請求項４】
前記接続識別子は、中継サーバの識別子を含んで構成されることを特徴とする請求項２または請求項３に記載の中継サーバ。
【請求項５】
前記制御手段は、前記通信手段を介してインターネット上のデータベースサーバから前記識別子の一部を取得することを特徴とする請求項２ないし請求項４のいずれか１項に記載の中継サーバ。
【請求項６】
前記制御手段は、ネットワーク装置からのログイン時に該ログインに対応するＴＣＰ／ＩＰコネクションを一意に識別可能な前記接続識別子を前記ネットワーク装置に返すことを特徴とする請求項１ないし請求項５のいずれか１項に記載の中継サーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のネットワーク装置と通信を行い、あるいはさらに他の中継サーバとも通信を行って、あるネットワーク装置と他のネットワーク装置との間での通信を実現する中継サーバに関するものである。
【０００２】
【従来の技術】
図６は、一般的なインターネットを用いたシステムの一例を示す説明図である。図中、１，２はローカルシステム、３はインターネット、１１，１２，２１，２２は端末、１３，２３はゲートウェイ、１４，２４はＬＡＮである。ローカルシステム１は、端末１１、端末１２、ゲートウェイ１３などがＬＡＮ１４により接続されて構成されている。ゲートウェイ１３は、ＬＡＮ１４とともにインターネット３に接続されており、ＬＡＮ１４上の端末１１，１２など、各種のネットワーク機器からインターネットを利用することができる。またローカルシステム２も同様であり、端末２１、端末２２、ゲートウェイ２３などがＬＡＮ２４により接続されて構成されている。ゲートウェイ２３は、ＬＡＮ２４とともにインターネット３に接続されており、ＬＡＮ２４上の端末２１，２２など、各種のネットワーク機器からインターネットを利用することができる。もちろん、それぞれのローカルシステム１，２において、他の様々な機器がＬＡＮ１４，２４により接続されていてよい。
【０００３】
このようなシステムにおいて、通常はローカルシステム１，２に対してはグローバルＩＰアドレスは１ないし複数個が割り当てられるが、ローカルシステム１，２内のそれぞれのネットワーク機器にグローバルＩＰアドレスが割り当てられるわけではない。それぞれのローカルシステム１，２内の各ネットワーク機器にはプライベートなＩＰアドレスが割り振られており、ゲートウェイ１３，２３によってＮＡＴやＩＰマスカレードなどの機能を用いてプライベートなＩＰアドレスをグローバルなＩＰアドレスに変換している。このようなＩＰアドレスの変換機能を有するゲートウェイ１３，２３を用い、例えばローカルシステム１では端末１１，１２はゲートウェイ１３を介してインターネット３を利用することになる。またローカルシステム２においても、端末２１，２２はゲートウェイ２３を介してインターネット３を利用することになる。
【０００４】
またゲートウェイ１３，２３あるいは別のネットワーク装置等においてはファイアウォールやプロキシサーバなどの機能を有し、これらの装置を介して各端末がインターネット３を利用するような構成も利用されており、システムの安全性を向上させている。
【０００５】
ここで、例えばインターネット３からローカルシステム１内の端末１１に対してアクセスしようとすると、ゲートウェイ１３のグローバルＩＰアドレスを知ることはできるものの、端末１１のプライベートなＩＰアドレスを知ることはできない。従って、通常の接続方法ではローカルシステム１の外部から端末１１をアクセスすることはできない。またゲートウェイ１３のファイアウォールの機能などによって、アクセスを受け付けるサイトが制限されている場合もある。もちろん、端末１２についても同様であるし、ローカルシステム２内の端末２１，２２についても同様である。
【０００６】
さらに、ローカルシステム１内の端末１１や端末１２、ローカルシステム２内の端末２１や端末２２は、通常はクライアント機能しか有しておらず、他のネットワーク機器からの情報を受け付けるサーバとしての機能を有していない。そのため、端末１１，１２，２１，２２等からサーバ機能を有する他のネットワーク機器にアクセスしない限り、他のネットワーク機器からこれらの端末に情報を送信することができない。
【０００７】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、インターネットからローカルシステム内のネットワーク装置への通信、あるいは異なるローカルシステム内のネットワーク装置間の通信を実現するとともに、それぞれのネットワーク機器と中継サーバとの接続が複数存在する場合でも、各接続を正常に識別可能な中継サーバを提供することを目的とするものである。
【０００８】
【課題を解決するための手段】
本発明は、中継サーバにおいて、複数のネットワーク装置とそれぞれ１以上のＴＣＰ／ＩＰコネクションを用いて通信可能な通信手段と、該通信手段を用いてネットワーク装置間の通信を中継する制御手段を有し、該制御手段は、前記ネットワーク装置からのログイン要求を受けて前記通信手段が前記ネットワーク装置との通信に用いるＴＣＰ／ＩＰコネクションを設けて維持し、各ＴＣＰ／ＩＰコネクションを一意に識別可能な接続識別子によって前記ＴＣＰ／ＩＰコネクションを管理し、該ＴＣＰ／ＩＰコネクションを用いて前記通信手段により前記ネットワーク装置との通信を行うとともに、ＴＣＰ／ＩＰコネクションが維持されているネットワーク装置からの通信要求に従って、ＴＣＰ／ＩＰコネクションが維持されている通信を要求されたネットワーク装置と同じくＴＣＰ／ＩＰコネクションが維持されている前記通信要求を行ったネットワーク装置との間でのデータ転送を、維持されているそれぞれのＴＣＰ／ＩＰコネクションを用いて中継することを特徴とするものである。このような構成において、ネットワーク装置から中継サーバにログインしておき、ログインしているネットワーク装置の通信を中継することによって、例えばネットワーク装置がローカルシステム内の装置であっても、インターネットからネットワーク装置への通信を実現することができる。また、このようなネットワーク装置と中継サーバとのＴＣＰ／ＩＰコネクションを接続識別子によって管理するので、例えばネットワーク装置と中継サーバ間で複数のＴＣＰ／ＩＰコネクションを設けている場合でも、それぞれのＴＣＰ／ＩＰコネクションごとに正常に通信を行うことができる。
【０００９】
また本発明は、中継サーバにおいて、複数のネットワーク装置とそれぞれ１以上のＴＣＰ／ＩＰコネクションを用いて通信可能であるとともにインターネット中に存在する他の中継サーバとの通信が可能な通信手段と、該通信手段を用いてネットワーク装置間あるいはネットワーク装置と他の中継サーバ間の通信を中継する制御手段を有し、該制御手段は、前記ネットワーク装置からのログイン要求を受けて前記通信手段が前記ネットワーク装置との通信に用いるＴＣＰ／ＩＰコネクションを設けて維持し、各ＴＣＰ／ＩＰコネクションを、通信可能な他の中継サーバにおけるＴＣＰ／ＩＰコネクションを含めて一意に識別可能な接続識別子によって前記ＴＣＰ／ＩＰコネクションを管理し、該ＴＣＰ／ＩＰコネクションを用いて前記通信手段により前記ネットワーク装置との通信を行うとともに、ＴＣＰ／ＩＰコネクションが維持されているネットワーク装置から他の中継サーバとＴＣＰ／ＩＰコネクションが維持されているネットワーク装置との通信要求を受け取ると、該通信要求を前記他の中継サーバへ転送し、ＴＣＰ／ＩＰコネクションが維持されている前記通信要求を行ったネットワーク装置と前記他の中継サーバとの間でのデータ転送を、維持されている前記ＴＣＰ／ＩＰコネクションを用いて中継することを特徴とし、また、他の中継サーバから自装置とのＴＣＰ／ＩＰコネクションが維持されているネットワーク装置との通信要求を受け取ると、該通信要求に従って、ＴＣＰ／ＩＰコネクションが維持されている通信を要求されたネットワーク装置と前記他の中継サーバとの間でのデータ転送を、維持されている前記ＴＣＰ／ＩＰコネクションを用いて中継することを特徴とするものである。このような構成によって、インターネット中に複数の中継サーバが存在しているとき、異なる中継サーバにＴＣＰ／ＩＰコネクションを維持しているネットワーク装置間での通信を実現することができる。このとき、全体として一意に識別可能な接続識別子を各ＴＣＰ／ＩＰコネクションに対して付与することによって、中継サーバが異なる場合のＴＣＰ／ＩＰコネクションについても正常な通信を保証することができる。
【００１０】
なお、このようなインターネット中に複数の中継サーバが存在する中継システムにおいては、接続識別子として、例えば各中継サーバが一意に識別可能な中継サーバの識別子を含んで構成しておけばよい。このような接続識別子の一部（例えば中継サーバの識別子など）は、予め各中継サーバにセットしておくほか、インターネット上のデータベースサーバから取得可能に構成しておくことができる。もちろん、データベースサーバは他の中継サーバであってもよい。
【００１１】
このような各接続を一意に識別するための接続識別子は、ネットワーク装置からのログイン時に、そのログインに対応する接続識別子をネットワーク装置に返すように構成することができる。これによって、ネットワーク装置において各接続を正確に区別して使用することができるようになる。
【００１２】
【発明の実施の形態】
図１は、本発明の中継サーバの実施の一形態を含む中継システムの第１の例を示す構成図である。図中、図６と同様の部分には同じ符号を付して重複する説明を省略する。４は中継サーバ、４１は通信部、４２は制御部である。中継サーバ４は、インターネット３に接続されており、グローバルＩＰアドレスを有している。このグローバルＩＰアドレスを用いてインターネット３を介して各種のネットワーク機器と通信を行うことができる。
【００１３】
中継サーバ４は、例えば通信部４１および制御部４２を含んで構成することができる。通信部４１は、インターネット３を介して複数のネットワーク装置と通信可能である。
【００１４】
制御部４２は、通信部４１を介してネットワーク機器から送られてくるログイン要求を受け付け、そのネットワーク機器との接続を維持して通信路を確保しておく。また、ネットワーク機器との接続に対して、それぞれ一意に識別可能な接続識別子を付与し、その接続識別子をネットワーク機器に返す。以後、ネットワーク機器及び制御部４２では、接続識別子によってそれぞれの接続を識別する。もちろん、１台のネットワーク機器との間で複数の接続が行われていてもよく、それぞれの接続について接続識別子が付与される。接続識別子としては、例えば通し番号で付与したり、あるいはログイン要求時に送られてくるユーザＩＤと、接続に対する通し番号あるいは当該ユーザＩＤ毎の通し番号など、それぞれの接続を識別できればどのようなものであってもよい。
【００１５】
また制御部４２は、このようにしてログイン要求を受けて新たな接続を設け、通信路が確保されると、その通信路をログアウトされるまで維持しておく。そして、通信可能に接続されているネットワーク装置から接続要求情報を受け取ると、その接続要求情報に従って、通信可能に接続されているネットワーク装置と接続を要求したネットワーク装置との間でのデータ転送を中継する。
【００１６】
例えば端末１１と端末２１がそれぞれ通信可能に接続され、通信路が確保されている状態において、端末１１から端末２１との接続要求情報を受け取ると、端末１１との間でデータ転送を行うとともに、端末２１との間でもデータ転送を行い、実質的に端末１１と端末２１との間での通信を実現する。このとき、端末１１や端末２１はそれぞれローカルシステム１，ローカルシステム２内のネットワーク装置である。中継サーバ４からゲートウェイ１３，２３に対しては接続可能であるが、端末１１や端末２１については接続することができない。また、上述のように端末１１と端末２１との間でも直接的な通信を行うことはできない。しかし、中継サーバ４のグローバルＩＰアドレスを使用すれば、端末１１や端末２１からゲートウェイ１３，２３を介して中継サーバ４に接続することは可能である。従って、端末１１や端末２１から中継サーバ４に対してログイン要求を行うことによって、中継サーバ４とログイン要求を行った端末１１あるいは端末２１との間の双方向の通信が可能になる。
【００１７】
このように中継サーバ４と端末１１の間、及び中継サーバ４と端末２１との間の双方向の通信が可能であると、中間サーバ４は、端末１１から端末２１への通信要求を受けた場合、端末１１から送られてきたデータを受信し、受信したデータを端末２１へ送信する。これによって、端末１１から端末２１へのデータ転送を行う。また逆に、端末２１から送られてきたデータを受信し、受信したデータを端末１１へ送信することもできる。このようにして、端末１１と端末２１との間の通信を実現することができる。
【００１８】
なお、１台のネットワーク装置との間で複数の接続が確保されている場合、複数台のネットワーク装置との通信を中継することが可能である。このとき、それぞれの接続を接続識別子によって区別し、それぞれの通信が正常に行われるように、中継する通信を制御部４２で制御する。
【００１９】
図２は、本発明の中継サーバの実施の一形態を含む通信システムの第１の例における通信手順の例を示すシーケンス図である。図２に示す通信手順は、ＴＣＰ／ＩＰを利用して実行され、中継サーバ４との接続、接続の維持、端末への接続要求、端末へのデータ転送、端末との接続終了、中継サーバとの接続終了等を行うものである。ここでは一例として、図１におけるローカルシステム１内の端末１１とローカルシステム２内の端末２１との間で通信を行う場合について示している。予め、中継サーバ４に対して、端末１１および端末２１をユーザとして例えばユーザＩＤやパスワードなどを登録しておく。
【００２０】
端末１１は、例えば起動後あるいはオペレータによって指示されると、（１）において、ゲートウェイ１３を介して中継サーバ４に接続し、ログイン要求を行って中継サーバ４とのＴＣＰ／ＩＰコネクション（接続１）を確立する。端末１１はローカルシステム１内のネットワーク装置であるため、中継サーバ４から直接通信を行うことはできないが、クライアントである端末１１からのログインにより中継サーバ４への接続は可能である。ＴＣＰ／ＩＰコネクションは双方向型のデータ通信が可能であるので、端末１１から中継サーバ４へ、また中継サーバ４から端末１１への通信を行うことができる。なお、中継サーバ４のグローバルＩＰアドレスは、それぞれのローカルシステムあるいはインターネット上のネームサービスサーバから取得することができる。
【００２１】
接続１が確立した後、（２）において端末１１はユーザＩＤ、パスワードを中継サーバ４に送る。中継サーバ４は、受け取ったユーザＩＤおよびパスワードが制御部４２に接続情報として保持されているかを調べ、端末１１の認証を行う。この認証によって、不特定の第３者との接続を回避し、安全性を確保することができる。もし接続情報が登録されていなかったり、パスワードが違っているなど、認証に失敗した場合には、中継サーバ４は端末１１に対して否定応答を行うか、あるいはそのまま接続１を切断する。
【００２２】
認証が成功したら、（３）において、肯定応答を行う。このとき、接続１を一意に識別可能な接続識別子を接続１に対して付与し、付与した接続識別子を肯定応答とともに端末１１に返す。以後、端末１１は接続１を用いる場合には、付与された接続識別子を用いることになる。
【００２３】
このようにしてログイン時の処理が終了したら、以後、接続１が切断されるまで、接続１を維持するように制御する。そのために、（４）において定期的に中継サーバ４に対し接続保持のコマンドを送出し、（５）において中継サーバ４からの確認の応答を得る。これによって接続を保持しておくとともに、中継サーバが正常に稼働していることの確認を行う。
【００２４】
同様に端末２１は、（１’）において、ゲートウェイ２３を介して中継サーバ４に接続し、ログイン要求を行って中継サーバ４とのＴＣＰ／ＩＰコネクション（接続２）を確立する。端末２１もローカルシステム２内のネットワーク装置であるため、中継サーバ４から直接通信を行うことはできないが、クライアントである端末２１からのログインにより中継サーバ４への接続は可能である。接続２によって、端末２１から中継サーバ４へ、また中継サーバ４から端末２１への通信を行うことができる。
【００２５】
接続２が確立した後、（２’）において端末２１はユーザＩＤ、パスワードを中継サーバ４に送る。中継サーバ４は、受け取ったユーザＩＤおよびパスワードが制御部４２に接続情報として保持されているか否かを調べ、端末２１の認証を行う。もし接続情報が登録されていなかったり、パスワードが違っているなど、認証に失敗した場合には、中継サーバ４は端末２１に対して否定応答を行うか、あるいはそのまま接続２を切断する。認証が成功したら、（３’）において、肯定応答を行う。このとき、接続２を一意に識別可能な接続識別子を接続２に対して付与し、付与した接続識別子を肯定応答とともに端末２１に返す。以後、端末２１は接続２を用いる場合には、付与された接続識別子を用いる。
【００２６】
このようにしてログイン時の処理が終了したら、以後、接続２が切断されるまで、接続２を維持するように制御する。そのために、（４’）において定期的に中継サーバ４に対し接続保持のコマンドを送出し、（５’）において中継サーバ４からの確認の応答を得る。これによって接続を保持しておくとともに、中継サーバが正常に稼働していることの確認を行う。
【００２７】
なお、端末１１と中継サーバ４との接続と、端末２１と中継サーバ４との接続は、両者の通信前であればいつ行ってもよい。また、両者の通信時まで中継サーバ４との接続が維持されいている必要がある。
【００２８】
端末１１から端末２１に接続したいという要求が発生すると、（６）において、端末１１は中継サーバ４に対して接続したい端末２１のユーザＩＤを指定して接続要求を行う。なお、接続先となる端末２１のユーザＩＤは、予め取得しておくか、あるいは中継サーバ４からログイン中のユーザの一覧などによって確認して指定するなど、任意の方法で指定することができる。中継サーバ４は、指定されたユーザＩＤに対応する端末２１がログイン状態（空いている接続が存在する状態）でないならエラーを端末１１に返す。また、端末２１がログイン状態にあるならば、（７）において、端末２１に対して接続要求がある旨の情報と接続を要求している端末１１のユーザＩＤを含む接続要求通知を、空いている接続のいずれかを用いて送信する。この例では接続２を用いて接続要求通知を端末２１に送信することになる。
【００２９】
端末２１は、接続要求通知の送信に用いられた接続が端末１１との接続に使用されていることを記憶して、（８）において受け入れ可能の応答を返す。なお、接続を拒否する場合はエラーを返す。中継サーバ４は、（９）において、端末１１に対して端末２１からの応答を返す。端末２１からの応答が受け入れ可能の応答の場合には、中継サーバ４は、接続１と接続２を、それぞれ端末１１と端末１２の通信に使用するものとして記憶する。また端末２１からの応答を受け取った端末１１では、受け入れ可能の応答を受け取った場合には、使用している接続（接続１）を端末２１との通信に使用するものとして記憶する。
【００３０】
このようにして端末１１と端末２１との間で通信を行うことを確認した後、（１５）以降において実際にデータを送信することになる。なお、図２に示す例では、端末１１と端末２１との間の通信を行うことが決定された後に、その他のネットワーク機器からの接続要求を受けたり、他のネットワーク機器への接続要求を行うために、それぞれ、新しいＴＣＰ／ＩＰコネクションを中継サーバ４に確立する。すなわち、端末１１は（１０）において中継サーバ４にログインして中継サーバ４とのＴＣＰ／ＩＰコネクション（接続３）を確立し、（１１）において端末１１はユーザＩＤ、パスワードを中継サーバ４に送る。中継サーバ４は、受け取ったユーザＩＤおよびパスワードにより端末１１の認証を行い、（１２）において応答を返す。このとき、接続１、接続２を含む他のいずれの接続とも異なる接続識別子を接続３に対して付与し、付与した接続識別子を接続３を通じて（１２）の応答とともに端末１１に返す。そしてこの接続３を維持するため、定期的に（１３）において端末１１から中継サーバ４へ接続保持コマンドを送信し、中継サーバ４は（１４）において応答を端末１１に返す。
【００３１】
同様に端末２１は（１０’）において中継サーバ４にログインして中継サーバ４とのＴＣＰ／ＩＰコネクション（接続４）を確立し、（１１’）において端末２１はユーザＩＤ、パスワードを中継サーバ４に送る。中継サーバ４は、受け取ったユーザＩＤおよびパスワードにより端末２１の認証を行い、（１２’）において応答を返す。このとき、接続１ないし接続３を含む他のいずれの接続とも異なる接続識別子を接続４に対して付与し、付与した接続識別子を接続４を通じて（１２’）の応答とともに端末２１に返す。そしてこの接続４を維持するため、定期的に（１３’）において端末２１から中継サーバ４へ接続保持コマンドを送信し、中継サーバ４は（１４’）において応答を端末２１に返す。
【００３２】
なお、このような空きの接続を確保しておく必要がなければ、（１０）〜（１４）あるいは（１０’）〜（１４’）の手順は必要ない。さらに、既に複数の接続を確保している場合も、これらの手順を行わなくてもよい。また、例えば上限の接続の数が設定され、さらなる接続を行うことができない場合についてもこのような手順を行わない。
【００３３】
上述の（６）〜（９）によって端末１１と端末２１との間で通信を行うことを確認したら、（１５）において、端末１１は中継サーバ４に対して接続１を用いて端末２１へのデータを送信する。中継サーバ４は、端末１１からのデータを受け取り、受け取ったデータを、（１６）において接続２を用いて端末２１へ送信する。端末２１は、中継サーバ４から接続２を用いて送られてきた端末１１からのデータを受け取り、（１７）において、端末１１に対する応答を中継サーバ４に対して送信する。中継サーバ４は、端末２１から端末１１に対する応答を受け取り、受け取った応答を、（１８）において接続１を用いて端末１１へ送信する。
【００３４】
このようにして、端末１１と中継サーバ４との間の接続１と、端末２１と中継サーバ４との間の接続２とを用い、中継サーバ４によってデータを中継することによって、端末１１と端末２１との間の通信を行うことができる。なお、（１５）〜（１８）による端末１１から端末２１へのデータ転送は、複数回繰り返されてもよい。また、端末２１から端末１１へのデータ転送が行われてもよい。
【００３５】
端末１１と端末２１との間のデータ転送が終了したら、端末１１あるいは端末２１から終了通知を行う。ここでは端末１１から行うものとし、（１９）において端末１１は端末２１に対する終了通知を、接続１を使用して中継サーバ４に対して送信する。中継サーバ４は、端末１１から受け取った端末２１への終了通知を、（２０）において接続２を使用して端末２１へ送信する。終了通知を送信した端末１１は、（２１）において、接続１が空きになったことを示す開放通知を中継サーバ４へ送信する。また終了通知を受け取った端末２１も、（２１’）において、接続２が空きになったことを示す開放通知を中継サーバ４へ送信する。これによって中継サーバ４は、接続１と接続２が端末１１と端末２１との間の通信用ではなくなり、空きになったことを記憶する。なお、この例では終了通知に対する応答を行っていないが、応答を返信するようにしてもよい。
【００３６】
このようにして開放された接続１および接続２は、（４）、（５）または（４’）、（５’）で示したように接続保持コマンドとその応答を定期的に行って、端末１１と中継サーバ４との間、および、端末２１と中継サーバ４との間の接続を保つ。
【００３７】
なお、この時点では端末１１と中継サーバ４との間では接続１と接続３が確保されている。同様に、端末２１と中継サーバ４との間では接続２と接続４が確保されている。そのままでもよいし、接続１および接続２の解放時にこれらの接続については切断してもよい。もちろん、接続１および接続２を存続させ、接続３および接続４を切断してもよい。
【００３８】
端末１１が電源を切断する場合や、中継サーバ４への接続をやめる場合には、（２２）において、端末１１は中継サーバ４に対してログアウトを通知する。このとき、複数の接続が確保されている場合には、いずれの接続を用いて行ってもよい。そして、端末１１はすべての接続を切断して終了する。この例では（２３）において接続１を、（２４）において接続３を切断して終了する。中継サーバ４は、端末１１からのログアウトの通知を受け、端末１１のログアウトを認識して端末１１とのすべての接続（接続１，３）を切断する。なお、端末２１においても同様である。
【００３９】
上述のような手順を実行することによって、それぞれあるいは一方がローカルシステム内のネットワーク機器である場合でも、通信を行うことが可能になる。なお、上述のような中継サーバ４との接続、接続の維持、端末への接続要求、端末へのデータ送信、端末との接続終了、中継サーバとの接続終了を行うための手順は、上位で動作するアプリケーションプロトコルがやりとりするコマンドやデータに対しては透過性を保ち何の影響も与えないように構成することが可能であり、既存のアプリケーションプロトコルをそのまま用いて通信を行うことが可能である。
【００４０】
図３は、本発明の中継サーバの実施の一形態を含む中継システムの第２の例を示す構成図である。図中、図１と同様の部分には同じ符号を付して重複する説明を省略する。５は中継サーバである。この中継システムの第２の例では、インターネット３上に複数の中継サーバが存在する場合の例を示している。ここでは一例として中継サーバ４と中継サーバ５の２台のみを示しているが、さらに多くの中継サーバが存在していてもよい。
【００４１】
中継サーバ４と中継サーバ５は同様の構成を有するものであり、それぞれが１乃至複数のネットワーク装置との間で接続を設け、通信を行うことができる。さらに、中継サーバ４と中継サーバ５とが通信を行うことによって、中継サーバ４にログインしたネットワーク装置と、中継サーバ５にログインしたネットワーク装置の間での通信を実現することができる。
【００４２】
例えば端末１１がゲートウェイ１３を介して中継サーバ４との接続を設けておき、また、端末２１がゲートウェイ２３を介して中継サーバ５との接続を設けておく。そして、端末１１から端末２１への接続要求を行えば、中継サーバ４は中継サーバ５へ接続要求を中継し、さらに中継サーバ５が端末２１へ接続要求を中継することによって、端末１１からの接続要求が端末２１へ届くことになる。同様の経路によって端末１１から端末２１へ情報を転送することができる。また、逆の経路によって端末２１から端末１１へ情報を転送することができる。
【００４３】
このような複数の中継サーバがインターネット３上に存在する中継システムでは、それぞれの中継サーバにログインして設けられた接続が、中継システム全体として一意に識別可能なようにしておく必要がある。すなわち、上述のように１台の中継サーバにおける各接続が一意に識別可能であるとともに、他の中継サーバにおける各接続とも識別可能である必要がある。そのために、各接続に対して付与される接続識別子は、中継システム内において重複しないことが保証されていなければならない。
【００４４】
その一つの方法として、中継システム内の中継サーバが協働して接続識別子が重複しないように一連番号などを付与することが考えられる。この場合、異なる中継サーバにほぼ同時にログイン要求が行われた場合の接続識別子の重複を排除するようにする必要がある。そのために、例えば接続識別子を付与する識別子サーバを設けておき、必ず識別子サーバから接続識別子の付与を受けるように構成することができる。あるいは、各中継サーバに対して、付与可能な接続識別子の範囲を予め割り当てておき、その範囲内において各中継サーバが任意にそれぞれの接続に対して接続識別子を付与することが考えられる。
【００４５】
また、さらに簡易に接続識別子を付与するため、各中継サーバに対して、中継システム内において重複しない中継サーバ識別子を付与しておく。そして、中継サーバ識別子を含む接続識別子をそれぞれの接続に対して付与する。このようにして接続識別子を生成すれば、他の中継サーバに関係なく、それぞれの中継サーバにおいて接続識別子を生成しても、中継システム内で重複しない接続識別子を生成して付与することができる。
【００４６】
さらに、ユーザＩＤを利用し、各中継サーバにおいて各ネットワーク装置ごとに異なる識別子を用いることができる。すなわち、中継サーバ識別子及びユーザＩＤを用いる場合、接続識別子として
ユーザＩＤ＋中継サーバ識別子＋接続番号
とすることができる。ユーザＩＤは、通常、中継システム内で重複しないことが保証されている。また、上述のように中継サーバ識別子も中継システム内で重複しないことが保証される。従って、ネットワーク装置毎のそれぞれの接続について、重複しないことが保証される接続番号を用いることによって、接続識別子は中継システム内で重複しないことが保証され、それぞれの接続が中継システム内で一意に識別可能となる。
【００４７】
図４は、本発明の中継サーバの実施の一形態を含む通信システムの第２の例における通信手順の例を示すシーケンス図である。図中、図２に示した通信手順と同じ通信手順については同じ符号を付してある。この例では、ローカルシステム１の端末１１が中継サーバ４と接続し、またローカルシステム２の端末２１が中継サーバ５と接続して、端末１１と端末２１の間で通信を行う場合の例を示している。
【００４８】
端末１１は、（１）〜（３）において中継サーバ４に対してログインする。中継サーバ４は、（３）の応答時に接続１に対する接続識別子を端末１１に返す。接続識別子は、例えば端末１１から送られてくるユーザＩＤと、中継サーバ４の中継サーバ識別子と、接続１に割り当てられる接続番号等から生成すればよい。以後、端末１１が接続１を用いて通信を行う場合には、接続１に対応する接続識別子を用いる。以後、（４）、（５）における接続保持コマンドとその応答によって接続１は保持される。
【００４９】
同様に端末２１は、（１’）〜（３’）において中継サーバ５に対してログインする。中継サーバ５は、（３’）の応答時に接続２に対する接続識別子を端末２１に返す。このときの接続識別子も、例えば端末２１から送られてくるユーザＩＤと、中継サーバ５の中継サーバ識別子と、接続２に割り当てられる接続番号等から生成すればよい。生成された接続識別子は、中継システム全体において他の接続識別子と重複しない。以後、端末２１が接続２を用いて通信を行う場合には、接続２に対応する接続識別子を用いる。以後、（４’）、（５’）における接続保持コマンドとその応答によって接続１は保持される。
【００５０】
端末１１から端末２１へ通信を行う場合には、（６）において、端末１１は中継サーバ４に対して接続要求を行う。中継サーバ４は接続先の端末２１が中継サーバ５に接続されていることを検知し、（２５）において、端末１１から受け取った接続要求を中継サーバ５へ転送する。接続先がいずれの中継サーバに接続されているかは、予め各中継サーバ間で接続に関する情報を交換しておいたり、必要になった時点で各中継サーバに問い合わせたり、あるいは各中継サーバに接続されているユーザの管理を行うデータベースサーバに問い合わせる等、種々の方法を用いることができる。
【００５１】
中継サーバ５は、（７）において、中継サーバ４から転送されてきた接続要求を端末２１へ転送する。この接続要求に対する応答は、逆の経路、すなわち端末２１から中継サーバ５，中継サーバ４を経由して端末１１に転送される。同様の経路を通じて、（１５）、（２７）、（１６）により端末１１から端末２１へデータを転送し、その応答を（１７）、（２８）、（１８）によって返送することができる。
【００５２】
なお、（１０）〜（１２）におけるログインによる接続３の確保及び（１３）、（１４）による接続３の保持、及び、（１０’）〜（１２’）におけるログインによる接続４の確保及び（１３’）、（１４’）による接続４の保持については接続１，接続２の場合と同様である。また、ログアウト時の処理も図２で説明した通りである。
【００５３】
このようにして、異なる中継サーバに接続されているネットワーク装置間で通信を行うことができる。なお、さらに多くの中継サーバがインターネット３上に存在し、中継サーバ間の通信を中継する中継サーバが存在し、複数の中継サーバを中継してネットワーク装置間の通信を実現してもよい。もちろん、同じ中継サーバに接続されているネットワーク装置間の通信は、上述の第１の例と同様にして行えばよい。
【００５４】
図５は、本発明の中継サーバの実施の一形態を含む中継システムの第３の例を示す構成図である。図中、図２と同様の部分には同じ符号を付して重複する説明を省略する。６はデータベースサーバである。上述の中継システムの第２の例における説明では、インターネット３上の各中継サーバには、それぞれの中継サーバが一意に識別可能な中継サーバ識別子を予め付与しておいた。しかし、新たな中継サーバが中継システムに加わる場合には、その新たに加わる中継サーバに対して他の中継サーバと異なる中継サーバ識別子を付与する必要があり、その管理負担が増大する可能性がある。
【００５５】
このような問題を軽減するため、図５に示す第３の例においては、中継サーバ識別子を管理するためのデータベースサーバ６を設けた例を示している。データベースサーバ６は、中継システム内の中継サーバに付与された中継サーバ識別子を管理しており、新たな中継サーバが中継システムに追加されるときには、他の中継サーバ識別子と重複しない中継サーバ識別子を割り当てる機能を有している。中継システムに追加された中継サーバは、データベースサーバ６にアクセスし、中継サーバ識別子を取得してから中継処理を開始する。
【００５６】
このように構成することによって、人手による中継サーバ識別子の管理負担を軽減し、また、中継システム内において重複のない中継サーバ識別子の割り当てを行うことが可能になる。さらに、各中継サーバ識別子が重複しないことが保証されることによって、各中継サーバにおいては中継サーバ識別子を接続識別子の一部として用いてそれぞれの中継サーバ内で重複のない接続識別子を生成すれば、中継システム全体で重複のない接続識別子を各接続に付与することができる。
【００５７】
なお、データベースサーバ６は、図５に示すように中継サーバと別に設けるほか、中継システム内のいずれかの中継サーバにおいて同様の機能を実行することもできる。
【００５８】
【発明の効果】
以上の説明から明らかなように、本発明によれば、ローカルシステム内のネットワーク機器から中継サーバへ予め接続して通信路を確保しておいて、この通信路を用いてデータの中継を行うので、インターネットからローカルシステム内のネットワーク機器へのデータ転送、あるいは異なるローカルシステム内のネットワーク機器間のデータ転送を実現することができる。また、ネットワーク機器から中継サーバへログインし、接続を確保した際に、その接続に対して中継システム内で一意に当該接続を識別可能な接続識別子を付与するので、例えばネットワーク機器が複数の接続を確保した場合でも、それぞれの接続を確実に識別することができる。また、複数の中継サーバが中継システムに存在する場合でも、それぞれの中継サーバにおけるネットワーク機器との接続を一意に識別でき、正常な通信を保証することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の中継サーバの実施の一形態を含む中継システムの第１の例を示す構成図である。
【図２】本発明の中継サーバの実施の一形態を含む通信システムの第１の例における通信手順の例を示すシーケンス図である。
【図３】本発明の中継サーバの実施の一形態を含む中継システムの第２の例を示す構成図である。
【図４】本発明の中継サーバの実施の一形態を含む通信システムの第２の例における通信手順の例を示すシーケンス図である。
【図５】本発明の中継サーバの実施の一形態を含む中継システムの第３の例を示す構成図である。
【図６】一般的なインターネットを用いたシステムの一例を示す説明図である。
【符号の説明】
１，２…ローカルシステム、３…インターネット、４，５…中継サーバ、６…データベースサーバ、１１，１２，２１，２２…端末、１３，２３…ゲートウェイ、１４，２４…ＬＡＮ、４１…通信部、４２…制御部。
【図１】
0003743500.tif 000002
【図２】
0003743500.tif 000003
【図３】
0003743500.tif 000004
【図４】
0003743500.tif 000005
【図５】
0003743500.tif 000006
【図６】
0003743500.tif 000007