[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3774807B2 - 分散型システムとオブジェクトをプレフェッチする方法 - Google Patents

分散型システムとオブジェクトをプレフェッチする方法 Download PDF

Info

Publication number
JP3774807B2
JP3774807B2 JP2000506758A JP2000506758A JP3774807B2 JP 3774807 B2 JP3774807 B2 JP 3774807B2 JP 2000506758 A JP2000506758 A JP 2000506758A JP 2000506758 A JP2000506758 A JP 2000506758A JP 3774807 B2 JP3774807 B2 JP 3774807B2
Authority
JP
Japan
Prior art keywords
client
request
component
document
inline
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.)
Expired - Fee Related
Application number
JP2000506758A
Other languages
English (en)
Other versions
JP2001513600A (ja
Inventor
ブルース エル. カーニール
ラム エー. フィッシュ
ジェレミー グラルニック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tachyon Inc
Original Assignee
Tachyon Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21993896&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3774807(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Tachyon Inc filed Critical Tachyon Inc
Publication of JP2001513600A publication Critical patent/JP2001513600A/ja
Application granted granted Critical
Publication of JP3774807B2 publication Critical patent/JP3774807B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18582Arrangements for data linking, i.e. for data framing, for error recovery, for multiple access
    • 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
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)
  • Radio Relay Systems (AREA)

Description

【0001】
(技術分野)
本発明は、データ転送に関する。特に、デジタルネットワークを使ったデジタルデータ転送に関する。
【0002】
(背景技術)
インターネットの発達は、多くの会社と個人に、インターネットの存在感を感じさせてきた。例えば、企業は、自社の製品とサービスに関するウェブページを作り、ユーザが注文を出せるようにした。ユーザは、コンピューター上のウェブブラウザソフトを使って、ウェブサーバからウェブページにアクセスできる。ウェブページ上では、同じサイトまたは他のウェブサイトで他の情報にリンクできる。
【0003】
図1は、インターネットの接続を示すブロックダイアグラムである。ユーザは、ブラウザ20からファイルリクエストを出す。ウェブブラウザ20は、パソコン、ネットワーク端末、またはウェブブラウザソフトが実行できる他の方式の端末で構成される。リクエストは、インターネット24のルーター22A−22Nを通過する。ルーター22A−22Nは、リクエストの内容を調べずに、アドレスヘッダーに従って、ウェブサーバ26にリクエストを送るだけである。ウェブサーバ26は、リクエストの内容を調べて、リクエストされたファイルに応答する。
【0004】
ユーザがインターネット上の情報にアクセスしたいときは、ウェブブラウザ内の均一リソースロケーター(URL)に入る。URLは、基本的にオブジェクトの場所を示すポインターである。例えば、http:\\www.internic.net. \rfc\rfc1738.txtは、均一リソースロケーターを説明するRFC(Request For Comment)文を指すURLアドレスである。URL内において、httpは、Hyper Text Transfer Protocol(HTTP)プロトコルを使って、サイトにアクセスするということを示している。ダブルバックスラッシュは、www. internic.netのようなホスト名がつぎに来ることを示している。シングルバックスラッシュは、ディレクトリーかファイル名が続くことを示している。この場合、rfcは、ディレクトリーであり、rfc1738.txtは、このURLが、ウェブブラウザ20によってリクエストされているときに表示されるディレクトリーのなかのファイルである。
【0005】
ワールドワイドウェブ(World Wide Web)は、インターネットのトップに作られる。HTTPは、ワールドワイドウェブ上で、もっとも普通に使われるクライアントサーバプロトコルである。HTTPは、クライアントとサーバの間の通信を設定し、2つのシステム間に命令とファイルを送るのに使う。
【0006】
HTTPは、ウェブブラウザがウェブサーバにアクセスし、Hyper Text Makeup Language(HTML)を使って作ったドキュメントをリクエストする方法を提供する。HTMLによるウェブページは、画像、サウンドクリップ、テキストファイルおよびその他のタイプのファイルを含むことができる。オブジェクトのなかには、ウェブブラウザ20によってリクエストされた元のHTML親ファイル(エウブドキュメントの基本コンポーネント)の一部でないものもある。その代わり、HTML親ファイルは、これらのインラインオブジェクト(サーバ上に別のデータファイルの形で存在する)に対するリファレンスを含む。ユーザが、ウェブブラウザ上のHTML親ファイルを呼び出すと、インラインオブジェクトも呼び出され、表示されたドキュメントのなかに挿入される。このようにして、HTMLドキュメント(またはページ)は、実際にサウンド、グラフィックス、および親ファイルで決まるマルティメディアインラインオブジェクトとともにHTML親ファイルで構成される。例えば、インラインオブジェクトは、広告用のバナー、スライダー、ビュレットリスト、グラフィックイメージ、サウンドクリップなどを含む。
【0007】
図2は、ウェブブラウザ20へのデータ転送またはウェブブラウザからのデータ転送を示すタイミングを表わすダイアグラムである。図2において、時間は、左から右に進む。上向きの矢印は、ウェブブラウザ20からウェブサーバ26に向かって出るメッセージを示す。下向きの矢印は、ウェブサーバから出て、ウェブブラウザで受ける入りのメッセージを示す。見て直ぐ分かるように、入りのメッセージと出のメッセージは、それぞれすぐに転送されるように見える。実行の際は、各メッセージの転送には、認識できる程度の時間を必要とするのが普通である。
【0008】
出されるメッセージ30は、最初のURLリクエストを運ぶ。それに応えて、入りのメッセージ32は、メッセージ30で出されたリクエストに応える最初の部分を運んでくる。入りのメッセージ34と36は、リクエストに対する第二、第三の応答に対応する。
【0009】
ここでは、入りのメッセージ32は、インラインオブジェクトに対するリファレンスを含むと仮定する。ウェブブラウザ20は、入ってくる情報を調べ、それに応えてインラインオブジェクトに対するリクエストを出すメッセージ38を送る。ここでは、説明のために、インラインオブジェクトは、サウンドクリップであると仮定する。
【0010】
出のメッセージ38に従って、ウェブブラウザ20は、出のメッセージ30によって出された最初のリクエストに対応する追加情報を含む入メッセージ40を受ける。最初のリクエストに対応する入りメッセージを受け入れた後、ウェブブラウザ20は、入りメッセージ42のなかに含まれるサウンドクリップを受け始める。ウェブブラウザ20は、入りメッセージ44の中にサウンドクリップに関する情報を受け続ける。
【0011】
入りメッセージ42は、広告バナーであるオブジェクトに対する外部からのリファレンス情報を含むと仮定する。出のメッセージ46は、広告バナーに対するリクエストを出す。出のメッセージ46に従って、ウェブブラウザ20は、入りのメッセージ48とサウンドクリップに対応する追加情報を含む入りのメッセージ50を受ける。最後は、ウェブブラウザ20は、入りのメッセージ52の中に広告バナーに関する情報を受ける。
【0012】
ウェブブラウザ20が、ウェブサーバ26からの情報をリクエストするたびに、遅れがでる。例えば、出のメッセージ30とそれに対応する入りのメッセージ32の間に、時間の遅れΔT1Aが出ることがわかる。遅れには、2つの主なコンポーネントがある。(1)ウェブサーバとの接続に係わるラウンドトリップディレイ、(2)ウェブサーバの応答時間である。図2の例では、インラインオブジェクトの転送が、前にリクエストされたオブジェクトと親ファイルの転送のために遅れ、その結果、ΔT2AとΔT3Aは、ΔT1Aより大きい。
【0013】
下記にもっと詳しく説明されているように、HTTPプロトコルは、ウェブブラウザに対して親ファイルを調べて、インラインオブジェクトに対する別のリクエストを出すように要求するので、かなりの遅れを出すリンクを導入すると、ウェブページをフルに呼び出して、表示させるのに大変時間がかかる。例えば、ユーザのインターネットへのアクセスチャンネルが、サテライトリンクを含んでいる場合は、インラインオブジェクトを1個しか含んでいないウェブページを呼び出すのに必要な時間は、サテライトリンクのラウンドトリップディレイの少なくとも2倍である。さらに、インラインオブジェクトを別にリクエストする必要がある場合は、通信用リンク上に不必要な情報が走る。本発明は、HTTPプロトコルを変えることなく、これらの問題の解決策を得ようとするものである。
チェン ワン( Zheng Wang )及びジュン クロウクラフト( Jun Crowcroft )らによる、ワールドワイドウェブ内でのプレフェッチ、 Globalcom 1996 Global Internet 1996 の、 1996 11 18 日の会議資料の 28 から 32 ページの“ワン”は、クライアントは、ローカルキャッシングプロキシを使って、ウェブページのプレフェッチとキャッシングを始めたと明らかにした。キャシングプロキシは、手助けするウェブブラウザに対しては、無防備であり、そして、HTTPプロトコルの変更を要求しない。ワンは、またブラウザとプロキシサーバの間にある別のコンポーネントを使って、どちらが、ブラウザに対してウェブページをプレフェッチするように命令を出すかを明らかにしている。さらに、ワンは、サーバ主導のプレフェッチの開始の可能性に着目しているが、サーバは、現在のHTTPプロトコルの拡張とクライアントサーバソフトウエアの変更を求めるであろうと結論付けている。
ワン (Wang) のクライアント主導のプレフェッチ技術は、サテライトリンクのような待ち時間の比較的長いリンク上でのインラインオブジェクトの呼び出しの問題に対する十分な解決策とはならない。例えば、ワンのキャッシングプロキシを使って、サテライトリンク上で、インラインオブジェクトをプレフェッチすると、インラインオブジェクトは、親(HTML)ファイルがサテライトリンクのクライアント側に着くまでは、リクエストされない。オブジェクトリクエストメッ セージは、そのときサテライトリンクを前方(クライアントからサーバに)に横切らなければならない。そして、インラインオブジェクトは、その後、反対方向にサテライトリンクを横切らなければならない。このようにして、一度親ファイルが、サテライトリンクのクライアント側に着くと、サテライトリンクのラウンドトリップ遅れが、インラインオブジェクトが、ブラウザに着く前に、再度(通常のプレフェッチを使わないときのように)起こる。
【0014】
(発明の開示)
本発明は、分散型システムとドキュメントのインラインオブジェクトをプレフェッチする方法を提供することにより、上記の問題を解決する。実施例において、システムは、サテライトリンクを含むインターネットアクセスシステムの中で使うための分散型プロキシサーバの形で存在する。分散型プロキシサーバは、サテライトリンクのクライアント(ブラウザ)側で動き、ウェブブラウザと通信するアクセスポイントコンポーネントを含み、さらに、サテライトリンクのインターネット(ウェブサーバ)側で走り、ウェブサーバと通信するサテライトゲートウェイコンポーネントを含む。操作においては、ウェブサーバが、ユーザからリクエストされているウェブページの親ファイルを返すと、サテライトゲートウェイコンポーネントは、親ファイルを分析して、インラインオブジェクトに対するリファレンスのすべてを識別し、これらのオブジェクトをウェブサーバからプレフェッチする。このようにして、オブジェクトは、ブラウザが、親ファイルを受け、インラインオブジェクトに対するリクエストを出すのを待つことなしに、リクエストされる。
【0015】
サテライトゲートウェイは、サテライトリンク上でプレフェッチされたオブジェクトを、アクセスポイントコンポーネントに送ると、アクセスポイントコンポーネントは、ブラウザが、リクエストするまでインラインオブジェクトをキャッシュする。アクセスポイントコンポーネントが、キャッシュの中にあるオブジェクトに対するリクエストを受けると、アクセスポイントコンポーネントは、サテライトリンク上にオブジェクトリクエストを伝えることなく、オブジェクトを返す。このようにして、分散型プロキシサーバは、インラインオブジェクトに対するリクエストに係わる遅れを減らし、サテライトリンク上を走る情報の量を減らす。
【0016】
実施例のシステムは、サテライトリンクと関連しながら動くが、基礎的な方法とアーキテクチャを使えば、有線リンクを含む他のリンク上でもパフォーマンスは上げることができる。さらに、実施例は、HTTPを使ったシステムで動くが、本発明インラインオブジェクトが基本コンポーネントと別にリクエストされる他のタイプのドキュメント呼び出しプロトコルとともに使うこともできる。
【0017】
本発明では、ドキュメントのインラインオブジェクトがリクエストされ、ドキュメントの基本コンポーネントとは別に呼び出される、クライアントサーバタイプのドキュメント呼び出しシステムにおいて、通信接続によって起こるパフォーマンスの低下を減らすための分散型のシステムを提供する。分散型システムは、通信接続のクライアント側で走り、クライアントと通信する第一のコンポーネント(クライアントからのドキュメントリクエストを受け、それを処理するために通信用リンク上に送るためにある)で構成される。また、システムには、通信接続のサーバ側で走り、ドキュメントサーバと通信する第二コンポーネントも含まれ、この第二コンポーネントは、通信用リンク上で第一コンポーネントから出されるドキュメントリクエストを受け、このリクエストをドキュメントサーバに送るためにあり、このリクエストにより、ドキュメントサーバはリクエストされたドキュメントの基本コンポーネントを返す。操作においては、第二コンポーネントは、(i)基本コンポーネントを分析して、インラインオブジェクトに対するリファレンスを識別し、(ii)インラインオブジェクトをプレフェッチし、(iii)基本コンポーネントとプレフェッチされたインラインオブジェクトを第一コンポーネントに送ることにより、ドキュメントサーバが返す基本コンポーネントを処理する。第一コンポーネントは、キャッシュメモリー内の第二コンポーネントから受けたプレフェッチされたインラインオブジェクトを保存し、インラインオブジェクトをキャッシュメモリーからクライアントに送ることにより、クライアントからのオブジェクトリクエストに応える。
【0018】
本発明の特徴、目的、利点は、下記の詳細な説明を図と関連付けて読むと、より明確になる。図においては、同じ部分は、同じ参照符号が付けられている。
【0019】
(実施例の詳細な説明)
デジタルデータを送るためのワイヤレスの通信システムの利用は、ますます普及してきている。ワイヤレスシステムでは、コストと利用のし易さという点で、もっとも価値があるのは、ワイヤレスリンクそのものである。従って、ワイヤレスリンクによる通信システムのデザイン上の大きな目標は、ワイヤレスリンクの容量を効率よく使うことである。さらに、ワイヤレスリンクを行う際の遅れは、ネットワークのその他の遅れよりもかなり大きいために、ワイヤレスリンクを使う際の遅れを減らすことが望まれている。
【0020】
スタンドアロン型コンピューターは、たいへん強力なツールであるが、互いに接続してネットワークを作るとさらに強力になる。接続台数が増えると、ネットワークの需要がさらに増える。コンピューターが、互いに近くにあると、専用配線で接続できる。ネットワークからある距離離れているコンピューターは、普通の電話回線を通じてネットワークにアクセスできる。しかし、電話回線のバンド幅は、コンピューターとネットワーク間のデータ通信の速度を制限する。
【0021】
それゆえ、デジタルデータネットワークにアクセスするもうひとつの方法が開発されている。例えば、サテライトリンクを使うと、データネットワーク内のデジタルデータを送ることができる。地学的同調人工衛星を使うと、約0.5秒のラウンドトリップ遅れが生じる。現在、デジタルデータネットワークで使われているプロトコルは、このような大きな遅れを念頭において開発されていない。大きな遅れを出す接続法を使うと、平均データ転送速度が、許容できるレベル以下になってしまう。本発明は、デジタルデータシステムにアクセスするときに大きな遅れを生む接続法を利用することにより起こる効率の悪さを減らす方法を提供し、デジタルデータシステム接続を効率的に利用できるようにする。
【0022】
図3は、サテライトリンクで構成されるインターネット接続のダイアグラムを示す。図3において、ウェブブラウザ20は、サテライト端末60に接続されている。サテライト端末60は、地学的同調人工衛星62を通して地球上のステーション64と接続されている。地球上のステーション64は、インターネット24の一連のルーター22A−22Nに接続されている。インターネット24は、ウェブサーバ26とつながっている。地学的同調人工衛星を利用すると、人工衛星60と地球上のステーション64の間の信号の通信当たり、約270/1000秒の遅れが出る。このように、ウェブブラウザ20とウェブサーバ26の間のデータ通信では、すくなくとも0.5秒のラウンドトリップ遅れが出る。
【0023】
図4は、サテライトリンクシステム上で図2に示すデータの通信を示すタイミングダイアグラムである。インラインオブジェクトに対するネストされたリクエストの性質によって、システムは、ラウンドトリップ遅れと等しい最初のシステム遅れを招くだけではなく、インラインオブジェクトに対するリクエストが、つぎに行われるときに、さらに遅れを生じてしまう。
【0024】
入りのメッセージ30’は、ワイヤレスリンクにより送られる最初のURLリクエストを運ぶ。リンクのラウンドトリップ遅れにより、出のメッセージ30’で運ばれるリクエストに対する最初の応答を運ぶ入りのメッセージ32’は、遅れΔT1Bの後に受け入れられる。入りのメッセージ32’は、サウンドクリップであるインラインオブジェクトに対する外部からのリファレンスで構成されると仮定する。それに応えて、ウェブサーバ20は、インラインオブジェクトに対するリクエストを運ぶ出のメッセージ38’を送る。リンクのラウンドトリップ遅れにより、出のメッセージ38’で運ばれるリクエストに対する最初の応答を運ぶ入りのメッセージ42’は、遅れΔT2Bの後に受け入れられる。応答のための入りのメッセージ42’は、広告用バナーであるインラインオブジェクトに対する外部からのリファレンスを含むと仮定する。出のメッセージ46’は、広告用バナーに対するリクエストを運ぶ。リンクのラウンドトリップ遅れにより、出のメッセージ46’で運ばれるリクエストに対する最初の応答を運ぶ入りのメッセージ52’は、遅れΔT3Bの後に受け入れられる。
【0025】
図4の遅れΔT1B、ΔT2B、ΔT3Bは、図2のΔT1A、ΔT2A、ΔT3Aよりかなり大きいことに注意すること。この差は、主に、ワイヤレスリンクに係わるラウンドトリップ遅れによる。リクエストが出されるたびに、第一応答は、少なくとも、ラウンドトリップの分だけ遅れる。このようにして、比較的大きい遅れを生じるリンクを利用すると、最初の決まった遅れとともに、平均的なデータ転送速度がかなり遅くなる。
【0026】
図5は、プロキシサーバ66を含むインタネット接続を示すブロックダイアグラムである。プロキシサーバ66は、複数のウェブブラウザ20A−20Nをインターナット24にインターフェースするように設計されている。また、プロキシサーバ66は、インターネット24による進入からウェブブラウザ20A−20N(およびウェブブラウザが走るネットワークも含めて)を守るように設計することもできる。例えば、プロキシサーバ66は、他のインターネットユーザが、内部のネットワークにアクセスできないようにするワンウエイサーバにもできる。内部ユーザによるリクエストに応えて受けたパケットだけが、インターネット24からプロキシサーバを通して、返される。プロキシサーバで受けた他のデータは、ウェブブラウザ20A−20N上には通らない。
【0027】
プロキシサーバ66は、あるユーザ集合のために、ひとつの接続のポイントだけ提供するので、プロキシサーバ66で、ウイルススキャン、コンテンツフィルター、アクセスコントロールのような機能を果たすのは、ウェブブラウザ20A−20N個々で行うより簡単である。このように、会社は、プロキシサーバ66をネットワークの中央制御ポイントとして使うことにより、社内ネットワークを制御できる。
【0028】
プロキシサーバ66は、ウェブブラウザ20A−20Nが、プロキシサーバの存在に気づかないという意味で、システムユーザにわからないように設計できる。ウェブアクセスは、プロキシサーバを通して継ぎ目なしに起こる。ウェブブラウザ20A−20Nは、プロキシサーバに気づかないけれども、最後の結果は、ウェブブラウザ20A−20Nは、プロキシサーバー66とインターネット24からの組み合わされた情報を受けることになる。
【0029】
しばしば、キャッシングは、ウェブブラウザ20で感知されるように、システムのパーフォーマンスを上げるために使われる。キャッシングという言葉は、プロキシサーバ66によって、ローカル保存メディア(代表的なのは、ディスクであるが、短期キャッシング用のメインメモリー)上で受けたドキュメントのコピーを保存するプロセスを指す。プロキシサーバ66は、ウェブブラウザ20A−20Nのそれぞれが、インターネットにアクセスする中心の場所を提供するので、プロキシサーバ66は、アクセスしたドキュメントを頻繁にキャッシュし、そのドキュメントをそのドキュメントをリクエストした他のウェブブラウザ20に対して直ぐに使えるようにできる。例えば、金融サービス機関では、多くの異なったブラウザが、いつもウォールストリートジャーナルのホームページにアクセスしている。プロキシサーバ66にキャッシング能力があれば、ウォールストリートジャーナルのホームページは、1日の最初のリクエスト後にキャッシュできる。その後にリクエストする人は、インターネットからではなく、ローカルキャッシュからウォールストリートジャーナルを受けることになる。一般に、キャッシングは、待ち時間を減らし、ネットワーク用のバンド幅を節約することにより、システムの効率を改善する。
【0030】
プレフェッチと言われる一種のキャッシングは、クライアントからリクエストされたと思われるドキュメントのキャッシングも含む。前にリクエストされた親ファイル内のインラインオブジェクトは、その例のひとつである。プロキシサーバが、元々の親ファイルを調べると、そのドキュメントが、インラインオブジェクトに対するリファレンスを含んでいるかどうかがわかり、ウェブブラウザからの実際のリクエストが着く前に、インラインオブジェクトの呼び出しが開始できる。
【0031】
インラインオブジェクトをプレフェッチすると、リクエストの予言がかなり高い確率で当たる。ウェブブラウザが、インラインオブジェクトを自動的にロードできる構成になっていないまれなケースでは、リクエストの予言は失敗する。また、ユーザがインラインオブジェクトをすべてリクエストする前に、呼び出しを邪魔した場合は、いくつかのオブジェクトは、ウェブブラウザでリクエストされない。しかし、通常、親ドキュメントによってリファレンスされた各インラインオブジェクトは、ウェブブラウザでリクエストされる。
【0032】
キャッシング能力を持つ従来の技術のプロキシサーバを、ワイヤレスサテライトリンクを持つインターネット接続に統合しようとする試みた場合、システム効率は、そんなに改善されない。例えば、図3を再度リファレンスして、プロキシサーバが、地球上のステーション64とルーター22Aの間に挿入されていることを確認されたい。ウェブブラウザ20によって、最初のリクエストが出されると、そのリクエストは、ワイヤレスリンク上のサテライト端末60から、地球上のステーション64に送られる。地球上のステーション64は、このリクエストをプロキシサーバに送り、プロキシサーバは、それをインターネット24に送る。インターネット24からの応答が受信されると、プロキシサーバは、それを地球上のステーション64に送る。また、プロキシサーバは、最初のリクエストに対する応答のなかの情報を分析して、インラインオブジェクトが存在するか決める。プロキシサーバは、インラインオブジェクトに対するリクエストを代理として送り、それが着いたオブジェクトを保存する。その間、最初のリクエストに対する応答は、ワイヤレスリンクを通じて、ウェブブラウザ20に送られる。ウェブブラウザ20が、応答を受けると、ウェブブラウザは、ワイヤレスリンクを通じてインラインオブジェクトに対するリクエストを送り返す。プロキシサーバがリクエストを受けると、プロキシサーバは、プレフェッチされ、キャッシュされた情報に応答する。このようにして、インターネット上で行われる伝送に係わる遅れはすべて取り除かれる。インラインオブジェクトに対応する情報は、ワイヤレスリンクを通って、ウェブブラウザ20に達する。従って、ワイヤレスリンクのラウンドトリップ遅れは避けられない。ワイヤレスリンクのラウンドトリップ遅れは、図3のシステムの待ち時間を決定する際に、もっとも重要なファクターになるので、サテライトリンクのゲートウェイ側にプロキシサーバがあっても、システムの効率はそれ程改善されない。
【0033】
また、サテライト端末60とウェブブラウザ20の間には、従来の技術によるプロキシサーバが挿入されているということを確認すること。ウェブブラウザ20が、最初のリクエストを出すと、そのリクエストは、プロキシサーバに送られ、プロキシサーバは、それをサテライト端子60に送る。サテライト端子60は、それをワイヤレスリンクに乗せて地球上のステーション64に送る。地球上のステーション64は、このリクエストをインターネット24に送る。インターネット24からの応答を受けると、地球上のステーション64は、その応答をワイヤレスリンクに乗せてサテライト端子とプロキシサーバに送る。プロキシサーバは、その応答をウェブブラウザ20に送る。また、プロキシサーバは、情報を分析してインラインオブジェクトの存在を確認する。プロキシサーバは、インラインオブジェクトに対する代理リクエストを、ワイヤレスリンクに乗せて送ることにより、インラインオブジェクトをプレフェッチする。ウェブブラウザ20が最初の応答を受けると、ウェブブラウザは、インラインオブジェクトに対するリクエストをプロキシサーバに送る。プロキシサーバが、ウェブブラウザからのリクエストを受けると、プロキシサーバは、リクエストを横取りして、ワイヤレスリンクに乗せて送らない。プロキシサーバは、代わりのリクエストとワイヤレスリンクを通るそれに対する応答を待ち、ウェブブラウザに情報を送る。このようにして、プロキシサーバからの最初の応答をウェブブラウザ20に伝送する際の遅れとウェブブラウザ20からのリクエストをプロキシサーバに伝送する際の遅れはすべて除去される。しかし、ワイヤレスリンクのランドトリップ遅れは、避けられない。ワイヤレスリンク上のラウンドトリップは、図3のシステムの待ち時間を求める際のもっとも重要なファクターであるから、サテライトリンクのサテライト端子側にプロキシサーバがあっても、システムの効率はそれ程改善されない。
【0034】
図6は、本発明による分散型プロキシサーバを含むデジタルデータネットワークを示すブロックダイアグラムである。図6では、ウェブブラウザ20A−20Nは、分散型プロキシサーバ68によって、インターネットに接続する。分散型プロキシサーバ68は、2つのコンポーネントを持つ。1)アクセスポイントコンポーネント70(アクセスポイント)と2)サテライトゲートウェイコンポーネント72(サテライトゲートウェイ)である。アクセスポイント70とサテライトゲートウェイ72は、1個以上のワークステーションまたは対応するソフトウエアを走らせるパソコン上に実装される。アクセスポイント70とサテライトゲートウェイ72の機能のすべてまたは一部は、アプリケーション指定のハードウエアを使って、選択的に実装できる。アクセスポイント70とサテライトゲゲートウェイ72は、人工衛星62上のワイヤレスリンクを通して接続される。ウェブブラウザ20A−20Nは、ローカルエリアネットワークによってアクセスポイント70(図示されていない)と接続されるのが望ましい。図6に示されているように、アクセスポイント70は、サテライトゲートウェイ72によってプレフェッチされたオブジェクトを一時的に保存するためのオブジェクトキャッシュ71を実装する。
【0035】
分散型プロキシサーバ68は、サテライトリンクに接続する際のラウンドトリップ遅れの効果を減らすことによって、効率のよいデータ転送を容易にする。アクセスポイント70とサテライトゲートウェイ72は、また、従来の技術によるプロキシサーバによって行われるサービスも提供する。実施例では、分散型プロキシサーバ68を使用しているということは、インターネットに接続されている、ウェブサーバ26やウェブブラウザ20のような実体には、知られている。
【0036】
図7は、リクエストされたウェブページが、インラインオブジェクトをリファレンスする親ファイルコンポーネントでできている本発明に従ったデータ転送の実施例を示すデータフローダイアグラムである。ブロック80において、ウェブブラウザ20は、ウェブページをリクエストする。アクセスポイント70は、リクエストを受け、それをブロック82のワイアレスリンク上のサテライトゲートウェイ72に送る。幾分かの遅れの後、そのリクエストは、サテライトゲートウェイで受け取られる。ブロック84では、サテライトゲートウェイ72は、リクエストをインターネット24に送る。サテライトゲートウェイ72は、この機能を実行するためのネットワークコミュニケーションモジュールでできている。
【0037】
ウェブサーバ26は、リクエストを受け、親ファイルに応答する。サテライトゲートウェイ72は、インタネット24からの親ファイルを受け、それをブロック86のアクセスポイント70に送る。ファイルが、ワイヤレスリンクを横切った後、アクセスポイント70は、ブロック88のウェブブラウザ20に親ファイルを送る。ブロック90では、ウェブブラウザは、親ファイルを受ける。
【0038】
ブロック86の転送より以前、最中、または後に、サテライトゲートウェイは、この親ファイルを分析し、インラインオブジェクトに対するリファレンスを抽出し、ブロック92のインタネット24上のインラインオブジェクトに対するリクエストを送る。例えば、サテライトゲートウェイ72は、これらの機能を果たすために、分析モジュール、代わりのリクエストを出すモジュールでできている。また、ブロック92では、サテライトゲートウェイ72は、プレフェッチしているインラインオブジェクトを識別するアクセスポイント70に、メッセージを送る。例えば、サテライトゲートウェイ72は、メッセージを作って、それをアクセスポイント70に送るメッセージモジュールを有する。ブロック94では、アクセスポイント70は、プレフェッチされたオブジェクトのリストを受け、後にリファレンスするために、例えば、キャッシングモジュール内に保存する。
【0039】
ブロック96では、ウェブブラウザ20は、インラインオブジェクトに対するリクエストを送る。ブロック98では、アクセスポイント70は、リクエストをプレフェッチされたオブジェクトと比較する。リクエストが、プレフェッチされたオブジェクトのリストに対応する場合は、そのリクエストは、横取りされ、ワイヤレスリンク上に送られない。リクエストされたオブジェクトが、リストに載っているものに対応せず、キャッシュ内にない場合は、アクセスポイント70は、ワイヤレスリンク上にリクエストを送る。この機能は、メッセージ分析および比較モジュールにより実行される。
【0040】
図7の例では、フェッチされたか現在フェッチされてりるオブジェクトのリスト上に、インラインオブジェクトがあるので、アクセスポイント70は、リクエストを横取りしてサテライトリンク上にリクエストを送らない。その間、ブロック100では、インラインオブジェクトが、サテライトゲートウェイ72で受け取られ、自動的にアクセスポイント70に送られる。サテライトゲートウェイ72は、インラインオブジェクトに対するリクエストを受けずに、アクセスポイント70がサテライトゲートウェイ72を通じてリクエストしていなかった情報を含めて、最初のリクエストに対する返答をアクセスポイント70に送っている。このような返答は、”チュビー レスポンス(chubby response)”と言う。例えば、サテライトゲートウェイ72は、これらの機能を果たすチュビー レスポンス作成モジュールを有する。ブロック102では、アクセスポイント70は、オブジェクトを受け、それをウェブブラウザ20に送る。ブロック104では、ウェブブラウザ20は、インラインオブジェクトを受ける。このようにして、サテライトリンク上で、リクエストの伝送を待つ際の遅れは避けられ、インラインオブジェクトは、親ファイルの後直ぐに転送される。さらに、普通、インラインオブジェクトに対するワイヤレスリクエストによって占められるバンド幅は、他の用途にも使われる。
【0041】
図7に示すようなデータフローを使って得られる効率は、図8のタイミングダイアグアムを参照すれば、簡単にわかる。図8は、本発明による分散型プロキシサーバ上を転送されるのと同様に行われる、図2、4のデータ伝送を示すタイミングダイアグラムである。ウェブブラウザ20で感知されるデータフローに加えて、データフローをもっと明確に説明するために、アクセスポイント70とサテライトゲートウェイ72によって感知されるデータフローを示す。
【0042】
ウェブブラウザから出るメッセージ130は、最初のURLリクエストを運ぶ。アクセスポイント70は、それに対応する出のメッセージ130’をワイヤレスリンク上にに送る。サテライトゲートウェイ72は、対応する出のメッセージ130’’をインターネット上に送る。ワイヤレスリンクの導入による、出のメッセージ130’と130’’の間の遅れに注意すること。入りのメッセージ132’’は、でのメッセージ130’に対する応答の最初の部分を運ぶ。いりのメッセージ134’’と136’’は、応答の第二、第三の部分を運ぶ。入りのメッセージ132’’は、サウンドクリップと仮定したインラインオブジェクトに対する外部からのリファレンスを運ぶ。サテライトゲートウェイ72は、入りのメッセージ132’’を分析して、外部からのリファレンスを認識する。出のメッセージ138’’では、サテライトゲートウェイ72は、サウンドクリップに対するイナターネット24上の代わりのリクエストを送る。このようにして、サウンドクリップをプレフェッチする。
【0043】
入りのメッセージ132’’、134’’、136’’は、それぞれ入りのメッセージ132’、134’、136’としてアクセスポイント70に受け入れられ、ワイヤレスリンクによる遅れがもう一度生じる。アクセスポイント70は、これらのメッセージをウェブブラウザ20に送り、 それぞれ入りのメッセージ132、134、136として受け入れられる。入りのメッセージ132に対する応答では、ウェブブラウザ20は、サウンドクリップをリクエストしている出のメッセージ138を送る。出のメッセージ138がウェブブラウザ20から送られる時には、出のメッセージ138’’は、既にサテライトゲートウェイ72によって、インターネット24に送られている。従って、アクセスポイント70は、リクエストを横取りし、それをゲートウェイ72に送らない。このよにして、サテライトリンンク上に送られるデータ量を減らす。そのために、図8では、対応するメッセージ138’’は、アクセスポイント70からサテライトゲートウェイ72には送られない。サテライトゲートウェイ72では、入りのメッセージ140’’が、元のリクエストに対する四番めおよび最後の応答として受け取られ、アクセスポイント70に送られ、入りのメッセージ140’として受けられる。
【0044】
入りのメッセージ142’’と144’’は、サウンドクリップに対するリクエストに対する応答として受けられ、る。入りのメッセージ142’’は、広告バナーと仮定したインラインオブジェクトに対する外部からのリファレンスを運ぶ。再度、サテライトゲートウェイ72は、入りのメッセージ142’’を分析して、広告バナーに対する外部からのリファレンスを検出する。出のメッセージ146’’は、広告バナーに対する代わりのリクエストを運んでいるサテライトゲートウェイ72によって、送られる。
【0045】
その間、入りのメッセージ142’’と144’’は、インラインオブジェクトに対するアクセスポイント70からのリクエストを待つことなく、自動的にアクセスポイント70に送られる。このようにして、インラインオブジェクトは、ワイヤレスリンクを通して、プレフェッチされ、事前転送され、ウェブブラウザ20が感知する待ち時間を大きく減らす。入りのメッセージ142’’と144’’は、それぞれアクセスポイント70で、入りのメッセージ142’、144’として受け入れられる。入りのメッセージ142’と144’は、ウェブブラウザ20によって出のメッセージ138のなかでリクエストされた後、ウェブブラウザ20に送られる。メッセージ142’と144’は、それぞれ、入りのメッセージ142、144としてウェブブラウザ20に受け入れられる。広告バナーに対する外部からのリファレンスを含む入りのメッセージ142の受け入れに対する応答として、ウェブブラウザ20は、広告バナーをリクエストしているでのメッセージ146を送る。アクセスポイント70は、再度リクエストを横取りして、対応する出のメッセージ146’は、アクセスポイント70からサテライトゲートウェイ72に対して送られない。
【0046】
その間、サテライトゲートウェイ72は、サウンドクリップに対するリクエストの応答として、入りのメッセージ148’’と150’’を引き続き受け、それらを、アクセスポイント70に送る。アクセスポイント70は、これらのメッセージを、ワイヤレスリンクによる遅れを伴って、入りのメッセージ148’と150’として受ける。アクセスポイント70は、これをウェブブラウザ20に送り、ウェブブラウザ20は、これを入りのメッセージ148と150として受け入れる。出のメッセージ146’’のなかに出された広告バナーに対するリクエストへの応答として、入りのメッセージ152’’が、サテライトゲートウェイで受け取られ、それに対応するリクエストを待つことなく、自動的にアクセスポイント70に送られる。アクセスポイント70は、入りのメッセージ152’として、広告バナー情報をを受け、出のメッセージ146で運ばれるリクエストに対する応答として、ウェブブラウザ20にそれを送り、ウェブブラウザ20は、これを入りのメッセージ152として受ける。
【0047】
図8と図4に示す従来の技術を比較すると、本発明を使うことによる効率アップがわかる。図4の入りのメッセージ30’と32’の間の実質的な遅れΔT1Aに対して、図8では、入りのメッセージ130と132の間の実質的な遅れΔTICがあることに注意すること。この遅れの大部分は、ワイヤレスリンクを使うことによるラウンドトリップディレイによるものである。しかし、図4のでのメッセージ38’と入りのメッセージ42’の間の実質的な遅れΔT2Bは、図8の出のメッセージ138と入りのメッセージ142の間の遅れΔT2Cには出ていない。これは、情報がプレフェッチされ、また、チュビー レスポンスとして事前に転送されているからである。さらに、図4の出のメッセージ46’と入りのメッセージ52’の間の実質的な遅れΔT3Bは、図8のでのメッセージ146と入りのメッセージ152の間の実質的な遅れΔT3Cには出ていないが、これも同じ理由による。図8の遅れΔT2CとΔT3Cは、図2の遅れΔT2AとΔT3Aに匹敵する。このようにして、本発明を利用することにより、平均のデータ速度が上がり、システム利用について回る遅れが減る。
【0048】
図7では、アクセスポイント70は、「インラインオブジェクトは、インラインオブジェクトに対するリクエストがブロック96のウェブブラウザ20によって出される前に、ブロック94でプレフェッチされた」ということを知らされる。しかし、場合によっては、ウェブブラウザ20は、プレフェッチの連絡を受ける前に、インライオブジェクトをリクエストすることがある。そのような場合は、アクセスポイント70は、予めプログラム化された時間、例えば3秒間、このリクエストを保存する。時間内にオブジェクトが、プレフェッチオブジェクトのリストに現れないか、アクセスポイント70で受けたオブジェクトではない場合は、アクセスポイント70は、サテライトゲートウェイ72にリクエストを送る。リクエストの伝送を遅らせることにより、ワイアレスリンク上から伝送するリクエストの数を減らせる。
【0049】
プレフェッチされ、チュビー レスポンスとして送られるオブジェクトに係わる、ウェブブラウザ20からの関連リクエストの問題は、他の実施例で避けられる。ある実施例では、アクセスポイント70は、入りのファイルを分析して、サテライトゲートウェイ72に似たやり方でインラインオブジェクトの存在を確認する。アクセスポイント70は、サテライトゲートウェイ72は、これらのインラインオブジェクトをすべてプレフェッチすると仮定する。例えば、ブロック88で、アクセスポイント70で親ファイルを受けると、アクセスポイント70は、親ファイルを分析してインラインオブジェクトに対するリファレンスをすべて抽出する。アクセスポイント70は、ゲートウェイ72は、インラインオブジェクトをプレフェッチ中であるとして、すべてインラインオブジェクトを含むプレフェッチされたオブジェクトのリストを作る。アクセスポイント70は、常にウェブブラウザ20の前で親ファイルを受けるので、アクセスポイント70は、ウェブブラウザ20からリクエストを受ける前にプレフェッチオブジェクトのリストを作る。プレフェッチオブジェクトのリストに現れるリクエストは受け入れられるが、オブジェクト自身は、与えられた時間内にアクセスポイント70で受け入れられない場合は、アクセスポイント70は、サテライトゲートウェイ72にリクエストを送る。この実施例では、サテライトゲートウェイ72からの連絡用データは、図7のブロック92のアクセスポイント70に送られ、サテライトリンク上から伝送されるデータの量は、このようにして減らされるということに注意しなければならない。関連した問題が避けられるので、アクセスポイント70は、利用できない、あるいはリストにないオブジェクトに対するリクエストを受けても、オブジェクトに対するリクエストの送り出しが遅れずに済む。システムの利用に伴う待ち時間は、このようにして全体的に減る。
【0050】
さらに、アクセスポイント70の分析機能を高めることなく、関連問題が解決される他の実施例もある。再度、図7に戻ってみると、サテライトゲートウェイ72は、ブロック86のインタネット24からの親ファイルを受けると、まず親ファイルを調べて、親ファイル情報をアクセスポイント70に送る前に、インラインオブジェクトに対する外部からのリファレンスがあったかどうか見極める。リファレンスがない場合は、サテライトゲートウェイ72は、直ぐにアクセスポイント70に親ファイルを送る。1個以上のリファレンスがあると、サテライトゲートウェイ72は、アクセスポイント70に対する親ファイルの転送を開始する前に、リクエストを出して、1個以上のインラインオブジェクトに対応するデータを受ける。このようにして、インラインオブジェクトは、首尾一貫して直接親ファイルに従い、ウェブブラウザ20によるリクエストがあった場合に、アクセスポイント70で利用できる。ある実施例では、サテライトゲートウェイ72は、アクセスポイント70への親ファイル転送を開始する前に、インラインオブジェクトをすべて受ける。もうひとつの実施例では、サテライトゲートウェイ72は、アクセスポイント70への親ファイル転送を開始する前に、1個以上のインラインオブジェクトをすべて受ける。さらに他の実施例では、サテライトゲートウェイ72は、アクセスポイント70への親ファイル転送を開始する前に、1個以上のインラインオブジェクトの一部に対応する決まった量のデータを受ける。関連する問題を避けることに加えて、この方法では、サテライトゲートウェイ72からアクセスポイント70に連絡用メッセージを送らなくても、ワイアレスリンク上を走る情報の流れを減らせる。関連した問題が起こらないので、アクセスポイント70は、利用できないオブジェクトに対するリクエストを受けても、オブジェクトに対するリクエストを遅れて出すことがなくなる。システム使用に伴う待ち時間は、このようにして全体的に減る。
【0051】
これらの実施例において、親ウェブページが表示された後、すぐにウェブブラウザ20でインラインオブジェクトが利用できるということは、ユーザに対する応答がすぐに出せるという利点がある。
【0052】
また別の実施例では、サテライトゲートウェイ72で親ファイルを受けると、サテライトゲートウェイ72は、親ファイルを分析し、インラインオブジェクトのリクエストを開始する。インラインオブジェクトが受け取られると、サテライトゲートウェイ72は、アクセスポイント70にインラインオブジェクトを送る。サテライトゲートウェイ72が、他のインラインオブジェクトの中のネストされたインラインオブジェクトを含むインラインオブジェクトのすべてまたは一部をリクエストし、受け、転送した後、サテライトゲートウェイ72は、アクセスポイント70に親ファイルを送り始める。親ファイルの転送前に、プレフェッチインラインオブジェクトを転送すると、ウェブブラウザ20がリクエストしてくる前に、すべてのインラインオブジェクトがアクセスポイント70で利用できる。さらに、この実施例では、連絡用メッセージを使ったり、アクセスポイント70に機能を追加したりする必要がなく、アクセスポイント70は、意図的な遅れを挿入することなく、未知のオブジェクトに対するリクエストも送れる。
【0053】
上に述べたように、データは、通常HTTPプロトコルに従った現在の標準的なデジタルデータネットワーク上で転送される。HTTPプロトコルは、リクエスト/レスポンス式プロトコルである。クライアントが、サーバにリクエストを送ると、サーバは、応答を返してくる。この簡単なプロトコルでは、各データ伝送開始時に、マルチステップのハンドシェイクルーティンの使用を避けている。しかし、HTTPプロトコルのなかには、クライアントが、リクエストを出していないデータの転送を、チュビー レスポンスメッセージの中で受けるという条件はない。
【0054】
実施例では、サテライトゲートウェイ72をアクセスポイント70に接続させているリンクは、チュビー レスポンスメッセージを使って、リクエストされていないデータを送る方法も含んでいる。そのような機能を持たせるために、サテライトゲートウェイ72をアクセスポイント70に接続させているリンクは、純粋なHTTPプロトコルの外にある。分散型プロキシサーバ68が、ウェブブラウザ20とウェブサーバ26に対して透明性を持っているということは、重要なことである。従って、分散型プロキシサーバ68は、HTTPのようなよく知られたデータ転送プロトコルを、少なくとも、外部で感知されるように、サポートすることも重要である。しかし、サテライトゲートウェイ72とアクセスポイント70は、一般のアクセスプロバイダーによってコントロールされるピアーユニットであるから、アクセスポイント70とサテライトゲートウェイ72を接続するリンクが、工業標準プロトコルに従って働く必要はない。従って、技術に熟練した人は、チュビー レスポンスを使って、サテライトゲートウェイ72とアクセスポイント70の間にリクエストされないデータの転送を起こす、よく知られた技術に従ってプロトコルを開発できる。
【0055】
図6では、1個のウェブブラウザ20が、分散型プロキシサーバ68に連結している。さらに、サテライトゲートウェイ72は、複数のアクセスポイント70ユニットを補助することができる。アクセスポイント70は、1個のハウシング内にまとめられる実施例もあり、そのハウシングは、ハウジングがあるビルの外にあるアンテナに連結する。ローカルエリアネットワークは、複数のウェブブラウザ20をハウジングに連結する。もう一つの実施例では、アクセスポイント70は、同じマシンまたはウェブブラウザ20が働くハウジングに実装される。さらに、他の実施例では、アクセスポイント70の機能とモジュールは、複数のコンピューターユニットに分配される。一般に、アクセスポイントの機能とモジュールは、サブジェクトリンクの一方の側の実体に分配でき、ゲートウェイの機能とモジュールは、リンクのもう一方の側の実体に分配される。アクセスポインントとゲートウェイのいずれかが、直接サブジェクトリンクと中間実体に連結される必要はないし、また、サブジェクトリンクが、アクセスポイントとゲートウェイを分ける必要もない。
【0056】
上に述べた技術と同じ技術は、他の外部ファイルに対してつぎに出されるリクエストの可能性が、インラインオブジェクトに対して出されるリクエストの可能性より低くても、その外部ファイルに応用できる。例えば、多くのウェブページは、ユーザが選んでアクセスする他のウェブページに連結するハイパーリンクを含む。製造会社のホームページは、は、雇用ページ、製品情報のページ、会社案内のページおよび広報のページにつながるハイパーリンクを有する。ホームページにアクセスするユーザは、ハイパーリンクでリファレンスされるページのひとつにアクセスするらしい。サテライトゲートウェイ72は、すべてのインラインオブジェクトを呼び出した後、予言的なリンクされたウェブページのプレフェッチとアクセスポイント70への転送を、インラインオブジェクトと同じように開始する。データ量は、限りないカスケードを防ぐために制限される。ユーザが、予言的にプレフェッチされリンクの一つをリクエストすると、ユーザは、アクセスポイント70から直接情報を受け取り、それによって、ワイヤレスリンクの使用に伴うラウンドトリップ遅れが避けられる。一般に、プレフェッチされたオブジェクトは、テキストまたはデジタルフィル、画像、サウンドクリップ、プログラムモジュール、外部機能付きのデータパッケージである。
【0057】
上記の例は、インターネット上のウェブサーバにアクセスしているウェブブラウザにより説明されているが、本発明の原理は、データ端子が、リンクすると実質的に遅れが生じるデータネットワーク上の外部データに対するリファレンスを含むデータファイルをリクエストする状況にも応用できる。そのような場合は、リクエストユニットは、ファイルリクエストを出せるデジタル機器であれば種類は問わない。また、応答ユニットは、ファイルを転送できれば、どんなタイプでもよい。例えば、図のインターネット24は、公共または私的なローカルエリアネットワークまたはインターネット以外のワイドアリアネットワークでもよい。
【0058】
技術に熟練した人がこの発明の開示を調べれば、何万例の実施例があることが直ぐにわかる。例えば、望ましい実施例は、サテライトリンクで説明されているが、本発明は、有線、無線に関係なくかなりの遅れを生むリンクに直接応用できる。
【0059】
さらに、上に述べたように、本発明を使うと、アクセスポイントからゲートウェイに流れるデータの量が減る。このデータ量の現象は、アクセスポイントとゲートウェイ間のパスの遅れが実質的にないシステムでも重要である。例えば、ケーブルモデムは、かなり非対称のリンクである。インターネットからユーザ経のダウンストリームリンクは、かなり高いバンド幅を持っているが、ユーザからインターネットへのアップストリームのバンド幅は制限されている。従って、遅れが問題にならないばあいでも、アップストリームの情報の流れを減らすために、分散型プロキシサーバを組み込むと有利である。
【0060】
本発明は、発明の精神と添付した請求項で定義された本質的な特徴から逸脱することなく、他の形態でも実施できる。下記の特許請求の範囲では、プロセスのステップを参照するのに使っている参照符号は、説明を簡便にするためのみに使っており、ステップを実施する順序を意味するものではない。
【図面の簡単な説明】
【図1】 インターネット接続を示すブロックダイアグラムである。
【図2】 データの転送とウェブブラウザからのデータ転送を示すタイミングダイアグラムである。
【図3】 サテライトリンクでできているインターネット接続を示すブロックダイアグラムである。
【図4】 サテライトリンクをシステムに取り入れた後の図2に示すデータ通信を示すタイミングダイアグラムである。
【図5】 プロキシサーバで構成されるインターネット接続を示すブロックダイアグラムである。
【図6】 本発明による分散型プロキシサーバで構成されるデジタルデータネトワークを示すブロックダイアグラムである。
【図7】 本発明によるデータ転送の実施例を示すデータフローダイアグラムである。
【図8】 本発明による分散型プロキシサーバ上でのデータ転送と同じように行われる、図2、4に示すデータ通信を示すタイミングダイアグラムである。

Claims (16)

  1. クライアントサイド(70)およびクライアントサイド(72)と離れたサーバサイドを備える通信用リンク(62)を含むインターネットアクセスシステムにおいて、
    インラインオブジェクトを含むドキュメントに対するクライアントリクエストを処理する方法であって、
    前記クライアントリクエストはクライアント(20)よって出され、ドキュメントサーバ(26)に向かうものであり、
    前記ドキュメントはインラインオブジェクトに対するリファレンスを含む基本コンポーネントからなり、
    さらに前記方法が、
    通信リンク(62)のクライアント(20)側において、
    (a)クライアントリクエストを受け、そのリクエストを通信リンク(62)上でサーバ(26)側(72)に送り(82)、
    通信リンクのサーバ側において、
    (b)クライアントリクストを受け、インターネット(24)上でドキュメントサーバ(26)にリクエストを送り(84)、
    (c)ドキュメントサーバから基本コンポーネントを受け(88)、基本コンポーネントを分析してオブジェクトに対するリファレンスを識別し(92)、通信用リンク(62)上でクライアント(20)に届けるために、クライアント(20)側に基本コンポーネントを送り(88)、
    (d)ステップ(c)で識別したリファレンスを用い、ドキュメントサーバ(26)からインラインオブジェクトをプレフェッチし(92)、クライアント(20)がオブジェクトをリクエストするのを待つことなく、クライアント(20)に届けるために、通信リンク(62)上でオブジェクトをクライアント(20)に送る、
    ステップからなり、
    前記方法が、少なくともドキュメントサーバに意識されないように処理されることを特徴とする方法。
  2. さらに、通信リンクのクライアント側で
    (d)で送られたオブジェクトを受け、キャッシングし、
    オブジェクトに対するリクエストへの応答として、クライアント(20)にオブジェクトを送る(102)ステップを有する請求項1記載の方法。
  3. 通信リンク(62)のクライアント側にオブジェクトが着くのを待つ間に、通信リンク(62)上のオブジェクトに対するクライアントリクエストの伝達(98)を受け入れるステップを更に備えること請求項1に記載の方法。
  4. 通信用リンクは、サテライトリンク(62)であり、サテライトリンク上で、オブジェクトに対するクライアント(20)リクエストを送る際の遅れを避ける請求項1記載の方法。
  5. ステップ(a)は、サテライトリンクへのユーザアクセスポイントで走る実行可能なコンポーネントによって実施され、ステップ(b)から(d)は、サテライトからインターネットへのゲートウェイコンポーネントによって実施される請求項4記載の方法。
  6. さらに、複数の追加されたドキュメントのインラインオブジェクトのそれぞれにステップ(d)を繰り返す請求項1記載の方法。
  7. ステップ(a)は、標準的なインターネットプロトコルを使ったウェブブラウザプログラム(20)との通信を含む請求項1記載の方法。
  8. ドキュメントは、第二のドキュメントとリンクするハイパーテキストリンクを含み、さらに、サーバ(26)側で、第二ドキュメントをプレフェッチし、クライアント(20)側に送る請求項1記載の方法。
  9. ドキュメントのインラインオブジェクトがリクエストされ、ドキュメントの基本コンポーネントと別に呼び出される、クライアントサーバタイプのドキュメント呼び出しシステムにおいて、
    通信用リンク(62)によって生まれる効率の低下を食い止める分散システム(68)であって、
    前記分散システムは、
    通信用リンク(62)のクライアント側で走り、クライアント(20)と通信する第一コンポーネント(70)であって、クライアント(20)からのドキュメントリクエストを受け、そのリクエストを処理するための通信リンク(62)上で送る第一のコンポーネントと(70);
    通信用リンク(62)のサーバ側で走り、ドキュメントサーバ(26)と通信する第二コンポーネント(72)であって、通信リンク(62)上で第一コンポーネント(70)からのドキュメントリクエストを受け、そのリクエストをドキュメントサーバに送るための第二コンポーネント(72)と;を備え、
    前記リクエスト(72)によって、ドキュメントサーバ(26)は、リクエストされたドキュメントの基本コンポーネントを戻し、
    前記第二コンポーネントは、少なくとも(i)基本コンポーネントを分析してインラインオブジェクトに対するリファレンスを識別し、(ii)インライオブジェクトをプレフェッチし、(iii)プレフェッチされたインラインオブジェクトを、クライアントがインラインオブジェクトに対するリクエストを出すのを待つことなく、第一コンポーネント(70)に送り;
    また、第一コンポーネント(70)は、第二コンポーネントから受けたプレフェッチされたインラインオブジェクトを、キャッシュメモリー(71)に保存し、インラインオブジェクトをキャッシュメモリー(71)からクライアント(20)に送ることにより、クライアント(20)からのオブジェクトリクエストに応え、;
    前記分散システムが、少なくともドキュメントサーバ(26)に意識されないように実行されることを特徴とする分散システム。
  10. 第一のコンポーネント(70)が、通信リンク(62)上のプレフェッチされたオブジェクトに対するクライアントリクエストの伝達を受け入れ、通信リンク(62)の通信量を減らす請求項9に記載の分散システム。
  11. 通信用リンクは、サテライトリンク(62)であり、第一、第二コンポーネント(70,72)は、サテライトリンク上でインラインオブジェクトに対するリクエストを出す際の遅れを減らす請求項9記載の分散型システム。
  12. 第一コンポーネント(70)は、サテライトリンク(62)へのクライアントアクセスポイントで走り、第二コンポーネント(72)は、サテライトからインターネットへのゲートウェイシステムの一部である請求項12記載の分散型システム。
  13. 通信用リンク(62)は、ケーブルをベースとするリンクであって、前記ケーブルをベースとするリンクは、ケーブルモデムにより、インターネットへのアクセスを提供する請求項9記載の分散型システム。
  14. ドキュメント呼び出しシステムは、ハイパーテキストシステムであり、第二コンポーネント(72)は、さらにリクエストされたドキュメント内でハイパーテキスト的にリファレンスされるドキュメントをプレフェッチするように構成されている請求項9記載の分散型システム。
  15. 第一コンポーネント(70)及び第二コンポーネント(72)は、クライアント(20)及びドキュメントサーバ(26)とそれぞれ通信するために、標準のワールドワイドウェブプロトコルを実行する請求項9記載のシステム。
  16. 第二コンポーネント(72)が、プレフェッチされたオブジェクトの通信リンク(62)上で第一コンポーネント(70)を識別する請求項9記載の分散型システム。
JP2000506758A 1997-08-06 1998-08-05 分散型システムとオブジェクトをプレフェッチする方法 Expired - Fee Related JP3774807B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5484797P 1997-08-06 1997-08-06
US60/054,847 1997-08-06
PCT/US1998/016353 WO1999008429A1 (en) 1997-08-06 1998-08-05 A distributed system and method for prefetching objects

Publications (2)

Publication Number Publication Date
JP2001513600A JP2001513600A (ja) 2001-09-04
JP3774807B2 true JP3774807B2 (ja) 2006-05-17

Family

ID=21993896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000506758A Expired - Fee Related JP3774807B2 (ja) 1997-08-06 1998-08-05 分散型システムとオブジェクトをプレフェッチする方法

Country Status (11)

Country Link
US (3) US6282542B1 (ja)
EP (1) EP1002410B1 (ja)
JP (1) JP3774807B2 (ja)
KR (1) KR100571059B1 (ja)
CN (1) CN1108685C (ja)
AT (1) ATE282922T1 (ja)
AU (1) AU737551B2 (ja)
CA (1) CA2298712A1 (ja)
DE (1) DE69827638T2 (ja)
RU (1) RU2210871C2 (ja)
WO (1) WO1999008429A1 (ja)

Families Citing this family (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937998B1 (en) * 1987-12-28 2005-08-30 Symbol Technologies, Inc. Arrangement for and method of expediting transactions based on a customer's proximity to the transactions
US7363291B1 (en) * 2002-03-29 2008-04-22 Google Inc. Methods and apparatus for increasing efficiency of electronic document delivery to users
US6047284A (en) 1997-05-14 2000-04-04 Portal Software, Inc. Method and apparatus for object oriented storage and retrieval of data from a relational database
JP3774807B2 (ja) * 1997-08-06 2006-05-17 タキオン インコーポレイテッド 分散型システムとオブジェクトをプレフェッチする方法
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US6038594A (en) * 1998-02-02 2000-03-14 Loral Cyberstar, Inc. Internet communication system and method with asymmetric terrestrial and satellite links
US7007072B1 (en) * 1999-07-27 2006-02-28 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US7089331B1 (en) 1998-05-29 2006-08-08 Oracle International Corporation Method and mechanism for reducing client-side memory footprint of transmitted data
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6993591B1 (en) * 1998-09-30 2006-01-31 Lucent Technologies Inc. Method and apparatus for prefetching internet resources based on estimated round trip time
US8418131B2 (en) * 1998-11-25 2013-04-09 Helmut Emmelmann Interactive server side components
US6658491B1 (en) * 1998-12-04 2003-12-02 Honeywell Inc. System and method for constructing an ole process control compliant data server from a noncompliant user application
US6564327B1 (en) * 1998-12-23 2003-05-13 Worldcom, Inc. Method of and system for controlling internet access
US7461334B1 (en) * 1999-03-19 2008-12-02 Network Solutions, Llc Apparatus and method for web forwarding
WO2000058863A1 (en) 1999-03-31 2000-10-05 Verizon Laboratories Inc. Techniques for performing a data query in a computer system
US8275661B1 (en) 1999-03-31 2012-09-25 Verizon Corporate Services Group Inc. Targeted banner advertisements
US8572069B2 (en) 1999-03-31 2013-10-29 Apple Inc. Semi-automatic index term augmentation in document retrieval
US6553393B1 (en) * 1999-04-26 2003-04-22 International Business Machines Coporation Method for prefetching external resources to embedded objects in a markup language data stream
US6601098B1 (en) * 1999-06-07 2003-07-29 International Business Machines Corporation Technique for measuring round-trip latency to computing devices requiring no client-side proxy presence
GB2350973A (en) * 1999-06-11 2000-12-13 Nokia Mobile Phones Ltd Simultaneously fetching page content and link content in a mobile web browser
US6708206B1 (en) * 1999-06-15 2004-03-16 Nokia Corporation Apparatus, and associated method, for providing a client with messages
US6427172B1 (en) * 1999-07-20 2002-07-30 Cyberstar, L.P. Method and apparatus for internet cache content delivery via a data distribution system
US6538667B1 (en) * 1999-07-23 2003-03-25 Citrix Systems, Inc. System and method for providing immediate visual response to user input at a client system connected to a computer system by a high-latency connection
US6996770B1 (en) * 1999-07-26 2006-02-07 Microsoft Corporation Methods and systems for preparing extensible markup language (XML) documents and for responding to XML requests
US6718363B1 (en) 1999-07-30 2004-04-06 Verizon Laboratories, Inc. Page aggregation for web sites
US6606650B2 (en) 1999-08-30 2003-08-12 Nortel Networks Limited Bump in the wire transparent internet protocol
US6941338B1 (en) * 1999-09-01 2005-09-06 Nextwave Telecom Inc. Distributed cache for a wireless communication system
JP3534027B2 (ja) * 1999-12-01 2004-06-07 日本電気株式会社 コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体
US7340499B1 (en) * 1999-12-03 2008-03-04 Sun Microsystems, Inc. Dynamic embedding of literal object data in supplied instance of information object
US7441014B1 (en) * 2000-02-09 2008-10-21 Tvworks, Llc Broadcast distribution using low-level objects and locator tables
US6947440B2 (en) 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
US7389284B1 (en) 2000-02-29 2008-06-17 Oracle International Corporation Method and mechanism for efficient processing of remote-mapped queries
US7257611B1 (en) * 2000-04-12 2007-08-14 Oracle International Corporation Distributed nonstop architecture for an event processing system
AU2001251643A1 (en) * 2000-04-17 2001-10-30 Circadence Corporation System and method for providing distributed database services
US6912525B1 (en) * 2000-05-08 2005-06-28 Verizon Laboratories, Inc. Techniques for web site integration
US6697850B1 (en) * 2000-05-09 2004-02-24 Northrop Grumman Corporation Satellite-based communications system having an on-board internet web proxy cache
US7328275B1 (en) * 2000-05-30 2008-02-05 Perttunen Cary D Wirelessly retrieving and locally caching child and sibling items in a browsing session
US6675202B1 (en) * 2000-05-30 2004-01-06 Cary D. Perttunen Methods, articles and apparatus for providing a browsing session
US20020026441A1 (en) * 2000-06-05 2002-02-28 Ali Kutay System and method for integrating multiple applications
US6848076B1 (en) * 2000-06-22 2005-01-25 International Business Machines Corporation Automatic fetching and storage of requested primary and related documents or files at receiving web stations after repeated failures to access such documents or files from the World Wide Web
US20020059457A1 (en) * 2000-07-06 2002-05-16 Ballard Glenn Wesley System and method for the remote creation of notification agents for wireless devices
US6795848B1 (en) * 2000-11-08 2004-09-21 Hughes Electronics Corporation System and method of reading ahead of objects for delivery to an HTTP proxy server
US6813693B2 (en) * 2000-12-11 2004-11-02 Microsoft Corporation System and method for the discovery and use of repetitively accessed data
US20020111992A1 (en) * 2000-12-18 2002-08-15 Copeland George P. JSP composition in a cache for web applications with dynamic content
US7467379B2 (en) * 2001-01-16 2008-12-16 International Business Machines Corporation System and method for incrementally executing a client/server application
US6874019B2 (en) * 2001-03-08 2005-03-29 International Business Machines Corporation Predictive caching and highlighting of web pages
US20020138555A1 (en) * 2001-03-23 2002-09-26 Yu Allen Kai-Lang Client enhanced server-side cache system
US20020147770A1 (en) * 2001-04-09 2002-10-10 Timothy Tang Multicast enabled caching service
US7139811B2 (en) * 2001-08-01 2006-11-21 Actona Technologies Ltd. Double-proxy remote data access system
US6792496B2 (en) * 2001-08-02 2004-09-14 Intel Corporation Prefetching data for peripheral component interconnect devices
US20030046336A1 (en) * 2001-08-31 2003-03-06 D'annunzio Michael A. Persistent link for broadband mobile platform communicatons systems using proxy servers
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
US7124195B2 (en) * 2001-10-17 2006-10-17 Velcero Broadband Applications, Llc Broadband network system configured to transport audio or video at the transport layer, and associated method
US7516236B2 (en) 2001-12-21 2009-04-07 Nokia Corporation Method to improve perceived access speed to data network content using a multicast channel and local cache
KR100476781B1 (ko) * 2001-12-28 2005-03-16 삼성전자주식회사 캐싱기법을 이용한 mpeg-4 시스템 단말의 제어방법
JP3809863B2 (ja) * 2002-02-28 2006-08-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ
EP1393155A2 (de) * 2002-03-06 2004-03-03 Freecom Technologies GmbH Verfahren zur überwachung und zum datenaustausch einer externen datenträgereinheit
US7376695B2 (en) * 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US8671213B2 (en) 2002-03-14 2014-03-11 Citrix Systems, Inc. Methods and apparatus for generating graphical and media displays at a client
US8099393B2 (en) 2002-03-22 2012-01-17 Oracle International Corporation Transaction in memory object store
US7610351B1 (en) * 2002-05-10 2009-10-27 Oracle International Corporation Method and mechanism for pipelined prefetching
US6751709B2 (en) * 2002-05-15 2004-06-15 Sun Microsystems, Inc. Method and apparatus for prefetching objects into an object cache
US20030225885A1 (en) * 2002-05-31 2003-12-04 Comverse, Ltd. Caching for limited bandwidth networks
JP2004005269A (ja) * 2002-05-31 2004-01-08 Toshiba Corp データ取得方法、電子機器およびデータ取得プログラム
FR2841079B1 (fr) * 2002-06-14 2005-02-25 Canal Plus Technologies Procede de diffusion d'application html
US7953820B2 (en) * 2002-09-11 2011-05-31 Hughes Network Systems, Llc Method and system for providing enhanced performance of web browsing
US20040088375A1 (en) * 2002-11-01 2004-05-06 Sethi Bhupinder S. Method for prefetching Web pages to improve response time networking
ATE445881T1 (de) * 2002-11-06 2009-10-15 Tellique Kommunikationstechnik Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung
FR2853797A1 (fr) * 2003-04-09 2004-10-15 Canon Kk Procede et dispositif de pre-traitement de requetes liees a un signal numerique dans une architecture du type client-serveur
US20040255008A1 (en) * 2003-04-21 2004-12-16 International Business Machines Corporation System for low power operation of wireless LAN
US7359395B2 (en) * 2003-06-16 2008-04-15 Packeteer, Inc. Pre-fetch communication systems and methods
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
EP1664952A1 (en) * 2003-07-23 2006-06-07 Honeywell International Inc. Caching process data of a slow network in a fast network environment
US9032096B2 (en) * 2003-12-17 2015-05-12 Cisco Technology, Inc. Reducing the impact of network latency on application performance
US20050198395A1 (en) * 2003-12-29 2005-09-08 Pradeep Verma Reusable compressed objects
US8195761B2 (en) * 2004-01-13 2012-06-05 International Business Machines Corporation Prefetching web resources based on proxy triggers
US7483941B2 (en) * 2004-01-13 2009-01-27 International Business Machines Corporation System and method for dynamically inserting prefetch tags by the web server
US20050210121A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated Satellite anticipatory bandwith acceleration
US20050210122A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated HTTP acceleration over a network link
US20050216519A1 (en) * 2004-03-26 2005-09-29 Mayo Glenna G Access point that monitors guest usage
US7624160B2 (en) * 2004-05-04 2009-11-24 International Business Machines Corporation Methods, systems, and computer program products for client side prefetching and caching of portlets
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7437364B1 (en) 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7617294B1 (en) * 2004-08-02 2009-11-10 Sun Microsystems, Inc. Method and apparatus for reducing latency involved in retrieving web page components
US7752203B2 (en) 2004-08-26 2010-07-06 International Business Machines Corporation System and method for look ahead caching of personalized web content for portals
US7496642B2 (en) * 2004-09-29 2009-02-24 International Business Machines Corporation Adaptive vicinity prefetching for filesystem metadata
US7716139B2 (en) 2004-10-29 2010-05-11 Research In Motion Limited System and method for verifying digital signatures on certificates
US20060106807A1 (en) * 2004-11-18 2006-05-18 Microsoft Corporation System and method for transferring a file in advance of its use
US7769863B2 (en) 2004-11-19 2010-08-03 Viasat, Inc. Network accelerator for controlled long delay links
GB2422217B (en) 2005-01-14 2009-12-23 Hewlett Packard Development Co Provision of services over a common delivery platform such as a mobile telephony network
US8001456B2 (en) * 2005-02-28 2011-08-16 International Business Machines Corporation Methods for maintaining separation between markup and data at a client
US7957413B2 (en) * 2005-04-07 2011-06-07 International Business Machines Corporation Method, system and program product for outsourcing resources in a grid computing environment
US8223935B2 (en) 2005-04-30 2012-07-17 Oracle International Corporation Revenue management systems and methods
US7694008B2 (en) * 2005-05-04 2010-04-06 Venturi Wireless Method and apparatus for increasing performance of HTTP over long-latency links
US8583827B2 (en) * 2005-05-26 2013-11-12 Citrix Systems, Inc. Dynamic data optimization in data network
JP4664410B2 (ja) 2005-06-28 2011-04-06 オラクル・インターナショナル・コーポレイション 収益管理システムおよび方法
US20070014995A1 (en) * 2005-07-12 2007-01-18 Jacob Chacko Thin rotary-fiberized glass insulation and process for producing same
CN101233497B (zh) 2005-07-28 2013-01-30 甲骨文国际公司 收益管理系统和方法
US7756932B2 (en) 2005-07-29 2010-07-13 Research In Motion Limited System and method for processing messages being composed by a user
ATE377891T1 (de) * 2005-07-29 2007-11-15 Research In Motion Ltd Vorausladung von sicherheitsrelevanten daten in einem mobilnetzwerk
US8340289B2 (en) 2005-09-29 2012-12-25 Research In Motion Limited System and method for providing an indication of randomness quality of random number data generated by a random data service
US7787892B2 (en) 2005-10-05 2010-08-31 Via Technologies, Inc. Method and apparatus for adaptive multi-stage multi-threshold detection of paging indicators in wireless communication systems
US8223777B2 (en) * 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
US20070130121A1 (en) * 2005-12-01 2007-06-07 Dolph Blaine H System and method of displaying a document including an embedded link
FI118666B (fi) * 2005-12-22 2008-01-31 Sendandsee Oy Informaation jakelu tietoliikennejärjestelmissä
WO2007089847A2 (en) * 2006-01-30 2007-08-09 Fast-Cat, Llc A portable dataport device and method for retrieving, inter-relating, annotating and managing electronic documents at a point of need
EP1901525A1 (en) * 2006-09-15 2008-03-19 THOMSON Licensing File repair method for a content distribution system
US8065275B2 (en) * 2007-02-15 2011-11-22 Google Inc. Systems and methods for cache optimization
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US20080201332A1 (en) * 2007-02-20 2008-08-21 Souders Steven K System and method for preloading content on the basis of user context
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US7783757B2 (en) 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US8103783B2 (en) * 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US20080228864A1 (en) * 2007-03-12 2008-09-18 Robert Plamondon Systems and methods for prefetching non-cacheable content for compression history
US7584294B2 (en) 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US7720936B2 (en) 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
CN100437590C (zh) * 2007-06-08 2008-11-26 北京大学 预取对象的方法
US8966053B2 (en) * 2007-07-12 2015-02-24 Viasat, Inc. Methods and systems for performing a prefetch abort operation for network acceleration
US7826465B2 (en) * 2007-10-04 2010-11-02 At&T Intellectual Property I, L.P. Methods, systems and computer program products for dynamic communication data routing by a multi-network remote communication terminal
US9654328B2 (en) * 2007-10-15 2017-05-16 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US9460229B2 (en) 2007-10-15 2016-10-04 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
KR100925644B1 (ko) * 2007-10-22 2009-11-06 에스케이 텔레콤주식회사 오브젝트 전송 시스템 및 그 제어방법
US20090112975A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Pre-fetching in distributed computing environments
TW200929974A (en) * 2007-11-19 2009-07-01 Ibm System and method for performing electronic transactions
NZ566291A (en) * 2008-02-27 2008-12-24 Actionthis Ltd Methods and devices for post processing rendered web pages and handling requests of post processed web pages
CN102037439A (zh) * 2008-04-17 2011-04-27 诺基亚公司 用于改进媒体服务器上的操作的系统和方法
CN101370014A (zh) * 2008-09-01 2009-02-18 华为技术有限公司 一种数据传输的方法、http代理和系统
US8958363B2 (en) 2008-10-15 2015-02-17 Viasat, Inc. Profile-based bandwidth scheduler
US8195767B2 (en) * 2008-12-22 2012-06-05 Sap Ag Method and software for reducing server requests by a browser
US8312048B2 (en) * 2009-05-19 2012-11-13 Microsoft Corporation Database application navigation
US8417765B2 (en) * 2009-06-09 2013-04-09 International Business Machines Corporation Method and apparatus to enable protocol verification
US8868637B2 (en) * 2009-09-02 2014-10-21 Facebook, Inc. Page rendering for dynamic web pages
US8780823B1 (en) 2009-10-08 2014-07-15 Viasat, Inc. Event driven grant allocation
US8346968B2 (en) * 2009-12-14 2013-01-01 Verizon Patent And Licensing Inc. Proactive DNS query system based on call flow analysis
US8473688B2 (en) 2010-03-26 2013-06-25 Microsoft Corporation Anticipatory response pre-caching
US8984048B1 (en) 2010-04-18 2015-03-17 Viasat, Inc. Selective prefetch scanning
US10417200B2 (en) * 2010-07-30 2019-09-17 Microsoft Technology Licensing, Llc Data migration for service upgrades
JP5511609B2 (ja) * 2010-09-27 2014-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・ページ作成システム、方法及びプログラム
US9077681B2 (en) 2010-10-05 2015-07-07 Microsoft Technology Licensing, Llc Page loading optimization using page-maintained cache
EP2625655A4 (en) 2010-10-06 2014-04-16 Planet Data Solutions SYSTEM AND METHOD FOR INDEXING ELECTRONIC DETECTION DATA
US8909697B2 (en) 2010-11-29 2014-12-09 Hughes Network Systems, Llc Computer networking system and method with javascript execution for pre-fetching content from dynamically-generated URL and javascript injection to modify date or random number calculation
CN102624756B (zh) * 2011-01-28 2015-06-24 联想(北京)有限公司 数据下载终端以及数据下载方法
CN102724165A (zh) * 2011-03-29 2012-10-10 海尔集团公司 终端通信的控制方法和装置、以及管理服务器
US9037638B1 (en) 2011-04-11 2015-05-19 Viasat, Inc. Assisted browsing using hinting functionality
US9912718B1 (en) 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
US11983233B2 (en) 2011-04-11 2024-05-14 Viasat, Inc. Browser based feedback for optimized web browsing
US9106607B1 (en) * 2011-04-11 2015-08-11 Viasat, Inc. Browser based feedback for optimized web browsing
US9456050B1 (en) 2011-04-11 2016-09-27 Viasat, Inc. Browser optimization through user history analysis
EA017487B1 (ru) * 2011-08-18 2012-12-28 Али Магомед Оглы Аббасов Способ приёмопередачи информации
US9094090B2 (en) 2011-09-23 2015-07-28 Gilat Satellite Networks Ltd. Decentralized caching system
US8589385B2 (en) 2011-09-27 2013-11-19 Amazon Technologies, Inc. Historical browsing session management
US9594751B1 (en) * 2011-10-20 2017-03-14 Amazon Technologies, Inc. Predictive delivery of digital content items to mobile devices to support offline transactions
US9313100B1 (en) 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
US9294582B2 (en) * 2011-12-16 2016-03-22 Microsoft Technology Licensing, Llc Application-driven CDN pre-caching
US9330188B1 (en) 2011-12-22 2016-05-03 Amazon Technologies, Inc. Shared browsing sessions
US8839087B1 (en) 2012-01-26 2014-09-16 Amazon Technologies, Inc. Remote browsing and searching
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
CN103260187B (zh) 2012-02-20 2016-03-02 华为技术有限公司 内容编码预同步的方法、设备及系统
US9066321B1 (en) 2012-04-17 2015-06-23 Exelis Inc. Proxy-based establishment of a communication session
US9946792B2 (en) * 2012-05-15 2018-04-17 Google Llc Access to network content
US20130339532A1 (en) * 2012-06-18 2013-12-19 Richard Nelson System and method for cookie-based browser identification and tracking
US9747386B1 (en) * 2012-08-10 2017-08-29 Amazon Technologies, Inc. User-perceived performance through browser hints
US9705957B2 (en) 2013-03-04 2017-07-11 Open Garden Inc. Virtual channel joining
US20160191658A1 (en) * 2013-03-15 2016-06-30 Instart Logic, Inc. Efficient delivery of webpages
US10375192B1 (en) 2013-03-15 2019-08-06 Viasat, Inc. Faster web browsing using HTTP over an aggregated TCP transport
US9298455B1 (en) 2013-03-15 2016-03-29 Instart Logic, Inc. Provisional execution of dynamic content component
US9363329B1 (en) 2013-03-15 2016-06-07 Instart Logic, Inc. Identifying correlated components of dynamic content
US9578137B1 (en) 2013-06-13 2017-02-21 Amazon Technologies, Inc. System for enhancing script execution performance
US10152463B1 (en) 2013-06-13 2018-12-11 Amazon Technologies, Inc. System for profiling page browsing interactions
US9565233B1 (en) * 2013-08-09 2017-02-07 Google Inc. Preloading content for requesting applications
CN104572650A (zh) * 2013-10-11 2015-04-29 中兴通讯股份有限公司 浏览器智能阅读实现方法、装置及其终端
US9503975B2 (en) 2014-02-07 2016-11-22 Open Garden Inc. Exchanging energy credits wirelessly
US20170011133A1 (en) * 2014-03-31 2017-01-12 Open Garden Inc. System and method for improving webpage loading speeds
US9613158B1 (en) 2014-05-13 2017-04-04 Viasat, Inc. Cache hinting systems
US9319346B2 (en) * 2014-05-13 2016-04-19 Opera Software Asa Web access performance enhancement
US10855797B2 (en) 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
US10313486B2 (en) 2015-01-07 2019-06-04 Sonicwall Inc. Optimizing transfer of fragmented packetized data
US10425464B2 (en) 2015-01-08 2019-09-24 Instart Logic, Inc. Adaptive learning periods in HTML streaming
US9813526B2 (en) 2015-05-26 2017-11-07 Sonicwall Inc. Reducing transmission pathway lengths within a distributed network
US11070608B2 (en) 2015-06-17 2021-07-20 Fastly, Inc. Expedited sub-resource loading
US10158735B2 (en) * 2015-08-07 2018-12-18 Sonicwall Inc. Read-ahead on signed connections with unsigning, inline, transparent proxies
AU2016317736B2 (en) 2015-08-28 2020-07-23 Viasat, Inc. Systems and methods for prefetching dynamic URLs
EP3341854B1 (en) 2015-09-14 2018-12-19 ViaSat, Inc. Machine-driven crowd-disambiguation of data resources
EP3342126B1 (en) 2015-09-23 2020-09-16 Viasat, Inc. Acceleration of online certificate status checking with an internet hinting service
BR112018007818B1 (pt) 2015-10-20 2023-10-17 Viasat, Inc. Método para atualização de modelo de sugestão e sistema de geração de sugestão acionado por máquina
WO2017074359A1 (en) 2015-10-28 2017-05-04 Viasat, Inc. Time-dependent machine-generated hinting
US11870836B2 (en) 2015-12-04 2024-01-09 Viasat, Inc. Accelerating connections to a host server
US10868881B1 (en) * 2015-12-30 2020-12-15 Mingtai Chang Loading web resources using remote resource pushing
US10567541B2 (en) * 2016-02-15 2020-02-18 Global Eagle Entertainment Inc. Network communication system and method with web push protocol
WO2017163426A1 (ja) * 2016-03-25 2017-09-28 富士通株式会社 中継装置、中継方法及び中継プログラム
US10880396B2 (en) 2016-12-02 2020-12-29 Viasat, Inc. Pre-fetching random-value resource locators
US10970354B2 (en) * 2017-07-17 2021-04-06 Songtradr, Inc. Method for processing code and increasing website and client interaction speed
US10686907B2 (en) 2017-08-25 2020-06-16 Hughes Network Systems, Llc Reducing bandwidth consumption and latency in satellite communications
US10911370B2 (en) * 2017-09-26 2021-02-02 Facebook, Inc. Systems and methods for providing predicted web page resources
US10452868B1 (en) 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
US11880422B2 (en) * 2019-02-04 2024-01-23 Cloudflare, Inc. Theft prevention for sensitive information
WO2020252486A1 (en) * 2019-06-14 2020-12-17 Zycada Networks, Inc., Proactive conditioned prefetching and origin flooding mitigation for content delivery

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715445A (en) * 1994-09-02 1998-02-03 Wolfe; Mark A. Document retrieval system employing a preloading procedure
US5706507A (en) * 1995-07-05 1998-01-06 International Business Machines Corporation System and method for controlling access to data located on a content server
JP3386964B2 (ja) * 1995-11-20 2003-03-17 シャープ株式会社 ゲートウェイ装置
US6009306A (en) * 1996-02-05 1999-12-28 Hargis; Keith J. Hub communications satellite and system
US5754774A (en) * 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
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
US5852717A (en) * 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5918239A (en) * 1997-01-21 1999-06-29 International Business Machines Corporation Deferred display of web pages corresponding to links selected by user
JP3774807B2 (ja) * 1997-08-06 2006-05-17 タキオン インコーポレイテッド 分散型システムとオブジェクトをプレフェッチする方法
US6085193A (en) * 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
JPH11149405A (ja) * 1997-11-14 1999-06-02 Hitachi Ltd Wwwキャッシュシステムおよびwwwデータの先読み方法

Also Published As

Publication number Publication date
WO1999008429A1 (en) 1999-02-18
US20030120658A1 (en) 2003-06-26
EP1002410A1 (en) 2000-05-24
CN1108685C (zh) 2003-05-14
RU2210871C2 (ru) 2003-08-20
KR20010022687A (ko) 2001-03-26
DE69827638D1 (de) 2004-12-23
DE69827638T2 (de) 2005-12-01
AU737551B2 (en) 2001-08-23
US6598048B2 (en) 2003-07-22
US6907429B2 (en) 2005-06-14
AU8771598A (en) 1999-03-01
US20020010761A1 (en) 2002-01-24
WO1999008429A8 (en) 1999-03-25
US6282542B1 (en) 2001-08-28
JP2001513600A (ja) 2001-09-04
KR100571059B1 (ko) 2006-04-14
CN1272279A (zh) 2000-11-01
ATE282922T1 (de) 2004-12-15
EP1002410B1 (en) 2004-11-17
CA2298712A1 (en) 1999-02-18

Similar Documents

Publication Publication Date Title
JP3774807B2 (ja) 分散型システムとオブジェクトをプレフェッチする方法
JP4859072B2 (ja) コンテンツ・タイミング方法およびシステム
US9032096B2 (en) Reducing the impact of network latency on application performance
US8131823B2 (en) System and method for reading ahead of content
US6854018B1 (en) System and method for intelligent web content fetch and delivery of any whole and partial undelivered objects in ascending order of object size
US6993590B1 (en) Method of creating data streams for user-specific usage data gathering systems
US6892218B2 (en) Extending network services using mobile agents
JP3595470B2 (ja) 要求されたオブジェクトを検索する方法
US20020026460A1 (en) Reduction of meta data in a network
US6606645B1 (en) Method for preconnecting to a server on a network
US6256669B1 (en) Method and apparatus for bandwidth characterization and reporting in web browsers
US7143181B2 (en) System and method of sending chunks of data over wireless devices
KR20040044182A (ko) 통신네트워크의 유효 대역폭 증가 시스템 및 방법
CN101662464A (zh) 一种用于实现http请求服务的系统及其方法
US8868638B2 (en) Methods for reducing latency in network connections using automatic redirects and systems thereof
US20040019653A1 (en) Context-aware client system
Steinberg et al. A web middleware architecture for dynamic customization of content for wireless clients
US20040015484A1 (en) Client context-aware proxy server system
US20020194327A1 (en) Method for sensing the status of a client from a server
US20190379756A1 (en) Automatically Redirecting Mobile Client Devices to Optimized Mobile Content
KR100313847B1 (ko) 북마크정보를이용한인터네트서비스장치및방법
MXPA00001233A (en) A distributed system and method for prefetching objects
US20200402115A1 (en) Serving an Online Advertisement Asynchronously
TWI472205B (zh) A system for implementing an HTTP request service and a method thereof
Bihbu et al. Design and Analysis of Enhanced HTTP Proxy Cashing Server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060206

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: 20100303

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120303

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130303

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130303

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140303

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees