KR101568288B1 - 데이터 수신 장치 및 방법 - Google Patents

데이터 수신 장치 및 방법 Download PDF

Info

Publication number
KR101568288B1
KR101568288B1 KR1020090088937A KR20090088937A KR101568288B1 KR 101568288 B1 KR101568288 B1 KR 101568288B1 KR 1020090088937 A KR1020090088937 A KR 1020090088937A KR 20090088937 A KR20090088937 A KR 20090088937A KR 101568288 B1 KR101568288 B1 KR 101568288B1
Authority
KR
South Korea
Prior art keywords
data
session
segment
data transmission
network
Prior art date
Application number
KR1020090088937A
Other languages
English (en)
Other versions
KR20110031609A (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 KR1020090088937A priority Critical patent/KR101568288B1/ko
Priority to US12/881,298 priority patent/US8601151B2/en
Publication of KR20110031609A publication Critical patent/KR20110031609A/ko
Application granted granted Critical
Publication of KR101568288B1 publication Critical patent/KR101568288B1/ko

Links

Images

Classifications

    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • 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
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

네트워크를 경유하여 데이터를 수신하는 데이터 수신 장치가 제공된다.
데이터 수신 장치는 네트워크의 혼잡 여부를 판단하고, 네트워크가 혼잡한 경우 스스로 데이터 전송량을 조절한다.
Figure R1020090088937
P2P, 혼잡, 세션

Description

데이터 수신 장치 및 방법{APPARATUS AND METHOD FOR RECEIVING PEER-TO-PEER DATA}
본 발명은 네트워크를 이용하여 데이터를 수신하는 기술에 관한 것이다.
인터넷은 TCP/IP 등의 공통의 통신규약을 적용한 개방형 네트워크로서 정보 검색, 전자 우편 및 파일 전송 등과 같은 다양한 서비스를 가능하게 한다. 특히, 인터넷이 고속화되면서 멀티미디어 콘텐츠 등과 같은 다양한 파일의 판매 및 배포가 가능해졌다.
또한 여러 노드에 분산되어 있는 자원 (예, 시스템, 네트워크 등)들을 논리적으로 공유하기 위하여 P2P(Peer-to-Peer) 방식이 이용된다. P2P 방식은 정보 공유시 특정 서버에 의존하지 않고 각 노드간 직접 공유가 가능한 구조를 갖고 있으며 이로 인해 기존 서버-클라이언트 모델을 운용할 때 발생되는 추가 비용을 상당 부분 해소시킬 수 있는 장점을 갖고 있다. P2P 모델은 각 노드간 정보 공유시 한 노드에서 임의로 복수개의 데이터 세션을 상대방 데이터 전송 장치(peer) 노드들과 구성함으로써 데이터 전달의 속도 및 성능 증가를 제공할 수 있다.
상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명은 복수의 데이터 전송 장치로부터 상기 각 데이터 전송 장치에 상응하는 세션들을 이용하여 수신 데이터를 구성하는 세그먼트들을 각각 수신하는 수신부, 상기 세션들의 상태에 기반하여 상기 세그먼트가 경유하는 네트워크가 혼잡한지 여부를 판단하는 혼잡 여부 판단부, 상기 네트워크가 혼잡하다고 판단한 경우에, 상기 복수의 세션들 중에서 중지 세션을 선택하는 중지 세션 선택부를 포함하고, 상기 수신부는 상기 중지 세션에 대하여 대기 시간 동안 상기 세그먼트의 수신을 중지하는 데이터 수신 장치를 제공한다.
본 발명의 일측에 따르면 복수의 데이터 전송 장치로부터 상기 각 데이터 전송 장치에 상응하는 세션들을 이용하여 수신 데이터를 구성하는 세그먼트들을 각각 수신하는 단계, 상기 세션들의 상태에 기반하여 상기 세그먼트가 경유하는 네트워크가 혼잡한지 여부를 판단하는 단계, 상기 네트워크가 혼잡하다고 판단한 경우에, 상기 복수의 세션들 중에서 중지 세션을 선택하는 단계 및 상기 중지 세션에 대하여 대기 시간 동안 상기 세그먼트의 수신을 중지하는 단계를 포함하는 데이터 수신 방법이 제공된다.
본 발명에 따르면 네트워크 자원의 낭비를 제한하고 전체 네트워크의 성능을 향상시킬 수 있다.
본 발명에 따르면 네트워크의 혼잡을 피하여 데이터를 수신할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 모바일 네트워크의 구조를 도시한 도면이다.
데이터 수신 장치(110)는 네트워크(140)를 경유하여 데이터를 수신한다. 데이터 수신 장치(110)는 복수의 데이터 전송 장치(150, 151, 152, 153)로부터 데이터를 수신한다. 즉, 복수의 데이터 전송 장치(150, 151, 152, 153)들은 데이터 수신 장치(110)가 수신하려는 수신 데이터의 일부 또는 전부를 보유한다.
일실시예에 따르면 데이터 수신 장치(110)는 기지국(120)을 경유하여 네트워크(120)에 접속할 수 있다. 데이터 수신 장치(110)는 데이터 세션들(160)을 이용하여 데이터를 수신할 수 있다. 또한 데이터 수신 장치(110)는 음성 세션(170)을 이용하여 휴대폰(171)으로부터 음성을 수신할 수 있다.
데이터를 수신하는 데이터 세션(160)의 데이터 전송량은 매우 많고, 또한 세션(160)의 개수가 매우 많으므로 네트워크(140)에 큰 부하를 준다. 그러나 음성 세션(170)은 전송량이 많지 않고, 세션(170)의 개수가 많지 않으므로 네트워크(140)에 큰 부하를 주지 않는다.
네트워크(140)의 부하가 매우 큰 경우, 네트워크(140)의 데이터 전송 성능이 감소된다. 데이터의 전송량이 매우 큰 경우, 네트워크(140)는 마비될 수 있고, 이 경우 음성도 전송에 제약을 받을 수 있다.
일실시예에 따르면, 데이터 수신 장치(110)는 네트워크(140)의 상태를 추정하고, 네트워크(140)가 혼잡한 경우, 데이터의 전송량을 감소시킬 수 있다. 이 경우, 네트워크(140)는 혼잡 상태로부터 회복되므로, 데이터 전송 장치(110)는 네트워크(140)를 이용하여 음성을 수신할 수 있다.
또한 데이터의 전송량이 매우 큰 경우, 데이터 수신 장치(110)의 자원(resource)은 데이터를 수신하기 위하여 사용될 수 있다. 이 경우, 데이터 수신 장치(110)는 음성을 수신할 수 없다.
데이터의 전송량이 매우 큰 경우에, 데이터 수신 장치(110)는 데이터의 전송량을 감소시킬 수 있다. 데이터의 전송량이 감소하면, 데이터 수신 장치의 자원은 데이터뿐만 아니라 음성을 수신하기 위하여 사용될 수 있다.
도 2는 본 발명의 일실시예에 따른 데이터 수신 장치의 구조를 도시한 블록도이다. 데이터 수신 장치(200)는 수신부(210), 데이터 전송률 산출부(220), 혼잡 여부 판단부(230), 중지 세션 선택부(240), 버퍼맵 생성부(250) 및 전송부(260)를 포함할 수 있다.
수신부(210)는 복수의 데이터 전송 장치(291, 292)로부터 각 데이터 전송 장치(291, 292)에 상응하는 세션(271, 272)을 이용하여 세그먼트들을 수신한다. 도 2에서의 각 세션(271, 272)들은 데이터 수신 장치(200)에 하드웨어적으로 부가되는 부분은 아니지만, 설명의 편의를 위하여 수신 장치(200)의 물리적인 일부인 것처럼 표시되었다. 실제 각 세션(271, 272)은 수신 장치(200)의 세션계층에서 생성, 관리될 수 있다.
데이터 수신 장치(200)가 수신하려는 수신 데이터는 복수의 세그먼트들로 구성된다.
이하 도 3을 참조하여 복수의 세그먼트들이 수신 데이터를 구성하는 개념 및 버퍼맵의 구조에 대하여 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 버퍼맵의 구조를 도시한 도면이다.
버퍼맵은 수신 데이터를 구성하는 각 세그먼트들을 어느 데이터 전송 장치가 보유하고 있는지 여부를 나타낸다.
도 3에서 수신 데이터는 12개의 세그먼트로 구성된다고 가정한다.
제1 데이터 전송 장치가 보유한 데이터(310)를 참조하면, 제1 데이터 전송 장치는 제1 세그먼트 내지 제4 세그먼트, 제9 세그먼트 내지 제11 세그먼트를 보유한다.
제2 데이터 전송 장치가 보유한 데이터(320)를 참조하면, 제2 데이터 전송 장치는 제1 세그먼트 내지 제2 세그먼트, 제4 세그먼트 내지 제5 세그먼트 및 제9 세그먼트를 보유한다.
제3 데이터 전송 장치가 보유한 데이터(340)를 참조하면, 제3 데이터 전송 장치는 제9 세그먼트, 제11 세그먼트 내지 제12 세그먼트를 보유한다.
수신 데이터에 대한 버퍼맵(340)을 참조하면, 데이터 수신 장치는 제1 데이터 전송 장치 및 제2 데이터 전송 장치로부터 제1 세그먼트, 제2 세그먼트 및 제4 세그먼트를 수신할 수 있다. 또한 데이터 수신 장치는 제1 데이터 전송 장치로부터 제3 세그먼트 및 제10 세그먼트를 수신할 수 있다.
도 3에 도시된 버퍼맵(340)을 참고하면, 버퍼맵(340)은 각 세그먼트를 보유하고, 각 세그먼트를 전송할 수 있는 데이터 전송 장치에 대한 정보를 포함한다.
일실시예에 따르면 버퍼맵 생성부(250)는 버퍼맵을 생성하고, 수신부(210)는 버퍼맵을 이용하여 각 세그먼트에 상응하는 데이터 전송 장치들로부터 각 세그먼트를 수신할 수 있다.
도 4는 버퍼맵 생성 방법의 일실시예를 단계별로 설명한 순서도이다.
단계(S441)에서 데이터 수신 장치(420)는 트래커(430)로 데이터 전송 장치 목록 요청을 전송한다. 데이터 전송 장치 목록은 데이터 수신 장치(420)가 수신하려는 수신 데이터의 일부 또는 전부를 보유하는 데이터 전송 장치들에 대한 목록이다.
단계(S442)에서 데이터 수신 장치(420)는 트래커(430)로부터 데이터 전송 장치 목록을 수신한다.
단계(S450)에서 데이터 수신 장치(420)는 접근 가능한 모든 데이터 전송 장치들 중에서 수신 데이터를 보유하는 데이터 전송 장치들을 데이터 전송 장치 목록에 기반하여 선택한다.
단계(S451)에서 데이터 수신 장치(420)는 선택된 데이터 전송 장치(410)로 버퍼맵을 요청한다.
단계(S452)에서 데이터 수신 장치(420)는 선택된 데이터 전송 장치(410)로부터 버퍼맵을 수신한다. 단계(S452)에서 데이터 수신 장치(420)가 수신한 버퍼맵은 수신 데이터 중에서 선택된 데이터 전송 장치(410)가 보유하는 세그먼트에 대한 정보를 포함한다. 단계(S452)에서 데이터 수신 장치(420)는 복수의 데이터 전송 장치들로부터 버퍼맵을 수신하고, 수신된 버퍼맵을 이용하여 수신 데이터에 대한 버퍼맵을 재구성할 수 있다. 재구성된 버퍼맵은 각 세그먼트를 보유하고 있는 데이터 전송 장치들에 대한 정보를 포함한다.
단계(S461)에서 데이터 수신 장치(420)는 선택된 데이터 전송 장치(410)로부터 수신한 버퍼맵에 기반하여 선택된 데이터 전송 장치(410)가 보유한 세그먼트를 선택하고, 선택된 세그먼트에 대한 세그먼트 전송 요청을 선택된 데이터 전송 장치(410)로 전송한다.
단계(S462)에서 데이터 수신 장치(420)는 선택된 데이터 전송 장치(410)로부터 세그먼트를 수신한다. 일실시예에 따르면 단계(S462)에서 데이터 수신 장치(420)는 세그먼트를 수신하기 위하여 선택된 데이터 전송 장치(410)에 상응하는 세션을 생성할 수 있다.
단계(S471)에서 데이터 수신 장치(420)는 수신 데이터에 대한 전송 종료 확인 요청을 선택된 데이터 전송 장치(S471)로 전송한다.
단계(S472)에서 데이터 수신 장치(420)는 수신 데이터에 대한 전송 종료 확인을 선택된 데이터 전송 장치(410)로부터 수신한다. 일실시예에 따르면 단계(S472)에서 데이터 수신 장치(420)는 단계(S462)에서 생성된 세션을 폐기할 수 있다.
데이터 전송률 산출부(220)는 각 세션(271, 272)에 대하여 데이터 전송률을 산출한다. 일실시예에 따르면 데이터 전송률 산출부(220)는 각 세션(271, 272)이 소정 시간 동안 수신한 데이터량과 각 세션들에 대한 왕복 시간(RTT: Round Trip Time)에 기반하여 데이터 전송률을 산출할 수 있다.
왕복 시간은 데이터 수신 장치(200)로부터 전송된 패킷이 네트워크(280)를 경유하여 각 데이터 전송 장치(291, 292)에 전달된 후, 패킷에 대한 응답신호가 네트워크(280)를 경유하여 다시 데이터 수신 장치(200)로 돌아오기까지의 시간을 의미한다.
일실시예에 따르면 데이터 전송률 산출부(220)는 각 세션(271, 272)이 소정 시간 동안 수신한 데이터량을 왕복 시간의 절반으로 나눈 값을 데이터 전송률로 산출할 수 있다.
혼잡 여부 판단부(230)는 각 세션(271, 272)들의 상태에 기반하여 세그먼트가 경유하는 네트워크(280)가 혼잡한지 여부를 판단한다. 일실시예에 따르면, 혼잡 여부 판단부(230)는 각 세션(271, 272)들에 대한 데이터 전송률에 기반하여 네트워크(280)의 혼잡 여부를 판단할 수 있다.
일예로서, 각 세션(271, 272)들의 데이터 전송률이 감소하는 경우에, 혼잡 여부 판단부(230)는 네트워크(280)가 혼잡하다고 판단할 수 있다.
도 2에 도시된 바와 같이 데이터를 수신하기 위하여 복수의 세션(271, 272)이 사용된 경우에, 네트워크(280)의 상태에 따라 제1 세션(271)의 데이터 전송률은 상승하고, 제2 세션(271)의 데이터 전송률은 감소할 수 있다.
데이터 전송률이 감소한 세션(272)의 개수가 데이터 전송률이 증가한 세션(271)의 개수보다 더 많은 경우에 혼잡 여부 판단부(230)는 네트워크(280)가 혼 잡하다고 판단할 수 있다. 또는 복수의 세션(271, 272) 중에서 데이터 전송률이 감소한 세션(272)의 개수가 소정 비율 이상인 경우에, 혼잡 여부 판단부(280)는 네트워크가 혼잡 하다고 판단할 수 있다. 다른 실시예에 따르면 복수의 세션(271, 272) 중에서 데이터 전송률이 소정 임계치 이상 감소한 세션의 개수가 소정 비율 이상인 경우에, 혼잡 여부 판단부(280)는 네트워크가 혼잡 하다고 판단할 수 있다.
네트워크가 혼잡하다고 판단된 경우에, 중지 세션 선택부(240)는 복수의 세션(271, 272) 중에서 중지 세션을 선택한다. 중지 세션 선택부(240)가 복수의 세션(271, 272) 중에서 중지 세션을 선택하는 구체적인 실시예에 대해서는 이하 도 5 및 도 6에서 상세히 설명하기로 한다.
수신부(210)는 중지 세션에 대하여 소정의 대기 시간 동안 세그먼트의 수신을 중지한다.
도 5는 본 발명의 일실시예에 따라서 중지 세션을 선택하는 개념을 도시한 도면이다. 도 5에서는 데이터 수신 장치가 12개의 세그먼트로 구성된 스트리밍 데이터(500)를 수신하는 실시예가 도시되었다.
제1 데이터 전송 장치는 제5 세그먼트 내지 제8 세그먼트를 보유하고, 제2 데이터 전송 장치는 제8 세그먼트 내지 제11 세그먼트를 보유한다고 가정하자.
데이터 수신 장치는 제1 세션을 이용하여 제1 데이터 전송 장치로부터 제5 세그먼트 내지 제8 세그먼트를 수신하고, 제2 세션을 이용하여 제2 데이터 전송 장치로부터 제8 세그먼트 내지 제11 세그먼트를 수신할 수 있다.
네트워크가 혼잡해지기 전에 데이터 수신 장치는 제1 세그먼트 내지 제5 세 그먼트를 수신하였다고 가정하자.
네트워크가 혼잡하다고 판단하여, 복수의 세션 중에서 중지 세션을 선택해야 하는 순간, 데이터 수신 장치는 제5 세그먼트까지(530) 재생했다고 가정할 수 있다.
데이터 수신 장치는 이미 수신된 제5 세그먼트에 인접한 제6 세그먼트를 수신하기 위하여 제2 데이터 전송 장치를 중지 세션으로 선택할 수 있다.
대기 시간 동안 데이터 수신 장치는 제1 세션을 이용하여 제6 세그먼트를 수신하고, 수신된 제6 세그먼트를 재생할 수 있다. 대기 시간동안 제2 세션을 이용한 데이터 수신은 중지되므로 네트워크의 부하는 감소하고, 데이터 수신 장치는 스트리밍 데이터를 끊김없이 수신할 수 있다.
즉, 데이터 수신 장치는 재생 시점이 임박한 세그먼트를 전송할 수 있는 세션은 중지 세션으로 선택하지 않고, 재생 시점과 시간 여유가 있는 세그먼트를 전송할 수 있는 세션을 중지 세션으로 선택할 수 있다.
도 6은 본 발명의 다른 실시예에 따라서 중지 세션을 선택하는 개념을 도시한 도면이다.
도 6에서는 데이터 수신 장치가 데이터 수신 방법을 이용하여 복수의 세그먼트로 구성된 스트리밍 데이터(600)를 수신하는 실시예가 도시되었다.
네트워크가 혼잡하다고 판단하여, 복수의 세션 중에서 중지 세션을 선택해야 하는 순간 데이터 수신 장치는 이미 제7 세그먼트까지 수신하고, 재생하였다고 가정하자.
데이터 수신 장치는 제8 세그먼트 내지 제10 세그먼트를 수신할 수 있는 세션을 제외한 다른 세션들을 중지 세션으로 선택할 수 있다.
도 6에서는 제1 데이터 전송 장치, 제2 데이터 전송 장치 및 제3 데이터 전송 장치가 제8 세그먼트를 보유하고, 제1 데이터 전송 장치 및 제3 데이터 전송 장치가 제9 세그먼트 및 제10 세그먼트를 보유한 실시예가 도시되었다. 데이터 수신 장치는 제1 세션을 이용하여 제1 데이터 전송 장치로부터 세그먼트를 수신하고, 제2 세션을 이용하여 제2 데이터 전송 장치로부터 세그먼트를 수신하고, 제3 세션을 이용하여 제3 데이터 전송 장치로부터 세그먼트를 수신한다고 가정하자.
일실시예에 따르면 데이터 수신 장치는 제1 세션, 제2 세션 및 제3 세션을 제외한 다른 세션들을 중지 세션으로 선택할 수 있다.
다른 실시예에 따르면, 데이터 수신 장치는 제1 세션, 제2 세션 및 제3 세션 중에서 중지 세션을 추가적으로 선택할 수 있다.
데이터 수신 장치는 제1 세션 및 제3 세션을 이용하여 제8 세그먼트 내지 제10 세그먼트를 수신할 수 있다. 또한, 데이터 수신 장치는 제2 세션을 이용하여 제8 세그먼트 및 제10 세그먼트를 수신할 수 있다.
일실시예에 따르면, 데이터 수신 장치는 제9 세그먼트를 수신할 수 없는 제2 세션을 중지 세션으로 선택할 수 있다.
데이터 수신 장치는 복수의 세션(제1 세션 및 제3 세션)을 이용하여 제8 세그먼트 내지 제10 세그먼트를 수신할 수 있다. 데이터 수신 장치는 복수의 세션 중에서 하나의 세션만을 데이터 전송 세션으로 선택하고, 다른 세션은 중지 세션으 로 선택할 수 있다. 대기 시간 동안 중지 세션을 이용한 데이터 전송은 중지된다. 따라서, 대기 시간 동안 데이터 수신 장치가 세그먼트를 수신하는 세션의 개수가 최소화된다. 중복 전송이 차단되므로, 대기 시간 동안 네트워크 자원의 소비가 최소화된다.
일실시예에 따르면 대기 시간은 각 세션들에 대한 왕복 시간들의 평균값에 기반하여 결정될 수 있다. 즉, 각 세션들에 대한 왕복 시간들이 큰 값을 가진다면, 대기 시간도 길어질 수 있다.
일실시예에 따르면 대기 시간 동안에 수신부(210)는 중지 세션에 대하여 세그먼트의 수신을 중지한다. 전송부(260)는 대기 시간 동안에 수신 확인 정보를 중지 세션(272)에 상응하는 데이터 전송 장치(292)로 전송할 수 있다. 전송부(260)가 전송하는 수신 확인 정보는 네트워크(280)가 혼잡해지기 전에 수신부(210)가 중지 세션(272)을 이용하여 수신한 세그먼트에 대한 수신 확인 정보이다.
중지 세션(272)에 상응하는 데이터 전송 장치(292)가 수신 확인 정보를 수신하면, 중지 세션(272)에 상응하는 데이터 전송 장치(292)의 세션이 유지된다. 중지 세션(272)에 상응하는 데이터 전송 장치(292)의 세션 및 중지 세션(272)이 중지 기간 동안 유지되므로, 중지 기간 이후에 새롭게 세션을 생성하는 과정 없이, 즉시 세그먼트 수신이 계속될 수 있다.
도 2에서는 데이터 수신 장치가 하나의 네트워크(280)만을 경유하여 각각의 데이터 전송 장치(291, 292)로부터 데이터를 수신하는 실시예가 도시되었으나, 다른 실시예에 따르면, 데이터 수신 장치는 각 데이터 전송 장치(291, 292)에 상응하 는 별개의 네트워크를 경유하여 데이터를 수신할 수 있다. 즉, 수신부(210)는 제1 네트워크를 경유하여 제1 데이터 전송 장치(291)로부터 세그먼트를 수신하고, 제2 네트워크를 경유하여 제2 데이터 전송 장치(292)로부터 세그먼트를 수신할 수 있다.
또한 각 데이터 전송 장치(291, 292)에 상응하는 각 네트워크는 이기종 네트워크일 수 있다.
도 7은 본 발명의 일실시예에 따른 데이터 수신 방법을 단계별로 설명한 순서도이다.
단계(S710)에서 데이터 수신 장치는 버퍼맵을 생성한다. 버퍼맵은 복수의 데이터 전송 장치들 중에서 수신 데이터를 구성하는 각 세그먼트를 보유하는 적어도 하나 이상의 데이터 전송 장치에 대한 정보를 포함한다.
단계(S720)에서 데이터 수신 장치는 복수의 데이터 전송 장치로부터 각 데이터 전송 장치에 상응하는 세션들을 이용하여 세그먼트를 수신한다. 데이터 수신 장치는 버퍼맵을 이용하여 세그먼트를 수신할 수 있다. 데이터 수신 장치는 버퍼맵을 참고하여 어느 데이터 전송 장치가 어느 세그먼트를 보유하고 있는지 판단하고, 어느 세그먼트를 수신하려면 어느 데이터 전송 장치로 요청해야 하는지 여부를 결정할 수 있다. 데이터 수신 장치는 결정된 데이터 전송 장치로부터 세그먼트를 수신할 수 있다.
단계(S730)에서 데이터 수신 장치는 각 세션에 대하여 데이터 전송률을 산출한다. 일실시예에 따르면 데이터 수신 장치는 각 세션이 소정 시간 동안 수신한 데이터량과 각 세션들에 대한 왕복시간에 기반하여 데이터 전송률을 산출할 수 있다.
일실시예에 따르면 데이터 수신 장치는 각 세션이 소정 시간 동안 수신한 데이터량을 왕복 시간의 절반으로 나눈 값을 데이터 전송률로 산출할 수 있다.
단계(S740)에서 데이터 수신 장치는 세그먼트가 경유하는 네트워크가 혼잡한지 여부를 판단한다. 일실시예에 따르면 데이터 수신 장치는 각 세션에 대한 데이터 전송률에 기반하여 네트워크가 혼잡한지 여부를 판단한다.
일예로서, 각 세션들의 데이터 전송률이 감소하는 경우에, 단계(S740)에서 데이터 수신 장치는 네트워크가 혼잡하다고 판단할 수 있다.
다른 실시예에 따르면 데이터 전송률이 감소한 세션의 개수가 데이터 전송률이 증가한 세션의 개수보다 더 많은 경우에, 단계(S740)에서 데이터 수신 장치는 네트워크가 혼잡하다고 판단할 수 있다.
또 다른 실시예에 따르면 복수의 세션 중에서 데이터 전송률이 소정 임계치 이상 감소한 세션의 개수가 소정 비율 이상인 경우에, 단계(S740)에서 데이터 수신 장치는 네트워크가 혼잡하다고 판단할 수 있다.
네트워크가 혼잡하다고 판단된 경우에, 단계(S750)에서 데이터 수신 장치는 복수의 세션들 중에서 중지 세션을 선택한다.
단계(S760)에서 데이터 수신 장치는 중지 세션에 대하여 대기 시간 동안 세그먼트의 수신을 중지한다. 일실시예에 따르면 대기 시간은 각 세션들에 대한 왕복 시간들의 평균값에 기반하여 결정될 수 있다. 즉, 각 세션들에 대한 왕복 시간 들이 큰 값을 가진다면, 대기 시간도 길어질 수 있다. 더 오랜 시간 동안 데이터 수신 장치의 세그먼트 수신양이 감소한다.
단계(S760)에서 데이터 수신 장치는 대기 시간 동안에 수신 확인 정보를 중지 세션에 상응하는 데이터 전송 장치로 전송할 수 있다. 단계(S760)에서 데이터 수신 장치가 전송하는 수신 확인 정보는 중지 시간 이전에 중지 세션을 이용하여 수신한 세그먼트에 대한 수신 확인 정보이다. 중지 세션에 상응하는 데이터 전송 장치가 수신 확인 정보를 수신한다면, 중지 세션에 상응하는 데이터 전송 장치의 세션도 대기 시간 동안 유지된다. 즉, 중지 세션에 상응하는 데이터 전송 장치의 세션 및 중지 세션이 모두 대기 시간 동안 유지되므로, 대기 시간 이후에 즉시 세그먼트 수신을 재개할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
본 발명의 일실시예에 따른 데이터 수신 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일실시예에 따른 모바일 네트워크의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 데이터 수신 장치의 구조를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 버퍼맵의 구조를 도시한 도면이다.
도 4는 버퍼맵 생성 방법의 일실시예를 단계별로 설명한 순서도이다.
도 5는 본 발명의 일실시예에 따라서 중지 세션을 선택하는 개념을 도시한 도면이다.
도 6은 본 발명의 다른 실시예에 따라서 중지 세션을 선택하는 개념을 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 데이터 수신 방법을 단계별로 설명한 순서도이다.

Claims (16)

  1. 복수의 데이터 전송 장치로부터 상기 각 데이터 전송 장치에 상응하는 세션들을 이용하여 수신 데이터를 구성하는 세그먼트들을 각각 수신하는 수신부;
    상기 세션들의 상태에 기반하여 상기 세그먼트가 경유하는 네트워크가 혼잡한지 여부를 판단하는 혼잡 여부 판단부; 및
    상기 네트워크가 혼잡하다고 판단한 경우에, 상기 복수의 세션들 중에서 중지 세션을 선택하는 중지 세션 선택부
    를 포함하고,
    상기 수신부는 상기 중지 세션에 대하여 대기 시간 동안 상기 세그먼트의 수신을 중지하고,
    상기 대기 시간은 상기 각 세션들에 대한 왕복 시간들의 평균값에 비례하도록 결정되는 데이터 수신 장치.
  2. 제1항에 있어서,
    상기 복수의 데이터 전송 장치들 중에서 상기 각 세그먼트를 보유하는 적어도 하나 이상의 데이터 전송 장치(Peer)의 정보를 포함하는 버퍼맵(beffer map)을 생성하는 버퍼맵 생성부;
    를 더 포함하고,
    상기 수신부는 상기 버퍼맵을 이용하여 상기 세그먼트들을 수신하는 데이터 수신 장치.
  3. 제1항에 있어서,
    상기 각 세션에 대하여 데이터 전송률을 산출하는 데이터 전송률 산출부
    를 더 포함하고,
    상기 혼잡 여부 판단부는 상기 각 세션에 대한 데이터 전송률에 기반하여 상기 네트워크의 혼잡 여부를 판단하는 데이터 수신 장치.
  4. 제3항에 있어서,
    상기 수신부는 각 데이터 전송 장치에 상응하는 이기종 네트워크를 경유하여 상기 세그먼트를 수신하는 데이터 수신 장치.
  5. 제3항에 있어서,
    상기 혼잡 여부 판단부는 상기 복수의 세션 중에서 상기 데이터 전송률이 소정 임계치 이상 감소한 세션의 개수가 소정 비율 이상인 경우에 상기 네트워크가 혼잡하다고 판단하는 데이터 수신 장치.
  6. 제3항에 있어서,
    상기 데이터 전송률 산출부는 상기 각 세션이 소정 시간 동안 수신한 데이터량과 상기 각 세션들에 대한 왕복 시간(RTT: Round Trip Time)에 기반하여 상기 데이터 전송률을 산출하는 데이터 수신 장치.
  7. 삭제
  8. 제1항에 있어서,
    상기 중지 세션을 이용하여 수신한 세그먼트에 대한 수신 확인 정보를 상기 대기 시간 동안에 상기 중지 세션에 상응하는 데이터 전송 장치로 전송하는 전송부
    를 포함하는 데이터 수신 장치.
  9. 복수의 데이터 전송 장치로부터 상기 각 데이터 전송 장치에 상응하는 세션들을 이용하여 수신 데이터를 구성하는 세그먼트들을 각각 수신하는 단계;
    상기 세션들의 상태에 기반하여 상기 세그먼트가 경유하는 네트워크가 혼잡한지 여부를 판단하는 단계;
    상기 네트워크가 혼잡하다고 판단한 경우에, 상기 복수의 세션들 중에서 중지 세션을 선택하는 단계; 및
    상기 중지 세션에 대하여 대기 시간 동안 상기 세그먼트의 수신을 중지하는 단계
    를 포함하고,
    상기 대기 시간은 상기 각 세션들에 대한 왕복 시간들의 평균값에 비례하도록 결정되는 데이터 수신 방법.
  10. 제9항에 있어서,
    상기 복수의 데이터 전송 장치들 중에서 상기 각 세그먼트를 보유하는 적어도 하나 이상의 데이터 전송 장치(Peer)의 정보를 포함하는 버퍼맵을 생성하는 단계;
    를 더 포함하고,
    상기 세그먼트들을 수신하는 단계는 상기 버퍼맵을 이용하여 상기 세그먼트들을 수신하는 데이터 수신 방법.
  11. 제9항에 있어서,
    상기 각 세션에 대하여 데이터 전송률을 산출하는 단계
    를 더 포함하고,
    상기 혼잡한지 여부를 판단하는 단계는 상기 각 세션에 대한 데이터 전송률에 기반하여 상기 네트워크가 혼잡한지 여부를 판단하는 데이터 수신 방법.
  12. 제11항에 있어서,
    상기 혼잡한지 여부를 판단하는 단계는 상기 복수의 세션 중에서 상기 데이터 전송률이 소정 임계치 이상 감소한 세션의 개수가 소정 비율 이상인 경우에 상기 네트워크가 혼잡하다고 판단하는 데이터 수신 방법.
  13. 제11항에 있어서,
    상기 데이터 전송률을 산출하는 단계는 상기 각 세션이 소정 시간 동안 수 신한 데이터량과 상기 각 세션들에 대한 왕복 시간(RTT: Round Trip Time)에 기반하여 상기 데이터 전송률을 산출하는 데이터 수신 방법.
  14. 삭제
  15. 제9항에 있어서,
    상기 대기 시간 이전에 상기 중지 세션을 이용하여 수신한 세그먼트에 대한 수신 확인 정보를 상기 대기 시간 동안에 상기 중지 세션에 상응하는 데이터 전송 장치로 전송하는 데이터 수신 방법.
  16. 제9항 내지 제13항 및 제15항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
KR1020090088937A 2009-09-21 2009-09-21 데이터 수신 장치 및 방법 KR101568288B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090088937A KR101568288B1 (ko) 2009-09-21 2009-09-21 데이터 수신 장치 및 방법
US12/881,298 US8601151B2 (en) 2009-09-21 2010-09-14 Apparatus and method for receiving data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090088937A KR101568288B1 (ko) 2009-09-21 2009-09-21 데이터 수신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110031609A KR20110031609A (ko) 2011-03-29
KR101568288B1 true KR101568288B1 (ko) 2015-11-12

Family

ID=43757580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090088937A KR101568288B1 (ko) 2009-09-21 2009-09-21 데이터 수신 장치 및 방법

Country Status (2)

Country Link
US (1) US8601151B2 (ko)
KR (1) KR101568288B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10136355B2 (en) 2012-11-26 2018-11-20 Vasona Networks, Inc. Reducing signaling load on a mobile network
US10341881B2 (en) * 2013-11-12 2019-07-02 Vasona Networks, Inc. Supervision of data in a wireless network
US10039028B2 (en) * 2013-11-12 2018-07-31 Vasona Networks Inc. Congestion in a wireless network
JP2015204466A (ja) * 2014-04-10 2015-11-16 株式会社東芝 データ転送装置、データ転送方法および通信装置
KR102643682B1 (ko) * 2021-12-21 2024-03-05 울산과학기술원 미디어 스트리밍 처리 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194310A1 (en) * 2001-06-19 2002-12-19 Intel Corporation System and method for automatic and adaptive use of active network performance measurement techniques to find the fastest source
US20030007454A1 (en) * 2001-07-09 2003-01-09 International Business Machines Corporation Traffic management in packet-based networks
US20080134258A1 (en) * 2005-08-12 2008-06-05 Stuart Goose Multi-Source and Resilient Video on Demand Streaming System for a Peer-to-Peer Subscriber Community
US20080235370A1 (en) * 2007-03-21 2008-09-25 Somansa Co., Ltd. Method and System for Controlling Network Traffic of P2P and Instant Messenger Softwares

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682325A (en) * 1994-09-12 1997-10-28 Bell Atlantic Network Services, Inc. Level 1 gateway for video tone networks
US7574499B1 (en) * 2000-07-19 2009-08-11 Akamai Technologies, Inc. Global traffic management system using IP anycast routing and dynamic load-balancing
ES2319883T3 (es) * 2003-05-09 2009-05-14 Nokia Siemens Networks S.P.A. Procedimiento para transmitir contenidos de servicios multimedia en las redes umts mediante multidifusion inmediata de un subconjunto de flujo continuo.
US7602709B1 (en) * 2004-11-17 2009-10-13 Juniper Networks, Inc. Congestion management of session negotiations in network devices
JP4093236B2 (ja) 2005-01-24 2008-06-04 オンキヨー株式会社 ピア及び負荷調整プログラム
KR100744562B1 (ko) 2005-12-08 2007-08-01 한국전자통신연구원 P2p 트래픽 분류 시스템 및 그 분류 방법
US7680044B2 (en) 2005-12-29 2010-03-16 Panasonic Electric Works Co., Ltd. Systems and methods for managing traffic within a peer-to-peer network
CN101371503B (zh) 2006-01-11 2013-09-25 高通股份有限公司 用于在广域网与局域对等网络之间共享带宽的方法和装置
AU2007212001A1 (en) * 2006-02-07 2007-08-16 Asankya Networks, Inc. Systems and methods of improving performance of transport protocols
US20070288638A1 (en) * 2006-04-03 2007-12-13 British Columbia, University Of Methods and distributed systems for data location and delivery
US20100011103A1 (en) * 2006-09-28 2010-01-14 Rayv Inc. System and methods for peer-to-peer media streaming
CN101005606B (zh) * 2006-12-31 2012-07-04 华为技术有限公司 一种减少媒体播放延时的方法和装置
JP2008299586A (ja) 2007-05-31 2008-12-11 Hiroshima Univ 分散ネットワークのためのオーバーレイ構築装置、およびネットワーク検索プログラム
US7908362B2 (en) * 2007-12-03 2011-03-15 Velocix Ltd. Method and apparatus for the delivery of digital data
US8306039B2 (en) * 2008-12-15 2012-11-06 Ciena Corporation Methods and systems for automatic transport path selection for multi-homed entities in stream control transmission protocol
US20100228824A1 (en) * 2009-03-06 2010-09-09 Cisco Technology, Inc. Distributed server selection for online collaborative computing sessions
US10749947B2 (en) * 2009-06-24 2020-08-18 Provenance Asset Group Llc Method and apparatus for signaling of buffer content in a peer-to-peer streaming network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194310A1 (en) * 2001-06-19 2002-12-19 Intel Corporation System and method for automatic and adaptive use of active network performance measurement techniques to find the fastest source
US20030007454A1 (en) * 2001-07-09 2003-01-09 International Business Machines Corporation Traffic management in packet-based networks
US20080134258A1 (en) * 2005-08-12 2008-06-05 Stuart Goose Multi-Source and Resilient Video on Demand Streaming System for a Peer-to-Peer Subscriber Community
US20080235370A1 (en) * 2007-03-21 2008-09-25 Somansa Co., Ltd. Method and System for Controlling Network Traffic of P2P and Instant Messenger Softwares

Also Published As

Publication number Publication date
US20110072152A1 (en) 2011-03-24
US8601151B2 (en) 2013-12-03
KR20110031609A (ko) 2011-03-29

Similar Documents

Publication Publication Date Title
EP3472697B1 (en) Dynamic acceleration in content delivery network
US20210243264A1 (en) Method and apparatus for providing edge computing services
US8516147B2 (en) Data segmentation, request and transfer method
Bui et al. Greenbag: Energy-efficient bandwidth aggregation for real-time streaming in heterogeneous mobile wireless networks
WO2018108166A1 (en) Data pre-fetching in mobile networks
KR101568288B1 (ko) 데이터 수신 장치 및 방법
US8848736B2 (en) Method and apparatus for transmitting data
US8914501B2 (en) Method, apparatus, and system for scheduling distributed buffer resources
EP4228275A2 (en) Network-based download/streaming concept
Xing et al. A low-latency MPTCP scheduler for live video streaming in mobile networks
KR102036579B1 (ko) 무선 통신 시스템에서 웹 서비스 제공 방법 및 장치
KR20140105297A (ko) 스트리밍 서비스를 제공하기 위한 동적 버퍼링 방법 및 그 장치
KR101322213B1 (ko) P2p 오버레이 네트워크 상에서 무선 노드의 기능을처리하는 프록싱 처리 방법 및 서버
KR20110122947A (ko) 허브 및 가상 그룹에 속하는 송, 수신 단말의 통신 방법
Xing et al. A Stream-Aware MPQUIC Scheduler for HTTP Traffic in Mobile Networks
KR20150025484A (ko) 복수개의 네트워크 인터페이스들을 이용하여 데이터를 수신하기 위한 방법 및 장치
US11223869B2 (en) Content stream multicasting with relative latency for media devices
JP6805713B2 (ja) 受信トラヒックの高速化装置、高速化方法、および高速化プログラム
JP2013143732A (ja) 通信端末装置
KR101581678B1 (ko) 전송 순서를 이용한 데이터 공유 시스템
JP6194890B2 (ja) マルチメディアデータ通信装置、方法、プログラムおよび有効データ増加率算出装置
KR102390522B1 (ko) 적응형 비디오 스트리밍 서비스를 위한 블록체인 기반의 안정적인 체감품질 가속기
US20230066060A1 (en) Routing of bursty data flows
KR101360772B1 (ko) 핸드오버를 고려한 모바일 컨텐츠 제공 방법 및 이를 위한 장치
KR20180047866A (ko) 미디어 버퍼 제어를 이용한 효율적인 무선 네트워크 스트리밍 중계 엔진 시스템

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