KR100571059B1 - 예비 페칭을 위한 분산된 시스템 및 방법 - Google Patents

예비 페칭을 위한 분산된 시스템 및 방법 Download PDF

Info

Publication number
KR100571059B1
KR100571059B1 KR1020007001282A KR20007001282A KR100571059B1 KR 100571059 B1 KR100571059 B1 KR 100571059B1 KR 1020007001282 A KR1020007001282 A KR 1020007001282A KR 20007001282 A KR20007001282 A KR 20007001282A KR 100571059 B1 KR100571059 B1 KR 100571059B1
Authority
KR
South Korea
Prior art keywords
web
satellite
link
request
inline
Prior art date
Application number
KR1020007001282A
Other languages
English (en)
Other versions
KR20010022687A (ko
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21993896&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100571059(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 태크욘 인코포레이티드 filed Critical 태크욘 인코포레이티드
Publication of KR20010022687A publication Critical patent/KR20010022687A/ko
Application granted granted Critical
Publication of KR100571059B1 publication Critical patent/KR100571059B1/ko

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)
  • Radio Relay Systems (AREA)
  • Communication Control (AREA)

Abstract

위성링크를 포함한 인터넷 접속 시스템에서, 웹페이지의 인라인개체 검색과 연관된 딜레이를 감소시키는 분산 프록시 서버(68)가 제공된다. 분산 프록시 서버(68)는 접속 포인트 콤포넌트(70) 및 위성 게이트웨이 콤포넌트(72)를 포함한다. 접속 포인트 콤포넌트(70)는 위성링크의 클라이언트(브라우저)측에서 작동되고, 웹브라우저들(20A-20N)과 통신한다. 위성 게이트웨이 콤포넌트(72)는 위성링크의 인터넷측에서 작동되고, 웹서버(26)와 통신한다. 웹서버가 위성링크를 통하여 검색될 때, 위성 게이트웨이 콤포넌트(72)는 웹페이지의 기본 파일 콤포넌트를 분석하여 웹페이지의 인라인 개체에 대한 참조가 있는 지를 확인하고, 인라인 개체를 예비 페치한다. 분산 프록시 서버는 따라서 (a) 웹브라우저가 기본 콤포넌트를 수신하여 개체를 요청하기 위한 대기, 및 (b) 브라우저의 개체 요청이 위성링크를 통하여 전송되는 대기와 통상 연관된 딜레이를 제거할 수 있다. 예비 페치된 개체는 위성링크를 통하여 접속 포인트 콤포넌트(70)에 전송되고, 접속 포인트 콤포넌트는 예비 페치된 개체를 개체 캐시(71)에 다시 저장한다. 웹브라우저(20)가 인라인 개체를 요청할 때, 접속 포인트 콤포넌트(70)는 캐시(71)를 점검하여, 개체가 존재하면, 개체 요청을 위성링크를 통하여 전송하지 않고 브라우저(20)로 개체를 준다. 따라서, 위성링크를 거치는 트래픽은 감소된다. 분산 프록시 서버(68)로 수행되는 방법은 또한 유선링크를 포함한 기타 타입의 링크에서의 딜레이 및 트래픽을 감소시키는 데 이용될 수 있다.

Description

예비 페칭을 위한 분산된 시스템 및 방법{A Distributed System for Prefetching Objects and Method Thereof}
본 발명은 통상 데이터전송에 관한 것이다. 더욱 구체적으로는, 본 발명은 디지털 데이터 전송에 관한 것이다.
인터넷 열기로 인하여 다수의 회사들 및 개인들이 인터넷에 그들의 존재를 설정하게 되었다. 예를 들면, 회사는 제품 및 서비스를 설명한 웹페이지를 제작하여 이용자로 하여금 구매주문을 내도록 하고있다. 이러한 웹페이지는 웹서버에 저장된다. 이용자는 컴퓨터에서 실행되는 웹브라우저 소프트웨어를 이용하여 웹서버상의 웹페이지에 접속한다. 웹페이지는 동일 사이트 또는 기타 사이트상의 다른 정보와의 링크들을 포함할 수 있다.
도 1은 인터넷 연결도이다. 이용자는 웹브라우저 20에서 파일 요청(file request)을 개시한다. 웹브라우저 20은 개인컴퓨터, 네트워크 단말기 또는 웹브라우저 소프트웨어를 실행할 수 있는 기타 디지털 이용자 단말기로 구성될 수 있다. 요청은 인터넷 24의 연속 라우터 22A-22N을 통해 전달된다. 라우터 22A-22N은 요청내용을 검사하지 않고 어드레스헤더(address header)에 따른 적합한 웹서버 26으로 단순히 요청만을 전송한다. 웹서버 26은 요청내용을 검사하여 요청된 파일로 응답한다.
이용자가 인터넷상의 정보접속을 원한다면, 균일자원위치자(uniform resource locator, URL)을 웹브라우저에 입력한다. URL은 기본적으로 개체(object)위치를 지정한 포인터이다. 예를들면, "http:\www.internic.nett"는 균일자원위치자를 기술한 컴멘트 자료요청(Request For Comment document)을 지정한 URL주소이다. URL에서, "http"는 하이퍼텍스트 트랜스퍼 프로토콜(HyperText Transfer Protocol, HTTP) 프로토콜을 이용하여 사이트에 접속한다는 의미이다. 더블 백슬러쉬(backslash)는 "www.internic.net"과 같은 호스크 이름이 뒤따른다는 의미이다. 싱글 백슬러쉬는 디렉토리 또는 파일명이 뒤따른다는 뜻이다. 상기 경우에, rfc는 디렉토리이고, "rfc1738.txt"는 URL이 웹브라우저 20에 의해 요청시 보여지는 디렉토리내의 파일이다.
월드 와이드 웹(World Wide Web)은 인터넷 위에서 만들어지고, HTTP는 월드 와이드 웹에서 가장 일반적으로 이용되는 클라이언트/서버 프로토콜이다. HTTP는 클라이언트와 서버간의 통신을 설정하고 두 시스템간의 명령 및 파일들을 전송하기 위하여 이용된다.
HTTP는 웹브라우저가 웹서버에 접속하여 하이퍼텍스트 마크업 언어(HyperText Markup Language, HTML)를 이용하여 제작된 자료들을 요청하도록 하는 수단을 제공한다. HTML 웹페이지는 이미지, 사운드클립(sound clip), 텍스트파일 및 기타 형태의 개체를 포함할 수 있다. 일부개체는 웹브라우저 20에 의해 요청된 원래의 HTML 모파일(parent file)(Web자료의 기본 콤포넌트(component))의 일부가 아닐 수 있다. 이 경우에는, 대신 HTML 모파일은 서버상의 기타 데이터 파일 형식인 이러한 인라인 개체에 대한 외부참조(external reference)를 포함한다. 이용자가 웹브라우저상으로 HTML 모파일을 검색(retrieve)할 때, 인라인개체들도 검색되어 출력 자료내로 삽입된다. 따라서, HTML자료(또는 "페이지")는 실질적으로 추가적인 사운드, 그래픽 및 모파일로 특정된 멀티미디어 인라인개체들과 함께 HTML 모파일로 구성된다. 예들 들면, 인라인 개체들은 광고배너, 슬라이더(slider), 블릿 리스팅(bullet listing), 그래픽 이미지, 사운드 클립 또는 기타 아이템을 포함할 수 있다.
도2는 웹브라우저 20으로부터 및 웹브라우저 20으로의 데이터전송을 보여주는 시간다이아그램이다. 도 2에서 시간경과는 좌측에서 우측으로 진행된다. 상향 화살표는 웹브라우저 20으로부터 웹서버 26을 향할 목적으로 나가는 메시지를 나타낸다. 하향 화살표는 웹서버 26으로부터 웹브라우저 20에 수신되는 들어오는 메시지를 표시한다. 간단한 도시를 위하여, 각각의 들어오는 그리고 나가는 메시지들은 동시에 전송되는 것처럼 나타내었다. 실제 동작에 있어서는, 각 메시지의 전송은 일반적으로 구별가능한 정도의 시간 경과가 필요하다.
나가는 메시지 30은 초기 URL요청을 반송한다. 응답시, 들어오는 메시지 32는 나가는 메시지 30에서 반송된 요청에 대한 제 1응답부를 반송한다. 들어오는 메시지 34 및 들어오는 메시지 36은 제 2 및 제 3응답부에 해당된다.
들어오는 메시지 32는 인라인개체에 대한 외부참조를 포함한다고 가정하자. 웹브라우저 20은 들어오는 정보를 검사하여 그 응답으로 인라인 개체 요청을 반송 하는 나가는 메시지 38을 전송한다. 설명할 목적으로, 인라인 개체는 사운드클립이라고 하자.
나가는 메시지 38 뒤로, 웹브라우저 20은 나가는 메시지 30에 반송된 초기 요청에 대한 추가정보를 포함한 들어오는 메시지 40을 수신한다. 초기 요청에 대한 들어오는 메시지 수신후에, 웹브라우저 20은 들어오는 메시지 42내에서의 사운드 클립 수신을 개시한다. 들어오는 메시지 44에서, 웹브라우저 20은 사운드 클립 관련 정보 수신을 계속한다.
들어오는 메시지 42는 광고배너인 인라인 개체에 대한 외부참조를 포함한다고 가정하자. 나가는 메시지 46은 광고배너 요청을 반송한다. 나가는 메시지 46 뒤에, 웹브라우저 20은 들어오는 메시지 48 및 50을 수신하며, 이들은 사운드클립에 해당되는 정보를 포함한다. 마지막으로, 들어오는 메시지 52에서, 웹브라우저 20은 광고배너를 포함한 정보를 수신한다.
웹브라우저 20이 웹서버 26으로부터의 정보를 요청할 때마다. 딜레이(delay)가 발생한다. 예를들면, 나가는 메시지 30과 해당 들어오는 메시지 32간에 타임딜레이 △T1A가 경과된다. 딜레이는 두가지 주요성분으로 구성된다: (i) 웹서버 26 연결과 관련된 라운드-트립(round-trip)딜레이, 및 (ii) 웹서버 26의 응답시간. 도 2에서 예를 들면, 이미 요청된 개체들 및 모파일 전송으로 딜레이되고, 따라서 타임딜레이들 △T2A 및 △T3A는 △T1A보다 길다.
아래 더욱 상세히 기술된 바와 같이, HTTP 프로토콜은 웹브라우저가 모파일을 검사하여 인라인 개체에 대한 개별요청을 발생하도록 하기 때문에, 상당한 딜레이를 가져오는 링크도입은 웹페이지를 완전히 수신하여 보여주는데 필요한 시간을 상당히 증가시킨다. 예를 들면, 만일 이용자의 인터넷 접속채널이 위성링크를 포함한다면, 단일 인라인 개체를 포함한 웹페이지 수신에 요구되는 시간은 위성링크의 라운드-트립 딜레이에 최소한 2배일 것이다. 더욱이, 개별적으로 인라인 개체를 요청하는 것은 통신링크상에 불필요한 트래픽(traffic)을 유발한다. 본 발명은 HTTP 프로토콜을 변경함이 없이 이러한 문제점을 해결하는 것이다.
글로발콤 1966 글로발인터넷 1996 컨퍼런스 레코드(1996년 11월 18일) 28-32쪽에서의("Globalcom 1996 Global Internet 1996 Conference Record, 18 November 1996, pp 28-32) "월드 와이드 웹에서의 예비페칭"("Prefetching in World Wide Web")이라는 제목에서 젱왕 및 존 크로우크로프트("왕")(Zeng Wang and Hon Crowcroft,"Wang")은 클라이언트 개시 예비 페칭 및 로컬 캐싱 프록시(local caching proxy)를 이용한 웹페이지 캐싱을 개시한다. 캐싱 프록시는 서브하는 웹브라우저에게 투과적으로 작동하므로, HTTP프로토콜 변경이 요구되지 않는다. 왕은 또한 브라우저와 프록시 서버간에 존재하여 브라우저로 하여금 웹페이지를 예비 페치하도록 하는 명령을 하는 개별 콤포넌트의 이용을 개시한다. 왕은 또한 서버 개시 예비 페칭 가능성을 언급하나, 현재의 HTTP프로토콜의 확장(extension) 및 클라이언트 및 서버 소프트웨어 양자의 변경이 필요하다고 결론짓고 있다. 왕의 클라이언트 개시 예비 페치기술은 위성 링크와 같이 상당히 긴 대기 링크를 통한 인라인 개체 검색 문제에 대한 적절한 해결을 제시하지 않는다. 예를 들면, 왕의 캐싱 프록시가 위성 링크를 통한 인라인 개체를 예비 페치하기 위하여 이용된다면, 인라인 개체는 모(HTTP)파일이 위성 링크의 클라이언트 측에 도달할 때까지 요청되지 않을 것이다. 개체 요청 메시지는 정방향(클라이언트에서 서버특)으로 위성 링크를 거쳐야 한다; 이후 인라인 개체는 역방향으로 위성 링크를 거쳐야 한다. 따라서 모파일이 위성 링크 클라이언트특에 도달되면, 위성 링크의 라운드-트립 딜레이는(예비 페칭이 적용되지 않는 통상의 경우와 같이) 인라인 개체가 브라우저에 도달되기 전에 다시 유발될 것이다.
본 발명은 분산시스템 및 자료의 인라인개체 예비 페칭방법을 제공하여 상기 문제점들을 해결한다. 바람직한 실시예에서, 시스템은 위성링크를 포함하는 인터넷 접속시스템에서 이용하기 위한 분산 프록시 서버(proxy server) 형태이다. 분산 프록시 서버는 위성링크의 클라이언트(브라우저)측에서 실행되고 웹브라우저와 통신하는 접속 포인트 콤포넌트(access point component)를 포함하고, 위성링크의 인터넷(웹서버)측에서 실행되고, 웹서버와 통신하는 위성게이트웨이 콤포넌트(satellite gateway component)를 포함한다. 작동시, 이용자에 의해 요청된 웹페이지의 모파일을 웹서버가 줄 때, 위성게이트웨이 콤포넌트가 모파일을 분석하여 인라인 개체에 대한 참조를 확인하고, 이러한 개체를 웹서버로부터 예비 페치한다. 따라서, 브라우저가 모파일을 수신하여 인라인 개체 요청을 할 때까지를 기다리지 않고 개체는 요청된다.
위성 게이트웨이는 예비 페치된 개체들을 위성링크를 통하여 접속 포인트 콤포넌트로 전달하고, 이것은 다시 브라우저에 의해 요청될 때까지 인라인 개체들을 캐쉬(cache)한다. 만일 접속 포인트 콤포넌트가 캐쉬에 있는 개체에 대한 요청을 수신받으면, 접속 포인트 콤포넌트는 위성링크를 통하여 개체요청을 전달함이 없이 개체를 준다. 분산 프록시 서버는 따라서 인라인 개체에 대한 요청과 연관된 릴레이를 감소시키고, 위성링트를 통한 트래픽을 감소시킨다.
바람직한 실시예에서의 시스템이 위성링크와 연관되어 작동된다고 할지라도, 기본 방법 및 아키텍쳐(architecture)는 무선링크를 포함한 기타 형태의 링크를 통하여 효율을 증대시킬 수 있다. 또한, 바람직한 실시예에서는 HTTP를 이용한 시스템에서 작동된다고 할 지라도, 본 발명은, 기본 콤포넌트와 별개로 인라인개체가 요청되는 기타 자료검색프로토콜 형태에서도 이용될 수 있다.
본 발명에 의하면, 자료의 인라인 개체가 요청되고 자료의 기본 콤포넌트와는 별개로 검색되는 클라이언트-서버 형태 자료검색시스템에서, 통신링트에 의해 발생되는 효율저하를 감소시키는 분산시스템을 제공한다. 분산시스템은 통신링크의 클라이언트측에서 실행되고 클라이언트와 통신하며, 클라이언트로부터의 자료요청을 수신하고, 이를 처리하기 위하여 통신링크를 통하여 요청을 전송하기에 적합한 제 1콤포넌트로 구성된다. 또한 시스템은 통신링크의 서버측에서 실행되고 자료서버와 통신하며, 통신링크를 통하여 제 1콤포넌트로부터 자료서버가 요청된 자료의 기본 콤포넌트를 주도록 하는 자료요청을 수신하고, 자료서버로 요청을 전송하기에 적합한 제 2콤포넌트로 구성된다. 작동시, 제 2 콤포넌트는 최소한 (i) 기본 콤포넌트를 분석하여 인라인 개체에 대한 참조를 확인하고, (ii) 인라인 개체를 예비 페치하고, (iii) 기본 콤포넌트 및 예비 페치된 인라인 개체들을 제 1콤포넌 트로 전송하여, 자료서버로부터의 기본콤포넌트를 처리한다. 제 1콤포넌트는 제 2콤포넌트로부터 수신된, 예비 페치된 인라인 개체를 캐쉬메모리에 저장하고, 캐쉬메모리로부터 클라이언트로 인라인개체를 전송함으로서 클라이언트로부터의 개체요청에 응답한다.
본 발명의 특징, 목적 및 장점들은 도면들을 참조할 때 상세한 설명으로부터 더욱 명백하여 질 것이고, 도면에서 동일부는 동일참조부호를 사용한다.
도 1은 인터넷 연결망을 도시한 블록다이아그램,
도 2는 웹브라우저로의 또는 웹브라우저로부터의 데이터전송을 도시한 시간다이아그램,
도 3은 위성링크로 구성된 인터넷 연결을 도시한 블록다이아그램,
도 4는 위성링크를 시스쳄내로의 도입한 후 도2에서 도시된 데이터의 전송을 도시한 시간다이아그램,
도 5는 프록시 서버로 구성된 인터넷 연결을 도시한 블록다이아그램,
도 6은 본 발명에 의한 분산 프록시 서버로 구성된 디지털 데이터 네트위크를 도시한 블록다이아그램,
도 7은 본 발명에 의한 데이터 전송의 하나의 실시예를 도시한 데이터 플로우 다이아그램,
도 8은 본 발명에 의한 분산 프록시서버를 통하여 전송될 때, 도 2 및 도 4에서 도시된 데이터의 전송을 도시한 시간 다이아그램이다.
디지털 데이터의 전송을 위한 무선 통신 시스템 사용은 점점 확산되고 있다. 무선 시스템에서, 가격과 유용성의 관점에서 가장 귀중한 자원은 무선 링크(wireless link) 그 자체이다. 따라서, 무선 링크를 포함하는 통신 시스템을 구상할 때 주된 디자인 목적은 무선 링크의 유용한 용량을 효과적으로 사용하는 것이다. 또한, 무선 링크의 통과와 관련된 딜레이(delay)가 네트워크의 나머지 부분과 관련된 딜레이보다 일반적으로 더 길다. 따라서, 무선 링크 이용과 관련된 딜레이를 줄이는 것이 바람직하다.
독립적인 컴퓨터가 강력한 도구이기는 하지만, 연결되어 네트워크를 형성하면 더 강력해진다. 연결되는 컴퓨터 수가 증가함에 따라, 그들을 연결하는 네트워크에 대한 요구도 증가하고 있다. 컴퓨터가 서로 가깝게 위치하면, 정교한 유선망으로 연결된다. 네트워크로부터 멀리 위치한 컴퓨터는 표준 전화선을 통해 연결되어 통신망에 접속된다. 하지만, 전화선은 컴퓨터와 네트워크사이에 데이터를 전달하는 속도를 제한하는 한정된 대역폭을 갖는다.
따라서, 디지털 데이터 네트워크에 접속하는 대체 수단이 개발되어 왔다. 예를 들어, 위성 링크는 데이터 네트워크내에서 디지털 데이터를 전달하는 데 사용될 수 있다. 지구 정지 궤도 위성 링크를 사용하면 라운드-트립 딜레이(round-trip delay)가 대략 1/2초 걸린다. 전형적인 디지털 데이터 네트워크에 현재 사용되는 프로토콜은 이렇게 긴 라운드-트립 딜레이를 염두에 두고 개발되지는 않았다. 상당한 딜레이가 도입된 네트워크를 사용하면 평균 데이터 전송 속도는 수용할만한 수준이하로 감소시킬 수도 있다. 본 발명은 디지털 데이터 시스템에 접속하기 위해서, 상당한 딜레이가 도입된 링크를 사용할 때 야기된 비효율성을 감소시킨다. 또한 본 발명으로 디지털 데이터 시스템 링크의 효과적인 사용을 증가시킨다. 도 3은 위성 링크(satellite link)로 구성된 인터넷 연결을 보여주는 블록 다이아그램이다. 도 3에서, 웹 브라우저(web browser) 20은 위성 터미널(satellite terminal) 60과 연결되어 있다. 위성 터미널 60은 지구 정지 궤도 위성 62를 통해서 지구국(earth station) 64에 연결되어 있다. 지구국 64는 인터넷 24의 연속 라우터(router) 22A-22N에 연결되어 있다. 인터넷 24는 웹 서버(web server) 26에 연결되어 있다. 지구 정지 궤도 위성 링크가 포함되면 위성 터미널 60과 지구국 64사이의 하나의 신호 전송에 270 밀리초(millisecond)가 딜레이된다. 따라서, 웹 브라우저 20과 웹서버 26사이의 각 데이터 전송은 적어도 1/2초의 라운드-트립 딜레이가 있다.
도 4는 위성 링크로 구성된 시스템을 통하여, 도 2에서 도시된 데이터의 전송을 도시한 시간 다이아그램(timing diagram)이다. 인라인 개체(inline object)에 대한 내포된 요청(nested request) 때문에, 시스템은 라운드-트립 딜레이에 해당되는 초기 시스템 딜레이를 유발할 뿐만 아니라, 연속적으로 인라인 개체가 요청됨에 따라 추가적인 딜레이가 발생한다.
나가는 메시지 30′은 무선 링크를 통하여 전송되는 초기 URL 요청을 반송한다. 링크의 라운드-트립 딜레이 때문에, 나가는 메시지 30'에서 반송된, 요청에 대한 제 1응답부를 반송하는 들어오는 메시지 32′는 타임딜레이 △T1B의 딜레이 후에 수신된다. 들어오는 메시지 32′가 사운드 클립(sound clip)인 인라인 개체의 외부 참조로 구성된다고 가정하자. 응답시, 웹 브라우저 20은 인라인 개체에 대한 요청을 반송하는 메시지 38′을 보낸다. 링크의 라운드-트립 딜레이 때문에, 나가는 메시지 38′에서 반송되는 요청에 대한 제 1응답부를 반송하는 들어오는 메시지 42′는 타임딜레이 △T2B의 딜레이 후에 수신된다. 응답된 들어오는 메시지 42′가, 광고 배너(ad banner)인 인라인 개체에 대한 외부 참조를 포함한다고 가정하자. 나가는 메시지 46′은 광고 배너에 대한 요청을 반송한다. 링크의 라운드-트립 딜레이 때문에, 나가는 메시지 46′에 반송된 요청에 대한 제 1응답부를 반송하는 들어오는 메시지 52′는 타임딜레이 △T3B의 딜레이 후에 수신된다.
도 4 에서의 타임딜레이들 △T1B, △T2B, 및 △T3B는 도 2의 타임딜레이들 △T1A, T2A, 및 T3A보다 더 길다는 것에 유의해야 한다. 이러한 차이점은 주로 무선 링크와 관련된 라운드 트립 딜레이 때문이다. 요청이 이루어질 때 마다, 제 1응답부는 적어도 라운드 트립 딜레이만큼 딜레이된다. 따라서, 상대적으로 긴 딜레이가 도입된 링크를 포함하면 평균 데이터 전송 속도를 낮출 뿐 아니라, 상당한 초기 고정 딜레이가 도입될 수 있다.
도 5는 프록시 서버(proxy server) 66으로 구성된 인터넷 연결망을 도시한 블록 다이아그램이다. 프록시 서버 66은 다수의 웹브라우저들 20A-20와 인터넷 24 을 인터페이스 하도록 디자인된다. 프록시 서버 66은 인터넷 24를 통한 적대적 침투로부터 웹브라우저 20A-20N (및 이들이 운영되는 네트워크)를 보호하기 위해 설계될 수 있다. 예를 들어서, 프록시 서버 66은 다른 인터넷 이용자가 내부 네트워크에 접속하는 것을 막는 일방(one-way) 서버일 수 있다.. 내부 이용자의 요청에 따라 수신된 패킷만이 인터넷 24로부터 프록시 서버 66을 통해서 허용된다. 프록시 서버 66에 수신된 다른 데이터는 웹브라우저 20A-20N에 전송되지 않는다.
프록시 서버 66은 다수의 이용자들에 대한 단일 접속점을 제공하기 때문에, 각각의 웹브라우저들 20A-20N에서보다는 프록시 서버 66에서 바이러스 검사(virus scanning), 내용 여과, 제어 접속과 같은 기능을 수행하는 것이 상당히 용이하다. 따라서, 회사는 프록시 서버 66을 네트워크의 중심제어점으로 사용하여 더 용이하게 내부 네트워크에 대해 제어할 수 있다.
프록시 서버 66은 시스템 이용자들에게 투과적으로(transparently) 설계되어 있다. 이것은 웹브라우저들 20A-20Ndl 프록시 서버 66의 존재를 알지 못한다는 것을 의미한다. 웹 접속(access)은 프록시 서버 66을 통해 일어난다. 웹브라우저 들 20A-20N이 프록시 서버 66을 인식하지 못한다 할지라도, 최종 결과는 웹브라우저들 20A-20N이 프록시 서버 66과 인터넷 24로부터 정보의 조합을 수신하게 된다.
종종 캐싱(caching)은 웹브라우저 20에 의해 인식될 때의 시스템의 효율을 증가시키는 데 사용된다. "캐싱"이라는 용어는 프록시 서버 66에 의해 수신된 자료의 복사본(copies)을 로컬 저장 장치(local storage media) (단기간 캐싱에서는 주메모리도 포함)에 저장하는 과정을 말한다. 프록시 서버 66은 각 웹브라우저들 20A-20N이 인터넷 24에 접속하는 중앙에 위치 하기 때문에, 프록시 서버 66은 자주 접속되는 자료를 캐시하여 이 자료들을 요청하는 웹브라우저 20가 유용하게 빨리 사용할 수 있도록 할 수 있다. 예를 들어, 금융 서비스 기관에서, 많은 브라우저들이 매일 월 스트리트 저널 홈페이지(Wall Street Journal home page)에 접속할 것이다. 만약 프록시 서버 66이 캐싱 기능을 가진다면, 월 스트리트 저널 홈페이지는 매일 첫 요청 후에 캐시되어,. 이후의 요청자는 인터넷 24가 아니라 로컬 캐시로부터 월 스트리트 저널 홈페이지를 수신한다. 일반적으로, 캐싱은 대기 시간을 줄이고 네트워크 대역폭을 절약하여 시스템의 효율을 향상시킨다. 캐싱의 한 종류인 소위 예비 페칭은 클라이언트가 요청할 것 같은 자료를 캐싱하는 것이다. 미리 요청된 모파일(parent file)내의 인라인 개체가 클라이언트가 요청할 것 같은 자료의 한 예이다. 프록시 서버가 모파일을 분석하면, 프록시 서버는 자료가 인라인개체에 대한 외부 참조를 포함하고 있는지를 결정할 수 있고, 웹브라우저로부터 실제로 요청이 도달하기 전에, 프록시 서버는 인라인 개체 검색을 시작할 수 있다.
인라인 개체를 예비 페칭하는 경우에, 요청 예측은 매우 결정적이다. 웹브라우저 소프트웨어가 인라인 개체를 자동적으로 로드하도록 구성되지 않은 드문 경우에, 예측은 실패할 것이다. 또한, 모든 인라인 개체가 요청되기 전에, 이용자가 검색을 중지한다면, 웹브라우저는 일부 개체들이 요청되지 않을 것이다. 하지만, 일반적인 경우에 웹브라우저는 모자료(parent document)에 의해 언급된 각 인라인 개체를 요청한다.
캐싱 기능을 가진 선행의 프록시 서버를 무선 위성 링크로 구성된 인터넷 연 결망(internet connection)으로 통합하고자 한다면, 시스템 효율은 크게 향상되지 않는다. 예를 들어 도 3을 다시 언급하여 프록시 서버가 지구국 64와 라우터 22A사이에 삽입되었다고 가정하자. 웹브라우저 20이 초기 요청할 때, 초기 요청은 무선 링크를 통해 위성 터미널 60에서 지구국 64로 반송된다. 지구국 64는 요청을 프록시 서버로 전송하고, 프록시 서버는 요청을 인터넷 24로 전송한다. 인터넷 24로부터 응답이 수신되면, 프록시 서버는 응답을 지구국 64로 전송한다. 프록시 서버는 초기 요청에 대한 응답시, 인라인 개체의 존재 여부를 결정하기 위해서 정보를 분석한다. 프록시 서버는 인라인 개체에 대한 대리 요청(surrogate request)을 보내고, 인라인 개체가 도달시 그것을 저장한다. 그 사이에, 초기 요청에 대한 응답은 무선 링크를 통해서 웹브라우저 20으로 전송된다. 웹브라우저 20가 응답을 수신하면, 인라인 개체에 대한 요청을 무선 링크를 통해서 역으로 전송한다. 프록시 서버가 요청을 수신하면, 캐시된 예비 페치 정보로 응답하여 인터넷 24를 통한 전송과 관련된 추가 딜레이를 없앤다. 인라인 개체에 해당하는 정보는 무선 링크를 통하여 웹브라우저 20으로 전송된다. 따라서, 무선 링크의 라운드-트립 딜레이를 피할 수 없다. 무선 링크를 통한 라운드-트립 딜레이는 도 3에서의 시스템 대기 시간을 결정하는 데 중요한 요소이기 때문에, 시스템 효율은 프록시 서버를 위성 링크의 게이트웨이측에 포함시켜도 향상될 수 없다.
마찬가지로, 선행의 프록시 서버가 위성 터미널 60과 웹브라우저 20사이에 삽입되었다고 가정하자. 웹브라우저 20가 초기 요청하면, 요청이 프록시 서버에 전달되고, 프록시 서버는 위성 터미널 60에 전달한다. 위성 터미널 60은 무선 링 크를 통해서 이 요청을 지구국 64로 전송한다. 지구국 64는 요청을 인터넷 24로 전송한다. 인터넷 24로부터 응답이 수신되면, 지구국 64는 무선 링크를 통해서 위성 터미널 60과 프록시 서버로 응답을 전달한다. 프록시 서버는 웹브라우저 20으로 응답을 전송한다. 프록시 서버는 또한 인라인 개체의 존재 여부를 결정하기 위해서 정보를 분석한다. 프록시 서버는 무선 링크를 통해서 인라인 개체에 대한 대리 요청을 보냄으로써 인라인 개체를 예비 페치한다. 웹브라우저 20이 초기 응답을 수신하면, 인라인 개체에 대한 요청을 프록시 서버에 전달한다. 프록시 서버가 웹브라우저 20로부터 요청을 수신하면, 요청을 인터셉트하여 무선 링크를 통해 보내지 않는다. 프록시 서버는 대리 요청과 해당되는 응답이 무선 링크를 가로지르기를 기다려서, 필요할 때 웹브라우저에게 정보를 전달한다. 따라서, 프록시 서버로부터 웹브라우저 20으로의 초기 응답의 전송 및 웹브라우저 20으로부터 프록시 서버으로의 전송과 관련된 어떠한 딜레이를 제거한다. 하지만, 무선 링크의 라운드-트립 딜레이는 피할 수 없다. 무선 링크를 통한 라운드-트립 딜레이는 도 3에서의 시스템 대기 시간을 결정하는 데 가장 중요한 요소이기 때문에, 시스템 효율은 위성 링크의 위성 터미널측에 프록시 서버를 포함시켜도 향상되지 않는다.
도 6은 본 발명에 의한 분산 프록시 서버로 구성된 디지털 데이터 네트워크를 도시한 블록 다이아그램이다. 도 6에서 웹브라우저 20A-20N은, 분산 프록시 서버 68에 의해 인터넷 24에 연결된다. 분산 프록시 서버 68은 두 가지 콤포넌트: 접속 포인트 콤포넌트(access point component) 70와 위성 게이트웨이 콤포넌트(satellite gateway component) 72로 구성된다. 접속 포인트 70과 위성 게이트웨이 72는 해당 소프트웨어 콤포넌트를 실행하는 하나 또는 그 이상의 워크스테이션이나 개인 컴퓨터에 도입되어 수행될 수 있다. 접속 포인트 70과 위성 게이트웨이 72의 일부 또는 모든 기능은 응용 특정적인 하드웨어를 사용하여 선택적으로 도입되어 수행될 수 있다. 접속 포인트 70과 위성 게이트웨이 72는 위성 62를 통하여 무선 링크를 거쳐 연결된다. 웹브라우저들 20A-20N는 바람직하게는 로컬 지역 네트워크(local area network, 도시되지 않음)에 의해서 접속 포인트 70에 연결된다. 도 6에 도시된 바와 같이, 접속 포인트 70은 위성 게이트웨이 72에 의해서 예비 페치된 개체를 일시적으로 저장하기 위해서 개체 캐시(object cache) 71를 도입하여 수행한다.
분산 프록시 서버 68은 위성 링크의 횡단과 관련된 라운드-트립 딜레이의 효과를 감소하여 효과적인 데이터 전송을 촉진한다. 접속 포인트 70과 위성 게이트웨이 72는 또한 선행의 프록시 서버에 의해 수행되는 서비스를 제공할 수도 있다. 바람직한 실시예에서, 분산 프록시 서버 68은 웹 서버 26이나 웹브라우저 20과 같은 인터넷 24와 연결된 실체에 대해 투과적(transparent)이다.
도 7은 본 발명에 의한 데이터 전송의 하나의 실시예를 도시한 데이터 플로우 다이아그램이며, 여기서 요청된 웹페이지는 인라인개체를 참조하는 모파일 콤포넌트로 구성된다. 블록 80에서 웹브라우저 20는 웹 페이지를 요청한다. 블록 82에서 접속 포인트 70은 요청을 수신하고, 무선 링크를 통해서 위성 게이트웨이 72로 전송한다. 약간의 딜레이 후에, 위성 게이트웨이 72에서 요청을 수신한다. 블록 84에서 위성 게이트웨이 72는 요청을 인터넷 24에 전달한다. 위성 게이트웨이 72는 이 기능을 실행하기 위해서 네트워크 통신 모듈로 구성될 수 있다.
웹 서버 26은 요청을 수신하고, 모파일(parent file)로 응답한다. 위성 게이트웨이 72는 인터넷 24로부터 모파일을 수신하고, 블록 86에서 접속 포인트 70로 전달한다. 파일이 무선 링크를 가로지른 후에, 접속 포인트 70은 모파일을 블록 88에서는 웹브라우저 20로 전송한다. 블록 90에서 웹브라우저는 모파일을 수신한다.
블록 86의 전송 전, 동안 또는 후에, 위성 게이트웨이가 모파일을 분석하고 인라인 개체에 대한 외부 참조를 도출하고 블록 92에서 인터넷 24를 통해서 인라인 개체에 대한 대리 요청을 전달한다. 예를 들면, 위성 게이트웨이 72는 이러한 기능을 수행하기 위해서 분석 모듈 및 대리 요청 생성 모듈을 포함할 수 있다. 또한 블록 92에서, 위성 게이트웨이 72는, 접속 포인트 70로 예비 페칭하는 인라인 개체를 확인하는 메시지를 보낸다. 예를 들면, 위성 게이트웨이 72는, 메시지를 만들고 접속 포인트 70에 보내는 메시지 모듈(message module)을 포함 할 수 있다. 블록 94에서 접속 포인트 70은 예비 페치 개체 목록을 수신하고, 나중에 참조하기 위해서 캐싱 모듈과 같은 곳에 저장한다.
블록 96에서, 웹브라우저 20은 인라인 개체에 대한 요청을 전송한다. 블록 98에서 접속 포인트 70은 요청과 예비 페치 개체의 목록을 비교한다. 요청이 예비 페치 개체의 목록에 있는 기재 사항에 대응한다면, 요청이 인터셉트되고 무선 링크를 통해 전송되지 않는다. 요청된 개체가 목록의 기재 사항에 대응하지 않고, 캐시에 없다면 접속 포인트 70은 무선 링크를 통해서 요청을 전송한다. 이 기능은 메시지 분석과 비교 모듈을 통해서 수행될 수 있다.
도 7에서 예를 들면, 인라인 개체가 이미 또는 현재 페치되고 있는 개체의 목록에 나타나기 때문에, 접속 포인트 70은 요청을 인터셉트하고, 요청을 위성 링크를 통해 전송하지 않는다. 그 동안, 블록 100에서, 인라인 개체는 위성 게이트웨이 72에서 수신되고, 자동적으로 접속 포인트 70에 전송된다. 위성 게이트웨이 72는 인라인 개체에 대한 요청을 수신하지 않고, 초기 요청에 대한 응답을 접속 포인트 70에 보내고 있음을 주시해야 하고, 여기에는 접속 포인트 70가 위성 게이트웨이 72로부터 요청하지 않은 정보를 포함한다. 이러한 응답을 처비응답(chubby response)이라고 한다. 예를 들면, 위성 게이트웨이 72는 이러한 기능을 수행하는 처비응답생성모듈(chubby response creation module)을 포함할 수 있다. 블록 102에서, 접속 포인트 70은 개체를 수신하여 웹브라우저 20에 전송한다. 블록 104에서 웹브라우저 20은 인라인 개체를 수신한다. 이러한 방식으로, 위성 링크를 통한 요청의 전송 대기와 관련된 딜레이를 회피할 수 있고, 인라인 개체는 모파일 직후에 전송된다. 또한, 인라인 개체에 대한 무선 요청에 의해 통상 점유되는 대역폭은 다른 용도에 개방된다.
도 7에 기술된 데이터 플로우을 사용시 향상된 효율을 도 8의 시간 다이아그램(timing diagram)을 참고하여 쉽게 이해될 수 있다. 도 8은 본 발명에 의한, 분산 프록시 서버를 통해서 전송될 때, 도 2 및 4에 도시된 데이터의 전송을 도시한 시간 다이아그램이다. 데이터 플로우을 좀 더 명확하게 도시하기 위해서, 웹브라우저 20에서 인식된 대로 데이터 흐름과 함께, 도 8은 접속 포인트 70과 위성 게이 트웨이 72에 의해 인식된 데이터 흐름을 보여준다.
웹브라우저로부터 나가는 메시지 130은 초기 URL 요청을 반송한다. 접속 포인트 70은 상응하는 나가는 메시지 130′을 무선 링크를 통해 전송한다. 위성 게이트웨이 72는 상응하는 나가는 메시지 130″를 인터넷 24를 통해 보낸다. 무선 링크의 도입으로 인하여 생기는, 나가는 메시지 130´과 나가는 메시지 130″사이의 딜레이에 유의해야 한다. 들어오는 메시지 132″는 나가는 메시지 130″에 대한 제1응답부를 반송한다. 들어오는 메시지 134″와 들어오는 메시지 136″은 제 2 및 제 3 응답부를 반송한다. 들어오는 메시지 134″는 사운드 클립이라고 가정된 인라인 개체에 대한 외부 참조를 반송한다. 위성 게이트웨이 72는 들어오는 메시지 132″를 분석하고, 외부 참조를 인식한다. 나가는 메시지 138″에서, 위성 게이트웨이 72는 사운드 클립에 대하여 인터넷 24를 통해서 대리 요청을 보내고, 이런 식으로 사운드 클립을 예비 페치한다.
들어오는 메시지 132″, 134″, 및 136″은 접속 포인트 70에서 각각 들어오는 메시지 132', 134', 및 136'으로 전송되며, 무선 링크에 의한 딜레이가 다시 한 번 발생한다. 접속 포인트 70은 이러한 메시지들을 웹브라우저 20으로 전달한다. 웹브라우저 20에서는 각각 들어오는 메시지 132, 134 및 136로 수신된다. 들어오는 메시지 132에 응답하여, 웹브라우저 20은, 사운드 클립을 요청하는 나가는 메시지 138을 보낸다. 웹브라우저 20으로부터 나가는 메시지 138을 보내는 시간에, 나가는 메시지 138″을 위성 게이트웨이가 이미 인터넷 24로 전송하였음에 주의해야 한다. 따라서, 접속 포인트 70은 요청을 인터셉트하고, 게이트웨이 72로 요청을 전송하지 않는다. 따라서, 위성 링크를 통해 전송되는 자료의 양을 감소시킨다. 따라서, 도 8에서 해당되는 나가는 메시지 138′은 접속 포인트 70으로부터 위성 게이트웨이 72까지 전송되지 않는다. 위성 게이트웨이 72에서, 들어오는 메시지 140″은 초기 요청에 대한 제 4 혹은 마지막 응답부로서 수신되고, 접속 포인트 70로 전송된다. 접속 포인트 70에서 들어오는 메시지 140″은 들어오는 메시지 140′으로 수신된다.
들어오는 메시지 142″와 들어오는 메시지 144″는 사운드 클립에 대한 요청에 대한 응답으로 수신된다. 들어오는 메시지 142″는 광고 배너라고 간주하는 인라인 개체에 대한 외부 참조를 반송한다. 다시, 위성 게이트웨이 72는 들어오는 메시지 142″를 분석하고, 애드 배너에 대한 외부 참조를 검출한다. 위성 게이트웨이 72는 광고 배너에 대한 대리 요청을 반송하는, 나가는 메시지 146″을 전송한다.
그동안, 인라인 개체에 대한 접속 포인트 70으로부터의 해당 요청을 기다리지 않고, 들어오는 메시지 142″와 144″는 자동적으로 접속 포인트 70에 전송된다. 이런 방식으로, 인라인 개체는 예비 페치되고, 무선 링크를 통해서 예비 이동되어 웹브라우저 20가 인식하는 대기 시간을 상당히 감소시킨다. 들어오는 메시지 142″와 144″는 접속 포인트 70에서 각각 142′와 144′로 수신된다. 들어오는 메시지 142′와 144′는, 나가는 메시지 138에서 웹브라우저 20에 의해 요청된 후에, 웹브라우저 20으로 전송된다. 웹브라우저 20은 들어오는 메시지 142′와 144′를 각각 들어오는 메시지 142와 144로 수신한다. 광고 배너에 대한 외부 참 조를 포함하는 들어오는 메시지 142에 대한 응답으로, 웹브라우저 20은 광고 배너를 요청하는 나가는 메시지 146을 보낸다. 다시 접속 포인트 70는 요청을 인터셉트하고, 해당 나가는 메시지 146′는 접속 포인트 70으로부터 위성 게이트웨이 72까지 전송되지 않는다.
그동안, 위성 게이트웨이 72는 사운드 클립에 대한 요청에 대한 들어오는 메시지 148″과 들어오는 메시지 150″를 계속 수신하고, 접속 포인트 70으로 전송한다. 무선 링크에 의한 딜레이를 받으면서 접속 포인트 70은 이들을 들어오는 메시지 148′과 들어오는 메시지 150′로서 수신한다. 접속 포인트 70은 이들을 웹브라우저 20로 전송한다. 웹브라우저 20에서는 들어오는 메시지 148′과 들어오는 메시지 150′가 들어오는 메시지 148과 들어오는 메시지 150으로 수신된다. 애드 배너에 대한 나가는 메시지 146″의 요청에 대해 들어오는 메시지 152″는 위성 게이트웨이 72에서 수신되고, 해당하는 요청을 기다리지 않고, 접속 포인트 70에 전송된다. 접속 포인트 70은 광고 배너 정보를 들어오는 메시지 152′로 수신하고, 나가는 메시지 146에서 반송된 요청에 대한 응답으로 광고 배너 정보를 웹브라우저 20로 전송하며, 여기서, 들어오는 메시지 152로 수신된다.
도 8을 도 4의 선행기술과 비교해서 검사해 보면 본 발명이 더 효과적임을 알 수 있다. 도 4에서 들어오는 메시지 30′과 들어오는 메시지 32′사이에 상당한 딜레이△T1A가 있는 것과 같이 들어오는 메시지 130과 들어오는 메시지 132사이에 상당한 딜레이 △T1C가 있음을 주목해야 한다. 이러한 딜레이의 상당 부분은 무 선 링크를 사용하는 것과 관련된 라운드-트립 딜레이 때문이다. 하지만, 도4에서의 나가는 메시지 38′과 들어오는 메시지 42′사이에 상당한 딜레이 △T2B는 도 8에서의 나가는 메시지 138 및 들어오는 메시지 142사이의 딜레이 △T2c 만큼으로 줄어들고, 이것은 예비 페치되고 처비 응답에서 정보가 예비 전송되기 때문이다. 그리고, 같은 이유로 도 8에서 나가는 메시지 146과 들어오는 메시지 152사이의 딜레이 △T3C는 도 4의 나가는 메시지 46′과 들어오는 메시지 52′사이의 상당한 딜레이 △T3B보다 줄어든다. 도 8에서 딜레이△T2c와 △T3c는 도2의 딜레이△T 2A 및 △T3A에 비교된다. 이러한 방식으로 평균 데이터 속도는 본 발명에 의해 증가되고, 시스템 사용과 관련된 대기 시간은 감소된다.
도 7에서 블록 96에서의 웹브라우저 20가 블록94에서 인라인 개체를 요청하기 전에 블럭 94에서 인라인 개체가 예비 페치되었음이 접속 포인트 70에 고지되었다. 하지만, 어떤 경우에는 예비 페치 고지가 수신되기 전에 웹브라우저 20은 인라인 개체를 요청한다. 그러한 경우에, 접속 포인트 70은, 3초 정도의 프로그램된 소정의 시간동안 요청을 저장한다. 만약 정해진 시간 내에 개체가 예비 페치된 개체의 목록에 나타나지 않거나 개체가 접속 포인트70에서 수신되지 않으면, 접속 포인트 70은 요청을 위성 게이트웨이 72로 전송할 것이다. 요청의 전송을 딜레이함으로서, 무선 링크를 통해 전송되는 요청의 수는 감소할 것이다.
선택적인 실시예에서, 웹브라우저 20으로부터의 요청과 처비 응답에서 예비 페치되고 전송되는 과정에 있는 개체와 상호 연관 문제를 피할 수 있다. 하나의 실시예에서, 위성 게이트웨이 72와 비슷한 방식으로 인라인 개체의 존재 여부를 결정하기 위해서 접속포인트 70은 들어오는 파일을 분석한다. 접속 포인트 70은 위성 게이트웨이 72가 모든 인라인 개체를 예비 페치할 것이라고 가정한다. 예를 들면, 블록 88에서 접속 포인트 70가 모파일을 수신하면, 접속 포인트 70은 인라인 개체에 대한 외부 참조를 검출하기 위해서 모파일을 분석한다. 접속 포인트 70은 게이트웨이 72가 인라인 개체를 예비 페치하는 과정에 있고, 모든 인라인 개체를 포함하는 예비 페치 객체의 목록을 생성할 것이라고 가정한다. 접속 포인트 70은 항상 웹브라우저 20에 앞서 모파일을 수신하기 때문에, 웹브라우저 20으로부터 요청을 수신하기 전에 접속 포인트 70은 예비 페치 객체 목록을 설정할 수도 있다. 예비 페치 객체의 목록에 나타난 요청이 수신되었지만, 정해진 시간 내에 개체가 접속 포인트 70에서 수신되지 않았다면, 접속 포인트 70은 요청을 위성 게이트웨이 72로 전송할 것이다. 이러한 실시예에서, 도 7의 블록 92에서의 위성 게이트웨이 72에서 접속 포인트 70로 고지데이터의 전달이 일어나지 않음을 주목해야 한다. 따라서, 위성 링크를 통하여 전달되는 데이터 양을 감소시킨다. 따라서 상호 연관 문제를 회피할 수 있기 때문에, 유용하지 않거나 목록에 있지 않은 객체에 대한 요청을 수신하면 접속 포인트 70은 개체 요청을 딜레이할 필요가 없다. 따라서, 시스템 사용과 관련된 전체적인 대기 시간을 감소시킨다.
또 다른 실시예에서, 분석을 포함한 접속 포인트 70의 기능성을 증가시키지 않으면서, 상호 연관 문제가 해결된다. 도 7을 다시 참조하여, 블록 86에서 위성 게이트웨이 72가 인터넷 24로부터 모파일을 수신할 때, 모파일 정보를 접속 포인트 70에 전송하기 전에 인라인 개체에 대한 외부 참조가 있는지를 결정하기 위해서 위성 게이트웨이 72는 모파일을 분석할 것이다. 외부 참조가 없으면, 위성 게이트웨이 72는 즉시 모파일을 접속 포인트 70으로 전송할 것이다. 외부 참조가 있다면, 모파일을 접속 포인트 70으로 전달을 개시하기 전에 위성 게이트웨이 72는 인라인 개체에 해당하는 데이터를 요청하고 수신한다. 이러한 방식으로, 인라인 개체는 직접 모파일을 따르고, 웹브라우저 20에 의해 요청되었을 때 접속 포인트 70에서 유용하다. 다른 실시예에서, 모파일을 접속 포인트 70으로 전송 전에 위성 게이트웨이 72는 하나 또는 그 이상의 인라인 개체를 수신한다. 또 다른 실시예에서, 모파일을 접속 포인트 70으로 전송 전에, 위성 게이트웨이 72는 하나 또는 그 이상의 인라인 개체에 해당하는 소정의 데이터양을 수신한다. 상호 연관 문제를 피하는 것 이외에, 이 방법은 위성 게이트웨이 72로부터 접속 포인트 70으로 고지 메시지를 보낼 것을 요구하지 않는다. 따라서, 무선 링크를 통한 트래픽 흐름을 감소시킨다. 상호 연관 문제가 회피되기 때문에 유용하지 않은 개체에 대한 요구를 수신한다면, 접속 포인트 70은 개체에 대한 요구 전송을 딜레이할 필요는 없으므로. 시스템 사용과 관련된 전체 대기 시간을 감소시킨다
.각 실시예에서 모 웹페이지가 보여진 후에 웹브라우저 20에서 인라인 개체가 즉시 로드될 수 있다면, 이용자들에게 즉각 응답한다는 장점을 가진다.
다른 실시예에서, 위성 게이트웨이 72에서 모파일을 받자마자, 위성 게이트웨이 72는 모파일을 분석하고 인라인 개체를 요청하기 시작한다. 인라인 개체가 수신되었을 때, 위성 게이트웨이 72는 인라인 개체를 접속 포인트 70으로 전송한 다. 위성 게이트웨이 72가 다른 인라인 개체 내에 내포된 인라인 개체를 포함하여, 모든 또는 일부 인라인 개체를 요청하고, 수신하고 전달한 후에, 위성 게이트웨이 72는 모파일을 접속 포인트 70으로 전송하기 시작한다. 모파일이 전달되기 전에 예비 페치 인라인 개체가 전달되면 웹브라우저 20가 예비 페치 인라인 개체를 요청하기 전에 모든 인라인 개체가 접속 포인트 70에서 유용함을 확신할 수 있다. 게다가, 이 실시예는 고지 메시지와 접속 포인트 70에서 추가적 기능을 포함할 필요가 없다. 그리고, 이 실시예는 고의적인 딜레이를 삽입하지 않고 접속 포인트 70이 알려지지 않은 개체에 대한 요청을 전송하도록 한다.
상기한 예와 같이, HTTP 프로토콜에 의해 현재의 표준 디지털 데이터 네트워크를 통하여 데이터가 전송된다. HTTP는 요청/응답 프로토콜이다. 클라이언트는 요청을 서버에 보내고, 서버는 응답한다. 이 단순한 프로토콜은 각 데이터 전송의 개시에서 다단계 신호 변경 루틴(multi-step handshake routine)을 사용하지 않아도 된다. 하지만, HTTP 프로토콜에서 클라이언트가 처비응답 메시지에서 요청되지 않은 데이터 전달을 수신하기 위한 제공은 없다.
바람직한 실시예에서, 위성 게이트웨이 72와 접속 포인트 70을 연결하는 링크는 처비 응답 메시지를 사용하여, 요청되지 않은 데이터를 전송하는 수단을 포함한다. 그러한 기능성을 제공하기 위해서, 위성 게이트웨이 72와 접속 포인트 70를 연결하는 링크는 순수한 HTTP 프로토콜의 외부에 있다. 분산 프록시 서버 68이 웹브라우저 20과 웹서버 26에 투과적이어야 한다는 것이 중요하다.. 이러한 이유 때문에, 최소한 외부 실체에 의해 인식된 것과 같이 분산 프록시 서버 68이 HTTP와 같은 잘 알려진 데이터 전달 프로토콜을 지원하는 것이 중요하다. 하지만, 위성 게이트웨이 72와 접속 포인트 70이 통상의 접속 제공자(access provider)에 의해서 조정되는 피어 유닛(peer unit)이기 때문에, 접속 포인트 70과 위성 게이트웨이 72를 연결하는 링크가 산업 표준 프로토콜에 따라 작동될 필요는 없다. 따라서, 당업계에서 통상의 지식을 가진 자가, 공지 기술에 의해 처비 응답을 사용하는 것처럼, 위성 게이트웨이 72와 접속 포인트 70사이에 요청되지 않은 자료 전달이 일어나도록 하는 프로토콜을 개발할 수 있다.
도 6 에서, 단일 웹브라우저 20은 분산 프록시 서버 68에 연결되어 있는 것으로 도시된다. 하지만, 바람직한 실시예에서, 접속 포인트 70은 복수 이용자를 서브(serve)한다. 게다가, 위성 게이트웨이 72는 복수 접속 포인트 70 유닛을 서브(serve)한다. 한 실시예에서, 접속 포인트 70은 단일한 하우징(housing)내에서 결합된다. 하우싱이 놓인 빌딩(building) 외부에 위치한 안테나에 하우징이 연결된다. 로컬 지역 네트워크는 복수 웹브라우저 20를 하우징에 연결한다. 다른 실시예에서, 접속 포인트 70은 웹브라우저 20이 작동하는 동일 기계나 하우징에 도입되고 수행된다. 또 다른 실시예에서, 접속 포인트 70의 기능과 모듈(module)은 복수의 컴퓨팅 유닛(computing unit)에 분산되어 있다. 일반적으로, 접속 포인트의 기능과 모듈은 주 링크(subject link)의 한쪽 측에서 실체(entities)에 분산되어 있다. 게이트웨이 기능과 모듈은 링크의 다른 측에서 실체에 분산되어 있다. 주 링크가 게이트웨이로부터 접속 포인트를 분리하는 것뿐만 아니라 접속 포인트나 게이트웨이가 주 링크와 중간 실체에 직접적으로 연결될 필요는 없다.
상기 기술은 기타 외부 파일에 대한 연속 요청 가능성이 인라인 개체에 대한 요청 가능성보다 작다해도 다른 외부 파일에 적용될 수 있다. 예를 들면, 많은 웹 페이지는, 이용자가 접속하고자 하는 다른 웹 페이지에 대한 하이퍼텍스트 링크를 포함한다. 제조 회사의 홈 페이지는 고용 페이지, 제품 정보 페이지, 회사 정보 페이지, 출판 페이지에 하이퍼텍스트 링크를 가질 수 있다. 홈 페이지에 접근하는 이용자는 하이퍼텍스트 링크에 의해 참조되는 페이지 중의 하나에 용이하게 접근할 것이다. 위성 게이트웨이 72가 모든 인라인 개체를 검색한 후에, 인라인 개체와 같은 방식으로 게이트웨이는 링크된 웹 페이지의 예측 예비 페칭과 접속 포인트 70으로의 전송을 시작한다. 데이터의 무한 캐스케이드(cascade)를 방지하기 위해서 데이터의 양은 제한될 수 있다. 이용자가 예측된 예비 링크의 하나를 요청하면, 이용자는 접속 포인트 70으로부터 직접 정보를 수신하고, 따라서 무선 링크를 사용하는 것과 관련된 라운드-트립 딜레이가 방지된다. 일반적으로, 예비 페치된 개체는 텍스트이거나 디지털 데이터 파일, 이미지, 사운드 클립, 프로그램 모듈, 외부 기능을 가진 데이터의 패키지 또는 그러한 기타 아이템이다.
실시예가 인터넷을 통한 웹 서버에 접근하는 웹브라우저의 관점에서 기술되었지만, 본 발명의 원리는 데이터 터미널이 상당한 딜레이를 가져오는 데이터 네트워크를 통한 외부 데이터 파일에 대한 참조를 포함하는 데이터 파일을 요청하는 많은 상황에 적용될 수 있다. 이러한 경우에, 요청 유닛은 파일 요청을 생성하는 디지털 장비의 한 종류가 될 수 있고, 응답 유닛은 파일을 전송하는 어떠한 디지털 장비도 될 수 있다. 예를 들면, 도면들에 도시된 인터넷 24는 인터넷이 아닌 공중 또는 사적인 로컬 지역 네트워크 또는 광역 네트워크가 될 수 있다.
개시된 내용에 의하여 무수한 대체 실시예들은 당업계의 통상의 지식을 가진 자에게 명백할 것이다. 예를 들면, 바람직한 실시예가 위성 링크를 참조하여 개시되었지만, 본 발명의 개시된 내용은 유선 혹은 무선 링크이던간에 상당한 딜레이가 있는 어떠한 링크에도 직접 적용될 수 있다.
또한, 상기한 바와같이, 본 발명을 이용하면 접속 포인트부터 게이트웨이까지 전송되는 데이터의 양을 감소시킨다. 접속 포인트와 게이트웨이 사이의 경로 딜레이가 크지 않은 시스템에서조차 이러한 감소는 중요할 수 있다. 예를 들면, 케이블 모뎀은 비대칭적인 링크이다. 이용자로부터 인터넷까지의 업스트림 링크는 제한된 대역폭을 가지지만, 인터넷에서 이용자로의 다운 스트림 링크는 상당히 큰 대역폭을 가진다. 따라서, 딜레이가 논점이 아닐지라도, 업스트림 트래픽 유동을 감소시키기 위해서 분산 프록시 서버를 결합하는 것이 유리하다.
본 발명은 첨부된 청구의 범위에서 정의된 정신 및 필수적인 특징의 변경없이 기타 특정 형태로 본 발명이 실시될 수 있다. 하기 청구의 범위에서, 도면참조부호는 단지 설명을 용이하게 하기 위하여 사용된 것이며, 각 단계 수행의 특별한 순서를 의미하는 것은 아니다.

Claims (45)

  1. 클라이언트측(70) 및 상기 클라이언트측으로부터 원거리에 있는 서버측(72)을 가지는 통신링크(62)를 포함한 인터넷 접속 시스템에서,
    상기 통신링크(62)의 클라이언트(20)측에서:
    (a) 클라이언트 요청을 수신하고 통신링크를 통하여 상기 요청을 상기 서버측(72)으로 전송(82)하는 단계;
    상기 통신링크(62)의 서버(26)측에서:
    (b) 상기 클라이언트 요청을 수신하고 인터넷(24)을 통하여 상기 요청을 자료서버(26)로 전송(84)하는 단계;
    (c) 상기 자료서버로부터 기본 콤포넌트를 수신(88)하고, 개체에 대한 참조를 확인하기 위하여 기본 콤포넌트를 분석(92)하고, 클라이언트(20)로의 전달을 위하여 통신링크(62)를 통하여 기본 콤포넌트를 클라이언트(20)측으로 전송(80)하는 단계; 및
    (d) 상기 (c)단계에서 확인된 참조를 이용하여 자료서버로부터 인라인개체를 예비 페칭(92)하고, 개체에 대한 클라이언트(20) 요청을 대기하지 않고, 클라이언트(20)로의 전달을 위하여 통신링크(62)를 통하여 개체를 클라이언트(20)측으로 전송하는 단계로 구성되며, 최소한 자료서버에 투과적으로(transparently) 수행되고, 통신링크를 통하여 개체에 대한 클라이언트(20) 요청을 전달하는 것과 통상 연관된 딜레이를 회피하는,
    클라이언트(20)로부터 개시되어 자료서버(26)를 향하고, 자료는 인라인개체에 대한 참조를 포함한 기본 콤포넌트로 구성된, 인라인 개체를 포함한 자료에 대한 클라이언트 요청을 처리하는 방법.
  2. 제 1항에 있어서,
    통신링크의 클라이언트측에서,
    (d)단계에서 전송된 개체를 수신하고 캐싱하는 단계; 및,
    개체에 대한 클라이언트 요청에 대한 응답으로, 클라이언트(20)에게 개체를 전송(102)하는 단계를 더욱 포함하는,
    인라인 개체를 포함한 자료에 대한 클라이언트 요청을 처리하는 방법.
  3. 제 2항에 있어서,
    통신링크(62)를 통하여 개체에 대한 클라이언트요청이 전송(98)되는 것을 방지하기 위하여 통신링크(62)의 클라이언트측에서 개체에 대한 상기 클라이언트 요청을 인터셉트하는 단계를 더욱 포함하는,
    인라인 개체를 포함한 자료에 대한 클라이언트 요청을 처리하는 방법.
  4. 제 1항에 있어서,
    통신링크는 위성링크(62)인 것을 특징으로 하는
    인라인 개체를 포함한 자료에 대한 클라이언트 요청을 처리하는 방법.
  5. 제 4항에 있어서,
    (a)단계는 위성링크로의 이용자 접속 포인트에서 수행되는 실행가능한 콤포 넌트에서 수행되고, (b) 내지 (d)단계들은 위성-인터넷 게이트웨이 콤포넌트에 의해 수행되는,
    인라인 개체를 포함한 자료에 대한 클라이언트 요청을 처리하는 방법.
  6. 제 1항에 있어서,
    다수의 부가적인 자료 인라인 개체 각각에 대하여 (d) 단계가 반복되는 단계를 추가로 포함하는 것을 특징으로 하는
    인라인 개체를 포함한 자료에 대한 클라이언트 요청을 처리하는 방법.
  7. 제 1항에 있어서,
    (a)단계는 표준 인터넷 프로토콜을 이용하여 웹브라우저 프로그램(20)으로 통신하는,
    인라인 개체를 포함한 자료에 대한 클라이언트 요청을 처리하는 방법.
  8. 제 1항에 있어서,
    개체는 제 2 개체에 대하여 하이퍼텍스트화된 링크를 포함하고, 서버측에서 상기 제 2 개체를 예비 페칭하여 클라이언트측으로 상기 제 2 개체를 전송하는 단계를 추가로 포함하는 것을 특징으로 하는
    인라인 개체를 포함한 자료에 대한 클라이언트 요청을 처리하는 방법.
  9. 자료의 인라인 개체가 요청되고, 자료의 기본 콤포넌트와 별개로 검색되는 클라이언트-서버 타입의 자료 검색 시스템에서,
    클라이언트로부터 자료요청을 수신하고, 처리하기 위하여 통신링크를 통하여 요청을 전송하며, 통신링크의 클라이언트측에서 수행되고 클라이언트와 통신하는 제 1 콤포넌트; 및,
    통신링크를 통하여 상기 제 1콤포넌트로부터 자료요청을 수신하고, 전기 자료요청을 보내어 자료서버(document server)로 하여금 요청된 자료의 기본 콤포넌트를 전송하게 하며, 통신링크의 서버측에서 수행되고 자료서버와 통신하는 제 2 콤포넌트;를 포함하여 구성되며,
    상기 제 2 콤포넌트는 최소한 (i) 인라인 개체에 대한 참조정보를 확인하기 위하여 기본 콤포넌트를 분석하는 단계, (ii) 인라인 개체를 예비 페칭하는 단계, 및 (iii) 인라인 개체에 대한 클라이언트 요청을 기다리지 않고 상기 예비 페치된 인라인 개체를 상기 제 1 콤포넌트로 전송하는 단계에 의하여, 자료서버에 의해 전송된 기본 콤포넌트를 처리하고;
    상기 제 1 콤포넌트는 상기 제 2 콤포넌트로부터 수신된 예비 페치 인라인 개체를 캐시 메모리에 저장하고, 인라인 개체를 캐시 메모리로부터 클라이언트로 전송함으로써 클라이언트 개체 요청에 대하여 응답하며,,
    상기 제 1 콤포넌트와 제 2 콤포넌트는 통신링크(62)를 통한 인라인 개체에 대한 요청과 통상 연관된 속도지연을 감소시키는
    통신링크에 의해 유발되는 효율저하를 감소시키는 위한 분산시스템.
  10. 제 9항에 있어서,
    제 1 콤포넌트는 개체가 캐시 메모리내에 있을 때, 개체에 대한 클라이언트 요청을 차단하여, 통신링크를 통한 트래픽을 감소시키는 것을 특징으로 하는
    통신링크에 의해 유발되는 효율저하를 감소시키기 위한 분산시스템.
  11. 제 9항에 있어서,
    통신링크는 위성링크이고, 제 1 및 제 2 콤포넌트는 위성링크를 통한 인라인 개체에 대한 요청과 통상 연관된 속도지연을 감소시키는 것을 특징으로 하는
    통신링크에 의해 유발되는 효율저하를 감소시키기 위한 분산시스템.
  12. 제 11항에 있어서,
    통신링크는 위성링크(62)인 것을 특징으로 하는
    통신링크에 의해 유발되는 효율저하를 감소시키는 위한 분산시스템.
  13. 제 9항에 있어서,
    통신링크는 케이블 모뎀에 의한 인터넷 접속을 제공하기 위한 케이블 링크인 것을 특징으로 하는
    통신링크에 의해 유발되는 효율저하를 감소시키기 위한 분산시스템.
  14. 제 9항에 있어서,
    자료 검색 시스템은 하이퍼텍스트화된 시스템이고, 제 2 콤포넌트는 요청된 자료내에서 하이퍼텍스트 참조된 자료를 예비 페치하도록 추가로 구성된 것을 특징으로 하는
    통신링크에 의해 유발되는 효율저하를 감소시키기 위한 분산시스템.
  15. 제 9항에 있어서,
    제 1 콤포넌트 및 제 2 콤포넌트는 클라이언트와 자료서버들과 각각 통신하기 위하여 표준 월드 와이드 프로토콜을 도입하여 수행하는 것을 특징으로 하는
    통신링크에 의해 유발되는 효율저하를 감소시키기 위한 분산시스템.
  16. 웹 브라우저로부터 원거리에 위치하고 위성링크를 통해 전기 웹 브라우저에 연결된 노드(node)에서,
    웹 브라우저의 웹 페이지 요청을 전기 위성 링크로부터 수신하는 단계;
    전기 요청을 웹 서버로 전달하고, 전기 요청에 반응하여 전기 웹 서버로 부터 웹 페이지의 모파일(parent file)을 수신하는 단계;
    전기 모파일을 전기 위성링크를 통하여 전기 웹 브라우저로 전송하는 단계;
    전기 모파일을 처리하여 전기 웹 페이지가 예비 페치할(prefetched) 개체를 포함하는지를 결정하는 단계; 및,
    예비 페치할 개체를 감지하면, 전기 개체를 전기 웹 서버로부터 예비 페치하고, 전기 예비 페치된 개체를 전기 위성링크를 통하여 전기 웹 브라우저로 전달하는 단계를 포함하는, 웹 브라우저를 인터넷에 연결하는 위성링크를 통하여 웹 페이지를 로딩하는 시간을 감소시키는 방법.
  17. 제 16항에 있어서,
    전기 모파일은 HTML 파일인 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  18. 제 17항에 있어서,
    전기 모파일을 처리하는 단계는 미리 결정된 타입의 메타 태그(meta tag)에 대한 HTML 파일의 코딩을 검색하는 단계를 포함하는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  19. 제 16항에 있어서,
    예비 페치된 개체를 위성링크의 사용자 측에 있는 캐시 메모리에 저장하고, 전기 개체에 대한 웹 브라우저의 요청에 대하여 전기 캐시로부터 전기 개체를 전송함으로써 반응하는 단계를 추가로 포함하는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  20. 제 16항에 있어서,
    개체에 대한 브라우저의 요청을 차단하여, 위성링크를 통하여 전송되지 못하도록 하는 단계를 추가로 포함하는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  21. 제 16항에 있어서,
    개체는 모파일이 위성 링크를 통하여 전송되는 동안 예비 페치(prefetch)되는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  22. 제 16항에 있어서,
    노드(node)는 위성링크를 통하여 개체가 예비 페치되었다는 것을 지시하는 메시지를 추가로 전송하는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  23. 제 22항에 있어서,
    메시지는 웹 페이지가 예비 페치될 다수의 개체를 포함한다는 것을 지시하는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  24. 제 16항에 있어서,
    개체는 인라인 개체인 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  25. 제 16항에 있어서,
    개체는 웹 브라우저에 투명하게 예비 페치되는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  26. 제 25항에 있어서,
    개체는 웹 서버에 추가로 투명하게 예비 페치되는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  27. 제 16항에 있어서,
    위성링크는 정지궤도위성에의 연결을 포함하는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  28. 제 16항에 있어서,
    노드는 광대역 네트워크을 통하여 웹 서버로부터 모파일 및 개체를 검색하는 것을 특징으로 하는
    위성링크를 통하여 웹 페이지을 로딩하는 시간을 감소시키는 방법.
  29. 웹 브라우저 및 웹 서버 사이의 통신채널 일부를 형성하는 무선 위성링크; 및,
    전기 위성링크를 가로질러 분산된 분산프록시서버(distributed proxy server)을 포함하는 시스템으로서; 전기 분산프록시서버는 전기 웹 브라우저에 의해 전기 웹 서버로부터 요구된 웹 페이지의 인라인 개체를 예비 페치(prefetching)하도록 구성되고, 인라인 개체의 예비 페치는 전기 위성링크의 전기 웹 서버 측에서 개시되어, 적어도 전기 웹 서버에 투명하게 일어나는 것을 특징으로 하는, 위성에 의한 인터넷 접근을 제공하는 시스템.
  30. 제 29항에 있어서,
    위성링크는, 정지궤도위성에의 연결을 포함하는 것을 특징으로 하는
    위성에 의한 인터넷 접근을 제공하는 시스템.
  31. 제 29항에 있어서,
    분산프록시서버는, 위성링크의 웹 브라우저에 상응하는 쪽에서 실행되고, 캐시 메모리에 예비 페치된(prefetched) 인라인 개체를 저장하는 제 1 콤포넌트를 포함하는 것을 특징으로 하는
    위성에 의한 인터넷 접근을 제공하는 시스템.
  32. 제 31항에 있어서,
    제 1 콤포넌트는, 예비 페치되고 있는 인라인 개체에 대한 웹 브라우저로부터의 요청을 차단하여, 전기 요청이 위성링크를 통하여 불필요하게 전송되지 않도록 하는 것을 특징으로 하는
    위성에 의한 인터넷 접근을 제공하는 시스템.
  33. 제 31항에 있어서,
    분산프록시서버는, 위성 링크의 웹서버 쪽에서 실행되고 브라우저에 의해 요청된 웹 페이지의 모파일을 분석하여 전기 모파일이 예비 페치될 개체에 대한 참조부위를 포함하는지 여부를 결정하는, 제 2 콤포넌트를 추가로 포함하는 것을 특징으로 하는
    위성에 의한 인터넷 접근을 제공하는 시스템.
  34. 제 29항에 있어서,
    분산프록시서버는, 추가로 인라인 개체를 웹 브라우저로 투명하게 예비 페치하는 것을 특징으로 하는
    위성에 의한 인터넷 접근을 제공하는 시스템.
  35. 위성 링크의 웹 서버 측에 위치하고, 웹 브라우저로부터 원거리에 위치한 제 1 노드(node)로서, 전기 제 1 노드는 웹 페이지의 모파일(parent file)을 처리하여 매입된 개체(embedded object)에 대한 참조부위를 규명하고, 전기 매입된 개체를 전기 웹 브라우저를 위해 예비 페치함으로써, 전기 웹 브라우저에 의한 웹 페이지 검색에 반응하는 것을 특징으로 하는 제 1 노드; 및,
    전기 위성링크의 사용자 측, 즉 전기 웹 브라우저 쪽에 위치하고 전기 위성링크를 통하여 전기 제 1 노드와 통신하는 제 2 노드로서, 전기 제 2 노드는 전기 제 1 노드로부터 예비 페치된 전기 매입된 개체를 메모리에 저장하고, 전기 웹 브라우저가 전기 매입된 개체를 요구하는 경우, 그에 반응하여 전기 매입된 개체를 전기 메모리로부터 전기 웹 브라우저로 제공하는 것을 특징으로 하는 제 2 노드를 포함하는 시스템으로서,
    전기 시스템은 전기 웹 페이지의 전기 매입된 개체가 전기 웹 페이지의 모파일이 전기 웹 브라우저에 도달하기 전에, 전기 웹 브라우저를 위해 요구되도록 하는 것을 특징으로 하는, 웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  36. 제 35항에 있어서,
    제 1 및 제 2 노드는, 웹 브라우저에 투명하게 작동하는 것을 특징으로 하는
    웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  37. 제 36항에 있어서,
    제 1 및 제 2 노드는, 추가로 웹 페이지가 검색되는 웹 서버에 투명하게 작동하는 것을 특징으로 하는
    웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  38. 제 35항에 있어서,
    제 1 및 제 2 노드는 각각 분산된 프록시 서버의 일부분으로서 작동하는 것을 특징으로 하는
    웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  39. 제 35항에 있어서,
    제 1 노드는 웹 페이지가 검색되는 웹 서버로부터 원거리에 위치하는 것을 특징으로 하는
    웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  40. 제 35항에 있어서,
    제 1 노드는 다수의 웹 서버로부터 인터넷을 통하여 매입된 개체(embedded object)를 예비 페치하는 것을 특징으로 하는
    웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  41. 제 35항에 있어서,
    제 1 노드는 위성링크와 연결된 위성 게이트웨이 노드인 것을 특징으로 하는
    웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  42. 제 35항에 있어서,
    제 2 노드는 다수의 웹 브라우저 각각에 대한 예비 페치된 개체를 저장하는 것을 특징으로 하는
    웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  43. 제 35항에 있어서,
    제 2 노드는 제 1 노드에 의해 예비 페치된 매입된 개체(embedded object)를 요청하여, 그러한 브라우저 요청이 위성 링크를 통하여 불필요하게 전송되지 않도록 하는 것을 특징으로 하는
    웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  44. 제 35항에 있어서,
    위성링크는 정지궤도위성 링크인 것을 특징으로 하는
    웹 브라우저가 위성링크를 통하여 웹 서버로부터 웹 페이지를 검색하는 시스템.
  45. 제 9항에 있어서,
    제 2 콤포넌트(72)는 예비 페치된 개체의 통신링크(62)를 통하여 제 1 콤포넌트(70)를 통지하는 것을 특징으로 하는
    통신링크에 의해 유발되는 효율저하를 감소시키는 위한 분산시스템.
KR1020007001282A 1997-08-06 1998-08-05 예비 페칭을 위한 분산된 시스템 및 방법 KR100571059B1 (ko)

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
KR20010022687A KR20010022687A (ko) 2001-03-26
KR100571059B1 true KR100571059B1 (ko) 2006-04-14

Family

ID=21993896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007001282A KR100571059B1 (ko) 1997-08-06 1998-08-05 예비 페칭을 위한 분산된 시스템 및 방법

Country Status (11)

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

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
KR100571059B1 (ko) * 1997-08-06 2006-04-14 태크욘 인코포레이티드 예비 페칭을 위한 분산된 시스템 및 방법
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
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
WO2000058863A1 (en) 1999-03-31 2000-10-05 Verizon Laboratories Inc. Techniques for performing a data query in a computer system
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
US6990531B2 (en) * 2000-04-17 2006-01-24 Circadence Corporation System and method for providing last-mile data prioritization
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
US6675202B1 (en) * 2000-05-30 2004-01-06 Cary D. Perttunen Methods, articles and apparatus for providing a browsing session
US7328275B1 (en) * 2000-05-30 2008-02-05 Perttunen Cary D Wirelessly retrieving and locally caching child and sibling items in a browsing session
AU2001268199A1 (en) * 2000-06-05 2001-12-17 Altoweb Systems, Inc. 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
AU2001278873A1 (en) * 2000-07-06 2002-01-21 Broadbeam Corporation 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
WO2003032201A1 (en) * 2001-10-09 2003-04-17 Wildblue Communications, Inc. Performance enhancing proxy for high latency data
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
DE10394048D2 (de) * 2002-11-06 2005-09-22 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
WO2004114529A2 (en) * 2003-06-16 2004-12-29 Mentat 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
CN100449506C (zh) * 2003-07-23 2009-01-07 霍尼韦尔国际公司 在快速网络环境中缓存慢速网络的过程数据
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
US20050210122A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated HTTP acceleration over a network link
US20050210121A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated Satellite anticipatory bandwith acceleration
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
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
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
US8856279B2 (en) * 2005-05-26 2014-10-07 Citrix Systems Inc. Method and system for object prediction
WO2007002841A2 (en) 2005-06-28 2007-01-04 Oracle International Corporation Revenue management system and method
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 甲骨文国际公司 收益管理***和方法
EP1748608B1 (en) * 2005-07-29 2007-11-07 Research In Motion Limited Prefetching of security data in a mobile network
US7756932B2 (en) 2005-07-29 2010-07-13 Research In Motion Limited System and method for processing messages being composed by a user
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ä
CN101401098B (zh) * 2006-01-30 2012-01-25 法斯特凯特有限公司 用于在需要的场所检索、关联、注释和管理电子文档的便携式数据端口设备和方法
EP1901525A1 (en) * 2006-09-15 2008-03-19 THOMSON Licensing File repair method for a content distribution system
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US8065275B2 (en) * 2007-02-15 2011-11-22 Google Inc. Systems and methods for cache optimization
US20080201332A1 (en) * 2007-02-20 2008-08-21 Souders Steven K System and method for preloading content on the basis of user context
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
US8103783B2 (en) * 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US7783757B2 (en) 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
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
US9460229B2 (en) 2007-10-15 2016-10-04 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US9654328B2 (en) * 2007-10-15 2017-05-16 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
US9043385B1 (en) 2010-04-18 2015-05-26 Viasat, Inc. Static tracker
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
EP2533162B1 (en) 2010-11-29 2022-10-26 Hughes Network Systems, LLC Proxy Server Apparatus for pre-fetching content using browser specifics
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
US9456050B1 (en) 2011-04-11 2016-09-27 Viasat, Inc. Browser optimization through user history analysis
US9106607B1 (en) * 2011-04-11 2015-08-11 Viasat, Inc. Browser based feedback for optimized web browsing
US11983233B2 (en) 2011-04-11 2024-05-14 Viasat, Inc. Browser based feedback for optimized web browsing
US9912718B1 (en) * 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
EA017487B1 (ru) * 2011-08-18 2012-12-28 Али Магомед Оглы Аббасов Способ приёмопередачи информации
WO2013041922A1 (en) 2011-09-23 2013-03-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
US9298455B1 (en) 2013-03-15 2016-03-29 Instart Logic, Inc. Provisional execution of dynamic content component
US10375192B1 (en) 2013-03-15 2019-08-06 Viasat, Inc. Faster web browsing using HTTP over an aggregated TCP transport
US20160191658A1 (en) * 2013-03-15 2016-06-30 Instart Logic, Inc. Efficient delivery of webpages
US9363329B1 (en) 2013-03-15 2016-06-07 Instart Logic, Inc. Identifying correlated components of dynamic content
US10152463B1 (en) 2013-06-13 2018-12-11 Amazon Technologies, Inc. System for profiling page browsing interactions
US9578137B1 (en) 2013-06-13 2017-02-21 Amazon Technologies, Inc. System for enhancing script execution performance
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
WO2015153677A1 (en) * 2014-03-31 2015-10-08 Open Garden Inc. System and method for improving webpage loading speeds
US9613158B1 (en) 2014-05-13 2017-04-04 Viasat, Inc. Cache hinting systems
CN106462611B (zh) * 2014-05-13 2020-03-27 Opera软件公司 网络访问性能增强
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
US9813480B2 (en) 2015-01-08 2017-11-07 Instart Logic, Inc. Placeholders for dynamic components 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
EP3341860A1 (en) 2015-08-28 2018-07-04 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
CN108476201B (zh) 2015-09-23 2021-02-09 维尔塞特公司 利用互联网提示服务加速在线证书状态检查
CN116610884A (zh) 2015-10-20 2023-08-18 维尔塞特公司 使用自动浏览群集更新提示模型
WO2017074359A1 (en) 2015-10-28 2017-05-04 Viasat, Inc. Time-dependent machine-generated hinting
EP3384660B1 (en) 2015-12-04 2021-11-24 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
JP6575675B2 (ja) 2016-03-25 2019-09-18 富士通株式会社 中継装置、中継方法及び中継プログラム
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
US11880422B2 (en) 2019-02-04 2024-01-23 Cloudflare, Inc. Theft prevention for sensitive information
US10452868B1 (en) 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
US11140214B2 (en) * 2019-06-14 2021-10-05 Zycada Networks 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
KR100571059B1 (ko) * 1997-08-06 2006-04-14 태크욘 인코포레이티드 예비 페칭을 위한 분산된 시스템 및 방법
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データの先読み方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Application-specific Proxy Servers as HTTP Stream Transducers"(출처:http://www.w3.org/Conferences/WWW4/Papers/56/ , WWW4 CONFERENCES, 공개:1995.12) *

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100571059B1 (ko) 예비 페칭을 위한 분산된 시스템 및 방법
EP1277118B1 (en) A system and method to accelerate client/server interactions using predictive requests
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
US8131823B2 (en) System and method for reading ahead of content
US9497284B2 (en) Apparatus and method for caching of compressed content in a content delivery network
US6622157B1 (en) Extending network services using mobile agents
US6606645B1 (en) Method for preconnecting to a server on a network
US20040019653A1 (en) Context-aware client system
CN107645543B (zh) 应用于缓存服务器http非80缓存端口服务的方法和***
JP2003288261A (ja) データ転送装置、データ転送方法及びプログラム
US20040015484A1 (en) Client context-aware proxy server system
EP1052827A2 (en) Dynamic resource modification in a communication network
MXPA00001233A (en) A distributed system and method for prefetching objects
Bihbu et al. Design and Analysis of Enhanced HTTP Proxy Cashing Server

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120322

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130320

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee