KR101932138B1 - 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법 - Google Patents

데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법 Download PDF

Info

Publication number
KR101932138B1
KR101932138B1 KR1020180108093A KR20180108093A KR101932138B1 KR 101932138 B1 KR101932138 B1 KR 101932138B1 KR 1020180108093 A KR1020180108093 A KR 1020180108093A KR 20180108093 A KR20180108093 A KR 20180108093A KR 101932138 B1 KR101932138 B1 KR 101932138B1
Authority
KR
South Korea
Prior art keywords
credit
packet
path
data
receiving
Prior art date
Application number
KR1020180108093A
Other languages
English (en)
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 KR1020180108093A priority Critical patent/KR101932138B1/ko
Application granted granted Critical
Publication of KR101932138B1 publication Critical patent/KR101932138B1/ko
Priority to PCT/KR2019/011805 priority patent/WO2020055149A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/39Credit based

Abstract

데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법으로서, 수신 장치에게 신용 요청 패킷을 전송하는 단계; 신용 요청 패킷에 대한 응답으로, 수신 장치로부터, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제1 경로를 결정하는 단계; 및 수신 장치로부터 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 수신 장치에게 데이터 패킷을 전송하는 단계 - 제1 경로를 통해 수신한 신용 패킷과 제1 경로를 통해 수신 장치에게 전송된 데이터 패킷은 일대일 대응됨 -; 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 수신 장치에게 신용 중지 패킷을 전송하는 단계를 포함하는, 신용 기반 다중경로 데이터 전송 방법이 제공된다.

Description

데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법 {CREDIT-BASED MULTIPATH TRANSMISSION METHOD FOR DATACENTER NETWORK LOAD BALANCING}
본 개시는, MPTCP(Multipath Transmission Control Protocol) 기반 다중경로 데이터 전송 방법에 관한 것으로, 보다 구체적으로, 짧은 대기시간과 높은 처리량을 요구하는 데이터센터 네트워크에서의 부하 균형을 이룰 수 있는, 신용 패킷 기반 다중경로 데이터 송수신 방법 및 장치에 관한 것이다.
종래 기술인 MPTCP 기반 다중 경로 데이터 전송 방법은, MPTCP 기반에서 다중 경로로 데이터를 전송하는 방법으로 데이터 센터 네트워크에 적용 시 데이터센터 네트워크에서 요구하는 짧은 대기시간을 충족시키는데 한계가 있다.
또 다른 종래 기술인 신용 패킷 기반 데이터 전송 방법의 경우, 신용 패킷을 통해서 현재 네트워크 상황을 파악하고 처리 가능한 데이터양만큼만 전송하는 방법으로 데이터센터 네트워크에 적용 시 혼잡 제어를 가능하게 하지만, 전체 네트워크 상황을 고려하는데 한계가 있어 높은 처리량을 충족시키지 못한다는 문제점이 있다.
비특허문헌: Credit-Scheduled Delay-Bounded Congestion Control for Datacenters, Inho Cho, August 21-25, 2017.
본 발명은 신용 패킷을 다중 경로의 대역폭을 판단하는 데에 사용함으로써, 기존 데이터 전송 방법에 비해 더 짧은 대기시간과 더 높은 처리량을 제공할 수 있는 새로운 방법을 개시한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법으로서, 수신 장치에게 신용 요청 패킷을 전송하는 단계; 신용 요청 패킷에 대한 응답으로, 수신 장치로부터, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제1 경로를 결정하는 단계; 및 수신 장치로부터 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 수신 장치에게 데이터 패킷을 전송하는 단계 - 제1 경로를 통해 수신한 신용 패킷과 제1 경로를 통해 수신 장치에게 전송된 데이터 패킷은 일대일 대응됨 -; 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 수신 장치에게 신용 중지 패킷을 전송하는 단계를 포함하는, 신용 기반 다중경로 데이터 전송 방법이 제공된다.
상술한 신용 기반 다중경로 데이터 전송 방법에서, 전송할 잔여 데이터 패킷이 존재하지 않는 경우, 적어도 하나의 제1 경로를 통해 수신되는 신용패킷은 드랍될 수 있다.
상술한 신용 기반 다중경로 데이터 전송 방법에서, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상이면, 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 수신 장치에게 데이터 패킷이 전송될 수 있다.
상술한 신용 기반 다중경로 데이터 전송 방법은, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 수신 장치에게 경로 재설정 패킷을 전송하는 단계; 경로 재설정 패킷에 대한 응답으로, 수신 장치로부터, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제2 경로를 결정하는 단계; 수신 장치로부터 제2 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제2 경로를 통해 수신 장치에게 데이터 패킷을 전송하는 단계 - 제2 경로를 통해 수신한 신용 패킷과 제2 경로를 통해 수신 장치에게 전송된 데이터 패킷은 일대일 대응됨 -; 및 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 수신 장치에게 신용 중지 패킷을 전송하는 단계를 더 포함할 수 있다.
상술한 신용 기반 다중경로 데이터 전송 방법에서, 신용 요청 패킷 및 데이터 패킷은 전송 장치의 식별 정보 및 수신 장치의 식별 정보와 함께 수신 장치에게 전송될 수 있다.
상술한 신용 기반 다중경로 데이터 전송 방법에서, 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고, 신용 기반 다중경로 데이터 전송 방법은, 신용 패킷과 함께, 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 신용 패킷이 경유한 스위치의 식별 정보를 수신하는 단계; 및 신용 패킷이 경유한 스위치의 식별 정보에 기초하여, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 경유한 제1 경로를 특정하는 단계를 더 포함하고, 데이터 패킷은 특정된 제1 경로를 통해 전송될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 수신 방법으로서, 전송 장치로부터, 신용 요청 패킷을 수신하는 단계; 신용 요청 패킷에 응답하여, 전송 장치에게, 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하는 단계; 전송 장치로부터, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해, 데이터 패킷을 수신하는 단계 -제1 경로를 통해 수신한 데이터 패킷은 제1 경로를 통해 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -; 소정의 시간이 지난 이후, 전송 장치와 통신이 가능한 모든 경로 중에서 데이터 패킷이 수신된 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 단계; 및 전송 장치로부터 신용 중지 패킷을 수신하는 경우, 신용 패킷의 전송을 중단하는 단계를 포함하는, 신용 기반 다중경로 데이터 수신 방법이 제공된다.
상술한 신용 기반 다중경로 데이터 수신 방법에서, 데이터 패킷이 수신되는 적어도 하나의 제1 경로의 개수가 임계값이 되면, 소정의 시간이 지나기 이전이라도, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷이 전송될 수 있다.
상술한 신용 기반 다중경로 데이터 수신 방법은, 전송 장치로부터, 경로 재설정 패킷을 수신하는 단계; 경로 재설정 패킷에 응답하여, 전송 장치에게, 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하는 단계; 전송 장치로부터, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해, 데이터 패킷을 수신하는 단계 - 제2 경로를 통해 수신 장치가 수신한 데이터 패킷은 제2 경로를 통해 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -; 및 소정의 시간이 지난 이후, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 단계를 더 포함할 수 있다.
상술한 신용 기반 다중경로 데이터 수신 방법에서, 신용 패킷은 수신 장치의 식별 정보 및 전송 장치의 식별 정보와 함께 전송 장치에게 전송될 수 있다.
상술한 신용 기반 다중경로 데이터 수신 방법에서, 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고, 신용 기반 다중경로 데이터 수신 방법은, 데이터 패킷과 함께, 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 데이터 패킷이 경유한 스위치의 식별 정보를 수신하는 단계; 및 데이터 패킷이 경유한 스위치의 식별 정보에 기초하여, 전송 장치와 통신이 가능한 모든 경로 중 데이터 패킷이 경유한 제1 경로를 특정하는 단계를 더 포함하고, 소정의 시간이 지난 이후, 신용 패킷은, 전송 장치와 통신이 가능한 모든 경로 중에서 특정된 제1 경로를 통해서만 소정의 속도로 전송될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 장치로서, 수신 장치에게 신용 요청 패킷을 전송하는 통신부; 및 신용 요청 패킷에 대한 응답으로, 수신 장치로부터, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제1 경로를 결정하는 제어부를 포함하고, 통신부는, 수신 장치로부터 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 수신 장치에게 데이터 패킷을 전송하고 - 제1 경로를 통해 수신한 신용 패킷과 제1 경로를 통해 수신 장치에게 전송된 데이터 패킷은 일대일 대응됨 -, 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 수신 장치에게 신용 중지 패킷을 전송할 수 있다.
상술한 신용 기반 다중경로 데이터 전송 장치에서, 전송할 잔여 데이터 패킷이 존재하지 않는 경우, 적어도 하나의 제1 경로를 통해 수신되는 신용 패킷은 드랍될 수 있다.
상술한 신용 기반 다중경로 데이터 전송 장치에서, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상이면, 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 수신 장치에게 데이터 패킷이 전송될 수 있다.
상술한 신용 기반 다중경로 데이터 전송 장치에서, 통신부는, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 수신 장치에게 경로 재설정 패킷을 전송하고, 제어부는, 경로 재설정 패킷에 대한 응답으로, 수신 장치로부터, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제2 경로를 결정하고, 통신부는, 수신 장치로부터 제2 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제2 경로를 통해 수신 장치에게 데이터 패킷을 전송하고 - 제2 경로를 통해 수신한 신용 패킷과 제2 경로를 통해 수신 장치에게 전송된 데이터 패킷은 일대일 대응됨 -, 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 수신 장치에게 신용 중지 패킷을 전송할 수 있다.
상술한 신용 기반 다중경로 데이터 전송 장치에서, 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고, 통신부는, 신용 패킷과 함께, 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 신용 패킷이 경유한 스위치의 식별 정보를 수신하고, 제어부는, 신용 패킷이 경유한 스위치의 식별 정보에 기초하여, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 경유한 제1 경로를 특정하고, 데이터 패킷은 특정된 제1 경로를 통해 전송될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 수신 장치로서, 전송 장치로부터, 신용 요청 패킷을 수신하고, 신용 요청 패킷에 응답하여, 전송 장치에게, 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하고, 전송 장치로부터, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해, 데이터 패킷을 수신하고 - 제1 경로를 통해 수신한 데이터 패킷은 제1 경로를 통해 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -, 소정의 시간이 지난 이후, 전송 장치와 통신이 가능한 모든 경로 중에서 데이터 패킷이 수신된 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 통신부; 및 전송 장치로부터 신용 중지 패킷을 수신하는 경우, 신용 패킷의 전송을 중단하는 제어부를 포함하는, 신용 기반 다중경로 데이터 수신 장치가 제공된다.
상술한 신용 기반 다중경로 데이터 수신 장치에서, 데이터 패킷이 수신되는 적어도 하나의 제1 경로의 개수가 임계값이 되면, 소정의 시간이 지나기 이전이라도, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷이 전송될 수 있다.
상술한 신용 기반 다중경로 데이터 수신 장치에서, 통신부는, 전송 장치로부터, 경로 재설정 패킷을 수신하고, 경로 재설정 패킷에 응답하여, 전송 장치에게, 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하고, 전송 장치로부터, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해, 데이터 패킷을 수신하고 - 제2 경로를 통해 수신한 데이터 패킷은 제2 경로를 통해 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -, 및 소정의 시간이 지난 이후, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해서만 소정의 속도로 신용 패킷을 전송할 수 있다.
상술한 신용 기반 다중경로 데이터 수신 장치에서, 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고, 통신부는, 데이터 패킷과 함께, 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 데이터 패킷이 경유한 스위치의 식별 정보를 수신하고, 제어부는, 데이터 패킷이 경유한 스위치의 식별 정보에 기초하여, 전송 장치와 통신이 가능한 모든 경로 중 데이터 패킷이 경유한 제1 경로를 특정하고, 소정의 시간이 지난 이후, 신용 패킷은, 전송 장치와 통신이 가능한 모든 경로 중에서 특정된 제1 경로를 통해서만 소정의 속도로 전송될 수 있다.
본 발명의 일 실시예에 의하면, 호스트 간에 다중 경로가 생기는 데이터센터 토폴로지의 경우 일부 경로에 몰릴 수 있는 부하를 분산시키고 혼잡을 예방함으로써, 데이터 플로우의 종료 시간을 앞당기고 더 나아가 서비스 레벨에서는 더 빠른 서비스를 제공할 수 있다.
또한, 기존의 데이터센터를 구성하는 스위치의 하드웨어적인 변화를 필요로 하지 않아 추가 비용 없이, 기존의 데이터센터에 바로 적용하여 종래의 데이터 전송 방법들이 가지는 성능 한계를 보완할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 데이터센터의 구성을 개략적으로 도시하는 개념도이다.
도 2는 본 발명의 일 실시예에 따른, 신용 기반 다중경로 데이터 송수신 방법을 개략적으로 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 신용 기반 다중경로 데이터 전송 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 신용 기반 다중경로 데이터 수신 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따라, 신용 기반 다중경로 데이터 전송 장치 또는 신용 기반 다중경로 데이터 수신 장치로 동작할 수 있는 호스트의 기능적 구성을 나타내는 블록도이다.
이하, 첨부 도면을 참조하여 본 개시의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 개시의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 개시의 일 실시예에 관한 것일 뿐 본 개시가 이로써 제한되는 것은 아님을 알아야 한다.
본 개시에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 개시를 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 개시에서 사용되는 "및/또는"이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다' 또는 '가지다' 등의 용어는 본 개시 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.
본 개시의 실시예에 있어서 '모듈' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '모듈' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서에 의해 구현될 수 있다.
덧붙여, 달리 정의되지 않는 한 기술적 또는 과학적인 용어를 포함하여, 본 개시에서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의된 용어들은, 관련 기술의 문맥상 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시에서 명백하게 달리 정의하지 않는 한 과도하게 제한 또는 확장하여 해석되지 않는다는 점을 알아야 한다.
이하, 첨부된 도면을 참조하여, 본 개시의 실시예에 대해 구체적으로 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른, 데이터센터의 구성을 개략적으로 도시하는 개념도이다.
본 발명의 일 실시예에 따르면, 데이터센터(10)는 복수의 호스트(200) 및 복수의 스위치(100, 110, 120)를 포함할 수 있다. 복수의 호스트(200) 각각은 신용 기반 다중경로 데이터 전송 장치 혹은 신용 기반 다중경로 데이터 수신 장치로 기능할 수 있으며, 복수의 스위치(100, 110, 120)는 데이터센터(10) 내에서 복수의 호스트(200) 간의 통신을 위한 다중경로를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 데이터센터(10)는 팻트리 토폴로지(fat-tree topology)와 같은 멀티 티어(multi tier) 혹은 멀티 스테이지(multi stage)의 토폴로지를 사용하여 다중 경로를 구성할 수 있다. 팻트리 토폴로지는 3-tier 토폴로지라고도 하며, 도 1에 도시된 바와 같이, 데이터센터(10)는 팻트리 토폴로지를 사용하는 것으로 도시되었으나, 데이터센터(10)가 팻트리 토폴로지 이외에 다양한 멀티 티어 토폴로지 혹은 다른 방식의 토폴로지를 사용할 수 있음은 당업자에게 자명하다. 멀티 티어 토폴로지를 사용하는 데이터센터(10)는 코어(core) 등으로 불리는 최상위 계층의 스위치(100), 어그리게이션(aggregation), 스파인(spine) 등으로 불리는 중간 계층의 스위치(110), 및 에지(edge), 리프(leaf) 등으로 불리는 최하위 계층의 스위치(120)를 포함할 수 있다. 최상위 계층의 스위치(100), 중간 계층의 스위치(110), 및 최하위 계층의 스위치(120)는 상술한 명칭 이외에도, 다양하게 명명될 수 있음은 당업자에게 자명하다.
팻트리 토폴로지를 사용하는 데이터센터(10)에서는, 복수의 호스트(200) 중 어느 하나의 전송 장치와 복수의 호스트(200) 중 어느 하나의 수신 장치는 최상위 계층의 스위치(100)의 개수만큼의 병렬적인 통신 경로를 가질 수 있다. 따라서, 전송 장치와 수신 장치 사이의 임의의 경로는 최상위 계층의 스위치(100) 중에서 경유된 스위치에 의해 특정될 수 있다. 즉, 데이터센터(10) 내에서 전송되는 데이터의 경로는, 전송 장치의 식별 정보(예를 들어, 소스(source) IP(internet protocol) 주소), 수신 장치의 식별 정보(예를 들어, 데스티네이션(destination) IP 주소), 및 최상위 계층의 스위치(100) 중에서 경유된 스위치의 식별 정보(예를 들어, 해당 스위치의 IP 주소)에 의하여 특정될 수 있다.
도 1에 도시된 바에 의하면, 최상위 계층의 스위치(100)가 총 4개에 해당하므로, 복수의 스위치(100, 110, 120)가 서로 통신하기 위한 경로는 각각 4가지가 존재할 수 있다. 예를 들어, 제1 호스트(210)와 제2 호스트(220) 사이의 통신 경로는, 제1 최상위 계층의 스위치(101)를 경유하는 경로 (즉, 제1 최하위 계층의 스위치(121), 제1 중간 계층의 스위치(111), 제1 최상위 계층의 스위치(101), 제3 중간 계층의 스위치(113), 제2 최하위 계층의 스위치(122) 순서의 경로), 제2 최상위 계층의 스위치(102)를 경유하는 경로 (즉, 제1 최하위 계층의 스위치(121), 제2 중간 계층의 스위치(11), 제2 최상위 계층의 스위치(102), 제3 중간 계층의 스위치(113), 제2 최하위 계층의 스위치(122) 순서의 경로), 제3 최상위 계층의 스위치(103)를 경유하는 경로 (즉, 제1 최하위 계층의 스위치(121), 제2 중간 계층의 스위치(112), 제3 최상위 계층의 스위치(103), 제4 중간 계층의 스위치(114), 제2 최하위 계층의 스위치(122) 순서의 경로), 및 제4 최상위 계층의 스위치(104)를 경유하는 경로 (즉, 제1 최하위 계층의 스위치(121), 제2 중간 계층의 스위치(112), 제4 최상위 계층의 스위치(104), 제4 중간 계층의 스위치(114), 제2 최하위 계층의 스위치(122) 순서의 경로)를 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른, 신용 기반 다중경로 데이터 송수신 방법을 개략적으로 설명하기 위한 개념도이다.
전술한 바와 같이, 본 발명의 일 실시예에 따르면, 데이터센터(10) 내에서, 제1 호스트(210)와 제2 호스트(220) 사이의 통신 경로는 제1 최상위 계층의 스위치(101)를 경유하는 경로부터 제4 최상위 계층의 스위치(104)를 경유하는 경로까지 총 4가지의 경로를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 신용 패킷에 할당된 손실(lossy) 버퍼를 포함할 수 있다. 이에 따라, 임의의 경로를 통해 소정의 양의 신용 패킷이 전송되면, 데이터센터(10) 내의 복수의 스위치(100, 110, 120) 각각을 경유할 때마다, 해당 스위치의 손실 버퍼가 채워진 양에 따라서 전송되는 신용 패킷의 일부가 드랍될 수 있다. 따라서, 데이터센터(10) 내에서 임의의 경로를 통해 신용 패킷을 수신한 호스트는, 수신된 신용 패킷의 양과 속도에 기초하여 해당 경로의 혼잡 상태를 확인할 수 있으며, 각각의 경로의 혼잡 상태에 따라 통신이 가능한 모든 경로 중 데이터 패킷을 전송하기 위한 최적의 경로를 선택할 수 있다.
예를 들어, 신용 기반 다중경로 데이터 전송 장치로 기능하는 제1 호스트(210)가 신용 기반 다중경로 데이터 수신 장치로 제2 호스트(220)에게 데이터 패킷을 전송하고자 하는 경우, 제1 호스트(210)는 제2 호스트(220)에게 신용 요청 패킷을 전송할 수 있다.
제2 호스트(220)는 신용 요청 패킷에 응답하여, 제1 호스트(210)에게 제1 최상위 계층의 스위치(101)를 경유하는 경로, 제2 최상위 계층의 스위치(102)를 경유하는 경로, 제3 최상위 계층의 스위치(103)를 경유하는 경로, 및 제4 최상위 계층의 스위치(104)를 경유하는 경로를 포함하여, 제1 호스트(210)와 통신이 가능한 모든 경로를 통하여 소정의 시간(t) 동안 소정의 속도(v)로 신용 패킷을 전송할 수 있다.
전술한 바와 같이, 데이터센터(10) 내 복수의 스위치(100, 110, 120)는 신용 패킷에 할당된 손실 버퍼를 포함할 수 있으므로, 복수의 스위치(100, 110, 120) 각각의 혼잡 상태에 따라, 제1 호스트(210)와 제2 호스트(220) 사이에 통신이 가능한 모든 경로들에서 드랍되는 신용 패킷 양과 신용 패킷의 전송 속도가 상이할 수 있다.
제1 호스트(210)는 제2 호스트와 통신이 가능한 모든 경로들 중에서, 신용 패킷이 가장 먼저 도달한 k개(k는 1 이상의 정수)의 경로를 선택할 수 있다. 전술한 바와 같이, 신용 패킷의 속도는 해당 경로의 혼잡 상태를 반영하므로, 신용 패킷이 제1 호스트(210)에게 가장 먼저 도달한 경로의 혼잡도가 가장 낮을 수 있으며, 따라서, 제1 호스트(210)는 신용 패킷이 가장 먼저 도달한 순서로 k개의 경로를 선택하여, 제2 호스트(220)와 통신하기 위한 최적의 경로를 결정할 수 있다. 예를 들어, k는 2이고, 제1 최상위 계층의 스위치(101)를 경유하는 경로, 제2 최상위 계층의 스위치(102)를 경유하는 경로, 제3 최상위 계층의 스위치(103)를 경유하는 경로, 및 제4 최상위 계층의 스위치(104)를 경유하는 경로 순서로 신용 패킷이 도달한 경우, 제1 호스트(210)는 제1 최상위 계층의 스위치(101)를 경유하는 경로 및 제2 최상위 계층의 스위치(102)를 경유하는 경로를 데이터 패킷을 전송하기 위한 최적의 경로로 결정할 수 있다.
제1 호스트(210)는 신용 패킷이 가장 먼저 도달한 k개의 경로 중 어느 하나의 경로 상에서, 하나의 신용 패킷이 수신될 때마다 하나의 데이터 패킷을 전송할 수 있다. 즉, k개의 경로 상에서 수신되는 신용 패킷과, k개의 경로 상에서 전달되는 데이터 패킷은 일대일 대응될 수 있다. 이와 같은 방식으로, 제1 호스트(210)는 k개의 경로 중 어느 하나의 경로가 수용할 수 있는 대역폭만큼의 데이터 패킷을 해당 경로를 통해 제2 호스트(220)에게 전송할 수 있다.
또한, 제1 호스트(210)와 제2 호스트(220) 사이에 통신이 가능한 경로들 중에서, 제1 호스트(210)에게 신용 패킷이 도달하는 순서는 제2 호스트(220)에게 전송하는 데이터의 양과는 무관할 수 있다. 즉, 전술한 예시에서, 제2 최상위 계층의 스위치(102)를 경유하는 경로보다 제1 최상위 계층의 스위치(101)를 경유하는 경로를 통하여 제1 호스트(210)에게 신용 패킷이 먼저 도달 하였어도, 신용 패킷과 데이터 패킷은 일대일 대응 관계를 갖고 있으므로, 제1 최상위 계층의 스위치(101)를 경유하는 경로보다 제2 최상위 계층의 스위치(102)를 경유하는 경로에서 더 많은 양의 데이터 패킷이 전달될 수 있다.
이와 같은 방식으로, 제1 호스트(210)는 신용 패킷이 수신될 때마다 제2 호스트(220)에게 데이터 패킷을 즉각적으로 전달하면서도, k 개의 경로 중 어느 하나의 경로가 수용 가능한 대역폭만큼의 데이터 패킷을 해당 경로를 통해 제2 호스트(220)에게 전달하여, 데이터센터(10) 내 제1 호스트(210)와 제2 호스트(220) 사이에 통신이 가능한 모든 경로들의 부하 균형을 이룰 수 있다.
제2 호스트(220)는 t 시간이 지난 뒤에는, 데이터 패킷이 수신되는 k개의 경로를 통해서만 신용 패킷을 v 속도로 전송하여, 제1 호스트(210)와 제2 호스트(220) 사이에 통신이 가능한 모든 경로들 중, 데이터 패킷 전송에 사용되지 않는 경로들의 부하를 줄이고, 불필요한 통신을 중단할 수 있다. 전술한 예시에서, 제1 최상위 계층의 스위치(101)를 경유하는 경로 및 제2 최상위 계층의 스위치(102)를 경유하는 경로 상에서만 데이터 패킷이 수신되는 경우, 제2 호스트(220)는 t 시간 이후에는 제1 최상위 계층의 스위치(101)를 경유하는 경로 및 제2 최상위 계층의 스위치(102)를 경유하는 경로를 통해서만 신용 패킷을 전송하고, 제3 최상위 계층의 스위치(103)를 경유하는 경로 및 제4 최상위 계층의 스위치(104)를 경유하는 경로 상으로는 신용 패킷의 전송을 중단할 수 있다.
제1 호스트(210)는 더 이상 전달한 잔여 데이터 패킷이 존재하지 않을 때까지, k개의 경로 상에서 신용 패킷을 수신할 때마다 데이터 패킷을 전송하고, 더 이상 전달한 잔여 데이터 패킷이 존재하지 않으면, 제2 호스트(220)에게 신용 중지 패킷을 전송하여 신용 기반 다중경로 데이터 전송 절차를 종료할 수 있다. 또한, 제2 호스트(220)는 제1 호스트(210)로부터 신용 중지 패킷을 수신하면, 신용 패킷 전송을 중단하고, 신용 기반 다중경로 데이터 수신 절차를 종료할 수 있다.
도 3은 본 발명의 일 실시예에 따른 신용 기반 다중경로 데이터 전송 방법을 설명하기 위한 흐름도이다.
단계 S310에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 최초로 데이터 패킷을 전송하기 전에, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 경로 중 최적의 데이터 통신 경로를 선택하기 위하여, 신용 기반 다중경로 데이터 수신 장치(220)에게 신용 요청 패킷을 전송할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중 임의의 경로를 통하여 신용 요청 패킷을 전송할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신했던 히스토리에 기초하여, 가장 최근에 신용 기반 다중경로 데이터 수신 장치(220)와 통신했던 경로를 통하여 신용 요청 패킷을 전송할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 통하여 신용 요청 패킷을 전송할 수 있다. 신용 패킷에 관하여 전술한 바와 마찬가지로, 경로의 혼잡 상태에 따라, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로들 각각에 대한 신용 요청 패킷의 전송 속도가 상이할 수 있다. 따라서, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 사용하여 신용 요청 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 최대한 빨리 전달할 수 있다. 본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게, 신용 요청 패킷을 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)와 함께 전송할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 신용 요청 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 신용 패킷을 요청한 대상을 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 신용 요청 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보에 기초하여 신용 요청 패킷이 전송될 다음 목적지를 특정할 수 있다.
단계 S320에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 신용 요청 패킷에 대한 응답으로, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 통해, 신용 기반 다중경로 데이터 수신 장치(220)로부터 신용 패킷을 수신할 수 있다. 만약, 신용 기반 다중경로 데이터 전송 장치(210)와 신용 기반 다중경로 데이터 수신 장치(220) 사이의 어느 하나의 경로가, 현재 더 이상의 데이터 패킷을 수용할 수 없는 경우, 해당 경로에 포함된 복수의 스위치(100, 110, 120)에서 모든 신용 패킷이 드랍되어, 해당 경로를 통해서는 신용 기반 다중경로 데이터 전송 장치(210)에 신용 패킷이 도달하지 않을 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 데스티네이션 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 소스 IP 주소)를 수신할 수 있다. 이에 따라, 신용 기반 다중경로 데이터 전송 장치(210)는 적어도 신용 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보에 기초하여, 신용 패킷을 전송한 대상을 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 적어도 신용 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여, 신용 패킷이 전송될 다음 목적지를 특정할 수 있다.
단계 S330에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중 적어도 하나의 최적의 경로를 선택할 필요가 있거나, 이미 선택된 경로를 S380 단계에서 후술할 조건에 의하여 재설정할 필요가 있는지를 판단할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)가 신용 기반 다중경로 데이터 수신 장치(220)에게 최초로 데이터 패킷을 전송하기 전이어서, 신용 기반 다중경로 데이터 수신 장치(220)와의 최적의 통신 경로를 아직 선택하지 않은 경우, S340 단계로 진행될 수 있다.
단계 S330에서, 경로를 선택하거나 재설정할 필요가 있다고 판단한 경우, 단계 S340에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중에서 신용 패킷이 먼저 도달하는 순서로 적어도 하나의 제1 경로를 선택할 수 있다. 신용 패킷이 가장 먼저 도달한 경로가 혼잡도가 가장 낮고 데이터 패킷이 가장 빨리 전달될 확률이 높으므로, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 패킷이 먼저 도달하는 순서로 적어도 하나의 제1 경로를 선택할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 패킷과 함께, 팻트리 토폴로지를 사용하는 데이터센터(10)의 최상위 계층의 스위치(100) 중 해당 신용 패킷이 경유하는 스위치의 식별 정보(예를 들어, 해당 스위치의 IP 주소)를 수신할 수 있다. 전술한 바와 같이, 팻트리 토폴로지를 사용하는 데이터센터(10) 내 신용 기반 다중경로 데이터 전송 장치(210) 및 신용 기반 다중경로 데이터 수신 장치(220) 사이의 하나의 경로는 최상위 계층의 스위치(100) 중 사용된 스위치에 의해 특정될 수 있다. 이에 따라, 신용 기반 다중경로 데이터 전송 장치(210)는 가장 먼저 도달한 신용 패킷과 함께 수신한 최상위 계층의 스위치의 식별 정보에 기초하여, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중, 가장 먼저 도달한 신용 패킷이 전송된 경로를 특정하고, 특정된 경로를 제1 경로로 선택할 수 있다.
단계 S350에서, 신용 기반 다중경로 데이터 전송 장치(210)는 선택된 적어도 하나의 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 신용 기반 다중경로 데이터 수신 장치(220)에게 데이터 패킷을 전송할 수 있다.
본 발명의 일 실시예에 의하면, 어느 하나의 경로를 통해 신용 기반 다중경로 데이터 전송 장치(210)에 도달한 신용 패킷은, 해당 경로를 통해 신용 기반 다중경로 데이터 수신 장치(220)에게 전송되는 데이터 패킷과 일대일 대응될 수 있다. 어느 하나의 경로를 통해 신용 기반 다중경로 데이터 전송 장치(210)에 도달한 신용 패킷은, 신용 기반 다중경로 데이터 수신 장치(210)가 전송한 소정의 양의 신용 패킷 중, 해당 경로에 포함된 스위치들의 혼잡 상태에 따라 드랍된 신용 패킷들을 제외하고, 해당 경로를 통해 신용 기반 다중경로 데이터 전송 장치(210)에 성공적으로 전송이 완료된 신용 패킷일 수 있다. 따라서, 신용 기반 다중경로 데이터 전송 장치(210)는 적어도 하나의 제1 경로 중 어느 하나의 경로에서 신용 패킷이 수신 되자마자 해당 경로를 통해 데이터 패킷을 전송할 수 있다. 이와 같은 방식으로, 경로 별로 수용 가능한 대역폭만큼의 데이터 패킷이 즉각적으로 전달되어, 신용 기반 다중경로 데이터 전송 장치(210) 및 신용 기반 다중경로 데이터 수신 장치(220) 사이에 통신이 가능한 모든 경로들의 부하 균형을 이룰 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 패킷과 함께 수신된 최상위 스위치의 식별 정보에 기초하여, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중, 해당 신용 패킷이 경유한 제1 경로를 특정하여, 특정된 제1 경로로 데이터 패킷을 전송할 수 있다.
단계 S360에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 전송할 잔여 데이터 패킷이 존재하는지 여부를 판단할 수 있다.
전송할 잔여 데이터 패킷이 존재하면, 단계 S370에서, 신용 기반 다중경로 데이터 전송 장치(210)는 S340 단계에서 선택된 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상인지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 신용 패킷의 수신율이란, 신용 패킷 수신량 혹은 신용 패킷 수신 속도에 해당할 수 있다. 구체적으로, 신용 기반 다중경로 데이터 전송 장치(210)는 소정의 주기마다 선택된 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 양을 모니터링하여, 신용 패킷 수신량 혹은 신용 패킷 수신 속도를 측정할 수 있다.
단계 S370에서의 판단 결과, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상인 경우, 단계 S320에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 기존에 선택된 적어도 하나의 제1 경로를 통해, 신용 기반 다중경로 데이터 수신 장치(220)로부터 지속적으로 신용 패킷을 수신할 수 있다.
신용 패킷의 수신율이 임계값 이상이면, 잔여 데이터 패킷을 전송하기 위한 충분한 대역폭이 이미 확보되어 있으므로, 단계 S330에서, 신용 기반 다중경로 데이터 전송 장치(210)는 잔여 데이터 패킷을 전송하기 위해 최적의 경로를 재설정할 필요가 없다고 판단하고, S340 단계를 생략할 수 있다.
전술한 바와 같이, 신용 기반 다중경로 데이터 전송 장치(210)에 도달한 신용 패킷과 신용 기반 다중경로 데이터 수신 장치(220)에게 전송된 데이터 패킷은 일대일 대응 관계에 해당할 수 있다. 따라서, 신용 기반 다중경로 데이터 전송 장치(210)는, 최적의 경로를 재탐색하지는 않지만, 기존에 선택된 제1 경로 상에서 주기적으로 새롭게 수신되는 신용 패킷을 통해, 제1 경로의 변동된 혼잡 상태를 확인하고, 그에 따라 잔여 데이터 패킷을 제1 경로 상에 할당할 수 있다.
본 발명의 일 실시예에 따르면, S370 단계의 판단 결과, 기존에 선택된 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 잔여 데이터 패킷을 전송하기 위한 충분한 대역폭이 확보되어 있지 않은 것이므로, 신용 기반 다중경로 데이터 전송 장치(210)는 최적의 경로를 재설정하는 절차를 개시할 수 있다. 구체적으로, 단계 S380에서, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게 경로 재설정 패킷을 전송할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중 임의의 경로를 통하여 경로 재설정 패킷을 전송할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)는 기존에 선택된 적어도 하나의 제1 경로 중, 가장 최근에 수신한 신용 패킷이 경유한 경로를 통해 경로 재설정 패킷을 전송할 수 있다. 가장 최근에 수신된 신용 패킷이 경유한 경로는, 현재 혼잡도가 가장 낮은 경로에 해당할 수 있으므로, 해당 경로를 이용할 때 경로 재설정 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 가장 빨리 전달할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 통하여 경로 재설정 패킷을 전송할 수 있다. 전술한 바와 같이, 경로의 혼잡 상태에 따라, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로들 각각에 대한 경로 재설정 패킷의 전송 속도가 상이할 수 있다. 따라서, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 사용하여 경로 재설정 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 최대한 빨리 전달할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게, 경로 재설정 패킷을 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)와 함께 전송할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 경로 재설정 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 경로 재설정을 요청한 대상을 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 경로 재설정 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보에 기초하여 경로 재설정 패킷이 전송될 다음 목적지를 특정할 수 있다.
이후, 단계 S320에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 경로 재설정 패킷에 대한 응답으로, 신용 기반 다중경로 데이터 수신 장치(220)로부터, 신용 기반 다중경로 데이터 전송 장치(210) 및 신용 기반 다중경로 데이터 수신 장치(220) 사이에 통신이 가능한 모든 경로를 통해 경로 재설정을 위한 신용 패킷을 수신할 수 있다.
이후, 단계 S330에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 경로 재설정을 할 필요가 있다고 판단하여, 단계 S340에서, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로들 중에서 신용 패킷이 먼저 도달하는 순서로 적어도 하나의 제2 경로를 선택할 수 있다. 이후, 단계 S350에서, 신용 기반 다중경로 데이터 전송 장치(210)는 선택된 적어도 하나의 제2 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제2 경로를 통해 신용 기반 다중경로 데이터 수신 장치(220)에게 데이터 패킷을 전송할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 최적의 경로를 재설정하는 절차를 개시하기 위하여, 신용 패킷의 수신율 이외에도, 다른 기준을 이용할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)는 기존에 선택된 적어도 하나의 제1 경로 상 중 어느 하나의 경로에서 소정의 시간 동안 신용 패킷이 하나도 수신되지 않는 경우, 최적의 경로를 재설정하는 절차를 개시하여, S380 단계에서 경로 재설정 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 전송할 수 있다.
본 발명의 일 실시예에 따르면, S360 단계에서, 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게 신용 중지 패킷을 전송하여, 데이터 패킷 전송 절차 및 신용 패킷 수신 절차를 종료할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중 임의의 경로를 통하여 신용 중지 패킷을 전송할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)는 가장 최근에 수신한 신용 패킷이 경유한 경로를 통해 신용 중지 패킷을 전송할 수 있다. 가장 최근에 수신된 신용 패킷이 경유한 경로는, 현재 혼잡도가 가장 낮은 경로에 해당할 수 있으므로, 해당 경로를 이용할 때 신용 중지 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 가장 빨리 전달할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 통해 신용 중지 패킷을 전송하여, 신용 중지 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 최대한 빨리 전달할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게, 신용 중지 패킷을 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)와 함께 전송할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 신용 중지 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 통신을 종료할 대상을 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 신용 중지 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보에 기초하여 신용 중지 패킷이 전송될 다음 목적지를 특정할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 적어도 하나의 제1 경로를 통해 수신되는 신용패킷을 드랍하여 무시할 수 있다.
도 4는 본 발명의 일 실시예에 따른 신용 기반 다중경로 데이터 수신 방법을 설명하기 위한 흐름도이다.
단계 S410에서, 신용 기반 다중경로 데이터 수신 장치(220)는, 신용 기반 다중경로 데이터 전송 장치(210)로부터 데이터 패킷을 최초로 수신하기 전에, 신용 기반 다중경로 데이터 전송 장치(210)로부터 신용 요청 패킷을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 신용 기반 다중경로 데이터 전송 장치(210)로부터, 신용 요청 패킷과 함께 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)를 수신할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 신용 요청 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 신용 패킷을 요청한 대상을 특정할 수 있다.
단계 S420에서, 신용 기반 다중경로 데이터 수신 장치(220)는, S410 단계에서 수신한 신용 요청 패킷에 응답하여, 신용 기반 다중경로 데이터 수신 장치(220) 및 신용 기반 다중경로 데이터 전송 장치(210) 사이에 통신이 가능한 모든 경로를 통해 소정의 시간동안 소정의 속도로 신용 패킷을 전송할 수 있다. 전술한 바와 같이, 경로별 혼잡 상태가 상이하므로, 신용 기반 다중경로 데이터 수신 장치(220)가 모든 경로를 통해 동일한 속도 및 동일한 양의 신용 패킷을 전송하여도, 경로 별로 신용 기반 다중경로 데이터 전송 장치(220)에게 도달하는 신용 패킷의 속도 및 양은 상이할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 신용 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 데스티네이션 IP 주소), 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 소스 IP 주소), 및 팻트리 토폴로지를 사용하는 데이터센터(10)의 최상위 계층의 스위치(100) 중 해당 신용 패킷이 경유하는 스위치의 식별 정보(예를 들어, 해당 스위치의 IP 주소)를 전송할 수 있다. 이에 따라, 신용 기반 다중경로 데이터 전송 장치(210)는 적어도 신용 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 최상위 계층의 스위치의 식별 정보에 기초하여, 신용 패킷을 전송한 대상과 해당 신용 패킷이 경유한 경로를 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 적어도 신용 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여, 신용 패킷이 전송될 다음 목적지를 특정할 수 있다.
단계 S430에서, 신용 기반 다중경로 데이터 수신 장치(220)는, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중 적어도 하나의 제1 경로를 통해 데이터 패킷을 수신할 수 있다.
단계 S440 및 S450 에서, 신용 기반 다중경로 데이터 전송 장치(210)로부터, 경로 재탐색을 위한 신용 요청 패킷 및 신용 중지 패킷이 모두 수신되지 않으면, 단계 S460에서, 신용 기반 다중경로 데이터 수신 장치(220)는 소정의 시간 지난 이후, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중에서 S430 단계에서 데이터 패킷이 수신된 적어도 하나의 제1 경로를 통해서만, 소정의 속도로 신용 패킷을 전송할 수 있다. 이와 같은 방식으로, 신용 기반 다중경로 데이터 수신 장치(220)는 기존에 선택된 적어도 하나의 제1 경로의 현재 혼잡 상태를 신용 기반 다중경로 데이터 수신 장치(220)에게 지속적으로 알려줄 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 데이터 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소), 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소), 및 팻트리 토폴로지를 사용하는 데이터센터(10)의 최상위 계층의 스위치(100) 중 해당 데이터 패킷이 경유하는 스위치의 식별 정보(예를 들어, 해당 스위치의 IP 주소)를 수신할 수 있다. 이에 따라, 신용 기반 다중경로 데이터 전송 장치(210)는 적어도 데이터 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 최상위 계층의 스위치의 식별 정보에 기초하여, 데이터 패킷을 전송한 대상과 해당 데이터 패킷이 경유한 경로를 특정할 수 있다. 또한, 신용 기반 다중경로 데이터 전송 장치(210)는, 특정된 경로를 제1 경로로 선택하여, 소정의 시간이 지난 이후에는 특정된 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송할 수 있다.. 또한, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 적어도 데이터 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여, 데이터 패킷이 전송될 다음 목적지를 특정할 수 있다.
본 발명의 일 실시예에 따르면, S430 단계에서 데이터 패킷이 수신되는 제1 경로의 개수가 임계값이 되면, S460 단계에서, 신용 기반 다중경로 데이터 수신 장치(220)는, 소정의 시간이 지나기 이전이라도, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중에서 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송할 수 있다. 신용 기반 다중경로 데이터 수신 장치(220)가 신용 기반 다중경로 데이터 전송 장치(210)로부터 데이터 패킷을 수신할 경로의 개수(즉, 임계값)를 미리 알고 있는 경우, 신용 기반 다중경로 데이터 수신 장치(220)는 소정의 사간이 지나지 않았더라도, 통신에 이용되는 제1 경로 상에서만 신용 패킷을 전송하여, 데이터센터(10) 내에 불필요한 부하를 유발하지 않을 수 있다.
이후, 신용 기반 다중경로 데이터 수신 장치(220)는, S430 단계에서, 신용 기반 다중경로 데이터 전송 장치(210)로부터, 기존에 선택된 제1 경로를 통해 데이터 패킷을 수신할 수 있다.
단계 S440에서, 신용 기반 다중경로 데이터 수신 장치(220)가 신용 기반 다중경로 데이터 전송 장치(210)로부터, 경로 재설정 패킷을 수신하면, 신용 기반 다중경로 데이터 전송 장치(210)와 통신하기 위한 최적의 경로를 재설정하기 위한 절차가 개시될 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 신용 기반 다중경로 데이터 전송 장치(210)로부터, 경로 재설정 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)를 수신할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 경로 재설정 패킷과 함께 수신한 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 경로 재설정을 요청한 대상을 특정할 수 있다.
이후, 단계 S420에서, 신용 기반 다중경로 데이터 수신 장치(220)는 경로 재설정 패킷에 응답하여, 신용 기반 다중경로 데이터 전송 장치(210) 및 신용 기반 다중경로 데이터 수신 장치(220) 사이에 통신이 가능한 모든 경로를 통해 소정의 시간동안 소정의 속도로 경로 재설정을 위한 신용 패킷을 전송할 수 있다.
이후, 단계 S430에서, 신용 기반 다중경로 데이터 수신 장치(220)는, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중 적어도 하나의 제2 경로를 통해 데이터 패킷을 수신할 수 있다. 또한, 단계 S460에서, 신용 기반 다중경로 데이터 수신 장치(220)는 소정의 시간 지난 이후, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중에서 S430 단계에서 데이터 패킷이 수신된 적어도 하나의 제2 경로를 통해서만, 소정의 속도로 신용 패킷을 전송할 수 있다.
본 발명의 일 실시예에 따르면, S450 단계에서, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)로부터 신용 중지 패킷을 수신하여, 신용 패킷 전송 절차 및 데이터 패킷 수신 절차를 종료할 수 있다.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 신용 기반 다중경로 데이터 전송 장치(210)로부터, 신용 중지 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)를 수신할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 신용 중지 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 통신을 종료할 대상을 특정할 수 있다.
도 5는 본 발명의 일 실시예에 따라, 신용 기반 다중경로 데이터 전송 장치 또는 신용 기반 다중경로 데이터 수신 장치로 동작할 수 있는 호스트의 기능적 구성을 나타내는 블록도이다.
도시된 바에 의하면, 호스트(500)는 통신부(510), 제어부(520), 및 메모리(530)를 포함할 수 있다.
도 1 내지 도 4를 통해 전술한 복수의 호스트(200) 각각은, 도 5에 도시된 호스트(500)와 동일한 기능적 구성을 포함할 수 있다.
본 발명의 일 실시예에 따라, 전송할 데이터 패킷이 존재하는 경우, 호스트(500)는 신용 기반 다중경로 데이터 전송 장치(210)로 기능할 수 있으며, 전송할 데이터 패킷이 존재하지 않는 경우, 호스트(500)는 신용 기반 다중경로 데이터 수신 장치(220)로만 기능할 수 있다.
통신부(510)는 데이터센터(10) 내의 다른 호스트 및 복수의 스위치(100, 110, 120)와 소정의 프로토콜에 따라 통신할 수 있다. 예를 들어, 통신부(510)는 LAN망 등에 구현된 네트워크를 통해, 데이터센터(10) 내 다른 호스트 및 스위치와 통신할 수 있다. 본 개시의 일 실시예에 의하면, 통신부(510)는 복수의 스위치(100, 110, 120)에 의해 형성된 다중경로를 통해 다른 호스트(500)와 데이터 패킷, 신용 패킷, 신용 요청 패킷, 경로 재설정 패킷과 같은 정보를 송수신할 수 있다.
제어부(520)는, 통상적으로 호스트(500)의 전반적인 동작을 제어한다. 예를 들어, 호스트(500)는, 메모리(530)에 저장된 프로그램들을 실행함으로써, 통신부(510) 등을 전반적으로 제어하는 중앙 프로세서가 될 수 있다.
본 발명의 일 실시예에 따라, 제어부(520)는 기능적 구성에 따라, 신용 요청 패킷 생성부(522), 신용 패킷 생성부(524), 경로 선택부(526), 및 데이터 패킷 생성부(528)를 포함할 수 있다.
신용 요청 패킷 생성부(522)는 호스트(500)가 신용 기반 다중경로 데이터 전송 장치(210)로 기능할 때 활성화 될 수 있고, 다른 호스트에 데이터 패킷을 최초로 전송하기 전, 신용 요청 패킷을 생성하고, 다른 호스트까지의 최적의 경로를 재설정하는 절차가 개시될 때 경로 재설정 패킷을 생성할 수 있다. 신용 요청 패킷 생성부(522)는, 생성된 신용 요청 패킷 또는 경로 재설정 패킷을, 도 3에서 전술한 방법에 따라, 다중경로 중 임의의 경로에 할당할 수 있다.
신용 패킷 생성부(524)는 호스트(500)가 신용 기반 다중경로 데이터 수신 장치(220)로 기능할 때 활성화 될 수 있고, 신용 요청 패킷에 응답하여, 신용 패킷을 생성할 수 있다. 신용 패킷 생성부(524)는, 생성된 신용 패킷을, 도 4에서 전술한 방법에 따라, 다른 호스트와 통신 가능한 모든 경로에 할당하거나, 데이터 패킷이 수신되는 경로 상에만 할당할 수 있다.
경로 선택부(526)는 호스트(500)가 신용 기반 다중경로 데이터 전송 장치(210)로 기능할 때 활성화 될 수 있고, 통신부(510)에서 수신된 신용 패킷에 기초하여, 다른 호스트와 통신이 가능한 모든 경로의 혼잡 상태를 비교하고, 데이터 패킷을 전송하기 위한 적어도 하나의 최적의 경로를 선택할 수 있다.
데이터 패킷 생성부(528)는 전송할 데이터 패킷을 생성하고, 경로 선택부(526)에 의해 선택된 적어도 하나의 최적의 경로를 통해, 최적의 경로 상에서 신용 패킷이 수신될 때마다 데이터 패킷 해당 경로에 할당할 수 있다.
메모리(530)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Pro grammable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 본 발명의 일 실시예에 따라, 메모리(530)는 데이터센터(10) 내의 다른 호스트에게 전송하기 위해 생성된 데이터 패킷, 신용 패킷, 신용 요청 패킷과 같은 정보를 저장하거나, 데이터센터(10) 내의 다른 호스트로부터 수신한 데이터 패킷, 신용 패킷, 신용 요청 패킷, 경로 재설정 패킷과 같은 정보를 저장할 수 있다.
당업자라면 알 수 있듯이, 본 개시가 본 명세서에 기술된 예시에 한정되는 것이 아니라 본 개시의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 재구성 및 대체될 수 있다. 본 명세서에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있음을 알아야 한다.
본 개시의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨터 프로세서 등에 의해 판독 가능한 저장 매체, 예컨대 EPROM, EEPROM, 플래시 메모리장치와 같은 비휘발성 메모리, 내장형 하드 디스크와 착탈식 디스크 같은 자기 디스크, 광자기 디스크, 및 CDROM 디스크 등을 포함한 다양한 유형의 저장 매체에 저장된 형태로 구현될 수 있다. 또한, 프로그램 코드(들)는 어셈블리어나 기계어로 구현될 수 있다. 본 개시의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 이하의 특허청구범위에 의해 모두 포괄하고자 한다.

Claims (20)

  1. 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법으로서,
    수신 장치와 통신했던 히스토리에 기초하여, 상기 수신 장치와 통신이 가능한 모든 경로 중 가장 최근에 상기 수신 장치와 통신했던 경로를 통하여, 상기 수신 장치에게 신용 요청 패킷을 전송하는 단계;
    상기 신용 요청 패킷에 대한 응답으로, 상기 수신 장치로부터, 상기 수신 장치와 통신이 가능한 모든 경로 중, 경로별 수용 가능한 대역폭과 무관하게, 상기 신용 요청 패킷을 전송한 이후의 경로별 최초 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제1 경로를 결정하는 단계 - 상기 경로별 수용 가능한 대역폭은 상기 경로별 상기 수신 장치에게 전송할 수 있는 데이터 패킷의 양에 대응됨 - ; 및
    상기 수신 장치로부터 상기 제1 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제1 경로를 통해 상기 수신 장치에게 데이터 패킷을 전송하는 단계 - 상기 제1 경로를 통해 수신한 상기 신용 패킷과 상기 제1 경로를 통해 상기 수신 장치에게 전송된 상기 데이터 패킷은 일대일 대응됨 -;
    상기 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 상기 수신 장치에게 신용 중지 패킷을 전송하는 단계 - 상기 신용 중지 패킷은 가장 최근에 수신한 신용 패킷이 경유한 경로를 통해 전송됨 -
    를 포함하는, 신용 기반 다중경로 데이터 전송 방법.
  2. 제1항에 있어서,
    상기 전송할 잔여 데이터 패킷이 존재하지 않는 경우, 상기 적어도 하나의 제1 경로를 통해 수신되는 신용패킷은 드랍되는, 신용 기반 다중경로 데이터 전송 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상이면, 상기 제1 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제1 경로를 통해 상기 수신 장치에게 데이터 패킷이 전송되는, 신용 기반 다중경로 데이터 전송 방법.
  4. 제1항에 있어서,
    상기 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 상기 수신 장치에게 경로 재설정 패킷을 전송하는 단계;
    상기 경로 재설정 패킷에 대한 응답으로, 상기 수신 장치로부터, 상기 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제2 경로를 결정하는 단계;
    상기 수신 장치로부터 상기 제2 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제2 경로를 통해 상기 수신 장치에게 데이터 패킷을 전송하는 단계 - 상기 제1 경로를 통해 수신한 상기 신용 패킷과 상기 제1 경로를 통해 상기 수신 장치에게 전송된 상기 데이터 패킷은 일대일 대응됨 -; 및
    상기 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 상기 수신 장치에게 신용 중지 패킷을 전송하는 단계
    를 더 포함하는, 신용 기반 다중경로 데이터 전송 방법.
  5. 제1항에 있어서,
    상기 신용 요청 패킷 및 상기 데이터 패킷은 전송 장치의 식별 정보 및 상기 수신 장치의 식별 정보와 함께 상기 수신 장치에게 전송되는, 신용 기반 다중경로 데이터 전송 방법.
  6. 제1항에 있어서,
    상기 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고,
    상기 신용 기반 다중경로 데이터 전송 방법은,
    상기 신용 패킷과 함께, 상기 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 상기 신용 패킷이 경유한 스위치의 식별 정보를 수신하는 단계; 및
    상기 신용 패킷이 경유한 스위치의 식별 정보에 기초하여, 상기 수신 장치와 통신이 가능한 모든 경로 중 상기 신용 패킷이 경유한 상기 제1 경로를 특정하는 단계를 더 포함하고,
    상기 데이터 패킷은 상기 특정된 제1 경로를 통해 전송되는, 신용 기반 다중경로 데이터 전송 방법.
  7. 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 수신 방법으로서,
    전송 장치와 통신이 가능한 모든 경로 중 가장 최근에 상기 전송 장치와 통신했던 경로를 통하여, 상기 전송 장치로부터, 신용 요청 패킷을 수신하는 단계;
    상기 신용 요청 패킷에 응답하여, 상기 전송 장치에게, 상기 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하는 단계;
    상기 전송 장치로부터, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해, 데이터 패킷을 수신하는 단계 -
    상기 제1 경로는, 상기 전송 장치와 통신이 가능한 모든 경로 중에서, 경로별 수용 가능한 대역폭과 무관하게, 상기 신용 요청 패킷을 수신한 이후의 경로별 최초 신용 패킷이 상기 전송 장치에게 가장 먼저 도달한 순서로 결정된 경로이고,
    상기 경로별 수용 가능한 대역폭은 상기 경로별 상기 전송 장치로부터 수신할 수 있는 데이터 패킷의 양에 대응되고,
    상기 제1 경로를 통해 수신한 상기 데이터 패킷은 상기 제1 경로를 통해 상기 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -;
    상기 소정의 시간이 지난 이후, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 데이터 패킷이 수신된 상기 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 단계; 및
    상기 전송 장치로부터 신용 중지 패킷을 수신하는 경우, 신용 패킷의 전송을 중단하는 단계 - 상기 신용 중지 패킷은 가장 최근에 전송된 신용 패킷이 경유한 경로를 통해 수신됨 -
    를 포함하는, 신용 기반 다중경로 데이터 수신 방법.
  8. 제7항에 있어서,
    상기 데이터 패킷이 수신되는 상기 적어도 하나의 제1 경로의 개수가 임계값이 되면, 상기 소정의 시간이 지나기 이전이라도, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷이 전송되는, 신용 기반 다중경로 데이터 수신 방법.
  9. 제7항에 있어서,
    상기 전송 장치로부터, 경로 재설정 패킷을 수신하는 단계;
    상기 경로 재설정 패킷에 응답하여, 상기 전송 장치에게, 상기 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하는 단계;
    상기 전송 장치로부터, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해, 데이터 패킷을 수신하는 단계 - 상기 제2 경로를 통해 수신한 상기 데이터 패킷은 상기 제2 경로를 통해 상기 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -; 및
    상기 소정의 시간이 지난 이후, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 적어도 하나의 제2 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 단계
    를 더 포함하는, 신용 기반 다중경로 데이터 수신 방법.
  10. 제7항에 있어서,
    상기 신용 패킷은 수신 장치의 식별 정보 및 상기 전송 장치의 식별 정보와 함께 상기 전송 장치에게 전송되는, 신용 기반 다중경로 데이터 수신 방법.
  11. 제7항에 있어서,
    상기 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고,
    상기 신용 기반 다중경로 데이터 수신 방법은,
    상기 데이터 패킷과 함께, 상기 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 상기 데이터 패킷이 경유한 스위치의 식별 정보를 수신하는 단계; 및
    상기 데이터 패킷이 경유한 스위치의 식별 정보에 기초하여, 상기 전송 장치와 통신이 가능한 모든 경로 중 상기 데이터 패킷이 경유한 상기 제1 경로를 특정하는 단계를 더 포함하고,
    상기 소정의 시간이 지난 이후, 상기 신용 패킷은, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 특정된 제1 경로를 통해서만 소정의 속도로 전송되는, 신용 기반 다중경로 데이터 수신 방법.
  12. 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 장치로서,
    수신 장치와 통신했던 히스토리에 기초하여, 상기 수신 장치와 통신이 가능한 모든 경로 중 가장 최근에 상기 수신 장치와 통신했던 경로를 통하여, 상기 수신 장치에게 신용 요청 패킷을 전송하는 통신부; 및
    상기 신용 요청 패킷에 대한 응답으로, 상기 수신 장치로부터, 상기 수신 장치와 통신이 가능한 모든 경로 중, 경로별 수용 가능한 대역폭과 무관하게, 상기 신용 요청 패킷을 전송한 이후의 경로별 최초 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제1 경로를 결정하는 제어부를 포함하고 - 상기 경로별 수용 가능한 대역폭은 상기 경로별 상기 수신 장치에게 전송할 수 있는 데이터 패킷의 양에 대응됨 -,
    상기 통신부는,
    상기 수신 장치로부터 상기 제1 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제1 경로를 통해 상기 수신 장치에게 데이터 패킷을 전송하고 - 상기 제1 경로를 통해 수신한 상기 신용 패킷과 상기 제1 경로를 통해 상기 수신 장치에게 전송된 상기 데이터 패킷은 일대일 대응됨 -,
    상기 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 상기 수신 장치에게 신용 중지 패킷을 전송하는 - 상기 신용 중지 패킷은 가장 최근에 수신한 신용 패킷이 경유한 경로를 통해 전송됨 -, 신용 기반 다중경로 데이터 전송 장치.
  13. 제12항에 있어서,
    상기 전송할 잔여 데이터 패킷이 존재하지 않는 경우, 상기 적어도 하나의 제1 경로를 통해 수신되는 신용 패킷은 드랍되는, 신용 기반 다중경로 데이터 전송 장치.
  14. 제12항에 있어서,
    상기 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상이면, 상기 제1 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제1 경로를 통해 상기 수신 장치에게 데이터 패킷이 전송되는, 신용 기반 다중경로 데이터 전송 장치.
  15. 제12항에 있어서,
    상기 통신부는,
    상기 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 상기 수신 장치에게 경로 재설정 패킷을 전송하고,
    상기 제어부는,
    상기 경로 재설정 패킷에 대한 응답으로, 상기 수신 장치로부터, 상기 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제2 경로를 결정하고,
    상기 통신부는,
    상기 수신 장치로부터 상기 제2 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제2 경로를 통해 상기 수신 장치에게 데이터 패킷을 전송하고 - 상기 제2 경로를 통해 수신한 상기 신용 패킷과 상기 제2 경로를 통해 상기 수신 장치에게 전송된 상기 데이터 패킷은 일대일 대응됨 -,
    상기 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 상기 수신 장치에게 신용 중지 패킷을 전송하는, 신용 기반 다중경로 데이터 전송 장치.
  16. 제12항에 있어서,
    상기 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고,
    상기 통신부는,
    상기 신용 패킷과 함께, 상기 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 상기 신용 패킷이 경유한 스위치의 식별 정보를 수신하고,
    상기 제어부는,
    상기 신용 패킷이 경유한 스위치의 식별 정보에 기초하여, 상기 수신 장치와 통신이 가능한 모든 경로 중 상기 신용 패킷이 경유한 상기 제1 경로를 특정하고,
    상기 데이터 패킷은 상기 특정된 제1 경로를 통해 전송되는, 신용 기반 다중경로 데이터 전송 장치.
  17. 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 수신 장치로서,
    전송 장치와 통신이 가능한 모든 경로 중 가장 최근에 상기 전송 장치와 통신했던 경로를 통하여, 상기 전송 장치로부터, 신용 요청 패킷을 수신하고,
    상기 신용 요청 패킷에 응답하여, 상기 전송 장치에게, 상기 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하고,
    상기 전송 장치로부터, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해, 데이터 패킷을 수신하고 -
    상기 제1 경로는, 상기 전송 장치와 통신이 가능한 모든 경로 중에서, 경로별 수용 가능한 대역폭과 무관하게, 상기 신용 요청 패킷을 수신한 이후의 경로별 최초 신용 패킷이 상기 전송 장치에게 가장 먼저 도달한 순서로 결정된 경로이고,
    상기 경로별 수용 가능한 대역폭은 상기 경로별 상기 전송 장치로부터 수신할 수 있는 데이터 패킷의 양에 대응되고,
    상기 제1 경로를 통해 수신한 상기 데이터 패킷은 상기 제1 경로를 통해 상기 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -,
    상기 소정의 시간이 지난 이후, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 데이터 패킷이 수신된 상기 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 통신부; 및
    상기 전송 장치로부터 신용 중지 패킷을 수신하는 경우, 신용 패킷의 전송을 중단하는 제어부 - 상기 신용 중지 패킷은 가장 최근에 전송된 신용 패킷이 경유한 경로를 통해 수신됨 -
    를 포함하는, 신용 기반 다중경로 데이터 수신 장치.
  18. 제17항에 있어서,
    상기 데이터 패킷이 수신되는 상기 적어도 하나의 제1 경로의 개수가 임계값이 되면, 상기 소정의 시간이 지나기 이전이라도, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷이 전송되는, 신용 기반 다중경로 데이터 수신 장치.
  19. 제17항에 있어서,
    상기 통신부는,
    상기 전송 장치로부터, 경로 재설정 패킷을 수신하고,
    상기 경로 재설정 패킷에 응답하여, 상기 전송 장치에게, 상기 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하고,
    상기 전송 장치로부터, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해, 데이터 패킷을 수신하고 - 상기 제2 경로를 통해 수신한 상기 데이터 패킷은 상기 제2 경로를 통해 상기 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -, 및
    상기 소정의 시간이 지난 이후, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 적어도 하나의 제2 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는, 신용 기반 다중경로 데이터 수신 장치.
  20. 제17항에 있어서,
    상기 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고,
    상기 통신부는,
    상기 데이터 패킷과 함께, 상기 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 상기 데이터 패킷이 경유한 스위치의 식별 정보를 수신하고,
    상기 제어부는,
    상기 데이터 패킷이 경유한 스위치의 식별 정보에 기초하여, 상기 전송 장치와 통신이 가능한 모든 경로 중 상기 데이터 패킷이 경유한 상기 제1 경로를 특정하고,
    상기 소정의 시간이 지난 이후, 상기 신용 패킷은, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 특정된 제1 경로를 통해서만 소정의 속도로 전송되는, 신용 기반 다중경로 데이터 수신 장치.
