JP2007157148A6 - telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法 - Google Patents

telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法 Download PDF

Info

Publication number
JP2007157148A6
JP2007157148A6 JP2006325674A JP2006325674A JP2007157148A6 JP 2007157148 A6 JP2007157148 A6 JP 2007157148A6 JP 2006325674 A JP2006325674 A JP 2006325674A JP 2006325674 A JP2006325674 A JP 2006325674A JP 2007157148 A6 JP2007157148 A6 JP 2007157148A6
Authority
JP
Japan
Prior art keywords
telnet
session
server
client
agency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006325674A
Other languages
English (en)
Other versions
JP5039915B2 (ja
JP2007157148A (ja
Inventor
ボゥ・シェー
ヂェン・グワン・リ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CNA2005101274137A external-priority patent/CN1980232A/zh
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007157148A publication Critical patent/JP2007157148A/ja
Publication of JP2007157148A6 publication Critical patent/JP2007157148A6/ja
Application granted granted Critical
Publication of JP5039915B2 publication Critical patent/JP5039915B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】コンピュータ・ネットワーク・システムでtelnetセッションを維持する方法を提供すること。
【解決手段】この方法は、telnetクライアントからのtelnet要求に基づいてtelnetエージェンシ・サーバによってtelnetクライアントおよびtelnetサーバとのセッションをそれぞれ作成し、そのセッション間でデータを伝送することによってtelnetクライアントとtelnetサーバとの間のtelnetセッションを維持することを含む。telnetクライアントがtelnetセッション中にオフラインとなった場合、telnetエージェンシ・サーバは、telnetセッションをサスペンドし、その中のすべてのアクティビティを保ち、後でtelnetクライアントからの要求に従ってtelnetセッションを再開する。
【選択図】図1

Description

本発明は一般に情報システム技術に関する。詳細には、本発明は、コンピュータ・ネットワーク・システムでtelnetセッションを維持する技術に関する。より詳細には、本発明は、telnetセッションをサスペンドし、その中のすべてのアクティビティを保ち、それを後で再開する方法およびシステムに関する。
telnetは、リモート・サーバと文字情報を送受信し、それによってリモート・サーバの資源を使用するためのプロトコルとして知られている。telnetは、クライアント側のコンピュータがTCP/IPを介して接続されたサーバにリモートにログインし、クライアント側のコンピュータをリモート・サーバの仮想端末として使用できるようにする。したがって、TCP/IPベースのネットワーク環境では、サーバがtelnetポートを開く限り、任意の許可クライアントがtelnetポートを介してサーバを使用することができる。
しかし、UNIX(R)コンピュータ・システムでのtelnetセッションでは、ユーザのローカル・システムがクラッシュした場合、またはインターネット接続が切断された場合、ユーザのtelnetセッションが直ちに終了し、もはや再開することができず、telnetセッション中のすべてのアクティビティが失われる。従来のUNIX(R)コンピュータ・システムでは、セッションに障害が発生したとき、telnetセッションが直ちに終了することが望まれ、telnetクライアントがtelnetセッションを再開することがサポートされないからである。
最近の発展に伴い、telnetセッションを再開するために2種類の方法がある。
第1の方法は、Tandem により"Network System with ResilientVirtual Fault Tolerant Sessions"の名称で出願されたU.S.Patent No.5881239に開示されているものである。さらに、現在では、上記の特許に記載の特徴と同じものを有する「GeorgiaSoftWorks Telnet Server」(http://www.georgiasoftworks.com/docs/UTS/UTS_userguide.doc)と呼ばれるtelnetサーバが存在する。telnetサーバは、障害が発生したtelnetセッションを完全に停止する前に、設定した期間、telnetセッションを維持することができる。telnetセッションを再開することのできるこの方法では、拡張した新しいtelnetサーバを使用して、従来のUNIX(R)telnetサーバを置き換えなければならない。実際、セキュリティおよび互換性の理由で、この方法を適用することは実際上不可能である。
第2の方法は、telnetセッションが終了するときに終了されない「GNU Screen」(http://www.gnu.org/software/screen/)をユーザの仮想端末として作成することである。telnetクライアントはtelnetサーバに接続し、シェル(例えばBourne Again Shell)を実行し、「GNU Screen」アプリケーションを実行する。後に、各実行アプリケーションは「GNU Screen」の「内部で」実行される。telnetセッションが終了するとき、「GNU Screen」は存続し、「GNU Screen」の「内部の」各アプリケーションも存続する。「GNU Screen」は、内部で実行中の各アプリケーションをサスペンドし、telnetクライアントは、後でアプリケーションを再開することができる。この方法は、telnetサーバが実行中の同一のマシンに「GNU Screen」デーモンをインストールしなければならず、実際、セキュリティおよび互換性の理由で、この方法を適用することも実際上不可能である。
U.S.Patent No.5881239 "Network System with Resilient Virtual Fault TolerantSessions"
したがって、上記の問題を解決するために、本発明は、コンピュータ・ネットワーク・システムでtelnetセッションを維持するtelnetセッション再開機能を用いる方法およびシステムを提供する。ユーザがローカル・システム・クラッシュまたはインターネット接続の切断に遭ったとき、本発明によるtelnetセッションを維持する方法およびシステムは、telnetセッションをサスペンドし、その中のすべてのアクティビティを保ち、telnetクライアントがそれを後で再開することを可能にする。既存のコンピュータ・システムにおけるtelnetセッションを維持する方法と比較して、本発明は、従来のUNIX(R)telnetクライアントおよびサーバに対して透過的であり、従来のUNIX(R)telnetクライアントおよびサーバを変更する必要がなく、telnetサーバが実行中の同一のマシン上に配置されることに限定されず、すなわち、本発明は、telnetサーバが実行中のコンピュータ・ネットワーク・システム内の同一のノードに配置されることに限定されない。
本発明の一態様によれば、少なくとも1つのtelnetクライアント、少なくとも1つのtelnetサーバ、およびtelnetエージェンシ・サーバを備えるコンピュータ・ネットワーク・システムにおいてtelnetセッションを維持する方法であって、
telnetクライアントからのtelnet要求に基づいてtelnetエージェンシ・サーバによってtelnetクライアントおよびtelnetサーバとのセッションをそれぞれ作成し、セッション間でデータを伝送することによってtelnetクライアントとtelnetサーバとの間のtelnetセッションを維持すること、および
telnetクライアントがtelnetセッション中にオフラインとなった場合、telnetエージェンシ・サーバにより、telnetセッションをサスペンドし、その中のすべてのアクティビティを保ち、後でtelnetクライアントからの要求に従ってtelnetセッションを再開すること
を含む方法が提供される。
好ましくは、本発明による方法は、さらに、
telnetクライアントが新しいセッションを作成することを要求しているかどうか、またはサスペンドされたセッションを再開することを要求しているかどうかをtelnetエージェンシ・サーバで判定するステップと、
telnetクライアントが新しいセッションを作成することを要求していると判定された場合、telnetエージェンシ・サーバにより、telnetクライアントとの第1セッション、およびtelnetサーバとの第2セッションをそれぞれ作成し、第1セッションと第2セッションとの間でのデータの伝送を開始するステップと、
サスペンドされたセッションを再開することをtelnetクライアントが要求していると判定された場合、telnetエージェンシ・サーバにより、対応するサスペンドされたセッションおよびそのすべての保たれたアクティビティを見つけ、telnetクライアントとの第3セッションを作成し、サスペンドされたセッションを再開し、第3セッションと再開したセッションとの間のデータの伝送を開始するステップとを含む。
好ましくは、telnetエージェンシ・サーバは、telnetクライアントからのtelnet要求内の再開識別に従って、telnetクライアントが新しいセッションを作成することを要求しているかどうか、またはサスペンドされたセッションを再開することを要求しているかどうかを判定する。
好ましくは、telnetエージェンシ・サーバは、telnetクライアントによって入力されたtelnetサーバのIPアドレスおよびポート番号に従って、telnetサーバとのセッションを作成する。
好ましくは、telnetエージェンシ・サーバは、ローカルIPアドレスおよびポートをtelnetサーバのIPアドレスおよびポートに自動的にマッピングし、それによってtelnetサーバとのセッションを作成する。
好ましくは、telnetセッションをサスペンドするtelnetエージェンシ・サーバは、NOP(ノーオペレーション)メッセージをtelnetサーバに周期的に送信することを含む。
好ましくは、telnetセッション内のすべてのアクティビティを保つtelnetエージェンシ・サーバは、telnetセッションに関係する折衝オプション(negotiated option)およびセッション・データをキャッシュすることを含む。
好ましくは、telnetエージェンシ・サーバおよびtelnetサーバは、それぞれコンピュータ・ネットワーク・システムの異なるノードに配置される。
本発明の別の態様によれば、コンピュータ・ネットワーク・システムでtelnetセッションを維持するtelnetエージェンシ・サーバであって、
telnetクライアントからのtelnet要求を聴取し、telnetクライアントがオフラインであるかどうかを検出するように構成された聴取モジュールと、
宛先のtelnetサーバとの接続を作成し、そのtelnetサーバとデータを送受信するように構成された接続モジュールと、
telnetセッションをサスペンドし、telnetセッションを再開するように構成された制御モジュールと
を備えるtelnetエージェンシ・サーバが提供される。
好ましくは、聴取モジュールがさらに、再開識別を検証するのに使用される。
好ましくは、制御モジュールは、
ローカルIPアドレスおよびポートを宛先のtelnetサーバのIPアドレスおよびポートにマッピングするように構成されたマップ・モジュールと、
telnetセッション内のすべてのアクティビティをキャッシュするように構成されたキャッシュ・モジュールと、
telnetクライアントとtelnetサーバとの間でデータを伝送するように構成された中継モジュールとを備える。
好ましくは、キャッシュ・モジュールは、telnetセッションに関して折衝されたオプションおよびデータをキャッシュし、telnetサーバおよびtelnetクライアントとtelnetオプションを再折衝し、telnetクライアントがサスペンドされたtelnetセッションを再開中に、最後にキャッシュしたtelnet画面をtelnetクライアントに送信するのに使用される。
本発明の別の態様によれば、少なくとも1つのtelnetクライアント、少なくとも1つのtelnetサーバ、および前述のtelnetエージェンシ・サーバを備えるコンピュータ・ネットワーク・システムが提供される。
本発明は、従来のUNIX(R)telnetクライアントおよびサーバに対して透過的であり、telnetサーバが実行中の同一のマシンではない別のマシン上に配置することができ、それによってセキュリティおよび互換性の問題が回避される。
新規であると考えられる本発明の特徴が、添付の特許請求の範囲に記載される。しかし、本発明自体、ならびに本発明の好ましい使用の形態、別の目的、および利点は、添付の図面と共に以下の例示的実施形態の詳細な説明を参照することで最も良く理解されよう。
ここで図を参照すると、図1は、本発明を実施することのできる分散データ処理システムの絵画表現である。分散データ処理システム100は、ネットワーク107と、分散データ処理システム100内でネットワーク107を介して互いに接続された様々なコンピューティング装置またはコンピュータとを備え、ネットワーク107は、前記様々な装置およびコンピュータ間の通信リンクを提供するのに使用される媒体である。ネットワーク107は、同軸ケーブルや光ファイバなどの永続的接続、または電話接続を介する一時的接続を含むことができる。
記載の例では、サーバ104および106がネットワーク107に接続される。さらに、クライアント101、102、および103もネットワーク107に接続される。これらのクライアント101、102、および103は、例えばパーソナル・コンピュータまたはネットワーク・コンピュータでよい。本願では、ネットワーク・コンピュータは、ネットワークに接続された別のコンピュータからプログラムまたは他のアプリケーションを受信することができるネットワークに接続された任意のコンピュータでよい。記載の例では、telnetサービス・プログラムがサーバ104上に常駐し、サーバ106にtelnetサービスを提供する。したがって、記載の例では、サーバ104はtelnetサーバと呼ばれる。クライアント101、102、および103は、telnetサーバ104のtelnetクライアントとして使用される。サーバ106は、クライアント101、102、および103のtelnetエージェンシとして使用され、クライアント101、102、および103からの要求に基づいて、クライアント101、102、および103と、telnetサーバ104との間でtelnetセッションを作成し、サスペンドされたtelnetセッションのすべてのアクティビティを保ち、それによって、サスペンドされたセッションをtelnetクライアントが後で再開することが可能となる。したがって、記載の例では、サーバ106はtelnetエージェンシと呼ばれる。分散データ処理システム100は、図示していない他のサーバ、クライアント、および他の装置をさらに備えることができ、サーバ104および106を、telnetサービスとtelnetエージェンシ・サービスをどちらも提供するものとして組み合わせることができる。
記載の例では、分散データ処理システム100は、インターネットを介して接続されたコンピュータ・システムでよく、ネットワーク107は、TCP/IPプロトコル群を使用して互いに通信するネットワークおよびゲートウェイの世界的な集合を表す。インターネットの中心部は、データおよびメッセージを経路指定する、数千の商用コンピュータ・システム、政府コンピュータ・システム、教育コンピュータ・システム、およびその他のコンピュータ・システムから構成される大ノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンである。もちろん、分散データ処理システム100は、例えばイントラネット、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)などのいくつかの異なるタイプのネットワークとして実装することもできる。図1は一例であり、本発明のアーキテクチャ上の制限ではない。
図2は、本発明の好ましい実施形態によるtelnetセッション再開機能を有するコンピュータ・ネットワーク・システムの絵画表現である。まず、telnetクライアント1が、telnetエージェンシ2に接続してセッション4aを作成する。telnetエージェンシ2は、telnetサーバ3に接続してセッション4bを作成し、telnetエージェンシ2は、telnetクライアント1がtelnetサーバ3に直接接続されているかのように、4aと4bとの間でデータを伝送する。クライアント障害またはリンク障害がある場合、4aは終了し、4bはtelnetエージェンシ2によってサスペンドされる。telnetクライアント1は、telnetエージェンシ2に再接続してセッション4cを作成することができ、telnetエージェンシ2は、telnetクライアント1が4aおよび4bを再開したかのように、4cと4bとの間でデータを伝送する。
図3に、本発明の好ましい実施形態による、図2に示すコンピュータ・ネットワーク・システム内のtelnetエージェンシのブロック図を示す。telnetエージェンシ300は、聴取モジュール310、制御モジュール320、および接続モジュール330という3つの部分を有する。
(1)聴取モジュール310は、telnetクライアントからのtelnet要求を聴取し、telnetクライアントがオフラインであるかどうかを検出し、再開識別を検証するのに使用される。
(2)接続モジュール330は、宛先のtelnetサーバとの接続を構築し、宛先のtelnetサーバとデータを送受信するのに使用される。
(3)制御モジュール320は、IPアドレスおよびポートをマッピングし、telnetセッションをサスペンドし、telnetセッションを再開するのに使用される。制御モジュール320は、telnetエージェンシの主要なモジュールであり、マップ・モジュール322、キャッシュ・モジュール324、および中継モジュール326の3つのセクションを備える。
i.マップ・モジュール322は、ローカルIPアドレスおよびポートを、宛先のtelnetサーバのIPアドレスおよびポートにマッピングするのに使用される。
ii.キャッシュ・モジュール324は、telnetセッションに関して折衝されたオプションおよびデータをキャッシュし、telnetサーバおよびtelnetクライアントとtelnetオプションを再折衝し、telnetクライアントがサスペンドされたtelnetセッションを再開中に、最後にキャッシュしたtelnet画面をtelnetクライアントに送信するのに使用される。
iii.中継モジュール326は、telnetクライアントとtelnetサーバとの間でデータを伝送するのに使用される。
上記の説明より、本発明では、サスペンドされたtelnetセッションに関する折衝オプション・データをキャッシュするようにtelnetエージェンシを適用することにより、サスペンドされたtelnetセッションを後で再開することが可能となることがわかる。さらに、本発明は、従来のUNIX(R)telnetクライアントおよびサーバに対して透過的であり、telnetサーバが実行中の同一のマシンではない別のマシン上に配置することができ、それによってセキュリティおよび互換性の問題が回避される。
次に、図4に関連して、本発明の好ましい実施形態によるtelnetセッション再開機能を有するネットワーク・システム内のtelnetエージェンシを介してtelnetセッションを維持する方法を詳細に説明する。
図4は、本発明の好ましい実施形態によるtelnetセッションを維持するプロセスの流れ図であり、ユーザがローカル・システム・クラッシュまたはインターネット接続の切断に遭ったとき、telnetエージェンシが、telnetセッションをサスペンドし、その中のすべてのアクティビティを保ち、telnetクライアントがそれを後で再開することを可能にすることを含む。まず、telnetクライアント1は、telnetエージェンシ2に接続してセッション4aを作成する(405)。telnetエージェンシ2は、telnetクライアント1に再開識別を入力するように要求する(410)。2つの分岐がある。
(1)telnetクライアント1によって入力された再開識別がゼロである(415の「Yes」の分岐)。これは、telnetクライアント1が新しいセッションを作成することを選択したことを意味する。次いで、telnetエージェンシ2は、telnetサーバ3に接続してセッション4bを作成する。telnetエージェンシ2は、telnetクライアント1がtelnetサーバ3に直接接続されているかのように、4aと4bとの間でデータを伝送する。何らかのクライアント障害またはリンク障害がある場合、4aは終了し、4bはtelnetエージェンシ2によってサスペンドされる。4bが終了した場合、telnetエージェンシ2は4aを終了させる。
(2)telnetクライアント1によって入力された再開識別がゼロではない(415の「No」の分岐)。telnetクライアント1によって入力された再開識別に対応するサスペンドされたtelnetセッションをtelnetエージェンシ2が見つけることができない場合、telnetエージェンシ2は、telnetクライアント1に再度再開識別を入力するように要求する。telnetクライアント1によって入力された再開識別に対応するサスペンドされたセッション4bをtelnetエージェンシ2が見つけた場合、telnetエージェンシ2は、telnetクライアント1がサスペンドされたセッション4bを終了させたいかどうかをtelnetクライアント1に尋ねることになる。telnetクライアント1が4bを終了させることを選択した場合、telnetエージェンシ2は4bを終了させ、そうでない場合、telnetエージェンシ2は、telnetクライアント1とオプションを折衝し(telnetエージェンシ2は、サスペンドされたセッション4bの最新の折衝オプションを保存している)、前記折衝オプションをtelnetサーバ3に送信する。telnetエージェンシ2は4bを再開し、telnetクライアント1が4bを再開したかのように、4cと4bとの間でデータを伝送する。何らかのクライアント障害またはリンク障害がある場合、4cは終了し、4bがtelnetエージェンシ2によってサスペンドされる。4bが終了した場合、telnetエージェンシ2は4cを終了させる。
図5は、本発明の好ましい実施形態による、telnetクライアントが再開識別としてゼロを入力したときのtelnetログイン・プロセスである。telnetエージェンシ2は、IPアドレス「11.22.33.44」をバインドし、ポート「2323」を聴取する。以下で詳細に説明する。
(1)telnetクライアント1は、コマンド「telnet 11.22.33.44 2323」によってtelnetエージェンシ2に接続し、それらはtelnetセッション4aを作成する。telnetエージェンシ2は、4aを介してデータをtelnetクライアント1に送信し、telnetクライアント1に再開識別を入力することを要求し、「あなたの再開識別を入力して下さい(再開しない場合は0):」とtelnetクライアント1にプロンプトを出す。
(2)telnetクライアント1は「0」を入力し、4aを介してtelnetエージェンシ2にデータを送り戻す。telnetエージェンシ2は、telnetエージェンシ2が新しいセッションとそのセッションの再開識別を作成中であることを、4aを介してtelnetクライアント1に通知する。さらに、telnetエージェンシ2は、telnetクライアント1が宛先telnetサーバのIPアドレスおよびポートを入力するように要求する。telnetエージェンシ2は、「新しいtelnetセッションを作成しています。再開識別は123456です」および「あなたの宛先を入力して下さい:」とtelnetクライアント1にプロンプトを出す。
(3)telnetクライアント1が「11.22.33.45:23」(11.22.33.45はtelnetサーバ3のIPアドレスであり、23はtelnetサーバ3のポート番号である)を入力し、4aを介してデータをtelnetエージェンシ2に送り戻す。telnetエージェンシ2はtelnetサーバ3に接続し、telnetセッション4bを作成する。
(4)それから、telnetエージェンシ2は4aと4bとの間でデータを伝送する。
(5)telnetサーバ3は、4bを介してデータをtelnetエージェンシ2に送信し、telnetクライアント1にユーザ名を入力するように要求し、telnetエージェンシ2は、4bから4aにデータを送信し、telnetクライアント1に「ユーザ名:」とプロンプトを出す。
(6)telnetクライアント1は、「user1」を入力し、4aを介してデータをtelnetエージェンシ2に送り戻し、telnetエージェンシ2は、4aから4bにデータを送信し、その結果、telnetサーバ3はユーザ名を受信することができる。
(7)telnetサーバ3は、4bを介してデータをtelnetエージェンシ2に送信し、telnetクライアント1にパスワードを入力するように要求し、telnetエージェンシ2は、セッション4bから4aにデータを送信し、telnetクライアント1に「パスワード:」とプロンプトを出す。
(8)telnetクライアント1は、パスワードを入力して、4aを介してtelnetエージェンシ2にデータを送り戻し、telnetエージェンシ2は、セッション4aから4bにデータを送信し、その結果telnetサーバ3はパスワードを受信することができる。
(9)ユーザ名およびパスワードが正しい場合、telnetサーバ3は、4bを介してデータをtelnetエージェンシ2に送信し、UNIX(R)シェルの使用準備ができたことをtelnetクライアント1に伝える。telnetエージェンシ2は、4bから4aにデータを送信し、telnetクライアント1に「user1:/u/user1>」とプロンプトを出す。
図6は、本発明の好ましい実施形態による、telnetクライアントが有効な再開識別を入力したときのtelnetログイン・プロセスである。telnetエージェンシは、IPアドレス「11.22.33.44」をバインドし、ポート「2323」を聴取する。以下で詳細に説明する。
(1)telnetクライアント1は、コマンド「telnet 11.22.33.44 2323」によってtelnetエージェンシ2に接続し、それらはtelnetセッション4cを作成する。telnetエージェンシ2は、4cを介してデータをtelnetクライアント1に送信し、telnetクライアント1に再開識別を入力することを要求し、「あなたの再開識別を入力して下さい(再開しない場合は0):」とtelnetクライアント1にプロンプトを出す。
(2)telnetクライアント1は「123456」を入力し、4cを介してtelnetエージェンシ2にデータを送り戻し、telnetエージェンシ2は、再開識別「123456」に関する、サスペンドされたtelnetセッション4bを見つける。
(3)telnetエージェンシ2は、4cを介してデータをtelnetクライアント1に送信し、サスペンドされたセッション4bを終了するか、または再開することを選択するようにtelnetクライアント1に要求し、「サスペンドされたセッションを終了しますか?(Y/N):」とtelnetクライアント1にプロンプトを出す。telnetクライアント1は「N」を入力し、4cを介してデータをtelnetエージェンシ2に送り戻す。
(4)telnetエージェンシ2は、4cを介してtelnetクライアント1とオプションを折衝し、4bを介して折衝したオプションをtelnetサーバ3に中継する。
(5)telnetエージェンシ2は、最後にキャッシュされた4bのデータを、4cを介してtelnetクライアント1に送信し、telnetクライアント1に「user1:/u/user1>」とプロンプトを出す。
(6)それから、telnetエージェンシ2は4cと4bとの間でデータを伝送する。
上記のプロセスでは、telnetクライアントによって入力されたtelnetサーバのIPアドレスおよびポートに基づいて、telnetエージェンシがtelnetサーバとのセッションを作成することに留意されたい。さらに、本発明を従来のUNIX(R)telnetクライアントおよびサーバに対して透過的なものとするために、telnetエージェンシがマップ・モジュールを含む場合、マップ・モジュールを使用して、telnetクライアントによって入力されたローカルIPアドレスおよびポート番号を、telnetサーバのIPアドレスおよびポート番号にマッピングすることが可能であり、それによってtelnetサーバとのセッションが作成される。
図7は、本発明の好ましい実施形態による、telnetエージェンシ(具体的にはマップ・モジュール)がポート・マッピングを実施し、telnetクライアントが再開識別としてゼロを入力したときのtelnetログイン・プロセスである。例えば、telnetエージェンシは、そのローカルIPアドレスおよびポート11.22.33.44:2323を宛先のtelnetサーバのIPアドレスおよびポート11.22.33.45:23にマッピングする。次いで、図5に示すような「あなたの宛先を入力して下さい:」というプロンプトは行われない。telnetエージェンシがそのローカルIPアドレスおよびポート11.22.33.44:2323を宛先のtelnetサーバのIPアドレスおよびポート11.22.33.45:23にマッピングしているので、ユーザが宛先のtelnetサーバのIPアドレスおよびポートを入力する必要がないことを除いて、すべてのステップは図5に示すのと同じである。
次に、図8および9に関連して、telnetエージェンシでのtelnetセッションのサスペンド・プロセスおよび再開プロセスをさらに説明する。
図8は、本発明の好ましい実施形態によるtelnetセッションをサスペンドするプロセスの流れ図である。telnetクライアントがオフラインであることを聴取モジュールが検出した場合(ステップ810)、聴取モジュールは、telnetクライアントがオフラインであることを制御モジュールに通知する(ステップ820)。制御モジュールのキャッシュ・モジュールは、折衝オプションおよびその他のtelnetデータを含むtelnetサーバのすべての出力データをキャッシュする(ステップ830)。同時に、制御モジュールの中継モジュールは、telnetクライアントがまだオンラインであるかのように、telnetサーバにNOP(ノーオペレーション)メッセージを周期的に送信することを開始する(ステップ840)。
図9は、本発明の好ましい実施形態による、サスペンドされたtelnetセッションを再開するプロセスの流れ図である。telnetクライアントがサスペンドされたtelnetセッションを再開することを試みていることを聴取モジュールが検出した場合(ステップ910)、聴取モジュールは、telnetクライアントの再開識別を検証する。再開識別が正しい場合、聴取モジュールは、telnetクライアントがサスペンドされたtelnetセッションを再開しようとしていることを制御モジュールに通知する(ステップ920)。制御モジュールのキャッシュ・モジュールは、再接続されたtelnetクライアントおよびtelnetサーバが互いを認識することができ、データを正しく交換することができることを確実にするために、telnetクライアントおよびtelnetサーバとtelnetオプションを再折衝する(ステップ930)。制御モジュールのキャッシュ・モジュールは、再接続されたtelnetクライアントに、最後にキャッシュしたtelnet画面を送信する(ステップ940)。次いで、中継モジュールは、telnetサーバとtelnetクライアントとの間でデータを伝送し(ステップ950)、telnetクライアントは、サスペンドされたセッションを首尾よく再開する。
例示および説明のために本発明の説明を提示したが、それは本発明を論じ尽くすものではなく、開示の形態に本発明を限定するものでもない。多くの修正形態および変形形態が当業者には明らかとなるであろう。本発明の原理および実際的な応用例を最も良く説明するために、かつ企図される特定の用途に適するような様々な修正を伴う様々な実施形態に関する本発明を他の当業者が理解することが可能となるように、実施形態を選び、説明した。
本発明を実施することのできる分散データ処理システムの絵画表現である。 本発明の好ましい実施形態によるtelnetセッション再開機能を有するコンピュータ・ネットワーク・システムの絵画表現である。 本発明の好ましい実施形態による、図2に示すコンピュータ・ネットワーク・システム内のtelnetエージェンシのブロック図である。 本発明の好ましい実施形態による、コンピュータ・ネットワーク・システムでtelnetセッションを維持する方法の流れ図である。 本発明の好ましい実施形態による、telnetクライアントが再開識別としてゼロを入力したときのtelnetプロセスを示す図である。 本発明の好ましい実施形態による、telnetクライアントが有効な再開識別を入力したときのtelnetプロセスを示す図である。 本発明の好ましい実施形態による、telnetエージェンシが自動的にポート・マッピングを実施し、telnetクライアントが再開識別としてゼロを入力したときのtelnetプロセスを示す図である。 本発明の好ましい実施形態によるtelnetセッションをサスペンドするプロセスの流れ図である。 本発明の好ましい実施形態による、サスペンドされたtelnetセッションを再開するプロセスの流れ図である。
符号の説明
1 telnetクライアント
2 telnetエージェンシ
3 telnetサーバ
4a セッション
4b セッション
4c セッション
100 分散データ処理システム
101 クライアント
102 クライアント
103 クライアント
104 サーバ
106 サーバ
107 ネットワーク
300 telnetエージェンシ
310 聴取モジュール
320 制御モジュール
322 マップ・モジュール
324 キャッシュ・モジュール
326 中継モジュール
330 接続モジュール

Claims (13)

  1. コンピュータ・ネットワーク・システムでtelnetセッションを維持する方法において、前記コンピュータ・ネットワーク・システムが、少なくとも1つのtelnetクライアント、少なくとも1つのtelnetサーバ、およびtelnetエージェンシ・サーバを備える方法であって、
    前記telnetクライアントからのtelnet要求に基づいて、前記telnetエージェンシ・サーバによって前記telnetクライアントおよび前記telnetサーバとのセッションをそれぞれ作成し、前記セッション間でデータを伝送することによって前記telnetクライアントと前記telnetサーバとの間のtelnetセッションを維持するステップと、
    前記telnetクライアントが前記telnetセッション中にオフラインとなった場合、telnetエージェンシ・サーバにより、前記telnetセッションをサスペンドし、その中のすべてのアクティビティを保ち、後で前記telnetクライアントからの要求に従ってtelnetセッションを再開するステップと
    を含む方法。
  2. telnetクライアントが新しいセッションを作成することを要求しているかどうか、またはサスペンドされたセッションを再開することを要求しているかどうかを前記telnetエージェンシ・サーバが判定するステップと、
    前記telnetクライアントが新しいセッションを作成することを要求していると判定された場合、前記telnetエージェンシ・サーバにより、前記telnetクライアントとの第1セッション、および前記telnetサーバとの第2セッションをそれぞれ作成し、前記第1セッションと前記第2セッションとの間でのデータの伝送を開始するステップと、
    サスペンドされたセッションを再開することをtelnetクライアントが要求していると判定された場合、前記telnetエージェンシ・サーバにより、対応するサスペンドされたセッションおよびそのすべての保たれたアクティビティを見つけ、前記telnetクライアントとの第3セッションを作成し、前記サスペンドされたセッションを再開し、前記第3セッションと再開したセッションとの間のデータの伝送を開始するステップと
    をさらに含む請求項1に記載の方法。
  3. 前記telnetエージェンシ・サーバが、前記telnetクライアントからの前記telnet要求内の再開識別に従って、前記telnetクライアントが新しいセッションを作成することを要求しているかどうか、またはサスペンドされたセッションを再開することを要求しているかどうかを判定する請求項2に記載の方法。
  4. 前記telnetエージェンシ・サーバが、前記telnetクライアントによって入力された前記telnetサーバのIPアドレスおよびポート番号に従って、前記telnetサーバとのセッションを作成する請求項1ないし3のいずれか一項に記載の方法。
  5. 前記telnetエージェンシ・サーバが、ローカルIPアドレスおよびポートを前記telnetサーバのIPアドレスおよびポートに自動的にマッピングし、それによって前記telnetサーバとのセッションを作成する請求項1ないし3のいずれか一項に記載の方法。
  6. 前記telnetセッションをサスペンドする前記telnetエージェンシ・サーバが、NOP(ノーオペレーション)メッセージを前記telnetサーバに周期的に送信することを含む請求項1ないし3のいずれか一項に記載の方法。
  7. 前記telnetセッション内のすべてのアクティビティを保つ前記telnetエージェンシ・サーバが、前記telnetセッションに関係する折衝オプションおよびセッション・データをキャッシュすることを含む請求項1ないし3のいずれか一項に記載の方法。
  8. 前記telnetエージェンシ・サーバおよび前記telnetサーバが、それぞれ前記コンピュータ・ネットワーク・システムの異なるノードに配置される請求項1ないし3のいずれか一項に記載の方法。
  9. コンピュータ・ネットワーク・システムでtelnetセッションを維持するtelnetエージェンシ・サーバであって、
    telnetクライアントからのtelnet要求を聴取し、telnetクライアントがオフラインであるかどうかを検出するように構成された聴取モジュールと、
    宛先のtelnetサーバとの接続を作成し、前記telnetサーバとデータを送受信するように構成された接続モジュールと、
    telnetセッションをサスペンドし、前記telnetセッションを再開するように構成された制御モジュールと
    を備えるtelnetエージェンシ・サーバ。
  10. 前記聴取モジュールがさらに、再開識別を検証するのに使用される請求項9に記載のtelnetエージェンシ・サーバ。
  11. 前記制御モジュールが、
    ローカルIPアドレスおよびポートを宛先のtelnetサーバのIPアドレスおよびポートにマッピングするように構成されたマップ・モジュールと、
    telnetセッション内のすべてのアクティビティをキャッシュするように構成されたキャッシュ・モジュールと、
    telnetクライアントとtelnetサーバとの間でデータを伝送するように構成された中継モジュールと
    を備える請求項9に記載のtelnetエージェンシ・サーバ。
  12. 前記キャッシュ・モジュールが、telnetセッションに関して折衝されたオプションおよびデータをキャッシュし、前記telnetサーバおよび前記telnetクライアントとtelnetオプションを再折衝し、前記telnetクライアントがサスペンドされたtelnetセッションを再開中に、最後にキャッシュしたtelnet画面を前記telnetクライアントに送信するのに使用される請求項11に記載のtelnetエージェンシ・サーバ。
  13. 少なくとも1つのtelnetクライアントと、少なくとも1つのtelnetサーバと、請求項9ないし12のいずれか一項に記載のtelnetエージェンシ・サーバとを備えるコンピュータ・ネットワーク・システム。
JP2006325674A 2005-12-02 2006-12-01 telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法 Expired - Fee Related JP5039915B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200510127413.7 2005-12-02
CNA2005101274137A CN1980232A (zh) 2005-12-02 2005-12-02 远程登录会话维护方法、远程登录代理和计算机网络系统

Publications (3)

Publication Number Publication Date
JP2007157148A JP2007157148A (ja) 2007-06-21
JP2007157148A6 true JP2007157148A6 (ja) 2007-09-13
JP5039915B2 JP5039915B2 (ja) 2012-10-03

Family

ID=38120097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006325674A Expired - Fee Related JP5039915B2 (ja) 2005-12-02 2006-12-01 telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法

Country Status (3)

Country Link
US (1) US20070130346A1 (ja)
JP (1) JP5039915B2 (ja)
CN (1) CN1980232A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2141894A1 (de) * 2008-06-30 2010-01-06 Siemens Aktiengesellschaft Verfahren zur gesicherten Übermittlung von Daten in einem mehrere vernetzte Rechnereinheiten umfassenden Automatisierungssystem, Computerprogramm und Automatisierungssystem
US8762549B2 (en) * 2010-01-18 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) System and method for IPTV node recovery
JP5091273B2 (ja) * 2010-04-23 2012-12-05 株式会社エヌ・ティ・ティ・ドコモ 通信端末及びアプリケーション制御方法
US8375123B2 (en) 2010-05-04 2013-02-12 International Business Machines Corporation Remote session management
US9384198B2 (en) 2010-12-10 2016-07-05 Vertafore, Inc. Agency management system and content management system integration
US9747556B2 (en) 2014-08-20 2017-08-29 Vertafore, Inc. Automated customized web portal template generation systems and methods
CN105553763A (zh) * 2015-12-10 2016-05-04 山东中创软件商用中间件股份有限公司 一种基于网络的检测方法及系统
CN107566453B (zh) * 2017-08-03 2021-02-09 广州视源电子科技股份有限公司 服务发现方法、装置、计算机可读存储介质和计算机设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881239A (en) * 1995-01-23 1999-03-09 Tandem Computers Incorporated Network system with resilient virtual fault tolerant sessions
US5754752A (en) * 1996-03-28 1998-05-19 Tandem Computers Incorporated End-to-end session recovery
US6212175B1 (en) * 1997-04-22 2001-04-03 Telxon Corporation Method to sustain TCP connection
US6108300A (en) * 1997-05-02 2000-08-22 Cisco Technology, Inc Method and apparatus for transparently providing a failover network device
US5928363A (en) * 1997-08-27 1999-07-27 International Business Machines Corporation Method and means for preventing unauthorized resumption of suspended authenticated internet sessions using locking and trapping measures
US6185695B1 (en) * 1998-04-09 2001-02-06 Sun Microsystems, Inc. Method and apparatus for transparent server failover for highly available objects
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6470390B1 (en) * 1999-06-29 2002-10-22 Cisco Technology, Inc. Method and apparatus for a dual connection communication session
JP2001101109A (ja) * 1999-09-30 2001-04-13 Fujitsu Ltd ネットワークにおける通信制御方法
US7149803B2 (en) * 2000-06-08 2006-12-12 At&T Corp. Method for content distribution in a network supporting a security protocol
US6436058B1 (en) * 2000-06-15 2002-08-20 Dj Orthopedics, Llc System and method for implementing rehabilitation protocols for an orthopedic restraining device
US6950947B1 (en) * 2000-06-20 2005-09-27 Networks Associates Technology, Inc. System for sharing network state to enhance network throughput
AU2001285023A1 (en) * 2000-08-17 2002-02-25 Mobileum, Inc. Method and system for wireless voice channel/data channel integration
US6934875B2 (en) * 2000-12-29 2005-08-23 International Business Machines Corporation Connection cache for highly available TCP systems with fail over connections
US7562146B2 (en) * 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
JP3782981B2 (ja) * 2002-04-26 2006-06-07 インターナショナル・ビジネス・マシーンズ・コーポレーション セッション中継システム、クライアント端末、セッション中継方法、リモートアクセス方法、セッション中継プログラム及びクライアントプログラム
CN100463469C (zh) * 2002-10-25 2009-02-18 国际商业机器公司 在多通道上共享应用程序会话信息的方法、装置和系统
US7403995B2 (en) * 2003-01-08 2008-07-22 Outhink, Inc. Symmetrical bi-directional communication
US20040168052A1 (en) * 2003-02-25 2004-08-26 Clisham Allister B. Electronic content communication system and method
US8788674B2 (en) * 2005-01-12 2014-07-22 Blue Coat Systems, Inc. Buffering proxy for telnet access
US7565395B2 (en) * 2005-02-01 2009-07-21 Microsoft Corporation Mechanism for preserving session state when using an access-limited buffer
US20060294366A1 (en) * 2005-06-23 2006-12-28 International Business Machines Corp. Method and system for establishing a secure connection based on an attribute certificate having user credentials
US7757239B2 (en) * 2005-08-29 2010-07-13 Sap Ag Systems and methods for suspending and resuming of a stateful web application

Similar Documents

Publication Publication Date Title
JP5039915B2 (ja) telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法
US6687817B1 (en) Configuration of a network device via the network
US8645556B1 (en) Method and system for reducing memory used for idle connections
JP2007157148A6 (ja) telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法
US8316139B2 (en) Systems and methods for integrating local systems with cloud computing resources
US8438254B2 (en) Providing distributed cache services
JP3777302B2 (ja) 通信振り分け制御装置、および通信振り分けプログラムを記憶した記憶媒体
JP2010506244A (ja) ブラウザを使用するインスタントメッセージング
US6907463B1 (en) System and method for enabling file transfers executed in a network environment by a software program
US7089311B2 (en) Methods, systems and computer program products for resuming SNA application-client communications after loss of an IP network connection
US7688719B2 (en) Virtualization and high availability of network connections
US20090144817A1 (en) Techniques for high availability of virtual private networks (vpn's)
JPH1069449A (ja) サーバとクライアントとの間のセッションを回復するための装置および方法
JP2009093656A (ja) シームレスなホスト移行のためのシステムおよび方法
JP2002157218A (ja) 同時に複数のユーザによってデータ・ストリームにアクセスするための装置及び方法
CN110661858A (zh) 基于websocket的内网穿透方法及系统
CN112565372A (zh) 一种网络隔离时虚拟机与客户机的通信方法及系统
US5894547A (en) Virtual route synchronization
US7640580B1 (en) Method and apparatus for accessing a computer behind a firewall
KR101432326B1 (ko) 호스트 가장 네트워크 디바이스 및 그의 방법
KR100383490B1 (ko) 고가용성 네트워크 구현방법
JP3709319B2 (ja) 端末からホストコンピュータへの再接続方法
CN114422428A (zh) 服务节点的重启方法、装置、电子设备及存储介质
US7734790B1 (en) Proactive delivery of messages behind a network firewall
CN114338633B (zh) 一种远程连接Linux服务器的方法及系统