KR20160019651A - 데이터 트래픽의 전송을 제어하는 장치 및 방법 - Google Patents

데이터 트래픽의 전송을 제어하는 장치 및 방법 Download PDF

Info

Publication number
KR20160019651A
KR20160019651A KR1020140104182A KR20140104182A KR20160019651A KR 20160019651 A KR20160019651 A KR 20160019651A KR 1020140104182 A KR1020140104182 A KR 1020140104182A KR 20140104182 A KR20140104182 A KR 20140104182A KR 20160019651 A KR20160019651 A KR 20160019651A
Authority
KR
South Korea
Prior art keywords
routing path
node
information
transmission
data traffic
Prior art date
Application number
KR1020140104182A
Other languages
English (en)
Other versions
KR101630519B1 (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 KR1020140104182A priority Critical patent/KR101630519B1/ko
Priority to PCT/KR2014/010246 priority patent/WO2016024666A1/ko
Priority to US14/528,072 priority patent/US9712446B2/en
Priority to CN201410601172.4A priority patent/CN105634968B/zh
Publication of KR20160019651A publication Critical patent/KR20160019651A/ko
Application granted granted Critical
Publication of KR101630519B1 publication Critical patent/KR101630519B1/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/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • 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/0852Delays
    • 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/41Flow control; Congestion control by acting on aggregated flows or links

Abstract

예시적인 실시예에 따르면, 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치로서, 상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하도록 구성되는 인터페이스부; 및 상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하도록 구성되는 제어부를 포함하는 전송 제어 장치가 제공된다.

Description

데이터 트래픽의 전송을 제어하는 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING TRANSMISSION OF DATA TRAFFIC}
개시되는 실시예들은 데이터 트래픽의 전송을 제어하기 위한 장치 및 방법에 관한 것으로서, 더욱 구체적으로는 데이터 트래픽의 전송 중에 혼잡 상황이 발생한 경우 데이터 트래픽을 여러 라우팅 경로들로 분산하는 기법에 관한 것이다.
네트워크 환경에서 데이터 전송의 효율을 향상시키기 위한 다양한 방식들이 알려져 있다. 예를 들어, 오버레이 네트워킹(overlay networking) 기법은 출발지 노드(source node)와 목적지 노드(destination node) 사이에 하나 이상의 중간 노드 내지 오버레이 홉(overlay hop)을 배치함으로써 개선된 전송 효율을 달성할 수 있다.
오버레이 네트워킹 기법을 이용한 데이터 전송에서도 패킷 유실(packet loss), 라운드 트립 시간(Round Trip Time: RTT)의 증가, 전송 경로 상의 산발적 열화 등과 같은 다양한 요인들로 인해 혼잡 상황이 발생할 수 있다. 혼잡 상황이 발생한 경우, 데이터가 전송되는 경로 상의 전송 레이트(transmission rate)를 신속히 감소시키는 혼잡 회피(congestion avoidance) 기법이 요구될 수 있다. 그러나, 통상적인 혼잡 회피 기법들에 따르면, 감소된 전송 레이트는 완만하게 증가되기 마련이다. 혼잡 상황이 해소되기 전에 급격히 전송 레이트를 증가시키는 것은 네트워크 공정성(network fairness)(즉, 공유된 네트워크 자원의 공정한 할당)을 저해할 수 있기 때문이다.
더욱이, 오버레이 네트워크 환경에서 데이터 전송을 보장하기 위한 프로토콜이 채택된 경우, 유실된 데이터의 재전송을 계속 시도하는 것은 혼잡 상황을 더욱 악화시킬 수 있다. 이러한 문제점을 해결하기 위해, 미리 정의된 복수의 경로(예컨대, 3개의 경로) 상에서 동일한 데이터를 출발지 노드로부터 전송하고 목적지 노드에 먼저 수신된 데이터를 취할 수 있다. 이러한 접근법에 따르면, 어떤 경로 상에서 혼잡 상황이 발생하더라도 다른 경로를 통한 데이터 전송은 성공적일 수 있다. 그러나, 전송 경로의 개수가 증가할수록 더 많은 트래픽 비용이 데이터 전송에 요구될 것이다.
나아가, 저장된 대용량 데이터(예컨대, 저장 장치에 이미 저장된 대용량 파일) 또는 실시간 멀티미디어 데이터(예컨대, 실시간으로 생성되는 오디오, 비디오 또는 이들의 조합을 포함함)와 같은 다양한 타입의 데이터의 전송에서 지연시간의 감소가 대단히 중요하다.
이러한 점들에 비추어 볼 때, 혼잡 상황이 발생한 경우 높은 효율의 데이터 전송을 가능하게 하는 새로운 기법이 필요하다.
대한민국 공개특허공보 제10-2011-0137616호 (2011. 12. 23. 공개)
개시되는 실시예들은 데이터 트래픽의 전송 중에 혼잡 상황이 발생한 경우 데이터 트래픽의 전송을 제어하기 위한 향상된 기법을 제공한다.
예시적인 실시예에 따르면, 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치로서, 상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하도록 구성되는 인터페이스부; 및 상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하도록 구성되는 제어부를 포함하는 전송 제어 장치가 제공된다.
상기 정보는 상기 제1 라우팅 경로 내 링크 상에서 발생한 상기 혼잡 상황을 나타낼 수 있다.
상기 제어부는 상기 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 상기 제2 라우팅 경로를 선택하도록 구성될 수 있고, 상기 적어도 하나의 후보 라우팅 경로 각각은 미리 설정된 노드로부터 상기 목적지 노드까지 이어지고 상기 링크를 우회할 수 있다.
상기 적어도 하나의 후보 라우팅 경로는 상기 미리 설정된 노드에서 상기 제1 라우팅 경로로부터 분기할 수 있고, 상기 제어부는 또한 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하도록 구성될 수 있다.
상기 제어부는 또한 상기 정보에 기반하여 상기 제1 부분의 전송 레이트(transmission rate) 및 상기 제2 부분의 전송 레이트를 결정하도록 구성될 수 있다.
상기 제어부는 또한 상기 제1 라우팅 경로 상의 복수의 노드 중에서 상기 제2 라우팅 경로가 상기 제1 라우팅 경로로부터 분기하는 노드를 식별하도록 구성될 수 있다.
상기 제어부는 또한 상기 식별된 노드가 상기 미리 설정된 노드인 경우 상기 식별된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하도록 구성될 수 있다.
상기 제2 라우팅 경로는 상기 적어도 하나의 후보 라우팅 경로 중 최소 코스트 경로(minimum cost path)일 수 있다.
상기 정보는 또한 상기 링크 상의 패킷 유실 레이트(packet loss rate) 및 상기 링크 상의 패킷 지연 중 적어도 하나를 나타낼 수 있다
상기 혼잡 상황은 상기 제1 라우팅 경로 상의 중간 노드에서 감지될 수 있고, 상기 정보는 상기 중간 노드에서 유래할 수 있다.
다른 예시적인 실시예에 따르면, 목적지 노드로의 데이터 트래픽의 전송을 제어하는 방법으로서, 상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하는 단계; 및 상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하는 단계를 포함하는 전송 제어 방법이 제공된다.
상기 정보는 상기 제1 라우팅 경로 내 링크 상에서 발생한 상기 혼잡 상황을 나타낼 수 있다.
상기 제2 라우팅 경로를 선택하는 단계는 상기 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 상기 제2 라우팅 경로를 선택하는 단계를 포함할 수 있고, 상기 적어도 하나의 후보 라우팅 경로 각각은 미리 설정된 노드로부터 상기 목적지 노드까지 이어지고 상기 링크를 우회할 수 있다.
상기 적어도 하나의 후보 라우팅 경로는 상기 미리 설정된 노드에서 상기 제1 라우팅 경로로부터 분기할 수 있고, 상기 전송 제어 방법은 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하는 단계를 더 포함할 수 있다.
상기 전송 제어 방법은, 상기 정보에 기반하여 상기 제1 부분의 전송 레이트(transmission rate) 및 상기 제2 부분의 전송 레이트를 결정하는 단계를 더 포함할 수 있다.
상기 전송 제어 방법은, 상기 제1 라우팅 경로 상의 복수의 노드 중에서 상기 제2 라우팅 경로가 상기 제1 라우팅 경로로부터 분기하는 노드를 식별하는 단계를 더 포함할 수 있다.
상기 전송 제어 방법은, 상기 식별된 노드가 상기 미리 설정된 노드인 경우 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하는 단계를 더 포함할 수 있다.
상기 제2 라우팅 경로는 상기 적어도 하나의 후보 라우팅 경로 중 최소 코스트 경로일 수 있다.
상기 정보는 또한 상기 링크 상의 패킷 유실 레이트 및 상기 링크 상의 패킷 지연 중 적어도 하나를 나타낼 수 있다.
상기 혼잡 상황은 상기 제1 라우팅 경로 상의 중간 노드에서 감지될 수 있고, 상기 정보는 상기 중간 노드에서 유래할 수 있다.
또 다른 예시적인 실시예에 따르면, 하드웨어와 결합되어, 상기 전송 제어 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램이 제공된다.
소정의 실시예들에 따르면, 데이터 트래픽의 전송 중에 혼잡 상황이 발생한 경우, 데이터 트래픽이 상이한 라우팅 경로들을 통해 분산될 수 있다.
소정의 실시예들은 네트워크 공정성을 보장하면서도 전송 효율의 향상시킬 수 있다.
소정의 실시예들은 과다한 트래픽 비용을 요구하지 않으면서 고속 데이터 전송에 적용될 수 있다.
소정의 실시예들에 따르면, 미리 분산 방식으로 배포할 수 없는 데이터(예컨대, 이미 저장된 대용량 파일 데이터 또는 실시간으로 생성되는 실시간 멀티미디어 데이터)가 효과적으로 전송될 수 있다.
도 1은 예시적인 실시예에 따른 네트워크 환경을 도시한 도면,
도 2는 예시적인 실시예에 따라 네트워크 환경 내의 노드들의 프로토콜 스택을 도식적으로 나타낸 도면,
도 3은 예시적인 실시예에 따라 목적지 노드로의 데이터 트래픽의 전송을 제어하는 과정을 도시한 도면,
도 4는 예시적인 실시예에 따라 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치를 도시한 도면.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 예시적인 실시예에 따른 네트워크 환경을 도시한다.
도 1에 도시된 바와 같이, 네트워크 환경(100)은 클라이언트(110) 및 서버(120)를 두 엔드포인트(endpoint) 노드들로서 포함할 수 있다. 또한, 네트워크 환경(100)은 클라이언트(110) 및 서버(120) 간에 위치한 오버레이 네트워크 시스템(130)을 더 포함할 수 있다. 예를 들어, 음성 인식 서비스가 서버(120)로부터 클라이언트(110)로 제공될 수 있는데, 클라이언트(110)는 음성을 나타내는 데이터를 오버레이 네트워크 시스템(130)을 통해 서버(120)에 송신하고 서버(120)는 그 데이터로부터 음성을 인식하고 인식된 음성에 기반하여 다른 데이터를 오버레이 네트워크 시스템(130)을 통해 클라이언트(110)에 제공하는 방식으로 위 음성 인식 서비스가 수행될 수 있다. 다른 예로서, 클라이언트(110)와 서버(120) 간 대용량 파일 전송을 위한 서비스가 제공될 수 있다. 이러한 서비스는 클라이언트(110)에 저장된 파일을 오버레이 네트워크 시스템(130)을 통해 서버(120)에 송신하고/하거나 서버(120)에 저장된 다른 파일을 오버레이 네트워크 시스템(130)을 통해 클라이언트(110)에 송신할 수 있다.
오버레이 네트워크 시스템(130)은 적어도 하나의 진입 노드(Ingress Node: IN), 적어도 하나의 바이패스 노드(Bypass Node: BN) 및 적어도 하나의 진출 노드(Egress Node: EN)를 중간 노드들로서 포함할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 오버레이 네트워크 시스템(130)은 진입 노드(131), 바이패스 노드들(132, 133, 135, 136) 및 진출 노드들(134, 137)을 포함할 수 있다. 이에 따라, 데이터가 클라이언트(110)로부터 진입 노드(131)를 거쳐 오버레이 네트워크 시스템(130)에 유입될 수 있다. 또한, 그 데이터는 진출 노드(134) 또는 진출 노드(137)을 거쳐 오버레이 네트워크 시스템(130)으로부터 서버(120)로 유출될 수 있다. 나아가, 바이패스 노드들(132, 133, 135, 136)은 위 데이터가 진입 노드(131)에서 진출 노드(134) 또는 진출 노드(137)까지 전송될 수 있도록 데이터 통신을 중계할 수 있다.
네트워크 환경(100) 내의 노드들(110, 120, 131, 132, 133, 134, 135, 136, 137) 중 제1 노드와 제2 노드 간에는 데이터 전송에 이용 가능한 적어도 하나의 경로가 존재할 수 있다. 이러한 전송 경로는 링크들(140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150) 중 하나 이상의 링크를 포함할 수 있다. 또한, 노드들(110, 120, 131, 132, 133, 134, 135, 136, 137) 중 제3 노드가 그 경로 상에 위치한 경우, 위 경로는 제1 노드와 제3 노드 간의 경로 및 제3 노드와 제2 노드 간의 경로를 포함한다고 볼 수 있다.
네트워크 환경(100)에서는 클라이언트(110)와 서버(120) 간의 데이터 전송을 보장하는 정책이 채택될 수 있다. 이러한 단대단(end-to-end) 전송 보장을 위해, 엔드포인트 노드들(110, 120) 각각 및 중간 노드들(131, 132, 133, 134, 135, 136, 137) 중 적어도 일부는 혼잡 상황(예컨대, 데이터 유실 및/또는 데이터 전송 지연)의 발생을 감지하여 데이터 재전송을 요청할 수 있다. 다시 말해, 이러한 노드들은 각각 노드 대 노드(node-to-node) 전송을 보장하기 위한 적어도 하나의 프로토콜을 구비할 수 있다. 다만, 몇몇 실시예들에 따르면, 중간 노드들(131, 132, 133, 134, 135, 136, 137) 중 특정 노드들 간에는 데이터 전송이 보장되지 않을 수도 있다. 이와 같이 특정한 노드 대 노드 전송이 보장되지 않는 경우, 특정 노드들 간 데이터 전송에서 혼잡 상황이 발생하더라도, 네트워크 환경(100) 내의 엔드포인트 노드(예컨대, 서버(120))가 데이터 재전송을 요청하는 한편, 특정 노드들 각각은 직접 재전송을 요청하지 않을 수 있다.
예를 들어, 도 2에 도시된 바와 같이, 링크들(140, 141, 142, 143, 144)을 따라 클라이언트(110)로부터 서버(120)까지 이어지는 라우팅 경로(이하, "라우팅 경로 RP1"라고도 지칭됨) 상의 노드들(110, 131, 132, 133, 134, 120)은 각각 몇몇 프로토콜을 구비할 수 있다. 도 2로부터 클라이언트(110)와 서버(120)는 각각 TCP(Transmission Control Protocol)(210)를 구비하고 중간 노드들(131, 132, 133, 134)은 각각 UDP(User Datagram Protocol)(220)를 구비함을 알 수 있다. 또한, 중간 노드들(131, 132, 133, 134)은 라우팅 프로토콜(230)을 구비할 수 있다. 나아가, 진입 노드(130)와 진출 노드(134)는 각각 데이터 전송 보장을 위한 전송 프로토콜(240)을 구비할 수 있다. 그 밖에도 노드들(110, 131, 132, 133, 134, 120) 각각은 추가적인 프로토콜(예컨대, HTTP(Hypertext Transfer Protocol)(250)과 같은 애플리케이션 계층 프로토콜)을 더 포함할 수 있다.
도 2에 도시된 바와 같이 진입 노드(130)와 진출 노드(134)에 전송 프로토콜(240)이 포함된 경우, 클라이언트(110)와 진입 노드(131) 간 데이터 전송(260), 진입 노드(130)와 진출 노드(134) 간 데이터 전송(261), 그리고 진출 노드(134)와 서버(120) 간 데이터 전송(262)은 보장될 수 있다. 이에 반해, 진입 노드(130)와 바이패스 노드(133) 사이에서는 데이터 전송이 보장되지 않을 것이다. 마찬가지로, 바이패스 노드(132)와 진출 노드(134) 사이에서는 데이터 전송이 보장되지 않을 것이다.
몇몇 다른 실시예들에 따르면, 바이패스 노드들(132, 133)에도 전송 프로토콜(240)이 포함될 수 있고, 이에 따라 노드들(110, 131, 132, 133, 134, 120) 중 임의의 두 노드 간의 데이터 전송이 보장될 수 있다.
나아가, 도 2의 라우팅 프로토콜(230)에 따라, 중간 노드들(131, 132, 133, 134) 각각은 그 노드를 통한 데이터 전송 동안 발생한 혼잡 상황을 감지하여 그 혼잡 상황에 관한 정보를 생성할 수 있고, 그러한 혼잡 상황 정보는 노드들(131, 132, 133, 134) 전부 또는 (예컨대, 라우팅 프로토콜(230)에 따라 미리 설정된) 몇몇 노드들 간에 공유될 수 있다. 라우팅 프로토콜(230)은 목적지 노드(예컨대, 서버(120))로의 데이터 트래픽이 전달될 라우팅 경로를 선택하는 데에 혼잡 상황 정보를 반영하도록 정의될 수 있다. 이에 따라, 라우팅 프로토콜(230)은 혼잡 상황에 관한 정보를 기반으로 전송 중인 데이터 트래픽을 분산시키는 방식으로 데이터 트래픽을 목적지로 라우팅할 수 있다.
예시적인 설명을 위해, 서버(120)의 주소를 목적지 주소로 가지는 패킷들의 데이터 트래픽을 클라이언트(110)로부터 서버(120)로 전송하기 위한 경로가 초기에 라우팅 경로 RP1(링크들(140, 141, 142, 143, 144)을 포함함)로 선택되었고, 그 데이터 트래픽은 100Mbps의 전송 레이트로 클라이언트(110)로부터 진입 노드(131)에 유입된다고 가정한다. 위와 같은 데이터 트래픽 전송 중에 라우팅 경로 RP1 내의 링크(143) 상에서 혼잡 상황이 발생할 수 있다. 이러한 혼잡 상황에도 불구하고 데이터 트래픽을 계속해서 100Mbp의 전송 레이트로 노드(133)로부터 노드(134)에 전송하는 것은 네트워크 공정성을 해칠 수 있으므로, 데이터 트래픽을 감소된 전송 레이트로 노드(133)로부터 노드(134)에 전송하는 것이 필요할 수 있다. 나아가, 그러한 혼잡 상황에 관한 정보에 기반하여 다른 라우팅 경로가 추가적으로 선택될 수 있다. 편의상, 링크들(140, 141, 142, 150, 147, 148)을 따라 클라이언트(110)로부터 서버(120)로 이어지는 라우팅 경로(이하, "라우팅 경로 RP2"라고도 지칭됨)가 추가적으로 선택되었다고 가정한다. 이에 따라, 데이터 트래픽의 몇몇 패킷들이 라우팅 경로 RP1 상에서 전송되는 동안, 데이터 트래픽의 다른 패킷들은 라우팅 경로 RP2를 따라 전송될 수 있다.
그러한 혼잡 상황의 발생 이후 라우팅 경로 RP1 상에서의 전송 레이트 및 라우팅 경로 RP2 상에서의 전송 레이트를 변경시키기 위해 (i) 기존의 TCP(Transmission Control Protocol) 혼잡 회피 알고리즘(congestion avoidance algorithm), (ii) 별도로 설계된 AIMD(Additive Increase/Multiplicative Decrease) 접근법 또는 Slow Start 접근법 또는 (iii) 오버레이 네트워크 시스템(130) 내지 오버레이 네트워크 시스템(130)의 관리자에 의해 미리 설정된 정책과 같은 혼잡 제어 방식이 채택될 수 있고, 앞서 언급된 전송 레이트들의 추이는 채택된 혼잡 제어 방식에 따라 달라질 수 있다. 예를 들어, 라우팅 경로 RP1 상에서의 전송 레이트 및 라우팅 경로 RP2 상에서의 전송 레이트를 일단 신속히 큰 폭으로 감소시킨 후 각각 80Mbps 및 20Mbps까지 점차적으로 증가시키는 AIMD 접근법이 채택될 수 있다. 다른 예로서, 미리 설정된 정책에 따라, 혼잡 상황의 발생 직후 곧바로 라우팅 경로 RP1 및 라우팅 경로 RP2 상에서 각각 80Mbps 및 20Mbps로 데이터 트래픽 전송이 개시될 수 있다.
한편, 라우팅 경로 RP2 상에서 패킷들이 20Mbps의 전송 레이트로 전송되는 동안 다른 혼잡 상황이 발생할 수 있다. 이러한 경우, 앞서 언급된 방식과 유사하게 또 다른 라우팅 경로가 추가적으로 선택될 수 있다. 편의상, 링크들(140, 141, 142, 149, 146, 147, 148)을 따라 클라이언트(110)로부터 서버(120)로 이어지는 라우팅 경로(이하, "라우팅 경로 RP3"라고도 지칭됨)가 추가적으로 선택되었다고 가정한다. 이에 따라, 라우팅 경로 RP2를 따라 전송되던 데이터 트래픽 중 일부는 그대로 라우팅 경로 RP2를 따라 전송될 수 있고, 그 데이터 트래픽 중 나머지는 라우팅 경로 RP3를 따라 전송될 수 있다. 만일 중간 노드들(131, 132, 133, 134, 135, 136, 137) 중 적어도 일부를 경유하는 어떠한 라우팅 경로도 클라이언트(110)로부터 서버(120)까지 데이터 트래픽을 전송하는 데 이용 가능하지 않은 경우, 데이터 트래픽은 클라이언트(110)로부터 직접 서버(120)로 전송될 수 있다. 이러한 직접 전송은 최선형(best effort) 방식으로 수행될 수 있다.
앞서 언급된 바와 같이 혼잡 상황 정보에 기반하여 데이터 트래픽을 라우팅하는 기법에 따르면, 데이터 트래픽의 전송 중에 혼잡 상황이 발생한 경우, 엔드포인트 노드들 간 재전송이 요구되지 않을 뿐만 아니라 데이터 트래픽을 상이한 라우팅 경로들을 통해 분산 방식으로 전송하는 것이 가능하다. 특히, 이러한 기법은 네트워크 공정성을 보장하면서도 전송 효율의 감소를 방지할 수 있다.
네트워크 환경(100) 내의 노드들(110, 120, 131, 132, 133, 134, 135, 136, 137) 각각은 하나 이상의 프로세서 및 그 프로세서에 의해 액세스 가능한 메모리와 같은 컴퓨터 판독 가능 저장 매체를 포함하는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 저장 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨터 판독 가능 저장 매체에는 컴퓨터 실행 가능 명령어가 저장되어 있을 수 있다. 프로세서는 컴퓨터 판독 가능 저장 매체에 저장된 명령어를 실행할 수 있다. 그러한 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 예시적인 실시예에 따른 동작을 수행하게 할 수 있다.
도 3은 예시적인 실시예에 따라 목적지 노드로의 데이터 트래픽의 전송을 제어하는 과정을 도시한다.
시작 동작 후, 예시적인 과정(300)은 동작(S310)으로 진행된다. 동작(S310)에서, 목적지 노드로의 데이터 트래픽의 전송 중에 라우팅 경로 상에서 발생한 혼잡 상황이 감지된다.
예를 들어, 클라이언트(110)로부터 서버(120)로의 데이터 트래픽의 전송을 위해 라우팅 경로 RP1가 선택되었다고 가정한다. 달리 말하면, 라우팅 경로 RP1 상의 각 노드는 그 노드로부터 서버(120)로 이어지고 라우팅 경로 RP1에 포함된 라우팅 경로를 선택한다고 볼 수 있다. 가령, 라우팅 경로 RP1 상의 노드(133)는 링크들(143, 144)을 따라 노드(133)로부터 서버(120)로 이어지는 라우팅 경로(이하 "라우팅 경로 RP-A1"라고도 지칭됨)를 선택하고 라우팅 경로 RP1 상의 노드(131)는 링크들(141, 142, 143, 144)을 따라 노드(131)로부터 서버(120)로 이어지는 라우팅 경로(이하 "라우팅 경로 RP-B1"라고도 지칭됨)를 선택한다고 볼 수 있다.
앞서 언급된 바와 같이, 데이터 트래픽의 전송 중에 링크(143) 상에서 혼잡 상황이 발생한 경우 노드(134)가 그 혼잡 상황을 감지할 수 있다. 몇몇 실시예들에 따르면, 중간 노드들(131, 132, 133, 134, 135, 136, 137) 중 소정의 노드(예컨대, 전송 프로토콜(240)을 구비한 노드(131))는 데이터 트래픽 내 패킷과 함께 자신을 식별하는 식별 번호(identification number), 그 패킷의 시퀀스 번호(sequence number) 및/또는 타임스탬프(timestamp)를 그 노드에 인접한 다음 노드로 전송할 수 있다. 이어서, 그 패킷은 위와 같은 식별번호, 시퀀스 번호 및/또는 타임스탬프와 함께 다른 노드에도 전달될 수 있다. 따라서, 노드(131)로부터 전송된 패킷을 수신한 노드(예컨대, 노드(134))는 (i) 그 패킷과 연관된 식별 번호, 시퀀스 번호 및/또는 타임스탬프를 이용하여 패킷 유실 내지 패킷 전송 지연이 발생하였는지 여부를 판정할 수 있고, (ii) 이에 따라 단위 시간 동안 수신된 패킷의 개수와 유실/지연된 패킷의 개수로부터 패킷 유실 레이트(packet loss rate)를 산출할 수 있으며, (iii) 궁극적으로 패킷 유실 레이트가 미리 설정된 임계 값을 초과하는지에 따라 혼잡 상황이 발생하였는지 여부를 판정할 수 있다.
동작(S320)에서, 감지된 혼잡 상황과 관련된 정보가 생성된다. 예컨대, 노드(134)는 링크(143) 상에서 발생한 혼잡 상황을 감지한 후 그 혼잡 상황을 나타내는 정보를 생성할 수 있다. 몇몇 실시예들에 따르면, 혼잡 상황 정보는 혼잡 상황의 발생 여부를 나타내는 메트릭(metric)을 포함할 수 있다. 나아가, 혼잡 상황 정보는 추가적으로 링크(143) 상의 패킷 지연을 나타내는 메트릭 및/또는 링크(143) 상의 패킷 유실 레이트를 나타내는 메트릭을 더 포함할 수 있다.
동작(S330)에서, 혼잡 상황을 감지한 노드로부터 다른 노드(예컨대, 그에 인접한 노드 및/또는 다른 특정 노드)로 혼잡 상황 정보가 전달된다. 예를 들어, 혼잡 상황 정보는 특정 이벤트가 발생하는 경우(혼잡 상황이 발생하거나 특정 메트릭이 임계 값을 초과한다고 판정된 경우)에 또는 요청에 따라 전파될 수 있다.
일 예로서, 노드(134)가 혼잡 상황의 발생을 감지하여 새로운 혼잡 상황 정보를 생성한 경우, 노드(134)는 즉시 혼잡 상황 정보를 노드(133)에 전달할 수 있다. 다른 예로서, 노드(133)는 혼잡 상황 정보에 대한 요청을 노드(134)에 전송할 수 있고, 노드(134)는 그 요청을 수신하는 것에 응답하여 자신이 유지하는 혼잡 상황 정보를 노드(133)에 전송할 수 있다. 또한, 노드(134)에 의해 생성된 혼잡 상황 정보는 노드(133) 이외의 다른 노드로도 (예컨대, 노드(133)를 거쳐) 전송될 수 있다. 예컨대, 진입 노드(131) 역시 노드(134)에서 유래하는 혼잡 상황 정보를 획득할 수 있다.
나아가, 혼잡 상황 정보를 수신한 노드(예컨대, 노드(131) 또는 노드(133))는 혼잡 상황 정보의 수명(lifetime)을 관리할 수 있다. 예를 들어, 혼잡 상황 정보가 수신된 시점부터 특정 시간 내에 혼잡 상황 정보가 갱신되지 않는 경우, 노드(133)는 혼잡 상황 정보를 파기할 수 있다.
동작(S340)에서, 혼잡 상황 정보에 기반하여 추가적인 라우팅 경로가 선택된다.
일 예로서, 노드(133)가 노드(134)로부터 링크(143) 상에서 발생한 혼잡 상황에 관한 정보를 획득한 경우, 노드(133)는 획득된 혼잡 상황 정보를 이용하여 적어도 하나의 후보 라우팅 경로로부터 추가적인 라우팅 경로를 선택할 수 있고, 이로써 데이터 트래픽의 일부는 기존의 라우팅 경로 RP-A1를 따라 라우팅할 수 있고 데이터 트래픽의 다른 일부는 추가적인 라우팅 경로를 따라 라우팅할 수 있다. 후보 라우팅 경로 각각은 노드(133)로부터 목적지 노드(예컨대, 서버(120))로 이어지고 링크(143)를 우회할 수 있다.
몇몇 실시예들에 따르면, 노드(133)가 위와 같은 혼잡 상황 정보를 획득한 경우, 노드(133)는 노드(133)로부터 목적지 노드까지의 가능한 경로들 중에서 링크(143)를 거치지 않는 경로들을 식별할 수 있다. 이어서, 노드(133)는 식별된 경로들을 후보 라우팅 경로들로 설정할 수 있다. 특히, 각 후보 라우팅 경로는 노드(133)에서 라우팅 경로 RP-A1로부터 분기할 수 있다.
또한, 노드(133)는 각 후보 라우팅 경로의 코스트(cost)(예컨대, 그 경로 내의 각 링크 상의 전송 지연시간에 기반하여 산출될 수 있음)를 계산할 수 있다. 따라서, 노드(133)는 후보 라우팅 경로들 중 최소 코스트 경로를 산출할 수 있다. 이어서, 노드(133)는 산출된 최소 코스트 경로를 추가적인 라우팅 경로로 선택할 수 있다. 예컨대, 산출된 최소 코스트 경로는 링크들(150, 147, 148)을 따라 노드(133)로부터 서버(120)까지 이어지는 경로(이하 "라우팅 경로 RP-A2"라고도 지칭됨)일 수 있다. 도 1을 다시 참조하면, 라우팅 경로 RP-A2는 노드(133)에서 라우팅 경로 RP-A1로부터 분기한다는 점을 알 수 있다.
이러한 최소 코스트 경로는 노드(133)로부터 목적지 노드로 이어지고 링크(143)를 우회하는 경로들 중 최소의 코스트를 가지는 경로를 의미하며, 반드시 노드(133)로부터 목적지 노드까지의 최소 코스트 경로와 같지는 않다는 점에 유의하여야 할 것이다. 예를 들어, 라우팅 경로 RP1가 클라이언트(110)로부터 서버(120)까지의 최소 코스트 경로라면, 노드(133)로부터 서버(120)까지의 최소 코스트 경로는 라우팅 경로 RP-A1인데, 이는 링크(143)를 통과한다.
다른 예로서, 노드(131)가 링크(143) 상에서 발생한 혼잡 상황에 관한 정보를 획득한 경우, 노드(131)는 획득된 혼잡 상황 정보에 기반하여 적어도 하나의 후보 라우팅 경로로부터 추가적인 라우팅 경로를 선택할 수 있다. 후보 라우팅 경로 각각은 노드(131)로부터 목적지 노드(예컨대, 서버(120))로 이어지고 링크(143)를 우회할 수 있다. 다만, 앞서 언급된 예와 달리, 노드(131)는 혼잡 상황이 발생한 링크(143) 상에 있지 않은바, 각 후보 라우팅 경로는 반드시 노드(131)에서 라우팅 경로 RP-B1로부터 분기하는 것은 아니며, 라우팅 경로 RP-B1 상의 다른 노드에서 분기할 수도 있다. 예컨대, 후보 라우팅 경로들은 링크들(141, 142, 150, 147, 148)을 따라 노드(131)로부터 서버(120)까지 이어지는 경로(이하 "라우팅 경로 RP-B2"라고도 지칭됨), 링크들(141, 142, 149, 146, 147, 148)을 따라 노드(131)로부터 서버(120)까지 이어지는 경로(이하 "라우팅 경로 RP-B3"라고도 지칭됨) 및 링크들(145, 146, 147, 148)을 따라 노드(131)로부터 서버(120)까지 이어지는 경로(이하 "라우팅 경로 RP-B4"라고도 지칭됨)을 포함할 수 있다. 이어서, 노드(131)는 후보 라우팅 경로들 중 최소 코스트 경로를 산출하여 이를 추가적인 라우팅 경로로 선택할 수 있다.
동작(S350)에서, 데이터 트래픽의 일부는 기존의 라우팅 경로를 따라 전송되면서 데이터 트래픽의 다른 일부는 추가적인 라우팅 경로를 따라 전송된다.
일 예로서, 노드(133)가 링크(143) 상에서 발생한 혼잡 상황에 관한 정보에 기반하여 라우팅 경로 RP-A2를 추가적인 라우팅 경로로 선택한 경우, 노드(133)는 데이터 트래픽의 제1 부분 및 제2 부분을 각각 기존의 라우팅 경로 RP-A1 및 추가적인 라우팅 경로 RP-A2를 따라 전송할 수 있다. 또한, 노드(133)는 혼잡 상황 정보에 기반하여 데이터 트래픽의 제1 부분 및 제2 부분 각각의 전송 레이트를 결정할 수 있다.
다른 예로서, 노드(131)가 링크(143) 상에서 발생한 혼잡 상황에 관한 정보에 기반하여 추가적인 라우팅 경로를 선택한 경우, 노드(131)는 기존의 라우팅 경로 RP-B1 상의 노드들(131, 132, 133, 134, 120) 중에서 추가적인 라우팅 경로가 라우팅 경로 RP-B1로부터 분기하는 노드를 식별할 수 있다. 예컨대, 라우팅 경로 RP-B4가 추가적인 라우팅 경로로 선택된 경우, 노드(131)는 라우팅 경로 RP-B4가 라우팅 경로 RP-B1로부터 분기하는 노드가 자신임을 식별할 수 있다. 따라서, 노드(131)는 데이터 트래픽의 제1 부분 및 제2 부분을 각각 기존의 라우팅 경로 RP-B1 및 추가적인 라우팅 경로 RP-B4를 따라 전송할 수 있고, 혼잡 상황 정보에 기반하여 데이터 트래픽의 제1 부분 및 제2 부분 각각의 전송 레이트를 결정할 수 있다. 이와 달리, 라우팅 경로 RP-B2가 추가적인 라우팅 경로로 선택된 경우, 노드(131)는 라우팅 경로 RP-B2가 라우팅 경로 RP-B1로부터 분기하는 노드가 노드(133)임을 식별할 수 있다. 따라서, 데이터 트래픽은 노드(131)에서 노드(133)까지 동일한 링크들(141, 142)을 거쳐 전송될 수 있다. 만일 노드(133)가 동일한 혼잡 상황 정보에 기반하여 추가적인 라우팅 경로를 선택한다면, 선택된 라우팅 경로는 라우팅 경로 RP-A2일 것이다. 따라서, 노드(133)는 데이터 트래픽을 기존의 라우팅 경로 RP-A1뿐만 아니라 라우팅 경로 RP-A2로도 분산시킬 수 있다. 반면, 노드(133)가 혼잡 상황 정보에 따라 추가적인 라우팅 경로를 선택하지 않거나 못한 경우, 노드(131)는 라우팅 경로 RP-B2에 관한 통지 또는 라우팅 경로 RP-B2에 포함되고 노드(133)로부터 소스(120)로 이어지는 라우팅 경로 RP-A2에 관한 통지를 노드(133)에 전송할 수 있다. 이 통지는 노드(133)로 하여금 데이터 트래픽의 제1 부분 및 제2 부분을 각각 기존의 라우팅 경로 RP-A1 및 추가적인 라우팅 경로 RP-A2를 따라 전송하게 할 수 있다.
도 4는 예시적인 실시예에 따라 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치를 도시한다. 예시적인 전송 제어 장치(400)는 네트워크 환경(100) 내의 노드 내에 구현되거나 포함될 수 있다.
도 4에 도시된 바와 같이, 전송 제어 장치(400)는 인터페이스부(410) 및 제어부(420)를 포함한다.
인터페이스부(410)는 목적지 노드로의 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하도록 구성된다. 그러한 혼잡 상황 정보는 제1 라우팅 경로 상의 링크에서 발생한 혼잡 상황을 나타낼 수 있다. 나아가, 혼잡 상황 정보는 그 링크 상의 패킷 유실 레이트 및/또는 그 링크 상의 패킷 지연을 더 나타낼 수 있다. 혼잡 상황 정보는 제1 라우팅 경로 상에 위치하고 혼잡 상황을 감지한 노드에 의해 생성되어 다른 노드들로 전송될 수 있다.
제어부(420)는 획득된 혼잡 상황 정보를 기반으로 제2 라우팅 경로를 선택하여 데이터 트래픽의 제1 부분 및 제2 부분을 각각 제1 라우팅 경로 및 제2 라우팅 경로를 따라 목적지 노드로 라우팅하도록 구성된다. 예를 들어, 제어부(420)는 혼잡 상황 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 제2 라우팅 경로를 선택하도록 구성될 수 있다. 후보 라우팅 경로 각각은 미리 설정된 노드로부터 목적지 노드까지 이어지고 혼잡 상황이 발생한 위 링크를 우회하는 경로일 수 있다. 전송 제어 장치(400)가 특정 노드 내에 구현된 경우, 제2 라우팅 경로는 그 특정 노드로부터 목적지 노드까지의 경로들 중에서 선택된다고 미리 설정될 수 있다.
몇몇 실시예들에서, 제어부(420)는 또한 미리 설정된 노드로 하여금 데이터 트래픽의 제1 부분 및 제2 부분을 각각 제1 라우팅 경로 및 제2 라우팅 경로를 따라 전송하게 하도록 구성될 수 있다. 특히, 각 후보 라우팅 경로가 미리 설정된 노드(예컨대, 전송 제어 장치(400)가 구현된 노드)에서 제1 라우팅 경로로부터 분기하는 경우, 미리 설정된 노드에서 제1 라우팅 경로 및 제2 라우팅 경로는 각각 상이한 다음 노드로 이어질 것이다. 따라서, 제어부(420)는 데이터 트래픽이 미리 설정된 노드로부터 제1 라우팅 경로 및 제2 라우팅 경로로 분산되도록 할 수 있다. 아울러, 제어부(420)는 혼잡 상황 정보에 기반하여 데이터 트래픽의 제1 부분의 전송 레이트 및 데이터 트래픽의 제2 부분의 전송 레이트를 결정할 수 있다. 이에 따라, 출발지 노드(예컨대, 클라이언트(110))로부터 유출되는 데이터 트래픽의 전송 레이트는 혼잡 상황이 발생한 후에도 반드시 감소되어야 하는 것은 아니다. 이는, 제2 라우팅 경로 상의 대역폭이 충분하다면, 제어부(420)가 기존의 제1 라우팅 경로 상의 전송 레이트를 감소시킨 만큼 제2 라우팅 경로 상의 전송 레이트를 확보할 수 있기 때문이다. 따라서, 네트워크 공정성을 지키면서도 전송 효율을 극대화하는 것이 가능하다.
몇몇 다른 실시예들에서, 제어부(420)는 또한 제1 라우팅 경로 상의 복수의 노드 중에서 제2 라우팅 경로가 제1 라우팅 경로로부터 분기하는 노드를 식별하도록 구성될 수 있다. 후보 라우팅 경로들 중에서 미리 설정된 노드(예컨대, 전송 제어 장치(400)가 구현된 노드)가 아닌 다른 노드에서 제1 라우팅 경로로부터 분기하는 경로가 제2 라우팅 경로로 선택되는 경우, 미리 설정된 노드에서 데이터 트래픽이 분산될 필요가 없을 것이다. 오히려, 위와 같이 식별된 노드 내에 전송 제어 장치(400)가 구현될 수 있고, 식별된 노드에서 데이터 트래픽이 분산될 수 있다. 식별된 노드 내에 전송 제어 장치(400)가 구현되지 않은 경우에는, 제어부(420)가 식별된 노드에 제2 라우팅 경로에 관한 통지 또는 제2 라우팅 경로에 포함되고 식별된 노드로부터 목적지 노드까지 이어지는 라우팅 경로에 관한 통지를 전송할 수 있고, 이로써 식별된 노드로 하여금 데이터 트래픽을 분산하게 할 수 있다. 한편, 식별된 노드가 미리 설정된 노드인 경우, 제어부(420)는 그 노드로 하여금 데이터 트래픽의 제1 부분 및 제2 부분을 각각 제1 라우팅 경로 및 제2 라우팅 경로를 따라 전송하게 할 수 있다. 어떠한 경우든, 출발지 노드(예컨대, 클라이언트(110))로부터 유출되는 데이터 트래픽의 전송 레이트는 혼잡 상황이 발생한 후에도 감소되지 않을 수 있다.
한편, 소정의 실시예는 본 명세서에서 기술한 과정을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 이러한 컴퓨터 판독 가능 저장 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 그 컴퓨터 판독 가능 저장 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들일 수 있다. 컴퓨터 판독 가능 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 다른 실시예에 따르면, 본 명세서에서 기술한 과정을 실행하기 위한 컴퓨터 프로그램이 제공될 수 있다. 그러한 프로그램은 하드웨어와 결합하여 위 과정을 실행하기 위하여 컴퓨터 판독 가능 저장 매체와 같은 매체에 저장될 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110 : 클라이언트
120 : 서버
130 : 오버레이 네트워크 시스템
131 : 진입 노드
132, 133, 135, 136 : 바이패스 노드
134, 137 : 진출 노드
400: 전송 제어 장치
410: 인터페이스부
420: 제어부

Claims (21)

  1. 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치로서,
    상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하도록 구성되는 인터페이스부; 및
    상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하도록 구성되는 제어부를 포함하는
    전송 제어 장치.
  2. 청구항 1에 있어서,
    상기 정보는 상기 제1 라우팅 경로 내 링크 상에서 발생한 상기 혼잡 상황을 나타내는, 전송 제어 장치.
  3. 청구항 2에 있어서,
    상기 제어부는 상기 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 상기 제2 라우팅 경로를 선택하도록 구성되고, 상기 적어도 하나의 후보 라우팅 경로 각각은 미리 설정된 노드로부터 상기 목적지 노드까지 이어지고 상기 링크를 우회하는, 전송 제어 장치.
  4. 청구항 3에 있어서,
    상기 적어도 하나의 후보 라우팅 경로는 상기 미리 설정된 노드에서 상기 제1 라우팅 경로로부터 분기하고, 상기 제어부는 또한 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하도록 구성되는, 전송 제어 장치.
  5. 청구항 4에 있어서,
    상기 제어부는 또한 상기 정보에 기반하여 상기 제1 부분의 전송 레이트(transmission rate) 및 상기 제2 부분의 전송 레이트를 결정하도록 구성되는, 전송 제어 장치.
  6. 청구항 3에 있어서,
    상기 제어부는 또한 상기 제1 라우팅 경로 상의 복수의 노드 중에서 상기 제2 라우팅 경로가 상기 제1 라우팅 경로로부터 분기하는 노드를 식별하도록 구성되는, 전송 제어 장치.
  7. 청구항 6에 있어서,
    상기 제어부는 또한 상기 식별된 노드가 상기 미리 설정된 노드인 경우 상기 식별된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하도록 구성되는, 전송 제어 장치.
  8. 청구항 3에 있어서,
    상기 제2 라우팅 경로는 상기 적어도 하나의 후보 라우팅 경로 중 최소 코스트 경로(minimum cost path)인, 전송 제어 장치.
  9. 청구항 2에 있어서,
    상기 정보는 또한 상기 링크 상의 패킷 유실 레이트(packet loss rate) 및 상기 링크 상의 패킷 지연 중 적어도 하나를 나타내는, 전송 제어 장치.
  10. 청구항 1에 있어서,
    상기 혼잡 상황은 상기 제1 라우팅 경로 상의 중간 노드에서 감지되고, 상기 정보는 상기 중간 노드에서 유래하는, 전송 제어 장치.
  11. 목적지 노드로의 데이터 트래픽의 전송을 제어하는 방법으로서,
    상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하는 단계; 및
    상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하는 단계를 포함하는
    전송 제어 방법.
  12. 청구항 11에 있어서,
    상기 정보는 상기 제1 라우팅 경로 내 링크 상에서 발생한 상기 혼잡 상황을 나타내는, 전송 제어 방법.
  13. 청구항 12에 있어서,
    상기 제2 라우팅 경로를 선택하는 단계는 상기 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 상기 제2 라우팅 경로를 선택하는 단계를 포함하고, 상기 적어도 하나의 후보 라우팅 경로 각각은 미리 설정된 노드로부터 상기 목적지 노드까지 이어지고 상기 링크를 우회하는, 전송 제어 방법.
  14. 청구항 13에 있어서,
    상기 적어도 하나의 후보 라우팅 경로는 상기 미리 설정된 노드에서 상기 제1 라우팅 경로로부터 분기하고, 상기 전송 제어 방법은 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하는 단계를 더 포함하는, 전송 제어 방법.
  15. 청구항 14에 있어서,
    상기 정보에 기반하여 상기 제1 부분의 전송 레이트(transmission rate) 및 상기 제2 부분의 전송 레이트를 결정하는 단계를 더 포함하는, 전송 제어 방법.
  16. 청구항 13에 있어서,
    상기 제1 라우팅 경로 상의 복수의 노드 중에서 상기 제2 라우팅 경로가 상기 제1 라우팅 경로로부터 분기하는 노드를 식별하는 단계를 더 포함하는, 전송 제어 방법.
  17. 청구항 16에 있어서,
    상기 식별된 노드가 상기 미리 설정된 노드인 경우 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하는 단계를 더 포함하는, 전송 제어 방법.
  18. 청구항 13에 있어서,
    상기 제2 라우팅 경로는 상기 적어도 하나의 후보 라우팅 경로 중 최소 코스트 경로인, 전송 제어 방법.
  19. 청구항 12에 있어서,
    상기 정보는 또한 상기 링크 상의 패킷 유실 레이트 및 상기 링크 상의 패킷 지연 중 적어도 하나를 나타내는, 전송 제어 방법.
  20. 청구항 11에 있어서,
    상기 혼잡 상황은 상기 제1 라우팅 경로 상의 중간 노드에서 감지되고, 상기 정보는 상기 중간 노드에서 유래하는, 전송 제어 방법.
  21. 하드웨어와 결합되어, 청구항 11 내지 청구항 20 중 어느 한 항에 기재된 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
KR1020140104182A 2014-08-12 2014-08-12 데이터 트래픽의 전송을 제어하는 장치 및 방법 KR101630519B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020140104182A KR101630519B1 (ko) 2014-08-12 2014-08-12 데이터 트래픽의 전송을 제어하는 장치 및 방법
PCT/KR2014/010246 WO2016024666A1 (ko) 2014-08-12 2014-10-29 데이터 트래픽의 전송을 제어하는 장치 및 방법
US14/528,072 US9712446B2 (en) 2014-08-12 2014-10-30 Apparatus and method for controlling transmission of data traffic
CN201410601172.4A CN105634968B (zh) 2014-08-12 2014-10-30 用于控制数据流量的传输的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140104182A KR101630519B1 (ko) 2014-08-12 2014-08-12 데이터 트래픽의 전송을 제어하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160019651A true KR20160019651A (ko) 2016-02-22
KR101630519B1 KR101630519B1 (ko) 2016-06-24

Family

ID=55302996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140104182A KR101630519B1 (ko) 2014-08-12 2014-08-12 데이터 트래픽의 전송을 제어하는 장치 및 방법

Country Status (4)

Country Link
US (1) US9712446B2 (ko)
KR (1) KR101630519B1 (ko)
CN (1) CN105634968B (ko)
WO (1) WO2016024666A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220162874A (ko) * 2020-07-17 2022-12-08 엘지전자 주식회사 무선 통신 시스템에서 iab 노드에 의한 흐름 제어 피드백을 기반으로 라우팅을 수행하기 위한 방법 및 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397283B2 (en) 2015-07-15 2019-08-27 Oracle International Corporation Using symmetric and asymmetric flow response paths from an autonomous system
US11252199B2 (en) 2015-07-15 2022-02-15 Oracle International Corporation Redirecting packets in an autonomous system
CN108494699B (zh) * 2018-03-30 2021-10-19 山东师范大学 一种具有中心控制节点的网络拥塞控制方法
US10958569B2 (en) 2018-12-21 2021-03-23 Itron, Inc. Server-assisted routing in network communications
US11625349B1 (en) * 2021-11-18 2023-04-11 Arm Limited Apparatus and method for managing prefetch transactions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070201371A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Congestion adaptive network data routing
KR20110137616A (ko) 2010-06-17 2011-12-23 금오공과대학교 산학협력단 무선 네트워크에서 데이터 전송의 우선순위 결정 방법
KR20120017972A (ko) * 2010-08-20 2012-02-29 한국전자통신연구원 무선 메쉬 네트워크에서 데이터 전송의 혼잡 상황을 통지/회피하는 방법 및 이를 위한 메쉬 노드

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754120A (en) * 1995-12-21 1998-05-19 Lucent Technologies Network congestion measurement method and apparatus
US7730201B1 (en) * 2000-04-13 2010-06-01 Alcatel-Lucent Canada, Inc. Method and apparatus for congestion avoidance in source routed signaling protocol communication networks
KR100657120B1 (ko) * 2000-11-04 2006-12-12 주식회사 케이티 패킷 망에서 트래픽부하 분산을 위한 라우팅방법
US8259584B2 (en) * 2008-03-18 2012-09-04 Cisco Technology, Inc. Dynamic reroute of network traffic
SG189130A1 (en) * 2010-09-29 2013-05-31 Aviat Networks Inc Systems and methods for distributed data routing in a wireless network
KR20120134466A (ko) * 2011-06-02 2012-12-12 삼성테크윈 주식회사 메쉬 네트워크 노드 및 그의 데이터 전송 방법
US8953440B2 (en) * 2011-11-15 2015-02-10 Telefonaktiebolaget L M Ericsson (Publ) Dynamic bandwidth adjustment in packet transport network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070201371A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Congestion adaptive network data routing
KR20110137616A (ko) 2010-06-17 2011-12-23 금오공과대학교 산학협력단 무선 네트워크에서 데이터 전송의 우선순위 결정 방법
KR20120017972A (ko) * 2010-08-20 2012-02-29 한국전자통신연구원 무선 메쉬 네트워크에서 데이터 전송의 혼잡 상황을 통지/회피하는 방법 및 이를 위한 메쉬 노드

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220162874A (ko) * 2020-07-17 2022-12-08 엘지전자 주식회사 무선 통신 시스템에서 iab 노드에 의한 흐름 제어 피드백을 기반으로 라우팅을 수행하기 위한 방법 및 장치
US11843968B2 (en) 2020-07-17 2023-12-12 Lg Electronics Inc. Method and apparatus for performing routing based on flow control feedback by IAB node in wireless communication system

Also Published As

Publication number Publication date
KR101630519B1 (ko) 2016-06-24
CN105634968B (zh) 2019-04-19
US9712446B2 (en) 2017-07-18
CN105634968A (zh) 2016-06-01
WO2016024666A1 (ko) 2016-02-18
US20160050152A1 (en) 2016-02-18

Similar Documents

Publication Publication Date Title
KR101630519B1 (ko) 데이터 트래픽의 전송을 제어하는 장치 및 방법
US9705735B2 (en) System and method using RSVP hello suppression for graceful restart capable neighbors
US9185040B2 (en) Flow label negotiation method, related device, and system
US9270598B1 (en) Congestion control using congestion prefix information in a named data networking environment
US7362703B1 (en) Method for deflection routing of data packets to alleviate link overload in IP networks
CN110890994B (zh) 一种报文转发路径的确定方法、设备和系统
US20140219090A1 (en) Network congestion remediation utilizing loop free alternate load sharing
US11722420B2 (en) System and method for reactive path selection
CN109088822B (zh) 数据流量转发方法、装置、系统、计算机设备及存储介质
KR102455886B1 (ko) 서비스 기능 체이닝 혼잡 피드백
WO2020259259A1 (zh) 一种发送流量的方法和装置
CN101350761B (zh) 实现路径建立、计算的方法、装置及系统
US20080205265A1 (en) Traffic routing
EP3099010B1 (en) Network path computation method, apparatus and system
JP2006197473A (ja) ノード
US9124524B2 (en) System and method for priority based flow control between nodes
US9001651B2 (en) Method for call admission control in MPLS networks
US8892773B2 (en) Path control apparatus, path control method, path control program, and network system
CN110892687B (zh) 多级资源预留
US7742409B2 (en) Method and apparatus for compensating for performance degradation of an application session
KR20130085541A (ko) 패킷 전송 장치 및 패킷 전송 방법
CN108092866B (zh) 一种隧道切换的方法、设备和系统
KR101308247B1 (ko) Dag 토폴로지 네트워크에서의 데이터 패킷 전송 방법, 라우팅 테이블 생성방법 및 소스 브리지
JP5304008B2 (ja) 通信システム
US20160315854A1 (en) System and method of signaling protection path bindings

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 4