(57)【特許請求の範囲】
【請求項１】
第１の情報処理システムとの間で第１のプロトコルによる第１のセッションを行うとともに、第２の情報処理システムとの間で第２のプロトコルによる第２のセッションを行い、複数の前記第１セッション及び１つの前記第２セッション間を中継してこれらセッションにより構成される第３のセッションを確立するセッション中継システムであって、
前記第１情報処理システムからの、前記第２情報処理システムとのセッションを開始するために必要な情報を伴う接続要求に応じて確立される前記第３セッションを識別するためのＩＤ情報を生成し、前記接続要求を行った第１情報処理システムに送るとともに、確立された第３セッションを維持するのに必要なセッション情報を保持するセッション管理手段と、
前記第１情報処理システムから前記ＩＤ情報とともに送られてきた処理要求が、セッション中継システムから転送されてきたことに応じて、対応する前記第２情報処理システムから送られる処理結果のデータを、前記処理要求を行った第１情報処理システムに送信する処理結果転送手段とを具備することを特徴とするセッション中継システム。
【請求項２】
前記処理結果転送手段は、前記処理要求に応じて第２情報処理システムから送られる処理結果のデータを、前記処理要求とともに送られてきたＩＤ情報に対応させてバッファに保存するバッファ手段と、前記第１情報処理システムからの前記ＩＤ情報を伴う更新要求に応じ、前記ＩＤ情報に対応する前記バッファ中のデータであって未だ前記第１情報処理システムには送信していないものを前記第１情報処理システムに送信する更新手段とを有することを特徴とする請求項１に記載のセッション中継システム。
【請求項３】
前記接続要求及び更新要求は、異なる前記第１セッションにより行われるものであることを特徴とする請求項２に記載のセッション中継システム。
【請求項４】
前記バッファは前記ＩＤ情報ごとに作られるリングバッファであり、前記バッファ手段は、前記処理結果のデータを、対応する前記リングバッファに追加するとともに、前記追加後の前記リングバッファにおける、前記追加されたデータの末尾のポジションに関連するポジション情報とともに前記第１情報処理システムに送信し、さらに、前記送信終了に伴い前記第１セッションが遮断された後に引き続き送られてくる前記処理結果のデータを前記対応するリングバッファに順次追加するものであることを特徴とする請求項２に記載のセッション中継システム。
【請求項５】
前記更新手段は、前記ＩＤ情報を伴う更新要求に応じた処理結果のデータの送信に際しては、前記ＩＤ情報に対応する前記リングバッファ中の、前記更新要求とともに送られてくる前記ポジション以降のデータを前記第１情報処理システムに送信するものであることを特徴とする請求項４に記載のセッション中継システム。
【請求項６】
前記第１情報処理システムは第１のファイアウォールの外側に存在し、前記セッション中継システム及び第２情報処理システムは前記第１ファイアウォールの内側に存在し、前記第１セッションは前記第１ファイアウォールを通過して行うことが可能なものであることを特徴とする請求項１に記載のセッション中継システム。
【請求項７】
前記第１情報処理システムとの間の第１セッションを行う第３の情報処理システムと、前記第２情報処理システムとの間の第２セッションを行い、かつ前記第３情報処理システムと第３のプロトコルで通信可能な第４の情報処理システムとを備え、前記第３及び第４情報処理システム間の前記第３プロトコルによる通信は第２のファイアウォールを通過して行われるものであり、前記第３情報処理システムが前記セッション管理手段を有し、前記第４情報処理システムが前記第２情報処理システムとの間の第２セッションを確立し、かつ前記第３プロトコルによる通信と、前記第２プロトコルによる通信との中継を行うことを特徴とする請求項６に記載のセッション中継システム。
【請求項８】
前記第１プロトコルはＨＴＴＰであることを特徴とする請求項１に記載のセッション中継システム。
【請求項９】
前記第２プロトコルはＴｅｌｎｅｔであることを特徴とする請求項１に記載のセッション中継システム。
【請求項１０】
所定のサーバとのセッションを開始するために必要な情報を伴う接続要求を受け入れ、所定のプロトコルによるセッションにより所定のセッション中継システムに対して送信する接続要求手段と、
前記セッション中継システムが前記接続要求に応じてクライアント端末と前記サーバとの間で確立する、前記セッションを含む上位のセッションを識別するためのＩＤ情報を前記セッション中継システムから受信するＩＤ情報受信手段と、
前記サーバに対する処理要求を受け入れ、前記ＩＤ情報とともに前記セッション中継システムに送信する処理要求手段と、
前記処理要求に応じて前記サーバから送られ、前記セッション中継システムに保存されている処理結果のデータによる更新要求を前記ＩＤ情報とともに前記セッション中継システムに送信する更新要求手段と、
前記更新要求に応じて前記セッション中継システムから送られてくるデータを表示する表示手段とを具備することを特徴とするクライアント端末。
【請求項１１】
第１の情報処理システムとの間で第１のプロトコルによる第１のセッションを行うとともに、第２の情報処理システムとの間で第２のプロトコルによる第２のセッションを行い、複数の前記第１セッション及び１つの前記第２セッション間を中継してこれらセッションにより構成される第３のセッションを確立するセッション中継方法であって、
前記第１情報処理システムからの、前記第２情報処理システムとのセッションを開始するために必要な情報を伴う接続要求に応じて確立される前記第３セッションを識別するためのＩＤ情報を生成し、前記接続要求を行った第１情報処理システムに送るとともに、確立された第３セッションを維持するのに必要なセッション情報を保持するセッション管理工程と、
前記第１情報処理システムから前記ＩＤ情報とともに送られてきた処理要求が、セッション中継システムから転送されてきたことに応じて、対応する前記第２情報処理システムから送られる処理結果のデータを、前記処理要求を行った第１情報処理システムに送信する処理結果転送工程とを具備することを特徴とするセッション中継方法。
【請求項１２】
前記処理結果転送工程は、前記処理要求に応じて第２情報処理システムから送られる処理結果のデータを、前記処理要求とともに送られてきたＩＤ情報に対応させてバッファに保存する保存工程と、前記第１情報処理システムからの前記ＩＤ情報を伴う更新要求に応じ、前記ＩＤ情報に対応する前記バッファ中のデータであって未だ前記第１情報処理システムには送信していないものを前記第１情報処理システムに送信する更新工程とを有することを特徴とする請求項１１に記載のセッション中継方法。
【請求項１３】
前記接続要求及び更新要求は、異なる前記第１セッションにより行われることを特徴とする請求項１２に記載のセッション中継方法。
【請求項１４】
前記バッファは前記ＩＤ情報ごとに作られるリングバッファであり、前記保存工程では、前記処理結果のデータを、対応する前記リングバッファに追加するとともに、前記追加後の前記リングバッファにおける、前記追加されたデータの末尾のポジションに関連するポジション情報とともに前記第１情報処理システムに送信し、さらに、前記送信終了に伴い前記第１セッションが遮断された後に引き続き送られてくる前記処理結果のデータを前記対応するリングバッファに順次追加することを特徴とする請求項１２に記載のセッション中継方法。
【請求項１５】
前記更新工程では、前記ＩＤ情報を伴う更新要求に応じた処理結果のデータの送信に際しては、前記ＩＤ情報に対応する前記リングバッファ中の、前記更新要求とともに送られてくる前記ポジション以降のデータを前記第１情報処理システムに送信することを特徴とする請求項１４に記載のセッション中継方法。
【請求項１６】
前記第１情報処理システムは第１のファイアウォールの外側に存在し、前記セッション中継システム及び第２情報処理システムは前記第１ファイアウォールの内側に存在し、前記第１セッションは前記第１ファイアウォールを通過して行うことが可能なものであることを特徴とする請求項１１に記載のセッション中継方法。
【請求項１７】
第３の情報処理システムにより前記第１情報処理システムとの間の第１セッションを行い、前記第３情報処理システムと第３のプロトコルで通信可能な第４の情報処理システムにより前記第２情報処理システムとの間の第２セッションを行い、前記第３及び第４情報処理システム間の前記第３プロトコルによる通信は第２のファイアウォールを通過して行われ、前記第３情報処理システムが前記セッション管理工程を行い、前記第４情報処理システムが前記第２情報処理システムとの間の第２セッションを確立し、かつ前記第３プロトコルによる通信と、前記第２プロトコルによる通信との中継を行うことを特徴とする請求項１６に記載のセッション中継方法。
【請求項１８】
前記第１プロトコルはＨＴＴＰであることを特徴とする請求項１１に記載のセッション中継方法。
【請求項１９】
前記第２プロトコルはＴｅｌｎｅｔであることを特徴とする請求項１１に記載のセッション中継方法。
【請求項２０】
ファイアウォール内のサーバとのセッションを開始するために必要な情報を伴う接続要求を受け入れ、前記ファイアウォールを通過可能なプロトコルによる一セッションにより前記ファイアウォール内のセッション中継システムに対して送信する接続要求工程と、
前記セッション中継システムが前記接続要求に応じて前記サーバとの間で確立する、前記一セッションを含む上位のセッションを識別するためのＩＤ情報を前記セッション中継システムから受信するＩＤ情報受信工程と、
前記サーバに対する処理要求を受け入れ、前記ＩＤ情報とともに前記セッション中継システムに送信する処理要求工程と、
前記処理要求に応じて前記サーバから送られ、前記セッション中継システムに保存されている処理結果のデータによる更新要求を前記ＩＤ情報とともに、前記一セッションとは別の前記プロトコルによるセッションであって前記上位セッションに含まれるセッションにより、前記セッション中継システムに送信する更新要求工程と、
前記更新要求に応じて前記セッション中継システムから送られてくるデータを表示する表示工程とを具備することを特徴とするリモートアクセス方法。
【請求項２１】
前記セッション中継システムから前記処理要求のデータとともに送られてくる前記セッション中継システムのリングバッファの末尾のポジションを記憶する工程を備え、前記更新要求工程では、前記更新要求の送信に際し、記憶されている最新の前記ポジションを同時に送信することを特徴とする請求項２０に記載のリモートアクセス方法。
【請求項２２】
前記所定のプロトコルはＨＴＴＰであることを特徴とする請求項２０に記載のリモートアクセス方法。
【請求項２３】
第１の情報処理システムとの間で第１のプロトコルによる第１のセッションを行うとともに、第２の情報処理システムとの間で第２のプロトコルによる第２のセッションを行い、複数の前記第１セッション及び１つの前記第２セッション間を中継してこれらセッションにより構成される第３のセッションを確立する手順を含むセッション中継手順をコンピュータに実行させるセッション中継プログラムであって、
前記セッション中継手順は、前記第１情報処理システムからの、前記第２情報処理システムとのセッションを開始するために必要な情報を伴う接続要求に応じて確立される前記第３セッションを識別するためのＩＤ情報を生成し、前記接続要求を行った第１情報処理システムに送るとともに、確立された第３セッションを維持するのに必要なセッション情報を保持するセッション管理手順と、
前記第１情報処理システムから前記ＩＤ情報とともに送られてきた処理要求が、セッション中継システムから転送されてきたことに応じて、対応する前記第２情報処理システムから送られる処理結果のデータを、前記処理要求を行った第１情報処理システムに送信する処理結果転送手順とを具備することを特徴とするセッション中継プログラム。
【請求項２４】
前記処理結果転送手順は、前記処理要求に応じて第２情報処理システムから送られる処理結果のデータを、前記処理要求とともに送られてきたＩＤ情報に対応させてバッファに保存する保存手順と、前記第１情報処理システムからの前記ＩＤ情報を伴う更新要求に応じ、前記ＩＤ情報に対応する前記バッファ中のデータであって未だ前記第１情報処理システムには送信していないものを前記第１情報処理システムに送信する更新手順とを有することを特徴とする請求項２３に記載のセッション中継プログラム。
【請求項２５】
前記接続要求及び更新要求は、異なる前記第１セッションにより行われることを特徴とする請求項２４に記載のセッション中継プログラム。
【請求項２６】
前記バッファは前記ＩＤ情報ごとに作られるリングバッファであり、前記保存手順では、前記処理結果のデータを、対応する前記リングバッファに追加するとともに、前記追加後の前記リングバッファにおける、前記追加されたデータの末尾のポジションに関連するポジション情報とともに前記第１情報処理システムに送信し、さらに、前記送信終了に伴い前記第１セッションが遮断された後に引き続き送られてくる前記処理結果のデータを前記対応するリングバッファに順次追加することを特徴とする請求項２４に記載のセッション中継プログラム。
【請求項２７】
前記更新手順では、前記ＩＤ情報を伴う更新要求に応じた処理結果のデータの送信に際しては、前記ＩＤ情報に対応する前記リングバッファ中の、前記更新要求とともに送られてくる前記ポジション以降のデータを前記第１情報処理システムに送信することを特徴とする請求項２６に記載のセッション中継プログラム。
【請求項２８】
前記第１情報処理システムは第１のファイアウォールの外側に存在し、前記セッション中継システム及び第２情報処理システムは前記第１ファイアウォールの内側に存在し、前記第１セッションは前記第１ファイアウォールを通過して行うことが可能なものであることを特徴とする請求項２３に記載のセッション中継プログラム。
【請求項２９】
第３の情報処理システムにより前記第１情報処理システムとの間の第１セッションを行い、前記第３情報処理システムと第３のプロトコルで通信可能な第４の情報処理システムにより前記第２情報処理システムとの間の第２セッションを行い、前記第３及び第４情報処理システム間の前記第３プロトコルによる通信は第２のファイアウォールを通過して行われ、前記第３情報処理システムが前記セッション管理手順を行い、前記第４情報処理システムが前記第２情報処理システムとの間の第２セッションを確立し、かつ前記第３プロトコルによる通信と、前記第２プロトコルによる通信との中継を行うことを特徴とする請求項２８に記載のセッション中継プログラム。
【請求項３０】
前記第１プロトコルはＨＴＴＰであることを特徴とする請求項２３に記載のセッション中継プログラム。
【請求項３１】
前記第２プロトコルはＴｅｌｎｅｔであることを特徴とする請求項２３に記載のセッション中継プログラム。
【請求項３２】
ファイアウォール内のサーバとのセッションを開始するために必要な情報を伴う接続要求を受け入れ、前記ファイアウォールを通過可能なプロトコルによる一セッションにより前記ファイアウォール内のセッション中継システムに対して送信する接続要求手順と、
前記セッション中継システムが前記接続要求に応じて前記サーバとの間で確立する、前記一セッションを含む上位のセッションを識別するためのＩＤ情報を前記セッション中継システムから受信するＩＤ情報受信手順と、
前記サーバに対する処理要求を受け入れ、前記ＩＤ情報とともに前記セッション中継システムに送信する処理要求手順と、
前記処理要求に応じて前記サーバから送られ、前記セッション中継システムに保存されている処理結果のデータによる更新要求を前記ＩＤ情報とともに、前記一セッションとは別の前記プロトコルによるセッションであって前記上位セッションに含まれるセッションにより、前記セッション中継システムに送信する更新要求手順と、
前記更新要求に応じて前記セッション中継システムから送られてくるデータを表示する表示手順とをクライアント端末に実行させることを特徴とするクライアントプログラム。
【請求項３３】
前記セッション中継システムから前記処理要求のデータとともに送られてくる前記セッション中継システムのリングバッファの末尾のポジションを記憶する手順を前記クライアント端末に実行させ、前記更新要求手順では、前記更新要求の送信に際し、記憶されている最新の前記ポジションを同時に送信することを特徴とする請求項３２に記載のクライアントプログラム。
【請求項３４】
前記所定のプロトコルはＨＴＴＰであることを特徴とする請求項３２に記載のクライアントプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、第１の情報処理システムとの間で第１のプロトコルによる第１のセッションを行うとともに、第２の情報処理システムとの間で第２のプロトコルによる第２のセッションを行い、複数の第１セッション及び１つの第２セッション間を中継してこれらセッションにより構成される第３のセッションを確立するセッション中継システム、及びこれを有するネットワークシステム、並びにこれに適したクライアント端末、セッション中継方法、リモートアクセス方法、セッション中継プログラム及びクライアントプログラムに関する。
【０００２】
【従来の技術】
遠隔のサーバとの間で文字情報の送受を行うことにより、サーバのリソースを利用するためのプロトコルとしてＴｅｌｎｅｔ（テルネット）が知られている。Ｔｅｌｎｅｔは、クライアントから、ＴＣＰ／ＩＰにより接続されたサーバに対して遠隔からログ・インし、クライアント側のコンピュータを仮想端末として使用することを可能とするものである。したがって、ＴＣＰ／ＩＰをベースとしているネットワーク環境では、サーバがＴｅｌｎｅｔに対してポートを開いていれば、どこのクライアントからでも利用することができる。
【０００３】
一方、セキュリティを確保するため、一般に、インターネットと社内ネットワークの間にはファイアウォールが設けられる。企業におけるネットワーク構成としては、ネットワークをファイアウォールで２つのセグメントに分けて管理し、一方のセグメントをＤＭＺ（DeMilitarized Zone）としてそこに公開サーバを配置し、他方を社内ネットワークとして使用するものが一般的に採用されている。このような一般企業のファイアウォールでは、セキュリティ上の理由から、インターネットに対してＴｅｌｎｅｔ用のポートを開けることはない。したがって、従来、ＴｅｌｎｅｔはＵｎｉｘ（登録商標）系のコンピュータで広く使われているが、企業においては通常、社内ネットワーク内で使用されている。そして、社外から社内ネットワーク内のサーバにＴｅｌｎｅｔでアクセスするには、社内ネットワークにダイヤルインによって直接接続する方法が、一般的に用いられている。
【０００４】
【発明が解決しようとする課題】
しかしながら、社内ネットワークは社内にとどまることなく広がっており、世界的な社内ネットワークをもつ企業も増えてきている。したがって、インターネットを介し、パソコンや携帯電話等のモバイルデバイスを用いてあらゆる所から社内ネットワーク内のサーバに対し、安全にＴｅｌｎｅｔによるアクセスを行いたいという強い要請がある。また、ある社内ネットワークからインターネットを経由して他社のネットワークに対してアクセスしたいという要求もある。
【０００５】
そこで、本発明は、外部のネットワークからサーバへのＴｅｌｎｅｔ等によるアクセスがファイアウォールにより制限されている場合でも、サーバとのＴｅｌｎｅｔ等によるアクセスを可能とする技術を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この目的を達成するため、本発明に係るセッション中継システムは、第１の情報処理システムとの間で第１のプロトコルによる第１のセッションを行うとともに、第２の情報処理システムとの間で第２のプロトコルによる第２のセッションを行い、複数の前記第１セッション及び１つの前記第２セッション間を中継してこれらセッションにより構成される第３のセッションを確立するセッション中継システムであって、前記第１情報処理システムからの接続要求に応じて確立する前記第３セッションを識別するためのＩＤ情報を生成し、前記接続要求を行った前記第１情報処理システムに送るセッション管理手段と、前記第１情報処理システムから前記ＩＤ情報とともに送られてきた処理要求に応じて前記第２情報処理システムから送られる処理結果のデータを前記第１情報処理システムに送信する処理結果転送手段とを具備することを特徴とする。
【０００７】
また、本発明に係るセッション中継方法は、第１の情報処理システムとの間で第１のプロトコルによる第１のセッションを行うとともに、第２の情報処理システムとの間で第２のプロトコルによる第２のセッションを行い、複数の前記第１セッション及び１つの前記第２セッション間を中継してこれらセッションにより構成される第３のセッションを確立するセッション中継方法であって、前記第１情報処理システムからの接続要求に応じて確立する前記第３セッションを識別するためのＩＤ情報を生成し、前記接続要求を行った前記第１情報処理システムに送るセッション管理工程と、前記第１情報処理システムから前記ＩＤ情報とともに送られてきた処理要求に応じて前記第２情報処理システムから送られる処理結果のデータを前記第１情報処理システムに送信する処理結果転送工程とを具備することを特徴とする。
【０００８】
また、本発明に係るセッション中継プログラムは、コンピュータを、上述の本発明に係るセッション中継システムとして機能させるものであることを特徴とする。
【０００９】
前記セッション中継システム、セッション中継方法及びセッション中継プログラムの発明において、セッション中継システムやセッション中継プログラムは、たとえば、ウェブサーバとウェブサーバで稼働するサーブレットによって構成される。第１の情報処理システムとしては、たとえばｉアプリに対応した携帯電話やアプレットの実行が可能なＷＷＷブラウザを有するパソコンが該当する。ｉアプリとは、携帯電話においてウェブにアクセスする際に動作するＪａｖａ（登録商標）プログラムである。第２の情報処理システムとしては、たとえばファイアウォールで保護されたイントラネット内のサーバが該当する。第１のプロトコルとしては、たとえばリクエストとレスポンスによる１回の通信が終了するとセッション（コネクション）が切断されるＨＴＴＰ１．０が該当する。第２のプロトコルとしては、たとえば、通常はファイアウォールを通過することができないため、インターネットを介してイントラネット内のサーバにアクセスするためには使用できないＴｅｌｎｅｔのようなプロトコルが該当する。また、複数の第１セッションとは、複数の第１情報処理システムとの間での多重化された複数のセッションではなく、１つの第１情報処理システムとの間での時間的に非連続的に発生する複数の第１セッションを意味する。第３のセッションとは第１及び第２情報処理システムのアプリケーション間に確立される論理的接続を意味する。
【００１０】
前記セッション中継システム、セッション中継方法及びセッション中継プログラムの発明において、第１セッションにより第１情報処理システムからの接続要求があると、セッション中継システムは、前記接続要求に応じて確立する第３セッションを識別するためのＩＤ情報を生成し、第１情報処理システムに送る。その後、確立した第３セッションを構成する第１セッションにより、第１情報処理システムからのＩＤ情報を伴う処理要求を受けると、セッション中継システムは、既に確立した第３セッションを構成する第２セッションにより、その処理要求を第２情報処理システムに送る。これに応じて第２情報処理システムから送られる処理結果のデータを受け取ると、セッション中継システムは、受け取ったデータを第１情報処理システムに送る。
【００１１】
このようにして、セッション中継システムは、ＩＤ情報により、どの第１情報処理システムとの間の第３セッションであるかを識別しながら、処理要求等を第１及び第２情報処理システム間で中継する。その際、第２プロトコルがファイアウォールを通過できないものであっても、第１プロトコルを適当に選択し、ファイアウォールを第１セッションにおいて通過するようにすることにより、ファイアウォールの外側に位置する第１情報処理システムと、ファイアウォールの内側に位置する第２情報処理システムとの間の第３セッションを確立し、維持することができる。
【００１２】
前記セッション中継システム、セッション中継方法及びセッション中継プログラムの発明の一態様においては、前記処理結果転送手段又は処理結果転送工程は前記処理要求に応じて第２情報処理システムから送られる処理結果のデータを、前記処理要求とともに送られてきたＩＤ情報に対応させてバッファに保存するバッファ手段又は保存工程と、前記第１情報処理システムからの前記ＩＤ情報を伴う更新要求に応じ、前記ＩＤ情報に対応する前記バッファ中のデータであって未だ前記第１情報処理システムには送信していないものを前記第１情報処理システムに送信する更新手段又は更新工程とを備える。前記更新要求は、前記接続要求とは異なる前記第１セッションにより行われる。
【００１３】
前記態様によれば、処理結果のデータをバッファに保存し、更新要求に応じて第１情報処理システムへ送るようにしているため、第１セッションが更新要求に対する最初の応答の完了により直ちに切断される場合でも、前記切断の後に第２情報処理システムから送られてくるデータをバッファに蓄えておき、蓄えてあるデータを、その後の更新要求に応じて第１情報処理システムに送ることにより、支障なく第３セッションを維持することができる。
【００１４】
前記バッファとしては前記ＩＤ情報ごとに作られるリングバッファを使用することができる。前記バッファ手段は、又は前記保存工程では、前記処理結果のデータを、対応する前記リングバッファに追加するとともに、前記追加後の前記リングバッファにおける、前記追加されたデータの末尾のポジションに関連するポジション情報とともに前記第１情報処理システムに送信し、さらに、前記送信終了に伴い前記第１セッションが遮断された後に引き続き送られてくる前記処理結果のデータを前記対応するリングバッファに順次追加する。
【００１５】
この場合、前記ＩＤ情報を伴う更新要求に応じたデータの送信に際しては、前記ＩＤ情報に対応する前記リングバッファ中の、前記更新要求とともに送られてくる前記ポジション以降のデータが前記第１情報処理システムに送信される。
【００１６】
また、前記セッション中継システム、セッション中継方法及びセッション中継プログラムの発明の別の態様においては、前記第１情報処理システムは、第１のファイアウォールの外側に存在し、前記セッション中継システム及び第２情報処理システムは前記第１ファイアウォールの内側に存在し、前記第１セッションは前記第１ファイアウォールを通過して行うことが可能なものである。
【００１７】
この場合、第３の情報処理システムにより前記第１情報処理システムとの間の第１セッションを行い、前記第３情報処理システムと第３のプロトコルで通信可能な第４の情報処理システムにより前記第２情報処理システムとの間の第２セッションを行い、前記第３及び第４情報処理システム間の前記第３プロトコルによる通信は第２のファイアウォールを通過して行い、前記第３情報処理システムが前記セッション管理手段を有し又は前記セッション管理工程を行い、前記第４情報処理システムが前記第２情報処理システムとの間の第２セッションを確立し、かつ前記第３プロトコルによる通信と、前記第２プロトコルによる通信との中継を行うようにしてもよい。
【００１８】
さらに、前記第３情報処理システムは、前記セッション管理手段、バッファ手段及び更新手段を備え、あるいは前記第３情報処理システムが前記セッション管理工程、保存工程及び更新工程を行うとともに、前記第３情報処理システムは、前記第１情報処理システムからの接続要求及びこれに応じて生成した前記ＩＤ情報、並びに前記第１情報処理システムからのＩＤ情報を伴う処理要求を前記第４情報処理システムへ送信し、前記第１情報処理システムからの接続要求があるたびに作成する前記第４情報処理システムに対するソケットを、前記接続要求に応じて生成される前記ＩＤ情報に対応させて記憶し、前記第４情報処理システムは、前記接続要求及びこれに応じて生成されたＩＤ情報が送られてくるごとに、前記ＩＤ情報に対応させて、前記第２情報処理システムとの間の第２セッションを確立し、前記ソケットを介して前記処理要求が送られてきたときは、送られてきた処理要求を、そのソケットに対応する前記第２セッションにより前記第２情報処理システムに送信し、送信した処理要求に対する処理結果を受信して前記第３情報処理システムに送信するようにしてもよい。
【００１９】
一方、本発明に係るネットワークシステムは、上述の本発明に係るセッション中継システム並びにその中継によって確立される第３セッションによって接続される第１情報処理システム及び第２情報処理システムを具備することを特徴とする。
【００２０】
本発明に係るクライアント端末は、所定のサーバとの接続要求を受け入れ、所定のプロトコルによるセッションにより所定のセッション中継システムに対して送信する接続要求手段と、前記セッション中継システムから送られる、前記接続要求に応じて確立する前記サーバとの、前記セッションを含む上位のセッションを識別するためのＩＤ情報を受信するＩＤ情報受信手段と、前記サーバに対する処理要求を受け入れ、前記ＩＤ情報とともに前記セッション中継システムに送信する処理要求手段と、前記処理要求に応じて前記サーバから送られ、前記セッション中継システムに保存されている処理結果のデータによる更新要求を前記ＩＤ情報とともに前記セッション中継システムに送信する更新要求手段と、前記更新要求に応じて前記セッション中継システムから送られてくるデータを表示する表示手段とを具備することを特徴とする。
【００２１】
本発明に係るリモートアクセス方法は、ファイアウォール内のサーバとの接続要求を受け入れ、前記ファイアウォールを通過可能なプロトコルによる一セッションにより前記ファイアウォール内のセッション中継システムに対して送信する接続要求工程と、前記セッション中継システムから送られる、前記接続要求に応じて確立する前記サーバとの、前記一セッションを含む上位のセッションを識別するためのＩＤ情報を受信するＩＤ情報受信工程と、前記サーバに対する処理要求を受け入れ、前記ＩＤ情報とともに前記セッション中継システムに送信する処理要求工程と、前記処理要求に応じて前記サーバから送られ、前記セッション中継システムに保存されている処理結果のデータによる更新要求を前記ＩＤ情報とともに、前記一セッションとは別の前記プロトコルによるセッションであって前記上位セッションに含まれるセッションにより、前記通信中継システムに送信する更新要求工程と、前記更新要求に応じて前記セッション中継システムから送られてくるデータを表示する表示工程とを具備することを特徴とする。
【００２２】
本発明に係るクライアントプログラムは、上述の本発明に係るリモートアクセス方法に従った手順をクライアント端末に実行させるものであることを特徴とする。
【００２３】
前記クライアント端末、リモートアクセス方法及びクライアントプログラムの発明における前記クライアント端末、サーバ、一セッション及び上位のセッションはそれぞれ、上述の本発明に係るセッション中継システムにおける第１情報処理システム、第２情報処理システム、第１セッション及び第３セッションに対応する。所定のプロトコルあるいは前記ファイアウォールを通過可能なプロトコルとしては、たとえばＨＴＴＰが該当する。
【００２４】
前記クライアント端末、リモートアクセス方法及びクライアントプログラムの発明も、上述のセッション中継システム、セッション中継方法、セッション中継プログラムの発明と協働して、同様の作用・効果を奏する。
【００２５】
前記クライアント端末、リモートアクセス方法及びクライアントプログラムの発明の一態様においては、前記セッション中継システムから前記処理要求のデータとともに送られてくる前記セッション中継システムのリングバッファの末尾のポジションを記憶し、前記更新要求の送信に際し、記憶している最新の前記ポジションを同時に送信する。
【００２６】
また、前記セッション中継システムから送られてくる処理結果のデータをリングバッファに保存するとともに、履歴表示要求を受け入れ、これに応じて前記リングバッファに保存されているデータのすべてを表示することが可能な履歴表示を行うようにしてもよい。
【００２７】
前記セッション中継システムが、上述の第１情報処理システム（クライアント端末）との間の第１セッションを行う第３の情報処理システムと、前記第２情報処理システム（サーバ）との間の第２セッションを行い、かつ前記第３情報処理システムと第３のプロトコルで通信可能な第４の情報処理システムとを備え、前記第３及び第４情報処理システム間の前記第３プロトコルによる通信が第２のファイアウォールを通過して行われるものである場合には、前記クライアント端末は前記セッション中継システムの第４情報処理システムのＩＰアドレス及びポート番号並びに前記サーバへの認証情報、ＩＰアドレス及びポート番号の入力を受け入れて記憶し、前記接続要求手段は、又は接続要求工程若しくは接続要求手順では、前記接続要求の送信に際し、前記記憶した各情報を同時に送信するようにしてもよい。
【００２８】
【発明の実施の形態】
図１は本発明の一実施形態に係るネットワークシステムの構成を示す。図２はこれを階層的に示す。これらの図に示すように、このシステムは、Ｔｅｌｎｅｔによりリソースを提供するサーバ１、リソースの提供を受けるクライアント端末２、サーバ１及びクライアント端末２間のセッションを中継するセッション中継システム３を有する。セッション中継システム３はサーバ１及びクライアント２との間でそれぞれＨＴＴＰ及びＴｅｌｎｅｔにより通信可能であり、ＨＴＴＰによる複数のセッションをＴｅｌｎｅｔによる１つのセッションに対応させて、それらのセッション間の中継を行い、これによりサーバ１及びクライアント２間で上位のセッションを確立するものである。セッション中継システム３はウェブサーバ４及びマッパ５を備える。マッパ５はウェブサーバ４及びサーバ１間の通信において所定のプロトコル変換を伴った中継を行うとともに、ウェブサーバ４及びサーバ１間で複数の異なるセッションが発生した場合に各セッションの接続を保持するようにマッピングを行う。つまり、直接的にはマッパ５がサーバ１との間でＴｅｌｎｅｔによるセッションを行う。クライアント端末２としては、たとえば、ｉアプリに対応した携帯端末２ａや、Ｊａｖａ（登録商標）アプレットに対応したウェブブラウザを有するパソコン２ｂが該当する。携帯端末２ａ及びパソコン２ｂはそれぞれ表示データを保存するためのリングバッファ１１及び１２を備える。
【００２９】
クライアント端末２とウェブサーバ４との間及びウェブサーバ４とマッパ５との間にはそれぞれファイアウォール６及び７が介在し、ネットワークをインターネット８、ＤＭＺ（ＤｅＭｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ）９及びイントラネット（社内ＬＡＮ）１０の各ネットワーク・セグメントに分けて、イントラネット１０におけるセキュリティを向上させている。ファイアウォール６はインターネット８側からのＴＣＰ宛先ポートが８０のパケットを通過させ、宛先ポートが２３のパケットは破棄するようにフィルタリングしている。したがって、クライアント２は、インターネット８を介し、ファイアウォール６通過してウェブサーバ４との間でＨＴＴＰによるコネクションを確立することができるが、Ｔｅｌｎｅｔによるアクセスは行うことができない。ファイアウォール７は宛先ポートが２３０００のパケットを通過させる。
【００３０】
図３はウェブサーバ４における本ネットワークシステムに関するシステム構成を示す。このウェブサーバ４のシステムは、ウェブサーバ４上に常駐するＪａｖａ（登録商標）サーブレットにより実現される。同図に示すように、ウェブサーバ４のシステムは、サーバ１及びクライアント２間で行われるセッションに関する管理を行うセッション管理部３１、マッパ５との接続管理を行うマッパ接続管理部３２、クライアント２からの処理要求に応じ、クライアント２との間の処理を行うリクエスト処理部３３、及びリングバッファ３５に関する処理を行うリングバッファ処理部３４を備える。３６はクライアント端末２及びサーバ１間のセッションを維持するのに必要なセッション情報を保持する領域である。
【００３１】
セッション管理部３１は、クライアント２からの接続要求に応じてサーバ１との間で確立するセッションを識別するためのセッションＩＤを生成し、接続要求を行ったクライアント２に送るとともに、そのセッションＩＤの有効期間の管理を行う。たとえば、クライアント２から一定のセッションＩＤを伴った要求が１０分以上なかったときは、そのセッションＩＤを無効とし、セッションを終了する。また、生成したセッションＩＤとともに、接続要求に伴ってクライアント２から送られてきた、Ｔｅｌｎｅｔによるログイン用のユーザＩＤ、パスワード、サーバ１のＩＰアドレス（ホストアドレス）、サーバ１におけるＴｅｌｎｅｔ用のポート番号（ホストポート）、マッパ５のＩＰアドレス（マッパアドレス）、及びマッパ５に対する接続用のポート番号（マッパポート）、現在時刻をミリ秒単位で示すタイムスタンプ及びリングバッファ３５のアドレスを示すポインタ、並びにマッパ５における各アプリケーションプロセスへの接続に使用するソケットを各セッションＩＤごとのセッション情報として保持する。セッション情報は、サーバ１とのセッション開始時に領域３６に記憶され、そのセッションが終了した時点で消去される。
【００３２】
マッパ接続管理部３２は、マッパ５との間の接続及び接続の遮断並びにデータの送受を行うとともに、マッパ５との接続の有効期間を管理する。たとえば、マッパ５との間で何もデータの送受がない期間が１０分継続した場合は、接続を遮断する。リクエスト処理部３３は、クライアント端末２からのＨＴＴＰによるＧＥＴメソッド及びＰＯＳＴメソッドに従ったリクエストに対し、レスポンスメッセージを返送する処理を行う。
【００３３】
リングバッファ処理部３４は、クライアント２からセッションＩＤとともに送られてきた処理要求を送ったことに応じてサーバ１から送られるデータをそのセッションＩＤに対応させてバッファ３５に保存する。また、クライアント端末２からのセッションＩＤを伴う更新要求に応じ、そのセッションＩＤに対応するバッファ３５中のデータをクライアント端末２に送信する。
【００３４】
図４はクライアント端末２におけるシステム構成を示す。同図に示すように、クライアント端末２は、ユーザによるログインの指示を受け入れるログイン部４１、各種設定データの入力を受け入れて保存する設定保存部４２、サーバ１への処理要求としてＴｅｌｎｅｔコマンドを受け入れるリクエスト入力部４３、サーバ１に対する処理要求の送信及び前記処理要求に応じて送られてくる処理結果の受信を行う要求送信受信部４５、処理結果の更新要求を受け入れる同期入力部４６、更新要求に応じてリングバッファ１１や１２のデータの更新処理を行う同期処理部４７、及び履歴の表示要求に応じてリングバッファ１１や１２内のデータを履歴として表示する履歴表示部４８を備える。
【００３５】
図５は携帯端末２ａにおける本ネットワークシステムの使用状況を示す。図５（ａ）は本ネットワークシステムを実現するｉアプリを起動したときに表示されるログイン画面を示す。図中の５１はユーザＩＤの表示領域、５２はパスワードの表示領域である。後述の設定画面でユーザＩＤ及びパスワード等が設定されている場合に表示される。５３はサーバ１とのセッションを開始するためのボタン、５４はｉアプリを終了させるためのボタン、５５は図５（ｂ）及び（ｃ）の設定画面を表示させるためのボタンである。図５（ｃ）の設定画面は、図５（ｂ）の設定画面をスクロールさせることにより表示させることができる。
【００３６】
図５（ｂ）及び（ｃ）中の５６〜６１はサーバ１とのセッションを開始するために特定すべき各種情報を入力するための入力フィールドである。入力フィールド５６及び５７にはＴｅｌｎｅｔでサーバ１にログインするために必要なユーザＩＤ及びパスワードが入力される。入力フィールド５８及び５９には、サーバ１のＩＰアドレス（ホストアドレス）及びＴｅｌｎｅｔ用のポート番号が入力される。入力フィールド６０及び６１には、サーバ１とのセッションにおいて経由するマッパ５のＩＰアドレス（マッパアドレス）及びそのマッパへの接続に使用するポート番号（マッパポート）が入力される。６２は図５（ａ）のログイン画面へ戻るためのボタンである。
【００３７】
図５（ｄ）は、ボタン５３の押下によりセッションが開始されたときに表示されるセッション画面を示す。図中の６３はＴｅｌｎｅｔコマンドの入力フィールド、６４は入力したコマンドをサーバ１へ送るためのボタン、６５は送られたコマンドに対する処理結果が表示される表示部である。６６は処理結果の表示を更新するためのボタン、６７は処理結果の履歴を表示させるためのボタンである。
【００３８】
図６はパソコン２ｂにおける本ネットワークシステムの使用状況を示す。パソコン２ｂでは本ネットワークシステムに関する機能はブラウザ上で実行されるＪａｖａ（登録商標）アプレットにより実現される。同図（ａ）では設定画面が示されており、図中の入力フィールド７１は、図５の入力フィールド５６〜６１に対応する。図中の７２は入力フィールド７１に入力した各種情報に基づいてサーバ１とのセッションを開始するためのボタン、７３はＪａｖａ（登録商標）アプレットによる処理をキャンセルするためのボタンである。
【００３９】
同図（ｂ）はボタン７２の押下によりセッションを開始したときに表示されるセッション画面を示す。図中のボタン７４〜７７は、図５のボタン６４、６６、６７及び５４にそれぞれ対応する。７８はＴｅｌｎｅｔコマンドの入力フィールド、７９は入力したコマンドについての処理結果を表示する表示部である。
【００４０】
図４中のログイン部４１は、図５（ａ）のスタートボタン５３の押下を受け入れる。設定保存部４２は図５（ｂ）及び（ｃ）や図６（ａ）の設定画面で入力される各種情報を保存する。ここで保存した情報は、消去しない限り保持されており、次回のセッションにおいては、保存した情報をそのまま利用することができる。リクエスト入力部４３は、図５や図６のコマンド入力フィールド６３や７８を用いて行われるコマンドの入力を受け入れる。コマンドとしてはたとえば、ディレクトリの内容を表示させる“ｌｓ”、ファイルをコピーする“ｃｏｐｙ”、現在のディレクトリを変更する“ｃｄ”が該当する。
【００４１】
要求送信受信部４５が送信する要求は、ＨＴＴＰに従ったＧＥＴリクエスト及びＰＯＳＴリクエストのメッセージとしてウェブサーバ４に送られる。要求送信受信部４５はこれに対する応答として、ウェブサーバ４から、ＧＥＴレスポンス及びＰＯＳＴレスポンスのメッセージを受け取る。ＧＥＴリクエスト及びＧＥＴレスポンスにより更新要求の送信及び更新データの受信が行われ、ＰＯＳＴリクエスト及びＰＯＳＴレスポンスによりサーバ１へのＴｅｌｎｅｔによるログイン及びログアウト並びにＴｅｌｎｅｔコマンドの送信及び処理結果の受信が行われる。
【００４２】
同期入力部４６は、更新ボタン６６や７５の押下を受け入れる。同期処理部４７は、更新ボタン６６や７５の押下に応じ、クライアント端末２におけるリングバッファ１１や１２の状態、すなわちウェブサーバ４のリングバッファ３５中のどこまでのデータを取得済みであるかを示すポジションのデータをウェブサーバ４に送り、これに応じてウェブサーバから送られてくる更新データをリングバッファ１１や１２に追加するとともに表示部６５や７９に表示する。履歴表示部４８は、履歴ボタン６７や７６の押下に応じて、リングバッファ１１や１２に保存されているデータを表示する。
【００４３】
図７はマッパ５のシステム構成を示す。マッパ５は、ウェブサーバ４のサーブレットとの接続を管理する接続管理部８１及びホスト１との接続を管理する接続管理部８２を有する。接続管理部８１はウェブサーバ４のマッパ接続管理部３２から送られてくるコマンドをそれぞれの処理ルーチンに振り分けて接続管理部８２へ送信し、マッパ接続管理部３２から送られてくるデータを接続管理部８２へ送信するとともに、接続管理部８２から送られてくるデータをウェブサーバ４のマッパ接続管理部３２に送信する。送られてくるコマンドとしては、たとえばサーバ１に対しＴｅｌｎｅｔによるログイン及びログアウトを行うことを要求する“ＤＬＯＧＩＮ”及び“ＤＬＯＧＯＵＴ”並びにＴｅｌｎｅｔコマンドを送ることを要求する“ＤＴＡＴＡ”が該当する。たとえば“ＤＬＯＧＩＮ”コマンドを受け取ると、接続管理部８２は、サーバ１との間でネゴシエーションを行ってコネクションを確立し、Ｔｅｌｎｅｔセッションを開始する。また、“ＤＴＡＴＡ”を受け取ると、それに付随するＴｅｌｎｅｔコマンドをサーバ１へ送信するとともに、これに応じてサーバ１から送られてくるデータを接続管理部８１へ送信する。接続管理部８１及び８２は、複数のクライアント端末２及び１つのサーバ１間の各セッションごとに処理ルーチンの各スレッドとして生成され、各セッションの通信元及び通信先のアプリケーションプロセスをマッピングする。つまり複数のクライアント端末２及びサーバ１間のセッションを多重化して確立することができる。また、マッパ５はウェブサーバ４に対してポート２３０００を開けており、一方、サーバ１はＴｅｌｎｅｔ用にポート２３を開けている。したがってマッパ５により宛先ポートが変換されることになる。
【００４４】
図８〜図１１はそれぞれ、Ｔｅｌｎｅｔサーバ１へのログイン時、Ｔｅｌｎｅｔコマンドの送信時、Ｔｅｌｎｅｔコマンドに対する処理結果の更新時、及びホスト１からのログアウト時におけるクライアント端末２、ウェブサーバ４、マッパ５、及びサーバ１間のデータの流れを示す。図８〜図１１を参照し、ネットワークシステムの動作を説明する。
【００４５】
クライアント端末２を用いてサーバ１をＴｅｌｎｅｔにより遠隔操作するためには、まず、ウェブサーバ４の所定のダウンロードページから本ネットワークシステムに係るｉアプリ又はアプレットをダウンロードする必要がある。携帯端末２ａがｉアプリをダウンロードする場合、ウェブサーバ４は携帯端末２ａの製造番号が登録されているか否かを判定し、登録されている場合にのみダウンロードを許可する。したがって、ｉアプリをダウンロードするためには、あらかじめ、使用する携帯端末２ａを特定するための製造番号をシステム管理者に通知しておき、システム管理者がウェブサーバ４にその製造番号を登録することによりアクセス許可がなされている必要がある。パソコン２ｂがアプレットをダウンロードする場合は、ウェブサーバ４はクライアント認証を行い、肯定的な認証結果が得られたときにダウンロードを許可する。
【００４６】
ｉアプリやアプレットをダウンロードして起動すると、ログイン部４１は図５（ａ）に示すようなログイン画面を表示する。設定ボタン５５が押下されると、設定保存部４２は図５（ｂ）や図６（ａ）の設定画面を表示する。また、携帯端末２ａの場合はスクロール操作がなされると、図５（ｃ）の画面へスクロールする。これに対し、サーバ１へのログインに必要なユーザＩＤ、パスワード、ホストアドレス等の必要な情報が入力されると、設定保存部４２はそれらの設定データを保存する。携帯端末２ａの場合、戻るボタン６２が押下されると、再度ログイン画面が表示されるが、このとき、設定画面で入力されたユーザＩＤ及びパスワード（＊＊＊の表示）が表示領域５１及び５２に表示されている。スタートボタン５３又はＯＫボタン７２が押下されると、要求送信受信部４５はＨＴＴＰセッションにより、図８に示すように、ＰＯＳＴリクエストとして、ログインコマンド“ｌｏｇｉｎ”、並びに設定保存部４２が保存しているユーザＩＤ、パスワード、ホストアドレス、ホストポート、マッパアドレス及びマッパポートのデータをウェブサーバ４へ送信する。
【００４７】
前記データを受信すると、ウェブサーバ４のセッション管理部３１は、セッションＩＤを作成し、接続管理部３２はマッパアドレス及びマッパポートに基づきマッパ５へのソケットを形成してコネクションを確立し、コマンド“ＬＯＧＩＮ”及び作成したセッションＩＤ、並びに受信したユーザＩＤ、パスワード、ホストアドレス及びホストポートのデータをマッパ５に送信する。
【００４８】
マッパ５が前記データを受信すると、マッパ５の接続管理部８２は、受信したホストアドレス及びホストポートに基づき、ネゴシエーションを行ってサーバ１とのＴＣＰコネクションを確立するとともに、ホスト１からログインプロンプトが送られてきたら、これに応じて、受信したユーザＩＤをホスト１へ送る。さらに、ホスト１からパスワードプロンプトが送られてくると、これに応じ、受信したパスワードをサーバ１に送信する。前記ユーザＩＤ及びパスワードによる認証が正常に終了し、ログインが認められると、マッパ５及びサーバ１間のＴｅｌｎｅｔセッションが開始されると同時に、クライアント端末２及びサーバ１間のセッションも開始されることになる。マッパ５の接続管理部８１はサーバ１からのログイン可否の結果及びそれに伴うデータをウェブサーバ４に送信する。
【００４９】
ウェブサーバ４のリクエスト処理部３３は、前記データを受け取ると、前記データをＰＯＳＴレスポンスとして、クライアント端末２へ送信する。このとき、サーバ１へのログインが認められた場合には、先に作成されたセッションＩＤが送信内容に含められる。前記ＰＯＳＴレスポンスの後、クライアント端末２及びウェブサーバ４間のＨＴＴＰセッションは終了する。このとき、クライアント端末２では、ＰＯＳＴレスポンスとして送られてきたサーバ１からのデータがリングバッファ１１や１２に追加されるとともに、前記データの内容が表示部６５や７９に表示される。たとえば、クライアント端末２ｂの表示部７９では、破線８０より上の部分の内容が表示された状態となる。また、サーバ１へのログインが許可された場合には、セッション管理部３１は、先に作成したセッションＩＤ、並びに先に受信したユーザＩＤ、パスワード、ホストアドレス、ホストポート、マッパアドレス及びマッパポート、並びに現在のミリ秒単位の時刻を示すタイムスタンプ、セッションＩＤに対応させて定義したリングバッファへのポインタとその内容、並びにマッパ５のどの接続管理部１に接続するかを示す前記ソケットへのポインタと前記ソケットの内容を保存する。
【００５０】
なお、ウェブサーバ４のセッション管理部３１は、各セッションＩＤについてタイムスタンプが示す時刻から１０分間、マッパ５又はクライアント端末２からのデータ送信が無い場合には、ホスト１との対応するＴｅｌｎｅｔセッションを強制終了し、そのセッションＩＤに対応するユーザＩＤ等のセッション情報を消去するとともに、対応するリングバッファ３５を解放する。
【００５１】
このようにしてクライアント２及びホスト１間のセッションが確立された後、クライアント端末２のコマンド入力フィールド６３や７８においてＴｅｌｎｅｔコマンドが入力され、送るボタン６４や７４が押下されると、図９に示すようにクライアント端末２の要求送受信部４５は、入力されたＴｅｌｎｅｔコマンドに対し、コマンド“ｐｏｓｔｄａｔａ”及び前記セッションのセッションＩＤを付加し、新たなＨＴＴＰセッションによりＰＯＳＴリクエストとしてウェブサーバ４に送信する。
【００５２】
前記ＰＯＳＴリクエストを受信すると、ウェブサーバ４のリクエスト処理部３３は、コマンドが“ｐｏｓｔｄａｔａ”であることに応じ、Ｔｅｌｎｅｔコマンドに対してコマンド“ＤＤＡＴＡ”を付加する。コマンド“ＤＤＡＴＡ”が付加されたＴｅｌｎｅｔコマンドを、マッパ接続管理部３２は、前記セッションＩＤに対応するマッパ５へのソケットを用いてマッパ５に送信する。前記ソケットに対応するマッパ５の接続管理部８１及び８２は、対応するＴｅｌｎｅｔセッションにおいて、前記Ｔｅｌｎｅｔコマンドをサーバ１に送信する。サーバ１は、前記Ｔｅｌｎｅｔコマンドを受信すると、Ｔｅｌｎｅｔコマンドに応じた処理を行い、処理結果をマッパ５に送る。前記処理結果を受信すると、マッパ５の接続管理部８１及び８２は、受信した処理結果をウェブサーバ４に送信する。
【００５３】
前記処理結果を受信すると、ウェブサーバ４のマッパ接続管理部３２は、受信した処理結果のデータを、リングバッファ処理部３４に送る。前記データを受け取ると、リングバッファ処理部３４は前記データを、前記セッションＩＤに対応するリングバッファ３５の末尾に追加（ＰＵＴ）する。また、リクエスト処理部３３は、ＰＯＳＴレスポンスとして、リングバッファ３５に追加されたデータと、リングバッファ３５における前記追加されたデータの末尾のポジションを示すポジションデータとをクライアント端末２へ送信する。クライアント端末２の要求送信受信部４５は、ウェブサーバ４から送られてくる処理結果を受信し、これによってＨＴＴＰセッションは終了する。同期処理部４７は受信した処理結果をリングバッファ８又は９の末尾に追加するとともに表示部６５や７９に表示する。なお、このＰＯＳＴレスポンスの送信後に引き続きホスト１からマッパ５を介して送られてくる処理結果のデータは、リングバッファ３５にさらに追加され、追加されたデータは、次のＴｅｌｎｅｔコマンドに対する処理結果とともに、又はその前にクライアント端末２から更新コマンド“ｇｅｔｄａｔａ”が送られてきた場合にはそれに応じて、クライアント端末２に送信されることになる。
【００５４】
クライアント端末２における更新ボタン６６又は７５が押下されると、図１０に示すように、クライアント端末２の要求送信受信部４５は、ＧＥＴリクエストとして更新コマンド“ｇｅｔｄａｔａ”を、先に取得したセッションＩＤ及びポジションデータとともにウェブサーバ４に送信する。ウェブサーバ４のリクエスト処理部３３が前記セッションＩＤ及びポジションデータを受信すると、リングバッファ処理部３４は、ポジションデータが示す読取り位置以降のリングバッファ３５内のデータを更新データとして読み出す。リクエスト処理部３３は読み出した更新データをリングバッファ３５の末尾のポジションとともに、ＧＥＴレスポンスとしてクライアント端末２へ送信する。クライアント端末２の要求送信受信部４５がウェブサーバ４から送られてくる更新データを受信すると、同期処理部４７は受信した更新データをリングバッファ１１又は１２に追加するとともに、前記更新データを表示部６５や７９において表示する。
【００５５】
クライアント端末２において、終了ボタン５４又は７７が押下されると、要求送信受信部４５は、ＰＯＳＴリクエストとして、ログアウトすべき旨を指令するコマンド“ｌｏｇｏｕｔ”を、前記セッションＩＤとともにウェブサーバ４に送信する。コマンド“ｌｏｇｏｕｔ”を受信すると、ウェブサーバ４のリクエスト処理部３３は、ログアウトすべき旨を指令するコマンド“ＤＬＯＧＯＵＴ”を、受信したセッションＩＤとともにマッパ５に送信する。
【００５６】
コマンド“ＤＬＯＧＯＵＴ”等のデータを受信すると、マッパ５の接続管理部８１は受信したデータを接続管理部８２へ送信する。前記送信に応じて接続管理部８２は受信したセッションＩＤに対応するホスト１とのＴｅｌｎｅｔコネクションを切断し、Ｔｅｌｎｅｔセッションを終了する。接続管理部８２はＴｅｌｎｅｔセッションが終了した旨を接続管理部８１に通知し、接続管理部８１は前記Ｔｅｌｎｅｔセッションが終了した旨をウェブサーバ４に通知する。
【００５７】
前記Ｔｅｌｎｅｔセッションが終了した旨の通知を受けると、ウェブサーバ４の接続管理部３２は対応するセッションＩＤについてのマッパ５への接続を遮断する。また、セッション管理部３１は前記セッションＩＤについてのセッション情報３６及びリングバッファ３５の内容を削除する。また、リクエスト処理部３３は、ＰＯＳＴレスポンスとして、コネクションの切断が完了した旨のメッセージをクライアント端末２へ送信する。これにより、クライアント２及びサーバ１間のセッションは終了する。
【００５８】
なお、本発明は上述の実施形態に限定されることなく適宜変形して実施することができる。たとえば、上述においては本発明における第２のプロトコルとしてＴｅｌｎｅｔを用いる場合について説明しているが、この代わりに他のプロトコル、たとえばＦＴＰやＲｌｏｇｉｎを用いてもよい。
【００５９】
また、上述においては、クライアント端末２がインターネット８を介してサーバ１に接続する場合について説明したが、この代わりに、別のネットワーク、たとえば図１に示される別のイントラネット１３等を介してサーバ１に接続する場合についても本発明を適用することができる。
【００６０】
また、上述においては、ウェブサーバ４からマッパ５を介してサーバ１に接続するようにしているが、ファイアウォール７が存在しない場合は、ウェブサーバ４から直接サーバ１に接続するようにしてもよい。
【００６１】
本実施形態によれば、クライアント２との間のＨＴＴＰセッション及びサーバ１との間のＴｅｌｎｅｔセッションを中継することによりクライアント２及びサーバ１間のセッションを確立するようにしたため、ＨＴＴＰセッション上にファイアウォールを配置することにより、ファイアウォールを通過して、事実上のＴｅｌｎｅｔセッションをクライアント２及びサーバ１間で行うことができる。また、その際、サーバ１からの処理結果をリングバッファ３５に保存し、クライアント２からの要求に応じてクライアント２へ転送するようにしたため、ＨＴＴＰセッションが切断されている間にサーバ１から送られてくる処理結果についても、支障なくクライアント端末２へ送られることになる。また、クライアント端末２が携帯端末２ａのようなハードウェアリソースに乏しいものである場合、一度に大量の処理結果が送られてくるとメモリ容量が不足する場合があるが、リングバッファ３５を介し、更新要求に応じて処理結果が送られてくるため、そのような不都合を回避することができる。
【００６２】
【発明の効果】
以上説明したように本発明によれば、第１及び第２の情報処理システムとの間で第１及び第２のプロトコルによる第１及び第２のセッションを行い、複数の第１セッション及び１つの第２セッション間を中継してこれらセッションにより構成される第３のセッションを確立し、第１情報処理システムからの処理要求に応じて第２情報処理システムから送られる処理結果のデータを第１情報処理システムに送信するようにしたため、第１セッション上に第２セッションを通過させないファイアウォールが存在しても、第１及び第２情報処理システム間でのセッションを確立することができる。またさらに、第２情報処理システムから第１情報処理システムへ送信される処理結果をバッファに保存し、前記バッファから更新要求に応じて第１情報処理システムに転送するようにしたため、第１セッションが切断されているときに送られてくる処理結果についても、第１情報処理システムは支障なく受け取ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るネットワークシステムの構成を示す図である。
【図２】図１のネットワークシステムを階層的に示す図である。
【図３】図１のネットワークシステム中のウェブサーバにおけるシステム構成を示す図である。
【図４】図１のネットワークシステム中のクライアント端末におけるシステム構成を示す図である。
【図５】図１のネットワークシステム中の携帯端末の使用状況を示す図である。
【図６】図１のネットワークシステム中のパソコンの使用状況を示す図である。
【図７】図１のネットワークシステム中のマッパのシステム構成を示す図である。
【図８】図１のネットワークシステムにおけるＴｅｌｎｅｔサーバへのログイン時のデータの流れを示す図である。
【図９】図１のネットワークシステムにおけるＴｅｌｎｅｔコマンドの送信時のデータの流れを示す図である。
【図１０】図１のネットワークシステムにおけるＴｅｌｎｅｔコマンドに対する処理結果の更新時のデータの流れを示す図である。
【図１１】図１のネットワークシステムにおけるホスト１からのログアウト時のデータの流れを示す図である。
【符号の説明】
１：サーバ、２：クライアント端末、２ａ：携帯端末、２ｂ：パソコン、３：セッション中継システム、４：ウェブサーバ、５：マッパ、６，７：ファイアウォール、８：インターネット、９：ＤＭＺ、１０：イントラネット、１１，１２：リングバッファ、１３：別のイントラネット、３１：セッション管理部、３２：マッパ接続管理部、３３：リクエスト処理部、３４：リングバッファ処理部、３５：リングバッファ、３６：セッション情報を保持する領域、４１：ログイン部、４２：設定保存部、４３：リクエスト入力部、４５：要求送信受信部、４６：同期入力部、４７：同期処理部、４８：履歴処理部、４９：リングバッファ、５１：ユーザＩＤ表示領域、５２：パスワード表示領域、５３：スタートボタン、５４：終了ボタン、５５：設定ボタン、５６：ユーザＩＤ入力フィールド、５７：パスワード入力フィールド、５８：ホストアドレス入力フィールド、５９：ポート番号入力フィールド、６０：マッパアドレス入力フィールド、６１：マッパポート番号入力フィールド、６２：戻るボタン、６３：コマンド入力フィールド、６４：送るボタン、６５：表示領域、６６：更新ボタン、６７：履歴ボタン、７１：入力フィールド、７２：ＯＫボタン、７３：キャンセルボタン、７４：送るボタン、７５：更新ボタン、７６：履歴ボタン、７７：終了ボタン、７８：コマンド入力フィールド、７９：表示部、８０：破線、８１：ウェブサーバとの接続管理部、８２：Ｔｅｌｎｅｔサーバとの接続管理部。
【図１】
0003782981.tif 000002
【図２】
0003782981.tif 000003
【図３】
0003782981.tif 000004
【図４】
0003782981.tif 000005
【図５】
0003782981.tif 000006
【図６】
0003782981.tif 000007
【図７】
0003782981.tif 000008
【図８】
0003782981.tif 000009
【図９】
0003782981.tif 000010
【図１０】
0003782981.tif 000011
【図１１】
0003782981.tif 000012