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