KR20100127760A - Tcp 흐름 제어를 위한 방법 및 장치 - Google Patents

Tcp 흐름 제어를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20100127760A
KR20100127760A KR1020107018547A KR20107018547A KR20100127760A KR 20100127760 A KR20100127760 A KR 20100127760A KR 1020107018547 A KR1020107018547 A KR 1020107018547A KR 20107018547 A KR20107018547 A KR 20107018547A KR 20100127760 A KR20100127760 A KR 20100127760A
Authority
KR
South Korea
Prior art keywords
entity
communication
logic
transceiver
tcp
Prior art date
Application number
KR1020107018547A
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 KR20100127760A publication Critical patent/KR20100127760A/ko

Links

Images

Classifications

    • 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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels

Abstract

통신 링크는 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하기 위해 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된다. 통신 엔티티는 수신된 세그먼트를 검사하도록 구성된 프록시 로직을 포함하고, 수신된 세그먼트가 데이터를 포함하고 있지 않다는 확인에 응답하여, 상기 프록시 로직은 동기화 세그먼트와 검사된 수신된 세그먼트에 기초하여 적어도 하나의 확인 응답 메시지를 국부적으로 발생하도록 프록시 로직을 통하여 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 복수의 동기화 세그먼트가 투명하게 전달될 수 있도록 한다.

Description

TCP 흐름 제어를 위한 방법 및 장치{METHOD AND ARRANGEMENT FOR TCP FLOW CONTROL}
본 발명은 전송 제어 프로토콜(TCP;Transmission Control Protocol) 흐름 제어에 관한 것으로, 특히 이에 전적으로 한정되는 것은 아니지만, 무선 통신 시스템에서 TCP 흐름을 제어하는 것에 관한 것이다.
전송 제어 프로토콜(TCP;Transmission Control Protocol)은 통신 프로토콜 공지된 TCP/IP(Internet Protocol) 슈트의 한 프로토콜이다(TCP 프로토콜에 대한 완전한 설명에 대해선 [RFC 793]을 참조하시오). TCP는 연결지향적이고 신뢰할 수 있는 바이트 스트림 서비스를 제공하며 원래는 매우 낮은 에러율을 갖는 유선 네트워크를 위해 설계되었었다.
TCP는 전송자가 송신한 확인응답되지 않은 데이터의 양을 제한하는 윈도우 기반 흐름 제어 메커니즘을 운용한다. 이러한 제한은 최소의 혼잡 윈도우(cwnd;congestion window)와 광고 윈도우(awnd;advertised window)를 기초로 한다. 혼잡 윈도우는 TCP 데이터의 전송자에 의해 제어되고 공지된 저속 시작 및 혼잡 방지 메커니즘을 기초로 한다. 저속 시작(slow start)은 TCP 흐름의 시작시 시스템에서 확인응답되지 않은 데이터의 양을 저속으로 증가시키는 작용을 하고 혼잡 방지는 누락 패킷이 검출되었을 때 시스템내의 확인응답되지 않은 데이터의 양을 반감시키며 그후 확인응답되지 않은 데이터의 양을 TCP의 정상적인 흐름 레벨까지 저속으로 증대시킨다. awnd는 더 많은 데이터를 처리하는 수신자의 능력에 기초하여 제어된다. 'awnd'의 초기 값은 TCP 프로토콜 스택에 구성된 파라미터에 의해 제어된다.
상기 설명한 바와 같이, TCP는 낮은 에러율을 갖는 유선 네트워크를 위해 설계되었다. 그러므로, TCP 기반 통신 네트워크에서 발생하는 임의의 패킷 손실은 네트워크 혼잡에 기인한 것으로 간주되고 따라서 'cwnd'의 감소가 뒤이어이며 결과적으로, 상기 설명한 바와 같이, 전송자의 데이터 전송율이 감소된다.
그러나, 이러한 현상은 본질적으로 높은 에러율을 갖는 무선 네트워크에는 적합하지 않다. 그러므로, 3GPP(3rd Generation Partnership Project) 표준은 에어 인터페이스를 통한 송신에 의한 결과로서 에러를 갖게 된 데이터 패킷이 재전송될 수 있도록 하는, (3GPP 기술 규격 3GPP TS 25.322에 설명된 바와 같은)무선 링크 제어(RLC;Radio LInk Control)로 알려진, 자동 재전송 요청(ARQ;Automatic Repeat Request) 기능을 제공한다. 데이터 패킷 전달에 대한 신뢰성은, 소정 트리거에 응답하여, RLC 수신 엔티티에 의해 RLC 송신 엔티티로 되전송된 RLC 확인응답 메시지(ACK;acknowledgement message)를 사용하여 유지된다. 이 트리거는 예를 들어, 소정 갯수의 수신 패킷을 수신했을 때, 또는 손실된 패킷을 검출했을 때, 타이머에 기초하여 행해질 수 있다. 이러한 방식으로, 손실 또는 손상된 데이터 세그먼트 또는 데이터 패킷은 송신기에 알려질 수 있고, 손실 또는 손상된 데이터 세그먼트 또는 데이터 패킷들은 재전송될 수 있다. 또한 (HSDPA 및 E-DCH를 지원하는 3GPP의 후기 버전들에선, 추가적인 재송신 스킴이 공지된 OSI 프로토콜의 매체 액세스 제어(MAC;medium access control) 계층 및 계층-1(L1)에 위치된 하이브리드 자동 재전송 요청(HARQ;hybrid automatic repeat request)에 의해 제공된다는 것을 알아야 한다.
그러나, ARQ(및 HARQ) 스킴의 이용은 데이터 패킷이 비순서적으로 도달하는결과를 초래하게 된다. 그러므로, 데이터 패킷은 TCP 처리를 위해 전달될 수 있기 전에 버퍼에 저장되어야 한다. 버퍼에 저장하는 기술의 이용은 지연이 증가되고 이는 RTT(round trip time)가 증가되는 결과를 초래할 수 있다.
3GPP 표준 그룹에 의해 정의된 LTE(long-term evolution) 및 이와 경쟁관계에 있는 WiMAX 통신 표준과 같은, 다수의 무선 데이터 시스템은 매우 큰 에어 인터페이스 처리율을 갖지만, 높은 대기시간(high latency)도 갖는다. 따라서, 일반적인 무선 시스템을 통한 TCP의 동작에 기인하여 중요한 문제가 생긴다. 예를 들어, 높은 대기시간으로 인해, TCP 속도가 에어 인터페이스 처리율을 이용하기 위해선 비교적 긴 시간이 걸리며 그래서 저속 시작이 구동되는 동안 통신 링크는 따라서 보다 적게 이용된다. 이것은 특히 다수의 TCP 연결이 각각의 비교적 작은 객체에 대해 개설되었을 때, 예를 들어, 한 모바일 사용자가 웹브라우징하고 있을 때 발생한다.
대부분의 개인 컴퓨터(PC) TCP 스택에 사용된 일반적인 'awnd' 값은 (8192 바이트 정도로) 낮다. 이것은 높은 대기시간을 갖는 무선 시스템의 통신 링크는 'awnd'가 수정되지 않는다면 절대로 완전하게 이용될 수 없다는 것을 의미한다. 일반적으로, 'awnd' 값은 링크의 대역폭 지연 곱으로 설정되어야 한다. 그러나, 이것은 에어 인터페이스가 다운링크 (DL) 방향 즉, 네트워크로부터 사용자에게로 향하는 방향에서 TCP 데이터 흐름을 완전하게 이용할 수 있는 수단만을 제공할 뿐이다. 업링크(UL)에서, 즉, 모바일(또는 고정된) 사용자로부터 네트워크로 향하는 방향에서, 'awnd'는 네트워크내의 서버에 의해 규정되고 이것이 유사한 방식으로 변경될 수 있는 방법은 전혀 없다. 그러므로, 점진적으로 증가하는 높은 UL 속도가 달성됨에 따라, UL TCP 속도는 대부분의 상황에서 서버 'awnd'에 의해 제한되며 우세한 에어 인터페이스 조건에 의해 제한되지 않을 것이다. 높은 대기시간의 무선 시스템에서 awnd가 단순히 증가하는 것과 연관된 추가적인 문제점은 코어 네트워크에서의 혼잡에 기인하여, 손실된 임의의 데이터 패킷이 DL TCP 속도로 하여금 악영향을 받게 하고 그리고 연관된 높은 대기시간에 기인하여, 복구에 오랜 시간이 걸리도록 한다는 것이다. 상기에서 설명한 바와 같이, 높은 데이터 속도를 갖는 높은 지연 에어 인터페이스 통신 링크를 완전하게 이용하기 위해선 매우 큰 'awnd' 값(예를 들어, '100000' 정도의 'awnd' 값)을 사용하는 유익하다. 데이터 패킷 손실이 발생했을 때, 'cwnd'는 상기 awnd 값의 반으로 감소된다. 이 반으로 된 값은 일반적으로 통신 링크를 완전하게 이용하는 데에는 불충분하므로, 관찰된 처리율은 감소된다.
따라서 단순히 'awnd'를 증대시키는 것은 높은 대기시간을 갖는 무선 시스템에서 TCP 성능에 대해 수용할 수 있는 해결책은 아니다.
이제 도 1을 참조하면, TCP 데이터 흐름(100)에 대한 공지된 메커니즘이 예시되어 있다. TCP 데이터 흐름(100)은 개인용 컴퓨터(PC)(105), 모바일 폰과 같은 사용자 장비(UE)(110), 무선 액세스 네트워크(RAN;radio access network)(115) 및 통신 서버(120)간에 정해진다. 공지된 메커니즘에서, TCP ACK는 에어 인터페이스를 통해 전송된다. 상기에서 설명한 바와 같이, 일반적인 TCP 네트워크는 UE(110)와 RAN(115)간의 무선 네트워크 보다 상위에 무선 링크 제어(RLC;Radio LInk Control)계층 통신(130) 및 하이브리드 자동 재전송 요청(HARQ;hybrid automatic repeat reQuest)(135) 에러 정정 양자 모두를 추가적으로 채용할 수 있다.
본 발명의 발명자들은 에어 인터페이스를 통해 전송된 TCP 확인응답 메시지(TCP ACK;acknowledgement message)는 대부분 불필요하고 귀중한 에어 인터페이스 자원을 낭비하는 것뿐이라는 것을 인식하고 알게 되었다. 이것은 하위에 있는 RLC 및 HARQ 재송신 스킴(이 스킴도 자체적으로 ACK 메시지를 채용함)은 에어 인터페이스에서의 손실이 정정되는 것을 보장할 것이기 때문이며, 이에 따라, TCP 재송신 기능이 중복적이라는 것을 나타내고 따라서 TCP ACK가 에어 인터페이스를 통해 전송될 필요가 없다. 도 1에 나타낸 바와 같이, TCP 데이터 패킷에 대해 차선인 것으로 간주되는, 3개 레벨의 데이터 흐름 제어/재송신 기능이 존재한다.
이제 도 2를 참조하면, 무선 시스템에 대해 TCP를 채용하는 것과 연관된 일부 문제점들을 완화시키는 TCP 구조(200)가 예시되었다. TCP 데이터 흐름은 개인용 컴퓨터(PC)(205), 모바일 폰과 같은 사용자 장비(UE)(210), 무선 액세스 네트워크(RAN;radio access network)(215) 및 통신 서버(220)간에 정해진다. TCP 네트워크 구조(200)는 UE(210)와 RAN(215)간의 무선 네트워크 보다 상위에 무선 링크 제어(RLC;Radio LInk Control)계층 통신(230) 및 하이브리드 자동 재전송 요청(HARQ;hybrid automatic repeat reQuest)(235) 에러 정정 양자 모두를 채용한다.
알 수 있는 바와 같이, 이 구조는 TCP 프록시 기능을 수행하는 UE(210)와 RAN(215) 양자 모두에 로직을 통합시킴으로써, 점 대 점(end-to-end) TCP 연결을 제거한다. 이에 따른 결과는, RLC 버퍼가 오버플로우되지 않도록 보장하기 위해, TCP 프록시에 일부 형태의 흐름 제어가 필요하다는 것이다.
점 대 점 TCP 기능이 제거되었기 때문에, IP 및 TCP 헤더가 상기 프록시에서 완전히 제거될 수 있고 RLC 및 MAC과 연관된 헤더외에, 하위에 있는 데이터 패킷부분만이 Uu 인터페이스를 통해 송신된다. 수신 프록시는 그러면 시스템의 수신쪽에 있는 TCP 연결 상태에 적합한 TCP 헤더를 추가할 것이다.
도 2의 TCP 네트워크 구조(200)에 채용된 기능을 명확히 하기 위해, 하기에 한 예시적인 데이터 흐름이 고려된다. 매우 큰 파일의 파일 전송 프로토콜(FTP;file transfer protocol)이 다운로드가 개시되었을 때, RAN(215)에 있는 TCP 프록시 로직이 흐름 제어 기능을 갖고 있지 않다면, 전체 FTP 파일은 RAN(215)내의 RNC TCP 버퍼에 저장될 필요가 있을 것이다. 따라서, 'awnd'가 송신 RLC 엔티티에서 가능한 버퍼 점유율에 기초하여 제어될 수 있도록 하는 흐름 제어 방법이 TCP 프록시에 필요로 된다. 이러한 구성은 버퍼 점유율에 대한 단일한 측정이 시그널링된 'awnd' 값을 결정하기 위해 사용되는 공지된 장치에서, 제한된 방식으로 처리된다.
이 시나리오에 따른 가능한 문제점은, 공지된 구조에서, RLC MRW(Move Receiving Window;수신 윈도우 이동) 명령어 또는 리셋트가 연결이 유지되는 동안 발생할 수 있다는 것이다. RLC MRW 명령어는 송신 엔티티가 RLC PDU(Protocol Data Unit)을 전송하는 것을 포기했다는 것과 수신기는 RLC-SDU를 구성하는 모든 RLC PDU들을 자신의 윈도우가 건너뛰도록 자신의 윈도우를 이동시켜야만 한다는 것을 지시한다. 이와 같은 상황에서, TCP 흐름 제어는 손실된 데이터 세그먼트의 재송신을 발생시킬 수 있는 최후 수단을 이미 제공했을 지도 모른다. 상위에 있는 TCP 프로토콜에 의하지 않고는, 그러한 재송신은 전혀 발생하지 않을 것이다. 또한, UE 쪽 및 네트워크 쪽에 있는 전혀 별개의 TCP 연결을 이용하여서는, 상기와 같은 문제점을 극복하기 위해 추가의 재송신 스킴을 제공하는 것이 곤란하다.
또한, 점 대 점 TCP 연결이 없는 흐름에서, 상이한(즉, 비동기화된) TCP 세션이 PC 측 및 네트워크 측에서 발생한다는 사실로 인해, UE가 셀을 변경할 때 잠재적인 문제점들이 발생할 수 있다.
이제 도 3을 참조하면, 공지된 3가지 방식 핸드쉐이크 프로세스를 이용하는 데이터 흐름 제어 프로토콜 구조(300)가 나타나 있다. 3가지 방식 핸드쉐이크(310)은 정상적으로는 RAN 프로토콜 스택을 통해 즉, RLC/MAC/L1을 사용하여 전송된다. 이러한 구성은 도 2에 나타낸 바와 같은, 전체가 점 대 점 연결이 아닌 종래 기능(Thefull non-end-to-end conventional functionality)의 경우와는 상이함을 알아야 한다. 도 2에서, 두 개의 개별적인 3가지 방식 핸드쉐이크는 사용자 PC와 UE측 프록시, 및 서버와 네트워크측 프록시간에 발생하게 될 것이고, 이 경우에, 에어 인터페이스를 통해선 3가지 방식 핸드쉐이크는 발생하지 않을 것이다.
3가지 방식 핸드쉐이크가 점대점 연결에 채용됨에 따라, 이제 사실상, '동기화' 되어 있는 TCP 프록시들을 에어 인터페이스의 어느 한 쪽에 채용할 수 있다. 그러므로, TCP 프로토콜이 통신 링크의 에어 인터페이스부분을 통해 실행되지 않을 지라도, 서버 및 클라이언트 관점에서 볼 때 연결은 실제로는 점대점 연결인 것으로 보인다.
그러므로, TCP 데이터 흐름의 문제점, 특히 셀룰러 무선 통신 네트워크를 통한 TCP 데이터 흐름의 문제점에 대처하는 개선된 메커니즘이 유익할 것이다.
본 발명의 제1 양상에 따라, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티가 제공된다. 통신 엔티티는 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하도록 구성된다. 통신 엔티티는 수신된 세그먼트를 검사하도록 구성된 프록시 로직을 포함하고, 상기 프록시 로직은, 수신된 세그먼트가 데이터를 포함하고 있지 않다는 확인에 응답하여, 상기 프록시 로직이 또한 복수의 동기화 세그먼트 및 검사된 수신된 세그먼트에 기초하여 적어도 하나의 확인응답 메시지를 국부적으로 발생하도록 복수의 동기화 세그먼트가 투명하게 프록시 로직을 통해 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전달될 수 있도록 한다.
본 발명의 양상들은, 예를 들어 프록시 로직이 에어 인터페이스의 양쪽을 동기화될 수 있도록 함으로써, 확인응답(ACK;acknowledgement) 또는 비확인응답(NACK;no-acknowledgement) 동기화 메시지들을 송신 및 수신할 필요없이도, 통신 시스템에서 통신 자원의 이용을 개선할 수 있다.
본 발명의 양상들은, 예를 들어 데이터 재송신 횟수를 감소시킴으로써 개선된 성능을 최종 사용자에게 개선된 성능을 인식할 수 있도록 할 수 있다. 본 발명의 양상들은, 예를 들어 재송신 횟수의 감소로 인해 증대된 처리효율을 제공할 수 있다.
본 발명의 선택적 특징에 따라, 상기 프록시 로직은 또한 후속하는 수신된 세그먼트가 데이터를 포함하고 있을 때 재동기화를 수행하도록 구성될 수 있고, 재동기화는 후속하는 수신된 세그먼트에 포함된 시퀀스 번호에 기초한다.
본 발명의 선택적 특징에 따라, 상기 프록시 로직은 또한 데이터를 포함하고 있지 않은 임의의 후속하는 수신된 세그먼트를 거부하도록 구성될 수 있다.
본 발명의 선택적 특징에 따라, 상기 프록시 로직은, 수신 윈도우 이동 (MRW;move receiving window); 및 리셋트 중 적어도 하나가 발생할 때를 결정하는 것에 의해 데이터 세그먼트의 손실을 확인하도록 구성된 무선 링크 제어(RLC;radio link control) 로직을 더 포함한다. 본 발명의 선택적 특징에 따라, RLC 로직은 데이터 세그먼트의 손실을 프록시 로직/기능부에 신호로 알릴 수 있다. 이러한 방식으로, 표준 RLC 기능은 기존의 MRW 및 리셋트 명령어의 형태로, 이용될 수 있다. 표준 RLC 기능은 상기 명령어들을 프록시 로직에 시그널링될 수 있도록 하여 확장될 수 있다.
본 발명의 선택적 특징에 따라, 무선 링크 제어 로직은, RLC 로직이 모든 데이터 세그먼트가 RLC에 의해 확인응답되었음(RLC ACKed)을 버퍼 로직에 지시할 때 까지 버퍼 로직이 수신된 데이터 세그먼트를 저장하도록 버퍼 로직에 동작적으로 연결될 수 있다. 이러한 방식으로, 무선 링크 제어 로직은 RLC가 예를 들어, MRW 및 리셋트 명령어를 발행하였다는 것을 확인할 수 있도록 한다. 따라서, 프록시 로직은 이와 연관된 TCP 세그먼트를 재전송할 수 있다.
이러한 방식으로, 무선 링크 제어 계층 메시지들을 검사함으로써, 재전송을 위해 TCP에 의존하기 보단, 손실된 패킷을 고속으로 재전송할 수 있다.
본 발명의 선택적 특징에 따라, 상기 버퍼 로직은 RLC 로직으로부터의 지시에 응답하여 자신의 버퍼로부터 확인응답된 데이터를 폐기할 수 있다.
통신 엔티티가 높은 지연시간을 갖는 통신 링크의 수신측에 위치되는 경우, RLC 로직은 데이터 세그먼트의 모든 시퀀스 번호가 성공적으로 수신되지 못했을 때 누락 데이터가 재송신되도록 요청할 수 있다.
본 발명의 선택적 특징에 따라, 통신 엔티티가 높은 지연시간을 갖는 통신 링크의 송신측에 위치되는 경우, RLC 로직은 높은 지연시간을 갖는 통신 링크를 통해 전송된 적어도 하나의 데이터 세그먼트가 확인응답되지 않았다는 것을 식별할 수 있다. 확인응답되지 않았다는 것에 응답하여, RLC 로직은 버퍼 로직으로부터 확인응답되지 않은 RLC 데이터 세그먼트의 재전송을 개시시킬 수 있다.
본 발명의 선택적 특징에 따라, 동기화 정보는 3가지 방식 핸드쉐이크(3-way handshake)를 포함할 수 있다. 예를 들어, 3가지 방식 핸드쉐이크는 동기화 표시; 동기화 확인응답 표시; 및 확인응답 표시 중 적어도 하나를 포함할 수 있다.
본 발명의 선택적 특징에 따라, 프록시 로직은 송신 버퍼 로직 및 수신 버퍼 로직을 포함할 수 있다. 송신 버퍼 로직 및 수신 버퍼 로직은 송신 엔티티와 수신 엔티티간에 통신 엔티티를 통하여 투명하게 전달되는 동기화 세그먼트내에서 시퀀스 번호(SEQ); 확인응답(ACK) 번호; 윈도우 스케일링; 선택적 확인응답; 또는 타임스탬프 중 적어도 하나의 메인티넌스를 관찰하도록 구성될 수 있다.
본 발명의 선택적 특징에 따라, 프록시 로직은 수신 엔티티에 의해 발생된 TCP ACK를 검사하고 이 TCP ACK가 아무런 데이터를 포함하고 있지 않은 지를 결정하도록 구성될 수 있다. TCP ACK가 데이터를 포함하고 있지 않다고 결정한다면, 프록시 로직은 TCP ACK를 종료하고 TCP ACK를 에어 인터페이스를 통해 전송하지 않는다.
본 발명의 선택적 특징에 따라, 상기 프록시 로직은 수신 엔티티가 송신중인 세그먼트를 수신하기 전에 송신 엔티티에 TCP ACK를 되전송하도록 구성될 수 있다.
본 발명의 선택적 특징에 따라, 상기 통신 엔티티는, 사용자 장비(UE); 및 네트워크 엔티티 중 하나일 수 있고, 3GPP(3rd Generation Partnership Project) 데이터 통신 시스템을 통해 TCP 통신을 지원하도록 구성될 수 있다.
본 발명의 제2 양상에 따라, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티에서 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하기 위한 프록시 로직이 제공된다. 프록시 로직은 수신된 세그먼트를 검사하도록 구성된 로직을 포함하고, 수신된 세그먼트가 데이터를 포함하고 있지 않다는 확인에 응답하여, 복수의 동기화 세그먼트가 투명하게 프록시 로직을 통해 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전달될 수 있도록 하고, 및 적어도 하나의 복수의 동기화 세그먼트와 수신된 세그먼트에 기초하여 적어도 하나의 확인응답 메시지를 발생한다.
본 발명의 제3 양상에 따라, 데이터 통신 시스템에서 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티에 의해 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 제공하는 방법이 제공된다. 이 방법은 수신된 세그먼트를 TCP 프록시 로직으로 검사하는 것, 및 수신된 세그먼트가 데이터를 포함하고 있지 않다는 결정에 응답하여, 투명하게 복수의 동기화 세그먼트가 프록시 로직을 통해 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전달될 수 있도록 하는 것을 포함한다. 이 방법은 또한 적어도 하나의 복수의 동기화 세그먼트와 검사된 수신된 세그먼트에 기초하여 적어도 하나의 확인응답 메시지를, 프록시 로직에 의해, 국부적으로 발생시키는 것을 포함한다.
본 발명의 제4 양상에 따라, 데이터 통신 시스템에서 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티에 의해 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다. 컴퓨터 프로그램 제품은 수신된 세그먼트를 TCP 프록시 로직으로 검사하기 위한 프로그램 코드, 및 수신된 세그먼트가 데이터를 포함하고 있지 않다는 결정에 응답하여, 투명하게 복수의 동기화 세그먼트가 프록시 로직을 통해 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전달될 수 있도록 하기 위한 프로그램 코드를 포함한다. 이 컴퓨터 프로그램 제품은 또한 적어도 하나의 복수의 동기화 세그먼트와 수신된 세그먼트에 기초하여 적어도 하나의 확인응답 메시지를, 프록시 로직에 의해, 국부적으로 발생시키기 위한 프로그램 코드를 포함한다.
본 발명의 제5 양상에 따라, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한쪽에 위치되고 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하는 통신 엔티티를 포함하는 데이터 통신 시스템이 제공된다. 데이터 통신 시스템은 통신 엔티티에 위치되고 수신된 세그먼트를 검사하도록 구성된 프록시 로직을 포함하고, 상기 프록시 로직은, 수신된 세그먼트가 데이터를 포함하고 있지 않다는 결정에 응답하여, 적어도 하나의 복수의 동기화 세그먼트와 검사된 수신된 세그먼트에 기초하여 적어도 하나의 확인응답 메시지를 상기 프록시 로직이 국부적으로 발생하도록 투명하게 복수의 동기화 세그먼트가 프록시 로직을 통해 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전달되도록 구성될 수 있다.
본 발명의 상기 설명한 양상, 특징 및 이점과 그 밖의 양상, 특징 및 이점들은 하기에 설명하는 실시예로부터 명백하거나 또는 이 실시예들로부터 밝혀질 것이다.
TCP 데이터 흐름의 문제점, 특히 셀룰러 무선 통신 네트워크를 통한 TCP 데이터 흐름의 문제점에 대처하는 개선된 메커니즘이 제공된다.
발명의 실시예는 첨부 도면을 참조하여, 단지 예시적인 것으로 설명될 것이다.
도 1은 공지된 TCP 흐름 제어 프로토콜 구조를 예시한다.
도 2는 공지된 데이터 흐름 제어 프로토콜 구조를 예시한다.
도 3은 3가지 방식 핸드쉐이크 프로세스를 이용하는 공지된 데이터 흐름 제어 프로토콜 구조를 예시한다.
도 4는 발명의 실시예를 지원하도록 적응된 무선 셀룰러 통신 네트워크를 예시한다.
도 5는 발명의 실시예에 따른 TCP 프로토콜 가속기의 데이터 흐름 제어 프로토콜 구조를 예시한다.
도 6은 발명의 실시예에 따른 TCP 프로토콜 가속기 흐름 제어의 동작을 예시한다.
도 7은 발명의 실시예에 따라, 양자의 동기화 TCP 프록시들 모두에 채용된 버퍼 로직 기능을 예시한다.
도 8은 발명의 실시예에 따라, 동기화 TCP 프록시의 송신측 및 수신측에 채용된 버퍼 로직 기능을 예시한다.
도 9는 세그먼트가 코어 네트워크에서 손실되었을 때 프로토콜 가속기의 동작의 예를 설명한다.
도 10은 발명의 실시예에 따라, 세그먼트가 RAN에서 손실되었을 때 프로토콜 가속기의 동작의 예를 설명한다.
도 11은 발명의 실시예에 따라, 세그먼트가 UE 프록시와 클라이언트 PC간에 손실되었을 때 프로토콜 가속기의 동작의 예를 설명한다.
도 12는 발명의 실시예에서 프로세싱 기능을 구현하기 위해 채용될 수 있는 전형적인 컴퓨팅 시스템을 예시한다.
본 발명의 실시예에 따라, 이 문제점들은 RAN 및 UE 양자 모두에 '동기화' TCP 프록시를 제공함으로써 완화된다. 특히, 본 발명과 관련하여선, 예를 들어, 공지된 3가지 방식 핸드쉐이크와 같은 핸드쉐이크 프로세스 및 데이터를 포함하고 있는 임의의 세그먼트는 '동기화' TCP 프록시 로직을 '투명하게 통과하는 것'이 허용된다. 즉, 핸드쉐이크 프로세스와 임의의 세그먼트는 어떠한 방식으로도 수정되지 않으며 무선 액세스 네트워크의 하위 계층으로 계속 진행하는 것이 허용되며(적어도 하기에 설명되는 실시예에서) 궁극적으로는 수신측 프록시 로직에서 수신되어 수정되지 않고 수신측 프록시 로직을 통과한다.
먼저, 도 4를 참조하면, UMTS 무선 액세스 네트워크(UTRAN;UMTS Radio Access Network) 시스템(400)은 단말기/사용자 장비 도메인(410); UMTS 육상 무선 액세스 네트워크 도메인(420); 및 인프라구조 도메인(430)을 포함하는 것으로 편리하게 간주된다.
단말기/사용자 장비 도메인(410)에서, 단말기 장비(TE)(412)는 유선 또는 무선 R 인터페이스를 통해 모바일 장비(ME)(414)에 연결된다. ME(414)는 또한 사용자 서비스 식별 모듈(USIM;user service identity module)(416)에도 연결되며; ME(414)와 USIM(416)은 함께 사용자 장비(UE)(418)로 간주된다. UE(418)는 예를 들어, 원격 유닛, 이동국, 통신 단말기, 또는 개인 휴대형 디지털 단말기기(PDA)일 수 있다. UE(418)는 랩톱 컴퓨터 또는 임베디드 통신 프로세서에 연결될 수 있다.
UE(418)는 패킷 데이터를 무선 액세스 네트워크 도메인(420)내의 (실질적으로 기지국으로서 동작하기 위해 기능적 요소 및 로직을 포함하는) 노드-B(422)와 므선 Uu 인터페이스를 통해 통신한다. 무선 액세스 네트워크 도메인(420)내에서, 노드-B(422)는 Iub 인터페이스를 통해 무선 네트워크 제어기(RNC; Radio Network Controller)(424)와 통신한다. RNC(424)는 IUr 인터페이스를 통해 다른 RNC(도시하지 않음)들과 통신한다.
노드-B(422)와 RNC(424)는 UTRAN(426)를 형성한다. RNC(424)는 Iu 인터페이스를 통해 코어 네트워크 도메인(430)내의 SGSN(serving GPRS service node)(432)와 통신한다. 코어 네트워크 도메인(430)내에서, SGSN(432)은 Gn 인터페이스를 통해 GGSN(gateway GPRS support node)(434)와 통신한다. GGSN(434)은 Gi 인터페이스를 통해 공중 데이터 네트워크(PDN;public data network)(438)와 통신한다.
이와 같이, RNC(424), SGSN(432) 및 GGSN(434) 요소들은 도 4에 나타낸 바와 같이, 무선 액세스 네트워크 도메인(420)과 코어 네트워크 도메인(430)에 걸쳐서 배분된 이산적이고 개별적인 유닛들(이 유닛들이 소유한 각각의 소프트웨어/하드웨어 플랫폼상에)로서 제공된다.
RNC(424)는 여러 노드-B(422)에 대한 자원을 제어 및 할당하는 역할을 하는 UTRAN 요소이다. 일반적으로, 50개 내지 100개의 노드-B들이 하나의 RNC에 의해 제어될 수 있다. RNC는 또한 사용자 트래픽을 에어 인터페이스를 통해 신뢰성있게 전달한다. RNC들은 서로가 Iur 인터페이스를 통해 통신한다. SGSN(432)는 세션 제어 역할을 하는 UMTS 코어 네트워크 요소이다. SGSN(432)는 개별 UE(418)의 위치를 추적하고 보안 기능 및 액세스 제어를 수행한다. SGSN(432)는 다수의 RNC들에 대한 대규모 중앙집중화된 제어기이다. GGSN(434)은 코어 패킷 네트워크내의 사용자 데이터를 모아서 최종 목적지(예를 들어, 인터넷 서비스 프로바이더(ISP))에 터널링하는 역할을 한다. 개인용 컴퓨터(PC)와 같은 단말기 장비(TE)(412)는 유선 또는 무선 R 인터페이스를 통해 모바일 장비(ME)(414)에 연결될 수 있다. ME(414)는 또한 USIM(416)에 연결되고; ME(414)와 USIM(416)은 함께 사용자 장비(UE)(418)로서 간주된다.
이러한 UTRAN 시스템 및 이 시스템의 동작은, 3GPP(3rd Generation Partnership Project) 웹사이트 www.3gppp.org에서 알 수 있는, 3GPP 기술 표준규격 문서 3GPP TS 45.401, 3GPP TS 43.060 및 관련 문서에 더욱 완전하게 설명되어 있으며 본원에서 이에 대해 상세히 설명할 필요는 없다.
본 발명의 한 실시예에 따라, 도 4의 구조는 Uu 에어 인터페이스의 양쪽에 TCP 프록시 로직 및 기능이 있도록 하는 것을 지원하도록 구성됨으로써, TCP 프로토콜이 Uu 에어 인터페이스를 통해 적용되지 않는 결과를 초래한다. 따라서, 본 발명의 한 실시예에서, RNC(224) 및 UE(218)는, 도 5 내지 도 11에 대해 하기에 설명하는 바와 같이, TCP 프록시 로직을 포함하도록 구성되었다. 대안 실시예에서, 예를 들어, 3GPP LTE(long-term evolution) 시스템에서의 구현과 관련하여, 프록시 TCP 로직은 향상된 eNodeB에 상주할 수 있다. 당업자는 다른 시스템에선, 프록시 TCP 로직이 다른 구성요소에 상주할 수 있으므로, 본 발명의 개념은 본원에 설명한 특정 구성요소에 한정되지 않는다는 것을 알아야 한다.
이제 도 5를 참조하면, 본 발명의 실시예에 따른 TCP 프로토콜 가속기의 데이터 흐름 제어 프로토콜 구조가 예시되어 있다. UE(510) 및 RNC(515) 양쪽에 있는 동기화 TCP 프록시는 공지된 3가지 방식 핸드쉐이크('SYN'(540), 'SYN ACK' (542), 'ACK'(544))가 PC(505)와 웹서버(520)간의 점대점 통신을 위해, 투명하게 통과할 수 있도록 구성된다.
따라서, 이 '동기화' TCP 메시지에 포함된 정보는 TCP 통신에서 'ACK' 및 'SEQ' 필드들을 동기화시키는 데에 사용되고, 따라서 UE(510)와 RNC(515)내의 TCP 프록시들은 전체 TCP 연결의 끝 지점(end-point)으로부터 나오는 것으로 보이는 TCP ACK(및 NACK)(예를 들어, 이것들은 점 대 점 연결인 것으로 보임)를 발생시킬 수 있다. 3가지 방식 핸드쉐이크(540,542,544)는, 도 5에서, 예를 들어, 웹서버(520)로부터 PC(505)로의 다운링크(DL) 시나리오에서 전달되는 데이터 세그먼트(546)가 뒤이어진다.
또한, 프록시의 동기화 기능은 선택적 확인응답 메시지(SACK;selective acknowledgement)(RFC1072의 SACK) 및 윈도우 스케일링(RFC793)과 같은, 협상된 TCP 기능에 대한 3가지 방식 핸드쉐이크를 검사하는 것까지 확장할 것이라는 것을 유의해야 한다. 이것들은, 프록시가 하기 단락에서 설명되는 바와 같이, 로컬 ACK를 발생할 때 지켜질 것이다.
도 5에 도시된 바와 같이, 네트워크측(556) 및 UE측(555)에 있는 프록시 기능들은 3가지 방식 핸드쉐이크(540,542,544)가 프록시를 직접 통과할 수 있도록 한다(3가지 방식 핸드쉐이크들이 데이터를 포함하고 있지 않은 경우에도, 알 수 있는 바와 같이 데이터를 포함하고 있지 않은 다른 세그먼트에 대한 경우는 그렇지 않다). 이 예에서, 다운로드가 발생하고 제1 TCP 세그먼트(546)가 웹서버로부터 전송되지 않는 경우, 이 세그먼트는 네트워크측 및 UE측 모두에 있는 프록시를 직접 통과한다. 도 3에 나타낸 종래의 TCP 프록시 기능과는 상이하게, TCP/IP 헤더는 제거되지 않을 유의해야 한다(도 3에서 알 수 있는 바와 같이, TCP는 에어 인터페이스의 한쪽에서 완전하게 종료된다). 한 예에서, TCP/IP 헤더는 당업자에 의해 알 수 있는 바와 같이, 압축될 수 있다.
3가지 방식 핸드쉐이크가 프록시를 통과한 경우에, 프록시는 자신이 발생시키는 임의의 후속하는 TCP ACK들이, 3가지 방식 핸드쉐이크로 협상된 적합한 SEQ 번호를 사용하는 것을 보장할 수 있다. 또한, 윈도우 스케일링, 선택적 확인응답등과 같은, 임의의 협상된 옵션들도 프록시로부터 ACK가 발생할 때 고려될 수 있다.이러한 방식으로, 당업자는 프록시 로직이 이제 '동기화 프록시'로서 간주될 수 있다는 것을 알게 될 것이다.
네트워크측 프록시는 데이터 세그먼트(546)가 '동기화 프록시'를 통과하는 것을 허용하자마자 TCP ACK(552)를 서버에 되전송한다. 이 ACK는 완전하게 기능하는 TCP 스택이 ACK를 처리하는 것과 동일한 방식으로 회신된다. 따라서, 도 5에서 네트워크에 있는 TCP 프록시에 의해 발생된 ACK(550)의 내용은 PC에 의해 발생된 것(550)과 거의 정확하게 동일하다.
ACK의 컨텐츠에서 가능한 차이는 (하기에 설명하는) awnd, 타임스탬프 필드(만일 이 옵션이 인에이블된다면) 및 마지막으로 전체 TCP 컨텐츠의 곱인 검사합일 것이다. 그러므로, 'awnd'가 상이하다면, 검사합은 상이할 것이다. 이러한 방식으로, 프록시는 일반적으로 '초기 ACK'로서 알려진 것을 발생한다. 그러나, 이제 초기 ACK들이 적절하게 동기화되었고 따라서 시스템은 여전히 점대점 특성을 갖는 것으로 보일 수 있다.
PC에 의해 발생된 TCP ACK(550)는 UE쪽에 있는 프록시에서 검사되고 이 TCP ACK가 데이터를 포함하고 있지 않다고 즉, TCP ACK 일 뿐이라고 결정되므로, TCP ACK는 종료되고 (네트워크쪽에 있는 프록시가 단계 552에서 데이터 세그먼트(546)를 이미 확인응답(ACK)하였기 때문에) 에어 인터페이스를 통해 전송되지 않는다.
ACK(552)는, ACK가 에어 인터페이스를 횡단했어야 했다면, 사용자 PC에 의해 발생된 ACK(550)가 수신되었을 것 보다 훨씬 먼저 서버에서 수신된다. 이것은 세그먼트가(560)가, 만일 프록시 로직이 존재하지 않았던 경우에 전송되는 것보다 훨씬 먼저, 전송되는 결과를 초래한다. 이러한 방식으로, 처리율 성능은 TCP 연결이 짧은 기간 동안 '저속 시작(slow-start)' 상태에 있게 됨에 따라 증대되고 따라서 RLC 버퍼는 꽉 찬 상태로 유지된다.
또한, 도 5가 다운로드의 경우에 대해서 설명하였지만, 상기 설명한 기능은 본 발명의 한 실시예에서 유익하게 대칭적으로 구현될 수 있고, 따라서 프록시 기능도 업로드에 대해 동일한 방식으로 수행한다는 것을 유의해야 한다.
프록시 로직은 수정되었지만, 기능적 TCP 스택을 이용하고, 따라서 프록시 로직은 세그먼트가 코어 네트워크에서 손실된 시점을 적절하게 검출할 수 있다는 것도 유의해야 한다. 당업자가 알 수 있는 바와 같이, 사실상 수정은 이미 설명한 동기화 및 반투명(예를 들어, 3가지 방식 핸드쉐이크 및 데이터 세그먼트가 통과할 수 있게 함) 기능이다. 이 기능에 응답하여, 프록시 로직은 서버가 누락된 적합한 패킷을 재전송할 것을 요청하는 스스로 발생한 TCP ACK(예를 들어, 부정적 확인응답 (NACK;negative acknowledgement)에 응답할 수 있다. 세그먼트가 손실되었을 때 동기화 TCP 프록시의 동작에 대한 예는 나중에 설명한다.
이제 도 6을 참조하면, 본 발명의 실시예에 따른 TCP 프로토콜 가속기 흐름 제어(600)의 동작이 예시되어 있다. 여기서, 흐름 제어는 UE 또는 RNC에 있는, 무선 링크 제어(RLC;Radio Link Control) 버퍼(610)와 관련하여 설명된다. 개념적으로 나타낸 RLC 버퍼(610)는 저장된 데이터로 부분적으로 채워진 복수의 버퍼(612, 614,616)를 도시하고 있다. TCP 흐름과 연관된 각각의 무선 베어러(RB)에 대한 여분의 버퍼 용량(630)은 각각의 버퍼에서 음영으로 표시되지 않은 영역(620)에 나타내었다.
특정한 동기화 TCP 프록시로부터의 'awnd'(640)는 개별적인 여분의 RLC 버퍼 용량(이 TCP 흐름이 매핑되는 RB와 또다시 연관됨)과 연관된 여분의 버퍼 점유율과 모든 RLC 버퍼(612, 614,616)와 연관된 전체 여분의 RLC 버퍼 용량의 함수에 기초한다.
그러므로, 도 5를 다시 참조하면, 네트워크쪽 TCP 프록시가 TCP ACK(552)를 서버에 전송할 때, ACK내에 포함된 'awnd' 필드는 상기 단락에서 정의된 기능에 기초하여 계산된다.
한 예에서, 'awnd'를 계산하기 위한 함수(임의의 적절한 인지할 수 있는 함수가 가능하다 하더라도)은 하기와 같은 형태일 수 있다.
awnd=M(초기 awnd, 개별 자유공간 버퍼α, 전체 자유공간 버퍼β)
초기 'awnd'는 3가지 방식 핸드쉐이크로 협상된 값이다. 'α' 및 'β'의 값은 경험적인 상수 값일 수 있다.
TCP 프로토콜 가속기 로직의 목적은 업링크(UL) 및 다운링크(DL) TCP 트래픽 모두를 개선하기 위한 것이다. 그러므로, 수신 및 송신 측 동기화 TCP 프록시 기능이 UE 및 RAN 모두에 제공된다. 본 발명의 한 실시예에 따라, TCP 프로토콜 가속기 로직은 PDCP에 상주하도록 구성된다.
상기한 동기화 프록시의 특정한 이점들은 하기와 같은 네트워크의 섹션중 임의의 것에서 손실된 세그먼트를 처리하는 능력이다.
(i) 코어 네트워크, 즉 네트워크쪽에 있는 동기화 프록시와 서버사이에 있는 코어 네트워크
(ii) RLC(및/또는 HARQ 기능)에 의해 보정될 수 없는 에어 인터페이스에서 손실된 세그먼트를 식별하는, 무선 액세스 네트워크
(iii) UE와 PC간의 연결부
상기와 같은 3개의 경우 중 하나 이상의 경우에 대처하기 위해, 하기의 버퍼링 로직이 발명의 실시예에 제공될 수 있다.
(i) 도 7 및 8에 대해 하기에 설명하는 바와 같이, 버퍼링 로직이 수신 프록시에 구비됨으로써 무질서한(out-of-sequence) 시퀀스들은 적합한 누락된 세그먼트들이 수신되어 세그먼트들이 순서대로(in-sequence)로 상위계층에 전달될 수 있게 될 때 까지 저장될 수 있다. 또한 버퍼링이 TCP 스택 기능에 내재된 본질적인 기능일지라도, 버퍼링은 코어 네트워크(또는 UE와 PC간의 링크)에 송신된 손실 세그먼트들을 처리할 것이 필요로 되며 그렇지 않은 경우엔 본 명세서에선 고려되지 않는다.
(ii) 버퍼링 로직은 또한 송신 프록시에도 제공됨으로써, 보정되지 않은 손실들이 무선 액세스 네트워크에서 발생되어(예를 들어, RLC에서 발생하는 리셋트 또는 MRW에 기인하여, 또는 에어 인터페이스에서 발생하는 지속적인 에러에 기인하여) 프록시 로직에 보고될 때, 프록시 로직은 손실된 세그먼트를 재송신할 수 있다.
이제 도 7을 참조하면, 동기화 TCP 프록시(555,556)의 양자 모두에 채용된 버퍼 로직 기능부(700)가 본 발명의 실시예에 따라, 예시되어 있다. 도 7에서, 에어 인터페이스에 의해 전송되어야 할 RNC(515)에 의해 수신된 데이터 세그먼트는 RLC 로직(715)에 입력된다. 동일한 데이터 세그먼트를 구성하는 PDU들을 전송/재전송을 위해 소정 횟수 시도한 후 RNC(515)가 피어 RLC 엔티티로부터 'ACK'를 수신하지 못했다면, 동일한 데이터 세그먼트를 저장하고 잠재적으로는 수신 엔티티에 재송신할 수 있도록 하기 위해, 송신 버퍼(705)에도 입력된다.
SDU내의 PDU들 중의 하나가 RLC PDU가 재송신될 수 있는 최대 횟수에 도달하면, RLC 로직(715)은 포기하고, MRW를 전송하며 SDU를 구성하는 모든 PDU를 폐기한다.
MRW 또는 리셋트가 RNC(515)에 지시되었을 때, 송신 버퍼(705)내의 적합한 데이터 세그먼트가 전송된다(710). RLC 로직(715)이 MRW/리셋트의 지시를 수신할 때 및 한 세그먼트내의 모든 PDU가 성공적으로 전송되었을 때(720), RLC 로직(715)은 저장된 세그먼트들(잠재적으로 재전송될 수도 있도록 대기하고 있는 세그먼트들)이 삭제될 수 있도록 송신 버퍼(705)에게 통지한다.
에어 인터페이스(725)의 다른 측에서, UE(510)는 RNC(515)로부터 데이터 세그먼트를 수신하여 수신된 이 데이터 세그먼트들을 수신 버퍼 로직(755)에 전달하는 RLC 로직(750)을 포함한다. UE(510)는 또한 도시된 바와 같이, TCP 프록시 로직(555)도 포함한다. 본 발명의 한 실시예에 따라, 수신 버퍼 로직(755)은 재순서화 로직(도시되지 않음)에 동작적으로 연결될 수 있고 주로 UE 수신 버퍼 로직(755)이 TCP 종료점(TCP end-point)에 순서대로 전달될 수 있게 구성될 수 있도록 하기 위해 도입된다.
도 7의 구조의 한 동작은 수신기 버퍼 로직(755)에 의해 구현되는 바와 같은, 예상되는 다음(next-expected) TCP 시퀀스 번호의 메인티넌스(maintenance)유지관리에 기초한다. 본 발명의 한 실시예에서, 이것은 하기와 같이 유지된다.
i. TCP 시퀀스 번호의 초기값은 3가지 방식 핸드쉐이크에서 협상된 값에 기초하여 설정될 수 있다.
ii. 세그먼트가 수신기 버퍼 로직(755)으로부터 서버(또는 PC)에 전송될 때 마다, 예상되는 다음 시퀀스 번호는 이 세그먼트내의 TCP 데이터의 크기만큼 증대된다.
본 발명의 예시적인 실시예는 도 8에 도시된 형태의 수신 버퍼 로직(755)을 이용한다. 이 수신 버퍼 로직(755)의 특징은 하기의 규칙을 따를 수 있다.
(i) 세그먼트가 수신되었을 때, 이 세그먼트들은 하기의 방식으로 세그먼트의 SEQ에 기초하여 수신 버퍼(755)에 위치된다.
(a) 세그먼트들이 예상되는 다음 시퀀스 번호와 매치한다면, 세그먼트들은 버퍼의 헤드에 위치된다(810).
(b) 세그먼트들이 예상되는 다음 시퀀스 번호와 매치하지 않는다면, 세그먼트들은 SEQ 순서대로 개별적으로 버퍼링된다(820).
(ii) 세그먼트가 버퍼의 헤드를 점유하고 있을 때 세그먼트는 서버(또는 PC)에 전송될 것이다(815).
(iii) 버퍼의 헤드가 비워져 있을 때, 버퍼의 나머지는 세그먼트(예상된 다음 세그먼트 번호가 갱신되어 있는)가 버퍼의 헤드에 위치될 수 있는 지를 알기 위해 탐색될 것이다.
이 버퍼 로직 기능부의 동작은 에어 인터페이스를 통한 TCP 시퀀스 번호(또는 시퀀스 번호의 압축된 버전)의 송신을 수반한다. 또다시, 도3의 구조와는 상이하게, 본 발명의 실시예들은 TCP 프로토콜이 실제로 동작하지 않고 각각의 프록시에서 종료하는 경우에도 에어 인터페이스를 통해 TCP 헤더(또는 적어도 압축된 TCP 헤더)를 반송한다.
송신 동기화 프록시도 초기 ACK를 송신하는 TCP 종료점(PC 또는 서버 중 하나에 있는)에 제공하는 로직을 포함한다. 그러므로, RLC 엔티티가 세그먼트를 전송하는 것을 실패하면(즉, 에어 인터페이스에서의 반복적인 실패로 인해), 동기화 프록시는 세그먼트(TCP 종료점은 확인응답된(ACKed) 세그먼트들을 재전송할 수 없음을 유의하시오)를 재송신하도록 조정된다.
도 8은 본 발명의 실시예에 따라, 동기화 TCP 프록시의 송신측(850)에 채용된 버퍼 기능부를 예시한다. TCP 프록시의 송신측에 입력되는 모든 TCP 세그먼트(855)는 송신 버퍼 로직(755)에 저장될 것이다. 도 8에 도시된 바와 같이, TCP ACK(875)는, 도 5를 참조하여 설명한 바와 마찬가지의 방식으로 발생된다.
세그먼트(870)는 세그먼트를 구성하는 모든 PDU들이(하나의 세그먼트는 다수의 RLC PDU들을 포함할 수 있음을 주목하시오) 수신 피어 RLC 엔티티에 의해 확인 응답되었다는 송신 RLC 엔티티로부터의 지시(865)가 있을 때 상기 송신 버퍼 로직(755)로부터 제거/삭제된다.
그러나, 송신하는 RLC 엔티티로부터 RLC MRW 또는 RLC 리셋트가 발생되었다는 지시(875)를 수신하면, RLC에 의해 포기되었던 모든 세그먼트들은 RLC 로직에 재전송(880)될 것이다. 예를 들어, 송신 엔티티는 하나 이상의 세그먼트에 대응하는, 다수의 RLC SDU들이 올바르게 수신되었다는 확인 응답을 수신 RLC 엔티티로부터 획득하지 않고, 상기 다수의 RLC SDU들을 전송하려고 시도하는 것을 중지한다.
이제 도 9를 참조하면, 세그먼트가 코어 네트워크에서 손실되었을 때 프로토콜 가속기의 동작의 예가 나타나 있다. 네트워크는 UE와 네트워크 양자 모두에 도 TCP 프록시(555,556)를 포함하는 데, 이 TCP 프록시는, PC(505)와 서버(520)간의 점 대 점 통신(end-to-end communication)을 위해, 공지된 3가지 방식 핸드쉐이크('SYN', 'SYN ACK' 및 'ACK')가 프록시들을 투명하게 통과할 수 있도록 구성된다.
따라서, 이 TCP 메시지들 내부에 포함된 정보는 초기에 TCP 연결이 PC(505)와 웹서버(520)간에 완전한 점 대 점 연결이 될 수 있도록 하는 데에 사용된다. TCP 프록시는 3가지 방식 핸드쉐이크에 사용된 SEQ 및 ACK 번호를 관찰하고, 이것에 윈도우 스케일링 또는 선택적 확인응답과 같은, 협상된 임의의 선택사항을 더한다. 이러한 방식으로, TCP 프록시는 프록시가 발생한 ACK 또는 초기 ACK가 발생되었을 때, 이 ACK들이 TCP 연결의 실제 종료점이 발생되어 질 ACK와 매치되는 것을 보장한다(가능한한 가깝게 매치한다).
따라서, 그리고 유익하게도, 서버와 PC가 관련되는 한, TCP 연결은, TCP가 사실상 연결부 중 에어 인터페이스부분을 통해 더 이상 실행하지 않을 지라도, 점대점 링크인 것으로 보이도록 나타난다.
이 예에서, 3가지 방식 핸드쉐이크는 이미 보정되었고 프록시는 완전하게 동기화된 것으로 가정한다.
예시된 바와 같이, 'SEQ 1000' 및 'SEQ 2000'은 웹서버(520)로부터 PC(505)로 전송된다. 공지된 지연된 ACK 기능이 동작되어, 일반적으로 TCP ACK가 하나 걸러 하나의 TCP에 대해 전송된다고 가정한다. 따라서, SEQ 2000을 갖는 세그먼트가 네트워크측 프록시(556)에서 나타난 이후에, SEQ 1000을 갖는 세그먼트 및 SEQ 2000을 갖는 세그먼트 양자 모두의 올바른 수신을 확인응답하는 TCP ACK가 발생된다(572). 네트워크측 프록시(556)는 이 세그먼트들이 무선 액세스 네트워크내의 하위 계층에 전송될 수 있도록 하고 이 세그먼트들은 후속하여 UE(555)에 있는 프록시를 통해 PC에 전송된다(570). ACK가 PC(505)에 의해 발생된다. 그러나, 이 ACK는 세그먼트들이 프록시가 발생한 ACK(572)에 의해 이미 확인 응답되었기 때문에, UE(555)에 있는 프록시에 의해 폐기된다.
프록시가 발생한 ACK(572)를 수신했을 때 서버는 2개 이상의 SEQ 3000을 갖는 세그먼트(905)와 SEQ 4000을 갖는 세그먼트(910)를 전송한다. 이 예에서 나타낸 바와 같이, SEQ 3000을 갖는 세그먼트는 코어 네트워크에서 손실된다. 네트워크측에 있는 프록시는 TCP 스택의 동작에 의해 정의되는 바와 같이, 정상적인 방식으로 반응하고, SEQ 4000을 갖는 세그먼트의 수신을 확인응답하는 TCP ACK(920)로 응답하지만, 추가적으로 SEQ 3000을 갖는 세그먼트는 수신되지 않았음을 지시한다(이것은 선택적 확인응답이 3가지 방식 핸드쉐이크에서 협상되었다고 가정한다는 것을 유의해야 한다)
한편, SEQ 4000을 갖는 세그먼트는 정상적으로는 네트워크에 있는 프록시를 통해 전송되고 포인트(935)에서 UE에 있는 프록시에서 수신된다. 그러나, 도 9에 설명된 기능은 이 세그먼트가 PC(505)에 전달되지 않았지만, 버퍼에 저장되었다는 것을 의미한다.
TCP ACK(920)의 수신시, 단계 925에서 서버는 SEQ 3000을 갖는 세그먼트를 재송신한다. 이 세그먼트는 그후 네트워크 측 프록시를 통해 전송되고 결과적으로 UE에 있는 프록시에 도달한다. 도 9에 설명된 버퍼링/재순서화 로직은 SEQ 3000을 갖는 세그먼트가 사용자 PC에 전송되고 이어서 (이미 저장되어 있던) SEQ 4000을 갖는 세그먼트가 전송된다는 것을 보장한다.
사용자 PC는 세그먼트 SEQ 3000 및 세그먼트 SEQ 4000의 수신을 확인응답하는 응답을 전송한다(590). 유익하게도, 세그먼트가 순서대로 전달되었다. 이 세그먼트는 UE에 있는 프록시에서 폐기된다.
도 9와 유사한 방식으로, 도 10은 본 발명의 한 실시예에 따라, 데이터 세그먼트 'SEQ 3000'(1005)가 RAN에서 손실되었을 때(예를 들어, RLC가 RLC 프로토콜 데이터 유닛(PDU)에 대한 최대 재전송 횟수에 도달되어 그 결과 전체 세그먼트를 포기하는 것에 기인하여) 동기화 TCP 프록시의 동작의 예를 설명한다.
네트워크에 있는 프록시는 응답 메시지로 세그먼트 SEQ 3000 및 세그먼트 SEQ 4000 양자 모두에 대해 확인응답한다(1200). 후속하여, 네트워크에 있는 송신 RLC 엔티티는 SEQ 4000을 갖는 세그먼트를 전송하는 것이 성공적이었던 경우에도, SEQ 3000을 갖는 세그먼트를 전송하는 것을 포기한다(단계 1040을 참조하시오).
프록시 로직은 이 세그먼트에 대해 MRW가 발생되었고 따라서 재전송된다는 것을, 도 10에 설명된 기능을 사용하여, 메시지(1030)로 통지받는다. UE에 있는 수신측 프록시에서 이것은 SEQ 4000을 갖는 세그먼트는 SEQ 3000을 갖는 세그먼트 보다 먼저 수신된다는 것을 분명히 의미한다. 그러나, 도 9에 설명된 경우에서와 같이, 도 9에 설명된 버퍼링 및 재순서화 로직은 SEQ 4000을 갖는 세그먼트가 포인트(1035)에서 저장된다는 것을 보장한다.
SEQ 3000을 갖는 세그먼트가 UE에 있는 프록시에서 수신되면 이 세그먼트는 사용자 PC에 전송되고 이어서 SEQ 4000을 갖는 저장된 세그먼트가 전송된다.
도 9 및 도 10과 유사한 방식으로, 도 11은 본 발명의 한 실시예에 따라, 데이터 세그먼트 'SEQ 3000'(1105)가 UE 프록시 로직(555)과 클라이언트 PC(505)사이에서 손실되었을 때 프로토콜 가속기의 동작의 예를 설명한다.
여기서, UE에 있는 프록시와 연관된 표준 TCP 스택 기능은 UE에 있는 프록시와 사용자 PC간에 세그먼트가 손실되었다면 SEQ 3000을 갖는 세그먼트가 수신되지 않았지만, SEQ 4000을 갖는 세그먼트가 성공적으로 수신되었다는 것을 메시지(1135)로 지시하는 TCP ACK를 전송할 때, 프록시가 SEQ 3000을 갖는 세그먼트를 재송신함으로써 응답한다는 것을 보장한다.
상기한 예에서 설명된 바와 같이, 에어 인터페이스의 양쪽에 있는 프록시 로직에 추가의 로직을 추가하는 것은, 실제 수신 종료점이 이 세그먼트를 실제로 수신하기 전에, 손실이 식별되었을 때, 프록시로부터 전송기로 TCP ACK가 회신되는 것을 보장한다.
본 발명의 한 실시예가 3GPP 네트워크에 대한 에어 인터페이스의 양쪽에서 프록시를 이용하는 개념을 설명하고 있지만, 다른 예에서 본 발명의 개념은 미래의 3GPP LTE(long term evolution) 시스템과 같은, TCP를 채용하는 임의의 기타 통신 시스템에 적용될 수도 있다.
본 발명의 실시예는 하기의 이점 중 하나 이상을 제공하는 것을 목적으로 한다.
(i) 재송신 기능에 대해 TCP에 의존하기 보단, 손실된 패킷에 대한 고속 재송신을 위해 RLC를 사용함
(ii) 에어 인터페이스의 양쪽에 있는 프록시 로직을 사용하여 ACK 및 TACK 동기화 메시지를 송신 및 수신할 필요성을 제거함.
도 12는 본 발명의 한 실시예에서 처리 기능을 구현하기 위해 채용될 수도 있는 일반적인 컴퓨팅 시스템(1200)을 예시한다. 이러한 유형의 컴퓨팅 시스템은 예를 들어, 노드 B(Node-B)(특히, 노드 B의 스케쥴러), GGSN 및 RNC와 같은 코어 네트워크 요소에 사용될 수 있다. 당업자는 또한 다른 컴퓨터 시스템 또는 구조를 사용하여 본 발명을 구현하는 방법도 인식할 것이다. 컴퓨팅 시스템(1200)은 예를 들어, 데스크톱, 렙톱 또는 노트북 컴퓨터, 휴대형 컴퓨팅 디바이스(PDA, 셀폰, 팜톱등), 메인프레임, 서버, 클라이언트 또는 소정 애플리케이션 또는 환경에서 적합하거나 바람직할 수 있는 임의 유형의 특수목적 또는 범용 컴퓨팅 디바이스에 해당할 수 있다. 컴퓨팅 시스템(1200)은 프로세서(1204)와 같은 하나 이상의 프로세서를 포함할 수 있다. 프로세서(1204)는 예를 들어, 마이크로프로세서, 마이크로컨트롤러 또는 기타 제어 로직과 같은 특수목적 또는 범용 처리 엔진을 사용하여 구현될 수 있다. 이 예에서, 프로세서(1204)는 버스(1202) 또는 기타 통신 매체에 연결된다.
컴퓨팅 시스템(1200)은 프로세서(1204)에 의해 실행될 정보 및 명령어를 저장하기 위해 RAM(random access memory) 및 기타 동적 메모리와 같은 주메모리(1208)를 포함할 수 있다. 주메모리(1208)는 또한 프로세서(1204)에 의해 실행될 명령어의 실행 동안 임시 변수 또는 기타 중간 정보를 저장하는 데에도 사용될 수 있다. 컴퓨팅 시스템(1200)은 마찬가지로 프로세서(1204)를 위한 정적인 정보 및 명령어를 저장하기 위해 버스(1202)에 연결된 ROM(read only memory) 및 기타 정적인 저장 디바이스를 포함할 수 있다.
컴퓨팅 시스템(1200)은 또한 예를 들어, 매체 드라이브(1212) 및 탈착가능한 저장 인터페이스(1220)를 포함할 수 있는 정보 저장 시스템(1210)도 포함할 수 있다. 매체 드라이브(1212)는 하드 디스크 드라이브, 플로피 디스크 드라이브, 자기 테이프 드라이브, 광학 디스크 드라이브, 컴팩트 디스크(CD) 또는 디지털 드라이브(DVD) 판독 또는 기록 드라이브(R 또는 RW), 또는 기타 착탈가능한 또는 고정된 매체 드라이브와 같은 고정된 또는 착탈식 저장 매체를 지원하는 드라이브 또는 기타 메커니즘을 포함할 수 있다. 저장 매체(1218)는 예를 들어, 하드 디스크 , 플로피 디스크, 자기 테이프, 광학 디스크, CD 또는 DVD, 또는 매체 드라이브(1212)에 의해 판독되고 이 매체 드라이브에 기입되는 기타 고정식 또는 착탈식 매체를 포함할 수 있다. 이 예들이 예시하는 바와 같이, 저장 매체(1218)는 특정한 컴퓨터 소프트웨어 또 데이터를 포함하고 있는 컴퓨터로 판독할 수 있는 저장 매체를 포함할 수 있다.
대안적인 실시예에서, 정보 저장 시스템(1210)은 컴퓨터 프로그램 또는 기타 명령어 또는 데이터가 컴퓨팅 시스템(1200)에 적재될 수 있도록 하는 기타 유사한 컴포넌트를 포함할 수 있다. 이러한 컴포넌트들로는 예를 들어, 착탈식 저장 유닛(1222) 및 프로그램 카트리지 및 카트리지 인터페이스와 같은 인터페이스(1220), 착탈식 메모리(예를 들어, 플래쉬 메모리 또는 기타 착탈식 메모리 모듈) 및 메모리 슬롯과 같은 착탈식 저장 유닛(1222) 및 인터페이스(1220), 및 소프트웨어 또는 데이터가 착탈식 저장 유닛(1218)으로부터 컴퓨팅 시스템(1200)으로 전송될 수 있도록 하는 그 밖의 착탈식 저장 유닛(1222) 및 인터페이스(1220)를 포함할 수 있다.
컴퓨팅 시스템(1200)은 또한 통신 인터페이스(1220)를 포함할 수 있다. 통신 인터페이스(1220)는 소프트웨어 및 데이터가 컴퓨팅 시스템(1200)과 외부 디바이스간에 전송될 수 있도록 하는 데에 사용될 수 있다. 통신 인터페이스(1220)의 예들로는 모뎀, 네트워크 인터페이스(이더넷 또는 기타 NIC 카드), 통신 포트(예를 들어, USB(universal serial bus) 포트와 같은), PCMCIA 슬롯 및 카드등을 포함할 수 있다. 통신 인터페이스(1220)를 통해 전송된 소프트웨어 및 데이터는 통신 인터페이스(1220)가 수신할 수 있는 전기 신호, 전자기 신호, 광학 신호 또는 기타 신호 형태일 수 있다. 이 신호들은 채널(1228)을 통해 통신 인터페이스(1220)에 제공된다. 이 채널(1228)은 신호를 반송할 수 있고 무선 매체, 유선 또는 케이블, 광섬유, 또는 기타 통신 매체를 이용하여 구현될 수도 있다. 채널에 대한 일부 예들로는 전화선, 셀룰러 전화 링크, RF 링크, 네트워크 인터페이스, 근거리 통신망(LAN) 또는 광역 통신망(WAN), 및 기타 통신 채널을 포함할 수 있다.
이 명세서에서, 용어 '컴퓨터 프로그램 제품', '컴퓨터로 판독가능한 매체'등은 예를 들어, 메모리(1208), 저장 디바이스(1218), 또는 저장 유닛(1222)과 같은 매체를 지칭하는 데에 일반적으로 사용될 수 있다. 컴퓨터로 판독가능한 매체의 상기한 형태 및 기타 형태들은 프로세서가 특정 동작을 수행하도록 하기 위해, 프로세서(1204)에 의한 사용을 위해 하나 이상의 명령어를 저장할 수 있다. 일반적으로 '컴퓨터 프로그램 코드' (이것은 컴퓨터 프로그램의 형태로 그룹화되거나 다른 형태로 그룹화됨) 로 지칭되는 명령어들은 실행되었을 때, 컴퓨팅 시스템(1200)으로 하여금 본 발명의 실시예의 기능을 수행할 수 있도록 한다. 상기 코드는 직접적으로 프로세서로 하여금 특정한 동작을 수행하게 하고, 특정한 동작을 수행하도록 컴파일되고, 및/또는 특정한 동작을 수행하도록 기타 소프트웨어, 하드웨어, 및/또는 펌웨어 요소(예를 들어, 표준 기능을 수행하도록 하기 위한 라이브러리)와 결합될 수 있다는 것을 유의해야 한다.
상기 요소들이 소프트웨어를 사용하여 구현되는 실시예에서, 소프트웨어는 예를 들어, 착탈식 저장 드라이브(1212), 드라이브(1212) 또는 통신 인터페이스(1224)를 사용하여 컴퓨터로 판독가능한 매체에 저장되고 컴퓨팅 시스템(1200)에 적재될 수도 있다. 제어 로직(이 예에선, 소프트웨어 명령어 또는 컴퓨터 프로그램 코드)은 프로세서(1204)에 의해 실행되었을 때, 프로세서(1204)가 본원에 설명된 발명의 기능들을 수행하데 한다.
설명을 명확하게 할 목적으로, 상기한 설명은 상이한 기능 유닛 및 프로세서와 관련하여 발명의 실시예를 설명하였다는 것을 알 수 있을 것이다. 그러나, 상이한 기능 유닛 및 프로세서 또는 도메인간에 임의의 적합한 기능 분배는 본 발명으로부터 벗어나지 않고 행해질 수 있음이 분명할 것이다. 예를 들어, 개별 프로세서 또는 제어기에 의해 행해지도록 예시된 기능은 동일한 프로세서 또는 제어기에 의해 행해질 수 있다. 그러므로, 특정한 기능 유닛에 대한 참조는 절대적인 논리적 또는 물리적 구조 또는 구성을 지시한다기 보단, 설명된 기능을 제공하는 적합한 수단을 가리키는 것으로만 이해하여야 한다.
발명의 양상이 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합을 포함하는 임의의 적합한 형태로 구현될 수 있다. 본 발명은 선택적 사항으로서, 적어도 부분적으로 하나 이상의 데이터 프로세서 및/또는 디지털 신호 처리기에서 실행되는 컴퓨터 소프트웨어로 구현될 수 있다. 따라서, 발명의 실시예의 요소 및 컴포넌트는 물리적으로, 기능적으로 및 논리적으로 임의 적합한 방식으로 구현될 수 있다. 실제로, 기능은 단일 유닛으로, 다수의 유닛으로 또는 기타 기능 유닛의 일부로 구현될 수 있다.
본 발명이 실시예와 연관지어 설명되었지만, 본원에 개시된 발명의 형태를 특정한 형태로 한정하려는 의도는 아니다. 그 보단, 본 발명의 범위는 특허청구항의 발명에 의해 한정되어야 한다. 추가적으로, 특징이 특정 실시예와 관련하여 설명되어 나타냈을 지라도, 당업자는 설명된 실시예의 여러 특징들이 발명에 따라 조합될 수 있음을 알게 될 것이다.
또한, 개별적으로 나열되었을 지라도, 복수의 수단, 요소들 및 방법의 단계들은 예를 들어, 단일 유닛 또는 프로세서에 의해 구현될 수 있다. 추가적으로, 개별 특징들이 상이한 청구항에 포함될 수 있을지 라도, 이 특징들은 유익하게 조합될 수도 있고, 이 특징들을 상이한 청구항에 포함하는 것은 이 특징들의 조합이 실행가능하거나 및/또는 유익할 수 있다는 것을 묵시적으로 나타낸다. 또한, 한 카테고리의 청구항에 특징을 포함하는 것은 이 카테고리에 한정된다는 것을 묵시적으로 나타낸다기 보단, 이 특징이 적합하게, 다른 청구항 카테고리에도 마찬가지로 적용될 수 있다는 것을 나타낸다.
또한, 청구항에서 기재된 특징들의 순서는 이 특징들이 반드시 수행되어야만 하는 임의의 특정한 순서를 묵시적으로 나타내는 것은 아니고 특히 방법 청구항의 개별 단계들의 순서가 반드시 기재된 그러한 순서대로 수행되어야 한다는 것을 묵시적으로 나타내는 것은 아니다. 그 보단, 방법 단계들은 임의의 적합한 순서로 수행될 수 있다. 또한, 단일성을 나타내는 참조 내용은 복수성을 나타내는 의미를 배제하는 것은 아니다. 따라서, "하나", "제", "제2"등은 복수성을 나타내는 의미를제외하는 것이 아니다.
505: PC
510: UE
515: RNC
520: 웹서버

Claims (22)

  1. 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520)에 있어서,
    제1 트랜시버 엔티티와 제2 트랜시버 엔티티간의 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하기 위한 통신 로직; 및
    수신된 세그먼트를 검사하기 위한 프록시 로직을 포함하고,
    상기 프록시 로직은 수신된 세그먼트가 데이터를 포함하고 있지 않다는 확인에 응답하여, 복수의 동기화 세그먼트가 투명하게 프록시 로직을 통해 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전달될 수 있도록 동작할 수 있고,
    상기 프록시 로직은 또한 복수의 동기화 세그먼트 및 수신된 세그먼트에 기초하여 적어도 하나의 확인응답 메시지를 국부적으로 발생하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  2. 제1 항에 있어서, 상기 프록시 로직은 또한 후속하는 수신된 세그먼트가 데이터를 포함하고 있을 때 재동기화를 수행하도록 동작할 수 있고, 재동기화는 후속하는 수신된 세그먼트에 포함된 시퀀스 번호에 기초하는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  3. 제2 항에 있어서, 상기 프록시 로직은 또한 데이터를 포함하고 있지 않은 임의의 후속하는 수신된 세그먼트를 거부하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서, 복수의 동기화 세그먼트는 3가지 방식 핸드쉐이크(3-way handshake)를 포함하는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  5. 제4 항에 있어서, 3가지 방식 핸드쉐이크는,
    동기화 표시(SYN 542);
    동기화 확인응답 표시(SYN ACK 544); 및
    확인응답 표시(ACK 546) 중 적어도 하나를 포함하는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서, 상기 높은 지연시간을 갖는 통신 링크는 무선 데이터 통신 시스템의 에어 인터페이스인 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서, 상기 프록시 로직은,
    수신 윈도우 이동(MRW;move receiving window); 또는
    리셋트
    중 적어도 하나가 발생할 때를 결정하는 것에 의해 데이터 세그먼트의 손실을 확인하기 위한 무선 링크 제어 로직을 더 포함하는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  8. 제7 항에 있어서, 상기 무선 링크 제어 로직은 버퍼 로직에 동작적으로 연결되고 버퍼 로직은 무선 링크 제어 로직이 모든 데이터 세그먼트는 RLC 엔티티에 의해 확인응답되었다는 것을 버퍼 로직에 지시할 때 까지 수신된 데이터 세그먼트를 저장하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  9. 제8 항에 있어서, 상기 버퍼 로직은 무선 링크 제어 로직으로부터의 지시에 응답하여 버퍼 로직의 버퍼로부터 확인응답된 데이터를 폐기하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  10. 제7 항 내지 제9 항 중 어느 한 항에 있어서, 통신 엔티티는 높은 지연시간을 갖는 통신 링크의 수신측에 위치되고, 상기 무선 링크 제어 로직은 데이터 세그먼트의 모든 시퀀스 번호가 무선 링크 제어 로직에 의해 폐기되는 MRW 또는 리셋트로 인해 성공적으로 수신되지 못했을 때 누락 데이터가 재송신되도록 요청하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  11. 제7 항 내지 제9 항 중 어느 한 항에 있어서, 통신 엔티티는 높은 지연시간을 갖는 통신 링크의 송신측에 위치되고, 상기 무선 링크 제어 로직은 높은 지연시간을 갖는 통신 링크를 통해 전송된 적어도 하나의 데이터 세그먼트가 MRW 또는 리셋트 대상으로 되어 수신 RLC 피어 엔티티에서 수신되지 않았다는 것을 확인하도록 동작할 수 있고, 수신되지 않았다는 것에 응답하여 버퍼 로직으로부터 확인응답되지 않은 RLC 데이터 세그먼트의 재전송을 개시하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  12. 제1 항 내지 제11 항 중 어느 한 항에 있어서, 상기 프록시 로직은 동기화 세그먼트를 사용하여 올바르게 동기화된 부정적인 TCP 확인응답(NACK; negative TCP acknowledgement)을 국부적으로 발생하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  13. 제8 항 내지 제12 항 중 어느 한 항에 있어서, 상기 버퍼 로직은 복수의 동기화 세그먼트들 내부에,
    시퀀스 번호(SEQ);
    확인응답(ACK) 번호;
    윈도우 스케일링;
    선택적 확인응답; 또는
    타임스탬프
    중 적어도 하나의 메인티넌스를 관찰하도록 동작할 수 있는 송신 버퍼 로직 및 수신 버퍼 로직을 포함하는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  14. 제13 항에 있어서, 상기 프록시 로직은 프록시의 부존재하에 수신 엔티티에 의해 실질적으로 발생되는,
    시퀀스 번호(SEQ);
    확인응답(ACK) 번호;
    윈도우 스케일링;
    선택적 확인응답; 또는
    타임스탬프
    중 적어도 하나의 관찰된 메인티넌스에 기초하여 초기 ACK 메시지를 발생하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  15. 제13 항 또는 제14 항에 있어서, 상기 프록시 로직은 윈도우 스케일링에 기초하여 ACK 또는 NACK 메시지로 시그널링된 awnd 값을 수신하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  16. 제15 항에 있어서, 상기 프록시 로직은 버퍼 점유에 기초하여 awnd 값을 계산하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  17. 제1 항 내지 제16 항 중 어느 한 항에 있어서, 상기 프록시 로직은 TCP ACK가 어떠한 데이터도 포함하고 있지 않다는 프록시 로직의 결정에 응답하여 TCP ACK를 종료하고 TCP ACK를 높은 대기시간을 갖는 통신 링크를 통해 전송하지 않도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  18. 제1 항 내지 제17 항 중 어느 한 항에 있어서, 상기 프록시 로직은 수신하는 TCP 엔티티가 자신의 각각의 ACK를 송신하기 전에 송신 엔티티에 TCP ACK를 되전송하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  19. 제1 항 내지 제18 항 중 어느 한 항에 있어서, 상기 통신 엔티티는,
    사용자 장비(UE); 또는
    네트워크 엔티티 중 하나이고,
    상기 통신 로직은 3GPP(3rd Generation Partnership Project) 데이터 통신 시스템을 통해 TCP 통신을 지원하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520).
  20. 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520)에서 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하기 위한 프록시 로직에 있어서,
    수신된 세그먼트를 검사하기 위한 검사 로직으로서, 수신된 세그먼트가 데이터를 포함하고 있지 않다는 확인에 응답하여, 복수의 동기화 세그먼트가 프록시 로직을 통해 투명하게 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전달될 수 있도록 동작할 수 있는, 상기 검사 로직; 및
    적어도 하나의 복수의 동기화 세그먼트와 수신된 세그먼트에 기초하여 적어도 하나의 확인응답 메시지를 발생하기 위한 확인응답 로직을 포함하는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티(510,520)에서 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하기 위한 프록시 로직.
  21. 데이터 통신 시스템에서 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티에 의해 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 제공하는 컴퓨터로 인에이블되는 방법에 있어서,
    수신된 세그먼트를 TCP 프록시 로직으로 검사하기 위한 명령어;
    수신된 세그먼트가 데이터를 포함하고 있지 않다는 결정에 응답하여, 투명하게 복수의 동기화 세그먼트가 프록시 로직을 통해 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전달될 수 있도록 하는 명령어; 및
    적어도 하나의 복수의 동기화 세그먼트와 수신된 세그먼트에 기초하여 적어도 하나의 확인응답 메시지를, 프록시 로직에 의해, 국부적으로 발생시키는 명령어들을 포함하는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치된 통신 엔티티에 의해 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 제공하는 컴퓨터로 인에이블되는 방법.
  22. 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치되고 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하는 통신 엔티티를 포함하는 데이터 통신 시스템에 있어서,
    통신 엔티티에 위치된 프록시 로직을 포함하고, 상기 프록시 로직은 수신된 세그먼트를 검사하도록 동작할 수 있고, 또한 수신된 세그먼트가 데이터를 포함하고 있지 않다는 결정에 응답하여, 투명하게 복수의 동기화 세그먼트가 프록시 로직을 통해 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전달될 수 있도록 동작할 수 있으며, 상기 프록시 로직은 또한 적어도 하나의 복수의 동기화 세그먼트와 수신된 세그먼트에 기초하여 적어도 하나의 확인응답 메시지를 국부적으로 발생하도록 동작할 수 있는 것인, 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 높은 지연시간을 갖는 통신 링크의 한 쪽에 위치되고 제1 트랜시버 엔티티와 제2 트랜시버 엔티티간에 전송 제어 프로토콜(TCP;Transmission Control Protocol) 통신을 지원하는 통신 엔티티를 포함하는 데이터 통신 시스템.
KR1020107018547A 2008-02-12 2009-02-03 Tcp 흐름 제어를 위한 방법 및 장치 KR20100127760A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/030,185 US8320250B2 (en) 2008-02-12 2008-02-12 Method and arrangement for TCP flow control
US12/030,185 2008-02-12

Publications (1)

Publication Number Publication Date
KR20100127760A true KR20100127760A (ko) 2010-12-06

Family

ID=40718508

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107018547A KR20100127760A (ko) 2008-02-12 2009-02-03 Tcp 흐름 제어를 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US8320250B2 (ko)
EP (1) EP2253176B1 (ko)
JP (1) JP5523350B2 (ko)
KR (1) KR20100127760A (ko)
CN (1) CN102007812B (ko)
WO (1) WO2009101004A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009020413A1 (en) * 2007-06-14 2009-02-12 Telefonaktiebolaget Lm Ericsson (Publ) Data block size management in a communication system utilizing hybrid automatic repeat requests with soft combining
US9001782B2 (en) * 2008-06-23 2015-04-07 Qualcomm Incorporated Concentrator for multiplexing access point to wireless network connections
CN101335603B (zh) * 2008-07-17 2011-03-30 华为技术有限公司 数据传输方法和装置
US9769149B1 (en) * 2009-07-02 2017-09-19 Sonicwall Inc. Proxy-less secure sockets layer (SSL) data inspection
US9455897B2 (en) 2010-04-06 2016-09-27 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
EP2649858B1 (en) 2010-12-07 2018-09-19 Telefonaktiebolaget LM Ericsson (publ) Method for enabling traffic acceleration in a mobile telecommunication network
US8675474B2 (en) * 2010-12-10 2014-03-18 Htc Corporation Method and system for handling error in LPP messages exchange
US20120102148A1 (en) 2010-12-30 2012-04-26 Peerapp Ltd. Methods and systems for transmission of data over computer networks
CN107094176B (zh) 2010-12-30 2021-07-30 皮尔爱普有限公司 用于对计算机网络上的数据通信进行缓存的方法和系统
US8767625B2 (en) * 2011-03-18 2014-07-01 Qualcomm Incorporated Method for concurrent bandwidth aggregation using a second path on a second wireless network that utilizes the packet core network of a first path on a first wireless network
US9451415B2 (en) 2011-06-17 2016-09-20 Qualcomm Incorporated Cooperative data transport
US9264353B2 (en) * 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
US20130250853A1 (en) * 2012-03-20 2013-09-26 Qualcomm Incorporated Methods and apparatuses to improve round trip time in transfer control protocol using accelerated acknowledgement messages
US9264365B2 (en) * 2012-07-31 2016-02-16 International Business Machines Corporation Split transport control protocol (TCP) flow control management in a cellular broadband network
EP2893687A1 (en) * 2012-09-07 2015-07-15 Nokia Solutions and Networks Oy Mechanism and apparatus to perform cooperative resource management in wireless networks
US9143454B2 (en) * 2012-10-03 2015-09-22 LiveQoS Inc. System and method for a TCP mapper
US8711690B2 (en) 2012-10-03 2014-04-29 LiveQoS Inc. System and method for a TCP mapper
CN104137507B (zh) * 2013-01-31 2018-11-16 华为技术有限公司 反馈丢包的消息处理方法及装置
US10326569B2 (en) 2013-02-12 2019-06-18 Altiostar Networks, Inc. Inter-site carrier aggregation with physical uplink control channel monitoring
EP2957141B1 (en) 2013-02-12 2019-01-02 Altiostar Networks, Inc. Long term evolution radio access network
JP6335198B2 (ja) 2013-02-21 2018-05-30 アルティオスター ネットワークス, インコーポレイテッド 基地局におけるアプリケーション検出に基づく複数のデータパケットのスケジューリングのためのシステム及び方法
JP6539588B2 (ja) 2013-02-21 2019-07-03 アルティオスター ネットワークス, インコーポレイテッド 基地局におけるフレームタイプ検出に基づく複数のデータパケットの協働送信のためのシステム及び方法
PT2979514T (pt) * 2013-03-25 2019-12-03 Altiostar Networks Inc Protocolo de controlo de transmissão numa rede de acesso por rádio de evolução a longo termo
WO2014160718A1 (en) 2013-03-25 2014-10-02 Altiostar Networks, Inc. Optimization of a backhaul connection in a mobile communications network
ES2656343T3 (es) 2013-03-25 2018-02-26 Altiostar Networks, Inc. Sistemas y procedimientos para la planificación de paquetes de datos en base a la tolerancia al retardo de las aplicaciones
EP2993954B1 (en) * 2013-05-20 2019-10-02 Huawei Technologies Co., Ltd. Acknowledgement packet transmission method and device thereof
EP3005632B1 (en) 2013-05-31 2018-05-09 Telefonaktiebolaget LM Ericsson (publ) Network node for controlling transport of data in a wireless communication network
CN104219215B (zh) * 2013-06-05 2019-02-26 深圳市腾讯计算机系统有限公司 一种tcp连接的建立方法、装置、终端、服务器及系统
US9661657B2 (en) * 2013-11-27 2017-05-23 Intel Corporation TCP traffic adaptation in wireless systems
GB2523394B (en) 2014-02-25 2020-10-28 Mclaren Applied Tech Ltd Vehicle data communication
US9397939B2 (en) * 2014-06-24 2016-07-19 International Business Machines Corporation Hybrid approach for performance enhancing proxies
KR102176653B1 (ko) * 2014-09-04 2020-11-09 삼성전자주식회사 무선 통신 시스템에서 전송 제어를 위한 방법 및 장치
US10004019B2 (en) 2015-09-08 2018-06-19 Parallel Wireless, Inc. RAN for multimedia delivery
US9967077B2 (en) 2015-10-22 2018-05-08 Harris Corporation Communications device serving as transmission control protocol (TCP) proxy
US10791481B2 (en) 2016-04-08 2020-09-29 Altiostar Networks, Inc. Dual connectivity
WO2017177224A1 (en) 2016-04-08 2017-10-12 Altiostar Networks, Inc. Wireless data priority services
US10624034B2 (en) 2016-12-13 2020-04-14 Altiostar Networks, Inc. Power control in wireless communications
US11528344B2 (en) 2017-05-02 2022-12-13 Airo Finland Oy Elimination of latency in a communication channel
US11240353B2 (en) 2017-08-24 2022-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Data transmission in wireless communications networks
US10623980B1 (en) 2018-03-12 2020-04-14 Sprint Communications Company L.P. Transmission control protocol (TCP) based control of a wireless user device
CN110995750B (zh) * 2019-12-18 2021-09-28 展讯通信(上海)有限公司 终端设备
CN111641480B (zh) * 2020-05-22 2023-08-25 广东小天才科技有限公司 一种tcp重传次数的控制方法及终端设备、存储介质
CN114844958B (zh) * 2022-04-21 2023-06-23 京信网络系统股份有限公司 Rlc层数据传输方法、装置、基站和存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2576780B2 (ja) * 1993-12-17 1997-01-29 日本電気株式会社 プロトコル終端方式
US20030235206A1 (en) * 2001-02-15 2003-12-25 Tantivy Communications, Inc. Dual proxy approach to TCP performance improvements over a wireless interface
DE60215802D1 (de) * 2001-05-18 2006-12-14 Bytemobile Inc Zweifachmodus dienstplattform in netzwerkkommunikationssystem
SE0103853D0 (sv) * 2001-11-15 2001-11-15 Ericsson Telefon Ab L M Method and system of retransmission
WO2003069870A2 (en) 2002-02-15 2003-08-21 Koninklijke Philips Electronics N.V. Modifications to tcp/ip for broadcast or wireless networks
US7058058B2 (en) * 2003-11-05 2006-06-06 Juniper Networks, Inc. Transparent optimization for transmission control protocol initial session establishment
EP1959693A1 (en) 2007-02-19 2008-08-20 Siemens Networks S.p.A. Cross-layer error recovery optimisation in wireless systems
US7743160B2 (en) * 2007-03-29 2010-06-22 Blue Coat Systems, Inc. System and method of delaying connection acceptance to support connection request processing at layer-7
CN101119183A (zh) * 2007-09-06 2008-02-06 上海华为技术有限公司 重传控制方法及传输设备

Also Published As

Publication number Publication date
JP2011515032A (ja) 2011-05-12
EP2253176B1 (en) 2017-04-05
CN102007812A (zh) 2011-04-06
US8320250B2 (en) 2012-11-27
WO2009101004A1 (en) 2009-08-20
JP5523350B2 (ja) 2014-06-18
EP2253176A1 (en) 2010-11-24
CN102007812B (zh) 2015-11-25
US20090201813A1 (en) 2009-08-13

Similar Documents

Publication Publication Date Title
JP5523350B2 (ja) Tcpフロー制御のための方法及び装置
US9860915B2 (en) Apparatus and method for moving a receive window in a radio access network
EP2109954B1 (en) Ack prioritization in wireless networks
KR20060079570A (ko) 통신 시스템에서 데이터 재전송 장치 및 방법
US20140341028A1 (en) Reducing superfluous traffic in a network
Abuzneid et al. Error Reduction using TCP with Selective Acknowledgement and HTTP with Page Response Time over Wireless Link

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application