KR20120056728A - Opportunistic Fair Parallel Download Method and System Based on Priority of Connection Link - Google Patents

Opportunistic Fair Parallel Download Method and System Based on Priority of Connection Link Download PDF

Info

Publication number
KR20120056728A
KR20120056728A KR1020100118403A KR20100118403A KR20120056728A KR 20120056728 A KR20120056728 A KR 20120056728A KR 1020100118403 A KR1020100118403 A KR 1020100118403A KR 20100118403 A KR20100118403 A KR 20100118403A KR 20120056728 A KR20120056728 A KR 20120056728A
Authority
KR
South Korea
Prior art keywords
priority
group
server
network
network connection
Prior art date
Application number
KR1020100118403A
Other languages
Korean (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 KR1020100118403A priority Critical patent/KR20120056728A/en
Publication of KR20120056728A publication Critical patent/KR20120056728A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: An opportunist parallel download method based on connection link priority and system thereof are provided to reduce content download time on a network by changing the establishment of a network connection method by selecting a priority group. CONSTITUTION: Plural reception apparatuses(123) respectively contacts with an action server and a network. The reception apparatuses receive content. A congestion controller(122) monitors network connection states of the reception apparatuses. The congestion controller selects the monitored reception apparatus from the priority groups. The congestion controller changes the establishment of a network connection method in the reception apparatus.

Description

연결 링크의 우선 순위에 기반한 기회주의적 병렬 다운로드 방법 및 시스템{Opportunistic Fair Parallel Download Method and System Based on Priority of Connection Link}Opportunistic Fair Parallel Download Method and System Based on Priority of Connection Link}

본 발명은 콘텐츠 다운로드 방법 및 시스템에 관한 것으로서, 다수의 서버에 병렬 연결 설정하고 사용자의 정책 혹은 연결 링크의 상태에 따라 서로 다른 우선 순위를 부여함으로써 콘텐츠 다운로드 시간을 줄이고 분산을 통해 서버의 부하를 줄여 시스템의 신뢰도(Reliability)를 향상시킬 수 있는 기회주의적 병렬 다운로드 방법 및 시스템에 관한 것이다. The present invention relates to a method and a system for downloading a content. By setting up a parallel connection to a plurality of servers and assigning different priorities according to a user's policy or the status of a connection link, the content download time is reduced and the server load is reduced through distribution. The present invention relates to an opportunistic parallel download method and system that can improve the reliability of the system.

콘텐츠 분배 네트워크 (Contents Distribution Network)나 피어-투-피어 (Peer-to-Peer) 파일 공유 네트워크에서 파일의 복제 및 분배는 매우 중요한 문제 중 하나이다. 즉, 동일한 콘텐츠를 여러 서버에 분산하여 저장할 경우, 서버의 부하를 분산할 수 있을 뿐만 아니라 서버의 고장 (fault) 에 따른 서비스 중단을 예방 할 수 있어 시스템의 신뢰도를 향상 시킬 수 있다. In a Contents Distribution Network or Peer-to-Peer File Sharing Network, the replication and distribution of files is one of the most important issues. In other words, if the same content is distributed and stored in multiple servers, not only can the load of the server be distributed but also the service interruption due to the server's fault can be prevented, thereby improving the reliability of the system.

병렬 다운로드 프로토콜은 하나의 수신 노드에서 다수의 서버로 연결을 설정하여 동시에 다운로드 받는 방식으로 각 연결 링크의 병목지점이 서로 다를 경우 연결을 설정한 수에 따라 다운로드 처리량 (Throughput)을 증가시켜 다운로드 시간을 줄일 수 있다. 그러나 병렬 다운로드 프로토콜은 같은 병목 지점을 공유할 경우 다른 연결 링크의 성능을 저하시켜 형평성 문제를 야기한다.The parallel download protocol establishes a connection from one receiving node to multiple servers and downloads simultaneously. If the bottlenecks of each connection link are different, the download throughput is increased by increasing the number of connections established. Can be reduced. However, parallel download protocols cause performance problems when sharing the same bottlenecks, resulting in poor performance of other connection links.

따라서, 본 발명은 상술한 문제점을 해결하기 위한 것으로서, 본 발명의 목적은, 복제된 콘텐츠가 다수의 서버에 분산되어 저장되어 있는 네트워크 상에서 콘텐츠 다운로드 시간을 단축시키고 병렬 다운로드로 인해 발생하는 형평성 문제를 극복할 수 있는 기회주의적 병렬 다운로드 방법 및 시스템을 제공하는 데 있다. Accordingly, an object of the present invention is to solve the above-described problem, and an object of the present invention is to reduce content download time on a network in which replicated content is distributed and stored in a plurality of servers, and to solve the problem of equity caused by parallel download. To provide an opportunistic parallel download method and system that can overcome.

또한, 다수의 서버와 다중 경로의 TCP 연결을 설정함에 있어서, 사용자의 정책 (Policy)이나 연결 링크의 상태를 기반으로 병렬 연결의 우선순위를 다르게 부여하여 콘텐츠를 다운로드하는 기회주의적 병렬 다운로드 방법 및 시스템을 제공하는 데 있다. In addition, in establishing a multipath TCP connection with multiple servers, an opportunistic parallel download method and system for downloading contents by assigning priorities to parallel connections based on a user's policy or the status of a connection link. To provide.

그리고, 연결이 설정되어 콘텐츠를 다운로드 받는 동안 연결 상태를 지속적으로 모니터링하여 연결 상태의 변화에 따라 할당된 우선 순위도 변경하여 성능저하 없이 타 연결과의 형평성 문제를 해결할 수 있는 기회주의적 병렬 다운로드 방법 및 시스템을 제공하는 데 있다. Opportunistic parallel download method that continuously monitors the connection status while the connection is established and downloads the content, and changes the priority assigned as the connection status changes to solve the problem of equity with other connections without degrading performance. To provide a system.

먼저, 본 발명의 특징을 요약하면, 상기와 같은 본 발명의 목적을 달성하기 위한 본 발명의 일면에 따른, 복수 서버에 분산 저장된 콘텐츠를 병렬 다운로드하기 위한 수신 단말에서의 병렬 다운로드 방법은, 복수의 수신 장치들이 각각의 대응 서버와 네트워크로 연결되어 콘텐츠를 수신하는 단계; 상기 복수의 수신 장치들의 네트워크 연결 상태를 모니터링하는 단계; 및 복수의 우선 순위 그룹에서 선택하여 상기 복수의 수신 장치들의 네트워크 연결 방식의 설정을 변경하는 단계를 포함한다.First, to summarize the features of the present invention, in accordance with an aspect of the present invention for achieving the object of the present invention, a parallel download method in the receiving terminal for parallel downloading of the content stored in a plurality of servers in parallel, Receiving devices connected to respective corresponding servers in a network to receive content; Monitoring a network connection state of the plurality of receiving devices; And changing a setting of a network connection scheme of the plurality of receiving devices by selecting from a plurality of priority groups.

상기 모니터링하는 단계는, 상기 복수의 수신 장치들로부터 각각의 패킷 수신량을 수집하는 단계를 포함하고, 상기 설정을 변경하는 단계는, 상기 각각의 패킷 수신량을 임계치와 비교하여 해당 수신 장치에 대하여 상기 복수의 우선 순위 그룹 중 어느 하나를 결정하는 단계, 및 결정된 우선 순위 그룹의 네트워크 연결 방식으로 해당 수신 장치의 네트워크 연결 방식을 설정하는 단계를 포함한다.The monitoring may include collecting respective packet reception amounts from the plurality of receiving devices, and the changing of the setting may be performed by comparing the respective packet reception amounts with a threshold for the corresponding reception apparatus. Determining any one of the plurality of priority groups, and setting a network connection method of a corresponding receiving device based on the determined network connection method of the priority group.

상기 복수의 우선 순위 그룹은, 서버의 패킷 전송 후 재전송 타임 아웃 시간 동안 아무런 응답이 없으면 재전송하는 과정을 수행하는 서버와 단말간의 연결 그룹인 일반 TCP 그룹; 및 서버의 패킷 전송 후 ECN(Early Congestion Notification) 메시지에 따라 재전송하는 과정을 수행하는 서버와 단말간의 연결 그룹인 TCP_LP 그룹을 포함한다.The plurality of priority groups may include: a general TCP group, which is a connection group between a server and a terminal that performs a process of retransmitting if there is no response during a retransmission timeout after the packet transmission of the server; And a TCP_LP group, which is a connection group between the server and the terminal performing retransmission according to an ECN (Early Congestion Notification) message after packet transmission of the server.

그리고, 본 발명의 다른 일면에 따른, 복수 서버에 분산 저장된 콘텐츠를 병렬 다운로드하기 위한 수신 단말의 병렬 다운로드 장치는, 각각의 대응 서버와 네트워크로 연결되어 콘텐츠를 수신하는 복수의 수신 장치들; 및 상기 복수의 수신 장치들의 네트워크 연결 상태를 모니터링하고, 복수의 우선 순위 그룹에서 선택하여 상기 복수의 수신 장치들의 네트워크 연결 방식의 설정을 변경하는 혼잡 제어 조율자를 포함한다.In addition, according to another aspect of the present invention, a parallel download apparatus of a receiving terminal for parallelly downloading contents distributed and stored in a plurality of servers includes: a plurality of receiving apparatuses connected to a network corresponding to each corresponding server to receive the contents; And a congestion control coordinator for monitoring a network connection state of the plurality of receiving apparatuses and selecting from a plurality of priority groups to change a setting of a network connection scheme of the plurality of receiving apparatuses.

상기 혼잡 제어 조율자는, 상기 복수의 수신 장치들로부터 각각의 패킷 수신량을 수집하는 네트워크 모니터링부; 상기 각각의 패킷 수신량을 임계치와 비교하여 해당 수신 장치에 대하여 상기 복수의 우선 순위 그룹 중 어느 하나를 결정하는 우선순위 결정부; 및 결정된 우선 순위 그룹의 네트워크 연결 방식으로 해당 수신 장치의 네트워크 연결 방식을 설정하는 설정부를 포함한다.The congestion control coordinator, the network monitoring unit for collecting each packet receiving amount from the plurality of receiving devices; A priority determining unit which determines one of the plurality of priority groups with respect to a corresponding receiving device by comparing each packet receiving amount with a threshold; And a setting unit configured to set a network connection method of the corresponding reception device as the network connection method of the determined priority group.

본 발명에 따른 병렬 다운로드 방법 및 시스템에 따르면, 하나의 TCP 연결을 이용할 때와 비교하여 다수의 TCP 연결을 이용하여 콘텐츠를 다운 받을 경우 다운로드 시간을 줄 일 수 있다.According to the parallel download method and system according to the present invention, the download time can be reduced when downloading content using a plurality of TCP connections compared to when using one TCP connection.

또한, 연결 링크의 상태에 따라 우선순위를 변경함으로써 성능저하 없이 형평성 문제를 해결할 수 있다. In addition, by changing the priority according to the state of the connection link, it is possible to solve the problem of equity without degrading performance.

도 1은 본 발명의 실시예에 따른 콘텐츠 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 혼잡 제어 조율자를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 혼잡 제어 조율자의 동작을 설명하기 위한 흐름도이다.
도 4는 성능 시험을 위한 하나의 토폴로지 예이다.
도 5는 성능 시험 결과 높은 우선 순위 부여 링크 수에 대한 다운로드 완료 시간의 그래프이다.
도 6은 높은 우선 순위를 부여한 링크의 수에 따른 낮은 우선 순위 부여 링크의 기여도를 백분율로 정규화한 그래프이다.
1 is a view for explaining a content providing system according to an embodiment of the present invention.
FIG. 2 is a diagram for describing the congestion control coordinator of FIG. 1.
3 is a flowchart illustrating an operation of a congestion control coordinator according to an embodiment of the present invention.
4 is an example of one topology for performance testing.
5 is a graph of download completion time versus performance test results for a high number of prioritized links.
FIG. 6 is a graph normalizing the contribution of low priority links in percentages according to the number of high priority links.

이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout.

도 1은 본 발명의 일실시예에 따른 콘텐츠 제공 시스템(100)을 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 일실시예에 따른 콘텐츠 제공 시스템(100)은, 복수의 서버(110)에서 TCP/IP(간단히 TCP라 약칭함) 네트워크를 통해 수신 단말(120)로 콘텐츠(텍스트, 이미지, 동영상 등)를 제공한다. 특히, 본 발명의 일실시예에 따른 콘텐츠 제공 시스템(100)은, TCP/IP(Transmission Control Protocol/Internet Protocol) 방식에 따른 콘텐츠 분배 네트워크(Content Distribution Network)나 피어-투-피어(Peer-to-Peer) 파일 공유 네트워크에서, 송신자에 해당하는 서버의 부하를 분산시키고 시스템의 신뢰도를 높이기 위해 콘텐츠를 복수의 서버(110)에 분산하여 저장하며, 필요시 수신자에 해당하는 수신 단말(120)로 콘텐츠를 병렬 배포할 수 있는 시스템이다. 1 is a view for explaining a content providing system 100 according to an embodiment of the present invention. Referring to FIG. 1, the content providing system 100 according to an exemplary embodiment of the present invention may provide content (referred to as TCP) to a receiving terminal 120 from a plurality of servers 110 through a TCP / IP network. Text, images, video, etc.). In particular, the content providing system 100 according to an embodiment of the present invention, a content distribution network or a peer-to-peer according to a Transmission Control Protocol / Internet Protocol (TCP / IP) scheme. -Peer) In the file sharing network, the content is distributed and stored in a plurality of servers 110 to distribute the load of the server corresponding to the sender and to increase the reliability of the system, and to the receiving terminal 120 corresponding to the receiver if necessary. It is a system that can distribute content in parallel.

본 발명에서, 수신 단말(120)은 응용 프로그램을 기동하여 병렬 다운로드 기능을 지원하는 실행부(121)를 포함하며, 실행부(121)는 전송 계층에 구비된 복수의 수신장치들(123)를 통해 콘텐츠를 수신할 수 있으며, 특히, 복수의 수신장치들(123)은 혼잡 제어 조율자(Congestion Control Coordinator)(122)에 의해 제어되어 복수의 수신 장치들(123)의 네트워크 연결 방식이 결정된다. In the present invention, the receiving terminal 120 includes an execution unit 121 for supporting a parallel download function by starting an application program, the execution unit 121 is a plurality of receiving devices 123 provided in the transport layer In particular, the plurality of receivers 123 may be controlled by a congestion control coordinator 122 to determine a network connection method of the plurality of receivers 123. .

예를 들어, n개의 수신장치들(123)은 n개의 서버들(110)과 하나씩 대응되어 해당 서버와 네트워크로 연결되어 콘텐츠를 수신하되, 혼잡 제어 조율자(122)는 수신장치들(123)의 네트워크 연결 방식의 설정을 유동적으로 변경하게 된다. 즉, 혼잡 제어 조율자(122)는 수신장치들(123)의 네트워크 연결 상태를 지속적으로 모니터링하고, 사용자의 정책이나 네트워크 연결 상태에 따라 우선 순위 그룹들(예를 들어, 높은 우선 순위의 빠른 일반 TCP 그룹/ 낮은 우선 순위의 느린 TCP_LP 그룹) 중 선택하여 수신장치들(123)의 네트워크 연결 방식을 유동적으로 설정 변경할 수 있다. For example, the n receivers 123 correspond to the n servers 110 one by one, and are connected to the corresponding network to receive the contents, but the congestion control coordinator 122 receives the receivers 123. You can flexibly change the configuration of your network connection. That is, the congestion control coordinator 122 continuously monitors the network connection status of the receivers 123 and sets priority groups (eg, high priority fast general) according to the user's policy or network connection status. It is possible to flexibly change the network connection scheme of the receivers 123 by selecting among a TCP group / low priority TCP_LP group).

이에 따라 실행부(121)는 수신장치들(123)을 통해 기회주의적으로 병렬 다운로드되는 콘텐츠 블록들을 모아 합성하여 소정 코덱으로 실행 가능한 하나의 텍스트, 이미지, 또는 동영상 등의 파일을 생성하고, 재생할 수 있게 된다. Accordingly, the execution unit 121 may generate and reproduce one file such as text, image, or video executable by a predetermined codec by collecting and synthesizing content blocks that are opportunistically parallel downloaded through the receiving devices 123. Will be.

이와 같은 본 발명의 기회주의적 병렬 다운로드 기법에 따라 하나의 일반 TCP 네트워크 연결을 이용할 때와 비교하여 다수의 TCP 연결 방식을 이용함으로써 콘텐츠를 다운 받는 다운로드 시간을 줄일 수 있게 되며, 네트워크 연결 링크 상태에 따라 우선 순위를 변경함으로써 성능저하 없이 병목 현상 공유시 발생하는 형평성 문제를 해결할 수 있게 된다. According to the opportunistic parallel download technique of the present invention, the download time for downloading content can be reduced by using a plurality of TCP connection methods as compared to when using one general TCP network connection. By changing the priority, we can solve the equity issue that occurs when sharing bottlenecks without compromising performance.

이하, 도 2의 혼잡 제어 조율자(122)의 구성과 도 3의 흐름도를 참조하여 좀 더 자세히 설명한다. Hereinafter, the configuration of the congestion control coordinator 122 of FIG. 2 and the flowchart of FIG. 3 will be described in more detail.

도 2를 참조하면, 혼잡 제어 조율자(122)는 네트워크 모니터링부(210), 우선순위 결정부(220), 및 설정부(230)를 포함할 수 있다. 혼잡 제어 조율자(122)의 이와 같은 각 구성 요소는 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 2, the congestion control coordinator 122 may include a network monitoring unit 210, a priority determining unit 220, and a setting unit 230. Each such component of the congestion control coordinator 122 may be implemented in hardware, software, or a combination thereof.

네트워크 모니터링부(210)는 수신 장치들(123)의 네트워크 연결 상태를 지속적으로 모니터링하는데, 예를 들어, 수신 장치들(123)로부터 각각의 패킷 수신량을 수집할 수 있다(S10). 각 수신 장치(123)는 콘텐츠를 수신할 때 네트워크 연결 상태에 따라 패킷 수신량 (예를 들어, 초당 바이트 수)이 다를 수 있는데, 네트워크 모니터링부(210)는 각 수신 장치(123)로부터 패킷 수신량에 대한 정보를 수집할 수 있다.The network monitoring unit 210 continuously monitors network connection states of the receiving devices 123, for example, may collect respective packet reception amounts from the receiving devices 123 (S10). When the receiving device 123 receives the content, the packet receiving amount (eg, the number of bytes per second) may be different according to the network connection state, and the network monitoring unit 210 receives the packet from each receiving device 123. Information about quantities can be collected.

우선순위 결정부(220)는 네트워크 모니터링부(210)가 수집하는 수신 장치들(123)의 패킷 수신량에 대한 정보를 바탕으로 수신 장치들(123)의 네트워크 연결 방식의 우선 순위를 결정한다. 예를 들어, 우선순위 결정부(220)는 수신 장치들(123) 각각의 패킷 수신량을 임계치와 비교하여(S20) 해당 수신 장치에 대하여 우선 순위 그룹들(예를 들어, 높은 우선 순위의 빠른 일반 TCP 그룹/ 낮은 우선 순위의 느린 TCP_LP 그룹) 중 어느 하나를 결정할 수 있고(S30), 이에 따라 설정부(230)는 우선순위 결정부(220)에 의해 결정된 우선 순위 그룹의 네트워크 연결 방식으로 해당 수신 장치의 네트워크 연결 방식을 설정하게 된다(S40). 네트워크 모니터링부(210), 우선순위 결정부(220), 및 설정부(230)의 위와 같은 동작은 지속적으로 반복하여 수행된다(S50).The priority determining unit 220 determines the priority of the network connection scheme of the receiving devices 123 based on the information on the packet receiving amount of the receiving devices 123 collected by the network monitoring unit 210. For example, the priority determiner 220 compares the packet receiving amount of each of the receiving devices 123 with a threshold value (S20), and then sets priority groups (eg, high priority, fast) for the corresponding receiving device. General TCP group / low priority slow TCP_LP group) can be determined (S30), accordingly, the setting unit 230 is a network connection method of the priority group determined by the priority determining unit 220 accordingly The network connection method of the receiving device is set (S40). The above operations of the network monitoring unit 210, the priority determining unit 220, and the setting unit 230 are repeatedly performed at step S50.

예를 들어, 우선순위 결정부(220)가 결정하는 우선 순위 그룹들은 높은 우선 순위의 빠른 일반 TCP 그룹, 낮은 우선 순위의 느린 TCP_LP 그룹 등일 수 있고, 이러한 우선 순위 그룹은 하나의 예시를 위한 것이고, 네트워크 연결 방식을 좀 더 세분하여 더 많은 그룹이 포함되도록 할 수도 있다. For example, the priority groups determined by the priority determiner 220 may be a fast general TCP group having a high priority, a slow TCP_LP group having a low priority, and the like. You may want to further refine your network connectivity to include more groups.

위의 예에서, 일반 TCP 그룹은 네트워크 연결 상태가 좋은 그룹으로서, 일반적인 TCP 의 혼잡 제어 기능에 따라 서버(110)의 패킷 전송 후 소정 재전송 타임 아웃(retransmission timeout) 시간 동안 아무런 응답이 없으면 서버(110)가 해당 패킷을 재전송하게 되는 서버와 단말 간의 연결 그룹을 나타낸다. 또한, 일반적인 TCP 의 혼잡 제어 기능에서는 서버(110)로부터 단말(120)로 전송된 패킷에 대하여 네트워크 상의 라우터(또는 이더넷 스위치) 등을 통하여 손실 패킷에 대한 응답 메시지를 서버(110)가 소정 회수(예를 들어, 3회) 수신하지 못하면 패킷을 재전송하는 기능을 갖는다. 이때, 위와 같은 소정 재전송 타임 아웃 시간 동안 수신 단말(120)로부터 아무런 응답(응답 메시지)이 없으면 서버(110)는 해당 패킷을 재전송할 수도 있게 된다. In the above example, the general TCP group is a group having a good network connection state. If there is no response for a predetermined retransmission timeout after the packet transmission of the server 110 according to the congestion control function of the general TCP, the server 110 ) Indicates a connection group between the server and the terminal that will retransmit the packet. In addition, in the congestion control function of the general TCP, the server 110 receives a predetermined number of response messages for a lost packet through a router (or an Ethernet switch) on the network for a packet transmitted from the server 110 to the terminal 120. For example, 3 times) if not received it has the function to retransmit the packet. At this time, if there is no response (response message) from the receiving terminal 120 during the predetermined retransmission timeout time as described above, the server 110 may retransmit the corresponding packet.

위의 예에서, TCP_LP 그룹은 네트워크 연결 상태가 좋지 않은 LP(Low Priority) 그룹으로서, 위와 같은 재전송 타임 아웃 시간을 기다리는 지연을 없애기 위하여 재전송 타임 아웃 시간을 기다리지 않고, 서버(110)의 패킷 전송 후 네트워크 상의 라우터(또는 이더넷 스위치) 등을 통하여 해당 패킷에 대하여 서버(110)가 수신하는 ECN(Early Congestion Notification) 메시지에 따라 재전송하게 되는 서버와 단말 간의 연결 그룹을 나타낸다. ECN 메시지는 소정 응답 패킷의 소정 TCP 필드에 혼잡에 대한 소정 통보값이 포함된 메시지일 수 있다. In the above example, the TCP_LP group is a LP (Low Priority) group having a poor network connection, and does not wait for the retransmission timeout time to eliminate the delay of waiting for the retransmission timeout time. A connection group between a server and a terminal that is retransmitted according to an Early Congestion Notification (ECN) message received by the server 110 through a router (or an Ethernet switch) on a network. The ECN message may be a message including a predetermined notification value for congestion in a predetermined TCP field of a predetermined response packet.

이와 같이, 본 발명에서는 혼잡 제어 조율자(122)를 이용하여 수신 장치들(123)의 네트워크 연결 상태에 따라 우선 순위 그룹을 변경함으로써, 성능저하 없이 병목 현상 공유시 발생하는 형평성 문제를 해결할 수 있게 된다. 예를 들어, 높은 우선 순위 그룹의 연결 방식으로 통신하는 해당 그룹의 수(서버와 수신 장치의 수)가 많을수록 다운로드 시간을 줄일 수 있지만 다른 연결의 성능을 저하시켜 형평성이 저하될 수 있고, 반대로 낮은 우선 순위 그룹의 연결 방식으로 통신하는 해당 그룹의 수가 많을 수록 형평성은 향상되지만 성능은 저하될 수 있다. 본 발명에서는 혼잡 제어 조율자(122)를 이용하여 높은 우선 순위 그룹의 수를 결정함으로써 병렬 연결의 성능과 형평성을 조율할 수 있고, 또한 수신 단말(120)과 서버(110) 사이의 네트워크 상태가 우수하거나 지연이 적은 서버-수신장치 간의 연결에 높은 우선 순위를 부여하고, 연결 상태가 좋지 않은 서버-수신장치 간의 연결에 낮은 우선 순위를 부여함으로써 형평성 저하 없이 성능을 개선할 수 있다. As described above, in the present invention, by changing the priority group according to the network connection state of the receiving devices 123 using the congestion control coordinator 122, it is possible to solve the equity problem that occurs when sharing the bottleneck without degrading performance. do. For example, the higher the number of groups (servers and receiving devices) communicating over a higher priority group of connections, the faster the download time but the lower the performance of other connections, resulting in lower fairness, and vice versa. The greater the number of groups that communicate via a priority group connection, the better the fairness but the lower the performance. In the present invention, the congestion control coordinator 122 can be used to determine the number of high priority groups to tune the performance and fairness of the parallel connection, and also the network state between the receiving terminal 120 and the server 110 By giving a high priority to the connection between the good and low latency server-receiving devices, and giving a low priority to the connection between the server-receiving device with poor connection status, performance can be improved without deterioration of equity.

도 4는 성능 시험을 위한 하나의 토폴로지 예이다. 도 4와 같이 성능 시험에는 수신 단말(노드)이 네트워크 상의 라우터들을 통하여 8개의 서버와 연결되어 콘텐츠를 다운로드 하는 것으로 가정하였고, 8개의 서버와 수신 단말(노드) 간의 모든 연결 링크는 양측 라우터를 통과하는 하나의 병목 구간을 경유하는 것으로 가정하였다.4 is an example of one topology for performance testing. In the performance test as shown in FIG. 4, it is assumed that the receiving terminal (node) is connected to 8 servers to download contents through routers on the network, and all connection links between the 8 servers and the receiving terminal (node) pass through both routers. It is assumed to pass through one bottleneck.

도 5는 성능 시험 결과 높은 우선 순위 부여 링크 수에 대한 다운로드 완료 시간의 그래프이다. 도 5에서, 5가지 그래프들은 각각의 백그라운드 트래픽(Cross Traffic)의 높은 우선 순위 부여 링크 수에 대한 다운로드 완료 시간을 나타낸다. 도 5와 같이 높은 우선 순위를 부여한 링크의 수(그룹의 수)가 증가함에 따라 다운로드 시간도 줄어듦을 확인 할 수 있다. 예를 들어, 0 cross TCP 패킷의 경우에, 높은 우선 순위를 부여한 링크 수가 1인 경우 2.3 초에서 높은 우선 순위를 부여한 링크 수를 8로 증가 했을 경우 1.45초로 단축됨을 확인할 수 있다. 5 is a graph of download completion time versus performance test results for a high number of prioritized links. In FIG. 5, the five graphs show the download completion time for the high priority link number of each background traffic. As shown in FIG. 5, the download time decreases as the number of high priority links (number of groups) increases. For example, in the case of a 0 cross TCP packet, when the number of high priority links is 1, when the number of high priority links is increased from 2.3 to 8, it is shortened to 1.45 seconds.

도 6은 높은 우선 순위를 부여한 링크의 수에 따른 낮은 우선 순위 부여 링크의 기여도를 백분율로 정규화한 그래프이다. 도 6과 같이 높은 우선 순위를 부여한 링크의 수가 0일 경우에 낮은 우선 순위를 부여한 링크의 기여도는 100%이며 이는 콘텐츠 전체를 낮은 우선 순위 부여 링크를 이용해서 다운로드 했다는 것을 의미하며, 높은 우선 순위를 부여한 링크의 수가 8인 경우에는 낮은 우선 순위를 부여한 링크의 기여도는 0%이고 이는 콘텐츠 전체를 높은 우선 순위 부여 링크를 이용해서 다운로드 했다는 것을 의미한다. 높은 우선 순위를 부여한 링크의 수를 늘려 다운로드 성능을 높일 수 있으며, 높은 우선 순위를 부여한 링크의 수가 3이상에서 다운로드 성능이 유사하므로 높은 우선 순위를 부여한 링크의 수가 최대가 되지 않도록 적절히 선택하여 낮은 우선 순위를 부여한 링크의 기여도를 어느 정도 확보함으로써 형평성의 저하 없이 콘텐츠 다운로드 성능을 높일 수 있게 된다.FIG. 6 is a graph normalizing the contribution of low priority links in percentages according to the number of high priority links. As shown in FIG. 6, when the number of high priority links is 0, the contribution of the low priority link is 100%, which means that the entire content is downloaded using the low priority link. If the number of links assigned is 8, the contribution of the low priority link is 0%, which means that the entire content is downloaded using the high priority link. You can increase the download performance by increasing the number of high-priority links, and the download performance is similar when the number of high-priority links is higher than 3, so select the appropriate number so that the number of high-priority links is not maximum. By securing the degree of contribution of the ranked links, the content download performance can be improved without compromising equity.

이와 같이 본 발명에서는 콘텐츠가 다수의 서버에 분산되어 있는 환경에서 하나의 수신 노드가 다수의 서버에 병렬 연결을 설정하고 동시에 콘텐츠를 다운로드 받는 병렬 다운로드 기법에 있어서, 수신 노드의 처리량(Throughput)을 향상시켜 콘텐츠의 다운로드 시간을 줄일 수 있을 뿐만 아니라 서버의 부하 분산을 통해 과부하에 따른 문제를 해결할 수 있다. 같은 서버를 이용하는 타 연결의 성능 저하 유발함으로써 형평성(Fairness)의 문제가 야기 될 수 있는데, 본 발명에서는 병렬 다운로드 시 야기되는 형평성 문제를 완화하기 위한 방법으로 혼잡 제어 조율자를 이용하여 병렬 연결 설정 시 사용자의 정책 (policy) 혹은 연결 링크(connection)의 상태에 따라 우선 순위를 다르게 결정하고 연결 링크의 상태를 지속적으로 모니터링하여 반영함으로써 연결 링크의 우선 순위를 변경하여 성능 저하를 예방할 수 있도록 하였다.As described above, in the present invention, in a parallel download scheme in which one receiving node establishes a parallel connection to a plurality of servers and simultaneously downloads content in an environment in which content is distributed among multiple servers, throughput of the receiving node is improved. In addition to reducing the download time of the content, it is possible to solve the problem of overload through load balancing of the server. The problem of fairness may be caused by causing performance degradation of other connections using the same server. In the present invention, a method for mitigating a problem of equity caused by parallel download is used to set up a parallel connection using a congestion control coordinator. The priority is determined differently according to the policy or connection status, and the status of the connection link is continuously monitored and reflected to change the priority of the connection link to prevent performance degradation.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

콘텐츠 제공 시스템(100)
복수의 서버(110)
수신 단말(120)
혼잡 제어 조율자(122)
네트워크 모니터링부(210)
우선순위 결정부(220)
설정부(230)
Content Provision System (100)
Multiple servers 110
Receiving terminal 120
Congestion Control Tuner (122)
Network monitoring unit 210
Priority decision unit 220
Setting unit 230

Claims (6)

복수 서버에 분산 저장된 콘텐츠를 병렬 다운로드하기 위한 수신 단말에서의 병렬 다운로드 방법에 있어서,
복수의 수신 장치들이 각각의 대응 서버와 네트워크로 연결되어 콘텐츠를 수신하는 단계;
상기 복수의 수신 장치들의 네트워크 연결 상태를 모니터링하는 단계; 및
복수의 우선 순위 그룹에서 선택하여 상기 복수의 수신 장치들의 네트워크 연결 방식의 설정을 변경하는 단계
를 포함하는 것을 특징으로 하는 병렬 다운로드 방법.
In the parallel download method in the receiving terminal for parallel downloading the content distributed in a plurality of servers,
A plurality of receiving devices connected to respective corresponding servers through a network to receive contents;
Monitoring a network connection state of the plurality of receiving devices; And
Changing a setting of a network connection method of the plurality of receiving devices by selecting from a plurality of priority groups
Parallel download method comprising a.
제1항에 있어서,
상기 모니터링하는 단계는, 상기 복수의 수신 장치들로부터 각각의 패킷 수신량을 수집하는 단계를 포함하고,
상기 설정을 변경하는 단계는,
상기 각각의 패킷 수신량을 임계치와 비교하여 해당 수신 장치에 대하여 상기 복수의 우선 순위 그룹 중 어느 하나를 결정하는 단계, 및
결정된 우선 순위 그룹의 네트워크 연결 방식으로 해당 수신 장치의 네트워크 연결 방식을 설정하는 단계
를 포함하는 것을 특징으로 하는 병렬 다운로드 방법.
The method of claim 1,
The monitoring may include collecting each packet received amount from the plurality of receiving devices,
Changing the setting,
Determining one of the plurality of priority groups for the corresponding receiving device by comparing the received packet amount with each threshold; and
Setting the network connection method of the corresponding receiving device with the network connection method of the determined priority group
Parallel download method comprising a.
제1항에 있어서,
상기 복수의 우선 순위 그룹은,
서버의 패킷 전송 후 재전송 타임 아웃 시간 동안 아무런 응답이 없으면 재전송하는 과정을 수행하는 서버와 단말간의 연결 그룹인 일반 TCP 그룹; 및
서버의 패킷 전송 후 ECN(Early Congestion Notification) 메시지에 따라 재전송하는 과정을 수행하는 서버와 단말간의 연결 그룹인 TCP_LP 그룹
을 포함하는 것을 특징으로 하는 병렬 다운로드 방법.
The method of claim 1,
The plurality of priority groups,
A normal TCP group, which is a connection group between a server and a terminal which performs a retransmission process if there is no response during the retransmission timeout after the packet transmission by the server; And
TCP_LP group, which is a connection group between a server and a terminal that performs a process of retransmitting a packet according to an ECN (Early Congestion Notification) message after transmitting the packet
Parallel download method comprising a.
복수 서버에 분산 저장된 콘텐츠를 병렬 다운로드하기 위한 수신 단말의 병렬 다운로드 장치에 있어서,
각각의 대응 서버와 네트워크로 연결되어 콘텐츠를 수신하는 복수의 수신 장치들; 및
상기 복수의 수신 장치들의 네트워크 연결 상태를 모니터링하고, 복수의 우선 순위 그룹에서 선택하여 상기 복수의 수신 장치들의 네트워크 연결 방식의 설정을 변경하는 혼잡 제어 조율자
를 포함하는 것을 특징으로 하는 병렬 다운로드 장치.
In the parallel download device of the receiving terminal for downloading the content distributed in a plurality of servers in parallel,
A plurality of receiving devices connected to a network corresponding to each corresponding server to receive contents; And
A congestion control coordinator for monitoring a network connection state of the plurality of receiving devices and changing a setting of a network connection method of the plurality of receiving devices by selecting from a plurality of priority groups.
Parallel download device comprising a.
제4항에 있어서,
상기 혼잡 제어 조율자는,
상기 복수의 수신 장치들로부터 각각의 패킷 수신량을 수집하는 네트워크 모니터링부;
상기 각각의 패킷 수신량을 임계치와 비교하여 해당 수신 장치에 대하여 상기 복수의 우선 순위 그룹 중 어느 하나를 결정하는 우선순위 결정부; 및
결정된 우선 순위 그룹의 네트워크 연결 방식으로 해당 수신 장치의 네트워크 연결 방식을 설정하는 설정부
를 포함하는 것을 특징으로 하는 병렬 다운로드 장치.
The method of claim 4, wherein
The congestion control coordinator,
A network monitoring unit collecting respective packet reception amounts from the plurality of receiving devices;
A priority determining unit which determines one of the plurality of priority groups with respect to a corresponding receiving device by comparing each packet receiving amount with a threshold; And
Setting unit for setting the network connection method of the receiving device to the network connection method of the determined priority group
Parallel download device comprising a.
제4항에 있어서,
상기 복수의 우선 순위 그룹은,
서버의 패킷 전송 후 재전송 타임 아웃 시간 동안 아무런 응답이 없으면 재전송하는 과정을 수행하는 서버와 단말간의 연결 그룹인 일반 TCP 그룹; 및
서버의 패킷 전송 후 ECN(Early Congestion Notification) 메시지에 따라 재전송하는 과정을 수행하는 서버와 단말간의 연결 그룹인 TCP_LP 그룹
을 포함하는 것을 특징으로 하는 병렬 다운로드 장치.
The method of claim 4, wherein
The plurality of priority groups,
A normal TCP group, which is a connection group between a server and a terminal which performs a retransmission process if there is no response during the retransmission timeout after the packet transmission by the server; And
TCP_LP group, which is a connection group between a server and a terminal that performs a process of retransmitting a packet according to an Early Congestion Notification (ECN) message.
Parallel download device comprising a.
KR1020100118403A 2010-11-25 2010-11-25 Opportunistic Fair Parallel Download Method and System Based on Priority of Connection Link KR20120056728A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100118403A KR20120056728A (en) 2010-11-25 2010-11-25 Opportunistic Fair Parallel Download Method and System Based on Priority of Connection Link

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100118403A KR20120056728A (en) 2010-11-25 2010-11-25 Opportunistic Fair Parallel Download Method and System Based on Priority of Connection Link

Publications (1)

Publication Number Publication Date
KR20120056728A true KR20120056728A (en) 2012-06-04

Family

ID=46608803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100118403A KR20120056728A (en) 2010-11-25 2010-11-25 Opportunistic Fair Parallel Download Method and System Based on Priority of Connection Link

Country Status (1)

Country Link
KR (1) KR20120056728A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014180359A1 (en) * 2013-11-21 2014-11-13 中兴通讯股份有限公司 File download method and device
KR20160084826A (en) * 2014-06-27 2016-07-14 주식회사 케이티 Network apparatus and terminal for multi-path transmission, operating method of the same, and program of the same method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014180359A1 (en) * 2013-11-21 2014-11-13 中兴通讯股份有限公司 File download method and device
KR20160084826A (en) * 2014-06-27 2016-07-14 주식회사 케이티 Network apparatus and terminal for multi-path transmission, operating method of the same, and program of the same method
US10355982B2 (en) 2014-06-27 2019-07-16 Kt Corporation Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method

Similar Documents

Publication Publication Date Title
JP7173587B2 (en) Packet transmission system and method
EP3278514B1 (en) Data transmission
KR101278742B1 (en) Adapting a communication network to varing conditions
EP2959645B1 (en) Dynamic optimization of tcp connections
CN106612284B (en) Streaming data transmission method and device
JP7313480B2 (en) Congestion Avoidance in Slice-Based Networks
US20200366612A1 (en) Congestion avoidance in a slice-based network
CN111031340B (en) Method for adaptively transmitting data stream and node in communication network
KR20120056728A (en) Opportunistic Fair Parallel Download Method and System Based on Priority of Connection Link
CN108574615B (en) Content transmission method, device and system based on multipath MPTCP
JP4285101B2 (en) Real-time data communication system, real-time data communication apparatus, and real-time data communication method
CN111147386B (en) Method, electronic device and computer readable medium for handling data transmission congestion
CN114024917B (en) Method, device, equipment and storage medium for guaranteeing internet service bandwidth
US20240187322A1 (en) Strategy to ensure continual user experience and system performance if an uplink is stuck
CN117032914A (en) Interrupt processing method, system, electronic device and storage medium
CN117914797A (en) Data transmission delay adjusting method and data transmission delay adjusting device
GB2620187A (en) Method of operating a telecommunications network
Wilson An adaptive packet size approach to tcp congestion control
JP2011211376A (en) Multicast distribution system, server device, and terminal device

Legal Events

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