KR20040032106A - 통신 네트워크로부터 사용자로의 정보 전달시간 감소시스템 및 방법 - Google Patents

통신 네트워크로부터 사용자로의 정보 전달시간 감소시스템 및 방법 Download PDF

Info

Publication number
KR20040032106A
KR20040032106A KR10-2003-7015892A KR20037015892A KR20040032106A KR 20040032106 A KR20040032106 A KR 20040032106A KR 20037015892 A KR20037015892 A KR 20037015892A KR 20040032106 A KR20040032106 A KR 20040032106A
Authority
KR
South Korea
Prior art keywords
data
computer
user
super
cache
Prior art date
Application number
KR10-2003-7015892A
Other languages
English (en)
Inventor
마이클 제이. 시니어 파렐라
죤 라쉬
제리 엠. 메트코프
마이클 제이. 쥬니어 파렐라
체릴 브레이
에드워드 엘. 류
Original Assignee
엔시티 그룹, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔시티 그룹, 인코포레이티드 filed Critical 엔시티 그룹, 인코포레이티드
Publication of KR20040032106A publication Critical patent/KR20040032106A/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • 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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/30Profiles
    • H04L67/306User profiles
    • 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/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • 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
    • 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/5682Policies or rules for updating, deleting or replacing the stored data
    • 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/04Protocols for data compression, e.g. ROHC
    • 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/10Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 사용자(user)가 통신 네트워크 예를 들어 인터넷 상에서 웹서버 상의 원격서버로부터 요구된 정보를 대기하는데 필요한 시간을 줄이는 시스템 및 방법을 제공하는데 있다. 예시적인 일 실시예에 따르면, 시스템은 사용자 중심이고, 그 목표는 사용자가 필요로하는 모든 데이터를 사용자에게 실제적으로 긴밀하게 유지시키는 것이다. 사용자의 특성과 취급 패턴을 사용하여 무엇을 얼마나 오래 동안 캐슁(caching)할 것인지, 무엇을 프리페칭(pre-fetching)할 것인지, 무엇을 리프레시할 것인지 그리고 무엇을 검색할 것인지를 결정한다. 그 외에도 정보를 분할하고 그리고 병렬통신채널을 이용함으로써, 라스트 마일(last mile)을 횡단하는 데이터 전송을 크게 증가시킬 수 있다.

Description

통신 네트워크로부터 사용자로의 정보 전달시간 감소 시스템 및 방법{A SYSTEM AND METHOD FOR REDUCING THE TIME TO DELIVER INFORMATION FROM A COMMUNICATIONS NETWORK TO A USER}
인터넷은 정부와 대학교간의 연구 네트워크로부터 사업자 및 개인 양자에 의한 사적 또는 상업적 거래 모두를 실행하는 수단에 이르기까지 과거 수십년에 걸쳐 사용범위에 있어 괄목할만한 성장을 하였다. 인터넷은 원래 비구조적으로 설계되었으므로 통신두절사고 발생시에 통신종료확률이 높았었다. 정보전송방법은 우편을 통해 편지를 보내는 것과 유사한 개념에 기초한다. 메시지는 다수의 TCP/IP 패킷(즉, 편지)으로 분산되어 수신자에게 발송될 수도 있다. 편지와 같이 각 패킷은 다른 경로를 거쳐 수신자에게 도달한다. 많은 소수의 패킷을 많은 경로를 통해 접근하는 것은 예를 들어 많은 웹사이트를 억세스하는 사용자의 비용을 상대적으로 값싸게 하지만 사용자와 웹 간의 지점간(point-to-point) 접속을 보다 더 상당히 느리게 한다.
도 1은 종래의 인터넷으로의 사용자의 접속을 나타내는 블록선도이다. 일반적으로 사용자(110)는 인터넷서비스제공자(internet service provider; ISP)에 의해 재래식으로 동작되는 포인트오브프리젠스(PoP)를 통하여 인터넷에 접속한다. PoP는 ISP의 백본(backbone;중심) 네트워크(114) 예컨데, ISP1에 접속된다. 다수의 ISP 백본 네트워크 예컨데, ISP1 및 ISP2는 네트워크 억세스 지점들 예컨데, NAP(170)에 의해 함께 접속되어 인터넷 "클라우드(cloud)(160)를 형성한다.
좀더 구체적으로 퍼스널 컴퓨터(PC)(120)에서 단일 사용자는 직통가입자라인 (DSL)모뎀(122), TV케이블모뎀(124), 표준다이얼업모뎀(standard dial-up modem) (126) 또는 예를 들어 고정무선(fixed wireless)PC 또는 이동전화 상의 무선트랜시버(wireless transceiver)(128) 등의 PoP(112)에 접속할 수 있는 여러 가지 선택을 할 수 있다. 여기서 용어 퍼스널컴퓨터 즉, PC는 프로세서와 메모리를 갖는 모든 장치를 설명하는 것으로 사용되며 재래식 데스크 탑 PC에 국한되지 않는다. PoP(112)에는 사용자(110)로부터/로 데이터를 송/수신하기 위한 각 타입의 모뎀(또는 트랜시버)에 대응하는 억세스 장치가 있을 것이다. DSL모뎀(122)의 경우, PoP(112)는 그의 억세스 장치로서 디지털가입자라인억세스멀티플렉서(DSLAM)를 갖는다. 케이블모뎀(124)의 경우, PoP(112)는 그의 억세스 장치로서 전파중계 (headend)되는 케이블모뎀단말시스템(CTMS)을 갖는다. DSL 및 케이블모뎀접속은 초당 수백 킬로비트(Kbps)를 허용하며 다이얼업원격억세스서버(RAS)(134)에 의해 PoP (112)에서 데이터를 수신하는 표준다이얼업모뎀(126)보다 상당히 빠르다. 무선트랜시버(128)는 퍼스널디지털보조기(PDA) 즉, 이동전화기의 일부일 수 있으며 또한 PoP(112)에서 무선트랜시버(136) 예컨데, 기지국에 접속된다.
사업자 사용자(또는 홈오피스(home office)를 갖는 사람)는 이더넷 링크 (Ethernet link)에 의해 LAN서버(144)에 접속된 근거리통신망(LAN) 예컨데, PC들 (140,142)을 갖는다. 사업자 사용자는 PoP(112)로의 T1(1.544Mbps)접속 또는 프랙셔널(fractional)T1접속을 가질 수도 있다. LAN서버(144)로부터의 디지털 데이터는 라우터(router)(도시않됨)를 통해 디지털 접속 장치 예컨데, 채널서비스유닛/데이터서비스유닛(CSU/DSU)(146)으로 송신된 다음 T1(또는 단말 T1)라인(148)을 통해 PoP(112)의 CSU/DSU로 송신된다.
PoP(112)는 DSLAM(130), CTMS전파중계소(132), RAS(134), 무선트랜시버 (wireless rasceiver;무선송수신기)(136) 또는 CSU/DSU(150)가 접속되는 ISP서버 (152)를 포함해도 좋다. ISP서버(152)는 이메일, 유즈넷(Usenet) 또는 도메인 네트워크이름서비스(DNS) 등의 사용자서비스를 제공할 수도 있다. 다른 방법으로 DSLM(130), CTMS전파중계소(132), RAS(134), 무선트랜시버(136) 또는 CSU/DSU(150)는 ISP서버(152)를 바이패스 해도 좋으며 또한 라우터(router)(154)(점선)에 직접 접속되어도 좋다. 서버(152)는 라우터(154)에 접속되고, 이 라우터는 PoP(112) 예컨데, 라우터들(162,164,166,168)을 갖는 ISP1의 백본에 접속한다. ISP1의 백본은 NAP(170)를 통해 예컨데, 라우터들(172,174,176)을 갖는 다른 ISP1의 백본(ISP2)에 접속된다. ISP2는 이메일 및 사용자 웹호스팅(user web hosting) 등의 사용자서비스들을 겸비하여 제공하는 ISP2서버(180)를 갖는다. 인터넷 "클라우드"(160)에는 웹서버들(182,184)이 접속되어 사용자(110)에게 온라인 내용을 제공한다.
인터넷은 사업자와 개인 양자에게 상업적 거래를 수행하는 기본 기능을 제공하지만, 예를 들어 웹서버와 사업자 또는 개인사용자 간의 정보전송에 있어 시차적인 시간지연이 실질적인 문제가 된다. 예를 들어 PC(120)의 사용자는 웹서버(182)의 웹사이트로부터 정보를 원한다. 웹서버(182)로부터 사용자 PC(120)로 데이터를 뒤로 이동시키기 위한 많은 홉(hop)들이 있다. 또한 정보는 패킷들로 뒤로 "메일"되고 있기 때문에, 패킷들은 전형적으로 상이한 경로들을 통하여 뒤로 이동한다. 이러한 상이한 경로들은 다른 사용자들의 패킷에 할당되므로 어떤 경로는 느려질 수도 있다. 그러므로 웹서버(182)와 사용자(120) 간의 모든 링크들내에 충분한 용량이 있다할지라도 시차적인 시간지연이 있다. 그러나 또한 쵸크포인트(choke point)들이 있기 때문에, 즉 트래픽(traffic)이 용량을 초과할 경우, 지연이 더 된다.
2개의 주된 쵸크포인트들은 라스트 마일(last mile)과 이 라스트 마일에 버금가는 마일이다. 라스트 마일은 PoP(112)로부터 사용자(110)까지이다. 예컨데, LAN서버(144), PC(140) 및 PC(142) 그리고 핵심ISP백본(114)을 갖는 근거리통신망 (LAN)은 아주 고속이다. 근거리통신망은 통상적으로 초당 10/100메가비트(Mbps)로 동작한다. 핵심ISP백본은 예를 들어 광학캐리어(OC)(48) 즉, 2.5기가비트/초(Gbps) 또는 OC-192 즉, 10Gbps로 동작한다. 라스트 마일 억세스의 대다수는 다이얼업 하여 56Kbps로 동작한다. 약512Kbps의 DSL모뎀으로 하더라도 다운로딩 그래픽 (downloading graphic)은 느려서 좋지 않을 수도 있다. 따라서 PoP(112)와 사용자 (110) 간의 라스트 마일은 2개의 대형 통신파이프 간에 병목현상이 된다.
이 라스트 마일에 버금가는 마일은 ISP들 간에 있다. PoP(112)를 갖는 ISP는그의 백본(114)을 통하여 고레벨 ISP(도시않됨)에 접속되어 지역/국내/전세계를 커버할 수도 있다. 대역폭을 고레벨 ISP까지 증가시키면 로칼 ISP의 비용이 증가되기 때문에 그 대신, 예를 들어 PoP(112)를 갖는 로칼 ISP는 사용자(110)의 이용가능 대역폭의 양을 감소시킬 수도 있다. 그 영향은 웹서버(182)와 PC(120) 간의 링크용량보다 더 많은 트래픽(traffic)을 야기하고 그로 인해 심각한 지연문제가 생긴다는 것이다. 오늘날의 급변하는 세계에서는 이러한 문제가 상업적인 전달수단으로서의 인터넷 사용을 크게 방해하고 있다.
그러므로 인터넷과 같은 통신망으로부터 사용자의 정보대기시간을 줄일 필요가 있다.
본 발명은 일반적으로 통신 분야에 관한 것이며, 특히 컴퓨터 네트워크를 통해 정보를 효율적으로 전송하는 것에 관한 것이다.
도 1은 종래의 인터넷에 사용자의 접속을 나타내는 블록선도.
도 2는 도 1의 개략 확대 블록선도.
도 3은 본 발명의 일 실시예에 따른 브라우저와 웹서버 간의 통신경로의 블록선도.
도 4는 본 발명의 일 실시예에 따른 도 2의 종래의 실시예에 삽입된 슈퍼모듈들의 블록선도
도 5는 본 발명의 일 실시예에 따른 슈퍼캐쉬구조의 일예시도.
도 6은 본 발명의 일 실시예의 슈퍼캐쉬시스템의 리프레시프로세스를 나타내는 개략 예시도.
도 7은 본 발명의 일 실시예에 따른 슈퍼캐쉬의 자동리프레시프로세스의 흐름도.
도 8은 다수의 사용자요구로부터의 기억데이터와 슈퍼모듈을 수신하는 캐쉬내의 요구자의 IP 어드레스들의 예시도.
도 9는 본 발명의 일 양상에 의한 인터넷을 통해 사용자와 웹서버 간에 그래픽 및 텍스트 또는 동적 데이터의 데이터 흐름의 예시도.
도 10은 본 발명의 일 실시예에 의한 접속티이밍(connection teaming)의 예시도.
도 11은 본 발명의 일 양상에 의한 파일전송증배로 인한 시간절약의 예시도.
도 12는 본 발명의 일 실시예에 의한 프록시스택을 사용하는 예시도.
도 13은 종래의 사이트간 VPN과 종래의 원격 VPN의 예시도.
도 14는 본 발명의 일 실시예에 의한 2가상사설네트워크(VPN들)의 예시도.
발명의 요약
본 발명은 사용자가 통신 네트워크 예를 들어 인터넷 웹서버 상의 원격서버로부터 요구된 정보를 대기하는데 필요한 시간을 줄이는 시스템 및 방법을 제공하는데 있다. 예시적인 일 실시예에 따르면, 시스템은 사용자 중심이고, 그 목표는 사용자가 필요로 하는 모든 데이터를 사용자에게 실제적으로 긴밀하게 유지시키는 것이다. 사용자의 특성과 이용패턴을 사용하여 무엇을 얼마나 오래 동안 캐슁 (caching)할 것인지, 무엇을 프리페칭(pre-fetching)할 것인지, 무엇을 리프레시할 것인지 그리고 무엇을 검색할 것인지를 결정한다. 그 외에도 정보를 분할하여 병렬통신채널을 이용함으로써 라스트 마일을 횡단하는 데이터 전송을 크게 증가시킬 수 있다.
본 발명의 일 실시예는 컴퓨터 상의 브라우저(browser)에 의해 사용을 위한 데이터를 캐슁하는 방법을 포함한다. 이 방법은 브라우저에 의해 서버로부터 검색되는 데이터의 아이템(item)을 캐쉬내에 저장하는 단계와; 브라우저에 의한 어떤 행위도 없을 때, 상기 캐쉬내의 상기 아이템을 자동으로 갱신하는 단계와; 그리고 상기 캐쉬로부터의 상기 갱신된 아이템을 브라우저 상에 표시(display)하는 단계를 포함한다.
본 발명의 다른 실시예는 제1 컴퓨터 시스템의 캐쉬내의 제1 데이터를 제2 컴퓨터 시스템내의 제2 데이터로부터 리프레시(refresh)하는 방법을 포함하며, 여기서 제1 컴퓨터 시스템은 통신 네트워크에 의해 제2 컴퓨터에 접속된다. 이 방법은 제1 컴퓨터 시스템이 동작(busy)중이 아닐 때, 제1 데이터의 리프레시요구를 제2 컴퓨터 시스템으로 송신하는 단계와; 상기 리프레시요구를 사용하여 제2 데이터의 위치를 지정(location)하는 단계와; 상기 제2 데이터가 제1 데이터보다 더 신규한 버전일 경우, 제2 데이터를 제1 컴퓨터 시스템으로 송신하는 단계와; 그리고 캐쉬내의 제1 데이터를 제2 데이터로 교체하는 단계를 포함한다.
본 발명의 또 다른 실시예는 통신 네트워크 상의 복수의 캐쉬에 호스트서버(host server)로부터의 피선택 데이터를 분산시키는 시스템을 포함한다. 그 시스템은 호스트서버에 접속되는 복수의 캐수들 중 하나로서, 상기 피선택 데이터의 제1 복제(replica)를 갖는 제1 캐쉬와; 상기 복수의 캐쉬들중 하나로서, PoP억세스장치를 통해 제1 캐쉬에 접속되며 사용자 PC에 접속되는 상기 복수의 캐쉬 중 제2 캐쉬 -여기서 제2 캐쉬는 피선택 데이터의 제2 복제를 갖고 그리고 상기제2 및 제1 복제는 함께 링크되며- 와; 그리고 상기 제2 복제의 일차 사용에 의해 피선택 데이터를 검색하는, 사용자 PC 상에서 실행되는 브라우저를 포함한다.
본 발명의 또 다른 실시예는 제1 컴퓨터 시스템이, 캐쉬를 갖는 제2 컴퓨터 시스템으로부터의 데이터에 대한 사용자요구에 응답하는 방법을 포함한다. 이 방법은 제2 컴퓨터 시스템으로부터의 데이터에 대한 사용자요구를 수신하는 단계와; 사용자요구에 대응하는 응답 데이터를 검색하는 단계와; 응답 데이터와 함께 제2 컴퓨터 시스템의 네트워크 어드레스를 상기 캐쉬내에 저장하는 단계와; 그리고 그 응답 데이터를 제2 컴퓨터 시스템으로 전송하는 단계를 포함한다.
본 발명의 또 다른 실시예는 통신 네트워크를 통해 제1 컴퓨터 시스템의 사용자를 위한 데이터를 제2 컴퓨터 시스템으로부터 프리페칭하는 방법을 포함한다. 이 방법은 제2 컴퓨터 시스템으로부터의 피선택 데이터에 대한, 제1 컴퓨터 시스템이 전송한 사용자요구의 빈도를 결정하는 단계와; 그리고 상기 피선택 데이터의 한 아이템이 대응하는 사용자요구가 전송되기 전에 제1 컴퓨터 시스템에서 이용 가능하도록 상기 빈도보다 높은 값으로 제1 컴퓨터 시스템에 의해 상기 피선택 데이터를 요구하는 단계를 포함한다.
본 발명의 다른 실시예는 공중통신 네트워크를 통하여 제1 컴퓨터 시스템과 제2 컴퓨터 시스템 간에 가상사설네트워크(VPN)를 제공하는 방법을 포함한다. 이 방법은 제1 컴퓨터 시스템과 제2 컴퓨터 시스템 간에 제1 컴퓨터 어드레스와 제2 컴퓨터 어드레스를 포함하는 중앙집중방식의 허가테이블을 사용하여, VPN을 설정하는 단계와; 그리고 제1 컴퓨터가 제2 컴퓨터로의 복수의 병렬통신링크를 가질 때,제1 및 제2 컴퓨터 간에 데이터 흐름을 증가시키도록 복수의 병렬통신링크를 티이밍(teaming)하는 단계를 포함한다.
본 발명의 또 다른 실시예는 제1 컴퓨터로부터 제2 컴퓨터로의 데이터 트래픽, 즉 제2 컴퓨터의 모니터 상의 그래픽을 지원하는데 필요한 데이터 트래픽을 조정하는 방법을 포함한다. 이 방법은 인치당 제1 화소수를 포함하는 컴퓨터 모니터의 표시 캐릭터(display charactor)를 제1 컴퓨터로 전송하는 단계와; 그래픽 아이템에 대해 인치당 제2 화소수를 평가하는 단계와; 제2 화소수가 제1 화소수보다 클 때, 인치당 감소된 화소수로 그래픽 아이템으로부터의 수정된 그래픽 아이템을 생성하는 단계와; 그리고 그 수정된 그래픽 아이템을 제2 컴퓨터로 전송하는 단계를 포함한다.
본 발명의 또 다른 실시예는 컴퓨터용 프록시스택(proxy stack)내의 복수의 프록시서버로부터 한 프록시서버를 선택하는 방법을 포함한다. 이 방법은 중앙프록시스택매니저에 의해 프록시스택에서 복수의 프록시서버 순서를 설정하는 단계와; 그리고 복수의 프록시서버 중 한 프록시서버가 컴퓨터에 의해 요구될 때마다 그 프록시스택에서의 순서에 따라서 그 다음의 복수의 프록시서버중 한 프록시서버를 선택하는 단계를 포함한다.
본 발명의 또 다른 실시예는 동적 데이터와 정적 그래픽을 포함하는 웹콘텐츠를 컴퓨터 상에서 실행하는 브라우저에 제공하는 시스템을 포함한다. 그 시스템은 정적 그래픽의 상당부분을 브라우저에 제공하며 근거리통신망에 의해 컴퓨터에 접속되는 캐쉬와; 그리고 동적 데이터의 상당부분을 브라우저에 제공하기 위한, 웹서버로의 가상회로접속부를 포함한다.
본 발명의 또 다른 실시예는 제1 및 제2 컴퓨터들 간의 복수의 통신링크를 통하여 제1 컴퓨터로부터 제2 컴퓨터로 전송되는 데이터를 로드밸런싱(load balancing)하는 방법을 포함한다. 이 방법은 복수의 통신링크들의 각 통신링크에 대해 TCP/IP접속을 설정하는 단계와; 그리고 데이터의 전송시간을 크게 줄이도록 팩터(factor)들에 기초하여 복수의 통신링크들 간에 데이터를 분배하는 단계를 포함한다.
본 발명의 또 다른 실시예는 복수의 통신링크를 통해 제1 컴퓨터와 제2 컴퓨터 간에 파일을 전송하는 시간을 감소시키는 방법을 포함한다. 이 방법은 복수의 통신링크들 중 제1 링크를 사용하여 제1 컴퓨터에 의해 파일을 전송하는 단계와; 복수의 통신링크들 중 제2 링크를 사용하여 제1 컴퓨터에 의해 파일의 일부를 전송하는 단계와; 그리고 제2 컴퓨터가 파일의 모두가 아닌 파일의 일부의 전부를 수신 후 그 파일을 재구성하는 단계를 포함한다.
본 발명의 상술한 실시예와 그 외의 실시예, 특성 및 장점은 첨부된 청구범위와 도면을 참조한 하기의 설명으로부터 더 명확히 이해될 것이다.
하기 설명에서, 본 발명의 구체적인 실시예들에 관해 더 전체적으로 상세히설명한다. 그러나 본 분야에 숙련된 자에게는 아래에 주어진 구체적인 설명 없이도 본 발명을 실시할 수 있음을 명백히 알 것이다. 다른 예에서 공지된 특징을 상세히 설명하지 않더라도 본 발명을 혼란시키지 않을 것이다.
개인과 사업자가 인터넷을 유효한 상업적 이동체로서 사용하기 위해서는, 사용자가 정보를 요구 및 수신하는데 걸리는 시간이 통상적으로 오늘날 걸리는 시간에 비해 크게 감소되어야 한다. 본 발명은 인터넷 하부조직들의 여러 부분들 상에 탑재되어도 좋은 "슈퍼(super)"시스템과 네트워크내의 정보흐름을 증가시키는 기술 두 가지를 제공하고, 이들을 개별적으로 또는 조합하여 사용함으로써, 예를 들어 웹사이트 또는 기타 사용자들로부터의 정보에 대한 사용자의 대기시간을 크게 줄여준다.
도 2는 도 1의 개략적인 그러나 확대된 블록선도로서 본 발명을 설명하기 위해 사용된다. 적용가능 할 경우, 도 1에서와 같이 도 2에서 동일한 라벨을 사용한다. 모뎀(210)은 DSL 모뎀(122), 케이블모뎀(124), 다이얼업모뎀(126) 및 도 1의 무선트래시버(128)를 포함한다. 마찬가지로 억세스장치(220)는 대응하는 DSLM(130) , CTMS전파중계소(Headend)(132), RAS(134) 및 도 1의 무선트래시버(136)를 포함한다. 디지털접속장치(212,222)는 CSU/DSU장치(146,150)를 포함한다. 그 외에도 인공위성(satellite), ISDN 또는 ATM접속장치를 포함한다. 도 2는 LAN서버(144)와 모뎀(210) 간에 추가접속을 가지고 있으며, 이 접속은 LAN이 디지털접속장치(212) 이외에 PoP(112)에 접속하기 위한 또 다른 옵션을 나타낸다. 도 2에 도시된 컴퓨터와 네트워크 시스템의 대부분은 표준전송통신프로토콜/인터넷프로토콜(TCP/IP)을사용하여 통신한다.
도 3은 본 발명의 일 실시예에 따른 브라우저와 웹서버 간의 통신경로의 블록선도이다. 브라우저(512)를 사용하는 사용자가 웹서버(182)로부터 웹페이지(514)를 요구할 경우, 브라우저(512)와 웹서버(182) 간의 재래식 교환에 대해서는 위에서 설명되었다. 본 발명의 일 실시예는 복수의 "슈퍼"모듈(module)을 생성하는데, 이는 슈퍼사용자(Super User)(540), 슈퍼어플라이언스(Super Appliance)(532), 슈퍼센트럴오피스(Super Central Office)(CO)서버(534), 슈퍼CO집중기(Super CO concentrator)(536) 및 슈퍼호스트(Super Host)(538)를 포함하며, 또 다른 슈퍼프리웨이경로(super freeway path)를 제공하여 브라우저(512)와 웹서버(182) 간에 데이터를 교환할 수 있다. 웹페이지(514)에 대한 사용자요구는 PC(140) 상에서 실행되는 브라우저(512)에 의해 PC(140) 상에서 동작되는 슈퍼사용자소프트웨어(530)로 송신된다. 그 다음 슈퍼사용자(530)는 LAN서버(144) 상에서 실행되는(또는 다른 실시예로서 그 자신의 서버 상에서 실행되는) 슈퍼어플라이언스(532)로 사용자요구를 송신한다. 그 다음 슈퍼어플라이언스(532)는 사용자요구를 슈퍼CO서버(534)로 송신하고, 이 서버는 그 요구를 슈퍼CO집중기(536)로 송신한다. 슈퍼CO서버(534)와 슈퍼CO집중기(536)는 스태드어론서버(stand alone server)일 수도 있고 또는 PoP서버 (152) 상에서 실행되는 소프트웨어일 수도 있다. 슈퍼CO집중기(536)는 사용자요구를 인터넷(160)을 통하여 슈퍼호스트(538)로 송신한다. 이 슈퍼호스트는 그 자신의 서버를 가질 수도 있다(또는 다른 실시예로서 슈퍼호스트(538)는 웹서버(182) 상에서 실행되는 소프트웨어일 수 있다). 사용자요구는 슈퍼호스트 (538)로부터 웹서버(182)로 진행하고, 여기서 웹서버(182) 상에서 실행하는 웹사이트로부터 웹페이지 (154)를 검색한다(웹서버(182)는 서버들의 웹팜(web farm)과 다수의 웹사이트를 포함한다). 그 다음 웹페이지(514)는 슈퍼호스트(538), 슈퍼CO집중기(536), 슈퍼CO서버(534), 슈퍼어플라이언스(532) 및 슈퍼사용자(530)를 통하여 브라우저(512)로 귀환한다.
다른 실시예에서는, 하나 이상의 슈퍼모듈 예를들어 슈퍼어플라이언스(532)를 생략할 수도 있다. 슈퍼어플라이언스(532)를 생략하는 경우 슈퍼CO서버(534)는 정보를 LAN서버(144)를 통해 슈퍼사용자(530)와 교환한다. 또 다른 실시예는 슈퍼호스트(548)가 존재하지 않을 경우로서 그 경우에 웹서버(182)는 정보를 슈퍼CO집중기(536)와 교환한다. 따라서 슈퍼모듈이 생략되면 대응하는 통상모듈 예컨데, PC(140), LAN서버(144), PoP서버(150), PoP라우터(154) 및 웹서버(182)가 대신 사용된다. 슈퍼모듈의 전부 또는 일부가 사용될 수 있으며 적어도 2개의 상이한 슈퍼모듈 간에 적어도 하나의 통신링크가 있는 한, 그 링크를 횡단하는 정보 흐름이 크게 개선된다.
도 4는 본 발명의 다른 실시예의 도 2의 종래의 시스템에 삽입된 슈퍼모듈의 블록선도이다. 도 4에서는 장치가 동일 또는 유사한 경우, 도 2에서와 동일한 라벨을 사용한다. 슈퍼사용자(540)는 모뎀(210)과 억세스장치(220)를 통해 PoP서버 (152)에 접속된다. 슈퍼사용자(530), 슈퍼사용자(542) 및 슈퍼어플라이언스(532)를 갖는 LAN은 모뎀(210) 또는 디지털접속장치(212)에 접속되며, 여기서 디지털접속장치(212)는 디지털접속장치(222)에 의해 PoP서버(152)에 접속된다. 슈퍼어플라이언스(532)는 LAN서버(144) 상에서 실행되는 소프트웨어를 포함한다. 서버(152)는 스위치(420)를 통하여 라우터(154)에 접속되므로 그의 패킷트래픽이 슈퍼CO서버(534) 및 슈퍼CO집중기(536)로 우회한다. 라우터(154)는 인터넷크라우드(160)에 접속된다. 인터넷(160)으로부터의 트래픽은 웹서버(182)에 접속된 슈퍼호스트(538)와 웹서버(184)에 접속된 슈퍼호스트(550)로 진행할 수 있다.
슈퍼 시스템 구성부분
이하 슈퍼사용자(540), 슈퍼어플라이언스(532), 슈퍼CO서버(534), 슈퍼CO집중기(536) 및 슈퍼호스트(538)를 포함하는 도 4의 슈퍼 시스템의 각 구성부분들의 일 실시예를 설명한다.
슈퍼사용자(530)는 사용자의 PC 예컨데, PC(140) 상에 존재하는 소프트웨어를 포함한다. 브라우저 예컨데, 마이크로소프트의 인터넷 익스플로러는 슈퍼사용자 (530)의 대리(proxy)로 세트되어 있어 데이터를 요구하는 모든 브라우저는 슈퍼사용자(530)로부터 공급된다. 그 외에도 브라우저를 통한 모든 사용자요구는 슈퍼사용자(530)로 송신된다. 그러므로 브라우저는 슈퍼사용자에 의해 나머지 네트워크로부터 고립된다. 슈퍼사용자는 사용자 PC 상의 로컬캐쉬내에 사용자가 요구한 모든 데이터를 캐슁하므로 사용자가 그 데이터를 다시 요구할 때, 입수 가능하면 그 데이터는 로컬캐쉬로부터 국부적으로 검색될 수도 있다. 만일 캐슁된 데이터가 소정의 파일사이즈를 초과하면 슈퍼사용자는 로컬캐쉬내의 모든 데이터를 분석하여 사용할 가능성이 거의 없는 데이터를 삭제한다. 예를 들어, 종래에 가장 최근에 사용된 알고리즘을 사용하여 모든 오래된 데이터를 모두 폐기할 수도 있다. 슈퍼사용자(540)의 소프트웨어 기능의 일부는 다음과 같다:
1. 캐슁 : 브라우저가 로컬캐쉬내에 존재하는 데이터를 요구했을 때, 그 데이터가 캐쉬수명요건에 부합할 경우 그 데이터는 로컬캐쉬로부터 공급된다. 다른 방법으로 그 데이터가 가장 가까운 슈퍼모듈캐쉬 예컨데, 슈퍼어플라이언스(532) 또는 슈퍼CO서버(534), 슈퍼CO집중기(536) 또는 슈퍼호스트(538)로부터 검색된다. 여기서 갱신된 데이터가 입수가능 하거나 또는 슈퍼캐쉬로부터 입수가능 하지 않을 경우 웹서버로부터 입수한다. 각각의 데이터 요소는 캐쉬수명을 갖고 있어 어느 기간동안 캐쉬로부터 사용한 다음 리프레시시킬 필요가 있다.
2. 캐쉬의 리프레시 : 슈퍼사용자 PC가 아이들(idle)상태(인터넷으로부터 데이터를 실제적으로 검색하지 않는 상태)일 때, 슈퍼사용자는 로컬캐쉬를 점검하여 캐쉬수명을 다한 데이터를 자동으로 리프레시한다. 슈퍼사용자는 인공지능(AI) 또는 다른 기술을 사용하여 사용자가 얼마나 자주 웹페이지를 억세스하는가를 근거로 그 리프레시의 우선순위를 정한다. 예를 들어 슈퍼사용자는 사용자가 웹페이지를 얼마나 자주 억세스하는지를 카운트한다. 그 카운트 수가 높으면 사용자가 미래에 그 웹페이지를 요구할 가능성이 많다는 것을 나타내므로 슈퍼사용자는 그 페이지를 자동으로 리프레시한다.
3. 프리페칭 : AI 또는 다른 기술을 사용하여 슈퍼사용자가 아이들 시간동안 사용자에 의해 요구될 가능성이 높은 웹페이지를 프리페칭한다(즉, 사용자가 아직 요구하지 않은 웹페이지를 검색한다). 예를 들어 사용자가 카탈로그사이트 상의 어떤 페이지를 보고 있을 경우 사용자는 동일 카탈로그내의 사이트 상에서 다른 페이지를 보게될 가능성이 높다. 슈퍼사용자는 이 페이지들을 프리페칭한다. 프리페칭한다는 것은 사용자가 로컬캐쉬로부터 데이터를 가져갈 확률을 증가시키는 것이다.
4. 쿠리어 패킷(courier packet)(추후 설명됨)은 패키징(package)되고, 그 패키징된 데이터는 슈퍼어플라이언스 또는 슈퍼CO서버로 송신되기 전에 슈퍼사용자에 의해 압축된다. 쿠리어 패킷은 패키징되지 않으면 그 비패키징된 데이터는 브라우저로 송신되기 전에 슈퍼사용자에 의해 비압축된다.
슈퍼어플라이언스(532)는 LAN서버(144) 상에서 실행되는 소프트웨어를 포함한다. 슈퍼어플라이언스(532)에 의해 수행되는 기능들의 일부는 방화벽 안전성 (firewall security), 글로벌 캐슁(global caching), 티이밍(teaming), 스마트 호스팅(smart hosting) 및 E 메일관리를 포함한다. 슈퍼어플라이언스에 의해 수행되는 또 다른 기능은 다음과 같다 :
1. 슈퍼어플라이언스가 슈퍼CO서버에 접속되면 그들 간에 접속된 모든 데이터는 압축되어 쿠리어패킷으로 패키징되며, 그렇지 않으면 표준인터넷요구가 사용되고, 응답은 쿠리어패킷들로 패키징된 후에 슈퍼사용자에 송신된다.
2. 슈퍼어플라이언스는 또한 사용자에 의해 자주 사용되는 웹사이트들을 자동으로 복사하여 유지시킨다.
3. 슈퍼어플라이언스가 슈퍼CO서버에 접속되면 슈퍼CO서버로부터의 변동이 통고될 때만, 웹사이트의 카피(copy)를 갱신한다. 만일 슈퍼어플라이언스가 슈퍼CO서버에 접속되지 않으면 아이들 시간동안 및/또는 주기적으로 소정기간동안 웹사이트들의 갱신을 점검한다.
4. 슈퍼사용자가 슈퍼어플라이언스에 접속되면 모든 데이터 응답은 슈퍼사용자에게 압축된 포맷으로 전송된다. 정규 사용자가 슈퍼어플라이언스에 접속되면 데이터 응답은 슈퍼어플라이언스내에서 비압축되어 사용자에게 송신된다. 슈퍼사용자가 웹사이트를 그대로 유지하고 있을 경우 어느 땐가 웹페이지가 슈퍼어플라이언스 상에서 갱신되고 그 사실이 슈퍼사용자에 통보되므로 슈퍼사용자는 그 변동을 요구할 수도 있다.
5. 슈퍼사용자는 메모리, CPU 및 PC 모니터 밀도와 같은 사용자의 이용가능 자원(resource)에 관한 정보를 슈퍼어플라이언스에 통보할 것이다. 슈퍼어플라이언스는 각 슈퍼사용자의 이용가능 자원정보를 사용하여 정보를 전달하는 가장 효율적인 방법을 결정한다. 예를 들어 PC 모니터 밀도의 경우에 LAN을 통하여 전송되는 그래픽을 조정할 수 있다. 그래픽을 표시할 수 없는 모니터에 고밀도 그래픽을 보내는 것은 네트워크 자원의 낭비가 된다. 슈퍼어플라이언스내의 소프트웨어는 데이터를 전송하기 전에 그래픽 밀도를 조정한다.
6. 하나 이상의 슈퍼사용자가 동일 데이터를 요구할 경우 슈퍼어플라이언스는 그 요구를 임플로딩(imploding)하고 그 다음 슈퍼모듈 예컨데, 슈퍼CO서버에 단 하나의 요구만을 보낸다. 만일 슈퍼어플라이언스와 웹사이트 간에 또 다른 슈퍼모듈이 없을 경우 그 요구는 여전히 임플로딩되고 표준 TCP/IP 요구를 만든다. 임플로딩된 요구에 대한 응답이 수신되면 그 데이터는 슈퍼어플라이언스에 의해 익스플로딩(exploding)되어 적당한 슈퍼사용자에게 송신된다.
슈퍼어플라이언스에서 유지되는 웹사이트가 많을수록 웹페이지에 대한 억세스 속도는 LAN 속도에 점점 더 가까워진다. 슈퍼사용자에서 유지되는 웹페이지가 많을수록 그 웹억세스 속도는 하드디스크 억세스 속도에 더욱 접근한다. 슈퍼어플라이언스와 슈퍼사용자 상에 유지되는 카피될 수 있는 웹페이지가 많을수록 라스트 마일의 응답시간에 대한 병목현상이 줄어든다.
슈퍼CO서버(534)는 인터넷 백본(114)과 사용자(110) 간에 다리 역할을 한다. 슈퍼CO서버(534)의 한 목적은 사용자와 인터넷 간에 트래픽을 최소화하는 것이다. 슈퍼CO서버는 이것을 슈퍼사용자 또는 통상의 사용자에 의해 억세스되는 웹사이트들을 카피함으로써 달성된다. 슈퍼CO서버 상에서 주도되는 웹사이트가 많을수록 네트워크를 횡단하는 데이터의 이동을 줄여줌으로써 네트워크가 더욱 최적화된다. 슈퍼CO서버에서 주도되는 웹사이트가 슈퍼CO집중기(536) 상에 기억된 웹사이트로부터 올 경우 슈퍼CO서버(534)는 웹페이지가 변경됐음을 슈퍼CO집중기(536)에 의해 통보될 때마다 갱신된 웹페이지를 요구한다. 슈퍼CO집중기(536)로부터 온 웹페이지는 압축 및 리패키징 포맷으로 저장된다. 만일 슈퍼CO서버 상에서 주도된 웹사이트가 슈퍼CO집중기내에 저장되어 있지 않으면 슈퍼CO서버는 주도하는 웹서버에서 웹사이트의 변경에 대해 소정기간마다 점검한다. 슈퍼CO서버는 모든 슈퍼어플라이언스(532) 캐쉬 상에서 주도되는 웹사이트의 로그(log)를 보존해둔다. 슈퍼어플라이언스 캐쉬 상에 존재하는 웹사이트에 변경이 발생할 때, 변경이 있었음을 슈퍼어플라이언스에 통지하면 그 슈퍼어플라이언스는 변경된 웹페이지의 갱신된 카피를 요구해야한다. 비슈퍼CO집중기 사이트로부터 데이터가 수신되면 슈퍼CO서버에서 압축, 패키징 및 저장된다. 슈퍼CO서버는 그의 요구로그(log)로부터 사용자에 의해 억세스되고 있는 웹사이트가 있는지를 결정하여 어느 웹사이트를 슈퍼CO서버(534) 캐쉬에 카피 유지해야 할지를 결정한다. 슈퍼CO서버는 또한 사용되고 있지 않은 사이트를 삭제할 것이다. 만일 웹사이트가 저장 유지되어있지 않을 경우 그 웹페이지는 별개의 글로벌캐쉬내에 유지되므로 다시 요구가 있을 경우 글로벌캐쉬로부터 공급될 수 있다. 글로벌캐쉬와 웹호스팅 간에는 정확한 평형이 유지될 필요가 있다. 만일 웹페이지가 슈퍼어플라이언스로부터 요구되면 웹페이지는 슈퍼압축 및 패키징 포맷으로 송신되고 그렇지 않으면 웹페이지는 요구하는 사용자에게 비압축되어 송신된다. 최적화된 사용은 가변 데이터(통상 텍스트)에 행해지는 압축량과 웹페이지 상의 가변 데이터량과 관계된다. 인터넷 상에서 많은 리치데이터포맷(rich data format)이 사용될수록 더 많은 최적화가 달성된다. 플래시(frash) 소프트웨어, 파일, 자바(java) 프로그램, 자바 스크립트(script), 음악 비디오 및 운동 비디오 등 모두가 슈퍼CO서버에 저장된다.
슈퍼CO서버 캐쉬에 의해 만족되지 않는 슈퍼어플라이언스로부터의 데이터요구는 요구된 URL(웹사이트)을 서비스할 책임이 있는 슈퍼CO집중기(536)로 송신된다. 그 요구는 최적화된 계획에 따라 패키징, 압축 및 임플로딩된다. 일 실시예에서는 슈퍼CO서버에서 제1 레벨의 데이터 임플로션(implosion)이 발생한다. 또 다른 실시예에서는 임플로션이 슈퍼어플라이언스 또는 슈퍼호스트에 의해 행해진다. 슈퍼CO서버는 ISP지도에 의해 조직되므로 요구시 지역적으로 발현되는 복제사용특성이 임플로딩될 수 있고 또한 응답시 익스플로딩될 수 있다. 슈퍼CO서버 캐쉬내의 데이터에 의해 응답될 수 없는 모든 요구와 임플로딩된 요구들은 슈퍼CO집중기로전달된다.
슈퍼CO집중기(536)는 웹사이트(URL)에 의해 조직된다. 이는 사용자가 필요로 하는 웹사이트 데이터가 슈퍼CO집중기의 캐쉬내에 있게 될 확률을 증가시킨다. 이는 또한 요구가 임플로딩될 수 있고 또한 네트워크 트래픽이 감소될 수 있는 확률을 증가시킨다. 각각의 슈퍼CO집중기는 슈퍼호스트(예컨데, 538)와 기타 비슈퍼웹사이트들을 캐슁하고 인터패이싱(interfacing)할 책임이 있다. 비슈퍼호스트웹사이트의 경우 슈퍼CO집중기(536)는 당면된 제1 슈퍼모듈이며, 초기 리패키징, 제1 압축, 최종 임플로션, 제1 익스플로션, PNG 또는 프로프라이어터리(proprietary;소유권을 가진) 압축 알고리즘과 같은 최적화된 압축 포맷으로 모든 그래픽의 변환 및 제1 레벨의 슈퍼캐슁을 발생시킨다. 이는 또한 모든 점검과 리프레시가 다른 슈퍼모듈에 대해 발생하는 경우이다. 웹사이트로부터의 데이터가 리프레시 및 갱신될 때, 슈퍼CO서버가 통보 받으므로 모든 캐쉬가 갱신 및 리프레시될 수 있다.
웹서버는 인터넷에 접속된 하나 이상의 웹사이트를 주도한다. 슈퍼호스트, 즉, 슈퍼호스트(538)는 슈퍼CO집중기(예컨데, 536)로부터의 요구에 응답한다. 웹서버 상에서 주도되는 웹사이트의 다운로드를 위해 요구가 만들어질 때마다 슈퍼호스트 (538)는 웹서버로부터 웹페이지를 검색하여 그 내용을 압축 및 패키징하여 요구가 있는 슈퍼CO집중기로 보낸다. 이는 효율적인 압축률에 의해 모든 요구된 웹페이지 데이터에 대한 단일 데이터 블록을 송신함으로써 웹전송효율을 개선해준다. 다른 방법으로 그 요구된 웹페이지의 모든 데이터를 단일 데이터 블록으로서 송신하기보다 오히려 슈퍼호스트는 그 정보를 한 데이터블록 이상으로서 슈퍼CO집중기에전달할 수도 있으므로 전체 전송성능을 최대화할 수 있다. 일 실시예에서 슈퍼호스트는 나머지 데이터를 동시에 검색, 패키징 및 압축하면서 초기의 HTML 서류를 전달할 수도 있다. 나머지 데이터는 차례로 단일블록으로서 또는 다수의 블록으로서 전달될 수 있다. 단일 블록으로서 또는 다수의 블록으로서 전달하는 것에 대한 결정은 사용되는 팩터(factor)의 수에 기초하여 결정되며, 그에 의해 슈퍼사용자로의 데이터 전달속도와 슈퍼호스트에 의한 데이터 검색속도를 평형을 맞춰줌으로써 전체 전송시간을 최소화할 수 있다. 각각의 정보조각은 특정 타입의 데이터를 가장 잘 수행하는 기술을 사용하여 분석 및 압축된다. 각각의 슈퍼CO집중기 요구가 수신될 때, 슈퍼호스트는 슈퍼CO집중기의 IP 어드레스를 기록한다. 슈퍼호스트는 웹서버 상에 포함된 웹사이트들을 점검하여 과거에 웹사이트로부터 데이터 요구가 있었던 슈퍼CO집중기로 변경된 웹페이지에 관해 통보한다. 이는 슈퍼CO집중기가 웹사이트의 버전을 리프레시할 필요가 있을 때를 알게 하여 슈퍼CO집중기가 그의 캐쉬내의 웹페이지의 버전으로부터 직접 웹페이지에 대한 사용자의 요구를 서비스하게 함으로써 웹트래픽을 최소화할 수 있게 해준다. 웹페이지의 슈퍼CO집중기 버전이 리프레시될 필요가 있을 때는 그의 변경이 있을 때 뿐이다. 이는 웹호스팅 사이트로부터 ISP 사이트로의 트래픽을 최소화 해준다. 각 웹사이트에는 데이터를 억세스하는 많은 ISP 사이트들이 있다. 이는 웹사이트를 인터넷의 외부 프린지(fringe)로 이동시켜서 압축과 패키징을 인터넷의 내부작업으로 가져가는 단계이다. 웹사이트를 인터넷의 외부 프린지로 이동시키는 일은 데이터가 현존하는 것을 보장해주기 위한 것이며, 슈퍼모듈캐쉬의 인터록킹(interlocking)은 이를 보장해준다.
캐슁
오늘날의 웹사이트의 내용과 그래픽 풍부성(graphic-rich nature)으로 인하여 웹서버로부터 사용자의 웹브라우저로의 정보의 전달은 상당한 시간이 소요된다. 그 결과 사용자가 웹사이트를 기다리기 보다 오히려 포기하여 실망하는 경우가 많다. 이는 사용자가 (이미지가 있을 경우) 저해상도의 이미지를 갖는 간단한 텍스트를 사용하도록 강요됨으로써 사용자를 상실할 위험을 초래하게 되어 e-상업웹사이트 운영자가 딜레마에 빠지게 한다.
그 문제를 해결하기 위해 ISP에서 캐쉬서버를 도입하는 여러 시도가 있었다. 캐슁서버는 사용자의 대기시간을 어느 정도 줄여주는데 성공적이었음이 입증되었다. 왜냐하면 그들은 사용자와 다른 사용자에 의해 최근에 검색된 웹페이지들의 카피를 보존하고 있기 때문이다. 그러나 캐슁서버는 새로운 웹페이지, 즉 이전에 요구되지 않았던 웹페이지의 요구에 대해서는 이득이 없으며 또한 웹서버에서 어떤 변동이 행해진 국부적으로 유지되는 웹페이지는 갱신하지 못하게 되어, 결국 그 웹사이트가 진부하게 된다. 그 외에도 캐슁서버는 스토리지 사이즈가 제한되어 있으므로 새로운 내용을 보존하기 위해 오래된 데이터를 폐기해야만 한다. 이러한 선입선출(First-In, First-Out(FIFO)방식으로 인해 이미 캐쉬된 내용은 다시 필요할 때까지 그대로 방치되어 있게 된다.
상술한 문제점의 한 해결책으로 사용자가 필요로 하는 동안 사용자에게 가능한 가까이 둘 필요가 있는 데이터를 유지시키는 목적을 갖는 본 발명의 일 실시예가 있다. 슈퍼사용자 또는 슈퍼어플라이언스에서 필요한 데이터를 슈퍼캐쉬를 통해저장하는 것을 최소화함으로써 라스트 마일을 통해 전송되는 데이터의 양과 사용자의 대기시간이 크게 줄어들 수 있다. 이를 달성하기 위해 슈퍼캐쉬를 갖는 슈퍼모듈은 선택된 웹사이트 또는 그 부분들에 대해 자기유지링크미러(self-maintaining linked mirror)를 필수적으로 유지한다. 미러정보의 내용은 사용자의 필요성에 기초하며 아이들 시간동안 또는 스케쥴 시간동안 자동갱신에 의해 현상태를 유지한다. 그러므로 변동 또는 수정이 메인 웹사이트에서 발생할 경우 그 변동 또는 수정은 슈퍼캐쉬를 통해 전달된다. 그 외에도 이미 요구되었던 웹사이트의 조각들만을 보존하는 캐슁서버와 달리 스마트캐쉬(smart cache)는 거의 사용되지 않은 링크조차 하나 이상의 링크레벨들의 웹사이트를 포함한다. 그러한 링크레벨들의 사용은 선택된다. 왜냐하면 사용자가 동일 레벨 상에서 또 다른 링크를 사용하는 것은 우연성이기 때문이다. 예를 들어 링크레벨 0은 그의 내장된 목적물들(embeded objects) 예컨데, 그리픽들 및 파일들에 대한 링크들과 그에 따른 홈페이지이다. 링크레벨 1은 홈페이지로부터 링크된 웹페이지와 이들 웹페이지 상의 내장된 목적물들에 대한 링크들을 포함한다. 그러므로 그 링크레벨들은 상부로서 링크레벨 0과 삼각링크를 형성한다. 링크레벨의 수가 증가될수록 링크되는 페이지와 그들과 연관되어 링크되는 목적물들의 양은 결국 전체 웹사이트가 검색될 때까지 계속 배가된다. 따라서 웹사이트의 전부 또는 일부가 복제된다. 또 다른 실시예에서는 유망한 링크의 선택시에 심도우선알고리즘(depth first algorithm)이 브레드우선알고리즘 (breath first algorithm)보다 오히려 더 사용될 수 있다. 또한 삭제된 슈퍼캐쉬의 부분은 단지 사용자에 의해 더 이상 필요 없는 인공지능 또는 기타 수단에 의해 결정된 부분이다. 예를 들어 사용자의 방문 회수가 가중되는 가장 최근에 사용되는 알고리즘은 웹페이지가 폐기되어야 할 때를 결정하기 위해 사용될 수 있다.
마지막으로 슈퍼캐쉬와 캐슁서버는 상호 배타적이 아니고 그들은 조화롭게 작용하여 전 세계의 최상급 서비스를 사용자에게 제공한다. 만일 슈퍼캐쉬들 중 하나 예컨데, 슈퍼캐쉬(644)(도 5)에서 웹페이지 요구가 있을 경우, 그 요구는 캐슁서버 예컨데, ISP 캐쉬(630)(도 5)를 갖는 ISP서버(152)로 인도된다. 만일 슈퍼캐쉬 또는 캐슁서버에서 웹페이지의 요구가 없다면 그요구는 웹사이트로 인도된다.
슈퍼캐쉬는 네트워크내의 모든 지점들에 존재한다. 슈퍼캐쉬는 LAN서버에 위치될 수 있으므로 LAN 상의 모든 네트워크에 의해 분담될 수 있다. 슈퍼캐쉬는 또한 단일 사용자의 PC 상에도 위치될 수 있다. 스마트캐쉬가 사용자에 가까울수록 캐쉬의 내용은 사용자에게 더욱 신속히 전달될 수 있다. 슈퍼사용자 또는 슈퍼어플라이언스 슈퍼모듈을 통한 슈퍼캐쉬는 사용자가 접속할 수 있는 다이얼업, 캐쉬모뎀, DSL 및 기타 네트워크 억세스 등을 포함하는 인터넷을 통한 어떤 타입의 접속을 통해 동작할 수 있다(도 1참조).
도 5는 본 발명의 일 실시예의 슈퍼캐쉬 구조의 일예를 나타낸다. 도 5에는 PoP(614)에 접속된 2개의 사용자요구그룹(610,612)이 있다. PoP(614)는 인터넷(도시않됨)을 통해 데이터제공자그룹(616)에 접속된다. 데이터요구자그룹(610)은 슈퍼캐쉬(622)를 갖는 슈퍼사용자(540)에 접속된 브라우저(620)를 포함한다. 데이터요구자그룹(612)은 선택적인 슈퍼캐쉬(632)를 갖는 슈퍼사용자(530)에 접속된 브라우저(512)를 포함한다. 슈퍼사용자(530)는 또한 슈퍼캐쉬(642)를 갖는 슈퍼어플라이언스(540)에 접속된다. PoP(614)는 ISP캐쉬(630)를 갖는 ISP서버(152)를 포함하며, 여기서 ISP서버(152)는 슈퍼캐쉬(644)를 갖는 슈퍼센트랄오피스(CO)서버 (534)에 접속된다. 슈퍼CO서버(534)는 슈퍼캐쉬(646)를 갖는 슈퍼CO집중기(536)에 접속된다. 데이터제공자그룹(616)은 슈퍼캐쉬(648)를 갖는 슈퍼호스트(538)를 포함하며, 여기서 슈퍼호스트(538)는 웹서버(182)에 접속된다.
슈퍼캐쉬(641,644,646,648)는 (가상링크들(650,654,656)과) 함께 링크 되어 있어서, 그들은 공통의 현재 데이터세트 예컨데, 웹서버(182)의 일부 또는 모든 웹사이트를 유지할 수 있다. 슈퍼사용자(540)의 슈퍼캐쉬(622)는 슈퍼캐쉬(644)(가상링크(652))와 선택적으로 상호 링크 되어 있다. 또한 슈퍼사용자(530)의 슈퍼캐쉬 (632)가 존재할 경우 슈퍼캐쉬(632)는 슈퍼캐쉬(642)(가상링크(634))에 선택적으로 링크 될 수도 있다.
사용자가 필요로 하는 웹사이트가 어느 것인지를 인공지능 또는 기타 다른 수단에 의해 결정하여 그 웹사이트들을 사용자의 슈퍼캐쉬(632 또는 622)(또는 슈퍼어플라이언스(642))내에 로드(load) 한다. 예를 들어 사용자가 필요로 하는 웹사이트는 현재와 역사적인 사용자의 사용기록으로부터 결정할 수도 있다. 대부분의 사람들은 20%의 웹사이트를 80%의 시간 사용하며, 이는 슈퍼사용자(또는 슈퍼어플라이언스)캐쉬가 사용자의 PC 상에 유지될 수 있는 합당하게 한정된 사이즈를 가져야함을 의미한다. 슈퍼사용자가 사용자의 PC 상의 슈퍼캐쉬를 로드 및 유지할 경우, 그 동일 웹페이지는 다른 슈퍼캐쉬들(예컨데,642,641,646,648)내에 저장된다.
일단 초기의 웹페이지들이 상호 링크된 슈퍼캐쉬들내에 로드되면, 그들은 현재 유지 즉, 리프레시 또는 갱신되어야 한다. 도 6은 본 발명의 일 실시예의 슈퍼캐쉬 시스템의 리프레시 방법을 나타내는 개략적인 예이다. 사용자그룹(612), PoP(614)(ISP 서버(152)와 ISP 캐쉬(630) 제외) 및 데이터제공자(616)는 도 5에 나타낸 것과 동일하다. 개별 리프레시요구(662,664,666, 668,669)를 포함하는 리프레시요구흐름(660)은 슈퍼사용자(530)에서 시작하여 웹서버(182)로 진행한다. 개별 데이터응답(672,674, 676,687,679)을 포함하는 데이터응답흐름(670)은 웹서버(182)에서 시작하여 슈퍼사용자(530)로 진행한다. 설명을 돕기 위해 각 슈퍼캐쉬에 레벨번호가 부여된다. 즉, 슈퍼캐쉬(632)는 레벨1(L1), 슈퍼캐쉬(642)는 레벨2(L2), 슈퍼캐쉬(644)는 레벨3(L3), 슈퍼캐쉬(646)는 레벨4(L4) 그리고 슈퍼캐쉬(648)는 레벨5(51)가 부여된다. 레벨이 높을수록 슈퍼캐쉬가 웹서버(182)에 더 가깝고 반대로 레벨이 낮을수록 슈퍼캐쉬가 브라우저(512)에 가깝다.
리프레시은 프로세서가 더 고급순위의 태스크(task) 예를 들어, 사용자데이터요구, 데이터응답수신, 어플리케이션명령실행 또는 기타 다른 사용자요구를 수행하지 않는 시간동안 발생한다. 만일 슈퍼사용자가 고립(다른 슈퍼모듈 없음)되어 있을 경우 슈퍼사용자 소프트웨어는 기술상 통상의 지식을 가진 자에게 공지된 종래의 절차를 사용하여 인터넷으로부터 데이터를 검색하여 사용자의 슈퍼캐쉬(632)를 리프레시한다. 슈퍼사용자(530)가 슈퍼어플라이언스(532)에 접속되면 리프레시요구는 슈퍼어플라이언스 슈퍼캐쉬(624)로 진행한다(만일 슈퍼사용자(예컨데,540)가 도 5에서와 같이 슈퍼CO서버(534)에 접속되면 리프레시요구는 슈퍼캐쉬(644)로 송신된다). 각 슈퍼모듈은 하급레벨 슈퍼모듈로부터 리프레시요구들을 수신한다.만일 요구된 데이터가 캐쉬내에 현존하면 응답하는 슈퍼모듈은 그 캐쉬를 사용하여 그 요구를 충족시킨다. 만일 응답하는 슈퍼사용자의 캐쉬가 현존하지 않을 경우, 리프레시요구는 그 다음 고급레벨 슈퍼모듈로 인도된다. 이러한 과정은 고급레벨의 슈퍼모듈이 없을 때까지 반복된다. 그 다음 이 레벨은 표준인터넷프로토콜로 되돌아가서 리프레시요구를 웹서버에 보내서 그 리프레시요구를 만족시킨다. 이 과정은 슈퍼캐쉬 전체 레벨에 걸쳐서 현존하는 슈퍼캐쉬를 유지한다.
도 7은 본 발명의 일 실시예의 슈퍼캐쉬의 자동리프레시프로세스의 흐름도이다. 레벨N(680)(여기서 N은 정수임)에서의 슈퍼캐쉬는 레벨N+1(682)에서의 슈퍼캐쉬로부터 리프레시을 요구한다. 단계(684)에서 레벨N(680)에서의 캐쉬를 갖는 제1 슈퍼모듈은 예를 들어 소정의 스케쥴 시간, 만료된 캐쉬 수명 또는 레벨N+1에서의 슈퍼캐쉬를 갖는 제2 슈퍼모듈로부터 갱신통보의 수신을 근거로 데이터의 리프레시을 요구한다. 사정노드(decision node)(686)에서 만일 제1 슈퍼모듈이 동작 중일 경우 대기루프는 노드(685)로 진행한다. 제1 슈퍼모듈이 아이들 중일 때, 단계(688)에서 리프레시요구는 레벨N+1(682)에서의 슈퍼캐쉬로 송신된다. 단계 (690)에서 리프레시요구가 제2 슈퍼모듈에 의해 수신되고 또한 단계(692)에서 제2 슈퍼모듈은 그의 캐쉬를 점검하여 레벨N+1 슈퍼캐쉬내에 요구된 데이터가 존재하고 또한 현존하는지를 파악한다. 만일 요구된 데이터가 슈퍼캐쉬내에 존재하지도 현존하지도 않을 경우 제2 리프레시요구는 제2 슈퍼모듈이 아이들 중이면 레벨N+2(단계 696)에서 슈퍼캐쉬를 갖는 제3 슈퍼모듈로 송신된다. 제2 슈퍼모듈이 슈퍼호스트 (538)일 경우, 리프레시요구는 웹서버(192)로 송신된다. 만일 요구된 데이터가 캐쉬내에 현존하면 단계(698)에서 제1 슈퍼모듈 IP 어드레스는 N+1 레벨 슈퍼캐쉬내의 요구된 데이터와 더불어 저장된다. 단계(700)에서 요구된 데이터는 N+1 레벨 캐쉬로부터 검색되며, 단계(702)에서 그 데이터는 제1 슈퍼모듈로 송신된다. 제1 슈퍼모듈은 데이터응답을 수신하고(단계(704)) 또한 슈퍼캐쉬내의 데이터를 갱신한다 (단계(706)). 선택적으로 만일 필요할 경우, 갱신통보는 레벨N-1에서 캐쉬를 갖는 이전의 슈퍼모듈로 송신된다(선택 단계(708)).
도 6에서 슈퍼호스트(538)(또는 그것이 없는 경우에 슈퍼CO집중기(536) 또는 슈퍼CO서버(534))는 웹서버(182) 상의 웹사이트를 능동적으로 저장하고 또한 모니터링 한다. 웹사이트 상에 변동이 없을 경우 슈퍼호스트(538)는 레벨5 슈퍼캐쉬 (648)를 갱신한다. 그 다음 슈퍼호스트(538)는 갱신통보(652)(도 6)를 슈퍼CO집중기(536)로 송신한다. 아이들 중일 때, 슈퍼CO집중기(536)는 리프레시요구(668)를 슈퍼호스트(538)로 송신한다. 슈퍼호스트(538)는 슈퍼캐쉬(648)내에 저장된 웹사이트 변동을 얻어서 데이터응답(674)을 슈퍼CO집중기(536)로 복귀시킨다. 슈퍼CO 집중기(536)는 그의 슈퍼캐쉬(646)를 갱신한 다음 갱신 통보를 슈퍼CO서버(534)로 송신한다. 그 과정은 슈퍼사용자 레벨1 슈퍼캐쉬(632)가 그 변동을 갱신할 때까지 하급레벨로 진행하는 갱신통보(650), 고급레벨로 진행하는 리프레시요구(666) 및 하급레벨로 진행하는 응답데이터요구를 반복한다. 한 웹사이트마다 많은 사용자들이 있기 때문에 1 내지 많은 변동의 멀티캐스팅(multicasting)이 효율적인 사용자캐쉬의 갱신방법이다.
본 발명의 일 실시예에서 사용자요구 IP 패킷내의 송신기의 IP 소스 어드레스는 수신하는 슈퍼모듈의 슈퍼캐쉬내의 사용자요구에 응답하여 데이터로 저장된다. 데이터 요구가 슈퍼캐쉬레벨을 위로 이동 즉, 레벨 수가 증가하면 요구하는 슈퍼모듈 예컨데, 어드레스를 식별하는 레벨N은 수신하는 슈퍼모듈 슈퍼캐쉬 예컨데, 레벨N+1내의 응답 데이터와 더불어 저장된다. 데이터를 갱신시키는 어떠한 경우, 예를 들어 사용자요구 또는 웹서버를 점검하는 슈퍼호스트 점검 및 갱신은 모든 하급레벨 캐쉬로 보급된다. 이러한 1 내지 많은 행위 이후 캐쉬 리프레시의 효율은 아주 양호하다.
도 8은 수신하는 슈퍼모듈의 캐쉬내에 다수의 사용자요구로부터의 데이터와 요구자의 IP 어드레스들이 저장되는 일예이다. 도 8은 4개의 슈퍼모듈들, 슈퍼캐쉬 (712)를 갖는 슈퍼모듈1(710), 슈퍼캐쉬(716)를 갖는 슈퍼모듈2(714), 슈퍼캐쉬 (717)를 갖는 슈퍼모듈3(715) 및 슈퍼캐쉬(720)를 갖는 슈퍼모듈4(718)를 나타낸다. 슈퍼모듈들(710,714,715)은 슈퍼모듈4(718)에 접속된다. 슈퍼모듈1(710)은 사용자1요구(730)를 통신링크(732)를 통해 슈퍼모듈4(718)로 송신한다. 슈퍼모듈4 (718)는 사용자1요구(730)를 실행하고 응답데이터1(762)을 검색한다. 슈퍼모듈4 (718)는 응답데이터1(762)을 예를 들어 로우(row)(742)의 데이터구조(740)내의 사용자1요구(730)의 IP소스 사용자1어드레스(766) 예컨데, 슈퍼모듈1(710)의 IP어드레스와 연합한다. 슈퍼모듈4(718)는 응답데이터1(750)을 슈퍼모듈1(710)로 복귀시키고, 슈퍼모듈1(710)은 그 데이터를 그의 슈퍼캐쉬(712)내에 저장한다. 마찬가지로 슈퍼모듈2(714)는 사용자2요구(734)를 링크(736)를 통하여 슈퍼모듈4(718)로 송신하고 또한 슈퍼모듈3(715)은 사용자3요구(735)를 링크(737)를 통하여 슈퍼모듈4(718)로 송신한다. 마찬가지로 슈퍼모듈4(718)는 사용자요구를 처리하여 데이터구조(720)내에 사용자2 IP어드레스(768)를 갖는 응답데이터2(764-1)를 갖는 로우 (744)와 사용자3 IP어드레스(769)를 갖는 응답데이터2(764-2)(즉,응답데이터2 (764-1)의 복제)를 갖는 로우(746)를 생성한다. 마찬가지로 슈퍼 모듈4(718)는 754-1과 754-2내의 동일한 응답데이터2를 슈퍼모듈(714,715)로 제각기 송신한다. 여기서 주목되는 것은 응답데이터2(764-1,764-2)가 변동되면 데이터구조(720)는 사용자2 IP어드레스(768)와 사용자3 IP어드레스(769)가 갱신통보를 송신하기 위해 필요함을 나타낸다는 것이다. 따라서 갱신은 캐쉬레벨을 통해 아래로 멀티캐스팅될 수 있다.
동적 IP어드레스를 사용하는 시스템의 경우, 740의 데이터구조는 사용자 ID가 슈퍼캐쉬 예컨데, 사용자1 ID(770), 사용자2 ID(772) 및 사용자3 ID(774)의 성능을 최소화하기 위한 추가의 엔티티(entity)를 포함한다. 동적으로 할당된 IP 어드레스를 갖는 슈퍼캐쉬레벨 N이 슈퍼캐쉬레벨 N+1에 접속될 때마다 슈퍼캐쉬 N+1은 그의 데이터 테이블(740)을 점검하여 독특한 사용자 ID를 새로이 동적으로 할당된 IP 어드레스와 일치시켜 그 IP 어드레스필드가 항상 현존하는 것 예컨데, 사용자2 IP 어드레스(768)를 갖는 사용자2 ID(772)임을 보장해준다. 이 방법은 사용자 IP 어드레스가 변동된다 할지라도 슈퍼캐쉬 N+1이 동적으로 할당된 IP 어드레스를 갖는 각 사용자에 대하여 사전에 캐슁된 사용자의 정보를 최소화시켜준다. 일 실시예는 개별데이터구조를 생성하도록 데이터구조(740)내에 사용자 ID 필드(770, 772,774)를 포함하는 것이다.
다른 실시예에서 슈퍼사용자(또는 슈퍼어플라이언스)는 아직 요구되지 않은 웹페이지들로 진행하는 사용자의 확률을 인공지능 또는 다른 수단에 의해 결정한다. 예를 들어 사용자가 슈퍼사용자 슈퍼캐쉬내에 이미 저장된 웹페이지에 링크할 양호한 확률과 사용자에 의해 이전에 결코 방문되지 않은 한 페이지의 웹사이트에 어떤 링크를 사용할 양호한 확률이 있을 수 있다. 그 때, 아이들 시간동안 사용자가 슈퍼사용자 캐쉬(또는 슈퍼어플라이언스 캐쉬)로부터의 미래의 요구들을 만족시킬 수 있을 확률을 증가시키키 위해 슈퍼사용자는 웹페이지들을 프리페칭할 수 있다. 프리페칭요구는 그들이 최하 우선순위 즉, 사용자요구, 갱신 및 리프레시요구 이하 순위를 갖는 것을 제외하고 리프레시요구와 같이 처리된다. 프리페칭된 웹페이지는 또한 네트워크 상에 아무런 행위가 있지 않는 한 리프레시되지 않는다.
사용자가 검색하는 웹페이지를 심사할시에 웹페이지는 문구적 데이터와 그래픽을 포함한다. 텍스트 압축을 위한 효율적이면서도 간단한 알고리즘이 있지만 그래픽 데이터의 압축은 훨씬 더 어렵다. 다행히 많은 웹페이지 그래픽들은 많이 변동하지 않는다. 본 발명의 또 다른 양상에서 그래픽들은 슈퍼사용자캐쉬 또는 슈퍼어플라이언스 슈퍼캐쉬 중 어느 하나 또는 양자 모두내에 사용자의 가까이에 저장된다.
도 9는 본 발명의 일 양상의 인터넷을 통한 사용자와 웹서버 간의 그래픽 및 텍스트 또는 동적 데이터의 데이터 흐름의 일예를 나타낸다. 도 8은 슈퍼사용자(530), 슈퍼캐쉬(642)를 갖는 슈퍼어플라이언스(532), PoP(810) 및 인터넷(812)을 통해 웹서버(814)에 접속되는 브라우저(532)를 나타낸다. 슈퍼캐쉬(642)는 전형적으로 변형되지 않고 저압축비를 갖는 웹페이지 상에 그래픽을 저장한다. 이들 웹그래픽들은 슈퍼캐쉬(642)에 의해 경로(820)를 통해 브라우저(512)에 공급된다. 전형적으로 변동하지 않는 텍스트와 동적요구들은 압축되기 쉬워서 고압축비를 가지며 또한 브라우저에 의해 경로(822)를 통하여 웹서버(814)에 요구된다.
상술한 방법은 e-상업을 지원하는 웹사이트에서 온라인 구입과 관련하여 작용한다. 사용자는 슈퍼캐쉬(642)와 상호작용하여 웹사이트의 상품들을 나타내는 고해상의 에니메이팅(animating)된 3차원 그래픽을 수신한다. 이 내용은 슈퍼캐쉬 (642)로부터 사용자의 브라우저로 전달하기만 하면 되고 인터넷을 횡단 전송할 필요가 없기 때문에 상호작용이 활발하고 고속이다. 사용자가 능동서버페이지내에 제공된 확실한 구입을 요청하는 요구를 하면 슈퍼캐쉬(642)는 그 요구를 취급하지 않고 대신에 경로(822)를 통해 웹서버(814)로 직접 전달한다. 대부분의 요구는 작기 때문에 그들은 표준 처리를 수행하는 웹서버(814)로 신속히 귀환된다. 그 결과는 슈퍼사용자(530)를 통해 사용자에게 환송된다.
도 9가 나타낸 바와 같이 동적 데이터와 비캐쉬가능한 것으로 딱지가 붙은 데이터는 통상적으로 웹페이지 요구시 마다 리프레시될 필요가 있기 때문에 캐쉬내에 보관되지 않는다. 동적 데이터의 빈번한 요구가 있을 것으로 예상되는 사용자가 다수 있는 슈퍼어플라이언스의 경우에 데이터를 예상 또는 평균 빈도보다 높은 빈도로 요구하고, 그 데이터를 필요로 하기 전에 프리페칭 하므로 사용자의 대기시간을 줄여준다. 동적 프리페칭 리스트는 한 사람이상이 데이터를 요구할 때, 그 빈도를 근거로 인공지능 또는 기타 수단을 사용하여 생성된다. 파라미터들은 빈도와 시간을 한정하도록 입력될 수 있다.
본 발명의 또 다른 양상은 스마트 모듈이 정상 웹페이지 데이터에서 행하는 동일한 방법으로 스트리밍 파일(streaming file)을 캐슁한다. 스트리밍 데이터가 실시간인 한, 스트리밍 데이터는 가능한 한, 사용자에 가까운 슈퍼캐쉬내에 캐슁된다. 그 다음에 사용자에 가까이 존재하는 비실시간 스트리밍 파일이 요구되므로 전달을 위해 요구되는 네트워크 재원을 크게 줄일 수 있다.
티이밍(Teaming)
본 발명의 일 실시예에서 어떤 타입의 다수의 접속이 함께 티이밍을 이룰 수 있어 더 높은 대역폭을 제공할 수 있다. 더 높은 대역폭은 동일 타입의 단일 접속보다 웹페이지, 그래픽 및 파일 다운로드를 더 고속으로 검색할 수 있게 해준다. 티이밍 하려면 하나 이상의 착신지로 진행하는 2 이상의 통신링크를 갖는 슈퍼모듈이 필요하다. 슈퍼모듈 소프트웨어는 종래의 통신소프트웨어 예컨데, 표준모뎀소프트웨어 상에 있기 때문에 슈퍼모듈은 심지어 각 통신링크가 상이한 통신프로토콜을 갖는다 할지라도 각각 2 이상의 통신링크로 어플리케이션 데이터를 교환할 수 있다.
티이밍은 전형적으로 2 이상의 통신링크를 갖는 2 슈퍼모듈들 간에서 발생한다. 로드밸런싱 알고리즘은 데이터의 전송시간을 최소화하도록 하기위해 TCP/IP 패킷 트래픽을 동적으로 조정한다. 로드밸런싱 알고리즘에 사용되는 팩터들은 접속속도, 접속에 있어서 현재의 부하, 접속의 서비스질 및 마지막 사용된 접속 등이다. 그러나 이들로 제한되지는 않는다. 예를 들어 만일 슈퍼모듈로의 고속 DSL접속과저속 다이얼업 모뎀접속이 있고, 둘다 사용되지 않는 경우 고속 DSL접속이 우선 사용될 가능성이 있다.
접속 티이밍은 다수의 접속을 조합하는 표준형 다수의 링크 지점간 프로토콜(MLPPP)로부터 상이하다. MLPPP는 다수의 접속을 단일의 파이프로서 처리한다. 송신측의 MLPPP는 고급층 프로토콜로부터 네트워크 프로토콜 데이터 유닛 (PDU)을 수신하고 또한 이들 PDU를 더 작은 패킷들로 프래그먼팅(fragmenting)하고, MLPPP 헤더(header)를 각 프래그먼트에 부가하여, 그들을 모든 이용가능 링크들을 통해 송신한다. 수신단측에서 MLPPP 소프트웨어는 상이한 링크들로부터 프래그먼팅된 패킷을 취하여 그들을 MLPPP 헤더에 근거한 올바른 순서로 놓은 다음 그들을 초기의 네트워크층 PDU로 재변환한다. MLPPP 표준은 이들 멤버PPP 링크들에서 트래픽이 얼마나 평형을 이루는 가를 규정하지 못한다. 다른 한편 접속 티이밍은 표준 TCP/IP 프로토콜 이외에 또 다른 특수 통신 프로토콜 즉, 지점간 프로토콜(PPP)을 필요로 하지 않으며 티이밍은 이용가능 링크들을 지능적으로 사용한다(어떤 것은 사용하지 않을 수도 있음).
도 10은 본 발명의 일 실시예의 접속 티이밍의 일예를 나타낸다. 브라우저(908)를 갖는 슈퍼사용자(910)는 2다이얼업 접속라인(912,914)을 통해 PoP(935)에 접속된다. 브라우저(920)는 슈퍼사용자(922)에 접속되고 브라우저 소프트웨어와 슈퍼사용자 소프트웨어는 양자 모두 사용자의 PC 상에서 실행된다. 슈퍼사용자 (922)는 슈퍼캐쉬(926)를 갖는 슈퍼어플라이언스(924)에 접속된다. 슈퍼어플라이언스(924)는 PoP(935)에 접속되는 고속링크(928)와 저속모뎀링크(930,932)를갖는다. PoP(935)는 고속데이터링크(937)에 의해 인터넷(940)에 접속된다. 웹서버(942)는 또한 인터넷(940)에 접속된다.
예를 들어 슈퍼사용자(910)와 슈퍼CO서버(534)(도시않됨)를 갖는 PoP (935) 간의 티이밍접속을 보자. 두 접속들(912,914)은 동시에 온라인 연결될 필요가 있다. 이는 만일 유사 모뎀이 사용될 경우 2 모뎀, 2 전화선 그리고 통상적으로 2 ISP 기술(또는 동시 로그인을 지원하는 단일 ISP 기술)일 필요가 있음을 뜻한다. 다른 실시예에서 상이한 타입의 2 이상의 접속이 사용될 수도 있다.
티이밍이 어떻게 작용하는지를 설명하기 위해, 브라우저(920)로부터 웹서버 (942)로 슈퍼사용자(922), 슈퍼어플라이언스(924), PoP(935) 및 인터넷(940)을 통하는 동일경로가 사용될 것이다. 사용자는 http://www.gm.com.과 같은 그의 브라우저(920)내로 단일 요구를 타이핑(typing)한다. 그 요구는 샘플 경로를 통하여 웹서버(942)로 송신된다. 웹서버(942)는 브라우저(920)로 단일 HTML 파일을 반송함으로써 응답한다. 그 HTML 파일은 전형적으로 웹페이지를 포함하는 내장된 그래픽 이미지들을 위한 많은 추가 링크들을 포함한다. 웹브라우저(920)는 그 링크들에 대한 요구들을 자동으로 발행하는데 때로는 수십개의 넘버링을 발생한다. 예를 들어 슈퍼어플라이언스(924)내의 접속 티이밍 소프트웨어는 많은 관련된 요구들이 웹브라우저(920)에 의해 발생되고 있다는 사실을 감지한다. 로드밸런싱을 사용하는 슈퍼어플라이언스(924)는 이용가능 접속들(928,930,932)의 일부 또는 모두에 이 요구들을 분산할 수도 있으며 또는 고속접속(928)을 통해 대부분의 요구들을 송신하고 나머지를 저속접속들(930,932) 간에서 분할할 수도 있다.
제너럴모터스(GM) 홈페이지의 예를 사용하면 36개 이상의 임플로딩된 그래픽 요구들이 자동으로 발생될 수도 있다. 접속을 티이밍하지 않으면, 1 접속 단독으로 36개의 요구 모두를 처리해야한다. 2 접속으로 접속을 티이밍할 경우 각 접속은 18개의 요구만을 처리하면 된다. 만일 4개의 접속을 접속 티이밍에 사용하면 부하는 훨씬 더 감소하여 접속당 9개의 요구만을 처리하면 된다. 그러므로 병렬접속을 사용하면 데이터 전송시간을 크게 줄일 수 있다.
파일전송증배기
슈퍼어플라이언스는 지능을 갖고 있어 웹브라우저와 같은 말단 사용자의 어플리케이션으로부터 수신하는 HTTP, HTTP-FTP 또는 FTP 요구들을 근거로 사정 (decision)할 수 있다. 이들 사정은 특히 라스트 마일을 통해 파일들과 웹페이지 그래픽을 전송하기 위한 인터넷 억세스 성능을 크게 향상시킬 수 있다. HTTP, HTTP-FTP 또는 FTP 이외에 슈퍼모듈들은 파일전송증배기를 사용하므로 어떤 어플리케이션이 상당히 큰 양의 데이터를 전송하는 시간을 줄일 수 있다.
웹브라우저와 같은 말단 어플리케이션은 HTTP 및 HTTP-FTP 요구들을 슈퍼어플라이언스로 인도하기 위해 구성된다. 말단 사용자가 어드레스를 타이핑하거나 또는 그의 웹브라우저(920)내의 링크를 클릭하면, 특정 HTTP 또는 HTTP-FTP서버로부터 정보를 수신하는 요구는 브라우저(920)에 의해 발생되어 슈퍼어플라이언스(통상의 PC 또는 슈퍼사용자를 통해)로 인도된다. 이 요구의 수신시, 슈퍼어플라이언스는 웹서버(942)와 접촉하여 파일 상의 어떤 초기 데이터 즉, 1. 요구파일이 착신지서버로부터 입수될 수 있음을 확인, 2. 요구된 파일의 타임스탬프(timestamp)", 3.요구된 파일의 바이트 사이즈, 4. 착신지서버에 의해 지원되는 프로토콜(구체적으로, "부분 수신" 기능을 지원하는 HTTP 1.1 프로토콜을 동작하는지 또는 전송재시작 특성(feature)을 지원하는 FTP 프로토콜을 동작하는지를 점검하도록 함), 그리고 5. 그 파일 또는 그 파일의 부분들을 전송할 수 있는 또 다른 서버들이 있는지 등의 파일정보를 얻는다.
슈퍼어플라이언스가 이러한 파일정보를 수신하면, 실제의 파일 검색에 대한 여러 가지 사정들을 만든다.
1. 만일 요구된 파일이 슈퍼어플라이언스의 슈퍼캐쉬(926)내에 존재하고 웹서버(942)로부터 송신된 파일정보와 동일한 타임스템프를 가질 경우, 슈퍼어플라이언스(924)는 슈퍼캐쉬(926)로부터 말단 사용자의 브라우저(920)로 직접 파일의 카피를 전송한다. 이는 인터넷을 횡단하여 동일 파일을 검색할 필요성을 제거해주기 때문에 말단 사용자의 성능을 크게 향상시켜준다.
2. 만일 웹서버(942)로부터의 파일정보가 슈퍼어플라이언스(926)내의 것보다 더 최근의 타임스탬프를 갖거나 또는 그 파일이 슈퍼어플라이언스 캐쉬(926)내에 여전히 존재하지 않을 경우, 슈퍼어플라이언스(924)는 다른 슈퍼캐쉬(도 6참조)로부터 또는 웹서버(942)로부터 라스트 마일을 횡단하여 파일을 검색한다. 이 경우에 후술되는 본 발명의 일 실시예의 부분인 파일전송증배기 기술은 라스트 마일을 통해 파일을 전송하는 효율을 개선해준다.
파일전송증배기 기술은 HTTP 1.1 컴플라이언트(compliant) 웹서버에서 발견된 특성과 소위 "전송재시작"으로 호칭되는 FTP서버들에서 발견된 특성의 장점을갖는다. 각각의 이러한 특성들은 동일한 기본 능력을 제공하며 그들은 슈퍼모듈이 파일의 어떤 부분을 다운로드하는지를 명시하도록 허용한다. 파일전송증배기 기술은 대형 그래픽이미지를 웹페이지 상에서 표시할 것인지 또는 HTTP-FTP 프로토콜(웹브라우저에 의해 발생되는 FTP의 형태)을 사용하여 파일을 전송할 것인지 그 요구와 무관하게 작업한다. 사용자의 관점에서 볼 때, 그들은 그들의 브라우저(920)로부터 슈퍼어플라이언스(924)로 인도되는 요구를 간단히 만든다. 그 다음 슈퍼어플라이언스(924)는 요구를 처리하는 그 다음 레벨의 슈퍼모듈 캐쉬 또는 웹 또는 FTF서버가 HTTP 1.1 또는 FTP 전송재시작 특성을 지원하는지를 결정한다. 만일 그렇다면 슈퍼어플라이언스(924)는 하나 이상의 접속들을 통하여 파일의 상이한 부분들을 요구한다. 만일 웹 또는 FTF서버가 파일의 분할을 허용하는 요구된 특성들을 지원하지 않을 경우 슈퍼어플라이언스(924)는 통상적으로 행하였던데로 하나의 접속을 통해 파일을 검색한다.
좀 더 구체적으로 슈퍼어플라이언스(924)는 파일에 대한 다수의 요구를 발생시킨다. 제1 요구는 웹/FTP 서버(또는 또 다른 슈퍼 모듈)가 전체 파일을 송신할 것을 요청한다. 다른 요구들은 웹/FTP 서버(예컨데,942)(또는 또 다른 슈퍼모듈)가 파일의 다른 세그먼트들을 송신할 것을 요청한다. 슈퍼어플라이언스(924)는 파일의 제1 세그먼트와 다른 세그먼트들을 병렬로 모두 수신한다. 파일의 제1 세그먼트는 슈퍼어플라이언스에 의해 수신되고 있을 때, 브라우저가 기대한 그 대로 슈퍼사용자(922)를 통하여 브라우저(920)로 즉시 인도된다. 파일의 다른 세그먼트들은 그들이 수신되어 즉시 또는 브라우저의 일정 지연 후 인도될 때, 슈퍼어플라이언스 PC상에 저장된다. 전형적으로 LAN 네트워크 속도는 라스트 마일 링크보다 크기 때문에 사용자는 더 작은 양의 시간으로 전체 파일을 수신한다. 만일 어떤 이유로 파일의 다른 세그먼트에 대한 요구가 실패하거나 또는 제1 요구보다 더 저속 페이스로 수신되고 있을 경우, 슈퍼어플라이언스는 다른 요구들을 삭제하고 제1 요구가 전체 파일을 수신하도록 허용한다. 만일 파일을 송신할 수 있는 다수의 서버가 있을 경우, 슈퍼어플라이언스는 상이한 서버로부터 파일의 상이한 부분을 요구할 수 있으므로 그 트래픽을 로드밸런싱하여 더 고속전송을 달성할 수 있다.
파일전송증배는 파일의 다수의 세그먼트를 병렬로 송신하므로 성능을 향상시킬 수 있다. 인터넷에 단일 접속을 갖는 환경에서 파일전송증배를 사용하면 그 단일 접속의 더 좋은 이용을 통해 성능이득이 얻어진다. ISP에 의한 단일요구의 처리량이 트로틀다운(throttled down)되는 일은 드문 일이 아니므로 ISP의 대역폭은 그의 많은 사용자들의 많은 요구들을 횡단하여 분산시킬 수 있다. 예를 들어 말단 사용자의 PC와 ISP 간에 416Kbps DSL 접속이 있을 수도 있다. ISP는 어떤 한 요구는 200Kbps 이상을 수신하지 말아야하는 제한을 부과할 수도 있다. 그러므로 파일전송증배 없이 파일에 대한 단일 요구는 216Kbps의 비사용 대역폭을 그대로 두고 200Kbps보다 더 고속으로 진행할 수 있다. 파일전송증배시에는 다수의 요구가 그 파일에 대해 행해진다(파일의 제1 세그먼트에 대해 1 요구 그리고 파일의 제2 세그먼트에 대해 다른 요구). 요구당 200Kbps의 동일 제한을 갖는 환경에서는 각 파일의 요구가 200Kbps의 대역폭을 가지므로 조합하면 400Kbps가 되어 파일을 제1 절반과 제2 절반으로 나눌 수 있다. 이는 비사용 중인 대역폭을 크게 증가시킨다.
다수의 접속을 관리하는 슈퍼어플라이언스의 접속 티이밍 특색을 갖는 환경에서 파일전송증배를 사용하면 한 접속을 통해 하나 이상의 요구들을 그리고 다른 접속을 통하여 다른 요구들을 송신함으로써 성능이득이 향상된다. ISP에 의한 "트로틀다운되는 일이 없는 상황에서 모든 요구들은 파일의 세그먼트들을 분할하기 위해 각 접속의 전체 대역폭을 갖는다. 트로틀다운이 발생하는 경우에 나머지 대역폭은 다른 사용자들에 대한 다른 요구들을 처리하기위한 슈퍼어플라이언스에 의해 또는 다른 서버들로부터 부분들을 요구함으로서 사용될 것이다.
도 11은 본 발명의 일 양상의 파일전송증배에 의한 시간 절약의 예를 나타낸다. 수평축(1010)은 "0"의 시작시간(1012), 시간 "T" (1014) 및 시간 "2T" (1016) 즉, (2 x T)의 시간표시를 갖는다. 통신링크(930)(도 10)를 통해 전달되는 파일이 2T(1016)의 시간기간 걸리는 것으로 가정하자. 파일(1020)을 절반으로 분할하여 링크(930)(도 10)를 통해 파일(1020)의 제1 세그먼트를 송신하고 동시에 제2 링크(932)(도 10)를 통해 파일(1020)의 제2 세그먼트를 송신함으로써, 전체 파일 (1020)을 전송하는데 걸리는 시간이 T 또는 절반이다. 또한 전체 파일(1020)이 링크(930)를 통해 송신되는 한편 동시에 제2 세그먼트(1032)는 라인(932)을 통해 전송된다. 만일 제2 세그먼트(1032)가 성공적으로 도착하면 링크(930) 상의 제2 전송부분은 필요없다. 만일 하나의 링크가 고속 DSL 링크(928)(도 10)이고, 제2 링크(930)(도 10)가 다이얼업모뎀링크일 경우, 파일(1020)은 불균형으로 분할될 수 있다. 제1 큰세그먼트(1040)는 DSL 링크(928)를 통해 송신되고 파일(1020)의 나머지 작은 부분(1042)은 저속링크(930)를 통한다.
상기 설명은 어플리케이션 서버와 사용자모듈로부터 가장 먼 슈퍼모듈 간의 "외부파일전송증배기"의 프로세스의 개요이다. 외부파일전송증배기는 어플리케이션 서버가 HTTP 1.1 부분 수신 또는 FTP 전송재시작과 같은 표준형 파일 분할을 지원할 것을 요구한다. 슈퍼모듈은 또한 "내부파일전송증배기"를 사용함으로써 어플리케이션 서버가 파일분할특성을 지원하는지에 무관하게 슈퍼모듈들 간의 전달시간을 줄여줄 수 있다. 이를 달성하기 위해 각 슈퍼모듈은 슈퍼모듈들 간에 송신된 정보를 여러 블록들로 분할 허용하는 데이터분할기능을 지원하며, 그 분할된 블록들은 직렬보다는 오히려 병렬로 그 다음 슈퍼모듈로 인도된다. 어플리케이션을 독립으로 하는 이외에 내부파일전송증배기는 다수의 소오스로부터 데이터의 전달 속도를 가속한다. 내부파일전송증배기는 단일 고속라인을 통해 또는 티이밍을 사용하여 정보를 다수의 라인들을 통해 그 다음 슈퍼모듈로 전달하는 상황에서 전송되는 데이터의 전송시간을 개선해준다. 내부파일전송증배기는 양방향성으로 대형부첨물들을 갖는 송신 이메일과 같은 데이터 업로딩 뿐만아니라 원격서버로부터의 파일전송과 같은 데이터 다운로딩을 개선해준다.
상기 도 11에 의해 나타낸 바와 같이, 상이한 속도 억세스접속들 간에서 쿠리어패킷 또는 파일들을 분할할시에, 데이터는 전형적으로 동일 사이즈 파일로 분할되지 않고 그 대신 모든 전송이 동시에 완료되도록 억세스속도가 일치하는 파일들로 분할된다. 또 다른 예로서, 슈퍼모듈이 한 라인이 다른 라인의 4배 고속인 2라인들을 횡단하여 "n" 바이트의 데이터를 전송할 필요가 있는 것으로 가정하면, 이 때, 고속라인은 전송할 데이터의 사이즈의 4/5의 파일을 가지며 저속라인은 전송할 데이터의 사이즈의 1/5의 파일을 갖는다. 이는 그 전송이 거의 동시에 완료되게 한다. 만일 파일이 균등하게 분할됐을 경우, 고속라인은 완료되고 저속라인은 유효응답시간을 지연할 것이다.
파일을 세그먼팅하여 그 파일 세그먼트들을 병렬로 전송하는 것은 어떤 수의 억세스라인으로 행해질 수 있다. 슈퍼모듈이 데이터의 사이즈를 알지 못하기 때문에 송신 슈퍼모듈로부터 요구가 있으면 이 정보는 억세스라인들의 속도를 사용하는 요구 모듈에 의해 추론되야 한다. 송신 슈퍼모듈이 분할을 필요로 하는 파일에 대한 요구를 수신하면 그 세그먼트가 송신될 억세스라인의 속도를 근거로 하여 파일을 어느 사이즈의 세그먼트로 분할할 것이다. 그 세그먼트들은 그들의 대응하는 억세스라인들에 의해 송신되므로 요구하는 슈퍼모듈은 억세스라인의 속도에 의해 세그먼트 전송을 조정할 수 있다. 이 기술은 저속라인 때문에 전송완료를 대기하는 불편을 제거할 수 있다. 이는 특히 데이터가 큰 쿠리어 패키지로 다시 패키징될 때, 그 가치를 발휘한다.
모니터 해상도
본 발명의 일 실시예에서는 슈퍼사용자(540)와 슈퍼어플라이언스(532)가 지원되는 PC 모니터의 특성 예를 들어, 인치당 화소수, 최대 해상도 및 최대 컬러수에 관한 정보를 슈퍼CO서버(534)에 통보한다. 예를 들어, 만일 인치당 모니터의 화소수가 인치당 그래픽의 화소수보다 적으면 이미지의 인치당 그래픽 화소수는 슈퍼CO서버(534)로부터 슈퍼사용자(540) 또는 슈퍼어플라이언스(532)로 송신되기 전에 감소된다. 또한 공동체는 지원받길 원하는 모니터특성들을 선택할 수 있으며또한 슈퍼CO서버(534)는 이들 파라미터에 맞도록 웹페이지의 모든 그래픽 요소들을 조정한다.
프록시스택들
프록시 서버는 사용자의 PC 예컨데, 브라우저 상의 어플리케이션과 인터넷 상의 서버 간에 위치되는 중간 컴퓨터이다. 프록시 서버는 서버로 가는 모든 요구를 가로채서 스스로 그 요구를 충족시키도록 노력한다. 예를 들어, 사용자가 그의 브라우저 상의 웹사이트를 방문할 때, 그 브라우저는 요구를 할당된 프록시 서버에 보낸다. 만일 프록시 서버가 최근에 그 사이트를 방문했을 경우(또 다른 사용자가 이미 그 곳을 방문하였기 때문에), 그 프록시 서버는 그의 하드드라이브에 동일 웹페이지를 희망적으로 저장하여 둔다. 따라서 웹서버로부터 이 페이지를 다운로드 하는 대신에, 사용자의 PC가 프록시 서버로부터 이 페이지들을 다운로드 하므로 결국 억세스 시간이 고속화된다. 예를 들어 컴퓨서브(Compuserve) 및 아메리카 온라인과 같은 메이저 온라인 사업자의 일부는 한 어레이의 프록시 서버를 사용한다.
본 발명의 또 다른 실시예에서는 2 이상의 프록시 서버들을 갖는 프록시스택들이 사용된다. 각 슈퍼사용자는 2 이상의 일차 프록시 서버들 예컨데, 슈퍼어플라이언스들을 가지며, 이 들은 우선순위에 따라 사용되거나 또는 각 사용자요구로 스위치될 수 있다. 각 슈퍼어플라이언스는 2 이상의 프록시 서버 예컨데, 슈퍼CO서버들을 갖는다. 사용자는 인터넷에 도착하기 전에 슈퍼CO프록시서버에 접속되는 슈퍼어플라이언스 프록시 서버를 통해 진행한다.
도 12는 본 발명의 일 실시예의 프록시스택들을 사용하는 일예이다. 3개의슈퍼사용자들(1110,1112,1114)은 슈퍼어플라이언스(1120,1122)에서 프록시 서버에 스위치(1116)에 의해 접속된다. 슈퍼어플라이언스(1120)는 또한 스위치(1124)를 통해 슈퍼CO서버(1130,1133) 상의 2개의 다른 프록시 서버들에 더 접속된다. 슈퍼어플라이언스(1122)는 스위치(1126)를 통해 슈퍼CO서버(1130,1132) 상의 프록시 서버들에 접속된다. 슈퍼사용자(1110)는 스택내에서 슈퍼어플라이언스(1122) 프록시가 슈퍼어플라이언스(1120)에 후속하는 제1 프록시스택을 갖는다. 슈퍼사용자(1112)는 스택내에서 슈퍼어플라이언스(1122) 프록시가 슈퍼어플라이언스(1120)에 후속하는 제2 프록시스택을 갖는다. 슈퍼사용자(1110)는 스택내에서 슈퍼어플라이언스(1122) 프록시가 슈퍼어플라이언스(1120)에 후속하는 제3 프록시스택을 갖는다. 슈퍼어플라이언스(1120)는 스택내에서 슈퍼CO서버(1132) 프록시가 슈퍼CO서버(1130)에 후속하는 제4 프록시스택을 갖는다. 슈퍼어플라이언스(1120)는 스택내에서 슈퍼CO서버 (1132) 프록시가 슈퍼CO서버(1130)에 후속하는 제5 프록시스택을 갖는다.
캐쉬서버가 전형적으로 프록시서버이기 때문에 슈퍼캐쉬를 갖는 각각의 슈퍼모듈은 프록시서버로서 역할 할 수 있다. 그러므로 프록시서버들의 예를들면 슈퍼어플라이언스 또는 슈퍼CO서버로 제한되지 않고 슈퍼CO집중기와 슈퍼호스트를 포함한다.
일 실시예에서 네트워크내의 각 슈퍼모듈들내에는 프록시스택들을 관리하는 프록시리솔버(resolver)로 호칭되는 중앙프록시스택매니저가 있다. 중앙집중방식의 프록시리솔버 위치에 있는 프록시스택 리스트를 수정함으로써, 네트워크내의 각각의 슈퍼모듈에 대한 프록시스택들이 수정될 수 있다. 양호한 실행 방법은 아테라시스템(Artera system)을 스타트업 할시 프록시 리솔버에 접속하거나 또는 특정 간격들로 슈퍼모듈이 사용되야할 프록시스택을 검색하는 것이다.
상기 도 12의 예에서, 각 슈퍼사용자는 우선순위로 사용되거나 또는 각 사용자 요구로 스위치될 수 있는 2 이상의 일차적인 프록시서버들 예컨데, 슈퍼어플라이언스를 갖는다. 만일 프록시서버가 사용되고있는 스택내의 그 다음 프록시서버를 타임아웃(time out)할 경우, 이는 내고장성(fault tolerant)(논스톱; non-stop)인 시스템를 생성한다. 만일 요구가 만들어질 때마다, 스택 상의 그 다음 프록시서버가 사용되므로 로드밸런싱이 성취될 수 있다. 슈퍼어플라이언스들은 또한 사용하기 위한 2 이상의 슈퍼CO서버들의 프록시스택을 가질 수 있다. 이 어플라이언스 스택은 각 요구에 대하여 우선순위로 사용되거나 또는 스위치되도록 셋업(set up)될 수 있다. 만일 우선순위로 사용된다면, 우선권 프록시가 타임아웃되야 할 경우, 그 다음 프록시는 백업(backup)으로서 사용된다. 만일 다른 방법으로 사용된다면, 프록시들 간의 네트워크에 로드밸런싱을 이룰 것이다. 어느 때,나 프록시 리솔버는 네트워크의 처리특성을 변경시킴으로써 아테라 어플라이언스(Artera Appliance) 상으로 새로운 프록시 리스트를 로드할 수 있다.
VPN
가상 사설 네트워크(VPN)는 공동체 인트라넷(corporate intra-net)과 같은 사설네트워크로서 인터넷과 같은 공중네트워크의 자원을 사용한다. 2가지 대표적인 타입의 VPN은 사이트간(sit-to-site)과 원격 억세스이다. 각 타입은 신뢰된 사설네트워크와 비신뢰된 공중네트워크 간의 게이트키퍼(gate keeper), 전형적으로 전문화된 하드웨어인 VPN 게이트웨이를 사용하게 한다. 게이트키퍼는 신뢰된 사설 네트워크를 억세스하는 "게스트(guest)" 리스트를 갖는다. 만일 패킷이 리스트 상에 없다면 억세스가 없다.
도 13은 종래의 사이트간 VPN(1440)과 종래의 원격VPN(1446)의 예를 나타낸다. 사이트간 VPN(1440)의 경우, PC(1412), PC(1414) 및 LAN서버(1416)를 갖는 제1 인트라넷(intranet)은 디지털 접속장치(1526)와 PoP(1514)에 의해 인터넷 (1530)에 VPN 게이트웨이(1420)를 통해 접속된다. 인터넷(1530)으로부터 VPN(1440)은 PC(1434), PC(1436) 및 LAN서버(1432)를 갖는 제2 인트라넷에 PoP(1540), 모뎀 (1542) 및 VPN 게이트웨이(1430)를 통해 접속된다. 그러므로 제1 인트라넷과 제2 인트라넷은 조합된 인트라넷을 형성하도록 인터넷을 통하여 함께 접속된다. 원격VPN(1446)의 경우, 원격 PC의 사용자는 모뎀(1534)을 통해 PoP(1532)로 다이얼하여 인터넷(1530), PoP(1540), 모뎀(1542) 및 VPN 게이트웨이(1430)를 통하여 LAN서버(1432)를 억세스한다. PC는 VPN 클라이언트 소프트웨어를 가질 것이며 고정 IP 어드레스 또는 동적 DSN/URL 서비스에 의해 공급되는 동적 IP 어드레스를 가질 수도 있으며, 이 서비스는 PC에 의해 사용될 URL(균일한 재원 위치지정자)을 공급한다. 동적 DSN/URL 서비스는 PC의 IP 어드레스의 VPN 게이트웨이(1430)에 통보하여 PC가 LAN서버(1432)를 억세스할 수 있다.
도 13에 나타낸 바와 같이 종래의 VPN들은 여러 가지 제한을 갖는다. 첫째 특수 게이트웨이 하드웨어가 전형적으로 요구된다. 둘째 한 사용자가 다수의 VPN들을 억세스할 수 없다. 본 발명의 실시예는 이러한 문제점들을 극복한다. 슈퍼모듈사이트를 그룹지우면 하나 이상의 VPN을 형성할 수 있다. 어느 슈퍼모듈이 어느 다른 슈퍼모듈을 억세스할 것인지 즉, 누구를 억세스할 수 있는지에 관한 허가테이블을 갖는 중앙사이트(1538)(도 16)가 있다.
도 14는 본 발명의 일 실시예의 2 가상 사설 네트워크(VPN)의 예를 나타낸다. 슈퍼사용자(1510)는 VPN(1552)과 VPN(1550)에 속한다. 슈퍼사용자(1510)는 원격 VPN(1550)을 통해 슈퍼어플라이언스(1524)에 원격으로 접속되며, 여기서 슈퍼어플라이언스(1524)는 LAN서버(1416) 상에서 실행하는 소프트웨어 게이트웨이이다. 슈퍼어플라이언스(1524)와 슈퍼어플라이언스(1544)가 스타트업하면 그들은 그들의 IP 어드레스를 중앙사이트(1538)의 허가테이블로 송신한다. 슈퍼사용자(1510)는 모뎀(1512)을 통해 PoP(1514)로 다이얼하면, PoP는 IP 어드레스를 슈퍼사용자에 할당한다. 그 다음 중앙사이트는 슈퍼사용자(1510)에 의해 로그되고, 슈퍼사용자(1510)는 IP 어드레스를 중앙사이트에 보고한다. 슈퍼사용자(1510)가 PC(1412)를 슈퍼어플라이언스(1524)를 통해 억세스하길 원할 때, 허가테이블이 점검된다. 슈퍼사용자 (1510)가 억세스권을 갖기 때문에, 슈퍼사용자(1510)의 IP 어드레스와 슈퍼어플라이언스(1524)의 IP 어드레스 간의 터널(tunnel) 즉, VPN(1550)이 설정된다. 슈퍼사용자(1510)는 또한 중앙사이트(1538)의 허가테이블에 의해 나타낸 바와 같이 슈퍼사용자(1536)와 슈퍼어플라이언스(1544)에 대한 억세스권을 갖는다. 그러므로 VPN(1552)이 설정된다. 따라서 슈퍼사용자는 다수의 VPN과 다른 슈퍼사용자들에 대한 억세스권을 갖는다.
또 다른 실시예에서, 슈퍼사용자(1536)는 또한 원격사용자일 수도 있고VPN(1552)이 생성될 때, 로그되지 않을 수도 있다. 슈퍼사용자(1536)가 로그인 될 때, IP 어드레스가 할당되고, 허가테이블에 따라 슈퍼사용자(1536), 슈퍼사용자 (1510) 및 슈퍼어플라이언스(1544)를 포함하는 3방향 VPN이 설정된다.
슈퍼전송시스템에 대한 상술한 최적화는 슈퍼어플라이언스 모듈이 VPN의 양쪽에 설치되는 한, 본 발명의 어떤 VPN의 시스템들에 걸쳐 적용될 수 있다.
일예로서, 2 슈퍼모듈들은 VPN을 사용하여 접속될 수 있으며, 또한 모든 데이터 전송은 그 들이 파일, 이메일 또는 웹페이지이든지 간에, 예를 들어, 상술한 바와 같은 파일전송증배기 및 티이밍을 사용한다. 구체적으로 만일 예를 들어 슈퍼사용자(1510)로부터 PoP(1514)까지 하나가 아닌 두개의 모뎀 라인이 있을 경우, 슈퍼사용자(1510)로부터 슈퍼어플라이언스(1524)로의 VPN(1550)을 통한 데이터전송은 크게 증가된다. 왜냐하면 PoP(1514)로부터 슈퍼어플라이언스(1524)까지 고속 디지털 접속이 있기 때문이다.
결론
비록 본 발명의 특정 실시예들을 설명하였으나 본 발명의 범위내에서 여러 가지 수정, 변경, 다른 구성 및 등가물도 실시가능하다. 따라서 지금까지 설명한 본 발명은 어떤 특정 데이터 처리 환경에서의 동작으로 제한되지 않고 다수의 데이터 처리환경에서 동작가능하게 실시할 수 있을 것이다. 그 외에도, 본 발명은 특정 계열의 거래와 단계들을 사용하여 설명하였으나 본 발명의 범위가 그들로 제한되지 않음을 본 분야에 숙련자는 이해할 것이다.
또한 지금까지 본 발명은 하드웨어와 소프트웨어의 특정 조합을 사용하여 설명하였으나 본 발명 범위내에서 다른 조합의 하드웨어와 소프트웨어도 가능함을 이해할 것이다. 본 발명은 하드웨어만으로 또는 소프트웨어만으로 또는 그들의 조합으로 실행할 수도 있다.
따라서 상술한 설명과 도면들은 제한하기 위한 것이라기보다 설명을 위한 것으로 간주될 것이다. 그러나 청구범위에 기재된 바와 같이 본 발명의 넓은 정신과 범위로부터 벗어나지 않는 범위내에서 부가, 삭감, 삭제 및 기타 수정 및 변경이 가능하다.

Claims (24)

  1. 컴퓨터 상의 브라우저 또는 프로그램에 의해 사용하기 위한 데이터를 캐슁하는 방법에 있어서,
    상기 브라우저 또는 어플리케이션 프로그램에 의해 서버로부터 검색된 데이터의 아이템을 캐쉬내에 저장하는 단계와;
    상기 브라우저 또는 어플리케이션 프로그램에 의해 아무런 행위가 없을 때, 상기 캐쉬내의 상기 아이템을 갱신하는 단계와; 그리고
    상기 캐쉬로부터의 상기 갱신된 아이템을 상기 브라우저 또는 어플리케이션 프로그램 상에 표시하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 자동으로 갱신하는 단계는 상기 아이템이 상기 서버에 의해 수정될 때, 발생하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 자동으로 갱신하는 단계는 상기 아이템의 캐쉬수명이 초과될 때, 발생하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서, 상기 아이템을 자동으로 갱신하는 단계는 포인트오브프리젠스(PoP)에 위치된 또 다른 캐쉬로부터의 상기 갱신된 아이템을 검색하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서, 상기 자동으로 갱신하는 단계는 상기 컴퓨터가 데이터를 요구 또는 검색하고 있지 않을 때, 또는 그의 조합일 때, 수행되는 것을 특징으로 하는 방법.
  6. 통신 네트워크에 의해 제1 컴퓨터 시스템이 제2 컴퓨터 시스템에 접속되고, 상기 제1 컴퓨터 시스템의 캐쉬내의 제1 데이터를 상기 제2 컴퓨터 시스템내의 제2 데이터로부터 갱신하는 방법에 있어서,
    상기 제1 컴퓨터 시스템이 동작 중이 아닐 때, 상기 제1 데이터의 리프레시 요구를 상기 제2 컴퓨터 시스템으로 송신하는 단계와;
    상기 리프레시 요구를 사용하여 상기 제2 데이터의 위치를 지정하는 단계와;
    상기 제2 데이터가 상기 제1 데이터의 신규 버전일 때, 상기 제2 데이터를 상기 제1 컴퓨터 시스템으로 송신하는 단계와; 그리고
    상기 캐쉬내의 상기 제1 데이터를 상기 제2 데이터로 교체하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서, 상기 제2 데이터의 위치를 지정하는 상기 단계가 실폐일 경우, 상기 리프레시요구를 상기 통신 네트워크에 의해 상기 제2 컴퓨터 시스템에 접속된 제3 컴퓨터로 인도하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제 6 항에 있어서, 상기 제2 데이터가 상기 제1 데이터의 신규 버전일 경우, 상기 제1 컴퓨터 시스템의 통신 네트워크 어드레스를 상기 제2 데이터와 연관시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제 7 항에 있어서, 상기 통신 네트워크 어드레스는 IP 어드레스인 것을 특징으로 하는 방법.
  10. 통신 네트워크 상의 복수의 캐쉬에 호스트서버로부터의 피선택 데이터를 분산하는 시스템에 있어서, 상기 통신 네트워크는:
    상기 호스트서버에 접속되는 복수의 캐쉬들 중 하나로서 상기 피선택 데이터의 제1 복제를 갖는 제1 캐쉬와;
    PoP 억세스장치를 통하여 상기 제1 캐쉬에 접속되는 복수의 캐쉬들 중 하나로서, 사용자 PC에 접속되는 제2 캐쉬 -상기 제2 캐쉬는 상기 피선택 데이터의 제2 복제를 가지며 또한 제1 및 제2 복제들이 함께 링크되며- 와; 그리고
    상기 피선택 데이터를 검색하기 위한, 상기 제2 복제를 우선 사용하여 상기 사용자 PC 상에서 실행하는 브라우저를 포함하는 것을 특징으로 하는 시스템.
  11. 제 10 항에 있어서, 상기 제2 복제는 상기 제2 캐쉬의 아이들 시간 동안 또는 소정의 기간 동안 상기 제1 복제로부터 리프레시되는 것을 특징으로 하는 시스템.
  12. 제 10 항에 있어서, 상기 피선택 데이터는 사용자 이용 프로필로부터 결정되는 것을 특징으로 하는 시스템.
  13. 제1 컴퓨터 시스템이 캐쉬를 갖는 제2 컴퓨터 시스템으로부터의 데이터에 대한 사용자요구에 응답하는 방법에 있어서,
    상기 제2 컴퓨터 시스템으로부터의 데이터에 대한 상기 사용자요구를 수신하는 단계와;
    상기 사용자요구에 대응하는 응답 데이터를 검색하는 단계와;
    상기 제2 컴퓨터 시스템에 대한 네트워크 어드레스를 상기 응답 데이터와 함께 상기 캐쉬내에 저장하는 단계와; 그리고
    상기 응답 데이터를 상기 제2 컴퓨터 시스템에 송신하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제 13 항에 있어서, 상기 네트워크 어드레스가 동적으로 할당된 IP 어드레스일 때, 상기 제2 컴퓨터 시스템에 대한 이름을 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제 13 항에 있어서, 제3 컴퓨터 시스템에 대한 상기 네트워크 어드레스가 상기 캐쉬내의 상기 응답 데이터와 연관될 때, 상기 응답 데이터가 상기 제3 컴퓨터시스템으로 멀티캐스팅되는 것을 특징으로 하는 방법.
  16. 제1 컴퓨터 시스템에서 사용자를 위한 데이터를 제2 컴퓨터 시스템으로부터 통신 네트워크를 통하여 프리페칭하는 방법에 있어서,
    상기 제2 컴퓨터 시스템으로부터의 피선택 데이터에 대해 상기 제1 컴퓨터에 의해 송신되는 사용자 요구들의 빈도를 결정하는 단계와; 그리고
    상기 피선택 데이터의 한 아이템이 대응하는 사용자 요구가 송신되기 전에 상기 제1 컴퓨터 시스템에서 이용될 수 있도록 상기 빈도보다 더 높은 값으로 상기 제1 컴퓨터에 의해 요구하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 제1 컴퓨터와 제2 컴퓨터 간에 공중통신네트워크를 통하여 가상사설네트워크 (VPN)를 제공하는 방법에 있어서,
    상기 제1 컴퓨터와 제2 컴퓨터 간에 상기 제1 컴퓨터의 어드레스와 제2 컴퓨터의 어드레스를 포함하는 중앙집중방식의 허가테이블을 사용하여 VPN을 설정하는 단계와; 그리고
    상기 제1 컴퓨터가 상기 제2 컴퓨터로의 복수의 병렬 통신링크들을 가질 때, 상기 제1 및 제2 컴퓨터들 간의 데이터 흐름을 증가시키도록 상기 복수의 병렬 통신링크들을 티이밍하는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 제1 컴퓨터로부터 제2 컴퓨터로의 데이터 트래픽을 조정하되, 상기 제2 컴퓨터의 컴퓨터 모니터 상의 그래픽을 지원하기 위해 필요한 상기 데이터 트래픽을 조정하는 방법에 있어서,
    인치당 제1 화소수를 포함하는 상기 컴퓨터 모니터의 표시 캐릭터들을 상기 제1 컴퓨터에 송신하는 단계와;
    그래픽 아이템에 대해 인치당 제2 화소수를 평가하는 단계와;
    상기 제2 화소수가 상기 제1 화소수보다 클 때, 상기 그래픽 아이템으로부터 인치당 감소된 화소수를 갖는 수정된 그래픽 아이템을 생성하는 단계와; 그리고
    상기 수정된 그래픽 아이템을 상기 제2 컴퓨터로 송신하는 단계를 포함하는 것을 특징으로 하는 방법.
  19. 컴퓨터용 프록시스택내에서 복수의 프록시서버들로부터 한 프록시서버를 선택하는 방법에 있어서,
    상기 프록시스택내에서 상기 복수의 서버들에 대한 순서를 상기 중앙 프록시스택매니저에 의해 설정하는 단계와; 그리고
    상기 복수의 프록시서버들 중 한 프록시서버에 대한 요구가 상기 컴퓨터에 의해 있을 때마다, 상기 프록시스택내에서 상기 복수의 프록시서버들 중 차례로 다음 순서의 프록시서버를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  20. 제 19 항에 있어서, 상기 복수의 프록시서버들로부터 선택된 제1 프록시서버가 타임아웃될 때, 상기 프록시스택내에서 상기 복수의 프록시서버들 중 차례로 다음 순서의 제2 프록시서버를 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  21. 동적 데이터와 정적 그래픽을 포함하는 웹콘텐츠를 컴퓨터 상에서 실행하는 브라우저에 제공하는 시스템에 있어서,
    상기 정적 그래픽의 상당부분을 상기 브라우저에 제공하기 위한 캐쉬로서, LAN에 의해 상기 컴퓨터에 접속되는 상기 캐쉬와; 그리고
    상기 동적 데이터의 상당부분을 상기 브라우저에 제공하기 위한, 웹서버로의 가상회로접속을 포함하는 것을 특징으로 하는 시스템.
  22. 제1 컴퓨터와 제2 컴퓨터 간의 복수의 통신링크를 통하여 상기 제1 컴퓨터로부터 제2 컴퓨터로 전송되는 데이터를 로드밸런싱하는 방법에 있어서,
    상기 복수의 통신링크들의 각 통신링크에 대해 TCP/IP 접속을 설정하는 단계와; 그리고
    상기 데이터의 전송시간을 크게 줄이기 위해, 팩터들에 기초하여 상기 복수의 통신링크들 간에 상기 데이터를 분배하는 단계를 포함하는 것을 특징으로 하는 방법.
  23. 제 22 항에 있어서, 상기 팩터들은 상기 복수의 통신링크들의 상대 속도, 각 통신링크 상의 현재 부하, 각 통신링크의 서비스질 및 사용되는 마지막 통신링크또는 그들의 조합을 포함하는 것을 특징으로 하는 방법.
  24. 제1 컴퓨터와 제2 컴퓨터 간에 복수의 통신링크를 통하여 파일 또는 데이터블록을 전송하는 시간을 감소시키는 방법에 있어서,
    상기 복수의 통신링크들의 제1 링크를 사용하여 상기 제1 컴퓨터에 의해 상기 파일 또는 데이터블록을 송신하는 단계와;
    상기 복수의 통신링크들의 제2 링크를 사용하여 상기 제1 컴퓨터에 의해 상기 파일 또는 데이터블록의 일부를 송신하는 단계와; 그리고
    상기 파일 또는 데이터블록의 모두가 아닌 상기 파일 또는 데이터블록의 상기 일부의 모두를 수신한 후, 상기 파일 또는 데이터블록을 재구성하는 상기 제2 컴퓨터를 포함하는 것을 특징으로 하는 방법.
KR10-2003-7015892A 2001-06-04 2002-06-04 통신 네트워크로부터 사용자로의 정보 전달시간 감소시스템 및 방법 KR20040032106A (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US29567601P 2001-06-04 2001-06-04
US29572001P 2001-06-04 2001-06-04
US29567201P 2001-06-04 2001-06-04
US29567101P 2001-06-04 2001-06-04
US29572101P 2001-06-04 2001-06-04
US60/295,671 2001-06-04
US60/295,721 2001-06-04
US60/295,672 2001-06-04
US60/295,720 2001-06-04
US60/295,676 2001-06-04
PCT/US2002/017933 WO2002100117A2 (en) 2001-06-04 2002-06-04 A system and method for reducing the time to deliver information from a communications network to a user

Publications (1)

Publication Number Publication Date
KR20040032106A true KR20040032106A (ko) 2004-04-14

Family

ID=27540798

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020077007492A KR20070055582A (ko) 2001-06-04 2002-06-04 통신네트워크의 유효 대역폭 증가 방법
KR10-2003-7015892A KR20040032106A (ko) 2001-06-04 2002-06-04 통신 네트워크로부터 사용자로의 정보 전달시간 감소시스템 및 방법
KR1020077007491A KR20070055581A (ko) 2001-06-04 2002-06-04 통신네트워크의 유효 대역폭 증가 방법
KR1020077007490A KR20070055580A (ko) 2001-06-04 2002-06-04 통신네트워크의 유효 대역폭 증가 시스템 및 방법
KR10-2003-7015891A KR20040044182A (ko) 2001-06-04 2002-06-04 통신네트워크의 유효 대역폭 증가 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020077007492A KR20070055582A (ko) 2001-06-04 2002-06-04 통신네트워크의 유효 대역폭 증가 방법

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020077007491A KR20070055581A (ko) 2001-06-04 2002-06-04 통신네트워크의 유효 대역폭 증가 방법
KR1020077007490A KR20070055580A (ko) 2001-06-04 2002-06-04 통신네트워크의 유효 대역폭 증가 시스템 및 방법
KR10-2003-7015891A KR20040044182A (ko) 2001-06-04 2002-06-04 통신네트워크의 유효 대역폭 증가 시스템 및 방법

Country Status (9)

Country Link
US (3) US7260651B2 (ko)
EP (3) EP1402692A4 (ko)
JP (2) JP2004535713A (ko)
KR (5) KR20070055582A (ko)
CN (3) CN1513142A (ko)
BR (2) BR0210141A (ko)
CA (3) CA2447787A1 (ko)
MX (3) MXPA03011150A (ko)
WO (3) WO2002100117A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144049A (ko) * 2013-06-10 2014-12-18 에스케이텔레콤 주식회사 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치
KR20150028630A (ko) * 2013-09-06 2015-03-16 삼성전자주식회사 캐시 데이터 관리 방법 및 장치
KR20190113713A (ko) * 2019-09-27 2019-10-08 에스케이텔레콤 주식회사 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치

Families Citing this family (273)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990678B2 (en) * 2001-03-27 2015-03-24 At&T Intellectual Property I, L.P. Systems and methods for automatically providing alerts of web site content updates
US7043727B2 (en) * 2001-06-08 2006-05-09 Micromuse Ltd. Method and system for efficient distribution of network event data
US7602716B1 (en) * 2001-12-20 2009-10-13 Cisco Technology, Inc. Load sharing on DOCSIS
EP1466261B1 (en) 2002-01-08 2018-03-07 Seven Networks, LLC Connection architecture for a mobile network
SE0200696D0 (sv) * 2002-03-06 2002-03-06 Ericsson Telefon Ab L M Method and system of load control
FR2841079B1 (fr) * 2002-06-14 2005-02-25 Canal Plus Technologies Procede de diffusion d'application html
US8050970B2 (en) * 2002-07-25 2011-11-01 Google Inc. Method and system for providing filtered and/or masked advertisements over the internet
US7551575B1 (en) * 2002-11-05 2009-06-23 Marvell Israel (M.I.S.L.) Ltd. Context-switching multi channel programmable stream parser
AU2003290678B2 (en) * 2002-11-08 2009-12-24 Arbitration Forums, Inc. A system and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-baser user interaction
US7818506B1 (en) * 2002-12-13 2010-10-19 Vignette Software Llc Method and system for cache management
US8312222B1 (en) 2002-12-13 2012-11-13 Open Text, S.A. Event-driven regeneration of pages for web-based applications
US7360025B1 (en) * 2002-12-13 2008-04-15 O'connell Conleth Method and system for automatic cache management
US8380932B1 (en) 2002-12-13 2013-02-19 Open Text S.A. Contextual regeneration of pages for web-based applications
US7188216B1 (en) 2002-12-13 2007-03-06 Vignette Corporation Method and system for an extensible caching framework
US8463998B1 (en) 2002-12-13 2013-06-11 Open Text S.A. System and method for managing page variations in a page delivery cache
US8335860B2 (en) * 2002-12-19 2012-12-18 Nokia Corporation Filtering application services
US7278114B2 (en) * 2002-12-30 2007-10-02 Viewspace Technologies Method and apparatus for managing display of popup windows
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
WO2004114581A2 (en) * 2003-06-17 2004-12-29 Bytemobile, Inc. Method and system for dynamic interleaving
US7765196B2 (en) * 2003-06-23 2010-07-27 Dell Products L.P. Method and apparatus for web cache using database triggers
US7076500B2 (en) * 2003-06-30 2006-07-11 David Gallant Selective file caching method
US7942897B2 (en) 2003-07-10 2011-05-17 Boston Scientific Scimed, Inc. System for closing an opening in a body cavity
US9525566B2 (en) * 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
US7882251B2 (en) 2003-08-13 2011-02-01 Microsoft Corporation Routing hints
US8266294B2 (en) 2003-08-13 2012-09-11 Microsoft Corporation Routing hints
US7542476B2 (en) * 2003-08-29 2009-06-02 Flash Networks Ltd Method and system for manipulating IP packets in virtual private networks
JP4117656B2 (ja) * 2003-11-26 2008-07-16 株式会社日立製作所 アクセスパターンを学習する記憶装置
FI117218B (fi) * 2003-12-29 2006-07-31 Nokia Corp Menettely tietoelementin lataamiseksi langattomaan päätelaitteeseen
DE102004004345A1 (de) * 2004-01-29 2005-08-18 Abb Research Ltd. System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern
US20050198401A1 (en) * 2004-01-29 2005-09-08 Chron Edward G. Efficiently virtualizing multiple network attached stores
US7448022B1 (en) 2004-02-10 2008-11-04 Prasad Ram Dynamic software composition in a component-based software system
US8606876B2 (en) * 2004-02-11 2013-12-10 Flash Networks Ltd. Method and system for accelerating data communication that is using multipart
US7421602B2 (en) 2004-02-13 2008-09-02 Marvell World Trade Ltd. Computer with low-power secondary processor and secondary display
US20050193341A1 (en) * 2004-02-27 2005-09-01 Hayward Anthony D. System for aggregating, processing and delivering video footage, documents, audio files and graphics
DE602004008352D1 (de) * 2004-03-17 2007-09-27 Ericsson Telefon Ab L M Verfahren und vorrichtung zum effizienten transferieren von daten in einem telekommunikationsnetz
US20050216524A1 (en) * 2004-03-23 2005-09-29 Integrated Data Corporation Smart and selective synchronization between databases in a document management system
US20050240574A1 (en) * 2004-04-27 2005-10-27 International Business Machines Corporation Pre-fetching resources based on a resource lookup query
US7730335B2 (en) * 2004-06-10 2010-06-01 Marvell World Trade Ltd. Low power computer with main and auxiliary processors
US7437364B1 (en) 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7558822B2 (en) * 2004-06-30 2009-07-07 Google Inc. Accelerating user interfaces by predicting user actions
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US20060031560A1 (en) * 2004-06-30 2006-02-09 Seth Warshavsky Method and system for transferring a file between data processing devices using a communication or instant messaging program
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
JP2006023827A (ja) * 2004-07-06 2006-01-26 Fujitsu Ltd 文書データ管理装置、文書データ管理方法および文書データ管理プログラム
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7571112B2 (en) * 2004-08-04 2009-08-04 Verizon Business Global Llc Virtual private radio station via virtual private network
US7475424B2 (en) * 2004-09-02 2009-01-06 International Business Machines Corporation System and method for on-demand dynamic control of security policies/rules by a client computing device
US7782789B2 (en) * 2004-09-23 2010-08-24 Harris Corporation Adaptive bandwidth utilization for telemetered data
US7496642B2 (en) * 2004-09-29 2009-02-24 International Business Machines Corporation Adaptive vicinity prefetching for filesystem metadata
US7441271B2 (en) 2004-10-20 2008-10-21 Seven Networks Method and apparatus for intercepting events in a communication system
WO2006043274A2 (en) 2004-10-22 2006-04-27 Flash Networks Ltd Method and system for accelerating downloading of web pages.
US7331010B2 (en) * 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7512762B2 (en) * 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US20060095620A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for merging bus data in a memory subsystem
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
JP2006146839A (ja) * 2004-11-25 2006-06-08 Hitachi Ltd 装置を管理するシステム及び方法
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US20060130042A1 (en) * 2004-12-15 2006-06-15 Dias Daniel M Method and apparatus for dynamic application upgrade in cluster and grid systems for supporting service level agreements
US7729363B2 (en) * 2005-01-24 2010-06-01 Research In Motion Limited System and method for managing communication for component applications
US7818666B2 (en) 2005-01-27 2010-10-19 Symyx Solutions, Inc. Parsing, evaluating leaf, and branch nodes, and navigating the nodes based on the evaluation
US8458125B1 (en) 2005-01-31 2013-06-04 Oracle America, Inc. Dynamic creation of replicas of streaming data from a storage device without added load
US20070183493A1 (en) * 2005-02-04 2007-08-09 Tom Kimpe Method and device for image and video transmission over low-bandwidth and high-latency transmission channels
US7664870B2 (en) * 2005-02-25 2010-02-16 Microsoft Corporation Method and system for providing users a lower fidelity alternative until a higher fidelity experience is available
US8219635B2 (en) * 2005-03-09 2012-07-10 Vudu, Inc. Continuous data feeding in a distributed environment
US7937379B2 (en) * 2005-03-09 2011-05-03 Vudu, Inc. Fragmentation of a file for instant access
US7698451B2 (en) 2005-03-09 2010-04-13 Vudu, Inc. Method and apparatus for instant playback of a movie title
US7191215B2 (en) * 2005-03-09 2007-03-13 Marquee, Inc. Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines
US20080022343A1 (en) * 2006-07-24 2008-01-24 Vvond, Inc. Multiple audio streams
US9176955B2 (en) * 2005-03-09 2015-11-03 Vvond, Inc. Method and apparatus for sharing media files among network nodes
US8904463B2 (en) 2005-03-09 2014-12-02 Vudu, Inc. Live video broadcasting on distributed networks
US7877703B1 (en) 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US20060242571A1 (en) * 2005-04-21 2006-10-26 Xiaofan Lin Systems and methods for processing derivative featurees in input files
US7490140B2 (en) * 2005-05-12 2009-02-10 International Business Machines Corporation Peer data transfer orchestration
US8099511B1 (en) 2005-06-11 2012-01-17 Vudu, Inc. Instantaneous media-on-demand
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US20070083574A1 (en) * 2005-10-07 2007-04-12 Oracle International Corporation Replica database maintenance with parallel log file transfers
US20070101061A1 (en) * 2005-10-27 2007-05-03 Guruprasad Baskaran Customized content loading mechanism for portions of a web page in real time environments
US7478259B2 (en) * 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) * 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US20070150138A1 (en) 2005-12-08 2007-06-28 James Plante Memory management in event recording systems
US10878646B2 (en) 2005-12-08 2020-12-29 Smartdrive Systems, Inc. Vehicle event recorder systems
US8966537B2 (en) * 2005-12-19 2015-02-24 Eduardo Sciammarella System, method, and article of manufacture for a user interface for a network media channel
US20070168419A1 (en) * 2005-12-19 2007-07-19 Sciammarella Eduardo A System, method, and article of manufacture for a network media channel
US20070156868A1 (en) * 2005-12-29 2007-07-05 Ido Keren Efficient dynamic discovery of web services
US8037127B2 (en) 2006-02-21 2011-10-11 Strangeloop Networks, Inc. In-line network device for storing application-layer data, processing instructions, and/or rule sets
US8166114B2 (en) 2006-02-21 2012-04-24 Strangeloop Networks, Inc. Asynchronous context data messaging
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US8996240B2 (en) 2006-03-16 2015-03-31 Smartdrive Systems, Inc. Vehicle event recorders with integrated web server
US9201842B2 (en) 2006-03-16 2015-12-01 Smartdrive Systems, Inc. Vehicle event recorder systems and networks having integrated cellular wireless communications systems
US7747749B1 (en) 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
JP4616791B2 (ja) * 2006-05-08 2011-01-19 富士通株式会社 リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法
US20080043736A1 (en) * 2006-08-18 2008-02-21 Drivecam, Inc. Data Transfer System and Method
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7640386B2 (en) * 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
JP5124989B2 (ja) * 2006-05-26 2013-01-23 日本電気株式会社 ストレージシステム及びデータ保護方法とプログラム
US8706799B2 (en) 2006-05-29 2014-04-22 Sandisk Il Ltd. Method and apparatus to exchange information with a local storage device
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US8099520B2 (en) * 2006-06-23 2012-01-17 Pro Softnet Corporation System and method for storing and accessing data
EP1903437A3 (en) * 2006-07-31 2008-10-22 Seiko Epson Corporation Update data transmission method, firmware writing system, and update data transmission program
US7669086B2 (en) * 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US8788612B1 (en) * 2006-08-07 2014-07-22 Unwired Planet, Llc Cache based enhancement to optimization protocol
US7581073B2 (en) * 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US20080263324A1 (en) 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
KR101321667B1 (ko) * 2006-08-16 2013-10-22 삼성전자주식회사 다큐먼트 포워딩을 위한 xdm 장치 및 방법
US8296812B1 (en) 2006-09-01 2012-10-23 Vudu, Inc. Streaming video using erasure encoding
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US8649933B2 (en) 2006-11-07 2014-02-11 Smartdrive Systems Inc. Power management systems for automotive video event recorders
US8989959B2 (en) 2006-11-07 2015-03-24 Smartdrive Systems, Inc. Vehicle operator performance history recording, scoring and reporting systems
US8868288B2 (en) 2006-11-09 2014-10-21 Smartdrive Systems, Inc. Vehicle exception event management systems
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7606988B2 (en) * 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US9201835B2 (en) * 2007-02-12 2015-12-01 Mushroom Networks, Inc Access line bonding and splitting methods and apparatus
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
AU2008215173B2 (en) * 2007-02-16 2013-05-02 Orica Explosives Technology Pty Ltd Method of communication at a blast site, and corresponding blasting apparatus
US8533310B2 (en) * 2007-03-09 2013-09-10 Riverbed Technology, Inc. Method and apparatus for acceleration by prefetching associated objects
US8239092B2 (en) 2007-05-08 2012-08-07 Smartdrive Systems Inc. Distributed vehicle event recorder systems having a portable memory data transfer system
US9158538B2 (en) * 2007-05-21 2015-10-13 International Business Machines Corporation User-extensible rule-based source code modification
US7764694B2 (en) * 2008-03-07 2010-07-27 Embarq Holdings Company, LLP System, method, and apparatus for prioritizing network traffic using deep packet inspection (DPI)
US20090238071A1 (en) * 2008-03-20 2009-09-24 Embarq Holdings Company, Llc System, method and apparatus for prioritizing network traffic using deep packet inspection (DPI) and centralized network controller
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
CN101110844B (zh) * 2007-08-21 2010-07-28 华为技术有限公司 一种节目片段预取方法及一种对等网络节点
KR100901521B1 (ko) 2007-08-28 2009-06-08 광주과학기술원 휴리스틱 트래픽 로드 밸런스된 채널 공유 방법과 장치,상기 채널 공유 방법을 이용한 매체 접속 방법, 상기 채널공유 장치를 이용한 매체 접속망 시스템 그리고 상기방법들을 수행하는 프로그램이 기록된 기록 매체
US9521186B2 (en) 2007-09-13 2016-12-13 International Business Machines Corporation Method and system for file transfer over a messaging infrastructure
US7975214B2 (en) * 2007-10-26 2011-07-05 International Business Machines Corporation System for capturing frames and form data
CN101146127B (zh) * 2007-10-30 2010-06-09 金蝶软件(中国)有限公司 一种分布式系统中客户端缓存更新的方法和装置
US20090112975A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Pre-fetching in distributed computing environments
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
EP2073501A1 (en) 2007-12-20 2009-06-24 iNEWIT nv A concentrator for storing and forwarding media content
US7962631B2 (en) * 2007-12-21 2011-06-14 Yahoo! Inc. Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
US8839403B2 (en) 2007-12-31 2014-09-16 Sandisk Il Ltd. Local proxy system and method
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8849838B2 (en) 2008-01-15 2014-09-30 Google Inc. Bloom filter for storing file access history
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US20090254707A1 (en) * 2008-04-08 2009-10-08 Strangeloop Networks Inc. Partial Content Caching
US9906620B2 (en) 2008-05-05 2018-02-27 Radware, Ltd. Extensible, asynchronous, centralized analysis and optimization of server responses to client requests
US20090278871A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Controlling Display Resolution Of A Computer Display
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8825856B1 (en) * 2008-07-07 2014-09-02 Sprint Communications Company L.P. Usage-based content filtering for bandwidth optimization
US8677018B2 (en) * 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
US8041893B1 (en) 2008-09-09 2011-10-18 Vignette Software Llc System and method for managing large filesystem-based caches
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8516080B2 (en) * 2008-12-03 2013-08-20 Mobophiles, Inc. System and method for providing virtual web access
US8849856B2 (en) 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US8316558B2 (en) * 2008-12-16 2012-11-27 Skechers U.S.A., Inc. Ii Shoe
US8595327B2 (en) * 2009-04-10 2013-11-26 Microsoft Corporation Obtaining instrumentation data
US9143381B2 (en) 2009-04-16 2015-09-22 Microsoft Technology Licenising, LLC Sequenced transmission of digital content items
US9549039B2 (en) 2010-05-28 2017-01-17 Radware Ltd. Accelerating HTTP responses in a client/server environment
CN101546272B (zh) * 2009-04-29 2012-07-25 阿里巴巴集团控股有限公司 一种编译器及其实现方法
US8886760B2 (en) 2009-06-30 2014-11-11 Sandisk Technologies Inc. System and method of predictive data acquisition
JP5430298B2 (ja) * 2009-09-03 2014-02-26 サンデン株式会社 自動販売機の制御装置
JP5633049B2 (ja) 2010-02-26 2014-12-03 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 多数のアクティブ物理インタフェースの帯域幅をアプリケーション層でアグリゲートするシステム及び方法
US8812563B2 (en) * 2010-03-02 2014-08-19 Kaspersky Lab, Zao System for permanent file deletion
US20110231482A1 (en) * 2010-03-22 2011-09-22 Strangeloop Networks Inc. Automated Optimization Based On Determination Of Website Usage Scenario
US9772834B2 (en) 2010-04-27 2017-09-26 Red Hat, Inc. Exportable encoded identifications of networked machines
KR101125033B1 (ko) * 2010-04-27 2012-03-21 한국과학기술원 최적화된 통신환경을 위한 압축알고리즘 및 암호알고리즘 선택시스템, 선택방법과 그 방법을 컴퓨터에서 수행하도록 각각의 단계를 실행시키기 위한 명령어를 기록한 컴퓨터 판독가능 기록매체
US8429256B2 (en) * 2010-05-28 2013-04-23 Red Hat, Inc. Systems and methods for generating cached representations of host package inventories in remote package repositories
CN102314449B (zh) * 2010-07-05 2013-11-06 日电(中国)有限公司 后置数据访问过滤器和过滤方法
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8886176B2 (en) 2010-07-26 2014-11-11 Seven Networks, Inc. Mobile application traffic optimization
GB2495877B (en) 2010-07-26 2013-10-02 Seven Networks Inc Distributed implementation of dynamic wireless traffic policy
CA2806527A1 (en) 2010-07-26 2012-02-09 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9021047B2 (en) 2010-07-31 2015-04-28 Unwired Planet, Llc Method and system for delivering embedded objects in a webpage to a user agent using a network device
JP5316723B2 (ja) * 2010-08-23 2013-10-16 富士通株式会社 データ記憶装置およびデータ記憶装置制御方法
US8812734B2 (en) 2010-09-01 2014-08-19 Microsoft Corporation Network feed content
CN101968815B (zh) * 2010-10-29 2012-07-25 西本新干线电子商务有限公司 并发请求处理方法
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
WO2012060997A2 (en) 2010-11-01 2012-05-10 Michael Luna Application and network-based long poll request detection and cacheability assessment therefor
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
CN103620576B (zh) 2010-11-01 2016-11-09 七网络公司 适用于移动应用程序行为和网络条件的缓存
US8484314B2 (en) * 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
CA2798523C (en) 2010-11-22 2015-02-24 Seven Networks, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
KR20120058763A (ko) * 2010-11-30 2012-06-08 삼성전자주식회사 영상 장치에서 영상 데이터를 송신하기 위한 장치 및 방법
CN102135977A (zh) * 2010-11-30 2011-07-27 广东星海数字家庭产业技术研究院有限公司 一种应用hsml解析引擎的过滤处理方法及系统
CN102135881A (zh) * 2010-11-30 2011-07-27 广东星海数字家庭产业技术研究院有限公司 一种可自定义模块的hsml处理方法及系统
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US9542501B2 (en) 2011-01-28 2017-01-10 Radware Ltd. System and method for presenting content in a client/server environment
JP5573709B2 (ja) * 2011-01-31 2014-08-20 ブラザー工業株式会社 通信装置
US8837578B2 (en) * 2011-03-16 2014-09-16 Verizon Patent And Licensing Inc. MPEG-W decoder
GB2517815A (en) 2011-04-19 2015-03-04 Seven Networks Inc Shared resource and virtual resource management in a networked environment
WO2012149434A2 (en) 2011-04-27 2012-11-01 Seven Networks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
GB2504037B (en) 2011-04-27 2014-12-24 Seven Networks Inc Mobile device which offloads requests made by a mobile application to a remote entity for conservation of mobile device and network resources
WO2012160499A1 (en) 2011-05-23 2012-11-29 Strangeloop Networks, Inc. Optimized rendering of dynamic content
EP2737742A4 (en) 2011-07-27 2015-01-28 Seven Networks Inc AUTOMATIC PRODUCTION AND DISTRIBUTION OF GUIDELINES INFORMATION ON MOBILE MOBILE TRANSPORT IN A WIRELESS NETWORK
US9292467B2 (en) 2011-09-16 2016-03-22 Radware, Ltd. Mobile resource accelerator
US9069617B2 (en) * 2011-09-27 2015-06-30 Oracle International Corporation System and method for intelligent GUI navigation and property sheets in a traffic director environment
EP2789137A4 (en) 2011-12-06 2015-12-02 Seven Networks Inc SYSTEM OF REDUNDANTLY CLUSTERED MACHINES FOR PROVIDING TILTING MECHANISMS IN MOBILE TRAFFIC MANAGEMENT AND NETWORK RESOURCE PRESERVATION
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
WO2013086455A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
CN102438045B (zh) * 2011-12-07 2015-07-08 深圳市深信服电子科技有限公司 Web页面的预取方法、系统以及访问web页面的方法
WO2013090834A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
EP2792188B1 (en) 2011-12-14 2019-03-20 Seven Networks, LLC Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
CN102591963A (zh) * 2011-12-30 2012-07-18 奇智软件(北京)有限公司 网页内容加载控制方法及装置
WO2013103988A1 (en) 2012-01-05 2013-07-11 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8943002B2 (en) * 2012-02-10 2015-01-27 Liveperson, Inc. Analytics driven engagement
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US10263899B2 (en) 2012-04-10 2019-04-16 Seven Networks, Llc Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network
US8724693B2 (en) * 2012-05-11 2014-05-13 Oracle International Corporation Mechanism for automatic network data compression on a network connection
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9728228B2 (en) 2012-08-10 2017-08-08 Smartdrive Systems, Inc. Vehicle event playback apparatus and methods
US9596271B2 (en) 2012-10-10 2017-03-14 International Business Machines Corporation Dynamic virtual private network
US9246967B2 (en) 2012-10-12 2016-01-26 Spotify Ab Systems, methods, and user interfaces for previewing media content
US9319445B2 (en) 2012-10-22 2016-04-19 Spotify Ab Systems and methods for pre-fetching media content
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9871698B2 (en) 2012-11-02 2018-01-16 Nec Corporation Information processing device
US9356645B2 (en) * 2012-11-16 2016-05-31 International Business Machines Corporation Saving bandwidth in transmission of compressed data
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
US9270624B2 (en) * 2013-05-10 2016-02-23 Oracle International Corporation Cloud messaging services optimization through adaptive message compression
JP2015023329A (ja) 2013-07-17 2015-02-02 富士通株式会社 通知方法、装置及びプログラム
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9501878B2 (en) 2013-10-16 2016-11-22 Smartdrive Systems, Inc. Vehicle event playback apparatus and methods
US9610955B2 (en) 2013-11-11 2017-04-04 Smartdrive Systems, Inc. Vehicle fuel consumption monitor and feedback systems
CN103699665A (zh) * 2013-12-27 2014-04-02 贝壳网际(北京)安全技术有限公司 一种网页广告过滤方法及装置
US20150207742A1 (en) * 2014-01-22 2015-07-23 Wipro Limited Methods for optimizing data for transmission and devices thereof
US8892310B1 (en) 2014-02-21 2014-11-18 Smartdrive Systems, Inc. System and method to detect execution of driving maneuvers
EP3114588B1 (en) * 2014-03-04 2018-09-12 Mobophiles, Inc. DBA Mobolize Dynamic cache allocation and network management
US10038712B2 (en) 2014-06-02 2018-07-31 Paypal, Inc. Method and apparatus for dynamic detection of geo-location obfuscation in client-server connections through an IP tunnel
US9663127B2 (en) 2014-10-28 2017-05-30 Smartdrive Systems, Inc. Rail vehicle event detection and recording system
US11069257B2 (en) 2014-11-13 2021-07-20 Smartdrive Systems, Inc. System and method for detecting a vehicle event and generating review criteria
US11165714B2 (en) 2014-12-15 2021-11-02 Royal Bank Of Canada Verification of data processes in a network of computing resources
EP4242957A3 (en) 2014-12-15 2023-11-22 Royal Bank Of Canada Verification of data processes in a network of computing resources
CN105812439B (zh) * 2014-12-31 2019-10-25 华为技术有限公司 一种音频传输方法及装置
US9679420B2 (en) 2015-04-01 2017-06-13 Smartdrive Systems, Inc. Vehicle event recording system and method
US9736081B2 (en) 2015-06-04 2017-08-15 At&T Intellectual Property I, L.P. Apparatus and method to improve compression and storage data
CN105162860A (zh) * 2015-08-21 2015-12-16 成都秋雷科技有限责任公司 广告的拆分投放方法
CN106657182B (zh) 2015-10-30 2020-10-27 阿里巴巴集团控股有限公司 云端文件处理方法和装置
US10152527B1 (en) 2015-12-28 2018-12-11 EMC IP Holding Company LLC Increment resynchronization in hash-based replication
US10572460B2 (en) * 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US10310951B1 (en) 2016-03-22 2019-06-04 EMC IP Holding Company LLC Storage system asynchronous data replication cycle trigger with empty cycle detection
US10324635B1 (en) * 2016-03-22 2019-06-18 EMC IP Holding Company LLC Adaptive compression for data replication in a storage system
US9959073B1 (en) 2016-03-30 2018-05-01 EMC IP Holding Company LLC Detection of host connectivity for data migration in a storage system
US10095428B1 (en) 2016-03-30 2018-10-09 EMC IP Holding Company LLC Live migration of a tree of replicas in a storage system
US10565058B1 (en) 2016-03-30 2020-02-18 EMC IP Holding Company LLC Adaptive hash-based data replication in a storage system
US9959063B1 (en) 2016-03-30 2018-05-01 EMC IP Holding Company LLC Parallel migration of multiple consistency groups in a storage system
US9983937B1 (en) 2016-06-29 2018-05-29 EMC IP Holding Company LLC Smooth restart of storage clusters in a storage system
US10013200B1 (en) 2016-06-29 2018-07-03 EMC IP Holding Company LLC Early compression prediction in a storage system with granular block sizes
US10083067B1 (en) 2016-06-29 2018-09-25 EMC IP Holding Company LLC Thread management in a storage system
US10048874B1 (en) 2016-06-29 2018-08-14 EMC IP Holding Company LLC Flow control with a dynamic window in a storage system with latency guarantees
US10152232B1 (en) 2016-06-29 2018-12-11 EMC IP Holding Company LLC Low-impact application-level performance monitoring with minimal and automatically upgradable instrumentation in a storage system
US10574723B2 (en) * 2016-11-30 2020-02-25 Nutanix, Inc. Web services communication management
US20180253493A1 (en) * 2017-03-03 2018-09-06 Home Box Office, Inc. Creating a graph from isolated and heterogeneous data sources
US10540364B2 (en) 2017-05-02 2020-01-21 Home Box Office, Inc. Data delivery architecture for transforming client response data
KR102065958B1 (ko) * 2017-11-13 2020-02-11 유한회사 이노릭스 파일 전송 방법 및 이를 수행하는 시스템
CN108334562A (zh) * 2018-01-09 2018-07-27 阿里巴巴集团控股有限公司 一种页面显示方法和装置
CN108322220A (zh) * 2018-02-08 2018-07-24 华为技术有限公司 编解码方法、装置及编解码设备
US10638363B2 (en) * 2018-04-04 2020-04-28 At&T Intellectual Property I, L.P. Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
US10841834B2 (en) 2018-04-04 2020-11-17 At&T Intellectual Property I, L.P. Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467087A (en) * 1992-12-18 1995-11-14 Apple Computer, Inc. High speed lossless data compression system
WO1996017462A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation A reliable connectionless network protocol
US6012085A (en) * 1995-11-30 2000-01-04 Stampede Technolgies, Inc. Apparatus and method for increased data access in a network file object oriented caching system
JPH09186723A (ja) * 1995-12-29 1997-07-15 Hitachi Ltd ネットワーク通信処理方式
SG77111A1 (en) * 1996-02-28 2000-12-19 It Innovations Pte Ltd A system for manipulating and upgrading data objects with remote data sources automatically and seamlessly
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
FI962381A (fi) * 1996-06-07 1997-12-08 Nokia Telecommunications Oy Datan pakkaaminen tietoliikenneyhteydellä
US6240444B1 (en) * 1996-09-27 2001-05-29 International Business Machines Corporation Internet web page sharing
US5870559A (en) * 1996-10-15 1999-02-09 Mercury Interactive Software system and associated methods for facilitating the analysis and management of web sites
US6185625B1 (en) * 1996-12-20 2001-02-06 Intel Corporation Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object
US6049821A (en) * 1997-01-24 2000-04-11 Motorola, Inc. Proxy host computer and method for accessing and retrieving information between a browser and a proxy
US5964842A (en) * 1997-01-31 1999-10-12 Network Computing Devices, Inc. Method and apparatus for scaling data compression based on system capacity
US5938737A (en) * 1997-02-14 1999-08-17 Stanford Telecommunications, Inc. Internet upstream request compression
GB2323246B (en) * 1997-03-15 2002-03-20 Ibm Internet telephony signal conversion
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6167438A (en) * 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
US6173399B1 (en) * 1997-06-12 2001-01-09 Vpnet Technologies, Inc. Apparatus for implementing virtual private networks
US5873081A (en) * 1997-06-27 1999-02-16 Microsoft Corporation Document filtering via directed acyclic graphs
US6128701A (en) * 1997-10-28 2000-10-03 Cache Flow, Inc. Adaptive and predictive cache refresh policy
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US6151601A (en) * 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
US6182133B1 (en) * 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US6122666A (en) 1998-02-23 2000-09-19 International Business Machines Corporation Method for collaborative transformation and caching of web objects in a proxy network
US6061715A (en) * 1998-04-30 2000-05-09 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
US6094662A (en) * 1998-04-30 2000-07-25 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
US6510469B1 (en) * 1998-05-13 2003-01-21 Compaq Information Technologies Group,L.P. Method and apparatus for providing accelerated content delivery over a network
US6128655A (en) 1998-07-10 2000-10-03 International Business Machines Corporation Distribution mechanism for filtering, formatting and reuse of web based content
US6199107B1 (en) * 1998-07-22 2001-03-06 Microsoft Corporation Partial file caching and read range resume system and method
US6304973B1 (en) 1998-08-06 2001-10-16 Cryptek Secure Communications, Llc Multi-level security network system
US6553376B1 (en) * 1998-11-18 2003-04-22 Infolibria, Inc. Efficient content server using request redirection
US6233606B1 (en) * 1998-12-01 2001-05-15 Microsoft Corporation Automatic cache synchronization
US6389038B1 (en) 1999-01-26 2002-05-14 Net 2 Phone Voice IP bandwidth utilization
JP2002538672A (ja) 1999-02-26 2002-11-12 テレフォンアクチーボラゲット エル エム エリクソン(パブル) パケット通信における適応可能なヘッダ圧縮
US6401132B1 (en) * 1999-08-03 2002-06-04 International Business Machines Corporation Subchaining transcoders in a transcoding framework
AU7343300A (en) * 1999-09-08 2001-04-10 Automated Business Companies Automated bandwidth on demand system
EP1104141A3 (en) * 1999-11-29 2004-01-21 Lucent Technologies Inc. System for generating composite packets
US6990526B1 (en) * 2000-05-22 2006-01-24 Pointred Technologies, Inc. Method and apparatus for web caching
US6799251B1 (en) * 2000-08-29 2004-09-28 Oracle International Corporation Performance-based caching
US6477575B1 (en) * 2000-09-12 2002-11-05 Capital One Financial Corporation System and method for performing dynamic Web marketing and advertising
US6934743B2 (en) * 2001-03-14 2005-08-23 Wireless 3G Method and apparatus for displaying intermediate content messages in the unused portion of a web browser display space

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144049A (ko) * 2013-06-10 2014-12-18 에스케이텔레콤 주식회사 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치
KR20150028630A (ko) * 2013-09-06 2015-03-16 삼성전자주식회사 캐시 데이터 관리 방법 및 장치
KR20190113713A (ko) * 2019-09-27 2019-10-08 에스케이텔레콤 주식회사 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
MXPA03011150A (es) 2004-10-28
MXPA03011152A (es) 2004-10-28
WO2002099677A1 (en) 2002-12-12
US20030079041A1 (en) 2003-04-24
WO2002099677A9 (en) 2003-10-16
CA2447787A1 (en) 2002-12-12
US20030051055A1 (en) 2003-03-13
EP1402391A2 (en) 2004-03-31
WO2002099591A3 (en) 2003-02-27
CN1513144A (zh) 2004-07-14
KR20070055581A (ko) 2007-05-30
WO2002099591A2 (en) 2002-12-12
KR20070055580A (ko) 2007-05-30
JP2004535713A (ja) 2004-11-25
EP1402692A2 (en) 2004-03-31
MXPA03010864A (es) 2004-11-22
CA2447555A1 (en) 2002-12-12
EP1402391A4 (en) 2006-12-20
EP1402388A1 (en) 2004-03-31
BR0210141A (pt) 2004-06-08
US20030078964A1 (en) 2003-04-24
CA2447734A1 (en) 2002-12-12
CN1561618A (zh) 2005-01-05
WO2002100117A2 (en) 2002-12-12
CN1513142A (zh) 2004-07-14
KR20040044182A (ko) 2004-05-27
EP1402692A4 (en) 2005-06-15
EP1402388A4 (en) 2005-03-16
KR20070055582A (ko) 2007-05-30
WO2002100117A3 (en) 2003-04-24
JP2004535631A (ja) 2004-11-25
BR0210159A (pt) 2004-08-24
US7260651B2 (en) 2007-08-21

Similar Documents

Publication Publication Date Title
KR20040032106A (ko) 통신 네트워크로부터 사용자로의 정보 전달시간 감소시스템 및 방법
US10361959B2 (en) Method and system for dynamic interleaving
US10484509B2 (en) Anycast transport protocol for content distribution networks
US7697427B2 (en) Method and system for scaling network traffic managers
US20020002603A1 (en) System and method for web serving
Zohar et al. PACK: Prediction-based cloud bandwidth and cost reduction system
US20030225873A1 (en) Optimization of network performance through uni-directional encapsulation
US20060155819A1 (en) Methods and system for using caches
AU2002324438A1 (en) A system and method for reducing the time to deliver information from a communications network to a user
KR20070003920A (ko) 캐시 서버 네트워크 및 콘텐츠 파일의 분배를 스케쥴링하는방법
Wei et al. Load balancing on the Internet
AU2002312361A1 (en) System and method for increasing the effective bandwidth of a communication network

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
NORF Unpaid initial registration fee