KR100784419B1 - 통신 단말기 및 통신 방법 - Google Patents

통신 단말기 및 통신 방법 Download PDF

Info

Publication number
KR100784419B1
KR100784419B1 KR1020060059504A KR20060059504A KR100784419B1 KR 100784419 B1 KR100784419 B1 KR 100784419B1 KR 1020060059504 A KR1020060059504 A KR 1020060059504A KR 20060059504 A KR20060059504 A KR 20060059504A KR 100784419 B1 KR100784419 B1 KR 100784419B1
Authority
KR
South Korea
Prior art keywords
segment
path
transmission
terminal
received
Prior art date
Application number
KR1020060059504A
Other languages
English (en)
Other versions
KR20070001842A (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 KR20070001842A publication Critical patent/KR20070001842A/ko
Application granted granted Critical
Publication of KR100784419B1 publication Critical patent/KR100784419B1/ko

Links

Images

Classifications

    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • 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]
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update

Abstract

통상적인 TCP 헤더 이외의 헤더를 사용하지 않고, 통상적인 TCP와 마찬가지의 제어를 행하는 멀티 홈 대응 트랜스포트 프로토콜을 실현한다. 본 발명에 관한 통신 단말기(10)는, 복수 개의 경로의 각각에 관한 TCP 제어 정보를 관리하는 경로 정보 관리부(12)와, 송신해야 할 어플리케이션 데이터를 분할하여 생성한 세그먼트를 기억하는 송신 세그먼트 관리부(11)와, 송신 세그먼트 관리부(11)로부터 세그먼트를 추출하여 수신 단말기(30)에 송신하는 세그먼트 송신부(13)를 구비한다. 송신 세그먼트 관리부(11)는, TCP 제어 정보에 기초하여, 세그먼트와 이 세그먼트의 송신에 사용되는 경로를 연관시켜 기억함으로써, 세그먼트에 대한 송신 예약을 수행한다. 세그먼트 송신부(13)는, 송신 세그먼트 관리부(11)로부터 세그먼트만을 추출하여, 세그먼트에 연관된 경로를 통하여 세그먼트를 수신 단말기에 송신한다.
통신 단말기, 수신 단말기, TCP 제어 정보, 트랜스포트 프로토콜, 무선 인터페이스

Description

통신 단말기 및 통신 방법{COMMUNICATION TERMINAL DEVICE AND COMMUNICATION METHOD}
도 1은 본 발명의 제1 실시예에 관한 통신 단말기를 포함하는 통신 시스템의 전체 구성도이다.
도 2는 본 발명의 제1 실시예에 관한 통신 단말기(송신 단말기)의 기능 블록도이다.
도 3은 본 발명의 제1 실시예에 관한 통신 단말기(송신 단말기)의 송신 세그먼트 관리부의 관리 내용의 일례를 나타낸 도면이다.
도 4는 본 발명의 제1 실시예에 관한 통신 단말기(송신 단말기)의 경로 정보 관리부의 관리 내용의 일례를 나타낸 도면이다.
도 5는 본 발명의 제1 실시예에 관한 통신 단말기(수신 단말기)의 기능 블록도이다.
도 6은 본 발명의 제1 실시예에 관한 통신 단말기(수신 단말기)의 경로 정보 관리부의 관리 내용의 일례를 나타낸 도면이다.
도 7은 본 발명의 제1 실시예에 관한 통신 단말기(수신 단말기)의 수신 세그먼트 관리부의 관리 내용의 일례를 나타낸 도면이다.
도 8은 본 발명의 제1 실시예에 관한 통신 단말기(송신 단말기)가 세그먼트 를 송신하는 동작을 나타낸 플로차트이다.
도 9는 본 발명의 제1 실시예에 관한 통신 단말기(송신 단말기)가 세그먼트를 송신하는 동작을 설명하기 위한 도면이다.
도 10은 본 발명의 제1 실시예에 관한 통신 단말기(송신 단말기)가 ACK(확인 응답)를 수신하는 동작을 나타낸 플로차트이다.
도 11은 본 발명의 제1 실시예에 관한 통신 단말기(송신 단말기)가 ACK를 수신하는 동작을 설명하기 위한 도면이다.
도 12는 본 발명의 제1 실시예에 관한 통신 단말기(송신 단말기)에 있어서의 재송신 모드의 동작을 나타낸 플로차트이다.
도 13은 본 발명의 제1 실시예에 관한 통신 단말기(수신 단말기)에 있어서의 수신 동작을 나타낸 플로차트이다.
도 14는 본 발명의 제1 실시예에 관한 통신 단말기(수신 단말기)에 있어서의 수신 동작을 설명하기 위한 도면이다.
도 15는 본 발명의 제1 실시예에 관한 통신 단말기(수신 단말기)에 있어서의 수신 동작을 설명하기 위한 도면이다.
도 16은 본 발명의 제1 변경예에 관한 통신 단말기를 설명하기 위한 도면이다.
도 17은 본 발명의 제1 변경예에 관한 통신 단말기를 설명하기 위한 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
10 : 송신 단말기 10a, 30a : 어플리케이션 기능부
11 : 송신 세그먼트 관리부 12, 32 : 경로 정보 관리부
13, 34 : 세그먼트 송신부 14, 31 : 세그먼트 수신부
30 : 수신 단말기 33 : 수신 세그먼트 관리부
본 발명은 송신 단말기가 복수 개의 경로를 동시에 사용하여 데이터를 수신 단말기에 송신하는 통신 방법 및 이러한 통신 방법을 실현하는 통신 단말기에 관한 것이다.
종래부터 멀티 홈 대응 트랜스포트 프로토콜(Multi-Path TCP(Transmission Control Protocol))을 사용하는 통신 방법, 즉 송신 단말기가 복수 개의 경로를 동시에 사용하여 데이터를 수신 단말기에 송신하는 통신 방법으로서, 비특허 문헌 1[RFC2960, "SCTP(Stream Control Transmission Protocol)"], 비특허 문헌 2("A transport layer approach for improving end-to-end performance and robustness using redundant paths.", Arv ind Krishnamurthy, Larry Peterson, Ming Zhang, Junwen Lai, Randolph Wang저, USENIX 2004, 99~112페이지, 2004년 6월) 및 비특허 문헌 3("A transport layer approach for achieving aggregate bandwidth on multi-homed mobile hosts", Hung-Yun Heleh, Raghupathy Sivakumar저, ACM Mobicom 2002, 2002년 9월)에 기재되어 있는 기술이 알려져 있다.
그러나, 비특허 문헌 1에 제안되어 있는 멀티 홈(multi-homed) 대응 트랜스포트 프로토콜을 사용한 통신 방법은, 통신 상태가 가장 양호한 1개의 경로만을 사용하여 통신을 행하고, 장애가 발생할 때에 우회 경로로서 그 외의 경로를 이용하도록 구성되어 있으므로, 복수 개의 경로를 동시에 이용하여 통신을 행할 수 없다는 문제점이 있었다.
이에 대하여, 비특허 문헌 2 및 3에 제안되어 있는 기술은, 송신 단말기와 수신 단말기 사이에 존재하는 복수 개의 경로를 동시에 이용하여 통신을 행할 수 있다.
그러나, 비특허 문헌 2에 제안되어 있는 기술에서는, 통상적인 TCP 헤더의 상위에 새로운 헤더를 필요로 하기 때문에, 비특허 문헌 2에 제안되어 있는 프로토콜을 구비하고 있지 않은 통신 단말기 사이에서는 통신을 행할 수 없다는 문제점이 있었다.
이와 관련하여, 비특허 문헌 3에 제안되어 있는 기술에서는, 통상적인 TCP 헤더만을 이용하여, 송신 단말기와 수신 단말기 사이에 존재하는 복수 개의 경로를 동시에 이용하여 통신을 행하는 것(즉, 멀티 홈 접속)을 실현하도록 구성되어 있다.
그러나, 비특허 문헌 3에 제안되어 있는 기술에서는, ACK(Acknowledgement: 송달 확인 신호)를 송신하기 위한 경로(ACK 경로)를 하나밖에 이용할 수 없으므로, 이용하고 있는 ACK 경로에 장애가 발생하면, 모든 경로가 영향을 받는 동시에, 각각의 경로가 비대칭으로(패킷을 송신한 경로와 ACK를 수신하는 경로가 상이함) 되 기 때문에, RTT(Round Trip Time)가 정확하게 측정되지 않는다는 문제점이 있었다.
또한, 비특허 문헌 3에 제안되어 있는 기술에서는, C-ACK(Cumulative ACK: 누적 ACK)를 이용할 수 없는 등의 문제가 있어, 경로 단위에서는, 통상적인 TCP와 동등한 제어를 행할 수 없다는 문제점이 있었다.
본 발명은 이상의 문제점을 감안하여 이루어진 것이며, 본 발명에 관한 기술을 적용하고 있지 않은 수신 단말기 사이에서도 통신을 가능하게 하기 위해, 통상적인 TCP 헤더 이외의 헤더를 사용하지 않고, 복수 개의 ACK 경로를 이용함으로써 대칭인 경로를 사용하여 정확한 RTT를 측정하는 동시에 C-ACK(누적 송달 확인 신호)를 개량함으로써, 통상적인 TCP와 마찬가지의 제어를 행할 수 있는 멀티 홈 대응 트랜스포트 프로토콜을 실현하는 통신 방법 및 통신 단말기를 제공하는 것을 목적으로 한다.
본 발명의 제1 특징은, 복수 개의 경로를 동시에 사용하여, 데이터를 수신 단말기에 송신할 수 있는 통신 단말기로서, 복수 개의 경로의 각각에 관한 TCP 제어 정보를 관리하도록 구성되어 있는 경로 정보 관리부와, 수신 단말기에 송신해야 할 데이터를 분할하여 생성한 세그먼트를 기억하도록 구성되어 있는 송신 세그먼트 관리부와, 송신 세그먼트 관리부로부터 세그먼트를 추출하여 수신 단말기에 송신하도록 구성되어 있는 세그먼트 송신부를 구비하고, 송신 세그먼트 관리부는 TCP 제어 정보에 기초하여, 세그먼트와 이 세그먼트의 송신에 사용되는 경로를 연관시켜 기억함으로써, 세그먼트에 대한 송신 예약을 수행하도록 구성되어 있으며, 세그먼트 송신부는 송신 세그먼트 관리부로부터 세그먼트만을 추출하여, 세그먼트에 연관된 경로를 통하여 세그먼트를 수신 단말기에 송신하도록 구성되어 있는 것을 요지로 한다.
이러한 발명에 의하면, 세그먼트의 송신이 통상적인 TCP 헤더만을 사용하여 행해지도록 구성되어 있으므로, 본 발명에 관한 기술을 적용하고 있지 않은 수신 단말기 사이에서도 통신을 행할 수 있다.
본 발명의 제1 특징에서, 세그먼트에 관한 송달 확인 신호가 세그먼트의 송신에 이용된 경로와 동일한 경로를 통하여 수신된 경우, 송신 세그먼트 관리부 내의 모든 세그먼트 중에서, 송달 확인 신호를 수신하지 않은 세그먼트의 최소 시퀀스 번호보다 작은 시퀀스 번호를 가지는 세그먼트를 송신 세그먼트 관리부로부터 삭제하도록 구성되어 있는 세그먼트 수신부를 구비해도 된다.
본 발명의 제1 특징에서, 송신 세그먼트 관리부가 타임 아웃을 검출한 경우, 송달 확인 신호를 수신하지 않은 모든 세그먼트에 대한 송신 예약을 취소하고, 다시 TCP 제어 정보에 기초하여, 세그먼트에 대한 송신 예약을 행하도록 구성되어 있어도 된다.
본 발명의 제1 특징에서, 송신 세그먼트 관리부가 선택 송달 확인 신호를 수신한 최대의 세그먼트와, 다음에 송달 확인 신호를 수신해야 할 세그먼트 사이에, 송달 확인 신호를 수신하지 않은 세그먼트가 소정 수 이상 있는 경우, 선택 송달 확인 신호를 수신한 최대 세그먼트의 시퀀스 번호 이하의 시퀀스 번호로 송달 확인 신호를 수신하지 않은 세그먼트 및 미송신의 세그먼트에 대한 송신 예약을 취소하고, 다시 TCP 제어 정보에 기초하여, 세그먼트에 대한 송신 예약을 수행하도록 구성되어 있어도 된다.
본 발명의 제1 특징에서, 세그먼트 송신부가 인접한 통신 단말기 사이에 애드혹 네트워크(ad-hoc network)를 형성하고, 이 애드혹 네트워크 내의 경로를 통하여 세그먼트를 송신하도록 구성되어 있어도 된다.
이러한 발명에 의하면, 인접한 통신 단말기 사이에 형성된 애드혹 네트워크 내의 경로를 이용함으로써, 복수 개의 인터페이스를 가지지 않는 통신 단말기에 있어서도, 송신 단말기와 수신 단말기 사이에 존재하는 복수 개의 경로를 동시에 이용하여 통신을 행하는 것(즉, 가상적인 멀티 홈 접속)을 실현할 수 있다.
본 발명의 제2 특징은, 복수 개의 경로를 동시에 사용하여, 송신 단말기로부터 데이터를 수신할 수 있는 통신 단말기로서, 복수 개의 경로의 각각에 관한 TCP 제어 정보를 관리하도록 구성되어 있는 경로 정보 관리부와, 복수 개의 경로를 통하여, 데이터를 분할하여 생성된 세그먼트를 수신하도록 구성되어 있는 세그먼트 수신부와, 수신한 세그먼트를 이 세그먼트가 송신된 경로마다 기억하도록 구성되어 있는 수신 세그먼트 관리부와, TCP 제어 정보에 기초하여, 각 경로를 통한 세그먼트의 수신 결과를 통지하기 위한 송달 확인 신호를 송신하도록 구성되어 있는 세그먼트 송신부를 구비하는 것을 요지로 한다.
본 발명의 제2 특징에서, 송달 확인 신호가 경로를 통하여 수신에 성공한 세그먼트의 시퀀스 번호를 통지하도록 구성되어 있어도 된다.
이러한 발명에 의하면, 패킷을 수신한 경로에 대해서 ACK를 송신하도록 구성되어 있으므로, RTT를 정확하게 측정할 수 있으며, C-ACK를 개량함으로써 각 경로에 대하여 통상적인 TCP 제어와 동등한 제어를 행할 수 있다.
본 발명의 제2 특징에서, 동일한 경로를 통하여 시퀀스 번호가 연속하는 복수 개의 세그먼트가 수신되는 경우, 송달 확인 신호를 복수 개의 세그먼트의 수신 결과와 함께 통지하도록 구성되어 있어도 된다.
이러한 발명에 의하면, 복수 개의 ACK(송달 확인 신호)를 송신하는 것이 가능하므로(예를 들면, C-ACK를 이용할 수 있으므로), 송신하는 ACK의 수를 감소시킬 수 있다.
본 발명의 제2 특징에서, 세그먼트 수신부가 인접한 통신 단말기와의 사이에 애드혹 네트워크를 형성하고, 애드혹 네트워크 내의 경로를 통하여 세그먼트를 수신하도록 구성되어 있어도 된다.
본 발명의 제3 특징은, 송신 단말기가 복수 개의 경로를 동시에 사용하여, 데이터를 수신 단말기에 송신하는 통신 방법으로서, 송신 단말기가 복수 개의 경로마다 관리되고 있는 TCP 제어 정보에 기초하여, 수신 단말기에 송신해야 할 데이터를 분할하여 생성한 세그먼트와 이 세그먼트의 송신에 사용되는 경로를 연관시켜 송신 세그먼트 관리부에 기억함으로써, 세그먼트에 대한 송신 예약을 행하는 공정과; 송신 단말기가 송신 세그먼트 관리부로부터 세그먼트만을 추출하고, 이 세그먼트에 연관된 경로를 통하여 해당 세그먼트를 수신 단말기에 송신하는 공정과; 수신 단말기가 수신한 세그먼트를 이 세그먼트가 송신된 경로마다 관리하는 동시에, 복 수 개의 경로마다 관리되고 있는 TCP 제어 정보에 기초하여, 각 경로를 통한 세그먼트의 수신 결과를 통지하기 위한 송달 확인 신호를 송신하는 공정과; 송신 단말기가, 세그먼트에 관한 송달 확인 신호가, 세그먼트의 송신에 이용된 경로와 동일한 경로를 통하여 수신된 경우, 세그먼트 및 이 세그먼트에 연관된 경로를 송신 세그먼트 관리부로부터 삭제하는 공정을 포함하는 것을 요지로 한다.
본 발명의 제3 특징에서, 송신 단말기 및 수신 단말기가 인접한 통신 단말기와의 사이에 애드혹 네트워크를 형성하는 공정을 포함하고, 송신 단말기는, 생성한 세그먼트를, 애드혹 네트워크 내의 경로를 통하여 수신 단말기에 대해서 송신하고, 수신 단말기는, 애드혹 네트워크 내의 경로를 통하여 세그먼트를 수신하여도 된다.
[발명을 실시하기 위한 최선의 형태]
(본 발명의 제1 실시예에 관한 통신 단말기의 구성)
도 1에, 본 발명의 제1 실시예에 관한 통신 단말기(송신 단말기(10) 및 수신 단말기(30))를 구비하는 통신 시스템의 일례를 나타낸다. 도 1에 나타낸 바와 같이, 본 실시예에서는, 3개의 경로(경로 #1~#3)를 동시에 사용하여, 데이터를 송신 단말기(10)로부터 수신 단말기(30)에 송신하는 환경을 상정하고 있다.
이러한 데이터로서는, FTP(File Transfer Protocol), SMTP(Simple Mail Transfer Protocol), HTTP(Hyper Text Transfer Protocol), POP3(Post Office Protocel Version 3) 등의 어플리케이션 데이터가 있다.
또, 이러한 데이터는, SQL(Structured Query Language) 등의 데이터베이스 언어에 사용될 수 있으며, NFS(Network File System) 등의 네트워크를 통한 파일 엑세스에 적용될 수 있고, TCP/IP를 통한 SSH(Secure SHell), SSL(Secure Socket Layer), Ethernet(등록상표) 등의 VPN(Virtual Private Network) 등, TCP를 이용한 다양한 통신에 적용될 수 있다.
도 1에 나타낸 바와 같이, 본 실시예에 관한 수신 단말기(30)는, WAN(Wireless Area Network)에서의 3G 대응의 인터페이스와, WLAN(Wireless Local Area Network)에서의 IEEE 802.11b 대응의 인터페이스와, WPAN(Wireless Personal Area Network)에서의 블루투스(Bluetooth)(등록상표) 대응의 인터페이스 등의 복수 개의 무선 인터페이스를 구비하도록(멀티 홈 접속에 대응 가능함) 구성되어 있다.
그리고, 본 실시예에 관한 수신 단말기(30)는, 복수 개의 인터페이스에 의해 확립되는 복수 개의 경로(경로 #1~#3)를 동시에 사용하여, 송신 단말기(10)로부터 송신되는 데이터를 수신하도록 구성되어 있다.
한편, 도 1의 예에서, 본 실시예에 관한 송신 단말기(10)는 유선 인터페이스를 구비하며, 복수 개의 무선 인터페이스는 구비하고 있지 않다.
그러나, 통상적인 TCP에 있어서, 경로(일반적인 TCP 접속)는, [(송신자의 IP 어드레스, 포트 번호), (수신자의 IP 어드레스, 포트 번호)]의 4개의 어드레스에 의해 판별된다.
따라서, 본 실시예에 관한 송신 단말기(10)도, 복수 개의 경로(#1~#3)를 동시에 사용하여, 수신 단말기(30)에 데이터(이를 구성하는 세그먼트)를 송신할 필요가 있는 이상, 이러한 경로(#1~#3)를 판별할 수 있도록(멀티 홈 접속에 대응 가능한 것) 구성되어 있다.
도 2에 나타낸 바와 같이, 본 실시예에 관한 송신 단말기(10)는, 어플리케이션 기능부(10a), 송신 세그먼트 관리부(11), 경로 정보 관리부(12), 세그먼트 송신부(13), 및 세그먼트 수신부(14)를 구비하고 있다.
어플리케이션 기능부(10a)는, 송신 세그먼트 관리부(11)에 대하여, 어플리케이션에 이용되는 데이터를 송신하도록 지시한다.
여기서, 어플리케이션 기능부(10a)는, 데이터를 송신하는 경로로서, 복수 개의 경로 그룹을 명시적으로 지정하는 것이 가능하도록 구성되어 있어도 된다.
또, 어플리케이션 기능부(10a)는, 데이터를 송신하는 경로로서 대표 경로를 지정하고, 다른 경로는 자동으로 추가되도록 구성되어도 된다.
송신 세그먼트 관리부(11)는, 수신 단말기(30)에 송신해야 할 데이터를 분할하여 생성한 세그먼트를 기억하는 송신 버퍼로 구성되어 있다.
또, 송신 세그먼트 관리부(11)는, 경로마다 TCP-CB(TCP Control Block)에 의해 관리되고 있는 TCP 제어 정보에 기초하여, 생성된 세그먼트와 해당 세그먼트의 송신에 사용되는 경로(변수 "path")를 연관시켜 기억함으로써, 해당 세그먼트에 대한 송신 예약을 수행하도록 구성되어 있다.
구체적으로, 송신 세그먼트 관리부(11)는, 도 3에 나타낸 바와 같이, 어플리케이션 기능부(10a)로부터 받은, 수신 단말기(30)에 송신해야 할 데이터를 PDU(Protocol Data Unit) 단위로 분할하고, 분할된 각 데이터에 대해서, 통상적인 TCP 헤더를 부여하여 세그먼트를 형성한다. 여기서, TCP 헤더는 통상적인 TCP에서 사용되는 TCP 헤더인 것으로 한다.
또, 송신 세그먼트 관리부(11)는, 형성된 해당 세그먼트에 대하여, 해당 세그먼트를 관리하기 위한 특별한 헤더를 부여하여 관리하도록 구성되어 있다.
이와 같은 특별한 헤더는, 도 3에 나타낸 바와 같이, "path", "sack", "p_se q" 등의 변수나, "next" 플래그 등의 플래그를 포함하도록 구성되어 있다.
여기서, 변수 "p_seq"는 경로마다 할당된 세그먼트의 시퀀스 번호를 나타낸다.
그리고, TCP에서는, 시퀀스 번호를, "바이트 순서"로 표현하는 것이 일반적이지만, 본 명세서에서는, 간략화를 위해 "시퀀스 순서"로 표현한다.
또, 변수 "path"는 해당 세그먼트의 송신에 사용되는 경로의 식별 정보를 나타내고, 변수 "sack"은 해당 세그먼트에 대한 ACK의 수신에 이용되는 경로의 식별 정보를 나타낸다. 또, 변수 "next"는 해당 세그먼트의 다음에 참조해야 할 세그먼트를 나타낸다.
"rsv" 플래그는 해당 세그먼트에 대한 송신 예약이 행해지고 있는 상태를 나타내는 플래그이다(이러한 상태인 경우 "1").
또한, 송신 세그먼트 관리부(11)는, 다음에 예약해야 할 데이터 개시 위치를 나타내는 "rsv_nxt"라는 변수를 관리하고 있다.
또, 송신 세그먼트 관리부(11)는, 타임 아웃을 검출한 경우, ACK(송달 확인 신호)를 수신하지 않은 모든 세그먼트에 대한 송신 예약을 취소하고, TCP-CB(TCP 제어 정보)에 기초하여, 해당 세그먼트에 대한 송신 예약을 다시 수행하도록 구성되어 있다.
또, 송신 세그먼트 관리부(11)는, SACK 블록(선택 송달 확인 신호)을 수신한 최대의 세그먼트("max_sack")와, 다음에 ACK(송달 확인 신호)를 수신하여야 하는 세그먼트("rcv_nxt") 사이에, ACK(송달 확인 신호)를 수신하지 않은 세그먼트가 소정 수(예를 들면, 3개) 이상 있는 경우, SACK 블록(선택 송달 확인 신호)을 수신한 최대 세그먼트의 시퀀스 번호 이하의 시퀀스 번호로 ACK(송달 확인 신호)를 수신하지 않은 세그먼트, 및 미송신의 세그먼트에 대한 송신 예약을 취소하고, TCP-CB(TCP 제어 정보)에 기초하여, 해당 세그먼트에 대한 송신 예약을 다시 수행하도록 구성되어 있다.
경로 정보 관리부(12)는, 복수 개의 경로 정보 관리부(#1~#3)에 의해, 복수 개의 경로(#1~#3)의 각각에 관한 TCP-CB(TCP 제어 정보)를 관리하도록 구성되어 있다. 그리고, 각 경로는, [(송신자의 IP 어드레스, 포트 번호), (수신자의 IP 어드레스, 포트 번호)]의 4개의 어드레스에 의해 판별된다.
구체적으로, 각 경로 정보 관리부(#n)는, 도 4에 나타낸 바와 같이, "rtt", "t_timer", "t_seq", "cwnd", "ssthresh", "rcv_nxt", "snd_nxt", "rsv_num", "snd_num", "max_sack" 등의 변수를 포함하는 TCP-CB(n)를 관리하도록 구성되어 있다.
그리고, 이러한 TCP-CB(n)에는, 또한 "t_state"나 "t_flags" 등의 TCP 접속을 유지하기 위한 다양한 정보를 확보하고 있어도 된다.
여기서, "rtt"는 측정된 RTT(Round Trip Time)이며, "t_timer"는 "rtt"를 기초로 계산된 타임아웃 값이고, "t_seq"는 "rtt"의 측정에 이용되는 세그먼트의 시 퀀스 번호이며, "cwnd"는 폭주 윈도우이고, "ssthresh"는 "Slow Start Threshold"이며, "rcv_nxt"는 다음에 수신을 기대하는 세그먼트의 시퀀스 번호이고, "snd_nxt"는 다음에 송신하는 세그먼트의 시퀀스 번호이며, "rsv_num"은 예약 완료된 데이터량이고, "snd_num"은 송신 완료된 데이터량이며, "max_sack"는 해당 경로에서 송신된 세그먼트에서, ACK 또는 SACK 옵션에 의해 통지된 최대의 시퀀스 번호이다.
세그먼트 송신부(13)는, 송신 세그먼트 관리부(11)로부터 세그먼트를 추출하여, 해당 세그먼트에 연관된 경로를 통하여 해당 세그먼트를 수신 단말기(30)에 송신하도록 구성되어 있다.
또, 세그먼트 송신부(13)는, 특정 세그먼트의 유실(lost)이 검출된 경우, 해당 세그먼트에 대하여 재송신을 행하도록 구성되어 있다.
세그먼트 수신부(14)는, 세그먼트에 관한 ACK(송달 확인 신호)가, 해당 세그먼트의 송신에 이용된 경로와 동일한 경로를 통하여 수신된 경우, 송신 세그먼트 관리부(11) 내의 모든 세그먼트 중에서, ACK(송달 확인 신호)를 수신하지 않은 세그먼트 중 최소 시퀀스 번호보다 작은 시퀀스 번호를 가지는 세그먼트를 송신 세그먼트 관리부(11)에서 삭제하도록 구성되어 있다.
도 5에 나타낸 바와 같이, 본 실시예에 관한 수신 단말기(30)는, 어플리케이션 기능부(30a), 세그먼트 수신부(31), 경로 정보 관리부(32), 수신 세그먼트 관리부(33), 및 세그먼트 송신부(34)를 구비하고 있다.
세그먼트 수신부(31)는, 송신 단말기(10)로부터 복수 개의 경로(#1~#3)를 통 하여 세그먼트를 수신하고, 수신한 세그먼트의 각각을 [(송신자의 IP 어드레스, 포트 번호), (수신자의 IP 어드레스, 포트 번호)]의 4개의 어드레스에 기초하여, 특정 경로 정보 관리부(#1~#3)에 송신하도록 구성되어 있다.
경로 정보 관리부(32)는, 복수 개의 경로 정보 관리부(#1~#3)에 의해, 복수 개의 경로(#1~#3)의 각각에 관한 TCP-CB(TCP 제어 정보)를 관리하도록 구성되어 있다. 그리고, 각 경로는, [(송신자의 IP 어드레스, 포트 번호), (수신자의 IP 어드레스, 포트 번호)]의 4개의 어드레스에 의해 판별된다.
구체적으로, 각 경로 정보 관리부(#n)는, 도 6에 나타낸 바와 같이, "del_timer", "del_ack", "rcv_nxt", "p_sack1", "p_sack2", "p_sack3" 등의 변수를 포함하는 TCP-CB(n)를 관리하도록 구성되어 있다.
그리고, 이러한 TCP-CB(n)에는, 또한 TCP 접속을 유지하기 위한 다양한 정보를 확보하고 있어도 된다.
여기서, "del_timer"는 ACK의 송신을 지연시키기 위한 시간을 나타내며, "del_ack"는 "del_timer" 만료시의 ACK에 이용되는 시퀀스 번호이며, "rcv_nxt"는 다음에 수신을 기대하는 세그먼트 번호이고, "p_sackn"은 n번째의 블록에 기입하는 시퀀스 번호이다.
수신 세그먼트 관리부(33)는, 수신한 세그먼트를, 해당 세그먼트가 송신된 경로마다 관리하도록 구성되어 있다.
구체적으로, 수신 세그먼트 관리부(33)는, 도 7에 나타낸 바와 같이, 경로 정보 관리부(12)로부터 송신된 각 세그먼트에 대해서, 해당 세그먼트를 관리하기 위한 특별한 헤더를 부여하여 관리하도록 구성되어 있는 수신 버퍼이다.
이와 같은 특별한 헤더는, 도 7에 나타낸 바와 같이, "path" 등의 변수를 포함하도록 구성되어 있다.
여기서, 변수 "path"는, 해당 세그먼트의 송신에 사용되는 경로의 식별 정보를 나타낸다.
또한, 수신 세그먼트 관리부(33)는, 최초에 수신한 세그먼트가 기억되어 있는 개시 위치를 나타내는 "rcv_buf_first"라는 변수를 관리하고 있다. 그리고, 수신 세그먼트 관리부(33)는, 변수 "rcv_buf_first"에 의해 나타내는 세그먼트부터, 어플리케이션 기능부(30a)에 송신하도록 구성되어 있다.
세그먼트 송신부(34)는, 경로마다 관리되고 있는 TCP-CB(TCP 제어 정보)에 기초하여, 각 경로를 통한 세그먼트의 수신 결과를 통지하기 위한 ACK(송달 확인 신호)를 송신하도록 구성되어 있다.
그리고, 이와 같은 ACK에는, 후술하는 바와 같이, RFC2018로 정의되어 있는 SACK(Selective Acknowledgement) 옵션이 부여되어 있다. 여기서, ACK에 부여된 SACK 옵션은, 각 경로를 통하여 수신에 성공한 세그먼트의 시퀀스 번호를 통지하도록 구성되어 있다.
또, 세그먼트 송신부(34)는, 동일한 경로 내에서 시퀀스 번호가 연속하는 복수 개의 세그먼트가 수신되어 있는 경우, 해당 복수 개의 세그먼트의 수신 결과에 대하여 함께 통지하는 송달 확인 신호(C-ACK)를 송신하도록 구성되어 있어도 된다.
(본 발명의 제1 실시예에 관한 통신 단말기의 동작)
이하, 도 8 내지 도 15를 참조하여, 본 발명의 제1 실시예에 관한 통신 단말기의 동작에 대하여 설명한다.
첫 번째로, 도 8 및 도 9를 참조하여, 본 실시예에 관한 송신 단말기(10)가, 복수 개의 경로(#1~#3)를 동시에 사용하여, 데이터를 수신 단말기(30)에 송신하는 동작에 대하여 설명한다.
도 8에 나타낸 바와 같이, 스텝 S101에서, 송신 단말기(10)의 송신 세그먼트 관리부(11)는, 어플리케이션 기능부(10a)로부터 받은 데이터를 MTU 단위로 분할한다.
스텝 S102에서, 송신 세그먼트 관리부(11)는, MTU 단위로 분할된 각각의 데이터에 TCP 헤더를 부여하여 세그먼트를 형성하는데, 전술한 특별한 헤더(도 3 참조)를 부여하여 관리한다.
여기서, 송신 세그먼트 관리부(11)는, 각 변수 및 플래그에, 초기값으로서 "O"을 설정한다.
스텝 S103에서, 송신 세그먼트 관리부(11)는, 경로 정보 관리부(12)에 의해 관리되고 있는 모든 경로에 관한 TCP-CB 내의 변수 "rsv_num"을 감시하고 있고, 변수 "rsv_num"이, 변수 "max_burst"를 넘지 않는 경우, 선두의 데이터(변수 "rsv_nxt"에 의해 나타내는 데이터)에 대하여 송신 예약을 수행한다.
여기서, 변수 "max_burst"는, ACK 수신 시에 한번에 송신할 수 있는 최대 세그먼트의 데이터량(세그먼트 수)을 나타낸다. 그리고, 변수 "max_burst"는 모든 경로(인터페이스)에서 공통의 변수이다.
그리고, 송신 세그먼트 관리부(11)는, 송신 세그먼트 관리부(11)의 선두 데이터(「변수 "rsv_nxt"에 의해 나타내는 데이터」로부터, "rsv" 플래그가 설정되어 있지 않은 세그먼트에 대해서 송신 예약을 수행하고, 경로 정보 관리부(12)는 송신 예약을 행한 세그먼트의 데이터량을, 해당 세그먼트의 송신에 사용하는 경로에 대응하는 TCP-CB에서의 변수 "rsv_num"에 추가한다. 그리고, 예약된 세그먼트는, 변수 "next"에 의해 연결되어 있어, 각 세그먼트에 부여된 특별한 헤더 내의 변수 "next"를 따라가는 것에 의해, 다음에 예약되어 있는 세그먼트를 따라갈 수 있다.
여기서, 변수 "rsv_num"에 이미 값이 설정되어 있는 경우, 송신 세그먼트 관리부(11)는 "cwnd"-"rsv_num"에 해당하는 만큼의 세그먼트에 대해서만 송신 예약을 수행한다.
즉, 송신 세그먼트 관리부(11)는, 변수 "rsv_num" = 변수 "cwnd"가 되도록, 세그먼트에 대한 송신 예약을 수행하도록 구성되어 있다.
단, ACK 내의 광고 윈도우 값이, 모든 경로 정보 관리부(#n)에 의해 관리되는 변수 "cwnd"의 합계(Σcwnd)보다 작은 경우, 송신 세그먼트 관리부(11)는 변수 "rsv_num"이 "ACK 내의 광고 윈도우값 × cwnd / Σcwnd"를 초과하지 않도록 한다.
송신 세그먼트 관리부(11)는, 이러한 송신 예약이 완료한 경우, 전술한 특별 헤더에서의 "rsv" 플래그에 "1"을 설정하고, 송신 예약을 행한 경로의 식별 정보를 전술한 헤더에서의 변수 "path"로 설정한다.
여기서, 경로 정보 관리부(12)는, 변수 "snd_nxt"에 설정되어 있는 위치보다 앞에 위치하는 세그먼트에 대하여 송신 예약이 행해진 경우, 변수 "snd_nxt"에, 송 신 예약을 행한 세그먼트의 다음 세그먼트의 개시 위치를 설정한다.
경로 정보 관리부(12)는, 변수 "rcv_nxt"가 변수 "snd_nxt"를 넘지 않은 경우, 마찬가지로, 변수 "rcv_nxt"에 "snd_nxt"로 설정되어 있는 값을 설정한다.
스텝 S104에서, 세그먼트 송신부(13)는, 복수 개의 경로(#1~#3)를 동시에 사용하여, 송신 예약이 행해지고 있는 세그먼트를, 차례로 수신 단말기(30)에 송신한다.
그리고, 세그먼트 송신부(13)는, "cwnd"-"snd_num" > 0인 경우, 변수 "snd_nxt"에 의해 나타내는 세그먼트부터 순서대로 송신을 행한다. 여기서, 변수 "snd_num"은, 해당 경로에서 송신이 완료되어 ACK를 수신하지 않고 있는 세그먼트의 수이다.
또, 세그먼트 송신부(13)가 특정 경로를 통하여 세그먼트를 송신하는 경우, 경로 정보 관리부(12)는, 해당 특정 경로에 관한 TCP-CB에서의 변수 "rsv_num"으로부터 송신한 세그먼트의 데이터량을 감소시키고, 해당 특정 경로에 관한 TCP-CB에서의 변수 "snd_num"에 송신한 세그먼트의 데이터량을 추가한다.
세그먼트 송신부(13)가 세그먼트를 송신할 때마다, 경로 정보 관리부(12)는, 변수 "next"를 따라가, 다음 세그먼트의 개시 위치를 변수 "snd_nxt"로 설정한다.
그리고, 세그먼트 송신부(13)가, 세그먼트를 송신할 때에, 변수 "t_timer"가 설정되어 있지 않은 경우에, 경로 정보 관리부(12)는, 변수 "t_timer"에, 변수 "rtt" 등으로부터 계산되는 새로운 타임 아웃 값을 설정하고, 변수 "t_seq"에, 송신된 세그먼트의 시퀀스 번호(seq)를 설정한다.
도 9에, 송신 단말기(10)가, 경로 #1을 통하여 세그먼트 #4를 송신한 경우에서의 전술한 특별한 헤더 및 TCP-CB의 일례를 나타낸다.
이러한 경우, 송신 세그먼트 관리부(11)에서 세그먼트 #4에 부여되어 있는 특별한 헤더에서는, 변수 "path"=1, 변수 "sack"=O, "rsv" 플래그 = O, 변수 "next" = O으로 설정되어 있다.
또, 경로 #1에 관한 TCP-CB (1)에서는, 변수 "rcv_nxt" = 1, 변수 "snd_nxt" = 4, 변수 "rsv_num" = 1, 변수 "snd_num" = 1로 설정되어 있다.
두 번째로, 도 10 및 도 11을 참조하여, 본 실시예에 관한 송신 단말기(10)가 ACK를 수신하는 동작에 대하여 설명한다. 도 10에 나타낸 바와 같이, 스텝 S301에서, 송신 단말기(10)의 세그먼트 수신부(14)는, 수신 단말기(30)로부터 송신된 ACK를 수신하고, 해당 ACK를 수신한 경로의 [(송신자의 IP 어드레스, 포트 번호), (수신자의 IP 어드레스, 포트 번호)]의 4개의 어드레스에 따라, 해당 ACK를 적절한 경로 정보 관리부(#n)에 전송한다.
도 11의 예에서는, 송신 단말기(10)의 세그먼트 수신부(14)가, 수신 단말기(30)로부터 수신한 ACK(A) 또는 ACK(B)를, 해당 ACK(A) 또는 ACK(B)를 수신한 경로 #1을 관리하는 경로 정보 관리부 #1에 전송한다. 여기서, 도 11에 나타낸 ACK(A)는 아직 수신하지 않은 세그먼트 중 가장 시퀀스 번호가 작은 세그먼트가 "세그먼트 #1"이라는 것을 통지한다.
또, 도 11에 나타낸 ACK(B)는 아직 수신하지 않은 세그먼트 중 가장 시퀀스 번호가 작은 세그먼트가 "세그먼트 #2"라는 것을 통지하고, 또 SACK 옵션에 의해, 세그먼트 #7의 수신에 성공한 것을 통지하는 것이다. 그리고, ACK는 1개의 SACK 옵션에 의해, 복수 개의 세그먼트의 수신에 성공한 것을 통지하도록 구성되어 있어도 된다.
스텝 S302에서, 경로 정보 관리부(#n)는, 수신한 ACK 및 SACK 옵션에 의해 수신측으로의 도착이 보고된 세그먼트에 대해서는, 특별한 헤더에서의 변수 "sack"에, 해당 경로 정보 관리부(#n)에 의해 관리되고 있는 경로의 식별 정보를 설정하도록, 송신 세그먼트 관리부(11)에 지시한다.
그리고, 변수 "sack"에 설정되어 있는 경로의 식별 정보와 변수 "path"에 설정되어 있는 경로의 식별 정보가 일치하는 경우, 다른 ACK를 수신했을 경우, 변수 "sack"를 중첩하여 기록하지 않는다.
도 11의 예에서, 경로 정보 관리부 #1은, ACK(A)에 의해 수신이 성공한 것을 통지한 세그먼트 #1에 부여되어 있는 특별한 헤더에서의 변수 "sack"에, 경로 #1의 식별 정보를 설정하도록, 송신 세그먼트 관리부(11)에 지시한다.
또, 도 11의 예에서, 경로 정보 관리부 #1은, ACK(B)의 SACK 옵션에 의해 수신이 성공한 것을 통지한 세그먼트 #7에 부여되어 있는 특별한 헤더에서의 변수 "sack"에, 경로 #1의 식별 정보를 설정하도록, 송신 세그먼트 관리부(11)에 지시한다.
스텝 S303에서, 경로 정보 관리부(#n)는, 해당 TCP-CB(n)에서의 변수 "rcv_nxt"와, ACK 또는 SACK 옵션에 의해 통지되어 있는 세그먼트의 시퀀스 번호(seq)를 비교한다.
변수 "rcv_nxt"가, 해당 seq(ACK)보다 작은 경우 또는 SACK 블록에 의해, 변수 "rcv_nxt"에 해당하는 세그먼트의 수신이 통지되지 않았던 경우, 본 동작은 스텝 S304로 진행한다. 그 이외의 경우, 본 동작은 스텝 S305로 진행한다.
도 11의 예에서, TCP-CB(n)에서의 변수 "rcv_nxt"에는, "세그먼트 #1의 시퀀스 번호"가 설정되어 있으므로, 경로 정보 관리부 #1이 ACK(A)를 수신한 경우, 본 동작은 스텝 S305로 진행한다.
스텝 S305에서, 경로 정보 관리부 #n은, 해당 TCP-CB(n)에서의 변수 "rcv_nxt"에 의해 지정되는 세그먼트에 관한 특별한 헤더 내의 변수 "sack"가 변수 "path"와 일치하는지 여부의 판단을 행한다.
스텝 S305에서, 해당 TCP-CB(n)에서의 변수 "rcv_nxt"에 의해 지정되는 세그먼트에 관한 특별한 헤더 내의 변수 "sack"가 변수 "path"와 일치하는 경우, 스텝 S306에서, 변수 "rcv_nxt"로 설정하는 세그먼트를, 해당 TCP-CB(n)에서의 변수 "next"에 따라 다음으로 이동시킨다.
도 11의 경우, ACK(A)의 수신에 의해, 변수 "rcv_nxt"에는, 세그먼트 #4가 설정된다(세그먼트 #1에 부여된 특별한 헤더 내의 변수 "next"는, 경로 #1에 의해 다음으로 송신되는 세그먼트를 가리키기 때문이다). 이 처리는, 변수 "sack"가 변수 "path"에 일치하지 않는 세그먼트를 찾아낼 때까지 계속된다.
한편, 스텝 S305에서, 변수 "sack"가 변수 "path"에 일치하지 않는 세그먼트가 발견되었을 경우, 스텝 S307에서, 변수 "rcv_nxt"가 갱신되었는지 아닌지의 판단을 행한다.
변수 "rcv_nxt"가 갱신된 경우, 스텝 S308에서, 변수 "t_timer"를 취소하고, 스텝 S309에서, 모든 경로 정보 관리부에서, 최소의 변수 "rcv_nxt"까지의 세그먼트를 송신 세그먼트 관리부(11)에서 삭제한다. 스텝 S308은 스텝 S307의 다음에, 스텝 S308a에서, 변수 "rcv_nxt"에 상당하는 세그먼트의 변수 "p_seq"가 경로 정보 관리부(12)가 관리하는 변수 "t_seq"에 상당하는 세그먼트의 변수 "p_seq"를 넘는 경우 취소된다. 한편, 스텝 S309는, 스텝 S308의 유무에 관계없이, 스텝 S308의 다음에 반드시 실행된다.
한편, ACK(B)를 수신한 경우, 도 11의 예에서, TCP-CB(n)에서의 변수 "rcv_nxt"는, 세그먼트 #4이며(ACK(A)의 수신에 의해, 변수 "rcv nxt"는 갱신되어 있다. SACK 옵션의 제1 블록은 세그먼트 #7을 통지하고 있지만, 변수 "rcv_nxt"에 설정되어 있는 세그먼트 #4를 포함하지 않기 때문에 본 동작은 스텝 S304로 이동한다), ACK 또는 SACK 옵션에 의해 수신측으로의 도착이 보고되어 있지 않으므로, 본 동작은 스텝 S304로 이동한다.
스텝 S304에서는, 해당 경로로 송신한 세그먼트에 대하여, 변수 "sack"에 설정되어 있는 경로의 식별 정보와 변수 "path"에 설정되어 있는 경로의 식별 정보가 일치하는 세그먼트의 최대의 시퀀스 번호를, 해당 TCP-CB(n)에서의 변수 "max_sack"로 설정한다. 도 11의 예에서는, ACK(B)를 수신한 경우, 해당 TCP-CB(n)에서의 변수 "max_sack"에는, 세그먼트 #7이 설정된다.
다음에, 스텝 S310에서, 변수"max_sack"와 변수"rcv_nxt" 사이에, 변수 "sack"가 설정되어 있지 않은 세그먼트가 몇 개 있는지 카운트한다. 이와 같은 계 산은, 변수 "rcv_nxt", 변수 "max_sack", 변수 "p_seq"를 참조함으로써 용이하게 행할 수 있다.
이와 같은 세그먼트가 3개 이상 있는 경우, 스텝 S311에서, 변수 "max_sack" 이하에서, 해당 경로로부터 송신한 세그먼트 중에서, 변수 "sack"가 설정되어 있지 않은 세그먼트 및 변수 "snd_nxt" 이상에서, 해당 경로에 예약되어 있는 세그먼트의 "rsv" 플래그를 소거하고, 재송신 모드로 이행한다(변수 "snd-nxt" 이상에서 예약이 완료된 세그먼트는 송신 예약이 행해지고 있지만 아직 송신되지 않은 세그먼트이다).
도 11의 예의 경우, 세그먼트 #4, #5, #6의 세그먼트의 "rsv" 플래그가 소거된다.
동시에, 스텝 S312에서, 해당 초기화 결과에 기초하여, TCP-CB(n)에서, 변수 "rsv_num", 변수 "snd_num", 변수 "snd_nxt"를 갱신한다.
그리고, ACK 수신에 의해서가 아니라, 변수 "t_timer"의 만료에 의해서도 재송신 모드로 이행한다. 이 경우의 동작은, 스텝 S311에서 시작된다. 다만, 스텝 S311에서는, 변수 "max_sack" 이하이었던 것이, 변수 "t_timer"의 만료는 변수 "snd_nxt" 이하로 된다.
세 번째로, 도 11 및 도 12를 참조하여, 본 실시예에 관한 송신 단말기(10)의 "재송신 모드"에서의 동작에 대하여 설명한다.
도 12에 나타낸 바와 같이, 스텝 S401에서는, 송신 단말기(10)에서 "재송신 모드"가 기동한다. 이때, 경로 정보 관리부(#n)는, TCP-CB(n)에서, 변수 "cwnd"의 절반의 값을 변수 "ssthresh"에 설정하는 동시에, 변수 "cwnd"에 "1"을 설정한다. 그리고, 경로 정보 관리부(#n)는, 무선 종류를 고려하여 해당 변수 "cwnd" 및 해당 변수 "ssthresh"를 설정하도록 구성되어 있어도 된다.
스텝 S403에서, 송신 세그먼트 관리부(11)는, 각 경로 정보 관리부(#n)에 의해 관리되고 있는 TCP-CB(TCP 제어 정보)에 기초하여, 해당 세그먼트에 대한 송신 예약을 다시 수행한다. 여기서, 복수 개의 경로를 이용하고 있는 경우에는, 변수 "path"에 나타나 있는 경로의 식별 정보와 다른 경로로 송신 예약을 수행한다(변수 "path"로 나타나 있는 경로에 의해 세그먼트가 유실되어 있으므로, 다시 그 경로를 이용하면, 또 유실될 가능성이 높기 때문에, 세그먼트를 재송신할 때에는 새로운 경로를 이용한다).
여기서, 송신 세그먼트 관리부(11)는, 송신 예약을 행한 세그먼트에 부여되어 있는 특별한 헤더에서, 변수 "path" 및 "rsv" 플래그를 설정하고, 경로 정보 관리부(#n), TCP-CB(n)에서의 변수 "rsv_num"를 갱신한다.
스텝 S404에서, 세그먼트 송신부(13)는, 전술한 스텝 S104의 동작과 마찬가지로, 복수 개의 경로(#1~#3)를 동시에 사용하여, 송신 예약이 행해지고 있는 세그먼트를 차례로 수신 단말기(30)에 송신한다.
여기서, 세그먼트 송신부(13)가 특정 경로를 통하여 세그먼트를 송신한 경우, 송신 세그먼트 관리부(11)는, 해당 세그먼트에 관한 특별한 헤더에서의 "snd"플래그에 "1"을 설정하고, 경로 정보 관리부(12)는, 해당 특정 경로에 관한 TCP-CB에서의 변수 "rsv_num"로부터 송신한 세그먼트의 데이터량을 감소시키며, 해당 특 정 경로에 관한 TCP-CB에서의 변수 "snd_num"으로 송신한 세그먼트의 데이터량을 추가한다.
세그먼트 송신부(13)가, 세그먼트를 송신할 때마다, 경로 정보 관리부(12)는, 해당 세그먼트보다 뒤에 위치하는 세그먼트 중에서 선택된 "rsv" 플래그에 "1"이 설정되어 있는 특별한 헤더를 가지는 세그먼트의 개시 위치를, 변수 "snd_nxt"로 설정한다.
그리고, 세그먼트 송신부(13)가 세그먼트를 송신할 때에, 변수 "t_timer"가 설정되어 있지 않은 경우, 경로 정보 관리부(12)는 변수 "t_timer"에, 변수 "rtt" 등으로부터 계산되는 새로운 타임 아웃 값을 설정하고, 변수 "t_seq"에, 송신된 세그먼트의 시퀀스 번호(seq)를 설정한다.
네 번째로, 도 13 내지 도 15를 참조하여, 본 실시예에 관한 수신 단말기(30)가 송신 단말기(10)에 의해 송신된 세그먼트를 수신하는 동작에 대하여 설명한다.
도 13에 나타낸 바와 같이, 스텝 S501에서, 수신 단말기(30)의 세그먼트 수신부(31)는, 수신한 세그먼트를, 해당 세그먼트를 수신한 경로의 [(송신자의 IP 어드레스, 포트 번호), (수신자의 IP 어드레스, 포트 번호)]의 4개의 어드레스에 따라, 적절한 경로 정보 관리부(#n)에 전송한다.
여기서, 수신 세그먼트 관리부(33)는, 경로 정보 관리부(#n)로부터 전송된 세그먼트에 특별한 헤더를 부여하여 관리한다. 그리고, 수신 세그먼트 관리부(33)는, 수신한 세그먼트의 시퀀스 번호 순으로, 해당 세그먼트를 관리하도록 구성되어 있어도 된다.
여기서, 수신 세그먼트 관리부(33)는, 해당 세그먼트에 부여된 특별한 헤더에서, 해당 경로로, 해당 세그먼트의 하나 이전에 수신된 세그먼트의 특별한 헤더의 변수 "next"에 해당 세그먼트를 설정한다.
세그먼트 송신부(34)는, 스텝 S502에서, 수신 세그먼트 관리부(33)에 의해 수신된 세그먼트에 대한 ACK를 생성하고, 스텝 S503에서, 이와 같은 ACK에 부여하기 위해, SACK 옵션을 생성한다.
여기서, SACK 옵션에서의 제1 블록은, 이번에 수신한 세그먼트를 포함하는 블록을 나타내고, SACK 옵션에서의 제2 블록은, 이번에 수신한 세그먼트와 동일한 경로를 통하여 이전에 수신한 세그먼트를 나타내고, SACK 옵션에서의 제3 블록은, 이번에 수신한 세그먼트와 동일한 경로를 통하여 전전번에 수신한 세그먼트를 나타낸다.
도 14의 예에서는, 경로 #1을 통하여 세그먼트 #10이 수신된 경우에 생성되는 ACK(A)에 부여되는 SACK 옵션에서, 제1 블록에 "세그먼트 #10의 식별 정보"가 설정되고, 제2 블록에 "세그먼트 #8의 식별 정보"가 설정되고, 제3 블록에 "세그먼트 #3, #4의 식별 정보(3-4)"가 설정된다. 그리고, 이러한 경우, 종래의 SACK 옵션에서는, 제3 블록에 "세그먼트 #6의 식별 정보"가 설정된다.
또, 도 14의 예에서는, 경로 #n을 통하여 세그먼트 #11이 수신된 경우에 생성되는 ACK(B)에 부여되는 SACK 옵션에서, 제1 블록에 "세그먼트 #10, #11의 식별 정보(10-11)"가 설정되고, 제2 블록에 "세그먼트 #6의 식별 정보"가 설정되며, 제3 블록에 "세그먼트 #3, #4의 식별 정보(3-4)"가 설정된다. 그리고, 이러한 경우, 종래의 SACK 옵션에서는, 제2 블록에 "세그먼트 #8의 식별 정보"가 설정되고, 제3 블록에 "세그먼트 #6의 식별 정보"가 설정된다.
스텝 S504에서, 경로 정보 관리부(#n)는, 변수 "rcv_nxt"를 참조함으로써, 동일한 경로를 통한 세그먼트의 수신이 연속되어 있는지 아닌지에 대하여 판정한다. 연속되어 있는 경우, 본 동작은 스텝 S505로 진행하고, 연속되지 않는 경우, 본 동작은 스텝 S506으로 진행한다.
스텝 S505에서, 경로 정보 관리부(#n)는, TCP-CB(n)에서, 변수 "rcv_nxt"에, 수신한 해당 세그먼트의 다음 세그먼트의 식별 정보를 설정하고, 변수 "del_ack"에, 스텝 S502에서 생성한 ACK에 의해 통지되는 세그먼트(아직 수신하지 않은 세그먼트 중 가장 시퀀스 번호가 작은 세그먼트)의 식별 정보를 설정하고, 변수 "p_sack1~p_sack3"에, 스텝 S503에서 생성한 SACK 옵션의 각 블록에 의해 통지되는 세그먼트의 식별 정보를 설정한다. 또, 경로 정보 관리부(#n)는, TCP-CB(n)에서, 변수 "del_timer"를 기동한다. 변수 "del_timer"가 만료하는 사이에, 새로운 세그먼트를 수신하지 못한 경우, 변수 "del_ack"의 값이 돌려 보내진다(새로운 세그먼트를 수신한 경우, 변수 "del_timer"는 취소된다). 스텝 S505로 진행하기 전에, 스텝 S505a에서, ACK가 기억되어 있는지 아닌지를 판단하고, 기억되어 있는 경우에는 스텝 S506으로 이동하고, 기억되어 있지 않은 경우에는 스텝 S505로 이동한다.
스텝 S506에서, 세그먼트 송신부(34)는, TCP-CB(n)에서의 변수 "p_sack1~p_sack3"에 따라, ACK를 생성하여 송신한다. 이러한 경우, 경로 정보 관 리부(#n)는, 필요에 따라, TCP-CB(n)에서의 변수 "rcv_nxt"를 갱신한다.
도 15의 예에서, 세그먼트 송신부(34)는, 세그먼트 #6 및 세그먼트 #7에 대하여, 동일한 경로 #2를 통하여 연속하여 수신하고 있으므로, 세그먼트 #6 및 세그먼트 #7의 수신 성공에 대하여, 2개의 ACK에 의해 통지하는 것이 아니라, 1개의 ACK에 의해 통지하도록 구성되어 있다.
(본 발명의 제1 실시예에 관한 통신 단말기의 작용 및 효과)
본 실시예에 관한 통신 단말기에 의하면, 세그먼트의 송신이 통상적인 TCP 헤더만을 사용하여 행해지도록 구성되어 있으므로, 본 발명에 관한 기술을 적용하고 있지 않은 수신 단말기(30) 사이에서도 통신을 행할 수 있다.
본 실시예에 관한 통신 단말기에 의하면, 복수 개의 경로를 통하여 ACK를 송신하도록 구성되어 있으므로, RTT를 정확하게 측정하는 것이 가능하고, 각 경로에 대해서 통상적인 TCP 제어와 동등한 제어를 행할 수 있다.
본 실시예에 관한 통신 단말기에 의하면, 복수 개의 ACK(송달 확인 신호)를 함께 송신하는 것이 가능하므로(예를 들면, C-ACK를 지원할 수 있음), 송신하는 ACK의 수를 감소시킬 수 있다.
(제1 변경예)
도 16 및 도 17을 참조하여, 본 발명의 제1 변경예에 대하여 설명한다. 도 16에 나타낸 바와 같이, 제1 변경예에 관한 송신 단말기(A)의 세그먼트 수신부(13)는, 인접한 통신 단말기(B~E) 사이에서 애드혹 네트워크를 형성하고, 해당 애드혹 네트워크 내의 경로(#1~#3)를 통하여 세그먼트를 송신하도록 구성되어 있다.
그리고, 송신 단말기(A)는, 논문 "A hybrid Approach to Internet Connectivity for Mobile Ad Hoc Networks(P. Ratanchandani and R. Kravets 저, Proceedings of IEEE WCNC, 2003년)"나, 논문 "Internet Connectivity for Ad Hoc Networks(Y. Sun, E. Belding-Royer, C. Perkins 저, International Journal of Wireless Information Networks, special issue on Mobile Ad Hoc Networks(MANETs): Standards, Research, Applications, 9(2), 2002년 4월)" 등에 기재된 기술을 사용하여, 고정 네트워크와의 게이트웨이로 되는 단말기(C~E)에 대하여 미리 알아둘 필요가 있다.
도 17에 나타낸 바와 같이, 송신 단말기(A)가, 경로(#1)를 통하여, 목적지 어드레스로서 "송신 단말기(F)의 어드레스"를 설정하고, 송신원 어드레스로서 "수신 단말기(A)의 어드레스"를 설정한 제1 헤더를 포함하는 제1 패킷을 사용하여, 수신 단말기(F)를 목적지로 하는 세그먼트를 송신하는 경우를 상정한다.
첫 번째로, 송신 단말기(A)는, 목적지 어드레스로서 "송신 단말기(E)의 어드레스"를 설정하고, 송신원 어드레스로서 "수신 단말기(A)의 어드레스"를 설정한 제2 헤더에 의해 제1 패킷을 캡슐화한 제2 패킷을, 단말기(E)에 송신한다.
두 번째로, 단말기(E)는, 수신한 제2 패킷에 포함된 제1 패킷을, 목적지 어드레스로서 "송신 단말기(F)의 어드레스"를 설정하고, 송신원 어드레스로서 "수신 단말기(E)의 어드레스"를 설정한 제3 헤더에 의해 다시 캡슐화한 제3 패킷을, 수신 단말기(F)에 대해서 송신한다.
세 번째로, 수신 단말기(F)는, 제3 패킷의 헤더에 따라, 해당 세그먼트가 송 신된 경로를 판별한다. 도 17의 예에서, 수신 단말기(F)는, 제1 헤더 및 제3 헤더를 참조함으로써, 경로 F→E→A를 판별할 수 있다.
그리고, 제1 변경예에 관한 수신 단말기(F)의 세그먼트 송신부(34)도, 제1 변경예에 관한 송신 단말기(A)의 세그먼트 송신부(13)와 마찬가지로, 인접한 통신 단말기 사이에 애드혹 네트워크를 형성하고, 이러한 애드혹 네트워크 내의 경로를 통하여 세그먼트를 수신하도록 구성되어 있어도 된다.
본 실시예에 관한 통신 단말기에 의하면, 인접한 통신 단말기 사이에 형성된 애드혹 네트워크 내의 경로를 이용함으로써, 복수 개의 인터페이스를 가지지 않는 통신 단말기에서도, 송신 단말기와 수신 단말기 사이에 존재하는 복수 개의 경로를 동시에 이용하여 통신을 행하는 것(즉, 멀티 홈 접속)을 실현할 수 있다.
또, 수신 단말기가, 전술한 바와 같은 제1 변경예에 대응하는 기능을 구비하고 있지 않은 경우라도, RFC3775에 규정되어 있는 "Mobile IP"(모바일 IP) 기능을 구비하고 있는 경우, 송신 단말기가 패킷을 사용하여 세그먼트를 송신할 때에, 해당 패킷을 송신한 인터페이스에 해당하는 어드레스에 대한 BU(Binding Update: 바인딩 업데이트)를 부가함으로써, ACK가 되돌아 오는 인터페이스를 조작하고, 또한 SACK 옵션의 제1 블록을 참조함으로써, 세그먼트 수신부(14)가, 적절한 경로 정보 관리부(#n)에, 수신한 ACK를 송신하는 것이 가능해져, 수신 단말기가 전술한 바와 같은 제1 변경예에 대응하는 기능을 구비한 경우와 마찬가지의 장점을 갖는 것이 가능해진다.
이상 설명한 바와 같이, 본 발명에 의하면, 통상적인 TCP 헤더 이외의 헤더를 사용하지 않고, 통상적인 TCP와 마찬가지의 제어를 행할 수 있는 멀티 홈 대응 트랜스포트 프로토콜을 실현하는 통신 방법 및 통신 단말기를 제공하는 것이 가능하다.

Claims (11)

  1. 복수 개의 경로를 동시에 사용하여, 데이터를 수신 단말기에 송신할 수 있는 통신 단말기로서,
    상기 복수 개의 경로의 각각에 관한 TCP 제어 정보를 관리하도록 구성되어 있는 경로 정보 관리부;
    수신 단말기에 송신해야 할 데이터를 분할하여 생성한 세그먼트를 기억하도록 구성되어 있는 송신 세그먼트 관리부; 및
    상기 송신 세그먼트 관리부로부터 상기 세그먼트를 추출하여 상기 수신 단말기에 송신하도록 구성되어 있는 세그먼트 송신부
    를 구비하고,
    상기 송신 세그먼트 관리부는, 상기 TCP 제어 정보에 기초하여, 상기 세그먼트와 상기 세그먼트의 송신에 사용되는 경로를 연관시켜 기억함으로써, 상기 세그먼트에 대한 송신 예약을 수행하도록 구성되어 있으며,
    상기 세그먼트 송신부는, 상기 송신 세그먼트 관리부로부터 상기 세그먼트만을 추출하여, 상기 세그먼트에 연관된 경로를 통하여 상기 세그먼트를 상기 수신 단말기에 송신하도록 구성되어 있는 것을 특징으로 하는 통신 단말기.
  2. 제1항에 있어서,
    상기 세그먼트에 관한 송달 확인 신호가, 상기 세그먼트의 송신에 이용된 경로와 동일한 경로를 통하여 수신된 경우, 상기 송신 세그먼트 관리부 내의 모든 세그먼트 중에서, 송달 확인 신호를 수신하지 않은 세그먼트의 최소 시퀀스 번호보다 작은 시퀀스 번호를 가지는 세그먼트를 상기 송신 세그먼트 관리부로부터 삭제하도록 구성되어 있는 세그먼트 수신부를 구비하는 것을 특징으로 하는 통신 단말기.
  3. 제1항에 있어서,
    상기 송신 세그먼트 관리부는, 타임 아웃을 검출한 경우, 송달 확인 신호를 수신하지 않은 모든 세그먼트에 대한 송신 예약을 취소하고, 다시 상기 TCP 제어 정보에 따라, 상기 세그먼트에 대한 송신 예약을 수행하도록 구성되어 있는 것을 특징으로 하는 통신 단말기.
  4. 제1항에 있어서,
    상기 송신 세그먼트 관리부는, 선택 송달 확인 신호를 수신한 최대의 세그먼트와 다음에 송달 확인 신호를 수신해야 할 세그먼트의 사이에, 송달 확인 신호를 수신하지 않은 세그먼트가 소정 수 이상 있는 경우, 선택 송달 확인 신호를 수신한 최대 세그먼트의 시퀀스 번호 이하의 시퀀스 번호로 송달 확인 신호를 수신하지 않은 세그먼트 및 미송신의 세그먼트에 대한 송신 예약을 취소하고, 다시 상기 TCP 제어 정보에 따라, 상기 세그먼트에 대한 송신 예약을 수행하도록 구성되어 있는 것을 특징으로 하는 통신 단말기.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 세그먼트 송신부는, 인접한 통신 단말기 사이에 애드혹 네트워크를 형성하고, 상기 애드혹 네트워크 내의 상기 경로를 통하여 상기 세그먼트를 송신하도록 구성되어 있는 것을 특징으로 하는 통신 단말기.
  6. 복수 개의 경로를 동시에 사용하여, 송신 단말기로부터 데이터를 수신할 수 있는 통신 단말기로서,
    상기 복수 개의 경로의 각각에 관한 TCP 제어 정보를 관리하도록 구성되어 있는 경로 정보 관리부;
    상기 복수 개의 경로를 통하여, 상기 데이터를 분할하여 생성된 세그먼트를 수신하도록 구성되어 있는 세그먼트 수신부;
    수신한 상기 세그먼트를, 상기 세그먼트가 송신된 경로마다 기억하도록 구성되어 있는 수신 세그먼트 관리부; 및
    상기 TCP 제어 정보에 기초하여, 각 경로를 통한 세그먼트의 수신 결과를 통지하기 위한 송달 확인 신호를 송신하도록 구성되어 있는 세그먼트 송신부
    를 구비하는 것을 특징으로 하는 통신 단말기.
  7. 제6항에 있어서,
    상기 송달 확인 신호는, 상기 경로를 통하여 수신에 성공한 세그먼트의 시퀀스 번호를 통지하도록 구성되어 있는 것을 특징으로 하는 통신 단말기.
  8. 제6항에 있어서,
    동일한 경로를 통하여 시퀀스 번호가 연속하는 복수 개의 세그먼트가 수신되어 있는 경우, 상기 송달 확인 신호는, 상기 복수 개의 세그먼트의 수신 결과와 함께 통지되도록 구성되어 있는 것을 특징으로 하는 통신 단말기.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 세그먼트 수신부는, 인접한 통신 단말기 사이에 애드혹 네트워크를 형성하고, 상기 애드혹 네트워크 내의 상기 경로를 통하여 상기 세그먼트를 수신하도록 구성되어 있는 것을 특징으로 하는 통신 단말기.
  10. 송신 단말기가 복수 개의 경로를 동시에 사용하여, 데이터를 수신 단말기에 송신하는 통신 방법으로서,
    상기 송신 단말기가, 상기 복수 개의 경로마다 관리되고 있는 TCP 제어 정보에 기초하여, 상기 수신 단말기에 송신해야 할 데이터를 분할하여 생성한 세그먼트와, 상기 세그먼트의 송신에 사용되는 경로를 연관시켜 송신 세그먼트 관리부에 기억시킴으로써, 상기 세그먼트에 대한 송신 예약을 수행하는 공정;
    상기 송신 단말기가, 상기 송신 세그먼트 관리부로부터 상기 세그먼트 만을 추출하여, 상기 세그먼트에 연관된 경로를 통하여 상기 세그먼트를 상기 수신 단말기에 송신하는 공정;
    상기 수신 단말기가, 수신한 상기 세그먼트를, 상기 세그먼트가 송신된 경로마다 관리하는 동시에, 상기 복수 개의 경로마다 관리되고 있는 TCP 제어 정보에 기초하여, 각 경로를 통한 세그먼트의 수신 결과를 통지하기 위한 송달 확인 신호를 송신하는 공정; 및
    상기 송신 단말기가, 상기 세그먼트에 관한 송달 확인 신호가, 상기 세그먼트의 송신에 이용된 경로와 동일한 경로를 통하여 수신된 경우, 상기 세그먼트 및 상기 세그먼트에 연관된 경로를 상기 송신 세그먼트 관리부로부터 삭제하는 공정
    을 포함하는 것을 특징으로 하는 통신 방법.
  11. 제10항에 있어서,
    상기 송신 단말기 및 상기 수신 단말기가 인접한 통신 단말기 사이에 애드혹 네트워크를 형성하는 공정을 포함하며,
    상기 송신 단말기는, 생성한 상기 세그먼트를 상기 애드혹 네트워크 내의 상기 경로를 통하여 상기 수신 단말기에 송신하고, 상기 수신 단말기는, 상기 애드혹 네트워크 내의 상기 경로를 통하여 상기 세그먼트를 수신하는 것을 특징으로 하는 통신 방법.
KR1020060059504A 2005-06-29 2006-06-29 통신 단말기 및 통신 방법 KR100784419B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005190613 2005-06-29
JPJP-P-2005-00190613 2005-06-29

Publications (2)

Publication Number Publication Date
KR20070001842A KR20070001842A (ko) 2007-01-04
KR100784419B1 true KR100784419B1 (ko) 2007-12-11

Family

ID=37591102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060059504A KR100784419B1 (ko) 2005-06-29 2006-06-29 통신 단말기 및 통신 방법

Country Status (4)

Country Link
US (1) US7817668B2 (ko)
KR (1) KR100784419B1 (ko)
CN (1) CN100469053C (ko)
TW (1) TWI334291B (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160062B2 (en) * 2006-01-31 2012-04-17 Microsoft Corporation Network connectivity determination based on passive analysis of connection-oriented path information
CN101132347A (zh) * 2006-08-24 2008-02-27 华为技术有限公司 一种实现tcp连接备份的系统及方法
JP5140975B2 (ja) * 2006-09-14 2013-02-13 富士通株式会社 移動通信システム及びその通信方法
US8677479B2 (en) * 2007-04-16 2014-03-18 Microsoft Corporation Detection of adversaries through collection and correlation of assessments
US8788888B2 (en) * 2008-03-14 2014-07-22 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for providing end user notification in a UPnP network
CN101582878B (zh) * 2008-05-13 2012-09-05 中国科学院声学研究所 一种针对时延敏感数据的传输方法
US9655003B2 (en) * 2009-03-19 2017-05-16 Georgia Tech Research Corporation Systems and methods for improved wireless interface aggregation
CN101599901B (zh) * 2009-07-15 2011-06-08 杭州华三通信技术有限公司 远程接入mpls vpn的方法、系统和网关
US8867381B2 (en) * 2009-09-23 2014-10-21 Aerovironment, Inc. Active multi-path network redundancy with performance monitoring
US9455897B2 (en) * 2010-04-06 2016-09-27 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
EP2381621A1 (en) * 2010-04-21 2011-10-26 Thomson Licensing Method for evaluating an available path bitrate based on an acknowledgment path selection
JP5678678B2 (ja) 2011-01-18 2015-03-04 富士通株式会社 プロバイダ網及びプロバイダエッジ装置
WO2012154506A1 (en) * 2011-05-06 2012-11-15 Interdigital Patent Holdings, Inc. Method and apparatus for bandwidth aggregation for ip flow
US9451415B2 (en) * 2011-06-17 2016-09-20 Qualcomm Incorporated Cooperative data transport
KR101884259B1 (ko) * 2011-08-11 2018-08-01 삼성전자주식회사 스트리밍 서비스를 제공하는 장치 및 방법
US9264353B2 (en) 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
US10218756B2 (en) 2012-01-06 2019-02-26 Comcast Cable Communications, Llc Streamlined delivery of video content
KR101411782B1 (ko) * 2012-09-14 2014-06-24 연세대학교 산학협력단 멀티 통신 인터페이스를 구비한 단말장치 및 이의 통신 제어 방법
EP2738995A1 (en) * 2012-11-30 2014-06-04 Thomson Licensing Method and multi-homed equipment for establishing a multipath connection
CN106464138B (zh) * 2014-06-10 2019-03-15 日立汽车系统株式会社 电子控制装置
CN105282196A (zh) * 2014-06-30 2016-01-27 中国科学院深圳先进技术研究院 一种文件的共享方法、装置及系统
KR102287821B1 (ko) * 2015-02-16 2021-08-10 삼성디스플레이 주식회사 유기 발광 디스플레이 장치 및 이를 포함하는 디스플레이 시스템
KR102482846B1 (ko) * 2015-09-10 2023-01-02 삼성디스플레이 주식회사 표시장치
CN109155777B (zh) * 2016-06-02 2021-09-14 瑞典爱立信有限公司 用于处置sctp分组的方法和网络节点
WO2018176419A1 (zh) * 2017-03-31 2018-10-04 华为技术有限公司 一种数据迁移方法和装置
US11196584B2 (en) * 2020-02-14 2021-12-07 Hughes Network Systems, Llc Network layer channel bonding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010095013A (ko) * 2000-04-06 2001-11-03 아오키 신조 Ip 전송망을 이용한 단말간 통신 접속 제어 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7230921B2 (en) * 2001-04-02 2007-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Concurrent use of communication paths in a multi-path access link to an IP network
US7277963B2 (en) * 2002-06-26 2007-10-02 Sandvine Incorporated TCP proxy providing application layer modifications
US7428595B2 (en) * 2002-09-30 2008-09-23 Sharp Laboratories Of America, Inc. System and method for streaming TCP messages in an enterprise network
US7535900B2 (en) * 2003-01-21 2009-05-19 Symmetricom, Inc. Multiple transmission bandwidth streams with defferentiated quality of service
US7567562B2 (en) * 2005-03-02 2009-07-28 Panasonic Corporation Content based secure rendezvous chaotic routing system for ultra high speed mobile communications in ad hoc network environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010095013A (ko) * 2000-04-06 2001-11-03 아오키 신조 Ip 전송망을 이용한 단말간 통신 접속 제어 방법

Also Published As

Publication number Publication date
US20070005787A1 (en) 2007-01-04
TW200718095A (en) 2007-05-01
KR20070001842A (ko) 2007-01-04
TWI334291B (en) 2010-12-01
CN1893707A (zh) 2007-01-10
CN100469053C (zh) 2009-03-11
US7817668B2 (en) 2010-10-19

Similar Documents

Publication Publication Date Title
KR100784419B1 (ko) 통신 단말기 및 통신 방법
US8260935B2 (en) Error control terminal discovery and updating
US20170230288A1 (en) Method for sending an acknowledgement to an ingress mesh point in a mesh network and a medium access control frame format
US7801142B2 (en) Method to avoid potential deadlocks in a SDU discard function
US8532106B2 (en) Header compression mechanism for transmitting RTP packets over wireless links
JP2007043678A (ja) 通信端末及び通信方法
JP2011508560A (ja) 移動通信システム及びそのpdcp状態報告転送方法
EP2754267B1 (en) Feedback protocol for end-to-end multiple path network systems
JP2007515817A (ja) アドホックネットワークにおける伝送情報の正確な制御
Ferrús et al. Towards transport-layer mobility: Evolution of SCTP multihoming
US20060259845A1 (en) Method and apparatus for acknowledging a bitwise data chunk in wireline and wireless communication systems
US20220225163A1 (en) Communications device, infrastructure equipment and methods
CN111491350A (zh) 无线链路控制业务数据单元传输方法和iab节点
JP5569452B2 (ja) 無線通信装置、方法及びプログラム
EP2047656A1 (en) Address updating method, corresponding mobile terminal and node
Wang et al. Concurrent multipath transfer protocol used in ad hoc networks
CN100471197C (zh) 用移动专用网络传输层有效发送/接收数据的方法、网络设备
US20070140171A1 (en) Radio link management in distributed network architecture
CN102377829B (zh) 基于hip的通信方法、系统及设备
KR20060031534A (ko) 전송제어 프로토콜을 사용하는 데이터 네트워크에서 다중 세그먼트 복구를 위한 가상 블록 정보의 송수신 방법 및 장치
Heimlicher et al. Saft: Reliable transport in mobile networks
KR100648832B1 (ko) 패킷 전송상태 확인 방법
ES2335571T3 (es) Procedimiento para la transmision de paquetes de datos.
KR20050064719A (ko) 이동통신 시스템에서의 데이터 송수신 방법
Sardar Analyzing buffer requirement for wireless enhancement of TCP in network mobility

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: 20111118

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20121121

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee