JPH11500895A - クライアント/サーバ通信システム - Google Patents

クライアント/サーバ通信システム

Info

Publication number
JPH11500895A
JPH11500895A JP9529311A JP52931197A JPH11500895A JP H11500895 A JPH11500895 A JP H11500895A JP 9529311 A JP9529311 A JP 9529311A JP 52931197 A JP52931197 A JP 52931197A JP H11500895 A JPH11500895 A JP H11500895A
Authority
JP
Japan
Prior art keywords
server
client
computer
web browser
communication
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
JP9529311A
Other languages
English (en)
Other versions
JP3953109B2 (ja
Inventor
ビッテンガー、リード、リチャード
フランケル、マイケル、レヴィ
オーセル、バロン、コーネリュース
リンドクイスト、デヴィッド、ブルース
Original Assignee
アイビーエム コーポレーション
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 アイビーエム コーポレーション filed Critical アイビーエム コーポレーション
Publication of JPH11500895A publication Critical patent/JPH11500895A/ja
Application granted granted Critical
Publication of JP3953109B2 publication Critical patent/JP3953109B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 第1のコンピュータ上にあり、第1のコンピュータからは遠隔の第2のコンピュータ上にあるサーバ・アプリケーションと通信するクライアント・アプリケーションを有するクライアント/サーバ・システムのパフォーマンスを向上させる方法、装置、およびプログラム製品。クライアント・アプリケーションとサーバ・アプリケーションは、クライアントとサーバとの間の通信のためにクライアント/サーバ独立通信プロトコルを使用し、第1のコンピュータ内のクライアント・アプリケーションと第2のコンピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セグメントは外部通信リンクを介して行われる。この方法、装置、およびプログラム製品は、遠隔クライアントによって発信されたクライアント/サーバ独立通信プロトコルでの通信を、外部通信リンクで送信する前にインタセプトし、クライアントによって発信された通信を第2のクライアント/サーバ固有通信プロトコルに変換する。変換された通信は、外部通信リンクを介して送信され、外部通信リンクを介して送信された通信から受信される。外部通信リンクを介して受信した通信は、クライアント/サーバ固有通信プロトコルからクライアント/サーバ独立通信プロトコルに変換され、遠隔クライアントによって発信された通信はクライアント/サーバ独立通信プロトコルでサーバに供給される。差分計算、キャッシング、またはプロトコル縮小技法によって、外部通信リンクでのパフォーマンスが向上する。アプリケーションは、ウェブ・ブラウザおよびウェブ・サーバとすることができ、無線通信リンクを介して通信することもできる。

Description

【発明の詳細な説明】 クライアント/サーバ通信システム 発明の分野 本発明は、ウェブ・ブラウザとウェブ・サーバ間などのクライアント・サーバ ・アプリケーション間の通信に関する。具体的には、本発明は、一方のコンピュ ータがクライアント・アプリケーションを稼働させ、他方のコンピュータがサー バ・アプリケーションを稼働させている2台のコンピュータ間の低速通信または 無線通信リンクを介した通信に関する。 発明の背景 最近、「情報スーパーハイウェイ」に関して宣伝され、重要視されていること により、マスコミュニケーション媒体としてのインターネットがますます知られ 、受け入れられるようになってきた。複数のネットワークにまたがる通信と対話 のための実現可能な媒体としてインターネットがこのように広く認識されるよう になったことにより、コンピュータ・ネットワーク間の対話のためのインターネ ット標準化プロトコルに基づく大規模なユーザ基盤も確立されている。 インターネットのパラダイムは、インターネット・クライアント(ブラウザ) がインターネット・サーバと通信するクライアントーサーバ関係のパラダイムで ある。インターネッ トへのアクセスを拡大するために、クライアントとサーバが使用する通信プロト コルと言語が標準化されるようになった。これらのプロトコルには、クライアン トとサーバの間の通信に使用される通信プロトコルであるハイパーテキスト転送 プロトコル(HTTP)と、伝送制御プロトコル/インターネット・プロトコル (TCP/IP)がある。TCP/IPのTCP部分は、コンピュータ間または アプリケーション間の通信のためのトランスポート固有のプロトコルである。ク ライアントとサーバが通信する言語も標準化されており、これはハイパーテキス ト・マークアップ言語(HTML)と呼ばれる。これらのプロトコルと言語は機 械から独立しており、コネクションレスの最善のプロトコルを使用して情報を送 信し、各トランザクションは完全に自己完結している。したがって、たとえば、 クライアントからの各メッセージにはブラウザの機能に関する情報が含まれ、通 信を完結させるために他のどの通信からも独立している。クライアントとサーバ の間の通信のこの自己完結性は「ステートレス」通信と呼ばれることがあり、こ れは所与の通信のためにクライアントとサーバの間で伝送しなければならないデ ータの量を増大させる。 ワールド・ワイド・ウェブのクライアント/サーバ・アプリケーションの関連 では、ユーザ・インタフェースとして機能するウェブ・ブラウザがクライアント であろう。ウェブ・ブラウザは適切なウェブ・サーバにユーザ要求を送り、ウェ ブ・サーバから返されたHTMLデータのフォーマットと表 示を行う。また、ウェブ・ブラウザはHTMLデータを評価して、ブラウザが発 行する後続のブラウザ要求を必要とすることになるハイパーリンク・ステートメ ントがHTMLデータに埋め込まれていないかどうかを判断する。ウェブ・サー バはクライアントのためのサーバの役割を果たし、ウェブ・ブラウザ要求を処理 し、要求された応答をHTTPデータ・ストリームのHTMLデータ部分として 返す。 典型的なワールド・ワイド・ウェブ通信の例として、ウェブ・ブラウザがウェ ブ・サーバに対して「ホーム・ページ」を求める要求を出す事例を用いて、HT TPとHTMLとTCPとウェブ・ブラウザとウェブ・サーバとの間の基本的な 関係を例示する。ウェブ・ブラウザのユーザが特定のウェブ・サイトに対して情 報を要求すると、ウェブ・ブラウザはウェブ・サーバに所望のウェブ・サイト( この例では「ホーム・ページ」)のユニバーサル・リソース・ロケータ(URL )を指定する「get」要求を送ることによって、ウェブ・サーバの通信を開始 する。URLはウェブ・サイトのアドレスの役割を果たし、インターネット全体 を通じて固有である。次にウェブ・サーバは、URLで指定されたホーム・ペー ジに対応するHTMLデータを入手してウェブ・ブラウザに供給する。この操作 には、インターネット・ウェブ・サーバによるインターネット上での通信がさら に必要となったり、ブラウザが接続しているローカル・ネットワーク内にあるサ ーバをURLによって指定する必要がある場合がある。次にウ ェブ・ブラウザはウェブ・サーバからHTTPデータ・ストリームとして受け取 ったHTMLデータを評価して、アイコンやイメージなどのハイパーリンクが埋 め込まれていないかどうかを調べ、そのようなハイパーリンクがある場合は、そ のハイパーリンクのURLを指定する要求を出して、指定されたデータを入手す る。このデータはホーム・ページに組み込まれ、ユーザに対して表示されること になる。この単純な例でわかるように、ウェブ・ブラウザによる1つのユーザ入 力要求の結果、ユーザ要求に対応するHTMLデータの受信に応答してウェブ・ ブラウザが自動的に複数の追加の要求を行うことになる。 インターネット・ベースのシステムの基本的な通信構造を第1図に示す。第1 図では、ウェブ・ブラウザ10が通信リンク15を介してウェブ・サーバ20と 通信する。この通信リンクは典型的にはローカル・エリア・ネットワーク接続、 ワイド・エリア・ネットワーク接続、電話回線による接続、または各種接続方法 の組合せである。ウェブ・ブラウザ10はTCP/IPを使用してウェブ・サー バ20と通信する。インターネット通信では一般に、ウェブ・ブラウザは、ウェ ブ・ブラウザとウェブ・サーバの間のTCP/IPリンクを介してウェブ・ブラ ウザとウェブ・サーバの間で伝送される汎用通信プロトコルHTTPを使用して 、ウェブ・サーバと通信する。ウェブ・ブラウザ10とウェブ・サーバ20の間 で伝送される実データは前述のHTTPデータ・オブジェク ト(たとえばHTMLデータ)である。ウェブ・サーバ20はいくつかのウェブ ・ブラウザからウェブ・ブラウザ通信を受け取り、それらを適切なサーバにルー ティングするプロキシとすることもできる。 ウェブ・ブラウザ/ウェブ・サーバと、それらの共通の情報とトランスポート ・プロトコルであるHTMLとHTTPの普及によって、ウェブ技法が情報への ネットワーク・アクセスのための汎用インタフェースとして急速に受け入れられ るようになった。さらに、ウェブ・ブラウザとウェブ・サーバの間の通信のため のプロトコルと言語が標準化されているため、ユーザがネットワーク情報にアク セスするためのウェブ・ブラウザとしてNetscape Navigator TM、NCSA、MosaicTM、WebExplorerTM、または他の どのブラウザを使用するかを問わず、通信プロトコルおよび言語は同じになる。 したがって、ウェブ・ブラウザの大規模なインストール済みユーザ基盤と、イン タフェースの接続性と、HTTP定義の共通ゲートウェイ・インタフェース(C GI)を使用したウェブ・アプリケーション・サーバの作成の容易さとが組合わ さって、ウェブ技法を大規模なクラスの書式ベース・アプリケーションにとって きわめて魅力的なものにしている。 インタフェースの普及と受け入れの拡大と同時に、移動体コンピューティング も普及している。ラップトップ、ノートブック、パーソナル・ディジタル/通信 アシスタント(PD A/PCA)およびその他の携帯用装置の使用によって、無線通信の需要が増大 している。しかし、無線ワイド・エリア・ネットワーク、セルラ通信、およびパ ケット無線には、ウェブの環境で使用した場合に共通の制約がある。1バイト当 たりの高い通信コストと、遅い応答時間と、低帯域幅と、信頼性のなさはすべて 、ワールド・ワイド・ウェブのステートレス通信プロトコルに無線技法を使用す るのを阻害している。また、ウェブ・プロトコルはステートレスであるため、1 要求当たりのデータ量と無線接続を介して伝送される要求の数は、通信が自己完 結型でない場合に必要となる量と数よりも大きい。したがって、無線技法または いずれかの低速通信技法をウェブ技法と組み合わせることは、ウェブ技法の汎用 的性質の強さによって無線技法の弱点がさらにひどくなるため実際的ではないと 思われる。 発明の目的と概要 上記の制約に鑑みて、本発明の目的は、無線通信などの低速通信環境において ワールド・ワイド・ウェブ技法のインストール済みユーザ基盤を利用することで ある。 本発明の他の目的は、ウェブ・ブラウザまたはウェブ・サーバのアプリケーシ ョンに変更を加える必要なしに低速または無線通信システムにおいて既存の通信 プロトコルおよび言語を使用することである。 本発明の他の目的は、必要な通信量を減らし、それによっ て通信システムのパフォーマンスを向上させる、外部通信リンクを介した通信方 法を提供することである。 上記およびその他の目的に鑑みて、本発明は、第1のコンピュータ上にあり、 ハイパーテキスト転送プロトコル(HTTP)を使用して第1のコンピュータか らは遠隔の第2のコンピュータ上にあるウェブ・サーバ・アプリケーションと通 信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上させる方法 を提供する。第1のコンピュータにおけるウェブ・ブラウザ・アプリケーション と第2のコンピュータにおけるウェブ・サーバ・アプリケーションとの間の通信 の少なくとも1つのセグメントは外部通信リンクを介して行われる。本発明の方 法の一実施例は、ウェブ・ブラウザによって発信された通信に対応するHTTP データ・ストリームを、外部通信リンクで送信される前にインタセプトすること を含む。ウェブ・ブラウザによって開始されたインタセプトされたHTTPデー タ・ストリームを、HTTPプロトコルからクライアント/サーバ固有の通信プ ロトコルに変換し、変換されたウェブ・ブラウザ発信通信をクライアント/サー バ固有のデータ・ストリームとして外部通信リンクを介して第2のコンピュータ に送信する。第2のコンピュータは、外部通信リンクを介して送られたクライア ント/サーバ固有データ・ストリームを受け取り、クライアント/サーバ固有通 信プロトコルで受け取ったクライアント/サーバ固有データ・ストリームをHT TPデータ・ストリームに変換すること によって、外部通信リンクを介して受け取ったクライアント/サーバ固有データ ・ストリームから、ウェブ・ブラウザからの通信に対応するHTTPデータ・ス トリームを再構築する。ウェブ・ブラウザによて発信された通信はHTTPデー タ・ストリームとしてウェブ・サーバに供給される。 本発明の他の実施例では、変換されたウェブ・ブラウザ発信通信は無線通信リ ンクを介して伝送される。 第1のコンピュータ内にあるキャッシュを使用する本発明の他の態様は、ウェ ブ・サーバとのウェブ・ブラウザ発信通信に応答してウェブ・ブラウザが受け取 るHTTPデータ・ストリームを、第1のコンピュータにあるキャッシュに格納 し、ウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクライアント・キ ャッシュ項目を作成するステップをさらに含む。ウェブ・ブラウザ発信通信に問 い合わせて、ウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項 目があるかどうかを判断する。ウェブ・ブラウザ発信通信に対応するクライアン ト・キャッシュ項目がある場合、ウェブ・ブラウザ発信通信に応答してそのクラ イアント・キャッシュ項目がHTTPデータ・ストリームとしてウェブ・ブラウ ザに供給される。 本発明の他の態様は、特定のウェブ・ブラウザ情報要求に関連づけられたユー ザ定義情報を格納して、第1のコンピュータ内にあるユーザ定義情報が供給され るようにするステップを含む。ウェブ・ブラウザ発信通信に問い合わせて、ウェ ブ・ブラウザによって要求された情報が、ユーザ定義情報が格納されている要求 に対応しているかどうかを判断し、ウェブ・ブラウザ通信がユーザ提示情報が格 納されている要求に対応している場合は、ウェブ発信通信に応答してそのユーザ 定義格納情報をHTTPデータ・ストリームとしてウェブ・ブラウザに供給する 。 時間コヒーレント・キャッシュを使用する本発明の他の実施例は、クライアン ト・キャッシュ項目の作成時刻を格納してクライアント・キャッシュ項目時間レ コードを作成するステップと、クライアント・キャッシュ項目時間レコードを評 価してウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目がウ ェブ・ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間間 隔内に作成されたかどうかを判断するステップとを含む。クライアント・キャッ シュ項目がウェブ・ブラウザが情報を要求する前の所定のクライアント・コヒー レンシ時間間隔内に作成された場合は、ウェブ・ブラウザ発信通信に応答してク ライアント・キャッシュ項目がHTTPデータ・ストリームとしてウェブ・ブラ ウザに供給される。クライアント・キャッシュ項目はウェブ・ブラウザの複数の インスタンスにわたって維持することもできる。 本発明の他の態様は、ブラウザ発信通信に応答してウェブ・サーバから受け取 ったHTTPデータ・ストリームを第2のコンピュータ内のキャッシュに格納し てサーバ要求キャッ シュ・項目を作成するサーバ・キャッシュを含む。ウェブ・ブラウザ発信通信に 問い合わせて、ブラウザ発信通信に対応するサーバ要求キャッシュ項目が前にキ ャッシュに格納されているかどうかを判断する。サーバ・キャッシュ項目が存在 す場合、ブラウザ発信通信に関連づけられたサーバ・キャッシュ項目がクライア ント/サーバ固有通信プロトコルに変換され、外部通信リンクを介してクライア ント/サーバ固有データ・ストリームとして第1のコンピュータに送られる。第 1のコンピュータは、外部リンクを介して送られたクライアント/サーバ固有デ ータ・ストリームを入手し、クライアント/サーバ固有通信プロトコルで受け取 ったクライアント/サーバ固有データ・ストリームをHTTPデータ・ストリー ムに変換することによって、外部通信リンクを介して受け取ったクライアント/ サーバ固有データ・ストリームからクライアント/サーバ固有データ・ストリー ムからサーバ要求キャッシュ項目に対応するHTTPデータ・ストリームを再構 築する。ウェブ・ブラウザが受け取った情報に対応するサーバ要求キャッシュ項 目は、HTTPデータ・ストリームとしてウェブ・ブラウザに供給される。 本発明のキャッシュ態様の他の実施例は、ウェブ・ブラウザ発信通信に対応す るサーバ要求キャッシュ項目が第2のコンピュータがウェブ・ブラウザ発信通信 を受け取る前の所定のクライアント・コヒーレンシ時間間隔内に作成されたかど うかを判断するステップと、サーバ要求キャッシュ項目が所 定のクライアント・コヒーレンシ時間間隔内に作成された場合は、ウェブ・ブラ ウザ発信通信に対応するサーバ要求キャッシュ項目をクライアント/サーバ固有 通信プロトコルに変換するステップとを含む。他の実施態様は、ウェブ・ブラウ ザ発信通信に対応するサーバ・キャッシュ項目と同じウェブ・ブラウザ発信通信 に対応するクライアント・キャッシュ項目が存在するかどうかを判断するステッ プを含む。第2のコンピュータがウェブ・ブラウザ発信通信を受け取った時点と ウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が作成された時 点との間の時間間隔を計算して項目エージ・データを求める。2つのキャッシュ 項目が同じ場合は、ウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項 目の項目エージ・データを含むコヒーレント項目応答を外部通信リンクを介して 第1のコンピュータに送る。ウェブ・ブラウザ発信通信に対応するクライアント ・キャッシュ項目時間レコードは、第1のコンピュータの現在時刻から、コヒー レント項目応答から受け取った項目エージ・データを差し引くことによって更新 される。 差分を計算して外部通信リンク上のデータを削減する本発明の実施例では、ウ ェブ・ブラウザ発信通信は共通ゲートウェイ・インタフェース(CGI)要求に 対応する。インタセプトされたCGI要求に問い合わせて、インタセプトされた CGI要求に対応するクライアント・ベース・キャッシュ項目が存在するかどう かを判断し、クライアントCGIベース 書式を提供する。インタセプトされたCGI要求に問い合わせて、インタセプト されたCGI要求に対応するサーバ・ベース・キャッシュ項目が存在するかどう かも判断し、サーバCGIベース書式を提供する。共通ゲートウェイ・インタフ ェース(CGI)に対する要求であるブラウザ発信通信に応答してウェブ・サー バから受け取ったHTTPデータ・ストリームを第2のコンピュータにあるキャ ッシュに格納してサーバ・ベース・キャッシュ項目を作成し、CGIに対する要 求であるブラウザ発信通信に応答してウェブ・ブラウザに提供されるHTTPデ ータ・ストリームを第1のコンピュータにあるキャッシュに格納してクライアン ト・ベース・キャッシュ項目を作成する。インタセプトされたCGI要求に応答 してウェブ・サーバによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで伝送される前にインタセプトする。インタセプトされ たCGI応答をサーバCGIベース書式と比較して、インタセプトされたCGI 応答とサーバCGIベース書式との差に対応するCGI差分データを求め、その CGI差分データを外部通信リンクを介してクライアント/サーバ固有データ・ ストリームとして第1のコンピュータのウェブ・ブラウザに送る。第2のコンピ ュータによって外部通信リンクを介して送られたクライアント/サーバ固有デー タ・ストリームを第1のコンピュータが獲得し、クライアントCGIベース書式 を外部通信リンクを介して受け取ったCGI差分データと結合してインタセプト されたCGI応答に対応するHTTPデータ・ストリームを作成することによっ て、ウェブ・サーバからの通信に対応するHTTPデータ・ストリームが外部通 信リンクを介して受信したクライアント/サーバ固有データ・ストリームから再 構築される。ウェブ・サーバによって発信された通信はウェブ・ブラウザにHT TPデータ・ストリームとして供給される。 本発明の差分計算態様のベース変更計算実施例は、サーバCGIベース書式が クライアントCGIベース書式と同じかどうかを判断し、サーバCGIベース書 式とCGI差分データを外部通信リンクを介してクライアント/サーバ固有デー タ・ストリームとしてウェブ・ブラウザに送る。サーバCGIベース書式を、外 部通信リンクを介して受け取ったCGI差分データと結合してインタセプトされ たCGI応答に対応するHTTPデータ・ストリームを作成することによって、 外部通信リンクを介して受け取ったクライアント/サーバ固有データ・ストリー ムから、ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再 構築する。CGI要求に対応するクライアントCGIベース書式は、受け取った サーバCGIベース書式をCGI要求に対応するクライアント・ベース・キャッ シュ項目として格納することによって更新される。 本発明の他の態様では、サーバCGIベース書式は、サーバCGIベース書式 とCGI応答との間の差が事前定義差分 しきい値より大きいかどうかを判断することによって更新することもできる。C GI差分データおよび比較が第1のコンピュータに送られる更新されたサーバC GIベース書式を使用する場合、CGI要求に対応するサーバ・ベース・キャッ シュ項目としてウェブ・サーバから受け取ったCGI応答を格納することによっ てCGI要求に対応するサーバCGIベース書式を更新することができる。 本発明のプロトコル縮小態様では、外部通信リンクを介して第1のコンピュー タと第2のコンピュータの間に持続的接続を確立する。この持続的接続は、すべ てのウェブ・ブラウザ発信通信が完了するまで維持される。持続的接続が維持さ れている間に複数のウェブ・ブラウザ発信通信がインタセプトされ、多重化され て外部通信リンクに送られる。次にクライアント/サーバ固有データ・ストリー ムを多重化解除して複数のHTTPデータ・ストリームを作成し、その複数のH TTPデータ・ストリームをウェブ・サーバに送る。 本発明のヘッダ削減態様は、外部通信リンクを介して第2のコンピュータに、 第1のコンピュータの所定の特性に対応するコンピュータ固有情報を供給し、第 1のコンピュータの所定の特性に対応するコンピュータ固有情報を格納して、ブ ラウザ・ヘッダ情報を提供する。第1のコンピュータはウェブ・ブラウザ発信通 信からこのコンピュータ固有情報を取り除き、第2のコンピュータは格納された ブラウザ・ヘッダ情報をクライアント/サーバ固有データ・ストリームと結合し てHTTPデータ・ストリームを作成する。 本発明の他の態様では、ウェブ・サーバによって発信された通信に対応するH TTPデータ・ストリームが、HTTPデータ・ストリームを外部通信リンクで 送る前にキャプチャされ、HTTPプロトコルからクライアント/サーバ固有通 信プロトコルに変換される。変換されたウェブ・サーバ発信通信は外部通信リン クを介してクライアント/サーバ固有データ・ストリームとしてウェブ・ブラウ ザに送られる。第1のコンピュータは外部通信リンクを介して送信されたクライ アント/サーバ固有データ・ストリームを獲得し、クライアント/サーバ固有通 信プロトコルで受け取ったクライアント/サーバ固有データ・ストリームをHT TPデータ・ストリームに変換することによって、ウェブ・サーバからの通信に 対応するHTTPデータ・ストリームを外部通信リンクを介して受け取ったクラ イアント/サーバ固有データ・ストリームから再構築する。ウェブ・サーバによ って発信された通信はHTTPデータ・ストリームとしてウェブ・ブラウザに供 給される。 本発明のヘッダ削減態様の他の実施例は、第1のコンピュータに外部通信リン クを介して第2のコンピュータの所定の特性に対応するコンピュータ固有情報を 供給するステップと、第2のコンピュータの所定の特性に対応するコンピュータ 固有常用を格納してサーバ・ヘッダ情報を提供するステップとを含む。第2のコ ンピュータは、ウェブ・サーバ発信通信か らコンピュータ固有情報を取り除き、第1のコンピュータはサーバ・ヘッダ情報 をクライアント/サーバ固有データ・ストリームと結合してHTTPデータ・ス トリームを作成する。 本発明のプロトコル縮小態様の他の実施例では、外部通信リンクを介して第1 のコンピュータと第2のコンピュータとの間に持続的接続を確立する。この持続 的接続を、全てのウェブ・サーバ発信通信が完了するまで維持する。持続的接続 を維持している間に複数のウェブ・サーバ発信通信をインタセプトし、外部通信 リンクに多重化して送る。クライアント/サーバ固有データ・ストリームを多重 化解除して複数のHTTPデータ・ストリームを作成し、その複数のHTTPデ ータ/ストリームをウェブ・サーバに供給することができる。 本発明の他の実施例は、第1のコンピュータ上にあり、第1のコンピュータか ら遠隔にある第2のコンピュータ上にあるサーバ・アプリケーションと通信する クライアント・アプリケーションを有するクライアント/サーバ・システムのパ フォーマンスを向上させる方法を提供する。クライアント・アプリケーションと サーバ・アプリケーションは、クライアントとサーバの間の通信のためにクライ アント/サーバから独立した通信プロトコル(すなわちステートレス)を使用し 、第1のコンピュータにあるクライアント・アプリケーションと第2のコンピュ ータにあるサーバ・アプリケーションとの間の通信の少なくとも1セグメントが 外部通信リンクを介して行われる。この方法は、クライアント/サーバ独立通信 プ ロトコルで遠隔クライアントから発信された通信を、その通信が外部通信リンク で送られる前にインタセプトするステップを含む。クライアントから発信された インタセプトされた通信は、第2のクライアント/サーバ固有通信プロトコルに 変換され、外部通信リンクを介して伝送される。第2のコンピュータが、外部通 信リンクを介して送られた通信を受信し、外部通信リンクを介して受信した通信 をクライアント/サーバ固有通信プロトコルからクライアント/サーバ独立通信 プロトコルに変換する。遠隔クライアントによって発信された通信はクライアン ト・サーバ独立通信プロトコルでサーバに共有される。本発明の他の態様は、サ ーバからクライアント/サーバ独立通信プロトコルで発信された通信を、外部通 信ンクで送信する前にインタセプトするステップを組み込む。インタセプトされ た通信は、第2のクライアント/サーバ固有通信プロトコルに変換され、外部通 信リンクを介して送信される。この通信を外部通信リンクで第1のコンピュータ が受け取り、クライアント/サーバ固有通信プロトコルからクライアント・サー バ独立プロトコルに変換する。サーバによって発信された通信はクライアント/ サーバ独立通信プロトコルで遠隔クライアントに供給される。 当業者ならわかるように、本発明の前述の態様は装置またはコンピュータ可読 プログラム手段としても提供することができる。 図面の簡単な説明 第1図は、典型的なウェブ・ブラウザ/ウェブ・サーバ・システムを示すブロ ック図である。 第2図は、クライアント・インタセプトとサーバ・インタセプトを使用する本 発明の一実施態様によるウェブ・ブラウザ/ウェブ・サーバ・システムを示すブ ロック図である。 第3図は、コヒーレント・キャッシュ・システムを実施する本発明の好ましい 実施例において、クライアント側インタセプト・モジュールによって行われる操 作を図示する流れ図である。 第4図は、コヒーレント・キャッシュ・システムを実施する本発明の好ましい 実施例において、クライアント側インタセプト・モジュールによって行われる操 作を図示する流れ図である。 第5図は、コヒーレント・キャッシュ・システムを実施する本発明の好ましい 実施例において、サーバ側インタセプト・モジュールによって行われる操作を図 示する流れ図である。 第6図は、コヒーレント・キャッシュ・システムを実施する本発明の好ましい 実施例において、サーバ側インタセプト・モジュールによって行われる操作を図 示する流れ図である。 第7図は、差分計算データ転送システムを実施する本発明の好ましい実施例に おいて、クライアント側インタセプト・モジュールによって行われる操作を図示 する流れ図である。 第8図は、差分計算データ転送システムを実施する本発明 の好ましい実施例において、クライアント側インタセプト・モジュールによって 行われる操作を図示する流れ図である。 第9図は、差分計算データ転送システムを実施する本発明の好ましい実施例に おいて、サーバ側インタセプト・モジュールによって行われる操作を図示する流 れ図である。 第10図は、差分計算転送システムを実施する本発明の好ましい実施例におい て、サーバ側インタセプト・モジュールによって行われる操作を図示する流れ図 である。 第11図は、仮想ソケットを使用する本発明の一態様を示すブロック図である 。 第12図は、仮想ソケットを使用する本発明の一実施例による、クライアント 側インタセプト・モジュールとサーバ側インタセプト・モジュールを示すブロッ ク図である。 第13図は、仮想ソケットを使用する本発明の一実施例による、クライアント 側インタセプト・モジュールまたはサーバ側インタセプト・モジュールのソケッ ト・マネージャによって行われる操作を図示する流れ図である。 第14図は、仮想ソケットを使用する本発明の一実施例において、クライアン ト側インタセプト機能によって行われる操作を図示する流れ図である。 第15図は、仮想ソケットを使用する本発明の一実施例において、サーバ側イ ンタセプト機能によって行われる操作を図示する流れ図である。 第16−1図は、仮想ソケットを使用する本発明の一実施 例による、仮想作成操作を図示する流れ図である。 第16−2図は、仮想ソケットを使用する本発明の一実施例による仮想送信操 作を図示する流れ図である。 第16−3図は、仮想ソケットを使用する本発明の一実施例による仮想受信操 作を図示する流れ図である。 第16−4図は、仮想ソケットを使用する本発明の一実施例による仮想選択操 作を図示する流れ図である。 第17−1図は、仮想ソケットを使用する本発明の一実施例による仮想フラッ シュ操作を図示する流れ図である。 第17−2図は、仮想ソケットを使用する本発明の一実施例による仮想クロー ズ操作を図示する流れ図である。 詳細な説明 以下に、本発明の好ましい実施例が図示されている添付図面を参照しながら本 発明について詳述する。しかし、本発明は多くの異なる態様で実施することがで き、本明細書に記載の実施例に限定されるものと解釈してはならない。これらの 実施例は、本開示を綿密かつ十全なものとし、本発明の範囲を当業者に完全に伝 えるために示すものである。全体を通じて同様の番号は同様の要素を指す。 第3図ないし第10図と第13図ないし第17−2図は、本発明による方法お よびシステムを示すフローチャートである。フローチャートの各ブロックと、フ ローチャートのブロックの組合せは、コンピュータ・プログラム命令によって実 施することができることがわかるであろう。これらのコンピュータ・プログラム 命令は、コンピュータまたはその他のプログラム式装置にロードし、それによっ てコンピュータまたはその他のプログラム式装置上で実行される命令がフローチ ャートの1つまたは複数のブロックに指定されている機能を実施する手段を生じ させるように機械を作り出すことができる。これらのコンピュータ・プログラム 命令を、コンピュータまたはその他のプログラム式装置に対して特定の方式で機 能するように指示することができるコンピュータ可読メモリに格納し、それによ ってコンピュータ可読メモリに格納された命令がフローチャートの1つまたは複 数のブロックに指定されている機能を実施する命令手段を含む製品を作り出すよ うにすることができる。また、コンピュータ・プログラム命令をコンピュータま たはその他のプログラム式装置にロードして、コンピュータまたはその他のプロ グラム式装置上で一連の操作ステップが行われるようにし、コンピュータまたは その他のプログラム式装置上で実行される命令がフローチャートの1つまたは複 数のブロックに指定されている機能を実施するステップを提供するようにコンピ ュータ実施プロセスを作り出すこともできる。 したがって、フローチャートのブロックは、指定された機能を実行する手段の 組合せと、指定された機能を実行するステップの組合せとに対応する。また、フ ローチャートの各ブロックと、フローチャートのブロックの組合せは、指定され た機能またはステップを実行する特定用途向けハードウェア・ベースのコンピュ ータ・システムによって、または特定用途向けハードウェアとコンピュータ命令 の組合せによって実施することができることがわかるであろう。 第2図に、本発明の一実施例を示す。第2図に示すように、ウェブ・ブラウザ 10はクライアント側インタセプト・モジュール30と通信する。ウェブ・サー バ20はサーバ側インタセプト・モジュール40と通信する。次にクライアント 側インタセプト・モジュール30が通信リンク35を介してサーバ側インタセプ ト・モジュール40と通信する。ウェブ・ブラウザ10とクライアント側インタ セプト・モジュール30は、第1のコンピュータ5に組み込むことができる。サ ーバ側インタセプト・モジュール40とウェブ・サーバ20は第2のコンピュー タ6に組み込むことができる。第1のコンピュータ5と第2のコンピュータ6は 外部通信リンク35を介して通信する。 ウェブ・ブラウザ10は、ハイパーテキスト転送プロトコル(HTTP)とハ イパーテキスト・マークアップ言語(HTML)を使用して、やはりHTTPと HTMLを使用するインターネット・ウェブ・サーバ20と通信するインターネ ット・ウェブ・ブラウザであることが好ましい。動作中、ウェブ・ブラウザ10 はHTTPデータ・ストリームを出力し、それがクライアント側インタセプト・ モジュール30によってインタセプトされる。クライアント側インタセプト・モ ジ ュール30によるHTTPデータ・ストリームのインタセプトは、クライアント 側インタセプト・モジュール30が127.0.0.1のようなネットワーク番 号127を有するIPアドレスにあるTCP/IPループバック機構を使用して 行うことができる。次に、クライアント側インタセプト・モジュール30はHT TPデータ・ストリームをクライアント/サーバ固有プロトコルに変換または変 形し、そのクライアント/サーバ固有データ・ストリームを外部通信リンク35 に送る。サーバ側インタセプト・モジュール40はこのクライアント/サーバ固 有データ・ストリームを受け取り、ウェブ・ブラウザ発信通信に対応する元のH TTPデータ・ストリームを再構築する。この再構築されたHTTPデータ・ス トリームは次にウェブ・サーバ20に転送される。ウェブ・サーバ20はインタ ーネット・ウェブ・サーバの通常の方式でHTTPデータ・ストリームに応答す る。当業者ならわかるように、ウェブ・サーバ20は複数のブラウザがインター ネットに接続することができるようにするプロキシとすることもできる。 たとえば特定のURLホーム・ページを求めるブラウザ要求に応答してウェブ ・サーバ20がウェブ・ブラウザ10に送る情報を受け取ると、ウェブ・サーバ 20はウェブ・ブラウザ10に送る通信に対応するHTTPデータ・ストリーム を出力する。このウェブ・サーバ発信通信はサーバ側インタセプト・モジュール 40によってインタセプトされ、クライ アント/サーバ固有データ・ストリームに変換される。次に、ウェブ・サーバ発 信通信に対応するクライアント/サーバ固有データ・ストリームは外部通信リン ク35で第2のコンピュータから第1のコンピュータに送られる。このクライア ント/サーバ固有データ・ストリームをクライアント側インタセプト・モジュー ル30が受け取り、ウェブ・サーバ発信通信に対応するHTTPデータ・ストリ ームが再構築され、ウェブ・ブラウザ10に供給される。 本発明の特定の実施例では、外部通信リンク35は無線通信リンクである。そ の場合、ユーザにとって受容可能なシステム・パフォーマンスを得るために、外 部通信リンク35を介する通信量を、通信リンク35を介して伝送しなければな らない通信の頻度と情報量の両方について減らすことが望ましい。したがって、 本発明はキャッシング技法と、差分計算技法と、プロトコル縮小技法とを使用し て、外部通信リンク35を介する必要通信量を最小限にする。これらの技法は、 HTTPのステートレスまたは確率論的プロトコルを、クライアントおよびサー バに固有の情報を使用するクライアント/サーバ固有プロトコルに変換して通信 の量と頻度を減らすことによって実現される。 本発明について、単一のウェブ・ブラウザ・アプリケーションと単一のウェブ ・サーバ・アプリケーションに関して説明するが、当業者ならわかるように、本 発明の利便および利点は、単一のウェブ・サーバに関連づけられた複数のウェブ ・ブラウザを使用した場合にも得ることができる。したがって、本発明の方法、 装置、およびプログラム製品は、各ブラウザがクライアント側インタセプト・モ ジュールと通信する複数のブラウザと共に使用することもでき、その場合それら のクライアント側インタセプト・モジュールはウェブ・サーバまたはウェブ・プ ロキシのサーバ側インタセプト・モジュールと通信することになる。 本発明の一実施例では、クライアント側インタセプト・モジュール30とサー バ側インタセプト・モジュール40の朗報がキャッシュ格納機能を有する。第1 のコンピュータにあるクライアント・キャッシュには、ウェブ・ブラウザ発信通 信に応答してウェブ・ブラウザが受け取るHTTPデータ・ストリームが格納さ れる。第2のコンピュータにあるサーバ・キャッシュには、ブラウザ発信通信に 応答してウェブ・サーバから受け取るHTTPデータ・ストリームが格納される 。 当業者ならわかるように、第1のコンピュータまたは第2のコンピュータにあ るキャッシュは、コンピュータの特定のハードウェア構成に基づく任意の容量と することができる。これらのキャッシュには、各通信について、通信のURL、 巡回冗長検査(CRC)などの通信内容に基づく固有識別子、キャッシュ項目の 作成またはリフレッシュが行われた時刻を示すデータ格納時刻(SDT)、およ び通信のデータを含む情報が格納される。したがって、キャッシュに格納されて いる各通信についてキャッシュ項目のディレクトリを作成する ことができる。さらに、所与のハードウェア構成で使用可能な資源は限られてい るため、第1のコンピュータおよび第2のコンピュータにあるキャッシュを維持 するために当業者に周知の任意の数のキャッシング技法を使用することができる 。したがって、たとえば、新しい項目の追加によってユーザ定義キャッシュサイ ズを超える場合、キャッシュは最も古いディレクトリ項目を無効化し、無効化さ れた項目の代わりに新しい項目を追加することができる。さらに、ウェブ・ブラ ウザ・アプリケーションまたはウェブ・サーバ・アプリケーションの複数のイン スタンスにわたって、あるいは第1または第2のコンピュータの電源投入サイク ルについてさえもキャッシュ項目を維持して持続キャッシュを作成することがで きる。 以下に、クライアント側インタセプタ・モジュール30とサーバ側インタセプ ト・モジュール40の動作を示すフローチャートである第3図ないし第6図を参 照しながら本発明の一態様によるキャッシング構造について説明する。 具体的に第3図を参照すると、ブロック100はクライアント側インタセプト ・モジュール30がウェブ・ブラウザ10から要求を受け取ったことを示してい る。この要求は、HTTPデータ・ストリームの形式をとることができる。ブロ ック105に示すように、クライアント側インタセプト・モジュール30は着信 した要求のユニフォーム・リソース・ロケータ(URL)を検査する。クライア ント側インタセプト ・モジュール30はURLから、ウェブ・ブラウザ発信要求に対応する情報が前 に第1のコンピュータにある第1のクライアント・キャッシュに格納されている かどうかを判断する。 URLに対応する情報が前にクライアント・キャッシュに格納されていなかっ た場合、ブロック106に示す操作がクライアント側インタセプト・モジュール によって行われる。クライアント側インタセプト・モジュール30は外部通信リ ンク35でサーバ側インタセプト・モジュール40に要求を送る。 しかし、ブロック105に示すようにウェブ・ブラウザ発信通信に問い合わせ たときに、ウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目 が存在する場合、最も単純な実施例では、その情報がHTTPデータ・ストリー ムとしてウェブ・ブラウザに供給される。しかし、第3図に示すように、本発明 の好ましい実施例は、ウェブ・ブラウザ発信通信に対応するキャッシュ項目に対 して本明細書でコヒーレンシ間隔検査と呼ぶ操作を行う。この操作は第3図のブ ロック110に示されている。 クライアント側インタセプト・モジュールのコヒーレンシ間隔はユーザ定義と することができ、キャッシュ項目が陳腐化し、存在はしていてもウェブ・サーバ に対してウェブ・ブラウザ発信通信に対応する情報を要求することによって最新 化しなければならなくなるまでのキャッシュ項目が存在することができる時間の 長さである。ブロック110に示すコヒ ーレンシ間隔検査は、現在日時をウェブ・ブラウザ発信通信に対応するキャッシ ュ項目のSDTとユーザによって指定されたコヒーレンシ間隔との和と比較する ことによって行うことができる。現在日時がこの和より大きい場合、ウェブ・ブ ラウザ発信通信に対応するキャッシュ内に格納されている情報は陳腐化しており 、ブロック110の「No」に分岐する。しかし、現在日時がSDTにユーザ定 義コヒーレンシ間隔を足した和よりも小さい場合は、ブロック110で「Yes 」に分岐し、ブロック111に示すように、そのキャッシュ項目がHTTPデー タ・ストリームとしてブラウザに供給される。したがって、第3図のブロック1 00でクライアント側インタセプト・モジュール30が受け取ったブラウザ発信 通信が完了する。 ブロック110に示すコヒーレンシ間隔検査によって、第1のコンピュータに あるキャッシュ項目が陳腐化していると判断された場合、サーバ側インタセプト ・モジュール40に対して要求を行い、第2のコンピュータにあるキャッシュ項 目のコヒーレンシを検査する。この操作は第3図のブロック112に示されてい る。これは、外部通信リンク35を介してサーバ側インタセプト・モジュール4 0に、特定のクライアント側インタセプト・モジュール30のコヒーレンシ間隔 と、ウェブ・ブラウザ10によって発信されたHTTP要求と、ウェブ・ブラウ ザ発信通信のURLに対応するクライアント・キャッシュの内容を示す固有の標 識を供給することに よって行われる。好ましい実施例では、この固有の標識はキャッシュ項目の巡回 冗長検査(CRC)である。 次に第5図を参照すると、外部通信リンク35を介してクライアント側インタ セプト・モジュール30から受け取った情報に応答したサーバ側インタセプト・ モジュール操作が示されている。サーバ側インタセプト・モジュール40がクラ イアント側インタセプト・モジュールから要求を受け取ると、サーバ側インタセ プト・モジュール40は所定のクライアント・コヒーレンシ時間間隔と、クライ アント・キャッシュ項目のCRC値と、ウェブ・ブラウザによって発信されたH TTP要求を受け取る。この情報の受信は、第5図のブロック120に示されて いる。 クライアント側インタセプト・モジュール30から情報を受け取った後、サー バ側インタセプト・モジュール40は第2のコンピュータにあるそのサーバ・キ ャッシュを検査して、ウェブ・ブラウザによって発信されたHTTP要求のUR Lに対応するサーバ・キャッシュ項目が存在するかどうかを判断する。ブロック 125に示すようにウェブ・ブラウザ発信通信に問い合わせた後、サーバ側イン タセプト・モジュール40が、ウェブ・ブラウザ発信通信によって要求された情 報に対応するキャッシュ項目が存在すると判断した場合、ブロック125で「Y es」分岐をとる。次に、サーバ側インタセプト・モジュール40はSSIモジ ュール40の現在日時を、ウェブ・ブラウザ発信通信によって要求された情報に 対 応するサーバ・キャッシュ項目のSDTとクライアント側インタセプト・モジュ ールから受け取った所定のクライアント・コヒーレンシ時間間隔との和と比較す る。 現在日時がサーバ・キャッシュ項目のSDTとコヒーレンシ間隔との和より小 さい場合、第5図のブロック130の「Yes」経路をとる。次にサーバ側イン タセプト・モジュール40はサーバ・キャッシュ項目のCRCとクライアント・ キャッシュのCRCとを比較して、その2つのキャッシュ項目が同じかどうかを 判断する。2つのキャッシュ項目が同じ場合、ブロック135の「Yes」分岐 をとり、ブロック136に示すように、「コヒーレント」応答がクライアント側 インタセプト・モジュール30に送られる。 ブロック135の条件で、CRCが等しくないと判断された場合、クライアン ト・キャッシュに入っている情報とサーバ・キャッシュに入っている情報は同じ でなく、ブロック137に示すようにサーバ側インタセプト・モジュールは外部 通信リンクを介して第1のコンピュータにサーバ・キャッシュ項目を送る。サー バ・キャッシュ項目をクライアント側インタセプト・モジュール30に送信する 際に、サーバ側インタセプト・モジュールはその項目を、サーバ・キャッシュ項 目のCRCと、サーバ・キャッシュ項目データと、サーバ・キャッシュ項目のエ ージとを含むクライアント固有通信プロトコルに変換する。サーバ・キャッシュ 項目のエージは、現行日時からキャッシュ項目のSDTを引くことによって計算 する。 第5図に関して最後に、SDTに所定のクライアント・コヒーレンシ時間間隔 を足した和が現在日時よりも小さいか、またはウェブ・ブラウザ発信通信のUR Lに対応する項目がない場合、それぞれブロック130の「No」経路またはブ ロック125の「No」経路がとられる。したがって、ブロック126の操作が 行われ、サーバ側インタセプト・モジュール40がサーバにウェブ・ブラウザ発 信通信をHTTPデータ・ストリームとして送ることになる。サーバ側インタセ プト・モジュール40がウェブ・ブラウザ発信通信をサーバにHTTPデータ・ ストリームとして送らなければならない場合、サーバ側インタセプト・モジュー ル40は第6図の操作を実行する。 第6図のブロック140に示すように、ウェブ・ブラウザ発信通信に応答して 、サーバ側インタセプト・モジュールがウェブ・サーバ20からHTTPデータ ・ストリームを受け取る。HTTPデータ・ストリームを受け取ると、サーバ側 インタセプト・モジュール40はHTTPデータ・ストリームのCRCを計算し 、HTTPデータ・ストリームを一時的に格納する。次に、ブロック145に示 すように、サーバ側インタセプト・モジュールはHTTPデータ・ストリームに 問い合わせて、HTTPデータ・ストリームのURLに対応するサーバ・キャッ シュ項目が存在するかどうかを判断する。そのような項目が存在しない場合、ブ ロック145の「Ye s」経路が実行される。次にサーバ側インタセプト・モジュール40は、ブロッ ク150に示すように、ウェブ・サーバ20から受け取ったHTTPデータ・ス トリームの最も最近に計算されたCRCを、ウェブ・サーバ発信応答通信のUR Lに対応するサーバ・キャッシュ項目のCRCと比較する。CRCが同じ場合、 ブロック150の「Yes」分岐が行われる。サーバ側インタセプト・モジュー ル40はブロック151に示すようにサーバ・キャッシュ項目のSDT項目を更 新し、ブロック152に示すようにウェブ・サーバ20によって受信されたHT TPデータ・ストリームを一時格納域から除去する。 CRC比較の結果によって、サーバ・キャッシュ項目がウェブ・サーバ20か ら受け取ったHTTPデータ・ストリームと異なることが示された場合、ブロッ ク150の「No」経路が行われる。サーバ側インタセプト・モジュール40は ブロック153に示すようにサーバ・キャッシュから既存のデータを除去し、次 にブロック154に示すようにより新しい方の情報によってサーバ・キャッシュ を更新する。ブロック154に示すように、この更新にはサーバ・キャッシュに ウェブ・サーバ通信のCRCを格納するステップと、キャッシュ項目の一部とし て現在日時をキャッシュ項目のSDTとして格納するステップと、HTTPデー タ・ストリームを格納するステップとが含まれる。サーバ・キャッシュ項目を更 新するかどうか、またはサーバ・キャッシュ項目がウェブ・ サーバ20から受け取ったHTTPデータ・ストリームと同じであることが判明 したかどうかを問わず、いずれの場合もサーバ側インタセプト・モジュールは次 にサーバ・キャッシュ項目がウェブ・ブラウザ発信通信に対応するクライアント ・キャッシュ項目と同じかどうかを判断する。この操作をブロック155に示す 。 サーバ側インタセプト・モジュール40が、ウェブ・サーバ20から受け取っ た応答に対応するキャッシュ項目が存在しないと判断した場合、ブロック145 の「No」経路がとられる。ブロック146に示すように、ウェブ・サーバから の応答のURLを格納し、ウェブ・サーバからの応答のCRCを格納し、HTT Pデータ・ストリームを格納し、SDTとして現在日時を格納することによって 、サーバ・キャッシュ項目が作成される。ウェブ・ブラウザ発信通信に対応する キャッシュ項目を作成した後、サーバ側インタセプト・モジュール40は次に、 ブロック155に示すように、再度、このサーバ・キャッシュ項目のCRCを対 応するクライアント・キャッシュのCRCと比較する。 サーバ・キャッシュ項目とクライアント・キャッシュ項目との比較の結果によ って、キャッシュ項目が同じであることがわかった場合、ブロック155の「Y es」分岐がとられ、ブロック156の操作が行われる。ブロック156に示す ように、サーバ側インタセプト・モジュール40がクライアント側インタセプト ・モジュール30に応答を送る。サーバ側 インタセプト・モジュール40は、クライアント側インタセプト・モジュールに コヒーレント応答を送り、ゼロのエージを送ることによって、サーバ要求キャッ シュ項目をクライアント/サーバ固有データ・ストリームに変形する。 サーバ側インタセプト・モジュール40が、クライアント・キャッシュ項目が ウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項目と同じではないと 判断した場合、ブロック155の「No」分岐がとられ、ブロック157の操作 が行われる。ブロック157に示すように、サーバ側インタセプト・モジュール 40は、サーバ・キャッシュ項目をクライアント/サーバ固有データ・ストリー ムに変換または変形する。このデータ・ストリームには、サーバ・キャッシュ項 目のCRCと、サーバ・キャッシュ項目HTTPデータ・ストリームと、キャッ シュ項目のゼロに設定されたエージとが含まれる。このクライアント/サーバ固 有通信は次に外部通信リンク35を介してクライアント側インタセプト・モジュ ール30に送信される。 サーバ側インタセプト・モジュールから通信を受け取ったときのクライアント 側インタセプト・モジュール30の機能について、第4図を参照しながら以下に 説明する。ブロック160に示すように、クライアント側インタセプト・モジュ ール30は外部通信リンク35を介して送信されたクライアント/サーバ固有デ ータ・ストリームを受信または入手する。クライアント側インタセプト・モジュ ールは次に、ブロック 165に示すように、サーバ側インタセプト・モジュール40からどのようなタ イプの応答を受け取ったかを判断する。サーバ側インタセプト・モジュール40 が、クライアントがクライアント・キャッシュ項目がコヒーレントであること、 すなわちサーバ・キャッシュ項目とクライアント・キャッシュ項目が同じである ことを示している場合、ブロック166に示す操作が行われる。ブロック166 に示すように、クライアント側インタセプト・モジュール30は、現在日時とサ ーバ側インタセプト・モジュール40から受け取ったエージとの差を使用してウ ェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目のSDTを更 新する。したがって、本発明は、第1のコンピュータ5と第2のコンピュータ6 の2つのクロックの同期をとらずに、第1のコンピュータのキャッシュ項目のコ ヒーレンシ時間を更新して第2のコンピュータの新しい方のデータを反映させた ことになる。ウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項 目のSDTを更新した後、クライアント側インタセプト・モジュール30はクラ イアント・キャッシュ項目をウェブ・ブラウザ10にHTTPデータ・ストリー ムとして転送する。この操作をブロック174に示す。 しかし、クライアント側インタセプト・モジュール30が応答のタイプがデー タまたはデータ・ストリーム応答であると判断した場合は、ブロック165から 「ストリーム」経路をとり、ブロック167の操作が行われる。クライアント側 インタセプト・モジュール30はHTTPデータ・ストリームを受け取り、その データを一時的に格納する。次に、第4図のブロック170に示すように、クラ イアント側インタセプト・モジュール30は、ウェブ・ブラウザ発信通信に対応 するキャッシュ項目が存在するかどうかを判断する。キャッシュ項目が存在する 場合、ブロック170の「Yes」経路をとって、ブロック171に示すように 、既存のキャッシュ項目がフラッシュされる。クライアント側インタセプト・モ ジュールは次に、サーバ側インタセプト・モジュール40から受け取ったHTT Pデータ・ストリームのCRCを格納し、現在日時とサーバ側インタセプト・モ ジュール40から受け取ったエージとの差をSDTとして格納し、HTTPデー タ・ストリームを格納することによって、ウェブ・ブラウザ発信通信に対応する クライアント・キャッシュ項目を更新する。この操作をブロック172に示す。 ウェブ・ブラウザ発信通信に対応するキャッシュ項目が存在しない場合、ブロ ック170の「No」経路が取られる。ブロック173に示す操作を行うことに よってクライアント・キャッシュ項目が作成される。ブロック173に示すよう に、クライアント側インタセプト・モジュール30は、サーバ側インタセプト・ モジュール40から受け取ったHTTPデータ・ストリームのURLを格納し、 サーバ側インタセプト・モジュール40から受け取ったHTTPデータ・ストリ ームのCRCを格納し、HTTPデータ・ストリームを格納 することによって、クライアント・キャッシュ項目を作成する。また、クライア ント側インタセプト・モジュール30は、サーバ側インタセプト・モジュール4 0から外部通信リンク35を介して受け取ったエージSDTを現在日時から引く ことによって、SDTを更新または格納する。 しかし、ブロック166、172、173のいずれの操作によってクライアン ト・キャッシュ項目が作成されるかを問わず、クライアント側インタセプト・モ ジュールはクライアント・キャッシュ項目をHTTPデータ・ストリームとして ウェブ・ブラウザ10に転送または供給する。これらの操作は第4図のブロック 174に示されている。 当業者ならわかるように、クライアント・キャッシュとサーバ・キャッシュは 、メモリによって、またはハード・ディスク、読書きCD−ROM、光ディスク 、その他の格納技法などの大容量格納装置によって実装することができる。さら に、当業者ならわかるように、クライアント側インタセプト・モジュールとサー バ側インタセプト・モジュールは、ソフトウェア、ハードウェア、またはその組 合せによって実装することができる。 特定の第1または第2のコンピュータにあるキャッシュについて言及したが、 当業者ならわかるように、本発明の利点は、キャッシュが第1のコンピュータに ではなく、単に外部通信リンクの第1のコンピュータと同じ側にある場合でも得 られる。したがって、ハードウェア・キャッシュをクライア ント・キャッシュとして機能する第1のコンピュータの外部に実装し、高速通信 によって第1のコンピュータに接続することもでき、しかもその場合でも、キャ ッシュが外部通信リンクの第1のコンピュータと同じ側にある限り、本発明の利 点が得られる。 本発明の他の実施例では、サーバ側インタセプト・モジュール40は、ウェブ ・サーバ20から受け取ったHTTPデータ・ストリームのコピーを維持せず、 単にその通信のディレクトリ項目を維持するに過ぎない。このディレクトリ項目 には、通信のURLと、HTTPデータ・ストリームのために計算されたCRC と、HTTPデータ・ストリームをウェブ・サーバから受け取った時刻と、その 通信のSDTとが含まれ、このSDTはCRCを計算した時刻に設定することが できる。このような場合、クライアント側インタセプト・モジュール30はサー バ側インタセプト・モジュール40に対して、サーバ側インタセプト・モジュー ルがCRCとSDTを維持していたURLに対応する通信を求める要求を送り、 、次にサーバ側インタセプト・モジュール30はクライアント側インタセプト・ モジュール30から受け取ったCRCを検査して、それが指定されたURLの最 新のHTTPデータ・ストリームに対応しているかどうかを判断する。一致して いる場合、クライアント側インタセプト・モジュールにコヒーレント応答が送ら れる。一致していない場合、サーバ側インタセプト・モジュールは、クライアン ト側インタセプト・モ ジュールから受け取ったHTTPデータ・ストリームをウェブ・サーバ20に送 り、ウェブ・サーバ20から受け取った応答をクライアント側インタセプト・モ ジュール30に返す。 第7図、第8図、第9図、および第10図に、本発明の他の態様においてクラ イアント側インタセプト・モジュール30とサーバ側インタセプト・モジュール 40によって行われる操作を示す。この態様は、差分計算を使用して、外部通信 リンク35を介して伝送されるデータを削減する。第7図を参照すると、ブロッ ク200にクライアント側インタセプト・モジュール30によるウェブ・ブラウ ザ10からのHTTP要求の受信が示されている。ブロック205に示すように 、クライアント側インタセプト・モジュール30はウェブ・ブラウザ10からの インタセプトしたHTTP要求に問い合わせて、その要求が共通ゲートウェイ・ インタフェース(CGI)に送るものかどうかを判断する。要求が共通ゲート・ インタフェースに送るものでない場合、クライアント側インタセプト・モジュー ル30は、第3図ないし第6図に示し、第7図のブロック206に図示するよう に、その要求をサーバ側インタセプト・モジュールに渡す。 しかし、ウェブ・ブラウザ発信通信がCGI要求に対応する場合、ブロック2 05の「Yes」経路がとられる。ブロック210に示すように、クライアント /サーバ・インタセプト・モジュール30は、対応するCGI要求に応答して前 にウェブ・ブラウザに供給されていたHTTPデータ・スト リームに対応するクライアント・ベース・キャッシュ項目が存在するかどうかを 判断する。このCGI要求の問い合わせは、ウェブ・ブラウザ発信通信のURL をクライアント・ベース・キャッシュに格納されているURLと比較することに よって行うことができる。 クライアント・ベース・キャッシュは、所与のURLについてウェブ・ブラウ ザ10に供給するクライアント側インタセプト・モジュール30が受信した最初 のHTTPデータ・ストリームを格納することによって初期設定することができ る。このベース・キャッシュ項目は、ウェブ・ブラウザ10の多くのインスタン スまたはセッションにわたって維持することができる。クライアント・ベース・ キャッシュ項目は、第7図、第8図、第9図、および第10図に示すように更新 することができる。ウェブ・ブラウザ発信通信のURLに対応するクライアント ・ベース・キャッシュ項目が存在する場合、第7図のブロック211に示すよう に、外部通信リンク35を介してサーバ側インタセプト・モジュール40に送る CRCが、クライアント・ベース・キャッシュ項目のCRCに等しく設定される 。クライアント・ベース・キャッシュ項目がない場合、第7図のブロック210 から「No」経路をとり、外部通信リンク35を介してサーバ側インタセプト・ モジュール40に送る要求のCRCがナルにされる。この操作は第7図のブロッ ク212に示されている。 ブロック213に、CGI要求を外部通信リンクを介して サーバ側インタセプト・モジュール40に送る操作を示す。ブロック213に示 すように、クライアント側インタセプト・モジュール30がHTTP要求と要求 CRCを送る。要求CRCは、CGI要求のURLのクライアント・ベース・キ ャッシュ項目が存在しない場合にはナルに設定されており、クライアント・ベー ス・キャッシュ項目が存在する場合にはその項目のCRCに設定されている。し たがって、クライアント側インタセプト・モジュールは、CGI要求をクライア ント/サーバ固有プロトコルに変換し、そのクライアント/サーバ固有通信を外 部通信リンクを介して送信して、サーバ側インタセプト・モジュール40が受信 するようにしたことになる。 CGI要求を受け取るときのサーバ側インタセプト・モジュールの動作を第9 図に示す。サーバ側インタセプト・モジュール40によるCGI要求の受信がブ ロック220に示されている。サーバ側インタセプト・モジュール40はCGI 要求を受け取ると、CRC値とHTTP要求のコピーを保存する。ブロック22 1に示すように、サーバ側インタセプト・モジュール40はHTTP要求をウェ ブ・サーバ20に渡す。 第10図のブロック230に示すように、サーバ側インタセプト・モジュール 40がウェブ・ブラウザ発信通信またはCGI要求に対応するHTTP要求に対 する応答を受け取るとき、サーバ側インタセプト・モジュール40はこの応答を HTTPデータ・ストリームとして受け取る。ブロック230に示すように、サ ーバ側インタセプト・モジュール40は、HTTPデータ・ストリームを保存し 、ウェブ・サーバ20から受け取ったHTTPデータ・ストリームのCRC値を 計算する。また、サーバ側インタセプト・モジュール40は、差分値をナルにし て差分データを初期設定する。次に、ブロック235に示すように、サーバ側イ ンタセプト・モジュールは、ウェブ・サーバ発信通信として受け取った応答がC GI要求に対する応答であるかどうかを判断する。答えが否定の場合、第10図 のブロック235から「No」経路をとり、ブロック236の操作を実行して、 HTTPデータ・ストリームがクライアント側インタセプト・モジュールに送る 。ブロック236に示すように、この操作には第3図ないし第6図で説明したキ ャッシング操作が必要な場合がある。ブロック230で受け取った応答がCGI に対する応答の場合、ブロック235の「Yes」経路をとり、サーバ側インタ セプト・モジュールは次に、ブロック240に示すように、CGI応答のサーバ ・ベース・キャッシュ項目が存在するかどうかを判断する。 サーバ側インタセプト・モジュール40がCGI要求に対する応答を初めて受 け取ったとき、サーバ・ベース・キャッシュ項目を作成することができる。この 場合、ブロック240に示す条件の結果によって、ブロック240から「No」 経路がとられる。次に、サーバ側インタセプト・モジュール 40は、CGIのURLと、CGI要求に対する応答のHTTPデータ・ストリ ームと、HTTPデータ・ストリームのCRCとを格納することによって、サー バ・ベース・キャッシュ項目を作成する。この操作をブロック241に示す。第 3図ないし第6図で説明したコヒーレント・キャッシュとの互換性を持たせるた めに、サーバ・ベース・キャッシュ項目にはSDTも組み込むことができる。本 明細書では、サーバCGIベース書式という用語を使用して、ウェブ・ブラウザ 10から受け取ったCGI要求に対応するサーバ・ベース・キャッシュ項目を指 す。 CGI要求に対応するサーバ・ベース・キャッシュ項目がある場合、ブロック 240の「Yes」経路がとられる。サーバ側インタセプト・モジュールはサー バ・ベース・キャッシュ項目のCRCを、ウェブ・サーバ20から受け取った応 答のCRCと比較する。これらの操作を第10図のブロック245に示す。CR Cが同じ場合、サーバ側インタセプト・モジュールは、サーバ・ベース・キャッ シュ項目のCRCがクライアント・ベース・キャッシュ項目のCRCに対応する かどうかを判断する。この2つのCRC値が同じ場合、クライアント・ベース・ キャッシュ項目と、サーバ・ベース・キャッシュ項目と、ウェブ・サーバ20か ら受け取った応答のすべてがHTTPデータ・ストリームに入れられる。サーバ ・ベース・キャッシュ項目とクライアント・ベース・キャッシュ項目との比較を ブロック250に示す。 2つのベース・キャッシュ項目が同じ場合、サーバ側インタセプト・モジュー ルはベース・キャッシュ項目をクライアント側インタセプト・モジュール30に 送る必要がなく、したがって、ブロック251に示すように、クライアント側イ ンタセプト・モジュール30に送るHTTPデータ・ストリーム・データをナル にする。次に、ブロック252に示すように、サーバ側インタセプト・モジュー ル40は、CGI要求に対応するサーバ・ベース・キャッシュに格納されている HTTPデータ・ストリームのCRCと、ナルにしたHTTPデータ・ストリー ムと、ナルにした差分データとを送信して、CGI要求がクライアント・ベース ・キャッシュ項目と同じであったことを示すことによって、ウェブ・サーバ20 から受け取ったHTTPデータ・ストリームをクライアント/サーバ固有通信プ ロトコルに変換する。 ブロック245に戻って、CGI要求に対応するサーバ・ベース・キャッシュ 項目のCRCが、ウェブ・ブラウザによって発信されたCGI要求に応答してウ ェブ・サーバから受け取った応答のCRCと異なる場合、ブロック245から「 No」経路がとられる。次に、サーバ側インタセプト・モジュール40はブロッ ク246に示す操作を行う。サーバ側インタセプト・モジュール40は、インタ セプトしたCGI応答を、インタセプトしたCGIに対応するサーバ・ベース・ キャッシュ項目すなわちサーバCGIベース書式と比較する。このインタセプト したCGI応答とサーバCGIベース 書式との比較によって、インタセプトしたCGI応答とサーバCGIベース書式 との差分に対応するCGI差分データが得られる。 差分計算は、ベース書式と修正済み書式との間の差分を求める当業者に周知の 任意の方法で行うことができる。本発明で使用するのに適した差分計算の一方法 は、コピーターズ(Coppieters)による″Cross-Platform Binary Diff″(Dr.D obb's Journal 1995年5月号32〜36ページ)に記載されており、その 開示は参照により、その全部が記載されているかのように本明細書に組み込まれ る。差分データを求める際に使用することができるその他の方法には、″IBM Te chnical Disclosure Bulletin(Vol.22, No.8A、1980年1月)に記載されて いる方法が含まれ、これも参照によりその全部が記載されているかのように本明 細書に組み込まれる。次に、ブロック247に示すように、サーバ側インタセプ ト・モジュール40はサーバCGIベース書式が更新を必要とするかどうかを判 断する。この判断は、インタセプトされたCGI応答とサーバCGIベース書式 との平均差分データが所定のしきい値を超えているかどうかを判断することによ って行うことができる。CGI要求に対応するサーバ・ベース・キャッシュ項目 を更新する必要があるかどうかを判断する他の方法には、第3図ないし第6図で 説明したような時間コヒーレンシ方式や、ベース変更を行って新しいベース・キ ャッシュ項目を作成すればシステム・パフォーマンスが向上す るほど差分データが増加したかどうかを判断する当業者に周知のその他の方法が 含まれる。 サーバのベース変更計算が不要な場合、ブロック247から「No」経路がと られ、サーバ側インタセプト・モジュール40はブロック250の操作を行って 、クライアント・ベース・キャッシュ項目のCRCがサーバ・ベース・キャッシ ュ項目のCRCと同じかどうか、またはサーバCGIベース書式が、ウェブ・ブ ラウザ発信通信のその特定のCGI要求に対応するサーバとクライアントのベー ス・キャッシュ項目であるクライアントCGIベース書式と同じかどうかを判断 する。ベース書式が同じ場合、クライアントはベース変更を行う必要がなく、ブ ロック251に示すようにHTTPデータ・ストリーム情報がナルにされる。次 に、サーバ側インタセプト・モジュール40は、CGI要求に対応するサーバ・ ベース・キャッシュ項目のCRC(すなわちサーバCGIベース書式のCRC) を送り、ベース・データに対応するナルにしたHTTPデータ・ストリームを送 り、ブロック246で求めた差分データを送ることによって、クライアント側イ ンタセプト・モジュール30に差分応答を送る。これらの操作は第10図のブロ ック252として示されている。 サーバ側インタセプト・モジュール40が、クライアントCGIベース書式と サーバCGIベース書式のCRSが同じでないと判断した場合、クライアントの ベース変更計算を行う必要がある。クライアントのベース変更操作は、クライア ント側インタセプト・モジュール30にサーバCGIベース書式を送るステップ を含む。この操作を行うために、サーバ側インタセプト・モジュールはクライア ント側インタセプト・モジュール30に送るHTTPデータ・ストリーム・デー タを、サーバCGIベース書式と等しく設定する。この操作をブロック253に 示す。次に、サーバ側インタセプト・モジュール40は、ブロック252に示す ように、サーバCGIベース書式のCRCと、サーバCGIベース書式に対応す るHTTPデータ・ストリーム・データを送信し、CGIベース書式とウェブ・ サーバから受け取った応答との差分データを送信することによって、ウェブ・サ ーバから受け取ったHTTPデータ・ストリームをクライアント/サーバ固有プ ロトコルに変換する。次にこの情報を外部通信リンク35を介してクライアント 側インタセプト・モジュール30に送る。 ブロック247に戻って、サーバのベース変更が必要な場合、ブロック247 から「Yes」経路がとられる。ブロック248に示すように、サーバ側インタ セプト・モジュールは、ウェブ・サーバから受け取ったHTTPデータ・ストリ ームを使用してブラウザ発信通信に対応するサーバ・ベース・キャッシュを更新 する。応答のCRCも更新され、CGI差分データがナルにされる。次に、サー バ側インタセプト・モジュールは、ブロック250に示すように新しいサーバ側 キャッシュ項目のCRCを比較し、前述のようにこの転送を完了する。 サーバ側インタセプト・モジュール40から応答を受け取ったときのクライア ント側インタセプト・モジュールの操作を第8図に示す。クライアント側インタ セプト・モジュール30によるサーバ側インタセプト・モジュール40からの応 答の受信は、ブロック260に示されている。ブロック265に示すように、ク ライアント側インタセプト・モジュール30は、応答がCGI要求に対する応答 かどうかを判断する。応答がCGI要求に対する応答ではない場合、クライアン ト側インタセプト・モジュールはブロック267の操作を行う。この操作には、 第3図ないし第6図に示すキャッシュ操作を組み込むことができる。しかし、応 答がCGI要求に対する応答の場合、ブロック265から「Yes」経路がとら れる。クライアント側インタセプト・モジュール30は、外部通信リンクを介し て送信されたクライアント/サーバ固有データ・ストリームから入手した、HT TPデータ・ストリーム・データと、差分データと、CRCとを保管する。これ らの操作は第8図のブロック266に示されている。 次に、クライアント側インタセプト・モジュール30は、CGIベース書式を 含むインタセプトされたCGI要求に対応するクライアント・ベース・キャッシ ュ項目が存在するかどうかを判断する。この問い合わせはブロック270に示さ れており、HTTP要求またはHTTP応答のURLを調べることによって行う ことができる。クライアントCGIベース書式が存在する場合、ブロック270 から「Yes」経路 がとられる。次に、ブロック275に示すように、クライアント側インタセプト ・モジュール30は外部通信リンクを介して受け取ったCRCを、クライアント CGIベース書式のCRCと比較する。CRCが異なる場合、ブロック275か ら「No」経路がとられ、クライアントは、ウェブ・ブラウザ発信通信にのCG I要求のURLに対応するクライアント・ベース・キャッシュ項目を、外部通信 リンク35を介してサーバ側インタセプト・モジュール40から受け取ったHT TPデータ・ストリーム・データに置き換えてCGIベース書式を更新すること によって、ベース変更を行う。クライアント・ベース・キャッシュ項目も、HT TPデータ・ストリームのCRCを基準にして更新される。これらの操作は第8 図のブロック276に示されている。 外部通信リンク35を介して受け取ったCRCがGGIベース書式と同じ場合 、サーバ側インタセプタ・モジュール・サーバCGIベース書式は、クライアン ト側インタセプト・モジュール・クライアントCGIベース書式と同じであり、 ブロック275の「Yes」経路がとられる。 ベース書式が同じであるかクライアントをベース変更するかを問わず、クライ アント側インタセプタ・モジュール30によってブロック277に示す操作が行 われる。ブロック277は、クライアント側インタセプタ・モジュール30が、 クライアントCGIベース書式を外部通信リンク35を介して受け取ったCGI 差分データと比較して、インタセプトし たCGI応答に対応するHTTPデータ・ストリームを作成することによって、 外部通信リンク35を介して受け取ったクライアント/サーバ固有データ・スト リームから、ウェブ・サーバ20から受け取った通信に対応するHTTPデータ ・ストリームを再構築する操作を示す。ブロック278に示すように、この応答 は次にHTTPデータ・ストリームとしてウェブ・ブラウザ10に供給される。 クライアントにCGI要求のURLに対応するCGIベース書式が存在しない 場合、第8図のブロック270から「No」経路がとられる。ブロック271に 示すように、クライアント側インタセプト・モジュール30は、URLと、サー バ側インタセプト・モジュール40から外部通信リンクを介して受信したHTT Pデータ・ストリームのCRCと、実HTTPデータ・ストリーム・データとを 格納することによってCGI要求のURLに対応するクライアント・ベース・キ ャッシュ項目を作成する。この情報を格納することによって、インタセプトされ たCGI要求に対応するクライアント・ベース・キャッシュ項目が作成され、し たがってクライアントCGIベース書式が作成される。次に、クライアント側イ ンタセプト・モジュールは、クライアントCGIベース書式をCGI差分データ (ナル化されていることがある)と結合またはマージすることによって、HTT Pデータ・ストリームを再構築することでブロック277の操作を行う。 本発明の差分計算技法は非CGIデータにも適用可能であ る。その場合、サーバ側インタセプト・モジュール40は、ウェブ・サーバに接 続されているウェブ・ブラウザのクライアント側インタセプト・モジュールが異 なるベース書式を持っている可能性を見込んで、複数の世代のサーバ・ベース・ キャッシュ項目を維持する必要がある。その場合、サーバ側インタセプト・モジ ュールは、一致するものが得られるまで、クライアント側インタセプト・モジュ ールから受け取ったCRCを各世代のサーバ・ベース書式のCRCと比較する。 その際、サーバ側インタセプト・モジュール40は、任意選択でクライアント側 インタセプト・モジュール30のベース変更を行うか、または単にクライアント 側インタセプト・モジュール30に差分データを供給することができる。したが って、本明細書でCGI要求に関して説明した差分計算方法は、どのようなHT TP要求および応答にも等しく適用可能である。 複数の世代のベース書式を維持する上述のシステムでは、非CGI要求につい て差分計算を使用することができるが、この方法はメモリまたは格納域を多用し 、前述のキャッシング機能が十分に活用されない。メモリまたは格納域必要量を 少なくし、前述のキャッシング方法を活用するために、非CGI要求に差分計算 を使用する以下の好ましい方法を使用することできる。この好ましい実施態様で は、サーバ側インタセプト・モジュールは、要求に対応するサーバ・ベース書式 とウェブ・サーバからの応答のHTTPデータ・ストリーム との差分を計算する。次に、ベース書式をウェブ・サーバからの新しい応答で置 き換えることによって、サーバ・ベース書式を更新する。これにはベース書式の CRCの更新も含まれる。しかし、古いCRCを廃棄するのではなく、前のベー ス書式のCRCは差分データとして格納する。次に、前の世代の差分データとC RCを、非CGI要求に対応するクライアント・ベースのCRCに基づいて選択 的にクライアント側インタセプト・モジュールに送る。 非CGI差分計算方法の一例として、サーバ側インタセプト・モジュールが非 CGI要求を受け取った場合、その要求には非CGI要求のURLに対応するク ライアント側インタセプト・モジュールにあるベース書式のCRCも付随してい ることになる。サーバ側インタセプト・モジュールは、ウェブ・サーバから応答 を受け取ると、その応答のCRCを計算する。次に、サーバ側インタセプト・モ ジュールは応答とURLのサーバ・ベース書式との差分を計算し、その差分デー タを保管する。サーバ側インタセプト・モジュールは、応答データを使用してサ ーバ・ベース書式を更新し、前のベース書式のCRCと、応答と古いベース書式 との間の差分データとをアーカイブする。次に、サーバ側インタセプト・モジュ ールは、クライアント・ベース書式のCRCをサーバ・ベース書式のCRCおよ び格納またはアーカイブされているCRCと比較し、一致しているものがあるか どうかを判断する。一致が見つからない場合、その応答は単にクライアント側イ ンタセプト・モジュールに送られる。 一致が見つかった場合、一致するCRCに対応する差分データと、それ以降の 、現行差分データを含む現行差分データまでの差分データがクライアント側イン タセプト・モジュールに送られる。クライアント側インタセプト・モジュールは 、その差分データをクライアント・ベース書式に適用して応答を再構築する。し たがって、3世代古いベース書式のCRCについてCRC一致があった場合、3 セットの差分データがクライアント側インタセプト・モジュールに送られること になり、3セットの連続した差分データをクライアント・ベース書式に適用する ことによって、応答の構築が行われることになる。しかし、応答を再構築するの に必要な差分データ・セットの数が多すぎるかまたは差分データ・セットの大き さが大き過ぎて、実応答を送信した方がデータ転送が少なくて済む場合、サーバ 側インタセプト・モジュールは応答自体を送信することができる。いずれにして も、応答の再構築または受信の後、クライアント側インタセプト・モジュールは 、要求のURLのクライアント・ベース書式を応答データによって更新し、CR Cを要求のCRCで更新する。クライアント・ベース書式は特定のURLについ て応答を受信するたびに更新されるため、非CGI要求に対して差分計算を使用 した場合、上述のクライアント・キャッシュをクライアント・ベース書式のキャ ッシュとして使用することができ、それによってクライアント・ベース書式の別 個のキャッシュを不要 にすることができる。 本発明の他の態様では、HTTPなどのステートレス通信プロトコルの冗長性 に基づいて、通信をさらに節約することができる。そのようなプロトコルでは、 クライアントは通信を開始するたびにクライアント自体に関する情報をサーバに 送信する。同様に、サーバは応答を出すたびにサーバ自体に関する特定の情報を クライアントに伝達する。 本発明の一実施例では、第1のコンピュータ5は第2のコンピュータ6に、第 1のコンピュータの事前定義特性に対応するコンピュータ固有情報を伝達する。 第2のコンピュータはこのコンピュータ固有情報を格納する。次に、第1のコン ピュータはそれ以降のウェブ・ブラウザ発信通信からそのコンピュータ固有情報 を除去してから外部通信リンク35で送信する。第2のコンピュータ6は、外部 通信リンク35を介して受信したそれ以降の通信と格納しているコンピュータ固 有情報とを組み合わせてHTTPデータ・ストリームを作成することによって、 元のウェブ・ブラウザ発信通信を再構築する。 ウェブ・ブラウザによって発信される通信からコンピュータ固有情報を除去す るほかに、このコンピュータ固有情報をウェブ・サーバによって発信される通信 からも除去することができる。その場合、第2図の第2のコンピュータ6は第1 のコンピュータ5に外部通信リンク35を介して、第2のコンピュータ6の事前 定義特性に対応するコンピュータ固有情 報を供給する。第1のコンピュータ5はそのコンピュータ固有情報を格納して、 サーバ・ヘッダ情報を備える。その後の通信の時には、第2のコンピュータ6は ウェブ・サーバ発信通信からコンピュータ固有情報を除去し、ウェブ・サーバ発 信通信の残りの部分を外部通信リンク35で送信する。第1のコンピュータ5は 外部通信リンクでその通信を受信し、サーバ・ヘッダ情報を外部通信リンクを介 して受信したクライアント/サーバ固有データ・ストリームと結合してHTTP データ・ストリームを作成することによって、元のウェブ・サーバ発信通信を再 構築する。どちらの場合も、操作が第1のコンピュータ5と第2のコンピュータ 6のどちらで行われるかに応じて、コンピュータ固有情報を取り除き、その情報 を格納してサーバ・ヘッダ情報またはクライアント・ヘッダ情報を作成する操作 がクライアント側インタセプト・モジュール30またはサーバ側インタセプト・ モジュール40によって行われる。 本発明の一実施例では、ウェブ・ブラウザ10は伝送制御プロトコル/インタ ーネット・プロトコル(TCP/IP)を使用してクライアント側インタセプト ・モジュール30と通信する。TCPは、外部通信リンク35を介したクライア ント側インタセプト・モジュール30とサーバ側インタセプト・モジュール40 との間の通信にも使用することができる。最後に、TCPはサーバ側インタセプ ト・モジュール40とウェブ・サーバ20との間の通信にも使用することができ る。 TCPは本発明のシステムを構成する様々な構成要素間の通信に使用することが できるが、HTTPプロトコルは外部通信リンクを介した通信にとって最も効率 的な手段を提供するものではない。外部通信リンク35のパフォーマンスを向上 させるために、本発明の一実施例は本明細書で「仮想ソケット」と呼ぶものを作 成する。これは、ウェブ・ブラウザとクライアント側インタセプト・モジュール 30の間の接続と、サーバ側インタセプト・モジュール40とウェブ・サーバ2 0との間の接続に使用される。これらの仮想ソケットの動作について、第11図 ないし第17図を参照しながら以下に説明する。 第11図は、仮想ソケットを使用する本発明の1つの可能な実施態様を示すブ ロック図である。第11図に示すように、第1のコンピュータ5と第2のコンピ ュータ6は外部通信リンク35を介して接続されている。ウェブ・ブラウザ10 は、ウェブ・ブラウザ10をクライアント側インタセプト・モジュール30と接 続する複数の実ソケットを有する。第11図に示すように、第1の実ソケットは ウェブ・ブラウザ10上に65aとして図示され、それに対応するソケットはク ライアント側インタセプト・モジュール30上の65bである。この第1の実ソ ケットは、それを介してウェブ・ブラウザ10がクライアント側インタセプト・ モジュール30に対してさらに接続を要求するTCPソケットである。 ウェブ・ブラウザ10が新しいTCP接続を要求すると、 実ソケット65aを介して通信が行われ、それが実ソケット65bによって受信 される。次にクライアント側インタセプト・モジュール30は、ウェブ・ブラウ ザ10との通信のために別の実ソケットを作成する。第11図に示すように、ウ ェブ・ブラウザ10上で複数の実ソケットが作成され、それに対応する実ソケッ トがクライアント側インタセプト・モジュール30上で作成される。これらの実 ソケットは、ウェブ・ブラウザ10上の60a〜64aおよびクライアント側イ ンタセプト・モジュール30上の60b〜64bとして図示されている。これら の実ソケットは、ウェブ・ブラウザ10がそれを介してクライアント側インタセ プト・モジュール30と通信するための手段である。実ソケット60〜64aお よび60b〜64bを作成した後、これらのソケットを介した通信を多重化して 実ソケット36aに送り、実ソケット36aはクライアント側インタセプト・モ ジュール30に外部通信リンク35へのアクセスを提供する。実ソケット36a および36bはコンピュータ5の実ソケット37aを介してコンピュータ6の実 ソケット37bに要求を送るときに作成される。実ソケット37bが接続要求を 受け取ると、実ソケット36aおよび36bが作成される。ソケット37aおよ び37bは、クライアント側インタセプト・モジュールとサーバ側インタセプト ・モジュールとの間の通信のための最初の実ソケットとして機能し、ソケット3 6aおよび36bによって示されているこの2つのモジュールの間の接続を確 立するためにのみ使用することができる。これらの実ソケットのそれぞれは標準 TCP/IPプロトコルの下で動作する。第2のコンピュータ6が外部通信リン ク35を介して通信を受信するとき、それらの通信は実ソケット36bで受信さ れる。次にサーバ側インタセプト・モジュール40は、ソケット36bで受信し た通信を多重化解除し、それらをウェブ・サーバ20に送信するために適切なソ ケットに供給する。したがって、たとえば、特定のURLに対して情報を要求す るためのソケット60aからソケット60までの通信は、ソケット36a上に多 重化され、ソケット36bによって受信され、サーバ側インタセプト・モジュー ル40によって多重化解除され、ソケット60cからウェブ・サーバ20上のソ ケット60dに送られることになる。同様に、ソケット61aを介して行われる 通信はソケット61bによって受信され、クライアント側インタセプト・モジュ ール30によって多重化され、ソケット36aからソケット36bに送られ、そ こでサーバ側インタセプト・モジュール40がその通信を多重化解除してソケッ ト61cからソケット61dに送る。したがって、ソケット60aと60b、6 1aと61b、62aと62b、63aと63b、64aと64bを介した通信 は、サーバ側インタセプト・モジュール40とウェブ・サーバ20との間のソケ ット60cと60d、61cと61d、62cと62d、63cと63d、およ び64cと64dのうちのそれぞれの対応するソケットを介して送信される。 同様に、ウェブ・サーバ20によるウェブ・ブラウザ10からの要求に対する 応答も、ウェブ・サーバ20をサーバ側インタセプト・モジュール40に接続す るソケットを介して送られ、外部通信リンク35を介してクライアント側インタ セプト・モジュール30に送られた後、ウェブ・ブラウザ10に送られる。した がって、たとえばウェブ・サーバ20によって発信された応答はソケット60d から60cを介して送られ、サーバ側インタセプト・モジュール40によってソ ケット36bに多重化され、そこから外部通信リンク35を介してソケット36 aに送られる。次にクライアント側インタセプト・モジュール30がその通信を 多重化解除し、それをソケット60bに送り、それがウェブ・ブラウザ10上の ソケット60aに送られる。ウェブ・ブラウザ10またはウェブ・サーバ20が 使用する各ソケットについて同様の通信経路が確立される。当業者ならわかるよ うに、本発明についてウェブ・ブラウザ10とウェブ・サーバ20との間の4ソ ケット通信に関して説明したが、ウェブ・ブラウザ10とウェブ・サーバ20と の間の通信アクセスを実現するために任意の数のソケットを開くことができる。 第12図は、クライアント側インタセプト・モジュール30とサーバ側インタ セプト・モジュール40における仮想ソケット・システムの実施例を示すブロッ ク図である。これらのモジュールの外部で、クライアント側インタセプト・モジ ュール30とウェブ・ブラウザ10およびサーバ側インタセ プト・モジュール40とウェブ・サーバ20の間の実ソケットが、通常のTCP /IPソケットとして機能する。したがって、仮想ソケットの使用はウェブ・ブ ラウザ10およびウェブ・サーバ20には透過である。 第12図のブロック図と第13図ないし第17図の流れ図を参照しながら本発 明の特定の実施例について説明する。第13図は、第12図にブロック68とし て図示されているソケット・マネージャのフローチャートである。第13図を参 照すると、ブロック300はクライアント側インタセプト・モジュール30の実 ソケット・マネージャ68の作成を示している。実ソケット・マネージャ68が 作成された後、実ソケット・マネージャは第12図にソケット65bとして図示 されている第1の実ソケットを作成する。この第1の実ソケットの作成は第13 図のブロック301として示されている。第1の実ソケット65bを作成した後 、クライアント側インタセプト・モジュール30内にあるソケット・マネージャ 68(本明細書ではクライアント・ソケット・マネージャとも呼ぶ)は、第13 図のブロック302に示すように、第1の実ソケット65b上での事象を待つ。 第1の実ソケット65b上で事象を受け取ると、第13図のブロック305に示 すように実ソケット・マネージャ68はその事象を検査し、その検査に基づいて 5通りの経路のうちの1つをとる。 第1の実ソケット65bで受信した通信要求に応答して実ソケットが作成され た場合は、第13図のブロック305か ら306までの経路に示すように、実ソケット・マネージャ68はその実ソケッ トを実事象リストに追加する。次に、実ソケット・マネージャはブロック307 に示すようにシンプレックス仮想ソケットを作成する。クライアント側インタセ プト・モジュールの場合、実ソケット・マネージャは、第13図のブロック30 8に示すように、作成された仮想ソケットについてクライアント側インタセプト ・モジュールの機能を実行するアプリケーション機能を開始する。 本明細書では、「シンプレックス・ソケット」または「シンプレックス仮想ソ ケット」という用語は、単一のソケットまたは単一のアプリケーションに直接接 続するソケットを指す。本明細書では、「マルチプレックス・ソケット」とは他 の複数のソケットに接続するソケットを指す。したがって、マルチプレックス・ ソケットは、多重化または多重化解除機能を実行し、シンプレックス・ソケット は1対1接続を行う。したがって、たとえば、第13図のブロック306から3 08までの機能を実行する際、クライアント・ソケット・マネージャ68は第1 の実ソケット65bが受信した第1の接続要求に応答して、実ソケット60b、 シンプレックス仮想ソケット70を作成し、アプリケーション80のクライアン ト側インタセプト機能を開始することになる。実ソケットが作成されたその後の 事象の場合も同様に、実ソケット・マネージャは実ソケット61b、62b、6 3b、または64bとシンプレックス仮想ソケット71、72、73、または7 4 を作成し、第12図でブロック81、82、83、または84として図示されて いる、作成された実ソケットおよび仮想ソケットに対応するCSI機能を開始す る。 以下に、クライアント側インタセプト機能の操作について、第12図に示す実 ソケット60Bとシンプレックス仮想ソケット70とクライアント側インタセプ ト機能80とを参照しながら説明する。第14図のブロック325はクライアン ト側インタセプト機能80の作成を示している。作成されると、クライアント側 インタセプト機能80はブロック326に示すようにシンプレックス仮想ソケッ ト70上の事象を待つ。この待機操作は、第16−4図に示す仮想選択機能を実 行することによって行われる。事象を受け取ると、ブロック330に示すように その事象が検査される。事象が仮想ソケット閉鎖である場合、第14図のブロッ ク349に示すようにクライアント側インタセプト機能80はシンプレックス仮 想ソケット70を削除し、ブロック350に示すように終了する。 事象がデータの受信である場合、ブロック330からブロック331への経路 がとられ、クライアント側インタセプト機能80は第16−3図を参照しながら 説明する仮想受信操作を実行することによって、シンプレックス仮想ソケット7 0からブラウザ発信通信を受け取る。次に、クライアント側インタセプト機能は 前述のクライアント側インタセプト・モジュールの機能(たとえば第3図および 第7図を参照)を実行する。これはブロック332に示されている。次にクライ アント側インタセプト機能80は、クライアント側インタセプト・モジュール3 0内の実ソケット36aに接続されるマルチプレックス仮想ソケット90を作成 する。実ソケット36aはサーバ側インタセプト・モジュール40上の実ソケッ ト36bに接続される。マルチプレックス仮想ソケットの作成は、第14図のブ ロック333に示されており、本明細書で第16−1図を参照しながら説明する 仮想作成操作を実行することによって行われる。ブロック334は、ウェブ・ブ ラウザ発信通信のためにクライアント側インタセプト機能80が実行された後で 、実ソケット60bとシンプレックス仮想ソケット70を介してウェブ・ブラウ ザから受け取った情報を送信する操作を示す。この通信は、第16−2図を参照 しながら説明する仮想送信操作を実行することによってマルチプレックス仮想ソ ケット90の待ち行列に入れられる。クライアント側インタセプト機能80は、 要求をマルチプレックス仮想ソケット90の待ち行列に入れた後、第14図のブ ロック335に示すようにマルチプレックス仮想ソケット90の待ち行列に入れ られているデータをフラッシュし、次にブロック336に示すようにマルチプレ ックス仮想ソケット上の事象を待つ。仮想フラッシュ機能は、第17−1図を参 照しながら説明する仮想フラッシュ操作を実行することによって行われ、マルチ プレックス仮想ソケット待ち行列からデータを取り出してそのデータを実ソケッ ト36aに供給する。待機機能は、第16−4図に示す仮想選択機能を実行する こ とによって行うことができる。この時点で、クライアント側インタセプト・モジ ュールはウェブ・ブラウザ発信通信をインタセプトし、その通信を外部通信リン ク35を介してサーバ側インタセプト・モジュールに送信し終わったことになる 。 第13図に戻ると、サーバ側インタセプト・モジュール40またはクライアン ト側インタセプト・モジュール30におけるソケット・マネージャのフローチャ ートが示されている。第12図のブロック69に示すように、サーバ側インタセ プト・モジュール内の実ソケット・マネージャ、すなわちサーバ・ソケット・マ ネージャは、ブロック68に示すクライアント・ソケット・マネージャと同じ機 能を実行する。ブロック301に示すように、第1の実ソケットを作成する際、 サーバ側インタセプト・モジュール30は、サーバ側インタセプト・モジュール 40に関連づけられたクライアント側インタセプト・モジュール30からのソケ ットの要求を受け取る「周知のポート」37bを作成する。サーバ側インタセプ ト・モジュール40の実ソケット36b上で実事象が発生すると、ブロック30 5に示すようにその事象が検査される。この場合、この事象は実ソケット36a からのデータの受信であり、したがって第13図のブロック305からブロック 320までの経路がとられる。実ソケット36b上で受信したデータが検査され 、この例ではデータはクライアント側インタセプト・モジュールによって送信さ れたウェブ・ブラウザ発信通信であるため、サーバ側インタセプト・モジュール 4 0において新しい仮想ソケットを作成しなければならない。したがって、第13 図のブロック320からブロック321への経路がとられる。次にサーバ・ソケ ット・マネージャ69は、第13図のブロック321、ブロック322、ブロッ ク323、およびブロック324に示す操作を行う。サーバ・ソケット・マネー ジャ69はブロック321に示すようにマルチプレックス仮想ソケット95を作 成し、ブロック322に示すようにマルチプレックス・ソケット活動タイマをキ ャンセルし、第13図のブロック323と第12図のブロック85に示すサーバ 側インタセプト機能のアプリケーションを開始する。実ソケット36bで受け取 ったデータは次にマルチプレックス仮想ソケット95の待ち行列に入れられ、仮 想事象が通知される。 ブロック323に示すサーバ側インタセプト機能の作成は、第15図のブロッ ク360に示されている。サーバ側インタセプト機能85の作成後、この機能は 、クライアント側インタセプト・モジュール30から送信され、ウェブ・ブラウ ザ発信通信に対応するデータを、マルチプレックス仮想ソケット95から受け取 る。この操作は第15図のブロック361に示されている。クライアント側イン タセプト・モジュールからデータを受け取った後、サーバ側インタセプト機能8 5は、そのデータを、サーバ側インタセプト・モジュールについて前述したよう に処理する。このサーバ側機能の実行はブロック362に示されている(たとえ ば第5図および第9図 を参照)。情報を処理した後、サーバ側インタセプト機能85は仮想作成を行う ことによってシンプレックス仮想ソケット75を作成する。この操作については 本明細書で第16−1図を参照しながら説明する。この操作は第15図のブロッ ク363に示されている。次に、サーバ側インタセプト機能85は、仮想送信を 行うことによって、ブロック364に示すようにウェブ・ブラウザ発信通信をシ ンプレックス仮想ソケット75に送る。仮想送信の操作については本明細書で第 16−2図を参照しながら説明する。次に、サーバ側インタセプト機能85は、 仮想フラッシュを行ってシンプレックス仮想ソケット75の待ち行列に入ってい るデータをソケット60cにフラッシュし、シンプレックス仮想ソケット75上 の事象を待つ。仮想フラッシュ操作については本明細書で第17−1図を参照し ながら説明する。この送信操作とフラッシュ操作は第15図のブロック364お よび365に示されている。待機操作は、第16−4図で説明されている仮想選 択機能を実行することによって行うことができる。サーバ側インタセプト機能8 5がシンプレックス仮想ソケット75を作成したとき、対応する実ソケット60 cも作成されている。サーバ側インタセプト機能85は、ウェブ・ブラウザ発信 通信をシンプレックス仮想ソケット75に送信することによって、ウェブ・ブラ ウザ発信通信をウェブ・サーバに転送した。 サーバ側インタセプト・モジュール40が実ソケット60c上でウェブ・サー バからの応答を受信すると、実事象が発 生し、サーバ・ソケット・マネージャ69は第13図のブロック302を終了し て、ブロック305に示すように実ソケット60c上で発生した事象を検査する 。この事例の場合、これは既存の仮想ソケットのデータであり、第13図のブロ ック320からブロック324までの経路がとられる。実ソケット60c上で受 信したデータは仮想ソケット75の待ち行列に入れられ、仮想事象が通知される 。仮想事象が通知されると、サーバ側インタセプト機能85は第15図のブロッ ク366を終了し、ブロック370に示すようにその事象を検査する。事象がソ ケット閉鎖である場合、エラー条件が発生し、第15図のブロック375に示す ように応答としてエラー・メッセージが作成される。しかし、事象がデータの受 信の場合は、ブロック370からブロック371への経路をとり、サーバ側イン タセプト機能85は、第16−3図を参照しながら説明するように仮想受信を実 行して、ブロック371に示すようにシンプレックス仮想ソケット75から応答 を入手する。次にサーバ側インタセプト機能85は、ブロック372に示し、第 17−2図を参照しながら説明するように、シンプレックス仮想ソケット75の 仮想閉鎖を実行し、サーバ側インタセプト・モジュールに関して前述し、ブロッ ク373に示すように、その応答を処理する(たとえば第6図および第10図を 参照)。 第15図のブロック370の終了経路がブロック375へのエラー経路である かブロック371へのデータ経路である かを問わず、ブロック374でシンプレックス仮想ソケット75が削除される。 次にサーバ側インタセプト機能は、ブロック376に示すようにマルチプレック ス仮想ソケット95への仮想送信操作を行ってウェブ・サーバ発信通信をクライ アント側インタセプト・モジュール30に送信する。サーバ側インタセプト機能 85は次に、仮想フラッシュ操作を行って、マルチプレックス仮想ソケット95 の待ち行列に入っているデータをフラッシュする。これらの操作はブロック37 7に示されている。次にサーバ側インタセプト機能85は、第15図のブロック 378に示すように仮想閉鎖操作を行ってマルチプレックス仮想ソケット95を 閉じる。最後に、サーバ側インタセプト機能85は、ブロック379および38 0に示すようにマルチプレックス仮想ソケットを削除して終了する。 サーバ側インタセプト機能は、マルチプレックス仮想ソケット95への仮想送 信操作とフラッシュ操作を行う。これらの操作によって、実ソケット36a上で 事象がトリガされ、クライアント・ソケット・マネージャ68はブロック302 を終了し、ブロック305に示すように事象を検査する。これは実ソケット36 aでデータを受信し、第13図のブロック305からブロック320までの経路 がとられ、データがマルチプレックス仮想ソケット90の待ち行列に入れられる ためである。したがって、実ソケット36aが外部通信リンク35を介して実ソ ケット36bからウェブ・サーバ応答を 受け取ると、その情報が多重化解除され、マルチプレックス仮想ソケットに供給 される。データの受信によって、第13図のブロック324に示すように仮想事 象が発生し、第14図のブロック336が終了してクライアント側インタセプト 機能80は第14図のブロック340に示すようにその事象を検査することにな る。 事象がソケット閉鎖応答である場合、第14図のブロック340からブロック 345への経路をとり、クライアント側インタセプト機能80はエラー・メッセ ージ応答を作成して第14図のブロック344に進む。この例の場合のように事 象がデータ受信の場合、第14図のブロック340からブロック341の経路を とり、クライアント側インタセプト機能80は仮想受信操作を行ってマルチプレ ックス仮想ソケット90から応答を受信する。この受信操作は第14図のブロッ ク341に示されている。マルチプレックス仮想ソケット90からデータを受信 した後、クライアント側インタセプト機能80はブロック342に示すように仮 想閉鎖操作を行ってマルチプレックス仮想ソケット90を閉じる。次にクライア ント側インタセプト機能80は、ブロック343に示すように、クライアント側 インタセプト・モジュールに関して前述したように応答を処理する(たとえば第 4図および第8図を参照)。 ブロック340を終了してどちらの経路をとる場合も、ブロック344の操作 が行われる。クライアント側インタセプ ト機能80は、ブロック344に示すようにマルチプレックス仮想ソケットを削 除し、次にブロック346に示すように仮想送信操作を行ってシンプレックス仮 想ソケット70を介してブラウザに応答を送信する。この仮想送信操作が完了す ると、クライアント側インタセプト機能80はブロック347に示すように仮想 フラッシュ操作を行ってシンプレックス仮想ソケットの待ち行列に入っているデ ータを実ソケット60bにフラッシュし、次にブロック348に示すように仮想 閉鎖操作を行ってシンプレックス仮想ソケットを閉じる。クライアント側インタ セプト機能のシンプレックス仮想ソケットを閉じた後、第14図のブロック34 9および350に示すようにシンプレックス仮想ソケットが削除され、クライア ント側インタセプト機能は終了する。 当業者ならわかるように、本発明についてシンプレックス仮想ソケットおよび マルチプレックス仮想ソケットとクライアント側インタセプト機能およびサーバ 側インタセプト機能の1つの特定のインスタンスに関して説明したが、単一のク ライアント側インタセプト・モジュールまたはサーバ側インタセプト・モジュー ル内でこれらの機能を複数作成することができる。したがって、本発明によるク ライアント側インタセプト・モジュールとサーバ側インタセプト・モジュールは 、クライアント側インタセプト・モジュール30とサーバ側インタセプト・モジ ュール40との間にTCP/IP接続を作成し、次に、そのTCP/IP接続を 維持しながらそのTC P/IP接続上で複数のウェブ・ブラウザ発信通信またはウェブ・サーバ発信通 信を多重化することができる。 クライアント・ソケット・マネージャとサーバ・ソケット・マネージャの残り の機能は、第16−1図ないし第16−4図と第17−1図および第17−2図 を参照すれば最もよく理解できよう。これらの図では、第14図および第15図 のフローチャートに示されているように仮想作成、仮想送信、仮想受信、仮想選 択、仮想フラッシュ、または仮想閉鎖操作を実行するときに、クライアント側イ ンタセプト・モジュールおよびサーバ側インタセプト・モジュールによって行わ れる操作が説明されている。第14図のブロック333および第15図のブロッ ク363に示すような仮想作成操作を行う場合、第16−1図のブロック400 から始まる操作を行う。ブロック405に示すように、ソケット・マネージャは 、実ソケットが必要かどうかを判断する。作成操作によって既存の実ソケットに 接続するマルチプレックス仮想ソケットを作成する場合などのように、実ソケッ トがすでに存在する場合は、ブロック405から「No」経路をとり、ブロック 409に示すようにその仮想ソケットが実ソケットに接続される。しかし、実ソ ケットが必要な場合は、ブロック405から「Yes」経路をとる。ブロック4 06に示すように実ソケットを作成する。次に、第13図のブロック302に示 す監視のために、ブロック408に示すようにその実ソケットを事象リストに追 加する。実ソケットを作成し、接続を確立し た後、ブロック409に示すように仮想ソケットを実ソケットに接続し、ブロッ ク410に示すように作成操作が完了する。 第14図のブロック334および346または第15図のブロック364およ び376に示す仮想送信操作を行う場合、第16−2図のブロック420から始 まる操作が行われる。ブロック427に示すようにデータが仮想ソケット待ち行 列に加えられ、完了すると、送信操作はブロック428に示すように終了する。 第14図のブロック331および341と第15図のブロック361および3 71に示す仮想受信操作は、第16−3図のブロック430から始まる操作を行 うことによって行われる。ブロック435に示すように、仮想ソケット待ち行列 を調べて仮想ソケット待ち行列に何かデータが入っているか判断する。仮想ソケ ット待ち行列にデータがある場合、ブロック435の「Yes」経路をとり、ブ ロック436に示すように受信操作を呼び出した機能にそのデータが返される。 仮想ソケット待ち行列にデータがなく、ソケットに閉鎖のマークが付けられてい ない場合、決定ブロック440の「No」経路をとり、ブロック441に示すよ うに何も返されない。しかし、待ち行列にデータがなく、ソケットに閉鎖のマー クが付けられている場合、ブロック440の「Yes」経路をとり、ブロック4 42に示すようにソケットに閉鎖のマークが付けられて、ブロック443に示す ように、受信を要求す る操作にソケット閉鎖応答が返される。 第14図のブロック326および336と第15図のブロック366で行われ る仮想選択操作は、第16−4図のブロック445から始まる操作を実行するこ とによって行われる。ブロック446に示すように、まず、選択された仮想ソケ ットについてデータまたは仮想閉鎖操作が保留状態になっていないかどうかを判 断する。保留状態のデータまたは仮想閉鎖がない場合、ブロック446の「No 」経路をとり、プロセスはブロック447に示すように選択された仮想ソケット 上の仮想ソケットを待ち、そのような事象を受け取った後でブロック448に示 すように終了する。選択された仮想ソケットについてデータまたは仮想閉鎖が保 留状態になっている場合、仮想事象がすでに発生しており、ブロック446の「 Yes」経路をとって、ブロック448に示すようにプロセスが終了する。 第14図のブロック335および347と第15図のブロック365および3 77で言及した仮想フラッシュ操作は、第17−1図のブロック450から始ま る操作を実行することによって行われる。仮想フラッシュ操作が呼び出されると 、決定ブロック455に示すように、フラッシュする仮想ソケット待ち行列にデ ータが入っているかどうかを調べる。仮想ソケット待ち行列にデータが入ってい ない場合、ブロック455の「No」経路が示すようにフラッシュ操作は単に終 了して呼出し側機能に戻る。しかし、待ち行列にデータが入っ ている場合、ブロック455の「Yes」経路をとり、ブロック460に示すよ うにその仮想ソケット待ち行列がマルチプレックス・ソケットのものであるかど うかを判断する。マルチプレックス・ソケットである場合は、ブロック461に 示すようにソケットの固有識別子と転送中のデータ量を示す3バイトから成るソ ケット・ヘッダが実ソケット・バッファに加えられる。マルチプレックス・ソケ ットであるかシンプレックス・ソケットであるかを問わず、いずれの場合もブロ ック462に示すように実ソケットのためのデータが実ソケット・バッファに移 される。実ソケット・バッファがいっぱいの場合、ブロック465の「Yes」 経路をとり、ブロック466に示すように実ソケット・バッファからデータが実 ソケットに送られる。実バッファがいっぱいになっていない場合は、ブロック4 65の「No」経路をとる。次に、仮想フラッシュ機能は、他のいずれかのマル チプレックス仮想ソケット待ち行列に実ソケットに送るべき他のデータがあるか どうかを判断する。答えが肯定の場合、ブロック470の「Yes」経路をとり 、実ソケット・バッファ内のデータは、他の仮想ソケット待ち行列の1つをフラ ッシュするために仮想フラッシュ操作が再び呼び出されるまで送られない。他の データがない場合、または他のマルチプレックス仮想ソケットからデータを付加 した後は、ブロック466の操作を行い、実ソケットバッファ内のデータを実ソ ケットに送る。仮想フラッシュ操作を呼び出した機能に対応する仮想ソケット待 ち 行列内のすべてのデータが実ソケットに送られた後、ブロック467に示すよう に仮想フラッシュ操作は終了する。 第14図のブロック342および348と第15図のブロック372および3 78に示す仮想閉鎖操作は、第17−2図のブロック480から始まる操作を実 行することによって行われる。仮想閉鎖操作が呼び出されると、まずブロック4 85に示すようにその仮想閉鎖がマルチプレックス仮想ソケットの閉鎖であるか どうかを判断する。マルチプレックス仮想ソケットである場合、ブロック485 の「Yes」経路をとり、仮想ソケット待ち行列に「閉鎖」操作標識が付加され る。仮想閉鎖がマルチプレックス仮想ソケットの閉鎖であるか否かを問わず、ブ ロック487に示すように仮想閉鎖操作によって仮想フラッシュ操作が呼び出さ れ、ブロック488に示すように実ソケットとの接続を断つ。次に、ブロック4 90に示すように仮想閉鎖がシンプレックス仮想ソケットの閉鎖であるかどうか を調べ、そうでない場合は「No」経路をとってブロック495に進む。閉鎖は マルチプレックス仮想ソケットの閉鎖であるため、ブロック495でそれが最後 のマルチプレックス仮想ソケットであるかどうかを判断し、最後のマルチプレッ クス仮想ソケットである場合は、ブロック496に示すようにマルチプレックス 活動タイマをセットする。最後のマルチプレックス仮想ソケットでない場合は、 ブロック496をスキップする。 ブロック490に戻って、仮想閉鎖がシンプレックス仮想 ソケットの閉鎖である場合、ブロック491に示すようにそれに対応する実ソケ ットを事象リストから除去し、ブロック492に示すように実ソケットを閉鎖し 、削除する。ソケットがシンプレックスとマルチプレックスのどちらの仮想ソケ ットであるかを問わず、ブロック497に示すようにその仮想ソケットに閉鎖の マークを付け、ブロック498で閉鎖操作は終了する。 次に、第16−1図ないし第16−4図および第17−1図ないし第17−2 図に関連する第13図について説明する。実事象が発生すると、第13図のブロ ック302を終了し、ソケット・マネージャは事象がどのように生成されたかに 基づいてその事象を調べる。事象が第17−2図・のブロック496で設定され たマルチプレックス・ソケット活動タイマのタイム・アウトである場合、第13 図のブロック305からブロック312までの経路がとられる。第13図に示す ように、次にソケット・マネージャによってブロック312および313の操作 が行われ、マルチプレックス実ソケットが閉じられ、クライアント側インタセプ ト・モジュールをサーバ側インタセプト・モジュールに接続するソケットに対応 するマルチプレックス実ソケットが削除される。その後、ソケット・マネージャ は次の実事象を待つ。ブロック322に示すように、このマルチプレックス事象 タイマはマルチプレックス仮想ソケットの作成によってリセットされる。 実ソケット上で発生した事象が、ウェブ・サーバがウェブ ・サーバとサーバ側インタセプト・モジュールとの間のソケット接続に対する閉 鎖操作を行う場合などの実ソケット閉鎖である場合、第13図のブロック305 からブロック309への経路がとられる。ソケット・マネージャはブロック30 9に示すように実事象リストからその実ソケットを除去し、ブロック310に示 すように1つの仮想ソケット(または複数のマルチプレックス・ソケットの場合 は複数の仮想ソケット)をその1つの実ソケットまたは複数の実ソケットから切 断する。次に、ソケット・マネージャはその仮想ソケットに閉鎖のマークを付け 、仮想事象を通知する。この操作はブロック311に示されており、仮想ソケッ ト待ち行列からすべてのデータが空にされると、仮想ソケットは閉じる。仮想ソ ケットに閉鎖のマークを付けた後、決定ブロック315に示すようにソケット・ マネージャは閉じる実ソケットがシンプレックス・ソケットであるかどうかを判 断する。閉じる実ソケットがシンプレックス・ソケットである場合、ブロック3 16に示すようにその実ソケットを閉じ、削除する。次にソケット・マネージャ はブロック302に示すように次の実事象を待つ。 閉じるソケットがシンプレックス実ソケットではない場合、ブロック315の 「No」経路をとり、ソケット・マネージャは次の実事象を待つ。したがって、 マルチプレックス実ソケット、すなわちクライアント側インタセプト・モジュー ルとサーバ側インタセプト・モジュールとを接続するソケット を、マルチプレックス・ソケット活動タイマのタイムアウトのみによって閉じる ことができる。これによって、ユーザ指定の所定時間の間、クライアント側イン タセプト・モジュールとサーバ側インタセプト・モジュールとの間の接続を、モ ジュール間の最後の通信が行われた後でも維持することができる。マルチプレッ クス・ソケット活動タイマのタイムアウトの前にブラウザからその後の接続要求 があった場合、クライアント側インタセプト・モジュールとサーバ側インタセプ ト・モジュールとの間に接続を再確立せずに通信を行うことができ、それによっ てそのような接続を再確立するオーバーヘッドが不要になる。 第13図で説明する最後の経路は、実事象が発生し、その事象が第12図の1 つまたは複数のマルチプレックス実ソケット36aまたは36b上でのデータの 受信である場合である。マルチプレックス実ソケット上でデータを受信すると、 そのデータは検査され、第17−2図のブロック486で仮想待ち行列に付加さ れるもののようにデータに閉鎖操作標識が含まれている場合は、仮想閉鎖操作が 行われ、ブロック320からブロック310への経路がとられる。ソケット・マ ネージャは、ブロック310に示すように実ソケット上で受信したデータで識別 されたマルチプレックス仮想ソケットを実ソケットから切断し、次にブロック3 11に示すように仮想ソケットに「閉鎖」のマークを付け、仮想事象を通知する 。この閉鎖はマルチプレックス仮想ソケットの閉鎖であるため、 ブロック315から「No」経路がとられ、ブロック302に示すようにソケッ ト・マネージャは別の実事象を待つ。 第13図ないし第17図で説明されている操作を行うことによって、本発明の 特定の態様は外部通信リンクを介して第1のコンピュータと第2のコンピュータ との間に持続的接続を確立する。この持続的接続は、すべてのウェブ・ブラウザ 発信通信が完了するまで維持され、持続的接続が維持されている間に複数のウェ ブ・ブラウザ発信通信がインタセプトされ、外部通信リンクに多重化されて送ら れる。次にクライアント/サーバ固有データ・ストリームを多重化解除して複数 のHTTPデータ・ストリームを作成し、その複数のHTTPデータ・ストリー ムをウェブ・サーバに供給することができる。また、持続的接続は、すべてのウ ェブ・サーバ発信通信がインタセプト完了するまで維持される。持続的接続が維 持されている間に、複数のウェブ・サーバ発信通信がインタセプトされ、外部通 信リンクに多重化されて送られる。さらに、クライアント/サーバ固有データ・ ストリームを多重化解除して複数のHTTPデータ・ストリーを作成し、その複 数のHTTPデータ・ストリームをウェブ・サーバに供給することができる。 図面および本明細書では、本発明の典型的な好ましい実施例を開示し、特定の 用語を使用したが、これらの用語は総称および説明のためものに過ぎず、請求の 範囲に記載されている本発明の範囲を限定するためのものではない。
【手続補正書】 【提出日】1997年12月8日 【補正内容】 請求の範囲 1.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコン ピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セグメント が外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、ハイパー テキスト転送プロトコル(HTTP)を使用して第1のコンピュータからは遠隔 にある第2のコンピュータ上に常駐するウェブ・サーバ・アプリケーションと通 信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上させる方法 であって、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前に、インタセプトするステップと、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTP プロトコルからクライアント/サーバ固有通信プロトコルに変換するステップと 、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介して第2のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信するステップ と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを受信するステップと、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ ・ストリームに変換することによって、ウェブ・ブラウザからの通信に対応する HTTPデータ・ストリームを外部通信リンクを介して受信したクライアント/ サーバ固有データ・ストリームから再構築するステップと、 ウェブ・ブラウザによって発信された通信をウェブ・サーバにHTTPデータ ・ストリームとして供給するステップとを含む方法。 2.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答して、ウェブ・ブラウ ザが受信するHTTPデータ・ストリームを第1のコンピュータ内にあるキャッ シュに格納し、ウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクライ アント・キャッシュ項目を作成するステップと、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断するステップとを さらに含み、 ウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在す る場合には、前記変換、送信、受信、再構築、および供給ステップの代わりに、 ウェブ・ブラウザ発信通信に応答してウェブ・ブラウザにクライアント・キャ ッシュ項目をHTTPデータ・ストリームとして供給するステップを行うことを 特徴とする、請求項1に記載の方法。 3.特定のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格納し て、第1のコンピュータ内にあるユーザ 定義情報が提供されるようにするステップと、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断するステップと、 前記問い合わせステップによってウェブ・ブラウザ通信がユーザ定義情報が格 納されている要求に対応すると判断された場合に、前記供給ステップがウェブ・ ブラウザ発信通信に応答してユーザ定義格納情報をウェブ・ブラウザにHTTP データ・ストリームとして供給するステップを含み、 ユーザ定義格納情報がウェブ・ブラウザに供給される場合に前記送信ステップ 、前記受信ステップ、および前記再構築ステップの代わりに前記問い合わせステ ップが行われることを特徴とする、請求項1に記載の方法。 4.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ・ ストリームを第2のコンピュータにあるキャッシュに格納して、サーバ要求キャ ッシュ項目を作成するステップと、 ウェブ・ブラウザ発信通信に問い合わせて、ブラウザ発信通信に対応するサー バ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断するス テップと、 ブラウザ発信通信に関連づけられたサーバ要求キャッシュ項目をクライアント /サーバ固有通信プロトコルに変換するステップと、 変換されたサーバ要求キャッシュ項目を外部通信リンクを 介して第1のコンピュータにクライアント/サーバ固有データ・ストリームとし て送信するステップと、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手するステップとをさらに含み、 前記再構築ステップが、クライアント/サーバ固有通信プロトコルで受信した クライアント/サーバ固有データ・ストリームをHTTPデータ・ストリームに 変換することによって、外部通信リンクを介して受信したクライアント/サーバ 固有データ・ストリームからサーバ要求キャッシュ項目に対応するHTTPデー タ・ストリームを再構築するステップを含み、 前記供給ステップが、ウェブ・ブラウザによって要求された情報に対応するサ ーバ要求キャッシュ項目をウェブ・ブラウザにHTTPデータ・ストリームとし て供給するステップを含むことを特徴とする、請求項1に記載の方法。 5.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(CG I)要求に対応し、前記方法が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントCGIベース書式を供給するステップと、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書 式を供給するステップと、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータにあるキャッシュに格納してサーバ・ベース・キャッシュ項目 を作成するステップと、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを第1のコンピュータにあるキャッシュに格 納してクライアント・ベース・キャッシュ項目を作成するステップと、 インタセプトされたCGI要求に応答してウェブ・サーバによって発信された 通信に対応するHTTPデータ・ストリームを、外部通信リンクで送信する前に インタセプトするステップと、 インタセプトされたCGI要求をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを求めるステップと、 CGI差分データをクライアント/サーバ固有データ・ストリームとして外部 通信リンクを介してウェブ・ブラウザに送信し、第1のコンピュータに送信する ステップと、 第2のコンピュータによって送信され外部通信リンクを介して伝送されたクラ イアント/サーバ固有データ・ストリームを入手するステップとをさらに含み、 前記再構築ステップが、クライアントCGIベース書式を外部通信リンクを介 して受信したCGI差分データと結合してインタセプトされたCGI応答に対応 するHTTPデータ・ストリームを作成することによって、外部通信リンクを介 して受信したクライアント/サーバ固有データ・ストリームからウェブ・サーバ からの通信に対応するHTTPデータ・ストリームを再構築するステップを含み 、 前記供給ステップが、ウェブ・サーバによって発信された通信をウェブ・ブラ ウザにHTTPデータ・ストリームとして供給することを特徴とする、請求項1 に記載の方法。 6.第1のコンピュータと第2のコンピュータとの間に外部通信リンクを介して 持続的接続を確立するステップと、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するステ ップとをさらに含み、 前記インタセプト・ステップが、複数のウェブ・ブラウザ発信通信をインタセ プトするステップと、持続的接続を維持している間にそれらのウェブ・ブラウザ 発信通信を外部通信リンクに多重化して送るステップとを含むことを特徴とする 、請求項1に記載の方法。 7.外部通信リンクを介して第2のコンピュータに、第1のコンピュータの事前 定義特性に対応するコンピュータ固有情報を供給するステップと、 第1のコンピュータの事前定義特性に対応するコンピュータ固有情報を格納し てブラウザ・ヘッダ情報を供給するステ ップとをさらに含み、 前記変換ステップが、ウェブ・ブラウザ発信通信からコンピュータ固有情報を 取り除くステップを含み、 前記再構築ステップが、ブラウザ・ヘッダ情報をクライアント/サーバ固有デ ータ・ストリームと結合してHTTPデータ・ストリームを作成するステップを 含むことを特徴とする、請求項1に記載の方法。 8.ウェブ・サーバによって発信された通信に対応するHTTPデータ・ストリ ームを外部通信リンクで送信する前にキャプチャするステップと、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するステップと、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとしてウェブ・ブラウザに送信するステップと、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手するステップと、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ・ストリームに変換することによって、 外部通信リンクを介して受信したクライアント/サーバ固有データ・ストリーム から、ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再構 築するステップと、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給するステップとをさらに含む、請求項1に記載の方法。 9.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコン ピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも1セ グメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、 ハイパーテキスト転送プロトコル(HTTP)を使用して前記第1のコンピュー タからは遠隔の第2のコンピュータ上に常駐するウェブ・サーバ・アプリケーシ ョンと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上さ せる方法であって、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前にインタセプトするステップと、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するステップと、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介してクライアント /サーバ固有データ・ストリームとしてウェブ・サーバに送信するステップとを 含む方法。 10.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答してウェブ・ブラウ ザが受信するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャ ッシュに格納してウ ェブ・サーバとのウェブ・ブラウザ発信通信に対応するクライアント・キャッシ ュ項目を作成するステップと、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断するステップとを さらに含み、 ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在する場合、 前記変換ステップおよび前記送信ステップの代わりに、 ウェブ・ブラウザ発信通信に応答してクライアント・キャッシュ項目をHTT Pデータ・ストリームとしてウェブ・ブラウザに供給するステップを行うことを 特徴とする、請求項9に記載の方法。 11.固有のウェブ・ブラウザ情報に関連づけられたユーザ定義情報を格納して 、第1のコンピュータ内にあるユーザ定義情報が提供されるようにするステップ と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断するステップと、 前記問い合わせステップによってウェブ・ブラウザ通信がユーザ定義情報が格 納されている要求に対応していると判断された場合、ウェブ・ブラウザ発信通信 に応答してユーザ定義格納情報をウェブ・ブラウザにHTTPデータ・ストリー ムとして供給するステップとをさらに含み、 ユーザ定義格納情報をウェブ・ブラウザに供給する場合、 前記問い合わせステップおよび前記供給ステップの代わりに前記送信ステップを 行うことをことを特徴とする、請求項9に記載の方法。 12.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記方法が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してCGIベース書式を供給するステップと、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャッシュ に格納してクライアント・ベース・キャッシュ項目を作成するステップと、 クライアントCGIベース書式を外部通信リンクを介して受信したCGI差分 データと結合してHTTPデータ・ストリームを作成することによって、外部通 信リンクを介して受信したクライアント/サーバ固有データ・ストリームから、 ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再構築する ステップと、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給するステップとをさらに含む、請求項9に記載の方法。 13.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立するステップと、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するステ ップとをさらに含み、 前記インタセプト・ステップが、複数のウェブ・ブラウザ発信通信をインタセ プトするステップと、持続的接続を維持している間にそれらの複数のウェブ・ブ ラウザ発信通信を外部通信リンクに多重化して送るステップを含むことを特徴と する、請求項9に記載の方法。 14.外部通信リンクを介して第2のコンピュータに第1のコンピュータの事前 定義特性に対応するコンピュータ固有情報を供給するステップをさらに含み、 前記変換ステップがウェブ・ブラウザ発信通信からコンピュータ固有情報を取 り除くステップを含むことを特徴とする、請求項9に記載の方法。 15.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セグメン トが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、ハイパ ーテキスト転送プロトコル(HTTP)を使用して第1のコンピュータからは遠 隔にある第2のコンピュータ上に常駐するウェブ・サーバ・アプリケーションと 通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上させる方 法であって、 ウェブ・サーバによって発信された通信に対応するHTTPデータ・ストリー ムを、外部通信リンクで送信する前にイ ンタセプトするステップと、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するステップと、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとして送信するステップとを含む方法。 16.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータ内にあるキャッシュに格納してサーバ要求キ ャッシュ項目を作成するステップと、 ウェブ・ブラウザ発信通信をインタセプトして、ブラウザ発信通信に対応する サーバ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断す るステップとをさらに含み、 前記変換ステップが、ブラウザ発信通信に関連づけられたサーバ要求キャッシ ュ項目をクライアント/サーバ固有通信プロトコルに変換するステップを含み、 前記送信ステップが、変換されたサーバ要求キャッシュ項目を外部通信リンク を介して第1のコンピュータにクライアント/サーバ固有データ・ストリームと して送信するステップを含むことを特徴とする、請求項15に記載の方法。 17.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記方法が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を提供するステップと、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータ内にあるキャッシュに格納してサーバ・ベース・キャッシュ項 目を作成するステップとをさらに含み、 前記インタセプト・ステップが、インタセプトされたCGI要求に応答してウ ェブ・サーバによって発信された通信に対応するHTTPデータ・ストリームを 、外部通信リンクで送信する前にインタセプトするステップと、 インタセプトされたCGI応答をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを提供するステップとを含み、 前記送信ステップがCGI差分データを外部通信リンクを介してクライアント /サーバ固有データ・ストリームとしてウェブ・ブラウザに送信するステップを 含むことを特徴とする、請求項15に記載の方法。 18.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立するステップと、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的 接続を維持するステップとをさらに含み、 前記インタセプト・ステップが、複数のウェブ・サーバ発信通信をインタセプ トするステップと、持続的接続を維持している間にそれらのウェブ・サーバ発信 通信を外部通信リンクに多重化して送るステップとを含むことを特徴とする、請 求項15に記載の方法。 19.クライアントとサーバとの間の通信のためにクライアント・アプリケーシ ョンとサーバ・アプリケーションがクライアント/サーバ独立通信プロトコルを 使用し、第1のコンピュータ内のクライアント・アプリケーションと第2のコン ピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セグメント が外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、第1のコ ンピュータからは遠隔の第2のコンピュータ上に常駐するサーバ・アプリケーシ ョンと通信するクライアント・アプリケーションを有するクライアント/サーバ ・システムのパフォーマンスを向上させる方法であって、 遠隔クライアントによって発信されたクライアント/サーバ独立通信プロトコ ルでの通信を、外部通信リンクで送信する前にインタセプトするステップと、 クライアントによって発信された通信を第2のクライアント/サーバ固有通信 プロトコルに変換するステップと、 変換された通信を外部通信リンクを介して送信するステップと、 外部通信リンクを介して送信された通信を受信するステップと、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換するステップと、 遠隔クライアントによって発信された通信をクライアント/サーバ独立通信プ ロトコルでサーバに供給するステップとを含む方法。 20.サーバによって発信されたクライアント/サーバ独立通信プロトコルでの 通信を、外部通信リンクで送信する前にインタセプトするステップと、 サーバによって発信された通信を第2のクライアント/サーバ固有通信プロト コルに変換するステップと、 変換された通信を外部通信リンクを介して送信するステップと、 外部通信リンクを介して送信された通信を受信するステップと、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換するステップと、 サーバによって発信された通信をクライアント/サーバ独立通信プロトコルで 遠隔クライアントに供給するステップとをさらに含む、請求項19に記載の方法 。 21.第1のコンピュータ内のウェブ・ブラウザ・アプリケ ーションと第2のコンピュータ内のサーバ・アプリケーションとの間の通信の少 なくとも1セグメントが外部通信リンクを介して行われる、第1のコンピュータ 上に常駐し、ハイパーテキスト転送プロトコル(HTTP)を使用して第1のコ ンピュータからは遠隔にある第2のコンピュータ上に常駐するウェブ・サーバ・ アプリケーションと通信するウェブ・ブラウザ・アプリケーションのパフォーマ ンスを向上させる装置であって、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前に、インタセプトする手段と、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTP プロトコルからクライアント/サーバ固有通信プロトコルに変換する手段と、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介して第2のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信する手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを受信する手段と、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ・ストリームに変換することによって、 ウェブ・ブラウザからの通信に対応するHTTPデータ・ストリームを外部通信 リンクを介して受信したクライアント/サーバ固有データ・ ストリームから再構築する手段と、 ウェブ・ブラウザによって発信された通信をウェブ・サーバにHTTPデータ ・ストリームとして供給する手段とを含む装置。 22.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答して、ウェブ・ブラ ウザが受信するHTTPデータ・ストリームを第1のコンピュータ内にあるキャ ッシュに格納し、ウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクラ イアント・キャッシュ項目を作成する手段と、 ウェブ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応するクライ アント・キャッシュ項目が存在するかどうかを判断する手段と、 ウェブ・ブラウザ発信通信に応答してウェブ・ブラウザにクライアント・キャ ッシュ項目をHTTPデータ・ストリームとして供給する手段とを含む、請求項 21に記載の装置。 23.特定のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格納 して、第1のコンピュータ内にあるユーザ定義情報が提供されるようにする手段 と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断する手段と、 前記問い合わせ手段によってウェブ・ブラウザ通信がユーザ定義情報が格納さ れている要求に対応すると判断された場合に、前記供給手段がウェブ・ブラウザ 発信通信に応答して ユーザ定義格納情報をウェブ・ブラウザにHTTPデータ・ストリームとして供 給する手段を含む、請求項21に記載の装置。 24.前記格納手段が、クライアント・キャッシュ項目の作成時刻を格納してク ライアント・キャッシュ項目時間レコードを作成する手段をさらに含み、 前記問い合わせ手段が、クライアント・キャッシュ項目時間レコードを評価し て、ウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が、ウ ェブ・ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間間 隔内に作成されたかどうかを判断する手段をさらに含み、 前記供給手段が、前記判断手段によってクライアント・キャッシュ項目がウェ ブ・ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間間隔 内に作成されたと判断された場合、ウェブ・ブラウザ発信通信に応答してウェブ ・ブラウザにクライアント・キャッシュ項目をHTTPデータ・ストリームとし て供給する手段を含むことを特徴とする、請求項21に記載の装置。 25.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータにあるキャッシュに格納して、サーバ要求キ ャッシュ項目を作成する手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ブラウザ発信通信に対応するサー バ要求キャッシュ項目が前にキャッシュ に格納されているかどうかを判断する手段と、 ブラウザ発信通信に関連づけられたサーバ要求キャッシュ項目をクライアント /サーバ固有通信プロトコルに変換する手段と、 変換されたサーバ要求キャッシュ項目を外部通信リンクを介して第1のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信する手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手する手段とをさらに含み、 前記再構築手段が、クライアント/サーバ固有通信プロトコルで受信したクラ イアント/サーバ固有データ・ストリームをHTTPデータ・ストリームに変換 することによって、外部通信リンクを介して受信したクライアント/サーバ固有 データ・ストリームからサーバ要求キャッシュ項目に対応するHTTPデータ・ ストリームを再構築する手段を含み、 前記供給手段が、ウェブ・ブラウザによって要求された情報に対応するサーバ 要求キャッシュ項目をウェブ・ブラウザにHTTPデータ・ストリームとして供 給する手段を含むことを特徴とする、請求項21に記載の装置。 26.インタセプトされたウェブ・ブラウザ発信通信がインタセプトされたCG I要求であり、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントC GIベース書式を供給する手段と、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を供給する手段と、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータにあるキャッシュに格納してサーバ・ベース・キャッシュ項目 を作成する手段と、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを第1のコンピュータにあるキャッシュに格 納してクライアント・ベース・キャッシュ項目を作成する手段と、 インタセプトされたCGI要求に応答してウェブ・サーバによって発信された 通信に対応するHTTPデータ・ストリームを、外部通信リンクで送信する前に インタセプトする手段と、 インタセプトされたCGI要求をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを提供する手段と、 CGI差分データをクライアント/サーバ固有データ・ストリームとして外部 通信リンクを介してウェブ・ブラウザに 送信し、第1のコンピュータに送信する手段と、 第2のコンピュータによって送信され外部通信リンクを介して伝送されたクラ イアント/サーバ固有データ・ストリームを入手する手段とをさらに含み、 前記再構築手段が、クライアントCGIベース書式を外部通信リンクを介して 受信したCGI差分データと結合してインタセプトされたCGI応答に対応する HTTPデータ・ストリームを作成することによって、外部通信リンクを介して 受信したクライアント/サーバ固有データ・ストリームからウェブ・サーバから の通信に対応するHTTPデータ・ストリームを再構築する手段を含み、 前記供給手段が、ウェブ・サーバによって発信された通信をウェブ・ブラウザ にHTTPデータ・ストリームとして供給することを特徴とする、請求項21に 記載の装置。 27.第1のコンピュータと第2のコンピュータとの間に外部通信リンクを介し て持続的接続を確立する手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持する手段 とをさらに含み、 前記インタセプト手段が、複数のウェブ・ブラウザ発信通信をインタセプトす る手段と、持続的接続を維持している間にそれらのウェブ・ブラウザ発信通信を 外部通信リンクに多重化して送る手段とを含むことを特徴とする、請求項21に 記載の装置。 28.外部通信リンクを介して第2のコンピュータに、第1 のコンピュータの事前定義特性に対応するコンピュータ固有情報を供給する手段 と、 第1のコンピュータの事前定義特性に対応するコンピュータ固有情報を格納し てブラウザ・ヘッダ情報を供給する手段とをさらに含み、 前記変換手段が、ウェブ・ブラウザ発信通信からコンピュータ固有情報を取り 除く手段を含み、 前記再構築手段が、ブラウザ・ヘッダ情報をクライアント/サーバ固有データ ・ストリームと結合してHTTPデータ・ストリームを作成する手段を含むこと を特徴とする、請求項21に記載の装置。 29.ウェブ・サーバによって発信された通信に対応するHTTPデータ・スト リームを外部通信リンクで送信する前にキャプチャする手段と、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換する手段と、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとしてウェブ・ブラウザに送信する手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手する手段と、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ ・ストリームに変換することによって、外部通信リンクを介して受信したクライ アント/サーバ固有データ・ストリームから、ウェブ・サーバからの通信に対応 するHTTPデータ・ストリームを再構築する手段と、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給する手段とをさらに含む、請求項21に記載の装置。 30.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも1 セグメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し 、ハイパーテキスト転送プロトコル(HTTP)を使用して前記第1のコンピュ ータからは遠隔の第2のコンピュータ上に常駐するウェブ・サーバ・アプリケー ションと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上 させる装置であって、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前にインタセプトする手段と、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換する手段と、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介してクライアント /サーバ固有データ・ストリームとして ウェブ・サーバに送信する手段とを含む装置。 31.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答してウェブ・ブラウ ザが受信するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャ ッシュに格納してウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクラ イアント・キャッシュ項目を作成する手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断する手段と、 ウェブ・ブラウザ発信通信に応答してクライアント・キャッシュ項目をHTT Pデータ・ストリームとしてウェブ・ブラウザに供給する手段とを含む、請求項 30に記載の装置。 32.固有のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格納 して、第1のコンピュータ内にあるユーザ定義情報が提供されるようにする手段 と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断する手段と、 前記問い合わせ手段によってウェブ・ブラウザ通信がユーザ定義情報が格納さ れている要求に対応していると判断された場合、ウェブ・ブラウザ発信通信に応 答してユーザ定義格納情報をウェブ・ブラウザにHTTPデータ・ストリームと して供給する手段とをさらに含む、請求項30に記載の装置。 33.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・ インタフェース(CGI)要求に対応し、前記装置が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントCGIベース書式を供給する手段と、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャッシュ に格納してクライアント・ベース・キャッシュ項目を作成する手段と、 クライアントCGIベース書式を外部通信リンクを介して受信したCGI差分 データと結合してHTTPデータ・ストリームを作成することによって、外部通 信リンクを介して受信したクライアント/サーバ固有データ・ストリームから、 ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再構築する 手段と、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給する手段とをさらに含む、請求項30に記載の装置。 34.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立する手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持する手段 とをさらに含み、 前記インタセプト手段が、複数のウェブ・ブラウザ発信通信をインタセプトす る手段と、持続的接続を維持している間 にそれらの複数のウェブ・ブラウザ発信手段を外部通信リンクに多重化して送る 手段を含むことを特徴とする、請求項30に記載の装置 35.外部通信リンクを介して第2のコンピュータに第1のコンピュータの事前 定義特性に対応するコンピュータ固有情報を供給する手段をさらに含み、 前記変換手段がウェブ・ブラウザ発信通信からコンピュータ固有情報を取り除 く手段を含むことを特徴とする、請求項30に記載の装置。 36.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも1 セグメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し 、ハイパーテキスト転送プロトコル(HTTP)を使用して第1のコンピュータ からは遠隔にある第2のコンピュータ上に常駐するウェブ・サーバ・アプリケー ションと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上 させる装置であって、 ウェブ・サーバによって発信された通信に対応するHTTPデータ・ストリー ムを、外部通信リンクで送信する前にインタセプトする手段と、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換する手段と、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとしてウェブ・ブラウザに送信する手段とを含む 装置。 37.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータ内にあるキャッシュに格納してサーバ要求キ ャッシュ項目を作成する手段と、 ウェブ・ブラウザ発信通信をインタセプトして、ブラウザ発信通信に対応する サーバ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断す る手段とをさらに含み、 前記変換手段が、ブラウザ発信通信に関連づけられたサーバ要求キャッシュ項 目をクライアント/サーバ固有通信プロトコルに変換する手段を含み、 前記送信手段が、変換されたサーバ要求キャッシュ項目を外部通信リンクを介 して第1のコンピュータにクライアント/サーバ固有データ・ストリームとして 送信する手段を含むことを特徴とする、請求項36に記載の装置。 38.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記装置が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を提供する手段と、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータ内にあるキャッシュに格納してサーバ・ベース・キャッシュ項 目を作成する手段とをさらに含み、 前記インタセプト手段が、インタセプトされたCGI要求に応答してウェブ・ サーバによって発信された通信に対応するHTTPデータ・ストリームを、外部 通信リンクで送信する前にインタセプトする手段と、 インタセプトされたCGI応答をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを提供する手段とを含み、 前記送信手段がCGI差分データを外部通信リンクを介してクライアント/サ ーバ固有データ・ストリームとしてウェブ・ブラウザに送信する手段を含むこと を特徴とする、請求項36に記載の装置。 39.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立する手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持する手段 とをさらに含み、 前記インタセプト手段が、複数のウェブ・サーバ発信通信をインタセプトする 手段と、持続的接続を維持している間にそれらのウェブ・サーバ発信通信を外部 通信リンクに多重化 して送る手段とを含むことを特徴とする、請求項36に記載の装置。 40.クライアントとサーバとの間の通信のために前記クライアント・アプリケ ーションと前記サーバ・アプリケーションがクライアント/サーバ独立通信プロ トコルを使用し、第1のコンピュータ内のクライアント・アプリケーションと第 2のコンピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セ グメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、 前記第1のコンピュータからは遠隔の第2のコンピュータ上に常駐するサーバ・ アプリケーションと通信するクライアント・アプリケーションを有するクライア ント/サーバ・システムのパフォーマンスを向上させる装置であって、 遠隔クライアントによって発信されたクライアント/サーバ独立通信プロトコ ルでの通信を、外部通信リンクで送信する前にインタセプトする手段と、 クライアントによって発信された通信を第2のクライアント/サーバ固有通信 プロトコルに変換する手段と、 変換された通信を外部通信リンクを介して送信する手段と、 外部通信リンクを介して送信された通信を受信する手段と、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換する手段と、 遠隔クライアントによって発信された通信をクライアント /サーバ独立通信プロトコルでサーバに供給する手段とを含む装置。 41.サーバによって発信されたクライアント/サーバ独立通信プロトコルでの 通信を、外部通信リンクで送信する前にインタセプトする手段と、 サーバによって発信された通信を第2のクライアント/サーバ固有通信プロト コルに変換する手段と、 変換された通信を外部通信リンクを介して送信する手段と、 外部通信リンクを介して送信された通信を受信する手段と、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換する手段と、 サーバによって発信された通信をクライアント/サーバ独立通信プロトコルで 遠隔クライアントに供給する手段とをさらに含む、請求項40に記載の装置。 42.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも1 セグメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し 、ハイパーテキスト転送プロトコル(HTTP)を使用して前記第1のコンピュ ータからは遠隔にある第2のコンピュータ上に常駐するウェブ・サーバ・アプリ ケーションと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを 向上させるコンピュータ・プログラム製品であって、 コンピュータ可読格納媒体内に埋め込まれたコンピュータ可読プログラム・コ ード手段を有するコンピュータ可読格納媒体を含み、前記コンピュータ可読プロ グラム・コード手段は、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前に、インタセプトするコンピュータ可読プ ログラム・コード手段と、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTP プロトコルからクライアント/サーバ固有通信プロトコルに変換するコンピュー タ可読プログラム・コード手段と、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介して第2のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信するコンピュ ータ可読プログラム・コード手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを受信するコンピュータ可読プログラム・コード手段と、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ・ストリームに変換することによって、 ウェブ・ブラウザからの通信に対応するHTTPデータ・ストリームを外部通信 リンクを介して受信したクライアント/サーバ固有データ・ ストリームから再構築するコンピュータ可読プログラム・コード手段と、 ウェブ・ブラウザによって発信された通信をウェブ・サーバにHTTPデータ ・ストリームとして供給するコンピュータ可読プログラム・コード手段とを含む コンピュータ・プログラム製品。 43.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答して、ウェブ・ブラ ウザが受信するHTTPデータ・ストリームを第1のコンピュータ内にあるキャ ッシュに格納し、ウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクラ イアント・キャッシュ項目を作成するコンピュータ可読プログラム・コード手段 と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断するコンピュータ 可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信に応答してウェブ・ブラウザにクライアント・キャ ッシュ項目をHTTPデータ・ストリームとして供給するコンピュータ可読プロ グラム・コード手段とをさらに含む、請求項42に記載のコンピュータ・プログ ラム製品。 44.特定のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格納 して、第1のコンピュータ内にあるユーザ定義情報が提供されるようにするコン ピュータ可読プログ ラム・コード手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断するコンピュータ可読プログラム・コード手段と、 前記問い合わせコンピュータ可読プログラム・コード手段によってウェブ・ブ ラウザ通信がユーザ定義情報が格納されている要求に対応すると判断された場合 に、前記供給コンピュータ可読プログラム・コード手段がウェブ・ブラウザ発信 通信に応答してユーザ定義格納情報をウェブ・ブラウザにHTTPデータ・スト リームとして供給するコンピュータ可読プログラム・コード手段を含む、請求項 42に記載のコンピュータ・プログラム製品。 45.前記格納コンピュータ可読プログラム・コード手段が、クライアント・キ ャッシュ項目の作成時刻を格納してクライアント・キャッシュ項目時間レコード を作成するコンピュータ可読プログラム・コード手段をさらに含み、 前記問い合わせコンピュータ可読プログラム・コード手段が、クライアント・ キャッシュ項目時間レコードを評価して、ウェブ・ブラウザ発信通信に対応する クライアント・キャッシュ項目が、ウェブ・ブラウザが情報を要求する前の所定 のクライアント・コヒーレンシ時間間隔内に作成されたかどうかを判断するコン ピュータ可読プログラム・コード手段をさらに含み、 前記供給コンピュータ可読プログラム・コード手段が、前記判断コンピュータ 可読プログラム・コード手段によってクライアント・キャッシュ項目がウェブ・ ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間間隔内に 作成されたと判断された場合に、ウェブ・ブラウザ発信通信に応答してウェブ・ ブラウザにクライアント・キャッシュ項目をHTTPデータ・ストリームとして 供給するコンピュータ可読プログラム・コード手段を含むことを特徴とする、請 求項42に記載のコンピュータ・プログラム製品。 46.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータにあるキャッシュに格納して、サーバ要求キ ャッシュ項目を作成するコンピュータ可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ブラウザ発信通信に対応するサー バ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断するコ ンピュータ可読プログラム・コード手段と、 ブラウザ発信通信に関連づけられたサーバ要求キャッシュ項目をクライアント /サーバ固有通信プロトコルに変換するコンピュータ可読プログラム・コード手 段と、 変換されたサーバ要求キャッシュ項目を外部通信リンクを介して第1のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信するコンピュ ータ可読プログラム・コード手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手するコンピュータ可読プログラム・コード手段とをさらに含み、 前記再構築コンピュータ可読プログラム・コード手段が、クライアント/サー バ固有通信プロトコルで受信したクライアント/サーバ固有データ・ストリーム をHTTPデータ・ストリームに変換することによって、外部通信リンクを介し て受信したクライアント/サーバ固有データ・ストリームからサーバ要求キャッ シュ項目に対応するHTTPデータ・ストリームを再構築するコンピュータ可読 プログラム・コード手段を含み、 前記供給コンピュータ可読プログラム・コード手段が、ウェブ・ブラウザによ って要求された情報に対応するサーバ要求キャッシュ項目をウェブ・ブラウザに HTTPデータ・ストリームとして供給するコンピュータ可読プログラム・コー ド手段を含むことを特徴とする、請求項42に記載のコンピュータ・プログラム 製品。 47.インタセプトされたウェブ・ブラウザ発信通信がインタセプトされたCG I要求であり、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントCGIベース書式を供給するコンピュータ可読プログラム・コ ード手段と、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を供給するコンピュータ可読プログラム・コード手段と、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータにあるキャッシュに格納してサーバ・ベース・キャッシュ項目 を作成するコンピュータ可読プログラム・コード手段と、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを第1のコンピュータにあるキャッシュに格 納してクライアント・ベース・キャッシュ項目を作成するコンピュータ可読プロ グラム・コード手段と、 インタセプトされたCGI要求に応答してウェブ・サーバによって発信された 通信に対応するHTTPデータ・ストリームを、外部通信リンクで送信する前に インタセプトするコンピュータ可読プログラム・コード手段と、 インタセプトされたCGI要求をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを求めるコンピュータ可読プログラム・コード手段と、 CGI差分データをクライアント/サーバ固有データ・ストリームとして外部 通信リンクを介してウェブ・ブラウザに 送信し、第1のコンピュータに送信するコンピュータ可読プログラム・コード手 段と、 第2のコンピュータによって送信され外部通信リンクを介して伝送されたクラ イアント/サーバ固有データ・ストリームを入手するコンピュータ可読プログラ ム・コード手段とをさらに含み、 前記再構築コンピュータ可読プログラム・コード手段が、クライアントCGI ベース書式を外部通信リンクを介して受信したCGI差分と結合してインタセプ トされたCGI応答に対応するHTTPデータ・ストリームを作成することによ って、外部通信リンクを介して受信したクライアント/サーバ固有データ・スト リームからウェブ・サーバからの通信に対応するHTTPデータ・ストリームを 再構築するコンピュータ可読プログラム・コード手段を含み、 前記供給コンピュータ可読プログラム・コード手段が、ウェブ・サーバによっ て発信された通信をウェブ・ブラウザにHTTPデータ・ストリームとして供給 することを特徴とする、請求項42に記載のコンピュータ・プログラム製品。 48.第1のコンピュータと第2のコンピュータとの間に外部通信リンクを介し て持続的接続を確立するコンピュータ可読プログラム・コード手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するコン ピュータ可読プログラム・コード手段とをさらに含み、 前記インタセプト・コンピュータ可読プログラム・コード手段が、複数のウェ ブ・ブラウザ発信通信をインタセプトするコンピュータ可読プログラム・コード 手段と、持続的接続を維持している間にそれらのウェブ・ブラウザ発信通信を外 部通信リンクに多重化して送るコンピュータ可読プログラム・コード手段とを含 むことを特徴とする、請求項42に記載のコンピュータ・プログラム製品。 49.外部通信リンクを介して第2のコンピュータに、第1のコンピュータの事 前定義特性に対応するコンピュータ固有情報を供給するコンピュータ可読プログ ラム・コード手段と、 第1のコンピュータの事前定義特性に対応するコンピュータ固有情報を格納し てブラウザ・ヘッダ情報を供給するコンピュータ可読プログラム・コード手段と をさらに含み、 前記変換コンピュータ可読プログラム・コード手段が、ウェブ・ブラウザ発信 通信からコンピュータ固有情報を取り除くコンピュータ可読プログラム・コード 手段を含み、 前記再構築コンピュータ可読プログラム・コード手段が、ブラウザ・ヘッダ情 報をクライアント/サーバ固有データ・ストリームと結合してHTTPデータ・ ストリームを作成するコンピュータ可読プログラム・コード手段を含むことを特 徴とする、請求項42に記載のコンピュータ・プログラム製品。 50.ウェブ・サーバによって発信された通信に対応するHTTPデータ・スト リームを外部通信リンクで送信する前に キャプチャするコンピュータ可読プログラム・コード手段と、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するコンピュータ 可読プログラム・コード手段と、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとしてウェブ・ブラウザに送信するコンピュータ 可読プログラム・コード手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手するコンピュータ可読プログラム・コード手段と、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ・ストリームに変換することによって、 外部通信リンクを介して受信したクライアント/サーバ固有データ・ストリーム から、ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再構 築するコンピュータ可読プログラム・コード手段と、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給するコンピュータ可読プログラム・コード手段とをさら に含む、請求項42に記載のコンピュータ・プログラム製品。 51.第1のコンピュータ内のウェブ・ブラウザ・アプリケ ーションと第2のコンピュータ内のウェブ・サーバ・アプリケーションとの間の 通信の少なくとも1セグメントが外部通信リンクを介して行われる、第1のコン ピュータ上に常駐し、ハイパーテキスト転送プロトコル(HTTP)を使用して 前記第1のコンピュータからは遠隔の第2のコンピュータ上に常駐するウェブ・ サーバ・アプリケーションと通信するウェブ・ブラウザ・アプリケーションのパ フォーマンスを向上させるコンピュータ・プログラム製品であって、 コンピュータ可読格納媒体内に埋め込まれたコンピュータ可読プログラム・コ ード手段を有するコンピュータ可読格納媒体を含み、前記コンピュータ可読プロ グラム・コード手段は、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前にインタセプトするコンピュータ可読プロ グラム・コード手段と、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するコンピュータ 可読プログラム・コード手段と、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介してクライアント /サーバ固有データ・ストリームとしてウェブ・サーバに送信するコンピュータ 可読プログラム・コード手段とを含むコンピュータ・プログラム製品。 52.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答してウェブ・ブラウ ザが受信するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャ ッシュに格納してウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクラ イアント・キャッシュ項目を作成するコンピュータ可読プログラム・コード手段 と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断するコンピュータ 可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信に応答してクライアント・キャッシュ項目をHTT Pデータ・ストリームとしてウェブ・ブラウザに供給するコンピュータ可読プロ グラム・コード手段とを含む、請求項51に記載のコンピュータ・プログラム製 品。 53.固有のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格納 して、第1のコンピュータ内にあるユーザ定義情報が提供されるようにするコン ピュータ可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断するコンピュータ可読プログラム・コード手段と、 前記問い合わせコンピュータ可読プログラム・コード手段 によってウェブ・ブラウザ通信がユーザ定義情報が格納されている要求に対応し ていると判断された場合、ウェブ・ブラウザ発信通信に応答してユーザ定義格納 情報をウェブ・ブラウザにHTTPデータ・ストリームとして供給するコンピュ ータ可読プログラム・コード手段とをさらに含む、請求項51に記載のコンピュ ータ・プログラム製品。 54.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記コンピュータ・プログラム製品が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントCGIベース書式を供給するコンピュータ可読プログラム・コ ード手段と、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャッシュ に格納してクライアント・ベース・キャッシュ項目を作成するコンピュータ可読 プログラム・コード手段と、 クライアントCGIベース書式を外部通信リンクを介して受信したCGI差分 データと結合してHTTPデータ・ストリームを作成することによって、外部通 信リンクを介して受信したクライアント/サーバ固有データ・ストリームから、 ウェブ・サーバからの通信に対応するHTTPデータ・スト リームを再構築するコンピュータ可読プログラム・コード手段と、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給するコンピュータ可読プログラム・コード手段とをさら に含む、請求項51に記載のコンピュータ・プログラム製品。 55.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立するコンピュータ・プログラム・コード手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するコン ピュータ可読プログラム・コード手段とをさらに含み、 前記インタセプト・コンピュータ可読プログラム・コード手段が、複数のウェ ブ・ブラウザ発信通信をインタセプトするコンピュータ可読プログラム・コード 手段と、持続的接続を維持している間にそれらの複数のウェブ・ブラウザ発信通 信を外部通信リンクに多重化して送るコンピュータ可読プログラム・コード手段 を含むことを特徴とする、請求項51に記載のコンピュータ・プログラム製品。 56.外部通信リンクを介して第2のコンピュータに第1のコンピュータの事前 定義特性に対応するコンピュータ固有情報を供給するコンピュータ可読プログラ ム・コード手段をさらに含み、 前記変換コンピュータ可読プログラム・コード手段がウェ ブ・ブラウザ発信通信からコンピュータ固有情報を取り除くコンピュータ可読プ ログラム・コード手段を含むことを特徴とする、請求項51に記載のコンピュー タ・プログラム製品。 57.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも1 セグメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し 、ハイパーテキスト転送プロトコル(HTTP)を使用して第1のコンピュータ からは遠隔にある第2のコンピュータ上に常駐するウェブ・サーバ・アプリケー ションと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上 させるコンピュータ・プログラム製品であって、 コンピュータ可読格納媒体内に埋め込まれたコンピュータ可読プログラム・コ ード手段を有するコンピュータ可読格納媒体を含み、前記コンピュータ可読プロ グラム・コード手段は、 ウェブ・サーバによって発信された通信に対応するHTTPデータ・ストリー ムを、外部通信リンクで送信する前にインタセプトするコンピュータ可読プログ ラム・コード手段と、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するコンピュータ 可読プログラム・コード手段と、 変換されたウェブ・サーバ発信通信を外部通信リンクを介 してクライアント/サーバ固有データ・ストリームとして送信するコンピュータ 可読プログラム・コード手段とを含むコンピュータ・プログラム製品。 58.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータ内にあるキャッシュに格納してサーバ要求キ ャッシュ項目を作成するコンピュータ可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信をインタセプトして、ブラウザ発信通信に対応する サーバ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断す るコンピュータ可読プログラム・コード手段とをさらに含み、 前記変換コンピュータ可読プログラム・コード手段が、ブラウザ発信通信に関 連づけられたサーバ要求キャッシュ項目をクライアント/サーバ固有通信プロト コルに変換するコンピュータ可読プログラム・コード手段を含み、 前記送信コンピュータ可読プログラム・コード手段が、変換されたサーバ要求 キャッシュ項目を外部通信リンクを介して第1のコンピュータにクライアント/ サーバ固有データ・ストリームとして送信するコンピュータ可読プログラム・コ ード手段を含むことを特徴とする、請求項57に記載のコンピュータ・プログラ ム製品。 59.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記コンピュータ・プログラム製品が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を提供するコンピュータ可読プログラム・コード手段と、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータ内にあるキャッシュに格納してサーバ・ベース・キャッシュ項 目を作成するコンピュータ可読プログラム・コード手段とをさらに含み、 前記インタセプト・コンピュータ可読プログラム・コード手段が、インタセプ トされたCGI要求に応答してウェブ・サーバによって発信された通信に対応す るHTTPデータ・ストリームを、外部通信リンクで送信する前にインタセプト するコンピュータ可読プログラム・コード手段と、 インタセプトされたCGI応答をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを提供するコンピュータ可読プログラム・コード手段とを含み、 前記送信コンピュータ可読プログラム・コード手段がCGI差分データを外部 通信リンクを介してクライアント/サーバ固有データ・ストリームとしてウェブ ・ブラウザに送信するコンピュータ可読プログラム・コード手段を含むことを特 徴とする、請求項57に記載のコンピュータ・プログラム製 品。 60.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立するコンピュータ可読プログラム・コード手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するコン ピュータ可読プログラム・コード手段とをさらに含み、 前記インタセプト・コンピュータ可読プログラム・コード手段が、複数のウェ ブ・サーバ発信通信をインタセプトするコンピュータ可読プログラム・コード手 段と、持続的接続を維持している間にそれらのウェブ・サーバ発信通信を外部通 信リンクに多重化して送るコンピュータ可読プログラム・コード手段とを含むこ とを特徴とする、請求項57に記載のコンピュータ・プログラム製品。 61.クライアントとサーバとの間の通信のためにクライアント・アプリケーシ ョンとサーバ・アプリケーションがクライアント/サーバ独立通信プロトコルを 使用し、第1のコンピュータ内のクライアント・アプリケーションと第2のコン ピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セグメント が外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、第1のコ ンピュータからは遠隔の第2のコンピュータ上に常駐するサーバ・アプリケーシ ョンと通信するクライアント・アプリケーションを有するクライアント/サーバ ・システムのパフォーマンスを向上させ るコンピュータ・プログラム製品であって、 コンピュータ可読格納媒体内に埋め込まれたコンピュータ可読プログラム・コ ード手段を有するコンピュータ可読格納媒体を含み、前記コンピュータ可読プロ グラム・コード手段は、 遠隔クライアントによって発信されたクライアント/サーバ独立通信プロトコ ルでの通信を、外部通信リンクで送信する前にインタセプトするコンピュータ可 読プログラム・コード手段と、 クライアントによって発信された通信を第2のクライアント/サーバ固有通信 プロトコルに変換するコンピュータ可読プログラム・コード手段と、 変換された通信を外部通信リンクを介して送信するコンピュータ可読プログラ ム・コード手段と、 外部通信リンクを介して送信された通信を受信するコンピュータ可読プログラ ム・コード手段と、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換するコンピュータ可読 プログラム・コード手段と、 遠隔クライアントによって発信された通信をクライアント/サーバ独立通信プ ロトコルでサーバに供給するコンピュータ可読プログラム・コード手段とを含む コンピュータ・プログラム製品。 62.サーバによって発信されたクライアント/サーバ独立通信プロトコルでの 通信を、外部通信リンクで送信する前にインタセプトするコンピュータ可読プロ グラム・コード手段と、 サーバによって発信された通信を第2のクライアント/サーバ固有通信プロト コルに変換するコンピュータ可読プログラム・コード手段と、 変換された通信を外部通信リンクを介して送信するコンピュータ可読プログラ ム・コード手段と、 外部通信リンクを介して送信された通信を受信するコンピュータ可読プログラ ム・コード手段と、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換するコンピュータ可読 プログラム・コード手段と、 サーバによって発信された通信をクライアント/サーバ独立通信プロトコルで 遠隔クライアントに供給するコンピュータ可読プログラム・コード手段とをさら に含む、請求項61に記載のコンピュータ・プログラム製品。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 オーセル、バロン、コーネリュース アメリカ合衆国ノースカロライナ州 チャ ペル・ヒル、ケンシングトン・ドライブ 702 (72)発明者 リンドクイスト、デヴィッド、ブルース アメリカ合衆国ノースカロライナ州 ラレ ー、レイク・スプリングス・コート 4001 【要約の続き】 受信した通信は、クライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変 換され、遠隔クライアントによって発信された通信はク ライアント/サーバ独立通信プロトコルでサーバに供給 される。差分計算、キャッシング、またはプロトコル縮 小技法によって、外部通信リンクでのパフォーマンスが 向上する。アプリケーションは、ウェブ・ブラウザおよ びウェブ・サーバとすることができ、無線通信リンクを 介して通信することもできる。

Claims (1)

  1. 【特許請求の範囲】 1.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコン ピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セグメント が外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、ハイパー テキスト転送プロトコル(HTTP)を使用して第1のコンピュータからは遠隔 にある第2のコンピュータ上に常駐するウェブ・サーバ・アプリケーションと通 信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上させる方法 であって、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前に、インタセプトするステップと、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTP プロトコルからクライアント/サーバ固有通信プロトコルに変換するステップと 、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介して第2のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信するステップ と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを受信するステップと、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ ・ストリームに変換することによって、ウェブ・ブラウザからの通信に対応する HTTPデータ・ストリームを外部通信リンクを介して受信したクライアント/ サーバ固有データ・ストリームから再構築するステップと、 ウェブ・ブラウザによって発信された通信をウェブ・サーバにHTTPデータ ・ストリームとして供給するステップとを含む方法。 2.前記送信ステップが、変換されたウェブ・ブラウザ発信通信を無線通信リン クを介して送信するステップをさらに含むことを特徴とする、請求項1に記載の 方法。 3.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答して、ウェブ・ブラウ ザが受信するHTTPデータ・ストリームを第1のコンピュータ内にあるキャッ シュに格納し、ウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクライ アント・キャッシュ項目を作成するステップと、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断するステップとを さらに含み、 ウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在す る場合には、前記変換、送信、受信、再構築、および供給ステップの代わりに、 ウェブ・ブラウザ発信通信に応答してウェブ・ブラウザにクライアント・キャ ッシュ項目をHTTPデータ・ストリームとして供給するステップを行うことを 特徴とする、請求項 1に記載の方法。 4.特定のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格納し て、第1のコンピュータ内にあるユーザ定義情報が提供されるようにするステッ プと、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断するステップと、 前記問い合わせステップによってウェブ・ブラウザ通信がユーザ定義情報が格 納されている要求に対応すると判断された場合に、前記供給ステップがウェブ・ ブラウザ発信通信に応答してユーザ定義格納情報をウェブ・ブラウザにHTTP データ・ストリームとして供給するステップを含み、 ユーザ定義格納情報がウェブ・ブラウザに供給される場合に前記送信ステップ 、前記受信ステップ、および前記再構築ステップの代わりに前記問い合わせステ ップが行われることを特徴とする、請求項1に記載の方法。 5.通信リンクを介して第1のコンピュータからユーザ定義情報を受信するステ ップをさらに含むことを特徴とする、請求項4に記載の方法。 6.前記格納ステップが、クライアント・キャッシュ項目の作成時刻を格納して クライアント・キャッシュ項目時間レコードを作成するステップをさらに含み、 前記問い合わせステップが、クライアント・キャッシュ項目時間レコードを評 価して、ウェブ・ブラウザ発信通信に対 応するクライアント・キャッシュ項目が、ウェブ・ブラウザが情報を要求する前 の所定のクライアント・コヒーレンシ時間間隔内に作成されたかどうかを判断す るステップをさらに含み、 前記判断ステップによってクライアント・キャッシュ項目がウェブ・ブラウザ が情報を要求する前の所定のクライアント・コヒーレンシ時間間隔内に作成され たと判断された場合、前記供給ステップがウェブ・ブラウザ発信通信に応答して ウェブ・ブラウザにクライアント・キャッシュ項目をHTTPデータ・ストリー ムとして供給するステップを含むことを特徴とする、請求項3に記載の方法。 7.ウェブ・ブラウザの複数のインスタンスにわたってクライアント・キャッシ ュ項目を維持するステップをさらに含む、請求項6に記載の方法。 8.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ・ ストリームを第2のコンピュータにあるキャッシュに格納して、サーバ要求キャ ッシュ項目を作成するステップと、 ウェブ・ブラウザ発信通信に問い合わせて、ブラウザ発信通信に対応するサー バ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断するス テップと、 ブラウザ発信通信に関連づけられたサーバ要求キャッシュ項目をクライアント /サーバ固有通信プロトコルに変換するステップと、 変換されたサーバ要求キャッシュ項目を外部通信リンクを介して第1のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信するステップ と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手するステップとをさらに含み、 前記再構築ステップが、クライアント/サーバ固有通信プロトコルで受信した クライアント/サーバ固有データ・ストリームをHTTPデータ・ストリームに 変換することによって、外部通信リンクを介して受信したクライアント/サーバ 固有データ・ストリームからサーバ要求キャッシュ項目に対応するHTTPデー タ・ストリームを再構築するステップを含み、 前記供給ステップが、ウェブ・ブラウザによって要求された情報に対応するサ ーバ要求キャッシュ項目をウェブ・ブラウザにHTTPデータ・ストリームとし て供給するステップを含むことを特徴とする、請求項1に記載の方法。 9.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ・ ストリームを第2のコンピュータ内にあるキャッシュに格納してサーバ要求キャ ッシュ項目を作成するステップと、 ウェブ・ブラウザ発信通信を評価して、ウェブ・ブラウザ発信通信に対応する サーバ要求キャッシュ項目が存在するかどうかを判断するステップと、 ブラウザ発信通信に対応するサーバ要求キャッシュ項目を クライアント/サーバ固有通信プロトコルに変換するステップと、 外部通信リンクでクライアント/サーバ固有データ・ストリームを送信するこ とによって、外部通信リンクを介して第1のコンピュータにサーバ要求キャッシ ュ項目を送信するステップと、 第2のコンピュータによって外部通信リンクを介して送信されたクライアント /サーバ固有データ・ストリームを入手するステップとをさらに含み、 前記再構築ステップが、クライアント/サーバ固有通信プロトコルで受信した クライアント/サーバ固有データ・ストリームをHTTPデータ・ストリームに 変換することによって、外部通信リンクを介して受信したクライアント/サーバ 固有データ・ストリームからサーバ・キャッシュ項目に対応するHTTPデータ ・ストリームを再構築するステップを含み、 前記供給ステップが、ウェブ・ブラウザによって要求された情報に対応するサ ーバ要求キャッシュ項目をウェブ・ブラウザにHTTPデータ・ストリームとし て転送するステップを含むことを特徴とする、請求項6に記載の方法。 10.ウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が、第2 のコンピュータがウェブ・ブラウザ発信通信を受信する前の所定のクライアント ・コヒーレンシ時間間隔内に作成されたかどうかを判断するステップをさらに含 み、 前記変換ステップが、前記判断ステップによってサーバ要求キャッシュ項目が 所定のクライアント・コヒーレンシ時間間隔内に作成されたと判断された場合に ウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目をクライアント /サーバ固有通信プロトコルに変換するステップをさらに含むことを特徴とする 、請求項9に記載の方法。 11.ウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項目と同じウェ ブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在するかど うかを判断するステップをさらに含み、 前記変換ステップが、第2のコンピュータがウェブ・ブラウザ発信通信を受信 した時点とウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が作 成された時点との間の時間の間隔を計算して項目エージ・データを求めるステッ プを含み、 前記送信ステップが、ウェブ・ブラウザ発信通信に対応するサーバ・キャッシ ュ項目の項目エージ・データを含むコヒーレント項目応答をクライアント/サー バ固有プロトコルとして外部通信リンクを介して第1のコンピュータに送信する ステップを含み、 前記再構築ステップが、第1のコンピュータの現在時刻からコヒーレント項目 応答から受け取った項目エージ・データを引くことによってウェブ・ブラウザ発 信通信に対応するク ライアント・キャッシュ項目時間レコードを更新するステップを含み、 前記供給ステップが、外部通信リンクからコヒーレント項目応答を受け取った 場合にウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目とし て格納されているHTTPデータ・ストリームをウェブ・ブラウザにHTTPデ ータ・ストリームとして転送するステップを含むことを特徴とする、請求項9に 記載の方法。 12.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記方法が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントCGIベース書式を供給するステップと、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を供給するステップと、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータにあるキャッシュに格納してサーバ・ベース・キャッシュ項目 を作成するステップと、 CGIに対する要求であるブラウザ発信通信に応答してウ ェブ・ブラウザに供給するHTTPデータ・ストリームを第1のコンピュータに あるキャッシュに格納してクライアント・ベース・キャッシュ項目を作成するス テップと、 インタセプトされたCGI要求に応答してウェブ・サーバによって発信された 通信に対応するHTTPデータ・ストリームを、外部通信リンクで送信する前に インタセプトするステップと、 インタセプトされたCGI要求をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを求めるステップと、 CGI差分データをクライアント/サーバ固有データ・ストリームとして外部 通信リンクを介してウェブ・ブラウザに送信し、第1のコンピュータに送信する ステップと、 第2のコンピュータによって送信され外部通信リンクを介して伝送されたクラ イアント/サーバ固有データ・ストリームを入手するステップとをさらに含み、 前記再構築ステップが、クライアントCGIベース書式を外部通信リンクを介 して受信したCGI差分データと結合してインタセプトされたCGI応答に対応 するHTTPデータ・ストリームを作成することによって、外部通信リンクを介 して受信したクライアント/サーバ固有データ・ストリームからウェブ・サーバ からの通信に対応するHTTPデータ・ストリームを再構築するステップを含み 、 前記供給ステップが、ウェブ・サーバによって発信された通信をウェブ・ブラ ウザにHTTPデータ・ストリームとして供給することを特徴とする、請求項1 に記載の方法。 13.サーバCGIベース書式がクライアントCGIベース書式と同じかどうか を判断するステップをさらに含み、 前記送信ステップが、サーバCGIベース書式を送信するステップと、CGI 差分データを外部通信回線を介してウェブ・ブラウザにクライアント/サーバ固 有データ・ストリームとして送信するステップとを含み、 前記再構築ステップが、サーバCGIベース書式を外部通信回線を介して受信 したCGI差分データと結合してインタセプトされたCGI応答に対応するHT TPデータ・ストリームを作成することによって、外部通信リンクを介して受信 したクライアント/サーバ固有データ・ストリームからウェブ・サーバからの通 信に対応するHTTPデータ・ストリームを再構築するステップを含み、 受信したサーバCGIベース書式をCGI要求に対応するクライアント・ベー ス・キャッシュ項目として格納することによって、CGI要求に対応するクライ アントCGIベース書式を更新するステップをさらに含む、請求項12に記載の 方法。 14.サーバCGIベース書式とCGI応答との差分が事前定義差分しきい値よ り大きいかどうかを判断するステップと、 CGI差分データが事前定義差分しきい値より大きい場合、 ウェブ・サーバから受信したCGI応答をCGI要求に対応するサーバ・ベース ・キャッシュ項目として格納することによって、CGI要求に対応するサーバC GIベース書式を更新するステップとをさらに含み、 前記比較ステップおよび前記送信ステップが更新されたサーバCGIベース書 式を使用することを特徴とする、請求項12に記載の方法。 15.第1のコンピュータと第2のコンピュータとの間に外部通信リンクを介し て持続的接続を確立するステップと、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するステ ップとをさらに含み、 前記インタセプト・ステップが、複数のウェブ・ブラウザ発信通信をインタセ プトするステップと、持続的接続を維持している間にそれらのウェブ・ブラウザ 発信通信を外部通信リンクに多重化して送るステップとを含むことを特徴とする 、請求項1に記載の方法。 16.前記再構築ステップが、クライアント/サーバ固有データ・ストリームを 多重化解除して複数のHTTPデータ・ストリームを作成するステップを含み、 前記供給ステップが、前記複数のHTTPデータ・ストリームをウェブ・サー バに供給するステップを含むことを特徴とする、請求項15に記載の方法。 17.外部通信リンクを介して第2のコンピュータに、第1のコンピュータの事 前定義特性に対応するコンピュータ固有 情報を供給するステップと、 第1のコンピュータの事前定義特性に対応するコンピュータ固有情報を格納し てブラウザ・ヘッダ情報を供給するステップとをさらに含み、 前記変換ステップが、ウェブ・ブラウザ発信通信からコンピュータ固有情報を 取り除くステップを含み、 前記再構築ステップが、ブラウザ・ヘッダ情報をクライアント/サーバ固有デ ータ・ストリームと結合してHTTPデータ・ストリームを作成するステップを 含むことを特徴とする、請求項1に記載の方法。 18.ウェブ・サーバによって発信された通信に対応するHTTPデータ・スト リームを外部通信リンクで送信する前にキャプチャするステップと、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するステップと、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとしてウェブ・ブラウザに送信するステップと、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手するステップと、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ・ストリームに変換することによって、 外部通信リンクを介 して受信したクライアント/サーバ固有データ・ストリームから、ウェブ・サー バからの通信に対応するHTTPデータ・ストリームを再構築するステップと、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給するステップとをさらに含む、請求項1に記載の方法。 19.外部通信リンクを介して第1のコンピュータに、第2のコンピュータの事 前定義特性に対応するコンピュータ固有情報を提供するステップと、 第2のコンピュータの事前定義特性に対応するコンピュータ固有情報を格納し てサーバ・ヘッダ情報を供給するステップとをさらに含み、 前記変換ステップがウェブ・サーバ発信通信からコンピュータ固有情報を取り 除くステップを含み、 前記再構築ステップが、サーバ・ヘッダ情報をクライアント/サーバ固有デー タ・ストリームと結合してHTTPデータ・ストリームを作成するステップを含 むことを特徴とする、請求項18に記載の方法。 20.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立するステップと、 すべてのウェブ・サーバ発信通信が完了するまで持続的接続を維持するステッ プとをさらに含み、 前記キャプチャ・ステップが、複数のウェブ・サーバ発信通信をインタセプト するステップと、持続的接続を維持して いる間にそれらのウェブ・サーバ発信通信を外部通信リンクに多重化して送るス テップとを含むことを特徴とする、請求項18に記載の方法。 21.前記再構築ステップがクライアント/サーバ固有データ・ストリームを多 重化解除して複数のHTTPデータ・ストリームを作成するステップを含み、 前記供給ステップが前記複数のHTTPデータ・ストリームをウェブ・サーバ に供給するステップを含むことを特徴とする、請求項20に記載の方法。 22.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも1 セグメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し 、ハイパーテキスト転送プロトコル(HTTP)を使用して前記第1のコンピュ ータからは遠隔の第2のコンピュータ上に常駐するウェブ・サーバ・アプリケー ションと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上 させる方法であって、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前にインタセプトするステップと、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するステップと、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介してクライアント /サーバ固有データ・ストリームとしてウェブ・サーバに送信するステップとを 含む方法。 23.前記送信ステップが、変換されたウェブ・ブラウザ発信通信を無線通信リ ンクを介して送信するステップを含むことを特徴とする、請求項22に記載の方 法。 24.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答してウェブ・ブラウ ザが受信するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャ ッシュに格納してウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクラ イアント・キャッシュ項目を作成するステップと、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断するステップとを さらに含み、 ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在する場合、 前記変換ステップおよび前記送信ステップの代わりに、 ウェブ・ブラウザ発信通信に応答してクライアント・キャッシュ項目をHTT Pデータ・ストリームとしてウェブ・ブラウザに供給するステップを行うことを 特徴とする、請求項22に記載の方法。 25.固有のウェブ・ブラウザ情報に関連づけられたユーザ定義情報を格納して 、第1のコンピュータ内にあるユーザ定義情報が提供されるようにするステップ と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断するステップと、 前記問い合わせステップによってウェブ・ブラウザ通信がユーザ定義情報が格 納されている要求に対応していると判断された場合、ウェブ・ブラウザ発信通信 に応答してユーザ定義格納情報をウェブ・ブラウザにHTTPデータ・ストリー ムとして供給するステップとをさらに含み、 ユーザ定義格納情報をウェブ・ブラウザに供給する場合、前記問い合わせステ ップおよび前記供給ステップの代わりに前記送信ステップを行うことをことを特 徴とする、請求項22に記載の方法。 26.通信リンクを介して第1のコンピュータからユーザ定義情報を受信するス テップをさらに含む、請求項25に記載の方法。 27.前記格納ステップが、クライアント・キャッシュ項目の作成時刻を格納し てクライアント・キャッシュ項目時間レコードを作成するステップをさらに含み 、 前記問い合わせステップが、クライアント・キャッシュ項目時間レコードを評 価して、ウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が ウェブ・ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間 間隔内に作成されたかどうかを判断するステップをさらに含み、 前記供給ステップが、前記判断ステップによってクライアント・キャッシュ項 目がウェブ・ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ 時間間隔内に作成されたと判断された場合にウェブ・ブラウザ発信通信に応答し てクライアント・キャッシュ項目をウェブ・ブラウザにHTTPデータ・ストリ ームとして供給するステップを含むことを特徴とする、請求項24に記載の方法 。 28.ウェブ・ブラウザの複数のインスタンスにわたってクライアント・キャッ シュ項目を維持するステップをさらに含む、請求項27に記載の方法。 29.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記方法が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してCGIベース書式を供給するステップと、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャッシュ に格納してクライアント・ベース・キャッシュ項目を作成するステップと、 クライアントCGIベース書式を外部通信リンクを介して受信したCGI差分 データと結合してHTTPデータ・ストリームを作成することによって、外部通 信リンクを介して受信したクライアント/サーバ固有データ・ストリームから、 ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再構築する ステップと、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給するステップとをさらに含む、請求項22に記載の方法 。 30.前記再構築ステップが、外部通信リンクを介して受信したCGIベース書 式を外部通信リンクを介して受信したCGI差分データと結合してインタセプト されたCGI応答に対応するHTTPデータ・ストリームを作成することによっ て、外部通信リンクを介して受信したクライアント/サーバ固有データ・ストリ ームから、ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを 再構築するステップを含み、 受信したサーバCGIベース書式をCGI要求に対応するクライアント・ベー ス・キャッシュ項目として格納することによってCGI要求に対応するクライア ントCGIベース書式を更新するステップをさらに含む、請求項29に記載の方 法。 31.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立するステップと、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するステ ップとをさらに含み、 前記インタセプト・ステップが、複数のウェブ・ブラウザ発信通信をインタセ プトするステップと、持続的接続を維持 している間にそれらの複数のウェブ・ブラウザ発信通信を外部通信リンクに多重 化して送るステップを含むことを特徴とする、請求項22に記載の方法。 32.外部通信リンクを介して第2のコンピュータからクライアント/サーバ固 有データ・ストリームを受信するステップと、 ウェブ・ブラウザに複数のHTTPデータ・ストリームを供給するためにクラ イアント/サーバ固有データ・ストリームを多重化解除して複数のHTTPデー タ・ストリームを作成するステップと、 複数のHTTPデータ・ストリームをウェブ・ブラウザに供給するステップと をさらに含む、請求項31に記載の方法。 33.外部通信リンクを介して第2のコンピュータに第1のコンピュータの事前 定義特性に対応するコンピュータ固有情報を供給するステップをさらに含み、 前記変換ステップがウェブ・ブラウザ発信通信からコンピュータ固有情報を取 り除くステップを含むことを特徴とする、請求項22に記載の方法。 34.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セグメン トが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、ハイパ ーテキスト転送プロトコル(HTTP)を使用して第1のコンピュータからは遠 隔にある第2のコンピュータ上に常駐す るウェブ・サーバ・アプリケーションと通信するウェブ・ブラウザ・アプリケー ションのパフォーマンスを向上させる方法であって、 ウェブ・サーバによって発信された通信に対応するHTTPデータ・ストリー ムを、外部通信リンクで送信する前にインタセプトするステップと、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するステップと、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとして送信するステップとを含む方法。 35.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータ内にあるキャッシュに格納してサーバ要求キ ャッシュ項目を作成するステップと、 ウェブ・ブラウザ発信通信をインタセプトして、ブラウザ発信通信に対応する サーバ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断す るステップとをさらに含み、 前記変換ステップが、ブラウザ発信通信に関連づけられたサーバ要求キャッシ ュ項目をクライアント/サーバ固有通信プロトコルに変換するステップを含み、 前記送信ステップが、変換されたサーバ要求キャッシュ項 目を外部通信リンクを介して第1のコンピュータにクライアント/サーバ固有デ ータ・ストリームとして送信するステップを含むことを特徴とする、請求項34 に記載の方法。 36.ウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が、第2 のコンピュータがウェブ・ブラウザ発信通信を受信する前の所定のクライアント ・コヒーレンシ時間間隔内に作成されたかどうかを判断するステップをさらに含 み、 前記変換ステップが、前記判断ステップによってサーバ要求キャッシュ項目が 所定のクライアント・コヒーレンシ間隔で作成されたと判断された場合にウェブ ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目をクライアント/サー バ固有通信プロトコルに変換するステップを含むことを特徴とする、請求項35 に記載の方法。 37.ウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項目と同じウェ ブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在するかど うかを判断するステップをさらに含み、 前記変換ステップが、第2のコンピュータがウェブ・ブラウザ発信通信を受信 した時点とウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が作 成された時点との間の時間間隔を計算して項目エージ・データを求めるステップ を含み、 前記送信ステップが、外部通信リンクを介してウェブ・ブ ラウザ発信通信に対応するサーバ・キャッシュ項目の項目エージ・データを含む コヒーレント項目応答をクライアント/サーバ固有プロトコルとして第1のコン ピュータに送信するステップを含むことを特徴とする、請求項35に記載の方法 。 38.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記方法が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を提供するステップと、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータ内にあるキャッシュに格納してサーバ・ベース・キャッシュ項 目を作成するステップとをさらに含み、 前記インタセプト・ステップが、インタセプトされたCGI要求に応答してウ ェブ・サーバによって発信された通信に対応するHTTPデータ・ストリームを 、外部通信リンクで送信する前にインタセプトするステップと、 インタセプトされたCGI応答をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを提供するステップとを含み、 前記送信ステップがCGI差分データを外部通信リンクを 介してクライアント/サーバ固有データ・ストリームとしてウェブ・ブラウザに 送信するステップを含むことを特徴とする、請求項34に記載の方法。 39.サーバCGIベース書式がCGI要求に対応するクライアントCGIベー ス書式と同じかどうかを判断するステップをさらに含み、 前記送信ステップが、サーバCGIベース書式を送信するステップと、CGI 差分データを外部通信リンクを介してクライアント/サーバ固有データ・ストリ ームとしてウェブ・ブラウザに送信するステップとを含むことを特徴とする、請 求項38に記載の方法。 40.サーバCGIベース書式とCGI応答との差が事前定義差分しきい値より 大きいかどうかを判断するステップと、 CGI差分データが事前定義差分しきい値より大きい場合、CGI要求に対応 するサーバ・ベース・キャッシュ項目としてウェブ・サーバから受信したCGI 応答を格納することによって、CGI要求に対応するサーバCGIベース書式を 更新するステップとをさらに含み、 前記比較ステップおよび前記送信ステップが更新されたサーバCGIベース書 式を使用することを特徴とする、請求項38に記載の方法。 41.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立するステップと、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的 接続を維持するステップとをさらに含み、 前記インタセプト・ステップが、複数のウェブ・サーバ発信通信をインタセプ トするステップと、持続的接続を維持している間にそれらのウェブ・サーバ発信 通信を外部通信リンクに多重化して送るステップとを含むことを特徴とする、請 求項34に記載の方法。 42.クライアントとサーバとの間の通信のためにクライアント・アプリケーシ ョンとサーバ・アプリケーションがクライアント/サーバ独立通信プロトコルを 使用し、第1のコンピュータ内のクライアント・アプリケーションと第2のコン ピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セグメント が外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、第1のコ ンピュータからは遠隔の第2のコンピュータ上に常駐するサーバ・アプリケーシ ョンと通信するクライアント・アプリケーションを有するクライアント/サーバ ・システムのパフォーマンスを向上させる方法であって、 遠隔クライアントによって発信されたクライアント/サーバ独立通信プロトコ ルでの通信を、外部通信リンクで送信する前にインタセプトするステップと、 クライアントによって発信された通信を第2のクライアント/サーバ固有通信 プロトコルに変換するステップと、 変換された通信を外部通信リンクを介して送信するステップと、 外部通信リンクを介して送信された通信を受信するステップと、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換するステップと、 遠隔クライアントによって発信された通信をクライアント/サーバ独立通信プ ロトコルでサーバに供給するステップとを含む方法。 43.サーバによって発信されたクライアント/サーバ独立通信プロトコルでの 通信を、外部通信リンクで送信する前にインタセプトするステップと、 サーバによって発信された通信を第2のクライアント/サーバ固有通信プロト コルに変換するステップと、 変換された通信を外部通信リンクを介して送信するステップと、 外部通信リンクを介して送信された通信を受信するステップと、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換するステップと、 サーバによって発信された通信をクライアント/サーバ独立通信プロトコルで 遠隔クライアントに供給するステップとをさらに含む、請求項42に記載の方法 。 44.第1のコンピュータ内のウェブ・ブラウザ・アプリケ ーションと第2のコンピュータ内のサーバ・アプリケーションとの間の通信の少 なくとも1セグメントが外部通信リンクを介して行われる、第1のコンピュータ 上に常駐し、ハイパーテキスト転送プロトコル(HTTP)を使用して第1のコ ンピュータからは遠隔にある第2のコンピュータ上に常駐するウェブ・サーバ・ アプリケーションと通信するウェブ・ブラウザ・アプリケーションのパフォーマ ンスを向上させる装置であって、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前に、インタセプトする手段と、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTP プロトコルからクライアント/サーバ固有通信プロトコルに変換する手段と、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介して第2のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信する手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを受信する手段と、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ・ストリームに変換することによって、 ウェブ・ブラウザからの通信に対応するHTTPデータ・ストリームを外部通信 リンクを介して受信したクライアント/サーバ固有データ・ ストリームから再構築する手段と、 ウェブ・ブラウザによって発信された通信をウェブ・サーバにHTTPデータ ・ストリームとして供給する手段とを含む装置。 45.前記送信手段が、変換されたウェブ・ブラウザ発信通信を無線通信リンク を介して送信する手段をさらに含むことを特徴とする、請求項44に記載の装置 。 46.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答して、ウェブ・ブラ ウザが受信するHTTPデータ・ストリームを第1のコンピュータ内にあるキャ ッシュに格納し、ウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクラ イアント・キャッシュ項目を作成する手段と、 ウェブ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応するクライ アント・キャッシュ項目が存在するかどうかを判断する手段と、 ウェブ・ブラウザ発信通信に応答してウェブ・ブラウザにクライアント・キャ ッシュ項目をHTTPデータ・ストリームとして供給する手段とを含む、請求項 44に記載の装置。 47.特定のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格納 して、第1のコンピュータ内にあるユーザ定義情報が提供されるようにする手段 と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断する手段と、 前記問い合わせ手段によってウェブ・ブラウザ通信がユーザ定義情報が格納さ れている要求に対応すると判断された場合に、前記供給手段がウェブ・ブラウザ 発信通信に応答してユーザ定義格納情報をウェブ・ブラウザにHTTPデータ・ ストリームとして供給する手段を含む、請求項44に記載の装置。 48.通信リンクを介して第1のコンピュータからユーザ定義情報を受信する手 段をさらに含むことを特徴とする、請求項46に記載の装置。 49.前記格納手段が、クライアント・キャッシュ項目の作成時刻を格納してク ライアント・キャッシュ項目時間レコードを作成する手段をさらに含み、 前記問い合わせ手段が、クライアント・キャッシュ項目時間レコードを評価し て、ウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が、ウ ェブ・ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間間 隔内に作成されたかどうかを判断する手段をさらに含み、 前記供給手段が、前記判断手段によってクライアント・キャッシュ項目がウェ ブ・ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間間隔 内に作成されたと判断された場合、ウェブ・ブラウザ発信通信に応答してウェブ ・ブラウザにクライアント・キャッシュ項目をHTTPデータ・ストリームとし て供給する手段を含むことを特徴とする、請求項44に記載の装置。 50.ウェブ・ブラウザの複数のインスタンスにわたってクライアント・キャッ シュ項目を維持する手段をさらに含む、請求項49に記載の装置。 51.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータにあるキャッシュに格納して、サーバ要求キ ャッシュ項目を作成する手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ブラウザ発信通信に対応するサー バ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断する手 段と、 ブラウザ発信通信に関連づけられたサーバ要求キャッシュ項目をクライアント /サーバ固有通信プロトコルに変換する手段と、 変換されたサーバ要求キャッシュ項目を外部通信リンクを介して第1のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信する手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手する手段とをさらに含み、 前記再構築手段が、クライアント/サーバ固有通信プロトコルで受信したクラ イアント/サーバ固有データ・ストリームをHTTPデータ・ストリームに変換 することによって、外部通信リンクを介して受信したクライアント/サーバ固有 データ・ストリームからサーバ要求キャッシュ項目に対応するHTTPデータ・ ストリームを再構築する手段を含み、 前記供給手段が、ウェブ・ブラウザによって要求された情報に対応するサーバ 要求キャッシュ項目をウェブ・ブラウザにHTTPデータ・ストリームとして供 給する手段を含むことを特徴とする、請求項44に記載の装置。 52.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータ内にあるキャッシュに格納してサーバ要求キ ャッシュ項目を作成する手段と、 ウェブ・ブラウザ発信通信を評価して、ウェブ・ブラウザ発信通信に対応する サーバ要求キャッシュ項目が存在するかどうかを判断する手段と、 ブラウザ発信通信に対応するサーバ要求キャッシュ項目をクライアント/サー バ固有通信プロトコルに変換する手段と、 外部通信リンクでクライアント/サーバ固有データ・ストリームを送信するこ とによって、外部通信リンクを介して第1のコンピュータにサーバ要求キャッシ ュ項目を送信する手段と、 第2のコンピュータによって外部通信リンクを介して送信されたクライアント /サーバ固有データ・ストリームを入手する手段とをさらに含み、 前記再構築手段が、クライアント/サーバ固有通信プロトコルで受信したクラ イアント/サーバ固有データ・ストリームをHTTPデータ・ストリームに変換 することによって、外部通信リンクを介して受信したクライアント/サーバ固有 データ・ストリームからサーバ・キャッシュ項目に対応するHTTPデータ・ス トリームを再構築する手段を含み、 前記供給手段が、ウェブ・ブラウザによって要求された情報に対応するサーバ 要求キャッシュ項目をウェブ・ブラウザにHTTPデータ・ストリームとして転 送する手段を含むことを特徴とする、請求項49に記載の装置。 53.ウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が、第2 のコンピュータがウェブ・ブラウザ発信通信を受信する前の所定のクライアント ・コヒーレンシ時間間隔内に作成されたかどうかを判断する手段をさらに含み、 前記変換手段が、前記判断手段によってサーバ要求キャッシュ項目が所定のク ライアント・コヒーレンシ時間間隔内に作成されたと判断された場合、ウェブ・ ブラウザ発信通信に対応するサーバ要求キャッシュ項目をクライアント/サーバ 固有通信プロトコルに変換する手段をさらに含むことを特徴とする、請求項52 に記載の装置。 54.ウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項目と同じウェ ブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在するかど うかを判断する手段をさらに含み、 前記変換手段が、第2のコンピュータがウェブ・ブラウザ発信通信を受信した 時点とウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が作成さ れた時点との間の時間の間隔を計算して項目エージ・データを求める手段を含み 、 前記送信手段が、ウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項 目の項目エージ・データを含むコヒーレント項目応答をクライアント/サーバ固 有プロトコルとして外部通信リンクを介して第1のコンピュータに送信する手段 を含み、 前記再構築手段が、第1のコンピュータの現在時刻からコヒーレント項目応答 から受け取った項目エージ・データを引くことによってウェブ・ブラウザ発信通 信に対応するクライアント・キャッシュ項目時間レコードを更新する手段を含み 、 前記供給手段が、外部通信リンクからコヒーレント項目応答を受け取った場合 にウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目として格 納されているHTTPデータ・ストリームをウェブ・ブラウザにHTTPデータ ・ストリームとして転送する手段を含むことを特徴とする、請求項52に記載の 装置。 55.インタセプトされたウェブ・ブラウザ発信通信がインタセプトされたCG I要求であり、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントCGIベース書式を供給する手段と、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書 式を供給する手段と、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータにあるキャッシュに格納してサーバ・ベース・キャッシュ項目 を作成する手段と、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを第1のコンピュータにあるキャッシュに格 納してクライアント・ベース・キャッシュ項目を作成する手段と、 インタセプトされたCGI要求に応答してウェブ・サーバによって発信された 通信に対応するHTTPデータ・ストリームを、外部通信リンクで送信する前に インタセプトする手段と、 インタセプトされたCGI要求をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを提供する手段と、 CGI差分データをクライアント/サーバ固有データ・ストリームとして外部 通信リンクを介してウェブ・ブラウザに送信し、第1のコンピュータに送信する 手段と、 第2のコンピュータによって送信され外郭通信リンクを介して伝送されたクラ イアント/サーバ固有データ・ストリームを入手する手段とをさらに含み、 前記再構築手段が、クライアントCGIベース書式を外部通信リンクを介して 受信したCGI差分データと結合してインタセプトされたCGI応答に対応する HTTPデータ・ストリームを作成することによって、外部通信リンクを介して 受信したクライアント/サーバ固有データ・ストリームからウェブ・サーバから の通信に対応するHTTPデータ・ストリームを再構築する手段を含み、 前記供給手段が、ウェブ・サーバによって発信された通信をウェブ・ブラウザ にHTTPデータ・ストリームとして供給することを特徴とする、請求項44に 記載の装置。 56.サーバCGIベース書式がクライアントCGIベース書式と同じかどうか を判断する手段をさらに含み、 前記送信手段が、サーバCGIベース書式を送信する手段と、CGI差分デー タを外部通信リンクを介してウェブ・ブラウザにクライアント/サーバ固有デー タ・ストリームとして送信する手段とを含み、 前記再構築手段が、サーバCGIベース書式を外部通信リンクを介して受信し たCGI差分データと結合してインタセプトされたCGI応答に対応するHTT Pデータ・ストリームを結合することによって、外部通信リンクを介して受信し たクライアント/サーバ固有データ・ストリームからウェブ・サーバからの通信 に対応するHTTPデータ・ストリームを再構築する手段を含み、 受信したサーバCGIベース書式をCGI要求に対応する クライアント・ベース・キャッシュ項目として格納することによって、CGI要 求に対応するクライアントCGIベース書式を更新する手段をさらに含む、請求 項55に記載の装置。 57.サーバCGIベース書式とCGI応答との差分が事前定義差分しきい値よ り大きいかどうかを判断する手段と、 サーバCGIベース書式とCGI応答との間の差分が事前定義差分しきい値よ り大きいと前記判断手段が判断した場合、ウェブ・サーバから受信したCGI要 求をCGI要求に対応するサーバ・ベース・キャッシュ項目として格納すること によって、CGI要求に対応するサーバCGIベース書式を更新する手段とをさ らに含み、 前記比較手段および前記送信手段が更新されたサーバCGIベース書式を使用 することを特徴とする、請求項56に記載の装置。 58.第1のコンピュータと第2のコンピュータとの間に外部通信リンクを介し て持続的接続を確立する手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持する手段 とをさらに含み、 前記インタセプト手段が、複数のウェブ・ブラウザ発信通信をインタセプトす る手段と、持続的接続を維持している間にそれらのウェブ・ブラウザ発信通信を 外部通信リンクに多重化して送る手段とを含むことを特徴とする、請求項44に 記載の装置。 59.前記再構築手段が、クライアント/サーバ固有データ ・ストリームを多重化解除して複数のHTTPデータ・ストリームを作成する手 段を含み、 前記供給手段が、前記複数のHTTPデータ・ストリームをウェブ・サーバに 供給する手段を含むことを特徴とする、請求項58に記載の装置。 60.外部通信リンクを介して第2のコンピュータに、第1のコンピュータの事 前定義特性に対応するコンピュータ固有情報を供給する手段と、 第1のコンピュータの事前定義特性に対応するコンピュータ固有情報を格納し てブラウザ・ヘッダ情報を供給する手段とをさらに含み、 前記変換手段が、ウェブ・ブラウザ発信通信からコンピュータ固有情報を取り 除く手段を含み、 前記再構築手段が、ブラウザ・ヘッダ情報をクライアント/サーバ固有データ ・ストリームと結合してHTTPデータ・ストリームを作成する手段を含むこと を特徴とする、請求項44に記載の装置。 61.ウェブ・サーバによって発信された通信に対応するHTTPデータ・スト リームを外部通信リンクで送信する前にキャプチャする手段と、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換する手段と、 変換されたウェブ・サーバ発信通信を外部通信リンクを介 してクライアント/サーバ固有データ・ストリームとしてウェブ・ブラウザに送 信する手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手する手段と、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ・ストリームに変換することによって、 外部通信リンクを介して受信したクライアント/サーバ固有データ・ストリーム から、ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再構 築する手段と、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給する手段とをさらに含む、請求項44に記載の装置。 62.外部通信リンクを介して第1のコンピュータに、第2のコンピュータの事 前定義特性に対応するコンピュータ固有情報を提供する手段と、 第2のコンピュータの事前定義特性に対応するコンピュータ固有情報を格納し てサーバ・ヘッダ情報を供給する手段とをさらに含み、 前記変換手段がウェブ・サーバ発信通信からコンピュータ固有情報を取り除く 手段を含み、 前記再構築手段が、サーバ・ヘッダ情報をクライアント/サーバ固有データ・ ストリームと結合してHTTPデータ・ストリームを作成する手段を含むことを 特徴とする、請求項 61に記載の装置。 63.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立する手段と、 すべてのウェブ・サーバ発信通信が完了するまで持続的接続を維持する手段と をさらに含み、 前記キャプチャ手段が、複数のウェブ・サーバ発信通信をインタセプトする手 段と、持続的接続を維持している間にそれらのウェブ・サーバ発信通信を外部通 信リンクに多重化して送る手段とを含むことを特徴とする、請求項61に記載の 装置。 64.前記再構築手段がクライアント/サーバ固有データ・ストリームを多重化 解除して複数のHTTPデータ・ストリームを作成する手段を含み、 前記供給手段が前記複数のHTTPデータ・ストリームをウェブ・サーバに供 給する手段を含むことを特徴とする、請求項63に記載の装置。 65.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも1 セグメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し 、ハイパーテキスト転送プロトコル(HTTP)を使用して前記第1のコンピュ ータからは遠隔の第2のコンピュータ上に常駐するウェブ・サーバ・アプリケー ションと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上 さ せる装置であって、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前にインタセプトする手段と、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換する手段と、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介してクライアント /サーバ固有データ・ストリームとしてウェブ・サーバに送信する手段とを含む 装置。 66.前記送信手段が、変換されたウェブ・ブラウザ発信通信を無線通信リンク を介して送信する手段を含むことを特徴とする、請求項65に記載の装置。 67.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答してウェブ・ブラウ ザが受信するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャ ッシュに格納してウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクラ イアント・キャッシュ項目を作成する手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断する手段と、 ウェブ・ブラウザ発信通信に応答してクライアント・キャッシュ項目をHTT Pデータ・ストリームとしてウェブ・ブラウザに供給する手段とを含む、請求項 65に記載の装置。 68.固有のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格納 して、第1のコンピュータ内にあるユーザ定義情報が提供されるようにする手段 と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断する手段と、 前記問い合わせ手段によってウェブ・ブラウザ通信がユーザ定義情報が格納さ れている要求に対応していると判断された場合、ウェブ・ブラウザ発信通信に応 答してユーザ定義格納情報をウェブ・ブラウザにHTTPデータ・ストリームと して供給する手段とをさらに含む、請求項65に記載の装置。 69.通信リンクを介して第1のコンピュータからユーザ定義情報を受信する手 段をさらに含む、請求項68に記載の装置。 70.前記格納手段が、クライアント・キャッシュ項目の作成時刻を格納してク ライアント・キャッシュ項目時間レコードを作成する手段をさらに含み、 前記問い合わせ手段が、クライアント・キャッシュ項目時間レコードを評価し て、ウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目がウェ ブ・ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間間隔 内に作成されたかどうかを判断する手段をさらに含み、 前記供給手段が、前記判断手段によってクライアント・キャッシュ項目がウェ ブ・ブラウザが情報を要求する前の所定 のクライアント・コヒーレンシ時間間隔内に作成されたと判断された場合に、ウ ェブ・ブラウザ発信通信に応答してクライアント・キャッシュ項目をウェブ・ブ ラウザにHTTPデータ・ストリームとして供給する手段を含むことを特徴とす る、請求項67に記載の装置。 71.ウェブ・ブラウザの複数のインスタンスにわたってクライアント・キャッ シュ項目を維持する手段をさらに含む、請求項70に記載の装置。 72.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記装置が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントCGIベース書式を供給する手段と、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャッシュ に格納してクライアント・ベース・キャッシュ項目を作成する手段と、 クライアントCGIベース書式を外部通信リンクを介して受信したCGI差分 データと結合してHTTPデータ・ストリームを作成することによって、外部通 信リンクを介して受信したクライアント/サーバ固有データ・ストリームから、 ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再構築する 手段と、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給する手段とをさらに含む、請求項65に記載の装置。 73.前記再構築手段が、外部通信リンクを介して受信したサーバCGIベース 書式を外部通信リンクを介して受信したCGI差分データと結合してインタセプ トされたCGI応答に対応するHTTPデータ・ストリームを作成することによ って、外部通信リンクを介して受信したクライアント/サーバ固有データ・スト リームからウェブ・サーバからの通信に対応するHTTPデータ・ストリームを 再構築する手段を含み、 受信したサーバCGIベース書式をCGI要求に対応するクライアント・ベー ス・キャッシュ項目として格納することによってCGI要求に対応するクライア ントCGIベース書式を更新する手段をさらに含む、請求項72に記載の装置。 74.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立する手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持する手段 とをさらに含み、 前記インタセプト手段が、複数のウェブ・ブラウザ発信通信をインタセプトす る手段と、持続的接続を維持している間にそれらの複数のウェブ・ブラウザ発信 手段を外部通信リンクに多重化して送る手段を含むことを特徴とする、請求項6 5に記載の装置 75.外部通信リンクを介して第2のコンピュータからクライアント/サーバ固 有データ・ストリームを受信する手段と、 ウェブ・ブラウザに複数のHTTPデータ・ストリームを供給するためにクラ イアント/サーバ固有データ・ストリームを多重化解除して複数のHTTPデー タ・ストリームを作成する手段と、 複数のHTTPデータ・ストリームをウェブ・ブラウザに供給する手段とをさ らに含む、請求項74に記載の装置。 76.外部通信リンクを介して第2のコンピュータに第1のコンピュータの事前 定義特性に対応するコンピュータ固有情報を供給する手段をさらに含み、 前記変換手段がウェブ・ブラウザ発信通信からコンピュータ固有情報を取り除 く手段を含むことを特徴とする、請求項65に記載の装置。 77.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも1 セグメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し 、ハイパーテキスト転送プロトコル(HTTP)を使用して第1のコンピュータ からは遠隔にある第2のコンピュータ上に常駐するウェブ・サーバ・アプリケー ションと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向上 させる装置であって、 ウェブ・サーバによって発信された通信に対応するHTT Pデータ・ストリームを、外部通信リンクで送信する前にインタセプトする手段 と、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換する手段と、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとしてウェブ・ブラウザに送信する手段とを含む 装置。 78.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータ内にあるキャッシュに格納してサーバ要求キ ャッシュ項目を作成する手段と、 ウェブ・ブラウザ発信通信をインタセプトして、ブラウザ発信通信に対応する サーバ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断す る手段とをさらに含み、 前記変換手段が、ブラウザ発信通信に関連づけられたサーバ要求キャッシュ項 目をクライアント/サーバ固有通信プロトコルに変換する手段を含み、 前記送信手段が、変換されたサーバ要求キャッシュ項目を外部通信リンクを介 して第1のコンピュータにクライアント/サーバ固有データ・ストリームとして 送信する手段を含むことを特徴とする、請求項77に記載の装置。 79.ウェブ・ブラウザ発信通信に対応するサーバ要求キャ ッシュ項目が、第2のコンピュータがウェブ・ブラウザ発信通信を受信する前の 所定のクライアント・コヒーレンシ時間間隔内に作成されたかどうかを判断する 手段をさらに含み、 前記変換手段が、前記判断手段によってサーバ要求キャッシュ項目が所定のク ライアント・コヒーレンシ時間間隔で作成されたと判断された場合に、ウェブ・ ブラウザ発信通信に対応するサーバ要求キャッシュ項目をクライアント/サーバ 固有通信プロトコルに変換する手段を含むことを特徴とする、請求項78に記載 の装置。 80.ウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項目と同じウェ ブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在するかど うかを判断する手段をさらに含み、 前記変換手段が、第2のコンピュータがウェブ・ブラウザ発信通信を受信した 時点とウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が作成さ れた時点との間の時間間隔を計算して項目エージ・データを求める手段を含み、 前記送信手段が、外部通信リンクを介してウェブ・ブラウザ発信通信に対応す るサーバ・キャッシュ項目の項目エージ・データを含むコヒーレント項目応答を クライアント/サーバ固有プロトコルとして第1のコンピュータに送信する手段 を含むことを特徴とする、請求項78に記載の装置。 81.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース(C GI)要求に対応し、前記装置が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を提供する手段と、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータ内にあるキャッシュに格納してサーバ・ベース・キャッシュ項 目を作成する手段とをさらに含み、 前記インタセプト手段が、インタセプトされたCGI要求に応答してウェブ・ サーバによって発信された通信に対応するHTTPデータ・ストリームを、外部 通信リンクで送信する前にインタセプトする手段と、 インタセプトされたCGI応答をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを提供する手段とを含み、 前記送信手段がCGI差分データを外部通信リンクを介してクライアント/サ ーバ固有データ・ストリームとしてウェブ・ブラウザに送信する手段を含むこと を特徴とする、請求項77に記載の装置。 82.サーバCGIベース書式がCGI要求に対応するクライアントCGIベー ス書式と同じかどうかを判断する手段をさらに含み、 前記送信手段が、サーバCGIベース書式を送信する手段と、CGI差分デー タを外部通信リンクを介してクライアント/サーバ固有データ・ストリームとし てウェブ・ブラウザに送信する手段とを含むことを特徴とする、請求項81に記 載の装置。 83.サーバCGIベース書式とCGI応答との差が事前定義差分しきい値より 大きいかどうかを判断する手段と、 前記判断手段によってサーバCGIベース書式とCGI応答との間の差分が事 前定義差分しきい値より大きいと判断された場合、CGI要求に対応するサーバ ・ベース・キャッシュ項目としてウェブ・サーバから受信したCGI応答を格納 することによって、CGI要求に対応するサーバCGIベース書式を更新する手 段とをさらに含み、 前記比較手段および前記送信手段が更新されたサーバCGIベース書式を使用 することを特徴とする、請求項81に記載の装置。 84.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介して 持続的接続を確立する手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持する手段 とをさらに含み、 前記インタセプト手段が、複数のウェブ・サーバ発信通信をインタセプトする 手段と、持続的接続を維持している間にそれらのウェブ・サーバ発信通信を外部 通信リンクに多重化して送る手段とを含むことを特徴とする、請求項77に記載 の装置。 85.クライアントとサーバとの間の通信のために前記クライアント・アプリケ ーションと前記サーバ・アプリケーションがクライアント/サーバ独立通信プロ トコルを使用し、第1のコンピュータ内のクライアント・アプリケーションと第 2のコンピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セ グメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、 前記第1のコンピュータからは遠隔の第2のコンピュータ上に常駐するサーバ・ アプリケーションと通信するクライアント・アプリケーションを有するクライア ント/サーバ・システムのパフォーマンスを向上させる装置であって、 遠隔クライアントによって発信されたクライアント/サーバ独立通信プロトコ ルでの通信を、外部通信リンクで送信する前にインタセプトする手段と、 クライアントによって発信された通信を第2のクライアント/サーバ固有通信 プロトコルに変換する手段と、 変換された通信を外部通信リンクを介して送信する手段と、 外部通信リンクを介して送信された通信を受信する手段と、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換する手段と、 遠隔クライアントによって発信された通信をクライアント/サーバ独立通信プ ロトコルでサーバに供給する手段とを含 む装置。 86.サーバによって発信されたクライアント/サーバ独立通信プロトコルでの 通信を、外部通信リンクで送信する前にインタセプトする手段と、 サーバによって発信された通信を第2のクライアント/サーバ固有通信プロト コルに変換する手段と、 変換された通信を外部通信リンクを介して送信する手段と、 外部通信リンクを介して送信された通信を受信する手段と、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換する手段と、 サーバによって発信された通信をクライアント/サーバ独立通信プロトコルで 遠隔クライアントに供給する手段とをさらに含む、請求項85に記載の装置。 87.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2のコ ンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも1 セグメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し 、ハイパーテキスト転送プロトコル(HTTP)を使用して前記第1のコンピュ ータからは遠隔にある第2のコンピュータ上に常駐するウェブ・サーバ・アプリ ケーションと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを 向上させるコンピュータ・プログラム製品であって、 コンピュータ可読格納媒体内に埋め込まれたコンピュータ 可読プログラム・コード手段を有するコンピュータ可読格納媒体を含み、前記コ ンピュータ可読プログラム・コード手段は、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前に、インタセプトするコンピュータ可読プ ログラム・コード手段と、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTP プロトコルからクライアント/サーバ固有通信プロトコルに変換するコンピュー タ可読プログラム・コード手段と、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介して第2のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信するコンピュ ータ可読プログラム・コード手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを受信するコンピュータ可読プログラム・コード手段と、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ・ストリームに変換することによって、 ウェブ・ブラウザからの通信に対応するHTTPデータ・ストリームを外部通信 リンクを介して受信したクライアント/サーバ固有データ・ストリームから再構 築するコンピュータ可読プログラム・コ ード手段と、 ウェブ・ブラウザによって発信された通信をウェブ・サーバにHTTPデータ ・ストリームとして供給するコンピュータ可読プログラム・コード手段とを含む コンピュータ・プログラム製品。 88.前記送信コンピュータ可読プログラム・コード手段が、変換されたウェブ ・ブラウザ発信通信を無線通信リンクを介して送信するコンピュータ可読プログ ラム・コード手段をさらに含むことを特徴とする、請求項87に記載のコンピュ ータ・プログラム製品。 89.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答して、ウェブ・ブラ ウザが受信するHTTPデータ・ストリームを第1のコンピュータ内にあるキャ ッシュに格納し、ウェブ・サーバとのウェブ・ブラウザ発信通信に対応するクラ イアント・キャッシュ項目を作成するコンピュータ可読プログラム・コード手段 と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断するコンピュータ 可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信に応答してウェブ・ブラウザにクライアント・キャ ッシュ項目をHTTPデータ・ストリームとして供給するコンピュータ可読プロ グラム・コード手段とをさらに含む、請求項87に記載のコンピュータ・プログ ラム製品。 90.特定のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格納 して、第1のコンピュータ内にあるユーザ定義情報が提供されるようにするコン ピュータ可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断するコンピュータ可読プログラム・コード手段と、 前記問い合わせコンピュータ可読プログラム・コード手段によってウェブ・ブ ラウザ通信がユーザ定義情報が格納されている要求に対応すると判断された場合 に、前記供給コンピュータ可読プログラム・コード手段がウェブ・ブラウザ発信 通信に応答してユーザ定義格納情報をウェブ・ブラウザにHTTPデータ・スト リームとして供給するコンピュータ可読プログラム・コード手段を含む、請求項 87に記載のコンピュータ・プログラム製品。 91.通信リンクを介して第1のコンピュータからユーザ定義情報を受信するコ ンピュータ可読プログラム・コード手段をさらに含むことを特徴とする、請求項 90に記載のコンピュータ・プログラム製品。 92.前記格納コンピュータ可読プログラム・コード手段が、クライアント・キ ャッシュ項目の作成時刻を格納してクライアント・キャッシュ項目時間レコード を作成するコンピュー タ可読プログラム・コード手段をさらに含み、 前記問い合わせコンピュータ可読プログラム・コード手段が、クライアント・ キャッシュ項目時間レコードを評価して、ウェブ・ブラウザ発信通信に対応する クライアント・キャッシュ項目が、ウェブ・ブラウザが情報を要求する前の所定 のクライアント・コヒーレンシ時間間隔内に作成されたかどうかを判断するコン ピュータ可読プログラム・コード手段をさらに含み、 前記供給コンピュータ可読プログラム・コード手段が、前記判断コンピュータ 可読プログラム・コード手段によってクライアント・キャッシュ項目がウェブ・ ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間間隔内に 作成されたと判断された場合に、ウェブ・ブラウザ発信通信に応答してウェブ・ ブラウザにクライアント・キャッシュ項目をHTTPデータ・ストリームとして 供給するコンピュータ可読プログラム・コード手段を含むことを特徴とする、請 求項87に記載のコンピュータ・プログラム製品。 93.ウェブ・ブラウザの複数のインスタンスにわたってクライアント・キャッ シュ項目を維持するコンピュータ可読プログラム・コード手段をさらに含む、請 求項92に記載のコンピュータ・プログラム製品。 94.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータにあるキャッシュに格納して、サーバ要求キ ャッシュ項目を作成 するコンピュータ可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ブラウザ発信通信に対応するサー バ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断するコ ンピュータ可読プログラム・コード手段と、 ブラウザ発信通信に関連づけられたサーバ要求キャッシュ項目をクライアント /サーバ固有通信プロトコルに変換するコンピュータ可読プログラム・コード手 段と、 変換されたサーバ要求キャッシュ項目を外部通信リンクを介して第1のコンピ ュータにクライアント/サーバ固有データ・ストリームとして送信するコンピュ ータ可読プログラム・コード手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手するコンピュータ可読プログラム・コード手段とをさらに含み、 前記再構築コンピュータ可読プログラム・コード手段が、クライアント/サー バ固有通信プロトコルで受信したクライアント/サーバ固有データ・ストリーム をHTTPデータ・ストリームに変換することによって、外部通信リンクを介し て受信したクライアント/サーバ固有データ・ストリームからサーバ要求キャッ シュ項目に対応するHTTPデータ・ストリームを再構築するコンピュータ可読 プログラム・コード手段を含み、 前記供給コンピュータ可読プログラム・コード手段が、ウ ェブ・ブラウザによって要求された情報に対応するサーバ要求キャッシュ項目を ウェブ・ブラウザにHTTPデータ・ストリームとして供給するコンピュータ可 読プログラム・コード手段を含むことを特徴とする、請求項87に記載のコンピ ュータ・プログラム製品。 95.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデータ ・ストリームを第2のコンピュータ内にあるキャッシュに格納してサーバ要求キ ャッシュ項目を作成するコンピュータ可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信を評価して、ウェブ・ブラウザ発信通信に対応する サーバ要求キャッシュ項目が存在するかどうかを判断するコンピュータ可読プロ グラム・コード手段と、 ブラウザ発信通信に対応するサーバ要求キャッシュ項目をクライアント/サー バ固有通信プロトコルに変換するコンピュータ可読プログラム・コード手段と、 外部通信リンクでクライアント/サーバ固有データ・ストリームを送信するこ とによって、外部通信リンクを介して第1のコンピュータにサーバ要求キャッシ ュ項目を送信するコンピュータ可読プログラム・コード手段と、 第2のコンピュータによって外部通信リンクを介して送信されたクライアント /サーバ固有データ・ストリームを入手するコンピュータ可読プログラム・コー ド手段とをさらに含み、 前記再構築コンピュータ可読プログラム・コード手段が、クライアント/サー バ固有通信プロトコルで受信したクライアント/サーバ固有データ・ストリーム をHTTPデータ・ストリームに変換することによって、外部通信リンクを介し て受信したクライアント/サーバ固有データ・ストリームからサーバ・キャッシ ュ項目に対応するHTTPデータ・ストリームを再構築するコンピュータ可読プ ログラム・コード手段を含み、 前記供給コンピュータ可読プログラム・コード手段が、ウェブ・ブラウザによ って要求された情報に対応するサーバ要求キャッシュ項目をウェブ・ブラウザに HTTPデータ・ストリームとして転送するコンピュータ可読プログラム・コー ド手段を含むことを特徴とする、請求項92に記載のコンピュータ・プログラム 製品。 96.ウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が、第2 のコンピュータがウェブ・ブラウザ発信通信を受信する前の所定のクライアント ・コヒーレンシ時間間隔内に作成されたかどうかを判断するコンピュータ可読プ ログラム・コード手段をさらに含み、 前記変換コンピュータ可読プログラム・コード手段が、前記判断コンピュータ 可読プログラム・コード手段によってサーバ要求キャッシュ項目が所定のクライ アント・コヒーレンシ時間間隔内に作成されたと判断された場合、ウェブ・ブラ ウザ発信通信に対応するサーバ要求キャッシュ項目をクライ アント/サーバ固有通信プロトコルに変換するコンピュータ可読プログラム・コ ード手段をさらに含むことを特徴とする、請求項95に記載のコンピュータ・プ ログラム製品。 97.ウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項目と同じウェ ブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在するかど うかを判断するコンピュータ可読プログラム・コード手段をさらに含み、 前記変換コンピュータ可読プログラム・コード手段が、第2のコンピュータが ウェブ・ブラウザ発信通信を受信した時点とウェブ・ブラウザ発信通信に対応す るサーバ要求キャッシュ項目が作成された時点との間の時間の間隔を計算して項 目エージ・データを求めるコンピュータ可読プログラム・コード手段を含み、 前記送信コンピュータ可読プログラム・コード手段が、ウェブ・ブラウザ発信 通信に対応するサーバ・キャッシュ項目の項目エージ・データを含むコヒーレン ト項目応答をクライアント/サーバ固有プロトコルとして外部通信リンクを介し て第1のコンピュータに送信するコンピュータ可読プログラム・コード手段を含 み、 前記再構築コンピュータ可読プログラム・コード手段が、第1のコンピュータ の現在時刻からコヒーレント項目応答から受け取った項目エージ・データを引く ことによってウェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項 目時間レコードを更新するコンピュータ可読プログラム・コ ード手段を含み、 前記供給コンピュータ可読プログラム・コード手段が、外部通信リンクからコ ヒーレント項目応答を受け取った場合にウェブ・ブラウザ発信通信に対応するク ライアント・キャッシュ項目として格納されているHTTPデータ・ストリーム をウェブ・ブラウザにHTTPデータ・ストリームとして転送するコンピュータ 可読プログラム・コード手段を含むことを特徴とする、請求項95に記載のコン ピュータ・プログラム製品。 98.インタセプトされたウェブ・ブラウザ発信通信がインタセプトされたCG I要求であり、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントCGIベース書式を供給するコンピュータ可読プログラム・コ ード手段と、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を供給するコンピュータ可読プログラム・コード手段と、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータにあるキャッシュに格納してサーバ・ベース・キャッシュ項目 を作成するコンピュータ可読プログラム・コード手段と、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを第1のコンピュータにあるキャッシュに格 納してクライアント・ベース・キャッシュ項目を作成するコンピュータ可読プロ グラム・コード手段と、 インタセプトされたCGI要求に応答してウェブ・サーバによって発信された 通信に対応するHTTPデータ・ストリームを、外部通信リンクで送信する前に インタセプトするコンピュータ可読プログラム・コード手段と、 インタセプトされたCGI要求をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを求めるコンピュータ可読プログラム・コード手段と、 CGI差分データをクライアント/サーバ固有データ・ストリームとして外部 通信リンクを介してウェブ・ブラウザに送信し、第1のコンピュータに送信する コンピュータ可読プログラム・コード手段と、 第2のコンピュータによって送信され外部通信リンクを介して伝送されたクラ イアント/サーバ固有データ・ストリームを入手するコンピュータ可読プログラ ム・コード手段とをさらに含み、 前記再構築コンピュータ可読プログラム・コード手段が、クライアントCGI ベース書式を外部通信リンクを介して受 信したCGI差分と結合してインタセプトされたCGI応答に対応するHTTP データ・ストリームを作成することによって、外部通信リンクを介して受信した クライアント/サーバ固有データ・ストリームからウェブ・サーバからの通信に 対応するHTTPデータ・ストリームを再構築するコンピュータ可読プログラム ・コード手段を含み、 前記供給コンピュータ可読プログラム・コード手段が、ウェブ・サーバによっ て発信された通信をウェブ・ブラウザにHTTPデータ・ストリームとして供給 することを特徴とする、請求項87に記載のコンピュータ・プログラム製品。 99.サーバCGIベース書式がクライアントCGIベース書式と同じかどうか を判断するコンピュータ可読プログラム・コード手段をさらに含み、 前記送信コンピュータ可読プログラム・コード手段が、サーバCGIベース書 式を送信するコンピュータ可読プログラム・コード手段と、CGI差分データを 外部通信リンクを介してウェブ・ブラウザにクライアント/サーバ固有データ・ ストリームとして送信するコンピュータ可読プログラム・コード手段とを含み、 前記再構築コンピュータ可読プログラム・コード手段が、サーバCGIベース 書式を外部通信リンクを介して受信したCGI差分データと結合してインタセプ トされたCGI応答に対応するHTTPデータ・ストリームを作成することによ って、外部通信リンクを介して受信したクライアント/サー バ固有データ・ストリームからウェブ・サーバからの通信に対応するHTTPデ ータ・ストリームを再構築するコンピュータ可読プログラム・コード手段を含み 、 受信したサーバCGIベース書式をCGI要求に対応するクライアント・ベー ス・キャッシュ項目として格納することによって、CGI要求に対応するクライ アントCGIベース書式を更新するコンピュータ可読プログラム・コード手段を さらに含む、請求項98に記載のコンピュータ・プログラム製品。 100.サーバCGIベース書式とCGI応答との差分が事前定義差分しきい値 より大きいかどうかを判断するコンピュータ可読プログラム・コード手段と、 前記判断コンピュータ可読プログラム・コード手段によってサーバCGIベー ス書式とCGI応答との差分が事前定義差分しきい値より大きいと判断された場 合、ウェブ・サーバから受信したCGI応答をCGI要求に対応するサーバ・ベ ース・キャッシュ項目として格納することによって、CGI要求に対応するサー バCGIベース書式を更新するコンピュータ可読プログラム・コード手段とをさ らに含み、 前記比較コンピュータ可読プログラム・コード手段および前記送信コンピュー タ可読プログラム・コード手段が更新されたサーバCGIベース書式を使用する ことを特徴とする、請求項99に記載のコンピュータ・プログラム製品。 101.第1のコンピュータと第2のコンピュータとの間に 外部通信リンクを介して持続的接続を確立するコンピュータ可読プログラム・コ ード手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するコン ピュータ可読プログラム・コード手段とをさらに含み、 前記インタセプト・コンピュータ可読プログラム・コード手段が、複数のウェ ブ・ブラウザ発信通信をインタセプトするコンピュータ可読プログラム・コード 手段と、持続的接続を維持している間にそれらのウェブ・ブラウザ発信通信を外 部通信リンクに多重化して送るコンピュータ可読プログラム・コード手段とを含 むことを特徴とする、請求項87に記載のコンピュータ・プログラム製品。 102.前記再構築コンピュータ可読プログラム・コード手段が、クライアント /サーバ固有データ・ストリームを多重化解除して複数のHTTPデータ・スト リームを作成するコンピュータ可読プログラム・コード手段を含み、 前記供給コンピュータ可読プログラム・コード手段が、前記複数のHTTPデ ータ・ストリームをウェブ・サーバに供給するコンピュータ可読プログラム・コ ード手段を含むことを特徴とする、請求項101に記載のコンピュータ・プログ ラム製品。 103.外部通信リンクを介して第2のコンピュータに、第1のコンピュータの 事前定義特性に対応するコンピュータ固有情報を供給するコンピュータ可読プロ グラム・コード手段 と、 第1のコンピュータの事前定義特性に対応するコンピュータ固有情報を格納し てブラウザ・ヘッダ情報を供給するコンピュータ可読プログラム・コード手段と をさらに含み、 前記変換コンピュータ可読プログラム・コード手段が、ウェブ・ブラウザ発信 通信からコンピュータ固有情報を取り除くコンピュータ可読プログラム・コード 手段を含み、 前記再構築コンピュータ可読プログラム・コード手段が、ブラウザ・ヘッダ情 報をクライアント/サーバ固有データ・ストリームと結合してHTTPデータ・ ストリームを作成するコンピュータ可読プログラム・コード手段を含むことを特 徴とする、請求項87に記載のコンピュータ・プログラム製品。 104.ウェブ・サーバによって発信された通信に対応するHTTPデータ・ス トリームを外部通信リンクで送信する前にキャプチャするコンピュータ可読プロ グラム・コード手段と、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するコンピュータ 可読プログラム・コード手段と、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとしてウェブ・ブラウザに送信するコンピュータ 可読プログラム・コ ード手段と、 外部通信リンクを介して送信されたクライアント/サーバ固有データ・ストリ ームを入手するコンピュータ可読プログラム・コード手段と、 クライアント/サーバ固有通信プロトコルで受信したクライアント/サーバ固 有データ・ストリームをHTTPデータ・ストリームに変換することによって、 外部通信リンクを介して受信したクライアント/サーバ固有データ・ストリーム から、ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再構 築するコンピュータ可読プログラム・コード手段と、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給するコンピュータ可読プログラム・コード手段とをさら に含む、請求項87に記載のコンピュータ・プログラム製品。 105.外部通信リンクを介して第1のコンピュータに、第2のコンピュータの 事前定義特性に対応するコンピュータ固有情報を提供するコンピュータ可読プロ グラム・コード手段と、 第2のコンピュータの事前定義特性に対応するコンピュータ固有情報を格納し てサーバ・ヘッダ情報を供給するコンピュータ可読プログラム・コード手段とを さらに含み、 前記変換コンピュータ可読プログラム・コード手段がウェブ・サーバ発信通信 からコンピュータ固有情報を取り除くコ ンピュータ可読プログラム・コード手段を含み、 前記再構築コンピュータ可読プログラム・コード手段が、サーバ・ヘッダ情報 をクライアント/サーバ固有データ・ストリームと結合してHTTPデータ・ス トリームを作成するコンピュータ可読プログラム・コード手段を含むことを特徴 とする、請求項104に記載のコンピュータ・プログラム製品。 106.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介し て持続的接続を確立するコンピュータ可読プログラム・コード手段と、 すべてのウェブ・サーバ発信通信が完了するまで持続的接続を維持するコンピ ュータ可読プログラム・コード手段とをさらに含み、 前記キャプチャ・コンピュータ可読プログラム・コード手段が、複数のウェブ ・サーバ発信通信をインタセプトするコンピュータ可読プログラム・コード手段 と、持続的接続を維持している間にそれらのウェブ・サーバ発信通信を外部通信 リンクに多重化して送るコンピュータ可読プログラム・コード手段とを含むこと を特徴とする、請求項104に記載のコンピュータ・プログラム製品。 107.前記再構築コンピュータ可読プログラム・コード手段がクライアント/ サーバ固有データ・ストリームを多重化解除して複数のHTTPデータ・ストリ ームを作成するコンピュータ可読プログラム・コード手段を含み、 前記供給コンピュータ可読プログラム・コード手段が前記複数のHTTPデー タ・ストリームをウェブ・サーバに供給するコンピュータ可読プログラム・コー ド手段を含むことを特徴とする、請求項106に記載のコンピュータ・プログラ ム製品。 108.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2の コンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも 1セグメントが外部通信リンクを介して行われる、第1のコンピュータ上に常駐 し、ハイパーテキスト転送プロトコル(HTTP)を使用して前記第1のコンピ ュータからは遠隔の第2のコンピュータ上に常駐するウェブ・サーバ・アプリケ ーションと通信するウェブ・ブラウザ・アプリケーションのパフォーマンスを向 上させるコンピュータ・プログラム製品であって、 コンピュータ可読格納媒体内に埋め込まれたコンピュータ可読プログラム・コ ード手段を有するコンピュータ可読格納媒体を含み、前記コンピュータ可読プロ グラム・コード手段は、 ウェブ・ブラウザによって発信された通信に対応するHTTPデータ・ストリ ームを、外部通信リンクで送信する前にインタセプトするコンピュータ可読プロ グラム・コード手段と、 ウェブ・ブラウザによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有 通信プロトコルに変換するコンピュータ可読プログラム・コード手段と、 変換されたウェブ・ブラウザ発信通信を外部通信リンクを介してクライアント /サーバ固有データ・ストリームとしてウェブ・サーバに送信するコンピュータ 可読プログラム・コード手段とを含むコンピュータ・プログラム製品。 109.前記送信コンピュータ可読プログラム・コード手段が、変換されたウェ ブ・ブラウザ発信通信を無線通信リンクを介して送信するコンピュータ可読プロ グラム・コード手段を含むことを特徴とする、請求項108に記載のコンピュー タ・プログラム製品。 110.ウェブ・サーバとのウェブ・ブラウザ発信通信に応答してウェブ・ブラ ウザが受信するHTTPデータ・ストリームを、第1のコンピュータ内にあるキ ャッシュに格納してウェブ・サーバとのウェブ・ブラウザ発信通信に対応するク ライアント・キャッシュ項目を作成するコンピュータ可読プログラム・コード手 段と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザ発信通信に対応 するクライアント・キャッシュ項目が存在するかどうかを判断するコンピュータ 可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信に応答してクライアント・キャッシュ項目をHTT Pデータ・ストリームとしてウェブ・ブラウザに供給するコンピュータ可読プロ グラム・コード手段 とを含む、請求項108に記載のコンピュータ・プログラム製品。 111.固有のウェブ・ブラウザ情報要求に関連づけられたユーザ定義情報を格 納して、第1のコンピュータ内にあるユーザ定義情報が提供されるようにするコ ンピュータ可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信に問い合わせて、ウェブ・ブラウザによって要求さ れた情報が、ユーザ定義情報が格納されている要求に対応しているかどうかを判 断するコンピュータ可読プログラム・コード手段と、 前記問い合わせコンピュータ可読プログラム・コード手段によってウェブ・ブ ラウザ通信がユーザ定義情報が格納されている要求に対応していると判断された 場合、ウェブ・ブラウザ発信通信に応答してユーザ定義格納情報をウェブ・ブラ ウザにHTTPデータ・ストリームとして供給するコンピュータ可読プログラム ・コード手段とをさらに含む、請求項108に記載のコンピュータ・プログラム 製品。 112.通信リンクを介して第1のコンピュータからユーザ定義情報を受信する コンピュータ可読プログラム・コード手段をさらに含む、請求項111に記載の コンピュータ・プログラム製品。 113.前記格納コンピュータ可読プログラム・コード手段が、クライアント・ キャッシュ項目の作成時刻を格納してクライアント・キャッシュ項目時間レコー ドを作成するコンピ ュータ可読プログラム・コード手段をさらに含み、 前記問い合わせコンピュータ可読プログラム・コード手段が、クライアント・ キャッシュ項目時間レコードを評価して、ウェブ・ブラウザ発信通信に対応する クライアント・キャッシュ項目がウェブ・ブラウザが情報を要求する前の所定の クライアント・コヒーレンシ時間間隔内に作成されたかどうかを判断するコンピ ュータ可読プログラム・コード手段をさらに含み、 前記供給コンピュータ可読プログラム・コード手段が、前記判断コンピュータ 可読プログラム・コード手段によってクライアント・キャッシュ項目がウェブ・ ブラウザが情報を要求する前の所定のクライアント・コヒーレンシ時間間隔内に 作成されたと判断された場合に、ウェブ・ブラウザ発信通信に応答してクライア ント・キャッシュ項目をウェブ・ブラウザにHTTPデータ・ストリームとして 供給するコンピュータ可読プログラム・コード手段を含むことを特徴とする、請 求項110に記載のコンピュータ・プログラム製品。 114.ウェブ・ブラウザの複数のインスタンスにわたってクライアント・キャ ッシュ項目を維持するコンピュータ可読プログラム・コード手段をさらに含む、 請求項113に記載のコンピュータ・プログラム製品。 115.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース( CGI)要求に対応し、前記コンピュータ・プログラム製品が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するクライアント・ベース・キャッシュ項目が存在するかどうかを判断 してクライアントCGIベース書式を供給するコンピュータ可読プログラム・コ ード手段と、 CGIに対する要求であるブラウザ発信通信に応答してウェブ・ブラウザに供 給するHTTPデータ・ストリームを、第1のコンピュータ内にあるキャッシュ に格納してクライアント・ベース・キャッシュ項目を作成するコンピュータ可読 プログラム・コード手段と、 クライアントCGIベース書式を外部通信リンクを介して受信したCGI差分 データと結合してHTTPデータ・ストリームを作成することによって、外部通 信リンクを介して受信したクライアント/サーバ固有データ・ストリームから、 ウェブ・サーバからの通信に対応するHTTPデータ・ストリームを再構築する コンピュータ可読プログラム・コード手段と、 ウェブ・サーバによって発信された通信をウェブ・ブラウザにHTTPデータ ・ストリームとして供給するコンピュータ可読プログラム・コード手段とをさら に含む、請求項108に記載のコンピュータ・プログラム製品。 116.前記再構築コンピュータ可読プログラム・コード手段が、外部通信リン クを介して受信したサーバCGIベース書式を外部通信リンクを介して受信した CGI差分データと 結合してインタセプトされたCGI応答に対応するHTTPデータ・ストリーム を作成することによって、外部通信リンクを介して受信したクライアント/サー バ固有データ・ストリームから、ウェブ・サーバからの通信に対応するHTTP データ・ストリームを再構築するコンピュータ可読プログラム・コード手段を含 み、 受信したサーバCGIベース書式をCGI要求に対応するクライアント・ベー ス・キャッシュ項目として格納することによってCGI要求に対応するクライア ントCGIベース書式を更新するコンピュータ可読プログラム・コード手段をさ らに含む、請求項115に記載のコンピュータ・プログラム製品。 117.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介し て持続的接続を確立するコンピュータ・プログラム・コード手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するコン ピュータ可読プログラム・コード手段とをさらに含み、 前記インタセプト・コンピュータ可読プログラム・コード手段が、複数のウェ ブ・ブラウザ発信通信をインタセプトするコンピュータ可読プログラム・コード 手段と、持続的接続を維持している間にそれらの複数のウェブ・ブラウザ発信通 信を外部通信リンクに多重化して送るコンピュータ可読プログラム・コード手段 を含むことを特徴とする、請求項108 に記載のコンピュータ・プログラム製品。 118.外部通信回線を介して第2のコンピュータからクライアント/サーバ固 有データ・ストリームを受信するコンピュータ可読プログラム・コード手段と、 ウェブ・ブラウザに複数のHTTPデータ・ストリームを供給するためにクラ イアント/サーバ固有データ・ストリームを多重化解除して複数のHTTPデー タ・ストリームを作成するコンピュータ可読プログラム・コード手段と、 複数のHTTPデータ・ストリームをウェブ・ブラウザに供給するコンピュー タ可読プログラム・コード手段とをさらに含む、請求項117に記載のコンピュ ータ・プログラム製品。 119.外部通信リンクを介して第2のコンピュータに第1のコンピュータの事 前定義特性に対応するコンピュータ固有情報を供給するコンピュータ可読プログ ラム・コード手段をさらに含み、 前記変換コンピュータ可読プログラム・コード手段がウェブ・ブラウザ発信通 信からコンピュータ固有情報を取り除くコンピュータ可読プログラム・コード手 段を含むことを特徴とする、請求項108に記載のコンピュータ・プログラム製 品。 120.第1のコンピュータ内のウェブ・ブラウザ・アプリケーションと第2の コンピュータ内のウェブ・サーバ・アプリケーションとの間の通信の少なくとも 1セグメントが外部 通信リンクを介して行われる、第1のコンピュータ上に常駐し、ハイパーテキス ト転送プロトコル(HTTP)を使用して第1のコンピュータからは遠隔にある 第2のコンピュータ上に常駐するウェブ・サーバ・アプリケーションと通信する ウェブ・ブラウザ・アプリケーションのパフォーマンスを向上させるコンピュー タ・プログラム製品であって、 コンピュータ可読格納媒体内に埋め込まれたコンピュータ可読プログラム・コ ード手段を有するコンピュータ可読格納媒体を含み、前記コンピュータ可読プロ グラム・コード手段は、 ウェブ・サーバによって発信された通信に対応するHTTPデータ・ストリー ムを、外部通信リンクで送信する前にインタセプトするコンピュータ可読プログ ラム・コード手段と、 ウェブ・サーバによって発信されたHTTPデータ・ストリームをHTTPプ ロトコルからクライアント/サーバ固有通信プロトコルに変換するコンピュータ 可読プログラム・コード手段と、 変換されたウェブ・サーバ発信通信を外部通信リンクを介してクライアント/ サーバ固有データ・ストリームとして送信するコンピュータ可読プログラム・コ ード手段とを含むコンピュータ・プログラム製品。 121.ブラウザ発信通信に応答してウェブ・サーバから受信したHTTPデー タ・ストリームを第2のコンピュータ内にあるキャッシュに格納してサーバ要求 キャッシュ項目を作 成するコンピュータ可読プログラム・コード手段と、 ウェブ・ブラウザ発信通信をインタセプトして、ブラウザ発信通信に対応する サーバ要求キャッシュ項目が前にキャッシュに格納されているかどうかを判断す るコンピュータ可読プログラム・コード手段とをさらに含み、 前記変換コンピュータ可読プログラム・コード手段が、ブラウザ発信通信に関 連づけられたサーバ要求キャッシュ項目をクライアント/サーバ固有通信プロト コルに変換するコンピュータ可読プログラム・コード手段を含み、 前記送信コンピュータ可読プログラム・コード手段が、変換されたサーバ要求 キャッシュ項目を外部通信リンクを介して第1のコンピュータにクライアント/ サーバ固有データ・ストリームとして送信するコンピュータ可読プログラム・コ ード手段を含むことを特徴とする、請求項120に記載のコンピュータ・プログ ラム製品。 122.ウェブ・ブラウザ発信通信に対応するサーバ要求キャッシュ項目が、第 2のコンピュータがウェブ・ブラウザ発信通信を受信する前の所定のクライアン ト・コヒーレンシ時間間隔内に作成されたかどうかを判断するコンピュータ可読 プログラム・コード手段をさらに含み、 前記変換コンピュータ可読プログラム・コード手段が、前記判断コンピュータ 可読プログラム・コード手段によってサーバ要求キャッシュ項目が所定のクライ アント・コヒーレンシ時間間隔で作成されたと判断された場合、ウェブ・ブラウ ザ発信通信に対応するサーバ要求キャッシュ項目をクライアント/サーバ固有通 信プロトコルに変換するコンピュータ可読プログラム・コード手段を含むことを 特徴とする、請求項121に記載のコンピュータ・プログラム製品。 123.ウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項目と同じウ ェブ・ブラウザ発信通信に対応するクライアント・キャッシュ項目が存在するか どうかを判断するコンピュータ可読プログラム・コード手段をさらに含み、 前記変換コンピュータ可読プログラム・コード手段が、第2のコンピュータが ウェブ・ブラウザ発信通信を受信した時点とウェブ・ブラウザ発信通信に対応す るサーバ要求キャッシュ項目が作成された時点との間の時間間隔を計算して項目 エージ・データを求めるコンピュータ可読プログラム・コード手段を含み、 前記送信コンピュータ可読プログラム・コード手段が、外部通信リンクを介し てウェブ・ブラウザ発信通信に対応するサーバ・キャッシュ項目の項目エージ・ データを含むコヒーレント項目応答をクライアント/サーバ固有プロトコルとし て第1のコンピュータに送信するコンピュータ可読プログラム・コード手段を含 むことを特徴とする、請求項121に記載のコンピュータ・プログラム製品。 124.前記ウェブ・ブラウザ発信通信が共通ゲートウェイ・インタフェース( CGI)要求に対応し、前記コンピュータ・プログラム製品が、 インタセプトされたCGI要求に問い合わせて、インタセプトされたCGI要 求に対応するサーバ・ベース・キャッシュ項目が存在するかどうかを判断してサ ーバCGIベース書式を提供するコンピュータ可読プログラム・コード手段と、 共通ゲートウェイ・インタフェース(CGI)に対する要求であるブラウザ発 信通信に応答してウェブ・サーバから受信したHTTPデータ・ストリームを第 2のコンピュータ内にあるキャッシュに格納してサーバ・ベース・キャッシュ項 目を作成するコンピュータ可読プログラム・コード手段とをさらに含み、 前記インタセプト・コンピュータ可読プログラム・コード手段が、インタセプ トされたCGI要求に応答してウェブ・サーバによって発信された通信に対応す るHTTPデータ・ストリームを、外部通信リンクで送信する前にインタセプト するコンピュータ可読プログラム・コード手段と、 インタセプトされたCGI応答をサーバCGIベース書式と比較して、インタ セプトされたCGI応答とサーバCGIベース書式との差分に対応するCGI差 分データを提供するコンピュータ可読プログラム・コード手段とを含み、 前記送信コンピュータ可読プログラム・コード手段がCGI差分データを外部 通信リンクを介してクライアント/サーバ固有データ・ストリームとしてウェブ ・ブラウザに送信するコンピュータ可読プログラム・コード手段を含むことを特 徴とする、請求項120に記載のコンピュータ・プログラム 製品。 125.サーバCGIベース書式がCGI要求に対応するクライアントCGIベ ース書式と同じかどうかを判断するコンピュータ可読プログラム・コード手段を さらに含み、 前記送信コンピュータ可読プログラム・コード手段が、サーバCGIベース書 式を送信するコンピュータ可読プログラム・コード手段と、CGI差分データを 外部通信リンクを介してクライアント/サーバ固有データ・ストリームとしてウ ェブ・ブラウザに送信するコンピュータ可読プログラム・コード手段とを含むこ とを特徴とする、請求項124に記載のコンピュータ・プログラム製品。 126.サーバCGIベース書式とCGI応答との差が事前定義差分しきい値よ り大きいかどうかを判断するコンピュータ可読プログラム・コード手段と、 前記判断コンピュータ可読プログラム・コード手段により、サーバCGIベー ス書式とCGI応答との間の差分が事前定義差分しきい値より大きいと判断され た場合、CGI要求に対応するサーバ・ベース・キャッシュ項目としてウェブ・ サーバから受信したCGI応答を格納することによって、CGI要求に対応する サーバCGIベース書式を更新するコンピュータ可読プログラム・コード手段と をさらに含み、 前記比較コンピュータ可読プログラム・コード手段および前記送信コンピュー タ可読プログラム・コード手段が更新されたサーバCGIベース書式を使用する ことを特徴とする、 請求項124に記載のコンピュータ・プログラム製品。 127.第1のコンピュータと第2のコンピュータの間に外部通信リンクを介し て持続的接続を確立するコンピュータ可読プログラム・コード手段と、 すべてのウェブ・ブラウザ発信通信が完了するまで持続的接続を維持するコン ピュータ可読プログラム・コード手段とをさらに含み、 前記インタセプト・コンピュータ可読プログラム・コード手段が、複数のウェ ブ・サーバ発信通信をインタセプトするコンピュータ可読プログラム・コード手 段と、持続的接続を維持している間にそれらのウェブ・サーバ発信通信を外部通 信リンクに多重化して送るコンピュータ可読プログラム・コード手段とを含むこ とを特徴とする、請求項120に記載のコンピュータ・プログラム製品。 128.クライアントとサーバとの間の通信のためにクライアント・アプリケー ションとサーバ・アプリケーションがクライアント/サーバ独立通信プロトコル を使用し、第1のコンピュータ内のクライアント・アプリケーションと第2のコ ンピュータ内のサーバ・アプリケーションとの間の通信の少なくとも1セグメン トが外部通信リンクを介して行われる、第1のコンピュータ上に常駐し、第1の コンピュータからは遠隔の第2のコンピュータ上に常駐するサーバ・アプリケー ションと通信するクライアント・アプリケーションを有するクライアント/サー バ・システムのパフォーマンスを向上さ せるコンピュータ・プログラム製品であって、 コンピュータ可読格納媒体内に埋め込まれたコンピュータ可読プログラム・コ ード手段を有するコンピュータ可読格納媒体を含み、前記コンピュータ可読プロ グラム・コード手段は、 遠隔クライアントによって発信されたクライアント/サーバ独立通信プロトコ ルでの通信を、外部通信リンクで送信する前にインタセプトするコンピュータ可 読プログラム・コード手段と、 クライアントによって発信された通信を第2のクライアント/サーバ固有通信 プロトコルに変換するコンピュータ可読プログラム・コード手段と、 変換された通信を外部通信リンクを介して送信するコンピュータ可読プログラ ム・コード手段と、 外部通信リンクを介して送信された通信を受信するコンピュータ可読プログラ ム・コード手段と、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換するコンピュータ可読 プログラム・コード手段と、 遠隔クライアントによって発信された通信をクライアント/サーバ独立通信プ ロトコルでサーバに供給するコンピュータ可読プログラム・コード手段とを含む コンピュータ・プログラム製品。 129.サーバによって発信されたクライアント/サーバ独立通信プロトコルで の通信を、外部通信リンクで送信する前にインタセプトするコンピュータ可読プ ログラム・コード手段と、 サーバによって発信された通信を第2のクライアント/サーバ固有通信プロト コルに変換するコンピュータ可読プログラム・コード手段と、 変換された通信を外部通信リンクを介して送信するコンピュータ可読プログラ ム・コード手段と、 外部通信リンクを介して送信された通信を受信するコンピュータ可読プログラ ム・コード手段と、 外部通信リンクを介して受信した通信をクライアント/サーバ固有通信プロト コルからクライアント/サーバ独立通信プロトコルに変換するコンピュータ可読 プログラム・コード手段と、 サーバによって発信された通信をクライアント/サーバ独立通信プロトコルで 遠隔クライアントに供給するコンピュータ可読プログラム・コード手段とをさら に含む、請求項128に記載のコンピュータ・プログラム製品。
JP52931197A 1996-02-15 1996-07-11 クライアント/サーバ通信システム Expired - Lifetime JP3953109B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/601,804 1996-02-15
US08/601,804 US5754774A (en) 1996-02-15 1996-02-15 Client/server communication system
PCT/US1996/011551 WO1997030538A2 (en) 1996-02-15 1996-07-11 Client/server communication system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003364382A Division JP3962369B2 (ja) 1996-02-15 2003-10-24 ウェブ・ブラウザ・アプリケーションのパフォーマンスを向上する方法及び装置

Publications (2)

Publication Number Publication Date
JPH11500895A true JPH11500895A (ja) 1999-01-19
JP3953109B2 JP3953109B2 (ja) 2007-08-08

Family

ID=24408840

Family Applications (2)

Application Number Title Priority Date Filing Date
JP52931197A Expired - Lifetime JP3953109B2 (ja) 1996-02-15 1996-07-11 クライアント/サーバ通信システム
JP2003364382A Expired - Lifetime JP3962369B2 (ja) 1996-02-15 2003-10-24 ウェブ・ブラウザ・アプリケーションのパフォーマンスを向上する方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2003364382A Expired - Lifetime JP3962369B2 (ja) 1996-02-15 2003-10-24 ウェブ・ブラウザ・アプリケーションのパフォーマンスを向上する方法及び装置

Country Status (16)

Country Link
US (2) US5754774A (ja)
EP (1) EP0823170B1 (ja)
JP (2) JP3953109B2 (ja)
KR (1) KR100289520B1 (ja)
CN (1) CN1148927C (ja)
AT (1) ATE196707T1 (ja)
CA (1) CA2218169C (ja)
CZ (1) CZ287988B6 (ja)
DE (1) DE69610495T2 (ja)
ES (1) ES2151176T3 (ja)
HK (1) HK1017789A1 (ja)
HU (1) HUP9801295A3 (ja)
MY (1) MY122038A (ja)
PL (1) PL180570B1 (ja)
TW (1) TW297194B (ja)
WO (1) WO1997030538A2 (ja)

Families Citing this family (342)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026452A (en) * 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
US20040264402A9 (en) * 1995-06-01 2004-12-30 Padcom. Inc. Port routing functionality
US6418324B1 (en) * 1995-06-01 2002-07-09 Padcom, Incorporated Apparatus and method for transparent wireless communication between a remote device and host system
US5754774A (en) * 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
JP3245425B2 (ja) * 1996-02-28 2002-01-15 グローバルメディアオンライン株式会社 広告等のメッセージを端末装置の利用者へ配信する通信システム
US6194992B1 (en) * 1997-04-24 2001-02-27 Nomadix, Llc Mobile web
US5859972A (en) * 1996-05-10 1999-01-12 The Board Of Trustees Of The University Of Illinois Multiple server repository and multiple server remote application virtual client computer
US5935207A (en) 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US6049820A (en) 1996-06-03 2000-04-11 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US6091518A (en) * 1996-06-28 2000-07-18 Fuji Xerox Co., Ltd. Image transfer apparatus, image transmitter, profile information transmitter, image receiver/reproducer, storage medium, image receiver, program transmitter, and image color correction apparatus
JP2924817B2 (ja) * 1996-09-13 1999-07-26 日本電気株式会社 情報サーバシステム
US6166734A (en) * 1996-10-01 2000-12-26 Diamond Multimedia Systems, Inc. Portable interactive graphics display tablet and communications system
US6052120A (en) * 1996-10-01 2000-04-18 Diamond Multimedia Systems, Inc. Method of operating a portable interactive graphics display tablet and communications systems
US6084584A (en) * 1996-10-01 2000-07-04 Diamond Multimedia Systems, Inc. Computer system supporting portable interactive graphics display tablet and communications systems
US5931904A (en) * 1996-10-11 1999-08-03 At&T Corp. Method for reducing the delay between the time a data page is requested and the time the data page is displayed
GB2320112B (en) * 1996-12-07 2001-07-25 Ibm High-availability computer server system
US6144990A (en) * 1996-12-23 2000-11-07 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
US6901425B1 (en) 1996-12-23 2005-05-31 International Business Machines Corporation Computer apparatus and method including a disconnect mechanism for communicating between software applications and computers on the world-wide web
US5898833A (en) * 1996-12-31 1999-04-27 Intel Corporation Method and apparatus for increasing the effective bandwidth of video sequences transmitted over a network by using cached data
US6456974B1 (en) * 1997-01-06 2002-09-24 Texas Instruments Incorporated System and method for adding speech recognition capabilities to java
US7020700B1 (en) * 1997-02-28 2006-03-28 International Business Machines Corporation Client side socks server for an internet client
US6057854A (en) * 1997-03-07 2000-05-02 Micrografx, Inc. System and method of providing interactive vector graphics over a network
US5948066A (en) * 1997-03-13 1999-09-07 Motorola, Inc. System and method for delivery of information over narrow-band communications links
US6073173A (en) * 1997-03-17 2000-06-06 International Business Machines Corporation Method and apparatus for optimal rebasing of web page transmission
US6182122B1 (en) * 1997-03-26 2001-01-30 International Business Machines Corporation Precaching data at an intermediate server based on historical data requests by users of the intermediate server
US5996016A (en) * 1997-04-15 1999-11-30 International Business Machines Corporation Reinitiation of bind calls for IP applications concurrently executing with alternate address
US6273622B1 (en) * 1997-04-15 2001-08-14 Flash Networks, Ltd. Data communication protocol for maximizing the performance of IP communication links
US5907678A (en) * 1997-05-07 1999-05-25 International Business Machines Corporation 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) * 1997-05-07 2000-05-09 International Business Machines Corporation Persistent cache synchronization and start up system
US6184996B1 (en) * 1997-06-18 2001-02-06 Hewlett-Packard Company Network printer with remote print queue control procedure
US5991760A (en) * 1997-06-26 1999-11-23 Digital Equipment Corporation Method and apparatus for modifying copies of remotely stored documents using a web browser
US6105028A (en) * 1997-06-26 2000-08-15 Digital Equipment Corporation Method and apparatus for accessing copies of documents using a web browser request interceptor
US6044418A (en) 1997-06-30 2000-03-28 Sun Microsystems, Inc. Method and apparatus for dynamically resizing queues utilizing programmable partition pointers
US6081512A (en) 1997-06-30 2000-06-27 Sun Microsystems, Inc. Spanning tree support in a high performance network device
US6081522A (en) 1997-06-30 2000-06-27 Sun Microsystems, Inc. System and method for a multi-layer network element
US6115378A (en) * 1997-06-30 2000-09-05 Sun Microsystems, Inc. Multi-layer distributed network element
US6044087A (en) 1997-06-30 2000-03-28 Sun Microsystems, Inc. Interface for a highly integrated ethernet network element
US6128666A (en) * 1997-06-30 2000-10-03 Sun Microsystems, Inc. Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine
US6016310A (en) 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US6049528A (en) 1997-06-30 2000-04-11 Sun Microsystems, Inc. Trunking ethernet-compatible networks
US7058720B1 (en) * 1997-06-30 2006-06-06 Microsoft Corporation Geographical client distribution methods, systems and computer program products
US6119196A (en) 1997-06-30 2000-09-12 Sun Microsystems, Inc. System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US6021132A (en) * 1997-06-30 2000-02-01 Sun Microsystems, Inc. Shared memory management in a switched network element
US6094435A (en) 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
US6246680B1 (en) 1997-06-30 2001-06-12 Sun Microsystems, Inc. Highly integrated multi-layer switch element architecture
JP2000501542A (ja) * 1997-07-01 2000-02-08 プログレス ソフトウェア コーポレイション ネットワーク・アプリケーション用のテスト及びデバッグツール
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US6058425A (en) * 1997-07-21 2000-05-02 International Business Machines Corporation Single server access in a multiple TCP/IP instance environment
US6324565B1 (en) * 1997-07-28 2001-11-27 Qwest Communications International Inc. Dynamically generated document cache system
DE69827638T2 (de) * 1997-08-06 2005-12-01 Tachyon, Inc., San Diego Verteiltes system und verfahren zum objektvorabholen
US5935212A (en) * 1997-08-07 1999-08-10 I-Planet, Inc. Connection-oriented session emulation
US6070184A (en) * 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
US6035324A (en) * 1997-08-28 2000-03-07 International Business Machines Corporation Client-side asynchronous form management
US6631424B1 (en) * 1997-09-10 2003-10-07 Fmr Corp. Distributing information using a computer
US20060193278A1 (en) 1997-10-15 2006-08-31 Wolfgang Theimer Mobile telephone for Internet applications
US6292835B1 (en) * 1997-11-26 2001-09-18 International Business Machines Corporation Network bandwidth and object obsolescence sensitive scheduling method and apparatus for objects distributed broadcasting
US6185617B1 (en) * 1997-11-26 2001-02-06 International Business Machines Corporation Construction and usage of a pre-warmed cache for client-server emulator
US6360257B1 (en) * 1998-01-30 2002-03-19 Telefonaktiebolaget L M Ericsson (Publ) Managing group IP addresses in mobile end stations
FI112897B (fi) 1998-03-03 2004-01-30 Nokia Corp Menetelmä tiedonsiirtoverkossa ja tiedonsiirtolaite
US6148340A (en) * 1998-04-30 2000-11-14 International Business Machines Corporation Method and system for differencing container files
US6343318B1 (en) 1998-05-29 2002-01-29 Palm, Inc. Method and apparatus for communicating information over low bandwidth communications networks
US7025209B2 (en) * 1998-05-29 2006-04-11 Palmsource, Inc. Method and apparatus for wireless internet access
EP1092186B1 (en) * 1998-05-29 2010-03-31 Access Systems Americas Inc. Method and apparatus for wireless internet access
US6185608B1 (en) * 1998-06-12 2001-02-06 International Business Machines Corporation Caching dynamic web pages
US6311221B1 (en) 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US6574618B2 (en) 1998-07-22 2003-06-03 Appstream, Inc. Method and system for executing network streamed application
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US20010044850A1 (en) 1998-07-22 2001-11-22 Uri Raz Method and apparatus for determining the order of streaming modules
US7127493B1 (en) 1998-08-20 2006-10-24 Gautier Taylor S Optimizing server delivery of content by selective inclusion of optional data based on optimization criteria
US6535509B2 (en) * 1998-09-28 2003-03-18 Infolibria, Inc. Tagging for demultiplexing in a network traffic server
US6321250B1 (en) 1998-10-01 2001-11-20 Ericsson Inc. Data communication system and method for transporting objects over a permanent connections
EP0993163A1 (en) 1998-10-05 2000-04-12 Backweb Technologies Ltd. Distributed client-based data caching system and method
US6397253B1 (en) 1998-10-06 2002-05-28 Bull Hn Information Systems Inc. Method and system for providing high performance Web browser and server communications
US8060656B2 (en) 1998-10-09 2011-11-15 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8078727B2 (en) 1998-10-09 2011-12-13 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6546425B1 (en) 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7136645B2 (en) * 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7778260B2 (en) * 1998-10-09 2010-08-17 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7293107B1 (en) * 1998-10-09 2007-11-06 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6230165B1 (en) * 1998-10-16 2001-05-08 Cerulean Method for encoding and transporting database objects over bandwidth constrained networks
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
EP1003114A1 (en) * 1998-11-17 2000-05-24 International Business Machines Corporation Method of interconnecting computers and computer network
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US6813640B1 (en) 1998-12-08 2004-11-02 Macrovision Corporation System and method for controlling the editing by user action of digital objects created in a document server application
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US6973300B1 (en) 1998-12-23 2005-12-06 Nortel Networks Limited Intelligent wireless terminal with virtual memory
US6266678B1 (en) * 1998-12-31 2001-07-24 Computer Associates Think, Inc. System and method for dynamically viewing contents of a data file
EP1166525A1 (en) * 1999-04-02 2002-01-02 Infolibria Inc. Connection pass-through to optimize server performance
US6484212B1 (en) 1999-04-20 2002-11-19 At&T Corp. Proxy apparatus and method for streaming media information
US6651103B1 (en) * 1999-04-20 2003-11-18 At&T Corp. Proxy apparatus and method for streaming media information and for increasing the quality of stored media information
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US6510458B1 (en) 1999-07-15 2003-01-21 International Business Machines Corporation Blocking saves to web browser cache based on content rating
US6430739B1 (en) * 1999-07-16 2002-08-06 Acceleration Software International Corporation Software execution contingent on home page setting
US6507891B1 (en) * 1999-07-22 2003-01-14 International Business Machines Corporation Method and apparatus for managing internal caches and external caches in a data processing system
US6658462B1 (en) 1999-08-26 2003-12-02 International Business Machines Corporation System, method, and program for balancing cache space requirements with retrieval access time for large documents on the internet
US7392308B2 (en) * 1999-09-10 2008-06-24 Ianywhere Solutions, Inc. System, method, and computer program product for placement of channels on a mobile device
US8595308B1 (en) 1999-09-10 2013-11-26 Ianywhere Solutions, Inc. System, method, and computer program product for server side processing in a mobile device environment
US20020052781A1 (en) * 1999-09-10 2002-05-02 Avantgo, Inc. Interactive advertisement mechanism on a mobile device
GB2371902B (en) 1999-09-10 2004-11-17 Avantgo Inc System, method, and computer program product for interactive interfacing with mobile devices
US20010047394A1 (en) * 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
US7987420B1 (en) 1999-09-10 2011-07-26 Ianywhere Solutions, Inc. System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices
US6757717B1 (en) * 1999-09-16 2004-06-29 Proxyconn, Inc. System and method for data access
US8108245B1 (en) 1999-09-17 2012-01-31 Cox Communications, Inc. Method and system for web user profiling and selective content delivery
US6877036B1 (en) * 1999-09-24 2005-04-05 Akamba Corporation System and method for managing connections between a client and a server
US6801927B1 (en) 1999-09-24 2004-10-05 Akamba Corporation Network adaptor card with reverse proxy and cache and method implemented therewith
US6308238B1 (en) 1999-09-24 2001-10-23 Akamba Corporation System and method for managing connections between clients and a server with independent connection and data buffers
FR2803706B1 (fr) * 1999-09-27 2002-03-08 Bull Cp8 Procede et architecture de pilotage a distance d'une station d'utilisateur via un reseau de type internet et leur application a un demonstrateur de carte a puce
US7089300B1 (en) * 1999-10-18 2006-08-08 Apple Computer, Inc. Method and apparatus for administering the operating system of a net-booted environment
US6721780B1 (en) 1999-11-09 2004-04-13 Fireclick, Inc. Predictive pre-download of network objects
US6864904B1 (en) * 1999-12-06 2005-03-08 Girafa.Com Inc. Framework for providing visual context to www hyperlinks
US6708217B1 (en) 2000-01-05 2004-03-16 International Business Machines Corporation Method and system for receiving and demultiplexing multi-modal document content
US6983315B1 (en) 2000-01-18 2006-01-03 Wrq, Inc. Applet embedded cross-platform caching
US7970898B2 (en) 2001-01-24 2011-06-28 Telecommunication Systems, Inc. System and method to publish information from servers to remote monitor devices
US7003571B1 (en) 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US7689696B2 (en) * 2000-01-31 2010-03-30 Telecommunication Systems, Inc. System and method for re-directing requests from browsers for communications over non-IP based networks
US8370435B1 (en) 2000-01-31 2013-02-05 Telecommunication Systems, Inc. System and method for servers to send alerts to connectionless devices
US7693981B2 (en) * 2001-01-24 2010-04-06 Telecommunication Systems, Inc. System and method to publish information from servers to remote monitor devices
US7418498B2 (en) * 2001-01-24 2008-08-26 Telecommunication Systems, Inc. System and method to publish information from servers to remote monitor devices
US6435164B1 (en) 2000-12-07 2002-08-20 Ford Global Technologies, Inc. Fuel weathering method for vehicle evaporative emission system
US8090856B1 (en) 2000-01-31 2012-01-03 Telecommunication Systems, Inc. Intelligent messaging network server interconnection
US7096418B1 (en) * 2000-02-02 2006-08-22 Persistence Software, Inc. Dynamic web page cache
US6820133B1 (en) 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US6947440B2 (en) 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
US7028251B2 (en) * 2000-03-02 2006-04-11 Iora, Ltd. System and method for reducing the size of data difference representations
US6789128B1 (en) * 2000-03-11 2004-09-07 Oracle International Corporation System and method for reducing network traffic between two computing devices
US7020719B1 (en) 2000-03-24 2006-03-28 Netli, Inc. System and method for high-performance delivery of Internet messages by selecting first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7187947B1 (en) 2000-03-28 2007-03-06 Affinity Labs, Llc System and method for communicating selected information to an electronic device
AUPQ653800A0 (en) * 2000-03-28 2000-04-20 Sharinga Networks Inc. A data delivery process
US6654794B1 (en) 2000-03-30 2003-11-25 International Business Machines Corporation Method, data processing system and program product that provide an internet-compatible network file system driver
US7194468B1 (en) 2000-04-13 2007-03-20 Worldlink Information Technology Systems Limited Apparatus and a method for supplying information
US8996705B2 (en) 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
US7043563B2 (en) 2000-04-17 2006-05-09 Circadence Corporation Method and system for redirection to arbitrary front-ends in a communication system
US20110128972A1 (en) 2000-04-17 2011-06-02 Randy Thornton Peer to peer dynamic network link acceleration
US7979880B2 (en) * 2000-04-21 2011-07-12 Cox Communications, Inc. Method and system for profiling iTV users and for providing selective content delivery
US7013340B1 (en) 2000-05-18 2006-03-14 Microsoft Corporation Postback input handling by server-side control objects
US6990526B1 (en) * 2000-05-22 2006-01-24 Pointred Technologies, Inc. Method and apparatus for web caching
US7062475B1 (en) * 2000-05-30 2006-06-13 Alberti Anemometer Llc Personalized multi-service computer environment
FR2811504B1 (fr) * 2000-07-06 2003-07-04 Centre Nat Etd Spatiales Dispositif serveur de realisation multi-utilisateur en libre-service et de diffusion d'emissions de television et reseau de television
FI20001617A (fi) * 2000-07-06 2002-01-07 Nokia Mobile Phones Ltd Tiedonsiirtomenetelmõ ja -jõrjestely
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
AU2001283464A1 (en) * 2000-08-31 2002-03-13 Padcom, Inc. Method and apparatus for routing data over multiple wireless networks
US6757894B2 (en) 2000-09-26 2004-06-29 Appstream, Inc. Preprocessed applications suitable for network streaming applications and method for producing same
US7051315B2 (en) 2000-09-26 2006-05-23 Appstream, Inc. Network streaming of multi-application program code
US7801978B1 (en) 2000-10-18 2010-09-21 Citrix Systems, Inc. Apparatus, method and computer program product for efficiently pooling connections between clients and servers
EP1399833B1 (en) 2000-11-20 2017-04-19 AT & T Mobility II, LLC Methods and systems for providing application level presence information in wireless communication
US20020196793A1 (en) * 2000-11-29 2002-12-26 Quikcat.Com, Inc. End-user communication systems access network
US7269784B1 (en) 2001-01-22 2007-09-11 Kasriel Stephane Server-originated differential caching
US7174305B2 (en) * 2001-01-23 2007-02-06 Opentv, Inc. Method and system for scheduling online targeted content delivery
US7195923B2 (en) * 2001-01-31 2007-03-27 Scripps Laboratories, Inc. Ratiometric determination of glycated protein
US7665115B2 (en) * 2001-02-02 2010-02-16 Microsoft Corporation Integration of media playback components with an independent timing specification
US20020138331A1 (en) * 2001-02-05 2002-09-26 Hosea Devin F. Method and system for web page personalization
US6963930B2 (en) * 2001-02-15 2005-11-08 Centric Software, Inc. Automatic transfer and expansion of application-specific data for display at a website
US6968553B1 (en) * 2001-03-01 2005-11-22 Alcatel Element manager common gateway architecture system and method
US7380250B2 (en) * 2001-03-16 2008-05-27 Microsoft Corporation Method and system for interacting with devices having different capabilities
US7185094B2 (en) * 2001-03-30 2007-02-27 Sandcherry, Inc. Media session framework using a control module to direct and manage application and service servers
US20020156900A1 (en) * 2001-03-30 2002-10-24 Brian Marquette Protocol independent control module
US20020184363A1 (en) * 2001-04-20 2002-12-05 Steven Viavant Techniques for server-controlled measurement of client-side performance
EP1564960B1 (en) * 2001-05-16 2007-03-28 Bytemobile, Inc. System and methods for providing differentiated services within a network communication system
US7031314B2 (en) * 2001-05-16 2006-04-18 Bytemobile, Inc. Systems and methods for providing differentiated services within a network communication system
US6965765B2 (en) * 2001-05-17 2005-11-15 Palmsource, Inc. Transactional message-queue communication for wirelessly networked devices system and method
AU2002308764A1 (en) * 2001-05-18 2002-12-03 Bytemobile, Inc. Dual mode service platform within network communication system
US7493397B1 (en) 2001-06-06 2009-02-17 Microsoft Corporation Providing remote processing services over a distributed communications network
US6915454B1 (en) 2001-06-12 2005-07-05 Microsoft Corporation Web controls validation
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7562146B2 (en) * 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
US7165112B2 (en) * 2001-06-22 2007-01-16 Motorola, Inc. Method and apparatus for transmitting data in a communication system
US7185063B1 (en) 2001-06-22 2007-02-27 Digital River, Inc. Content delivery network using differential caching
US20020198956A1 (en) * 2001-06-25 2002-12-26 International Business Machines Corporation Method and apparatus for managing a cache
EP2432190A3 (en) 2001-06-27 2014-02-19 SKKY Incorporated Improved media delivery platform
US7594001B1 (en) * 2001-07-06 2009-09-22 Microsoft Corporation Partial page output caching
US7092997B1 (en) 2001-08-06 2006-08-15 Digital River, Inc. Template identification with differential caching
US7188214B1 (en) 2001-08-07 2007-03-06 Digital River, Inc. Efficient compression using differential caching
US7822843B2 (en) * 2001-08-13 2010-10-26 Cox Communications, Inc. Predicting the activities of an individual or group using minimal information
US7099957B2 (en) * 2001-08-23 2006-08-29 The Directtv Group, Inc. Domain name system resolution
US7644171B2 (en) * 2001-09-12 2010-01-05 Netmotion Wireless, Inc. Mobile networking system and method using IPv4 and IPv6
WO2003032200A1 (en) * 2001-10-09 2003-04-17 Wildblue Communications, Inc. System and method for managing an exchange between a gateway server and a client-side module
US7000238B2 (en) * 2001-10-10 2006-02-14 Borland Software Corporation Development system providing extensible remoting architecture
JP2003205483A (ja) * 2001-11-07 2003-07-22 Sony Corp ロボットシステム及びロボット装置の制御方法
US7428725B2 (en) 2001-11-20 2008-09-23 Microsoft Corporation Inserting devices specific content
US20030106057A1 (en) * 2001-12-05 2003-06-05 Predictive Networks, Inc. Television navigation program guide
EP1318461A1 (en) * 2001-12-07 2003-06-11 Sap Ag Method and computer system for refreshing client-data
US7296051B1 (en) 2002-02-19 2007-11-13 Digital River, Inc. Predictive predownload of templates with delta encoding
US7487261B1 (en) 2002-02-22 2009-02-03 Digital River, Inc. Delta caching service
US7984157B2 (en) * 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7661129B2 (en) * 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US7263562B2 (en) * 2002-03-21 2007-08-28 Microsoft Corporation Method and system for describing uploaded files statement regarding federally-sponsored research or development
US20030182424A1 (en) * 2002-03-22 2003-09-25 Steve Odendahl Scriptable proxy server
US7111038B2 (en) * 2002-04-03 2006-09-19 International Business Machines Corporation Enhancing application server performance by relocating performance-degrading processing
EP1355238A1 (en) * 2002-04-19 2003-10-22 Sap Ag Method and computer system for delta-handling in server-pages
US7703015B2 (en) * 2002-04-30 2010-04-20 Sap Aktiengesellschaft Delta-handling in server-pages
WO2003096669A2 (en) * 2002-05-10 2003-11-20 Reisman Richard R Method and apparatus for browsing using multiple coordinated device
US6996584B2 (en) * 2002-05-14 2006-02-07 Pervasive Software, Inc. System and method of maintaining functional client side data cache coherence
US7434163B2 (en) * 2002-05-31 2008-10-07 Sap Aktiengesellschaft Document structures for delta handling in server pages
US9357013B2 (en) * 2002-07-26 2016-05-31 International Business Machines Corporation Client-side script to application communication system
US7765255B2 (en) * 2002-07-30 2010-07-27 Sap Ag Extended web infrastructure for business applications
US7941542B2 (en) 2002-09-06 2011-05-10 Oracle International Corporation Methods and apparatus for maintaining application execution over an intermittent network connection
US7912899B2 (en) 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US7243124B1 (en) 2002-09-06 2007-07-10 Oracle International Corporation Architecture for general purpose near real-time business intelligence system with client devices and methods therefor
US7272660B1 (en) 2002-09-06 2007-09-18 Oracle International Corporation Architecture for general purpose near real-time business intelligence system and methods therefor
US8255454B2 (en) 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US8165993B2 (en) 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US7412481B2 (en) 2002-09-16 2008-08-12 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US7454423B2 (en) 2002-09-06 2008-11-18 Oracle International Corporation Enterprise link for a software database
US7899879B2 (en) 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US7426059B2 (en) 2002-09-16 2008-09-16 Oracle International Corporation Data presentation methods and apparatus to facilitate printing and reviewing
US7401158B2 (en) * 2002-09-16 2008-07-15 Oracle International Corporation Apparatus and method for instant messaging collaboration
US7668917B2 (en) * 2002-09-16 2010-02-23 Oracle International Corporation Method and apparatus for ensuring accountability in the examination of a set of data elements by a user
US7730155B1 (en) * 2002-10-01 2010-06-01 Apple Inc. Method and apparatus for dynamically locating resources
US7574653B2 (en) 2002-10-11 2009-08-11 Microsoft Corporation Adaptive image formatting control
US8176186B2 (en) 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US7120666B2 (en) * 2002-10-30 2006-10-10 Riverbed Technology, Inc. Transaction accelerator for client-server communication systems
US8069225B2 (en) * 2003-04-14 2011-11-29 Riverbed Technology, Inc. Transparent client-server transaction accelerator
US8364815B2 (en) 2005-03-18 2013-01-29 Riverbed Technology, Inc. Reliability and availability of distributed servers
US6667700B1 (en) 2002-10-30 2003-12-23 Nbt Technology, Inc. Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation
US7650416B2 (en) 2003-08-12 2010-01-19 Riverbed Technology Content delivery for client-server protocols with user affinities using connection end-point proxies
KR100724511B1 (ko) * 2002-11-15 2007-06-07 인터내셔널 비지네스 머신즈 코포레이션 피어-투-피어 환경에서의 네트워크 트래픽 제어
JP2004240650A (ja) * 2003-02-05 2004-08-26 Brother Ind Ltd 通信システム、スイッチ操作部材、端末装置およびプログラム
US20040170181A1 (en) * 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
US7904823B2 (en) * 2003-03-17 2011-03-08 Oracle International Corporation Transparent windows methods and apparatus therefor
WO2004088457A2 (en) * 2003-03-25 2004-10-14 Sedna Patent Services, Llc Generating audience analytics
US7113964B1 (en) 2003-06-05 2006-09-26 Iteration Software, Inc. Method and apparatus for archiving data in a relational database system
US7359395B2 (en) * 2003-06-16 2008-04-15 Packeteer, Inc. Pre-fetch communication systems and methods
US7882510B2 (en) * 2003-08-06 2011-02-01 Microsoft Corporation Demultiplexer application programming interface
US7853699B2 (en) * 2005-03-15 2010-12-14 Riverbed Technology, Inc. Rules-based transaction prefetching using connection end-point proxies
US7873353B2 (en) * 2003-09-30 2011-01-18 Ianywhere Solutions, Inc. Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices
US7472254B2 (en) * 2003-10-10 2008-12-30 Iora, Ltd. Systems and methods for modifying a set of data objects
US7774774B1 (en) * 2003-10-22 2010-08-10 Apple Inc. Software setup system
US7441011B2 (en) * 2003-10-23 2008-10-21 Microsoft Corporation Truth on client persistent caching
US20050091226A1 (en) * 2003-10-23 2005-04-28 Yun Lin Persistent caching directory level support
US7890604B2 (en) 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US9026578B2 (en) 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
US7464386B2 (en) 2004-05-17 2008-12-09 Microsoft Corporation Data controls architecture
US8135803B2 (en) * 2004-08-23 2012-03-13 Ianywhere Solutions, Inc. Method, system, and computer program product for offline advertisement servicing and cycling
US20060064470A1 (en) * 2004-09-23 2006-03-23 Sargent Antony J Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors
US20060078127A1 (en) * 2004-10-08 2006-04-13 Philip Cacayorin Dispersed data storage using cryptographic scrambling
US7908397B1 (en) 2005-02-28 2011-03-15 Adobe Systems Incorporated Application server gateway technology
US20060248194A1 (en) 2005-03-18 2006-11-02 Riverbed Technology, Inc. Connection forwarding
US20060224702A1 (en) * 2005-03-31 2006-10-05 Patrick Schmidt Local workflows in a business process management system
US9692725B2 (en) * 2005-05-26 2017-06-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US8943304B2 (en) 2006-08-03 2015-01-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
WO2007016236A2 (en) 2005-07-28 2007-02-08 Riverbed Technology, Inc. Automatic framing selection
US8171238B1 (en) 2007-07-05 2012-05-01 Silver Peak Systems, Inc. Identification of data stored in memory
US8370583B2 (en) * 2005-08-12 2013-02-05 Silver Peak Systems, Inc. Network memory architecture for providing data based on local accessibility
US8095774B1 (en) 2007-07-05 2012-01-10 Silver Peak Systems, Inc. Pre-fetching data into a memory
US8392684B2 (en) 2005-08-12 2013-03-05 Silver Peak Systems, Inc. Data encryption in a network memory architecture for providing data based on local accessibility
US8811431B2 (en) 2008-11-20 2014-08-19 Silver Peak Systems, Inc. Systems and methods for compressing packet data
US8489562B1 (en) 2007-11-30 2013-07-16 Silver Peak Systems, Inc. Deferred data storage
US8929402B1 (en) 2005-09-29 2015-01-06 Silver Peak Systems, Inc. Systems and methods for compressing packet data by predicting subsequent data
US7805670B2 (en) * 2005-12-16 2010-09-28 Microsoft Corporation Partial rendering of web pages
US7924884B2 (en) 2005-12-20 2011-04-12 Citrix Systems, Inc. Performance logging using relative differentials and skip recording
US20070203973A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Fuzzing Requests And Responses Using A Proxy
CN101043522B (zh) * 2006-03-22 2013-11-13 腾讯科技(深圳)有限公司 一种基于Web服务器的通信方法及系统
US8140618B2 (en) * 2006-05-04 2012-03-20 Citrix Online Llc Methods and systems for bandwidth adaptive N-to-N communication in a distributed system
US8463843B2 (en) * 2006-05-26 2013-06-11 Riverbed Technology, Inc. Throttling of predictive ACKs in an accelerated network communication system
US7769834B2 (en) 2006-05-30 2010-08-03 Riverbed Technology, Inc. System for selecting a proxy pair based on configurations of autodiscovered proxies on a network
KR100765785B1 (ko) * 2006-06-05 2007-10-12 삼성전자주식회사 무선 usb를 이용한 단일 무선장치와 다수의 호스트 간의접속 방법 및 시스템
US20070300243A1 (en) * 2006-06-22 2007-12-27 Sap Portals Israel Ltd. Modular caching method and system for enabling offline functionality of server-client systems
US7941560B1 (en) * 2006-07-14 2011-05-10 Intuit Inc. Client caching of target addresses for network requests
US8755381B2 (en) * 2006-08-02 2014-06-17 Silver Peak Systems, Inc. Data matching using flow based packet data storage
US8885632B2 (en) 2006-08-02 2014-11-11 Silver Peak Systems, Inc. Communications scheduler
US8312120B2 (en) * 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
US8493858B2 (en) 2006-08-22 2013-07-23 Citrix Systems, Inc Systems and methods for providing dynamic connection spillover among virtual servers
TR200606833A2 (tr) * 2006-12-01 2007-10-22 B�Lmed B�Lg�Sayar Ve Yazilim A.�. Web tarayıcı tabanlı uygulamalarda performans arttırma yöntemi
US7733910B2 (en) * 2006-12-29 2010-06-08 Riverbed Technology, Inc. Data segmentation using shift-varying predicate function fingerprinting
CN101242337B (zh) * 2007-02-08 2010-11-10 张永敏 一种计算机网络的内容发布方法及系统
US8533310B2 (en) * 2007-03-09 2013-09-10 Riverbed Technology, Inc. Method and apparatus for acceleration by prefetching associated objects
CN101272442B (zh) * 2007-03-21 2010-05-26 杭州波导软件有限公司 数字图像无损压缩方法和装置、解析方法及图像译码器
US9930099B2 (en) * 2007-05-08 2018-03-27 Riverbed Technology, Inc. Hybrid segment-oriented file server and WAN accelerator
US20090097470A1 (en) * 2007-10-12 2009-04-16 Collier David S Methods and systems for communicating data
US8190876B2 (en) * 2007-11-19 2012-05-29 Red Hat, Inc. Renegotiating SSL/TLS connections with client certificates on post requests
US8307115B1 (en) * 2007-11-30 2012-11-06 Silver Peak Systems, Inc. Network memory mirroring
US8635361B2 (en) * 2007-12-03 2014-01-21 Riverbed Technology, Inc. Transaction acceleration using application-specific locking
US8775550B2 (en) * 2008-02-08 2014-07-08 Microsoft Corporation Caching HTTP request and response streams
US8442052B1 (en) 2008-02-20 2013-05-14 Silver Peak Systems, Inc. Forward packet recovery
US8463941B1 (en) * 2008-06-16 2013-06-11 Riverbed Technology, Inc. Cross-session protocol acceleration and its application to storage area network file systems
US10805840B2 (en) 2008-07-03 2020-10-13 Silver Peak Systems, Inc. Data transmission via a virtual wide area network overlay
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US10164861B2 (en) 2015-12-28 2018-12-25 Silver Peak Systems, Inc. Dynamic monitoring and visualization for network health characteristics
US8743683B1 (en) 2008-07-03 2014-06-03 Silver Peak Systems, Inc. Quality of service using multiple flows
US8793398B2 (en) * 2008-08-29 2014-07-29 Red Hat, Inc. Facilitating client server interaction
US8793339B2 (en) * 2008-08-29 2014-07-29 Red Hat, Inc. Facilitating client server interaction
US8925034B1 (en) 2009-06-30 2014-12-30 Symantec Corporation Data protection requirements specification and migration
US8352937B2 (en) * 2009-08-03 2013-01-08 Symantec Corporation Streaming an application install package into a virtual environment
US8387047B1 (en) 2009-08-03 2013-02-26 Symantec Corporation Method of virtualizing file extensions in a computer system by determining an association between applications in virtual environment and a file extension
US8090744B1 (en) 2009-08-26 2012-01-03 Symantec Operating Corporation Method and apparatus for determining compatibility between a virtualized application and a base environment
US8473444B1 (en) 2009-08-28 2013-06-25 Symantec Corporation Management of actions in multiple virtual and non-virtual environments
US8438555B1 (en) 2009-08-31 2013-05-07 Symantec Corporation Method of using an encapsulated data signature for virtualization layer activation
US8458310B1 (en) 2009-09-14 2013-06-04 Symantec Corporation Low bandwidth streaming of application upgrades
US8566297B1 (en) 2010-01-14 2013-10-22 Symantec Corporation Method to spoof data formats from image backups
US8290912B1 (en) 2010-01-29 2012-10-16 Symantec Corporation Endpoint virtualization aware backup
US8707296B2 (en) 2010-04-27 2014-04-22 Apple Inc. Dynamic retrieval of installation packages when installing software
US10142157B2 (en) 2010-06-10 2018-11-27 Blackberry Limited Method and system for reducing transmission of redundant data
US8495625B1 (en) 2010-07-27 2013-07-23 Symantec Corporation Method and system for creation of streamed files on-demand
WO2012106573A1 (en) * 2011-02-04 2012-08-09 Opnet Technologies, Inc. Correlating input and output requests between client and server components in a multi-tier application
US9094090B2 (en) 2011-09-23 2015-07-28 Gilat Satellite Networks Ltd. Decentralized caching system
US9130991B2 (en) 2011-10-14 2015-09-08 Silver Peak Systems, Inc. Processing data packets in performance enhancing proxy (PEP) environment
US9626224B2 (en) 2011-11-03 2017-04-18 Silver Peak Systems, Inc. Optimizing available computing resources within a virtual environment
US9084058B2 (en) 2011-12-29 2015-07-14 Sonos, Inc. Sound field calibration using listener localization
US20130212227A1 (en) * 2012-02-09 2013-08-15 Cogent Real-Time Systems Inc. System and method for streaming data via http
WO2013119253A2 (en) 2012-02-10 2013-08-15 Empire Technology Development Llc Monitoring connection quality
US9106192B2 (en) 2012-06-28 2015-08-11 Sonos, Inc. System and method for device playback calibration
US9219460B2 (en) 2014-03-17 2015-12-22 Sonos, Inc. Audio settings based on environment
US9542172B2 (en) 2013-02-05 2017-01-10 Apple Inc. Automatic updating of applications
US9880776B1 (en) 2013-02-22 2018-01-30 Veritas Technologies Llc Content-driven data protection method for multiple storage devices
JP6088853B2 (ja) * 2013-02-27 2017-03-01 株式会社東芝 通信装置、通信方法および通信プログラム
US9264839B2 (en) 2014-03-17 2016-02-16 Sonos, Inc. Playback device configuration based on proximity detection
US9613158B1 (en) * 2014-05-13 2017-04-04 Viasat, Inc. Cache hinting systems
US9948496B1 (en) 2014-07-30 2018-04-17 Silver Peak Systems, Inc. Determining a transit appliance for data traffic to a software service
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US9952825B2 (en) 2014-09-09 2018-04-24 Sonos, Inc. Audio processing algorithms
CN105491078B (zh) * 2014-09-15 2019-01-22 阿里巴巴集团控股有限公司 Soa系统中的数据处理方法及装置、soa系统
EP3012739A1 (en) 2014-10-20 2016-04-27 TISOFT Wojciech Jedrzejewski System for synchronizing web browsers
JP6437695B2 (ja) 2015-09-17 2018-12-12 ソノズ インコーポレイテッド オーディオ再生デバイスのキャリブレーションを容易にする方法
US9693165B2 (en) 2015-09-17 2017-06-27 Sonos, Inc. Validation of audio calibration using multi-dimensional motion check
US9743207B1 (en) 2016-01-18 2017-08-22 Sonos, Inc. Calibration using multiple recording devices
US11106423B2 (en) 2016-01-25 2021-08-31 Sonos, Inc. Evaluating calibration of a playback device
US10003899B2 (en) 2016-01-25 2018-06-19 Sonos, Inc. Calibration with particular locations
US9864574B2 (en) 2016-04-01 2018-01-09 Sonos, Inc. Playback device calibration based on representation spectral characteristics
US9860662B2 (en) 2016-04-01 2018-01-02 Sonos, Inc. Updating playback device configuration information based on calibration data
US9763018B1 (en) 2016-04-12 2017-09-12 Sonos, Inc. Calibration of audio playback devices
US10432484B2 (en) 2016-06-13 2019-10-01 Silver Peak Systems, Inc. Aggregating select network traffic statistics
US9794710B1 (en) 2016-07-15 2017-10-17 Sonos, Inc. Spatial audio correction
US10372406B2 (en) 2016-07-22 2019-08-06 Sonos, Inc. Calibration interface
US10459684B2 (en) 2016-08-05 2019-10-29 Sonos, Inc. Calibration of a playback device based on an estimated frequency response
US9967056B1 (en) 2016-08-19 2018-05-08 Silver Peak Systems, Inc. Forward packet recovery with constrained overhead
US10361997B2 (en) 2016-12-29 2019-07-23 Riverbed Technology, Inc. Auto discovery between proxies in an IPv6 network
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
US10257082B2 (en) 2017-02-06 2019-04-09 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows
US11044202B2 (en) 2017-02-06 2021-06-22 Silver Peak Systems, Inc. Multi-level learning for predicting and classifying traffic flows from first packet data
US10771394B2 (en) 2017-02-06 2020-09-08 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows on a first packet from DNS data
US11212210B2 (en) 2017-09-21 2021-12-28 Silver Peak Systems, Inc. Selective route exporting using source type
CN110663173B (zh) 2017-10-04 2023-09-19 谷歌有限责任公司 基于房间特性自动均衡音频输出的方法和系统
KR102274055B1 (ko) * 2017-12-26 2021-07-06 삼성에스디에스 주식회사 메시지 시스템 및 애플리케이션 활성화 방법과 이를 수행하기 위한 사용자 단말
US10637721B2 (en) 2018-03-12 2020-04-28 Silver Peak Systems, Inc. Detecting path break conditions while minimizing network overhead
US11206484B2 (en) 2018-08-28 2021-12-21 Sonos, Inc. Passive speaker authentication
US10299061B1 (en) 2018-08-28 2019-05-21 Sonos, Inc. Playback device calibration
US10868892B1 (en) * 2019-05-31 2020-12-15 Micro Focus Llc Replacement code implementing full-duplex communication channel protocol for message interception
US10734965B1 (en) 2019-08-12 2020-08-04 Sonos, Inc. Audio calibration of a portable playback device
US11968417B2 (en) * 2021-12-30 2024-04-23 Comcast Cable Communications, Llc Systems, methods, and apparatuses for buffer management

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4438511A (en) * 1980-11-10 1984-03-20 Telebit Corporation Packetized ensemble modem
US5021949A (en) * 1988-02-29 1991-06-04 International Business Machines Corporation Method and apparatus for linking an SNA host to a remote SNA host over a packet switched communications network
US4893307A (en) * 1988-02-29 1990-01-09 International Business Machines Corporation Method and apparatus for linking SNA terminals to an SNA host over a packet switched communications network
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
US5220501A (en) * 1989-12-08 1993-06-15 Online Resources, Ltd. Method and system for remote delivery of retail banking services
JP2511591B2 (ja) * 1990-10-29 1996-06-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 無線光通信システムの動作方法および光通信システム
US5224098A (en) * 1991-07-17 1993-06-29 International Business Machines Corporation Compensation for mismatched transport protocols in a data communications network
US5481721A (en) * 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
DE4131133B4 (de) * 1991-09-19 2005-09-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Austausch von Daten in Datenverarbeitungsanlagen
US5442633A (en) * 1992-07-08 1995-08-15 International Business Machines Corporation Shortcut network layer routing for mobile hosts
US5737536A (en) * 1993-02-19 1998-04-07 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5511208A (en) * 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
JPH06324928A (ja) * 1993-05-14 1994-11-25 Mitsubishi Electric Corp ログ生成装置とファイルの異なるバージョンの調停のための装置及び異なる場所にあるコンピュータファイルの異なるバージョンを調停するための装置
US5446736A (en) * 1993-10-07 1995-08-29 Ast Research, Inc. Method and apparatus for connecting a node to a wireless network using a standard protocol
US5412654A (en) * 1994-01-10 1995-05-02 International Business Machines Corporation Highly dynamic destination-sequenced destination vector routing for mobile computers
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US5572528A (en) * 1995-03-20 1996-11-05 Novell, Inc. Mobile networking method and apparatus
US5581558A (en) * 1995-03-29 1996-12-03 Lucent Technologies Inc. Apparatus for bridging non-compatible network architectures
US5829023A (en) * 1995-07-17 1998-10-27 Cirrus Logic, Inc. Method and apparatus for encoding history of file access to support automatic file caching on portable and desktop computers
US5850517A (en) * 1995-08-31 1998-12-15 Oracle Corporation Communication link for client-server having agent which sends plurality of requests independent of client and receives information from the server independent of the server
US5737619A (en) * 1995-10-19 1998-04-07 Judson; David Hugh World wide web browsing with content delivery over an idle connection and interstitial content display
US5754774A (en) * 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
US5878213A (en) * 1996-02-15 1999-03-02 International Business Machines Corporation Methods, systems and computer program products for the synchronization of time coherent caching system
US5867661A (en) * 1996-02-15 1999-02-02 International Business Machines Corporation 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
US5859971A (en) * 1996-02-15 1999-01-12 International Business Machines Corp. Differencing client/server communication system for use with CGI forms
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
JPH09270794A (ja) * 1996-03-29 1997-10-14 Mitsubishi Electric Corp ネットワーク管理装置
US5764910A (en) * 1996-04-02 1998-06-09 National Semiconductor Corporation Method and apparatus for encoding and using network resource locators
US5857201A (en) * 1996-06-18 1999-01-05 Wright Strategies, Inc. Enterprise connectivity to handheld devices
US5870558A (en) * 1996-06-25 1999-02-09 Mciworldcom, Inc. Intranet graphical user interface for SONET network management
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network

Also Published As

Publication number Publication date
PL180570B1 (pl) 2001-02-28
EP0823170B1 (en) 2000-09-27
CN1148927C (zh) 2004-05-05
US6003087A (en) 1999-12-14
EP0823170A2 (en) 1998-02-11
CZ287988B6 (cs) 2001-03-14
CA2218169C (en) 2004-12-14
ES2151176T3 (es) 2000-12-16
CZ354297A3 (cs) 1998-03-18
KR100289520B1 (ko) 2001-05-02
JP2004164630A (ja) 2004-06-10
HUP9801295A2 (hu) 1998-08-28
HK1017789A1 (en) 1999-11-26
HUP9801295A3 (en) 1998-10-28
MY122038A (en) 2006-03-31
WO1997030538A2 (en) 1997-08-21
CN1195443A (zh) 1998-10-07
JP3962369B2 (ja) 2007-08-22
KR19980703861A (ko) 1998-12-05
DE69610495D1 (de) 2000-11-02
US5754774A (en) 1998-05-19
TW297194B (en) 1997-02-01
CA2218169A1 (en) 1997-08-21
JP3953109B2 (ja) 2007-08-08
WO1997030538A3 (en) 1998-04-30
ATE196707T1 (de) 2000-10-15
PL327294A1 (en) 1998-12-07
DE69610495T2 (de) 2001-05-10

Similar Documents

Publication Publication Date Title
JPH11500895A (ja) クライアント/サーバ通信システム
JP3491011B2 (ja) 差分化通信システム
JPH11502047A (ja) 時間コヒーレント・キャッシュ・システム
JPH11514117A (ja) オーバヘッドの少ないtcp通信システム
US6374305B1 (en) Web applications interface system in a mobile-based client-server system
US20120226782A1 (en) Method and apparatus for communications over low bandwidth communications networks
CZ354197A3 (cs) Způsob zachycování dat přijatých od druhé aplikace, zařízení a počítačový programový produkt k jeho provádění

Legal Events

Date Code Title Description
A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20031225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040127

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070314

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070413

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070424

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

EXPY Cancellation because of completion of term