KR102548926B1 - 가상 네트워크 기능 조율 방법 및 그 장치 - Google Patents

가상 네트워크 기능 조율 방법 및 그 장치 Download PDF

Info

Publication number
KR102548926B1
KR102548926B1 KR1020210083453A KR20210083453A KR102548926B1 KR 102548926 B1 KR102548926 B1 KR 102548926B1 KR 1020210083453 A KR1020210083453 A KR 1020210083453A KR 20210083453 A KR20210083453 A KR 20210083453A KR 102548926 B1 KR102548926 B1 KR 102548926B1
Authority
KR
South Korea
Prior art keywords
network
flows
vnf
mapping
flow
Prior art date
Application number
KR1020210083453A
Other languages
English (en)
Other versions
KR20230006654A (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 KR1020210083453A priority Critical patent/KR102548926B1/ko
Publication of KR20230006654A publication Critical patent/KR20230006654A/ko
Application granted granted Critical
Publication of KR102548926B1 publication Critical patent/KR102548926B1/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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2491Mapping quality of service [QoS] requirements between different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

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

Abstract

실시예들에 따른 가상 네트워크 기능 조율 방법은 복수의 네트워크 플로우(network flow)들을 수신하는 단계; 복수의 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계; 복수의 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기초하여 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능 노드(Virtualized Network Function Node)들에 매핑(mapping)하는 단계; 를 포함할 수 있다.

Description

가상 네트워크 기능 조율 방법 및 그 장치 {METHOD FOR COORDINATION VIRTUAL NETWORK FUNCTION AND APPARATUS FOR THE SAME}
본 개시는 네트워크 기능 가상화(Network Function Virtualization)와 관련하여 가상 네트워크 기능(들)을 조율하는 방법 및 그 장치에 관한 것이다.
네트워크 기능 가상화 (NFV, Network Function Virtualization)는 상용화된 서버의 가상화 플랫폼에서 가상화된 네트워크 기능 (Virtualized Network Functions, VNFs)를 동적으로 생성한다. 따라서 VNF 별로 트래픽의 특성에 맞게 서비스를 하여 트래픽 플로우의 QoS 만족도를 높일 수 있다.
한편, 영상 정보는 그 전송속도와 긴급 정도가 다양하기 때문에 각 영상 정보 마다 다양한 시간지연의 요구사항을 가진다. 또한, VNF 또한 영상 정보를 수집하는 장치와 물리적으로 떨어져 있을 수 있기 때문에, 영상정보가 어떤 VNF의 서비스를 받느냐에 따라 QoS 요구사항이 만족된 영상정보 전송량이 달라질 수 있다. 그렇기에 영상정보가 CCTV의 위치에서 VNF까지, VNF에서 목적지까지 이동하는데 소요되는 시간과, VNF에서 서비스 받는 시간을 분석하여 각 플로우의 총 시간지연이 시간지연 요구사항을 만족시키는 VNF로 서비스를 받도록 조율하는 것이 필요하다.
본 실시 예가 해결하고자 하는 과제는 트래픽의 플로우의 품질을 향상시키는 것이다. 구체적으로 본 실시예들은 가상 네트워크 기능(들)을 조율하기 위해 탐욕 네트워크 기능 가상화 조율 알고리즘을 이용할 수 있다.
상술한 문제점을 해결하기 위하여 실시예들에 따른 가상 네트워크 기능 조율 방법은, 네트워크 플로우(network flow)들을 수신하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계; 및 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualization Network Function, VNF) 노드에 매핑(mapping)하는 단계; 를 포함할 수 있다.
실시예들에 따른 정렬하는 단계는 각 네트워크 플로우의 상기 전송 속도 및 상기 지연 요구사항을 곱한 결과에 기초하여 상기 네트워크 플로우들을 정렬할 수 있다.
실시예들에 따른 매핑하는 단계는 상기 정렬된 네트워크 플로우들의 지연 요구사항을 탐색하여 적어도 하나의 네트워크 플로우를 적어도 하나의 VNF 노드에 초기 매핑하는 단계; 및 상기 복수의 VNF 노드들을 탐색하여 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 재배열하는 단계; 를 포함할 수 있다.
더 나아가 실시예들에 따른 초기 매핑하는 단계는 상기 정렬된 네트워크 플로우들을 정렬된 순서로 순차적으로 탐색하여 각 VNF 노드를 매핑할 수 있다.
또한 실시예들에 따른 재배열하는 단계는 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 정렬된 순서의 역순으로 각 네트워크 플로우를 재배열하고, 상기 재배열하는 단계는 상기 복수의 VNF 노드들을 순차적으로 탐색할 수 있다.
더 나아가 실시예들에 따른 매핑하는 단계는 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 제2플로우를 교체하는 제1교체 단계를 포함할 수 있다.
나아가 실시예들에 따른 매핑하는 단계는 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 플로우들 중 둘 이상의 플로우들을 교체하는 제2교체 단계를 포함할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위해 전송률(rate) 및 지연 요구 시간(delay)을 곱한 결과에 기초하여 네트워크 플로우들을 정렬함으로써 지연 요구 시간의 만족과 네트워크의 전송률을 모두 최적화할 수 있는 매핑 방법을 제시할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 제1보완 단계 및 제2보완 단계를 수행함으로써 특정 VNF 노드에 편중되어 네트워크 플로우들이 매핑되는 현상을 방지하고 균형 있게 매핑이 수행되도록 도울 수 있어 효율적인 트래픽 관리를 도모할 수 있는 효과를 제공할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 탐욕 방법(Greedy Method)에 기반한 알고리즘을 이용하는 최적화된 매핑 방법을 제공함으로써 네트워크 플로우들의 지연 요구 사항을 만족함과 동시에 각 네트워크 플로우들을 차별 수신 또는 응답하는 현상을 방지할 수 있다.
도 1은 실시예들에 따른 전자 장치를 나타낸다.
도 2는 실시예들에 따른 전자 장치가 가상 네트워크 기능을 조율하는 방법을 나타낸다.
도 3은 실시예들에 따른 전자 장치가 가상 네트워크 기능을 조율하는 방법을 나타낸다.
도 4는 실시예들에 따른 전자 장치가 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtual Network Function, VNF) 노드(node)들에 매핑(mapping)하는 방법을 나타낸다.
도 5는 실시예들에 따른 전자 장치가 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들에 매핑하는 방법의 다른 예시를 나타내는 흐름도이다.
도 6은 실시예들에 따른 가상 네트워크 기능 조율 방법의 수행 결과를 분석한 것을 나타낸다.
도 7은 실시예들에 따른 가상 네트워크 기능 조율 방법의 예시를 나타낸다.
도 8은 실시예들에 따른 가상 네트워크 기능 조율 방법의 예시를 나타낸다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, 및 c 모두'를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.
도 1은 실시예들에 따른 전자 장치를 나타낸다.
전자 장치(100)는 프로세서(110), 트랜시버(120) 및 저장부(130)를 포함한다. 도 1에 도시된 전자 장치(100)에는 본 실시예들과 관련된 구성요소들만이 도시되어 있다. 따라서, 전자 장치(100)에는 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다.
네트워크 기능은 예를 들어, 데이터 트래픽이 네트워크 상에서 목적지로 가는 과정에서 경유하는 네트워크 기능의 서비스를 의미할 수 있다. 예를 들어, 가상 네트워크 기능은 트래픽이 목적지에 도달했을 때, 트래픽을 검증하는 방화벽, 정확한 주소로 전달하기 위해 IP주소를 찾아주는 NAT(Network Address Translator) 등을 포함할 수 있다. 한편, 물리적인 네트워크 기능은 대용량 서버에 특정 기능을 제공하나, 동시에 여러 네트워크 트래픽이 서비스를 받기 위해 네트워크 기능에 유입될 경우, 당장 서비스를 받지 못하는 트래픽을 기다리게 하여 해당 트래픽의 지연 요구 사항(QoS 등)을 만족시키지 못할 수 있다. 따라서, 네트워크 기능은 상용화된 서버의 가상화 플랫폼에서 동적으로 생성할 수 있고, 동적으로 생성된 네트워크 기능은 가상화된 네트워크 기능(Virtualized Network Functions, VNFs)으로 이해될 수 있다. 실시예들에 따른 가상 네트워크 기능들은 네트워크 트래픽의 특성에 맞게 서비스를 하여 트래픽 플로우의 QoS 만족도를 높일 수 있다.
복수의 가상 네트워크 기능은 노드(node)의 형태로 하나의 서버 내에 존재할 수도 있고, 물리적으로 이격된 위치에 있는 외부 장치(들)에 분산되어 존재할 수도 있다. 실시예들에 따른 전자 장치(100)는 물리적으로 이격된 위치에 있는 외부 장치(들)로부터 복수의 네트워크 플로우들을 수신한다. 즉, 복수의 네트워크 플로우들은 외부 장치(들)가 수신할 수 있고, 복수의 네트워크 플로우들은 각 외부 장치에 포함된 가상 네트워크 기능 노드(들)을 경유하여 실시예들에 따른 전자 장치로 수신될 수 있다. 이 경우 실시예들에 따른 전자 장치(100)는 수신한 복수의 네트워크 플로우들을 외부 장치(들)의 복수의 가상 네트워크 기능 노드들로 매핑하여, 각 네트워크 플로우가 어떤 가상 네트워크 기능 노드들을 경유할지를 결정할 수 있다.
한편, 실시간으로 감시 정보를 수신하여 감시자에게 감시 정보를 제공하는 감시 시스템에서의 실시간 데이터인 영상정보들은 물리적으로 다양한 위치에 존재하는 감시 장치(예를 들어, CCTV)로부터 생성될 수 있다. 즉, 데이터 플로우는 다양한 위치에 존재하는 감시 장치에 의해 생성된 영상 데이터일 수 있다. 이러한 영상 데이터는 감시 장치의 위치, 전송 환경, 감시 데이터의 중요도, 및 긴급도 전송 속도 및 지연 요구 사항이 다양할 수 있다. 나아가, 감시 시스템에서 감시 정보를 전송하는 목적지에 전, 감시 데이터가 경유하는 가상 네트워크 기능 노드들 또한 물리적으로 떨어져 있을 수 있다. 예를 들어, 감시 정보는 목적지에 도착하기까지 소요되는 지연 요구 시간(delay), 긴급도에 기초한 지연 요구 시간(delay)을 가질 수 있으며, 어느 가상 네트워크 기능 노드의 서비스를 받느냐에 따라 QoS 요구사항이 만족된 영상 정보 전송량이 달라질 수 있다. 그렇기에 영상정보가 CCTV의 위치에서 VNF까지, VNF에서 목적지까지 이동하는데 소요되는 시간과, VNF에서 서비스 받는 시간을 분석하여 각 플로우의 총 시간지연이 시간지연 요구사항을 만족시키는 VNF로 서비스를 받도록 조율하는 것이 필요하다. 또한 VNF를 동적으로 생성하는 과정에서 전체 플로우가 100% QoS 만족이 되었을 때, 자원 낭비를 방지하기 위해 VNF를 추가적으로 생성하지 않도록 하는 것이 필요하다.
따라서, 전자 장치(100)는 가상 네트워크 기능 노드들을 조율할 수 있다. 구체적으로, 전자 장치(100)는 데이터의 소스(source)로부터 수신하는 네트워크 플로우(flow)들을 실시예들에 따른 서버가 수신하기 위해 경유하는 복수의 가상 네트워크 기능(Virtual Network Function, VNF)들을 매핑할 수 있다. 전자 장치(100)는 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위한 매핑 알고리즘을 수행할 수 있다. 전자 장치(100)는 매핑 알고리즘에 의해 네트워크 플로우들 및 복수의 가상 네트워크 기능들 간의 매핑 정보를 각 가상 네트워크 기능들로 전달할 수 있다.
실시예들에 따른 전자 장치(100)는 복수의 네트워크 플로우들을 수신하는 서버일 수 있고, 이 경우 전자 장치(100)는 복수의 가상 네트워크 기능 노드(node)들을 포함할 수 있다. 즉, 전자 장치(100)는 복수의 네트워크 플로우들을 직접 수신할 수 있고 수신한 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들로 매핑하여, 각 네트워크 플로우가 어떤 가상 네트워크 기능들을 경유할지를 결정할 수 있다.
프로세서(110)는 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위한 매핑 알고리즘을 수행하는 역할을 할 수 있다. 예를 들어, 프로세서(110)는 전자 장치(100) 내의 메모리(130)에 저장된 알고리즘과 관련된 프로그램들을 실행함으로써, 전자 장치(100)를 전반적으로 제어한다. 프로세서(110)는 전자 장치(100) 내에 구비된 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.
실시예들에 따르면, 프로세서(110)는 네트워크 플로우(network flow)들을 수신하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계; 및 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상화된 네트워크 기능(가상 네트워크 기능, Virtualized Network Function, VNF) 노드에 매핑(mapping)하는 단계; 중 적어도 하나를 수행할 수 있다.
트랜시버(120)는 실시예들에 따른 복수의 네트워크 플로우들을 수신할 수 있다.
저장부(130)는 전자 장치(100) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 저장부(130)는 전자 장치(100)에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 또한, 저장부(130)는 전자 장치(100)에 의해 구동될 애플리케이션들, 드라이버들 등을 저장할 수 있다. 저장부(130)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
실시예들에 따른 전자 장치(100)는 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들로 매핑하는 매핑 알고리즘을 수행할 수 있다. 전자 장치(100)는 각 네트워크 플로우들에 대한 전송률(rate), 데이터 트래픽의 서비스 요구 사항(예를 들어, QoS, 지연 요구 시간(delay) 등), 각 네트워크 플로우에 대한 고유 정보(예를 들어, 출발 IP 주소 등) 중 적어도 하나를 확인할 수 있다. 전자 장치(100)는 확인된 각 네트워크 플로우들에 대한 전송률(rate) 및 지연 요구 시간(delay)를 확인할 수 있다. 전자 장치(100)는 각 네트워크 플로우들에 대한 전송률 및 지연 요구 시간에 기초하여 각 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들로 매핑하기 위한 최적의 조율 방법을 계산한다.
실시예들에 따른 전자 장치(100)는, 네트워크 플로우(network flow)들을 수신할 수 있고, 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬할 수 있고, 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualized Network Function, VNF) 노드(node)들에 매핑(mapping)할 수 있다.
도 2는 실시예들에 따른 전자 장치가 가상 네트워크 기능을 조율하는 방법을 나타낸다.
도 2에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 1의 전자 장치(100)에서 수행될 수 있다.
실시예들에 따른 전자 장치는 복수의 네트워크 플로우들(200)에 대한 정보를 확인할 수 있다. 전자 장치는 각 네트워크 플로우의 전송 속도 및 지연 요구 사항을 확인할 수 있다. 전자 장치는 각 네트워크 플로우 별로 전송 속도 및 지연 요구 사항을 확인하여 네트워크 플로우 별로 저장할 수 있다.
실시예들에 따른 전자 장치는 전자 장치가 수신할 네트워크 플로우(200)들이 경유할 복수의 가상 네트워크 기능 노드들(201)에 대한 정보를 저장할 수 있다. 가상 네트워크 기능 노드에 대한 정보는 예를 들어, 해당 가상 네트워크 기능 노드가 수용할 수 있는 지연 요구 사항의 한도를 나타내는 정보 또는 전송률에 대한 한도 정보를 포함할 수 있다.
실시예들에 따른 전자 장치는 실시예들에 따른 매핑 알고리즘(202)에 기초하여 각 네트워크 플로우(200)가 경유할 가상 네트워크 기능 노드들(201)을 선택하여, 복수의 네트워크 플로우들(200) 및 가상 네트워크 기능 노드들(201) 매핑(mapping)한다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.
도 3은 실시예들에 따른 전자 장치가 가상 네트워크 기능을 조율하는 방법을 나타낸다.
도 3에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 1 내지 도 2의 전자 장치(100)에서 수행될 수 있다. 도 3에서 설명하는 가상 네트워크 기능을 조율하는 방법은 도 2에 나타난 매핑 알고리즘(202)에 기초하여 수행될 수 있으며, 도 3은 매핑 알고리즘(202)에 의해 네트워크 플로우(300)들과 가상 네트워크 기능(301)들이 매핑(300b)되는 것을 나타낸다.
도 3을 참조하면, 복수의 네트워크 플로우(300)들은 복수의 가상 네트워크 기능 노드(301)들과 매핑될 수 있다. 실시예들에 따른 전자 장치는 복수의 네트워크 플로우(300)들이 도착 서버(destination, 302)로 데이터가 전송되는 과정에서, 각 네트워크 플로우(300)들의 지연 요구 시간(delay) (예를 들어, QoS)이 최대한 만족될 필요가 있으며, 각 네트워크 플로우(300)들의 전송률(전송량)(rate)가 최대가 되도록 각 네트워크 플로우(300)들을 적절히 가상 네트워크 기능 노드(301)들에 매핑할 필요가 있다.
300 내지 302는 |I| 개의 네트워크 플로우(300)들이 |J| 개의 가상 네트워크 기능 노드(301)들을 경유하여 도착 서버(302)로 전송되기 위하여, 복수의 네트워크 플로우(300)들 및 복수의 가상 네트워크 기능 노드(301)들을 매핑한 것을 나타낸다.
300 내지 302를 참조하면, 실시예들에 따른 전자 장치는 |I| 개의 네트워크 플로우(300)들과 |J| 개의 가상 네트워크 기능 노드(301)들을 매핑(300b)하는 매핑 알고리즘을 수행한다. 각 네트워크 플로우(300)는 하나의 가상 네트워크 기능 노드(301)에 매핑될 수 있으며, 반대로 각 네트워크 기능 노드(301)는 하나 또는 그 이상의 네트워크 플로우(300)들과 매핑될 수 있다.
각 네트워크 플로우(300)는 각기 다른 출처(Source)의 감시 장치 등으로부터 생성된 데이터일 수 있고, 각 네트워크 플로우는 각기 다른 지연 요구 시간(delay) (예를 들어, QoS와 같은 지연 요구 시간,
Figure 112021073836329-pat00001
)과 전송 속도(전송률,
Figure 112021073836329-pat00002
)를 가질 수 있다.
네트워크 플로우(300)는, 네트워크 플로우의 출처로부터 가상 네트워크 기능 노드(301)로 이동할 때 전파 지연(Propagation delay)이 발생할 수 있다. 전파 지연이란 신호가 목적지에 도달하는 데 걸리는 시간을 의미할 수 있으며, 네트워크 환경, 출처로부터 가상 네트워크 기능 노드가 소재하는 위치까지의 이격 거리 등에 따라 다양하게 변화할 수 있다.
각 가상 네트워크 기능 노드(301)는 수신한 네트워크 플로우를 처리하고 도착 서버(302)로 전송하는데 시간 즉, 시스템 내에서 발생하는 지연이 있을 수 있다. 분산된 VNF 의 집합을
Figure 112021073836329-pat00003
라 했을 때, J에 속하는 VNF j 에서의 시스템 내에서 발생하는 지연은 아래 수학식 1과 같이 나타낼 수 있다. 하기 수학식 1은 예를 들어, M/D/1 queueing 모델의 지연식을 사용한 수학식일 수 있다. 여기서,
Figure 112021073836329-pat00004
는 VNF j 내 유입된 네트워크 플로우(들)의 전송 속도(전송률)를 합산한 값을 나타낼 수 있으며,
Figure 112021073836329-pat00005
는 VNF j 의 처리율을 나타낼 수 있다.
Figure 112021073836329-pat00006
Figure 112021073836329-pat00007
보다 작아야 한다.
Figure 112021073836329-pat00008
따라서, 전체 시스템 내의 지연 시간은, 네트워크 플로우(300)가 출처로부터 매핑된 가상 네트워크 기능(301)으로 이동하는 시간(300b), 매핑된 가상 네트워크 기능(301)에서 해당 네트워크 플로우(300)를 처리하는데 걸리는 시간 및 네트워크 플로우(300)가 매핑된 가상 네트워크 기능(301)으로부터 도착 서버(302)까지 이동하는 시간(301a)을 합산함으로써 계산될 수 있다. 즉, 네트워크 플로우(300)들의 집합을
Figure 112021073836329-pat00009
라 했을 때, 하기 수학식 2는 집합 I에 속하는 플로우 i가 VNFj 에 매핑되었을 경우 전체 시스템 내의 지연 시간을 나타낸다. 즉, 전체 시스템 내의 지연 시간은 네트워크 플로우 i 가 플로우의 출처 i 에서 VNF j까지 이동하는데 소요되는 전파지연
Figure 112021073836329-pat00010
, VNF j 에서의 시스템 내에서 발생하는 지연
Figure 112021073836329-pat00011
, VNF j 에서 도착 서버(302)까지 네트워크 플로우가 이동하는데 소요되는 전파지연
Figure 112021073836329-pat00012
(301a) 의 합으로 구성될 수 있다.
Figure 112021073836329-pat00013
실시예들에 따른 전자 장치는 [수학식 1] 및 [수학식 2]에 의해 계산된 전체 시스템 내의 지연 시간을 계산함으로써, 각 네트워크 플로우의 지연 요구 시간(delay)이 만족됨과 동시에 각 VNF의 서비스를 받는 네트워크 플로우의 총 전송률(rate)의 합이 최대가 되도록 네트워크 플로우(300)들과 가상 네트워크 기능 노드(301)들을 매핑할 수 있다. 예를 들어, 실시예들에 따른 전자 장치는 아래 [수학식 3]에 나타난 수학식을 이용하여 네트워크 플로우(300)들과 가상 네트워크 기능 노드(301)들을 매핑할 수 있다.
Figure 112021073836329-pat00014
여기서, 네트워크 플로우 i 가 VNF j 에서 수신하여 해당 가상 네트워크 기능의 서비스를 받는 경우, 즉 네트워크 플로우 i 가 VNF j 에 매핑되었을 경우
Figure 112021073836329-pat00015
는 1의 값을 가지며, 매핑되지 않은 경우 0의 값을 가진다. 또한, 예를 들어 한 플로우는 1개의 VNF를 통해서만 서비스 받을 수 있고, 시간지연 요구사항을 만족시키는 VNF가 없을 경우, VNF의 서비스를 받을 수 없다. 이를
Figure 112021073836329-pat00016
과 같이 나타낼 수 있다.
실시예들에 따른 전자 장치는 [수학식 1] 내지 [수학식 3]을 이용하여 네트워크 플로우(300)들과 가상 네트워크 기능 노드(301)들을 매핑할 수 있으며, 매핑을 위한 알고리즘을 수행할 수 있다.
예를 들어, 303a 내지 303b를 참조하면 실시예들에 따른 전자 장치는 303a 또는 303b와 같이 네트워크 플로우(300)들과 가상 네트워크 기능 노드(301)들을 매핑한 경우, 각 매핑에 기초하여 전체 시스템 내의 지연 시간을 계산할 수 있다. 실시예들에 따른 전자 장치는 각 매핑한 경우에 수의 전체 시스템 내의 지연 시간을 계산할 수 있고, 이들 중 전체 시스템 내의 지연 시간이 가장 적은 매핑 방법을 선택할 수 있다. 또한, 각 가상 네트워크 기능 노드들이 수신하는 네트워크 플로우의 지연 요구 시간의 합이 해당 가상 네트워크 기능 노드로 수신되는 특정 플로우의 지연 요구시간보다 클 경우(예를 들어, 303a의 경우), 해당 네트워크 플로우를 다른 가상네트워크 기능 노드에 매핑할 수 있다(예를 들어, 303b의 경우).
한편, 네트워크 플로우의 수 및 가상 네트워크 기능 노드의 수가 많아질 경우 실시예들에 따른 전자 장치의 연산 처리량은 급격하게 증가할 수 있어 불필요한 처리 지연이 발생할 수 있어 효율적이지 못하다. 따라서 본 발명은 전자 장치가 네트워크 플로우들 및 가상 네트워크 기능 노드들을 효율적으로 매핑하기 위하여, Multiple Knapsack Problem(MKP)을 해결하기 위한 탐욕 기법(Greedy Method) (예를 들어, Martello & Toth Heuristic Method (MTHM) 등)에 기반한 매핑 알고리즘을 도 4 내지 도 6에서 자세히 설명한다.
도 4는 실시예들에 따른 전자 장치가 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtual Network Function, VNF) 노드(node)들에 매핑(mapping)하는 방법을 나타낸다.
구체적으로, 도 4는 전자 장치가 네트워크 플로우들 및 가상 네트워크 기능 노드들을 효율적으로 매핑하기 위한 매핑 알고리즘의 예시를 나타낸다. 매핑 알고리즘은 예를 들어, 40에 나타난 예시 동작에 따라 복수의 네트워크 플로우들(400a)을 정렬(400)할 수 있다.
먼저, 실시예들에 따른 전자 장치는 복수의 네트워크 플로우(400a)들에 대한 정보를 확인할 수 있다. 네트워크 플로우(400a)에 대한 정보는 예를 들어, 해당 네트워크 플로우들에 대한 전송률(또는 전송 속도, rate), 데이터 트래픽의 서비스 요구 사항(예를 들어, QoS와 같은 지연 요구 시간(delay) 등)를 포함할 수 있다.
한편, 복수의 네트워크 플로우들은 복수의 가상 네트워크 기능들의 수용 가능 정도 및 전송률을 모두 고려하여 복수의 가상 네트워크 기능들에 매핑할 필요가 있다. 즉, 특정 가상 네트워크 기능 노드에 집중하여 네트워크 플로우들이 매핑되지 않아야 하므로, 실시예들에 따른 전자 장치는 각 네트워크 플로우의 전송 속도 및 지연 요구 시간(delay)의 만족을 종합적으로 고려할 필요가 있다.
따라서 40를 참조하면, 실시예들에 따른 전자 장치는 각 네트워크 플로우의 전송 속도(rate) 정보 및 지연 요구 시간(delay) 정보를 확인하고, 이들을 곱한 결과(rate X delay)를 계산하고, 계산된 결과에 기초하여 복수의 네트워크 플로우(400a)들을 정렬(order)할 수 있다. 전자 장치는 계산된 결과를 내림차순 또는 오름차순으로 네트워크 플로우(400a)들을 정렬한다. 이하 도 4에서는 내림차순으로 정렬된 네트워크 플로우(400a)들을 순서대로 flow_1, flow_2, ???? , flow_|I|로 표기하고, flow_|I|의 전송 속도와 지연 요구 시간(delay)을 각각 rate_|I| 및 delay_|I|^req 라고 표기한다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위해 전송률(rate) 및 지연 요구 시간(delay)을 곱한 결과에 기초하여 네트워크 플로우들을 정렬함으로써 지연 요구 시간(delay)과 네트워크의 전송률을 모두 최적화할 수 있는 매핑 방법을 제시할 수 있다.
다음으로, 실시예들에 따른 전자 장치는 매핑 알고리즘에 기초하여 41에 나타난 예시 동작에 따라, 정렬된 복수의 네트워크 플로우들(400a) 및 복수의 가상 네트워크 기능(VNF) 노드들을 초기 매핑 단계(401), 재배열 단계(402), 제1보완 단계(403) 및 제2보완 단계(404) 중 적어도 하나를 수행할 수 있다.
초기 매핑 단계(401)는 상기 정렬된 네트워크 플로우들의 지연 요구사항을 탐색하여 적어도 하나의 네트워크 플로우를 적어도 하나의 VNF 노드에 초기 매핑하는 단계일 수 있다. 즉, 초기 매핑 단계(401)는 정렬된 복수의 네트워크 플로우들(400a) 및 복수의 가상 네트워크 기능(VNF) 노드들을 우선 매핑한다. 초기 매핑 단계(401)는 각 가상 네트워크 기능(VNF) 노드들을 순차적으로, 정렬된 복수의 네트워크 플로우들(400a)을 순차적으로 확인하여 적어도 하나의 네트워크 플로우를 각 가상 네트워크 기능(VNF) 노드들에 매핑한다. 초기 매핑 단계(401)는 확인되는 네트워크 플로우가, 특정 가상 네트워크 기능 노드에 매핑될 수 있는 경우(예를 들어, 가상 네트워크 기능 노드가 수용할 수 있는 지연 요구 시간이 해당 네트워크 플로우의 지연 요구 시간 등에 부합할 수 있는 경우) 탐욕적으로 매핑한다.
예를 들어, 초기 매핑 단계(401)는 먼저, 첫 번째 VNF 노드를 기준으로, 정렬된 네트워크 플로우들을 순차적으로(rate X delay의 결과가 큰 순서대로) 확인하면서 적어도 하나의 네트워크 플로우를 각 가상 네트워크 기능(VNF) 노드들에 매핑하기 위하여 탐욕적으로 매핑한다. 첫 번째 VNF에 대하여 매핑이 완료되면, 초기 매핑 단계(401)는 두 번째 VNF에 대하여 다시 정렬된 네트워크 플로우들 중 매핑이 이루어지지 않은 플로우들을 순차적으로 확인하여 각 가상 네트워크 기능(VNF) 노드들에 탐욕적으로 매핑한다. 이를 반복하여, 초기 매핑 단계(401)는 모든 VNF 노드들에 대하여 네트워크 플로우를 확인 및 매핑한다. 즉, 초기 매핑하는 단계는 상기 정렬된 네트워크 플로우들을 정렬된 순서로 순차적으로 탐색하여 각 VNF 노드를 매핑한다.
초기 매핑 단계(401)의 결과, 복수의 가상 네트워크 기능들 중 일부는 적어도 하나의 네트워크 플로우와 매핑될 수 있고, 일부는 어떠한 네트워크 플로우와도 매핑되지 않은 상태일 수 있다. 반대로 복수의 네트워크 플로우들 중 일부는 적어도 하나의 가상 네트워크 기능과 매핑될 수도 있지만, 일부는 아닐 수도 있다.
재배열 단계(402)는 복수의 VNF 노드들을 탐색하여 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 재배열하는 단계를 의미할 수 있다. 즉, 재배열 단계(402)는 초기 매핑 단계(401)에 의해 매핑이 이루어진 네트워크 플로우들을 추출하여, 추출된 네트워크 플로우들을 다시 복수의 가상 네트워크 기능 노드들에 매핑한다. 예를 들어, 초기 매핑 단계(401)에서 첫 번째 네트워크 플로우, 두 번째 네트워크 플로우 및 네 번째 네트워크 플로우가 가상 네트워크 기능 노드들로 매핑되었다면, 첫 번째 네트워크 플로우, 두 번째 네트워크 플로우 및 네 번째 네트워크 플로우를 다시 복수의 가상 네트워크 기능 노드들로 매핑한다.
구체적으로, 재배열 단계(402)는 40에 의해 정렬된 순서의 역순(즉, rate X delay의 결과가 작은 순서대로) 네트워크 플로우들을 확인함으로써 가상 네트워크 기능 노드들과 매핑할 수 있다. 각 네트워크 플로우는, 가상 네트워크 기능들을 순차적으로 탐색함으로써 가상 네트워크 기능 노드들과 매핑할 수 있다. 예를 들어, 재배열 단계(402)는 먼저, 추출된 네트워크 플로우들 중 마지막 네트워크 플로우 (즉, rate X delay의 결과가 가장 작은 네트워크 플로우)를 기준으로, 첫 번째 VNF 부터 마지막 VNF 노드를 탐색하여 매핑을 수행할 수 있다. 그 후, 재배열 단계(402)는 마지막에서 두 번째 네트워크 플로우를 기준으로, VNF 노드들 탐색하여 매핑을 수행할 수 있다. 두 번째 네트워크 플로우를 VNF 노드에 매핑할 경우, 처음으로 매핑 시 확인할 VNF 노드는 이전의 네트워크 플로우가 마지막으로 매핑한 VNF 노드의 다음 VNF 노드일 수 있다.
즉, 재배열하는 단계는 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 정렬된 순서의 역순으로 각 네트워크 플로우를 재배열하고, 상기 재배열하는 단계는 상기 복수의 VNF 노드들을 순차적으로 탐색한다.
제1보완 단계(403)는 복수의 VNF 노드들 중 제1 VNF 노드에 매핑된 제1플로우 및 복수의 VNF 노드들 중 제2 VNF 노드에 매핑된 플로우들 중 둘 이상의 플로우들을 교체하는 단계를 의미할 수 있다. 제1보완 단계(403)는 정렬된 네트워크 플로우들을 순차적으로 탐색하면서, VNF 노드들에 매핑된 플로우들끼리 교환 가능 여부 또는 교환 조건을 확인할 수 있다. 제1보완 단계(403)는 예를 들어, 시간지연 요구사항이 상대적으로 더 낮은 플로우가 교환되는 VNF에 추가적으로 새로운 플로우가 매핑가능할 경우 새로운 플로우를 매핑할 수 있다.
예를 들어, 제1보완 단계(403)는 복수의 VNF 노드들 중 네트워크 플로우(들)이 매핑된 결과 처리 시간(예를 들어, 네트워크 플로우의 처리 시간의 총 합)이 특정 시간보다 큰 제1VNF 노드를 선택할 수 있다. 제1보완 단계(403)는 선택된 제1VNF 노드 내에서 처리 시간(또는 지연 요구 시간)이 큰 적어도 하나의 네트워크 플로우를 확인할 수 있다. 제1보완 단계(403)는 복수의 VNF 노드들 중 네트워크 플로우의 매핑된 결과 처리 시간(예를 들어, 네트워크 플로우의 처리 시간의 총 합)이 낮은(예를 들어, 특정 기준보다 낮은) 제2VNF 노드를 선택할 수 있다. 제1보완 단계(403)는 선택된 제1VNF 노드 내에서 처리 시간(또는 지연 요구 시간)이 낮은 적어도 하나의 네트워크 플로우를 확인할 수 있다. 제1보완 단계(403)는 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 제2플로우를 교체할 수 있다. 교체하는 과정에서 제 1VNF 노드에 추가적인 제3의 플로우를 매핑하게 된다.
제2보완 단계(404)는 제1 VNF 노드에 매핑된 제1플로우를 상기 제1 VNF와 매핑되지 않은 플로우들 중 하나 이상의 플로우들로 교체하는 단계를 의미할 수 있다. 예를 들어, 제2보완 단계(404)는, 특정 VNF에 매핑된 특정 네트워크 플로우를 제외하였을 때, 그 대신에 매핑될 수 있는 다른 네트워크 플로우들의 합이 전보다 큰 경우 기존 매핑된 플로우를 매핑에서 해제하고 다른 네트워크 플로우들을 매핑할 수 있다.
예를 들어, 제2보완 단계(404)는 복수의 VNF 노드들 중 네트워크 플로우(들)이 매핑된 결과 처리 시간(예를 들어, 네트워크 플로우의 처리 시간의 총 합)이 특정 시간보다 큰 제1VNF 노드를 선택할 수 있다. 제 2보완 단계는(404)는 선택된 제1VNF 노드의 전송 속도의 값이 작거나 짧은 시간 내에 처리를 요구하는 플로우 대신 누적 전송속도 합이 큰 플로우 세트를 선택할 수 있다. 제2보완 단계(404)는 선택된 제1VNF 노드 내에서 처리 시간(또는 지연 요구 시간)이 낮은 하나 또는 그 이상의 네트워크 플로우들(제2세트의 네트워크 플로우 또는 하나의 네트워크 플로우)을 확인할 수 있다. 제1보완 단계(404)는 제1VNF 노드에서 선택된 적어도 하나의 네트워크 플로우를 제2VNF 노드에서 선택된 적어도 하나의 네트워크 플로우 (또는 제1 VNF와 매핑되지 않은 플로우들 중 하나 이상의 플로우) 와 교체할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 제1보완 단계 및 제2보완 단계를 수행함으로써 특정 VNF 노드에 편중되어 네트워크 플로우들이 매핑되는 현상을 방지하고 균형 있게 매핑이 수행되도록 도울 수 있어 효율적인 트래픽 관리를 도모할 수 있는 효과를 제공할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 탐욕 방법(Greedy Method)에 기반한 알고리즘을 이용하는 최적화된 매핑 방법을 제공함으로써 네트워크 플로우들의 지연 요구 사항을 만족함과 동시에 각 네트워크 플로우들을 차별 수신 또는 응답하는 현상을 방지할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 모든 경우의 수를 확인하여 네트워크 플로우들과 VNF 노드들을 매핑하는 알고리즘에 대비하여 신속하고 효과적인 매핑을 제공하는 효과를 제공한다.
도 5는 실시예들에 따른 전자 장치가 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들에 매핑하는 방법의 다른 예시를 나타내는 흐름도이다.
도 5에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 1 내지 도 4에 나타난 전자 장치 또는 가상 네트워크 기능 조율 장치에 의해 수행될 수 있다. 도 5는 전자 장치가 네트워크 플로우들 및 가상 네트워크 기능 노드들을 효율적으로 매핑하기 위한 매핑 알고리즘의 예시를 나타낸다. 구체적으로, 도 5는 실시예들에 따른 매핑 알고리즘의 수행 결과에 따른 가상 네트워크 기능 노드들 및 각 네트워크 플로우의 데이터 전송의 시간 지연을 분석하고, 각 네트워크 플로우들의 지연 요구 시간(delay)과 비교하여 VNF와 플로우를 매핑하는 방법을 나타낸다.
실시예들에 따른 전자 장치는 도 5에 나타난 500 단계 내지 507 단계 중 적어도 하나를 수행할 수 있다.
500 단계를 참조하면, 실시예들에 따른 전자 장치는 수신하는 네트워크 플로우들을 정렬할 수 있다. 전자 장치는 각 네트워크 플로우의 전송 속도(rate) 정보 및 지연 요구 시간(delay) 정보를 확인하고, 이들을 곱한 결과(rate X delay)에 따라 오름차순 또는 내림차순으로 수신하는 네트워크 플로우들을 정렬할 수 있다. 500 단계는 예를 들어, 40에 나타난 동작 일부 또는 전부를 의미할 수 있다.
501 단계를 참조하면, 실시예들에 따른 전자 장치는 많아도 모든 VNF 노드들의 수만큼 502 내지 507 단계를 수행하기 위하여 변수를 설정하는 단계를 의미할 수 있다. 전자 장치는 해당 반복 동작에 기초하여 탐색하기 위하여, 탐색하고자 하는 VNF 노드를 나타내는 변수를 1로 설정할 수 있다.
502 단계를 참조하면, 실시예들에 따른 전자 장치는 네트워크 플로우들과 VNF들을 매핑한 후 전체 시스템 내의 지연 시간을 측정하기 위하여 시간 측정을 시작할 수 있다.
503 단계를 참조하면, 실시예들에 따른 전자 장치는 매핑 알고리즘에 기초하여 네트워크 플로우들과 VNF들을 매핑할 수 있다. 실시예들에 따른 전자 장치는 503 단계에서, 41에서 설명한 동작들 일부 또는 전부를 수행할 수 있다. 503 단계는, 41에 나타난 초기 매핑 단계(401), 재배열 단계(402), 제1보완 단계(403) 및 제2보완 단계(404) 중 적어도 하나를 포함할 수 있다.
504 단계를 참조하면, 실시예들에 따른 전자 장치는 네트워크 플로우들과 VNF들을 매핑한 후 전체 시스템 내의 지연 시간을 측정하기 위하여 시간 측정을 종료할 수 있다.
505 단계를 참조하면, 실시예들에 따른 전자 장치는 복수의 네트워크 플로우들과 복수의 VNF 노드들이 매핑된 결과를 확인하고, 각 네트워크 플로우들이 도착 서버로 도착한 결과 지연 요구 시간(delay)들이 모두 부합되었는지 즉, QoS의 만족율이 100%인지 여부를 확인할 수 있다. 만약, 부합할 경우 실시예들에 따른 전자 장치는 최적의 매핑 방법을 제공하였으므로 가상 네트워크 기능 조율 방법을 종료할 수 있다.
만약 각 네트워크 플로우들이 도착 서버로 도착한 결과 지연 요구 시간(delay)들 중 부합하지 않은 네트워크 플로우가 있는 경우 (즉, QoS가 100%를 만족하지 못한 경우), 실시예들에 따른 전자 장치는 506 단계를 참조하여, 501 단계에서 설정한 변수의 값이 VNF의 최대 가용 개수에 도달하였는지 여부를 확인할 수 있다. 만약 501 단계에서 설정한 변수의 값이 VNF의 최대 가용 개수에 도달하지 않았을 경우 507 단계를 참조하여 해당 변수의 값을 1 증가시키고, 변수의 값이 VNF의 최대 가용 개수에 도달하였을 경우 가상 네트워크 기능 조율 방법을 종료한다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)들의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 탐욕 방법(Greedy Method)에 기반한 알고리즘을 이용하는 최적화된 매핑 방법을 제공함으로써 네트워크 플로우들의 지연 요구 사항을 만족함과 동시에 각 네트워크 플로우들을 차별 수신 또는 응답하는 현상을 방지할 수 있다.
도 6은 실시예들에 따른 가상 네트워크 기능 조율 방법의 수행 결과를 분석한 것을 나타낸다.
도 6은 실시예들에 따른 전자 장치가 도 5에 따른 매핑 알고리즘에 기초하여 매핑 동작을 수행한 결과를 나타낸다. 도 6에 나타난 결과들은, 실시예들에 따른 전자 장치가 매핑 알고리즘을 수행하여 매핑 동작을 수행하는 과정에서의 시간 지연(시간 복잡도), 전송률(전송 속도)를 나타낸다.
구체적으로, 도 6의 600 및 601은 매핑하고자 하는 가상 네트워크 기능들의 수 별로 매핑된 네트워크 플로우들의 평균적인 누적 전송 속도(average aggregate rate of mapped flows)를 나타낸 것이다.
600을 참조하면, 실시예들에 따른 매핑 알고리즘을 이용하여 VNF 및 네트워크 플로우를 매핑한 결과를 나타낸다. 구체적으로 600은 브루트 포스(Brute force) 방법에 기반한 매핑 시 평균적인 누적 전송 속도, 랜더마이제이션(Randomization) 방법에 기반한 매핑 시 평균적인 누적 전송 속도, 및 실시예들에 따른 매핑 알고리즘(Greed Virtualized Network Functions Coordination algorithm, GVNFCA)에 기반한 매핑 시 평균적인 누적 전송 속도를 각각 나타낸다. 브루트 포스 방법은, VNF 및 네트워크 플로우를 매핑하는 모든 경우의 수를 탐색하여 해당하는 경우를 선택하는 방법으로, 매핑을 수행하는데 시간은 걸리나 가장 최적의 매핑 방법을 탐색한다. 랜더마이제이션 방법은 무작위로 VNF 및 네트워크 플로우를 매핑하는 방법을 나타낸다. 600을 참조하면, 실시예들에 따른 매핑 알고리즘(GVNFCA)은 브루트 포스 방법에 따라 최적의 매핑 방법에 준하는 수준의 전송 속도의 향상을 보임을 확인할 수 있다.
601을 참조하면, VNF들의 수가 증가함에 따라 변화하는 평균적인 누적 전송 속도를 랜더마이제이션 방법과 실시예들에 따른 매핑 알고리즘(GVNFCA)을 비교하여 나타낸다. 601을 참조하면, 실시예들에 따른 매핑 알고리즘(GVNFCA)은 랜더마이제이션 방법에 따른 매핑 방법보다 우월한 성능을 보임을 확인할 수 있다.
한편, 도 6의 602 내지 604는 매핑하고자 하는 가상 네트워크 기능들의 수 별로 각 매핑 알고리즘을 수행하는데 걸리는 시간(시간복잡도)를 나타낸다.
602을 참조하면, 브루트 포스 방법은, VNF 및 네트워크 플로우를 매핑하는 모든 경우의 수를 탐색하여 해당하는 경우를 선택하는 방법으로, 가장 최적의 매핑 방법을 탐색하지만 VNF의 수가 증가함에 따라 매핑을 수행하는데 시간은 기하급수적으로 증가한다. 반면 랜더마이제이션 방법에 따른 매핑 방법과 실시예들에 따른 매핑 알고리즘(GVNFCA)은 그 수행 시간이 브루트 포스 방법에 비해 현저하게 짧음을 확인할 수 있다. 특히 VNF의 개수가 3개인 경우 무려 5시간 반 이상 소요되는 브루트 포스 방법에 비해, 매핑 알고리즘(GVNFCA)는 0시간에 가까운(1초 이내) 훨씬 짧은 수행 시간을 보여 현저한 효과를 확인할 수 있다.
603은 VNF 수 별 랜더마이제이션 방법에 따른 매핑 방법과 실시예들에 따른 매핑 알고리즘(GVNFCA)의 수행 시간을 나타낸다. 603을 참조하면, 랜더마이제이션 방법에 따른 매핑 방법은 무작위 순서로 매핑하므로 VNF의 수가 증가함에 따라 수행 시간은 일정하다. 반면, 실시예들에 따른 매핑 알고리즘(GVNFCA)은 VNF의 수가 증가함에 따라 선형적으로 수행 시간이 증가하나, VNF 개수가 10에서 랜더마이제이션 방법 및 실시예들에 따른 매핑 알고리즘(GVNFCA) 모두 0.05초 이내로 수행이 가능함을 확인할 수 있다.
604는, 실시예들에 따른 매핑 알고리즘을 수행한 결과, 지연 요구 시간(delay) 및 VNF의 수 별로 전송 속도의 향상을 나타낸다. 지연 요구 시간(delay)이 높은 경우에도 VNF의 수가 증가함에 따라 평균적인 누적 전송 속도가 향상되고 있음을 확인할 수 있다.
따라서, 실시예들에 따른 매핑 알고리즘을 수행하는 전자 장치는 무작위로 매핑하는 수준의 수행 시간으로도 최적의 매핑 방법을 제공할 수 있는 효과를 제공한다.
도 7은 실시예들에 따른 가상 네트워크 기능 조율 방법의 예시를 나타낸다.
도 7에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 1 내지 도 6에 나타난 전자 장치 또는 가상 네트워크 기능 조율 장치에 의해 수행될 수 있다.
도 7을 참조하면, 실시예들에 따른 전자 장치는 네트워크 플로우(network flow)들을 수신하는 단계(700), 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계(701), 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계(701), 및 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들에 매핑하는 단계(703) 중 적어도 하나를 포함할 수 있다.
실시예들에 따른 정렬하는 단계(701)는 각 네트워크 플로우의 상기 전송 속도 및 상기 지연 요구사항을 곱한 결과에 기초하여 상기 네트워크 플로우들을 정렬할 수 있다.
매핑하는 단계(703)는 도 2 내지 도 4에 나타난 동작들 일부 또는 전부를 수행할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우(네트워크 플로우)들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위해 전송률(rate) 및 지연 요구 시간(delay)을 곱한 결과에 기초하여 네트워크 플로우들을 정렬함으로써 지연 요구 시간(delay)과 네트워크의 전송률을 모두 최적화할 수 있는 매핑 방법을 제시할 수 있다.
도 8은 실시예들에 따른 가상 네트워크 기능 조율 방법의 예시를 나타낸다.
도 8에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 7의 가상 네트워크 기능 노드들에 매핑하는 단계(702)에서 수행될 수 있다.
도 8을 참조하면, 실시예들에 따른 매핑하는 단계(702)는 상기 정렬된 네트워크 플로우들의 지연 요구사항을 탐색하여 적어도 하나의 네트워크 플로우를 적어도 하나의 VNF 노드에 초기 매핑하는 단계(800), 상기 복수의 VNF 노드들을 탐색하여 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 재배열하는 단계(801), 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 제2플로우를 교체하는 단계(802) 및 제1 VNF 노드에 매핑된 제1플로우를 상기 제1 VNF와 매핑되지 않은 플로우들 중 하나 이상의 플로우들로 교체하는 단계(803) 중 적어도 하나를 포함할 수 있다.
실시예들에 따른 재배열하는 단계(801)는 초기 매핑된 적어도 하나의 네트워크 플로우를 정렬된 순서의 역순으로 각 네트워크 플로우를 재배열할 수 있다. 또한, 실시예들에 따른 재배열하는 단계(801)는 상기 복수의 VNF 노드들을 순차적으로 탐색할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.
실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 탐욕 방법(Greedy Method)에 기반한 알고리즘을 이용하는 최적화된 매핑 방법을 제공함으로써 네트워크 플로우들의 지연 요구 사항을 만족함과 동시에 각 네트워크 플로우들을 차별 수신 또는 응답하는 현상을 방지할 수 있다.
전술한 실시 예들에 따른 전자 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독 가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.

Claims (10)

  1. 전자 장치의 가상 네트워크 기능 조율 방법에 있어서,
    네트워크 플로우(network flow)들을 수신하는 단계;
    상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계;
    상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계; 및
    상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualized Network Function, VNF) 노드들에 매핑(mapping)하는 단계; 를 포함하고,
    상기 정렬하는 단계는,
    각 네트워크 플로우의 상기 전송 속도 및 상기 지연 요구사항을 곱한 결과에 기초하여 상기 네트워크 플로우들을 정렬하는 단계를 포함하는,
    가상 네트워크 기능 조율 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 매핑하는 단계는
    상기 정렬된 네트워크 플로우들의 지연 요구사항을 탐색하여 적어도 하나의 네트워크 플로우를 적어도 하나의 VNF 노드에 초기 매핑하는 단계; 및
    상기 복수의 VNF 노드들을 탐색하여 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 재배열하는 단계; 를 포함하는,
    가상 네트워크 기능 조율 방법.
  4. 제3항에 있어서, 상기 초기 매핑하는 단계는 상기 정렬된 네트워크 플로우들을 정렬된 순서로 순차적으로 탐색하여 각 VNF 노드를 매핑하는,
    가상 네트워크 기능 조율 방법.
  5. 제3항에 있어서, 상기 재배열하는 단계는 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 정렬된 순서의 역순으로 각 네트워크 플로우를 재배열하는,
    가상 네트워크 기능 조율 방법.
  6. 제3항에 있어서, 상기 매핑하는 단계는 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 제2플로우를 교체하는 제1보완 단계를 포함하는,
    가상 네트워크 기능 조율 방법.
  7. 제3항에 있어서, 상기 매핑하는 단계는 제1 VNF 노드에 매핑된 제1플로우를 상기 제1 VNF와 매핑되지 않은 플로우들 중 하나 이상의 플로우들로 교체하는 제2보완 단계를 포함하는,
    가상 네트워크 기능 조율 방법.
  8. 제5항에 있어서,
    상기 재배열하는 단계는 상기 복수의 VNF 노드들을 순차적으로 탐색하는,
    가상 네트워크 기능 조율 방법.
  9. 가상 네트워크 기능을 조율하는 전자 장치에 있어서,
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써 네트워크 플로우(network flow)들을 수신하고, 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하고, 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하고, 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualized Network Function, VNF) 노드들에 매핑(mapping)하는 프로세서를 포함하고, 및
    상기 프로세서는,
    각 네트워크 플로우의 상기 전송 속도 및 상기 지연 요구사항을 곱한 결과에 기초하여 상기 네트워크 플로우들을 정렬하는,
    전자 장치.
  10. 네트워크 플로우(network flow)들을 수신하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계; 및 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualized Network Function, VNF) 노드에 매핑(mapping)하는 단계; 를 포함하고, 상기 정렬하는 단계는 각 네트워크 플로우의 상기 전송 속도 및 상기 지연 요구사항을 곱한 결과에 기초하여 상기 네트워크 플로우들을 정렬하는 단계를 포함하는, 가상 네트워크 기능 조율 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록 매체.
KR1020210083453A 2021-06-25 2021-06-25 가상 네트워크 기능 조율 방법 및 그 장치 KR102548926B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210083453A KR102548926B1 (ko) 2021-06-25 2021-06-25 가상 네트워크 기능 조율 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210083453A KR102548926B1 (ko) 2021-06-25 2021-06-25 가상 네트워크 기능 조율 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20230006654A KR20230006654A (ko) 2023-01-11
KR102548926B1 true KR102548926B1 (ko) 2023-06-29

Family

ID=84892349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210083453A KR102548926B1 (ko) 2021-06-25 2021-06-25 가상 네트워크 기능 조율 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102548926B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101465884B1 (ko) * 2013-06-27 2014-11-26 고려대학교 산학협력단 소프트웨어 정의 네트워크에서의 확률적 컨트롤러 선택 방법 및 장치
KR102101120B1 (ko) * 2018-12-28 2020-04-16 연세대학교 산학협력단 사용자 특성을 반영한 클러스터 기반 가상 네트워크 기능의 자원 할당 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190114126A (ko) * 2018-03-29 2019-10-10 한국전자통신연구원 메시지의 처리 완료 지연 시간을 기초로 스위치로의 메시지 송신을 제어하는 sdn 컨트롤러 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101465884B1 (ko) * 2013-06-27 2014-11-26 고려대학교 산학협력단 소프트웨어 정의 네트워크에서의 확률적 컨트롤러 선택 방법 및 장치
KR102101120B1 (ko) * 2018-12-28 2020-04-16 연세대학교 산학협력단 사용자 특성을 반영한 클러스터 기반 가상 네트워크 기능의 자원 할당 방법

Also Published As

Publication number Publication date
KR20230006654A (ko) 2023-01-11

Similar Documents

Publication Publication Date Title
Fan et al. Workload allocation in hierarchical cloudlet networks
EP3422646B1 (en) Method and device for multi-flow transmission in sdn network
US9740534B2 (en) System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program
US10785163B2 (en) Maintaining a queuing policy with multipath traffic
US20230231825A1 (en) Routing for large server deployments
US20140189092A1 (en) System and Method for Intelligent Data Center Positioning Mechanism in Cloud Computing
US20230030165A1 (en) Utilizing egress peer engineering to determine optimized traffic plans and to implement an optimized traffic plan
EP3709579B1 (en) Utilizing constraint optimization for egress peer engineering to determine optimized traffic plans and to implement an optimized traffic plan
US11714670B2 (en) VM priority level control system and VM priority level control method
KR102548926B1 (ko) 가상 네트워크 기능 조율 방법 및 그 장치
EP2348686A1 (en) Information processing device, method and computer program for decide an address
CN114513408B (zh) 一种ecn门限配置方法及装置
US10568112B1 (en) Packet processing in a software defined datacenter based on priorities of virtual end points
JP2019149043A (ja) 見積り装置および見積り方法
US20190108060A1 (en) Mobile resource scheduler
CN113839884B (zh) 流量控制方法和装置
CN116390152B (zh) 用于通信核心网中atsss的数据传输方法、装置和介质
KR102542430B1 (ko) 이벤트 수집 장치 및 그 방법
US20240022514A1 (en) Dynamic load balancing based on flow characteristics
CN113765805B (zh) 基于调用的通信方法、装置、存储介质及设备
US20240147000A1 (en) Client transcoding of video segment
CN112596893B (zh) 用于多节点边缘计算设备的监控方法和系统
US11579915B2 (en) Computing node identifier-based request allocation
CN115190034B (zh) 基于边缘云计算的服务部署方法
US12001868B2 (en) VM migration system and VM migration method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right