JPH10320322A - 通信方法、通信装置、プロトコル・インターセプタおよびコンピュータ可読記憶媒体 - Google Patents

通信方法、通信装置、プロトコル・インターセプタおよびコンピュータ可読記憶媒体

Info

Publication number
JPH10320322A
JPH10320322A JP10108841A JP10884198A JPH10320322A JP H10320322 A JPH10320322 A JP H10320322A JP 10108841 A JP10108841 A JP 10108841A JP 10884198 A JP10884198 A JP 10884198A JP H10320322 A JPH10320322 A JP H10320322A
Authority
JP
Japan
Prior art keywords
segment
data stream
computer
protocol data
terminal emulator
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
JP10108841A
Other languages
English (en)
Other versions
JP2986097B2 (ja
Inventor
Barron Cornelius Housel Iii
バロン・コーネリアス・ハウセル・サード
David Bruce Lindquist
デイビッド・ブルース・リンクィスト
Ajamu Akinwumi Wesley
アジャム・アキンウミ・ウェスレイ
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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH10320322A publication Critical patent/JPH10320322A/ja
Application granted granted Critical
Publication of JP2986097B2 publication Critical patent/JP2986097B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the program performs an input/output emulation function
    • G06F13/107Terminal emulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 第1のコンピュータに常駐する端末エミュレ
ータ・アプリケーションの通信のパフォーマンスを向上
させ、外部通信リンク上で端末エミュレータ・プロトコ
ルを使って第1のコンピュータから離れた第2のコンピ
ュータに常駐するホスト・アプリケーションと通信する
方法および装置を提供すること。 【解決手段】 外部通信リンクのホスト側と端末エミュ
レータ・アプリケーション側の両方にプロトコル・イン
ターセプタが提供されて、対応する端末エミュレータ・
プロトコル・データ・ストリームと比較して削減された
送信データ量を含む細分化通信プロトコル・データ・ス
トリームを使って外部通信リンク上で通信が行われる。
細分化通信プロトコル・データ・ストリームの量の削減
はホスト・アプリケーションによってすでに送信されて
いるデータ・セグメントの認識および差し替えに基づ
く。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はホスト・アプリケー
ションと端末間の通信に関する。より詳細に言えば、本
発明は2台のコンピュータ、すなわち、ホスト・アプリ
ケーションを実行中のコンピュータと端末エミュレータ
・アプリケーションを実行中のコンピュータ間の低速ま
たは無線通信リンク経由の通信に関する。
【0002】
【従来の技術】従来のメインフレーム・コンピュータの
構成は、コンピュータ端末をメインフレーム・コンピュ
ータの各ポートへケーブルで直結する方式のユーザ・イ
ンタフェースをサポートしていた。この種の端末の例と
して、Telnetプロトコルを使用してメインフレー
ム(またはホスト)と通信できるIBM 3270また
はIBM 5250タイプの端末がある。IBM 32
70またはIBM 5250などの端末用のTelne
tプロトコルは通常は一連の制御文字、いくつかの連続
して送信される制御文字を含むデータ・ストリームを備
えた表示可能な文字ブロック、表示可能な文字ブロック
を使ったデータ・ストリームのグループ構成をサポート
する。
【0003】コンピュータ技術の進歩に伴い、通常はい
くつかの比較的処理能力が低い端末を備えた中央処理装
置からネットワーク接続されたプロセッサの分散環境へ
と処理能力が進歩している。処理能力のこの変化の例と
してはそれぞれのワ−クステーションが相当の独立した
処理能力を備えた個々のネットワークを相互接続するロ
ーカルまたはワイド・エリア・ネットワークがある。こ
の変化はまたルータなどの装置によって多数のプロセッ
サおよびプロセッサのネットワークを相互接続するイン
ターネットの人気にもみてとれる。上記の分散環境への
移行傾向にもかかわらず、リモート端末を備えたメイン
フレーム・コンピュータを利用する中央処理は今日のコ
ンピュータ技術において依然として重要な部分である。
このように、メインフレーム・コンピュータはネットワ
ーク接続環境において一定の役割を果たし続けている。
したがって、Telnetプロトコルなどの構造化プロ
トコルは依然として使用されている。これらのアプリケ
ーションはネットワークを介してユーザと通信を行い、
IBM3270などの端末、またはこれとは別に、コン
ピュータを端末として使用できる端末エミュレータとし
て知られるソフトウェア・アプリケーションを実行する
マイクロプロセッサ・ベースのワークステーションへ情
報を伝達することができる。
【0004】その処理能力がますます分散されるにつれ
て、モービル・コンピュータの人気はますます高まって
きている。ラップトップ、ノートブック、パーソナル・
ディジタル/通信アシスタント(PDA/PCA)およ
びその他のポータブル装置のしようは無線通信の需要の
増加に拍車をかけた。無線通信によってユーザは無線通
信環境の中で自由に移動しながらネットワークに「接
続」された状態を保てる。さらに、ネットワークへの無
線接続によってポータブル・プロセッサのユーザはドッ
キング局への接続またはその他のネットワークへの「有
線接続」なしにネットワークに接続するという便宜を享
受できる。しかし、無線ワイド・エリア・ネットワー
ク、セルラー通信、およびパケット無線通信は通信バイ
トあたりのコスト高、応答時間の遅さ、狭い帯域幅、通
信の信頼性のなさといったすべて無線技術を使用するこ
とを阻害する共通の限界に直面している。
【0005】ポータブル処理の領域外でさえ、無線通信
はますます人気を博している。このように、インフラス
トラクチャの未整備、コスト高、または利便性の結果と
して、そこに通信を確立したい2つの装置をリンクする
「ネットワーク」に無線ネットワークリンクのような低
スループットのコンポーネントが含まれることがますま
す頻繁に起こっている。
【0006】端末(または端末エミュレータ)からホス
トへの通信が特にスループットが低い無線レグ(または
帯域幅の有効利用が制限されている極度に輻輳している
レグ)のようなネットワークレグでは通常は不利にな
り、帯域幅の制約が端末エミュレータとホスト・アプリ
ケーション間の通信での応答時間の遅さを引き起こして
いる。極端な話、プロトコル・タイムアウトによって伝
送エラーが発生し、その結果としてデータを再送したり
通信システムが動作不能になることもある。このよう
に、端末エミュレータまたはその他の構造タイプ・デー
タ・プロトコルを用いた無線技術またはすべての低速通
信技術の活用で無線技術の弱点がますますさらけ出され
ることになる。
【0007】
【発明が解決しようとする課題】上記の制約に鑑みて、
本発明の目的の1つは、無線通信などの低速通信環境に
おいて端末エミュレータ・アプリケーションおよび端末
のインストールされたユーザ・ベースを利用することで
ある。
【0008】本発明の別の目的は、端末エミュレータ・
アプリケーションの修正を必要とすることなく、低速無
線通信システムで既存の端末エミュレータを使用するこ
とである。
【0009】本発明のさらに別の目的は、外部通信リン
ク全体にわたって伝送データの量を削減して通信システ
ムのパフォーマンスを向上させる方法を提供することで
ある。
【0010】
【課題を解決するための手段】上記の目的およびその他
の目的に照らして、本発明は第1のコンピュータに常駐
し、端末エミュレータ・プロトコルを使って第1のコン
ピュータから離れた第2のコンピュータの常駐するホス
ト・アプリケーションと通信する端末エミュレータ・ア
プリケーションのパフォーマンスを向上させる方法、シ
ステム、およびコンピュータ・プログラム・プロダクト
を提供することである。第1のコンピュータ上の端末エ
ミュレータ・アプリケーションと第2のコンピュータ上
のホスト・アプリケーション間の通信の少なくとも1つ
のセグメントが外部通信リンク上で発生する。この方法
はホスト・アプリケーションからの端末エミュレータ・
プロトコル・データ・ストリームをインターセプトし、
そのデータ・ストリームを細分化通信プロトコル・デー
タ・ストリームに変換する端末エミュレータ・データ・
ストリーム細分化システムによって通信パフォーマンス
を向上させる。細分化通信プロトコル・データ・ストリ
ームでは、ホスト・アプリケーションによってすでに送
信されているデータ・セグメントの認識および差し替え
に基づいて送信データの量が削減されている。第1のコ
ンピュータでの受信側でのインターセプト・システムは
送信された細分化通信プロトコル・データ・ストリーム
を受信し、細分化通信プロトコル・データ・ストリーム
から端末エミュレータ・プロトコル・データ・ストリー
ムを再構築する。再構築された端末エミュレータ・プロ
トコル・データ・ストリームは端末エミュレータ・アプ
リケーションに提供される。外部通信リンクの両端でプ
ロトコル変換を行うことで端末エミュレータ・アプリケ
ーションおよびホスト・アプリケーションは本発明が提
供するプロトコル細分化変換を認識する必要なしに既存
の端末エミュレータ・プロトコルを使って動作を続行で
きる。
【0011】本発明の一実施形態では、外部通信リンク
が無線通信リンクである。
【0012】第1のコンピュータに常駐するキャッシュ
と第2のコンピュータに常駐するキャッシュを使用する
本発明の別の実施形態は、ホスト・アプリケーションか
らの端末エミュレータ・プロトコル・データ・ストリー
ムをセグメント化する手順を含む。最初の送信セグメン
トに関連付けられた標識が第2のコンピュータに常駐す
るキャッシュに記憶される。端末エミュレータ・プロト
コル・データ・ストリームからの第1の送信セグメント
は、セグメントが第1のコンピュータに常駐するキャッ
シュに記憶されたセグメントに対応する場合は細分化通
信プロトコル・データ・ストリームのセグメントの識別
子と差し替えられ、これによって細分化通信プロトコル
・データ・ストリームを提供する。そうでない場合、識
別子ではなく第1の送信セグメントが細分化通信プロト
コル・データ・ストリームに含まれ、セグメントが第1
のコンピュータに常駐するキャッシュに記憶されたセグ
メントに対応しない場合は第1の送信セグメントに関連
付けられた標識が第2のコンピュータに常駐するキャッ
シュに記憶される。
【0013】第1のコンピュータ(または通信の端末エ
ミュレータ・アプリケーション側)で、受信済みの送信
された細分化通信プロトコル・データ・ストリームは外
部通信リンクのホスト・アプリケーションでのセグメン
ト化で提供される端末エミュレータ・プロトコル・デー
タ・ストリームのセグメントに対応するセグメントにセ
グメント化される。受信したセグメントが第1のコンピ
ュータに常駐するキャッシュに記憶されたセグメントに
対応しない場合、受信したセグメントは第1のコンピュ
ータに常駐するキャッシュに記憶される。受信したセグ
メントが第1のコンピュータに常駐するキャッシュに記
憶されたセグメントに対応する場合、受信したセグメン
ト(すなわち識別子)は関連付けられた送信セグメント
の識別子に対応する第1のコンピュータに常駐するキャ
ッシュからの記憶されたセグメントと差し替えられ、こ
れにょって送信された細分化通信プロトコル・データ・
ストリームから端末エミュレータ・プロトコル・データ
・ストリームを再構築する。本発明の一実施形態では、
計算された識別子および第2のコンピュータに常駐する
キャッシュに記憶された標識は同じ値である。別の実施
形態では、第2のコンピュータに常駐するキャッシュに
記憶された標識は送信セグメントそれ自体である。
【0014】本発明の別の実施形態では、制御フィール
ドが外部通信リンクの第2のコンピュータ側の送信セグ
メントに関連付けられている。関連付けられた送信セグ
メントが第1のコンピュータに常駐するキャッシュに記
憶されたセグメントに対応しない場合、この制御フィー
ルドが設定されて新しいセグメントを表す。関連付けら
れた送信セグメントが第1のコンピュータに常駐するキ
ャッシュに記憶されたセグメントに対応する場合、この
制御フィールドが設定されて記憶されたセグメントを表
す。この制御フィールドは外部通信リンクで送信される
細分化通信プロトコル・データ・ストリームに組み込ま
れる。外部通信リンクの第1のコンピュータ側では、制
御フィールドが受信済みの送信された細分化通信プロト
コル・データ・ストリームから読み出され、対応する第
1の送信セグメントの制御フィールドのタイプする関連
付けられたセグメントが新しいセグメントを表すかどう
か判定される。
【0015】本発明の一実施形態では、識別子が巡回冗
長符号を使って関連付けられた送信セグメントから計算
される。本発明の別の実施形態では、端末エミュレータ
・アプリケーション・プロトコルはTelnetプロト
コルである。
【0016】別の実施形態では、本発明は第1のコンピ
ュータ端末エミュレータ・アプリケーションから第2の
コンピュータ・ホスト・アプリケーションへのデータ・
ストリームのプロトコル変換をさらに含む。端末エミュ
レータ・アプリケーションからの端末エミュレータ・プ
ロトコル・データ・ストリームはインターセプトされて
から外部通信リンク上で送信される。このデータ・スト
リームにはキャッシュ同期化に関する情報を含む制御フ
ィールドが追加される。この制御フィールドを含むデー
タ・ストリームは外部通信リンク上で第1のコンピュー
タから第2のコンピュータへ送信される。本発明の別の
態様では、端末エミュレータ・アプリケーションからの
端末エミュレータ・プロトコル・データ・ストリーム
は、ホスト・アプリケーションによってすでに送信され
ているデータ・セグメントの認識および差し替えに基づ
いて送信データの量が削減されている細分化通信プロト
コル・データ・ストリームへ変換される。細分化通信プ
ロトコル・データ・ストリームは外部通信リンク上で第
1のコンピュータから送信され、第2のコンピュータで
受信される。次に、受信された細分化通信プロトコル・
データ・ストリームから端末エミュレータ・プロトコル
・データ・ストリームが再構築され、ホスト・アプリケ
ーションに提供される。
【0017】本発明の別の態様では、第2のコンピュー
タに常駐するホスト・アプリケーションによって外部通
信リンク上の通信のパフォーマンスを向上させ、端末エ
ミュレータ・プロトコルを使って第1のコンピュータか
ら離れた第2のコンピュータに常駐する端末エミュレー
タ・アプリケーションと通信する方法、システムおよび
コンピュータ・プログラム・プロダクトが提供される。
ホスト・アプリケーションからの端末エミュレータ・プ
ロトコル・データ・ストリームはインターセプトされて
から外部通信リンク上で送信される。このインターセプ
トされたデータ・ストリームは、ホスト・アプリケーシ
ョンによってすでに送信されているデータ・セグメント
の認識および差し替えに基づいて送信データの量が削減
されている細分化通信プロトコル・データ・ストリーム
へ変換される。細分化通信プロトコル・データ・ストリ
ームは外部通信リンク上で送信される。
【0018】本発明によってさらに第1のコンピュータ
から離れた第2のコンピュータに常駐する端末エミュレ
ータ・アプリケーションと通信する方法、システムおよ
びコンピュータ・プログラム・プロダクトが提供され
る。送信された細分化通信プロトコル・データ・ストリ
ームは第1のコンピュータで受信される。受信された細
分化通信プロトコル・データ・ストリームは、発信側で
あるホスト・アプリケーションによってすでに送信され
ているデータ・セグメントの認識および差し替えに基づ
いて削減された送信データを含む。受信された細分化通
信プロトコル・データ・ストリームから端末エミュレー
タ・プロトコル・データ・ストリームが再構築され、ホ
スト・アプリケーションに提供される。
【0019】当業者には理解されるように、本発明の上
記の態様は装置またはコンピュータ・プロダクトが読み
取れるプログラム手段としても提供できる。
【0020】
【発明の実施の形態】好ましい実施形態を示す添付の図
面に関して以降に本発明を詳述する。ただし、本発明は
多くの異なる形式で具体化することができ、本明細書に
記載された実施形態に限定されると解釈してはならな
い。むしろ、本実施形態を記載した目的は、本開示にも
れがなく、当業者に本発明の範囲を完全に伝えることで
ある。明細書では図中の番号をそのまま使用している。
当業者には明らかなように、本発明は方法または装置の
形式で具体化できる。したがって、本発明は完全にハー
ドウェアの実施形態、完全にソフトウェアの実施形態、
またはソフトウェアとハードウェアの態様を組み合わせ
た実施形態の形式をとることができる。
【0021】図2ないし図5は本発明による方法および
システムの流れ図である。これらの流れ図の各ブロック
およびブロックの組み合わせをコンピュータ・プログラ
ム命令によって実施できることが理解されよう。これら
のコンピュータ・プログラム命令はコンピュータその他
のプログラマブル装置にロードして装置を製造でき、こ
れによってコンピュータその他のプログラマブル装置上
で実行される命令が流れ図の1つまたは複数のブロック
に指定された機能を実施する手段を生成できるようにす
る。これらのコンピュータ・プログラム命令はコンピュ
ータその他のプログラマブル装置を一定の方法、すなわ
ち、コンピュータ可読メモリに記憶された流れ図の1つ
または複数のブロックに指定された機能を実施する命令
手段を含む製品を製造する方法で動作させることができ
る。またコンピュータ・プログラム命令は、コンピュー
タその他のプログラマブル装置にロードしてコンピュー
タその他のプログラマブル装置上で一連の動作ステップ
を実行させて、コンピュータその他のプログラマブル装
置上で実行される命令が流れ図の1つまたは複数のブロ
ックに指定された機能を実施するステップを提供するコ
ンピュータが実施する処理を生成することができる。
【0022】したがって、流れ図の各ブロックは指定さ
れた機能を実行する手段の組み合わせと指定の機能を実
行するステップの組み合わせをサポートする。また、流
れ図の各ブロックとブロックの組み合わせが指定の機能
またはステップを実行する専用のハードウェア・ベース
のコンピュータ・システム、もしくは専用のハードウェ
アおよびコンピュータ命令によって実施できることが理
解されよう。
【0023】図1に本発明の一実施形態を示す。図1か
らわかるように。本発明による装置10は外部通信リン
ク32、34で接続された第1のコンピュータ20およ
び第2のコンピュータ30を含む。図1に示すように、
外部通信リンクは第1のコンピュータ20から第2のコ
ンピュータ30へのリンク32と、第2のコンピュータ
30から第1のコンピュータ20へのリンク34を含
む。外部通信リンク32、34は任意のタイプでかまわ
ないが、外部通信リンク34と外部通信リンク32が少
なくとも無線外部通信リンクのような低速通信レグを含
む場合に本発明の利点は最も顕著になる。また、外部通
信リンク32、34が通常は図1の2つの単方向回線3
2、34として別々に示される両方向通信を行う物理回
線または無線チャンネルでであるということを理解され
たい。したがって、第1のコンピュータ20と第2のコ
ンピュータ30の間の外部通信リンクは本明細書では原
則的に番号34で参照する。
【0024】図1に示すように、第1のコンピュータ2
0は端末エミュレータ・アプリケーション36を含む。
端末エミュレータ・アプリケーション36は第1のコン
ピュータ20上で実行されるアプリケーション・レベル
のプログラムであるか、汎用のコンピュータ上で実行さ
れるアプリケーションではなくIBM3270のような
端末である。図1に示す実施形態の第1のコンピュータ
20にはキャッシュ38とクライアント・プロトコル・
インターセプト(変換アプリケーション)40が含まれ
る。端末エミュレータ・アプリケーション36が端末の
場合、キャッシュ38とインターセプタ40は同じコン
ピュータ20に端末エミュレータ・アプリケーション3
6として常駐するのではなく別々のコンポーネント内に
組み込むことができる。
【0025】ホスト・アプリケーション42は第2のコ
ンピュータ30上で実行されるアプリケーション・プロ
グラムである。図1の実施形態に示すように、第2のコ
ンピュータ30はキャッシュ44とサーバ・プロトコル
・インターセプト(変換アプリケーション)46をさら
に含む。単一のコンピュータとして示されている第2の
コンピュータ30は、ホスト・アプリケーション42で
使用するインターセプト46、キャッシュ44またはこ
れらのどの位置の組み合わせのうちの個別のシステムで
あっても、図1に示すように機能的にこの3者が相互接
続されている限り、このシステムでホスト・アプリケー
ション42と機能的に相互接続された複数のコンピュー
タでもあってもよいということを理解されたい。
【0026】さらに、インターセプタ40、キャッシュ
38、インターセプタ46およびキャッシュ44がそれ
ぞれコンピュータ20とコンピュータ30の一部として
示されているが、当業者には明らかなように、これらの
コンポーネントはコンピュータ20およびコンピュータ
30から独立させることができる。本発明によるこの実
施形態は通信リンク32、34が細分化機能を備えた複
数のリンクを含む場合に特に有用である。この場合、イ
ンターセプタおよびキャッシュ・コンポーネントは通信
リンクの低速部分のいずれの側に置いてもよく、通信リ
ンクの低速部分の本発明による動作を実行し、一方で既
存のデータ・ストリームを使って残りのリンクを運用す
ることができる。
【0027】本明細書で使用する「キャッシュ」という
用語は当業者に周知のRAM、EEPROM、DRA
M、シフト・レジスタその他の記憶手段などの記憶装置
をさす。また当業者には明らかなように、キャッシュ3
8とキャッシュ44はハード・ディスク、リード/ライ
トCD−ROM、光ディスク、またはその他の記憶装置
などの大容量記憶装置で実施することもできる。
【0028】本明細書で使用する「端末エミュレータ・
アプリケーション」という用語は端末エミュレータ・プ
ロトコルを使って外部通信リンク上で通信するIBM3
270またはその他の装置のようなコンピュータまたは
スタンドアロン端末に常駐するアプリケーションをさ
す。
【0029】本明細書で使用する「端末エミュレータ・
プロトコル」という用語は構造化されセグメント化が可
能なデータ・グループと、アプリケーション間で送受信
される一定量の反復使用されるデータを含む2つのアプ
リケーションまたは装置間の通信に使用されるプロトコ
ルをさす。端末エミュレータ・プロトコルの代表例はI
BM3270端末(または端末エミュレータ)装置とホ
スト間の通信に使用されるTelnet3270のよう
な端末通信プロトコルである。Telnetプロトコル
は通常は一連の制御文字と、それに続くこの制御文字の
ブロックに一定の方法で関連付けられた表示可能な文字
のそれぞれのシーケンシャルなグループ分けをした表示
可能な文字を含む。また、端末エミュレータ・プロトコ
ルはすべてのレベルの通信の通信プロトコルを規定して
はいないことが理解されよう。例えば、TCPおよびI
Pレイヤに別の通信プロトコル規則が適用されるTCP
/IPタイプのネットワーク上でも通信が可能である。
ただし、本発明の開示に関してはプロトコルの低位レイ
ヤは考慮しないし論じることもない。
【0030】端末エミュレータ・アプリケーション36
およびホスト・アプリケーション42は外部通信リンク
34上で端末エミュレータ・プロトコルを使って通信を
行う。通信は端末エミュレータ・アプリケーション36
とホスト・アプリケーション42の間で連続または断続
的に実行され、所与の端末エミュレータ・アプリケーシ
ョン36とホスト・アプリケーション42の間でセッシ
ョンを終了し、後に再開することができる。動作時に
は、ホスト・アプリケーション42は通常は端末エミュ
レータ・プロトコル・データ・ストリームを出力し、こ
のデータ・ストリームが外部通信リンク34上で送信さ
れる前にホスト側のプロトコル・インターセプタ46ま
たはホスト・アプリケーションからの端末エミュレータ
・プロトコル・データ・ストリームをインターセプトす
るその他の手段によってインターセプトされる。次にホ
スト・プロトコル・インターセプタ46は端末エミュレ
ータ・プロトコル・データ・ストリームを細分化通信プ
ロトコル・データ・ストリームへ変換または変形する。
細分化通信プロトコル・データ・ストリームは該当する
端末エミュレータ・プロトコル・データ・ストリームと
比べて削減された量の送信データを含む。細分化通信プ
ロトコル・データ・ストリームはホスト・アプリケーシ
ョン42によって送信されたデータ・セグメントの認識
および差し替えに基づいているため、この削減が達成さ
れる。プロトコル・インターセプタ46は次に外部通信
リンク34上で細分化通信プロトコル・データ・ストリ
ームを送信する(例えば、細分化通信プロトコル・デー
タ・ストリームを第2のコンピュータ30のTCP/I
Pスタックに提供する方法がある)。
【0031】端末エミュレータ・アプリケーション側の
プロトコル・インターセプタ40は第1のコンピュータ
20で送信された細分化通信プロトコル・データ・スト
リームを受信する。この処理はインターセプタ40を第
1のコンピュータ20のTCP/IPスタックにバイン
ドすることで達成できる。端末エミュレータ・プロトコ
ル・インターセプタ40は送信された細分化通信プロト
コル・データ・ストリームから元の端末エミュレータ・
プロトコル・データ・ストリームを再構築し、その再構
築した端末エミュレータ・プロトコル・データ・ストリ
ームを端末エミュレータ・アプリケーション36に提供
する。
【0032】したがって、ホスト・アプリケーション4
2および端末エミュレータ・アプリケーション36は端
末エミュレータ・プロトコルだけを使って動作すればよ
い。これは細分化通信プロトコル・データ・ストリーム
がホスト・アプリケーション42および端末エミュレー
タ・アプリケーション36にとって透過的であることに
よる。本発明による動作を示す流れ図に関連して下記に
詳述するように、第1のコンピュータ20のキャッシュ
38と第2のコンピュータ30のキャッシュ44は機能
的に結合され、プロトコル・インターセプタ40、46
が端末エミュレータ・プロトコル・データ・ストリーム
を変換し、再構築する際に使用される。
【0033】上述したように、本発明の一実施形態で
は、外部通信リンク34が無線通信リンクである。この
場合、ユーザが受け入れるシステム・パフォーマンスを
達成するには、通信リンク34上で転送する必要がある
情報量を削減して外部通信リンク34上の通信量を削減
することが望ましい。したがって、本発明は一意的なタ
イプの細分化処理を行って外部通信リンク34上での必
要な通信量を削減するセグメント化およびキャッシング
を含むプロトコル削減技法を含む。本明細書ではプロト
コル削減と呼んでいるが、後述するように、本発明によ
る細分化方法は外部通信リンク34上で送信されるデー
タ量を削減するため、本発明による技法をデータ削減と
呼んでもかまわない。
【0034】本発明による動作を基本的に単一のセッシ
ョンで実行されている単一の端末エミュレータ・アプリ
ケーションと単一のホスト・アプリケーションに関して
述べるが、当業者には明らかで下記に詳述するように、
本発明の利点は時間によって区切られた複数のセッショ
ン間の複数のホスト・アプリケーション42に関連付け
られた複数の端末エミュレータ・アプリケーション36
によっても達成できる。このように、本発明による方
法、装置およびプログラム・プロダクトは複数のセッシ
ョンでの複数の通信に適用できる。
【0035】当業者には明らかなように、第1のコンピ
ュータ20に常駐するキャッシュ38と第2のコンピュ
ータ30に常駐するキャッシュ44は、コンピュータの
特定のハードウェア構成によってサイズを自由に選択で
きる。通信に関する、また特に一実施形態でのこれらの
キャッシュ記憶情報はデータ通信の巡回冗長検査(CR
C)などの通信内容に基づいて一意的な識別子を記憶す
るが、後述するように、キャッシュ38、44はそれぞ
れ対応する受信したセグメント用の記憶された送信セグ
メントに関連付けられた一意的な識別子を提供したり、
セグメントそれ自体の内容を記憶することもできる。キ
ャッシュ・エントリのディレクトリがキャッシュに記憶
された各通信に対して作成される。さらに、所与のあら
ゆるハードウェア構成でリソースが限られているため、
第1のコンピュータおよび第2のコンピュータにキャッ
シュを常駐させる当業者には周知のキャッシング技法を
必要な種類だけ使用できる。このように、例えば、新し
いエントリを追加したためユーザが定義したキャッシュ
・サイズを超過してしまう場合、キャッシュ内の最も古
いディレクトリ・エントリを無効にしてこの無効にした
エントリに代えて新しいエントリを追加することができ
る。さらに、後ほど詳述するように、キャッシュ・エン
トリを複数のセッションにわたり、また第1のコンピュ
ータまたは第2のコンピュータの電源を切った場合でも
保持して永続的なキャッシュを作成できる。
【0036】本発明の一実施形態での通信のホスト・ア
プリケーション側の動作を図2および図3に関して説明
する。より詳細に言えば、図2および図3はホスト・ア
プリケーション側のプロトコル・インターセプタ46
(図2)および端末エミュレータ・アプリケーション側
のプロトコル・インターセプタ40(図3)の動作を示
す流れ図である。
【0037】図2を参照すると、ブロック50で、外部
通信リンク34上での端末エミュレータ・プロトコル・
データ・ストリームの送信前に、インターセプタ46が
端末エミュレータ・アプリケーション36に宛てられた
ホスト・アプリケーション42からの端末エミュレータ
・プロトコル・データ・ストリームをインターセプトす
る。ブロック52で、ホスト・アプリケーション42が
生成し、インターセプトされた端末エミュレータ・プロ
トコル・データ・ストリームは細分化通信プロトコル・
データ・ストリームに変換される。細分化通信プロトコ
ル・データ・ストリームは該当する端末エミュレータ・
プロトコル・データ・ストリームと比べて削減された量
の外部通信リンク34による送信データを含む。細分化
通信プロトコル・データ・ストリームはホスト・アプリ
ケーション42によって送信されたデータ・セグメント
の認識および差し替えに基づいている。ブロック54
で、ブロック52からの細分化通信プロトコル・データ
・ストリームは外部通信リンク34上で第2のコンピュ
ータ30へ送信される。
【0038】図3を参照しながら、端末エミュレータ・
アプリケーション側のインターセプタ40に関する本発
明の一実施形態による動作を説明する。ブロック56
で、プロトコル・インターセプタ46から送信された細
分化通信プロトコル・データ・ストリームが第1のコン
ピュータ20でプロトコル・インターセプタ40によっ
て受信される。ブロック58で、ホスト・アプリケーシ
ョン42が送信元である端末エミュレータ・プロトコル
・データ・ストリームは受信された細分化通信プロトコ
ル・データ・ストリームから再構築される。再構築され
た端末エミュレータ・プロトコル・データ・ストリーム
はブロック60で端末エミュレータ・アプリケーション
36に提供される。
【0039】ホスト・アプリケーションが生成した端末
エミュレータ・プロトコル・データ・ストリームの細分
化通信プロトコル・データ・ストリームへの変換に関す
る動作について図4を参照しながらキャッシュを使用す
る本発明の一実施形態で説明する。ブロック62で、ホ
スト・アプリケーション42からの端末エミュレータ・
プロトコル・データ・ストリームは送信セグメントにセ
グメント化される。端末エミュレータ・プロトコル・デ
ータ・ストリームの意味がある部分へのセグメント化ま
たはチャンキングによって、一般的に端末エミュレータ
・プロトコル・データ・ストリームが連続的であるにも
かかわらず送信データの量の削減が可能になる。ホスト
・アプリケーション42からのデータ・ストリームは識
別されキャッシュに記憶できる意味がある部分にセグメ
ント化され、その後画面または画面の一部などの将来の
データ・ストリーム・シーケンスに「マッチング」され
る。
【0040】ブロック64で、送信セグメントの識別子
が計算される。本発明の一実施形態では、識別子は巡回
冗長検査値を識別子として提供する巡回冗長符号を使っ
て送信セグメントの内容から計算される。巡回冗長検査
値には十分な個数のビットを提供して同一の識別子を備
えた2つの異なるデータ・セグメントが発生する余地を
最小にできる。
【0041】ブロック66で、ホスト・アプリケーショ
ン側のプロトコル・インターセプタ46は送信セグメン
トが第1のコンピュータ20に常駐するキャッシュ38
に記憶されているセグメントに対応するか判定する。こ
の機能は例えばキャッシュ44をキャッシュ38に同期
化するなどの、プロトコル・インターセプタ46をキャ
ッシュ38に機能的に接続する方法で実現できる。この
同期化は対応するセグメントまたはセグメントの標識を
キャッシュ44およびキャッシュ38のそれぞれに記憶
することで実現できる。さらに、キャッシュ38および
キャッシュ44のオーバフローのおそれがあるハードウ
ェア構成では、キャッシュ38およびキャッシュ44の
両方に適用されるエージングおよびセグメント差し替え
論理を用いてキャッシュ44に記憶された標識ごとに、
対応する端末エミュレータ・プロトコル・データ・スト
リームのセグメントがキャッシュ38内に存在するよう
にすることが好ましい。
【0042】送信セグメントが第1のコンピュータ20
に常駐するキャッシュ38に記憶されたセグメントに対
応しない場合、その送信セグメントに関連付けられた標
識がブロック68で第2のコンピュータ30に常駐する
キャッシュ44に記憶され、ブロック70で、制御フィ
ールドが送信セグメントに関連付けられ、設定されて新
しいセグメントを表す。図の実施形態では、新しい標識
がキャッシュ44に記憶されるたびにプロトコル・キャ
ッシュ更新カウンタがカウントアップする。プロトコル
・キャッシュ更新カウンタは第1のコンピュータ20で
保持される対応するプロトコル・キャッシュ更新カウン
タと同期していて、後者のカウンタもキャッシュ44に
新しいエントリがあるとカウントアップする。送信セグ
メントがキャッシュ38に記憶されたセグメントに対応
する場合、ブロック72で、制御フィールドが送信セグ
メントに関連付けられ、設定されて新しいセグメントを
表す。ブロック74で、端末エミュレータ・プロトコル
・データ・ストリームの送信セグメントについて計算さ
れた識別子が細分化通信プロトコル・データ・ストリー
ムの送信セグメントにとって代わり、細分化通信プロト
コル・データ・ストリームを提供する。
【0043】これとは逆に、ブロック66で送信セグメ
ントが新しいセグメントであると判定された場合、ブロ
ック76で識別子ではなく送信セグメント自体が細分化
通信プロトコル・データ・ストリームの該当する場所に
組み込まれる。ブロック76および74で、制御フィー
ルドも細分化通信プロトコル・データ・ストリームに組
み込まれる。
【0044】本発明の一実施形態では、ブロック68で
記憶された標識はCRCなどのブロック64で識別子と
して計算された値と同じである。別の実施形態では、標
識は送信セグメントであって、この場合はキャッシュ4
4およびキャッシュ38が共にさまざまな送信セグメン
トを記憶している。
【0045】本発明の別の実施形態では、送信セグメン
トについてCRCが計算され、新しいセグメントが記憶
されると(ブロック68)、対応するセグメントが記憶
されているキャッシュ内の場所にCRCを関連付けるセ
グメントまたはブロック・アドレス番号を備えたキャッ
シュ・インデックス・ファイルにCRCが関連付けられ
る。セグメントまたはブロック・アドレス番号は将来の
データ送信の識別子として使用され、キャッシュ38と
キャッシュ44の間でセグメントまたはブロック・アド
レス番号が同期化されている限りキャッシュ38の対応
するキャッシュ内の場所への直接のポインタとして機能
する。
【0046】図5を参照しながら、図3のブロック58
のブロック再構築の動作を本発明の一実施形態に関して
詳述する。ブロック80で、第1のコンピュータ20で
受信される送信済みの細分化通信プロトコル・データ・
ストリームは、図4のブロック62の説明のように、プ
ロトコル・インターセプタ40によってホスト・アプリ
ケーション42からの端末エミュレータ・プロトコル・
データ・ストリームのセグメントに対応するセグメント
にセグメント化される。ブロック82で、プロトコル・
インターセプタ40は受信したセグメントが第1のコン
ピュータ20に常駐するキャッシュ38に記憶されたセ
グメントに対応するか判定する。本発明の一実施形態で
は、プロトコル・インターセプタ40は、図4のブロッ
ク70ないし76で説明するように、対応する送信セグ
メントの制御フィールドに対応する受信したセグメント
の制御フィールドが新しいセグメントと記憶されたセグ
メントのどちらを表しているかを判定して受信したセグ
メントが記憶されたセグメントに対応しているか判定す
る。
【0047】受信したセグメントがキャッシュ38に記
憶されたセグメントに対応しない場合、ブロック84
で、新しいセグメントがキャッシュ38に記憶される。
受信したセグメントがブロック82でキャッシュ38に
記憶されたセグメントに対応すると判定された場合、図
4のブロック74で説明したように、受信したセグメン
トはホスト・アプリケーションからの対応するセグメン
トではなく識別子を含む。ブロック86で、識別子は、
データ・セグメントそれ自体の代わりに受信された送信
セグメントの識別子に対応するキャッシュ38の対応す
る記憶されたセグメントと差し替えられる。ホスト・ア
プリケーション42が送信元である端末エミュレータ・
プロトコル・データ・ストリームは、外部通信リンク3
4上で送信されるデータ量を最小化するための識別子の
代わりにデータ・セグメントを挿入して再構築される。
【0048】受信したセグメントが新しい送信セグメン
トの場合、受信したセグメントは(図4のブロック76
で説明したように)識別子ではなくデータ・ストリーム
・セグメントを含むが、受信したセグメントはブロック
88で再構築された端末エミュレータ・プロトコル・デ
ータ・ストリームに含まれる。新しいまたは記憶された
セグメントを表示する制御フィールドを使用する本発明
の一実施形態では、図4のブロック70ないし72で説
明したように、制御フィールドはそれぞれブロック86
と88で再構築された端末エミュレータ・プロトコル・
データ・ストリーム内に組み込まれる前にこのセグメン
トから削除される。
【0049】本発明による動作を外部通信リンク34上
でのホスト・アプリケーション42から端末エミュレー
タ・アプリケーション36への通信に限って図2ないし
図5に関して説明してきたが、外部通信リンク32上で
の端末エミュレータ・アプリケーション36からホスト
・アプリケーション42への通信も本発明によって可能
となることに注意すべきである。端末エミュレータ・ア
プリケーション36からの通信フローは外部通信リンク
32上の送信前にインターセプタ40によってインター
セプトでき、キャッシュ同期化またはプロトコル・イン
ターセプタ40とプロトコル・インターセプタ46の動
作を整合させるためのその他の情報を含む制御フィール
ドを端末エミュレータ・プロトコル・データ・ストリー
ムに追加することができる。これで制御フィールドを含
む端末エミュレータ・プロトコル・データ・ストリーム
をプロトコル・インターセプタ40からプロトコル・イ
ンターセプタ46へ送信できる。制御フィールドはスト
リームをホスト・アプリケーション42へ送信する前に
プロトコル・インターセプタ46によって端末エミュレ
ータ・プロトコル・データ・ストリームから削除され
る。返送データ・ストリームに制御フィールドが追加さ
れ、データ・ストリーム自体は細分化されていない本発
明のこの実施形態の使用例を本発明の永続的キャッシュ
態様に関して以下に説明する。
【0050】端末エミュレータ・アプリケーション36
からホスト・アプリケーション42への端末エミュレー
タ・プロトコル・データ・ストリームが通常はホスト・
アプリケーション42からのフローと比べてデータ・ス
トリーム内のデータ量と反復パターンが少なく、本発明
による細分化方法よりも利点が少ない可能性があるが、
本発明による方法は前述したホスト・アプリケーション
42から端末エミュレータ・アプリケーション36への
フローの説明と同じ形式で両方向のデータ・フローに適
用されるわけではないことを理解されたい。また、端末
エミュレータ・アプリケーション36からホスト・アプ
リケーション42への動作またはフローは第1のコンピ
ュータ20および第2のコンピュータ30に常駐するコ
ンポーネントを逆に読み替えて反対方向の通信に適用す
る以外、図2ないし図5で説明したとおりであることも
理解されたい。
【0051】本発明による動作を詳述するため、Tel
net端末エミュレータ・プロトコルに適用される本発
明の一実施形態での動作について説明する。プロトコル
・インターセプタ46はTelnetの「end of
record」を受信するまでホスト・アプリケーシ
ョン42からTelnetテータ・ストリームを受信す
る。本発明以外に従来のデータ圧縮技術を使用する場
合、本発明による他の処理に先立ってデータ・バッファ
を解凍することが好ましい。プロトコル・インターセプ
タ46は特定のデータ・ストリーム(例:3270また
は5250)を解析することでデータ・ストリームをチ
ャンキングまたはセグメント化する。この処理はデータ
・ストリーム内のデータを走査し非データ要素(セット
・バッファ・アドレス・オーダなど)が検出されたら走
査を中止する方法で実行される。制御バイトとデータ・
バイトを加えた長さが指定の最小値(例:16バイト)
より大きい場合、セグメントが識別される。この最小サ
イズ・チェックによってきわめてサイズが小さいセグメ
ントが送信データの量を相対的に増加させる可能性があ
る識別子にとって代わられることを防止する。この実施
形態の走査方法は行末文字によるテキストの走査と多少
似ている。この実施形態でのセグメント走査は3270
または5250個の「コマンド」にわたることはない。
【0052】本発明の一実施形態では、巡回冗長検査
(CRC)が走査されたセグメントに対して実行され
る。CRCはセグメント・キャッシュ44へのアクセス
に使用される。次にキャッシュが解決される。キャッシ
ュ解決は実行されたCRCキーを使ったキャッシュ44
内のセグメント走査を含む。セグメントが見つかると、
そのキャッシュ・アドレスが返送される。見つからない
場合、セグメントはキャッシュ44に書き込まれる。デ
ータ・セグメントを識別子にマッピングするその他の方
法でも本発明と併用して有効であることを当業者は理解
するであろう。
【0053】別の方法として、従来のデータ圧縮技術
(LZ算術符号化など)を細分化通信プロトコル・デー
タ・ストリームに適用して、第1のコンピュータ20に
該当するデータ解凍インタフェースが提供されている限
り外部通信リンク34上での送信データ量を削減でき
る。
【0054】キャッシュ44にセグメントが存在する場
合(または存在が表示されている場合)、セグメントの
キャッシュ・アドレスのIDまたは制御フィールドから
なる符号化ユニットが出力ストリームとに書き込まれて
外部通信リンク34上で送信される。セグメントがキャ
ッシュ44になかった場合、識別子制御フィールドおよ
び長さフィールド、それに続くセグメントからなる符号
化ユニットが構築される。いずれの場合も、符号化ユニ
ットは細分化通信プロトコル・データ・ストリームの一
部として外部通信リンク34上で送信される。
【0055】端末エミュレータ・アプリケーション・コ
ンポーネント20側では、細分化通信プロトコル・デー
タ・ストリームがTelnetの「end of re
cord」を受信するまで読み出される。プロトコル・
インターセプタ46は符号化ユニットを走査して識別子
がキャッシュ・アドレスを示す場合、キャッシュ38か
ら該当するセグメントを読み出す。識別子が新しいセグ
メント・データを示す場合、符号化されたヘッダと識別
子と長さフィールドは取り除かれセグメントCRCが実
行される。セグメントは次いで、セグメント・キャッシ
ュ38に対するキーとしてCRCを使用してセグメント
・キャッシュ38に書き込まれる。また、CRCがプロ
トコル・インターセプタ46で実行されていたため、C
RCは符号化ヘッダに含まれていた可能性がある。この
場合、CRCはプロトコル・インターセプタ40で実行
されるのでなく読み出すことができる。ただし、CRC
はデータ・セグメントに一意的な識別を保証するため多
数のビットを含む可能性があるため、CRCの送信によ
って本来削減するはずの送信データ・ストリームの量が
増えることがある。次に新しいセグメントがキャッシュ
38に記憶される。セグメント・データは端末エミュレ
ータ・アプリケーション36への端末エミュレータ(T
elnet)データ・ストリームに含まれる。
【0056】上記手順はホスト・アプリケーション42
から端末エミュレータ・アプリケーション36へセッシ
ョンが終了するまで送信される。さらに当業者はプロト
コル・インターセプタ40およびプロトコル・インター
セプタ46がソフトウェア、ハードウェア、またはそれ
らの組み合わせによって実施できることを理解しよう。
【0057】第1のコンピュータまたは第2のコンピュ
ータに特定してキャッシュについて説明してきたが、当
業者には明らかなように、本発明の利点はキャッシュが
コンピュータに常駐せず外部通信リンク上のこのコンピ
ュータと同じ側に存在するだけの場合でも発揮できる。
このように、ハードウェア・キャッシュは、端末エミュ
レータ・アプリケーション・キャッシュ38として機能
し、高速通信リンクで第1のコンピュータ20と接続さ
れている第1のコンピュータ20の外部にあるハードウ
ェア・キャッシュを実施できる。キャッシュが外部通信
リンク34上の第1のコンピュータ20と同じ側に存在
する限り、本発明の利点が発揮できる。ホスト・アプリ
ケーション側のコンピュータ30のキャッシュ44につ
いても同様である。
【0058】キャッシュ・サイズが有限で、通信の対象
のセグメント数によって増減するキャッシュがオーバフ
ローする可能性があるケースについてキャッシュ38お
よびキャッシュ44の保守に関する動作方法を説明して
きたが、古いキャッシュ・エントリを削除して新しいキ
ャッシュ・エントリのスペースを確保する方法は当業者
には周知であり、本明細書には述べる必要がない。例え
ば、先入れ先出しエージングを使用できる。
【0059】永続キャッシュおよびセッションの起動 上記の本発明による細分化システムはデータが正しく転
送され、2つのエンドが同じアルゴリズムでプロトコル
・キャッシュを更新している限り自動的に同期化される
クラインアトおよびサーバ・プロトコル・キャッシュを
提供する。接続が障害またはユーザの要求によって終了
した場合、ユーザは通常新しいセッションをキャッシュ
なしで開始するのではなく前のセッションからのプロト
コル・キャッシュを使ってセッションを開始できるとい
う利点がある(しばしば「コールド」スタートと呼ばれ
る)。以前に設定されたプロトコル・キャッシュ(すな
わち、永続的キャッシュ)を使ってセッションを開始で
きるように、本発明はチェックポイント方法(装置およ
びコンピュータ・プログラム・プロダクト)を提供し
て、新しいセッションが開始する場合(または中断した
セッションが再開される場合)に、クライアント(すな
わち、クライアント・プロトコル・インターセプタ4
0)およびサーバ(すなわち、サーバ・プロトコル・イ
ンターセプタ46)がプロトコル・キャッシュの最近の
コピーを入手できるようにした。本発明によるチェック
ポイント方法は現在のセッションの連続性を損なわずに
チェックポイント同期化を実現する。また、本発明によ
るチェックポイント方法によってチェックポイント手順
に伴う周期とプロトコル・オーバヘッドに関するコスト
を最小化することができる。
【0060】本発明によるチェックポイント方法、装置
およびプログラム・プロダクトを図6ないし図10に関
して説明する。図6に本発明の一実施形態によるチェッ
クポイント生成動作を第1のコンピュータ20の視点か
ら示す。図7に第2のコンピュータ30の視点からチェ
ックポイント生成動作を示す。
【0061】図1および図6を参照して、本発明の一実
施形態による永続的キャッシュ同期化を提供する第1の
コンピュータで実行されるクライアント・プロトコル変
換アプリケーション40の動作を以下に説明する。ブロ
ック100で、第1のコンピュータ20と機能的に関連
付けられたプロトコル・キャッシュ38が設定される。
第1のコンピュータと機能的に関連付けられたプロトコ
ル・キャッシュ38は第1のコンピュータ20で実行さ
れるプロトコル変換アプリケーション40によって使用
され、本発明の端末エミュレータ・データ・ストリーム
細分化システムに関して前述したように外部通信リンク
34上の通信のパフォーマンスを向上させる。ブロック
102で、第1のコンピュータ20で実行されるプロト
コル変換アプリケーション40は新しいチェックポイン
トが必要かどうか判定する。ブロック104で、新しい
チェックポイントが必要な場合、第1のコンピュータの
プロトコル・キャッシュ38は一時キャッシュにコピー
される。チェックポイント要求が第2のコンピュータ3
0へブロック106で送信される。チェックポイントに
使用されるプロトコル・キャッシュの同期化を保証する
ため、チェックポイント要求は第1のコンピュータから
受信したプロトコル・キャッシュ更新カウンタの値を含
む。ブロック106で送信されたチェックポイント要求
に応じた第2のコンピュータ30の動作を図7に関して
以下に説明する。
【0062】ブロック108で、チェックポイント確認
メッセージが第1のコンピュータ20で受信される。チ
ェックポイント確認メッセージは図7に関して以下に説
明する第2のコンピュータ30の動作が正常に実行され
たかどうかによって成功または失敗を表すことができ
る。ブロック108で受信したチェックポイント確認メ
ッセージが成功を表す場合、ブロック110で一時キャ
ッシュが第1のコンピュータのキャッシュに変換され
る。メッセージが失敗を表す場合、一時キャッシュはブ
ロック112で廃棄される。
【0063】図6に関して説明してきた実施形態では第
1のコンピュータ20のチェックポイント・キャッシュ
がまずプロトコル・キャッシュ38をブロック104で
一時キャッシュにコピーし、第2のコンピュータ30か
ら確認メッセージを受信した後で一時キャッシュをブロ
ック110でチェックポイント・キャッシュに変換する
手順で提供されるが、チェックポイント確認メッセージ
の受信に応答してプロトコル・キャッシュ38のコピー
として第1のコンピュータのチェックポイント・キャッ
シュを作成するという異なったシーケンスによっても本
発明の利点は損なわれないことに注意すべきである。例
えば、一時キャッシュへのコピーというブロック104
の動作を行わず、ブロック110の動作にチェックポイ
ント確認メッセージの受信後にプロトコル・キャッシュ
38をチェックポイント・キャッシュに変換する手順を
入れることができる。同期化を確保して第1のコンピュ
ータと第2のコンピュータのそれぞれで作成されるチェ
ックポイント・キャッシュがセッション起動時に通信の
ために使用できる対応するキャッシュを提供するという
保証がある限り、これらの方法のどれも、またその他の
方法も本発明において使用できる。
【0064】第2のコンピュータ30のサーバ・プロト
コル変換アプリケーション46の視点からの本発明の一
実施形態による永続的キャッシュ・チェックポイントの
設定に関する動作を図1および図7に関して説明する。
ブロック114で、第2のコンピュータと機能的に関連
付けられたプロトコル・キャッシュ44が設定される。
第2のコンピュータ30と機能的に関連付けられたプロ
トコル・キャッシュ44は、第1のコンピュータ20と
第2のコンピュータ30の間の通信リンク34上での所
与の通信セッションの間、第1のコンピュータ20と機
能的に関連付けられたプロトコル・キャッシュ38に対
応する。ブロック116で、チェックポイント要求が第
2のコンピュータ30から受信される。図の実施形態で
は第1のコンピュータからのプロトコル・キャッシュ更
新カウンタがチェックポイント要求から読み出され、第
2のコンピュータの現在のプロトコル・キャッシュ更新
カウンタと比較され、アクティブなキャッシュが第1の
コンピュータの一時ファームウェアにコピーされたキャ
ッシュと一致することが保証される。チェックポイント
要求に応答して、第2のコンピュータ30のプロトコル
・キャッシュ44がコピーされて第2のコンピュータ3
0のチェックポイント・キャッシュが提供される。ブロ
ック120で、第2のコンピュータ30はブロック11
8のコピー動作に応答して第1のコンピュータ20へチ
ェックポイント確認メッセージを送信する。2つのチェ
ックポイント・キャッシュが第2のコンピュータ30で
保守されてチェックポイント確認メッセージが第1のコ
ンピュータ20で受信されることがないようにするのが
好ましい。
【0065】図6のブロック102ないし112で説明
した動作は、図7のブロック116ないし120の対応
する動作と共に、セッションが中断した場合に再起動に
使用する第1のコンピュータ20および第2のコンピュ
ータ30が利用できる該当するプロトコル・キャッシュ
38、44を通信セッションのチェックポイントに提供
する。これらのチェックポイント生成動作は図10に関
して詳述するように定期的に反復することが好ましい。
【0066】本発明の一実施形態では、ブロック120
でのチェックポイント確認メッセージの送信に関する動
作は、第2のコンピュータのチェックポイント・キャッ
シュがブロック118のコピー動作によってエラーなし
に提供されたかを判定する手順を含む。第2のコンピュ
ータ30のチェックポイント・キャッシュがを提供する
際にエラーがなかった場合、成功を表すチェックポイン
ト確認メッセージが送信される。エラーがあった場合、
ブロック120で失敗を表すチェックポイント確認メッ
セージが送信される。第1のコンピュータからチェック
ポイント要求と共に受信したプロトコル・キャッシュ更
新カウンタと第2のコンピュータの現在のプロトコル・
キャッシュ更新カウンタの値が一致しない場合、エラー
として処理され、チェックポイント確認メッセージには
失敗が表示される。
【0067】プロトコル・キャッシュをコピーして第2
のコンピュータでのチェックポイント・キャッシュを提
供する動作(ブロック118)を図8を参照しながら本
発明の一実施形態について説明する。ブロック122に
おいて、第2のコンピュータ30に関連づけられたチェ
ックポイント・スロットが割り振られる。チェックポイ
ント・スロットの最大数を第2のコンピュータ30に割
り振ることができる。この場合、チェックポイント・ス
ロットは再使用され、新しいチェックポイントが作成さ
れると最も古いチェックポイントが削除されることが好
ましい。図8の実施形態に関して、第1のコンピュータ
20または第2のコンピュータ30のいずれかのキャッ
シュ、すなわち、アクティブ制御キャッシュ38、44
またはチェックポイント・キャッシュがインデックス・
ファイルおよびデータ・ファイルを含む。ブロック12
4で、プロトコル・キャッシュ44が一時ファイルにコ
ピーされる。メモリ活用のため、アクティブ・キャッシ
ュ・ファイルをディスクにフラッシュしてアクティブ・
ファイルを新しいチェックポイント・ファイルにコピー
して新しいチェックポイント・キャッシュを作成するこ
とができる。ブロック122で、例えば割り振りスロッ
トの周期的ローテーションによって、好ましくはチェッ
クポイントを確認するたびに増加する永続的な番号(3
1ビットの整数など)を単調に増加させることによっ
て、チェックポイントとの対応のためのチェックポイン
ト識別子番号がブロック124で設定される。これによ
ってチェックポイント識別子は図8の動作の第2のコン
ピュータで作成されている新しいチェックポイント・キ
ャッシュに関連付けられたチェックポイントの一意的な
識別子になる。ブロック124からの一時チェックポイ
ント・ファイルはブロック126で割り当てられたチェ
ックポイント・スロット番号と関連付けるかタグ付けす
ることで永続的になる。ブロック128で、チェックポ
イント識別子は第2のコンピュータのチェックポイント
・キャッシュと関連付けられる。図の実施形態では、こ
の処理は対応するチェックポイント・キャッシュを含む
チェックポイント・スロットにリンクされたチェックポ
イント識別子によってチェックポイント制御ファイルを
更新して新しいチェックポイントを記録することで達成
される。
【0068】チェックポイント識別子が第2のコンピュ
ータのチェックポイント・キャッシュに関連付けられて
いる、図8に関連して記述された本発明の実施形態で
は、チェックポイント確認の送信動作(ブロック12
0)が任意選択としてチェックポイント確認メッセージ
の一部としてチェックポイント識別子番号を含む。また
別に、チェックポイント識別子番号を生成する同じ規則
が第1のコンピュータ20と第2のコンピュータ30で
遵守され、チェックポイント識別子がアクティブな通信
セッションの間、同期状態を保つことを保証できる。
【0069】第2のコンピュータ30でのチェックポイ
ント動作が中断した場合、チェックポイント確認メッセ
ージとして失敗表示が返送される場合がある。例えば、
ホスト・アプリケーション42から緊急のメッセージが
送信され、第2のコンピュータ30のプロトコル・キャ
ッシュ44が第1のコンピュータ20のプロトコル・キ
ャッシュ38がチェックポイントが第1のコンピュータ
20によって起動された時点で保有していたよりも新し
いデータを保有する場合がある。こうした通信セッショ
ン・トラフィック障害は同期外れ状態を引き起こす可能
性があるが、本発明による永続的なキャッシュを提供す
るチェックポイント方法の動作には影響しない。これは
確認され確定されたチェックポイント・ファイルだけが
セッションの起動時や再起動時に使用されるチェックポ
イント・キャッシュとして設定される(ブロック11
0、112)からである。アクティブなプロトコル・キ
ャッシュ・ファイル・コピーが第1のコンピュータ20
と第2のコンピュータ30の両方でデータ・ストリーム
の同じポイントで発生しているはずであるため、チェッ
クポイント・キャッシュは同期化される。
【0070】本発明によれば、クライアント・アプリケ
ーション40またはサーバ・アプリケーション46はチ
ェックポイントが必要であると判定してチェックポイン
トを起動できる(ブロック102)。クライアント・プ
ロトコル変換アプリケーション40がチェックポイント
を起動することが好ましい。端末データ・フローはユー
ザまたは端末アプリケーション36から入力されホスト
・アプリケーション42へ送信されているデータやホス
ト・アプリケーション42から直ちに返送されている応
答によって頻繁に特徴づけられる。ユーザまたは端末ア
プリケーション36はこの場合は通常は次の通信要求を
入力する際に一定の「考慮時間」だけ遅らせる。
【0071】本発明の一実施形態では、第1のコンピュ
ータ20のプロトコル・キャッシュ38はキャッシュ・
インデックス・ファイルおよびキャッシュ・データ・フ
ァイルを含む。この実施形態では、図6のブロック10
4の動作はキャッシュ・インデックス・ファイルおよび
キャッシュ・データ・ファイルのディスクへのフラッシ
ュを含む。次にクライアント・プロトコル変換アプリケ
ーション40はインデックス・ファイルおよびデータ・
ファイルを一時チェックポイント・ファイルへコピーす
る。これらのキャッシュ・ファイルは十分に小さいので
(通常は約1MB)、ファイルの存在はエンド・ユーザ
には認識できない。第1のコンピュータ20のクライア
ント・プロトコル変換アプリケーション40は一時ファ
イルを作成すると、新しいチェックポイントの作成を開
始することができる。この実施形態では、ブロック10
6の送信チェックポイント要求動作はチェックポイント
要求を特殊なタイプの符号化ユニットとしてデータ・ス
トリーム内に挿入する処理を含む。前述したチェックポ
イント標識を使用する本発明の一実施形態では、第1の
コンピュータのチェックポイント・キャッシュがブロッ
ク110で第2のコンピュータの対応するチェックポイ
ント・キャッシュと同じチェックポイント番号で識別さ
れる。
【0072】図1および図9を参照して、第1のコンピ
ュータ20および第2のコンピュータ30のプロトコル
・キャッシュ38、44を設定する動作(それぞれ図6
のブロック100、図7のブロック114)を本発明の
一実施形態による起動の詳細と共に説明する。図9の実
施形態では、第1のコンピュータで実行されているアプ
リケーションはクライアント・プロトコル変換アプリケ
ーション40で、第2のコンピュータで実行されている
アプリケーションはサーバ・プロトコル変換アプリケー
ション46である。ブロック130で、クライアント・
プロトコル変換アプリケーション40は外部通信リンク
34上でサーバ・プロトコル変換アプリケーション46
へ要求を送信して通信セッションを開始する。ブロック
132で、サーバ・プロトコル変換アプリケーション4
6は第2のコンピュータのチェックポイント・キャッシ
ュのチェックポイント識別子をクライアント・プロトコ
ル変換アプリケーション40へ送信する。第2のコンピ
ュータ30から送信されたチェックポイント識別子に対
応する第1のコンピュータ20のチェックポイント・キ
ャッシュは、開始された通信セッションで使用する第1
のコンピュータに機能的に関連付けられたプロトコル・
キャッシュ38としてブロック134で選択される。ブ
ロック136で、肯定応答メッセージがサーバ・プロト
コル変換アプリケーション46へ送信され、開始された
通信セッションで使用するプロトコル・キャッシュとし
てのチェックポイント識別子に対応するチェックポイン
ト・キャッシュの選択を肯定応答する。ブロック138
で確認を受信すると、サーバ・プロトコル変換アプリケ
ーション46は第2のコンピュータ30に機能的に関連
付けられた対応するプロトコル・キャッシュ44として
チェックポイント識別子に関連付けられた第2のコンピ
ュータのチェックポイント・キャッシュを選択する。し
たがって、ブロック138の動作が完了した時点で、第
1のコンピュータ20と第2のコンピュータ30は共に
例として前述のデータ細分化を使用することによって外
部通信リンク34上での通信機能を向上させるのに使用
する同期化されたプロトコル・キャッシュ38、44を
設定している。次に通信セッションはブロック140で
開始し、ホスト・アプリケーション42と端末アプリケ
ーション36の間の通信が実行され、本発明によるデー
タ・ストリーム細分化の態様の利点を享受することがで
きる。
【0073】第1のコンピュータ20と第2のコンピュ
ータ30でプロトコル・キャッシュ38、44を設定す
る動作の別の実施形態では、ブロック130の動作は第
1のコンピュータ20で使用できるチェックポイント・
キャッシュの識別を含むセッションの開始要求の送信を
含む。この実施形態では、第2のコンピュータ30が開
始した通信セッションで使用する送信された識別に対応
する第2のコンピュータのチェックポイント・キャッシ
ュを選択する。第2のコンピュータ30は第1のコンピ
ュータ20へ肯定応答メッセージを送信し、新しい通信
セッションのアクティブなプロトコル・キャッシュとし
ての識別に対応するチェックポイント・キャッシュの選
択の肯定応答を行う。肯定応答メッセージの受信に応答
して、第1のコンピュータ20は新しいセッションのア
クティブなプロトコル・キャッシュとして、セッション
を開始する要求の中で識別されたチェックポイント・キ
ャッシュを選択する。これでブロック140に示すよう
に新しいセッションの通信が開始される。
【0074】第2のコンピュータの単一のチェックポイ
ント・キャッシュに関して図9を参照しながら動作説明
を行ってきたが、2つまたはそれ以上のチェックポイン
ト・キャッシュを第2のコンピュータまたは第1のコン
ピュータで提供できることに注意すべきである。複数の
チェックポイント・キャッシュが提供される場合、ブロ
ック132で第2のコンピュータに関連付けられた複数
のチェックポイント・キャッシュのそれぞれのチェック
ポイント識別子が送信される。同様に、ブロック134
で、クライアント・プロトコル変換アプリケーション4
0は送信されたチェックポイント識別子の1つに対応す
る第1のコンピュータのチェックポイント・キャッシュ
を開始された通信セッションで使用する第1のコンピュ
ータ20に機能的に関連付けられたプロトコル・キャッ
シュ38として選択する。ブロック136で、選択した
1つのチェックポイント・キャッシュの識別子が第2の
コンピュータ30へ返送され、ブロック138で、ブロ
ック136で送信されたチェックポイント識別子に対応
する第2のコンピュータのチェックポイント・キャッシ
ュが開始された通信セッションで使用する第2のコンピ
ュータ30に機能的に関連付けられた対応するプロトコ
ル・キャッシュ44として選択される。同様に、上記の
別の実施形態で複数の識別子を送受信することができ
る。
【0075】図6のブロック102に関して前述した新
しいチェックポイントが必要かどうかを判定する動作に
ついて、図1および図10を参照しながら本発明の特定
の実施形態に関して以下に詳述する。動作は図10のブ
ロック142で図6ないし図8に関して前述したように
チェックポイントの取得動作が完了すると(または最初
のチェックポイントを生成していない新しいセッション
の開始時に)開始する。ブロック144で、図7のブロ
ック118に関して記述するように、チェックポイント
を開始した第1のコンピュータ20は第2のコンピュー
タのプロトコル・キャッシュ44のチェックポイント・
キャッシュへのコピーに際してエラーが発生したか(ま
たはチェックポイント動作が信頼できないと見なされる
ようなその他のエラーが発生したか)どうかを判定す
る。ブロック144でエラーが検出されると、動作はブ
ロック142に戻り、新しいチェックポイントが取得さ
れる。ブロック144でエラーが検出されない場合、第
1のコンピュータ20はチェックポイントがブロック1
46で取得されてから所定の時間間隔が経過したか判定
する。所定の時間間隔が経過した場合、ブロック148
でタイマがタイム・アウト間隔中に通信セッションのア
クティビティがあれば動作はブロック142に戻り新し
いチェックポイントを取得する。ブロック150で詳述
するように、タイム・アウト間隔に通信アクティビティ
がないか最小のアクティビティしかない場合、動作は所
定時間が再び満了するまでブロック146に戻る。
【0076】図10に関して記述される新しいチェック
ポイントの開始方法の動作例では、最後のチェックポイ
ント以降、プロトコル・キャッシュ38、44への一定
量の更新がされていると考えてチェックポイントは最後
のチェックポイント(または起動)から所定時間が経過
すると取得できる。時間および通信アクティビティを基
準として使うことでアクティブなプロトコル・キャッシ
ュ38、44が変更されていない引き延ばされたユーザ
考慮時間の間に不要なチェックポイントは取得されな
い。好ましくは新しいチェックポイントを開始するため
のタイム・アウト時間は必要な時間に関して大きい値に
選択し、第1のコンピュータと第2のコンピュータの両
方でチェックポイントを実行できるようにする必要があ
る。所定時間も変動、例えば最大および最小間隔のラン
ダムな変動をすることができる。さらに、エラーが検出
された場合の新しいチェックポイントの開始はブロック
144で示されるように不要な場合がある。これは、チ
ェックポイント・キャッシュ・コピーは新しいセッショ
ンを開始する際のパフォーマンスを向上させ、ブロック
146で障害のチェックポイントを単に無視し、次のタ
イム・アウト待ち状態に入ることを目的とするためであ
る。
【0077】単一クライアント/サーバ対間の複数セッ
ション 端末アプリケーション36とホスト・アプリケーション
42の間の通信セッションは、中止または中断が可能で
後ほど再開もできる過渡的なオブジェクトである。した
がって、本発明は所与のホスト・アプリケーション42
および端末アプリケーション36間の正しいセッション
へのプロトコル・キャッシュ・ペアの対応を最小の構成
上の負荷で実行することを目的とする。最も簡素なケー
スでは、この対応は第1のコンピュータ20と第2のコ
ンピュータ30でキャッシュ・ペアのそれぞれにそれぞ
れのコンピュータのIPアドレスや名前を付けることで
達成される。ただしこの方法は次の2つの場合には使用
できない。それは1)IPアドレスが動的に割り当てら
れている場合(サービス・プロバイダの場合など)、
2)端末から同じホストと複数のセッションを開催した
い場合、である。後者では、本明細書に記載するよう
に、それぞれのアクティブな通信セッションにはセッシ
ョン同期を保持するそれ自体のアクティブなプロトコル
・キャッシュ・ペアが提供される。
【0078】動的に割り当てられていないIPアドレス
を使った単一のセッションという簡素なケースでは、キ
ャッシュ識別は当該クライアントのセッションに適用さ
れるすべての非一時的キャッシュ・インスタンスが記憶
されているディレクトリ・レベルを指定する端末(また
はクライアント)IPアドレスを使って提供されること
が好ましい。IPアドレスが動的に割り当てられている
場合、本発明の一実施形態では、クライアント・プロト
コル変換(インターセプタ)アプリケーション40がサ
ーバ・プロトコル変換(インターセプタ)アプリケーシ
ョン46との最初の機能ネゴシエーション中に処理され
る識別割り当て機能を実施する。クライアント・アプリ
ケーション40がサーバ・アプリケーション46に連絡
を取った場合クライアント・アプリケーション40は識
別ファイル(ローカルに記憶されている)を探す。この
種のファイルが存在する場合、クライアント・アプリケ
ーション40はファイルを読み出し、識別を抽出してサ
ーバ・アプリケーション46に転送する。サーバ・アプ
リケーション46は接続されているクライアント・アプ
リケーション40から起動されるセッションに関するキ
ャッシュ・ファイルを記憶するディレクトリ名としてこ
の識別を使用する。
【0079】識別が存在しない場合、クライアント・ア
プリケーション40はサーバ・アプリケーション46へ
ヌル識別を送信する。サーバ・アプリケーション46は
非ヌルIDを受信すると、一致するディレクトリ(また
はサブディレクトリ)レベルを見つけようとする。見つ
かった場合、サーバ・アプリケーション46はクライア
ント・アプリケーション40がセッション中に使用する
プロトコル・キャッシュ・ペアの該当する片方をオープ
ンできるように該当するチェックポイント情報を返送す
る。無効なヌルIDまたは非ヌルIDがサーバ・アプリ
ケーション46によって受信されると、新しい識別子を
生成し、キャッシュ・ファイルを記憶する該当ディレク
トリを作成し、この識別子をチェックポイント・データ
を付けずにクライアント・アプリケーション40に返送
して処理が空きキャッシュで開始する(コールド・スタ
ート)ことを示す。クライアント・アプリケーション4
0が新しい識別子を受信した場合、アプリケーションは
この新しい識別子を記憶し、新しいディレクトリを作成
して以前の識別子があった場合にはそれに関連付けられ
たすべてのファイルを削除する。設定された識別子は、
関連付けられたクライアント・アプリケーション40が
所与のサーバ・アプリケーション46への接続を定義し
ている限り無制限に存続できる。
【0080】同じクライアント・アプリケーション40
とサーバ・アプリケーション46の間で同時に複数のセ
ッションがアクティブになる場合、上記のチェックポイ
ント・プロトコルが下記のように変更されることが好ま
しい。
【0081】セッション開始時のクライアント・アプリ
ケーション40とサーバ・アプリケーション46の間の
タスクの1つは、これから開始する新しいセッションの
開始の正しいチェックポイント・キャッシュ・インスタ
ンスを識別することである。ただし、上記の一意的なク
ライアント/サーバ・ペアにキャッシュ・インスタンス
をタグ付けする際に使用できる永続的な持続ネットワー
ク識別子(すなわち、IP名およびアドレス、永続的に
割り当てられたポート番号)の可用性に基づいてクライ
アント・アプリケーション40とサーバ・アプリケーシ
ョン46間に単一のセッションだけが開催されている場
合には、これは問題にならない。単一のクライアントと
サーバ間に複数のセッションが開催され、セッションが
終了する場合、新しいセッションが後に同じクライアン
トとサーバ間で開始される場合、どのキャッシュ・ペア
情報を新しいセッションで使用するのが適当であるのか
を判定することが望ましい。セッション識別子は過渡的
であるため、本発明は新たに作成されたチェックポイン
トを追跡して新しいセッションのコールド・スタートで
なく「ホット」または「ウォーム」スタートを可能にす
る。本発明の方法、システム、およびプログラム・プロ
ダクトは複数のセッションが同時にチェックポイントを
設定しようとする場合の競合状態の処理をさらにサポー
トする。
【0082】本発明の一実施形態では、同じクライアン
ト/サーバ・ペア(または端末エミュレータ・アプリケ
ーション/ホスト・アプリケーション・ペア)間の複数
のセッションが共用チェックポイント・キャッシュを使
用する。この共用チェックポイント・キャッシュは将来
同じクライアント/サーバ・ペア間に設定されるすべて
のセッションにとって有用なものとして処理される。共
用チェックポイントはそのセッションが最後のチェック
ポイントを作成したかどうかにかかわらず、同時に実行
されているセッションのどの1つからも作成できる。本
発明の複数のセッション態様に一意的な動作について図
11を参照して詳述する。図11の実施形態では、少な
くとも1つのチェックポイント・スロットがクライアン
ト側で提供され、少なくとも2つのスロットがサーバ側
で提供される。チェックポイントが1つのセッションで
進行している場合、他のセッションはこれを尊重する。
換言すると、他のセッションにチェックポイントを取得
することが通知され、このセッションがチェックポイン
トが進行中であることを検出すると、他のセッションは
そのチェックポイント要求を無視して続行される。最後
のチェックポイント・プロトコル間にランダム障害が発
生した場合でも、前述のようにクライアント側に対応す
る確認済みチェックポイントがある以前のチェックポイ
ントは依然としてサーバ側で使用可能であるため、サー
バ側の2つのチェックポイント・スロットによって起動
時の確認済みキャッシュが可能になる。
【0083】図1および図11を参照すると、同じクラ
イアント/サーバ・ペア間の複数の通信セッションでの
チェックポイント動作がセッションの1つのアクティブ
なプロトコル・キャッシュ38、44からチェックポイ
ントが取得された状態でブロック160で開始する。説
明のため、また図11の実施形態のように、2つのセッ
ションだけが示されている。ただし、本発明の利点は同
じクライアント/サーバ・ペア間のより多くの数のセッ
ションについても提供できることを理解すべきである。
それぞれのセッションについてプロトコル・キャッシュ
を設定する動作は詳述しないが、複数のセッションの場
合、各セッションがアクティブなプロトコル・キャッシ
ュを設定し、図2ないし図5の本発明の端末エミュレー
タ・データ・ストリーム細分化システムの態様に関連し
て前述したようにそれを更新する。同様に、各アクティ
ブ・セッションのチェックポイント開始動作は、図11
の複数のセッションのチェックポイント動作に関する態
様を除き、図10に関する記述に従って実行される。
【0084】図1および図11を参照すると、図11の
実施形態のブロック162で、クライアント・アプリケ
ーション40がセッション1(第1のセッション)がタ
イム・アウトになったか(すなわち、セッション1に関
してチェックポイントが取得されてから所定の時間が経
過したか)どうかを判定する。セッション1のチェック
ポイント手順がタイム・アウトになっていない場合、ブ
ロック164でクライアント・アプリケーション40は
セッション2(同時実行の第2のセッション)に関して
チェックポイントが最後に取得されてから所定のタイム
・アウト間隔が経過したかどうかを判定する。ブロック
162でもブロック164でもタイム・アウトが発生し
ていない場合、チェックポイントは取得されておらず、
動作は新しいチェックポイントを取得する必要を示すま
で各セッションの監視を続ける。
【0085】ブロック162でセッション1のタイム・
アウトが表示された場合、クライアント・アプリケーシ
ョン40はブロック166でセッション2のチェックポ
イントが現在進行中であるか判定する。そうである場
合、セッション1のチェックポイントは取得されておら
ず動作はブロック162でタイム・アウトの監視に戻
る。セッション1のタイマはリセットされるか、別の値
に設定されてブロック160で次回チェックポイントが
取得されるまでセッション1に基づいてチェックポイン
トの優先選択をサポートする。ブロック166でセッシ
ョン2のチェックポイントが進行中でない場合、セッシ
ョン1に関連付けられたプロトコル・キャッシュがブロ
ック168でチェックポイント動作のために選択され、
新しいチェックポイントがブロック160で取得され
る。図6ないし図9のさまざまな実施形態で記述される
ように、ブロック160での新しいチェックポイントの
取得動作は本明細書では詳述しない。ブロック164で
セッション2のタイム・アウトが示される場合、クライ
アント・アプリケーション40はブロック170でセッ
ション1からチェックポイントが進行中であるか、また
進行中でない場合、ブロック172でそのチェックポイ
ントについてセッション2のプロトコル・キャッシュが
選択されるかを判定する。
【0086】新しいチェックポイントのタイミング選択
の通信アクティビティ・レベルおよびチェックポイント
・エラー態様は図11に関して記述されていないが、こ
れらの追加の基準は図10のブロック144および15
0に関して前述したように複数のセッションのチェック
ポイント動作をサポートできる。
【0087】図11に関して記述されるように、同じク
ライアント/サーバ・ペアの同時実行のアクティブなセ
ッションのそれぞれは共通チェックポイント・キャッシ
ュを共用する。したがって、同じクライアント/サーバ
・ペアの以降の新しいセッションの「ホット」スタート
の起動動作は新しいセッションがセッション1またはセ
ッション2の再起動であるかどうかにかかわらず、図9
に関して前述されたように実行される。さらに、進行中
の通信セッションでの複数のチェックポイント動作にわ
たるセッション1および2の両方のセッションのアクテ
ィブなプロトコル・キャッシュからのチェックポイント
・キャッシュ更新情報のマージをサポートすることで、
チェックポイント・キャッシュは最終的に両セッション
に関する情報を含み、これによって以降の起動のたびに
新しいセッションの共通のチェックポイント・キャッシ
ュの使用によって、新しいセッションがセッション1ま
たはセッション2(または同時に実行される任意の数の
セッション)の再起動であるかどうかにかかわらず、パ
フォーマンスの向上をサポートする。換言すると、新し
いセッションで当初使用されていたチェックポイント・
キャッシュは以前のセッションに基づいているため、一
定期間の間に再起動が開始され、前のセッションから収
集した情報が新しいセッションから収集した情報とマー
ジされる。
【0088】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0089】(1)第1のコンピュータに常駐する端末
エミュレータ・アプリケーションのパフォーマンスを向
上させ、外部通信リンク上で端末エミュレータ・プロト
コルを使って前記の第1のコンピュータから離れた第2
のコンピュータに常駐するホスト・アプリケーションと
通信する方法であって、外部通信リンク上での端末エミ
ュレータ・プロトコル・データ・ストリームの送信に先
立って、ホスト・アプリケーションからの端末エミュレ
ータ・プロトコル・データ・ストリームをインターセプ
トするステップと、ホスト・アプリケーションが生成し
た端末エミュレータ・プロトコル・データ・ストリーム
を、対応する端末エミュレータ・プロトコル・データ・
ストリームと比較して削減された送信データ量を含み、
ホスト・アプリケーションによってすでに送信されてい
るデータ・セグメントの認識および差し替えに基づく細
分化通信プロトコル・データ・ストリームへ変換するス
テップと、細分化通信プロトコル・データ・ストリーム
を外部通信リンク上で第2のコンピュータから送信する
ステップと、送信された細分化通信プロトコル・データ
・ストリームを第1のコンピュータで受信するステップ
と、受信した細分化通信プロトコル・データ・ストリー
ムから端末エミュレータ・プロトコル・データ・ストリ
ームを再構築するステップと、再構築した端末エミュレ
ータ・プロトコル・データ・ストリームを端末エミュレ
ータ・アプリケーションに提供するステップを含む方
法。 (2)前記送信ステップが無線通信リンク上で細分化通
信プロトコル・データ・ストリームを送信するステップ
を含む、上記(1)に記載の方法。 (3)第1のコンピュータおよび第2のコンピュータが
それぞれキャッシュを含み、前記変換ステップが、端末
エミュレータ・プロトコル・データ・ストリームを送信
セグメントにセグメント化するステップと、送信セグメ
ント群の最初のセグメントの識別子を計算するステップ
と、送信セグメント群の最初のセグメントが第1のコン
ピュータに常駐するキャッシュに記憶されたセグメント
に対応するかどうか判定するステップと、前記判定ステ
ップで送信セグメント群の最初のセグメントが第1のコ
ンピュータに常駐するキャッシュに記憶されたセグメン
トに対応しないと判定された場合、送信セグメント群の
最初のセグメントに関連付けられた識別子を第2のコン
ピュータに常駐するキャッシュに記憶するステップと、
前記判定ステップで送信セグメント群の最初のセグメン
トが第1のコンピュータに常駐するキャッシュに記憶さ
れたセグメントに対応すると判定された場合、端末エミ
ュレータ・プロトコル・データ・ストリームから得た送
信セグメント群の最初のセグメントを送信セグメント群
の最初のセグメントの識別子と差し替えて、細分化通信
プロトコル・データ・ストリームを提供するステップを
含み、前記再構築ステップが、受信した送信済みの細分
化通信プロトコル・データ・ストリームを前記端末エミ
ュレータ・プロトコル・データ・ストリームのセグメン
ト化ステップで得た端末エミュレータ・プロトコル・デ
ータ・ストリームのセグメントに対応するセグメントに
セグメント化するステップと、受信セグメント群の最初
のセグメントが第1のコンピュータに常駐するキャッシ
ュに記憶されたセグメントに対応するかどうか判定する
ステップと、受信セグメント群の最初のセグメントが記
憶されたセグメントに対応するかどうか判定するステッ
プで受信セグメント群の最初のセグメントが第1のコン
ピュータに常駐するキャッシュに記憶されたセグメント
に対応しないと判定された場合に、受信セグメント群の
最初のセグメントを第1のコンピュータに常駐するキャ
ッシュに記憶するステップと、受信セグメント群の最初
のセグメントが記憶されたセグメントに対応するかどう
か判定するステップで受信セグメント群の最初のセグメ
ントが第1のコンピュータに常駐するキャッシュに記憶
されたセグメントに対応すると判定された場合に、受信
セグメント群の最初のセグメントを送信セグメント群の
最初のセグメントの識別子に対応する第1のコンピュー
タに常駐するキャッシュに記憶されたセグメントと差し
替えて、端末エミュレータ・プロトコル・データ・スト
リームを再構築するステップを含む、上記(1)に記載
の方法。 (4)標識および識別子が同じ値である、上記(3)に
記載の方法。 (5)標識が送信セグメント群の最初のセグメントであ
る、上記(3)に記載の方法。 (6)前記判定ステップで送信セグメント群の最初のセ
グメントが第1のコンピュータに常駐するキャッシュに
以前に記憶されているセグメントに対応しないと判定さ
れた場合に、前記送信セグメント群の最初のセグメント
を差し替える前記ステップが送信セグメント群の最初の
セグメントを細分化通信プロトコル・データ・ストリー
ムに含めるステップをさらに含む、上記(3)に記載の
方法。 (7)送信セグメント群の最初のセグメントが以前に記
憶されているセグメントに対応するかどうか判定するス
テップに続けて、制御フィールドを送信セグメント群の
最初のセグメントに関連付けるステップと、送信セグメ
ント群の最初のセグメントが第1のコンピュータに常駐
するキャッシュに記憶されているセグメントに対応しな
い場合に、制御フィールドに新しいセグメントの表示を
設定するステップと、送信セグメント群の最初のセグメ
ントが第1のコンピュータに常駐するキャッシュに記憶
されているセグメントに対応する場合に、制御フィール
ドに記憶されたセグメントの表示を設定するステップを
含み、送信セグメント群の最初のセグメントを差し替え
るステップが制御フィールドを細分化通信プロトコル・
データ・ストリームに組み込むステップを含む、上記
(6)に記載の方法。 (8)受信セグメント群の最初のセグメントが記憶され
ているセグメントに対応するかどうか判定する前記ステ
ップが、対応する送信セグメント群の最初のセグメント
の制御フィールドに対応する受信セグメント群の最初の
セグメントの制御フィールドが新しいセグメントを表示
しているかどうか判定するステップを含む、上記(7)
に記載の方法。 (9)送信セグメント群の最初のセグメントの識別子を
計算する前記ステップが巡回冗長符号を使って送信セグ
メント群の最初のセグメントから識別子を計算するステ
ップを含む、上記(7)に記載の方法。 (10)端末エミュレータ・プロトコルがTelnet
プロトコルである、上記(7)に記載の方法。 (11)前記提供ステップに続けて、外部通信リンク上
での第2の端末エミュレータ・プロトコル・データ・ス
トリームの送信に先立って、端末エミュレータ・アプリ
ケーションからの第2の端末エミュレータ・プロトコル
・データ・ストリームをインターセプトするステップ
と、キャッシュ同期化に関する情報を含む第2の端末エ
ミュレータ・プロトコル・データ・ストリームに制御フ
ィールドを追加するステップと、制御フィールドを含む
第2の端末エミュレータ・プロトコル・データ・ストリ
ームを外部通信リンク上で第1のコンピュータから送信
するステップをさらに含む、上記(7)に記載の方法。 (12)前記提供ステップに続けて、外部通信リンク上
での第2の端末エミュレータ・プロトコル・データ・ス
トリームの送信に先立って、端末エミュレータ・アプリ
ケーションからの第2の端末エミュレータ・プロトコル
・データ・ストリームをインターセプトするステップ
と、端末エミュレータ・アプリケーションが生成した第
2の端末エミュレータ・プロトコル・データ・ストリー
ムを、対応する第2の端末エミュレータ・プロトコル・
データ・ストリームと比較して削減された送信データ量
を含み、すでに送信されているデータ・セグメントの認
識および差し替えに基づいて、第2の細分化通信プロト
コル・データ・ストリームへ変換するステップと、第2
の細分化通信プロトコル・データ・ストリームを外部通
信リンク上で第1のコンピュータから送信するステップ
と、送信された第2の細分化通信プロトコル・データ・
ストリームを第2のコンピュータで受信するステップ
と、受信した第2の細分化通信プロトコル・データ・ス
トリームから第2の端末エミュレータ・プロトコル・デ
ータ・ストリームを再構築するステップと、第2の再構
築した端末エミュレータ・プロトコル・データ・ストリ
ームをホスト・アプリケーションに提供するステップを
含む、上記(7)に記載の方法。 (13)端末エミュレータ・プロトコルがTelnet
プロトコルである、上記(1)に記載の方法。 (14)前記提供ステップに続けて、外部通信リンク上
での第2の端末エミュレータ・プロトコル・データ・ス
トリームの送信に先立って、端末エミュレータ・アプリ
ケーションからの第2の端末エミュレータ・プロトコル
・データ・ストリームをインターセプトするステップ
と、端末エミュレータ・アプリケーションが生成した第
2の端末エミュレータ・プロトコル・データ・ストリー
ムを対応する第2の端末エミュレータ・プロトコル・デ
ータ・ストリームと比較して削減された送信データ量を
含み、すでに送信されているデータ・セグメントの認識
および差し替えに基づいて、第2の細分化通信プロトコ
ル・データ・ストリームへ変換するステップと、第2の
細分化通信プロトコル・データ・ストリームを外部通信
リンク上で第1のコンピュータから送信するステップ
と、送信された第2の細分化通信プロトコル・データ・
ストリームを第2のコンピュータで受信するステップ
と、受信した第2の細分化通信プロトコル・データ・ス
トリームから第2の端末エミュレータ・プロトコル・デ
ータ・ストリームを再構築するステップと、第2の再構
築した端末エミュレータ・プロトコル・データ・ストリ
ームをホスト・アプリケーションに提供するステップを
含む、上記(1)に記載の方法。 (15)第2のコンピュータに常駐するホスト・アプリ
ケーションの外部通信リンク上での通信のパフォーマン
スを向上させ、端末エミュレータ・プロトコルを使って
前記の第1のコンピュータから離れた第2のコンピュー
タに常駐する端末エミュレータ・アプリケーションと通
信する方法であって、外部通信リンク上での端末エミュ
レータ・プロトコル・データ・ストリームの送信に先立
って、ホスト・アプリケーションからの端末エミュレー
タ・プロトコル・データ・ストリームをインターセプト
するステップと、ホスト・アプリケーションが生成した
端末エミュレータ・プロトコル・データ・ストリームを
対応する端末エミュレータ・プロトコル・データ・スト
リームと比較して削減された送信データ量を含み、ホス
ト・アプリケーションによってすでに送信されているデ
ータ・セグメントの認識および差し替えに基づく細分化
通信プロトコル・データ・ストリームへ変換するステッ
プと、細分化通信プロトコル・データ・ストリームを外
部通信リンク上で第2のコンピュータから送信するステ
ップを含む方法。 (16)前記送信ステップが無線通信リンク上で細分化
通信プロトコル・データ・ストリームを送信するステッ
プを含む、上記(15)に記載の方法。 (17)第1のコンピュータおよび第2のコンピュータ
がキャッシュを含み、前記変換ステップが、端末エミュ
レータ・プロトコル・データ・ストリームを送信セグメ
ントにセグメント化するステップと、送信セグメント群
の最初のセグメントの識別子を計算するステップと、送
信セグメント群の最初のセグメントが第1のコンピュー
タに常駐するキャッシュに以前に記憶されたセグメント
に対応するかどうか判定するステップと、前記判定ステ
ップで送信セグメント群の最初のセグメントが第1のコ
ンピュータに常駐するキャッシュに記憶されたセグメン
トに対応しないと判定された場合、送信セグメント群の
最初のセグメントに関連付けられた識別子を第2のコン
ピュータに常駐するキャッシュに記憶するステップと、
前記判定ステップで送信セグメント群の最初のセグメン
トが第1のコンピュータに常駐するキャッシュに記憶さ
れたセグメントに対応すると判定された場合、端末エミ
ュレータ・プロトコル・データ・ストリームから得た送
信セグメント群の最初のセグメントを送信セグメント群
の最初のセグメントの識別子と差し替えて、細分化通信
プロトコル・データ・ストリームを提供するステップを
含む、上記(15)に記載の方法。 (18)第1のコンピュータに常駐する端末エミュレー
タ・アプリケーションの外部通信リンク上での通信のパ
フォーマンスを向上させ、外部通信リンク上で端末エミ
ュレータ・プロトコルを使って前記の第1のコンピュー
タから離れた第2のコンピュータに常駐するホスト・ア
プリケーションと通信する方法であって、対応する端末
エミュレータ・プロトコル・データ・ストリームと比較
して削減された受信データ量を含み、ホスト・アプリケ
ーションによってすでに送信されているデータ・セグメ
ントの認識および差し替えに基づく細分化通信プロトコ
ル・データ・ストリームを第1のコンピュータで受信す
るステップと、受信した細分化通信プロトコル・データ
・ストリームから端末エミュレータ・プロトコル・デー
タ・ストリームを再構築するステップと、再構築した端
末エミュレータ・プロトコル・データ・ストリームを端
末エミュレータ・アプリケーションに提供するステップ
を含む方法。 (19)前記受信ステップが無線通信リンク上で細分化
通信プロトコル・データ・ストリームを受信するステッ
プを含む、上記(18)に記載の方法。 (20)第1のコンピュータがキャッシュを含み、前記
再構築ステップが、受信した送信済みの細分化通信プロ
トコル・データ・ストリームを対応する端末エミュレー
タ・プロトコル・データ・ストリームのセグメントに対
応するセグメントにセグメント化するステップと、受信
セグメント群の最初のセグメントが第1のコンピュータ
に常駐するキャッシュに記憶されたセグメントに対応す
るかどうか判定するステップと、受信セグメント群の最
初のセグメントが記憶されたセグメントに対応するかど
うか判定するステップで受信セグメント群の最初のセグ
メントが第1のコンピュータに常駐するキャッシュに記
憶されたセグメントに対応しないと判定された場合に、
それを第1のコンピュータに常駐するキャッシュに記憶
するステップと、第1のコンピュータに常駐するキャッ
シュに記憶された対応するセグメントと差し替えて、端
末エミュレータ・プロトコル・データ・ストリームを再
構築するステップを含む、上記(18)に記載の方法。 (21)第1のコンピュータに常駐する端末エミュレー
タ・アプリケーションのパフォーマンスを向上させ、外
部通信リンク上で端末エミュレータ・プロトコルを使っ
て前記の第1のコンピュータから離れた第2のコンピュ
ータに常駐するホスト・アプリケーションと通信する装
置であって、外部通信リンク上での端末エミュレータ・
プロトコル・データ・ストリームの送信に先立って、ホ
スト・アプリケーションからの端末エミュレータ・プロ
トコル・データ・ストリームをインターセプトする手段
と、ホスト・アプリケーションが生成した端末エミュレ
ータ・データ・ストリームを対応する端末エミュレータ
・プロトコル・データ・ストリームと比較して削減され
た送信データ量を含み、ホスト・アプリケーションによ
ってすでに送信されているデータ・セグメントの認識お
よび差し替えに基づく細分化通信プロトコル・データ・
ストリームへ変換する手段と、細分化通信プロトコル・
データ・ストリームを外部通信リンク上で第2のコンピ
ュータから送信する手段と、送信された細分化通信プロ
トコル・データ・ストリームを第1のコンピュータで受
信する手段と、受信した細分化通信プロトコル・データ
・ストリームから端末エミュレータ・プロトコル・デー
タ・ストリームを再構築する手段と、再構築した端末エ
ミュレータ・プロトコル・データ・ストリームを端末エ
ミュレータ・アプリケーションに提供する手段を含む装
置。 (22)前記送信手段が無線通信リンク上で細分化通信
プロトコル・データ・ストリームを送信する手段を含
む、上記(21)に記載の装置。 (23)第1のコンピュータおよび第2のコンピュータ
がそれぞれキャッシュを含み、前記変換手段が、端末エ
ミュレータ・プロトコル・データ・ストリームを送信セ
グメントにセグメント化する手段と、送信セグメント群
の最初のセグメントの識別子を計算する手段と、送信セ
グメント群の最初のセグメントが第1のコンピュータに
常駐するキャッシュに記憶されたセグメントに対応する
かどうかを判定する手段と、前記判定手段で送信セグメ
ント群の最初のセグメントが第1のコンピュータに常駐
するキャッシュに記憶されたセグメントに対応しないと
判定された場合、送信セグメント群の最初のセグメント
に関連付けられた標識を第2のコンピュータに常駐する
キャッシュに記憶する手段と、前記判定手段で送信セグ
メント群の最初のセグメントが第1のコンピュータに常
駐するキャッシュに記憶されたセグメントに対応すると
判定された場合、端末エミュレータ・プロトコル・デー
タ・ストリームから得た送信セグメント群の最初のセグ
メントを細分化通信プロトコル・データ・ストリーム内
の送信セグメント群の最初のセグメントの識別子と差し
替えて、細分化通信プロトコル・データ・ストリームを
提供する手段を含み、前記再構築手段が、受信した送信
済みの細分化通信プロトコル・データ・ストリームを前
記端末エミュレータ・プロトコル・データ・ストリーム
のセグメント化手段で得た端末エミュレータ・プロトコ
ル・データ・ストリームのセグメントに対応するセグメ
ントにセグメント化する手段と、受信セグメント群の最
初のセグメントが第1のコンピュータに常駐するキャッ
シュに記憶されたセグメントに対応するかどうか判定す
る手段と、受信セグメント群の最初のセグメントが記憶
されたセグメントに対応するかどうか判定する手段で、
受信セグメント群の最初のセグメントが第1のコンピュ
ータに常駐するキャッシュに記憶されたセグメントに対
応しないと判定された場合に、受信セグメント群の最初
のセグメントを第1のコンピュータに記憶する手段と、
受信セグメント群の最初のセグメントが記憶されたセグ
メントに対応するかどうか判定する手段で、受信セグメ
ント群の最初のセグメントが第1のコンピュータに常駐
するキャッシュに記憶されたセグメントに対応すると判
定された場合に、受信セグメント群の最初のセグメント
が送信セグメント群の最初のセグメントの識別子に対応
する第1のコンピュータに常駐するキャッシュに記憶さ
れたセグメントと差し替えて、これによって端末エミュ
レータ・プロトコル・データ・ストリームを再構築する
手段を含む、上記(21)に記載の装置。 (24)前記判定手段で送信セグメント群の最初のセグ
メントが第1のコンピュータに常駐するキャッシュに以
前に記憶されているセグメントに対応しないと判定され
た場合に、前記送信セグメント群の最初のセグメントを
差し替える前記手段が送信セグメント群の最初のセグメ
ントを細分化通信プロトコル・データ・ストリームに含
める手段をさらに含む、上記(33)に記載の装置。 (25)制御フィールドを送信セグメント群の最初のセ
グメントに関連付け、送信セグメント群の最初のセグメ
ントが第1のコンピュータに常駐するキャッシュに記憶
されているセグメントに対応しない場合に、制御フィー
ルドに新しいセグメントの表示を設定し、送信セグメン
ト群の最初のセグメントが第1のコンピュータに常駐す
るキャッシュに記憶されているセグメントに対応する場
合に、制御フィールドに以前に記憶されたセグメントの
表示を設定する手段を含み、送信セグメント群の最初の
セグメントを差し替える手段が制御フィールドを細分化
通信プロトコル・データ・ストリームに組み込む手段を
含む、上記(24)に記載の装置。 (26)受信セグメント群の最初のセグメントが記憶さ
れているセグメントに対応するかどうか判定する前記手
段が、対応する送信セグメント群の最初のセグメントの
制御フィールドに対応する受信セグメント群の最初のセ
グメントの制御フィールドが新しいセグメントを表示し
ているかどうか判定する手段を含む、上記(25)に記
載の装置。 (27)送信セグメント群の最初のセグメントの識別子
を計算する前記手段が巡回冗長符号を使用して送信セグ
メント群の最初のセグメントから識別子を計算する手段
を含む、上記(25)に記載の装置。 (28)端末エミュレータ・プロトコルがTelnet
プロトコルである、上記(25)に記載の装置。 (29)外部通信リンク上での第2の端末エミュレータ
・プロトコル・データ・ストリームの送信に先立って、
端末エミュレータ・アプリケーションからの第2の端末
エミュレータ・プロトコル・データ・ストリームをイン
ターセプトする手段と、キャッシュ同期化に関する情報
を含む第2の端末エミュレータ・プロトコル・データ・
ストリームに制御フィールドを追加する手段と、制御フ
ィールドを含む第2の端末エミュレータ・プロトコル・
データ・ストリームを外部通信リンク上で第1のコンピ
ュータから送信する手段をさらに含む、上記(25)に
記載の装置。 (30)外部通信リンク上での第2の端末エミュレータ
・プロトコル・データ・ストリームの送信に先立って、
端末エミュレータ・アプリケーションからの第2の端末
エミュレータ・プロトコル・データ・ストリームをイン
ターセプトする手段と、端末エミュレータ・アプリケー
ションが生成した第2の端末エミュレータ・プロトコル
・データ・ストリームを対応する第2の端末エミュレー
タ・プロトコル・データ・ストリームと比較して削減さ
れた送信データ量を含み、すでに送信されているデータ
・セグメントの認識および差し替えに基づいて第2の細
分化通信プロトコル・データ・ストリームへ変換する手
段と、第2の細分化通信プロトコル・データ・ストリー
ムを外部通信リンク上で第1のコンピュータから送信す
る手段と、送信された第2の細分化通信プロトコル・デ
ータ・ストリームを第2のコンピュータで受信する手段
と、受信した第2の細分化通信プロトコル・データ・ス
トリームから第2の端末エミュレータ・プロトコル・デ
ータ・ストリームを再構築する手段と、第2の再構築し
た端末エミュレータ・プロトコル・データ・ストリーム
をホスト・アプリケーションに提供する手段を含む、上
記(25)に記載の装置。 (31)端末エミュレータ・プロトコルがTelnet
プロトコルである、上記(21)に記載の装置。 (32)外部通信リンク上で第1のコンピュータに常駐
する端末エミュレータ・アプリケーションと通信し、端
末エミュレータ・プロトコルを使って第1のコンピュー
タと通信する第2のコンピュータに常駐するホスト・ア
プリケーション用のプロトコル・インターセプタであっ
て、外部通信リンク上での端末エミュレータ・プロトコ
ル・データ・ストリームの送信に先立って、ホスト・ア
プリケーションからの端末エミュレータ・プロトコル・
データ・ストリームをインターセプトする手段と、ホス
ト・アプリケーションが生成した端末エミュレータ・プ
ロトコル・データ・ストリームを対応する端末エミュレ
ータ・プロトコル・データ・ストリームと比較して外部
通信リンク上での削減された送信データ量を含み、ホス
ト・アプリケーションによってすでに送信されているデ
ータ・セグメントの認識および差し替えに基づく細分化
通信プロトコル・データ・ストリームへ変換する手段
と、細分化通信プロトコル・データ・ストリームを外部
通信リンク上で送信する手段を含むプロトコル・インタ
ーセプタ。 (33)前記送信手段が無線通信リンク上で細分化通信
プロトコル・データ・ストリームを送信する手段を含
む、上記(32)に記載のプロトコル・インターセプ
タ。 (34)前記プロトコル・インターセプタに機能的に関
連付けられたキャッシュを含み、前記変換手段が、端末
エミュレータ・プロトコル・データ・ストリームを送信
セグメントにセグメント化する手段と、送信セグメント
群の最初のセグメントの識別子を計算する手段と、送信
セグメント群の最初のセグメントがキャッシュに記憶さ
れたセグメントに対応するかどうかを判定する手段と、
前記判定手段で送信セグメント群の最初のセグメントが
キャッシュに記憶されたセグメントに対応しないと判定
された場合、送信セグメント群の最初のセグメントに関
連付けられた標識をキャッシュに記憶する手段と、前記
判定手段で送信セグメント群の最初のセグメントがキャ
ッシュに記憶されたセグメントに対応すると判定された
場合、端末エミュレータ・プロトコル・データ・ストリ
ームから得た送信セグメント群の最初のセグメントを細
分化通信プロトコル・データ・ストリーム内の送信セグ
メント群の最初のセグメントの識別子と差し替えて、細
分化通信プロトコル・データ・ストリームを提供する手
段を含む、上記(32)に記載のプロトコル・インター
セプタ。 (35)外部通信リンク上で第2のコンピュータに常駐
するホスト・アプリケーションと通信し、端末エミュレ
ータ・プロトコルを使って第2のコンピュータと通信す
る第1のコンピュータに常駐する端末エミュレータ・ア
プリケーション用のプロトコル・インターセプタであっ
て、対応する端末エミュレータ・プロトコル・データ・
ストリームと比較して削減された送信データ量を含み、
第1のコンピュータにすでに送信されているデータ・セ
グメントの認識および差し替えに基づく送信された細分
化通信プロトコル・データ・ストリームを受信する手段
と、受信した細分化通信プロトコル・データ・ストリー
ムから対応する端末エミュレータ・プロトコル・データ
・ストリームを再構築する手段と、再構築した端末エミ
ュレータ・プロトコル・データ・ストリームを端末エミ
ュレータ・アプリケーションに提供する手段を含むプロ
トコル・インターセプタ。 (36)前記受信手段が無線通信リンク上で細分化通信
プロトコル・データ・ストリームを受信する手段を含
む、上記(35)に記載のプロトコル・インターセプ
タ。 (37)前記プロトコル・インターセプタに機能的に関
連付けられたキャッシュを含み、前記再構築手段が、受
信した送信済みの細分化通信プロトコル・データ・スト
リームを対応する端末エミュレータ・プロトコル・デー
タ・ストリームのセグメントに対応するセグメントにセ
グメント化する手段と、受信セグメント群の最初のセグ
メントがキャッシュに記憶されたセグメントに対応する
かどうかを判定する手段と、受信セグメント群の最初の
セグメントが記憶されたセグメントに対応するかどうか
を判定する手段で受信セグメント群の最初のセグメント
がキャッシュに記憶されたセグメントに対応しないと判
定された場合、受信セグメント群の最初のセグメントを
キャッシュに記憶する手段と、前記の受信セグメント群
の最初のセグメントが記憶されたセグメントに対応する
かどうかを判定する手段で受信セグメント群の最初のセ
グメントがキャッシュに記憶されたセグメントに対応す
ると判定された場合、受信セグメント群の最初のセグメ
ントをキャッシュにある対応する記憶されたセグメント
と差し替えて、端末エミュレータ・プロトコル・データ
・ストリームを再構築する手段を含む、上記(35)に
記載のプロトコル・インターセプタ。 (38)第1のコンピュータに常駐する端末エミュレー
タ・アプリケーションのパフォーマンスを向上させ、外
部通信リンク上で端末エミュレータ・プロトコルを使っ
て前記の第1のコンピュータから離れた第2のコンピュ
ータに常駐するホスト・アプリケーションと通信するた
めのコンピュータ可読記録媒体であって、外部通信リン
ク上での端末エミュレータ・プロトコル・データ・スト
リームの送信に先立って、ホスト・アプリケーションか
らの端末エミュレータ・プロトコル・データ・ストリー
ムをインターセプトするコンピュータ可読プログラム符
号手段と、ホスト・アプリケーションが生成した端末エ
ミュレータ・プロトコル・データ・ストリームを対応す
る端末エミュレータ・プロトコル・データ・ストリーム
と比較して削減された送信データ量を含み、ホスト・ア
プリケーションによってすでに送信されているデータ・
セグメントの認識および差し替えに基づく細分化通信プ
ロトコル・データ・ストリームへ変換するコンピュータ
可読プログラム符号手段と、細分化通信プロトコル・デ
ータ・ストリームを外部通信リンク上で第2のコンピュ
ータから送信するコンピュータ可読プログラム符号手段
と、送信された細分化通信プロトコル・データ・ストリ
ームを第1のコンピュータで受信するコンピュータ可読
プログラム符号手段と、受信した細分化通信プロトコル
・データ・ストリームから端末エミュレータ・プロトコ
ル・データ・ストリームを再構築するコンピュータ可読
プログラム符号手段と、再構築した端末エミュレータ・
プロトコル・データ・ストリームを端末エミュレータ・
アプリケーションに提供するコンピュータ可読プログラ
ム符号手段を含む、を含む前記コンピュータ・プログラ
ム・プロダクト。 (39)前記送信コンピュータ可読プログラム符号手段
が無線通信リンク上で細分化通信プロトコル・データ・
ストリームを送信するコンピュータ可読プログラム符号
手段を含む、上記(38)に記載のコンピュータ・プロ
グラム・プロダクト。 (40)第1のコンピュータおよび第2のコンピュータ
がそれぞれキャッシュを含み、前記変換コンピュータ可
読プログラム符号手段が、端末エミュレータ・プロトコ
ル・データ・ストリームを送信セグメントにセグメント
化するコンピュータ可読プログラム符号手段と、送信セ
グメント群の最初のセグメントの識別子を計算するコン
ピュータ可読プログラム符号手段と、送信セグメント群
の最初のセグメントが第1のコンピュータに常駐するキ
ャッシュに記憶されたセグメントに対応するかどうかを
判定するコンピュータ可読プログラム符号手段と、前記
判定コンピュータ可読プログラム符号手段で送信セグメ
ント群の最初のセグメントが第1のコンピュータに常駐
するキャッシュに記憶されたセグメントに対応しないと
判定された場合、送信セグメント群の最初のセグメント
に関連付けられた標識を第2のコンピュータに常駐する
キャッシュに記憶するコンピュータ可読プログラム符号
手段と、前記判定コンピュータ可読プログラム符号手段
で送信セグメント群の最初のセグメントが第1のコンピ
ュータに常駐するキャッシュに記憶されたセグメントに
対応すると判定された場合、端末エミュレータ・プロト
コル・データ・ストリームから得た送信セグメント群の
最初のセグメントを細分化通信プロトコル・データ・ス
トリーム内の送信セグメント群の最初のセグメントの識
別子と差し替えて、細分化通信プロトコル・データ・ス
トリームを提供するコンピュータ可読プログラム符号手
段を含み、前記再構築コンピュータ可読プログラム符号
手段が、受信した送信済みの細分化通信プロトコル・デ
ータ・ストリームを前記端末エミュレータ・プロトコル
・データ・ストリームのセグメント化コンピュータ可読
プログラム符号手段で得た端末エミュレータ・プロトコ
ル・データ・ストリームのセグメントに対応するセグメ
ントにセグメント化するコンピュータ可読プログラム符
号手段と、受信セグメント群の最初のセグメントが第1
のコンピュータに常駐するキャッシュに記憶されたセグ
メントに対応するかどうか判定するコンピュータ可読プ
ログラム符号手段と、受信セグメント群の最初のセグメ
ントが記憶されたセグメントに対応するかどうか判定す
るコンピュータ可読プログラム符号手段で受信セグメン
ト群の最初のセグメントが第1のコンピュータに常駐す
るキャッシュに記憶されたセグメントに対応しないと判
定された場合に、受信セグメント群の最初のセグメント
を第1のコンピュータに常駐するキャッシュに記憶する
コンピュータ可読プログラム符号手段と、受信セグメン
ト群の最初のセグメントが記憶されたセグメントに対応
するかどうか判定するコンピュータ可読プログラム符号
手段で受信セグメント群の最初のセグメントが第1のコ
ンピュータに常駐するキャッシュに記憶されたセグメン
トに対応すると判定された場合に、受信セグメント群の
最初のセグメントを送信セグメント群の最初のセグメン
トの識別子に対応する第1のコンピュータに常駐するキ
ャッシュに記憶されたセグメントと差し替えて、端末エ
ミュレータ・プロトコル・データ・ストリームを再構築
するコンピュータ可読プログラム符号手段を含む、上記
(38)に記載のコンピュータ・プログラム・プロダク
ト。 (41)前記判定コンピュータ可読プログラム符号手段
で送信セグメント群の最初のセグメントが第1のコンピ
ュータに常駐するキャッシュに以前に記憶されているセ
グメントに対応しないと判定された場合に、前記送信セ
グメント群の最初のセグメントを差し替える前記コンピ
ュータ可読プログラム符号手段が送信セグメント群の最
初のセグメントを細分化通信プロトコル・データ・スト
リームに含めるコンピュータ可読プログラム符号手段を
さらに含む、上記(40)に記載のコンピュータ・プロ
グラム・プロダクト。 (42)制御フィールドを送信セグメント群の最初のセ
グメントに関連付け、送信セグメント群の最初のセグメ
ントが第1のコンピュータに常駐するキャッシュに記憶
されているセグメントに対応しない場合に、制御フィー
ルドに新しいセグメントの表示を設定し、送信セグメン
ト群の最初のセグメントが第1のコンピュータに常駐す
るキャッシュに記憶されているセグメントに対応する場
合に、制御フィールドに記憶されたセグメントの表示を
設定するコンピュータ可読プログラム符号手段を含み、
送信セグメント群の最初のセグメントを差し替えるコン
ピュータ可読プログラム符号手段が制御フィールドを細
分化通信プロトコル・データ・ストリームに組み込むコ
ンピュータ可読プログラム符号手段を含む、上記(4
1)に記載のコンピュータ・プログラム・プロダクト。 (43)受信セグメント群の最初のセグメントが記憶さ
れているセグメントに対応するかどうか判定する前記コ
ンピュータ可読プログラム符号手段が、対応する送信セ
グメント群の最初のセグメントの制御フィールドに対応
する受信セグメント群の最初のセグメントの制御フィー
ルドが新しいセグメントを表示しているかどうか判定す
るコンピュータ可読プログラム符号手段を含む、上記
(42)に記載のコンピュータ・プログラム・プロダク
ト。 (44)送信セグメント群の最初のセグメントの識別子
を計算する前記コンピュータ可読プログラム符号手段が
巡回冗長符号を使って送信セグメント群の最初のセグメ
ントから識別子を計算するコンピュータ可読プログラム
符号手段を含む、上記(42)に記載のコンピュータ・
プログラム・プロダクト。 (45)端末エミュレータ・プロトコルがTelnet
プロトコルである、上記(42)に記載のコンピュータ
・プログラム・プロダクト。 (46)外部通信リンク上での第2の端末エミュレータ
・プロトコル・データ・ストリームの送信に先立って、
端末エミュレータ・アプリケーションからの第2の端末
エミュレータ・プロトコル・データ・ストリームをイン
ターセプトするコンピュータ可読プログラム符号手段
と、キャッシュ同期化に関する情報を含む第2の端末エ
ミュレータ・プロトコル・データ・ストリームに制御フ
ィールドを追加するコンピュータ可読プログラム符号手
段と、制御フィールドを含む第2の端末エミュレータ・
プロトコル・データ・ストリームを外部通信リンク上で
第1のコンピュータから送信するコンピュータ可読プロ
グラム符号手段をさらに含む、上記(42)に記載のコ
ンピュータ・プログラム・プロダクト。 (47)外部通信リンク上での第2の端末エミュレータ
・プロトコル・データ・ストリームの送信に先立って、
端末エミュレータ・アプリケーションからの第2の端末
エミュレータ・プロトコル・データ・ストリームをイン
ターセプトするコンピュータ可読プログラム符号手段
と、端末エミュレータ・アプリケーションが生成した第
2の端末エミュレータ・プロトコル・データ・ストリー
ムを対応する第2の端末エミュレータ・プロトコル・デ
ータ・ストリームと比較して削減された送信データ量を
含み、すでに送信されているデータ・セグメントの認識
および差し替えに基づいて第2の細分化通信プロトコル
・データ・ストリームへ変換するコンピュータ可読プロ
グラム符号手段と、第2の細分化通信プロトコル・デー
タ・ストリームを外部通信リンク上で第1のコンピュー
タから送信するコンピュータ可読プログラム符号手段
と、送信された第2の細分化通信プロトコル・データ・
ストリームを第2のコンピュータで受信するコンピュー
タ可読プログラム符号手段と、受信した第2の細分化通
信プロトコル・データ・ストリームから第2の端末エミ
ュレータ・プロトコル・データ・ストリームを再構築す
るコンピュータ可読プログラム符号手段と、第2の再構
築した端末エミュレータ・プロトコル・データ・ストリ
ームをホスト・アプリケーションに提供するコンピュー
タ可読プログラム符号手段をさらに含む、上記(42)
に記載のコンピュータ・プログラム・プロダクト。 (48)端末エミュレータ・プロトコルがTelnet
プロトコルである、上記(38)に記載のコンピュータ
・プログラム・プロダクト。 (49)外部通信リンク上で第1のコンピュータに常駐
する端末エミュレータ・アプリケーションと通信し、端
末エミュレータ・プロトコルを使って第1のコンピュー
タと通信する第2のコンピュータに常駐するホスト・ア
プリケーション用のコンピュータ・プログラム・プロダ
クトであって、外部通信リンク上での端末エミュレータ
・プロトコル・データ・ストリームの送信に先立って、
ホスト・アプリケーションからの端末エミュレータ・プ
ロトコル・データ・ストリームをインターセプトするコ
ンピュータ可読プログラム符号手段と、ホスト・アプリ
ケーションが生成した端末エミュレータ・データ・プロ
トコル・ストリームを対応する端末エミュレータ・プロ
トコル・データ・ストリームと比較して外部通信リンク
上での削減された送信データ量を含み、ホスト・アプリ
ケーションによってすでに送信されているデータ・セグ
メントの認識および差し替えに基づく細分化通信プロト
コル・データ・ストリームへ変換するコンピュータ可読
プログラム符号手段と、細分化通信プロトコル・データ
・ストリームを外部通信リンク上で送信するコンピュー
タ可読プログラム符号手段を含むコンピュータ・プログ
ラム・プロダクト。 (50)前記送信コンピュータ可読プログラム符号手段
が無線通信リンク上で細分化通信プロトコル・データ・
ストリームを送信するコンピュータ可読プログラム符号
手段を含む、上記(49)に記載のコンピュータ・プロ
グラム・プロダクト。 (51)第1および第2のコンピュータがキャッシュを
含み、前記変換コンピュータ可読プログラム符号手段
が、端末エミュレータ・プロトコル・データ・ストリー
ムを送信セグメントにセグメント化するコンピュータ可
読プログラム符号手段と、送信セグメント群の最初のセ
グメントの識別子を計算するコンピュータ可読プログラ
ム符号手段と、送信セグメント群の最初のセグメントが
第1のコンピュータに常駐するキャッシュに記憶された
セグメントに対応するかどうかを判定するコンピュータ
可読プログラム符号手段と、前記判定ステップで送信セ
グメント群の最初のセグメントが第2のコンピュータに
常駐するキャッシュに記憶されたセグメントに対応しな
いと判定された場合、送信セグメント群の最初のセグメ
ントに関連付けられた標識をキャッシュに記憶するコン
ピュータ可読プログラム符号手段と、前記判定コンピュ
ータ可読プログラム符号手段で送信セグメント群の最初
のセグメントが第1のコンピュータに常駐するキャッシ
ュに記憶されたセグメントに対応すると判定された場
合、端末エミュレータ・プロトコル・データ・ストリー
ムから得た送信セグメント群の最初のセグメントを細分
化通信プロトコル・データ・ストリーム内の送信セグメ
ント群の最初のセグメントの識別子と差し替えて、細分
化通信プロトコル・データ・ストリームを提供するコン
ピュータ可読プログラム符号手段を含む、上記(49)
に記載のコンピュータ・プログラム・プロダクト。 (52)外部通信リンク上で第2のコンピュータに常駐
するホスト・アプリケーションと通信し、端末エミュレ
ータ・プロトコルを使って第2のコンピュータと通信す
る第1のコンピュータに常駐する端末エミュレータ・ア
プリケーション用のコンピュータ・プログラム・プロダ
クトであって、対応する端末エミュレータ・プロトコル
・データ・ストリームと比較して外部通信リンク上での
削減された送信データ量を含み、第1のコンピュータに
すでに送信されているデータ・セグメントの認識および
差し替えに基づく送信された前記細分化通信プロトコル
・データ・ストリームを外部通信リンク上で受信するコ
ンピュータ可読プログラム符号手段と、受信した細分化
通信プロトコル・データ・ストリームから対応する端末
エミュレータ・プロトコル・データ・ストリームを再構
築するコンピュータ可読プログラム符号手段と、再構築
した端末エミュレータ・プロトコル・データ・ストリー
ムを端末エミュレータ・アプリケーションに提供するコ
ンピュータ可読プログラム符号手段を含むコンピュータ
・プログラム・プロダクト。 (53)前記受信コンピュータ可読プログラム符号手段
が無線通信リンク上で細分化通信プロトコル・データ・
ストリームを受信するコンピュータ可読プログラム符号
手段を含む、上記(52)に記載のコンピュータ・プロ
グラム・プロダクト。 (54)第1のコンピュータがキャッシュを含み、前記
再構築コンピュータ可読プログラム符号手段が、受信し
た送信済みの細分化通信プロトコル・データ・ストリー
ムを対応する端末エミュレータ・プロトコル・データ・
ストリームのセグメントに対応するセグメントにセグメ
ント化するコンピュータ可読プログラム符号手段と、受
信セグメント群の最初のセグメントが第1のコンピュー
タに常駐するキャッシュに記憶されたセグメントに対応
するかどうかを判定するコンピュータ可読プログラム符
号手段と、受信セグメント群の最初のセグメントが記憶
されたセグメントに対応するかどうかを判定するコンピ
ュータ可読プログラム符号手段で受信セグメント群の最
初のセグメントが第1のコンピュータに常駐するキャッ
シュに記憶されたセグメントに対応しないと判定された
場合、受信セグメント群の最初のセグメントをキャッシ
ュに記憶するコンピュータ可読プログラム符号手段と、
前記の受信セグメント群の最初のセグメントが記憶され
たセグメントに対応するかどうかを判定するコンピュー
タ可読プログラム符号手段で受信セグメント群の最初の
セグメントが第1のコンピュータに常駐するキャッシュ
に記憶されたセグメントに対応すると判定された場合、
受信セグメント群の最初のセグメントをキャッシュにあ
る対応する記憶されたセグメントと差し替えて、端末エ
ミュレータ・プロトコル・データ・ストリームを再構築
するコンピュータ可読プログラム符号手段を含む、上記
(52)に記載のコンピュータ・プログラム・プロダク
ト。
【図面の簡単な説明】
【図1】通信インターセプトおよびプロトコル変換を使
用した本発明の一実施形態による通信システムのブロッ
ク図である。
【図2】本発明の一実施形態によるアプリケーション側
のプロトコル・インターセプタが実行する動作を示す流
れ図である。
【図3】本発明の一実施形態による端末エミュレータ・
アプリケーション側のプロトコル・インターセプタが実
行する動作を示す流れ図である。
【図4】本発明の一実施形態によるキャッシュを用いた
ホスト・アプリケーション側の動作の変換ステップ動作
を示す流れ図である。
【図5】本発明の一実施形態による端末エミュレータ・
アプリケーション側の再構築ステップ動作を示す流れ図
である。
【図6】本発明の一実施形態による、通信セッションの
第1のコンピュータ側のチェックポイント・キャッシュ
を生成する際の動作を示す流れ図である。
【図7】本発明の一実施形態による、通信セッションの
対応する第2のコンピュータ側のチェックポイント・キ
ャッシュを生成する際の動作を示す流れ図である。
【図8】本発明の一実施形態による、チェックポイント
・キャッシュへアクティブなプロトコル・キャッシュを
コピーする動作を示す流れ図である。
【図9】本発明の一実施形態による、チェックポイント
・キャッシュを使って通信セッションのアクティブなプ
ロトコル・キャッシュを初期化する起動動作を示す流れ
図である。
【図10】本発明の一実施形態による、新しいチェック
ポイントが必要かどうかを判定する動作を示す流れ図で
ある。
【図11】単一のクライアント/サーバ・ペア間に複数
の同時セッションを開催する本発明の一実施形態によ
る、新しいチェックポイントが必要かどうかを判定し、
チェックポイントを生成する際に使用するセッションを
選択する動作を示す流れ図である。
【符号の説明】 10 本発明による装置 20 第1のコンピュータ 30 第2のコンピュータ 32 第2のコンピュータ30へのリンク 34 第1のコンピュータ20へのリンク 36 端末エミュレータ・アプリケーション 38 キャッシュ 40 クライアント・プロトコル・インターセプト(変
換アプリケーション) 42 ホスト・アプリケーション 44 キャッシュ 46 サーバ・プロトコル・インターセプト(変換アプ
リケーション)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビッド・ブルース・リンクィスト アメリカ合衆国07085 コネチカット州ユ ニオンヴィル グレート・オーク・レーン 15 (72)発明者 アジャム・アキンウミ・ウェスレイ アメリカ合衆国 ノースカロライナ州ロー リー カーディナル・ドライブ 500

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】第1のコンピュータに常駐する端末エミュ
    レータ・アプリケーションのパフォーマンスを向上さ
    せ、外部通信リンク上で端末エミュレータ・プロトコル
    を使って前記の第1のコンピュータから離れた第2のコ
    ンピュータに常駐するホスト・アプリケーションと通信
    する方法であって、 外部通信リンク上での端末エミュレータ・プロトコル・
    データ・ストリームの送信に先立って、ホスト・アプリ
    ケーションからの端末エミュレータ・プロトコル・デー
    タ・ストリームをインターセプトするステップと、 ホスト・アプリケーションが生成した端末エミュレータ
    ・プロトコル・データ・ストリームを、対応する端末エ
    ミュレータ・プロトコル・データ・ストリームと比較し
    て削減された送信データ量を含み、ホスト・アプリケー
    ションによってすでに送信されているデータ・セグメン
    トの認識および差し替えに基づく細分化通信プロトコル
    ・データ・ストリームへ変換するステップと、 細分化通信プロトコル・データ・ストリームを外部通信
    リンク上で第2のコンピュータから送信するステップ
    と、 送信された細分化通信プロトコル・データ・ストリーム
    を第1のコンピュータで受信するステップと、 受信した細分化通信プロトコル・データ・ストリームか
    ら端末エミュレータ・プロトコル・データ・ストリーム
    を再構築するステップと、 再構築した端末エミュレータ・プロトコル・データ・ス
    トリームを端末エミュレータ・アプリケーションに提供
    するステップを含む方法。
  2. 【請求項2】前記送信ステップが無線通信リンク上で細
    分化通信プロトコル・データ・ストリームを送信するス
    テップを含む、請求項1に記載の方法。
  3. 【請求項3】第1のコンピュータおよび第2のコンピュ
    ータがそれぞれキャッシュを含み、前記変換ステップ
    が、 端末エミュレータ・プロトコル・データ・ストリームを
    送信セグメントにセグメント化するステップと、 送信セグメント群の最初のセグメントの識別子を計算す
    るステップと、 送信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに記憶されたセグメントに対
    応するかどうか判定するステップと、 前記判定ステップで送信セグメント群の最初のセグメン
    トが第1のコンピュータに常駐するキャッシュに記憶さ
    れたセグメントに対応しないと判定された場合、送信セ
    グメント群の最初のセグメントに関連付けられた識別子
    を第2のコンピュータに常駐するキャッシュに記憶する
    ステップと、 前記判定ステップで送信セグメント群の最初のセグメン
    トが第1のコンピュータに常駐するキャッシュに記憶さ
    れたセグメントに対応すると判定された場合、端末エミ
    ュレータ・プロトコル・データ・ストリームから得た送
    信セグメント群の最初のセグメントを送信セグメント群
    の最初のセグメントの識別子と差し替えて、細分化通信
    プロトコル・データ・ストリームを提供するステップを
    含み、 前記再構築ステップが、 受信した送信済みの細分化通信プロトコル・データ・ス
    トリームを前記端末エミュレータ・プロトコル・データ
    ・ストリームのセグメント化ステップで得た端末エミュ
    レータ・プロトコル・データ・ストリームのセグメント
    に対応するセグメントにセグメント化するステップと、 受信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに記憶されたセグメントに対
    応するかどうか判定するステップと、 受信セグメント群の最初のセグメントが記憶されたセグ
    メントに対応するかどうか判定するステップで受信セグ
    メント群の最初のセグメントが第1のコンピュータに常
    駐するキャッシュに記憶されたセグメントに対応しない
    と判定された場合に、受信セグメント群の最初のセグメ
    ントを第1のコンピュータに常駐するキャッシュに記憶
    するステップと、 受信セグメント群の最初のセグメントが記憶されたセグ
    メントに対応するかどうか判定するステップで受信セグ
    メント群の最初のセグメントが第1のコンピュータに常
    駐するキャッシュに記憶されたセグメントに対応すると
    判定された場合に、受信セグメント群の最初のセグメン
    トを送信セグメント群の最初のセグメントの識別子に対
    応する第1のコンピュータに常駐するキャッシュに記憶
    されたセグメントと差し替えて、端末エミュレータ・プ
    ロトコル・データ・ストリームを再構築するステップを
    含む、請求項1に記載の方法。
  4. 【請求項4】前記判定ステップで送信セグメント群の最
    初のセグメントが第1のコンピュータに常駐するキャッ
    シュに以前に記憶されているセグメントに対応しないと
    判定された場合に、前記送信セグメント群の最初のセグ
    メントを差し替える前記ステップが送信セグメント群の
    最初のセグメントを細分化通信プロトコル・データ・ス
    トリームに含めるステップをさらに含む、請求項3に記
    載の方法。
  5. 【請求項5】送信セグメント群の最初のセグメントが以
    前に記憶されているセグメントに対応するかどうか判定
    するステップに続けて、 制御フィールドを送信セグメント群の最初のセグメント
    に関連付けるステップと、 送信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに記憶されているセグメント
    に対応しない場合に、制御フィールドに新しいセグメン
    トの表示を設定するステップと、 送信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに記憶されているセグメント
    に対応する場合に、制御フィールドに記憶されたセグメ
    ントの表示を設定するステップを含み、 送信セグメント群の最初のセグメントを差し替えるステ
    ップが制御フィールドを細分化通信プロトコル・データ
    ・ストリームに組み込むステップを含む、請求項4に記
    載の方法。
  6. 【請求項6】受信セグメント群の最初のセグメントが記
    憶されているセグメントに対応するかどうか判定する前
    記ステップが、対応する送信セグメント群の最初のセグ
    メントの制御フィールドに対応する受信セグメント群の
    最初のセグメントの制御フィールドが新しいセグメント
    を表示しているかどうか判定するステップを含む、請求
    項5に記載の方法。
  7. 【請求項7】送信セグメント群の最初のセグメントの識
    別子を計算する前記ステップが巡回冗長符号を使って送
    信セグメント群の最初のセグメントから識別子を計算す
    るステップを含む、請求項5に記載の方法。
  8. 【請求項8】前記提供ステップに続けて、 外部通信リンク上での第2の端末エミュレータ・プロト
    コル・データ・ストリームの送信に先立って、端末エミ
    ュレータ・アプリケーションからの第2の端末エミュレ
    ータ・プロトコル・データ・ストリームをインターセプ
    トするステップと、 キャッシュ同期化に関する情報を含む第2の端末エミュ
    レータ・プロトコル・データ・ストリームに制御フィー
    ルドを追加するステップと、 制御フィールドを含む第2の端末エミュレータ・プロト
    コル・データ・ストリームを外部通信リンク上で第1の
    コンピュータから送信するステップをさらに含む、請求
    項5に記載の方法。
  9. 【請求項9】前記提供ステップに続けて、 外部通信リンク上での第2の端末エミュレータ・プロト
    コル・データ・ストリームの送信に先立って、端末エミ
    ュレータ・アプリケーションからの第2の端末エミュレ
    ータ・プロトコル・データ・ストリームをインターセプ
    トするステップと、 端末エミュレータ・アプリケーションが生成した第2の
    端末エミュレータ・プロトコル・データ・ストリーム
    を、対応する第2の端末エミュレータ・プロトコル・デ
    ータ・ストリームと比較して削減された送信データ量を
    含み、すでに送信されているデータ・セグメントの認識
    および差し替えに基づいて、第2の細分化通信プロトコ
    ル・データ・ストリームへ変換するステップと、 第2の細分化通信プロトコル・データ・ストリームを外
    部通信リンク上で第1のコンピュータから送信するステ
    ップと、 送信された第2の細分化通信プロトコル・データ・スト
    リームを第2のコンピュータで受信するステップと、 受信した第2の細分化通信プロトコル・データ・ストリ
    ームから第2の端末エミュレータ・プロトコル・データ
    ・ストリームを再構築するステップと、 第2の再構築した端末エミュレータ・プロトコル・デー
    タ・ストリームをホスト・アプリケーションに提供する
    ステップを含む、請求項5に記載の方法。
  10. 【請求項10】前記提供ステップに続けて、 外部通信リンク上での第2の端末エミュレータ・プロト
    コル・データ・ストリームの送信に先立って、端末エミ
    ュレータ・アプリケーションからの第2の端末エミュレ
    ータ・プロトコル・データ・ストリームをインターセプ
    トするステップと、 端末エミュレータ・アプリケーションが生成した第2の
    端末エミュレータ・プロトコル・データ・ストリームを
    対応する第2の端末エミュレータ・プロトコル・データ
    ・ストリームと比較して削減された送信データ量を含
    み、すでに送信されているデータ・セグメントの認識お
    よび差し替えに基づいて、第2の細分化通信プロトコル
    ・データ・ストリームへ変換するステップと、 第2の細分化通信プロトコル・データ・ストリームを外
    部通信リンク上で第1のコンピュータから送信するステ
    ップと、 送信された第2の細分化通信プロトコル・データ・スト
    リームを第2のコンピュータで受信するステップと、 受信した第2の細分化通信プロトコル・データ・ストリ
    ームから第2の端末エミュレータ・プロトコル・データ
    ・ストリームを再構築するステップと、 第2の再構築した端末エミュレータ・プロトコル・デー
    タ・ストリームをホスト・アプリケーションに提供する
    ステップを含む、請求項1に記載の方法。
  11. 【請求項11】第2のコンピュータに常駐するホスト・
    アプリケーションの外部通信リンク上での通信のパフォ
    ーマンスを向上させ、端末エミュレータ・プロトコルを
    使って前記の第1のコンピュータから離れた第2のコン
    ピュータに常駐する端末エミュレータ・アプリケーショ
    ンと通信する方法であって、 外部通信リンク上での端末エミュレータ・プロトコル・
    データ・ストリームの送信に先立って、ホスト・アプリ
    ケーションからの端末エミュレータ・プロトコル・デー
    タ・ストリームをインターセプトするステップと、 ホスト・アプリケーションが生成した端末エミュレータ
    ・プロトコル・データ・ストリームを対応する端末エミ
    ュレータ・プロトコル・データ・ストリームと比較して
    削減された送信データ量を含み、ホスト・アプリケーシ
    ョンによってすでに送信されているデータ・セグメント
    の認識および差し替えに基づく細分化通信プロトコル・
    データ・ストリームへ変換するステップと、 細分化通信プロトコル・データ・ストリームを外部通信
    リンク上で第2のコンピュータから送信するステップを
    含む方法。
  12. 【請求項12】前記送信ステップが無線通信リンク上で
    細分化通信プロトコル・データ・ストリームを送信する
    ステップを含む、請求項11に記載の方法。
  13. 【請求項13】第1のコンピュータおよび第2のコンピ
    ュータがキャッシュを含み、前記変換ステップが、 端末エミュレータ・プロトコル・データ・ストリームを
    送信セグメントにセグメント化するステップと、 送信セグメント群の最初のセグメントの識別子を計算す
    るステップと、 送信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに以前に記憶されたセグメン
    トに対応するかどうか判定するステップと、 前記判定ステップで送信セグメント群の最初のセグメン
    トが第1のコンピュータに常駐するキャッシュに記憶さ
    れたセグメントに対応しないと判定された場合、送信セ
    グメント群の最初のセグメントに関連付けられた識別子
    を第2のコンピュータに常駐するキャッシュに記憶する
    ステップと、 前記判定ステップで送信セグメント群の最初のセグメン
    トが第1のコンピュータに常駐するキャッシュに記憶さ
    れたセグメントに対応すると判定された場合、端末エミ
    ュレータ・プロトコル・データ・ストリームから得た送
    信セグメント群の最初のセグメントを送信セグメント群
    の最初のセグメントの識別子と差し替えて、細分化通信
    プロトコル・データ・ストリームを提供するステップを
    含む、請求項11に記載の方法。
  14. 【請求項14】第1のコンピュータに常駐する端末エミ
    ュレータ・アプリケーションの外部通信リンク上での通
    信のパフォーマンスを向上させ、外部通信リンク上で端
    末エミュレータ・プロトコルを使って前記の第1のコン
    ピュータから離れた第2のコンピュータに常駐するホス
    ト・アプリケーションと通信する方法であって、 対応する端末エミュレータ・プロトコル・データ・スト
    リームと比較して削減された受信データ量を含み、ホス
    ト・アプリケーションによってすでに送信されているデ
    ータ・セグメントの認識および差し替えに基づく細分化
    通信プロトコル・データ・ストリームを第1のコンピュ
    ータで受信するステップと、 受信した細分化通信プロトコル・データ・ストリームか
    ら端末エミュレータ・プロトコル・データ・ストリーム
    を再構築するステップと、 再構築した端末エミュレータ・プロトコル・データ・ス
    トリームを端末エミュレータ・アプリケーションに提供
    するステップを含む方法。
  15. 【請求項15】前記受信ステップが無線通信リンク上で
    細分化通信プロトコル・データ・ストリームを受信する
    ステップを含む、請求項14に記載の方法。
  16. 【請求項16】第1のコンピュータがキャッシュを含
    み、前記再構築ステップが、 受信した送信済みの細分化通信プロトコル・データ・ス
    トリームを対応する端末エミュレータ・プロトコル・デ
    ータ・ストリームのセグメントに対応するセグメントに
    セグメント化するステップと、 受信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに記憶されたセグメントに対
    応するかどうか判定するステップと、 受信セグメント群の最初のセグメントが記憶されたセグ
    メントに対応するかどうか判定するステップで受信セグ
    メント群の最初のセグメントが第1のコンピュータに常
    駐するキャッシュに記憶されたセグメントに対応しない
    と判定された場合に、それを第1のコンピュータに常駐
    するキャッシュに記憶するステップと、 第1のコンピュータに常駐するキャッシュに記憶された
    対応するセグメントと差し替えて、端末エミュレータ・
    プロトコル・データ・ストリームを再構築するステップ
    を含む、請求項14に記載の方法。
  17. 【請求項17】第1のコンピュータに常駐する端末エミ
    ュレータ・アプリケーションのパフォーマンスを向上さ
    せ、外部通信リンク上で端末エミュレータ・プロトコル
    を使って前記の第1のコンピュータから離れた第2のコ
    ンピュータに常駐するホスト・アプリケーションと通信
    する装置であって、 外部通信リンク上での端末エミュレータ・プロトコル・
    データ・ストリームの送信に先立って、ホスト・アプリ
    ケーションからの端末エミュレータ・プロトコル・デー
    タ・ストリームをインターセプトする手段と、 ホスト・アプリケーションが生成した端末エミュレータ
    ・データ・ストリームを対応する端末エミュレータ・プ
    ロトコル・データ・ストリームと比較して削減された送
    信データ量を含み、ホスト・アプリケーションによって
    すでに送信されているデータ・セグメントの認識および
    差し替えに基づく細分化通信プロトコル・データ・スト
    リームへ変換する手段と、 細分化通信プロトコル・データ・ストリームを外部通信
    リンク上で第2のコンピュータから送信する手段と、 送信された細分化通信プロトコル・データ・ストリーム
    を第1のコンピュータで受信する手段と、 受信した細分化通信プロトコル・データ・ストリームか
    ら端末エミュレータ・プロトコル・データ・ストリーム
    を再構築する手段と、 再構築した端末エミュレータ・プロトコル・データ・ス
    トリームを端末エミュレータ・アプリケーションに提供
    する手段を含む装置。
  18. 【請求項18】前記送信手段が無線通信リンク上で細分
    化通信プロトコル・データ・ストリームを送信する手段
    を含む、請求項17に記載の装置。
  19. 【請求項19】第1のコンピュータおよび第2のコンピ
    ュータがそれぞれキャッシュを含み、前記変換手段が、 端末エミュレータ・プロトコル・データ・ストリームを
    送信セグメントにセグメント化する手段と、 送信セグメント群の最初のセグメントの識別子を計算す
    る手段と、 送信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに記憶されたセグメントに対
    応するかどうかを判定する手段と、 前記判定手段で送信セグメント群の最初のセグメントが
    第1のコンピュータに常駐するキャッシュに記憶された
    セグメントに対応しないと判定された場合、送信セグメ
    ント群の最初のセグメントに関連付けられた標識を第2
    のコンピュータに常駐するキャッシュに記憶する手段
    と、 前記判定手段で送信セグメント群の最初のセグメントが
    第1のコンピュータに常駐するキャッシュに記憶された
    セグメントに対応すると判定された場合、端末エミュレ
    ータ・プロトコル・データ・ストリームから得た送信セ
    グメント群の最初のセグメントを細分化通信プロトコル
    ・データ・ストリーム内の送信セグメント群の最初のセ
    グメントの識別子と差し替えて、細分化通信プロトコル
    ・データ・ストリームを提供する手段を含み、 前記再構築手段が、 受信した送信済みの細分化通信プロトコル・データ・ス
    トリームを前記端末エミュレータ・プロトコル・データ
    ・ストリームのセグメント化手段で得た端末エミュレー
    タ・プロトコル・データ・ストリームのセグメントに対
    応するセグメントにセグメント化する手段と、 受信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに記憶されたセグメントに対
    応するかどうか判定する手段と、 受信セグメント群の最初のセグメントが記憶されたセグ
    メントに対応するかどうか判定する手段で、受信セグメ
    ント群の最初のセグメントが第1のコンピュータに常駐
    するキャッシュに記憶されたセグメントに対応しないと
    判定された場合に、受信セグメント群の最初のセグメン
    トを第1のコンピュータに記憶する手段と、 受信セグメント群の最初のセグメントが記憶されたセグ
    メントに対応するかどうか判定する手段で、受信セグメ
    ント群の最初のセグメントが第1のコンピュータに常駐
    するキャッシュに記憶されたセグメントに対応すると判
    定された場合に、受信セグメント群の最初のセグメント
    が送信セグメント群の最初のセグメントの識別子に対応
    する第1のコンピュータに常駐するキャッシュに記憶さ
    れたセグメントと差し替えて、これによって端末エミュ
    レータ・プロトコル・データ・ストリームを再構築する
    手段を含む、請求項17に記載の装置。
  20. 【請求項20】前記判定手段で送信セグメント群の最初
    のセグメントが第1のコンピュータに常駐するキャッシ
    ュに以前に記憶されているセグメントに対応しないと判
    定された場合に、前記送信セグメント群の最初のセグメ
    ントを差し替える前記手段が送信セグメント群の最初の
    セグメントを細分化通信プロトコル・データ・ストリー
    ムに含める手段をさらに含む、請求項27に記載の装
    置。
  21. 【請求項21】制御フィールドを送信セグメント群の最
    初のセグメントに関連付け、 送信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに記憶されているセグメント
    に対応しない場合に、制御フィールドに新しいセグメン
    トの表示を設定し、 送信セグメント群の最初のセグメントが第1のコンピュ
    ータに常駐するキャッシュに記憶されているセグメント
    に対応する場合に、制御フィールドに以前に記憶された
    セグメントの表示を設定する手段を含み、 送信セグメント群の最初のセグメントを差し替える手段
    が制御フィールドを細分化通信プロトコル・データ・ス
    トリームに組み込む手段を含む、請求項20に記載の装
    置。
  22. 【請求項22】受信セグメント群の最初のセグメントが
    記憶されているセグメントに対応するかどうか判定する
    前記手段が、対応する送信セグメント群の最初のセグメ
    ントの制御フィールドに対応する受信セグメント群の最
    初のセグメントの制御フィールドが新しいセグメントを
    表示しているかどうか判定する手段を含む、請求項21
    に記載の装置。
  23. 【請求項23】送信セグメント群の最初のセグメントの
    識別子を計算する前記手段が巡回冗長符号を使用して送
    信セグメント群の最初のセグメントから識別子を計算す
    る手段を含む、請求項21に記載の装置。
  24. 【請求項24】外部通信リンク上での第2の端末エミュ
    レータ・プロトコル・データ・ストリームの送信に先立
    って、端末エミュレータ・アプリケーションからの第2
    の端末エミュレータ・プロトコル・データ・ストリーム
    をインターセプトする手段と、 キャッシュ同期化に関する情報を含む第2の端末エミュ
    レータ・プロトコル・データ・ストリームに制御フィー
    ルドを追加する手段と、 制御フィールドを含む第2の端末エミュレータ・プロト
    コル・データ・ストリームを外部通信リンク上で第1の
    コンピュータから送信する手段をさらに含む、請求項2
    1に記載の装置。
  25. 【請求項25】外部通信リンク上での第2の端末エミュ
    レータ・プロトコル・データ・ストリームの送信に先立
    って、端末エミュレータ・アプリケーションからの第2
    の端末エミュレータ・プロトコル・データ・ストリーム
    をインターセプトする手段と、 端末エミュレータ・アプリケーションが生成した第2の
    端末エミュレータ・プロトコル・データ・ストリームを
    対応する第2の端末エミュレータ・プロトコル・データ
    ・ストリームと比較して削減された送信データ量を含
    み、すでに送信されているデータ・セグメントの認識お
    よび差し替えに基づいて第2の細分化通信プロトコル・
    データ・ストリームへ変換する手段と、 第2の細分化通信プロトコル・データ・ストリームを外
    部通信リンク上で第1のコンピュータから送信する手段
    と、 送信された第2の細分化通信プロトコル・データ・スト
    リームを第2のコンピュータで受信する手段と、 受信した第2の細分化通信プロトコル・データ・ストリ
    ームから第2の端末エミュレータ・プロトコル・データ
    ・ストリームを再構築する手段と、 第2の再構築した端末エミュレータ・プロトコル・デー
    タ・ストリームをホスト・アプリケーションに提供する
    手段を含む、請求項21に記載の装置。
  26. 【請求項26】外部通信リンク上で第1のコンピュータ
    に常駐する端末エミュレータ・アプリケーションと通信
    し、端末エミュレータ・プロトコルを使って第1のコン
    ピュータと通信する第2のコンピュータに常駐するホス
    ト・アプリケーション用のプロトコル・インターセプタ
    であって、 外部通信リンク上での端末エミュレータ・プロトコル・
    データ・ストリームの送信に先立って、ホスト・アプリ
    ケーションからの端末エミュレータ・プロトコル・デー
    タ・ストリームをインターセプトする手段と、 ホスト・アプリケーションが生成した端末エミュレータ
    ・プロトコル・データ・ストリームを対応する端末エミ
    ュレータ・プロトコル・データ・ストリームと比較して
    外部通信リンク上での削減された送信データ量を含み、
    ホスト・アプリケーションによってすでに送信されてい
    るデータ・セグメントの認識および差し替えに基づく細
    分化通信プロトコル・データ・ストリームへ変換する手
    段と、 細分化通信プロトコル・データ・ストリームを外部通信
    リンク上で送信する手段を含むプロトコル・インターセ
    プタ。
  27. 【請求項27】前記送信手段が無線通信リンク上で細分
    化通信プロトコル・データ・ストリームを送信する手段
    を含む、請求項26に記載のプロトコル・インターセプ
    タ。
  28. 【請求項28】前記プロトコル・インターセプタに機能
    的に関連付けられたキャッシュを含み、 前記変換手段が、 端末エミュレータ・プロトコル・データ・ストリームを
    送信セグメントにセグメント化する手段と、 送信セグメント群の最初のセグメントの識別子を計算す
    る手段と、 送信セグメント群の最初のセグメントがキャッシュに記
    憶されたセグメントに対応するかどうかを判定する手段
    と、 前記判定手段で送信セグメント群の最初のセグメントが
    キャッシュに記憶されたセグメントに対応しないと判定
    された場合、送信セグメント群の最初のセグメントに関
    連付けられた標識をキャッシュに記憶する手段と、 前記判定手段で送信セグメント群の最初のセグメントが
    キャッシュに記憶されたセグメントに対応すると判定さ
    れた場合、端末エミュレータ・プロトコル・データ・ス
    トリームから得た送信セグメント群の最初のセグメント
    を細分化通信プロトコル・データ・ストリーム内の送信
    セグメント群の最初のセグメントの識別子と差し替え
    て、細分化通信プロトコル・データ・ストリームを提供
    する手段を含む、請求項26に記載のプロトコル・イン
    ターセプタ。
  29. 【請求項29】外部通信リンク上で第2のコンピュータ
    に常駐するホスト・アプリケーションと通信し、端末エ
    ミュレータ・プロトコルを使って第2のコンピュータと
    通信する第1のコンピュータに常駐する端末エミュレー
    タ・アプリケーション用のプロトコル・インターセプタ
    であって、 対応する端末エミュレータ・プロトコル・データ・スト
    リームと比較して削減された送信データ量を含み、第1
    のコンピュータにすでに送信されているデータ・セグメ
    ントの認識および差し替えに基づく送信された細分化通
    信プロトコル・データ・ストリームを受信する手段と、 受信した細分化通信プロトコル・データ・ストリームか
    ら対応する端末エミュレータ・プロトコル・データ・ス
    トリームを再構築する手段と、 再構築した端末エミュレータ・プロトコル・データ・ス
    トリームを端末エミュレータ・アプリケーションに提供
    する手段を含むプロトコル・インターセプタ。
  30. 【請求項30】前記受信手段が無線通信リンク上で細分
    化通信プロトコル・データ・ストリームを受信する手段
    を含む、請求項29に記載のプロトコル・インターセプ
    タ。
  31. 【請求項31】前記プロトコル・インターセプタに機能
    的に関連付けられたキャッシュを含み、 前記再構築手段が、 受信した送信済みの細分化通信プロトコル・データ・ス
    トリームを対応する端末エミュレータ・プロトコル・デ
    ータ・ストリームのセグメントに対応するセグメントに
    セグメント化する手段と、 受信セグメント群の最初のセグメントがキャッシュに記
    憶されたセグメントに対応するかどうかを判定する手段
    と、 受信セグメント群の最初のセグメントが記憶されたセグ
    メントに対応するかどうかを判定する手段で受信セグメ
    ント群の最初のセグメントがキャッシュに記憶されたセ
    グメントに対応しないと判定された場合、受信セグメン
    ト群の最初のセグメントをキャッシュに記憶する手段
    と、 前記の受信セグメント群の最初のセグメントが記憶され
    たセグメントに対応するかどうかを判定する手段で受信
    セグメント群の最初のセグメントがキャッシュに記憶さ
    れたセグメントに対応すると判定された場合、受信セグ
    メント群の最初のセグメントをキャッシュにある対応す
    る記憶されたセグメントと差し替えて、端末エミュレー
    タ・プロトコル・データ・ストリームを再構築する手段
    を含む、請求項29に記載のプロトコル・インターセプ
    タ。
  32. 【請求項32】第1のコンピュータに常駐する端末エミ
    ュレータ・アプリケーションのパフォーマンスを向上さ
    せ、外部通信リンク上で端末エミュレータ・プロトコル
    を使って前記の第1のコンピュータから離れた第2のコ
    ンピュータに常駐するホスト・アプリケーションと通信
    するためのコンピュータ可読記録媒体であって、 外部通信リンク上での端末エミュレータ・プロトコル・
    データ・ストリームの送信に先立って、ホスト・アプリ
    ケーションからの端末エミュレータ・プロトコル・デー
    タ・ストリームをインターセプトするコンピュータ可読
    プログラム符号手段と、 ホスト・アプリケーションが生成した端末エミュレータ
    ・プロトコル・データ・ストリームを対応する端末エミ
    ュレータ・プロトコル・データ・ストリームと比較して
    削減された送信データ量を含み、ホスト・アプリケーシ
    ョンによってすでに送信されているデータ・セグメント
    の認識および差し替えに基づく細分化通信プロトコル・
    データ・ストリームへ変換するコンピュータ可読プログ
    ラム符号手段と、 細分化通信プロトコル・データ・ストリームを外部通信
    リンク上で第2のコンピュータから送信するコンピュー
    タ可読プログラム符号手段と、 送信された細分化通信プロトコル・データ・ストリーム
    を第1のコンピュータで受信するコンピュータ可読プロ
    グラム符号手段と、 受信した細分化通信プロトコル・データ・ストリームか
    ら端末エミュレータ・プロトコル・データ・ストリーム
    を再構築するコンピュータ可読プログラム符号手段と、 再構築した端末エミュレータ・プロトコル・データ・ス
    トリームを端末エミュレータ・アプリケーションに提供
    するコンピュータ可読プログラム符号手段を含む、 前記コンピュータ・プログラム・プロダクト。
JP10108841A 1997-05-07 1998-04-20 通信方法、通信装置、プロトコル・インターセプタおよびコンピュータ可読記憶媒体 Expired - Fee Related JP2986097B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/852586 1997-05-07
US08/852,586 US5909569A (en) 1997-05-07 1997-05-07 Terminal emulator data stream differencing system

Publications (2)

Publication Number Publication Date
JPH10320322A true JPH10320322A (ja) 1998-12-04
JP2986097B2 JP2986097B2 (ja) 1999-12-06

Family

ID=25313720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10108841A Expired - Fee Related JP2986097B2 (ja) 1997-05-07 1998-04-20 通信方法、通信装置、プロトコル・インターセプタおよびコンピュータ可読記憶媒体

Country Status (5)

Country Link
US (1) US5909569A (ja)
EP (1) EP0877320B1 (ja)
JP (1) JP2986097B2 (ja)
KR (1) KR100333260B1 (ja)
DE (1) DE69821050T2 (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063088A (ja) * 2000-07-07 2002-02-28 Internatl Business Mach Corp <Ibm> データ通信方法
JP2002189608A (ja) * 2000-08-28 2002-07-05 Sony Corp 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置
JP2005507112A (ja) * 2001-10-22 2005-03-10 アップル・コンピューター・インコーポレーテッド 加速されたスクロールを行う方法および装置
US7388879B2 (en) 2000-08-28 2008-06-17 Sony Corporation Communication device and communication method network system and robot apparatus
US8866780B2 (en) 2007-12-03 2014-10-21 Apple Inc. Multi-dimensional scroll wheel
US8872771B2 (en) 2009-07-07 2014-10-28 Apple Inc. Touch sensing device having conductive nodes
US8933890B2 (en) 2003-11-25 2015-01-13 Apple Inc. Techniques for interactive input to portable electronic devices
US9354751B2 (en) 2009-05-15 2016-05-31 Apple Inc. Input device with optimized capacitive sensing
US9360967B2 (en) 2006-07-06 2016-06-07 Apple Inc. Mutual capacitance touch sensing device
US9367151B2 (en) 2005-12-30 2016-06-14 Apple Inc. Touch pad with symbols based on mode
US9405421B2 (en) 2006-07-06 2016-08-02 Apple Inc. Mutual capacitance touch sensing device
US9454256B2 (en) 2008-03-14 2016-09-27 Apple Inc. Sensor configurations of an input device that are switchable based on mode
US10139870B2 (en) 2006-07-06 2018-11-27 Apple Inc. Capacitance sensing electrode with integrated I/O mechanism
US10180732B2 (en) 2006-10-11 2019-01-15 Apple Inc. Gimballed scroll wheel
JP2019036766A (ja) * 2017-08-10 2019-03-07 日本電信電話株式会社 通信システム、通信方法および通信処理プログラム
US10353565B2 (en) 2002-02-25 2019-07-16 Apple Inc. Input apparatus and button arrangement for handheld device
US10866718B2 (en) 2007-09-04 2020-12-15 Apple Inc. Scrolling techniques for user interfaces

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010039564A1 (en) * 1997-10-20 2001-11-08 Victor Hahn Log on personal computer
US6480895B1 (en) * 1998-05-06 2002-11-12 International Business Machines Corporation Integration of objects including Java bytecodes with legacy 3270 applications
US6279041B1 (en) * 1998-11-13 2001-08-21 International Business Machines Corporation Methods, systems and computer program products for differencing data communications using a message queue
US6356943B2 (en) * 1998-12-14 2002-03-12 Emc Corporation Distance learning implementation
SE9902292L (sv) * 1999-06-17 2000-12-18 Mobilisys Ab Dator
US6757717B1 (en) * 1999-09-16 2004-06-29 Proxyconn, Inc. System and method for data access
US6983315B1 (en) * 2000-01-18 2006-01-03 Wrq, Inc. Applet embedded cross-platform caching
US7987217B2 (en) * 2000-05-12 2011-07-26 Oracle International Corporation Transaction-aware caching for document metadata
JP2002041471A (ja) * 2000-07-24 2002-02-08 Mitsubishi Electric Corp 情報採取システムおよび端末装置
US7809879B1 (en) * 2000-09-26 2010-10-05 International Business Machines Corporation Method and apparatus for providing stream linking in audio/video disk media
US6553455B1 (en) 2000-09-26 2003-04-22 International Business Machines Corporation Method and apparatus for providing passed pointer detection in audio/video streams on disk media
JP4020676B2 (ja) 2002-03-26 2007-12-12 株式会社東芝 Webシステム及びWebシステムの制御方法
JP3984086B2 (ja) 2002-03-27 2007-09-26 株式会社東芝 キャッシュサーバ、データ転送装置及びプログラム
US20040015537A1 (en) 2002-07-15 2004-01-22 Richard Doerksen Handheld client framework system
EP1480416A1 (en) * 2003-05-21 2004-11-24 Matsushita Electric Industrial Co., Ltd. Optimisation of routing table updates
US20060224702A1 (en) * 2005-03-31 2006-10-05 Patrick Schmidt Local workflows in a business process management system
US7877230B2 (en) * 2007-03-15 2011-01-25 Shunra Software Ltd. System and method for attributing a portion of a response time to an element of a virtual network
US8234327B2 (en) * 2007-03-30 2012-07-31 Netapp, Inc. System and method for bandwidth optimization in a network storage environment
JP5368474B2 (ja) * 2007-12-27 2013-12-18 ジー. マークス,ジェームス コンピュータ実行される方法
EP2360584B1 (en) 2010-01-13 2017-06-21 Software AG Mainframe data stream proxy and method for caching communication between emulators and mainframes
EP2354941B1 (en) * 2010-01-13 2020-06-10 Software AG Mainframe injection component and method for manipulating data packets communicated between emulators and mainframes
US20120078995A1 (en) * 2010-09-29 2012-03-29 Riverbed Technology, Inc. System and method for warming an optimization device
US8824569B2 (en) 2011-12-07 2014-09-02 International Business Machines Corporation High bandwidth decompression of variable length encoded data streams
US8909605B1 (en) 2013-02-28 2014-12-09 Emc Corporation Method and system for accelerating data movement using change information concerning difference between current and previous data movements
US8933824B1 (en) 2013-08-28 2015-01-13 International Business Machines Corporation Hardware decompression of deflate encoded data with multiple blocks
US9374106B2 (en) 2013-08-28 2016-06-21 International Business Machines Corporation Efficient context save/restore during hardware decompression of DEFLATE encoded data
US9800640B2 (en) 2013-10-02 2017-10-24 International Business Machines Corporation Differential encoder with look-ahead synchronization

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4386416A (en) * 1980-06-02 1983-05-31 Mostek Corporation Data compression, encryption, and in-line transmission system
US5282207A (en) * 1991-03-28 1994-01-25 Sprint International Communications Corp. Frame compression in integrated services networks
US5611038A (en) * 1991-04-17 1997-03-11 Shaw; Venson M. Audio/video transceiver provided with a device for reconfiguration of incompatibly received or transmitted video and audio information
EP0512174B1 (en) * 1991-05-08 1997-02-26 Semaphore, Inc. Parallel rule-based data transmission method and apparatus
US5379296A (en) * 1992-12-31 1995-01-03 Unisys Corporation Method and apparatus for interfacing a workstation to a plurality of computer platforms
US5592512A (en) * 1994-06-24 1997-01-07 Norand Corporation Adaptive display refresh and data compression in a radio frequency environment
US5666399A (en) * 1995-03-31 1997-09-09 Lucent Technologies Inc. Software architecture for providing communication features to different types of wireless telephones via different communication switching systems

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139822B2 (en) 2000-07-07 2006-11-21 International Business Machines Corporation Interception method and system for compensating disadvantageous characteristics of a communication protocol
JP2002063088A (ja) * 2000-07-07 2002-02-28 Internatl Business Mach Corp <Ibm> データ通信方法
JP2002189608A (ja) * 2000-08-28 2002-07-05 Sony Corp 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置
US7388879B2 (en) 2000-08-28 2008-06-17 Sony Corporation Communication device and communication method network system and robot apparatus
US9009626B2 (en) 2001-10-22 2015-04-14 Apple Inc. Method and apparatus for accelerated scrolling
JP2005507112A (ja) * 2001-10-22 2005-03-10 アップル・コンピューター・インコーポレーテッド 加速されたスクロールを行う方法および装置
US9977518B2 (en) 2001-10-22 2018-05-22 Apple Inc. Scrolling based on rotational movement
US8952886B2 (en) 2001-10-22 2015-02-10 Apple Inc. Method and apparatus for accelerated scrolling
US10353565B2 (en) 2002-02-25 2019-07-16 Apple Inc. Input apparatus and button arrangement for handheld device
US8933890B2 (en) 2003-11-25 2015-01-13 Apple Inc. Techniques for interactive input to portable electronic devices
US9367151B2 (en) 2005-12-30 2016-06-14 Apple Inc. Touch pad with symbols based on mode
US10890953B2 (en) 2006-07-06 2021-01-12 Apple Inc. Capacitance sensing electrode with integrated I/O mechanism
US9405421B2 (en) 2006-07-06 2016-08-02 Apple Inc. Mutual capacitance touch sensing device
US9360967B2 (en) 2006-07-06 2016-06-07 Apple Inc. Mutual capacitance touch sensing device
US10139870B2 (en) 2006-07-06 2018-11-27 Apple Inc. Capacitance sensing electrode with integrated I/O mechanism
US10359813B2 (en) 2006-07-06 2019-07-23 Apple Inc. Capacitance sensing electrode with integrated I/O mechanism
US10180732B2 (en) 2006-10-11 2019-01-15 Apple Inc. Gimballed scroll wheel
US12159028B2 (en) 2007-09-04 2024-12-03 Apple Inc. Scrolling techniques for user interfaces
US10866718B2 (en) 2007-09-04 2020-12-15 Apple Inc. Scrolling techniques for user interfaces
US8866780B2 (en) 2007-12-03 2014-10-21 Apple Inc. Multi-dimensional scroll wheel
US9454256B2 (en) 2008-03-14 2016-09-27 Apple Inc. Sensor configurations of an input device that are switchable based on mode
US9354751B2 (en) 2009-05-15 2016-05-31 Apple Inc. Input device with optimized capacitive sensing
US8872771B2 (en) 2009-07-07 2014-10-28 Apple Inc. Touch sensing device having conductive nodes
JP2019036766A (ja) * 2017-08-10 2019-03-07 日本電信電話株式会社 通信システム、通信方法および通信処理プログラム

Also Published As

Publication number Publication date
US5909569A (en) 1999-06-01
JP2986097B2 (ja) 1999-12-06
EP0877320A1 (en) 1998-11-11
KR19980086576A (ko) 1998-12-05
KR100333260B1 (ko) 2002-06-20
EP0877320B1 (en) 2004-01-14
DE69821050T2 (de) 2004-11-25
DE69821050D1 (de) 2004-02-19

Similar Documents

Publication Publication Date Title
JP2986097B2 (ja) 通信方法、通信装置、プロトコル・インターセプタおよびコンピュータ可読記憶媒体
US5907678A (en) Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request
US6061714A (en) Persistent cache synchronization and start up system
US7716306B2 (en) Data caching based on data contents
US5878213A (en) Methods, systems and computer program products for the synchronization of time coherent caching system
KR100295730B1 (ko) 통신링크를통해전송되는데이타의감소방법및장치
US5867661A (en) Method and apparatus of using virtual sockets for reducing data transmitted over a wireless communication link between a client web browser and a host web server using a standard TCP protocol
US5754774A (en) Client/server communication system
US20020161860A1 (en) Method and system for differential distributed data file storage, management and access
JP3962373B2 (ja) ピアツーピア式の電子コンテンツの広範囲の配布の方法および装置
US20050060316A1 (en) Extended file system
US20030145230A1 (en) System for exchanging data utilizing remote direct memory access
US6711572B2 (en) File system for distributing content in a data network and related methods
US20040199808A1 (en) State recovery and failover of intelligent network adapters
JPH10116236A (ja) 遅延コード化データ伝送
JP2002524793A (ja) 仮想ファイル・サーバ
CN110413568B (zh) 一种数据复用方法、装置、电子设备及存储介质
US6185617B1 (en) Construction and usage of a pre-warmed cache for client-server emulator
JP2006286013A (ja) オブジェクト状態転送方法,オブジェクト状態転送装置およびオブジェクト状態転送プログラム並びにそのプログラムの記録媒体
US7149976B2 (en) View multiplexer for use with a viewing infrastructure and a method of operation thereof
CN115102972B (zh) 一种存储nfs文件的方法、装置、设备及介质
US20260051970A1 (en) Real-Time History-Based Compression for Unreliable Network Connections
CN119806719A (zh) 一种云桌面剪切板数据处理的方法
CN121691315A (zh) 数据传输方法、云桌面系统、设备、存储介质和程序产品
McGregor MUUGlines

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees