KR101378435B1 - 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈 - Google Patents

네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈 Download PDF

Info

Publication number
KR101378435B1
KR101378435B1 KR1020097007873A KR20097007873A KR101378435B1 KR 101378435 B1 KR101378435 B1 KR 101378435B1 KR 1020097007873 A KR1020097007873 A KR 1020097007873A KR 20097007873 A KR20097007873 A KR 20097007873A KR 101378435 B1 KR101378435 B1 KR 101378435B1
Authority
KR
South Korea
Prior art keywords
request
session
original
module
sessions
Prior art date
Application number
KR1020097007873A
Other languages
English (en)
Other versions
KR20090086950A (ko
Inventor
아이열 마하데반
리 알버트
Original Assignee
아이에스티 인터내셔널 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아이에스티 인터내셔널 인코포레이티드 filed Critical 아이에스티 인터내셔널 인코포레이티드
Publication of KR20090086950A publication Critical patent/KR20090086950A/ko
Application granted granted Critical
Publication of KR101378435B1 publication Critical patent/KR101378435B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/14Reselecting a network or an air interface
    • H04W36/144Reselecting a network or an air interface over a different radio air interface technology
    • H04W36/1446Reselecting a network or an air interface over a different radio air interface technology wherein at least one of the networks is unlicensed
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/14Reselecting a network or an air interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

네트워크 프로토콜 스택(308)의 핸드오프 및/또는 품질 최적화를 구현하기 위한 모듈이 제공된다. 상기 모듈은 네트워크 프로토콜 스택(308) 및 상기 네트워크 프로토콜 스택(308)을 이용하는 애플리케이션(306)에 트랜스패런트(transparent)하다. 상기 모듈은 세션 검출기(402) 및 보조 관리기(410)를 포함한다. 상기 모듈은 요청 인터셉터(404), 요청 분석기(406) 및 제어기(408)를 포함한다. 세션 검출기(402)는 호스트로부터 원격 호스트까지 원래 세션을 검출한다. 보조 세션 관리기(410)는 다수의 보조 세션들을 개방 및 관리하여 원래 세션을 지원한다. 요청 인터셉터(404)는 애플리케이션에 의해 발부된 원래 요청을 검출하는데, 상기 원래 요청은 특정 컨텐트를 검색하기 위한 것이다. 요청 분석기(406)는 인터셉트된 원래 요청을 분석한다. 제어기(408)는 원래 세션 및 보조 세션들을 이용하여 분석 결과를 토대로 컨텐트를 검색한다.
세션 검출기, 요청 인터셉터, 요청 분석기, 요청 제어기, 보조 세션 관리기

Description

네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈{HANDOFF AND OPTIMIZATION MODULE OF A NETWORK PROTOCOL STACK}
본 발명은 일반적으로 네트워크 프로토콜 스택을 최적화하기 위한 방법 및 모듈에 관한 것이며, 특히 네트워크 프로토콜 스택의 핸드오프 및/또는 품질 최적화를 구현하기 위한 트랜스패런트하고 원-사이디드 방법 및 모듈(transparent and one-sided method and module)에 관한 것이다.
대부분의 네트워크 프로토콜 슈트들(suites)은 일련의 계층들로서 구조화되는데, 이들 계층들은 때때로 총괄적으로 프로토콜 스택이라 칭한다. 이와 관련하여, 개방형 시스템간 상호접속(OSI) 기준 모델은 7계층의 구조를 갖는것으로서 네트워크 활동도들(activities)을 설명하는데, 이들 각 계층은 자신들과 관련된 하나 이상의 프로토콜들을 갖는다. 도 1에 도시된 바와 같이, OSI 기준 모델의 프로토콜 계층들은 전통적으로 최상위(계층 7)으로부터 최하위 (계층 1) 까지 목록화된다.
OSI 기준 모델에 의해 규정된 동작들은 순전히 개념적이고 임의의 특정 네트워크 프로토콜 슈트에 특정되지 않는다. 예를 들어, OSI 네트워크 프로토콜 슈트는 OSI 기준 모델의 모두 7계층들을 구현한다. 대조적으로, 인터넷 환경에서 가장 보편적으로 사용되는 네트워크 프로토콜 슈트들 중 하나인 TCP/IP는 단일층으로 7개 의 OSI 계층들을 결합시킬 때 OSI 기준 모델에 직접 대응하지 않는다. 도 2는 최상위 계층(애플리케이션)으로부터 최하위 계층(물리 네트워크)까지의 TCP/IP 구현층들을 도시한다. 도 2는 TCP/IP 스택의 계층들, 이들 계층의 OSI 모델 등가물들(equivalents) 및 스택의 각 레벨에서 이용가능한 프로토콜들의 예들을 도시한다.
TCP/IP 스택의 계층들 중, 물리 네트워크 계층은 네트워크에 사용될 하드웨어의 특성들을 규정한다. 예를 들어, 이는 통신 매체의 물리 특성들을 규정한다. 데이터-링크 층은 패킷의 네트워크 프로토콜 유형을 식별한다. 이는 또한 에러 제어 및 "프레임잉(framing)"을 제공한다. 네트워크 층으로서 또한 공지된 인터넷 층은 네트워크용 패킷들을 수신하고 전달한다. 게다가, 전송 제어 프로토콜(TCP)을 포함한 전송 계층 프로토콜들은 패킷들이 데이터 수신의 확인들을 스왑(swap)하고 손실 패킷들을 재송신함으로써 순차적으로 그리고 에러 없이 도달되도록 한다. TCP는 물리 회로에 의해 접속된 것처럼 애플리케이션들이 상호 통신하도록 한다.
응용 계층은 표준 인터넷 서비스들 및 네트워크 애플리케이션들을 규정한다. 이들 서비스들은 전송 계층과 협동하여 데이터를 송수신한다. 응용 계층 프로토콜들의 일부 예들로서 하이퍼텍스트 전송 프로토콜(HTTP), 파일 전송 프로토콜(FTP), telnet 및 네트워크 파일 시스템(NFS)를 들 수 있다. 대부분의 응용 계층 프로토콜들은 원격 호스트들로의 세션들을 관리한다. 명령들 및 데이터는 세션들을 통해서 전송된다. 예를 들어, 호스트가 원격 호스트로부터 특정 컨텐트를 검색하도록 HTTP 요청을 발부할 때, HTTP 요청은 호스트의 응용 계층 및 원격 호스트의 응용 계층 간에 설정된 세션을 통해서 호스트의 응용 계층으로부터 원격 호스트의 응용 계층으로 전송된다. 게다가, HTTP 요청에 응답하여, 원격 호스트는 요청된 컨텐트를 HTTP 응답으로서 동일한 세션을 통해서 호스트로 다시 전송한다.
종래의 네트워크 프로토콜 슈트들에서 각 계층은 하나의 기계의 특정 계층이 또 다른 기계의 해당 계층에 의해 전송 또는 수신된 정확하게 동일한 객체를 전송 또는 수신하도록 설계된다(즉, 일 대 일 대응). 그러나, 상기 일 대 일 대응은 원격 호스트의 네트워크 대역폭과 처리 자원들을 완전하게 이용하는 것을 방해한다.
TCP/IP 프로토콜 슈트는 무선 네트워크 환경들에서 점점 더 대중화되고 있다. 호스트가 무선 네트워크 환경에서 한 네트워크로부터 또 다른 네트워크로 이동될 수 있기 때문에, 고품질의 서비스를 제공하기 위해선 심리스(seamless)이며 비용 효율적인 핸드오프가 강력히 요구되고 있다. 그러나, 종래의 네트워크 프로토콜 슈트들은 상술된 바와 같이 일대일 대응 세션들을 사용하며, 이는 이와같은 심리스(seamless)와 비용 효율적으로 핸드오프시키는 것은 매우 어렵다.
게다가, 종래의 클라이언트 애플리케이션들 및 서버 프로그램들은 종래의 TCP/IP 프로토콜 슈트들을 기반으로 한다. 그러므로, 종래의 클라이언트 애플리케이션들 및 서버 프로그램들을 계속 이용하기 위해선, 상기 결점들에 대한 해법이 트랜스패런트하고 원-사이디드 되어야만 된다. 본원에서, 용어 "트랜스패런트"는 세션에 사용되는 통신 호스트들에서 기존 애플리케이션들, 네트워크 프로토콜 스택 및 소캣 구현방식들 뿐만 아니라 어떠한 새로운 서버들 또는 다른 기반구조에 대해서도 어떠한 수정을 행할 필요가 없다는 것을 의미한다. 게다가, 용어 "원-사이디 드"는 상기 해법이 세션에 사용되는 통신 호스트들 중 하나에서만 구현될 필요가 있다는 것을 의미한다.
그러므로, 본 발명의 목적은 세션들을 위한 서비스 품질(QoS) 개선 및 네트워크간 핸드오프를 성취하기 위한 트랜스패런트하고 원-사이디드 방법을 제공하는 것이다. 본 발명의 또 다른 목적은 트랜스패런트하고 원-사이디드 방식에서 세션들을 위한 QoS 개선 및 네트워크간 핸드오프를 성취하기 위한 모듈을 제공하는 것이다.
본 발명의 한 양상을 따르면, 네트워크 프로토콜 스택의 핸드오프 및/또는 품질 최적화를 구현하기 위한 모듈이 제공된다. 상기 모듈은 네트워크 프로토콜 스택 및 상기 네트워크 프로토콜 스택을 이용하는 애플리케이션에 트랜스패런트 하다. 상기 모듈은 세션 검출기 및 보조 세션 관리기를 포함한다. 세션 검출기는 호스트로부터 원격 호스트로의 원래 세션을 검출하는 반면에, 보조 세션 관리기는 원래 세션을 지원하기 위하여 다수의 보조 세션들을 개방하고 관리한다. 또한, 모듈은 요청 인터셉터(request interceptor), 요청 분석기 및 요청 제어기를 더 포함할 수 있다. 요청 인터셉터는 애플리케이션에 의해 발부된 원래 요청을 검출하는데, 상기 원래 요청은 특정 컨텐트를 검색하기 위한 것이다. 요청 분석기는 인터셉트된 원래 요청을 분석한다. 요청 제어기는 상기 분석 결과를 토대로 컨텐트를 검색하기 위하여 원래 세션 및 보조 세션들을 이용한다.
본 발명의 또 다른 양상을 따르면, 네트워크 프로토콜 스택의 품질 최적화를 구현하기 위한 방법이 제공된다. 상기 방법은 원래 세션을 검출하는 단계 및 다수의 보조 세션들을 개방하는 단계를 포함하여, 원래 세션을 지원한다. 원래 세션 및 보조 세션들은 네트워크 프로토콜 스택을 이용하는 애플리케이션에 의해 발부된 원래 요청을 수행하도록 사용된다. 여기서, 상기 방법은 애플리케이션 및 네트워크 프로토콜 스택에 트랜스패런트 하다. 게다가, 원래 요청은 특정 컨텐트를 검색하기 위한 것일 수 있다. 이 경우에, 원래 세션 및 보조 세션들의 이용은 원래 요청을 인터셉트하며; 컨텐트를 집합적으로 커버하는 컨텐트의 하나 이상의 부분들을 결정하며; 원래 세션 및 보조 세션들을 통해서 컨텐트의 부분들을 검색하며; 상기 컨텐트를 구성하기 위하여 상기 부분들을 병합하고; 상기 컨텐트를 상기 애플리케이션에 제공하는 것을 포함할 수 있다.
본 발명의 또한 다른 양상을 따르면, 네트워크 프로토콜 스택 상에서 핸드오프를 구현하기 위한 방법이 제공된다. 상기 방법은: 네트워크 프로토콜 스택을 이용하는 애플리케이션에 의해 제1 네트워크를 통해서 설정된 원래 세션을 검출하는 단계; 및 상기 원래 세션을 지원하기 위하여 제2 네트워크를 통해서 보조 세션을 개방하는 단계를 포함한다. 상기 방법은 원래 세션의 해체(teardown)를 유도하는 단계를 더 포함한다. 상기 방법은 애플리케이션 및 네트워크 프로토콜 스택에 트랜스패런트 하다. 여기서, 보조 세션은 제2 네트워크로의 입력에 응답하여 개방될 수 있다. 또한, 상기 방법은 특정 컨텐트를 검색하기 위하여 원래 요청을 검출하는 단계를 더 포함할 수 있다. 이 경우에, 상기 방법은 원래 세션을 통해서 컨텐트의 검색을 시작하는 단계 및 상기 보조 세션을 통해서 컨텐트의 연속 검색을 추가로 수행하는 단계를 포함한다.
다음 용어들은 본 명세서에서 이하와 같이 정의된다.
"애드포트(Adport)" 또는 "엔드포인트"는 인터넷 세션의 엔드포인트를 식별하는 IP 어드레스 및 포트 번호의 쌍을 의미하며;
"전송-완료 상태"는 TCP/IP 스택으로 전달되는 세션의 패킷들이 세션을 통해서 요청된 전체 컨텐트를 커버하는 상태를 의미하며;
" 전송 패킷의 종료"는 TCP/IP 세션 (예를 들어, TCP EIN 또는 RST 패킷)의 해체시 수반되는 패킷을 의미하고;
"패킷의 누적 확인 수"는 패킷의 송신자가 패킷이 속하는 TCP/IP 세션 동안 수 b보다 앞서 컨텐트의 모든 바이트들을 수신하도록 보장하는 수 b를 의미한다.
본 발명을 따른 상기 목적들 및 특징들과 이외 다른 목적들 및 특징들이 첨부한 도면과 관련한 바람직한 실시예들에 대한 이하의 설명들로부터 명백하게 될 것이다.
도 1은 최상위(계층 7)로부터 최하위 (계층 1)까지 OSI 기준 모델의 프로토콜 층들을 도시한 도면.
도 2는 TCP/IP 스택의 계층들, 이들 계층들의 OSI 모델 등가물들 및 상기 스택의 각 레벨에서 이용가능한 프로토콜들의 예를 도시한 도면.
도 3은 본 발명의 제1 바람직한 실시예에 따라서 구성된 모듈이 사용되는 예시적인 실시예를 개요적으로 도시한 도면.
도 4는 제1 바람직한 실시예에 따라서 구성된 모듈의 예시적인 구조를 도시한 도면.
도 5는 본 발명의 제2 바람직한 실시예에 따라서 구성된 모듈이 사용되는 예시적인 환경을 개요적으로 도시한 도면.
도 6은 제2 바람직한 실시예를 따라서 구성된 모듈의 예시적인 구조를 도시한 도면.
도 7은 본 발명의 제3 바람직한 실시예를 따른 방법의 순서도.
도 8은 본 발명의 제4 바람직한 실시예를 따른 방법의 순서도.
이하의 설명에서, 많은 특정 상세사항들이 본 발명의 철저한 이해를 제공하기 위하여 설명된다. 그러나, 본 발명이 이들 특정 상세사항들의 일부 또는 전부 없이도 실시될 수 있다는 것은 당업자에게 명백할 것이다. 다른 예들에서, 널리 공지된 프로세스 단계들은 본 발명을 불필요하게 모호하게 하지 않도록 하기 위하여 상세히 설명되지 않는다.
도 3은 본 발명의 제1 바람직한 실시예에 따라서 구성된 모듈이 사용되는 예시적인 실시예를 개요적으로 도시한 것이다. 지금부터 도 3을 참조하면, 호스트(302)는 TCP/IP 스택(308)을 통해서 원격 호스트(304)로 통신시키는 TCP/IP 애플리케이션(306)를 포함한다. TCP/IP 애플리케이션(306)은 예를 들어 웹 브라우저일 수 있다. 호스트(302)는 HTTP 세션(S)을 개방하여 원격 호스트(304)로부터 크기(P)의 웹 페이지(W)를 다운로드 한다. 웹 페이지(W)는 HTML 문서들, 임베드된 데이터, 영상들 등을 포함한 웹 페이지의 전체 컨텐트를 표시할 수 있다. 이 실시예가 간결성을 위하여 TCP/IP 및 HTTP를 이용하여 설명되지만, 본 발명이 이로 제한되지 않는다는 점에 유의하여야 한다. 대조적으로, 본 발명은 유사한 방식으로 다른 네트워크 프로토콜들 뿐만 아니라 FTTP 등을 포함한 다른 애플리케이션 프로토콜들에 적용될 수 있다.
호스트(302)는 제1 바람직한 실시예를 따른 모듈(310), 즉 HQO(핸드오프/QoS 최적화기)를 포함할 수 있다. HQO 모듈(310)은 TCP/IP 애플리케이션(306)(또는 응용 계층) 및 TCP/IP 스택(308)(또는 전송층) 사이에 놓일 수 있고 이들과 상호작용할 수 있다.
도 4는 제1 바람직한 실시예를 따라서 구성되는 HQO 모듈(310)의 예시적인 구조를 도시한다. 도 4에 도시된 바와 같이, HQO 모듈(310)은 일반적으로 세션 검출기(402), 요청 인터셉터(404), 요청 분석기(406), 요청 제어기(408), 보조 세션 관리기(410), 응답 검출기(412), 응답 관리기(414) 및 저장장치(416)를 포함한다.
세션 검출기(402)는 호스트(302)로부터 원격 호스트(304)로 원래 세션(S)의 오픈닝(opening)을 검출한다. 검출시, 보조 세션 관리기(410)는 하나 이상의 보조 세션들을 개방 및 관리하여 원래 세션(S)을 지원한다. 여기서, 보조 세션들은 동일한 원격 호스트로 향할 필요가 없지만, 각 원격 호스트들에 설정될 수 있는데, 각 호스트는 원격 호스트(304)와 잠재적으로 상이할 수 있다.
요청 인터셉터(404)는 원래 세션(S)을 통해서 전달되는 HTTP 요청들을 검출한다. 검출된 HTTP 요청들은 요청 분석기(406)으로 제공되는데, HTTP 요청들은 해 부(parse)되고 분석된다. 요청 제어기(408)는 분석 결과를 수신하고 웹 페이지(W) 부분들의 적절한 수를 결정하는데, 상기 부분들은 전체 웹 페이지(W)를 집합적으로 커버한다. 상기 부분들은 서로 중첩하거나 중첩하지 않을 수 있고 동일한 크기를 가질 필요가 없다. 상기 부분들을 결정시, 상기 요청 제어기(408)는 보조 세션들에 관한 정보를 참조할 수 있다. 예를 들어, 요청 제어기(408)는 현재 설정된 보조 세션들의 수를 참조하여 적절한 수를 결정한다. 예를 들어, 3개의 보조 세션들이 원래 세션(S)을 지원하도록 설정될 때, 요청 제어기(408)는 부분들의 수를 4개로 결정할 수 있다. 이와 같은 결정시, 요청 제어기(408)는 원래 세션(S) 또는 보조 세션들 중 하나를 통해서 결정된 부분들 각각을 요청한다. 요청 제어기(408)는 또한 부분들의 수를 하나로 결정할 수 있으며, 이는 원래 세션(S)을 통해서 전체 웹 페이지(W)를 다운로딩시 발생된다.
요청 제어기(408)로부터 요청들에 응답하여, 원격 호스트(304)는 원래 세션(S) 및 보조 세션들을 통해서 웹 페이지(W)의 요청된 부분들을 전송한다. 보조 세션들을 통해서 전송된 부분들은 보조 세션 관리기(410)에 의해 응답 관리기(414)에 제공된다. 게다가, 응답 검출기(412)는 원래 세션(S)을 통해서 전송된 부분을 인터셉트하고 이와 같은 부분을 응답 관리기(414)에 제공한다. 응답 관리기(414)는 수신된 부분들을 토대로 전체 웹 페이지(W)를 구성하고 구성된 웹 페이지를 HTTP 응답들로서 TCP/IP 애플리케이션에 제공한다.
요청 제어기(408)의 동작들은 예시적인 예들과 관련하여 더욱 상세하게 후술될 것이다.
일 예에서, 동작들의 수가 4로 결정되면, 요청 제어기(408)는 원래 세션(S) 및 보조 세션들을 웹 페이지(W)의 1/4 각각을 다운로딩하도록 할 수 있다. 즉, 웹 페이지(W)가 크기(P)를 갖는다 라고 간주하면, 요청 제어기(408)는 원래 세션(S)을 통해서 1 대 P/4; 제1 보조 세션을 통해서 P/4+1 대 P/2; 제2 보조 세션을 통해서 P/2+1 대 3P/4; 및 제3 보조 세션을 통해서 3P/4+1 대 P의 바이트 레인지를 다운로딩할 수 있다. 웹 페이지(W)의 일부만을 요청하기 위한 지원은 요청 헤더 필드들에서 "레인지" 헤더를 이용함으로써 오늘날 대부분의 웹 서버들에서 제공된다. "레인지" 헤더는 HTTP/1.1(RFC 2616)의 5.3 및 14.35 장에서 규정된다.
구체적으로, 요청 제어기(408)는 원래 HTTP 요청들을 수정하여, 수정된 HTTP 요청들이 전체 웹 페이지(W) 대신에 웹 페이지(W)의 일부분 만을 요청하도록 한다. 이 수정은 원래 세션(S)의 절사(truncation)이라 칭한다. 예를 들어, 요청 제어기(408)는 HTTP 요청들의 기존 HTTP 헤더들에 "레인지" 필드를 도입할 수 있다. 그 후, 요청 제어기(408)는 원래 세션(S)을 통해서 수정된 HTTP 요청들을 전송한다. 게다가, 요청 제어기(408)는 보조 세션들을 통해서 전송되는 웹 페이지(W)의 다른 부분들을 요청하는 보조 HTTP 요청들을 구성할 수 있다. 보조 HTTP 요청들을 전송하는 동안, 요청 제어기(408)는 각 부분들이 전체 웹 페이지(W)에서 차지하는 위치들에 관한 정보를 보조 세션 관리기(410)에 제공할 수 있다. 보조 세션 관리기(410)는 위치들에 관한 제공된 정보를 저장장치(416)에 저장할 수 있다. 웹 페이지(W)의 각 부분들이 보조 세션들을 통해서 수신될 때, 보조 세션 관리기(410)는 저장장치(416)로부터 위치들에 관한 정보를 검색하고 이를 응답 관리기(414)로 제 공하여, 전체 웹 페이지(W)를 구성하도록 응답 관리기(414)를 지원한다. 예를 들어, 응답 관리기(414)는 HTTP 응답들을 해부하여 자신들의 바디들(bodies)로부터 웹 페이지(W)의 부분들을 추출하고 나서 위치들의 정보를 토대로 상기 부분들을 어셈블링(assemble)하여 전체 웹 페이지(W)를 구성한다.
또 다른 예에서, 웹 페이지(W)는 HTML 문서들, 임베드된 데이터, 영상들, 등을 포함한 웹 페이지의 전체 컨텐트를 표시할 수 있다. 웹 페이지(W)의 이와 같은 각종 부분들은 다수의 URIs(유니버셜 자원 식별자들)로 표시될 수 있다. 이 경우에, 요청 제어기(408)는 웹 페이지(W)의 부분들이 각 URIs로 표시된 파트들이 된다라고 결정할 수 있다. 예를 들어, 웹 페이지(W)는 베이스 HTML 문서 및 2개의 임베드된 영상들 (A 및 B)를 포함할 수 있는데, 영상들의 URIs는 베이스 HTML 문서에 포함된다. 이 경우에, 요청 제어기(408)는 웹 페이지(W)의 각 부분들로서 베이스 HTML 문서, 영상 (A) 및 영상 (B) 각각을 결정할 수 있다. 따라서, 베이스 HTML 문서, 영상(A) 및 영상(B)는 각 URIs를 따라서 원래 세션(S) 및 보조 세션들을 통해서 병렬로 다운로딩될 수 있다. HTTP 헤더들의 수정은 반드시 강제적인 것은 아닐 수 있다.
게다가, 원래 세션(S) 및 보조 세션들은 원격 호스트(304)로의 상이한 경로들을 가질 수 있다. 예를 들어, 세션들의 일부는 상대적으로 저속 네트워크(예를 들어, CDMA)를 통해서 원격 호스트에 접속될 수 있는 반면에, 다른 것들은 상대적으로 고속 네트워크(예를 들어, WiFi 액세스)를 통해서 설정된다. 이 경우에, 요청 제어기(408)는 보다 빠른 루트를 통해서 더 큰 부분들을 다운로딩하고 보다 느린 루트를 통해서 더 작은 부분들을 다운로딩하여, 상기 부분들은 가능한 서로에 근접하게 다운로딩되도록 할 수 있다. 예를 들어, 영상 (A)이 큰 크기를 갖고 영상(B)는 작은 크기를 가지면, 요청 제어기(408)는 고속 WiFi 액세스를 통해서 설정된 세션을 통해 영상(A) 및 저속 CDMA 링크를 통해서 설정된 세션을 통해 영상(B)을 다운로딩하도록 제어할 수 있다.
상기 실시예를 따르면, 다운로드 속도는 애플리케이션 및 원격 호스트들을 수정함이 없이 현저하게 가속될 수 있다. 특히, 컨텐트의 부분들은 병렬로 다운로딩될 수 있다. 따라서, 실제 다운로드는 기존 프로그램들에 대해 어떠한 수정없이 급격하게 가속될 수 있다. 예를 들어, 절사된 원래 세션 및 3개의 보조 세션들이 병렬로 웹 페이지(W)의 1/4을 다운로딩하는 경우에, 충분히 병목된 웹 서버 또는 네트워크 루트가 사용된다면 웹 페이지(W)의 다운로드는 거의 4배 빠르게 될 수 있다. 구체적으로, 보조 세션들의 수가 충분히 높게 설정되면, 다운로드는 호스트 및 원격 호스트 간에 네트워크 경로에서 이용가능한 병목 대역폭(bottleneck bandwidth)을 충분히 채우도록 가속될 수 있다. 한편, 원래 및 보조 세션들은 협동하여 가상 고속 TCP 접속을 형성하는데, 이것이 무용한 저속 스타트 동작을 방지한다.
게다가, 응답 관리기(414)는 정상적인 HTTP 응답으로서 전체 컨텐트를 제공하기 때문에, TCP/IP 애플리케이션은 HQO 모듈(310)의 존재에 관해서 알 필요가 없다. 즉, TCP/IP 애플리케이션은 HQO 모듈(310)이 제공되지 않을 때 전송되는 바와 같은 HTTP 요청들을 전송하고 HQO 모듈(310)이 제공되지 않을 때 수신되는 바와 같 은 HTTP 응답들을 수신할 수 있다. 결국, HQO 모듈(310)은 TCP/IP 애플리케이션에 트랜스패런트하고 임의의 기존 애플리케이션들이 그대로 사용될 수 있다. 게다가, HQO 모듈(310) 및 보조 세션들은 종래의 TCP/IP 스택 및 원격 호스트에 완전히 트랜스패런트하다. 요청 제어기(408)로부터 HTTP 요청들이 HTTP 표준들을 충족하는 정상 HTTP 요청들이기 때문에, 원격 호스트(304)는 전형적인 웹 서버일 수 있다. 따라서, 원격 호스트(304)에 대한 수정은 필요로 되지 않는다. 즉, 원격 호스트(304)는 HQO 모듈(310)에 대응하는 부가적인 피어 모듈(peer module) 또는 피어 층을 필요로 하지 않는다. 따라서, 본 실시예는 완전히 트랜스패런트하고 원-사이디드 해법을 제공한다.
또한, 도 1에 도시되지 않았지만, 요청 제어기(408)는 요청들을 원격 호스트(304)로 전송하여 상기 부분들을 결정하기 전 웹 페이지(W)의 크기(P)를 찾는다. 예를 들어, 요청 제어기(408)는 원격 호스트(304)로부터 수신된 HTTP 응답의 HTTP 헤더들로부터 크기(P)에 관한 정보를 얻을 수 있다.
상기 실시예에서, HQO 모듈(310)은 TCP/IP 애플리케이션(또는 응용 계층) 및 TCP/IP 스택(또는 전송층) 간에 놓인다. 그러나, 본 발명이 확실히 이에만 한정되는 것이 아니라는 점에 유의하여야 한다. HQO 모듈(310)은 전송층 아래에 놓일 수 있다.
이 경우에, 요청 제어기(408)는 요청의 적절한 패킷들에서 페이로드를 수정하도록 작용할 수 있다. 예를 들어, 요청 제어기(408)는 패킷들의 페이로드에서 응용 계층 헤더들을 수정하여, 원격 호스트(304)가 전체 컨텐트(원래 세션의 절사) 대신에 일부만을 전송하도록 한다. 또한, 원래 세션의 절사와 함께, 요청 제어기(408)는 컨텐트의 다른 부분들에 대한 보조 요청들을 포함하는 패킷들을 구성할 수 있다. 구성된 패킷들은 보조 세션 관리기(410)를 통해서 전송된다.
응답 관리기(414)는 보조 세션 관리기(410) 및 응답 검출기(412)를 통해서 원격 호스트(304)로부터 컨텐트의 부분들을 수신한다. 상기 부분들이 집합적으로 전체 컨텐트를 커버할 때, 응답 관리기(414)는 수신된 부분들을 이용하여 전체 컨텐트(상기 부분들의 병합)를 구성하며, 그 후 상위 계층에 제공된다. 상기 병합의 한 예에서, 응답 관리기(414)는 원래 세션 및 보조 세션들 각각으로부터 수신된 IP 패킷들을 버퍼링한다. 그 후, 전체 컨텐트가 원래 세션을 통해서 요청되면 이들 버퍼링된 IP 패킷들이 수신된 정확한 원래 순서 및 형태로 버퍼링된 IP 패킷들을 상위층으로 릴리스한다. 이를 위하여, 응답 관리기(414)는 이와 같은 패킷들에서 애드포트(adport) 값들로 적절한 변경들을 행하여, 패킷이 원래 세션으로부터 나오는 것처럼 나타난다. 게다가, 응답 관리기(414)는 각 이와 같은 패킷들에서 TCP 순서 번호 및 확인 필드들을 시프트하여, 원래 세션으로부터 발생되는 패킷들의 순서에서 정확한 위치를 반영한다. 이 예는 더욱 자세히 후술될 것이다.
보조 세션 관리기(410)으로부터 각 입력 패킷 (p)에 대해서, 응답 관리기(414)는 패킷(p)이 응답 관리기(414)로부터 상위층으로 이미 전달되지 않은 웹 페이지(W)의 일부를 반송하는지를 결정한다. 만일 그렇다면, 응답 관리기(414)는 패킷 (p)의 소스 및 착신 애드포트 필드들의 값들을 원래 세션의 소스 및 착신 애드포트 값들로 대체하며; 패킷 (p)의 시퀀스 번호 필드의 값(이와 같은 필드가 존 재하면)을 웹 페이지(W)의 패킷(p)의 제1 페이로드 바이트의 원래 위치로 대체하고, 패킷 (p)의 확인 번호 필드의 값(이와 같은 필드가 존재하면)을 패킷 p의 계층-4 페이로드의 길이 및 로컬 변수 "latest_seen_ack_number"의 합으로 대체한다.
응답 관리기(414)는 또한 패킷(p)가 전송 패킷이 끝인지를 결정한다. 만일 그렇다면, 응답 관리기(414)는 이를 상위층으로 바로 전송하지 않는다. 전송 패킷(p)의 끝에 바로 이어지는 대신에, 응답 관리기(414)는 패킷(p)이 웹 페이지(W)의 끝의 수신을 표기(mark)하는지를 검사한다. 만일 그렇다면, 전송 패킷(P)의 끝은 버퍼에서 세이브된다. 전송-완료 상태가 원래 세션(S)에 대해서 성취될 때, 전송 패킷(p)의 끝은 버퍼로부터 검색되고 상위층으로 전달된다. 병합 동작은 요청 분석기(406) 및 요청 제어기(408)에서 발생될 수 있는 다음 작용들을 더 포함할 수 있다. 또한, 상위층으로부터 수신된 보조 세션이 각 출력 패킷(p)에 대해서, 요청 분석기(406)는 패킷(p)이 계층-4 프로토콜(이는 통상적으로 TCP)의 확인 패킷인지를 검사한다. 만일 그렇다면, 요청 제어기(408)는 로컬 변수 "latest_seen_ack_number"를 패킷(p)의 시퀀스 번호의 값으로 갱신한다. 게다가, 요청 분석기(406)는 패킷 (p)의 누적 확인 수가 원래 세션(S)을 통해서 실제로 요청되는 부분의 최종 바이트보다 큰지를 검사한다. 만일 그렇다면, 요청 제어기(408)는 패킷(p)을 드롭(drops)한다. 그렇치 않다면, 이는 패킷 (p)을 하위층으로 전송한다.
보조 세션들은 원래 세션과 동일한 엔드포인트를 가질 필요가 없다. 특히, 보조 세션들의 원격 엔드포인트들은 원래 세션의 원격 호스트(304)에서 원래 엔드 포인트와 상이할 수 있다. 유사하게, 보조 세션들의 호스트(302)에서 로컬 엔드포인트들은 원래 세션의 호스트(302)에서 로컬 엔드포인트와 상이할 수 있다. 따라서, 상기 부분들은 다수의 상이한 원격 호스트들로부터 병렬로 다운로딩될 수 있다. 이와 같은 일반적인 방법은 본 발명의 범위로부터 벗어남이 없이 광범위의 QoS 개선들 및 애플리케이션 핸드오프들을 초래한다.
본 발명의 제2 바람직한 실시예가 후술된다. 도 5는 제2 바람직한 실시예를 따라서 구성된 모듈이 사용되는 예시적인 환경을 개요적으로 도시한다. 도 5에 도시된 바와 같이, 호스트(502)는 TCP/IP 스택(508)을 통해서 원격 호스트(504)로 통신하는 TCP/IP 애플리케이션(506)을 포함한다. 호스트(502)는 이 실시예에 따라서 구성된 HQO 모듈(510)을 더 포함할 수 있다.
도 6은 제2 바람직한 실시예를 따라서 구성된 HQO 모듈(510)의 예시적인 구조를 도시한 것이다. 도 6에 도시된 바와 같이, HQO 모듈(510)은 일반적으로 세션 검출기(602), 요청 인터셉터(604), 요청 분석기(606), 요청 제어기(608), 보조 세션 관리기(610), 응답 검출기(612), 응답 관리기(614) 및 저장장치(616)를 포함한다.
다음 설명들은 HQO 모듈(510)이 제1 네트워크(512)로부터 제2 네트워크(514)로 이동한다는 가정하에 제공된다. 예를 들어, 호스트(502)는 이중-모드 CDMA-WiFi 폰일 수 있고 사용자는 CDMA 셀로부터 WiFi 핫스폿으로 이동된다. 제1 네트워크(512)는 CDMA이고 제2 네트워크(514)는 WiFi 핫스폿이다. 그러나, 이는 단지 예시이고 본 발명은 어떤 식으로든 제한되지 않아야 한다.
TCP/IP 애플리케이션(506)은 예를 들어 호스트(502)가 제 1 네트워크(512) 내에 있을 때 대형 파일을 다운로딩하도록 시도할 수 있다. 이 경우에, 원래 세션(S)은 다운로드를 위하여 제1 네트워크(512)를 통해서 설정될 수 있고 다운로드를 위한 요청은 원래 세션(S)을 통해서 전송된다. 이와 같은 요청에 응답하여, 원격 호스트(504)는 원래 세션(S)을 통해서 요청된 파일을 전송하도록 시작된다. 여기서, 세션 검출기(602)는 원래 세션(S)을 검출하고 요청 인터셉터(604)는 요청을 검출한다. 검출된 요청은 장차 사용을 위하여 저장장치(616)에 유지될 수 있다. 그 후, 요청된 파일이 여전히 전송중인 동안 호스트(502)가 제2 네트워크(514)로 입장할 때, 보조 세션 관리기(610)는 제2 네트워크(514)를 통해서 보조 세션을 개방 및 관리한다. 보조 세션은 심지어 제1 네트워크(512)를 통해서 원래 세션(S)이 파괴되기 전 개방될 수 있다. 한편, 저장장치(616)에 저장된 요청은 이 요청을 분석하는 요청 분석기(606)에 제공된다. 분석 결과를 토대로, 요청 제어기(608)는 보조 세션 관리기(610)에 의해 관리되는 보조 세션을 통해서 전송될 보조 요청을 구성한다.
보조 요청을 구성시, 요청 제어기(608)는 이미 수신된 데이터 량을 참조할 수 있다. 예를 들어, 파일의 최대 바이트 N이 핸드오프의 시작시에 원래 세션(S)을 통해서 수신될 수 있다. 도 6에 도시되어 있지 않지만, 응답 검출기(612)는 수시된 바이트들 N의 수를 검출하고 이 수 N을 요청 제어기(608)로 통지할 수 있다. 그 후, 요청 제어기(608)는 보조 요청을 구성하여 바이트 N+1로부터 전방으로 파일의 부분만을 요청한다. 요청 제어기(608)는 보조 요청을 보조 세션 관리기(610)에 의 해 관리되는 보조 세션을 통해서 원격 호스트(504)로 전송한다. 보조 요청에 응답하여, 원격 호스트(504)는 보조 세션을 통해서 바이트 N+1로부터 전방으로 파일의 부분을 전송하기 시작하여, 응답 관리기(614)에 제공한다. 원래 세션(S)은 핸드오프 동안 개방된 채로 유지될 수 있고 원래 세션(S)을 통한 파일 다운로드는 여전히 진행중일 수 있다. 그러므로, N+1로부터 M까지의 일부 바이트들은 원래 세션(S) 및 보조 세션을 통해서 2배로 다운로딩될 수 있다. 응답 검출기(612)는 원래 세션(S)을 통해서 다운로딩된 데이터를 인터셉트하고 이를 응답 관리기(614)에 제공한다. 응답 관리기(614)가 응답 검출기(612) 및 보조 세션 관리기(610)로부터 2배로 다운로딩된 부분을 수신할 때, 응답 관리기(614)는 원래 바이트가 TCP/IP 애플리케이션(506)에 이미 전달된 후 수신된 요청된 파일의 임의의 복제 바이트를 자동적으로 폐기한다. 이 방식으로, 본 실시예는 심리스 및 비용 효율적인 애플리케이션 모빌러티를 제공할 수 있다.
이 실시예가 파일 다운로드에 대해서 설명되었지만, 본 발명은 이로 제한되지 않는다는 점에 유의하여야 한다. 반대로, 본 발명은 많은 다른 애플리케이션들을 가질 수 있다.
예를 들어, HQO 모듈(510)은 SIP 프록시 서버들에서 제공된 컨퍼런스 지원(confernece support)되는 VoIP 또는 SIP-IMS 세션들과 같은 SIP 세션들의 핸드오프에 사용될 수 있다. 이 경우에, 원래 세션(S) 및 보조 세션은 컨퍼런스 모드에서 개방될 수 있다. 호스트(502)가 한 네트워크로부터 또 다른 네트워크로 이동될 때, 보조 세션 관리기(610)는 또 다른 SIP 호출을 행함으로써 보조 세션을 원격 호 스트(504)로 설정하는데, 이는 현재 컨퍼런스 중인 세션들에 의해 사용되는 엔드 포인트들과 상이한 세션 엔드-포인트를 통해서 기존 컨퍼런스를 가입시킨다. 보조 세션을 설정 후, 요청 제어기(608)는 컨퍼런스를 떠남으로써 원래 세션(S)을 해체시키고 원래 세션(S)을 보조 세션으로 대체한다. 이 방식으로, 보조 세션은 심리스 방식으로 원래 세션(S)을 인계받는다.
본 발명의 제3 바람직한 실시예가 후술된다. 도 7은 본 발명의 제3 바람직한 실시예를 따른 방법을 도시한 순서도이다. 이 방법은 예를 들어 제1 바람직한 실시예의 HQO 모듈에 의해 실행될 수 있다. 이 모듈은 원래 세션을 검출하고(702) 보조 세션들을 개방하여 원래 세션을 지원한다(704). 여기서, 보조 세션들은 원래 세션개방의 검출에 응답하여 개방될 수 있다. 그 후, 모듈은 원래 세션 및 보조 세션을 이용하여 애플리케이션 계층, TCP/IP 애플리케이션에 의해 발부된 원래 요청을 수행한다. 더욱 구체적으로, 모듈은 애플리케이션 계층에 의해 발부된 원래 요청을 인터셉트하는데, 원래 요청은 특정 컨텐트를 검색하기 위한 것이다(706). 그 후, 모듈은 전체 컨텐트를 집합적으로 커버하는 컨텐트의 하나 이상의 부분들을 결정한다(708). 그 후, 모듈은 원래 세션 및 보조 세션들을 통해서 컨텐트의 부분들을 검색한다. 특히, 모듈은 하나 이상의 요청들을 구성하는데, 이들 요청들 각각은 상기 부분들 중 하나를 요청한다(710). 요청들을 구성시, 모듈은 원래 요청을 참조할 수 있고 더욱 구체적으로 원래 요청을 수정하여 요청들을 구성할 수 있다. 모듈은 구성된 요청들을 원래 세션 및 보조 세션들을 통해서 전송한다(712). 그 후, 이는 원래 세션 및 보조 세션을 통해서 컨텐트의 부분들을 수신한다(714). 모듈은 상기 부 분들을 병합하여 전체 컨텐트를 구성한다(716). 최종적으로, 모듈은 상기 구성된 컨텐트를 애플리케이션 계층으로 제공한다(718).
본 실시예를 따르면, TCP/IP 애플리케이션, TCP/IP 스택 및 원격 호스트는 어떠한 수정을 필요로 하지 않는다. 게다가, 이 방법은 통신 호스트들 중 하나에서만 실행되고 특히 원래 요청을 발부하는 호스트에서 실행될 수 있다. 그러므로, 본 실시예는 완전히 트랜스패런트하고 원-사이디드 해법을 제공한다.
본 발명의 제4 바람직한 실시예가 후술된다. 도 8은 본 발명의 제4 바람직한 실시예를 따른 방법을 도시한 순서도이다. 이 방법은 예를 들어 제2 바람직한 실시예의 HQO 모듈에 의해 실행될 수 있다. 이 모듈은 제1 네트워크를 통해서 설정된 원래 세션을 검출한다(802). 그리고 나서, 이 모듈은 특정 컨텐트를 검색하기 위하여 원래 요청을 검출하고(804) 원래 세션을 통해서 컨텐트의 검색을 시작한다(806). 이 모듈을 포함한 호스트가 컨텐트가 검색되는 동안 제2 네트워크로 입장하면, 이 모듈은 제2 네트워크를 통해서 보조 세션을 개방한다(808). 그리고 나서, 모듈은 보조 요청을 구성하여 컨텐트를 계속 검색하고(810) 보조 요청을 보조 세션을 통해서 전송하여(812) 보조 세션을 통해서 컨텐트를 계속 검색한다(814). 보조 세션을 통한 컨텐트의 검색은 부분적으로 원래 세션을 통한 컨텐트의 검색과 중복된다. 바이트가 원래 세션 및 보조 세션을 통해서 복제되어 수신될 때, 이 모듈은 나중 수신된 바이트를 폐기할 수 있다. 그 후, 이 모듈은 원래 세션을 해체시키고(816) 원래 세션을 보조 세션으로 대체한다(818). 본 실시예는 심리스하고 비용 효율적인 애플리케이션 모빌러티를 제공한다.
상기 실시예들이 TCP/IP 프로토콜 슈트란 가정하에 설명되었지만, 본 발명은 이로 제한되지 않는다. 본 발명은 OSI 프로토콜 슈트와 같은 다른 적용가능한 슈트들에 적용될 수 있다.
본 발명은 완전히 트랜스패런트하고 원-사이디드 해법을 제공하여 TCP/IP 세션들을 위한 QoS 개선 및 네트워크간 핸드오프를 성취한다. 특히, 상이한 무선 네트워크들에 걸쳐서 사용자에게 심리스하고 비용-효율적인 애플리케이션 모빌러티가 제공될 수 있다. 또한, 많은 전형적인 이중-모드 핸드셋 이용 시나리오들에 대해서, 제로 핸드오프 레이턴시가 본 발명에 의해 얻어질 수 있다. 즉, 모바일 사용자는 멈춤, 중단, 다운로드 저하된 세션을 인지하지 못한다. 특정 유용한 애플리케이션들은 VoIP(Voice over IP), 모바일 텔레비젼, 스트리밍 또는 다운로딩된 VOD(주문형 비디오), 파퓰러 P2P 애플리케이션들 및 인터넷 상에서 이외 다른 대부분의 보편적인 사용자 활동도들을 포함한다. 게다가, 본 발명은 웹 페이지 다운로드를 크게 가속시킨다. 전형적인 xDSL 사용자들에 대해서, 현재 가능한 속도보다 2 내지 8배의 범위에서 웹 페이지 다운로드를 급격히 가속하는 것이 성취될 수 있다. 인터넷 서비스 제공자들(ISPs) 또는 컨텐트 제공자들(CPs)는 QoS 개선을 위한 어떠한 새로운 기반구조들을 설치할 필요가 없다. 이 가속은 단지 사용자 다운로드들만을 필요로 하고 사용자 자신의 컴퓨터들 또는 핸드셋들 상에 본 발명의 HQO 모듈만을 설치하는 것을 필요로 한다. 또 한, 기반구조 네트워크에 또는 컨텐트 서버들(트랜스패런시)상에 모빌러티 기반구조가 필요로 되지 않는다. 사용자는 단지 본 발명을 자신들의 컴퓨터들 또는 핸드셋들(원-사이드니스)에 적용하는 것만을 필요로 한다.
본 발명이 바람직한 실시예와 관련하여 도시되고 설명되었지만, 당업자는 첨부된 청구범위에 규정된 바와 같은 본 발명의 원리 및 범위를 벗어남이 없이 각종 변경 및 수정을 행할 수 있다는 것을 인지할 것이다.

Claims (22)

  1. 네트워크 프로토콜 스택의 핸드오프 및 품질 최적화를 구현하기 위한 모듈에 있어서,
    호스트로부터 원격 호스트로 원래 세션을 검출하기 위한 세션 검출기; 및
    상기 원래 세션을 지원하기 위하여 다수의 보조 세션들을 개방 및 관리하도록 구성된 보조 세션 관리기를 포함하는데,
    상기 모듈은 네트워크 프로토콜 스택 및 상기 네트워크 프로토콜 스택을 이용하는 애플리케이션에 트랜스패런트하고,
    상기 모듈은,
    애플리케이션에 의해 발부된 원래 요청을 검출하기 위한 요청 인터셉터로서, 상기 원래 요청은 컨텐트를 검색하기 위한 요청 인터셉터; 상기 인터셉트된 원래 요청을 분석하도록 결합되는 요청 분석기; 및 상기 분석 결과를 토대로 상기 컨텐트를 검색하기 위하여 상기 원래 세션 및 상기 보조 세션들을 이용하도록 구성된 요청 제어기;를 포함하며,
    상기 네트워크 프로토콜 스택은, TCP/IP 스택으로 구성되고,
    상기 모듈은, TCP/IP 스택의 애플리케이션 계층 및 전송층 간에 놓이고 상기 원래 및 보조 세션들은 TCP/IP 세션로 구성되는 것을 특징으로 하는 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈.
  2. 제 1 항에 있어서, 상기 보조 세션 관리기는 원래 세션의 오픈닝에 응답하여 보조 세션들을 개방하는 것을 특징으로 하는 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈.
  3. 삭제
  4. 제 1 항에 있어서, 상기 요청 제어기는 적어도 하나의 보조 요청을 구성하는데, 상기 보조 요청들 각각은 상기 보조 세션들 중 하나를 통해서 컨텐트의 일부를 검색하기 위한 것을 특징으로 하는 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈.
  5. 제 4 항에 있어서, 상기 요청 제어기는 상기 원래 세션을 통해서 컨텐트의 일부만을 요청하도록 원래 요청의 애플리케이션-계층 헤더들을 수정하는 것을 특징으로 하는 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈.
  6. 제 5 항에 있어서, 상기 모듈은 상기 수정된 원래 요청 및 보조 요청들에 응답하여 수신된 부분들을 토대로 컨텐트를 구성하기 위한 응답 관리기를 더 포함하는 것을 특징으로 하는 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈.
  7. 제 6 항에 있어서, 상기 모듈은:
    각 부분들이 컨텐트에서 점유되는 위치들의 정보를 유지하기 위한 저장장치를 더 포함하는데,
    상기 응답 관리기는 상기 부분들을 토대로 컨텐트를 구성시 위치들의 정보를 이용하는 것을 특징으로 하는 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈.
  8. 삭제
  9. 삭제
  10. 제 1 항에 있어서, 상기 원래 세션은 제1 네트워크를 통해서 설정되고 상기 보조 세션 관리기는 제2 네트워크로의 호스트의 입장에 응답하여 보조 세션들을 개방하고,
    상기 모듈은:
    상기 애플리케이션에 의해 발부된 원래 요청을 검출하기 위한 요청 인터셉터로서, 상기 원래 요청은 상기 원래 세션을 통해서 컨텐트를 검색하기 위한 요청 인터셉터;
    상기 인터셉트된 원래 요청을 분석하도록 결합된 요청 분석기; 및
    상기 보조 세션들을 통해서 상기 컨텐트의 연속 검색을 수행하도록 구성된 요청 제어기를 더 포함하는 것을 특징으로 하는 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈.
  11. 제 10 항에 있어서, 상기 모듈은 상기 원래 세션 및 상기 보조 세션들을 통해서 바이트가 이중으로 수신될 때 나중에 수신된 바이트를 폐기하도록 구성된 응답 관리기를 더 포함하는 것을 특징으로 하는 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020097007873A 2006-09-20 2006-09-20 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈 KR101378435B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2006/036590 WO2008036086A1 (en) 2006-09-20 2006-09-20 Handoff and optimization of a network protocol stack

Publications (2)

Publication Number Publication Date
KR20090086950A KR20090086950A (ko) 2009-08-14
KR101378435B1 true KR101378435B1 (ko) 2014-03-26

Family

ID=39200791

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097007873A KR101378435B1 (ko) 2006-09-20 2006-09-20 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈

Country Status (5)

Country Link
US (1) US20100235464A1 (ko)
EP (1) EP2069955A4 (ko)
JP (1) JP2010504688A (ko)
KR (1) KR101378435B1 (ko)
WO (1) WO2008036086A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2132951A1 (en) * 2007-03-30 2009-12-16 Société de commercialisation des produits de la recherche appliquée Socpra - Sciences et Génie s.e.c Session mobility between communicating devices
US9455896B2 (en) 2007-07-23 2016-09-27 Verint Americas Inc. Dedicated network interface
US20110225230A1 (en) * 2010-03-15 2011-09-15 Russ Craig F Method and apparatus for detecting active and orphan session-based connections
US9384331B2 (en) * 2011-04-28 2016-07-05 Intel Corporation Device, system and method of wirelessly delivering content
US8799889B2 (en) * 2011-05-09 2014-08-05 International Business Machines Corporation Application downloading
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
WO2015006773A1 (en) * 2013-07-12 2015-01-15 Seven Networks, Inc. Transport protocol layer optimization for managing signaling and power consumption
US9973965B2 (en) 2013-07-12 2018-05-15 Seven Networks, Llc Transport protocol layer optimization for managing signaling and power consumption
JP6444125B2 (ja) 2014-10-07 2018-12-26 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US9912454B2 (en) 2015-02-16 2018-03-06 Dell Products L.P. Systems and methods for efficient file transfer in a boot mode of a basic input/output system
JP6728314B2 (ja) * 2018-11-28 2020-07-22 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177792A1 (en) 2006-06-27 2009-07-09 Yang Guo Performance Aware Peer-to-Peer Content-on-Demand

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081623A (en) * 1995-10-11 2000-06-27 Citrix Systems, Inc. Method for lossless bandwidth compression of a series of glyphs
US6970459B1 (en) * 1999-05-13 2005-11-29 Intermec Ip Corp. Mobile virtual network system and method
CA2398265A1 (en) * 2000-01-24 2001-07-26 The University Of Manitoba Method and system for segmented file transfer
WO2002003597A1 (en) * 2000-06-30 2002-01-10 Kanad Ghose System and method for fast, reliable byte stream transport
US7035932B1 (en) * 2000-10-27 2006-04-25 Eric Morgan Dowling Federated multiprotocol communication
US7127524B1 (en) * 2000-12-29 2006-10-24 Vernier Networks, Inc. System and method for providing access to a network with selective network address translation
US7295579B2 (en) * 2001-06-05 2007-11-13 Tekelec Methods and systems for communicating signaling information using a normalized signaling protocol
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
US7602704B2 (en) * 2002-08-20 2009-10-13 Cisco Technology, Inc. System and method for providing fault tolerant IP services
US20060085424A1 (en) * 2004-10-14 2006-04-20 Mitac Technology Corp. Web page downloading device with distributed data flows and method thereof
US20060200503A1 (en) * 2005-03-03 2006-09-07 Nokia Corporation Modifying back-end web server documents at an intermediary server using directives

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177792A1 (en) 2006-06-27 2009-07-09 Yang Guo Performance Aware Peer-to-Peer Content-on-Demand

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KIM, J. et al. Power-efficient MAC scheme using channel probing in multirate wireless ad hoc networks, IN:IEEE 56th VTC 2002-Fall, vol.4, p.2380-2384. *
MATSUMOTO, M. et al. Performance evaluation of flow fairness in proxy-based tcp for ad hoc networks, IN: IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, 2011, p.780-785 *

Also Published As

Publication number Publication date
US20100235464A1 (en) 2010-09-16
EP2069955A1 (en) 2009-06-17
WO2008036086A1 (en) 2008-03-27
EP2069955A4 (en) 2010-01-20
KR20090086950A (ko) 2009-08-14
JP2010504688A (ja) 2010-02-12

Similar Documents

Publication Publication Date Title
KR101378435B1 (ko) 네트워크 프로토콜 스택의 핸드오프 및 최적화 모듈
US7826487B1 (en) Coalescing acknowledgement responses to improve network communications
US9325764B2 (en) Apparatus and method for transparent communication architecture in remote communication
Spatscheck et al. Optimizing TCP forwarder performance
KR101574453B1 (ko) 이동성 및 멀티-호밍 컨텐츠 검색 애플리케이션을 위한 시스템 및 방법
US8122140B2 (en) Apparatus and method for accelerating streams through use of transparent proxy architecture
US10270689B2 (en) Multi-nonce enabled interest packet design for named-data networking
EP2629466B1 (en) Method, device and system for forwarding data in communication system
US8688844B1 (en) Establishing network connections between transparent network devices
JP2002508133A (ja) 拡張ネットワーク通信
JP2008541239A (ja) 長い待ち時間リンクのhttpのパフォーマンスを増加させるための方法と装置
Natarajan et al. SCTP: An innovative transport layer protocol for the web
EP3155788B1 (en) Proxy node for transferring packets between a server and a client using port sharding
CN105959228B (zh) 一种流量处理方法及透明缓存系统
US7564848B2 (en) Method for the establishing of connections in a communication system
US8539099B2 (en) Method for providing on-path content distribution
WO2019243890A2 (en) Multi-port data transmission via udp
MacLarty et al. Policy-based content delivery: an active network approach
Gupta et al. A client oriented, IP level redirection mechanism
CA2836541A1 (en) Data path processing
Ciko Improving Internet Performance with a" Clean-Slate" Network Architecture-The Case of RINA
EP3525419A1 (en) Connectionless protocol with bandwidth and congestion control
EP3525413A1 (en) Connectionless protocol with bandwidth and congestion control
EP3525412A1 (en) Improved connectionless data transport protocol
Sendi et al. Adaptive transport layer protocol for the web

Legal Events

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

Payment date: 20170628

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180321

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190321

Year of fee payment: 6