KR20230006654A - Method for coordination virtual network function and apparatus for the same - Google Patents

Method for coordination virtual network function and apparatus for the same Download PDF

Info

Publication number
KR20230006654A
KR20230006654A KR1020210083453A KR20210083453A KR20230006654A KR 20230006654 A KR20230006654 A KR 20230006654A KR 1020210083453 A KR1020210083453 A KR 1020210083453A KR 20210083453 A KR20210083453 A KR 20210083453A KR 20230006654 A KR20230006654 A KR 20230006654A
Authority
KR
South Korea
Prior art keywords
network
flows
vnf
mapping
flow
Prior art date
Application number
KR1020210083453A
Other languages
Korean (ko)
Other versions
KR102548926B1 (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 KR1020210083453A priority Critical patent/KR102548926B1/en
Publication of KR20230006654A publication Critical patent/KR20230006654A/en
Application granted granted Critical
Publication of KR102548926B1 publication Critical patent/KR102548926B1/en

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

Abstract

A virtual network function coordination method according to embodiments may include the steps of: receiving a plurality of network flows; checking the transmission rate and delay requirements of the plurality of network flows; and mapping the plurality of network flows to a plurality of virtualized network function nodes based on the transmission rate and delay requirements of the plurality of network flows.

Description

가상 네트워크 기능 조율 방법 및 그 장치 {METHOD FOR COORDINATION VIRTUAL NETWORK FUNCTION AND APPARATUS FOR THE SAME}Virtual network function coordination method and its device {METHOD FOR COORDINATION VIRTUAL NETWORK FUNCTION AND APPARATUS FOR THE SAME}

본 개시는 네트워크 기능 가상화(Network Function Virtualization)와 관련하여 가상 네트워크 기능(들)을 조율하는 방법 및 그 장치에 관한 것이다.The present disclosure relates to a method and apparatus for orchestrating virtual network function(s) in connection with Network Function Virtualization.

네트워크 기능 가상화 (NFV, Network Function Virtualization)는 상용화된 서버의 가상화 플랫폼에서 가상화된 네트워크 기능 (Virtualized Network Functions, VNFs)를 동적으로 생성한다. 따라서 VNF 별로 트래픽의 특성에 맞게 서비스를 하여 트래픽 플로우의 QoS 만족도를 높일 수 있다. Network Function Virtualization (NFV) dynamically creates virtualized network functions (VNFs) on a virtualization platform of a commercially available server. Therefore, by providing services according to traffic characteristics for each VNF, the QoS satisfaction of the traffic flow can be increased.

한편, 영상 정보는 그 전송속도와 긴급 정도가 다양하기 때문에 각 영상 정보 마다 다양한 시간지연의 요구사항을 가진다. 또한, VNF 또한 영상 정보를 수집하는 장치와 물리적으로 떨어져 있을 수 있기 때문에, 영상정보가 어떤 VNF의 서비스를 받느냐에 따라 QoS 요구사항이 만족된 영상정보 전송량이 달라질 수 있다. 그렇기에 영상정보가 CCTV의 위치에서 VNF까지, VNF에서 목적지까지 이동하는데 소요되는 시간과, VNF에서 서비스 받는 시간을 분석하여 각 플로우의 총 시간지연이 시간지연 요구사항을 만족시키는 VNF로 서비스를 받도록 조율하는 것이 필요하다.On the other hand, since image information has various transmission speeds and degrees of urgency, each image information has various time delay requirements. In addition, since the VNF may also be physically separated from a device that collects video information, the amount of video information transmission that satisfies the QoS requirements may vary depending on which VNF the video information is provided with. Therefore, by analyzing the time required for video information to move from the CCTV location to the VNF, from the VNF to the destination, and the time to receive service from the VNF, the total time delay of each flow is adjusted so that the service is received by the VNF that satisfies the time delay requirements. it is necessary to do

본 실시 예가 해결하고자 하는 과제는 트래픽의 플로우의 품질을 향상시키는 것이다. 구체적으로 본 실시예들은 가상 네트워크 기능(들)을 조율하기 위해 탐욕 네트워크 기능 가상화 조율 알고리즘을 이용할 수 있다.The problem to be solved by the present embodiment is to improve the quality of traffic flow. Specifically, the present embodiments may use a greedy network function virtualization orchestration algorithm to orchestrate the virtual network function(s).

상술한 문제점을 해결하기 위하여 실시예들에 따른 가상 네트워크 기능 조율 방법은, 네트워크 플로우(network flow)들을 수신하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계; 및 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualization Network Function, VNF) 노드에 매핑(mapping)하는 단계; 를 포함할 수 있다.In order to solve the above problem, a virtual network function coordination method according to embodiments includes receiving network flows; checking transmission rate and delay requirements of the network flows; sorting the network flows based on transmission rate and delay requirements of the network flows; and mapping the network flows to a plurality of virtualization network function (VNF) nodes based on delay requirements of the network flows. can include

실시예들에 따른 정렬하는 단계는 각 네트워크 플로우의 상기 전송 속도 및 상기 지연 요구사항을 곱한 결과에 기초하여 상기 네트워크 플로우들을 정렬할 수 있다.In the sorting step according to embodiments, the network flows may be sorted based on a result of multiplying the transmission rate and the delay requirement of each network flow.

실시예들에 따른 매핑하는 단계는 상기 정렬된 네트워크 플로우들의 지연 요구사항을 탐색하여 적어도 하나의 네트워크 플로우를 적어도 하나의 VNF 노드에 초기 매핑하는 단계; 및 상기 복수의 VNF 노드들을 탐색하여 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 재배열하는 단계; 를 포함할 수 있다.The mapping step according to embodiments may include initially mapping at least one network flow to at least one VNF node by searching delay requirements of the aligned network flows; and rearranging the initially mapped at least one network flow by searching for the plurality of VNF nodes. can include

더 나아가 실시예들에 따른 초기 매핑하는 단계는 상기 정렬된 네트워크 플로우들을 정렬된 순서로 순차적으로 탐색하여 각 VNF 노드를 매핑할 수 있다.Furthermore, in the initial mapping step according to embodiments, each VNF node may be mapped by sequentially searching the sorted network flows in a sorted order.

또한 실시예들에 따른 재배열하는 단계는 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 정렬된 순서의 역순으로 각 네트워크 플로우를 재배열하고, 상기 재배열하는 단계는 상기 복수의 VNF 노드들을 순차적으로 탐색할 수 있다. In addition, the rearranging step according to the embodiments rearranges each network flow in the reverse order of the initially mapped at least one network flow, and the rearranging step sequentially searches the plurality of VNF nodes can do.

더 나아가 실시예들에 따른 매핑하는 단계는 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 제2플로우를 교체하는 제1교체 단계를 포함할 수 있다.Furthermore, the mapping step according to embodiments may include a first replacing step of replacing the first flow mapped to the first VNF node and the second flow mapped to the second VNF node.

나아가 실시예들에 따른 매핑하는 단계는 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 플로우들 중 둘 이상의 플로우들을 교체하는 제2교체 단계를 포함할 수 있다.Furthermore, the mapping step according to embodiments may include a second replacing step of replacing two or more flows among the first flow mapped to the first VNF node and the flows mapped to the second VNF node.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.A virtual network function coordination method and apparatus according to embodiments efficiently map data flows received from a plurality of sources to a plurality of virtual network functions, thereby maximizing the satisfaction of the required delay time of each flow, thereby eliminating unnecessary networks. delay can be avoided.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위해 전송률(rate) 및 지연 요구 시간(delay)을 곱한 결과에 기초하여 네트워크 플로우들을 정렬함으로써 지연 요구 시간의 만족과 네트워크의 전송률을 모두 최적화할 수 있는 매핑 방법을 제시할 수 있다.Virtual network function coordination method and apparatus according to embodiments arrange network flows based on a result of multiplying a transmission rate and a delay required time (delay) to map a plurality of network flows to a plurality of virtual network functions By doing so, it is possible to propose a mapping method that can optimize both the satisfaction of the required delay time and the transmission rate of the network.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 제1보완 단계 및 제2보완 단계를 수행함으로써 특정 VNF 노드에 편중되어 네트워크 플로우들이 매핑되는 현상을 방지하고 균형 있게 매핑이 수행되도록 도울 수 있어 효율적인 트래픽 관리를 도모할 수 있는 효과를 제공할 수 있다.The virtual network function coordination method and apparatus according to the embodiments perform the first supplementary step and the second supplementary step, thereby preventing network flows from being mapped due to bias in a specific VNF node, and helping to balance the mapping. An effect capable of promoting efficient traffic management can be provided.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 탐욕 방법(Greedy Method)에 기반한 알고리즘을 이용하는 최적화된 매핑 방법을 제공함으로써 네트워크 플로우들의 지연 요구 사항을 만족함과 동시에 각 네트워크 플로우들을 차별 수신 또는 응답하는 현상을 방지할 수 있다.A virtual network function tuning method and apparatus according to embodiments provide an optimized mapping method using an algorithm based on a greedy method, thereby satisfying delay requirements of network flows and differentially receiving or responding to each network flow phenomenon can be prevented.

도 1은 실시예들에 따른 전자 장치를 나타낸다.
도 2는 실시예들에 따른 전자 장치가 가상 네트워크 기능을 조율하는 방법을 나타낸다.
도 3은 실시예들에 따른 전자 장치가 가상 네트워크 기능을 조율하는 방법을 나타낸다.
도 4는 실시예들에 따른 전자 장치가 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtual Network Function, VNF) 노드(node)들에 매핑(mapping)하는 방법을 나타낸다.
도 5는 실시예들에 따른 전자 장치가 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들에 매핑하는 방법의 다른 예시를 나타내는 흐름도이다.
도 6은 실시예들에 따른 가상 네트워크 기능 조율 방법의 수행 결과를 분석한 것을 나타낸다.
도 7은 실시예들에 따른 가상 네트워크 기능 조율 방법의 예시를 나타낸다.
도 8은 실시예들에 따른 가상 네트워크 기능 조율 방법의 예시를 나타낸다.
1 shows an electronic device according to embodiments.
2 illustrates a method for an electronic device to coordinate a virtual network function according to embodiments.
3 illustrates a method for an electronic device to coordinate a virtual network function according to embodiments.
4 illustrates a method of mapping network flows to a plurality of virtual network function (VNF) nodes by an electronic device according to embodiments.
5 is a flowchart illustrating another example of a method of mapping network flows to a plurality of virtual network function nodes by an electronic device according to embodiments.
6 shows an analysis result of a virtual network function tuning method according to embodiments.
7 shows an example of a virtual network function orchestration method according to embodiments.
8 shows an example of a virtual network function orchestration method according to embodiments.

실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the embodiments have been selected as general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technologies, and the like. In addition, in a specific case, there are also terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the corresponding description. Therefore, terms used in the present disclosure should be defined based on the meaning of the term and the general content of the present disclosure, not simply the name of the term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. When it is said that a certain part "includes" a certain component throughout the specification, it means that it may further include other components without excluding other components unless otherwise stated.

명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, 및 c 모두'를 포괄할 수 있다.The expression of "at least one of a, b, and c" described throughout the specification means 'a alone', 'b alone', 'c alone', 'a and b', 'a and c', 'b and c' ', or 'all a, b, and 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) 기반의 무선 통신 장치를 포함할 수 있다.A “terminal” referred to below may be implemented as a computer or portable terminal capable of accessing a server or other terminals through a network. Here, the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser, and the portable terminal is, for example, a wireless communication device that ensures portability and mobility. , IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution), etc. It may include a handheld-based wireless communication device.

아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily carry out the present disclosure. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein.

이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.

도 1은 실시예들에 따른 전자 장치를 나타낸다.1 shows an electronic device according to embodiments.

전자 장치(100)는 프로세서(110), 트랜시버(120) 및 저장부(130)를 포함한다. 도 1에 도시된 전자 장치(100)에는 본 실시예들과 관련된 구성요소들만이 도시되어 있다. 따라서, 전자 장치(100)에는 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다.The electronic device 100 includes a processor 110 , a transceiver 120 and a storage unit 130 . In the electronic device 100 shown in FIG. 1 , only elements related to the present embodiments are shown. Accordingly, it is apparent to those skilled in the art that the electronic device 100 may further include other general-purpose components in addition to the components shown in FIG. 1 .

네트워크 기능은 예를 들어, 데이터 트래픽이 네트워크 상에서 목적지로 가는 과정에서 경유하는 네트워크 기능의 서비스를 의미할 수 있다. 예를 들어, 가상 네트워크 기능은 트래픽이 목적지에 도달했을 때, 트래픽을 검증하는 방화벽, 정확한 주소로 전달하기 위해 IP주소를 찾아주는 NAT(Network Address Translator) 등을 포함할 수 있다. 한편, 물리적인 네트워크 기능은 대용량 서버에 특정 기능을 제공하나, 동시에 여러 네트워크 트래픽이 서비스를 받기 위해 네트워크 기능에 유입될 경우, 당장 서비스를 받지 못하는 트래픽을 기다리게 하여 해당 트래픽의 지연 요구 사항(QoS 등)을 만족시키지 못할 수 있다. 따라서, 네트워크 기능은 상용화된 서버의 가상화 플랫폼에서 동적으로 생성할 수 있고, 동적으로 생성된 네트워크 기능은 가상화된 네트워크 기능(Virtualized Network Functions, VNFs)으로 이해될 수 있다. 실시예들에 따른 가상 네트워크 기능들은 네트워크 트래픽의 특성에 맞게 서비스를 하여 트래픽 플로우의 QoS 만족도를 높일 수 있다.The network function may mean, for example, a service of a network function through which data traffic goes to a destination on a network. For example, a virtual network function may include a firewall that verifies traffic when it reaches its destination, a Network Address Translator (NAT) that finds an IP address to forward to the correct address, and the like. On the other hand, the physical network function provides a specific function to a large-capacity server, but when multiple network traffic flows into the network function to receive service at the same time, the traffic that cannot be serviced immediately is made to wait, thereby reducing the delay requirements (QoS, etc.) of that traffic. ) may not be satisfied. Accordingly, network functions can be dynamically created in a commercialized server virtualization platform, and the dynamically created network functions can be understood as virtualized network functions (VNFs). Virtual network functions according to embodiments may increase QoS satisfaction of traffic flows by providing services according to characteristics of network traffic.

복수의 가상 네트워크 기능은 노드(node)의 형태로 하나의 서버 내에 존재할 수도 있고, 물리적으로 이격된 위치에 있는 외부 장치(들)에 분산되어 존재할 수도 있다. 실시예들에 따른 전자 장치(100)는 물리적으로 이격된 위치에 있는 외부 장치(들)로부터 복수의 네트워크 플로우들을 수신한다. 즉, 복수의 네트워크 플로우들은 외부 장치(들)가 수신할 수 있고, 복수의 네트워크 플로우들은 각 외부 장치에 포함된 가상 네트워크 기능 노드(들)을 경유하여 실시예들에 따른 전자 장치로 수신될 수 있다. 이 경우 실시예들에 따른 전자 장치(100)는 수신한 복수의 네트워크 플로우들을 외부 장치(들)의 복수의 가상 네트워크 기능 노드들로 매핑하여, 각 네트워크 플로우가 어떤 가상 네트워크 기능 노드들을 경유할지를 결정할 수 있다.A plurality of virtual network functions may exist in one server in the form of a node, or may exist distributed in external device(s) located at physically separated locations. The electronic device 100 according to embodiments receives a plurality of network flows from external device(s) located at physically separated locations. That is, the plurality of network flows can be received by the external device(s), and the plurality of network flows can be received by the electronic device according to the embodiments via the virtual network function node(s) included in each external device. there is. In this case, the electronic device 100 according to embodiments maps the received plurality of network flows to a plurality of virtual network function nodes of the external device(s), and determines which virtual network function nodes each network flow passes through. can

한편, 실시간으로 감시 정보를 수신하여 감시자에게 감시 정보를 제공하는 감시 시스템에서의 실시간 데이터인 영상정보들은 물리적으로 다양한 위치에 존재하는 감시 장치(예를 들어, CCTV)로부터 생성될 수 있다. 즉, 데이터 플로우는 다양한 위치에 존재하는 감시 장치에 의해 생성된 영상 데이터일 수 있다. 이러한 영상 데이터는 감시 장치의 위치, 전송 환경, 감시 데이터의 중요도, 및 긴급도 전송 속도 및 지연 요구 사항이 다양할 수 있다. 나아가, 감시 시스템에서 감시 정보를 전송하는 목적지에 전, 감시 데이터가 경유하는 가상 네트워크 기능 노드들 또한 물리적으로 떨어져 있을 수 있다. 예를 들어, 감시 정보는 목적지에 도착하기까지 소요되는 지연 요구 시간(delay), 긴급도에 기초한 지연 요구 시간(delay)을 가질 수 있으며, 어느 가상 네트워크 기능 노드의 서비스를 받느냐에 따라 QoS 요구사항이 만족된 영상 정보 전송량이 달라질 수 있다. 그렇기에 영상정보가 CCTV의 위치에서 VNF까지, VNF에서 목적지까지 이동하는데 소요되는 시간과, VNF에서 서비스 받는 시간을 분석하여 각 플로우의 총 시간지연이 시간지연 요구사항을 만족시키는 VNF로 서비스를 받도록 조율하는 것이 필요하다. 또한 VNF를 동적으로 생성하는 과정에서 전체 플로우가 100% QoS 만족이 되었을 때, 자원 낭비를 방지하기 위해 VNF를 추가적으로 생성하지 않도록 하는 것이 필요하다.Meanwhile, image information, which is real-time data in a monitoring system that receives monitoring information in real time and provides monitoring information to a supervisor, may be generated from monitoring devices (eg, CCTVs) physically present in various locations. That is, the data flow may be image data generated by monitoring devices existing in various locations. Such image data may vary in location of monitoring device, transmission environment, importance and urgency of monitoring data, and transmission speed and delay requirements. Furthermore, virtual network function nodes through which all monitoring data passes to the destination for transmitting monitoring information in the monitoring system may also be physically separated. For example, the monitoring information may have a delay required to arrive at its destination, a delay based on urgency, and QoS requirements depending on which virtual network function node the service is received from. This satisfied image information transmission amount may vary. Therefore, by analyzing the time required for video information to move from the CCTV location to the VNF, from the VNF to the destination, and the time to receive service from the VNF, the total time delay of each flow is adjusted so that the service is received by the VNF that satisfies the time delay requirements. it is necessary to do In addition, when the entire flow satisfies 100% QoS in the process of dynamically generating VNFs, it is necessary to prevent additional VNFs from being created in order to prevent resource waste.

따라서, 전자 장치(100)는 가상 네트워크 기능 노드들을 조율할 수 있다. 구체적으로, 전자 장치(100)는 데이터의 소스(source)로부터 수신하는 네트워크 플로우(flow)들을 실시예들에 따른 서버가 수신하기 위해 경유하는 복수의 가상 네트워크 기능(Virtual Network Function, VNF)들을 매핑할 수 있다. 전자 장치(100)는 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위한 매핑 알고리즘을 수행할 수 있다. 전자 장치(100)는 매핑 알고리즘에 의해 네트워크 플로우들 및 복수의 가상 네트워크 기능들 간의 매핑 정보를 각 가상 네트워크 기능들로 전달할 수 있다.Accordingly, the electronic device 100 may coordinate virtual network function nodes. Specifically, the electronic device 100 maps a plurality of virtual network functions (VNFs) through which a server according to embodiments receives network flows received from a data source can do. The electronic device 100 may perform a mapping algorithm for mapping network flows to a plurality of virtual network functions. The electronic device 100 may transfer mapping information between network flows and a plurality of virtual network functions to each virtual network function by a mapping algorithm.

실시예들에 따른 전자 장치(100)는 복수의 네트워크 플로우들을 수신하는 서버일 수 있고, 이 경우 전자 장치(100)는 복수의 가상 네트워크 기능 노드(node)들을 포함할 수 있다. 즉, 전자 장치(100)는 복수의 네트워크 플로우들을 직접 수신할 수 있고 수신한 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들로 매핑하여, 각 네트워크 플로우가 어떤 가상 네트워크 기능들을 경유할지를 결정할 수 있다.The electronic device 100 according to embodiments may be a server that receives a plurality of network flows, and in this case, the electronic device 100 may include a plurality of virtual network function nodes. That is, the electronic device 100 may directly receive a plurality of network flows, map the received plurality of network flows to a plurality of virtual network function nodes, and determine which virtual network functions each network flow passes through. .

프로세서(110)는 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위한 매핑 알고리즘을 수행하는 역할을 할 수 있다. 예를 들어, 프로세서(110)는 전자 장치(100) 내의 메모리(130)에 저장된 알고리즘과 관련된 프로그램들을 실행함으로써, 전자 장치(100)를 전반적으로 제어한다. 프로세서(110)는 전자 장치(100) 내에 구비된 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.The processor 110 may serve to perform a mapping algorithm for mapping network flows to a plurality of virtual network functions. For example, the processor 110 generally controls the electronic device 100 by executing algorithm-related programs stored in the memory 130 of the electronic device 100 . The processor 110 may be implemented as a central processing unit (CPU), graphics processing unit (GPU), or application processor (AP) included in the electronic device 100, but is not limited thereto.

실시예들에 따르면, 프로세서(110)는 네트워크 플로우(network flow)들을 수신하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계; 및 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상화된 네트워크 기능(가상 네트워크 기능, Virtualized Network Function, VNF) 노드에 매핑(mapping)하는 단계; 중 적어도 하나를 수행할 수 있다. According to embodiments, the processor 110 may include receiving network flows; checking transmission rate and delay requirements of the network flows; sorting the network flows based on transmission rate and delay requirements of the network flows; and mapping the network flows to a plurality of virtualized network function (Virtualized Network Function, VNF) nodes based on delay requirements of the network flows; At least one of these may be performed.

트랜시버(120)는 실시예들에 따른 복수의 네트워크 플로우들을 수신할 수 있다. The transceiver 120 may receive a plurality of network flows according to embodiments.

저장부(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), 또는 플래시 메모리를 포함할 수 있다.The storage unit 130 is hardware that stores various types of data processed in the electronic device 100, and the storage unit 130 may store data processed in the electronic device 100 and data to be processed. Also, the storage unit 130 may store applications and drivers to be driven by the electronic device 100 . The storage unit 130 may include random access memory (RAM) such as dynamic random access memory (DRAM) and static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD -ROM, Blu-ray or other optical disk storage, hard disk drive (HDD), solid state drive (SSD), or flash memory.

실시예들에 따른 전자 장치(100)는 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들로 매핑하는 매핑 알고리즘을 수행할 수 있다. 전자 장치(100)는 각 네트워크 플로우들에 대한 전송률(rate), 데이터 트래픽의 서비스 요구 사항(예를 들어, QoS, 지연 요구 시간(delay) 등), 각 네트워크 플로우에 대한 고유 정보(예를 들어, 출발 IP 주소 등) 중 적어도 하나를 확인할 수 있다. 전자 장치(100)는 확인된 각 네트워크 플로우들에 대한 전송률(rate) 및 지연 요구 시간(delay)를 확인할 수 있다. 전자 장치(100)는 각 네트워크 플로우들에 대한 전송률 및 지연 요구 시간에 기초하여 각 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들로 매핑하기 위한 최적의 조율 방법을 계산한다. The electronic device 100 according to embodiments may perform a mapping algorithm for mapping a plurality of network flows to a plurality of virtual network function nodes. The electronic device 100 provides data traffic rates, data traffic service requirements (eg, QoS, delay, etc.) for each network flow, and unique information (eg, QoS) for each network flow. , departure IP address, etc.). The electronic device 100 may check the transmission rate (rate) and the required delay time (delay) for each of the identified network flows. The electronic device 100 calculates an optimal coordination method for mapping each network flow to a plurality of virtual network function nodes based on the transmission rate and the required delay time for each network flow.

실시예들에 따른 전자 장치(100)는, 네트워크 플로우(network flow)들을 수신할 수 있고, 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬할 수 있고, 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualized Network Function, VNF) 노드(node)들에 매핑(mapping)할 수 있다. The electronic device 100 according to embodiments may receive network flows, arrange the network flows based on transmission speed and delay requirements of the network flows, and delay the network flows. Based on requirements, the network flows may be mapped to a plurality of virtualized network function (VNF) nodes.

도 2는 실시예들에 따른 전자 장치가 가상 네트워크 기능을 조율하는 방법을 나타낸다.2 illustrates a method for an electronic device to coordinate a virtual network function according to embodiments.

도 2에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 1의 전자 장치(100)에서 수행될 수 있다. Some or all of the operations according to the embodiments shown in FIG. 2 may be performed in the electronic device 100 of FIG. 1 .

실시예들에 따른 전자 장치는 복수의 네트워크 플로우들(200)에 대한 정보를 확인할 수 있다. 전자 장치는 각 네트워크 플로우의 전송 속도 및 지연 요구 사항을 확인할 수 있다. 전자 장치는 각 네트워크 플로우 별로 전송 속도 및 지연 요구 사항을 확인하여 네트워크 플로우 별로 저장할 수 있다.An electronic device according to embodiments may check information on a plurality of network flows 200 . The electronic device may check transmission rate and delay requirements of each network flow. The electronic device may check transmission speed and delay requirements for each network flow and store them for each network flow.

실시예들에 따른 전자 장치는 전자 장치가 수신할 네트워크 플로우(200)들이 경유할 복수의 가상 네트워크 기능 노드들(201)에 대한 정보를 저장할 수 있다. 가상 네트워크 기능 노드에 대한 정보는 예를 들어, 해당 가상 네트워크 기능 노드가 수용할 수 있는 지연 요구 사항의 한도를 나타내는 정보 또는 전송률에 대한 한도 정보를 포함할 수 있다. An electronic device according to embodiments may store information about a plurality of virtual network function nodes 201 through which network flows 200 to be received by the electronic device pass through. The information on the virtual network function node may include, for example, information representing a limit of a delay requirement that the corresponding virtual network function node can accommodate or limit information on a transfer rate.

실시예들에 따른 전자 장치는 실시예들에 따른 매핑 알고리즘(202)에 기초하여 각 네트워크 플로우(200)가 경유할 가상 네트워크 기능 노드들(201)을 선택하여, 복수의 네트워크 플로우들(200) 및 가상 네트워크 기능 노드들(201) 매핑(mapping)한다.The electronic device according to the embodiments selects virtual network function nodes 201 through which each network flow 200 passes based on the mapping algorithm 202 according to the embodiments, thereby generating a plurality of network flows 200. and virtual network function nodes 201 mapping.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.A virtual network function coordination method and apparatus according to embodiments efficiently map data flows received from a plurality of sources to a plurality of virtual network functions, thereby maximizing the satisfaction of the required delay time of each flow, thereby eliminating unnecessary networks. delay can be avoided.

도 3은 실시예들에 따른 전자 장치가 가상 네트워크 기능을 조율하는 방법을 나타낸다.3 illustrates a method for an electronic device to coordinate a virtual network function according to embodiments.

도 3에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 1 내지 도 2의 전자 장치(100)에서 수행될 수 있다. 도 3에서 설명하는 가상 네트워크 기능을 조율하는 방법은 도 2에 나타난 매핑 알고리즘(202)에 기초하여 수행될 수 있으며, 도 3은 매핑 알고리즘(202)에 의해 네트워크 플로우(300)들과 가상 네트워크 기능(301)들이 매핑(300b)되는 것을 나타낸다.Some or all of the operations according to the embodiments shown in FIG. 3 may be performed in the electronic device 100 of FIGS. 1 and 2 . The method of coordinating the virtual network functions described in FIG. 3 can be performed based on the mapping algorithm 202 shown in FIG. 2, which shows the network flows 300 and the virtual network functions 301 indicates that they are mapped 300b.

도 3을 참조하면, 복수의 네트워크 플로우(300)들은 복수의 가상 네트워크 기능 노드(301)들과 매핑될 수 있다. 실시예들에 따른 전자 장치는 복수의 네트워크 플로우(300)들이 도착 서버(destination, 302)로 데이터가 전송되는 과정에서, 각 네트워크 플로우(300)들의 지연 요구 시간(delay) (예를 들어, QoS)이 최대한 만족될 필요가 있으며, 각 네트워크 플로우(300)들의 전송률(전송량)(rate)가 최대가 되도록 각 네트워크 플로우(300)들을 적절히 가상 네트워크 기능 노드(301)들에 매핑할 필요가 있다.Referring to FIG. 3 , a plurality of network flows 300 may be mapped to a plurality of virtual network function nodes 301 . In an electronic device according to embodiments, while data is transmitted from a plurality of network flows 300 to a destination server 302, the delay request time (delay) of each network flow 300 (eg, QoS ) needs to be maximally satisfied, and each network flow 300 needs to be properly mapped to the virtual network function nodes 301 so that the transmission rate (transmission amount) of each network flow 300 is maximized.

300 내지 302는 |I| 개의 네트워크 플로우(300)들이 |J| 개의 가상 네트워크 기능 노드(301)들을 경유하여 도착 서버(302)로 전송되기 위하여, 복수의 네트워크 플로우(300)들 및 복수의 가상 네트워크 기능 노드(301)들을 매핑한 것을 나타낸다.300 to 302 are |I| The number of network flows 300 |J| It shows that a plurality of network flows 300 and a plurality of virtual network function nodes 301 are mapped in order to be transmitted to the destination server 302 via the number of virtual network function nodes 301 .

300 내지 302를 참조하면, 실시예들에 따른 전자 장치는 |I| 개의 네트워크 플로우(300)들과 |J| 개의 가상 네트워크 기능 노드(301)들을 매핑(300b)하는 매핑 알고리즘을 수행한다. 각 네트워크 플로우(300)는 하나의 가상 네트워크 기능 노드(301)에 매핑될 수 있으며, 반대로 각 네트워크 기능 노드(301)는 하나 또는 그 이상의 네트워크 플로우(300)들과 매핑될 수 있다.Referring to 300 to 302, the electronic device according to the embodiments |I| number of network flows 300 and |J| A mapping algorithm for mapping 300b virtual network function nodes 301 is performed. Each network flow 300 may be mapped to one virtual network function node 301, and conversely, each network function node 301 may be mapped to one or more network flows 300.

각 네트워크 플로우(300)는 각기 다른 출처(Source)의 감시 장치 등으로부터 생성된 데이터일 수 있고, 각 네트워크 플로우는 각기 다른 지연 요구 시간(delay) (예를 들어, QoS와 같은 지연 요구 시간,

Figure pat00001
)과 전송 속도(전송률,
Figure pat00002
)를 가질 수 있다. Each network flow 300 may be data generated from monitoring devices of different sources, and each network flow may have a different delay request time (eg, a delay request time such as QoS,
Figure pat00001
) and transmission rate (baud rate,
Figure pat00002
) can have.

네트워크 플로우(300)는, 네트워크 플로우의 출처로부터 가상 네트워크 기능 노드(301)로 이동할 때 전파 지연(Propagation delay)이 발생할 수 있다. 전파 지연이란 신호가 목적지에 도달하는 데 걸리는 시간을 의미할 수 있으며, 네트워크 환경, 출처로부터 가상 네트워크 기능 노드가 소재하는 위치까지의 이격 거리 등에 따라 다양하게 변화할 수 있다.Propagation delay may occur when the network flow 300 moves from the source of the network flow to the virtual network function node 301 . The propagation delay may mean the time it takes for a signal to reach a destination, and may vary in various ways depending on a network environment, a distance from a source to a location where a virtual network function node is located, and the like.

각 가상 네트워크 기능 노드(301)는 수신한 네트워크 플로우를 처리하고 도착 서버(302)로 전송하는데 시간 즉, 시스템 내에서 발생하는 지연이 있을 수 있다. 분산된 VNF 의 집합을

Figure pat00003
라 했을 때, J에 속하는 VNF j 에서의 시스템 내에서 발생하는 지연은 아래 수학식 1과 같이 나타낼 수 있다. 하기 수학식 1은 예를 들어, M/D/1 queueing 모델의 지연식을 사용한 수학식일 수 있다. 여기서,
Figure pat00004
는 VNF j 내 유입된 네트워크 플로우(들)의 전송 속도(전송률)를 합산한 값을 나타낼 수 있으며,
Figure pat00005
는 VNF j 의 처리율을 나타낼 수 있다.
Figure pat00006
Figure pat00007
보다 작아야 한다. Each virtual network function node 301 processes the received network flow and transmits the received network flow to the destination server 302, but there may be time, that is, a delay occurring within the system. A set of distributed VNFs
Figure pat00003
When , the delay occurring in the system at VNF j belonging to J can be expressed as Equation 1 below. Equation 1 below may be, for example, an equation using a delay equation of the M/D/1 queuing model. here,
Figure pat00004
May represent the sum of transmission rates (transmission rates) of network flow(s) introduced into VNF j ,
Figure pat00005
May represent the throughput of VNF j .
Figure pat00006
Is
Figure pat00007
should be smaller than

Figure pat00008
Figure pat00008

따라서, 전체 시스템 내의 지연 시간은, 네트워크 플로우(300)가 출처로부터 매핑된 가상 네트워크 기능(301)으로 이동하는 시간(300b), 매핑된 가상 네트워크 기능(301)에서 해당 네트워크 플로우(300)를 처리하는데 걸리는 시간 및 네트워크 플로우(300)가 매핑된 가상 네트워크 기능(301)으로부터 도착 서버(302)까지 이동하는 시간(301a)을 합산함으로써 계산될 수 있다. 즉, 네트워크 플로우(300)들의 집합을

Figure pat00009
라 했을 때, 하기 수학식 2는 집합 I에 속하는 플로우 i가 VNFj 에 매핑되었을 경우 전체 시스템 내의 지연 시간을 나타낸다. 즉, 전체 시스템 내의 지연 시간은 네트워크 플로우 i 가 플로우의 출처 i 에서 VNF j까지 이동하는데 소요되는 전파지연
Figure pat00010
, VNF j 에서의 시스템 내에서 발생하는 지연
Figure pat00011
, VNF j 에서 도착 서버(302)까지 네트워크 플로우가 이동하는데 소요되는 전파지연
Figure pat00012
(301a) 의 합으로 구성될 수 있다.Therefore, the delay time in the entire system is the time 300b for the network flow 300 to travel from the source to the mapped virtual network function 301, and the mapped virtual network function 301 to process the corresponding network flow 300. It can be calculated by summing the time taken to do this and the time 301a for the network flow 300 to travel from the mapped virtual network function 301 to the arrival server 302. That is, a set of network flows 300
Figure pat00009
, Equation 2 below represents the delay time in the entire system when flow i belonging to set I is mapped to VNF j . In other words, the delay time within the entire system is the propagation delay required for network flow i to travel from source i to VNF j .
Figure pat00010
, the delay that occurs within the system at VNF j
Figure pat00011
, Propagation delay required for the network flow to travel from VNF j to the destination server 302
Figure pat00012
(301a).

Figure pat00013
Figure pat00013

실시예들에 따른 전자 장치는 [수학식 1] 및 [수학식 2]에 의해 계산된 전체 시스템 내의 지연 시간을 계산함으로써, 각 네트워크 플로우의 지연 요구 시간(delay)이 만족됨과 동시에 각 VNF의 서비스를 받는 네트워크 플로우의 총 전송률(rate)의 합이 최대가 되도록 네트워크 플로우(300)들과 가상 네트워크 기능 노드(301)들을 매핑할 수 있다. 예를 들어, 실시예들에 따른 전자 장치는 아래 [수학식 3]에 나타난 수학식을 이용하여 네트워크 플로우(300)들과 가상 네트워크 기능 노드(301)들을 매핑할 수 있다.The electronic device according to the embodiments calculates the delay time in the entire system calculated by [Equation 1] and [Equation 2], thereby satisfying the required delay time (delay) of each network flow and at the same time providing services of each VNF. The network flows 300 and the virtual network function nodes 301 may be mapped so that the sum of the total transmission rates of network flows receiving . For example, an electronic device according to embodiments may map network flows 300 and virtual network function nodes 301 using Equation 3 shown below.

Figure pat00014
Figure pat00014

여기서, 네트워크 플로우 i 가 VNF j 에서 수신하여 해당 가상 네트워크 기능의 서비스를 받는 경우, 즉 네트워크 플로우 i 가 VNF j 에 매핑되었을 경우

Figure pat00015
는 1의 값을 가지며, 매핑되지 않은 경우 0의 값을 가진다. 또한, 예를 들어 한 플로우는 1개의 VNF를 통해서만 서비스 받을 수 있고, 시간지연 요구사항을 만족시키는 VNF가 없을 경우, VNF의 서비스를 받을 수 없다. 이를
Figure pat00016
과 같이 나타낼 수 있다.Here, when network flow i is received from VNF j and receives the service of the corresponding virtual network function, that is, when network flow i is mapped to VNF j
Figure pat00015
has a value of 1, and has a value of 0 if not mapped. Also, for example, one flow can be serviced through only one VNF, and if there is no VNF that satisfies the time delay requirement, the VNF service cannot be received. this
Figure pat00016
can be expressed as

실시예들에 따른 전자 장치는 [수학식 1] 내지 [수학식 3]을 이용하여 네트워크 플로우(300)들과 가상 네트워크 기능 노드(301)들을 매핑할 수 있으며, 매핑을 위한 알고리즘을 수행할 수 있다.An electronic device according to embodiments may map network flows 300 and virtual network function nodes 301 using [Equation 1] to [Equation 3], and may perform a mapping algorithm. there is.

예를 들어, 303a 내지 303b를 참조하면 실시예들에 따른 전자 장치는 303a 또는 303b와 같이 네트워크 플로우(300)들과 가상 네트워크 기능 노드(301)들을 매핑한 경우, 각 매핑에 기초하여 전체 시스템 내의 지연 시간을 계산할 수 있다. 실시예들에 따른 전자 장치는 각 매핑한 경우에 수의 전체 시스템 내의 지연 시간을 계산할 수 있고, 이들 중 전체 시스템 내의 지연 시간이 가장 적은 매핑 방법을 선택할 수 있다. 또한, 각 가상 네트워크 기능 노드들이 수신하는 네트워크 플로우의 지연 요구 시간의 합이 해당 가상 네트워크 기능 노드로 수신되는 특정 플로우의 지연 요구시간보다 클 경우(예를 들어, 303a의 경우), 해당 네트워크 플로우를 다른 가상네트워크 기능 노드에 매핑할 수 있다(예를 들어, 303b의 경우).For example, referring to 303a to 303b, when the electronic device according to the embodiments maps the network flows 300 and the virtual network function nodes 301 as in 303a or 303b, the entire system is mapped based on each mapping. Latency can be calculated. The electronic device according to the embodiments may calculate the delay time in the entire system of numbers in each mapping case, and select a mapping method having the smallest delay time in the entire system among them. In addition, when the sum of delay request times of network flows received by each virtual network function node is greater than the delay request time of a specific flow received by the corresponding virtual network function node (for example, in case of 303a), the corresponding network flow It can be mapped to other virtual network function nodes (eg, in the case of 303b).

한편, 네트워크 플로우의 수 및 가상 네트워크 기능 노드의 수가 많아질 경우 실시예들에 따른 전자 장치의 연산 처리량은 급격하게 증가할 수 있어 불필요한 처리 지연이 발생할 수 있어 효율적이지 못하다. 따라서 본 발명은 전자 장치가 네트워크 플로우들 및 가상 네트워크 기능 노드들을 효율적으로 매핑하기 위하여, Multiple Knapsack Problem(MKP)을 해결하기 위한 탐욕 기법(Greedy Method) (예를 들어, Martello & Toth Heuristic Method (MTHM) 등)에 기반한 매핑 알고리즘을 도 4 내지 도 6에서 자세히 설명한다.Meanwhile, when the number of network flows and the number of virtual network function nodes increases, the computational throughput of the electronic device according to the embodiments may rapidly increase, causing unnecessary processing delay, which is not efficient. Therefore, the present invention is a greedy method (eg, Martello & Toth Heuristic Method (MTHM) for solving the Multiple Knapsack Problem (MKP) in order for an electronic device to efficiently map network flows and virtual network function nodes) ), etc.) will be described in detail in FIGS. 4 to 6 .

도 4는 실시예들에 따른 전자 장치가 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtual Network Function, VNF) 노드(node)들에 매핑(mapping)하는 방법을 나타낸다.4 illustrates a method of mapping network flows to a plurality of virtual network function (VNF) nodes by an electronic device according to embodiments.

구체적으로, 도 4는 전자 장치가 네트워크 플로우들 및 가상 네트워크 기능 노드들을 효율적으로 매핑하기 위한 매핑 알고리즘의 예시를 나타낸다. 매핑 알고리즘은 예를 들어, 40에 나타난 예시 동작에 따라 복수의 네트워크 플로우들(400a)을 정렬(400)할 수 있다. Specifically, FIG. 4 shows an example of a mapping algorithm for an electronic device to efficiently map network flows and virtual network function nodes. The mapping algorithm may align 400 the plurality of network flows 400a according to the example operation shown at 40, for example.

먼저, 실시예들에 따른 전자 장치는 복수의 네트워크 플로우(400a)들에 대한 정보를 확인할 수 있다. 네트워크 플로우(400a)에 대한 정보는 예를 들어, 해당 네트워크 플로우들에 대한 전송률(또는 전송 속도, rate), 데이터 트래픽의 서비스 요구 사항(예를 들어, QoS와 같은 지연 요구 시간(delay) 등)를 포함할 수 있다.First, an electronic device according to embodiments may check information on a plurality of network flows 400a. Information on the network flow 400a may include, for example, transmission rate (or transmission rate) for corresponding network flows, service requirements of data traffic (eg, delay required time such as QoS, etc.) can include

한편, 복수의 네트워크 플로우들은 복수의 가상 네트워크 기능들의 수용 가능 정도 및 전송률을 모두 고려하여 복수의 가상 네트워크 기능들에 매핑할 필요가 있다. 즉, 특정 가상 네트워크 기능 노드에 집중하여 네트워크 플로우들이 매핑되지 않아야 하므로, 실시예들에 따른 전자 장치는 각 네트워크 플로우의 전송 속도 및 지연 요구 시간(delay)의 만족을 종합적으로 고려할 필요가 있다.Meanwhile, a plurality of network flows need to be mapped to a plurality of virtual network functions in consideration of both an acceptable degree and transmission rate of the plurality of virtual network functions. That is, since network flows should not be mapped by focusing on a specific virtual network function node, the electronic device according to the embodiments needs to comprehensively consider the transmission speed and satisfaction of the delay required for each network flow.

따라서 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 라고 표기한다.Therefore, referring to 40, the electronic device according to the embodiments checks transmission rate (rate) information and delay request time (delay) information of each network flow, calculates a result of multiplying them (rate X delay), and calculates Based on the result, a plurality of network flows 400a may be ordered. The electronic device sorts the network flows 400a in descending or ascending order of the calculated results. In FIG. 4, the network flows 400a arranged in descending order are sequentially flow_1, flow_2, ???? , denoted as flow_|I|, and the transmission rate and delay required time (delay) of flow_|I| are respectively rate_|I| and delay_|I|^req.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위해 전송률(rate) 및 지연 요구 시간(delay)을 곱한 결과에 기초하여 네트워크 플로우들을 정렬함으로써 지연 요구 시간(delay)과 네트워크의 전송률을 모두 최적화할 수 있는 매핑 방법을 제시할 수 있다.Virtual network function coordination method and apparatus according to embodiments arrange network flows based on a result of multiplying a transmission rate and a delay required time (delay) to map a plurality of network flows to a plurality of virtual network functions By doing so, it is possible to propose a mapping method that can optimize both the delay and the transmission rate of the network.

다음으로, 실시예들에 따른 전자 장치는 매핑 알고리즘에 기초하여 41에 나타난 예시 동작에 따라, 정렬된 복수의 네트워크 플로우들(400a) 및 복수의 가상 네트워크 기능(VNF) 노드들을 초기 매핑 단계(401), 재배열 단계(402), 제1보완 단계(403) 및 제2보완 단계(404) 중 적어도 하나를 수행할 수 있다.Next, the electronic device according to the embodiments performs an initial mapping step (401) of the aligned plurality of network flows (400a) and a plurality of virtual network function (VNF) nodes according to the exemplary operation shown in 41 based on the mapping algorithm. ), at least one of the rearrangement step 402, the first complement step 403, and the second supplement step 404 may be performed.

초기 매핑 단계(401)는 상기 정렬된 네트워크 플로우들의 지연 요구사항을 탐색하여 적어도 하나의 네트워크 플로우를 적어도 하나의 VNF 노드에 초기 매핑하는 단계일 수 있다. 즉, 초기 매핑 단계(401)는 정렬된 복수의 네트워크 플로우들(400a) 및 복수의 가상 네트워크 기능(VNF) 노드들을 우선 매핑한다. 초기 매핑 단계(401)는 각 가상 네트워크 기능(VNF) 노드들을 순차적으로, 정렬된 복수의 네트워크 플로우들(400a)을 순차적으로 확인하여 적어도 하나의 네트워크 플로우를 각 가상 네트워크 기능(VNF) 노드들에 매핑한다. 초기 매핑 단계(401)는 확인되는 네트워크 플로우가, 특정 가상 네트워크 기능 노드에 매핑될 수 있는 경우(예를 들어, 가상 네트워크 기능 노드가 수용할 수 있는 지연 요구 시간이 해당 네트워크 플로우의 지연 요구 시간 등에 부합할 수 있는 경우) 탐욕적으로 매핑한다.The initial mapping step 401 may be a step of initially mapping at least one network flow to at least one VNF node by searching delay requirements of the aligned network flows. That is, in the initial mapping step 401, the aligned plurality of network flows 400a and the plurality of virtual network function (VNF) nodes are first mapped. In the initial mapping step 401, each virtual network function (VNF) node is sequentially checked, and a plurality of aligned network flows 400a are sequentially checked to transmit at least one network flow to each virtual network function (VNF) node. map In the initial mapping step 401, when the network flow to be identified can be mapped to a specific virtual network function node (eg, the delay request time that the virtual network function node can accommodate depends on the delay request time of the corresponding network flow, etc.) If it can match), it is mapped greedily.

예를 들어, 초기 매핑 단계(401)는 먼저, 첫 번째 VNF 노드를 기준으로, 정렬된 네트워크 플로우들을 순차적으로(rate X delay의 결과가 큰 순서대로) 확인하면서 적어도 하나의 네트워크 플로우를 각 가상 네트워크 기능(VNF) 노드들에 매핑하기 위하여 탐욕적으로 매핑한다. 첫 번째 VNF에 대하여 매핑이 완료되면, 초기 매핑 단계(401)는 두 번째 VNF에 대하여 다시 정렬된 네트워크 플로우들 중 매핑이 이루어지지 않은 플로우들을 순차적으로 확인하여 각 가상 네트워크 기능(VNF) 노드들에 탐욕적으로 매핑한다. 이를 반복하여, 초기 매핑 단계(401)는 모든 VNF 노드들에 대하여 네트워크 플로우를 확인 및 매핑한다. 즉, 초기 매핑하는 단계는 상기 정렬된 네트워크 플로우들을 정렬된 순서로 순차적으로 탐색하여 각 VNF 노드를 매핑한다.For example, in the initial mapping step 401, first, at least one network flow is transferred to each virtual network while sequentially checking the sorted network flows (in the order in which the result of rate X delay is greater) based on the first VNF node. Map greedily to map to functional (VNF) nodes. When the mapping of the first VNF is completed, the initial mapping step 401 sequentially checks unmapped flows among the network flows rearranged for the second VNF and assigns them to each virtual network function (VNF) node. Map greedily. By repeating this, the initial mapping step 401 identifies and maps network flows for all VNF nodes. That is, in the initial mapping step, each VNF node is mapped by sequentially searching the sorted network flows in the sorted order.

초기 매핑 단계(401)의 결과, 복수의 가상 네트워크 기능들 중 일부는 적어도 하나의 네트워크 플로우와 매핑될 수 있고, 일부는 어떠한 네트워크 플로우와도 매핑되지 않은 상태일 수 있다. 반대로 복수의 네트워크 플로우들 중 일부는 적어도 하나의 가상 네트워크 기능과 매핑될 수도 있지만, 일부는 아닐 수도 있다. As a result of the initial mapping step 401, some of the plurality of virtual network functions may be mapped with at least one network flow, and some may not be mapped with any network flow. Conversely, some of the plurality of network flows may be mapped with at least one virtual network function, but some may not be mapped.

재배열 단계(402)는 복수의 VNF 노드들을 탐색하여 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 재배열하는 단계를 의미할 수 있다. 즉, 재배열 단계(402)는 초기 매핑 단계(401)에 의해 매핑이 이루어진 네트워크 플로우들을 추출하여, 추출된 네트워크 플로우들을 다시 복수의 가상 네트워크 기능 노드들에 매핑한다. 예를 들어, 초기 매핑 단계(401)에서 첫 번째 네트워크 플로우, 두 번째 네트워크 플로우 및 네 번째 네트워크 플로우가 가상 네트워크 기능 노드들로 매핑되었다면, 첫 번째 네트워크 플로우, 두 번째 네트워크 플로우 및 네 번째 네트워크 플로우를 다시 복수의 가상 네트워크 기능 노드들로 매핑한다.The rearrangement step 402 may refer to a step of rearranging the initially mapped at least one network flow by searching for a plurality of VNF nodes. That is, the rearrangement step 402 extracts the network flows mapped by the initial mapping step 401, and maps the extracted network flows to a plurality of virtual network function nodes again. For example, if the first network flow, the second network flow, and the fourth network flow are mapped to virtual network function nodes in the initial mapping step 401, the first network flow, the second network flow, and the fourth network flow Again, it is mapped to a plurality of virtual network function nodes.

구체적으로, 재배열 단계(402)는 40에 의해 정렬된 순서의 역순(즉, rate X delay의 결과가 작은 순서대로) 네트워크 플로우들을 확인함으로써 가상 네트워크 기능 노드들과 매핑할 수 있다. 각 네트워크 플로우는, 가상 네트워크 기능들을 순차적으로 탐색함으로써 가상 네트워크 기능 노드들과 매핑할 수 있다. 예를 들어, 재배열 단계(402)는 먼저, 추출된 네트워크 플로우들 중 마지막 네트워크 플로우 (즉, rate X delay의 결과가 가장 작은 네트워크 플로우)를 기준으로, 첫 번째 VNF 부터 마지막 VNF 노드를 탐색하여 매핑을 수행할 수 있다. 그 후, 재배열 단계(402)는 마지막에서 두 번째 네트워크 플로우를 기준으로, VNF 노드들 탐색하여 매핑을 수행할 수 있다. 두 번째 네트워크 플로우를 VNF 노드에 매핑할 경우, 처음으로 매핑 시 확인할 VNF 노드는 이전의 네트워크 플로우가 마지막으로 매핑한 VNF 노드의 다음 VNF 노드일 수 있다.Specifically, in the rearrangement step 402 , network flows may be mapped to virtual network function nodes by checking network flows in the reverse order of the order arranged by 40 (ie, in the order in which the result of rate X delay is small). Each network flow may be mapped with virtual network function nodes by sequentially discovering virtual network functions. For example, in the rearrangement step 402, first, based on the last network flow among the extracted network flows (ie, the network flow with the smallest rate X delay result), the first VNF to the last VNF node is searched mapping can be performed. After that, in the rearrangement step 402, mapping may be performed by searching for VNF nodes based on the second-to-last network flow. When the second network flow is mapped to a VNF node, the first VNF node to be checked during mapping may be a VNF node following the last mapped VNF node of the previous network flow.

즉, 재배열하는 단계는 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 정렬된 순서의 역순으로 각 네트워크 플로우를 재배열하고, 상기 재배열하는 단계는 상기 복수의 VNF 노드들을 순차적으로 탐색한다.That is, the rearranging step rearranges each network flow in the reverse order of the initially mapped at least one network flow, and the rearranging step sequentially searches for the plurality of VNF nodes.

제1보완 단계(403)는 복수의 VNF 노드들 중 제1 VNF 노드에 매핑된 제1플로우 및 복수의 VNF 노드들 중 제2 VNF 노드에 매핑된 플로우들 중 둘 이상의 플로우들을 교체하는 단계를 의미할 수 있다. 제1보완 단계(403)는 정렬된 네트워크 플로우들을 순차적으로 탐색하면서, VNF 노드들에 매핑된 플로우들끼리 교환 가능 여부 또는 교환 조건을 확인할 수 있다. 제1보완 단계(403)는 예를 들어, 시간지연 요구사항이 상대적으로 더 낮은 플로우가 교환되는 VNF에 추가적으로 새로운 플로우가 매핑가능할 경우 새로운 플로우를 매핑할 수 있다.The first supplementing step 403 means replacing two or more flows among a first flow mapped to a first VNF node among a plurality of VNF nodes and flows mapped to a second VNF node among a plurality of VNF nodes. can do. In the first supplementary step 403, it is possible to check whether or not exchange conditions between flows mapped to VNF nodes can be exchanged while sequentially searching for aligned network flows. In the first supplementary step 403, for example, when a new flow is additionally mappable to a VNF in which a flow having a relatively lower time delay requirement is exchanged, a new flow may be mapped.

예를 들어, 제1보완 단계(403)는 복수의 VNF 노드들 중 네트워크 플로우(들)이 매핑된 결과 처리 시간(예를 들어, 네트워크 플로우의 처리 시간의 총 합)이 특정 시간보다 큰 제1VNF 노드를 선택할 수 있다. 제1보완 단계(403)는 선택된 제1VNF 노드 내에서 처리 시간(또는 지연 요구 시간)이 큰 적어도 하나의 네트워크 플로우를 확인할 수 있다. 제1보완 단계(403)는 복수의 VNF 노드들 중 네트워크 플로우의 매핑된 결과 처리 시간(예를 들어, 네트워크 플로우의 처리 시간의 총 합)이 낮은(예를 들어, 특정 기준보다 낮은) 제2VNF 노드를 선택할 수 있다. 제1보완 단계(403)는 선택된 제1VNF 노드 내에서 처리 시간(또는 지연 요구 시간)이 낮은 적어도 하나의 네트워크 플로우를 확인할 수 있다. 제1보완 단계(403)는 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 제2플로우를 교체할 수 있다. 교체하는 과정에서 제 1VNF 노드에 추가적인 제3의 플로우를 매핑하게 된다.For example, in the first supplementary step 403, a first VNF in which a processing time (eg, a total sum of processing times of network flows) as a result of mapping network flow(s) among a plurality of VNF nodes is greater than a specific time node can be selected. In the first supplementing step 403, at least one network flow having a large processing time (or delay request time) may be identified within the selected first VNF node. In the first supplementary step 403, a second VNF having a low processing time (eg, a total sum of network flow processing times) of a plurality of VNF nodes mapped to a network flow (eg, lower than a specific criterion) node can be selected. In the first supplementing step 403, at least one network flow having a low processing time (or delay required time) may be identified within the selected first VNF node. The first supplement step 403 may replace the first flow mapped to the first VNF node and the second flow mapped to the second VNF node. In the process of replacement, an additional third flow is mapped to the first VNF node.

제2보완 단계(404)는 제1 VNF 노드에 매핑된 제1플로우를 상기 제1 VNF와 매핑되지 않은 플로우들 중 하나 이상의 플로우들로 교체하는 단계를 의미할 수 있다. 예를 들어, 제2보완 단계(404)는, 특정 VNF에 매핑된 특정 네트워크 플로우를 제외하였을 때, 그 대신에 매핑될 수 있는 다른 네트워크 플로우들의 합이 전보다 큰 경우 기존 매핑된 플로우를 매핑에서 해제하고 다른 네트워크 플로우들을 매핑할 수 있다.The second supplementing step 404 may mean replacing the first flow mapped to the first VNF node with one or more flows among flows not mapped to the first VNF. For example, in the second supplementary step 404, when a specific network flow mapped to a specific VNF is excluded, if the sum of other network flows that can be mapped instead is greater than before, releasing the existing mapped flow from the mapping and can map other network flows.

예를 들어, 제2보완 단계(404)는 복수의 VNF 노드들 중 네트워크 플로우(들)이 매핑된 결과 처리 시간(예를 들어, 네트워크 플로우의 처리 시간의 총 합)이 특정 시간보다 큰 제1VNF 노드를 선택할 수 있다. 제 2보완 단계는(404)는 선택된 제1VNF 노드의 전송 속도의 값이 작거나 짧은 시간 내에 처리를 요구하는 플로우 대신 누적 전송속도 합이 큰 플로우 세트를 선택할 수 있다. 제2보완 단계(404)는 선택된 제1VNF 노드 내에서 처리 시간(또는 지연 요구 시간)이 낮은 하나 또는 그 이상의 네트워크 플로우들(제2세트의 네트워크 플로우 또는 하나의 네트워크 플로우)을 확인할 수 있다. 제1보완 단계(404)는 제1VNF 노드에서 선택된 적어도 하나의 네트워크 플로우를 제2VNF 노드에서 선택된 적어도 하나의 네트워크 플로우 (또는 제1 VNF와 매핑되지 않은 플로우들 중 하나 이상의 플로우) 와 교체할 수 있다.For example, in the second supplementary step 404, a first VNF in which a processing time (eg, a total sum of processing times of network flows) as a result of mapping network flow(s) among a plurality of VNF nodes is greater than a specific time node can be selected. In the second supplementary step (404), a flow set having a large sum of cumulative transmission rates may be selected instead of flows having a small transmission rate value of the selected first VNF node or requiring processing within a short time. The second supplementing step 404 may check one or more network flows (a second set of network flows or one network flow) having a low processing time (or delay required time) within the selected first VNF node. In the first supplementing step 404, at least one network flow selected in the first VNF node may be replaced with at least one network flow selected in the second VNF node (or one or more flows among flows not mapped to the first VNF). .

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 제1보완 단계 및 제2보완 단계를 수행함으로써 특정 VNF 노드에 편중되어 네트워크 플로우들이 매핑되는 현상을 방지하고 균형 있게 매핑이 수행되도록 도울 수 있어 효율적인 트래픽 관리를 도모할 수 있는 효과를 제공할 수 있다.The virtual network function coordination method and apparatus according to the embodiments perform the first supplementary step and the second supplementary step, thereby preventing network flows from being mapped due to bias in a specific VNF node, and helping to balance the mapping. An effect capable of promoting efficient traffic management can be provided.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.A virtual network function coordination method and apparatus according to embodiments efficiently map data flows received from a plurality of sources to a plurality of virtual network functions, thereby maximizing the satisfaction of the required delay time of each flow, thereby eliminating unnecessary networks. delay can be avoided.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 탐욕 방법(Greedy Method)에 기반한 알고리즘을 이용하는 최적화된 매핑 방법을 제공함으로써 네트워크 플로우들의 지연 요구 사항을 만족함과 동시에 각 네트워크 플로우들을 차별 수신 또는 응답하는 현상을 방지할 수 있다.A virtual network function tuning method and apparatus according to embodiments provide an optimized mapping method using an algorithm based on a greedy method, thereby satisfying delay requirements of network flows and differentially receiving or responding to each network flow phenomenon can be prevented.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 모든 경우의 수를 확인하여 네트워크 플로우들과 VNF 노드들을 매핑하는 알고리즘에 대비하여 신속하고 효과적인 매핑을 제공하는 효과를 제공한다. A virtual network function tuning method and apparatus according to embodiments provide an effect of providing quick and effective mapping in preparation for an algorithm for mapping network flows and VNF nodes by checking the number of all cases.

도 5는 실시예들에 따른 전자 장치가 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들에 매핑하는 방법의 다른 예시를 나타내는 흐름도이다.5 is a flowchart illustrating another example of a method of mapping network flows to a plurality of virtual network function nodes by an electronic device according to embodiments.

도 5에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 1 내지 도 4에 나타난 전자 장치 또는 가상 네트워크 기능 조율 장치에 의해 수행될 수 있다. 도 5는 전자 장치가 네트워크 플로우들 및 가상 네트워크 기능 노드들을 효율적으로 매핑하기 위한 매핑 알고리즘의 예시를 나타낸다. 구체적으로, 도 5는 실시예들에 따른 매핑 알고리즘의 수행 결과에 따른 가상 네트워크 기능 노드들 및 각 네트워크 플로우의 데이터 전송의 시간 지연을 분석하고, 각 네트워크 플로우들의 지연 요구 시간(delay)과 비교하여 VNF와 플로우를 매핑하는 방법을 나타낸다.Some or all of the operations according to the embodiments shown in FIG. 5 may be performed by the electronic device or the virtual network function coordination device shown in FIGS. 1 to 4 . 5 shows an example of a mapping algorithm for an electronic device to efficiently map network flows and virtual network function nodes. Specifically, FIG. 5 analyzes the time delay of data transmission of virtual network function nodes and each network flow according to the result of performing the mapping algorithm according to the embodiments, and compares it with the delay required time (delay) of each network flow. Indicates how to map VNFs and flows.

실시예들에 따른 전자 장치는 도 5에 나타난 500 단계 내지 507 단계 중 적어도 하나를 수행할 수 있다.An electronic device according to embodiments may perform at least one of steps 500 to 507 shown in FIG. 5 .

500 단계를 참조하면, 실시예들에 따른 전자 장치는 수신하는 네트워크 플로우들을 정렬할 수 있다. 전자 장치는 각 네트워크 플로우의 전송 속도(rate) 정보 및 지연 요구 시간(delay) 정보를 확인하고, 이들을 곱한 결과(rate X delay)에 따라 오름차순 또는 내림차순으로 수신하는 네트워크 플로우들을 정렬할 수 있다. 500 단계는 예를 들어, 40에 나타난 동작 일부 또는 전부를 의미할 수 있다.Referring to step 500, the electronic device according to embodiments may arrange received network flows. The electronic device may check transmission rate (rate) information and delay request time (delay) information of each network flow, and sort received network flows in ascending or descending order according to a result obtained by multiplying them (rate X delay). Step 500 may mean part or all of the operation shown in step 40, for example.

501 단계를 참조하면, 실시예들에 따른 전자 장치는 많아도 모든 VNF 노드들의 수만큼 502 내지 507 단계를 수행하기 위하여 변수를 설정하는 단계를 의미할 수 있다. 전자 장치는 해당 반복 동작에 기초하여 탐색하기 위하여, 탐색하고자 하는 VNF 노드를 나타내는 변수를 1로 설정할 수 있다.Referring to step 501, the electronic device according to embodiments may refer to a step of setting variables to perform steps 502 to 507 as many as all VNF nodes at most. The electronic device may set a variable representing a VNF node to be searched to 1 in order to search based on the corresponding repetitive operation.

502 단계를 참조하면, 실시예들에 따른 전자 장치는 네트워크 플로우들과 VNF들을 매핑한 후 전체 시스템 내의 지연 시간을 측정하기 위하여 시간 측정을 시작할 수 있다.Referring to step 502, after mapping network flows and VNFs, the electronic device according to embodiments may start time measurement to measure delay time in the entire system.

503 단계를 참조하면, 실시예들에 따른 전자 장치는 매핑 알고리즘에 기초하여 네트워크 플로우들과 VNF들을 매핑할 수 있다. 실시예들에 따른 전자 장치는 503 단계에서, 41에서 설명한 동작들 일부 또는 전부를 수행할 수 있다. 503 단계는, 41에 나타난 초기 매핑 단계(401), 재배열 단계(402), 제1보완 단계(403) 및 제2보완 단계(404) 중 적어도 하나를 포함할 수 있다.Referring to step 503, the electronic device according to embodiments may map network flows and VNFs based on a mapping algorithm. In step 503, the electronic device according to embodiments may perform some or all of the operations described in step 41. Step 503 may include at least one of an initial mapping step 401 , a rearrangement step 402 , a first supplementation step 403 , and a second supplementation step 404 shown in 41 .

504 단계를 참조하면, 실시예들에 따른 전자 장치는 네트워크 플로우들과 VNF들을 매핑한 후 전체 시스템 내의 지연 시간을 측정하기 위하여 시간 측정을 종료할 수 있다.Referring to step 504, after mapping network flows and VNFs, the electronic device according to embodiments may terminate time measurement to measure delay time in the entire system.

505 단계를 참조하면, 실시예들에 따른 전자 장치는 복수의 네트워크 플로우들과 복수의 VNF 노드들이 매핑된 결과를 확인하고, 각 네트워크 플로우들이 도착 서버로 도착한 결과 지연 요구 시간(delay)들이 모두 부합되었는지 즉, QoS의 만족율이 100%인지 여부를 확인할 수 있다. 만약, 부합할 경우 실시예들에 따른 전자 장치는 최적의 매핑 방법을 제공하였으므로 가상 네트워크 기능 조율 방법을 종료할 수 있다.Referring to step 505, the electronic device according to the embodiments checks a result of mapping a plurality of network flows and a plurality of VNF nodes, and as a result of each network flow arriving at the arrival server, all delays match. That is, whether the satisfaction rate of QoS is 100% can be confirmed. If they match, the electronic device according to the embodiments provides the optimal mapping method, and thus the virtual network function coordination method may be terminated.

만약 각 네트워크 플로우들이 도착 서버로 도착한 결과 지연 요구 시간(delay)들 중 부합하지 않은 네트워크 플로우가 있는 경우 (즉, QoS가 100%를 만족하지 못한 경우), 실시예들에 따른 전자 장치는 506 단계를 참조하여, 501 단계에서 설정한 변수의 값이 VNF의 최대 가용 개수에 도달하였는지 여부를 확인할 수 있다. 만약 501 단계에서 설정한 변수의 값이 VNF의 최대 가용 개수에 도달하지 않았을 경우 507 단계를 참조하여 해당 변수의 값을 1 증가시키고, 변수의 값이 VNF의 최대 가용 개수에 도달하였을 경우 가상 네트워크 기능 조율 방법을 종료한다.If, as a result of each network flow arriving at the arrival server, there is a network flow that does not match among the delays (i.e., QoS does not satisfy 100%), the electronic device according to the embodiments performs step 506 Referring to , it can be checked whether the value of the variable set in step 501 has reached the maximum available number of VNFs. If the value of the variable set in step 501 does not reach the maximum available number of VNFs, refer to step 507 to increase the value of the variable by 1, and if the value of the variable reaches the maximum available number of VNFs, virtual network function End the tuning method.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)들의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.A virtual network function coordination method and apparatus according to embodiments efficiently map data flows received from a plurality of sources to a plurality of virtual network functions, thereby maximizing the satisfaction of delays of each flow, thereby eliminating unnecessary networks. delay can be avoided.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 탐욕 방법(Greedy Method)에 기반한 알고리즘을 이용하는 최적화된 매핑 방법을 제공함으로써 네트워크 플로우들의 지연 요구 사항을 만족함과 동시에 각 네트워크 플로우들을 차별 수신 또는 응답하는 현상을 방지할 수 있다.A virtual network function tuning method and apparatus according to embodiments provide an optimized mapping method using an algorithm based on a greedy method, thereby satisfying delay requirements of network flows and differentially receiving or responding to each network flow phenomenon can be prevented.

도 6은 실시예들에 따른 가상 네트워크 기능 조율 방법의 수행 결과를 분석한 것을 나타낸다.6 shows an analysis result of a virtual network function tuning method according to embodiments.

도 6은 실시예들에 따른 전자 장치가 도 5에 따른 매핑 알고리즘에 기초하여 매핑 동작을 수행한 결과를 나타낸다. 도 6에 나타난 결과들은, 실시예들에 따른 전자 장치가 매핑 알고리즘을 수행하여 매핑 동작을 수행하는 과정에서의 시간 지연(시간 복잡도), 전송률(전송 속도)를 나타낸다. 6 illustrates a result of performing a mapping operation based on the mapping algorithm of FIG. 5 by an electronic device according to embodiments. The results shown in FIG. 6 represent time delay (time complexity) and transmission rate (transmission rate) in a process in which the electronic device according to the embodiments performs a mapping algorithm to perform a mapping operation.

구체적으로, 도 6의 600 및 601은 매핑하고자 하는 가상 네트워크 기능들의 수 별로 매핑된 네트워크 플로우들의 평균적인 누적 전송 속도(average aggregate rate of mapped flows)를 나타낸 것이다. Specifically, 600 and 601 of FIG. 6 represent average aggregate rates of mapped flows for each number of virtual network functions to be mapped.

600을 참조하면, 실시예들에 따른 매핑 알고리즘을 이용하여 VNF 및 네트워크 플로우를 매핑한 결과를 나타낸다. 구체적으로 600은 브루트 포스(Brute force) 방법에 기반한 매핑 시 평균적인 누적 전송 속도, 랜더마이제이션(Randomization) 방법에 기반한 매핑 시 평균적인 누적 전송 속도, 및 실시예들에 따른 매핑 알고리즘(Greed Virtualized Network Functions Coordination algorithm, GVNFCA)에 기반한 매핑 시 평균적인 누적 전송 속도를 각각 나타낸다. 브루트 포스 방법은, VNF 및 네트워크 플로우를 매핑하는 모든 경우의 수를 탐색하여 해당하는 경우를 선택하는 방법으로, 매핑을 수행하는데 시간은 걸리나 가장 최적의 매핑 방법을 탐색한다. 랜더마이제이션 방법은 무작위로 VNF 및 네트워크 플로우를 매핑하는 방법을 나타낸다. 600을 참조하면, 실시예들에 따른 매핑 알고리즘(GVNFCA)은 브루트 포스 방법에 따라 최적의 매핑 방법에 준하는 수준의 전송 속도의 향상을 보임을 확인할 수 있다.Referring to 600, a result of mapping a VNF and a network flow using a mapping algorithm according to embodiments is shown. Specifically, 600 is an average cumulative transmission rate when mapping based on a brute force method, an average cumulative transmission rate when mapping based on a randomization method, and a mapping algorithm (Greed Virtualized Each represents an average cumulative transmission rate when mapping based on Network Functions Coordination algorithm (GVNFCA). The brute force method is a method in which the number of all mapping cases of VNFs and network flows is searched and a corresponding case is selected. Although it takes time to perform mapping, the most optimal mapping method is searched. The randomization method represents a method of randomly mapping VNFs and network flows. Referring to 600, it can be seen that the mapping algorithm (GVNFCA) according to the embodiments shows an improvement in transmission speed at a level comparable to the optimal mapping method according to the brute force method.

601을 참조하면, VNF들의 수가 증가함에 따라 변화하는 평균적인 누적 전송 속도를 랜더마이제이션 방법과 실시예들에 따른 매핑 알고리즘(GVNFCA)을 비교하여 나타낸다. 601을 참조하면, 실시예들에 따른 매핑 알고리즘(GVNFCA)은 랜더마이제이션 방법에 따른 매핑 방법보다 우월한 성능을 보임을 확인할 수 있다.Referring to 601, an average cumulative transmission rate that changes as the number of VNFs increases is shown by comparing the randomization method and the mapping algorithm (GVNFCA) according to the embodiments. Referring to 601, it can be confirmed that the mapping algorithm (GVNFCA) according to the embodiments shows superior performance to the mapping method according to the randomization method.

한편, 도 6의 602 내지 604는 매핑하고자 하는 가상 네트워크 기능들의 수 별로 각 매핑 알고리즘을 수행하는데 걸리는 시간(시간복잡도)를 나타낸다.Meanwhile, numerals 602 to 604 in FIG. 6 indicate the time (time complexity) required to perform each mapping algorithm for each number of virtual network functions to be mapped.

602을 참조하면, 브루트 포스 방법은, VNF 및 네트워크 플로우를 매핑하는 모든 경우의 수를 탐색하여 해당하는 경우를 선택하는 방법으로, 가장 최적의 매핑 방법을 탐색하지만 VNF의 수가 증가함에 따라 매핑을 수행하는데 시간은 기하급수적으로 증가한다. 반면 랜더마이제이션 방법에 따른 매핑 방법과 실시예들에 따른 매핑 알고리즘(GVNFCA)은 그 수행 시간이 브루트 포스 방법에 비해 현저하게 짧음을 확인할 수 있다. 특히 VNF의 개수가 3개인 경우 무려 5시간 반 이상 소요되는 브루트 포스 방법에 비해, 매핑 알고리즘(GVNFCA)는 0시간에 가까운(1초 이내) 훨씬 짧은 수행 시간을 보여 현저한 효과를 확인할 수 있다.Referring to 602, the brute force method searches the number of all cases for mapping VNFs and network flows and selects a corresponding case. The most optimal mapping method is searched, but as the number of VNFs increases, the mapping The time to do so increases exponentially. On the other hand, it can be confirmed that the execution time of the mapping method according to the randomization method and the mapping algorithm (GVNFCA) according to the embodiments is significantly shorter than that of the brute force method. In particular, compared to the brute force method, which takes more than 5 and a half hours when the number of VNFs is 3, the mapping algorithm (GVNFCA) shows a much shorter execution time close to 0 hours (within 1 second), showing a remarkable effect.

603은 VNF 수 별 랜더마이제이션 방법에 따른 매핑 방법과 실시예들에 따른 매핑 알고리즘(GVNFCA)의 수행 시간을 나타낸다. 603을 참조하면, 랜더마이제이션 방법에 따른 매핑 방법은 무작위 순서로 매핑하므로 VNF의 수가 증가함에 따라 수행 시간은 일정하다. 반면, 실시예들에 따른 매핑 알고리즘(GVNFCA)은 VNF의 수가 증가함에 따라 선형적으로 수행 시간이 증가하나, VNF 개수가 10에서 랜더마이제이션 방법 및 실시예들에 따른 매핑 알고리즘(GVNFCA) 모두 0.05초 이내로 수행이 가능함을 확인할 수 있다.603 indicates a mapping method according to a randomization method for each number of VNFs and an execution time of the mapping algorithm (GVNFCA) according to embodiments. Referring to step 603, since the mapping method according to the randomization method maps in a random order, execution time is constant as the number of VNFs increases. On the other hand, the mapping algorithm (GVNFCA) according to the embodiments increases the execution time linearly as the number of VNFs increases, but when the number of VNFs is 10, both the randomization method and the mapping algorithm (GVNFCA) according to the embodiments are 0.05 It can be confirmed that it can be performed within seconds.

604는, 실시예들에 따른 매핑 알고리즘을 수행한 결과, 지연 요구 시간(delay) 및 VNF의 수 별로 전송 속도의 향상을 나타낸다. 지연 요구 시간(delay)이 높은 경우에도 VNF의 수가 증가함에 따라 평균적인 누적 전송 속도가 향상되고 있음을 확인할 수 있다.604 shows an improvement in transmission speed for each delay and the number of VNFs as a result of performing the mapping algorithm according to the embodiments. It can be seen that the average cumulative transmission rate is improved as the number of VNFs increases even when the required delay time (delay) is high.

따라서, 실시예들에 따른 매핑 알고리즘을 수행하는 전자 장치는 무작위로 매핑하는 수준의 수행 시간으로도 최적의 매핑 방법을 제공할 수 있는 효과를 제공한다.Therefore, the electronic device that performs the mapping algorithm according to the embodiments provides an effect of providing an optimal mapping method even with an execution time of a level of random mapping.

도 7은 실시예들에 따른 가상 네트워크 기능 조율 방법의 예시를 나타낸다.7 shows an example of a virtual network function orchestration method according to embodiments.

도 7에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 1 내지 도 6에 나타난 전자 장치 또는 가상 네트워크 기능 조율 장치에 의해 수행될 수 있다.Some or all of the operations according to the embodiments shown in FIG. 7 may be performed by the electronic device or the virtual network function coordination device shown in FIGS. 1 to 6 .

도 7을 참조하면, 실시예들에 따른 전자 장치는 네트워크 플로우(network flow)들을 수신하는 단계(700), 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계(701), 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계(701), 및 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능 노드들에 매핑하는 단계(703) 중 적어도 하나를 포함할 수 있다.Referring to FIG. 7 , an electronic device according to embodiments receives network flows (step 700), checks transmission speed and delay requirements of network flows (step 701), transmits the network flows at least of: sorting the network flows based on speed and delay requirements (701); and mapping the network flows to a plurality of virtual network function nodes (703) based on the delay requirements of the network flows. may contain one.

실시예들에 따른 정렬하는 단계(701)는 각 네트워크 플로우의 상기 전송 속도 및 상기 지연 요구사항을 곱한 결과에 기초하여 상기 네트워크 플로우들을 정렬할 수 있다.In the sorting step 701 according to embodiments, the network flows may be sorted based on a result of multiplying the transmission rate and the delay requirement of each network flow.

매핑하는 단계(703)는 도 2 내지 도 4에 나타난 동작들 일부 또는 전부를 수행할 수 있다. The mapping step 703 may perform some or all of the operations shown in FIGS. 2 to 4 .

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우(네트워크 플로우)들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.A virtual network function coordination method and apparatus according to embodiments satisfy the delay required time (delay) of each flow by efficiently mapping data flows (network flows) received from a plurality of sources to a plurality of virtual network functions. By maximizing it, unnecessary network delay can be prevented.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 네트워크 플로우들을 복수의 가상 네트워크 기능들에 매핑하기 위해 전송률(rate) 및 지연 요구 시간(delay)을 곱한 결과에 기초하여 네트워크 플로우들을 정렬함으로써 지연 요구 시간(delay)과 네트워크의 전송률을 모두 최적화할 수 있는 매핑 방법을 제시할 수 있다.Virtual network function coordination method and apparatus according to embodiments arrange network flows based on a result of multiplying a transmission rate and a delay required time (delay) to map a plurality of network flows to a plurality of virtual network functions By doing so, it is possible to propose a mapping method that can optimize both the delay and the transmission rate of the network.

도 8은 실시예들에 따른 가상 네트워크 기능 조율 방법의 예시를 나타낸다.8 shows an example of a virtual network function orchestration method according to embodiments.

도 8에 나타난 실시예들에 따른 동작들 일부 또는 전부는 도 7의 가상 네트워크 기능 노드들에 매핑하는 단계(702)에서 수행될 수 있다.Some or all of the operations according to the embodiments shown in FIG. 8 may be performed in step 702 of mapping to the virtual network function nodes of FIG. 7 .

도 8을 참조하면, 실시예들에 따른 매핑하는 단계(702)는 상기 정렬된 네트워크 플로우들의 지연 요구사항을 탐색하여 적어도 하나의 네트워크 플로우를 적어도 하나의 VNF 노드에 초기 매핑하는 단계(800), 상기 복수의 VNF 노드들을 탐색하여 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 재배열하는 단계(801), 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 제2플로우를 교체하는 단계(802) 및 제1 VNF 노드에 매핑된 제1플로우를 상기 제1 VNF와 매핑되지 않은 플로우들 중 하나 이상의 플로우들로 교체하는 단계(803) 중 적어도 하나를 포함할 수 있다.Referring to FIG. 8 , the mapping step 702 according to embodiments includes searching delay requirements of the aligned network flows and initially mapping at least one network flow to at least one VNF node (800); Searching for the plurality of VNF nodes and rearranging the initially mapped at least one network flow (801), replacing the first flow mapped to the first VNF node and the second flow mapped to the second VNF node It may include at least one of step 802 and step 803 of replacing the first flow mapped to the first VNF node with one or more of flows not mapped to the first VNF.

실시예들에 따른 재배열하는 단계(801)는 초기 매핑된 적어도 하나의 네트워크 플로우를 정렬된 순서의 역순으로 각 네트워크 플로우를 재배열할 수 있다. 또한, 실시예들에 따른 재배열하는 단계(801)는 상기 복수의 VNF 노드들을 순차적으로 탐색할 수 있다. In the rearranging step 801 according to embodiments, each network flow may be rearranged in the reverse order of the initially mapped at least one network flow. In the rearrangement step 801 according to the embodiments, the plurality of VNF nodes may be sequentially searched.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 복수의 소스들로부터 수신하는 데이터 플로우들을 효율적으로 복수의 가상 네트워크 기능에 매핑함으로써 각 플로우들의 지연 요구 시간(delay)의 만족을 극대화함으로써 불필요한 네트워크의 지연을 방지할 수 있다.A virtual network function coordination method and apparatus according to embodiments efficiently map data flows received from a plurality of sources to a plurality of virtual network functions, thereby maximizing the satisfaction of the required delay time of each flow, thereby eliminating unnecessary networks. delay can be avoided.

실시예들에 따른 가상 네트워크 기능 조율 방법 및 그 장치는 탐욕 방법(Greedy Method)에 기반한 알고리즘을 이용하는 최적화된 매핑 방법을 제공함으로써 네트워크 플로우들의 지연 요구 사항을 만족함과 동시에 각 네트워크 플로우들을 차별 수신 또는 응답하는 현상을 방지할 수 있다.A virtual network function tuning method and apparatus according to embodiments provide an optimized mapping method using an algorithm based on a greedy method, thereby satisfying delay requirements of network flows and differentially receiving or responding to each network flow phenomenon can be prevented.

전술한 실시 예들에 따른 전자 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독 가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. An electronic device according to the above-described embodiments includes a processor, a memory for storing and executing program data, a permanent storage unit such as a disk drive, a communication port for communicating with an external device, a touch panel, a key, a button, and the like. The same user interface device and the like may be included. Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor. Here, the computer-readable recording medium includes magnetic storage media (e.g., read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and optical reading media (e.g., CD-ROM) ), and DVD (Digital Versatile Disc). A computer-readable recording medium may be distributed among computer systems connected through a network, and computer-readable codes may be stored and executed in a distributed manner. The medium may be readable by a computer, stored in a memory, and executed by a processor.

본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.This embodiment can be presented as functional block structures and various processing steps. These functional blocks may be implemented with any number of hardware or/and software components that perform specific functions. For example, an embodiment is an integrated circuit configuration such as memory, processing, logic, look-up table, etc., which can execute various functions by control of one or more microprocessors or other control devices. can employ them. Similar to components that can be implemented as software programming or software elements, the present embodiments include data structures, processes, routines, or various algorithms implemented as combinations of other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java), assembler, or the like. Functional aspects may be implemented in an algorithm running on one or more processors. In addition, this embodiment may employ conventional techniques for electronic environment setting, signal processing, and/or data processing. Terms such as "mechanism", "element", "means", and "composition" may be used broadly and are not limited to mechanical and physical components. The term may include a meaning of a series of software routines in association with a processor or the like.

전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.The foregoing embodiments are just examples, and other embodiments may be implemented within the scope of the claims described below.

Claims (10)

네트워크 플로우(network flow)들을 수신하는 단계;
상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계;
상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계; 및
상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualized Network Function, VNF) 노드들에 매핑(mapping)하는 단계; 를 포함하는,
가상 네트워크 기능 조율 방법.
receiving network flows;
checking transmission rate and delay requirements of the network flows;
sorting the network flows based on transmission rate and delay requirements of the network flows; and
mapping the network flows to a plurality of virtualized network function (VNF) nodes based on delay requirements of the network flows; including,
How to orchestrate virtual network functions.
제1항에 있어서, 상기 정렬하는 단계는 각 네트워크 플로우의 상기 전송 속도 및 상기 지연 요구사항을 곱한 결과에 기초하여 상기 네트워크 플로우들을 정렬하는,
가상 네트워크 기능 조율 방법.
The method of claim 1, wherein the sorting step sorts the network flows based on a result of multiplying the transmission rate and the delay requirement of each network flow.
How to orchestrate virtual network functions.
제2항에 있어서, 상기 매핑하는 단계는
상기 정렬된 네트워크 플로우들의 지연 요구사항을 탐색하여 적어도 하나의 네트워크 플로우를 적어도 하나의 VNF 노드에 초기 매핑하는 단계; 및
상기 복수의 VNF 노드들을 탐색하여 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 재배열하는 단계; 를 포함하는,
가상 네트워크 기능 조율 방법.
The method of claim 2, wherein the mapping step
initially mapping at least one network flow to at least one VNF node by searching delay requirements of the aligned network flows; and
searching for the plurality of VNF nodes and rearranging the initially mapped at least one network flow; including,
How to orchestrate virtual network functions.
제3항에 있어서, 상기 초기 매핑하는 단계는 상기 정렬된 네트워크 플로우들을 정렬된 순서로 순차적으로 탐색하여 각 VNF 노드를 매핑하는,
가상 네트워크 기능 조율 방법.
The method of claim 3, wherein the initial mapping step sequentially searches the sorted network flows in a sorted order to map each VNF node.
How to orchestrate virtual network functions.
제3항에 있어서, 상기 재배열하는 단계는 상기 초기 매핑된 적어도 하나의 네트워크 플로우를 정렬된 순서의 역순으로 각 네트워크 플로우를 재배열하는,
가상 네트워크 기능 조율 방법.
4. The method of claim 3 , wherein the rearranging comprises rearranging each network flow in reverse order of the order in which the initially mapped at least one network flow is sorted.
How to orchestrate virtual network functions.
제3항에 있어서, 상기 매핑하는 단계는 제1 VNF 노드에 매핑된 제1플로우 및 제2 VNF 노드에 매핑된 제2플로우를 교체하는 제1보완 단계를 포함하는,
가상 네트워크 기능 조율 방법.
The method of claim 3, wherein the mapping step comprises a first complementing step of replacing a first flow mapped to a first VNF node and a second flow mapped to a second VNF node.
How to orchestrate virtual network functions.
제3항에 있어서, 상기 매핑하는 단계는 제1 VNF 노드에 매핑된 제1플로우를 상기 제1 VNF와 매핑되지 않은 플로우들 중 하나 이상의 플로우들로 교체하는 제2보완 단계를 포함하는,
가상 네트워크 기능 조율 방법.
The method of claim 3, wherein the mapping step comprises a second supplementary step of replacing a first flow mapped to a first VNF node with one or more of flows not mapped to the first VNF.
How to orchestrate virtual network functions.
제5항에 있어서,
상기 재배열하는 단계는 상기 복수의 VNF 노드들을 순차적으로 탐색하는,
가상 네트워크 기능 조율 방법.
According to claim 5,
The rearranging step is to sequentially search the plurality of VNF nodes,
How to orchestrate virtual network functions.
가상 네트워크 기능을 조율하는 전자 장치에 있어서,
적어도 하나의 프로그램이 저장된 메모리; 및
상기 적어도 하나의 프로그램을 실행함으로써 네트워크 플로우(network flow)들을 수신하고, 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하고, 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하고, 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualized Network Function, VNF) 노드들에 매핑(mapping)하는 프로세서를 포함하는,
전자 장치.
An electronic device for coordinating virtual network functions,
a memory in which at least one program is stored; and
Receiving network flows by executing the at least one program, checking transmission speed and delay requirements of the network flows, and sorting the network flows based on the transmission speed and delay requirements of the network flows and a processor for mapping the network flows to a plurality of Virtualized Network Function (VNF) nodes based on delay requirements of the network flows.
electronic device.
네트워크 플로우(network flow)들을 수신하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항을 확인하는 단계; 상기 네트워크 플로우들의 전송 속도 및 지연 요구사항에 기반하여 상기 네트워크 플로우들을 정렬하는 단계; 및 상기 네트워크 플로우들의 지연 요구사항에 기초하여 상기 네트워크 플로우들을 복수의 가상 네트워크 기능(Virtualized Network Function, VNF) 노드에 매핑(mapping)하는 단계; 를 포함하는 가상 네트워크 기능 조율 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록 매체.
receiving network flows; checking transmission rate and delay requirements of the network flows; sorting the network flows based on transmission rate and delay requirements of the network flows; and mapping the network flows to a plurality of virtualized network function (VNF) nodes based on delay requirements of the network flows. A computer-readable non-transitory recording medium recording a program for executing a virtual network function coordination method on a computer.
KR1020210083453A 2021-06-25 2021-06-25 Method for coordination virtual network function and apparatus for the same KR102548926B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210083453A KR102548926B1 (en) 2021-06-25 2021-06-25 Method for coordination virtual network function and apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210083453A KR102548926B1 (en) 2021-06-25 2021-06-25 Method for coordination virtual network function and apparatus for the same

Publications (2)

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

Family

ID=84892349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210083453A KR102548926B1 (en) 2021-06-25 2021-06-25 Method for coordination virtual network function and apparatus for the same

Country Status (1)

Country Link
KR (1) KR102548926B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101465884B1 (en) * 2013-06-27 2014-11-26 고려대학교 산학협력단 Method and apparatus of probabilistic controller selection in software-defined networks
KR20190114126A (en) * 2018-03-29 2019-10-10 한국전자통신연구원 Software-defined network controller for controlling message transmission to switch based on processing completion delay time of message and method thereof
KR102101120B1 (en) * 2018-12-28 2020-04-16 연세대학교 산학협력단 Resource allocation method for virtualized network function based on user grouping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101465884B1 (en) * 2013-06-27 2014-11-26 고려대학교 산학협력단 Method and apparatus of probabilistic controller selection in software-defined networks
KR20190114126A (en) * 2018-03-29 2019-10-10 한국전자통신연구원 Software-defined network controller for controlling message transmission to switch based on processing completion delay time of message and method thereof
KR102101120B1 (en) * 2018-12-28 2020-04-16 연세대학교 산학협력단 Resource allocation method for virtualized network function based on user grouping

Also Published As

Publication number Publication date
KR102548926B1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
Fan et al. Workload allocation in hierarchical cloudlet networks
WO2020228469A1 (en) Method, apparatus and system for selecting mobile edge computing node
US11010188B1 (en) Simulated data object storage using on-demand computation of data objects
EP3422646B1 (en) Method and device for multi-flow transmission in sdn network
US10785163B2 (en) Maintaining a queuing policy with multipath traffic
US9740534B2 (en) System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program
US11570135B2 (en) Routing for large server deployments
KR20200017589A (en) Cloud server for offloading task of mobile node and therefor method in wireless communication system
CN110058937B (en) Method, apparatus and medium for scheduling dedicated processing resources
US20140189092A1 (en) System and Method for Intelligent Data Center Positioning Mechanism in Cloud Computing
Bolodurina et al. Development and research of models of organization distributed cloud computing based on the software-defined infrastructure
US20230030165A1 (en) Utilizing egress peer engineering to determine optimized traffic plans and to implement an optimized traffic plan
KR102548926B1 (en) Method for coordination virtual network function and apparatus for the same
EP2348686A1 (en) Information processing device, method and computer program for decide an address
WO2019167859A1 (en) Estimating device and estimating method
CN114513408B (en) ECN threshold configuration method and device
US10568112B1 (en) Packet processing in a software defined datacenter based on priorities of virtual end points
CN113839884B (en) Flow control method and device
US11714670B2 (en) VM priority level control system and VM priority level control method
CN112367708A (en) Network resource allocation method and device
CN116390152B (en) Data transmission method, device and medium for ATSSS in communication core network
US20240022514A1 (en) Dynamic load balancing based on flow characteristics
Pakhrudin et al. Cloud service analysis using round-robin algorithm for quality-of-service aware task placement for internet of things services
Oduwole et al. An enhanced load balancing technique for big-data cloud computing environments
US11579915B2 (en) Computing node identifier-based request allocation

Legal Events

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