KR1020180108093A 2018-09-11 2018-09-11 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법 KR101932138B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180108093A KR101932138B1 (ko) 2018-09-11 2018-09-11 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법
PCT/KR2019/011805 WO2020055149A1 (ko) 2018-09-11 2019-09-11 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180108093A KR101932138B1 (ko) 2018-09-11 2018-09-11 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법

Publications (1)

Publication Number Publication Date
KR101932138B1 true KR101932138B1 (ko) 2018-12-24

Family

ID=65010095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180108093A KR101932138B1 (ko) 2018-09-11 2018-09-11 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법

Country Status (2)

Country Link
KR (1) KR101932138B1 (ko)
WO (1) WO2020055149A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385223A (zh) * 2018-12-28 2020-07-07 阿里巴巴集团控股有限公司 流控方法、设备、系统及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437019B (zh) * 2020-11-30 2022-01-25 中国人民解放军国防科技大学 用于数据中心的基于信用包的主动型传输方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030200463A1 (en) * 2002-04-23 2003-10-23 Mccabe Alan Jason Inter-autonomous system weighstation
US9231888B2 (en) * 2012-05-11 2016-01-05 Oracle International Corporation System and method for routing traffic between distinct InfiniBand subnets based on source routing
KR20160115050A (ko) * 2015-03-25 2016-10-06 한국전자통신연구원 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법
KR102352514B1 (ko) * 2017-01-26 2022-01-19 삼성전자주식회사 다중 경로 전송 시스템의 데이터 전송 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
조인호 외 2인. Credit-Scheduled Delay-Bounded Congestion Control for Datacenters, 2017년 8월*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385223A (zh) * 2018-12-28 2020-07-07 阿里巴巴集团控股有限公司 流控方法、设备、系统及存储介质
CN111385223B (zh) * 2018-12-28 2023-08-15 阿里巴巴集团控股有限公司 流控方法、设备、系统及存储介质

Also Published As

Publication number Publication date
WO2020055149A1 (ko) 2020-03-19

Similar Documents

Publication Publication Date Title
US11706149B2 (en) Packet sending method, network node, and system
US9185047B2 (en) Hierarchical profiled scheduling and shaping
US11394646B2 (en) Packet sending method, network node, and system
KR100875739B1 (ko) Ip 네트워크 시스템에서의 패킷 버퍼 관리 장치 및 방법
TWI353148B (en) Systems and methods for adaptive throughput manage
EP2667553B1 (en) Packet processing method, device and system
US20190109787A1 (en) Method for transmitting data streams, and device
CN106953797B (zh) 一种基于动态连接的rdma数据传输的方法与装置
US20170201459A1 (en) Traffic control on an on-chip network
CN108965121B (zh) 传输数据的方法、主机和交换机
KR101932138B1 (ko) 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
JP5738324B2 (ja) 送信装置、通信装置、通信システムおよび送信方法
KR20180013174A (ko) 무선 통신 시스템에서 데이터의 전송 방법 및 장치
JP2023511889A (ja) サービスレベル構成方法および装置
CN112737940A (zh) 一种数据传输的方法和装置
Halepoto et al. Management of buffer space for the concurrent multipath transfer over dissimilar paths
KR101458436B1 (ko) 데이터 전송 방법 및 이를 적용한 주식 체결 시스템
CN116318554A (zh) 网络传输方法及装置
CN113839884B (zh) 流量控制方法和装置
EP2782302A1 (en) System, relay device, method, and program
Nithin et al. Efficient load balancing for multicast traffic in data center networks using SDN
US20170373982A1 (en) System and method for mtu size reduction in a packet network
CN108924066B (zh) 报文转发方法和装置
CN107483334B (zh) 一种报文转发的方法及装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant