KR102201799B1 - Dynamic load balancing method and dynamic load balancing device in sdn-based fog system - Google Patents

Dynamic load balancing method and dynamic load balancing device in sdn-based fog system Download PDF

Info

Publication number
KR102201799B1
KR102201799B1 KR1020190076241A KR20190076241A KR102201799B1 KR 102201799 B1 KR102201799 B1 KR 102201799B1 KR 1020190076241 A KR1020190076241 A KR 1020190076241A KR 20190076241 A KR20190076241 A KR 20190076241A KR 102201799 B1 KR102201799 B1 KR 102201799B1
Authority
KR
South Korea
Prior art keywords
node
fog
load balancing
nodes
overload
Prior art date
Application number
KR1020190076241A
Other languages
Korean (ko)
Other versions
KR20210000938A (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 KR1020190076241A priority Critical patent/KR102201799B1/en
Publication of KR20210000938A publication Critical patent/KR20210000938A/en
Application granted granted Critical
Publication of KR102201799B1 publication Critical patent/KR102201799B1/en

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법은, 복수의 포그 노드로부터 자원상태 정보를 수신하는 단계; 상기 자원상태 정보를 분석하여, 상기 복수의 포그 노드 중에서 과부하 상태의 과부하 노드를 확인하는 단계; 확인된 상기 과부하 노드와 SDN(Software Defined Networks) 스위칭이 가능한 이웃 포그 노드를 선별하는 단계; 및 상기 선별된 이웃 포그 노드 중에서, 상기 과부하 노드를 대체하는 로드밸런싱 노드를 결정하는 단계를 포함할 수 있다.Disclosed is an apparatus and method for dynamic load balancing in a software-defined network-based fog system. A dynamic load balancing method in a software-defined network-based fog system according to an embodiment of the present invention includes: receiving resource state information from a plurality of fog nodes; Analyzing the resource state information to identify an overload node in an overload state among the plurality of fog nodes; Selecting the identified overload node and a neighboring fog node capable of switching Software Defined Networks (SDN); And determining a load balancing node to replace the overload node from among the selected neighboring fog nodes.

Description

소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법 및 동적 로드밸런싱 장치{DYNAMIC LOAD BALANCING METHOD AND DYNAMIC LOAD BALANCING DEVICE IN SDN-BASED FOG SYSTEM}Dynamic load balancing method and dynamic load balancing device in a software-defined network-based fog system {DYNAMIC LOAD BALANCING METHOD AND DYNAMIC LOAD BALANCING DEVICE IN SDN-BASED FOG SYSTEM}

본 발명은 포그 시스템 환경에서 SDN의 구조를 이용하여, 실시간 네트워크 상태 정보를 로드밸런싱 알고리즘에 효과적으로 사용할 수 있게 하는, 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법 및 연동 장치에 관한 것이다.The present invention relates to a dynamic load balancing method and an interworking device in a software-defined network-based fog system that enables effective use of real-time network state information in a load balancing algorithm using the structure of an SDN in a fog system environment.

포그 컴퓨팅 기술은 기존 클라우드 컴퓨팅의 기능 및 성능을 획기적으로 개선할 수 있는 새로운 컴퓨팅 패러다임으로써, 오픈 포그 컨포시엄에서는 포그 컴퓨팅을 "클라우드의 연속체를 따라 컴퓨팅 스토리지 제어 및 네트워킹의 리소스와 서비스를 배포하는 시스템 구조"로 정의하고 있다.Fog computing technology is a new computing paradigm that can dramatically improve the functions and performance of existing cloud computing. In the open fog conposium, fog computing is "distributing computing storage control and networking resources and services along the continuum of the cloud. It is defined as "system structure".

즉, 포그 컴퓨팅 기술은 클라우드로 전송하거나 클라우드 서버에서 처리하는 응용 서비스 환경에서 네트워크 엣지에 위치한 포그 컴퓨팅 자원을 활용함으로써, 응용 서비스 처리에 필요한 컴퓨팅 자원을 분산함은 물론 응용 서비스의 처리 지연시간을 낮추는 기술일 수 있다.In other words, fog computing technology uses fog computing resources located at the edge of the network in an application service environment that is transmitted to the cloud or processed by a cloud server, thereby distributing computing resources required for application service processing and lowering the processing delay time of application services. It can be technology.

포그 컴퓨팅의 이점은 몇 가지 예시를 통해 알 수 있다.The benefits of fog computing can be seen through a few examples.

첫째로, VR 응용 프로그램 또는 실시간 게임 데이터는 즉시 데이터를 처리하여 클라이언트에 응답해야 한다. 예를 들어, VR 응용 프로그램 또는 실시간 게임 데이터는 유저와 데이터 센터 간 양방향 통신이 즉각적으로 이루어 져야 한다. 포그 컴퓨팅 기술을 이용하면 VR 응용 프로그램 또는 실시간 게임 데이터는 응답속도를 높일 수 있고 또한 클라우드까지의 트래픽 양도 줄일 수 있다.First, a VR application program or real-time game data must immediately process the data and respond to the client. For example, for VR application programs or real-time game data, two-way communication between the user and the data center must be made immediately. Using fog computing technology, VR applications or real-time game data can increase response speed and reduce the amount of traffic to the cloud.

둘째로, 포그 컴퓨팅 기술은 데이터를 데이터 센터 혹은 클라우드에 전송할 필요가 없이, 포그 컴퓨팅의 계산능력을 요구하는 경우에 연산 자원의 분산을 통하여 클라우드의 부하를 경감할 수 있다.Second, the fog computing technology does not need to transmit data to the data center or the cloud, and can reduce the load on the cloud through distribution of computational resources when the computational power of fog computing is required.

그러나 이러한 이점에도 불구하고 포그 컴퓨팅 기술은 여러 문제를 안고 있다. 특히, 포그 컴퓨팅 기술은 포그 노드 간 연산 부하를 효율적으로 조정하기 어렵다.However, despite these advantages, fog computing technology has several problems. In particular, fog computing technology is difficult to efficiently adjust the computational load between fog nodes.

또한, 포그 컴퓨팅 기술은 경우에 따라 하드웨어 자원의 제한으로 인하여 클라이언트의 요청을 수락 할 수 없는 문제가 발생하며, 많은 포그 노드가 유휴 상태임에도 불구하고 특정 포그 노드에 부하가 집중되는 불균형 문제가 초래될 수 있다.In addition, in some cases, fog computing technology may cause a problem that cannot accept a client's request due to the limitation of hardware resources, and an imbalance problem in which the load is concentrated on a specific fog node even though many fog nodes are idle. I can.

이러한 상황에서 로드밸런싱은 이 문제를 해결 할 좋은 방안일 수 있다. 로드밸런싱은 한 노드에 발생하는 트래픽이 많을 때, 각 노드의 연산부하, 자원 용량, 속도저하 등을 고려하여 다른 노드에 작업을 나누는 것을 의미할 수 있다.In this situation, load balancing can be a good solution to this problem. Load balancing may mean that when there is a lot of traffic occurring in one node, work is divided among other nodes in consideration of the computational load, resource capacity, and speed reduction of each node.

정적 로드밸런싱은 과부하 노드의 요청에 의해 클라이언트가 지정된 로드밸런싱 규칙(예, 라운드 로빈 방식, 가중치 방식 등)에 따라 진행할 수 있다. 하지만 정적 로드밸런싱은 각 노드의 상태를 고려하지 않고 배포하는 단점을 가지고 있다.Static load balancing can be performed according to load balancing rules (eg, round robin method, weight method, etc.) specified by the client at the request of the overloaded node. However, static load balancing has the disadvantage of deploying without considering the state of each node.

동적 로드밸런싱은 작업 노드의 변경 사항을 모니터링하고, 그에 따라 작업을 재배포할 수 있다. 동적 로드밸런싱은 노드에 사용자 요청이 오면, 선 처리 혹은 실시간으로 분산하여 노드의 부하를 감소시키는 방식일 수 있다. 또한, 동적 로드밸런싱은 노드 자원의 모니터링을 통해 노드의 상태를 고려하여 배포되는 장점을 가진다. 일반적으로 동적 로드밸런싱 알고리즘은 다른 노드로 전송할 수 있는 부하를 결정하고, 이후 전송된 작업을 실행할 수 있다. 이에 따라, 동적 로드밸런싱에서는 과부하 노드에서 다른 노드로 전송하는데, 경로를 재설정하는 등의 지연시간이 생기게 된다.Dynamic load balancing can monitor changes to a task node and redistribute tasks accordingly. Dynamic load balancing may be a method of reducing the load of a node by pre-processing or real-time distribution when a user request comes to a node. In addition, dynamic load balancing has the advantage of being deployed in consideration of the state of the node through monitoring of node resources. In general, a dynamic load balancing algorithm can determine the load that can be transferred to another node and then execute the transferred task. Accordingly, in dynamic load balancing, transmission is performed from an overloaded node to another node, and there is a delay time such as resetting the path.

이에 비해, 소프트웨어 정의 네트워크(SDN, Software Defined Networking) 기술을 활용할 경우에는, 각 노드의 지원 상태를 실시간으로 모니터링할 수 있고, 또한 로드밸런싱 노드 간 경로에서 대역폭을 보장할 수 있다.On the other hand, when a software defined network (SDN) technology is used, the support status of each node can be monitored in real time, and bandwidth can be guaranteed in the path between load balancing nodes.

따라서, 포그 시스템 환경에서 SDN의 구조를 이용하여, 실시간 네트워크 상태 정보를 로드밸런싱 알고리즘에 효과적으로 사용할 수 있게 하는, 새로운 기술이 절실히 요구되고 있다.Accordingly, there is an urgent need for a new technology that enables effective use of real-time network state information in a load balancing algorithm using the structure of SDN in a fog system environment.

본 발명의 실시예는, 포그 시스템 환경에서 SDN의 구조를 이용하여, 실시간 네트워크 상태 정보를 로드밸런싱 알고리즘에 효과적으로 사용하는, 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법 및 연동 장치를 제공하는 것을 목적으로 한다.An embodiment of the present invention is to provide a dynamic load balancing method and an interworking device in a software-defined network-based fog system that effectively uses real-time network state information in a load balancing algorithm using the SDN structure in a fog system environment. The purpose.

또한, 본 발명의 실시예는, 최적의 라우팅 경로를 계산하고 경로상 대역폭을 보장함으로써 로드밸런싱 노드 간 원활한 협업을 지원하는 것을 목적으로 한다.In addition, an embodiment of the present invention aims to support smooth collaboration between load balancing nodes by calculating an optimal routing path and guaranteeing a bandwidth on the path.

또한, 본 발명의 실시예는, 각 포그 노드로부터 보고 받은 상태 변경 정보를 바탕으로, 포그의 과부하가 발견되면, 최적 노드를 선택하여 로드밸런싱을 최적하게 수행할 수 있게 하는 것을 목적으로 한다.In addition, the embodiment of the present invention, based on the state change information reported from each fog node, if the overload of the fog is found, it is an object of the optimal node to be able to perform load balancing optimally.

또한, 본 발명의 실시예는, 과부하노드와 최적 노드간 최소경로를 탐색 설정함을 묻고, 경로상 오픈플로우 스위치 내 최소 대역폭을 선정함으로써 로드밸런싱 노드 간에 원활한 트래픽 교환 및 협업을 지원하는 것을 목적으로 한다.In addition, the embodiment of the present invention asks to search for and set the minimum path between the overload node and the optimal node, and to support smooth traffic exchange and collaboration between load balancing nodes by selecting the minimum bandwidth within the open flow switch on the path. do.

본 발명의 일실시예에 따른 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법은, 복수의 포그 노드로부터 자원상태 정보를 수신하는 단계; 상기 자원상태 정보를 분석하여, 상기 복수의 포그 노드 중에서 과부하 상태의 과부하 노드를 확인하는 단계; 확인된 상기 과부하 노드와 SDN(Software Defined Networks) 스위칭이 가능한 이웃 포그 노드를 선별하는 단계; 및 상기 선별된 이웃 포그 노드 중에서, 상기 과부하 노드를 대체하는 로드밸런싱 노드를 결정하는 단계를 포함할 수 있다.A dynamic load balancing method in a software-defined network-based fog system according to an embodiment of the present invention includes: receiving resource state information from a plurality of fog nodes; Analyzing the resource state information to identify an overload node in an overload state among the plurality of fog nodes; Selecting the identified overload node and a neighboring fog node capable of switching Software Defined Networks (SDN); And determining a load balancing node to replace the overload node from among the selected neighboring fog nodes.

또한, 본 발명의 실시예에 따른 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치는, 복수의 포그 노드로부터 자원상태 정보를 수신하는 수신부; 상기 자원상태 정보를 분석하여, 상기 복수의 포그 노드 중에서 과부하 상태의 과부하 노드를 확인하는 확인부; 확인된 상기 과부하 노드와 SDN 스위칭이 가능한 이웃 포그 노드를 선별하는 선별부; 및 상기 선별된 이웃 포그 노드 중에서, 상기 과부하 노드를 대체하는 로드밸런싱 노드를 결정하는 처리부를 포함하여 구성할 수 있다.In addition, a dynamic load balancing apparatus in a software-defined network-based fog system according to an embodiment of the present invention includes: a receiver configured to receive resource state information from a plurality of fog nodes; A verification unit for analyzing the resource state information and confirming an overload node in an overload state among the plurality of fog nodes; A selection unit for selecting the identified overload node and a neighboring fog node capable of SDN switching; And a processing unit determining a load balancing node replacing the overload node from among the selected neighboring fog nodes.

본 발명의 일실시예에 따르면, 포그 시스템 환경에서 SDN의 구조를 이용하여, 실시간 네트워크 상태 정보를 로드밸런싱 알고리즘에 효과적으로 사용하는, 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법 및 연동 장치를 제공할 수 있다.According to an embodiment of the present invention, a dynamic load balancing method and an interworking device in a software-defined network-based fog system that effectively uses real-time network state information in a load balancing algorithm using the SDN structure in a fog system environment are provided. can do.

또한, 본 발명의 일실시예에 따르면, 최적의 라우팅 경로를 계산하고 경로상 대역폭을 보장함으로써 로드밸런싱 노드 간 원활한 협업을 지원할 수 있다.In addition, according to an embodiment of the present invention, it is possible to support smooth cooperation between load balancing nodes by calculating an optimal routing path and guaranteeing a bandwidth on the path.

또한, 본 발명의 일실시예에 따르면, 각 포그 노드로부터 보고 받은 상태 변경 정보를 바탕으로, 포그의 과부하가 발견되면, 최적 노드를 선택하여 로드밸런싱을 최적하게 수행할 수 있다.Further, according to an embodiment of the present invention, when an overload of fog is detected based on state change information reported from each fog node, load balancing may be optimally performed by selecting an optimal node.

또한, 본 발명의 일실시예에 따르면, 과부하노드와 최적 노드간 최소경로를 탐색 설정함을 묻고, 경로상 오픈플로우 스위치 내 최소 대역폭을 선정함으로써 로드밸런싱 노드 간에 원활한 트래픽 교환 및 협업을 지원할 수 있다.In addition, according to an embodiment of the present invention, it is possible to support smooth traffic exchange and collaboration between load balancing nodes by asking for discovery and setting of a minimum path between an overloaded node and an optimal node, and selecting a minimum bandwidth within an open flow switch on the path. .

도 1은 본 발명의 일실시예에 따른, 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치의 내부 구성을 도시한 블록도이다.
도 2는 본 발명에 따른 SDN 기반의 포그 컴퓨팅 구조를 설명하기 위한 도면이다.
도 3은 본 발명에 따른 SDN기반의 포그 컴퓨팅 시스템에서의 소프트웨어 구조를 설명하기 위한 도면이다.
도 4는 본 발명에 따른 SDN기반 포그 시스템에서 과부하 노드 처리 절차를 설명하기 위한 도면이다.
도 5는 본 발명에 따른 과부하 노드에서의 트래픽 경로 재설정 및 후보 노드 성능 평가를 설명하기 위한 도면이다.
도 6은 본 발명에 따른 과부하 탐지 및 로드밸런싱 노드 선정 지연시간을 설명하기 위한 도면이다.
도 7은 본 발명에 따른 백그라운드 트래픽에 대한 처리 응답 성공률을 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 따른, 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법의 순서를 도시한 흐름도이다.
1 is a block diagram showing an internal configuration of a dynamic load balancing apparatus in a software-defined network-based fog system according to an embodiment of the present invention.
2 is a diagram for explaining an SDN-based fog computing structure according to the present invention.
3 is a diagram illustrating a software structure in an SDN-based fog computing system according to the present invention.
4 is a diagram illustrating a procedure for processing an overload node in the SDN-based fog system according to the present invention.
5 is a diagram for explaining a traffic route reconfiguration and a candidate node performance evaluation in an overloaded node according to the present invention.
6 is a diagram illustrating a delay time for detecting an overload and selecting a load balancing node according to the present invention.
7 is a diagram for explaining a success rate of a processing response to background traffic according to the present invention.
8 is a flowchart illustrating a procedure of a dynamic load balancing method in a software defined network-based fog system according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the rights of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents, or substitutes to the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for illustrative purposes only and should not be interpreted as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present invention. Does not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the embodiments, the detailed description thereof will be omitted.

도 1은 본 발명의 일실시예에 따른, 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치의 내부 구성을 도시한 블록도이다.1 is a block diagram showing an internal configuration of a dynamic load balancing apparatus in a software-defined network-based fog system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치(100)(이하, ' SDN 기반의 동적 로드밸런싱 장치'로 약칭함)는, 수신부(110), 확인부(120), 선별부(130), 및 처리부(140)를 포함하여 구성할 수 있다.1, a dynamic load balancing device 100 (hereinafter, abbreviated as'SDN-based dynamic load balancing device') in a software-defined network-based fog system according to an embodiment of the present invention, a receiver 110 ), it may be configured to include a check unit 120, a selection unit 130, and a processing unit 140.

우선, 수신부(110)는 복수의 포그 노드로부터 자원상태 정보를 수신한다. 즉, 수신부(110)는 SDN 컴퓨팅 구조를 구성하는 포그 노드 각각으로부터, 사용하는 자원에 대한 할당, 처리, 운용, 분배 등의 현 상황을, 데이터 형태로 보고 받는 역할을 할 수 있다.First, the receiving unit 110 receives resource status information from a plurality of fog nodes. That is, the receiving unit 110 may play a role of receiving, in data form, current status of allocation, processing, operation, and distribution of resources used from each fog node constituting the SDN computing structure.

상기 자원상태 정보는, 개별 포그 노드에서 작성될 수 있고, 정해진 주기의 도래에 따라, 포그 노드 각각으로부터 정기적으로 수신될 수 있다. 자원상태 정보에는, 예컨대 할당되어 처리해야 할 자원(리소스)의 양, 단위 시간 당 처리 가능한 자원의 양, 장애 발생 내역 등에 관한 데이터가 포함될 수 있다.The resource status information may be created in individual fog nodes, and may be periodically received from each fog node according to the arrival of a predetermined period. The resource status information may include data on, for example, an amount of resources (resources) to be allocated and processed, an amount of resources that can be processed per unit time, and failure occurrence details.

자원상태 정보의 수신에 있어, 수신부(110)는 리소스 사용량에 변화가 있는 포그 노드에서 실시간으로 작성되는 상태변경 정보를, 해당 포그 노드로부터 수신할 수 있다. 즉, 수신부(110)는 복수의 포그 노드와 연관되는 리소스 사용량에 변화가 발생하여 작성되는 상태변경 정보를, 상기 자원상태 정보로서 상기 복수의 포그 노드 각각으로부터 수신할 수 있다.In receiving the resource status information, the receiving unit 110 may receive status change information, which is created in real time in a fog node having a change in resource usage, from a corresponding fog node. That is, the receiving unit 110 may receive state change information generated by a change in resource usage associated with a plurality of fog nodes, as the resource state information, from each of the plurality of fog nodes.

여기서 상태변경 정보는, 포그 노드와 관련되어 구동되는 CPU, 메모리 등에서 리소스 사용량의 변화가 감지 됨에 따라, 해당 포그 노드에서, 변화된 리소스 사용량을 포함하여 작성될 수 있다.Here, the state change information may be generated by including the changed resource usage in the corresponding fog node as a change in resource usage is detected in a CPU, memory, etc. driven in connection with the fog node.

확인부(120)는 상기 자원상태 정보를 분석하여, 상기 복수의 포그 노드 중에서 과부하 상태의 과부하 노드를 확인한다. 즉, 확인부(120)는 자원상태 정보를 통해, 각 포그 노드 별로 자원 처리 정도를 파악하고, 타 포그 노드에 비해 많은 자원을 처리하여 임의의 임계치를 상회하는 포그 노드를 확인하는 역할을 할 수 있다.The verification unit 120 analyzes the resource state information and identifies an overload node in an overload state among the plurality of fog nodes. That is, the verification unit 120 can determine the degree of resource processing for each fog node through the resource status information, and process more resources than other fog nodes to identify fog nodes that exceed a certain threshold. have.

여기서 과부하 상태는, 자원의 처리에 있어, 적정 처리 규정량이나 작업량을 넘어서는 부하를 갖는 상태를 지칭하며, 이러한 과부하 상태가 지속되는 해당 포그 노드에서의 처리 시간이나 효율이 현저히 감소될 수 있다.Here, the overload state refers to a state in which a load exceeding an appropriate processing prescribed amount or workload in processing resources, and processing time or efficiency in a corresponding fog node in which such an overload state persists may be significantly reduced.

선별부(130)는 확인된 상기 과부하 노드와 SDN 스위칭이 가능한 이웃 포그 노드를 선별한다. 즉, 선별부(130)는 과부하 노드로 확인된 포그 노드와 네트워킹 기능이 동일하여, 해당 포그 노드가 현재 수행하는 동작을 그대로 승계할 수 있는 이웃 포그 노드를 찾아내는 역할을 할 수 있다.The selection unit 130 selects the identified overload node and a neighboring fog node capable of SDN switching. That is, the selection unit 130 may serve to find a neighboring fog node capable of inheriting an operation currently performed by the corresponding fog node as it is because the fog node identified as an overload node has the same networking function.

상기 SDN 스위칭은 포그 노드 간을 상호 연결해두고, 필요에 따라 개별 포그 노드에 대해 기능 활성화 또는 기능 비활성화를 선택하는 코어 SDN 스위치(core SDN switch)에 의해 구현될 수 있다.The SDN switching may be implemented by a core SDN switch that interconnects fog nodes and selects activation or deactivation of functions for individual fog nodes as needed.

만약, 기능 활성화된 단일의 포그 노드가 과부하 노드로 확인되는 경우, 선별부(130)는 기능 비활성화의 상태인 다른 포그 노드에 대해 기능 활성화로 전환되도록 SDN 스위치에 명령하여, 상기 다른 포그 노드를, 이웃 포그 노드로 선별할 수 있다.If, when a single fog node in which the function is activated is identified as an overload node, the selection unit 130 instructs the SDN switch to switch to function activation for another fog node in the function inactivation state, and the other fog node, It can be selected by neighboring fog nodes.

처리부(140)는 상기 선별된 이웃 포그 노드 중에서, 상기 과부하 노드를 대체하는 로드밸런싱 노드를 결정한다. 즉, 처리부(140)는 과부하 노드와 네트워킹 기능이 동일하여 선별된 이웃 포그 노드 중에서, 상기 과부하 노드와 실제로 기능 스위칭하는 하나의 이웃 포그 노드를 택해, 로드밸런싱 노드로 정하는 역할을 할 수 있다.The processing unit 140 determines a load balancing node to replace the overload node from among the selected neighboring fog nodes. That is, the processing unit 140 may play a role of selecting one neighboring fog node that actually performs function switching with the overload node from among neighboring fog nodes selected because the overload node has the same networking function as the load balancing node.

로드밸런싱 노드의 결정에 있어, 처리부(140)는 과부하 노드와의 이격된 거리를 따져, 특정의 이웃 포그 노드를 로드밸런싱 노드로 정할 수 있다.In determining the load balancing node, the processing unit 140 may determine a specific neighboring fog node as the load balancing node based on a distance from the overload node.

이를 위해, 처리부(140)는 상기 이웃 포그 노드 중에서, 정해진 임계값 이하의 자원 사용률을 갖는 유휴 노드를 검색할 수 있다. 즉, 처리부(140)는 자원의 처리 여력이 수치적으로 충분히 남아 있는 이웃 포그 노드를 유휴 노드로서 1차 필터링 할 수 있다.To this end, the processing unit 140 may search for an idle node having a resource usage rate less than or equal to a predetermined threshold among the neighboring fog nodes. That is, the processing unit 140 may perform primary filtering of neighboring fog nodes in which the processing capacity of resources is sufficiently remaining numerically as idle nodes.

이후, 처리부(140)는 상기 유휴 노드 중에서, 상기 과부하 노드와 최단 거리의 경로를 갖는 유휴 노드를, 상기 로드밸런싱 노드로서 결정할 수 있다. 즉, 처리부(140)는 과부하 노드와 떨어져있는 이격 거리를 기준으로 2차 필터링하여, 상기 과부하 노드와 가장 가까이 있는 하나의 유휴 노드를 로드밸런싱 노드로 결정할 수 있다.Thereafter, the processing unit 140 may determine, among the idle nodes, an idle node having a path having the shortest distance from the overload node as the load balancing node. That is, the processing unit 140 may perform secondary filtering based on a separation distance away from the overload node, and determine one idle node closest to the overload node as the load balancing node.

처리부(140)는 결정되는 로드밸런싱 노드로, 상기 과부하 노드의 일부 기능을 가져와 대체 수행하도록 할 수 있다.The processing unit 140 is a determined load balancing node, and may bring some functions of the overload node and perform replacement.

다른 실시예에서, 처리부(140)는 과부하 노드와의 대역폭을 이용하여, 특정의 이웃 포그 노드를 로드밸런싱 노드로 정할 수 있다.In another embodiment, the processor 140 may determine a specific neighboring fog node as a load balancing node by using the bandwidth with the overload node.

처리부(140)는 상기 이웃 포그 노드 중에서, 정해진 임계값 이하의 자원 사용률을 갖는 유휴 노드를 검색할 수 있다.The processing unit 140 may search for an idle node having a resource usage rate equal to or less than a predetermined threshold among the neighboring fog nodes.

또한, 처리부(140)는 상기 유휴 노드 중에서, 상기 과부하 노드와 최단 거리의 경로를 갖는 유휴 노드를 재검색할 수 있다.In addition, the processing unit 140 may re-search for an idle node having a path of the shortest distance from the overload node among the idle nodes.

또한, 처리부(140)는 상기 재검색된 유휴 노드 중에서, 상기 과부하 노드와 최소 대역폭을 갖는 유휴 노드를, 상기 로드밸런싱 노드로서 결정할 수 있다.In addition, the processing unit 140 may determine an idle node having a minimum bandwidth and the overload node from among the rediscovered idle nodes as the load balancing node.

처리부(140)는 최단 경로 상에 플로우 룰(flow-rule)의 동적설치를 통해서 QoS (bandwidth guarantee)를 제공할 수 있다. 처리부(140)는 과부하노도와, 로드밸런싱 노드 사이 최적 경로를 결정한 후, 다른 트래픽이 방해하지 않도록 오픈플로우 룰(openflow rule)의 동적 설정을 통해서 두 노드 간의 대역폭을 미리 할당할 수 있다.The processing unit 140 may provide a bandwidth guarantee (QoS) through dynamic installation of a flow-rule on the shortest path. The processing unit 140 may pre-allocate the bandwidth between the two nodes through dynamic setting of an openflow rule so as not to interfere with other traffic after determining an overload effort and an optimal path between the load balancing nodes.

즉, 처리부(140)는 최단 경로 상의 유휴 노드와 과부하 노드 간의 최소 대역폭을 오픈플로우 스위치를 통해 설정하고, 최소 대역폭을 갖는 특정의 유휴 노드를, 상기 로드밸런싱 노드로 결정할 수 있다.That is, the processing unit 140 may set a minimum bandwidth between an idle node on a shortest path and an overload node through an openflow switch, and determine a specific idle node having the minimum bandwidth as the load balancing node.

로드밸런싱 노드의 결정 후, 처리부(140)는 결정되는 로드밸런싱 노드로 과부하 노드의 트래픽을 분산할 수 있게 한다.After determining the load balancing node, the processing unit 140 enables the traffic of the overload node to be distributed to the determined load balancing node.

정리하면, SDN 기반의 동적 로드밸런싱 장치(100)는 SDN을 이용해서 fog nodes의 상태를 실시간으로 파악해서, 실시간 overloaded node (과부하 노드)를 탐색할 수 있다.In summary, the SDN-based dynamic load balancing device 100 may detect the state of fog nodes in real time using SDN and search for an overloaded node (overload node) in real time.

또한 SDN 기반의 동적 로드밸런싱 장치(100)는 로드밸런싱을 위해서, SDN 기반의 최적 load balancing node 및 둘 사이의 routing 경로를 결정할 수 있다. 이때, 최적 load balancing 노드는 CPU 유휴 자원이 있는 노드들 중에 overloaded node (과부하노드)와 가장 가까운 노드를 선택할 수 있다.In addition, the SDN-based dynamic load balancing apparatus 100 may determine an SDN-based optimal load balancing node and a routing path between the two for load balancing. At this time, the optimal load balancing node may select a node closest to the overloaded node (overload node) among nodes with idle CPU resources.

또한, SDN 기반의 동적 로드밸런싱 장치(100)는 최적 routing 경로상에 flow-rule의 동적설치를 통해서 QoS (bandwidth guarantee)를 제공할 수 있다. 여기서, overloaded node와 load balancing 노드 사이 최적 경로를 결정한 후에는, 다른 트래픽이 방해하지 않도록 “openflow rule”의 동적 설정을 통해서 두 노드 간의 대역폭을 미리 할당할 수 있다.In addition, the SDN-based dynamic load balancing device 100 may provide a bandwidth guarantee (QoS) through dynamic installation of flow-rules on an optimal routing path. Here, after determining the optimal path between the overloaded node and the load balancing node, the bandwidth between the two nodes can be pre-allocated through dynamic setting of the “openflow rule” so that other traffic does not interfere.

실시예에 따라, 처리부(140)는 과부하 노드 내 특정 노드를 선택적으로 대체시키는 로드밸런싱을 할 수 있다.Depending on the embodiment, the processing unit 140 may perform load balancing to selectively replace a specific node within an overload node.

이러한 실시예는, 확인부(120)에서, 과부하 노드를, 포그 노드 전체가 아닌, 포그 노드 내 특정 노드(제1 노드)로 확인 함에 따라 구현될 수 있다.This embodiment may be implemented by confirming the overload node as a specific node (first node) within the fog node, not the entire fog node, in the verification unit 120.

즉, 상기 과부하 노드가 상기 복수의 포그 노드에 속하는 제1 노드로 확인되는 경우, 처리부(140)는, 상기 이웃 포그 노드에 속하면서, 상기 제1 노드와 가장 가까운 경로로 이격되어 있는 제2 노드를 결정하여, 상기 제1 노드를 대체할 수 있다.That is, when the overload node is identified as a first node belonging to the plurality of fog nodes, the processing unit 140 selects a second node belonging to the neighboring fog node and spaced apart by a path closest to the first node. By determining, it is possible to replace the first node.

예컨대, 자원 사용률이 임계값을 초과하는 포그 노드를 대상으로, 확인부(120)는 해당 포그 노드에 속하는 노드 별로, 개별 자원 사용률을 측정하고, 자원 사용률이 정해진 임계치를 넘어 가장 큰 노드를 과부하 노드로 확인할 수 있다.For example, targeting a fog node whose resource usage rate exceeds a threshold value, the verification unit 120 measures an individual resource usage rate for each node belonging to the corresponding fog node, and loads the node whose resource usage rate exceeds a predetermined threshold value. It can be confirmed with

이후 처리부(140)는, 해당 포그 노드와 SDN 스위칭이 가능하여 선별된 이웃 포그 노드에 속하는 노드 각각에 대해, 상기 제1 노드와의 이격 거리를 연산하여, 가장 짧은 이격 거리의 경로를 갖는 제2 노드를 결정할 수 있다.Thereafter, the processing unit 140 calculates a separation distance from the first node for each of the nodes belonging to the selected neighboring fog nodes by enabling SDN switching with the corresponding fog node, and a second having the path of the shortest separation distance. Nodes can be determined.

상기 제2 노드의 결정 후, 처리부(140)는 제2 노드로, 상기 제1 노드의 적어도 일부 기능을 가져와 대체 수행하도록 할 수 있다.After determining the second node, the processing unit 140 may bring at least some functions of the first node to the second node and perform replacement.

본 발명의 일실시예에 따르면, 포그 시스템 환경에서 SDN의 구조를 이용하여, 실시간 네트워크 상태 정보를 로드밸런싱 알고리즘에 효과적으로 사용하는, 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법 및 연동 장치를 제공할 수 있다.According to an embodiment of the present invention, a dynamic load balancing method and an interworking device in a software-defined network-based fog system that effectively uses real-time network state information in a load balancing algorithm using the SDN structure in a fog system environment are provided. can do.

또한, 본 발명의 일실시예에 따르면, 최적의 라우팅 경로를 계산하고 경로상 대역폭을 보장함으로써 로드밸런싱 노드 간 원활한 협업을 지원할 수 있다.In addition, according to an embodiment of the present invention, it is possible to support smooth cooperation between load balancing nodes by calculating an optimal routing path and guaranteeing a bandwidth on the path.

또한, 본 발명의 일실시예에 따르면, 각 포그 노드로부터 보고 받은 상태 변경 정보를 바탕으로, 포그의 과부하가 발견되면, 최적 노드를 선택하여 로드밸런싱을 최적하게 수행할 수 있다.Further, according to an embodiment of the present invention, when an overload of fog is detected based on state change information reported from each fog node, load balancing may be optimally performed by selecting an optimal node.

또한, 본 발명의 일실시예에 따르면, 과부하노드와 최적 노드간 최소경로를 탐색 설정함을 묻고, 경로상 오픈플로우 스위치 내 최소 대역폭을 선정함으로써 로드밸런싱 노드 간에 원활한 트래픽 교환 및 협업을 지원할 수 있다.In addition, according to an embodiment of the present invention, it is possible to support smooth traffic exchange and collaboration between load balancing nodes by asking for discovery and setting of a minimum path between an overloaded node and an optimal node, and selecting a minimum bandwidth within an open flow switch on the path. .

본 발명에 따른 SDN기반의 동적 로드밸런싱 기술을 실현하기 위해서는 다음과 같은 기술이 필요하다.In order to realize the SDN-based dynamic load balancing technology according to the present invention, the following technology is required.

1) SDN기반 포그 시스템 구조1) SDN-based fog system structure

2) SDN기반 포그 노드 상태의 실시간 모니터링 및 최적 로드밸런싱 노드의 선정2) Real-time monitoring of SDN-based fog node status and selection of optimal load balancing nodes

3) 오픈플로우기반 코어 네트워크 환경에서 동적 플로우룰 설정을 통한 포그 노드 간 대역폭 보장기술3) Bandwidth guarantee technology between fog nodes through dynamic flow rule setting in open flow-based core network environment

도 2는 본 발명에 따른 SDN 기반의 포그 컴퓨팅 구조를 설명하기 위한 도면이다.2 is a diagram for explaining an SDN-based fog computing structure according to the present invention.

도 2에서와 같이, 1) SDN기반 포그 시스템 구조는 노드 상태를 실시간으로 SDN컨트롤러(SDN controller)에 전송할 수 있는 포그 노드 구조를 포함하고 있다.As shown in FIG. 2, 1) SDN-based fog system structure includes a fog node structure capable of transmitting a node state to an SDN controller in real time.

SDN컨트롤러는 개별 포그 노드로부터 자원상태 정보를 받고, 로드밸런싱 메커니즘을 수행할 수 있다.The SDN controller can receive resource status information from individual fog nodes and perform a load balancing mechanism.

네트워크 코어는 오픈플로우 기반의 네트워크 장치로서, 코어 SDN 스위치(Core SDN switch) 또는 라우터로 구성될 수 있다.The network core is an openflow-based network device, and may be configured as a core SDN switch or a router.

SDN컨트롤러는 포그 노드 사이의 로드밸런싱을 결정할 때, 플로우 규칙의 동적 설정을 통하여, 포그 노드 간 통신 링크의 품질(QoS, Quality of Service)을 보장할 수 있다. When determining the load balancing between fog nodes, the SDN controller can guarantee the quality of a communication link between fog nodes (QoS, Quality of Service) through dynamic setting of flow rules.

도 3은 본 발명에 따른 SDN기반의 포그 컴퓨팅 시스템에서의 소프트웨어 구조를 설명하기 위한 도면이다.3 is a diagram illustrating a software structure in an SDN-based fog computing system according to the present invention.

도 3에서는, SDN기반의 동적 로드밸런싱 기술을 실현하기 위해 각 개체의 소프트웨어 구조를 나타낸다.3 shows the software structure of each entity in order to realize the SDN-based dynamic load balancing technology.

포그 노드(Fog Node)는 소프트웨어 구조의 최하위 계층에 해당할 수 있다. 상기 최하위 계층에는, 예컨대 스마트 폰, 무선 카메라, 센서 장치 등과 같이 사용자 장치를 연결하는 다수의 포그 노드가 포함될 수 있다.The fog node may correspond to the lowest layer of the software structure. The lowermost layer may include a plurality of fog nodes connecting user devices, such as a smart phone, a wireless camera, and a sensor device.

각 포그 노드에는 액세스 포인트 모듈(Access Point), 한 개 이상의 컴퓨팅 서비스 모듈(Computational Services), 포그 에이전트(Fog Agent), 및 오픈플로우 스위치 모듈(OpenFlow Switch)을 포함할 수 있다.Each fog node may include an access point module (Access Point), one or more computing service modules (Computational Services), a fog agent (Fog Agent), and an OpenFlow switch module (OpenFlow Switch).

액세스 포인트 모듈은 무선 게이트웨이의 역할을 할 수 있으며, 컴퓨팅 서비스 모듈은 사용자의 요청을 지역적으로 처리할 수 있다. 이에 따라, SDN 기반의 동적 로드밸런싱 장치(100)는 응용프로그램 및 비즈니스 서비스 데이터를 클라우드로 전달하는 대신, 엣지 노드에서 실행 함으로써 응답 처리 및 서비스 지연시간을 현저히 줄일 수 있게 한다.The access point module may serve as a wireless gateway, and the computing service module may locally process user requests. Accordingly, the SDN-based dynamic load balancing device 100 can significantly reduce response processing and service delay time by executing the application program and business service data in an edge node instead of transmitting it to the cloud.

또한, 포그 에이전트는 포그 노드의 실시간 자원상태 정보를 SDN컨트롤러에 보고할 수 있으며, SDN컨트롤러의 명령어에 따라 로드밸런싱 등을 수행할 수 있다.In addition, the fog agent may report real-time resource status information of the fog node to the SDN controller, and perform load balancing according to the command of the SDN controller.

포그 노드 각각은 포그 노드의 자원상태 정보를 수집하여, SDN 컨트롤러에 전달할 수 있다. 이후, SDN 컨트롤러는 플로우 규칙을 네트워크 응용프로그램에 따라 수정할 수 있다.Each fog node may collect resource status information of the fog node and transmit it to the SDN controller. Thereafter, the SDN controller can modify the flow rule according to the network application program.

코어 오픈플로우 스위치(Core OpenFlow Switch)는 네트워크 코어가 오픈플로우 기반의 네트워크 장치로 구성됨에 따라 구현될 수 있다. 코어 오픈플로우 스위치 는 포그 노드의 종단(과부하 노드-로드밸런싱 노드)간 최적 경로 및 최소 대역폭의 동적 설정을 가능하게 한다.The Core OpenFlow Switch may be implemented as the network core is configured as an openflow-based network device. The core openflow switch enables dynamic setting of the optimal path and minimum bandwidth between the end of the fog node (overload node-load balancing node).

컨트롤러(Controller)는 SDN 컨트롤러와 Fog orchestrator 모듈을 포함할 수 있으며, 포그 시스템의 자원 상태관리, 로드밸런싱 등의 결정을 담당할 수 있다.The controller may include an SDN controller and a fog orchestrator module, and may be in charge of decisions such as resource state management and load balancing of the fog system.

토폴로지 서비스(Topology Service)는 LLDP(Link Layer Discovery Protocol) 등을 사용하여 포그시스템의 토폴로지를 모니터링하고 관리할 수 있다.Topology Service can monitor and manage the topology of the fog system using the Link Layer Discovery Protocol (LLDP) or the like.

플로우 서비스(Flow Service)는 시스템 내 트래픽을 실시간 모니터링하고, 포그 노드 간의 최적 경로를 설정할 수 있다.The flow service can monitor traffic in the system in real time and set an optimal path between fog nodes.

포그 오케스트레이션(Fog Orchestration)은 포그 노드의 자원상태 정보를 수집할 수 있다.Fog Orchestration can collect resource status information of fog nodes.

서비스(Services)는 네트워크 오케스트레이터(ex, Openstack, Cloudify)를 포함하거나, 클라우드 네트워크에 속하는 서비스 계층이다.Services are a service layer that includes a network orchestrator (ex, Openstack, Cloudify) or belongs to a cloud network.

또한, 서비스는 사용자에게 최종 서비스를 제공하고 QoS, QoE 및 포그 노드 관리 자원 할당 등 다양한 서비스를 제공할 수 있다. 예를 들어, 동적 로드밸런싱 서비스 모듈은 포그 노드의 로드밸런싱을 담당하고, 하위 계층에서 수집한 데이터를 활용하고 트래픽 혼잡이 발생하는 경우 트래픽 경로 재설정을 수정하는 등 다양한 서비스를 제공할 수 있다.In addition, the service can provide the final service to the user and provide various services such as QoS, QoE, and fog node management resource allocation. For example, the dynamic load balancing service module is responsible for load balancing of fog nodes, utilizes data collected from lower layers, and can provide various services such as correcting traffic reroute when traffic congestion occurs.

도 4는 본 발명에 따른 SDN기반 포그 시스템에서 과부하 노드 처리 절차를 설명하기 위한 도면이다.4 is a diagram illustrating a procedure for processing an overload node in the SDN-based fog system according to the present invention.

도 4에서는 2) SDN기반 포그 노드 상태의 실시간 모니터링 및 최적 로드밸런싱 노드의 선정에 있어서, 컨트롤러와 포그 노드 간 밸런싱 메커니즘을 보여준다.FIG. 4 shows a balancing mechanism between a controller and a fog node in 2) real-time monitoring of the state of an SDN-based fog node and selection of an optimal load balancing node.

컨트롤러는 포그 노드의 상태와 네트워크 정보를 실시간으로 수집하고 모니터링 할 수 있다. 만약, 특정의 포그 노드의 과부하 상태를 탐지하면, 컨트롤러는 포그 노드의 CPU, RAM 사용량 등 부하를 분산하기 위한 로드밸런싱 노드를 선정하고, 로드밸런싱 노드로 선정된 해당 포그 노드에게 요청메시지를 전송할 수 있다. 이후, 해당 포그 노드가 협업준비를 완료하면, 컨트롤러는 과부하 노드에서 협업하는 포그 노드의 트래픽 전달을 시작할 수 있다.The controller can collect and monitor the status and network information of the fog node in real time. If an overload condition of a specific fog node is detected, the controller selects a load balancing node to distribute the load such as CPU and RAM usage of the fog node, and can send a request message to the corresponding fog node selected as the load balancing node. have. Thereafter, when the corresponding fog node completes preparation for collaboration, the controller can start delivering traffic from the cooperative fog node in the overloaded node.

포그 노드는 노드의 CPU, RAM 등 자원 상태를 컨트롤러에 보고할 수 있다. 과부하 상황이 발생하면, 포그 노드는 컨트롤러에 이를 즉시 알릴 수 있다.The fog node can report the state of resources such as CPU and RAM of the node to the controller. In the event of an overload condition, the fog node can immediately notify the controller.

이후 컨트롤러는 로드밸런싱 응용 서비스를 실행할 수 있다. 로드밸런싱 응용 서비스는 포그 노드의 실시간 자원현황 및 포그 시스템의 토폴로지 정보를 바탕으로 최적의 로드밸런싱 노드를 선정할 수 있다. 최적의 로드밸런싱 노드는 특정 임계값 이하의 자원 사용률을 갖는 유휴 노드 중에 과부하 노드와 가까운 위치의 노드로 선정할 수 있다.After that, the controller can run the load balancing application service. The load balancing application service can select an optimal load balancing node based on the real-time resource status of the fog node and topology information of the fog system. The optimal load balancing node may be selected as a node located close to the overload node among idle nodes having a resource utilization rate below a specific threshold.

또한, 로드밸런싱 노드 선정 후에는 과부하 노드와 로드밸런싱 노드 사이 최적경로를 탐색하고, 오픈플로우 스위치를 통하여 경로를 설정할 수 있으며, 이때 최소 대역폭을 설정함으로써 두 노드 사이에 안정적인 트래픽 교환 및 협업을 지원할 수 있다.In addition, after selecting a load balancing node, the optimal path between the overload node and the load balancing node can be searched, and the path can be set through an open flow switch.At this time, by setting the minimum bandwidth, stable traffic exchange and collaboration between the two nodes can be supported. have.

도 5는 본 발명에 따른 과부하 노드에서의 트래픽 경로 재설정 및 후보 노드 성능 평가를 설명하기 위한 도면이다.5 is a diagram for explaining a traffic route reconfiguration and a candidate node performance evaluation in an overloaded node according to the present invention.

도 5에서와 같이, 과부하 노드와 로드밸런싱 노드 사이의 최적 경로 설정 시에는 백그라운드 트래픽이 두 노드 사이에 미치는 영향을 고려해야 한다. 즉, 백그라운드 트래픽이 과도하게 많을 경우에는, 트래픽 교환 실패로 두 노드 간 협업이 이루어 질 수 없다.As shown in FIG. 5, when setting an optimal path between an overload node and a load balancing node, the effect of background traffic between the two nodes should be considered. That is, when there is an excessive amount of background traffic, cooperation between two nodes cannot be achieved due to a traffic exchange failure.

반면, 본 발명에 따른 오픈플로우 기반의 코어 네트워크 구조에서는 협업 노드 사이의 경로상에 해당 트래픽의 대역폭을 할당함으로써 협업 노드 사이의 원활한 협업을 가능하게 할 수 있다. 즉, 본 발명에 따른 오픈플로우 기반의 코어 네트워크 구조에서는 협업 노드 사이 경로 상에 존재하는 오픈플로우 스위치에 최소 대역폭을 보장하는 플로우 룰을 내릴 수 있으며, 보다 상세하게는 오픈플로우 스위치에 최소 대역폭(min_rate)을 설정함으로써 원하는 트래픽이 큐(Queue)의 일정량 이상을 소모하도록 설정할 수 있다.On the other hand, in the openflow-based core network structure according to the present invention, it is possible to enable smooth collaboration between the cooperative nodes by allocating a bandwidth of corresponding traffic on the path between the cooperative nodes. That is, in the openflow-based core network structure according to the present invention, a flow rule that guarantees the minimum bandwidth for the openflow switch existing on the path between cooperative nodes can be lowered, and more specifically, the minimum bandwidth (min_rate) for the openflow switch. ), you can set the desired traffic to consume more than a certain amount of the queue.

개별 오픈플로우 스위치의 최소 대역폭 설정은 기존의 오픈플로우 프로토콜을 활용할 수 있다.The minimum bandwidth setting of individual openflow switches can utilize the existing openflow protocol.

본 발명에 따른 발명의 효과를 검증하기 위하여, 과부하 상태를 인식하여 후보 노드에 경로 재설정에 대한 응답 실험, 백그라운드 트래픽에 대한 처리응답 속도를 묻는 실험을 수행하였다.In order to verify the effect of the invention according to the present invention, an experiment was performed to recognize an overload state and ask a candidate node to respond to a route reconfiguration and a processing response speed to a background traffic.

각 실험은 Mininet을 기반으로 한 시뮬레이션은 SDN 테스트 베드를 구축하여 각 시뮬레이션은 10회 반복 수행 되었고, 각 실험의 평균값이 포함되어 있다.For each experiment, the simulation based on Mininet built an SDN test bed, and each simulation was repeated 10 times, and the average value of each experiment was included.

실험에서는 30개의 포그 노드를 만들었고 실험은 과부하 된 포그 노드를 가지고 있는 상태로 다른 후보군을 찾기 시작했다고 가정하였다.In the experiment, 30 fog nodes were created, and the experiment was assumed to have started to search for other candidates with an overloaded fog node.

도 6은 본 발명에 따른 과부하 탐지 및 로드밸런싱 노드 선정 지연시간을 설명하기 위한 도면이다.6 is a diagram illustrating a delay time for detecting an overload and selecting a load balancing node according to the present invention.

첫 번째 실험은 도 6에서처럼 과부하 시나리오가 발생했을 때에, SDN 포그 시스템의 장점을 검증하기 위해 수행되었다. 시간 측정은 첫 번째 포그 노드가 과부하 상태를 인식한 후, 로드밸런싱 노드와 협업을 위한 경로 설정을 완료한 때까지의 시간을 측정하였다.The first experiment was performed to verify the advantages of the SDN fog system when an overload scenario occurs as shown in FIG. 6. For the time measurement, after the first fog node recognizes the overload condition, the time until the path setup for collaboration with the load balancing node is completed was measured.

도 7은 본 발명에 따른 백그라운드 트래픽에 대한 처리 응답 성공률을 설명하기 위한 도면이다.7 is a diagram for explaining a success rate of a processing response to background traffic according to the present invention.

도 7에서는 로드밸런싱 노드를 임의로 선정하는 전통 방식의 경우 처리완료까지 30ms ~ 198ms, 평균 115ms를 보인 반면, 제안 기법에서는 29ms ~ 39ms, 평균 34ms의 처리 지연시간을 보인다. 본 결과에서는 제안한 SDN 기반의 포그 시스템은 실시간 모니터링 및 토폴로지를 통하여 최적 로드밸런싱 노드를 신속하게 선정할 수 있음을 보여준다.In FIG. 7, in the case of the traditional method of randomly selecting a load balancing node, the processing time is 30 ms to 198 ms, and an average of 115 ms is shown, whereas the proposed method shows a processing delay time of 29 ms to 39 ms and an average of 34 ms. This result shows that the proposed SDN-based fog system can quickly select an optimal load balancing node through real-time monitoring and topology.

도 7에서는 100, 200, 300개 작업에 대해 백그라운드 트래픽이 없을 때, 백그라운드 트래픽이 존재할 때, 대역폭 보장 미적용시와 적용시의 응답 성공률을 분석한다. 즉, 백그라운드 트래픽이 없을 경우에는 98% 이상의 작업처리 성공을 보여주고 있으나, 백그라운드 트래픽이 존재할 경우에는 처리량이 각각 조건에서 61, 71, 87%로 떨어질 수 있다.In FIG. 7, for 100, 200, and 300 tasks, when there is no background traffic, when there is background traffic, when a bandwidth guarantee is not applied and when applied, response success rates are analyzed. That is, when there is no background traffic, more than 98% of the job processing is successful, but when there is background traffic, the throughput may drop to 61, 71, and 87% in each condition.

반면, 제안하는 대역폭 보장 기법을 활용한 경우에는, 백그라운드 트래픽을 제한하고, 과부하 노드- 로드밸런싱 노드 간 대역폭을 보장함으로써, 백그라운드 트래픽이 존재하지 않을 때와 유사한 성공률을 제공할 수 있다.On the other hand, in the case of using the proposed bandwidth guarantee scheme, it is possible to provide a success rate similar to that when background traffic does not exist by limiting background traffic and guaranteeing bandwidth between an overload node and a load balancing node.

이하, 도 8에서는 본 발명의 실시예들에 따른 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치(100)의 작업 흐름을 상세히 설명한다.Hereinafter, in FIG. 8, the work flow of the dynamic load balancing apparatus 100 in a software defined network-based fog system according to embodiments of the present invention will be described in detail.

도 8은 본 발명의 일실시예에 따른, 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법의 순서를 도시한 흐름도이다.8 is a flowchart illustrating a procedure of a dynamic load balancing method in a software defined network-based fog system according to an embodiment of the present invention.

본 실시예에 따른 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법은 상술한 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치(100)에 의해 수행될 수 있다.The dynamic load balancing method in the software-defined network-based fog system according to the present embodiment may be performed by the dynamic load balancing apparatus 100 in the software-defined network-based fog system described above.

우선, SDN 기반의 동적 로드밸런싱 장치(100)는 복수의 포그 노드로부터 자원상태 정보를 수신한다(810). 단계(810)는 SDN 컴퓨팅 구조를 구성하는 포그 노드 각각으로부터, 사용하는 자원에 대한 할당, 처리, 운용, 분배 등의 현 상황을, 데이터 형태로 보고 받는 과정일 수 있다.First, the SDN-based dynamic load balancing apparatus 100 receives resource state information from a plurality of fog nodes (810). Step 810 may be a process of receiving, from each of the fog nodes constituting the SDN computing structure, the current status of allocation, processing, operation, distribution, etc. of the resources to be used in data format.

상기 자원상태 정보는, 개별 포그 노드에서 작성될 수 있고, 정해진 주기의 도래에 따라, 포그 노드 각각으로부터 정기적으로 수신될 수 있다. 자원상태 정보에는, 예컨대 할당되어 처리해야 할 자원(리소스)의 양, 단위 시간 당 처리 가능한 자원의 양, 장애 발생 내역 등에 관한 데이터가 포함될 수 있다.The resource status information may be created in individual fog nodes, and may be periodically received from each fog node according to the arrival of a predetermined period. The resource status information may include data on, for example, an amount of resources (resources) to be allocated and processed, an amount of resources that can be processed per unit time, and failure occurrence details.

자원상태 정보의 수신에 있어, SDN 기반의 동적 로드밸런싱 장치(100)는 리소스 사용량에 변화가 있는 포그 노드에서 실시간으로 작성되는 상태변경 정보를, 해당 포그 노드로부터 수신할 수 있다. 즉, SDN 기반의 동적 로드밸런싱 장치(100)는 복수의 포그 노드와 연관되는 리소스 사용량에 변화가 발생하여 작성되는 상태변경 정보를, 상기 자원상태 정보로서 상기 복수의 포그 노드 각각으로부터 수신할 수 있다.In receiving resource status information, the SDN-based dynamic load balancing apparatus 100 may receive status change information created in real time in a fog node having a change in resource usage, from a corresponding fog node. That is, the SDN-based dynamic load balancing apparatus 100 may receive state change information created by a change in resource usage associated with a plurality of fog nodes, as the resource state information, from each of the plurality of fog nodes. .

여기서 상태변경 정보는, 포그 노드와 관련되어 구동되는 CPU, 메모리 등에서 리소스 사용량의 변화가 감지 됨에 따라, 해당 포그 노드에서, 변화된 리소스 사용량을 포함하여 작성될 수 있다.Here, the state change information may be generated by including the changed resource usage in the corresponding fog node as a change in resource usage is detected in a CPU, memory, etc. driven in connection with the fog node.

또한, SDN 기반의 동적 로드밸런싱 장치(100)는 상기 자원상태 정보를 분석하여, 상기 복수의 포그 노드 중에서 과부하 상태의 과부하 노드를 확인한다(820). 단계(820)는 자원상태 정보를 통해, 각 포그 노드 별로 자원 처리 정도를 파악하고, 타 포그 노드에 비해 많은 자원을 처리하여 임의의 임계치를 상회하는 포그 노드를 확인하는 과정일 수 있다.In addition, the SDN-based dynamic load balancing apparatus 100 analyzes the resource state information, and identifies an overload node in an overload state among the plurality of fog nodes (820). Step 820 may be a process of identifying a resource processing degree for each fog node through resource status information, and checking a fog node exceeding a predetermined threshold by processing more resources than other fog nodes.

여기서 과부하 상태는, 자원의 처리에 있어, 적정 처리 규정량이나 작업량을 넘어서는 부하를 갖는 상태를 지칭하며, 이러한 과부하 상태가 지속되는 해당 포그 노드에서의 처리 시간이나 효율이 현저히 감소될 수 있다.Here, the overload state refers to a state in which a load exceeding an appropriate processing prescribed amount or workload in processing resources, and processing time or efficiency in a corresponding fog node in which such an overload state persists may be significantly reduced.

계속해서, SDN 기반의 동적 로드밸런싱 장치(100)는 확인된 상기 과부하 노드와 SDN 스위칭이 가능한 이웃 포그 노드를 선별한다(830). 단계(830)는 과부하 노드로 확인된 포그 노드와 네트워킹 기능이 동일하여, 해당 포그 노드가 현재 수행하는 동작을 그대로 승계할 수 있는 이웃 포그 노드를 찾아내는 과정일 수 있다.Subsequently, the SDN-based dynamic load balancing apparatus 100 selects the identified overload node and a neighboring fog node capable of SDN switching (830). Step 830 may be a process of finding a neighboring fog node capable of inheriting an operation currently performed by the corresponding fog node as it has the same networking function as the fog node identified as an overload node.

상기 SDN 스위칭은 포그 노드 간을 상호 연결해두고, 필요에 따라 개별 포그 노드에 대해 기능 활성화 또는 기능 비활성화를 선택하는 코어 SDN 스위치(core SDN switch)에 의해 구현될 수 있다.The SDN switching may be implemented by a core SDN switch that interconnects fog nodes and selects activation or deactivation of functions for individual fog nodes as needed.

만약, 기능 활성화된 단일의 포그 노드가 과부하 노드로 확인되는 경우, SDN 기반의 동적 로드밸런싱 장치(100)는 기능 비활성화의 상태인 다른 포그 노드에 대해 기능 활성화로 전환되도록 SDN 스위치에 명령하여, 상기 다른 포그 노드를, 이웃 포그 노드로 선별할 수 있다.If, when a single fog node in which the function is activated is identified as an overload node, the SDN-based dynamic load balancing device 100 commands the SDN switch to switch to function activation for another fog node in the function inactive state, and the Other fog nodes can be selected as neighboring fog nodes.

또한, SDN 기반의 동적 로드밸런싱 장치(100)는 상기 선별된 이웃 포그 노드 중에서, 상기 과부하 노드를 대체하는 로드밸런싱 노드를 결정한다(840). 단계(840)는 과부하 노드와 네트워킹 기능이 동일하여 선별된 이웃 포그 노드 중에서, 상기 과부하 노드와 실제로 기능 스위칭하는 하나의 이웃 포그 노드를 택해, 로드밸런싱 노드로 정하는 과정일 수 있다.In addition, the SDN-based dynamic load balancing apparatus 100 determines a load balancing node to replace the overload node from among the selected neighboring fog nodes (840). Step 840 may be a process of selecting one neighboring fog node that actually performs function switching with the overload node from among neighboring fog nodes selected because the overload node has the same networking function, and determines it as a load balancing node.

로드밸런싱 노드의 결정에 있어, SDN 기반의 동적 로드밸런싱 장치(100)는 과부하 노드와의 이격된 거리를 따져, 특정의 이웃 포그 노드를 로드밸런싱 노드로 정할 수 있다.In determining the load balancing node, the SDN-based dynamic load balancing apparatus 100 may determine a specific neighboring fog node as a load balancing node based on a distance from the overload node.

이를 위해, SDN 기반의 동적 로드밸런싱 장치(100)는 상기 이웃 포그 노드 중에서, 정해진 임계값 이하의 자원 사용률을 갖는 유휴 노드를 검색할 수 있다. 즉, SDN 기반의 동적 로드밸런싱 장치(100)는 자원의 처리 여력이 수치적으로 충분히 남아 있는 이웃 포그 노드를 유휴 노드로서 1차 필터링 할 수 있다.To this end, the SDN-based dynamic load balancing apparatus 100 may search for an idle node having a resource usage rate less than or equal to a predetermined threshold among the neighboring fog nodes. That is, the SDN-based dynamic load balancing apparatus 100 may perform primary filtering of neighboring fog nodes that have sufficient numerical processing power for resources as idle nodes.

이후, SDN 기반의 동적 로드밸런싱 장치(100)는 상기 유휴 노드 중에서, 상기 과부하 노드와 최단 거리의 경로를 갖는 유휴 노드를, 상기 로드밸런싱 노드로서 결정할 수 있다. 즉, SDN 기반의 동적 로드밸런싱 장치(100)는 과부하 노드와 떨어져있는 이격 거리를 기준으로 2차 필터링하여, 상기 과부하 노드와 가장 가까이 있는 하나의 유휴 노드를 로드밸런싱 노드로 결정할 수 있다.Thereafter, the SDN-based dynamic load balancing apparatus 100 may determine, among the idle nodes, an idle node having a path of the shortest distance from the overload node as the load balancing node. That is, the SDN-based dynamic load balancing apparatus 100 may determine the one idle node closest to the overload node as the load balancing node by performing secondary filtering based on a distance away from the overload node.

SDN 기반의 동적 로드밸런싱 장치(100)는 결정되는 로드밸런싱 노드로, 상기 과부하 노드의 일부 기능을 가져와 대체 수행하도록 할 수 있다.The SDN-based dynamic load balancing device 100 is a determined load balancing node, and may bring some functions of the overload node and perform replacement.

다른 실시예에서, SDN 기반의 동적 로드밸런싱 장치(100)는 과부하 노드와의 대역폭을 이용하여, 특정의 이웃 포그 노드를 로드밸런싱 노드로 정할 수 있다.In another embodiment, the SDN-based dynamic load balancing apparatus 100 may determine a specific neighboring fog node as a load balancing node by using a bandwidth with an overload node.

SDN 기반의 동적 로드밸런싱 장치(100)는 상기 이웃 포그 노드 중에서, 정해진 임계값 이하의 자원 사용률을 갖는 유휴 노드를 검색할 수 있다.The SDN-based dynamic load balancing apparatus 100 may search for an idle node having a resource usage rate less than or equal to a predetermined threshold among the neighboring fog nodes.

또한, SDN 기반의 동적 로드밸런싱 장치(100)는 상기 유휴 노드 중에서, 상기 과부하 노드와 최단 거리의 경로를 갖는 유휴 노드를 재검색할 수 있다.In addition, the SDN-based dynamic load balancing apparatus 100 may re-search for an idle node having a path of the shortest distance from the overload node among the idle nodes.

또한, SDN 기반의 동적 로드밸런싱 장치(100)는 상기 재검색된 유휴 노드 중에서, 상기 과부하 노드와 최소 대역폭을 갖는 유휴 노드를, 상기 로드밸런싱 노드로서 결정할 수 있다.In addition, the SDN-based dynamic load balancing apparatus 100 may determine, among the rediscovered idle nodes, an idle node having the overload node and the minimum bandwidth as the load balancing node.

SDN 기반의 동적 로드밸런싱 장치(100)는 최단 경로 상에 플로우 룰(flow-rule)의 동적설치를 통해서 QoS (bandwidth guarantee)를 제공할 수 있다. SDN 기반의 동적 로드밸런싱 장치(100)는 과부하노도와, 로드밸런싱 노드 사이 최적 경로를 결정한 후, 다른 트래픽이 방해하지 않도록 오픈플로우 룰(openflow rule)의 동적 설정을 통해서 두 노드 간의 대역폭을 미리 할당할 수 있다.The SDN-based dynamic load balancing apparatus 100 may provide a bandwidth guarantee (QoS) through dynamic installation of a flow-rule on the shortest path. The SDN-based dynamic load balancing device 100 allocates bandwidth between the two nodes in advance through dynamic setting of an openflow rule so that other traffic does not interfere after determining the optimal path between the overload and the load balancing nodes. can do.

즉, SDN 기반의 동적 로드밸런싱 장치(100)는 최단 경로 상의 유휴 노드와 과부하 노드 간의 최소 대역폭을 오픈플로우 스위치를 통해 설정하고, 최소 대역폭을 갖는 특정의 유휴 노드를, 상기 로드밸런싱 노드로 결정할 수 있다.That is, the SDN-based dynamic load balancing device 100 may set the minimum bandwidth between the idle node on the shortest path and the overload node through the open flow switch, and determine a specific idle node having the minimum bandwidth as the load balancing node. have.

로드밸런싱 노드의 결정 후, 처리부(140)는 결정되는 로드밸런싱 노드로 과부하 노드의 트래픽을 분산할 수 있게 한다.After determining the load balancing node, the processing unit 140 enables the traffic of the overload node to be distributed to the determined load balancing node.

정리하면, SDN 기반의 동적 로드밸런싱 장치(100)는 SDN을 이용해서 fog nodes의 상태를 실시간으로 파악해서, 실시간 overloaded node (과부하 노드)를 탐색할 수 있다.In summary, the SDN-based dynamic load balancing device 100 may detect the state of fog nodes in real time using SDN and search for an overloaded node (overload node) in real time.

또한 SDN 기반의 동적 로드밸런싱 장치(100)는 로드밸런싱을 위해서, SDN 기반의 최적 load balancing node 및 둘 사이의 routing 경로를 결정할 수 있다. 이때, 최적 load balancing 노드는 CPU 유휴 자원이 있는 노드들 중에 overloaded node (과부하노드)와 가장 가까운 노드를 선택할 수 있다.In addition, the SDN-based dynamic load balancing apparatus 100 may determine an SDN-based optimal load balancing node and a routing path between the two for load balancing. At this time, the optimal load balancing node may select a node closest to the overloaded node (overload node) among nodes with idle CPU resources.

또한, SDN 기반의 동적 로드밸런싱 장치(100)는 최적 routing 경로상에 flow-rule의 동적설치를 통해서 QoS (bandwidth guarantee)를 제공할 수 있다. 여기서, overloaded node와 load balancing 노드 사이 최적 경로를 결정한 후에는, 다른 트래픽이 방해하지 않도록 “openflow rule”의 동적 설정을 통해서 두 노드 간의 대역폭을 미리 할당할 수 있다.In addition, the SDN-based dynamic load balancing device 100 may provide a bandwidth guarantee (QoS) through dynamic installation of flow-rules on an optimal routing path. Here, after determining the optimal path between the overloaded node and the load balancing node, the bandwidth between the two nodes can be pre-allocated through dynamic setting of the “openflow rule” so that other traffic does not interfere.

실시예에 따라, SDN 기반의 동적 로드밸런싱 장치(100)는 과부하 노드 내 특정 노드를 선택적으로 대체시키는 로드밸런싱을 할 수 있다.According to an embodiment, the SDN-based dynamic load balancing apparatus 100 may perform load balancing for selectively replacing a specific node within an overload node.

이러한 실시예는, 과부하 노드를, 포그 노드 전체가 아닌, 포그 노드 내 특정 노드(제1 노드)로 확인 함에 따라 구현될 수 있다.This embodiment can be implemented by identifying the overload node as a specific node (first node) within the fog node, not the entire fog node.

즉, 상기 과부하 노드가 상기 복수의 포그 노드에 속하는 제1 노드로 확인되는 경우, SDN 기반의 동적 로드밸런싱 장치(100)는, 상기 이웃 포그 노드에 속하면서, 상기 제1 노드와 가장 가까운 경로로 이격되어 있는 제2 노드를 결정하여, 상기 제1 노드를 대체할 수 있다.That is, when the overload node is identified as a first node belonging to the plurality of fog nodes, the SDN-based dynamic load balancing device 100 is separated by a path closest to the first node while belonging to the neighboring fog node. It is possible to determine the second node to be replaced and to replace the first node.

예컨대, 자원 사용률이 임계값을 초과하는 포그 노드를 대상으로, SDN 기반의 동적 로드밸런싱 장치(100)는 해당 포그 노드에 속하는 노드 별로, 개별 자원 사용률을 측정하고, 자원 사용률이 정해진 임계치를 넘어 가장 큰 노드를 과부하 노드로 확인할 수 있다.For example, targeting a fog node whose resource usage rate exceeds a threshold value, the SDN-based dynamic load balancing device 100 measures an individual resource usage rate for each node belonging to the corresponding fog node, and the resource usage rate exceeds a predetermined threshold. Large nodes can be identified as overload nodes.

이후 SDN 기반의 동적 로드밸런싱 장치(100)는, 해당 포그 노드와 SDN 스위칭이 가능하여 선별된 이웃 포그 노드에 속하는 노드 각각에 대해, 상기 제1 노드와의 이격 거리를 연산하여, 가장 짧은 이격 거리의 경로를 갖는 제2 노드를 결정할 수 있다.Thereafter, the SDN-based dynamic load balancing device 100 calculates a separation distance from the first node for each node belonging to the selected neighboring fog node by enabling SDN switching with the corresponding fog node, and thus the shortest separation distance. It is possible to determine a second node having a path of.

상기 제2 노드의 결정 후, SDN 기반의 동적 로드밸런싱 장치(100)는 제2 노드로, 상기 제1 노드의 적어도 일부 기능을 가져와 대체 수행하도록 할 수 있다.After the determination of the second node, the SDN-based dynamic load balancing apparatus 100 may bring at least some functions of the first node to the second node and perform replacement.

본 발명의 일실시예에 따르면, 포그 시스템 환경에서 SDN의 구조를 이용하여, 실시간 네트워크 상태 정보를 로드밸런싱 알고리즘에 효과적으로 사용하는, 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법 및 연동 장치를 제공할 수 있다.According to an embodiment of the present invention, a dynamic load balancing method and an interworking device in a software-defined network-based fog system that effectively uses real-time network state information in a load balancing algorithm using the SDN structure in a fog system environment are provided. can do.

또한, 본 발명의 일실시예에 따르면, 최적의 라우팅 경로를 계산하고 경로상 대역폭을 보장함으로써 로드밸런싱 노드 간 원활한 협업을 지원할 수 있다.In addition, according to an embodiment of the present invention, it is possible to support smooth cooperation between load balancing nodes by calculating an optimal routing path and guaranteeing a bandwidth on the path.

또한, 본 발명의 일실시예에 따르면, 각 포그 노드로부터 보고 받은 상태 변경 정보를 바탕으로, 포그의 과부하가 발견되면, 최적 노드를 선택하여 로드밸런싱을 최적하게 수행할 수 있다.Further, according to an embodiment of the present invention, when an overload of fog is detected based on state change information reported from each fog node, load balancing may be optimally performed by selecting an optimal node.

또한, 본 발명의 일실시예에 따르면, 과부하노드와 최적 노드간 최소경로를 탐색 설정함을 묻고, 경로상 오픈플로우 스위치 내 최소 대역폭을 선정함으로써 로드밸런싱 노드 간에 원활한 트래픽 교환 및 협업을 지원할 수 있다.In addition, according to an embodiment of the present invention, it is possible to support smooth traffic exchange and collaboration between load balancing nodes by asking for discovery and setting of a minimum path between an overloaded node and an optimal node, and selecting a minimum bandwidth within an open flow switch on the path. .

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, a person of ordinary skill in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments and claims and equivalents fall within the scope of the following claims.

100 : 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치
110 : 수신부 120 : 확인부
130 : 선별부 140 : 처리부
100: Dynamic load balancing device in a software-defined network-based fog system
110: receiving unit 120: confirmation unit
130: sorting unit 140: processing unit

Claims (10)

복수의 포그 노드로부터 자원상태 정보를 수신하는 단계;
상기 자원상태 정보를 분석하여, 상기 복수의 포그 노드 중에서 과부하 상태의 과부하 노드를 확인하는 단계;
확인된 상기 과부하 노드와 SDN(Software Defined Networks) 스위칭이 가능한 이웃 포그 노드를 선별하는 단계;
상기 이웃 포그 노드 중에서, 정해진 임계값 이하의 자원 사용률을 갖는 유휴 노드를 검색하는 단계;
상기 유휴 노드 중에서, 상기 과부하 노드와 최단 거리의 경로를 갖는 로드밸런싱 노드를 결정하는 단계; 및
오픈플로우 룰(openflow rule)의 동적 설정을 통해, 다른 트래픽이 방해하지 않도록 대역폭의 일부를 상기 과부하 노드와 상기 로드밸런싱 노드 간에 할당하는 단계
를 포함하는 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법.
Receiving resource state information from a plurality of fog nodes;
Analyzing the resource state information to identify an overload node in an overload state among the plurality of fog nodes;
Selecting the identified overload node and a neighboring fog node capable of switching Software Defined Networks (SDN);
Searching for an idle node having a resource usage rate less than or equal to a predetermined threshold among the neighboring fog nodes;
Determining a load balancing node having a path of the shortest distance from the overload node from among the idle nodes; And
Allocating a portion of the bandwidth between the overload node and the load balancing node so that other traffic does not interfere through dynamic setting of an openflow rule
Dynamic load balancing method in a software-defined network-based fog system comprising a.
삭제delete 삭제delete 제1항에 있어서,
상기 자원상태 정보를 수신하는 단계는,
상기 복수의 포그 노드와 연관되는 리소스 사용량에 변화가 발생하여 작성되는 상태변경 정보를, 상기 자원상태 정보로서 상기 복수의 포그 노드 각각으로부터 수신하는 단계;
를 포함하는 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법.
The method of claim 1,
Receiving the resource status information,
Receiving, from each of the plurality of fog nodes, status change information generated by a change in resource usage associated with the plurality of fog nodes as the resource status information;
Dynamic load balancing method in a software-defined network-based fog system comprising a.
삭제delete 복수의 포그 노드로부터 자원상태 정보를 수신하는 수신부;
상기 자원상태 정보를 분석하여, 상기 복수의 포그 노드 중에서 과부하 상태의 과부하 노드를 확인하는 확인부;
확인된 상기 과부하 노드와 SDN 스위칭이 가능한 이웃 포그 노드를 선별하는 선별부; 및
상기 이웃 포그 노드 중에서, 정해진 임계값 이하의 자원 사용률을 갖는 유휴 노드를 검색하고, 상기 유휴 노드 중에서, 상기 과부하 노드와 최단 거리의 경로를 갖는 로드밸런싱 노드를 결정하며, 오픈플로우 룰(openflow rule)의 동적 설정을 통해, 다른 트래픽이 방해하지 않도록 대역폭 일부를 상기 과부하 노드와 상기 로드밸런싱 노드 간에 할당하는 처리부
를 포함하는 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치.
A receiver configured to receive resource state information from a plurality of fog nodes;
A verification unit for analyzing the resource state information and checking an overload node in an overload state among the plurality of fog nodes;
A selection unit for selecting the identified overload node and a neighboring fog node capable of SDN switching; And
Among the neighboring fog nodes, an idle node having a resource usage rate of less than a predetermined threshold value is searched, a load balancing node having a path of the shortest distance from the overload node is determined from among the idle nodes, and an openflow rule A processing unit that allocates a part of the bandwidth between the overload node and the load balancing node so that other traffic does not interfere with the dynamic setting of
Dynamic load balancing device in a software-defined network-based fog system comprising a.
삭제delete 삭제delete 제6항에 있어서,
상기 수신부는,
상기 복수의 포그 노드와 연관되는 리소스 사용량에 변화가 발생하여 작성되는 상태변경 정보를, 상기 자원상태 정보로서 상기 복수의 포그 노드 각각으로부터 수신하는
소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 장치.
The method of claim 6,
The receiving unit,
Receiving state change information created by a change in resource usage associated with the plurality of fog nodes as the resource state information from each of the plurality of fog nodes
A dynamic load balancing device in a software-defined network-based fog system.
삭제delete
KR1020190076241A 2019-06-26 2019-06-26 Dynamic load balancing method and dynamic load balancing device in sdn-based fog system KR102201799B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190076241A KR102201799B1 (en) 2019-06-26 2019-06-26 Dynamic load balancing method and dynamic load balancing device in sdn-based fog system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190076241A KR102201799B1 (en) 2019-06-26 2019-06-26 Dynamic load balancing method and dynamic load balancing device in sdn-based fog system

Publications (2)

Publication Number Publication Date
KR20210000938A KR20210000938A (en) 2021-01-06
KR102201799B1 true KR102201799B1 (en) 2021-01-12

Family

ID=74128583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190076241A KR102201799B1 (en) 2019-06-26 2019-06-26 Dynamic load balancing method and dynamic load balancing device in sdn-based fog system

Country Status (1)

Country Link
KR (1) KR102201799B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220161728A (en) * 2021-05-31 2022-12-07 서울대학교산학협력단 Method and apparatus for network load balancing

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102509279B1 (en) * 2021-06-23 2023-03-10 홍익대학교세종캠퍼스산학협력단 Clustered Stationary Vehicles-based Vehicular Networking and Computing System

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208781A (en) 2011-03-30 2012-10-25 Internatl Business Mach Corp <Ibm> Information processing system, information processing apparatus, scaling method, program, and recording medium
KR101507270B1 (en) 2014-01-23 2015-04-01 순천대학교 산학협력단 Routing method for quality of service guarantee for considering congestion status in wireless multimedia sensor networks
KR101884404B1 (en) 2017-01-17 2018-08-02 부산대학교 산학협력단 Fog Computing Operation System having a Centralized Control Architecture Server and Method for controlling the same
KR101966430B1 (en) * 2017-02-20 2019-04-08 부산대학교 산학협력단 System and Method for Determining Fog Server Number and Placement in Local Area Network Environment
KR101968259B1 (en) * 2018-02-26 2019-04-12 부산대학교 산학협력단 System and Method for Deploymenting Fog Server by using Path with Minimum Link Usage in Local Area Networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140089749A (en) * 2013-01-07 2014-07-16 한국전자통신연구원 Apparatus and method for controlling load allocation of cluster

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208781A (en) 2011-03-30 2012-10-25 Internatl Business Mach Corp <Ibm> Information processing system, information processing apparatus, scaling method, program, and recording medium
KR101507270B1 (en) 2014-01-23 2015-04-01 순천대학교 산학협력단 Routing method for quality of service guarantee for considering congestion status in wireless multimedia sensor networks
KR101884404B1 (en) 2017-01-17 2018-08-02 부산대학교 산학협력단 Fog Computing Operation System having a Centralized Control Architecture Server and Method for controlling the same
KR101966430B1 (en) * 2017-02-20 2019-04-08 부산대학교 산학협력단 System and Method for Determining Fog Server Number and Placement in Local Area Network Environment
KR101968259B1 (en) * 2018-02-26 2019-04-12 부산대학교 산학협력단 System and Method for Deploymenting Fog Server by using Path with Minimum Link Usage in Local Area Networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220161728A (en) * 2021-05-31 2022-12-07 서울대학교산학협력단 Method and apparatus for network load balancing
KR102579474B1 (en) * 2021-05-31 2023-09-14 서울대학교산학협력단 Method and apparatus for network load balancing

Also Published As

Publication number Publication date
KR20210000938A (en) 2021-01-06

Similar Documents

Publication Publication Date Title
US10313887B2 (en) System and method for provision and distribution of spectrum resources
US9705783B2 (en) Techniques for end-to-end network bandwidth optimization using software defined networking
KR102036056B1 (en) Delay-based traffic rate control in networks with central controllers
WO2013163865A1 (en) Virtual machine hot migration and deployment method, server and cluster system
CN103795805A (en) Distributed server load balancing method based on SDN
CN106681839B (en) Elastic calculation dynamic allocation method
US20160164828A1 (en) Adjusting virtual machine resources
KR102201799B1 (en) Dynamic load balancing method and dynamic load balancing device in sdn-based fog system
US10044621B2 (en) Methods and systems for transport SDN traffic engineering using dual variables
WO2023115829A1 (en) Edge computing resource allocation method, apparatus and device, and storage medium
US20220104127A1 (en) Method and apparatus for power management in a wireless communication system
KR102410586B1 (en) Method and device of dynamic resource allocation for container-based applications for iot edge computing infrastructure
CN103905337A (en) Network resource processing device, method and system
Nylander et al. Cloud application predictability through integrated load-balancing and service time control
Martini et al. Design and evaluation of SDN-based orchestration system for cloud data centers
CN109792411B (en) Apparatus and method for managing end-to-end connections
CN110888734A (en) Fog computing resource processing method and device, electronic equipment and storage medium
CN112737806A (en) Network traffic migration method and device
JP6186287B2 (en) System management server and control method
WO2022016969A1 (en) Data processing method and device
US7903571B1 (en) System and method for improving multi-node processing
JP6561766B2 (en) Information processing apparatus, cluster system, clustering method, and program
Hamd et al. Multicellular 4G and load balancing over cloud computing
KR101813165B1 (en) Adaptive control plane management method for software defined network and apparatus thereof
US11720387B2 (en) Managing communication rates between applications in a tiered application computing environment

Legal Events

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