KR20070055581A - 통신네트워크의 유효 대역폭 증가 방법 - Google Patents

통신네트워크의 유효 대역폭 증가 방법 Download PDF

Info

Publication number
KR20070055581A
KR20070055581A KR1020077007491A KR20077007491A KR20070055581A KR 20070055581 A KR20070055581 A KR 20070055581A KR 1020077007491 A KR1020077007491 A KR 1020077007491A KR 20077007491 A KR20077007491 A KR 20077007491A KR 20070055581 A KR20070055581 A KR 20070055581A
Authority
KR
South Korea
Prior art keywords
computer
data
super
address
server
Prior art date
Application number
KR1020077007491A
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 KR20070055581A publication Critical patent/KR20070055581A/ko

Links

Images

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]

Abstract

본 발명은 종래의 TCP/IP 통신 네트워크 예를 들어 인터넷 상에 "슈퍼(super)" 트랜스포트(transport) 및 캐슁(caching) 구조를 탑재하여 통신네트워크의 유효 대역폭을 증가시켜서 통신네트워크의 정보전송 속도를 증가시키는 시스템 및 방법을 제공하는데 있다. 그 "슈퍼" 트랜스포트 및 캐슁 구조는 통신네트워크내의 통신링크에 의해 분리된 적어도 2개의 모듈에 부가되는 소프트웨어 또는 하드웨어 또는 그들 양자를 포함한다. 그 "슈퍼" 트랜스포트 및 캐슁 구조와 그로 인한 정보전송의 증가된 속도의 순수한 결과는 통신네트워크의 사용자들이 정보를 억세스 및/또는 검색하는 시간을 크게 줄여줄 뿐만아니라 통신네트워크 특히, 대형 네트워크 예컨데, 인터넷(160)이 사업자와 개인 모두에 의한 상거래를 효율적으로 수행하는 수단이 된다.
통신, 컴퓨터 네트워크, 정보전송, 브라우저, 인터넷, 대역폭

Description

통신네트워크의 유효 대역폭 증가 방법{METHOD FOR INCREASING THE EFFECTIVE BANDWIDTH OF A COMMUNICATIONS NETWORK}
도 1은 종래의 인터넷에 사용자의 접속을 나타내는 블록선도.
도 2는 본 발명을 설명하기 위한 도면으로서 도 1의 개략 확대 블록선도.
도 3은 각 층에 대한 TCP/IP프로토콜스택과 그와 연관된 데이터 유닛을 나타내는 도면.
도 4는 본 발명의 일 실시예에 따른 브라우저와 웹서버 간의 통신경로의 블록선도
도 4a는 본 발명의 일 실시예에 따른 종래의 TCP/IP와 2개의 수정된 TCP/IP프로토콜스택의 일 예시도.
도 5는 본 발명의 일 실시예에 따라 도 2의 종래의 시스템에 삽입된 슈퍼모듈의 블록선도.
도 6은 본 발명의 일 실시예에 따른 브라우저와 웹서버 간의 압축된 데이터 터널을 나타내는 개략 예시도.
도 7은 본 발명의 일 실시예에 따른 전송된 데이터포맷을 근거한 압축 알고리즘을 나타낸 도면.
도 8은 본 발명의 다른 실시예에 따라 데이터가 압축되어야 할지를 결정하는 흐름도.
도 9는 본 발명의 또 다른 실시예에 의한 또 다른 압축 프로세스의 흐름도.
도 10A는 본 발명의 또 다른 실시예에 의한 슈퍼사용자의 복수개의 어플리케이션 데이터를 리패키징하기 위한 흐름도.
도 10B는 본 발명의 또 다른 실시예에 의한 슈퍼모듈의 복수개의 수신된 IP패킷을 리패키징하기 위한 흐름도.
도 10C는 도 10B의 좀 더 상세한 단계의 설명도.
도 11은 본 발명의 일 양상에 따른 슈퍼사용자로부터 슈퍼호스트로의 쿠리어 패킷의 예시도.
도 11a는 본 발명의 일 양상에 따른 데이터 검색과 전송을 병렬로 수행하는 예시도.
도 12는 슈퍼사용자로부터 슈퍼호스트로의 데이터요구들을 임플로딩 (imploding)하는 예시도.
도 13A는 본 발명의 일 실시예에 따른 동일한 착신지로의 중복데이터요구들을 임플로딩하는 프로세스의 흐름도.
도 14A는 트랜스포트층의 송신기와 수신기 간에서 종래의 TCP/IP접속, 데이터 전송 및 비접속을 나타내는 예시도.
도 14B는 본 발명의 일 실시예에 따른 반영구 접속을 위한 TCP/IP접속, 데이터 전송 및 비접속을 나타내는 예시도.
도 15는 종래의 사이트간 VPN(1440)과 종래의 원격VPN(1446)의 예시도.
도 16은 본 발명의 일 실시예에 따른 2개의 가상사설네트워크(VPN)의 예시도.
인터넷은 정부와 대학교간의 연구 네트워크로부터 사업자 및 개인 양자에 의한 사적 또는 상업적 거래 모두를 실행하는 수단에 이르기까지 과거 수십년에 걸쳐 사용범위에 있어 괄목할만한 성장을 하였다. 인터넷은 원래 비구조적으로 설계되었으므로 통신두절사고 발생시에 통신을 완료할 확률이 높았다. 정보 전송 방법은 우편을 통해 편지를 보내는 것과 유사한 개념에 기초한다. 메시지는 다중 TCP/IP패킷(즉, 편지)으로 분산되어 수신자에게 발송될 수도 있다. 편지와 같이 각 패킷은 다른 경로를 거쳐 수신자에게 도달한다. 많은 소수의 패킷을 수많은 경로를 통해 사용하는 접근법은, 사용자가 가령, 많은 웹사이트에 저렴한 비용으로 억세스 하는 것을 가능케 하였지만, 사용자와 웹사이트 간의 지점간(point-to-point) 접속보다 는 상당히 느린 속도를 제공한다.
도 1은 종래의 인터넷으로의 사용자의 접속을 나타내는 도면이다. 일반적으로 사용자(110)는 인터넷 서비스 제공자(ISP)에 의해 재래식으로 동작되는 발신자 지점간(Point-of-presence : PoP)을 통하여 인터넷에 접속한다. PoP는 ISP의 백본(backbone;중심) 네트워크(114) 예컨데, ISP1에 접속된다. 다중 ISP 백본 네트워크 예컨데, ISP1 및 ISP2는 네트워크 억세스 지점들 예컨데, NAP(Network Access Points)(170)에 의해 함께 접속되어 인터넷의 "구름(cloud)(160)"를 형성한다.
좀더 구체적으로 퍼스널 컴퓨터(PC)(120)에서 단일 사용자는 직통 가입자 라인(Direct Subscriber Line : 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)는 그의 억세스 장치로서 전파중계되는 케이블 모뎀 단말시스템(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접속 또는 더 고속의 T1접속을 가질 수도 있다. LAN서버(144)로부터의 디지털 데이터는 라우터(router)(도시않됨)를 통해 디지털 접속 장치 예컨데, 채널 서비스 유닛/데이터 서비스 유닛(CSU/DSU)(146)으로 송신된 다음 T1(또는 프랙셔널 T1)라인(148)을 통해 PoP(112)의 CSU/DSU로 송신된다.
PoP(112)는 DSLAM(130), CTMS전파중계소(132), RAS(134), 무선트랜시버(136) 또는 CSU/DSU(150)가 접속되는 ISP서버(152)를 포함해도 좋다. ISP서버(152)는 이메일, 유즈넷(Usenet) 또는 도메인 네트워크이름 서비스(DNS) 등의 사용자서비스를 제공할 수도 있다. 다른 방법으로 DSLM(130), CTMS 전파 중계소(headend)(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)에는 웹 서버들(web server)(182,184)이 접속되어 사용자(110)에게 온라인 내용을 제공한다.
인터넷은 사업자와 개인 양자에게 상업적 거래를 수행하는 기본 기능을 제공하지만, 예를 들어 웹서버와 사업자 또는 개인사용자 간의 정보전송에 있어 시차적인 시간지연이 실질적인 문제가 된다. 예를 들어 PC(120)의 사용자는 웹서버(182)의 웹사이트로부터 정보를 원한다. 웹서버(182)로부터 사용자 PC(120)로 데이터를 뒤로 이동시키기 위한 많은 홉(hop)들이 있다. 또한 정보는 패킷들로 뒤로 "메일(mailed)"되고 있기 때문에, 패킷들은 전형적으로 상이한 경로들을 통하여 뒤로 이동한다. 이러한 상이한 경로들은 다른 사용자들의 패킷과 공유되므로 어떤 경로는 느려질 수도 있다. 그러므로 웹서버(182)와 사용자(120) 간의 모든 링크들에서 충분한 용량이 있다할지라도 시차적인 시간지연이 있다. 그러나 또한 쵸크 포인트(choke point)들, 즉 트래픽(traffic)이 용량을 초과하는 곳, 이 있기 때문에, 더 지연된다.
2개의 주된 쵸크포인트들은 라스트 마일(last mile)과 그 라스트 마일에 버금가는 마일이다. 라스트 마일은 PoP(112)로부터 사용자(110)까지이다. 이는 사용자(120)가 56Kbps의 최대속도로 다이얼업 모뎀을 사용할 때 쉽게 입증된다. 약512Kbps의 DSL모뎀으로 하더라도 그래픽을 다운로드하는 것은 너무 느릴 수도 있다. 그 라스트 마일에 버금가는 마일은 ISP들 사이에 존재한다. PoP(112)를 갖는 ISP는 그의 백본(114)을 통하여 고레벨 ISP(도시않됨)에 접속되어 지역/국내/전세계를 커버할 수도 있다. 대역폭을 고레벨 ISP까지 증가시키면 로칼 ISP의 비용이 증가되기 때문에 그 대신, 예를 들어 PoP(112)를 갖는 로칼 ISP는 사용자(110)에게 이용가능한 대역폭을 감소시킬 수도 있다. 그 영향은 웹서버(182)와 PC(120) 간의 링크용량보다 더 많은 트래픽(traffic)을 야기하고 그로 인해 심각한 지연문제가 생긴다는 것이다. 오늘날의 급변하는 세계에서는 이러한 문제가 상업적인 전달수단으로서의 인터넷 사용을 크게 방해하고 있다.
그러므로 인터넷과 같은 통신망으로부터 사용자의 정보대기시간을 줄일 필요 가 있다.
본 발명은 종래의 TCP/IP 통신 네트워크 예를 들어 인터넷 상에 "슈퍼(super)" 트랜스포트(transport) 및 캐슁(caching) 구조를 탑재하여 통신네트워크의 유효 대역폭을 증가시켜서 통신네트워크의 정보전송 속도를 증가시키는 시스템 및 방법을 제공하는데 있다.
"슈퍼" 트랜스포트 및 캐슁 구조는 통신네트워크내의 통신링크에 의해 분리된 적어도 2개의 모듈에 부가되는 소프트웨어 또는 하드웨어 또는 그들 양자를 포함한다. 어떤 2개의 "슈퍼" 모듈 간에, 통신링크를 설정하여 정보의 효율적인 고속전송을 허용한다. 여기서 정보의 전송은 전송되는 미가공 비트들의 수와 동일하지 않지만 필수적인 데이터 비트만을 포함하며 예를 들어, 오버헤드 콘트롤 비트 (overhead control bit) 또는 여분(redundant) 데이터 비트 등을 포함한다. 통신링크는 고정된 용량을 갖기 때문에 정보비트가 증가하고 비정보비트(non-information bit)가 감소하면 비정보비트로 인한 링크용량의 분담량이 줄어든다. 그러므로 일부의 정보비트는 일부의 비정보비트가 우선 전송될 때까지 대기하지 않아도 된다. 따라서 정보의 전송지연이 크게 감소된다.
"슈퍼" 트랜스포트 및 캐슁 구조와 그로 인한 정보전송의 증가된 속도의 순수한 결과는 통신네트워크의 사용자들이 정보를 억세스 및/또는 검색(retrieve)하는 시간을 크게 줄여줄 뿐만아니라 통신네트워크 특히, 대형 네트워크 예컨데, 인터넷이 사업자와 개인 모두에 의한 상거래를 효율적으로 수행하는 수단이 될 수 있 다.
본 발명의 일 실시예는, 제1 컴퓨터시스템에 의해 제2 컴퓨터시스템으로 통신네트워크를 통하여 전송할 데이터를 압축하는 방법을 제공한다. 우선 제1 컴퓨터시스템에 의해 데이터의 한 섹션(section)이 선택된다. 그 다음 제1 컴퓨터시스템의 동작조건을 사용하여 복수개의 압축 알고리즘(algorithm)들 중 각각의 압축 알고리즘에 대하여 비용값을 결정한다. 최소 비용값을 근거로 하여 상기 복수개의 압축 알고리즘들로부터 하나의 압축 알고리즘을 선택한다. 상기 선택된 압축 알고리즘을 사용하여 상기 섹션을 압축하고 그리고 제2 컴퓨터시스템으로 송신한다.
본 발명의 다른 실시예는 제1 컴퓨터시스템에 의해 제2 컴퓨터시스템으로 통신네트워크를 통하여 전송할 데이터를 압축하는 방법을 제공한다. 이 방법은 제1 컴퓨터시스템에 의해 데이터의 한 섹션을 선택하는 단계와; 상기 섹션내의 데이터포맷(format)을 결정하는 단계와; 상기 데이터포맷을 근거로 복수개의 압축 알고리즘들로부터 선택된 하나의 압축 알고리즘을 사용하여 상기 섹션을 압축하는 단계와; 그리고 상기 압축된 섹션을 제2 컴퓨터시스템으로 송신하는 단계를 포함한다.
본 발명의 다른 실시예는 제1 컴퓨터시스템에 의해 제2 컴퓨터시스템으로 통신네트워크를 통하여 전송할 데이터를 압축하는 방법을 제공한다. 이 방법은 제1 컴퓨터시스템에 의해 데이터의 한 섹션을 선택하는 단계와; 통신링크 상의 데이터 트래픽이 전송용량 이하일 때, 상기 섹션을 압축하는 시간과 상기 섹션에 대한 링크의 레이턴시(latency)에 근거하여 함수의 결과를 산출하는 단계와; 상기 결과에 의존하여 상기 섹션을 압축하는 단계와; 그리고 상기 압축된 섹션을 제2 컴퓨터시스템으로 송신하는 단계를 포함한다.
본 발명의 일 실시예는 공통착신지를 갖는 복수개의 패킷을 제1 컴퓨터시스템에 의해 리패키징(repackaging)하는 방법을 제공하는바, 여기서, 제1 컴퓨터시스템은 통신링크에 의해 제2 컴퓨터시스템에 접속된다. 상기 방법은, 복수개의 패킷들을 수신하는 단계 -여기서, 각각의 패킷은 어플리케이션 (application) 데이터를 포함하고- 와; 상기 복수개의 패킷들로부터 상기 어플리케이션 데이터를 포함하는 정보를 추출하는 단계와; 상기 추출된 정보를 포함하는 신규 패킷을 생성하는 단계와; 그리고 상기 신규 패킷을 제2 컴퓨터시스템으로 송신하는 단계를 포함한다.
본 발명의 또 다른 실시예는, TCP/IP 프로토콜을 사용하여 제1 컴퓨터시스템과 제2 컴퓨터시스템 간에 반영구적인(semi-permanent) 전송 제어 프로토콜(TCP) 접속을 제공하는 방법을 제공한다. 상기 방법은 제1 컴퓨터시스템과 제2 컴퓨터시스템 간에 TCP 접속을 설정하는 단계와; 복수개의 소오스(source) 어드레스들로부터의 어플리케이션 정보를 제1 컴퓨터시스템에 의해 수신하는 단계와; TCP 접속을 통해 제2 어플리케이션 정보를 상기 제1 컴퓨터시스템에 의해 송신하는 단계와; 그리고 상기 TCP 접속을 단절(disconnecting)하는 단계를 포함한다.
본 발명의 또 다른 실시예는, 복수개의 제2 컴퓨터시스템으로부터의 복수개의 중복 데이터 요구를 가지치기(prunning)하기 위해 제1 컴퓨터시스템을 사용하는 방법을 제공하는데, 여기서 상기 복수개의 중복 데이터 요구들은 공통 착신지를 갖는다. 이 방법은, 제1 컴퓨터시스템에 의해 복수개의 중복 데이터 요구들을 수신하 는 단계와; 복수개의 제2 컴퓨터시스템들의 복귀(return) 어드레스들을 기록하는 단계와; 상기 제1 컴퓨터시스템을 소스 어드레스로하여, 상기 복수개의 중복 데이터 요구들로부터의 공통된 데이터를 포함하는 통합정리된 데이터 요구를 생성하는 단계와; 그리고 상기 통합정리된 데이터요구를 송신하는 단계를 포함한다.
본 발명의 또 다른 실시예는 공중의 통신네트워크에 의해 함께 접속된 복수개의 컴퓨터에 의해 복수개의 가상 사설 네트워크들을 제공하는 방법을 포함한다. 이 방법은 복수개의 컴퓨터 중 제1 컴퓨터와 복수개의 컴퓨터 중 제2 컴퓨터 간에 제1 컴퓨터 어드레스와 제2 컴퓨터 어드레스를 갖는 중앙집중방식의 허가테이블을 사용하여 상기 복수개의 가상 사설 네트워크 중 제1 가상 사설 네트워크를 설정하는 단계와; 그리고 상기 복수개의 컴퓨터 중 제1 컴퓨터와 상기 복수개의 컴퓨터 중 제3 컴퓨터 간에 제3 컴퓨터 어드레스를 더 갖는 중앙집중방식의 허가 테이블을 사용하여 상기 복수개의 가상 사설 네트워크들 중 제2 가상 사설 네트워크를 설정하는 단계를 포함한다.
본 발명의 또 다른 실시예는 통신링크에 의해 제2 컴퓨터시스템에 접속된 제1 컴퓨터시스템에 의해 공통착신지를 갖는 복수개의 패킷을 리패키징하는 방법을 포함한다. 이 방법은 각각 어플리케이션 데이터를 포함하는 상기 복수개의 패킷을 수신하는 단계와; 상기 복수개의 패킷으로부터 상기 어플리케이션 데이터를 포함하는 정보를 추출하는 단계와; 상기 추출된 정보를 포함하는 신규 패킷의 수로서, 통신링크 상의 데이터 트래픽을 근거로 결정되는 상기 신규 패킷의 수를 생성하는 단계와; 그리고 상기 신규 패킷의 수를 제2 컴퓨터시스템으로 송신하는 단계를 포함 한다.
본 발명의 또 다른 실시예는 표준화된 통신 프로토콜(communication protocol)을 갖는 통신네트워크에서 정보의 흐름을 증가시키는 시스템을 포함한다. 그 시스템은 상기 표준화된 통신프로토콜을 사용하여, 제1 어플리케이션정보와 제1 콘트롤 정보를 갖는 패킷을 송신하는 제1 모듈과; 상기 표준화된 통신프로토콜을 사용하여, 상기 패킷을 수신하고 또한 슈퍼패킷 -여기서 슈퍼패킷은 제2 어플리케이션정보와 제2 콘트롤 정보를 가지며, 제2 어플리케이션정보는 제1 어플리케이션정보와 제1 콘트롤 정보의 일부를 포함하며-을 송신하는 제2 모듈과; 그리고 상기 표준화된 통신프로토콜을 사용하여, 상기 슈퍼패킷을 수신하는 제3 모듈을 포함한다.
본 발명의 또 다른 실시예는 요구자 컴퓨터시스템(requester computer system)이 중간 컴퓨터시스템을 통하여 원격 데이터 스토리지로부터 정보를 검색하는 시간을 감소시키는 방법을 포함한다. 이 방법은 상기 중간 컴퓨터시스템에 의해 상기 데이터 스토리지로부터 데이터를 검색하도록 하는 요구를 수신하는 단계와; 상기 중간 컴퓨터시스템에 의해 데이터 스토리지로부터 제1 데이터 아이템을 검색하는 단계와; 그리고 상기 중간 컴퓨터시스템에 의해 데이터 스토리지로부터 제2 데이터 아이템을 검색하면서 동시에 제1 데이터 아이템을 상기 요구자 컴퓨터시스템으로 송신하는 단계를 포함한다.
본 발명의 또 다른 실시예는 통신네트워크내의 복수개의 슈퍼모듈 중 2개의 슈퍼모듈 간에서 네트워크 세그먼트의 성능을 증가시키는 시스템을 포함한다. 이 시스템은 복수개의 IP패킷을 수신하고 또한 수정된 데이터패킷을 송신하는, 상기 복수개의 슈퍼모듈 중 제1 슈퍼모듈-여기서 상기 데이터패킷은 상기 복수개의 IP패킷으로부터 조합된 어플리케이션 데이터를 포함하며-과; 그리고 상기 수정된 데이터패킷을 수신하는, 상기 복수개의 슈퍼모듈 중 제2 슈퍼모듈 -여기서 상기 제2 슈퍼모듈은 상기 수정된 데이터패킷을 처리하기 위한 추가의 어플리케이션층을 갖는 TCP/IP 통신프로토콜을 가지며-을 포함한다.
본 발명의 상술한 실시예와 그 외의 실시예, 특징 및 장점은 첨부된 청구범위 와 도면을 참조한 하기의 설명으로부터 더 명확히 이해될 것이다.
다음의 설명에서, 많은 구체적인 상세들을 언급하여 본 발명의 구체적인 실시예들에 관해 더 전체적으로 설명한다. 그러나 본 분야에 숙련된 자에게는 아래에 구체적인 설명 없이도 본 발명을 실시할 수 있음을 명백히 알 것이다. 다른 예에서공지된 특징을 상세히 설명하지 않더라도 본 발명을 혼란시키지 않을 것이다.
개인과 사업자가 인터넷을 유효한 상업적 이동체(commercial vehicle)로서 사용하기 위해서는, 사용자가 정보를 요구 및 수신하는데 걸리는 시간이 통상적으로 오늘날 걸리는 시간에 비해 크게 감소되어야 한다. 본 발명은 인터넷 하부조직들의 여러 부분들 상에 탑재되어도 좋은 "슈퍼(super)"시스템과 네트워크내의 정보흐름을 증가시키는 기술 두 가지를 제공하고, 이들을 개별적으로 또는 조합하여 사용함으로써, 예를 들어 웹사이트 또는 기타 사용자들로부터의 정보에 대한 사용자의 대기시간을 크게 줄여준다.
도 2는 도 1의 개략적인 그러나 확대된 도면으로서, 본 발명을 설명하기 위 해 사용된다. 적용가능할 경우, 도 1에서와 같이 도 2에서 동일한 식별번호를 사용한다. 모뎀(210)은 DSL-모뎀(122), 케이블모뎀(124), 다이얼업모뎀(126) 및 도 1의 무선 송수신기(wireless transceiver)(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은 각 층에 대한 TCP/IP 프로토콜 스택과 그와 연관된 데이터유닛들을 나타낸다. TCP/IP 프로토콜 스택(310)은 어플리케이션층(312), 트랜스포트층(314), 인터넷층(316) 및 네트워크 억세스층(318)을 포함한다. 어플리케이션층은 우리가 어플리케이션 데이터 유닛이라 칭하는 어플리케이션 또는 사용자 데이터(320) 즉, 1 블록 또는 데이터 유닛을 수신한다. 예를 들어 웹페이지에 대한 사용자요구는 1 어플리케이션 데이터 유닛이다. TCP/IP에는 무수히 많은 어플리케이션 레벨들이 있는데 예를 들면, e-메일에 사용되는 단순 메일 전송 프로토콜(SMTP) 및 우체국 프로토콜 (POP), 월드와이드웹용으로 사용되는 하이퍼 텍스트 전송 프로토콜(HTTP) 그리고 파일 전송 프로토콜(FTP)등이 있다.
트랜스포트층(314)에는 전송 제어 프로토콜(TCP)과 사용자 데이터그램 프로 토콜 (User Datagram Protocol; UDP) 등이 있다. TCP는 소오스와 착신지 간에 신뢰성 있는 가상회로를 제공하는 접속 지향 프로토콜이다. TCP는 IP 패킷 배송서비스가 신뢰할 수 없을지라도 복제 또는 데이터 손실 없이, 송신된 순서대로 바이트들의 스트림(stream)을 배송하기 위해 그것을 사용하는 것을 어플리케이션에 대해 보장해준다. 트랜스포트층은 TCP헤더(322)를 통해 제어정보를 데이터(320)에 부가하고 이를 TCP 데이터 유닛이라 칭한다. UDP는 패킷배송을 보증하지 못하며 UDP를 사용하는 어플리캐이션은 배송을 확인하는 그들 자신의 수단을 구비해야한다.
인터넷층(316)은 TCP/IP의 인터-네트워킹(inter-networking)의 중요성 때문에 명명된 것이다. 이는 인터넷 프로토콜(IP) 패킷을 송수신하는 무접속층(connectionless layer)이다. IP패킷은 그의 최초의 소스 어드레스와 최후의 착신지 어드레스를 갖지만, 만일 패킷이 그의 최후의 착신지에 도착하면 특정노드의 IP층은 아무런 확인 없이 그 IP패킷을 그 다음 노드로 라우팅한다. 그 IP패킷은 TCP 데이터 유닛에 부가되는 IP헤더(324)를 포함한다(TCP헤더(322)와 데이터(320)).
네트워크억세스층(318)은 IP패킷의 물리적전송을 취급하는 하부층이다. 네트워크억세스층(318)은 그 자신을 한정하기 보다는 오히려 기존의 데이터링크와 물리적층 표준들을 함께 그룹지워준다. 이층은 네트워크 하드웨어 및 장치 드라이버들을 한정한다. 헤더(326)와 트레일러(trailer)(도시않됨)는 IP패킷에 부가되므로 통신라인을 통해 IP패킷의 물리적전송을 허용할 수 있다.
도 2내의 TCP/IP프로토콜의 사용의 일예는 웹서버(182)로부터 웹페이지를 요 구하는 PC(140)의 사용자이다. 이 브라우저를 통해 사용자는 어플리케이션층(312)에서 웹페이지에 대한 사용자요구 즉, 데이터유닛(320)(도 3)을 생성한다. TCP/IP스택(310)은 하나 이상의 TCP데이터유닛들을 생성하며, 각 TCP데이터유닛은 그에 부첨된 TCP헤더(322)를 갖는 어플리케이션데이터유닛(320)의 일부를 갖는다. PC(140)의 트랜스포트층(314)은 웹서버(182)의 TCP트랜스포트층(314)과 P2P(peer-to-peer)접속 즉, 가상회로를 설정한다. 각 TCP데이터유닛은 하나 이상의 IP패킷으로 분할된다. IP패킷들은 LAN 서버(144)로 송신된 다음 PoP 서버(152)로 송신되며, 그 다음 그들은 PoP 라우터(154)를 통해 인터넷(154)으로 전송된다. IP패킷들은 인터넷(160) 상의 다수의 경로를 통해 진행한 다음 웹서버(182)에 도달한다. 그 다음 웹서버(182)의 트랜스포트층(314)은 IP패킷들로부터 TCP데이터유닛을 재조립한 다음 어플리케이션층(312)으로 전달하여 사용자요구를 재조립한다. 그 다음 웹페이지를 얻기 위한 사용자요구가 실행된다. 그 웹페이지를 사용자에게 반송하기 위해, 동일의 TCP 가상회로가 웹서버(182)와 PC(140)의 트랜스포트층들 간에서 사용될 수도 있다. 그 다음 웹페이지는 TCP데이터유닛들로 분해되고, 이들은 다시 IP패킷들로 분해되어 인터넷(160), PoP 라우터(154), PoP 서버(152), LAN 서버(144)를 통해 PC(140)로 송신된다.
사용자와 웹서버 간의 통상적인 상호작용에 대한 일례에는, 여러 가지 문제점이 있다. 첫째로, 이더넷프레임(Ethernet frame)내의 최대전송유닛(MTU) 즉, 최대의 데이터량은 1500바이트이다. 그러나 TCP/IP의 데이터(320)에 대한 최대값은 약 64,000바이트이다. 예를 들어 16Mbps 토큰링(token ring)은 약18,000바이트 MTU 를 가지며 또한 모뎀을 사용하는 다이얼업접속(dial-up connection)은 약576바이트 MTU를 갖는다. 이는 설사 LAN 서버(144)를 떠나는 MTU가 1500바이트보다 클지라도, PC(140)와 웹서버(182) 간의 가상회로는 전형적으로 사용자와 웹서버 간에 최저의 MTU들을 갖는 패킷들을 사용하게 될 것을 의미하며 즉, 앞뒤로(back and forth) 송신되는 많은 작은 IP패킷이 있을 것이다. 둘째로, 사용자가 웹사이트를 사용하고 있을 때 발생하는 브라우저 요구들과 웹서버 응답들의 전체 시리즈를 제외하고 단 하나의 요구와 단 하나의 응답도 없다. 예를 들어 그래픽을 갖는 웹페이지에 대한 사용자의 요구는 실제로 브라우저에 의해 다수의 요구들 즉, 하이퍼텍스트 작성언어(hypertext markup language ;HTML)에 대한 요구에 후속하는 그래픽에 대한 여러 요구들로 분해된다. 셋째로, 통상적으로 압축이 파일의 사이즈를 상당히 감소시킬 수도 있다는 사실에도 불구하고, 텍스트와 그래픽들은 비압축된 포맷으로 송신된다. 따라서, 이들 및 기타 문제점들은, 웹서버로부터 사용자에게로 데이터를 얻는데 있어서, 종래의 TCP/IP네트워크가 큰 지연을 갖는 원인이 되고 있다.
도 4는 본 발명의 일 실시예에 따른 브라우저와 웹서버 간의 통신경로에 대한 도면이다. 브라우저(512)를 사용하는 사용자가 웹서버(182)로부터 웹페이지(514)를 요구할 때, 브라우저(512)와 웹서버(182) 간의 재래식 교환에 대해서는 위에서 설명하였다. 본 발명의 일 실시예는 복수개의 슈퍼모듈을 생성하는데, 이 모듈은 슈퍼사용자(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)는 단독형 서버(standalone 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개의 상이한 슈퍼모듈 간에 적어도 하나의 통신링크가 있는 한, 그 링크를 횡단하는 정보 흐름이 크게 개선된다. 또한, 네트워크 상에서 슈퍼 층(super layer)의 세분성(granularity)을 확장하기 위해서 더 많은 슈퍼모듈들이 배치될 수 있다.
상술한 사용자와 서버간 어플리케이션 이외에도, 인터넷 또는 네트워크 구조내에 슈퍼모듈들을 사용하여 그 네트워크 세그먼트들의 성능을 향상시킬 수 있다. 그러한 실시예에서는 네트워크 구조내의 다수의 슈퍼모듈들 간에 전송되는 모든 데이터가 최적화된다. 예를 들어 네트워크의 상이한 부분들내의 슈퍼CO서버모듈들 간의 통신은 특히, 대륙간횡단라인(trans-continental line) 또는 위성통신과 같은 값비싸고 대역폭이 제한된 링크들의 효율을 향상시키기 위해 매력적이다. 이 실시예는 또한 슈퍼모듈들과 2 네트워크 지점들 간의 통신 성능을 개선할 뿐만아니라 비용을 감소시켜준다. 또한 어떤 슈퍼모듈들의 상호동작성에 의해 계층적인 접근이 가능하여 지역적 또는 물리적영역에 대한 통신을 최적화하게 해준다. 예를 들어 여러개의 로컬 슈퍼CO서버들은 지역 슈퍼모듈에 계층적으로 접근될 수 있고, 다음 차례로 국가 슈퍼모듈에 계층적으로 접근될 수 있다. 이러한 계층적인 접근방식은, 전체 네트워크에 걸쳐서 모든 트래픽 네트워크에 대한 슈퍼 어플리케이션 층의 세분성을 확장하는 바, 이는 어플리케이션들이나 또는 본래의 소스와는 무관하 다.(즉, 임의의 갯수의 슈퍼모듈 소스들 또는 임의의 갯수의 통상모듈 소스들로부터의 데이터에 대한 조합이 있을 수 있다).
도 4a는 본 발명의 일 실시예에 따른 종래의 TCP/IP와 2개의 수정된 TCP/IP프로토콜스택의 일 예시도이다. 어플리케이션층(312), 트랜스포트층(314), 인터넷층(316) 및 네트워크억세스층(318)은 도 3의 TCP/IP프로토콜스택(310)에서와 동일한 층들로서, 통상모듈(460) 예컨데, PC(140)용이다. 어플리케이션층들(420,440), "슈퍼" 어플리케이션층들(422,442), 트랜스포트층들(424,444), 인터넷층들(426, 446) 및 네트워크억세스층들(428,448)은 그 실시예의 수정된 TCP/IP프로토콜스택들로서, 슈퍼모듈들(462,464) 예컨데, 슈퍼어플라이언스(532) 및 슈퍼사용자(530)용이다. 통상모듈(460)은 통신링크(418)를 통해 슈퍼모듈(462)에 접속되며 슈퍼모듈 (462)은 통신링크(450)를 통해 슈퍼모듈(464)에 접속된다.
하나 이상의 통상모듈(460)로부터 IP패킷들을 수신하는 즉시, 슈퍼모듈(462)은, 슈퍼어플리케이션층(422)으로 향하는 IP패킷들의 IP와 TCP헤더들로부터 모든 어플리케이션 층 데이터 및 응용가능한 데이터를 추출한다. 통상모듈들 및 어플리케이션 층(420)으로부터의 어플리케이션 층 데이터는 임의의 프로토콜, 예컨데, HTTP 1.0, HTTP 1.1, FTP, POP, SMTP 등일 수도 있다. 슈퍼어플리케이션 층은 어플리케이션 데이터와 적당한 TCP 층 및 IP 층 데이터를 하나의 커다란 어플리케이션 층 데이터유닛으로 패키징한다. 슈퍼모듈들 (462,464) 간에는 통상의 TCP/IP 전송 메카니즘이 사용된다. 이는 슈퍼모듈 (462)과 슈퍼모듈(464) 간에 하나 이상의 중간 통상노드들이 있을 때, 상기 하나의 큰 어플리케이션 층 데이터유닛을 전송시키 기 위해 통상모듈(460)과 같은 TCP/IP스택이 사용된다는 것을 의미한다. 예를 들어, 슈퍼모듈(464)이 통상모듈에 하나의 어플리케이션 패킷을 전달해야 될 때, 하나의 큰 어플리케이션 층 데이터유닛은 슈퍼어플리케이션 층(422)에 의해 비번들(unbundle)되어 TCP/IP패킷이 재구성되어 통상노드로 송신된다. 따라서, 각각이 오버헤드 어드레스 정보를 갖는 부분적으로 채워진 수 많은 데이터 패키지들은 하나의 큰 패키지로 재조합될 수 있다. 장거리통신 예컨데, 해외통신의 경우, 콘테이너 선적으로 인한 비용절감과 동일한 유사성이 있다.
도 5는 본 발명의 일 실시예에 따라, 도 2의 종래의 시스템에 삽입된 슈퍼모듈에 대한 도면이다. 도 4에서는 도 2에서와 동일 장치 및 부분에 대해서는 동일 명칭을 사용한다. 슈퍼사용자(540)는 모뎀(210)을 통해 접속되는바, 모뎀(210)은 억세스장치(220)를 통해 PoP서버 (152)에 접속된다. 슈퍼사용자(530), 슈퍼사용자(542) 및 슈퍼어플라이언스(532)를 갖는 LAN은, 모뎀(210) 또는 디지털접속장치(212)에 접속되며, 여기서 디지털접속장치(212)는 디지털접속장치(222)에 의해 PoP서버(152)에 접속된다. 슈퍼어플라이언스(532)는 LAN서버(144) 상에서 실행되는 소프트웨어를 포함한다. 서버(152)는 스위치(420)를 통하여 라우터(154)에 접속되는바, 스위치(420)는 패킷트래픽을 슈퍼CO서버(534) 및 슈퍼CO집중기(536)로 우회한다. 라우터(154)는 인터넷클라우드(Internet cloud) (160)에 접속된다. 인터넷(160)으로부터의 트래픽은, 웹서버(182)에 접속된 슈퍼호스트(538) 또는 웹서버(184)에 접속된 슈퍼호스트(550) 또는 ISP서버(180)에 접속된 슈퍼호스트(552)로 진행할 수 있다.
슈퍼시스템 구성부분
이하에서, 슈퍼사용자(540), 슈퍼어플라이언스(532), 슈퍼CO서버(534), 슈퍼CO집중기(536) 및 슈퍼호스트(538)를 포함하는 도 5의 슈퍼시스템의 각 구성요소들에 대한 일 실시예를 설명한다.
슈퍼사용자(530)는 사용자의 PC 예컨데, PC(140) 상에 존재하는 소프트웨어를 포함한다. 브라우저 예컨데, 마이크로소프트의 인터넷 익스플로러는 슈퍼사용자 (530)에 대해 프록시(proxy)로 세트되어 있어, 데이터에 대한 모든 브라우저 요구들은 슈퍼사용자(530)로부터 공급된다. 그 외에도 브라우저를 통한 모든 사용자 요구들은 슈퍼사용자(530)로 송신된다. 그러므로 브라우저는 슈퍼사용자에 의해 네트워크의 나머지들로부터 고립된다. 슈퍼사용자는 사용자PC 상의 로컬캐쉬내에 사용자가 요구한 모든 데이터를 캐슁하므로 사용자가 그 데이터를 다시 요구할 때, 입수 가능하면 그 데이터는 로컬캐쉬로부터 국부적으로 검색될 수도 있다. 만일 캐슁된 데이터가 소정의 파일사이즈를 초과하면 슈퍼사용자는 로컬캐쉬내의 모든 데이터를 분석하여 사용할 가능성이 거의 없는 데이터를 삭제한다. 예를 들면, 오래된 데이터를 폐기하기 위해, 통상적인 알고리즘(least recently used algorithm)이 사용될 수도 있다. 슈퍼사용자(540)의 소프트웨어 기능의 일부는 다음과 같다:
1. 캐슁 : 브라우저가 로컬캐쉬내에 존재하는 데이터를 요구했을 때 그 데이터가 캐쉬수명요건에 부합할 경우 그 데이터는 로컬캐쉬로부터 공급된다. 그렇지 않으면, 상기 데이터는, 갱신된 데이터가 이용가능한 경우에는 가장 가까운 슈퍼모듈캐쉬 예컨데, 슈퍼어플라이언스(532) 또는 슈퍼CO서버(534), 슈퍼CO집중기(536) 또는 슈퍼호스트(538)로부터 검색되지만, 그 어떤 슈퍼캐쉬로부터도 입수가능하지 않을 경우에는 웹서버로부터 검색된다. 각각의 데이터요소는 캐쉬수명을 갖고 있어 어느 기간동안 캐쉬로부터 사용한 다음 리프레시시킬 필요가 있다.
2. 캐쉬의 리프레시 : 슈퍼사용자 PC가 아이들(idle)(인터넷으로부터 데이터를 실제적으로 검색하지 않는 상태) 상태일 때, 슈퍼사용자는 로컬캐쉬를 점검하여 캐시수명을 다한 데이터를 자동으로 리프레시한다. 슈퍼사용자는 인공지능(AI) 또는 다른 기술을 사용하여 사용자가 얼마나 자주 웹페이지를 억세스하는가를 근거로 그 리프레시의 우선순위를 정한다. 예를 들어 슈퍼사용자는 사용자가 웹페이지를 얼마나 자주 억세스하는가를 카운트한다. 그 카운트 수가 높으면 사용자가 미래에 그 웹페이지를 요구할 가능성이 많다는 것을 나타내므로 슈퍼사용자는 그 페이지를 자동으로 리프레시한다.
3. 프리페칭(pre-fetching) : AI 또는 다른 기술을 사용하여 슈퍼사용자가 아이들 시간동안 사용자에 의해 요구될 가능성이 높은 웹페이지를 프리페칭한다(즉, 사용자가 아직 요구하지 않은 웹페이지를 검색한다). 예를 들어 사용자가 카탈로그사이트 상의 어떤 페이지를 보고 있을 경우 사용자는 동일 카탈로그내의 사이트 상에서 다른 페이지를 보게될 가능성이 높다. 슈퍼사용자는 이 페이지들을 프리페칭한다. 프리페칭한다는 것은 사용자가 로컬캐쉬로부터 데이터를 가져갈 확률을 증가시키는 것이다.
4. 쿠리어패킷(courier packet)(추후 설명됨)은 패키징(package)되고, 그 패키징된 데이터는 슈퍼어플라이언스 또는 슈퍼CO서버로 송신되기 전에 슈퍼사용자에 의해 압축된다. 쿠리어패킷은 패키징되지 않으면 그 비패키징된(un-packaged) 데이터는 브라우저로 송신되기 전에 슈퍼사용자에 의해 비압축(un-compressed)된다.
슈퍼어플라이언스(532)는 LAN서버(144) 상에서 실행되는 소프트웨어를 포함한다. 슈퍼어플라이언스(532)에 의해 수행되는 기능들의 일부는 방화벽 보안 (firewall security), 글로벌캐슁(global caching), 티이밍(teaming), 스마트호스팅(smart hosting) 및 e-메일 관리를 포함한다. 슈퍼어플라이언스에 의해 수행되는 또 다른 기능은 다음과 같다.
1. 슈퍼어플라이언스가 슈퍼CO서버에 접속(attach)되면, 그들 간에 전송된 모든 데이터는 압축되어 쿠리어패킷으로 패키징되며, 그렇지 않으면 표준 인터넷 요구(standard internet request)가 사용되고, 응답은 쿠리어패킷들로 패키징된 후에 슈퍼사용자에 송신된다.
2. 슈퍼어플라이언스는 또한 사용자에 의해 자주 사용되는 웹사이트들을 자동으로 복제하여 유지시킨다.
3. 슈퍼어플라이언스가 슈퍼CO서버에 접속되면, 슈퍼CO서버로부터의 변동이 통고될 때만 웹사이트의 복제(copy)를 갱신한다. 만일 슈퍼어플라이언스가 슈퍼CO서버에 접속되지 않으면 아이들 시간동안 및/또는 주기적으로 소정기간동안 웹사이트들의 갱신을 점검한다.
4. 슈퍼사용자가 슈퍼어플라이언스에 접속되면, 모든 데이터 응답은 압축된 포맷으로 슈퍼사용자에게 전송된다. 정규 사용자가 슈퍼어플라이언스에 접속되면, 데이터 응답은 슈퍼어플라이언스내에서 압축해제(decompress)되어 사용자에게 송신 된다. 슈퍼사용자가 웹사이트를 그대로 유지하고 있다면, 어느 땐가 웹페이지가 슈퍼어플라이언스 상에서 갱신되고 그 사실이 슈퍼사용자에 통보되므로, 슈퍼사용자는 그 변동을 요구할 수도 있다.
5. 슈퍼사용자는 메모리, CPU 및 PC 모니터 밀도와 같은 사용자의 이용가능 자원(resource)에 관한 정보를 슈퍼어플라이언스에 통보할 것이다. 슈퍼어플라이언스는 각 슈퍼사용자의 이용가능 자원정보를 사용하여 정보를 전달하는 가장 효율적인 방법을 결정한다. 예를 들어 PC 모니터 밀도의 경우에 LAN을 통하여 전송되는 그래픽을 조정할 수 있다. 그래픽을 표시할 수 없는 모니터에 고밀도 그래픽을 보내는 것은 네트워크 자원의 낭비가 된다. 슈퍼어플라이언스내의 소프트웨어는 데이터를 전송하기 전에 그래픽 밀도를 조정한다.
6. 하나 이상의 슈퍼사용자가 동일 데이터를 요구할 경우, 슈퍼어플라이언스는 그 요구를 임플로드(implode)하고 그 다음 슈퍼모듈 예컨데, 슈퍼CO서버에 단 하나의 요구만을 보낸다. 만일 슈퍼어플라이언스와 웹사이트 간에 또 다른 슈퍼모듈이 없을 경우, 그 요구는 여전히 임플로드되고 표준 TCP/IP 요구가 만들어 진다. 임플로드 요구에 대한 응답이 수신되면 그 데이터는 슈퍼어플라이언스에 의해 익스플로드(explode)되어 적당한 슈퍼사용자에게 송신된다.
슈퍼어플라이언스에서 유지되는 웹사이트가 많을수록 웹페이지에 대한 억세스 속도가 LAN 속도에 점점 더 가까워진다. 슈퍼사용자에서 유지되는 웹페이지가 많을수록 그 웹억세스 속도는 하드디스크 억세스 속도에 더욱 접근한다. 슈퍼어플라이언스와 슈퍼사용자 상에서 유지되며 복제될 수 있는 웹페이지가 많을수록 라스 트 마일의 응답시간에 대한 병목현상이 줄어든다.
슈퍼CO서버(534)는 인터넷 백본(114)과 사용자(110) 사이의 브리지(bridge)이다. 슈퍼CO서버(534)의 목적중 하나는, 사용자와 인터넷 간에 트래픽을 최소화하는 것이다. 슈퍼CO서버는, 슈퍼사용자 또는 통상의 사용자에 의해 억세스되는 웹사이트들을 복제함으로써 상기 목적을 달성한다. 슈퍼CO서버 상에서 호스트되는 웹사이트가 많을수록, 네트워크를 횡단하는 데이터의 이동을 줄여줌으로써 네트워크가 더욱 최적화된다. 슈퍼CO서버에서 호스트되는 웹사이트가 슈퍼CO집중기(536) 상에 저장된 웹사이트로부터 올 경우, 웹페이지가 변경되었음을 슈퍼CO집중기(536)에 의해 통보받을 때마다, 슈퍼CO서버(534)는 갱신된 웹페이지를 요구한다. 슈퍼CO집중기(536)로부터 온 웹페이지는 압축 및 리패키징 포맷으로 저장된다. 만일, 슈퍼CO서버 상에서 호스트된 웹사이트가 슈퍼CO집중기내에 저장되지 않으면, 슈퍼CO서버는 호스팅 웹서버에서 웹사이트의 변경에 대해 소정 간격들로 체크한다. 슈퍼CO서버는 모든 슈퍼어플라이언스(532) 캐쉬 상에서 호스트되는 웹사이트의 로그(log)를 보존해둔다. 슈퍼어플라이언스 캐쉬 상에 존재하는 웹사이트에 대해 변경이 발생하면, 변경이 있었음을 알리고 그리고 상기 슈퍼어플라이언스는 변화된 웹 페이지의 갱신된 복제를 요구해야만 한다는 것을 알리는 통고가 상기 슈퍼어플라이언스에게 보내진다. 비슈퍼CO집중기 사이트로부터 데이터가 수신되면 슈퍼CO서버에서 압축, 패키징 및 저장된다. 슈퍼CO서버는 그의 요구로그(log)로부터 사용자에 의해 억세스되고 있는 웹사이트가 있는지를 결정하여 어느 웹사이트를 슈퍼CO서버(534) 캐쉬에 복제 유지해야할지를 결정한다. 슈퍼CO서버는 또한 사용되고 있지 않은 사이트 를 삭제할 것이다. 만일 웹사이트가 저장 유지되어있지 않을 경우, 그 웹페이지는 별개의 글로벌캐쉬내에 유지되므로 다시 요구가 있을 경우 글로벌캐쉬로부터 공급될 수 있다. 글로벌캐쉬와 웹호스팅 간에는 정확한 평형이 유지될 필요가 있다. 글로벌캐쉬와 슈퍼CO서버는 하나의 캐쉬로서 실행될 수 있고 또한 2개의 개별 캐쉬로서 개별적으로 관리 또는 실행될 수 있다. 만일 웹페이지가 슈퍼어플라이언스로부터 요구되면 웹페이지는 슈퍼압축 및 리패키징 포맷으로 송신되고 그렇지 않으면 웹페이지는 압축해제되어 요구하는 사용자에게 송신된다. 사용자에 가장 가까운 슈퍼모듈은 소정의 리패키징된 포맷을 비패키징하고 또한 데이터를 압축해제하므로, 데이터는 원래의 폼(native form)으로 사용자에게 전송될 수 있다. 사용된 최적화는, 가변 데이터(통상 텍스트)에 적용된 압축량과 웹페이지 상의 가변 데이터량과 관계된다. 인터넷 상에서 많은 리치데이터포맷(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 익스플로션(explosion), PNG 또는 프로프라이어터리 (proprietary) 압축 알고리즘과 같은 최적화된 압축 포맷으로 모든 그래픽의 변환 및 제1 레벨의 슈퍼캐슁을 발생시킨다. 이는 또한 모든 점검과 리프레시 다른 슈퍼모듈에 대해 발생하는 경우이다. 웹사이트로부터의 데이터가 리프레시 및 갱신될 때 슈퍼CO서버가 통보 받으므로 모든 캐쉬가 갱신 및 리프레시될 수 있다.
웹서버는 인터넷에 접속된 하나 이상의 웹사이트를 호스트한다. 슈퍼호스트, 즉, 슈퍼호스트(538)는 슈퍼CO집중기(예컨데, 536)로부터의 요구에 응답한다. 웹서버 상에서 호스트되는 웹사이트의 다운로드를 위해 요구가 만들어질 때마다 슈퍼호스트(538)는 웹서버로부터 웹페이지를 검색하여 그 내용을 압축 및 패키징하여 요구가 있는 슈퍼CO집중기로 보낸다. 이는 효율적인 압축률에 의해 모든 요구된 웹페이지 데이터에 대한 단일 데이터 블록을 송신함으로써 웹전송효율을 개선해준다. 각각의 정보조각은 특정 타입의 데이터를 가장 잘 수행하는 기술을 사용하여 분석 및 압축된다. 각각의 슈퍼CO집중기 요구가 수신될 때 슈퍼호스트는 슈퍼CO집중기의 IP어드레스를 기록한다. 슈퍼호스트는 웹서버 상에 포함된 웹사이트들을 점검하여 과거에 웹사이트로부터 데이터요구가 있었던 슈퍼CO집중기에 그 변경된 웹페이지에 관해 통보한다. 이는 슈퍼CO집중기가 웹사이트의 버전을 리프레시할 필요가 있을 때를 알게 하여 슈퍼CO집중기가 그의 캐쉬내의 웹페이지의 버전으로부터 직접 웹페이지에 대한 사용자의 요구를 서비스하게 함으로써 웹트래픽을 최소화할 수 있게 해준다. 웹페이지의 슈퍼CO집중기 버전이 리프레시될 필요가 있을 때는 그의 변경이 있을 때뿐이다. 이는 웹호스팅 사이트로부터 ISP 사이트로의 트래픽을 최소화 해준다. 각 웹사이트에서 데이터를 억세스하는 많은 ISP 사이트들이 있다. 이는 웹사이트를 인터넷의 외부 프린지(fringe)로 이동시켜서 압축과 패키징을 인터넷의 내부작업으로 가져가는 단계이다. 웹사이트를 인터넷의 외부 프린지로 이동시키는 일은 데이터가 현재에 있는 것을 보장해주기 위한 것이며, 슈퍼모듈캐쉬의 인터록킹(interlocking)은 이를 보장해준다.
압축 및 효율적인 파일포멧
데이터압축은 통신에서 특히 유용하다. 왜냐하면 동일량의 정보를 적은 수의 비트로 전송할 수 있기 때문이다. 다양한 데이터 압축기술이 있으나 단 몇 개만이 표준화되었다. 그 외에도, ARC, GZIP 및 ZIP와 같은 파일 압축포멧이 있다.
본 발명의 일 양상에 의하면 데이터를 가능한 그 데이터 소오스에 가깝게 압축하여 그 압축된 데이터를 네트워크를 따라 비압축을 필요로하는 지점으로 전달한다. 압축된 데이터는 반드시 동일 압축포맷이 아닐지라도 소오스와 착신지 간의 각 슈퍼모듈의 압축포멧으로 저장된다. 이는 압축이 네트워크의 부하변동과 더불어 변경하도록 허용한다. 종래의 브라우저기술은 비압축 데이터를 필요로하므로 웹사이트의 데이터가 압축되었다가 브라우저로 전달되기 직전에 비압축 되어야 한다. 압축의 중요한 필요성은 라스트 마일에 대역폭이 제한되어 있기 때문이다. 그러므로 슈퍼CO서버(534)와 슈퍼어플라이언스(532) 또는 슈퍼사용자(540) 간에 압축시키는 것이 중요하다.
도 6은 본 발명의 일 실시예에 따른 브라우저와 웹서버 간의 압축된 데이터 터널을 나타낸다. 브라우저(512)는 비압축된 데이터(610)를 사용하며 웹서버(182)는 비압축된 데이터(614)를 사용한다. 비압축된 데이터(610)는 슈퍼사용자(530)에 의해 압축되고 그 압축된 데이터(612)는 슈퍼어플라이언스(532)를 통하여 슈퍼CO서버(534), 슈퍼CO집중기(536) 및 슈퍼호스트(538)로 송신되어 웹서버(182)에 의해 사용되기 위해 비압축된 데이터(614)로 비압축된다. 마찬가지로 웹서버(182)로부터의 웹페이지 데이터는 슈퍼호스트(538)에 의해 압축되어 압축된 데이터(612)로서 슈퍼사용자(530)에게 송신되어 브라우저(512)에 의해 사용되도록 비압축된 데이터 (610)로 비압축된다. 따라서 그 데이터는 웹서버(182)로부터 브라우저(512)로 또는 그 반대로 전송되는 동안 가능하면 오래동안 압축된 포맷을 유지한다.
본 발명의 또 다른 실시예에서는 상이한 데이터포멧을 위해 상이한 압축 알고리즘을 사용한다. 여기서 데이터포맷은 설정된 데이터 레이아웃(layout)이다. 일반적으로 데이터포맷으로는 이미지 또는 음성패턴 또는 그들 양자, 바이나리(실행가능 컴퓨터 프로그램), 텍스트포맷(여기서 각 바이트값은 한 캐릭터로 매핑 (mapping)됨) 그리고 숫자 데이터포맷(스프레드쉬트와 다른 데이터베이스 프로그램에 의해 사용됨) 등이 있다. 데이터포맷에는 벡터그래픽에니메이션용 플래쉬, 멀티미디어 어플리케이션용 오디오정보 및 모션비디오정보 및 레이아웃 콘트롤캐릭터들을 담고있는 워드프로세싱문서 등이 더 있다. 데이터포맷을 근거로 압축알고리즘을 선택함으로써 더 좋은 결과 예컨데, 모든 데이터포맷을 위한 범용알고리즘을 사용하는 것보다 더 작은 압축파일사이즈가 성취될 수 있다. 예를 들어, 그래픽 또는 바이너리 파일들에서보다 텍스트데이터 상에서 훨씬 더 공격적인 압축기술이 사용될 수 있다.
도 7은 본 발명의 일 실시예에 따른 전송된 데이터의 데이터포맷을 근거한 압축알고리즘을 나타낸다. 단계(710)에서 한 섹션내의 데이터 예컨데, 어플리케이션 데이터유닛, 파일, 파일의 일부가 송신기슈퍼모듈에 의해 선택되었다. 섹션내의 데이터의 데이터포맷은 송신기슈퍼모듈에 의해 결정된다(단계 712). 단계(714)에서, 섹션내의 데이터는 단일 또는 혼합된 포맷인지를 결정하도록 심사된다. 예를 들어, Microsoft Outlook 이메일 메시지내의 텍스트와 첨부된 그래픽은 혼합된 포맷일 수 있다. 만일 데이터포맷이 혼합일 경우, 단계(716)에서, 섹션이 서브섹션으로 분해된다. 예를 들어, Microsoft Outlook 이메일 메시지는 텍스트섹션과 그래픽섹션으로 분해되며 그 프로세스는 단계(712)에서 각 서브섹션으로 반복된다. 만일 섹션내의 데이터가 단일 포맷일 경우, 단계(718)에서, 데이터포맷을 근거한 압축알고리즘이 선택된다. 예를 들어, 텍스트섹션의 경우, 예컨데, GZIP가 사용될 수 있고, 그래픽섹션의 경우 예컨데, 웨이브릿(wavelet) 압축이 사용될 수 있다. 데이 터가 압축되는 것을 보장하기 위해 디폴트(default) 압축알고리즘이 있다. 단계(720)에서, 섹션내의 데이터는 선택된 압축알고리즘을 사용하여 압축되며, 각 데이터섹션은 그 압축이 수행된 특정시간에 특정하게 사용되었던 알고리즘으로 태깅(tagging)된다. 단계(722)에서, 압축된 섹션은 비압축알고리즘을 갖는 수신기슈퍼모듈로 송신된다.
압축으로 인해 전송 레이턴시(latency)를 감소시키는 것과 프로세서가 데이터의 섹션을 압축하는데 걸리는 시간 사이에는 트레이드 오프(trade-off)가 있다. 중요한 목표는 사용자가 데이터를 대기하는 시간을 최소화하는 것이다. 그러므로 때때로는, 데이터 섹션을 압축하지 않고 송신하는데 걸리는 시간보다 데이터 섹션을 압축하고 송신하는데 걸리는 시간이 더 오래 걸릴 수도 있다. 그러므로 이 경우에는 데이터의 섹션을 압축하지 말아야 한다. 상이한 압축량과 압축시간을 갖는 상이한 압축알고리즘을 선택함에 있어, 이용가능 처리사이클 또는 이용가능 임시기억공간과 같은 시스템동작조건도 또한 고려할 필요가 있다. 각 슈퍼모듈은 네트워크의 동작지식을 근거한 압축알고리즘을 선택한다. 이 동작지식은 쿠리어패킷내의 데이터와 더불어 슈퍼모듈들 간에 전달된다. 예를 들어 만일 슈퍼모듈이 바쁠(busy) 경우 즉, 이용가능 처리사이클이 거의 없을 경우, 연산적으로 부담이 적은 압축이 사용되야 한다. 즉, 압축시간의 효율을 증가시킨다. 이는 압축이 네트워크의 부하변동과 더불어 변화할 수 있게 한다.
도 8은 본 발명의 또 다른 실시예에 따라 데이터가 압축되야 할지를 결정하는 흐름도이다. 단계(810)에서, 섹션내의 데이터가 선택되어 제1 슈퍼모듈에 의해 통신링크를 통하여 제2 슈퍼모듈로 송신된다. 단계(810)에서, 제1 슈퍼모듈이 통신링크가 풀(full) 즉, 링크용량인지를 결정한다. 단계(814)에서, 링크가 용량내에 있으면 그 섹션은 범용 알고리즘을 사용하여 예컨데, 런길이(run length) 또는 허프만 엔코딩(Huffman encoding), 또는 도 7의 흐름도를 사용하여 압축된다(단계 820). 만일 링크가 용량 범위내에 있지 않을 경우 단계(816)에서, 데이터 섹션 압축시간은 링크 레이턴시 즉, 섹션내의 데이터가 제1 슈퍼모듈로부터 제2 슈퍼모듈로 압축발생 순서로 전송되기 위해 걸리는 시간보다 크지 말아야 한다. 만일 데이터를 전송하는 것보다 압축하는 시간이 더 걸리면 압축은 없다(단계 818). 단계(822)에서 단계(820)에서 압축된 데이터 또는 단계(818)에서 압축되지 않은 데이터가 송신된다.
도 9는 본 발명의 또 다른 실시예의 또 다른 압축프로세스의 흐름도를 나타낸다. 단계(840)에서, 송신할 데이터의 섹션을 선택한다. 단계(842)에서, 압축알고리즘 그룹내의 각 압축알고리즘마다 데이터의 섹션을 압축하기 위해 시스템동작조건을 고려하는 비용이 결정된다. 그 그룹의 한 압축알고리즘이 최소의 비용으로 선택된다(단계 846). 한 비용 공식을 예로 들면 데이터의 섹션을 압축하는데 걸리는 시간과 압축된 섹션내의 데이터의 링크 레이턴시의 합이다. 여기서 압축시간은 그 압축시간에 이용가능한 처리사이클의 평균수(일예로서 시스템의 동작조건)의 함수이다. 각 압축알고리즘마다 이 비용공식을 사용하여 비용 즉, 그 합을 연산하여 최소 합의 압축알고리즘이 선택된다. 단계(848)에서, 그 선택된 압축알고리즘을 사용하여 데이터의 섹션을 압축하고 단계(850)에서, 그 압축된 섹션을 송신한다.
무엇을 어떻게 압축해야되는지(즉, 최상의 압축알고리즘)를 조사하는 이 외에 데이터가 위치되야 하는 곳도 중요하다. 일 실시예에서는 전형적으로 변화가 없는 또한 덜 압축될 수 있는 그래픽 및 바이너리 웹페이지 데이터, 자바 스크립트, 플래쉬 프로그래밍 및 기타 데이터가 슈퍼사용자 또는 슈퍼어플라이언스 사이트에 유지되게 한다. 웹페이지내에 포함되는 가변 데이터 즉, 전형적으로 가변하는 그러나 고압축성의 텍스트 데이터는 웹서버 또는 라스트 마일의 인터넷 사이트 상의 어떤 중간슈퍼모듈로부터 갱신될 수 있다.
그 외에도 효율적인 포맷 즉, 더 적은 파일 사이즈를 제공하는 포맷내에 저장된 데이터를 갖는 압축은 압축과 동일한 효과를 갖는다. 본 발명의 일 실시예에서는 비효율적인 데이터포맷을 만나게되는 제1 슈퍼모듈이 효율적인 포맷으로 변환된다. 이는 나머지 시스템 전체에 걸쳐 그 변환된 데이터의 전송과 캐슁을 향상시킨다. 변환의 일예로서 모든 그래픽 데이터를 비트맵(bitmap)과 GIF 포맷으로부터 JPEG 포맷으로 변환시키는 것이다. 이는 비트맵의 경우 10 대 1의 개선을 주고 GIF의 경우 5 대 1의 개선을 준다. 웹페이지 그래픽의 약 90%가 GIF 포맷으로 저장되기 때문에 JPEG으로의 변환은 웹페이지 그래픽의 정보 전송 및 저장을 크게 개선해준다.
리패키징
오늘날 대표적인 웹페이지는 하이퍼텍스트마크업랭귀지(HTML)문서와 많은 내포된 이미지들을 포함한다. 종래의 브라우저에 대한 행위는 베이스 HTML 문서를 페칭(fetching)한 다음 그 베이스 HTML 문서를 수신 후, 브라우저는 전형적으로 동일 한 웹서버 상에 위치되는 많은 내장물들을 2차적으로 페칭한다. 각 내장물들 즉, 어플리케이션 데이터유닛은 TCP데이터유닛내에 넣고 각 TCP데이터유닛을 하나 이상의 IP패킷으로 분할한다. 예컨데, 하나의 큰 TCP/IP패킷보다 오히려 많은 내장물들에 대하여 많은 TCP/IP패킷을 송신하려면 콘트롤 데이터를 송신할 시에 소요되는 네트워크 회수보다 더 많은 네트워크가 필요하다는 것, 다시말해 콘트롤 데이터/시간과 어플리케이션 데이터/시간의 비가 너무 크다는 것을 뜻한다. 많은 내장물들을 하나의 큰 어플리케이션데이터유닛에 조합한 다음 하나(또는 적어도 최소 수)의 큰 TCP데이터유닛을 생성하는 것이 더욱 효율적이다. 하나의 큰 TCP데이터유닛의 경우, IP패킷(들)을 위해 이 송신기슈퍼모듈과 그 다음 수신기슈퍼모듈 간의 링크에 대한 최대전송유니트(MTU)가 사용된다. 송신기슈퍼모듈은 각각의 IP패킷이 실제와 같이 MTU와 가깝게 되도록 노력함으로써 송신된 IP패킷들의 수를 최소화하려고 노력할 것이다. 슈퍼모듈 송신기와 슈퍼모듈 수신기 간의 각 링크마다 그 링크에 대해 IP패킷의 사이즈를 변경할 수 있을 지에 대해 결정한다. 이 실시예에서는 종래 기술과 달리 사용자와 웹서버 간에 모든 MTU의 통신링크들 가운데 최저의 공통분모 MTU가 통상적으로 사용될 경우, 각 링크의 MTU가 사용된다.
본 발명의 일 실시예에서는 어플리케이션데이터유닛 예컨데, 사용자요구와 웹서버요구들은 필요할 때 각 슈퍼모듈에서 예컨데, 슈퍼사용자, 슈퍼어플라이언스, 슈퍼센터오피스(CO)서버, 슈퍼CO집중기 및 슈퍼호스트에서 더 큰(또는 다수의 더 작은) 수정된 어플리케이션 데이터유닛으로 리패키징(또는 비패키징)된다. 예를 들어 2개의 IP패킷을 "쿠리어" 패킷의 일예인 하나의 IP패킷으로 조합하자. 그러면 제1 IP패킷은 제1 IP헤더, 제1 TCP헤더 및 제1 어플리케이션데이터유닛을 갖는다. 제2 IP패킷은 제2 IP헤더, 제2 TCP헤더 및 제2 어플리케이션데이터유닛을 갖는다. 제1 수정 어플리케이션데이터유닛이 생성되는데, 이는 제1 어플리케이션데이터유닛과; 소오스어드레스, 소오스 및 착신지 포트 그리고 제1 IP패킷을 재구성하는 데 필요한 다른 콘트롤 정보와 같은 제1 IP헤더와 제1 TCP헤더로부터 콘트롤 데이터를 갖는 제1 의사헤더를 갖는다. 제2 수정 어플리케이션데이터유닛이 생성되는데 이는 제2 어플리케이션데이터유닛과; 소오스어드레스, 소오스 및 착신지 포트 그리고 제2 IP패킷을 재구성하는데 필요한 다른 콘트롤 정보와 같은 제2 IP헤더와 제2 TCP헤더로부터 콘트롤 데이터를 갖는 제2 의사헤더를 갖는다. 조합된 어플리케이션데이터유닛은 제2 수정 어플리케이션데이터유닛으로 집중되는 제1 수정 어플리케이션데이터유닛을 갖고 만들어진다. 신규 TCP헤더와 IP헤더는 그 조합된 어플리케이션데이터유닛에 부가되어 쿠리어패킷을 형성한다. 따라서 반드시 필요한 콘트롤 정보는 그 조합된 어플리케이션데이터유닛내에 내포되고 그 조합된 어플리케이션데이터유닛을 슈퍼모듈송신기와 슈퍼모듈수신기 간에서 이동시키도록 TCP/IP프로토콜이 사용된다. 수신기가 슈퍼모듈이 아닐 때 그 조합된 어플리케이션데이터유닛은 번들 (bundle)되지 않고 제1 IP패킷과 제2 IP패킷이 리프레시성되어 슈퍼모듈 송신기에 의해 통상의 수신기로 송신된다.
도 10A는 본 발명의 일 실시예에 따라 슈퍼사용자에서 복수개의 어플리케이션데이터유닛을 리패키징하는 흐름도이다. 단계(910)에서, 슈퍼사용자는 공통착신지를 갖는 복수개의 어플리케이션데이터유닛을 하나의 어플리케이션데이터유닛으로 조합한다. 예를 들어 웹서버로 요청되는 다수의 사용자요구들이 조합된다. 단계(912)에서, 하나의 어플리케이션데이터유닛으로부터 TCP데이터유닛(또는 최소 수의 TCP데이터유닛)이 형성된다. 단계(914)에서, 하나의 IP패킷(또는 최소 수의 IP패킷) 즉, 쿠리어패킷(들)이 생성되며, 여기서 각 IP패킷은 링크에 대한 MTU 바이트 수에 가능하면 가깝게 되도록 또는 진행하는 타이머 T가 만료될 때까지 채워진다. 단계(916)에서, 쿠리어패킷(들)은 그 다음 슈퍼모듈 예컨데, 착신지 경로내의 슈퍼어플라이언스 또는 슈퍼CO서버로 송신된다.
도 10B는 본 발명의 또 다른 실시예의 슈퍼모듈의 복수개의 수신된 IP패킷들을 리패키징하는 흐름도이다. 단계(920)에서, 슈퍼모듈은 공통착신지를 갖는 복수개의 IP패킷을 수신한다. 단계(922)에서, 어플리케이션정보는 복수개의 IP패킷들로부터 추출된다. 단계(924)에서, 추출된 어플리케이션은 리패키징된 패킷(들)(즉, 쿠리어패킷(들))을 형성하기 위해 사용된다. 단계(924)에서 리패키징된 패킷(들)은 공통착신지를 갖는 경로내의 그 다음 슈퍼모듈로 송신된다.
도 10C는 도 10B의 단계(922)를 더 상세히 설명한다. 단계(932)에서 어플리케이션데이터유닛은 IP패킷들로부터 추출된다. 각 어플리케이션데이터유닛마다 관련된 TCP헤더와 IP헤더 콘트롤 정보가 심사된다. 그리고 적용가능 콘트롤 정보 예를 들어 소오스, 소오스 및 착신지 포트, 그리고 데이터길이와 같은 정보는 대응하는 어플리케이션데이터유닛에 부가되어 수정된 어플리케이션데이터유닛을 형성한다 (단계 934). 단계(936)에서 수정된 어플리케이션데이터유닛은 통합되어 TCP데이터유닛(또는 최소 수의 TCP데이터유닛)을 형성한다. 단계(938)에서 신규 IP패킷(들) 이 송신기와 수신기슈퍼모듈들 간의 링크의 MTU를 사용하여 TCP데이터유닛으로부터 형성된다.
단계(936)에서 하나의 큰 TCP데이터유닛을 형성할 것인지 또는 다수의 작은 TCP데이터유닛을 형성할 것인지에 대한 사정(decision)이 송신기슈퍼모듈을 남기고 링크 상의 트래픽 부하에 의존하여 동적으로 결정된다. 예를 들어 링크가 용량에 가까울 경우 다수의 작은 TCP데이터유닛, 그에 따라 작은 IP패킷들을 그 다음 대기해야만할 하나(또는 여러개)의 큰 IP패킷들을 송신하는 것이 더 효율적이다.
도 11은 본 발명의 한 양상에 따른 슈퍼사용자와 슈퍼호스트로부터의 쿠리어패킷의 일 예시도를 나타낸다. 슈퍼사용자(530)는 도 10A의 흐름도에 따라 사용자요구들(1020,1022) 즉, 어플리케이션데이터유닛(D1,D2)을 쿠리어패킷(1024)으로 조합한다. 슈퍼사용자(1010)는 IP패킷(1026)내에 그의 사용자요구(D3)를 가지며 슈퍼사용자(1012)는 IP패킷(1028)내에 그의 사용자요구(D5)를 갖는다. 이들 단일의 슈퍼사용자요구들 양자는 모두 쿠리어패킷으로 리패키징되어 적당한 슈퍼 어플라이언스로 송신된다. 제1 슈퍼 어플라이언스(530)에서 쿠리어패킷(1024)과 IP패킷(1026)은 도 10B에서의 흐름도에 따라 수신된 다음, 리패키징되어 큰어플라이언스 쿠리어패킷(1030)을 형성한다. 예를 들어 어플라이언스 쿠리어패킷(1030)은 IP패킷(1024)의 TCP 및 IP헤더(H1)로부터의 콘트롤 정보를 포함하도록 수정(D1A)된 어플리케이션데이터유닛(D1)을 갖는다. 제2 슈퍼어플라이언스(1014)는 쿠리어패킷(1028-1)을 수신하고, 그것을(1028-2) 변경하지 않고 슈퍼CO서버(534)로 인도한다. 슈퍼CO서버 (534)는 슈퍼어플라이언스(532)로부터 어플라이언스쿠리어패킷(1030)을 그리고 슈 퍼어플라이언스(1014)로부터 쿠리어패킷(1028-2)을 수신한다. 쿠리어패킷들(1030, 1028-2)은 도 10B의 흐름도에 따라 리패키징되어 CO쿠리어패킷(1034)을 형성하여 슈퍼CO집중기(536)로 송신된다. 슈퍼CO서버(1036)는 CO쿠리어패킷(1038)을 가지며, 이는 또한 슈퍼CO집중기(536)에도 송신된다. 슈퍼CO집중기(536)는 CO쿠리어패킷들( 1034,1038)을 CO쿠리어패킷(1040)으로 리패키징하여 슈퍼호스트(538)로 송신한다. 슈퍼호스트는 CO쿠리어패킷(1040)을 비패킹(unpacking)하여 사용자요구들(D1,D2, D3,D4,D5,D6,D7)(예컨데, HTTP 또는 FTP 요구들)을 얻어서 그 요구들을 웹서버로 송신한다. 도 10A, B 및 C에 따른 리패키징은 또한 웹서버로부터 데이터응답들을 슈퍼 CO집중기(536), 슈퍼CO서버(534) 및 슈퍼어플라이언스(532)를 통하여 귀환하여 슈퍼호스트(538)로 발생한다.
양 방향에서 각 슈퍼모듈이 쿠리어패킷들을 수신하면 그들은 그 슈퍼모듈의 캐쉬를 갱신하도록 심사, 비패킹하여 그 사용된 데이터를 갱신한다. 쿠리어패킷들이 번들(bundle) 또는 비번들되면 데이터요구들의 임플로션과 데이터 응답들의 익스플로션이 수행된다.
* 데이터요구 및 데이터 전송 병렬화
웹페이지를 요구하는 사용자의 예를 들면, 종래의 브라우저의 행위는 베이스HTML문서를 페칭하고, 그 다음 그 문서를 사용하여 브라우저는 통상적으로 하나 이상의 웹서버 상에 위치되는 많은 내장물들에 대해 후속 페칭을 행한다. 그 내장물들은 하나의 큰 TCP데이터유닛내에 놓여진 다음 브라우저로 복귀될 수 있다. 웹서 버는 베이스HTML문서와 내장물들 양자를 얻은 다음 그들을 하나의 큰 TCP데이터유닛으로 복귀시키는 개선점이 있다. 이는 웹서버가 그 베이스HTML문서와 그 내장물들을 직렬로 검색한 다음 그들 모두를 브라우저로 송신하는 것을 뜻한다. 본 발명의 또 다른 실시예는 이러한 직렬처리 즉, 검색한 다음 송신하는 것을 우선 베이스HTML문서를 얻은 다음 그 베이스문서를 브라우저로 송신함으로써 병렬화하는 것이다. 그 베이스HTML문서가 전송 중에 있는 동안 웹서버는 그 내장물들을 검색한다. 그 다음 그 검색된 내장물들이 송신된다. 그러므로 그 베이스HTML문서를 송신하는 시간이 직렬처리 때보다 절약된다. 사용자는 이 병렬처리를 사용하여 더 짧은 시간에 그 전체 웹페이지를 얻을 수 있다.
도 11a 는 본 발명의 일 양상에 따른 데이터 검색 및 전송을 병렬로 수행하는 예를 나타낸다. 도 11a는 2개의 모듈 즉, 종래의 모듈(1110)과 슈퍼모듈(1112)을 나타낸다. 수평축(1114)은 시간간격(1120)(시간 0 과 t1사이), 시간간격(1122)(시간 t1 과 t2사이), 시간간격(1124)(시간 t2 와 t3사이), 시간간격(1126)(시간 t3 와 t4사이) 그리고 시간간격(1128)(시간 t4 와 t5사이)을 나타낸다. 시간간격 (1120)에서 두 모듈들(1110,1112)은 데이터(1130,1140)를 검색하도록 요구를 수신한다. 시간간격(1122)에서 두 모듈들(1110,1112)은 제1 데이터아이템(들)(1132, 1142)을 검색하도록 요구를 수신한다. 시간간격(1124)에서 두 모듈들(1110,1112)은 그들의 동작을 분리하여, 모듈(1110)은 제2 데이터아이템(들)(1134)을 검색하고, 후속하여 시간간격(1126)에서 제1 데이터아이템(1136)을 송신하고, 시간간격 (1128)에서 제2 데이터아이템(1138)을 송신한다(즉, 직렬처리 ). 다른 한편 슈퍼모듈(1112)은 시간간격(1124)에서 제2 데이터아이템(들)(1144)을 동시에 검색하는 한편 제1 데이터아이템(들)(1146)은 송신된다. 시간간격(1126)에서 슈퍼모듈은 제2 데이터아이템(들)(1148)을 송신한다. 따라서 슈퍼모듈은 시간간격(1128)의 시간을 절약할 수 있다. 도 11a는 데이터의 검색과 송신을 파이프라이닝(pipelinning)하는 시초를 나타내는 것으로 파이프라인이 풀(full)이 되면 더 많은 시간이 절약된다.
임플로션/익스플로션
한정된 수의 웹사이트들로부터 데이터를 요구하는 많은 사용자들이 있기 때문에 그 다수의 사용자들을 위해 그 데이터요구들이 복제될 확률은 웹서버에 가까운 사람일수록 증가한다. 이들 복제요구들은 불필요한 네트워크트래픽을 유발하므로 조합되어야한다. 본 발명의 일 실시예에서는 이들 복제요구들을 임플로딩 즉, 복제요구들을 하나의 요구로 가지치기하고 또한 그 응답들을 익스플로딩 즉, 각 슈퍼모듈에서 한 응답을 여러 복제들로 복제한다.
도 12는 슈퍼사용자들로부터 슈퍼호스트로의 데이터요구들을 임플로딩하는 예를 나타낸다. 증권거래사를 생각해보자. 과열 증시가 발생하여 4 브로커가 동시에 주문을 요구할 때, 3 브로커 즉, 슈퍼사용자(1210,1212,1214)는 그들의 요구(1240,1242,1244)를 슈퍼어플라이언스(1216)로 송신하면, 슈퍼어플라이언스 (1216)는 요구슈퍼사용자들(1210,1212,1214)의 IP어드레스들을 저장해두고 단 하나의 요구(즉, req4 1246)만을 슈퍼CO서버(1220)로 송신한다. 슈퍼CO서버(1220)는 하나의 요구(1246)를 수신하여 어떤 다른 복제요구들이 다른 슈퍼어플라이언스(532) 로부터 또는 슈퍼어플라이언스를 사용하지 않는 다른 하나의 슈퍼사용자로부터 있는지를 점검한다. 이러한 예에서는 제4 브로커 즉, 슈퍼사용자(1218)가 복제요구 (1248)를 슈퍼CO서버(1220)로 송신하였다. 그 다음 슈퍼CO서버(1220)는 슈퍼어플라이언스(1216)와 슈퍼사용자(1218)의 모든 복제요구들의 IP어드레스들을 저장하고 그 복제들을 단일 요구(1250)로 임플로딩한 다음 그 요구(1250)를 슈퍼CO집중기 (1224)로 송신한다. 그 다음 슈퍼CO집중기(1224)는 다른 슈퍼CO서버들로부터의 다른 복제요구들 즉, ISP 서버(1222)로부터의 요구(1252)에 대하여 점검하여, 모든 복제요구들에 대한 IP어드레스들을 저장하고 그리고 그 요구들 중 한 요구(1254)를 슈퍼호스트(1230)로 송신한다. 슈퍼호스트(1230)는 또한 적용가능할 경우 다른 슈퍼CO집중기들로부터의 복제요구들을 점검 및 임플로딩한다. 이 실시예에서는 요구(1254)를 수신하는 다른 슈퍼CO집중기와 슈퍼호스트(1230)가 없다.
익스플로션처리는 도 12에 도시되어 있지 않지만 임플로션처리에 후속하며 그러나 역순으로 슈퍼호스트(1230)에서 시작한다. 슈퍼호스트(1230)는 웹서버(도시않됨)로부터의 응답 데이터(예컨데,웹페이지)를 검색하여 그것을 요구하는 각 슈퍼CO집중기들에 대해 그것을 익스플로딩한다. 슈퍼CO집중기(1124)는 그 응답 데이터를 수신하여 그것을 요구한 모든 슈퍼CO서버들(1220,1222)에 익스플로딩한다. 슈퍼CO서버(예컨데,1220)는 그 응답 데이터를 수신하여 그것을 요구한 모든 슈퍼어플라이언스(1216)와 슈퍼사용자(1218)에 익스플로딩한다. 슈퍼어플라이언스(1216)는 그 응답 데이터를 수신하여 그것을 요구한 슈퍼사용자들(1210,1212,1214)에 익스플로딩한다.
도 13A는 본 발명의 그 실시예에 따른 동일 착신지의 중복 데이터 요구들을 임플로딩하는 프로세스의 흐름도이다. 단계(1110)에서, 공통착신지를 갖는 중복 챠일드(child) 데이터요구들은 페어런트(parent) 슈퍼모듈에 의해 수신된다. 단계 (1112)에서, 챠일드 요구자의 복귀된 어드레스들은 리스트에 기록되어 페어런트 시스템에 저장된다. 단계(1114)에서, 중복챠일드 데이터요구들이 추출된다. 즉, 모든 데이터(콘트롤 정보는 포함하지 않음)가 동일하기 때문에 하나의 챠일드 데이터요구의 데이터만을 심사한다. 단계(1116)에서, 공통데이터와 페어런트복귀어드레스를 갖는 하나의 페어런트 요구가 발생된다. 단계(1118)에서, 그 페어런트 데이터요구는 공통착신지를 갖는 경로 상의 그 다음 슈퍼모듈로 송신된다.
도 13B는 본 발명의 실시예에 따른 임플로딩된 요구에 대한 응답을 익스플로딩하는 프로세스를 나타낸다. 단계(1120)에서, 착신지는 응답 데이터를 페어런트 요구자 즉, 임플로딩된 데이터요구를 송신한 라스트 슈퍼모듈로 송신한다. 단계(1122)에서, 페어런트 슈퍼모듈은 챠일드 요구자의 어드레스를 갖는 리스트를 검색한다. 단계(1124)에서, 그 응답데이터는 복제되어 한 복제가 리스트 상의 각 챠일드들로 송신된다(단계 1126).
데이터의 임플로션과 익스플로션은 특히 오디오 및/또는 비디오(특히, 방송용)의 스트리밍(streaming)에 가치가 있다. 하나 이상의 사용자가 동일한 TV, 비디오, 라디오 또는 음악을 요구하면, 그 요구들은 임플로딩되고 전송들은 익스플로딩된다. 특히 실시간 방송을 위해 보존된 대역폭의 양은 실질적이다. 만일 많은 사람이 인터넷 라디오 방송국을 청취하고 있다면 그 요구들은 그들이 웹호스팅 서버에 접근할 때 임플로딩되고 또한 사용자들에게 되돌아올 때 익스플로딩된다. 인터넷라디오 방송국은 시간이 동기된 동일 데이터를 방송하기 때문에 그 임플로션이 슈퍼호스트에서 약 100%일 수도 있으며(모든 요구들이 슈퍼호스트에서 하나의 요구로 임플로딩함), 그 익스플로션도 약 100%일 수도 있다(모든 사용자들이 웹서버로부터 슈퍼 호스트로의 하나의 스트림에 의해 서빙됨).
리패키징 및 임플로션/익스플로션
패킷 리패키징 방법들은 임플로션/익스플로션 방법들과 조합하여 작용하여 정보의 흐름을 크게 증가시킨다. 웹페이지(182)로부터 웹페이지내용을 요구하는 슈퍼사용자(530)의 프로세스의 일 실시예는 다음과 같다.
1. 슈퍼사용자(530)는 그 자신의 로컬캐쉬로부터 만족시킬 수 없는 모든 그의 데이터요구들을 단일 쿠리어패킷으로 패키징하여 슈퍼어플라이언스(532)로 송신한다.
2. 슈퍼어플라이언스(532)는, 다른 슈퍼사용자들로부터 공통착신지로의 모든 동시요구들 즉, 다른 사용자들로부터의 쿠리어패킷을 취하여, 하나의 큰 어플라이언스 쿠리어패킷으로 리패키징한다. 임의의 중복 사용자요구들은 임플로딩된다. 하나의 어플라이언스 쿠리어패킷은 슈퍼CO서버(534)로 송신된다.
3. 슈퍼CO서버(534)는 다수의 슈퍼어플라이언스(및 직접 접속되는 어떤 슈퍼사용자들)로부터 공통착신지를 갖는 모든 어플라이언스 쿠리어패킷을 취하여, 큰 CO쿠리어패킷을 슈퍼CO집중기(536)로 송신한다. 중복 사용자요구들은 다시한번 임플로딩된다.
4. 슈퍼CO집중기(536)는 동시CO쿠리어패킷들을 리패키징하고, 임의의 중복요구들을 임플로딩하여 더 큰 CO집중기쿠리어패킷을 적당한 슈퍼호스트(538)로 송신한다.
5. 슈퍼호스트(538)는 CO집중기쿠리어패킷을 수신하여 비패키지(un-package)한다. 슈퍼호스트는 그 요구들을 표준웹서버처리를 위한 표준HTTP요구들로 변환한다.
그 다음 웹서버(182)는 HTTP요구들을 처리하여 HTTP응답들을 생성하며, 이 응답들은 슈퍼호스트(538)로 송신된다. 응답처리는 다음과 같은 것들을 포함한다.
6. 슈퍼호스트(538)는 웹서버(182)로부터 되돌아온 데이터응답들을 수신하며 그리고 상기 슈퍼호스트(538)는 그의 캐쉬를 갱신하여 상기 데이터 응답들을 복귀CO집중기쿠리어패킷으로 패키징하는바, 이는 요구 슈퍼CO집중기(536)로 송신된다.
7. 슈퍼CO집중기(536)는 복귀슈퍼CO집중기쿠리어패킷을 수신한 다음 그것을 비패키징하여 슈퍼CO집중기(536) 캐쉬를 갱신한다. 슈퍼CO집중기(536)는 그 데이터를 익스플로딩한 다음 그 데이터를 복귀CO쿠리어패킷으로 리패키징하여 이들을 적절한 요구 슈퍼CO서버(예컨데,534)로 송신한다.
8. 슈퍼CO서버(534)는 복귀CO쿠리어패킷을 수신하고 이를 비패키징하며, 슈퍼어플라이언스를 위해 그 데이터를 익스플로딩하고, 슈퍼CO서버의 캐쉬를 갱신하고, 그 데이터를 복귀어플라이언스쿠리어패킷들로 리패키징한 다음 그 복귀어플라이언스 쿠리어패킷들을 적절한 요구 슈퍼어플라이언스로 송신한다.
9. 슈퍼어플라이언스(532)는 그 복귀어플라이언스 쿠리어패킷을 비패키징하 고, 슈퍼어플라이언스(532) 캐쉬를 갱신하며, 그 데이터를 익스플로딩하고, 그 데이터를 복귀사용자쿠리어패킷들로 리패키징한 다음 그 패킷들을 적당한 요구 슈퍼사용자들(예컨데,530)로 송신한다.
10. 슈퍼사용자(530)는 그 복귀사용자쿠리어패킷을 수신하여 비패키징한 다음 그의 캐쉬를 갱신하고 그 데이터를 표준HTTP프로토콜을 사용하여 브라우저(512)로 전달한다.
리패키징은 하나 이상의 효율적인 블록들내에 웹페이지 데이터를 저장함으로써 캐슁효율을 변경한다. 이는 디스크 탐색회수를 줄임으로써 디스크의 억세스들을 크게 감소시킨다.
반-영구(semi-permanent) TCP/IP 접속
HTTP 1.0하에서 각각의 브라우저요구와 웹페이지 응답에 대해, 신규의 TCP/IP 가상회로가 설정된다. 이는 사용자가 웹사이트를 보고 있을 때 많은 요구/응답 쌍들이 있는 만큼 상당한 지연의 원인이 되고 있으며, 각각의 가상회로는 그 가상회로를 설정하기 위해서는 3 방향 핸드쉐이크(handshake)를 필요로 하며 또한 그 가상회로를 단절하기 위해서는 2 또는 3 방향 핸드쉐이크를 필요로 한다. HTTP 1.1은 웹서버와 HTTP 1.1 호환가능한 브라우저(compliant browser) 간의 영구(persistent) 접속을 설정함으로써 지연을 감소시킨다. 그러므로 다수의 요구들은 하나의 TCP데이터유닛으로 송신될 수 있고 또한 다수의 응답들은 하나의 응답TCP데이터유닛으로 수신될 수 있다. 그러나 HTTP 1.1에는 여전히 약간의 문제가 있다. 첫째로, 만일, 브라우저가 개인 웹페이지내의 제2 웹서버로부터 데이터를 수신 한다면, 제1 웹서버로의 영구접속이 상실되던지 또는 또 다른 영구접속이 설정되야한다. 둘째로, 동일 웹사이트로의 다수의 사용자들은 동일한 영구접속을 사용할 수 없다. 셋째로, HTTP 영구접속은 웹 내용만을 위한 것으로 다른 어플리케이션층 프로토콜(예컨데, FTP)은 커버되지 못한다. 넷째로, 영구접속은 전체경로를 위한 것으로 웹서버와 브라우저 간 경로의 일부분들을 위한 것은 아니다.
본 발명의 일 실시예에 따르면, 임의의 2개의 슈퍼모듈들 예컨데, 슈퍼어플라이언스 또는 슈퍼사용자와 슈퍼CO서버(라스트마일) 간에 반영구 TCP 가상회로가 생성된다. 이 회로는 소정의 시간기간인 "T" 동안 또는 슈퍼모듈들 중 하나가 중단(shut down)될 때까지 지속된다. 반영구 TCP 가상회로는 통상의 3 방향 TCP/IP 핸드쉐이크에 의해 설정되고 또한 통상의 2 방향 또는 3 방향 TCP/IP 핸드쉐이크에 의해 단절(disconnect)된다. 데이터 전송기간 동안에, 상이한 말단 소스로부터 공통되는 말단 착신지로 전송되는 예컨데, 다수의 사용자로부터 하나의 웹서버로 또는 다수의 웹서버들로부터 하나의 사용자로 전송되는, 모든 타입들의 어플리케이션 데이터(예컨데, HTTP, FTP 또는 SMNP 등)는, 상기의 가상회로를 통해 전달될 수도 있다.
데이터의 타입 또는 데이터의 소오스에 관하여 제한이 없는 이유는, 쿠리어패킷의 사용 때문이다. 송신측 슈퍼 모듈에서 수신된(또는 생성된) 쿠리어패킷은, 동일한 착신지로 향하는 모든 요구 어플리케이션 데이터 유닛 또는 모든 응답 어플리케이션 데이터 유닛의 집합체를 하나의 큰 어플리케이션 데이터 유닛 방식으로 갖는바, 여기서 각각의 요구 및 응답 어플리케이션 데이터 유닛은 가령, 소스어드 레스, 소스 및 착신지 TCP포트 등과 같은 관련 콘트롤 데이터와 함께 의사헤더를 갖는다. 수신측 슈퍼모듈에서는, 필요할 경우 예컨데, 말단 사용자가 슈퍼사용자가 아닐 경우에, 의사헤더를 포함하는 상기 하나의 큰 어플리케이션 데이터 유닛은 개별적인 TCP 데이터 유닛드 및 IP 패킷들로 비번들(unbundle)될 수 있으며, 공통착신지로 포워드될 수 있다. 실제에 있어서, 상기 어플리케이션층은 프로토콜과 소오스를 숨기고 있으며, 하부 3개층과 데이터전송기간에 있어서의 차이점은 아주 큰 어플리케이션데이터유닛의 전송이다.
도 14A는 종래의 TCP/IP접속, 데이터전송 및 트랜스포트층(transport layer)에서의 송신기와 수신기 간의 단절을 나타낸 도면이다. 송신기(1312)와 수신기(1314) 간에 가상회로를 설정하기 위해, TCP 동기데이터유닛인 SYNC(1316)가 송신기(1312)로부터 수신기(1314)로 전송된다. 수신기(1314)는 수신성공응답 SYNC ACK(1318)를 환송(return)한다. 송신기(1312)는, 사이즈가 N1+N2인 어플리케이션데이터유닛에 대한 제1 TCP 데이터유닛으로서 N1 바이트의 데이터(1320)를 송신하며, 그리고 3방향 접속 핸드쉐이크를 완료하기 위해 SYNC ACK (1318)를 수신한다. 수신기(1314)는 수신성공응답 ACK N1(1322)을 환송한다. 이후, 송신기(1312)는 N2 바이트의 데이터(1324)를 송신하고, 제2 TCP데이터유닛내에 최종 플래그(FIN)를 세트하는바, 이는 데이터의 전송이 완료됨을 나타낸다. 수신기 (1314)는 ACK FIN(1326)을 환송하여 데이터 전송의 성공을 응답하고 가상회로 접속을 폐쇄한다. 송신기(1312)가 M1 + M2 바이트의 또 다른 어플리케이션데이터유닛을 송신하길 원할 때, 신규 가상회로는 SYNC(1330), SYNC ACK(1332) 및 ACK(1334)에 의해 셋업되어야한다. 송 신기(1312)는 M1 바이트의 데이터(1334)와 함께 제1 TCP데이터유닛을 송신하고, 수신기(1314)는 수신성공응답(1336)을 환송한다. 송신기(1312)는 M2 바이트의 데이터 (1338) 및 FIN 비트 세트와 함께 제2 TCP데이터유닛을 송신하고 수신기(1314)는 수신성공응답 ACK M1(1336)을 환송한다. 수신기(1314)는 최종비트인 ACK FIN(1340)으로 수신성공응답하고 가상회로 접속을 폐쇄한다.
도 14B는 본 발명의 일 실시예에 따른 반영구 접속을 위한 TCP/IP접속, 데이터전송 및 접속단절(disconnection)을 나타낸다. 송신기(1352)는 수신기(1354)에 SYNC(1356)을 송신하여 초기 가상회로접속을 셋업한다. 수신기(1354)는 송신기(1352)로 SYNC ACK(1358)를 전송하여 수신성공을 응답하고(acknowledge), 이는 송신기(1352)에서 수신기(1354)로 전송되는 ACK(1360)에 의해 또한 수신성공응답된다. 이로써 초기의 3 방향 핸드쉐이크가 완료되어 영구 가상 TCP/IP 접속(persistent virtual TCP/IP connection)이 셋업된다. 소정의 시간기간인 "T"(1362) 후, 1 세트 FIN 비트(1364)를 갖는 TCP데이터유닛이 가상회로접속의 폐쇄를 요구하는 송신기(1312)에 의해 송신된다. 수신기(1354)는 ACK FIN(1366)으로 수신성공응답하고 가상회로를 폐쇄한다. 소정의 시간 T(1362)에서 N1, N2, M1 및 M2 바이트를 갖는 TCP데이터유닛이 전송된다. 송신기(1352)로부터 N1 바이트의 데이터(1370)가 수신기(1354)로 전송되고, 이 수신기(1354)는 ACK N1(1372)으로 수신성공응답한다. 그 다음 N2 바이트들(1374)이 수신기(1354)로 전송되고, 이 수신기는 ACK N2(1376)로 수신성공응답한다. 그 다음 M1 바이트의 데이터(1378)가 수신기(1354)로 전송되고, 이 수신기는 ACK M1(1380)으로 수신성공응답한다. 그리고 마 지막으로 M2 바이트의 데이터(1382)가 수신기(1354)로 전송되고 수신기는 ACK M2(1384)로 수신성공응답한다. 따라서 시간기간 T 동안 4개의 TCP데이터유닛으로 분할된 N1 + N2 + M1 + M2 바이트의 하나의 큰 어플리케이션데이터유닛이 송신기(1352)로부터 수신기(1354)로 전송된다. 만일 어플리케이션데이터가 더 전송될 필요가 있을 경우, 신규 어플리케이션데이터유닛이 N1 + N2 + M1 + M2 바이트의 하나의 큰 어플리케이션데이터유닛에 부첨되어 반영구접속을 통해 송신된다.
VPN
가상사설네트워크(VPN)는 공동체인트라넷(corporate intra-net)과 같은 사설네트워크로서 인터넷과 같은 공중네트워크의 자원을 사용한다. 2가지 대표적인 타입의 VPN은 사이트간(sit-to-site)과 원격억세스이다. 각 타입은 신뢰된 사설네트워크와 비신뢰된 공중네트워크 간의 게이트키퍼(gate keeper), 전형적으로 전문화된 하드웨어인 VPN게이트웨이를 사용하게 한다. 게이트키퍼는 신뢰된 사설네트워크를 억세스하는 "게스트(guest)" 리스트를 갖는다. 만일 패킷이 리스트 상에 없다면 억세스가 없다.
도 15는 종래의 사이트간 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(Uniform Resource Locator)을 공급한다. 동적 DSN/URL서비스는 PC의 IP어드레스의 VPN게이트웨이(1430)에 통보하여 PC가 LAN서버 (1432)를 억세스할 수 있다.
도 16에 나타낸 바와 같이 종래의 VPN들은 여러 가지 제한을 갖는다. 첫째 특수 게이트웨이 하드웨어가 전형적으로 요구된다. 둘째 한 사용자가 다수의 VPN들을 억세스할 수 없다. 본 발명의 실시예는 이러한 문제점들을 극복한다. 슈퍼모듈사이트들을 그룹지우면 하나 이상의 VPN을 형성할 수 있다. 어느 슈퍼모듈이 어느 다른 슈퍼모듈을 억세스할 것인지 즉, 누구를 억세스할 수 있는지에 관한 허가테이블을 갖는 중앙사이트(1538)(도 16)가 있다.
도 16은 본 발명의 일 실시예에 따른 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을 사용하여 접속될 수 있으며 또한 모든 데이터 전송은 그들이 파일, 이메일 또는 웹페이지이든지 간에 예를 들어, 압축기술, 쿠리어패킷, 영구 TCP/IP, 임플로션/익스플로션 및/또는 상술한 바와 같은 효율적인 파일포멧을 사용한다.
결론
비록 본 발명의 특정 실시예들을 설명하였으나 본 발명의 범위내에서 여러 가지 수정, 변경, 다른 구성 및 등가물도 실시가능하다. 따라서 지금까지 설명한 본 발명은 어떤 특정 데이터 처리 환경에서의 동작으로 제한되지 않고 다수의 데이터 처리환경에서 동작가능하게 실시할 수 있을 것이다. 그 외에도 , 본 발명은 특정 계열의 거래와 단계들을 사용하여 설명하였으나 본 발명의 범위가 그들로 제한되지 않음을 본 분야에 숙련자는 이해할 것이다.
또한 지금까지 본 발명은 하드웨어와 소프트웨어의 특정 조합을 사용하여 설명하였으나 본 발명 범위내에서 다른 조합의 하드웨어와 소프트웨어도 가능함을 이해할 것이다. 본 발명은 하드웨어만으로 또는 소프트웨어만으로 또는 그들의 조합으로 실행할 수도 있다.
따라서 상술한 설명과 도면들은 제한하기 위한 것이라기보다 설명을 위한 것으로 간주될 것이다. 그러나 청구범위에 기재된 바와 같이 본 발명의 넓은 정신과 범위로부터 벗어나지 않는 범위내에서 부가, 삭감, 삭제 및 기타 수정 및 변경이 가능하다.
본 발명에 따르면, 종래의 TCP/IP 통신 네트워크 예를 들어 인터넷 상에 "슈퍼(super)" 트랜스포트(transport) 및 캐슁(caching) 구조를 탑재하여 통신네트워크의 유효 대역폭을 증가시켜서 통신네트워크의 정보전송 속도를 증가시키는 시스템 및 방법을 제공할 수 있다.
또한, 본 발명에 따른 "슈퍼" 트랜스포트 및 캐슁 구조는 통신네트워크내의 통신링크에 의해 분리된 적어도 2개의 모듈에 부가되는 소프트웨어 또는 하드웨어 또는 그들 양자를 포함한다. 어떤 2개의 "슈퍼" 모듈 간에, 통신링크를 설정하여 정보의 효율적인 고속전송을 허용한다. 여기서 정보의 전송은 전송되는 미가공 비트들의 수와 동일하지 않지만 필수적인 데이터 비트만을 포함하며 예를 들어, 오버헤드 콘트롤 비트 (overhead control bit) 또는 여분(redundant) 데이터 비트 등을 포함한다. 통신링크는 고정된 용량을 갖기 때문에 정보비트가 증가하고 비정보비트(non-information bit)가 감소하면 비정보비트로 인한 링크용량의 분담량이 줄어든다. 그러므로 일부의 정보비트는 일부의 비정보비트가 우선 전송될 때까지 대기하지 않아도 된다. 따라서 정보의 전송지연이 크게 감소된다.
"슈퍼" 트랜스포트 및 캐슁 구조와 그로 인한 정보전송의 증가된 속도의 순수한 결과는 통신네트워크의 사용자들이 정보를 억세스 및/또는 검색(retrieve)하는 시간을 크게 줄여줄 뿐만아니라 통신네트워크 특히, 대형 네트워크 예컨데, 인터넷이 사업자와 개인 모두에 의한 상거래를 효율적으로 수행하는 수단이 될 수 있다.

Claims (3)

  1. 공중 통신네트워크에 의해 함께 접속된 복수개의 컴퓨터에 의해 복수개의 가상사설네트워크들을 제공하는 방법에 있어서,
    상기 제 1 컴퓨터의 어드레스와 상기 제 2 컴퓨터의 어드레스를 포함하여 이루어진 중앙집중방식의 허가테이블을 사용하여, 상기 복수개의 컴퓨터들 중 제 1 컴퓨터와 상기 복수개의 컴퓨터들중 제 2 컴퓨터 간에 복수개의 가상사설네트워크들 중 제 1 가상사설네트워크를 설정하는 단계 -여기서, 상기 제 1 컴퓨터는 상기 제 1 컴퓨터의 어드레스를 상기 중앙집중방식의 허가테이블로 전송하고, 상기 제 2 컴퓨터는 상기 제 2 컴퓨터의 어드레스를 상기 중앙집중방식의 허가테이블로 전송하고- 와; 그리고
    제 3 컴퓨터의 어드레스를 더 포함하는 상기 중앙집중방식의 허가테이블을 사용하여, 상기 복수개의 컴퓨터들 중 상기 제 1 컴퓨터와 상기 제 3 컴퓨터 간에 상기 복수개의 가상사설네트워크들 중 제 2 가상사설네트워크를 설정하는 단계 -여기서, 상기 제 3 컴퓨터는 상기 제 3 컴퓨터의 어드레스를 상기 중앙집중방식의 허가테이블로 전송하고- 를 포함하여 이루어지며,
    상기 제 1 및 제 2 가상사설네트워크들을 설정하기 위해 상기 제 1 컴퓨터의 어드레스, 상기 제 2 컴퓨터의 어드레스, 및 상기 제 3 컴퓨터의 어드레스가 상기 중앙집중방식의 허가테이블과 함께 체크되는 것을 특징으로 하는 방법.
  2. 제 2 항에 있어서, 상기 중앙집중방식의 허가테이블은, 상기 제 1 컴퓨터가 상기 제 2 컴퓨터 및 상기 제 3 컴퓨터와 통신할 수 있는 허가를 갖고 있음을 나타내는 것을 특징으로 하는 방법.
  3. 통신 네트워크를 통해 어플리케이션 데이터를 전송하는 방법으로서,
    제 1 컴퓨터의 어드레스 및 제 2 컴퓨터의 어드레스를 포함하여 이루어진 중앙집중방식의 허가테이블을 사용하여, 상기 복수개의 컴퓨터들 중 제 1 컴퓨터와 상기 복수개의 컴퓨터들중 제 2 컴퓨터 간에 복수개의 가상사설네트워크들 중 제 1 가상사설네트워크를 설정하는 단계 -여기서, 상기 복수개의 가상사설네트워크들은 공중 통신네트워크에 의해 함께 접속된 상기 복수개의 컴퓨터에 의해 제공되며- 와;
    제 3 컴퓨터의 어드레스를 더 포함하는 상기 중앙집중방식의 허가테이블을 사용하여, 상기 제 1 컴퓨터와 상기 복수개의 컴퓨터들중 제 3 컴퓨터 간에 복수개의 가상사설네트워크들 중 제 2 가상사설네트워크를 설정하는 단계와;
    상기 제 1 컴퓨터 및 상기 제 2 컴퓨터 사이에 TCP 접속을 설정하는 단계와;
    복수개의 소스 어드레스들로부터의 복수개의 패킷들을 상기 제 1 컴퓨터에서 수신하는 단계 -여기서, 상기 복수개의 패킷들은 공통 착신지를 가지며 각각의 패킷은 어플리케이션 데이터를 포함하며- 와;
    상기 복수개의 패킷들로부터, 상기 어플리케이션 데이터를 포함하는 정보를 추출하는 단계와;
    상기 제 1 컴퓨터에 의해, 상기 정보의 섹션을 선택하는 단계;
    상기 제 1 컴퓨터의 시스템 동작 조건들을 사용하여 복수개의 압축 알고리즘들 중 각각의 압축 알고리즘에 대한 비용 값을 결정하는 단계;
    최소의 비용 값에 근거하여 상기 복수개의 압축 알고리즘들 중 하나의 압축 알고리즘을 선택하는 단계와;
    상기 선택된 압축 알고리즘을 이용하여 상기 섹션을 압축하는 단계와;
    상기 압축된 섹션을 포함하는 신규 패킷을 생성하는 단계와;
    상기 TCP 접속을 통해 상기 제 2 컴퓨터로 상기 신규 패킷을 송신하는 단계와;
    상기 TCP 접속을 접속단절하는 단계와;
    상기 제 1 컴퓨터에 의해 데이터 저장소로부터 데이터를 검색하라는 요구를 수신하는 단계와;
    상기 제 1 컴퓨터에 의해 상기 데이터 저장소로부터 제 1 데이터 아이템을 검색하는 단계와; 그리고
    상기 제 1 컴퓨터가 상기 데이터 저장소로부터 제 2 데이터 아이템을 검색하는 동안, 상기 제 1 컴퓨터는 상기 제 1 데이터 아이템을 상기 제 3 컴퓨터로 동시에 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020077007491A 2001-06-04 2002-06-04 통신네트워크의 유효 대역폭 증가 방법 KR20070055581A (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US29572001P 2001-06-04 2001-06-04
US29567601P 2001-06-04 2001-06-04
US29572101P 2001-06-04 2001-06-04
US29567101P 2001-06-04 2001-06-04
US29567201P 2001-06-04 2001-06-04
US60/295,672 2001-06-04
US60/295,720 2001-06-04
US60/295,721 2001-06-04
US60/295,676 2001-06-04
US60/295,671 2001-06-04

Related Parent Applications (1)

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

Publications (1)

Publication Number Publication Date
KR20070055581A true KR20070055581A (ko) 2007-05-30

Family

ID=27540798

Family Applications (5)

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

Country Status (9)

Country Link
US (3) US20030051055A1 (ko)
EP (3) EP1402692A4 (ko)
JP (2) JP2004535713A (ko)
KR (5) KR20070055582A (ko)
CN (3) CN1561618A (ko)
BR (2) BR0210159A (ko)
CA (3) CA2447787A1 (ko)
MX (3) MXPA03011150A (ko)
WO (3) WO2002099677A1 (ko)

Families Citing this family (276)

* 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
AU2003209194A1 (en) 2002-01-08 2003-07-24 Seven Networks, Inc. Secure transport for mobile communication 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
EP1570392A4 (en) * 2002-11-08 2006-09-27 Arbitration Forums Inc SYSTEM AND METHOD FOR ELECTRONIC SUBROGATION, WORK MANAGEMENT BETWEEN ORGANIZATIONS, PROCESSING TRANSACTIONS BETWEEN ORGANIZATIONS, AND USER INTERACTION ON THE WEB
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
US7818506B1 (en) * 2002-12-13 2010-10-19 Vignette Software Llc Method and system for cache management
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
US8312222B1 (en) 2002-12-13 2012-11-13 Open Text, S.A. Event-driven regeneration of pages for web-based applications
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
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
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
US8266294B2 (en) 2003-08-13 2012-09-11 Microsoft Corporation Routing hints
US7882251B2 (en) 2003-08-13 2011-02-01 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
US20050198401A1 (en) * 2004-01-29 2005-09-08 Chron Edward G. Efficiently virtualizing multiple network attached stores
DE102004004345A1 (de) * 2004-01-29 2005-08-18 Abb Research Ltd. System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern
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
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
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7437364B1 (en) 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7558822B2 (en) * 2004-06-30 2009-07-07 Google Inc. Accelerating user interfaces by predicting user actions
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
WO2006045102A2 (en) 2004-10-20 2006-04-27 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US8156429B2 (en) 2004-10-22 2012-04-10 Flash Networks. Ltd Method and system for accelerating downloading of web pages
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
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
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
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
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
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
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
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
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
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
WO2006081428A2 (en) 2005-01-27 2006-08-03 Symyx Technologies, Inc. Parser for generating structure data
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
US8904463B2 (en) * 2005-03-09 2014-12-02 Vudu, Inc. Live video broadcasting on distributed networks
US8219635B2 (en) * 2005-03-09 2012-07-10 Vudu, Inc. Continuous data feeding in a distributed environment
US9176955B2 (en) * 2005-03-09 2015-11-03 Vvond, Inc. Method and apparatus for sharing media files among network nodes
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
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
US7752633B1 (en) 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US20060242571A1 (en) * 2005-04-21 2006-10-26 Xiaofan Lin Systems and methods for processing derivative featurees in input files
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
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
US10878646B2 (en) 2005-12-08 2020-12-29 Smartdrive Systems, Inc. Vehicle event recorder systems
US20070150138A1 (en) 2005-12-08 2007-06-28 James Plante Memory management in event recording 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
ES2540533T3 (es) * 2007-02-16 2015-07-10 Orica Explosives Technology Pty Ltd Conjunto detonador, aparato de voladura y método correspondiente
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
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
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)
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
CA2782674C (en) * 2008-12-03 2016-02-02 Mobophiles, Inc. System and method for providing virtual web access
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
US8849856B2 (en) 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US8316558B2 (en) * 2008-12-16 2012-11-27 Skechers U.S.A., Inc. Ii Shoe
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
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
KR101125033B1 (ko) * 2010-04-27 2012-03-21 한국과학기술원 최적화된 통신환경을 위한 압축알고리즘 및 암호알고리즘 선택시스템, 선택방법과 그 방법을 컴퓨터에서 수행하도록 각각의 단계를 실행시키기 위한 명령어를 기록한 컴퓨터 판독가능 기록매체
US9772834B2 (en) 2010-04-27 2017-09-26 Red Hat, Inc. Exportable encoded identifications of networked machines
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 日电(中国)有限公司 后置数据访问过滤器和过滤方法
EP2599280A2 (en) 2010-07-26 2013-06-05 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
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
EP3651028A1 (en) 2010-07-26 2020-05-13 Seven Networks, LLC 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
WO2012025974A1 (ja) 2010-08-23 2012-03-01 富士通株式会社 データ記憶装置およびデータ記憶装置制御方法
US8812734B2 (en) 2010-09-01 2014-08-19 Microsoft Corporation Network feed content
CN101968815B (zh) * 2010-10-29 2012-07-25 西本新干线电子商务有限公司 并发请求处理方法
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
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
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
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
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
CA2798523C (en) 2010-11-22 2015-02-24 Seven Networks, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
CN102135881A (zh) * 2010-11-30 2011-07-27 广东星海数字家庭产业技术研究院有限公司 一种可自定义模块的hsml处理方法及系统
CN102135977A (zh) * 2010-11-30 2011-07-27 广东星海数字家庭产业技术研究院有限公司 一种应用hsml解析引擎的过滤处理方法及系统
KR20120058763A (ko) * 2010-11-30 2012-06-08 삼성전자주식회사 영상 장치에서 영상 데이터를 송신하기 위한 장치 및 방법
GB2501416B (en) 2011-01-07 2018-03-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
US8316098B2 (en) 2011-04-19 2012-11-20 Seven Networks Inc. Social caching for device resource sharing and management
EP2702500B1 (en) 2011-04-27 2017-07-19 Seven Networks, LLC Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
EP2621144B1 (en) 2011-04-27 2014-06-25 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
WO2012160499A1 (en) 2011-05-23 2012-11-29 Strangeloop Networks, Inc. Optimized rendering of dynamic content
WO2013015995A1 (en) 2011-07-27 2013-01-31 Seven Networks, Inc. Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
WO2013038320A1 (en) 2011-09-16 2013-03-21 Strangeloop Networks, Inc. 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
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
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页面的方法
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
WO2013090821A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
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
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system 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
WO2014057356A2 (en) 2012-10-12 2014-04-17 Spotify Ab Systems and methods for multi-context media control and playback
WO2014064531A1 (en) * 2012-10-22 2014-05-01 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
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with 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
KR102030390B1 (ko) * 2013-06-10 2019-11-18 에스케이텔레콤 주식회사 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치
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
KR102180472B1 (ko) * 2013-09-06 2020-11-18 삼성전자주식회사 캐시 데이터 관리 방법 및 장치
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
WO2015134669A1 (en) * 2014-03-04 2015-09-11 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
US10284462B2 (en) 2014-12-15 2019-05-07 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
US10095428B1 (en) 2016-03-30 2018-10-09 EMC IP Holding Company LLC Live migration of a tree of replicas 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
US10565058B1 (en) 2016-03-30 2020-02-18 EMC IP Holding Company LLC Adaptive hash-based 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
US9983937B1 (en) 2016-06-29 2018-05-29 EMC IP Holding Company LLC Smooth restart of storage clusters in a storage system
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
US10013200B1 (en) 2016-06-29 2018-07-03 EMC IP Holding Company LLC Early compression prediction in a storage system with granular block sizes
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
US10083067B1 (en) 2016-06-29 2018-09-25 EMC IP Holding Company LLC Thread management 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 华为技术有限公司 编解码方法、装置及编解码设备
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
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
KR102085838B1 (ko) * 2019-09-27 2020-05-26 에스케이텔레콤 주식회사 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치

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
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US6128701A (en) * 1997-10-28 2000-10-03 Cache Flow, Inc. Adaptive and predictive cache refresh policy
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
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
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
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
WO2001019024A2 (en) * 1999-09-08 2001-03-15 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

Also Published As

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

Similar Documents

Publication Publication Date Title
US7260651B2 (en) System and method for increasing the effective bandwidth of a communications network
US9692725B2 (en) Systems and methods for using an HTTP-aware client agent
US8291007B2 (en) System and method to accelerate client/server interactions using predictive requests
US6243761B1 (en) Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server
US7904073B2 (en) System and method for processing extensible markup language (XML) documents
US6892206B2 (en) Reduction of meta data in a network
EP1773027B1 (en) System and method for pushing data from an information source to a mobile communication device including transcoding of the data
US9356824B1 (en) Transparently cached network resources
US20210281667A1 (en) Named content for end-to-end information-centric ip internet
AU2002312361A1 (en) System and method for increasing the effective bandwidth of a communication network
Bhalekar et al. The experimentation and modeling of “satellite-friendly” HTTP
Proxy Zdenek Siblık Compressing Proxy
AU2002324438A1 (en) A system and method for reducing the time to deliver information from a communications network to a user

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee