KR20130063716A - 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치 - Google Patents

이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치 Download PDF

Info

Publication number
KR20130063716A
KR20130063716A KR1020110130232A KR20110130232A KR20130063716A KR 20130063716 A KR20130063716 A KR 20130063716A KR 1020110130232 A KR1020110130232 A KR 1020110130232A KR 20110130232 A KR20110130232 A KR 20110130232A KR 20130063716 A KR20130063716 A KR 20130063716A
Authority
KR
South Korea
Prior art keywords
partial data
time
retransmission
network
data
Prior art date
Application number
KR1020110130232A
Other languages
English (en)
Other versions
KR101307827B1 (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 에스케이텔레콤 주식회사
Priority to KR1020110130232A priority Critical patent/KR101307827B1/ko
Publication of KR20130063716A publication Critical patent/KR20130063716A/ko
Application granted granted Critical
Publication of KR101307827B1 publication Critical patent/KR101307827B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은, 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 및 송수신 방법이 개시되어 있다. 즉, 본 발명의 이기종 네트워크 기반 데이터 동시 전송 송수신 장치는, 특정 전송대상 데이터에서 분할된 부분데이터를 2 이상의 접속 네트워크를 통해 수신하고, 상기 2 이상의 접속 네트워크를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬하고, 상기 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기하며, 상기 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달하고, 상기 전달되는 부분데이터에 대응하는 수신 애크를 상기 부분데이터를 송신하는 송신장치로 제공하여, 상기 송신장치가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한하는 구성을 포함하여, 불필요한 부분데이터 재송신을 미연에 방지하고 결과적으로 동시 전송 서비스의 전송 성능을 향상시킬 수 있다.

Description

이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치{APPARATUS FOR SIMULTANEOUSLY TRANSMITTING DATA IN HETEROGENEOUS NETWORK}
본 발명은 데이터 동시 전송 방안에 관한 것으로, 더욱 상세하게는, 데이터를 분할한 부분데이터를 복수개의 이기종 네트워크를 사용하여 송/수신하는 동시 전송 서비스를 제공하는 환경에서, 네트워크 간 전송지연이 상이함에 따라 수신된 부분데이터를 순서에 따라 재정렬하여 미 수신된 부분데이터 이후의 부분데이터를 대기하는 수신버퍼 내의 대기시간을 동적으로 설정하여 동작함으로써, 송신측 장치에서 발생되는 불필요한 재송신타임아웃시간 기반 부분데이터 재송신을 미연에 방지하고 결과적으로 동시 전송 서비스의 전송 성능을 향상시킬 수 있는 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 및 송수신 방법에 관한 것이다.
최근, 사업자는 다수의 무선 기술을 바탕으로 한 서비스를 동시에 제공하는 경우가 많다. 국내의 경우 주요 사업자는 WCDMA, CDMA, WiBro 및 최근 근거리 무선 네트워크인 WLAN(WiFi) 기술까지 도입하여 네트워크를 구축, 서비스하고 있다. 더불어 최근에는 LTE(Long Term Evolution) 망이 활발히 도입되고 있다.
이처럼 여러 네트워크가 혼재된 이기종 네트워크(Heterogeneous network) 환경에서 단말장치가 이를 통해 데이터 서비스를 이용하는 현재 방식은, 단말장치 사용자의 직접적인 변경에 의한 네트워크 선택 방식으로 사업자 측의 개입(controllability)이 배제된 방식이기 때문에 사업자 입장을 고려할 때 소극적인 방식이라 할 수 있다.
한편, 스마트폰, 태블렛 PC 등 다양한 무선 기기들이 증가하고 데이터 요금이 저렴해지며 동시에 다양한 대용량 데이터 서비스가 증가하고 있는 현 시점에서, 사업자의 네트워크 부하율이 급격히 상승함에 따라 망 투자비 과다 지출 및 서비스 안정성 측면에서 위협을 받고 있는 실정이다.
이에, 여러 네트워크가 혼재된 이기종 네트워크 환경에서 네트워크의 상태에 따라 능동적으로 단말장치의 네트워크를 선택하고, 선택된 네트워크를 이용한 효율적인 데이터 전송을 위한 새로운 서비스 방안이 요구되고 있다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은 특정 전송대상 데이터에서 분할된 부분데이터를 2 이상의 접속 네트워크를 통해 수신하고, 상기 2 이상의 접속 네트워크를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬하고, 상기 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기하며, 상기 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달하고, 상기 전달되는 부분데이터에 대응하는 수신 애크를 상기 부분데이터를 송신하는 송신장치로 제공하여, 상기 송신장치가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한하는 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 및 방법을 제공하여, 불필요한 부분데이터 재송신을 미연에 방지하고 결과적으로 동시 전송 서비스의 전송 성능을 향상시키는데 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 장치는, 특정 전송대상 데이터에서 분할된 부분데이터를 2 이상의 접속 네트워크를 통해 수신하는 통신부; 상기 2 이상의 접속 네트워크를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기하며, 상기 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달하는 수신버퍼부; 및 상기 수신버퍼부로부터 전달되는 부분데이터에 대응하는 수신 애크를 상기 부분데이터를 송신하는 송신장치로 제공하여, 상기 송신장치가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한하는 제어부를 포함한다.
바람직하게는, 상기 대기시간은, 상기 재송신타임아웃시간 예측 시 이용되는 네트워크정보 및 상기 재송신타임아웃 중 적어도 하나를 기초로 설정될 수 있다.
바람직하게는, 상기 대기시간은, 상기 2 이상의 접속 네트워크 각각에 대한 패킷왕복시간 중 최대 패킷왕복시간을 기초로 설정될 수 있다.
바람직하게는, 상기 제어부는, 상기 수신버퍼부로부터 전달되는 부분데이터가 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터인 경우, 상기 미 수신된 특정 순서정보의 부분데이터에 대한 재송신을 유도하는 재송신유도메시지를 포함하는 상기 수신 애크를 상기 송신장치로 제공할 수 있다.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 방법은, 특정 전송대상 데이터에서 분할된 부분데이터를 2 이상의 접속 네트워크를 통해 수신하는 부분데이터 수신단계; 상기 2 이상의 접속 네트워크를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬하는 순서 재정렬단계; 상기 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기하며, 상기 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달하는 전달 대기단계; 및 상기 전달되는 부분데이터에 대응하는 수신 애크를 상기 부분데이터를 송신하는 송신장치로 제공하여, 상기 송신장치가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한하는 수신애크 제공단계를 포함한다.
바람직하게는, 상기 대기시간은, 상기 재송신타임아웃시간 예측 시 이용되는 네트워크정보 및 상기 재송신타임아웃 중 적어도 하나를 기초로 설정될 수 있다.
바람직하게는, 상기 대기시간은, 상기 2 이상의 접속 네트워크 각각에 대한 패킷왕복시간 중 최대 패킷왕복시간을 기초로 설정될 수 있다.
바람직하게는, 상기 수신애크 제공단계는, 상기 전달되는 부분데이터가 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터인 경우, 상기 미 수신된 특정 순서정보의 부분데이터에 대한 재송신을 유도하는 재송신유도메시지를 포함하는 상기 수신 애크를 상기 송신장치로 제공할 수 있다.
이에, 본 발명의 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 및 송수신 방법에 의하면, 동시 전송 서비스를 제공하는 환경에서, 각 접속 네트워크에 대한 상이한 전송지연(latency)에 근거하는 송신측 장치의 재송신타임아웃시간 또는 각 접속 네트워크 별 패킷왕복시간을 기초로 하는 동적/적응적 대기시간(T_th)을 수신측 장치의 수신버퍼에 설정하고, 수신된 부분데이터를 순서정보에 따라 재정렬함에 있어서 미 수신된 부분데이터의 이수 순서를 갖는 부분데이터라도 대기시간(T_th)이 경과하면 수신 애크를 송신측 장치로 제공함으로써, 수신측 장치에 실제로 수신되지 않은 부분데이터에 대해서만 중복 애크 기반 재송신 동작 또는 재송신타임아웃시간 기반 재송신 동작이 수행되도록 하며, 미 수신된 부분데이터 이후 순서의 부분데이터에 대해서는 불필요한 재송신 특히 재송신타임아웃시간 기반 재송신 동작이 수행되는 것을 미연에 방지할 수 있다.
더불어, 본 발명의 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 및 송수신 방법에 의하면, 각 접속 네트워크에 대한 상이한 전송지연(latency)에 근거하는 송신측 장치의 재송신타임아웃시간 또는 각 접속 네트워크 별 패킷왕복시간을 기초로 대기시간(T_th)을 동적/적응적으로 설정하기 때문에, TCP 재송신 규칙에 따른 재송신타임아웃시간 기반 재송신 발생 경우를 최소화하여 TCP 전송 성능 저하를 효율적으로 예방할 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 이기종 네트워크 기반 데이터 동시 전송 시스템을 나타내는 구성도이다.
도 2는 본 발명의 바람직한 실시예에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 이기종 네트워크 기반 데이터 동시 전송 방법의 흐름을 나타내는 흐름도이다.
도 4는 본 발명의 바람직한 실시예에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 방법의 흐름을 나타내는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 이기종 네트워크 기반 데이터 동시 전송 시스템을 도시한 도면이다.
도 1에 도시된 바와 같이, 본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 시스템은, 전송 대상 데이터를 2 이상의 부분데이터로 분할하여 2 이상의 네트워크를 통해 전송하는 동시 전송 서비스를 지원하는 관리장치(400)과, 관리장치(400)에 접속하여 동시 전송 서비스를 이용하는 적어도 하나의 단말장치(100)를 포함한다.
여기서, 2 이상의 네트워크 즉 이기종의 네트워크는, WCDMA, CDMA, WiBro, WLAN(WiFi) 및 LTE(Long Term Evolution) 등을 포함할 수 있다.
그리고 본 발명에서는, 설명의 편의를 위해, 2 이상의 네트워크 중 무선 패킷 서비스 네트워크(WCDMA)를 지칭하는 제1네트워크(이하, "3G 네트워크"라 칭함)와, 근거리 무선 네트워크(WiFi)를 지칭하는 제2네트워크(이하, "WiFi 네트워크"라 칭함)로 한정하여 실시예를 설명하기로 한다. 이에 따라, 제1네트워크장치(200)는 3G 네트워크 즉, 무선 패킷 서비스 네트워크를 운용하기 위한 GGSN(Gateway GPRS Support Node) 장비를 지칭하게 되며, 아울러, 제2네트워크장치(300)는 WiFi 네트워크 즉, 근거리 무선 네트워크를 운용하기 위한 엑세스포인트(AP)를 지칭하게 된다.
더 나아가, 본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 시스템은, 관리장치(400)로부터 동시 전송 서비스에 따라 결합/복원된 데이터를 수신하는 외부장치(500) 및 네트워크 선택 정책을 제공하는 정책관리장치(미도시)를 포함할 수 있다.
여기서, 외부장치(500)는 관리장치(400)를 통해 단말장치(100)와의 데이터 송수신을 수행하는 서버장치를 지칭하는 것으로, 관리장치(400)를 통한 데이터 송수신을 통해 단말장치(100)에 예컨대, 포털서비스 및 컨텐츠 제공 서비스 등 다양한 서비스를 제공할 수 있다.
이에, 본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 서비스는, 단말장치(100) 및 외부장치(500) 간의 데이터 송수신에 대하여, 단말장치(100) 및 관리장치(400) 간에 하나의 데이터를 분할하고 분할된 부분데이터를 복수개의 이기종 네트워크(예 : 3G 및 WiFi)를 사용하여 송신하고, 수신된 부분데이터를 결합하여 원래의 데이터를 복원하는 동시 전송 서비스를 구현하고 있다.
이때, 단말장치(100) 및 관리장치(400)는, 서비스 플로우 즉 데이터 전송 서비스를 이용하여 데이터를 송신하는 주체에 따라 다시 말해 업링크 과정 및 다운링크 과정에 따라, 송신측의 장치도 될 수 있으며, 수신측의 장치도 될 수 있다. 본 실시예에서는 설명의 편의를 위해 이기종 네트워크 환경에 위치하여 단말장치(100)에 데이터 동시 전송 서비스를 제공하는 송신장치로서의 관리장치(400)를 상정하여 설명하고, 상기 관리장치(400)와 데이터 송수신을 수행하는 수신장치로서의 단말장치(100)를 상정하여 설명하기로 한다.
따라서, 본 발명에서 제공하는 동시 전송 서비스는, 하나의 데이터에서 분할된 부분데이터를 복수개의 이기종 네트워크(예 : 3G 및 WiFi)를 사용하여 동시에 전송하기 때문에, 단말장치(100) 측에서 복수개의 이기종 네트워크(예 : 3G 및 WiFi)를 통해 수신되는 부분데이터들을 분실/손실 없이 모두 수신하여 분할된 순서에 맞게 재정렬함으로써 전송대상 데이터로 복원하는 것이 매우 중요하다.
헌데, 각 네트워크 간 망 품질(Throughput, delay, loss 등)이 상호 상이할 뿐 아니라 실시간으로 각 네트워크의 망 상태가 가변적이기 때문에, 각 네트워크의 전송지연(latency) 간에는 차이가 존재한다. 따라서, 복수개의 이기종 네트워크(예 : 3G 및 WiFi)를 사용하여 각 부분데이터를 동시에 송신하더라도 네트워크 간 전송지연(latency) 차이로 인해 단말장치(100)에서 실제 각 네트워크(예 : 3G 및 WiFi)를 통해 수신되는 부분데이터의 수신시점에 차이가 생기기 때문에, 유실되지 않고 전송지연으로 인해 수신이 늦어지는 경우에도 TCP 재송신 규칙에 따라 불필요하게 부분데이터 패킷을 다시 재송신하게 되어 전반적인 TCP 성능이 저하될 수 있다.
즉, TCP 재송신 규칙에 따르면, 데이터(부분데이터 패킷)를 수신하는 수신측 장치로부터 중복 애크(Dup Ack)가 특정 횟수(예 : 3회) 수신됨에 따라 해당 데이터(부분데이터 패킷)을 재송신하는 중복 애크 기반 재송신 동작과, 데이터(부분데이터 패킷)에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃(RTO: Retransmission Time-Out)시간이 경과함에 따라 해당 데이터(부분데이터 패킷)를 재송신하는 재송신타임아웃시간 기반 재송신 동작이 일반적이다.
특히, 중복 애크 기반 재송신 동작 및/또는 재송신타임아웃시간 기반 재송신 동작에 의해 불필요한 재송신이 발생하면, TCP는 망 상태가 좋지 않은 것으로 판단하여 전송 속도를 인위적으로 낮춰 TCP 전송 성능 저하를 피할 수가 없으며, 특히 재송신타임아웃시간 기반 재송신 동작에 의해 불필요한 재송신이 발생하는 경우는 전송 속도를 낮추는 정도가 크기 때문에 이로 인해 TCP 전송 성능이 저하되는 정도 역시 우려되는 수준이라고 할 수 있다.
이에, 본 발명에서는, 동시 전송 서비스를 제공하는 환경에서 네트워크 간 전송지연이 상이함에 따라 수신된 부분데이터를 순서에 따라 재정렬하여 미 수신된 부분데이터 이후의 부분데이터를 대기하는 수신버퍼 내의 대기시간을 동적으로 설정하여 동작함으로써, TCP 재송신 규칙에 따라 불필요하게 부분데이터 패킷을 다시 재송신하게 되는 경우를 미연에 방지하는 구성을 제안하고자 한다.
설명의 편의를 위해 다운링크를 언급하여 설명하면, 송신측 장치로서의 관리장치(400)는, 각 접속 네트워크 별 패킷왕복시간(RTT)를 측정한다.
즉, 각각의 접속 네트워크 별로 전송지연(latency)이 상이하므로 접속 네트워크 별로 패킷왕복시간(RTT) 역시 상이할 것이다. 패킷왕복시간(RTT)은, 송신단(관리장치)에서 패킷(부분데이터)을 송신하여 송신단-수신단-송신단 까지 돌아오는데 걸리는 시간을 의미하며, RTT가 짧아지면 재송신타임아웃도 짧아지고, RTT가 길어지면 재송신타임아웃도 길어진다. 여기서 RTT가 짧다는 것은 패킷의 전송 속도가 빠르다는 것을 의미하므로 네트워크 품질이 좋음을 나타낸다.
이때, 관리장치(400)가 각 접속 네트워크 별 패킷왕복시간(RTT)를 측정하는 방법은 다양할 수 있다.
예를 들면, 관리장치(400)는, 접속 네트워크 각각을 통해 패킷왕복시간(RTT) 측정을 위한 별도 패킷을 단말장치(100)와 송수신함으로써 각 접속 네트워크 별 패킷왕복시간(RTT)를 측정할 수 있고, 또는 접속 네트워크 각각을 통해 패킷 간 지연시간 값 측정을 위해 단말장치(100)와 송수신하는 패킷에 근거한 패킷 간 지연시간 값 및 패킷 도착시간을 이용하여 각 접속 네트워크 별 패킷왕복시간(RTT)를 측정할 수 있다. 여기서, 지연시간 값은, 각 접속 네트워크 별로 전송하는 패킷에 대한 수신측의 패킷 간 도착 시간 차를 의미한다.
이에, 관리장치(400)는 주기적 또는 임의의 시기 또는 특정 이벤트 발생 시 마다 전술과 같은 다양한 패킷왕복시간(RTT) 측정 방법을 통해 접속 네트워크 별 패킷왕복시간(RTT)을 측정하고, 각 접속 네트워크 별 패킷왕복시간(RTT) 정보를 단말장치(100)로 제공할 수 있고, 더욱 바람직하게는 각 접속 네트워크의 패킷왕복시간(RTT) 중 최대 패킷왕복시간(RTT) 정보를 단말장치(100)로 제공할 수 있다.
한편, 관리장치(400)는 주기적 또는 임의의 시기 또는 특정 이벤트 발생 시 마다 전술과 같은 다양한 패킷왕복시간(RTT) 측정 방법을 통해 접속 네트워크 별 패킷왕복시간(RTT)을 측정하고, 이를 토대로 각 접속 네트워크의 평균 패킷왕복시간(RTT)를 계산할 수 있다.
그리고, 관리장치(400)는, 계산한 각 접속 네트워크의 평균 패킷왕복시간(RTT) 정보를 단말장치(100)로 제공할 수 있고, 바람직하게는 각 접속 네트워크의 평균 패킷왕복시간(RTT) 중 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 단말장치(100)로 제공할 수 있다.
이때, 관리장치(400)는, 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 주기적으로 단말장치(100)에 제공하거나, 또는 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보가 이전 정보에 비교하여 특정 비율 (β) 이상 변경된 경우 단말장치(100)에 제공할 수도 있다.
더불어, 관리장치(400)는, 주기적 또는 임의의 시기 또는 특정 이벤트 발생 시 마다 전술과 같은 다양한 패킷왕복시간(RTT) 측정 방법을 통해 접속 네트워크 별 패킷왕복시간(RTT)을 측정하면, 이러한 접속 네트워크 별 패킷왕복시간(RTT) 또는 전술의 접속 네트워크 별 평균 패킷왕복시간(RTT)을 이용하여, TCP 재송신 규칙에 기반이 되는 재송신타임아웃(RTO: Retransmission Time-Out)시간을 설정할 수 있다.
이러한 관리장치(400)는, 송신측 장치로서 동작하여, 기 설정된 접속 네트워크 별 데이터 전송비율을 기초로 전송대상 데이터에서 분할된 부분데이터를 접속 네트워크 별로 선택한다.
다시 말해, 관리장치(400)는, 외부장치(500)로부터 단말장치(100)로 전송하고자 하는 전송대상 데이터를 전달 받으면 이를 부분데이터로 분할하고, 네트워크(예 : 3G 및 WiFi) 별 데이터 전송비율 즉 제1네트워크장치(200)로의 데이터 전송을 위한 제1전송비율 및 제2네트워크장치(300)로의 데이터 전송을 위한 제2전송비율을 확인하여, 확인된 전송비율을 기반으로 전송대상 데이터에서 분할된 부분데이터 중 제1네트워크장치(200)로 전송할 제1부분데이터를 선택함과 아울러, 나머지 부분데이터 중 제2네트워크장치(300)로 전송할 제2부분데이터를 선택하게 된다.
그리고, 관리장치(400)는, 네트워크(예 : 3G 및 WiFi) 별로 선택된 각 부분데이터를 각 네트워크(예 : 3G 및 WiFi)로 송신하고, 이에 제1네트워크장치(200)는 관리장치(400)에서 송신된 제1부분데이터를 단말장치(100)로 전송하며, 제2네트워크장치(300)는 관리장치(400)에서 송신된 제2부분데이터를 단말장치(100)로 전송하게 된다.
이에 본 발명의 수신측 장치로서의 단말장치(100)는, 2 이상의 접속 네트워크를 통해 부분데이터를 수신하고, 수신된 부분데이터의 순서정보에 근거하여 분할 순서에 따라 재정렬하고, 정상적으로 재정렬된 부분데이터들을 결합함으로써 전송대상 데이터를 복원할 수 있다.
즉, 단말장치(100)는, 2 이상의 접속 네트워크를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 수신버퍼(도 2의 수신버퍼부(120))에 재정렬한다.
이때, 단말장치(100)는, 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터에 대해서는 상위 계층 즉 TCP에 따른 수신 애크 송신 및 부분데이터 결합을 수행하는 기능부(도 2의 제어부(130))로 전달한다.
이 경우, 단말장치(100)는 상위 계층으로 전달된 부분데이터 각각에 대응되는 수신 애크 즉 정상적인 순서에 따라 정상 수신됨을 알리는 Ack를 관리장치(400)로 제공할 것이다.
반면, 단말장치(100)는, 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대해서는 상위 계층으로의 전달을 대기하고, 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간(T_th)이 경과하는 경우 전달한다.
이에, 단말장치(100)는, 상위 계층으로 전달된 부분데이터 각각에 대응되는 수신 애크를 관리장치(400)로 제공하여, 관리장치(400)가 미 수신된 부분데이터의 이후 순서정보를 갖지만 대기시간(T_th) 동안 수신버퍼에서 대기된 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한할 수 있다.
즉, 단말장치(100)에 수신되었지만 이전 순서의 부분데이터가 수신되지 않음에 따라 수신 애크가 관리장치(400)로 전송되지 않는 부분데이터에 대해서도 수신버퍼에서 대기시간(T_th) 동안 대기한 경우라면 상위 계층으로 전달함으로써, 관리장치(400)에 수신 애크가 전송될 수 있도록 하는 것이다.
여기서, 대기시간(T_th)은, 관리장치(400)에서 재송신타임아웃시간 기반 재송신 동작 시 이용되는 재송신타임아웃(RTO)시간을 예측할 때 이용된 네트워크정보 및 상기 재송신타임아웃(RTO)시간 중 적어도 하나를 기초로 설정되는 것이 가능하다.
예를 들면, 관리장치(400)는, 2 이상의 접속 네트워크 각각의 네트워크특성정보, 2 이상의 접속 네트워크 별 전송지연(latency)값 등을 포함하는 네트워크정보를 이용하여 재송신타임아웃(RTO)시간을 계산/예측할 수 있다. 다시 말해, 재송신타임아웃(RTO)시간 예측 시 이용되는 네트워크정보는, 2 이상의 접속 네트워크 각각의 네트워크특성정보, 2 이상의 접속 네트워크 별 전송지연(latency)값 등을 포함한다.
이에, 단말장치(100)는, 관리장치(400)로부터 전술의 네트워크정보 및 재송신타임아웃(RTO)시간 정보 중 적어도 어느 하나를 획득하여, 네트워크정보 및 재송신타임아웃(RTO)시간 중 적어도 하나를 기초로 대기시간(T_th)을 동적으로 설정할 수 있다.
한편, 대기시간(T_th)은, 2 이상의 접속 네트워크 각각에 대한 패킷왕복시간 중 최대 패킷왕복시간을 기초로 설정 되는 것이 바람직하다.
예를 들면, 단말장치(100)는, 전술과 같이 관리장치(400)로부터 제공되는 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 획득할 수 있다. 이에, 단말장치(100)는, 최대 패킷왕복시간(RTT) 또는 최대값을 갖는 평균 패킷왕복시간(RTT)를 기초로 대기시간(T_th)을 동적으로 설정할 수 있다.
물론, 단말장치(100)는, 전술에서와 같이 관리장치(400)가 각 접속 네트워크 별 패킷왕복시간(RTT)을 측정하는 다양한 방법을 자체적으로 수행하여 관리장치(400)로부터 획득하지 않고도 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 자체적으로 획득할 수도 있을 것이다.
한편, 단말장치(100)는, 대기시간(T_th)을 설정함에 있어서 단말장치(100) 자신의 타입(예 : 단말 성능, 단말 CPU 가용용량, 메모리 가용용량 등), 현재 단말장치(100)의 접속 세션 수를 기초로 대기시간(T_th)을 동적으로 설정할 수도 있다.
이에 예를 들면, 관리장치(400)가 제2네트워크(예 : WiFi)를 통해 순서정보 1,2를 갖는 부분데이터 패킷 1,2를 송신하고, 제1네트워크(예 : 3G)를 통해 순서정보 3을 갖는 부분데이터 패킷 3을 송신하고, 제2네트워크(예 : WiFi)를 통해 순서정보 4,5를 갖는 부분데이터 패킷 4,5를 송신하였고, 이에 단말장치(100)에 부분데이터 패킷 1,2,4,5가 수신되고 부분데이터 패킷 3이 수신되지 않았다고 가정한다.
이 경우 단말장치(100)는 수신버퍼에서 재정렬한 결과, 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터 즉 부분데이터 패킷 1,2를 상위 계층으로 전달할 것이다.
이에, 단말장치(100)는 상위 계층으로 전달된 부분데이터 패킷 1,2 각각에 대응되는 수신 애크 즉 정상적인 순서에 따라 정상 수신됨을 알리는 Ack를 관리장치(400)로 제공할 것이다.
한편, 단말장치(100)는 수신버퍼에서 재정렬한 결과, 미 수신된 특정 순서정보 3 이후의 순서정보를 갖는 부분데이터 즉 부분데이터 패킷 4,5에 대해서는 상위 계층으로의 전달을 대기한다. 그리고 단말장치(100)는 부분데이터 패킷 4,5 각각에 대응하여 기 설정된 대기시간(T_th)이 경과하는지 여부를 판단하고, 대기시간(T_th)이 경과된 부분데이터 패킷을 상위 계층으로 전달할 것이다.
이에, 단말장치(100)는 상위 계층으로 전달된 부분데이터 패킷 4,5 각각에 대응되는 수신 애크를 관리장치(400)로 제공하여, 관리장치(400)가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한할 수 있다.
보다 구체적으로 단말장치(100)는, 상위 계층으로 전달되는 부분데이터가 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터인 경우, 상기 미 수신된 특정 순서정보의 부분데이터에 대한 재송신을 유도하는 재송신유도메시지를 포함하는 수신 애크를 관리장치(400)로 제공할 수 있다.
즉, 전술의 예를 언급하여 설명하면, 단말장치(100)는, 상위 계층으로 전달된 부분데이터 패킷이 미 수신된 특정 순서정보 3 이후의 순서정보 4,5를 갖는 부분데이터인 경우, 미 수신된 특정 순서정보 3의 부분데이터에 대한 재송신을 유도하는 재송신유도메시지를 포함하는 수신 애크를 관리장치(400)로 제공할 것이다. 여기서, 재송신유도메시지는, TCP 재송신 규칙에 따라 미 수신된 부분데이터에 대응하여 발생하는 중복 애크(Duplicate ACK)를 포함할 수 있다.
한편 관리장치(400)는, 2 이상의 접속 네트워크를 통해 부분데이터 패킷 1,2,3,4,5를 송신하고 각각의 부분데이터 패킷에 대응하여 재송신타임아웃시간 카운팅을 시작할 것이다.
이때, 전술한 바와 같이 단말장치(100)로부터 부분데이터 패킷 1,2 각각에 대응되는 정상적인 순서에 따라 정상 수신됨을 알리는 Ack를 포함한 수신 애크를 회신 받으면, 관리장치(400)는 부분데이터 패킷 1,2에 대한 재송신타임아웃시간 카운팅을 종료한다.
그리고, 전술한 바와 같이 단말장치(100)로부터 부분데이터 패킷 4,5 각각에 대응되는 수신 애크 즉 순서정보 3의 부분데이터에 대한 재송신을 유도하는 중복 애크(Duplicate ACK)를 포함한 수신 애크를 회신 받으면, 관리장치(400)는 부분데이터 패킷 4,5에 대한 재송신타임아웃시간 카운팅을 종료하여 순서정보 3의 부분데이터에 대한 재송신타임아웃시간 카운팅을 유지하고, 더불어 순서정보 3의 부분데이터에 대한 중복 애크 횟수(예 : 2회)를 기억한다.
이에, 관리장치(400)는, TCP 재송신 규칙에 따라, 순서정보 3의 부분데이터에 대한 중복 애크 횟수가 특정 횟수(예 3회)에 도달하면 해당 부분데이터 패킷 3을 재송신하는 중복 애크 기반 재송신 동작을 수행할 수 있고, 이와 별도로 순서정보 3의 부분데이터에 대하여 카운팅 중인 재송신타임아웃시간 경과하면 해당 부분데이터 패킷 3을 재송신하는 재송신타임아웃시간 기반 재송신 동작할 수 있다.
결국, 본 발명에 따르면, 단말장치(100)에 실제로 수신되지 않은 부분데이터(예 : 부분데이터 패킷3)에 대해서만 중복 애크 기반 재송신 동작 또는 재송신타임아웃시간 기반 재송신 동작이 수행되며, 미 수신된 부분데이터 이후 순서의 부분데이터(예 : 부분데이터 패킷 4,5)에 대해서는 재송신타임아웃시간 기반 재송신 동작이 수행되는 것을 미연에 방지할 수 있다.
더불어, 본 발명에 따르면, 단말장치(100)의 수신버퍼에 설정되는 대기시간(T_th)을 각 접속 네트워크에 대한 상이한 전송지연(latency), 네트워크 특성 등을 포함하는 네트워크정보, 또는 이러한 네트워크정보에 근거하여 계산된 관리장치(400)의 재송신타임아웃시간, 또는 패킷왕복시간을 기초로 동적/적응적으로 설정하기 때문에, TCP 재송신 규칙에 따른 재송신타임아웃시간 기반 재송신 발생 경우를 최소화하여 TCP 전송 성능 저하를 효율적으로 예방할 수 있다.
한편, 전술에서는 다운링크를 기준으로 관리장치(400)가 전송대상 데이터를 분할한 부분데이터를 송신하여 단말장치(100)가 수신하는 경우를 설명하고 있다.
이와 달리, 업링크를 기준으로 단말장치(100)가 전송대상 데이터를 분할한 부분데이터를 송신하여 관리장치(400)가 수신하는 경우라면, 수신측 장치로서 동작하는 관리장치(400)에서 전술의 단말장치(100)가 수행한 수신 부분데이터 재정렬, 및 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기, 및 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달, 및 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대응하는 수신 애크(미 수신된 특정 순서정보의 부분데이터에 대한 재송신을 유도하는 재송신유도메시지를 포함) 전송 등의 동작을 수행할 수 있음이 당연하다.
이하에서는 도 2를 참조하여 본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 즉 수신측의 장치를 설명하도록 한다. 설명의 편의를 위해 다운링크를 기준으로 단말장치(100)의 참조번호를 언급하고 관리장치(400)의 참조번호를 이용하여 송신장치(400)를 언급하도록 한다.
본 발명의 바람직한 실시예에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 즉 수신측의 장치(100)는, 특정 전송대상 데이터에서 분할된 부분데이터를 2 이상의 접속 네트워크를 통해 수신하는 통신부(110)와, 상기 2 이상의 접속 네트워크를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기하며, 상기 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달하는 수신버퍼부(120)와, 수신버퍼부(120)로부터 전달되는 부분데이터에 대응하는 수신 애크를 상기 부분데이터를 송신하는 송신장치(400)로 제공하여, 송신장치(400)가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재전송타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한하는 제어부(130)를 포함한다.
통신부(110)는, 3G 네트워크를 이용하여 제1네트워크장치(200)와 연동하며, WiFi 네트워크를 이용하여 제2네트워크장치(300)와 연동하기 위한 통신모듈을 지칭하게 된다.
이에, 통신부(110)는, 기 설정된 접속 네트워크 별 데이터 전송비율을 기초로 전송대상 데이터에서 분할된 부분데이터를 2 이상의 접속 네트워크(예 : 3G, WiFi)를 통해 수신한다.
즉, 통신부(110)는, 송신장치(400)로부터 송신된 제1부분데이터를 3G 네트워크에 위치하는 제1네트워크장치(200)를 통해 수신하고, 송신장치(400)로부터 송신된 제2부분데이터를 WiFi 네트워크에 위치하는 제2네트워크장치(300)를 통해 수신한다.
수신버퍼부(120)는, 2 이상의 접속 네트워크(예 : 3G 및 WiFi)를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬하고, 재정렬한 결과에 따라 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기하며, 상기 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달한다.
보다 구체적으로 설명하면, 수신버퍼부(120)는, 2 이상의 접속 네트워크(예 : 3G 및 WiFi)를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬한다.
이때, 수신버퍼부(120)는, 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터에 대해서는 상위 계층 즉 TCP에 따른 수신 애크 송신 및 부분데이터 결합을 수행하는 제어부(130)로 전달한다.
반면, 수신버퍼부(120)는, 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대해서는 제어부(130)로의 전달을 대기하고, 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간(T_th)이 경과하는 경우 제어부(130)로 전달한다.
여기서, 대기시간(T_th)은, 송신장치(400)에서 재송신타임아웃시간 기반 재송신 동작 시 이용되는 재송신타임아웃(RTO)시간을 예측할 때 이용된 네트워크정보 및 상기 재송신타임아웃(RTO)시간 중 적어도 하나를 기초로 설정되는 것이 가능하다.
예를 들면, 송신장치(400)는, 2 이상의 접속 네트워크 각각의 네트워크특성정보, 2 이상의 접속 네트워크 별 전송지연(latency)값 등을 포함하는 네트워크정보를 이용하여 재송신타임아웃(RTO)시간을 계산/예측할 수 있다. 다시 말해, 재송신타임아웃(RTO)시간 예측 시 이용되는 네트워크정보는, 2 이상의 접속 네트워크 각각의 네트워크특성정보, 2 이상의 접속 네트워크 별 전송지연(latency)값 등을 포함한다.
이에, 수신버퍼부(120)는, 송신장치(400)로부터 전술의 네트워크정보 및 재송신타임아웃(RTO)시간 정보 중 적어도 어느 하나를 획득하여, 네트워크정보 및 재송신타임아웃(RTO)시간 중 적어도 하나를 기초로 대기시간(T_th)을 동적으로 설정할 수 있다.
한편, 대기시간(T_th)은, 2 이상의 접속 네트워크 각각에 대한 패킷왕복시간 중 최대 패킷왕복시간을 기초로 설정 되는 것이 바람직하다.
예를 들면, 수신버퍼부(120)는, 전술과 같이 송신장치(400)로부터 제공되는 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 획득할 수 있다. 이에, 수신버퍼부(120)는, 최대 패킷왕복시간(RTT) 또는 최대값을 갖는 평균 패킷왕복시간(RTT)를 기초로 대기시간(T_th)을 동적으로 설정할 수 있다.
물론, 단말장치(100)는, 전술에서와 같이 송신장치(400)가 각 접속 네트워크 별 패킷왕복시간(RTT)을 측정하는 다양한 방법을 자체적으로 수행하여, 송신장치(400)로부터 획득하지 않고도 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 자체적으로 획득하여 수신버퍼부(120)의 대기시간(T_th) 설정에 이용할 수도 있을 것이다.
한편, 수신버퍼부(120)는, 대기시간(T_th)을 설정함에 있어서 단말장치(100)의 타입(예 : 단말 성능, 단말 CPU 가용용량, 메모리 가용용량 등), 현재 단말장치(100)의 접속 세션 수를 기초로 대기시간(T_th)을 동적으로 설정할 수도 있다.
이에 예를 들면, 송신장치(400)가 제2네트워크(예 : WiFi)를 통해 순서정보 1,2를 갖는 부분데이터 패킷 1,2를 송신하고, 제1네트워크(예 : 3G)를 통해 순서정보 3을 갖는 부분데이터 패킷 3을 송신하고, 제2네트워크(예 : WiFi)를 통해 순서정보 4,5를 갖는 부분데이터 패킷 4,5를 송신하였고, 이에 수신측 장치(100)에 부분데이터 패킷 1,2,4,5가 수신되고 부분데이터 패킷 3이 수신되지 않았다고 가정한다.
이 경우 수신버퍼부(120)는, 재정렬한 결과, 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터 즉 부분데이터 패킷 1,2를 제어부(130)로 전달할 것이다.
한편, 수신버퍼부(120)는, 재정렬한 결과, 미 수신된 특정 순서정보 3 이후의 순서정보를 갖는 부분데이터 즉 부분데이터 패킷 4,5에 대해서는 상위 계층으로의 전달을 대기한다. 그리고 수신버퍼부(120)는, 부분데이터 패킷 4,5 각각에 대응하여 기 설정된 대기시간(T_th)이 경과하는지 여부를 판단하고, 대기시간(T_th)이 경과된 부분데이터 패킷을 제어부(130)로 전달할 것이다.
제어부(130)는, 수신버퍼부(120)로부터 전달되는 부분데이터에 대응하는 수신 애크를 상기 부분데이터를 송신하는 송신장치(400)로 제공하여, 송신장치(400)가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재전송타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한한다.
보다 구체적으로 설명하면, 제어부(130)는, TCP에 따른 수신 애크 송신 및 수신버퍼부(120)에서 정상적으로 재정렬된 부분데이터들을 결합함으로써 전송대상 데이터를 복원하는 기능부이다.
즉, 제어부(130)는, 수신버퍼부(120)로부터 전달되는 부분데이터에 대응하는 수신 애크를 송신장치(400)로 제공한다.
다시 말해, 제어부(130)는, 수신버퍼부(120)로부터 전달되는 부분데이터가 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터(예 : 전술의 부분데이터 패킷 1,2)라면, 수신버퍼부(120)로부터 전달된 부분데이터 각각에 대응하여 수신 애크 즉 정상적인 순서에 따라 정상 수신됨을 알리는 Ack를 송신장치(400)로 제공할 것이다.
반면, 제어부(130)는, 수신버퍼부(120)로부터 전달되는 부분데이터가 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터(예 : 전술의 부분데이터 패킷 4,5)인 경우, 상기 미 수신된 특정 순서정보의 부분데이터(예 : 전술의 부분데이터 패킷 3)에 대한 재송신을 유도하는 재송신유도메시지를 포함하는 수신 애크를 송신장치(400)로 제공할 것이다.
여기서, 재송신유도메시지는, TCP 재송신 규칙에 따라 미 수신된 부분데이터에 대응하여 발생하는 중복 애크(Duplicate ACK)를 포함할 수 있다.
이에, 제어부(130)는, 전달된 부분데이터 패킷 4,5 각각에 대응되는 수신 애크를 송신장치(400)로 제공하여, 송신장치(400)가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한할 수 있다.
이상에서 살펴본 바와 같이, 본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 및 이를 포함한 시스템에 따르면, 동시 전송 서비스를 제공하는 환경에서, 각 접속 네트워크에 대한 상이한 전송지연(latency) 및 네트워크 특성 등을 포함하는 네트워크정보, 또는 이러한 네트워크정보에 근거하여 계산된 송신측 장치의 재송신타임아웃시간, 또는 각 접속 네트워크 별 패킷왕복시간을 기초로 하는 동적/적응적 대기시간(T_th)을 수신측 장치의 수신버퍼에 설정하고, 수신된 부분데이터를 순서정보에 따라 재정렬함에 있어서 미 수신된 부분데이터의 이수 순서를 갖는 부분데이터라도 대기시간(T_th)이 경과하면 수신 애크를 송신측 장치로 제공함으로써, 수신측 장치에 실제로 수신되지 않은 부분데이터에 대해서만 중복 애크 기반 재송신 동작 또는 재송신타임아웃시간 기반 재송신 동작이 수행되도록 하며, 미 수신된 부분데이터 이후 순서의 부분데이터에 대해서는 불필요한 재송신 특히 재송신타임아웃시간 기반 재송신 동작이 수행되는 것을 미연에 방지할 수 있다.
더불어, 본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 및 이를 포함한 시스템에 따르면, 각 접속 네트워크에 대한 상이한 전송지연(latency) 및 네트워크 특성 등을 포함하는 네트워크정보, 또는 이러한 네트워크정보에 근거하여 계산된 송신측 장치의 재송신타임아웃시간, 또는 각 접속 네트워크 별 패킷왕복시간을 기초로 대기시간(T_th)을 동적/적응적으로 설정하기 때문에, TCP 재송신 규칙에 따른 재송신타임아웃시간 기반 재송신 발생 경우를 최소화하여 TCP 전송 성능 저하를 효율적으로 예방할 수 있다.
이하에서는 도 3 및 도 4를 참조하여, 본 발명의 바람직한 실시예에 따른 이기종 네트워크 기반 데이터 동시 전송 방법을 설명하도록 한다. 여기서, 설명의 편의를 위해 전술한 도 1 내지 도 2에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다.
먼저, 도 3을 참조하여 본 발명의 바람직한 실시예에 따른 이기종 네트워크 기반 데이터 동시 전송 방법을 설명하도록 한다. 설명의 편의를 위해 다운링크를 기준으로 설명하도록 한다.
관리장치(400)는, 각 접속 네트워크 별 패킷왕복시간(RTT)를 측정한다(S100).
이때, 관리장치(400)가 각 접속 네트워크 별 패킷왕복시간(RTT)를 측정하는 방법은 다양할 수 있다.
예를 들면, 관리장치(400)는, 접속 네트워크 각각을 통해 패킷왕복시간(RTT) 측정을 위한 별도 패킷을 단말장치(100)와 송수신함으로써 각 접속 네트워크 별 패킷왕복시간(RTT)를 측정할 수 있고, 또는 접속 네트워크 각각을 통해 패킷 간 지연시간 값 측정을 위해 단말장치(100)와 송수신하는 패킷에 근거한 패킷 간 지연시간 값 및 패킷 도착시간을 이용하여 각 접속 네트워크 별 패킷왕복시간(RTT)를 측정할 수 있다. 여기서, 지연시간 값은, 각 접속 네트워크 별로 전송하는 패킷에 대한 수신측의 패킷 간 도착 시간 차를 의미한다.
이에, 관리장치(400)는 주기적 또는 임의의 시기 또는 특정 이벤트 발생 시 마다 전술과 같은 다양한 패킷왕복시간(RTT) 측정 방법을 통해 접속 네트워크 별 패킷왕복시간(RTT)을 측정하고, 각 접속 네트워크 별 패킷왕복시간(RTT) 정보를 단말장치(100)로 제공할 수 있고(S30), 더욱 바람직하게는 S30단계에서 각 접속 네트워크의 패킷왕복시간(RTT) 중 최대 패킷왕복시간(RTT) 정보를 단말장치(100)로 제공할 수 있다.
한편, 관리장치(400)는 주기적 또는 임의의 시기 또는 특정 이벤트 발생 시 마다 전술과 같은 다양한 패킷왕복시간(RTT) 측정 방법을 통해 접속 네트워크 별 패킷왕복시간(RTT)을 측정하고, 이를 토대로 각 접속 네트워크의 평균 패킷왕복시간(RTT)를 계산할 수 있다.
그리고, 관리장치(400)는, 계산한 각 접속 네트워크의 평균 패킷왕복시간(RTT) 정보를 S30단계에서 단말장치(100)로 제공할 수 있고, 바람직하게는 S30단계에서 각 접속 네트워크의 평균 패킷왕복시간(RTT) 중 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 단말장치(100)로 제공할 수 있다.
이때, 관리장치(400)는, 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 주기적으로 단말장치(100)에 제공하거나, 또는 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보가 이전 정보에 비교하여 특정 비율 (β) 이상 변경된 경우 단말장치(100)에 제공할 수도 있다.
더불어, 관리장치(400)는, 주기적 또는 임의의 시기 또는 특정 이벤트 발생 시 마다 전술과 같은 다양한 패킷왕복시간(RTT) 측정 방법을 통해 접속 네트워크 별 패킷왕복시간(RTT)을 측정하면, 이러한 접속 네트워크 별 패킷왕복시간(RTT) 또는 전술의 접속 네트워크 별 평균 패킷왕복시간(RTT)을 비롯한 각 접속 네트워크 별 네트워크특성정보 및 각 접속 네트워크 별 전송지연(latency)값 등의 네트워트정보를 이용하여, TCP 재송신 규칙에 기반이 되는 재송신타임아웃(RTO: Retransmission Time-Out)시간을 계산/설정할 수 있다(S20).
이러한 관리장치(400)는, 송신측 장치로서 동작하여, 기 설정된 접속 네트워크 별 데이터 전송비율을 기초로 전송대상 데이터에서 분할된 부분데이터를 접속 네트워크 별로 선택하고, 각 접속 네트워크를 통해 선택된 부분데이터를 송신한다(S50,S55).
다시 말해, 관리장치(400)는, 외부장치(500)로부터 단말장치(100)로 전송하고자 하는 전송대상 데이터를 전달 받으면 이를 부분데이터로 분할하고, 네트워크(예 : 3G 및 WiFi) 별 데이터 전송비율 즉 제1네트워크장치(200)로의 데이터 전송을 위한 제1전송비율 및 제2네트워크장치(300)로의 데이터 전송을 위한 제2전송비율을 확인하여, 확인된 전송비율을 기반으로 전송대상 데이터에서 분할된 부분데이터 중 제1네트워크장치(200)로 전송할 제1부분데이터를 선택함과 아울러, 나머지 부분데이터 중 제2네트워크장치(300)로 전송할 제2부분데이터를 선택하게 된다.
그리고, 관리장치(400)는, 네트워크(예 : 3G 및 WiFi) 별로 선택된 각 부분데이터를 각 네트워크(예 : 3G 및 WiFi)로 송신하고, 이에 제1네트워크장치(200)는 관리장치(400)에서 송신된 제1부분데이터를 단말장치(100)로 전송하며(S50), 제2네트워크장치(300)는 관리장치(400)에서 송신된 제2부분데이터를 단말장치(100)로 전송하게 된다(S55).
이에 수신측 장치로서의 단말장치(100)는, 2 이상의 접속 네트워크를 통해 부분데이터를 수신하고, 수신된 부분데이터의 순서정보에 근거하여 분할 순서에 따라 재정렬하고, 정상적으로 재정렬된 부분데이터들을 결합함으로써 전송대상 데이터를 복원할 수 있다.
이러한 단말장치(100)는, 수신버퍼부(120)에서 이용하는 대기시간(T_th)를 설정한다(S40).
여기서, 대기시간(T_th)은, 관리장치(400)에서 재송신타임아웃시간 기반 재송신 동작 시 이용되는 재송신타임아웃(RTO)시간을 예측할 때 이용된 네트워크정보 및 상기 재송신타임아웃(RTO)시간 중 적어도 하나를 기초로 설정되는 것이 가능하다.
예를 들면, 관리장치(400)는, S20단계에서와 같이 2 이상의 접속 네트워크 각각의 네트워크특성정보, 2 이상의 접속 네트워크 별 전송지연(latency)값 등을 포함하는 네트워크정보를 이용하여 재송신타임아웃(RTO)시간을 계산/예측할 수 있다. 다시 말해, 재송신타임아웃(RTO)시간 예측 시 이용되는 네트워크정보는, 2 이상의 접속 네트워크 각각의 네트워크특성정보, 2 이상의 접속 네트워크 별 전송지연(latency)값 등을 포함한다.
이에 단말장치(100)는, 관리장치(400)로부터 전술의 네트워크정보 및 재송신타임아웃(RTO)시간 정보 중 적어도 어느 하나를 획득하여, 네트워크정보 및 재송신타임아웃(RTO)시간 중 적어도 하나를 기초로 대기시간(T_th)을 동적으로 설정할 수 있다.
한편, 대기시간(T_th)은, 2 이상의 접속 네트워크 각각에 대한 패킷왕복시간 중 최대 패킷왕복시간을 기초로 설정 되는 것이 바람직하다.
예를 들면, 단말장치(100)는, 전술과 같이 S30단계를 통해 관리장치(400)로부터 제공되는 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 획득할 수 있다. 이에, 단말장치(100)는, 최대 패킷왕복시간(RTT) 또는 최대값을 갖는 평균 패킷왕복시간(RTT)를 기초로 대기시간(T_th)을 동적으로 설정할 수 있다.
물론, 단말장치(100)는, 전술에서와 같이 관리장치(400)가 각 접속 네트워크 별 패킷왕복시간(RTT)을 측정하는 다양한 방법을 자체적으로 수행하여 관리장치(400)로부터 획득하지 않고도 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 자체적으로 획득할 수도 있을 것이다.
한편, 단말장치(100)는, 대기시간(T_th)을 설정함에 있어서 단말장치(100) 자신의 타입(예 : 단말 성능, 단말 CPU 가용용량, 메모리 가용용량 등), 현재 단말장치(100)의 접속 세션 수를 기초로 대기시간(T_th)을 동적으로 설정할 수도 있다.
이러한 단말장치(100)는, 2 이상의 접속 네트워크를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 수신버퍼부(120)에 재정렬한다(S60).
이때, 단말장치(100)는, 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터에 대해서는 상위 계층 즉 TCP에 따른 수신 애크 송신 및 부분데이터 결합을 수행하는 제어부(130)로 전달한다.
이 경우, 단말장치(100)는 상위 계층으로 전달된 부분데이터 각각에 대응되는 수신 애크 즉 정상적인 순서에 따라 정상 수신됨을 알리는 Ack를 관리장치(400)로 제공할 것이다(S65).
반면, 단말장치(100)는, 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대해서는 상위 계층으로의 전달을 대기하고(S70), 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간(T_th)이 경과하는지 여부를 판단하여(ㄴ80), 대기시간(T_th)이 경과하는 경우 상위 계층으로 전달한다.
이에, 단말장치(100)는, 상위 계층으로 전달된 부분데이터 각각에 대응되는 수신 애크를 관리장치(400)로 제공하여(S90), 관리장치(400)가 미 수신된 부분데이터의 이후 순서정보를 갖지만 대기시간(T_th) 동안 수신버퍼에서 대기된 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한할 수 있다.
즉, 단말장치(100)에 수신되었지만 이전 순서의 부분데이터가 수신되지 않음에 따라 수신 애크가 관리장치(400)로 전송되지 않는 부분데이터에 대해서도 수신버퍼에서 대기시간(T_th) 동안 대기한 경우라면 상위 계층으로 전달함으로써, 관리장치(400)에 수신 애크가 전송될 수 있도록 하는 것이다.
예를 들어, 관리장치(400)가 제2네트워크(예 : WiFi)를 통해 순서정보 1,2를 갖는 부분데이터 패킷 1,2를 송신하고, 제1네트워크(예 : 3G)를 통해 순서정보 3을 갖는 부분데이터 패킷 3을 송신하고, 제2네트워크(예 : WiFi)를 통해 순서정보 4,5를 갖는 부분데이터 패킷 4,5를 송신하였고, 이에 단말장치(100)에 부분데이터 패킷 1,2,4,5가 수신되고 부분데이터 패킷 3이 수신되지 않았다고 가정한다.
이 경우 단말장치(100)는 부분데이터를 재정렬한 결과, 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터 즉 부분데이터 패킷 1,2를 상위 계층으로 전달할 것이다.
이에, 단말장치(100)는 상위 계층으로 전달된 부분데이터 패킷 1,2 각각에 대응되는 수신 애크 즉 정상적인 순서에 따라 정상 수신됨을 알리는 Ack를 관리장치(400)로 제공할 것이다.
한편, 단말장치(100)는 부분데이터를 재정렬한 결과, 미 수신된 특정 순서정보 3 이후의 순서정보를 갖는 부분데이터 즉 부분데이터 패킷 4,5에 대해서는 상위 계층으로의 전달을 대기한다. 그리고 단말장치(100)는 부분데이터 패킷 4,5 각각에 대응하여 기 설정된 대기시간(T_th)이 경과하는지 여부를 판단하고, 대기시간(T_th)이 경과된 부분데이터 패킷을 상위 계층으로 전달할 것이다.
이에, 단말장치(100)는 상위 계층으로 전달된 부분데이터 패킷 4,5 각각에 대응되는 수신 애크를 관리장치(400)로 제공하여, 관리장치(400)가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한할 수 있다.
이때, 단말장치(100)는, S90단계에서 상위 계층으로 전달된 부분데이터 패킷이 미 수신된 특정 순서정보 3 이후의 순서정보 4,5를 갖는 부분데이터인 경우, 미 수신된 특정 순서정보 3의 부분데이터에 대한 재송신을 유도하는 재송신유도메시지를 포함하는 수신 애크를 관리장치(400)로 제공할 것이다. 여기서, 재송신유도메시지는, TCP 재송신 규칙에 따라 미 수신된 부분데이터에 대응하여 발생하는 중복 애크(Duplicate ACK)를 포함할 수 있다.
한편 관리장치(400)는, 2 이상의 접속 네트워크를 통해 부분데이터 패킷 1,2,3,4,5를 송신하는 S50,S55단계 이후, 각각의 부분데이터 패킷에 대응하여 재송신타임아웃시간 카운팅을 시작할 것이다(S23).
이때, 전술한 바와 같이 S65단계를 통해 단말장치(100)로부터 부분데이터 패킷 1,2 각각에 대응되는 정상적인 순서에 따라 정상 수신됨을 알리는 Ack를 포함한 수신 애크를 회신 받으면, 관리장치(400)는 부분데이터 패킷 1,2에 대한 재송신타임아웃시간 카운팅을 종료하고 부분데이터 패킷 3,4,5에 대한 재송신타임아웃시간 카운팅을 유지할 것이다(S26)..
그리고, 전술한 바와 같이 S90단계를 통해 단말장치(100)로부터 부분데이터 패킷 4,5 각각에 대응되는 수신 애크 즉 순서정보 3의 부분데이터에 대한 재송신을 유도하는 중복 애크(Duplicate ACK)를 포함한 수신 애크를 회신 받으면, 관리장치(400)는 부분데이터 패킷 4,5에 대한 재송신타임아웃시간 카운팅을 종료하여 순서정보 3의 부분데이터에 대한 재송신타임아웃시간 카운팅을 유지하고(S29), 더불어 순서정보 3의 부분데이터에 대한 중복 애크 횟수(예 : 2회)를 기억한다.
이에, 관리장치(400)는, TCP 재송신 규칙에 따라, 순서정보 3의 부분데이터에 대한 중복 애크 횟수가 특정 횟수(예 3회)에 도달하면 해당 부분데이터 패킷 3을 재송신하는 중복 애크 기반 재송신 동작을 수행할 수 있고, 이와 별도로 순서정보 3의 부분데이터에 대하여 카운팅 중인 재송신타임아웃시간 경과하면 해당 부분데이터 패킷 3을 재송신하는 재송신타임아웃시간 기반 재송신 동작할 수 있다.
이하에서는, 도 4를 참조하여 본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 방법을 구체적으로 설명하도록 한다.
본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 방법 즉 수신측 장치의 동작 방법은, 수신버퍼부(120)의 대기시간(T_th)를 설정한다(S110).
여기서, 대기시간(T_th)은, 송신장치(400)에서 재송신타임아웃시간 기반 재송신 동작 시 이용되는 재송신타임아웃(RTO)시간을 예측할 때 이용된 네트워크정보 및 상기 재송신타임아웃(RTO)시간 중 적어도 하나를 기초로 설정되는 것이 가능하다.
예를 들면, 송신장치(400)는, 2 이상의 접속 네트워크 각각의 네트워크특성정보, 2 이상의 접속 네트워크 별 전송지연(latency)값 등을 포함하는 네트워크정보를 이용하여 재송신타임아웃(RTO)시간을 계산/예측할 수 있다. 다시 말해, 재송신타임아웃(RTO)시간 예측 시 이용되는 네트워크정보는, 2 이상의 접속 네트워크 각각의 네트워크특성정보, 2 이상의 접속 네트워크 별 전송지연(latency)값 등을 포함한다.
이에, 본 발명에 따른 수신측 장치의 동작 방법은, 송신장치(400)로부터 전술의 네트워크정보 및 재송신타임아웃(RTO)시간 정보 중 적어도 어느 하나를 획득하여, 네트워크정보 및 재송신타임아웃(RTO)시간 중 적어도 하나를 기초로 대기시간(T_th)을 동적으로 설정할 수 있다.
한편, 대기시간(T_th)은, 2 이상의 접속 네트워크 각각에 대한 패킷왕복시간 중 최대 패킷왕복시간을 기초로 설정 되는 것이 바람직하다.
예를 들면, 본 발명에 따른 수신측 장치의 동작 방법은, 전술과 같이 송신장치(400)로부터 제공되는 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 수신/획득할 수 있다(S100).
이에, 본 발명에 따른 수신측 장치의 동작 방법은, 최대 패킷왕복시간(RTT) 또는 최대값을 갖는 평균 패킷왕복시간(RTT)를 기초로 대기시간(T_th)을 동적으로 설정할 수 있다.
물론, 본 발명에 따른 수신측 장치의 동작 방법은, 전술에서와 같이 송신장치(400)가 각 접속 네트워크 별 패킷왕복시간(RTT)을 측정하는 다양한 방법을 자체적으로 수행하여, 송신장치(400)로부터 획득하지 않고도 최대 패킷왕복시간(RTT) 정보 또는 최대값을 갖는 평균 패킷왕복시간(RTT) 정보를 자체적으로 획득하여 수신버퍼부(120)의 대기시간(T_th) 설정에 이용할 수도 있을 것이다.
한편, 본 발명에 따른 수신측 장치의 동작 방법은, 대기시간(T_th)을 설정함에 있어서 수신측 장치(100) 자신의 타입(예 : 단말 성능, 단말 CPU 가용용량, 메모리 가용용량 등), 현재 수신측 장치(100)의 접속 세션 수를 기초로 대기시간(T_th)을 동적으로 설정할 수도 있다.
본 발명에 따른 수신측 장치의 동작 방법은, 특정 전송대상 데이터에서 분할된 부분데이터를 2 이상의 접속 네트워크(예 : 3G 및 WiFi)를 통해 수신한다(S120).
본 발명에 따른 수신측 장치의 동작 방법은, 2 이상의 접속 네트워크(예 : 3G 및 WiFi)를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬하고, 재정렬한 결과에 따라 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기하며, 상기 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달한다.
보다 구체적으로 설명하면, 본 발명에 따른 수신측 장치의 동작 방법은, 2 이상의 접속 네트워크(예 : 3G 및 WiFi)를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬한다(S130).
이에 예를 들면, 송신장치(400)가 제2네트워크(예 : WiFi)를 통해 순서정보 1,2를 갖는 부분데이터 패킷 1,2를 송신하고, 제1네트워크(예 : 3G)를 통해 순서정보 3을 갖는 부분데이터 패킷 3을 송신하고, 제2네트워크(예 : WiFi)를 통해 순서정보 4,5를 갖는 부분데이터 패킷 4,5를 송신하였고, 이에 수신측의 장치(100)에 부분데이터 패킷 1,2,4,5가 수신되고 부분데이터 패킷 3이 수신되지 않았다고 가정한다.
이때, 본 발명에 따른 수신측 장치의 동작 방법은, 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터에 대해서는 상위 계층 즉 TCP에 따른 수신 애크 송신 및 부분데이터 결합을 수행하는 제어부(130)로 전달할 것이다.
즉, 본 발명에 따른 수신측 장치의 동작 방법은, 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터 즉 부분데이터 패킷 1,2를 상위 계층으로 전달할 것이다.
이에 본 발명에 따른 수신측 장치의 동작 방법은, 수신버퍼부(120)로부터 상위 계층으로 전달되는 부분데이터에 대응하는 수신 애크를 송신장치(400)로 제공할 것이다.
즉, 본 발명에 따른 수신측 장치의 동작 방법은, 수신버퍼부(120)로부터 상위 계층으로 전달되는 부분데이터가 미 수신된 이전 순서정보의 부분데이터가 없이 정상적으로 재정렬된 부분데이터(예 : 전술의 부분데이터 패킷 1,2)라면, 전달된 부분데이터 각각에 대응하여 수신 애크 즉 정상적인 순서에 따라 정상 수신됨을 알리는 Ack를 송신장치(400)로 제공할 것이다(S140).
반면, 본 발명에 따른 수신측 장치의 동작 방법은, 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대해서는 상위 계층으로의 전달을 대기하고, 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간(T_th)이 경과하는 경우 상위 계층으로 전달한다.
즉, 본 발명에 따른 수신측 장치의 동작 방법은, 미 수신된 특정 순서정보 3 이후의 순서정보를 갖는 부분데이터 즉 부분데이터 패킷 4,5에 대해서는 상위 계층으로의 전달을 대기한다(S150).
그리고 본 발명에 따른 수신측 장치의 동작 방법은, 부분데이터 패킷 4,5 각각에 대응하여 기 설정된 대기시간(T_th)이 경과하는지 여부를 판단하고(S160), 대기시간(T_th)이 경과된 부분데이터 패킷을 상위 계층으로 전달할 것이다.
이에 본 발명에 따른 수신측 장치의 동작 방법은, 수신버퍼부(120)로부터 상위 계층으로 전달되는 부분데이터에 대응하는 수신 애크를 송신장치(400)로 제공하여, 송신장치(400)가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재전송타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한한다(S170).
즉 본 발명에 따른 수신측 장치의 동작 방법은, 수신버퍼부(120)로부터 상위 계층으로 전달되는 부분데이터가 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터(예 : 전술의 부분데이터 패킷 4,5)인 경우, 상기 미 수신된 특정 순서정보의 부분데이터(예 : 전술의 부분데이터 패킷 3)에 대한 재송신을 유도하는 재송신유도메시지를 포함하는 수신 애크를 송신장치(400)로 제공할 것이다.
여기서, 재송신유도메시지는, TCP 재송신 규칙에 따라 미 수신된 부분데이터에 대응하여 발생하는 중복 애크(Duplicate ACK)를 포함할 수 있다.
이에, 본 발명에 따른 수신측 장치의 동작 방법은, 미 수신된 특정 순서정보 이후의 순서정보를 갖고 대기시간(T_th) 동안 전달 대기된 부분데이터 패킷 4,5 각각에 대응되는 수신 애크를 송신장치(400)로 제공하여, 송신장치(400)가 상기 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한할 수 있다.
이상에서 살펴본 바와 같이, 본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 방법 및 이기종 네트워크 기반 데이터 동시 전송 방법에 따르면, 동시 전송 서비스를 제공하는 환경에서, 각 접속 네트워크에 대한 상이한 전송지연(latency) 및 네트워크 특성 등을 포함하는 네트워크정보, 또는 이러한 네트워크정보에 근거하여 계산된 송신측 장치의 재송신타임아웃시간, 또는 각 접속 네트워크 별 패킷왕복시간을 기초로 하는 동적/적응적 대기시간(T_th)을 수신측 장치의 수신버퍼에 설정하고, 수신된 부분데이터를 순서정보에 따라 재정렬함에 있어서 미 수신된 부분데이터의 이수 순서를 갖는 부분데이터라도 대기시간(T_th)이 경과하면 수신 애크를 송신측 장치로 제공함으로써, 수신측 장치에 실제로 수신되지 않은 부분데이터에 대해서만 중복 애크 기반 재송신 동작 또는 재송신타임아웃시간 기반 재송신 동작이 수행되도록 하며, 미 수신된 부분데이터 이후 순서의 부분데이터에 대해서는 불필요한 재송신 특히 재송신타임아웃시간 기반 재송신 동작이 수행되는 것을 미연에 방지할 수 있다.
더불어, 본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 방법 및 이기종 네트워크 기반 데이터 동시 전송 방법에 따르면, 각 접속 네트워크에 대한 상이한 전송지연(latency) 및 네트워크 특성 등을 포함하는 네트워크정보, 또는 이러한 네트워크정보에 근거하여 계산된 송신측 장치의 재송신타임아웃시간, 또는 각 접속 네트워크 별 패킷왕복시간을 기초로 대기시간(T_th)을 동적/적응적으로 설정하기 때문에, TCP 재송신 규칙에 따른 재송신타임아웃시간 기반 재송신 발생 경우를 최소화하여 TCP 전송 성능 저하를 효율적으로 예방할 수 있다.
한편, 여기에 제시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 프로세서에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 기술적으로 공지된 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서와 연결되며, 그 결과 프로세서는 저장 매체로부터 정보를 판독하고 저장 매체로 정보를 기록할 수 있다. 대안적으로, 저장 매체는 프로세서로 통합될 수 있다. 프로세서 및 저장 매체는 ASIC 내에 포함될 수 있다. ASIC은 사용자단말장치 내에 포함될 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자단말장치 내에 개별적인 컴포넌트들로서 포함될 수 있다.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명에 따른 이기종 네트워크 기반 데이터 동시 전송 송수신 장치 및 송수신 방법에 따르면, 데이터를 분할한 부분데이터를 복수개의 이기종 네트워크를 사용하여 송/수신하는 동시 전송 서비스 환경에서 불필요한 부분데이터 재송신을 효과적으로 미연에 방지할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100 : 단말장치
110 : 통신부 120 : 수신버퍼부
130 : 제어부

Claims (8)

  1. 특정 전송대상 데이터에서 분할된 부분데이터를 2 이상의 접속 네트워크를 통해 수신하는 통신부;
    상기 2 이상의 접속 네트워크를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기하며, 상기 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달하는 수신버퍼부; 및
    상기 수신버퍼부로부터 전달되는 상기 전달 대기 중인 부분데이터에 대응하는 수신 애크를 상기 전달 대기 중인 부분데이터를 송신하는 송신장치로 제공하여, 상기 송신장치가 상기 전달 대기 중인 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한하는 제어부를 포함하는 것을 특징으로 하는 이기종 네트워크 기반 데이터 동시 전송 송수신 장치.
  2. 제 1 항에 있어서,
    상기 대기시간은,
    상기 재송신타임아웃시간 예측 시 이용되는 네트워크정보 및 상기 재송신타임아웃 중 적어도 하나를 기초로 설정되는 것을 특징으로 하는 이기종 네트워크 기반 데이터 동시 전송 송수신 장치.
  3. 제 1 항에 있어서,
    상기 대기시간은,
    상기 2 이상의 접속 네트워크 각각에 대한 패킷왕복시간 중 최대 패킷왕복시간을 기초로 설정되는 것을 특징으로 하는 이기종 네트워크 기반 데이터 동시 전송 송수신 장치.
  4. 제 1 항에 있어서,
    상기 제어부는,
    상기 수신버퍼부로부터 전달되는 부분데이터가 미 수신된 특정 순서정보 이후의 순서정보를 갖는 상기 전달 대기 중인 부분데이터인 경우, 상기 미 수신된 특정 순서정보의 부분데이터에 대한 재송신을 유도하는 재송신유도메시지를 포함하는 상기 수신 애크를 상기 송신장치로 제공하는 것을 특징으로 하는 이기종 네트워크 기반 데이터 동시 전송 송수신 장치.
  5. 특정 전송대상 데이터에서 분할된 부분데이터를 2 이상의 접속 네트워크를 통해 수신하는 부분데이터 수신단계;
    상기 2 이상의 접속 네트워크를 통해 수신되는 각 부분데이터를 순서정보에 기초하여 재정렬하는 순서 재정렬단계;
    상기 재정렬한 결과에 따라, 미 수신된 특정 순서정보 이후의 순서정보를 갖는 부분데이터에 대하여 전달 대기하며, 상기 전달 대기 중인 부분데이터에 대응하여 기 설정된 대기시간이 경과하는 경우 전달하는 전달 대기단계; 및
    전달되는 상기 전달 대기 중인 부분데이터에 대응하는 수신 애크를 상기 전달 대기 중인 부분데이터를 송신하는 송신장치로 제공하여, 상기 송신장치가 상기 전달 대기 중인 부분데이터에 대응하여 수신 애크가 미 회신되는 상태로 특정 재송신타임아웃시간이 경과함에 따라 재송신하는 재송신타임아웃시간 기반 재송신 동작을 제한하는 수신애크 제공단계를 포함하는 것을 특징으로 하는 이기종 네트워크 기반 데이터 동시 전송 송수신 방법.
  6. 제 5 항에 있어서,
    상기 대기시간은,
    상기 재송신타임아웃시간 예측 시 이용되는 네트워크정보 및 상기 재송신타임아웃 중 적어도 하나를 기초로 설정되는 것을 특징으로 하는 이기종 네트워크 기반 데이터 동시 전송 송수신 방법.
  7. 제 6 항에 있어서,
    상기 대기시간은,
    상기 2 이상의 접속 네트워크 각각에 대한 패킷왕복시간 중 최대 패킷왕복시간을 기초로 설정되는 것을 특징으로 하는 이기종 네트워크 기반 데이터 동시 전송 송수신 방법.
  8. 제 6 항에 있어서,
    상기 수신애크 제공단계는,
    상기 전달되는 부분데이터가 미 수신된 특정 순서정보 이후의 순서정보를 갖는 상기 전달 대기 중인 부분데이터인 경우, 상기 미 수신된 특정 순서정보의 부분데이터에 대한 재송신을 유도하는 재송신유도메시지를 포함하는 상기 수신 애크를 상기 송신장치로 제공하는 것을 특징으로 하는 이기종 네트워크 기반 데이터 동시 전송 송수신 방법.
KR1020110130232A 2011-12-07 2011-12-07 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치 KR101307827B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110130232A KR101307827B1 (ko) 2011-12-07 2011-12-07 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110130232A KR101307827B1 (ko) 2011-12-07 2011-12-07 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치

Publications (2)

Publication Number Publication Date
KR20130063716A true KR20130063716A (ko) 2013-06-17
KR101307827B1 KR101307827B1 (ko) 2013-09-12

Family

ID=48860948

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110130232A KR101307827B1 (ko) 2011-12-07 2011-12-07 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치

Country Status (1)

Country Link
KR (1) KR101307827B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005167353A (ja) * 2003-11-28 2005-06-23 Ntt Docomo Inc 送信装置およびプログラム
KR100874152B1 (ko) * 2005-10-14 2008-12-15 삼성전자주식회사 다수의 이종 무선망들을 이용한 동시 데이터 서비스 장치및 방법
KR20070071668A (ko) * 2005-12-30 2007-07-04 주식회사 팬택 병렬 데이터 송수신기능을 갖는 이동통신단말기 및 그데이터 송수신 방법
JP4765892B2 (ja) * 2006-10-25 2011-09-07 株式会社日立製作所 マルチリンクバンドル制御を行なうデータ伝送方法、データ伝送装置、およびデータ伝送システム

Also Published As

Publication number Publication date
KR101307827B1 (ko) 2013-09-12

Similar Documents

Publication Publication Date Title
US8930569B2 (en) Methods and apparatus for optimum file transfers in a time-varying network emvironment
US8281202B2 (en) Method and apparatus for improving transmission time interval bundling
KR20080040671A (ko) 두 무선 장치 사이의 범위 확장
JPWO2008023656A1 (ja) 通信装置
KR102111029B1 (ko) 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법
WO2014194797A2 (en) Transmission control protocol(tcp)connection control parameter in-band signaling
CN107493260B (zh) 用于数据传输的自适应段尺寸的装置、系统和方法
CN111092907B (zh) 基于udp协议的数据流快速传输方法、系统及介质
US9232426B2 (en) System and method for improving information carrying capacity by controlling re-transmissions
KR101307827B1 (ko) 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치
KR101328030B1 (ko) 이기종 네트워크 기반 데이터 동시 전송 장치 및 방법
EP2285033B1 (en) Modification of data transmission regime
KR101269601B1 (ko) 이기종 네트워크 기반 데이터 동시 전송 서비스 방법
JP6973511B2 (ja) 通信装置、通信システム、通信方法及びプログラム
KR101209926B1 (ko) 이기종 네트워크 기반 데이터 동시 전송 서비스 방법
KR101437371B1 (ko) 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치
JP2009273094A (ja) データ通信システム、データ通信端末、データ通信方法、およびプログラム
KR101629953B1 (ko) 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치
KR101857565B1 (ko) 다중 네트워크 기반 동시 전송 서비스를 지원하는 장치
Bhat et al. MPTCP combining congestion window adaptation and packet scheduling for multi-homed device
Hwang et al. HMTP: Multipath transport protocol for multihoming wireless erasure networks
Daniel et al. Combating packet reordering in vertical handoff using cross-layer notifications to TCP
KR101601873B1 (ko) 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치
KR101306304B1 (ko) 이기종 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치
JP2009246533A (ja) 通信端末、通信方法、データ通信システム、およびプログラム

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170823

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190626

Year of fee payment: 7