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