KR20220000592A - Method and device of dynamic resource allocation for container-based applications for iot edge computing infrastructure - Google Patents

Method and device of dynamic resource allocation for container-based applications for iot edge computing infrastructure Download PDF

Info

Publication number
KR20220000592A
KR20220000592A KR1020200078413A KR20200078413A KR20220000592A KR 20220000592 A KR20220000592 A KR 20220000592A KR 1020200078413 A KR1020200078413 A KR 1020200078413A KR 20200078413 A KR20200078413 A KR 20200078413A KR 20220000592 A KR20220000592 A KR 20220000592A
Authority
KR
South Korea
Prior art keywords
edge node
iot
application
edge
dynamic resource
Prior art date
Application number
KR1020200078413A
Other languages
Korean (ko)
Other versions
KR102410586B1 (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 KR1020200078413A priority Critical patent/KR102410586B1/en
Publication of KR20220000592A publication Critical patent/KR20220000592A/en
Application granted granted Critical
Publication of KR102410586B1 publication Critical patent/KR102410586B1/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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/5033Allocation 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 data affinity
    • 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/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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network

Abstract

Disclosed are a method and device for allocating dynamic resource allocation based on a container for IoT edge computing environment, which provides a resource provisioning function in consideration of kubernetes resource allocation problem. According to an embodiment of the present invention, the method comprises: a step of counting the number of allocated application replicas for edge nodes included in a cluster, in association with the cluster constituting an intermediate layer of kubernetes-based edge computing; and a step of re-adjusting the number of application replicas required by each of the edge nodes in consideration of request traffic status from an IoT device.

Description

사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법 및 장치{METHOD AND DEVICE OF DYNAMIC RESOURCE ALLOCATION FOR CONTAINER-BASED APPLICATIONS FOR IOT EDGE COMPUTING INFRASTRUCTURE}Container-based dynamic resource distribution method and apparatus for IoT edge computing environment

본 발명은, 클라이언트의 요청 트래픽 상태를 고려하여, 각 엣지노드로의 요청량에 비례하도록 응용 서비스(application)의 복제본을 분배하는, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법 및 장치에 관한 것이다.The present invention provides a container-based dynamic resource distribution method and apparatus for an IoT edge computing environment that distributes copies of application services in proportion to the amount of requests to each edge node in consideration of the client's request traffic status. it's about

특히, 본 발명에서는, 클라이언트의 실시간 상태를 주기적으로 모니터링하여, 각 엣지노드별 요청 자원에 따라, 응용 서비스의 복제본의 개수를 동적으로 조정 함으로써, 시스템 전체 처리량을 개선시키는 기술을 제공할 수 있게 한다.In particular, in the present invention, it is possible to provide a technology for improving the overall system throughput by periodically monitoring the client's real-time status and dynamically adjusting the number of copies of the application service according to the requested resource for each edge node. .

근래에는, 수많은 사물인터넷(IoT) 기기에서 많은 양의 데이터가 생성되고 있으며, IoT 기기 수는 현재 200억대에서 2023년대에는 약 300억대까지 증가할 것으로 전망되고 있다.In recent years, a large amount of data is being generated from numerous Internet of Things (IoT) devices, and the number of IoT devices is expected to increase from 20 billion units at present to about 30 billion units in 2023.

또한, 클라우드 컴퓨팅 환경에서는, 다양한 IoT 기기에서 생성된 대규모의 데이터가 인터넷을 통해, 중앙 집중식 서버로 전송되어 처리된다.In addition, in a cloud computing environment, large-scale data generated by various IoT devices is transmitted and processed through the Internet to a centralized server.

이러한 트래픽 패턴은 네트워크의 높은 대역폭을 요구할 뿐만 아니라, 트래픽의 처리 과정에 따른 지연시간을 수반하게 되어, 실시간성에 민감한 증강현실, 지능형 교통 시스템, 스마트 시티 등과 같은 IoT 응용 서비스의 품질을 저하시킬 수 있다.This traffic pattern not only requires a high bandwidth of the network, but also accompanies a delay time according to the traffic processing process, which can reduce the quality of IoT application services such as augmented reality sensitive to real-time, intelligent transportation system, and smart city. .

포그 컴퓨팅 기술로도 일컫는 엣지 컴퓨팅 기술은, 클라우딩 컴퓨팅의 중앙 집중식 전송에 따른 문제를 개선할 수 있는 새로운 컴퓨팅 패러다임으로, IoT 기기와 가까운 곳에 연산 자원을 배치 함으로써, 분석을 가속화하고 응용 서비스의 처리지연시간을 낮추는 등 여러 가지 이점을 제공할 수 있다.Edge computing technology, also referred to as fog computing technology, is a new computing paradigm that can improve the problems caused by centralized transmission of cloud computing. By placing computational resources close to IoT devices, it accelerates analysis and processes application services It can provide several benefits, including lower latency.

즉, 엣지 컴퓨팅 기술은 데이터를 클라우드로 전송하는 대신, 엣지 컴퓨팅 자원을 통해 지연시간을 낮추고, 네트워크 전체의 트래픽 양을 줄일 수 있다. 또한, 엣지 컴퓨팅 기술은 엣지 컴퓨팅의 연산 자원을 활용함으로써 클라우드 연산자원의 부담을 줄일 수 있다.In other words, edge computing technology can lower latency and reduce the amount of traffic across the network through edge computing resources instead of sending data to the cloud. In addition, edge computing technology can reduce the burden of cloud operator resources by utilizing the computing resources of edge computing.

엣지 컴퓨팅 환경에서는 응용서비스의 동적 배포 및 자원관리의 용이성을 고려하여 컨테이너를 사용하고 있다. 상기 컨테이너는 가상머신(VM, Virtual Machine) 처럼 전체 운영체제로 구성하는 대신, 어플리케이션과 관련한 라이브러리로 구성된 번들 패키지로 구성되어, 효율적이고 가벼워 빠른 배포를 가능하게 한다라는 장점을 가지고 있다. In the edge computing environment, containers are used in consideration of dynamic distribution of application services and ease of resource management. The container is composed of a bundle package composed of application-related libraries instead of the entire operating system like a virtual machine (VM, Virtual Machine), and has the advantage of enabling efficient, light and fast deployment.

그러나 엣지 컴퓨팅 기술에서는 컨테이너 간 리소스를 효율적으로 배포하고 관리하기 위한 도구를 필요로 한다.However, edge computing technology requires tools to efficiently deploy and manage resources between containers.

쿠버네티스(Kubernetes, K8S)는 이를 위한 오픈소스 기반 컨테이너 오케스트레이션(Container Orchestration) 플랫폼으로, 주로 엣지 컴퓨팅 기술의 인프라 구축을 위하여 사용될 수 있다.Kubernetes (K8S) is an open source-based container orchestration platform for this purpose, and can be mainly used to build an infrastructure for edge computing technology.

쿠버네티스에서는 응용 서비스의 배포, 리소스 관리, 자원 모니터링, 로드 밸런싱, 및 자동 확장 등 컨테이너 오케스트레이션을 위한 다양한 기능을 제공할 수 있다. Kubernetes can provide a variety of features for container orchestration, including deployment of application services, resource management, resource monitoring, load balancing, and autoscaling.

도 1은 일반적인 쿠버네티스 기반 엣지 컴퓨팅의 구조를 설명하는 도면이다.1 is a diagram illustrating the structure of a general Kubernetes-based edge computing.

도 1에 도시한 바와 같이, 쿠버네티스의 하위 계층(130)에는, 주로 중간 계층(120)의 엣지노드와 직접 연결되는 무선 게이트웨이를 통해, 상위 계층(110)으로 요청을 보내는 여러 IoT 기기들이 포함되어 있다.As shown in FIG. 1 , in the lower layer 130 of Kubernetes, several IoT devices that send requests to the upper layer 110 mainly through a wireless gateway directly connected to the edge node of the middle layer 120 are provided. Included.

쿠버네티스의 중간 계층(120)은 엣지 컴퓨팅(포크 컴퓨팅) 계층으로서, IoT 기기의 요청을 분석하고 계산할 수 있는 엣지노드를 포함하고 있다.The middle layer 120 of Kubernetes is an edge computing (fork computing) layer, and includes edge nodes that can analyze and calculate requests from IoT devices.

또한, 쿠버네티스의 상위 계층(110)은 데이터 센터의 여러 서버를 포함하는 클라우드 컴퓨팅 계층일 수 있다.Also, the upper layer 110 of Kubernetes may be a cloud computing layer including several servers in a data center.

쿠버네티스에서는 복수의 임의 엣지노드들을 하나의 클러스터로 구성하고, 구성된 클러스터 단위로 클라이언트의 요청을 전달하고 공유함으로써, 자원 처리의 효율성을 높이게 된다.In Kubernetes, resource processing efficiency is improved by configuring a plurality of arbitrary edge nodes into a cluster and delivering and sharing client requests in the configured cluster unit.

그러나 쿠버네티스에서 구성된 클러스터 내 엣지노드의 협업 기능 역시 엣지노드 간의 요청 및 응답의 전달 과정에서 지연시간 및 메시지 처리 비용을 수반하게 된다.However, the collaboration function of edge nodes in the cluster configured in Kubernetes also entails latency and message processing costs in the process of transferring requests and responses between edge nodes.

이에 따라 각 엣지노드에서 필요한 만큼 적절한 자원을 분산함으로써, 노드 간 협업에 따른 비용을 최소화하는 것은, 엣지노드를 포함하는 클러스터의 시스템 성능을 최적화 할 수 있는 방법일 수 있다.Accordingly, by distributing appropriate resources as needed in each edge node, minimizing the cost of collaboration between nodes may be a method of optimizing the system performance of a cluster including edge nodes.

그러나, 종래의 쿠버네티스 플랫폼은, 두 가지 측면에서의 제한 사항을 갖는다.However, the conventional Kubernetes platform has limitations in two aspects.

첫째로는 쿠버네티스에서는, 엣지노드들에게 응용서비스 복제본의 분산배치를 지원하고 있으나, 분산배치의 지원시 각 엣지노드의 자원 요청 상태를 고려하는 기능은 결여되어 있다.First, Kubernetes supports distributed deployment of application service replicas to edge nodes, but lacks the ability to consider the resource request status of each edge node when supporting distributed deployment.

예컨대, 도 1에서 도시한 바와 같이, 엣지노드 Location A에 4개의 클라이언트, 엣지노드 Location B에 1개의 클라이언트, 엣지노드 Location C에 1개의 클라이언트가 연결되어 응용 서비스를 요청하고 있는 상황임에도 불구하고, 종래의 쿠버네티스에서는, 각 엣지노드로의 자원 요청 상태의 고려 없이, 엣지노드에 각 3개씩 동일한 수의 복제본을 배포하고 있다.For example, as shown in FIG. 1, despite the situation in which four clients are connected to the edge node Location A, one client is connected to the edge node Location B, and one client is connected to the edge node Location C, the application service is being requested. In the conventional Kubernetes, the same number of replicas are distributed to each edge node, 3 copies each, without considering the resource request status to each edge node.

만약, 배포된 복제본 보다 더 많은 수의 요청이 입력되는 경우에는, 사용자의 요청 메시지를 수신한 엣지노드 대신 원격지의 다른 엣지노드에 의해서 처리될 가능성도 높아질 수 있다. 즉, 쿠버네티스에서는 각 응용 서비스의 요청을 받을 때마다 주어진 정책에 따라 해당 요청을 처리할 엣지노드들을 선택하고, 요청을 전달하게 되는데, 요청 메시지를 수신한 엣지노드가 아닌 원격지의 엣지노드로 전달될 경우에는 요청 처리 지연시간이 필연적으로 증가하게 되는 문제가 발생한다.If a larger number of requests than distributed replicas are input, the possibility of being processed by other edge nodes at a remote location instead of the edge node receiving the user's request message may increase. In other words, whenever Kubernetes receives a request from each application service, it selects edge nodes to process the request according to the given policy and delivers the request. If it is forwarded, there is a problem in that the request processing delay time inevitably increases.

둘째로 쿠버네티스에서는, IoT 디바이스의 요청 상태의 동적 변화를 적용하지 못하고 있다.Second, in Kubernetes, dynamic changes in the request state of IoT devices cannot be applied.

즉, IoT 응용 서비스 인프라의 특성 상 각 엣지노드에 접근하는 요청량은 시간대별 사용자의 집중도 등에 따라 달라질 수 있다. 즉, 도 1과 같은 요청 자원 및 실제 할당 자원의 불균형 문제는 시간에 따라 지속적으로 발생할 수 있게 된다.That is, due to the characteristics of IoT application service infrastructure, the amount of requests to access each edge node may vary depending on the concentration of users by time period, etc. That is, the problem of imbalance between the requested resource and the actual allocated resource as shown in FIG. 1 may continuously occur over time.

따라서, 쿠버네티스 자원 배분를 고려하여, 자원 프로비저닝 기능을 제공하는 기술 개발이 절실히 필요한 실정이다.Therefore, in consideration of Kubernetes resource allocation, there is an urgent need to develop a technology that provides a resource provisioning function.

본 발명의 실시예는, 쿠버네티스 자원 배분 문제점을 고려하여, 자원 프로비저닝 기능을 제공하는, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법 및 장치를 제공하는 것을 목적으로 한다.An embodiment of the present invention aims to provide a container-based dynamic resource distribution method and apparatus for an IoT edge computing environment, which provides a resource provisioning function in consideration of the Kubernetes resource allocation problem.

또한, 본 발명의 실시예는, 클라이언트의 요청 트래픽 상태를 고려하여 각 엣지노드로의 요청량에 비례하도록 응용 서비스별 복제본을 분배하는 것을 목적으로 한다.In addition, an embodiment of the present invention aims to distribute copies for each application service in proportion to the amount of requests to each edge node in consideration of the client's request traffic status.

또한, 본 발명의 실시예는, 클라이언트의 실시간 상태를 주기적으로 모니터링하여, 각 엣지노드별 요청 자원에 따라 서비스 복제본 수를 동적으로 조정하도록 함으로써, 시스템 전체 처리량을 개선하는 것을 목적으로 한다.In addition, an embodiment of the present invention aims to improve the overall throughput of the system by periodically monitoring the real-time status of the client and dynamically adjusting the number of service copies according to the requested resource for each edge node.

본 발명의 일실시예에 따른, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법은, 쿠버네티스 기반 엣지 컴퓨팅의 중간 계층을 구성하는 클러스터와 연관하여, 상기 클러스터에 포함되는 엣지노드에 대해, 할당되는 어플리케이션 복제본의 개수를 카운트하는 단계; 및 IoT 기기에서의 요청 트래픽 상태를 고려하여, 상기 엣지노드 각각에서 필요로 하는 어플리케이션 복제본의 개수를 재조정하는 단계를 포함할 수 있다.A container-based dynamic resource distribution method for an IoT edge computing environment according to an embodiment of the present invention relates to a cluster constituting the middle layer of a Kubernetes-based edge computing, with respect to an edge node included in the cluster. , counting the number of assigned application replicas; and re-adjusting the number of application copies required by each of the edge nodes in consideration of the request traffic status from the IoT device.

또한, 본 발명의 실시예에 따른, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치는, 쿠버네티스 기반 엣지 컴퓨팅의 중간 계층을 구성하는 클러스터와 연관하여, 상기 클러스터에 포함되는 엣지노드에 대해, 할당되는 어플리케이션 복제본의 개수를 카운트하는 카운트부; 및 IoT 기기에서의 요청 트래픽 상태를 고려하여, 상기 엣지노드 각각에서 필요로 하는 어플리케이션 복제본의 개수를 재조정하는 처리부를 포함하여 구성할 수 있다.In addition, the container-based dynamic resource distribution apparatus for the IoT edge computing environment according to an embodiment of the present invention relates to a cluster constituting the middle layer of the Kubernetes-based edge computing, and provides an edge node included in the cluster. For, a counting unit for counting the number of copies of the application to be allocated; and a processing unit that readjusts the number of application copies required by each of the edge nodes in consideration of the request traffic status from the IoT device.

본 발명의 일실시예에 따르면, 쿠버네티스 자원 배분 문제점을 고려하여, 자원 프로비저닝 기능을 제공하는, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법 및 장치를 제공할 수 있다.According to an embodiment of the present invention, in consideration of the Kubernetes resource allocation problem, it is possible to provide a container-based dynamic resource distribution method and apparatus for an IoT edge computing environment, which provides a resource provisioning function.

또한, 본 발명에 의해서는, 클라이언트의 요청 트래픽 상태를 고려하여 각 엣지노드로의 요청량에 비례하도록 응용 서비스별 복제본을 분배할 수 있다.In addition, according to the present invention, it is possible to distribute copies for each application service in proportion to the amount of requests to each edge node in consideration of the client's request traffic status.

또한, 본 발명에 의해서는, 클라이언트의 실시간 상태를 주기적으로 모니터링하여, 각 엣지노드별 요청 자원에 따라 서비스 복제본 수를 동적으로 조정하도록 함으로써, 시스템 전체 처리량을 개선할 수 있다.In addition, according to the present invention, by periodically monitoring the client's real-time status and dynamically adjusting the number of service copies according to the requested resource for each edge node, the overall system throughput can be improved.

도 1은 일반적인 쿠버네티스 기반 엣지 컴퓨팅의 구조를 설명하는 도면이다.
도 2는 본 발명의 일실시예에 따른 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 실시예에 따른 스케줄링을 위한 nodeAffinity 설정을 예시하는 도면이다.
도 4는 본 발명에서 제안하는 기술의 구성요소 및 동작을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른, ElasticFog에서의 동작 알고리즘을 설명하기 위한 도이다.
도 6은 본 발명의 일실시예에 따른, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법을 도시한 흐름도이다.
1 is a diagram illustrating the structure of a general Kubernetes-based edge computing.
2 is a block diagram illustrating a configuration of a container-based dynamic resource distribution device for an IoT edge computing environment according to an embodiment of the present invention.
3 is a diagram illustrating setting of nodeAffinity for scheduling according to an embodiment of the present invention.
4 is a view for explaining the components and operation of the technology proposed in the present invention.
5 is a diagram for explaining an operation algorithm in ElasticFog according to an embodiment of the present invention.
6 is a flowchart illustrating a container-based dynamic resource distribution method for an IoT edge computing environment according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, 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 patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

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

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.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 such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

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

도 2는 본 발명의 일실시예에 따른 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치의 구성을 도시한 블록도이다.2 is a block diagram illustrating a configuration of a container-based dynamic resource distribution device for an IoT edge computing environment according to an embodiment of the present invention.

도 2을 참조하면, 본 발명의 일실시예에 따른, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치(이하, '동적 자원 분배 장치'라 약칭함)(200)는 카운트부(210), 및 처리부(220)를 포함하여 구성할 수 있다. 또한, 실시예에 따라, 동적 자원 분배 장치(200)는 모니터링부(230)를 선택적으로 추가하여 구성할 수 있다.Referring to FIG. 2 , according to an embodiment of the present invention, a container-based dynamic resource distribution device for an IoT edge computing environment (hereinafter, abbreviated as 'dynamic resource distribution device') 200 includes a count unit 210 , and the processing unit 220 may be included. Also, according to an embodiment, the dynamic resource distribution apparatus 200 may be configured by selectively adding the monitoring unit 230 .

우선, 카운트부(210)는 쿠버네티스 기반 엣지 컴퓨팅의 중간 계층을 구성하는 클러스터와 연관하여, 상기 클러스터에 포함되는 엣지노드에 대해, 할당되는 어플리케이션 복제본의 개수를 카운트한다. 즉, 카운트부(210)는 엣지노드에 현재 할당되어 있는 응용 서비스 복제본의 수를 계수하는 역할을 할 수 있다.First, the count unit 210 counts the number of allocated application replicas for the edge nodes included in the cluster in association with the cluster constituting the middle layer of the Kubernetes-based edge computing. That is, the count unit 210 may serve to count the number of application service replicas currently allocated to the edge node.

상술한 도 1에서와 같이, 엣지노드 각각에는 초기에 설정된 수(예, 3개)의 어플리케이션 복제본이 할당되어 있을 수 있고, 이 경우, 카운트부(210)는 각 엣지노드에 대해, 할당되는 어플리케이션 복제본의 개수를 '3'으로 카운트 할 수 있다.1, an initially set number (eg, three) of application copies may be allocated to each of the edge nodes, and in this case, the count unit 210 for each edge node, the application to be allocated The number of replicas can be counted as '3'.

처리부(220)는 IoT 기기에서의 요청 트래픽 상태를 고려하여, 상기 엣지노드 각각에서 필요로 하는 어플리케이션 복제본의 개수를 재조정한다. 즉, 처리부(220)는 엣지노드에 연결되는 IoT 기기로부터 입력되는 요청의 정도를 감안하여, 개별 엣지노드에 할당되어야 하는 어플리케이션 복제본의 개수를 동적으로 결정하는 역할을 할 수 있다.The processing unit 220 readjusts the number of application copies required by each of the edge nodes in consideration of the request traffic status from the IoT device. That is, the processing unit 220 may play a role in dynamically determining the number of application copies to be allocated to individual edge nodes in consideration of the degree of request input from the IoT device connected to the edge node.

모든 엣지노드에 할당된 어플리케이션 복제본의 개수를 '3'으로 카운트 한 상술의 예에서, 처리부(220)는 4개의 IoT 기기에서 발생한 요청 트래픽의 양에 따라, 상기 4개의 IoT 기기가 연결되는 엣지노드에서의 필요한 어플리케이션 복제본의 개수를 '6'으로 결정할 수 있다. 이후 처리부(220)는 해당 엣지노드에 할당되는 어플리케이션 복제본의 개수를 기존 3개에서 6개로 재조정할 수 있다.In the above example in which the number of application replicas allocated to all edge nodes is counted as '3', the processing unit 220 is an edge node to which the four IoT devices are connected according to the amount of request traffic generated by the four IoT devices It is possible to determine the number of required application replicas in '6'. Thereafter, the processing unit 220 may readjust the number of application copies allocated to the corresponding edge node from three to six.

엣지노드에서 필요로 하는 어플리케이션 복제본의 개수의 결정에 있어, 처리부(220)는 엣지노드 각각으로, 연결되는 상기 IoT 기기로부터의 요청 트래픽의 수에 상응하여, 엔드포인트 개체를 작성할 수 있다. 상기 엔드포인트(Endpoint) 개체는, IoT 기기에서 입력된 요청 트래픽을 엣지노드에서 처리될 때 일시 보관하는 수단일 수 있다.In determining the number of application replicas required by the edge node, the processing unit 220 may create an endpoint object corresponding to the number of request traffic from the IoT device connected to each edge node. The endpoint entity may be a means for temporarily storing request traffic input from the IoT device when processed by the edge node.

본 발명의 기반이 되는 쿠버네티스에서, 처리부(220)는, IoT 기기에서 동일 기간에 입력되는 요청 트래픽의 양에 연동되어, 상기 엔드포인트 개체를 실시간으로 작성할 수 있다. 예컨대, 특정의 엣지노드와 연결되는 4개의 IoT 기기 각각에서 동일한 기간 동안에, 요청 트래픽을 발생시킴에 따라, 처리부(220)는 이들 4개의 IoT 기기 각각에 대한 엔드포인트 개체를 작성할 수 있다.In Kubernetes, which is the basis of the present invention, the processing unit 220 can create the endpoint object in real time by being linked to the amount of request traffic input from the IoT device in the same period. For example, as each of the four IoT devices connected to a specific edge node generates request traffic during the same period, the processing unit 220 may create an endpoint entity for each of these four IoT devices.

이후, 처리부(220)는 작성된 상기 엔드포인트 개체의 수가, 설정된 한계치를 초과하는 활동 엣지노드에 대해, 상기 IoT 기기에서의 요청 트래픽 상태를 busy로 판단하여, 상기 어플리케이션 복제본의 개수를 증가하여 할당시키는 재조정을 한다.Thereafter, the processing unit 220 determines that, for an active edge node in which the number of created endpoint entities exceeds a set threshold, the request traffic status of the IoT device is determined to be busy, and increases the number of application copies to allocate make a readjustment

즉, 처리부(220)는 연결되고 있던 IoT 기기로부터 요청 트래픽이 대량으로 입력되고, 그에 따라 다수의 엔드포인트 개체가 한계치를 넘어 작성되는 엣지노드를, 활동 엣지노드로 결정하고, 결정된 활동 엣지노드에 대해 어플리케이션 복제본의 개수를 현재 보다 증가시키는 조정을 할 수 있다.That is, the processing unit 220 determines an edge node in which a large number of request traffic is input from the connected IoT device, and thus a number of endpoint objects exceed the limit value, as an activity edge node, and to the determined activity edge node. You can make adjustments to increase the number of application replicas than the current one.

여기서, 한계치는, 엔드포인트 개체를 기준으로, 엣지노드가, 현재 실제 작업을 처리하는 노드인지를 판별할 수 있게 하는 기준치일 수 있고, 본 발명의 발명자의 경험과 연구 결과에 따른 임의의 값(예컨대, '5')으로 설정할 수 있다.Here, the threshold value may be a reference value that allows it to be determined whether an edge node is a node currently processing an actual job, based on the endpoint entity, and an arbitrary value ( For example, it can be set to '5').

모든 엣지노드에 할당된 어플리케이션 복제본의 개수를 '3'으로 카운트 한 상술의 예에서, 처리부(220)는 Location A에 작성되는 엔드포인트 개체가 한계치 '5'보다 많은 '6'일 경우, 해당 엣지노드를 활동 엣지노드로 결정하여, 할당되는 어플리케이션 복제본의 개수를 기존 3개에서 6개로 재조정할 수 있다.In the above example in which the number of application replicas allocated to all edge nodes is counted as '3', the processing unit 220 determines if the endpoint object created in Location A is '6', which is more than the threshold value '5', the corresponding edge By determining a node as an active edge node, the number of allocated application replicas can be readjusted from three to six.

다른 실시예에서, 처리부(220)는, 작성된 상기 엔드포인트 개체의 수가, 상기 한계치 이하이거나 '0'인 비활동 엣지노드에 대해, 상기 IoT 기기에서의 요청 트래픽 상태를 free로 판단하여, 상기 비활동 엣지노드에 할당되는 어플리케이션 복제본의 적어도 일부를, 상기 활동 엣지노드로 이동하여 할당시켜 재조정을 한다.In another embodiment, the processing unit 220 determines that, for an inactive edge node in which the number of created endpoint entities is less than or equal to the threshold value or '0', the request traffic status from the IoT device is determined to be free, and the At least a portion of the application replica allocated to the active edge node is moved and allocated to the active edge node for readjustment.

즉, 처리부(220)는, 작성된 엔드포인트 개체의 수가 적어, 현재 실제 작업에 관여하지 않는 엣지노드를 비활동 엣지노드로 결정하고, 결정된 비활동 엣지노드에 할당되고 있던 일부의 어플리케이션 복제본을 활동 엣지노드로 이동시켜 할당하도록 할 수 있다.That is, the processing unit 220 determines an edge node that is not currently involved in an actual operation due to a small number of created endpoint objects as an inactive edge node, and sets some application copies allocated to the determined inactive edge node to an active edge. You can move it to a node to allocate it.

모든 엣지노드에 할당된 어플리케이션 복제본의 개수를 '3'으로 카운트 한 상술의 예에서, 처리부(220)는 Location B에 작성되는 엔드포인트 개체가 한계치 '5'보다 현저히 적은 '1'일 경우, 해당 엣지노드를 비활동 엣지노드로 결정하여, 할당되는 어플리케이션 복제본의 개수를 기존 3개에서 1개로 재조정하고, 잔여되는 2개의 어플리케이션 복제본을, 활동 엣지노드인 Location A로 이동시켜 할당되도록 할 수 있다.In the above example in which the number of application replicas allocated to all edge nodes is counted as '3', the processing unit 220 determines that the endpoint object created in Location B is '1', which is significantly less than the threshold value '5'. By determining an edge node as an inactive edge node, the number of allocated application copies is readjusted from three to one, and the remaining two application copies are moved to Location A, which is an active edge node, to be allocated.

또 다른 실시예에서, 처리부(220)는, 상기 IoT 기기와의 연결 빈도에 따라, 상기 엣지노드 각각으로, 선호규칙비율을 결정한다. 즉, 처리부(220)는 IoT 기기와 접촉되는 횟수에 따라 개별 엣지노드에 대해 우선순위를 부여할 수 있다.In another embodiment, the processing unit 220 determines the preference rule ratio for each of the edge nodes according to the connection frequency with the IoT device. That is, the processing unit 220 may give priority to individual edge nodes according to the number of times the IoT device is contacted.

예컨대, IoT 기기와 접촉된 횟수가 많아, 연결 빈도가 가장 많은 Location A에 대해, 처리부(220)는 최우선수위인 '80'의 선호규칙비율을 결정할 수 있고, 다음으로 연결 빈도가 많은 Location C에 대해 선호규칙비율 '15'를 결정할 수 있으며, 가장 작은 연결 빈도의 Location B에 대해 선호규칙비율 '5'를 결정할 수 있다.For example, for Location A, where the number of times of contact with the IoT device is large and the connection frequency is the highest, the processing unit 220 may determine a preference rule ratio of '80', which is the highest level, and then to Location C with the highest connection frequency. A preference rule ratio of '15' may be determined for each other, and a preference rule ratio of '5' may be determined for Location B having the lowest connection frequency.

이후, 처리부(220)는 결정된 상기 선호규칙비율이 높은 엣지노드에 대해, 상기 어플리케이션 복제본의 개수를 상대적으로 증가하여 할당시키는 재조정을 할 수 있다. 즉, 처리부(220)는 결정된 선호규칙비율의 크기에 따라, 엣지노드 각각에 할당되어야 하는 어플리케이션 복제본의 수를 최적하게 재조정할 수 있다.Thereafter, the processing unit 220 may perform a readjustment in which the number of application copies is relatively increased and allocated to the edge node having the determined preference rule ratio high. That is, the processing unit 220 may optimally readjust the number of application copies to be allocated to each edge node according to the determined size of the preference rule ratio.

예컨대, 처리부(220)는 선호규칙비율 '66.66'의 Location A에 어플리케이션 복제본을 6개 할당으로 재조정하고, 선호규칙비율 '22.22'의 Location C에 어플리케이션 복제본을 2개 할당으로 재조정하며, 선호규칙비율 '11.11'의 Location B에 어플리케이션 복제본을 1개 할당으로 재조정할 수 있다.For example, the processing unit 220 readjusts the allocation of 6 application copies to Location A with a preference rule ratio of '66.66', readjusts the allocation of 2 copies of the application to Location C with a preference rule ratio of '22.22', and the preference rule ratio It is possible to rebalance the application copy to Location B of '11.11' to 1 allocation.

다른 실시예에서, 동적 자원 분배 장치(200)는 요청 트래픽의 수에 정비례하여, 개별 엣지노드에 할당되는 어플리케이션 복제본의 개수를 재조정할 수 있다.In another embodiment, the dynamic resource distribution apparatus 200 may readjust the number of application copies allocated to individual edge nodes in direct proportion to the number of request traffic.

이를 위해, 카운트부(210)는 선정된 기간 동안, 발생한 상기 IoT 기기로부터의 요청 트래픽의 수를, 엣지노드 별로 카운트 할 수 있다. 즉, 카운트부(210)는 연결되는 IoT 기기에서 사전에 정한 기간에 동시에 발생하는 요청 트래픽의 수를 카운트 할 수 있다.To this end, the counting unit 210 may count the number of request traffic generated from the IoT device for each edge node during a selected period. That is, the counting unit 210 may count the number of request traffic that occurs simultaneously in a predetermined period in the connected IoT device.

이후, 처리부(220)는, 상기 기간 동안, 상기 카운트된 요청 트래픽의 수와 일치하도록, 각 엣지노드에 대해, 상기 어플리케이션 복제본의 개수를 재조정할 수 있다. 즉, 처리부(220)는 카운트 된 요청 트래픽의 수와 동일하도록, 상기 기간 동안에 각 엣지노드에 할당되는 어플리케이션 복제본의 수를 결정할 수 있다.Thereafter, the processing unit 220 may readjust the number of application copies for each edge node to match the counted number of request traffic during the period. That is, the processing unit 220 may determine the number of application copies allocated to each edge node during the period to be equal to the counted number of request traffic.

이를 통해, 동적 자원 분배 장치(200)는 현재 발생하는 요청 트래픽에 최적하도록, 엣지노드 별 할당되는 어플리케이션 복제본의 수를 적절히 조정할 수 있어, 부족하거나 불필요한 어플리케이션 복제본이 존재하지 않도록 할 수 있다.Through this, the dynamic resource distribution apparatus 200 can appropriately adjust the number of application copies allocated for each edge node so as to be optimal for the currently occurring request traffic, so that insufficient or unnecessary application copies do not exist.

다른 실시예에서, 동적 자원 분배 장치(200)는 클라이언트의 실시간 상태를 주기적으로 모니터링하여, 각 엣지노드별 요청 자원에 따라 서비스 복제본 수를 동적으로 조정할 수 있다.In another embodiment, the dynamic resource distribution apparatus 200 may periodically monitor the real-time state of the client, and dynamically adjust the number of service copies according to the requested resource for each edge node.

이를 위해, 동적 자원 분배 장치(200)는 모니터링부(230)를 추가로 구성할 수 있다. 즉, 모니터링부(230)는 클라이언트인 상기 IoT 기기에 대한 상태를 모니터링하는 역할을 할 수 있다.To this end, the dynamic resource distribution apparatus 200 may additionally configure the monitoring unit 230 . That is, the monitoring unit 230 may serve to monitor the status of the IoT device, which is a client.

여기서 IoT 기기에 대한 상태는, IoT 기기가 이용하는 통신 주파수 대역, 주변 노이즈 현황, 연결 프로토콜의 오류 유무, 요청 트래픽의 전달 중 손실율 등일 수 있다.Here, the status of the IoT device may be a communication frequency band used by the IoT device, a status of ambient noise, whether there is an error in a connection protocol, a loss rate during transmission of the request traffic, and the like.

이후, 처리부(220)는, 상기 모니터링의 결과를 더 고려하여, 재조정하는 상기 어플리케이션 복제본의 개수를 결정할 수 있다. 즉, 처리부(220)는 모니터링을 통해 확인된 IoT 기기의 상태에 따라, IoT 기기와 연결되는 엣지노드에 할당되는 어플리케이션 복제본의 개수를 증가 또는 감소시킬 수 있다.Thereafter, the processing unit 220 may further consider the monitoring result to determine the number of the application replicas to be readjusted. That is, the processing unit 220 may increase or decrease the number of application copies allocated to the edge node connected to the IoT device according to the status of the IoT device checked through monitoring.

예컨대, 모니터링부(230)의 모니터링 결과, IoT 기기의 주변 노이즈 현황이, 요청 트래픽을 정상적으로 전달하는 데에 문제가 많을 정도로 안 좋을 경우, 처리부(220)는 해당 IoT 기기와 연결되는 엣지노드에 할당되는 어플리케이션 복제본의 개수를 감소시키는 재조정을 할 수 있다.For example, as a result of monitoring by the monitoring unit 230, when the ambient noise status of the IoT device is so bad that there are many problems in normally delivering the requested traffic, the processing unit 220 allocates to the edge node connected to the IoT device A rebalance can be made to reduce the number of application replicas being made.

본 발명의 일실시예에 따르면, 쿠버네티스 자원 배분 문제점을 고려하여, 자원 프로비저닝 기능을 제공하는, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법 및 장치를 제공할 수 있다.According to an embodiment of the present invention, in consideration of the Kubernetes resource allocation problem, it is possible to provide a container-based dynamic resource distribution method and apparatus for an IoT edge computing environment, which provides a resource provisioning function.

또한, 본 발명에 의해서는, 클라이언트의 요청 트래픽 상태를 고려하여 각 엣지노드로의 요청량에 비례하도록 응용 서비스별 복제본을 분배할 수 있다.In addition, according to the present invention, it is possible to distribute copies for each application service in proportion to the amount of requests to each edge node in consideration of the client's request traffic status.

또한, 본 발명에 의해서는, 클라이언트의 실시간 상태를 주기적으로 모니터링하여, 각 엣지노드별 요청 자원에 따라 서비스 복제본 수를 동적으로 조정하도록 함으로써, 시스템 전체 처리량을 개선할 수 있다.In addition, according to the present invention, by periodically monitoring the client's real-time status and dynamically adjusting the number of service copies according to the requested resource for each edge node, the overall system throughput can be improved.

본 발명에서는 종래의 쿠버네티스 자원 배분 문제점을 고려하여, 자원 프로비저닝 기능 제공 방법을 제안한다.The present invention proposes a method for providing a resource provisioning function in consideration of the conventional Kubernetes resource allocation problem.

동적 자원 분배 장치(200)는 클라이언트의 요청 트래픽 상태를 고려하여 각 엣지노드로의 요청량에 비례하도록 응용 서비스별 복제본을 분배한다. 예를 들어 도 1의 조건에서, 본 발명의 동적 자원 분배 장치(200)는 엣지노드 Location A에 6개의 응용 서비스 복제본을 프로비저닝하고, 엣지노드 Location B에 1개의 응용 서비스 복제본을 프로비저닝하며, 엣지노드 Location C에 2개의 응용 서비스 복제본을 프로비저닝 할 수 있다.The dynamic resource distribution apparatus 200 distributes copies for each application service in proportion to the request amount to each edge node in consideration of the client's request traffic state. For example, in the condition of FIG. 1, the dynamic resource distribution apparatus 200 of the present invention provisions six application service replicas to the edge node Location A, and provisions one application service replica to the edge node Location B, and the edge node You can provision two replicas of the application service at Location C.

또한, 본 발명은, 클라이언트의 실시간 상태를 주기적으로 모니터링하여, 각 엣지노드별 요청 자원에 따라 응용 서비스 복제본 수를 동적으로 조정하도록 함으로써, 시스템 전체 처리량을 개선할 수 있다.In addition, the present invention can improve the overall throughput of the system by periodically monitoring the real-time status of the client and dynamically adjusting the number of application service replicas according to the requested resource for each edge node.

본 발명에서는 사물인터넷 엣지 컴퓨팅 환경에서 컨테이너 기반 자원을 동적으로 분배할 수 있는 기술을 제안한다.The present invention proposes a technology for dynamically distributing container-based resources in an IoT edge computing environment.

즉, 본 발명은 사물인터넷 응용서비스의 고확장성 및 고가용성을 제공하기 위하여, 동일한 서비스를 제공하는 다수의 컨테이너 기반 복제본을 운영하는 엣지 컴퓨팅 플랫폼에 적용될 수 있다.That is, in order to provide high scalability and high availability of IoT application services, the present invention can be applied to an edge computing platform that operates multiple container-based replicas that provide the same service.

또한, 본 발명의 목적은 엣지노드의 클러스터 환경에서 각 엣지노드에 요청되는 트래픽 양을 고려하여 적절한 수의 복제본을 각 엣지노드에 배포할 수 있다.In addition, it is an object of the present invention to distribute an appropriate number of replicas to each edge node in consideration of the amount of traffic requested to each edge node in the cluster environment of the edge node.

동적 자원 분배 장치(200)는 각 엣지노드 별 수신 요청 수에 대한 정보를 수집하기 위해, 쿠버네티스 플랫폼 환경에서 해당 정보를 저장하기 위한 Endpoint 개체를 만든다.The dynamic resource distribution device 200 creates an Endpoint object for storing the information in the Kubernetes platform environment in order to collect information on the number of reception requests for each edge node.

동적 자원 분배 장치(200)는 사용자 요청 트래픽의 분배 모듈에 관한 쿠버네티스의 프록시 모드 중 user-space proxy 모드를 사용하여 각 엣지노드의 어플리케이션에 접근하는 요청 수를 주기적으로 카운팅하여 Endpoint 개체를 만든다.The dynamic resource distribution device 200 creates an Endpoint object by periodically counting the number of requests to access the application of each edge node using the user-space proxy mode among the proxy modes of Kubernetes regarding the distribution module of user request traffic. .

즉, 쿠버네티스를 관장하는 마스터노드는 각 엣지노드 상의 Endpoint 개체를 읽어 네트워크 트래픽 상태를 알 수 있다.In other words, the master node in charge of Kubernetes can read the endpoint object on each edge node to know the network traffic status.

또한, 마스터 노드의 스케쥴러는 nodeAffinity라는 우선순위 규칙을 이용하여, 어플리케이션별 복제본이 배포될 엣지노드를 특정할 수 있으며, nodeAffinity에는 필수(Required) 규칙과 선호(Preffered) 규칙 두 가지가 있다.In addition, the scheduler of the master node can use the priority rule called nodeAffinity to specify the edge node to which the replica for each application will be distributed. There are two types of nodeAffinity: Required and Preferred.

필수 규칙에서는 선택된 엣지노드가 각 어플리케이션별 복제본의 요구 사항을 충족해야 함을 의미하며, 선호 규칙에서는 각 엣지노드별 가중치 필드를 1에서 100까지 명시하고 가중치 값이 높은 엣지노드를 선택될 수 있도록 각 어플리케이션에 우선순위를 부여할 수 있다. The mandatory rule means that the selected edge node must satisfy the requirements of replicas for each application. In the preferred rule, the weight field for each edge node is specified from 1 to 100, and each edge node with a high weight value can be selected. Applications can be given priority.

쿠버네티스 클러스터에서 각 노드는 키(key)-값(Value) 형태의 라벨을 가진다.In a Kubernetes cluster, each node has a key-value label.

따라서 특정 노드에 복제본을 배치해야 하는 nodeAffinity 규칙의 구성은 노드의 라벨을 기반으로 한다.Therefore, the configuration of the nodeAffinity rule that should place a replica on a particular node is based on the node's label.

동적 자원 분배 장치(200)는 각 어플리케이션의 복제본을 할당하기 위하여 선호 규칙을 활용할 수 있다.The dynamic resource distribution apparatus 200 may utilize a preference rule to allocate a copy of each application.

먼저, 각 엣지노드의 레이블(label)은 노드의 위치를 기준으로 정해진다.First, the label of each edge node is determined based on the node's location.

엣지노드 A는 키를 위치로 하고, 값을 위치의 이름으로 하여 정해지는 값을 갖는다(예 엣지노드 A의 라벨 : location - location A).Edge node A has a value determined by using the key as the location and the value as the location name (eg, the label of edge node A: location - location A).

또한, 각 엣지노드의 가중치 필드의 값은, 위치에서 어플리케이션에 접근 요청하는 비율로 정한다.In addition, the value of the weight field of each edge node is determined by the rate of requesting access to the application from the location.

도 3은 본 발명의 실시예에 따른 스케줄링을 위한 nodeAffinity 설정을 예시하는 도면이다.3 is a diagram illustrating setting of nodeAffinity for scheduling according to an embodiment of the present invention.

도 3에 도시한 바와 같이, 엣지노드 A에서 “IoT-app-1” 어플리케이션에 접근 요청하는 비율은 80%이고, 엣지노드 B에 접근 요청하는 비율은 20%로 분산되어 있다.As shown in FIG. 3, the rate of requesting access to the “IoT-app-1” application from edge node A is 80%, and the rate of requesting access to edge node B is distributed at 20%.

이에 따라 도 3에서 가중치 값(weight)은 엣지노드 A에 80(도 3의 도번 310), 엣지노드 B에 20(도 3의 도번 320)으로 설정하게 된다.Accordingly, in FIG. 3 , the weight is set to 80 ( 310 in FIG. 3 ) for the edge node A and 20 ( 320 in FIG. 3 ) for the edge node B.

도 4는 본 발명에서 제안하는 기술의 구성요소 및 동작을 설명하기 위한 도면이다.4 is a view for explaining the components and operation of the technology proposed in the present invention.

본 발명은 컨테이너 오케스트레이션을 위한 오픈소스 프로젝트인 쿠버네티스 플랫폼 상에서 동작할 수 있다.The present invention can operate on the Kubernetes platform, which is an open source project for container orchestration.

도 4에 도시한 바와 같이, 본 발명은 쿠버네티스의 마스터 노드(Master Node) 상의 응용 서비스를 위한 컨트롤 모듈의 형태로 구현될 수 있다.As shown in FIG. 4 , the present invention can be implemented in the form of a control module for application services on a master node of Kubernetes.

즉, IoT 엣지 인프라 환경에서 실제 동작하는 워커 노드(Worker Node)는 엣지노드로 동작하게 되며, 각 워커 노드의 kube-proxy에서 각 엣지노드에 배포된 어플리케이션별 수신 요청 수를 카운트할 수 있다.That is, a worker node that actually operates in the IoT edge infrastructure environment operates as an edge node, and the kube-proxy of each worker node can count the number of incoming requests for each application deployed to each edge node.

ElssticFog로 명명된 마스터 노드 상의 컨트롤 모듈에서는, 주기적으로 어플리케이션, 엣지노드 및 네트워크 상태의 최신 정보를 수집할 수 있다.In the control module on the master node named ElssticFog, it is possible to periodically collect the latest information on the application, edge node and network status.

또한, 마스터 노드는 수집된 정보를 바탕으로 각 엣지노드에서 수신하는 요청량의 비율을 계산하고 nodeAffinity 규칙을 업데이트한다.In addition, the master node calculates the ratio of the request amount received from each edge node based on the collected information and updates the nodeAffinity rule.

마지막으로 쿠버네티스 스케줄러에서는 nodeAffinity 규칙에 따라 어플리케이션 별 복제본의 수를 재분배 할 수 있다.Finally, the Kubernetes scheduler can redistribute the number of replicas per application according to the nodeAffinity rule.

도 5는 본 발명의 실시예에 따른, ElasticFog에서의 동작 알고리즘을 설명하기 위한 도이다.5 is a diagram for explaining an operation algorithm in ElasticFog according to an embodiment of the present invention.

도 5의 동작 알고리즘에서는 도 4의 구성 요소 중에 쿠버네티스 마스터 노드 상의 ElasticFog 제어 모듈에서 동작하는 알고리즘을 기술한다.The operation algorithm of FIG. 5 describes an algorithm operating in the ElasticFog control module on the Kubernetes master node among the components of FIG. 4 .

도 5의 applicationList는 클러스터에서 실행 중인 어플리케이션의 목록이고, nodeList는 클러스터에 있는 엣지노드의 목록일 수 있다.The applicationList of FIG. 5 may be a list of applications running in the cluster, and the nodeList may be a list of edge nodes in the cluster.

도 5의 LocationInfo는 각 위치의 노드 목록(예: location A:[node1]. location B: [node2])를 나타내며, applicationRequestInfo는 각 엣지노드에서의 어플리케이션 별 수신 요청 수를 저장할 수 있다(예: node1: 800, node2: 200).The LocationInfo of FIG. 5 represents a node list (eg, location A:[node1]. location B: [node2]) of each location, and the applicationRequestInfo may store the number of requests received for each application in each edge node (eg, node1). : 800, node2: 200).

도 5의 weightInfo는 어플리케이션의 각 위치에서 수신받는 요청의 비율을 나타낼 수 있다(예: location A: 80, location B: 20).The weightInfo of FIG. 5 may indicate the ratio of requests received at each location of the application (eg, location A: 80, location B: 20).

쿠버네티스 API에 의해서는 검색기능을 통해 nodeList와 applicationList를 검색할 수 있다.With the Kubernetes API, nodeList and applicationList can be searched through the search function.

또한, 도 5의 locationInfo는 엣지노드의 라벨을 기반으로 업데이트 되며, applicationReuestInfo는 어플리케이션에 해당되는 Endpoint 객체를 읽어 수집할 수 있다.In addition, the locationInfo of FIG. 5 is updated based on the label of the edge node, and the applicationReuestInfo may be collected by reading the Endpoint object corresponding to the application.

동작 알고리즘은 클러스터 내의 어플리케이션 별로 반복될 수 있다.The operation algorithm may be repeated for each application in the cluster.

즉, 본 발명에서는, 각 어플리케이션 별로 요청량에 비례하도록 복제본의 수를 동적으로 조정할 수 있다.That is, in the present invention, the number of replicas can be dynamically adjusted in proportion to the request amount for each application.

본 발명은 nodeList, locationInfo 그리고 applicationRequestInfo을 통해, 클러스터 및 각 위치에서 어플리케이션의 수신한 요청의 수를 계산한다.The present invention calculates the number of requests received by an application in a cluster and each location through nodeList, locationInfo, and applicationRequestInfo.

그리고 나서, 본 발명은 각 위치에서 수신한 요청의 비율을 계산하고 weightInfo에 업데이트한다.Then, the present invention calculates the proportion of requests received at each location and updates the weightInfo.

또한, 본 발명은 weightInfo의 값을 토대로 nodeAffinity 규칙에 따라 각 위치의 weight 값을 업데이트 한다.In addition, the present invention updates the weight value of each location according to the nodeAffinity rule based on the value of weightInfo.

마지막으로, 본 발명은 어플리케이션 별로 nodeAffinity 규칙이 업데이트되면, 쿠버네티스의 스케쥴러는 각 노드 상의 복제분의 재분배를 수행하게 되며 이 때 nodeAffinity의 우선순위의 비율에 따라 복제본을 우선 배치하게 된다. Finally, according to the present invention, when the nodeAffinity rule is updated for each application, the Kubernetes scheduler redistributes the copies on each node.

본 발명에 의해서는, 사물인터넷을 위한 엣지 컴퓨팅 인프라로 활용될 수 있고, 특히 사용자의 요청량 비율에 따라 연산자원을 동적 분배 함으로써, 엣지 컴퓨팅 인프라의 시스템 처리성능을 개선할 수 있다.According to the present invention, it can be utilized as an edge computing infrastructure for the Internet of Things, and in particular, by dynamically distributing operator resources according to the user's request rate ratio, the system processing performance of the edge computing infrastructure can be improved.

이하, 도 6에서는 본 발명의 실시예들에 따른 동적 자원 분배 장치(200)의 작업 흐름을 상세히 설명한다.Hereinafter, a work flow of the dynamic resource distribution apparatus 200 according to embodiments of the present invention will be described in detail with reference to FIG. 6 .

도 6은 본 발명의 일실시예에 따른, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법을 도시한 흐름도이다.6 is a flowchart illustrating a container-based dynamic resource distribution method for an IoT edge computing environment according to an embodiment of the present invention.

본 실시예에 따른 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법은 동적 자원 분배 장치(200)에 의해 수행될 수 있다.The container-based dynamic resource distribution method for the IoT edge computing environment according to the present embodiment may be performed by the dynamic resource distribution apparatus 200 .

우선, 동적 자원 분배 장치(200)는 쿠버네티스 기반 엣지 컴퓨팅의 중간 계층을 구성하는 클러스터와 연관하여, 상기 클러스터에 포함되는 엣지노드에 대해, 할당되는 어플리케이션 복제본의 개수를 카운트한다(610). 단계(610)는 엣지노드에 현재 할당되어 있는 응용 서비스 복제본의 수를 계수하는 과정일 수 있다.First, the dynamic resource distribution apparatus 200 counts the number of allocated application replicas for the edge nodes included in the cluster in association with the cluster constituting the middle layer of the Kubernetes-based edge computing ( 610 ). Step 610 may be a process of counting the number of application service replicas currently allocated to the edge node.

상술한 도 1에서와 같이, 엣지노드 각각에는 초기에 설정된 수(예, 3개)의 어플리케이션 복제본이 할당되어 있을 수 있고, 이 경우, 동적 자원 분배 장치(200)는 각 엣지노드에 대해, 할당되는 어플리케이션 복제본의 개수를 '3'으로 카운트 할 수 있다.1, an initially set number (eg, three) of application copies may be allocated to each edge node, and in this case, the dynamic resource distribution apparatus 200 allocates for each edge node, You can count the number of application replicas to be '3'.

또한, 동적 자원 분배 장치(200)는 IoT 기기에서의 요청 트래픽 상태를 고려하여, 상기 엣지노드 각각에서 필요로 하는 어플리케이션 복제본의 개수를 재조정한다(620). 단계(620)는 엣지노드에 연결되는 IoT 기기로부터 입력되는 요청의 정도를 감안하여, 개별 엣지노드에 할당되어야 하는 어플리케이션 복제본의 개수를 동적으로 결정하는 과정일 수 있다.In addition, the dynamic resource distribution apparatus 200 readjusts the number of application copies required by each of the edge nodes in consideration of the request traffic state in the IoT device ( 620 ). Step 620 may be a process of dynamically determining the number of application copies to be allocated to individual edge nodes in consideration of the degree of request input from the IoT device connected to the edge node.

모든 엣지노드에 할당된 어플리케이션 복제본의 개수를 '3'으로 카운트 한 상술의 예에서, 동적 자원 분배 장치(200)는 4개의 IoT 기기에서 발생한 요청 트래픽의 양에 따라, 상기 4개의 IoT 기기가 연결되는 엣지노드에서의 필요한 어플리케이션 복제본의 개수를 '6'으로 결정할 수 있다. 이후 동적 자원 분배 장치(200)는 해당 엣지노드에 할당되는 어플리케이션 복제본의 개수를 기존 3개에서 6개로 재조정할 수 있다.In the above example in which the number of application copies allocated to all edge nodes is counted as '3', the dynamic resource distribution device 200 connects the four IoT devices according to the amount of request traffic generated by the four IoT devices. It is possible to determine the number of required application replicas in the edge node to be '6'. Thereafter, the dynamic resource distribution apparatus 200 may readjust the number of application copies allocated to the corresponding edge node from three to six.

엣지노드에서 필요로 하는 어플리케이션 복제본의 개수의 결정에 있어, 동적 자원 분배 장치(200)는 엣지노드 각각으로, 연결되는 상기 IoT 기기로부터의 요청 트래픽의 수에 상응하여, 엔드포인트 개체를 작성할 수 있다. 상기 엔드포인트(Endpoint) 개체는, IoT 기기에서 입력된 요청 트래픽을 엣지노드에서 처리될 때 일시 보관하는 수단일 수 있다.In determining the number of application replicas required by the edge node, the dynamic resource distribution device 200 may create an endpoint object corresponding to the number of request traffic from the IoT device connected to each edge node. . The endpoint entity may be a means for temporarily storing request traffic input from the IoT device when processed by the edge node.

본 발명의 기반이 되는 쿠버네티스에서, 동적 자원 분배 장치(200)는, IoT 기기에서 동일 기간에 입력되는 요청 트래픽의 양에 연동되어, 상기 엔드포인트 개체를 실시간으로 작성할 수 있다. 예컨대, 특정의 엣지노드와 연결되는 4개의 IoT 기기 각각에서 동일한 기간 동안에, 요청 트래픽을 발생시킴에 따라, 동적 자원 분배 장치(200)는 이들 4개의 IoT 기기 각각에 대한 엔드포인트 개체를 작성할 수 있다.In Kubernetes, which is the basis of the present invention, the dynamic resource distribution device 200 can create the endpoint object in real time by interworking with the amount of request traffic inputted in the same period from the IoT device. For example, as each of the four IoT devices connected to a specific edge node generates request traffic during the same period, the dynamic resource distribution device 200 may create an endpoint object for each of these four IoT devices. .

이후, 동적 자원 분배 장치(200)는 작성된 상기 엔드포인트 개체의 수가, 설정된 한계치를 초과하는 활동 엣지노드에 대해, 상기 IoT 기기에서의 요청 트래픽 상태를 busy로 판단하여, 상기 어플리케이션 복제본의 개수를 증가하여 할당시키는 재조정을 한다.Thereafter, the dynamic resource distribution device 200 determines that, for an active edge node in which the number of created endpoint entities exceeds a set limit, the request traffic state of the IoT device is determined to be busy, and the number of application copies is increased. to rebalance the allocation.

즉, 동적 자원 분배 장치(200)는 연결되고 있던 IoT 기기로부터 요청 트래픽이 대량으로 입력되고, 그에 따라 다수의 엔드포인트 개체가 한계치를 넘어 작성되는 엣지노드를, 활동 엣지노드로 결정하고, 결정된 활동 엣지노드에 대해 어플리케이션 복제본의 개수를 현재 보다 증가시키는 조정을 할 수 있다.That is, the dynamic resource distribution device 200 receives a large amount of request traffic from the connected IoT device, and thus determines an edge node in which a plurality of endpoint objects are created beyond a threshold as an activity edge node, and the determined activity You can make adjustments to the edge node to increase the number of application replicas than the current one.

여기서, 한계치는, 엔드포인트 개체를 기준으로, 엣지노드가, 현재 실제 작업을 처리하는 노드인지를 판별할 수 있게 하는 기준치일 수 있고, 본 발명의 발명자의 경험과 연구 결과에 따른 임의의 값(예컨대, '5')으로 설정할 수 있다.Here, the threshold value may be a reference value that allows it to be determined whether an edge node is a node currently processing an actual job, based on the endpoint entity, and an arbitrary value ( For example, it can be set to '5').

모든 엣지노드에 할당된 어플리케이션 복제본의 개수를 '3'으로 카운트 한 상술의 예에서, 동적 자원 분배 장치(200)는 Location A에 작성되는 엔드포인트 개체가 한계치 '5'보다 많은 '6'일 경우, 해당 엣지노드를 활동 엣지노드로 결정하여, 할당되는 어플리케이션 복제본의 개수를 기존 3개에서 6개로 재조정할 수 있다.In the above example in which the number of application replicas allocated to all edge nodes is counted as '3', the dynamic resource distribution device 200 determines that the endpoint object created in Location A is '6', which is more than the limit value '5'. , by determining the corresponding edge node as an active edge node, the number of allocated application replicas can be readjusted from 3 to 6.

다른 실시예에서, 동적 자원 분배 장치(200)는, 작성된 상기 엔드포인트 개체의 수가, 상기 한계치 이하이거나 '0'인 비활동 엣지노드에 대해, 상기 IoT 기기에서의 요청 트래픽 상태를 free로 판단하여, 상기 비활동 엣지노드에 할당되는 어플리케이션 복제본의 적어도 일부를, 상기 활동 엣지노드로 이동하여 할당시켜 재조정을 한다.In another embodiment, the dynamic resource distribution device 200 determines that the requested traffic status in the IoT device is free for an inactive edge node in which the number of created endpoint entities is less than or equal to the threshold or '0'. , at least a portion of the application copies allocated to the inactive edge node are moved to the active edge node to be allocated and readjusted.

즉, 동적 자원 분배 장치(200)는, 작성된 엔드포인트 개체의 수가 적어, 현재 실제 작업에 관여하지 않는 엣지노드를 비활동 엣지노드로 결정하고, 결정된 비활동 엣지노드에 할당되고 있던 일부의 어플리케이션 복제본을 활동 엣지노드로 이동시켜 할당하도록 할 수 있다.That is, the dynamic resource distribution device 200 determines an edge node that is not currently involved in actual work as an inactive edge node because the number of created endpoint objects is small, and copies of some applications that have been allocated to the determined inactive edge node can be allocated by moving it to the active edge node.

모든 엣지노드에 할당된 어플리케이션 복제본의 개수를 '3'으로 카운트 한 상술의 예에서, 동적 자원 분배 장치(200)는 Location B에 작성되는 엔드포인트 개체가 한계치 '5'보다 현저히 적은 '1'일 경우, 해당 엣지노드를 비활동 엣지노드로 결정하여, 할당되는 어플리케이션 복제본의 개수를 기존 3개에서 1개로 재조정하고, 잔여되는 2개의 어플리케이션 복제본을, 활동 엣지노드인 Location A로 이동시켜 할당되도록 할 수 있다.In the above example in which the number of application replicas allocated to all edge nodes is counted as '3', the dynamic resource distribution device 200 indicates that the endpoint object created in Location B is significantly less than the threshold '5'. In this case, the corresponding edge node is determined as an inactive edge node, the number of allocated application copies is readjusted from three to one, and the remaining two application copies are moved to Location A, the active edge node, to be allocated. can

또 다른 실시예에서, 동적 자원 분배 장치(200)는, 상기 IoT 기기와의 연결 빈도에 따라, 상기 엣지노드 각각으로, 선호규칙비율을 결정한다. 즉, 동적 자원 분배 장치(200)는 IoT 기기와 접촉되는 횟수에 따라 개별 엣지노드에 대해 우선순위를 부여할 수 있다.In another embodiment, the dynamic resource distribution device 200 determines the preference rule ratio for each of the edge nodes according to the connection frequency with the IoT device. That is, the dynamic resource distribution device 200 may give priority to individual edge nodes according to the number of times of contact with the IoT device.

예컨대, IoT 기기와 접촉된 횟수가 많아, 연결 빈도가 가장 많은 Location A에 대해, 동적 자원 분배 장치(200)는 최우선수위인 '80'의 선호규칙비율을 결정할 수 있고, 다음으로 연결 빈도가 많은 Location C에 대해 선호규칙비율 '15'를 결정할 수 있으며, 가장 작은 연결 빈도의 Location B에 대해 선호규칙비율 '5'를 결정할 수 있다.For example, for Location A, where the number of times of contact with the IoT device is large, and the connection frequency is the highest, the dynamic resource distribution device 200 may determine a preference rule ratio of '80', which is the highest level, and has the next highest connection frequency. A preference rule ratio of '15' may be determined for Location C, and a preference rule ratio of '5' may be determined for Location B having the smallest connection frequency.

이후, 동적 자원 분배 장치(200)는 결정된 상기 선호규칙비율이 높은 엣지노드에 대해, 상기 어플리케이션 복제본의 개수를 상대적으로 증가하여 할당시키는 재조정을 할 수 있다. 즉, 동적 자원 분배 장치(200)는 결정된 선호규칙비율의 크기에 따라, 엣지노드 각각에 할당되어야 하는 어플리케이션 복제본의 수를 최적하게 재조정할 수 있다.Thereafter, the dynamic resource distribution apparatus 200 may perform readjustment in which the number of application copies is relatively increased and allocated to the edge node having the determined preference rule ratio high. That is, the dynamic resource distribution apparatus 200 may optimally readjust the number of application copies to be allocated to each edge node according to the determined size of the preference rule ratio.

예컨대, 동적 자원 분배 장치(200)는 선호규칙비율 '66.66'의 Location A에 어플리케이션 복제본을 6개 할당으로 재조정하고, 선호규칙비율 '22.22'의 Location C에 어플리케이션 복제본을 2개 할당으로 재조정하며, 선호규칙비율 '11.11'의 Location B에 어플리케이션 복제본을 1개 할당으로 재조정할 수 있다.For example, the dynamic resource distribution device 200 readjusts the allocation of 6 application copies to Location A of the preference rule ratio '66.66', and readjusts the application copies to Location C of the preference rule ratio '22.22' to 2 allocations, It is possible to readjust one application copy to Location B with a preferred rule ratio of '11.11'.

다른 실시예에서, 동적 자원 분배 장치(200)는 요청 트래픽의 수에 정비례하여, 개별 엣지노드에 할당되는 어플리케이션 복제본의 개수를 재조정할 수 있다.In another embodiment, the dynamic resource distribution apparatus 200 may readjust the number of application copies allocated to individual edge nodes in direct proportion to the number of request traffic.

이를 위해, 동적 자원 분배 장치(200)는 선정된 기간 동안, 발생한 상기 IoT 기기로부터의 요청 트래픽의 수를, 엣지노드 별로 카운트 할 수 있다. 즉, 동적 자원 분배 장치(200)는 연결되는 IoT 기기에서 사전에 정한 기간에 동시에 발생하는 요청 트래픽의 수를 카운트 할 수 있다.To this end, the dynamic resource distribution apparatus 200 may count the number of request traffic from the IoT device generated for each edge node during a selected period. That is, the dynamic resource distribution device 200 may count the number of request traffic that occurs simultaneously in a predetermined period in the connected IoT device.

이후, 동적 자원 분배 장치(200)는, 상기 기간 동안, 상기 카운트된 요청 트래픽의 수와 일치하도록, 각 엣지노드에 대해, 상기 어플리케이션 복제본의 개수를 재조정할 수 있다. 즉, 동적 자원 분배 장치(200)는 카운트 된 요청 트래픽의 수와 동일하도록, 상기 기간 동안에 각 엣지노드에 할당되는 어플리케이션 복제본의 수를 결정할 수 있다.Thereafter, the dynamic resource distribution apparatus 200 may readjust the number of application copies for each edge node to match the counted number of request traffic during the period. That is, the dynamic resource distribution apparatus 200 may determine the number of application copies allocated to each edge node during the period to be equal to the counted number of request traffic.

이를 통해, 동적 자원 분배 장치(200)는 현재 발생하는 요청 트래픽에 최적하도록, 엣지노드 별 할당되는 어플리케이션 복제본의 수를 적절히 조정할 수 있어, 부족하거나 불필요한 어플리케이션 복제본이 존재하지 않도록 할 수 있다.Through this, the dynamic resource distribution apparatus 200 can appropriately adjust the number of application copies allocated for each edge node so as to be optimal for the currently occurring request traffic, so that insufficient or unnecessary application copies do not exist.

다른 실시예에서, 동적 자원 분배 장치(200)는 클라이언트의 실시간 상태를 주기적으로 모니터링하여, 각 엣지노드별 요청 자원에 따라 서비스 복제본 수를 동적으로 조정할 수 있다.In another embodiment, the dynamic resource distribution apparatus 200 may periodically monitor the real-time state of the client, and dynamically adjust the number of service copies according to the requested resource for each edge node.

즉, 동적 자원 분배 장치(200)는 클라이언트인 상기 IoT 기기에 대한 상태를 모니터링 할 수 있다.That is, the dynamic resource distribution apparatus 200 may monitor the state of the IoT device, which is a client.

여기서 IoT 기기에 대한 상태는, IoT 기기가 이용하는 통신 주파수 대역, 주변 노이즈 현황, 연결 프로토콜의 오류 유무, 요청 트래픽의 전달 중 손실율 등일 수 있다.Here, the status of the IoT device may be a communication frequency band used by the IoT device, a status of ambient noise, whether there is an error in a connection protocol, a loss rate during transmission of the request traffic, and the like.

이후, 동적 자원 분배 장치(200)는, 상기 모니터링의 결과를 더 고려하여, 재조정하는 상기 어플리케이션 복제본의 개수를 결정할 수 있다. 즉, 동적 자원 분배 장치(200)는 모니터링을 통해 확인된 IoT 기기의 상태에 따라, IoT 기기와 연결되는 엣지노드에 할당되는 어플리케이션 복제본의 개수를 증가 또는 감소시킬 수 있다.Thereafter, the dynamic resource distribution apparatus 200 may determine the number of the application replicas to be readjusted by further considering the monitoring result. That is, the dynamic resource distribution device 200 may increase or decrease the number of application copies allocated to the edge node connected to the IoT device according to the status of the IoT device checked through monitoring.

예컨대, 동적 자원 분배 장치(200)의 모니터링 결과, IoT 기기의 주변 노이즈 현황이, 요청 트래픽을 정상적으로 전달하는 데에 문제가 많을 정도로 안 좋을 경우, 동적 자원 분배 장치(200)는 해당 IoT 기기와 연결되는 엣지노드에 할당되는 어플리케이션 복제본의 개수를 감소시키는 재조정을 할 수 있다.For example, as a result of monitoring the dynamic resource distribution device 200 , when the ambient noise status of the IoT device is so bad that there are many problems in normally delivering the request traffic, the dynamic resource distribution device 200 is connected to the IoT device Rebalancing can be done to reduce the number of application replicas allocated to the edge nodes that become

본 발명의 일실시예에 따르면, 쿠버네티스 자원 배분 문제점을 고려하여, 자원 프로비저닝 기능을 제공하는, 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법 및 장치를 제공할 수 있다.According to an embodiment of the present invention, in consideration of the Kubernetes resource allocation problem, it is possible to provide a container-based dynamic resource distribution method and apparatus for an IoT edge computing environment, which provides a resource provisioning function.

또한, 본 발명에 의해서는, 클라이언트의 요청 트래픽 상태를 고려하여 각 엣지노드로의 요청량에 비례하도록 응용 서비스별 복제본을 분배할 수 있다.In addition, according to the present invention, it is possible to distribute copies for each application service in proportion to the amount of requests to each edge node in consideration of the client's request traffic status.

또한, 본 발명에 의해서는, 클라이언트의 실시간 상태를 주기적으로 모니터링하여, 각 엣지노드별 요청 자원에 따라 서비스 복제본 수를 동적으로 조정하도록 함으로써, 시스템 전체 처리량을 개선할 수 있다.In addition, according to the present invention, by periodically monitoring the client's real-time status and dynamically adjusting the number of service copies according to the requested resource for each edge node, the overall system throughput can be improved.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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, etc. 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 available to those skilled in the art of computer software. Examples of the computer-readable recording medium 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 floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

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

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

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

200 : 동적 자원 분배 장치
210 : 카운트부 220 : 처리부
230 : 모니터링부
200: dynamic resource distribution device
210: count unit 220: processing unit
230: monitoring unit

Claims (13)

쿠버네티스 기반 엣지 컴퓨팅의 중간 계층을 구성하는 클러스터와 연관하여,
상기 클러스터에 포함되는 엣지노드에 대해, 할당되는 어플리케이션 복제본의 개수를 카운트하는 단계; 및
IoT 기기에서의 요청 트래픽 상태를 고려하여, 상기 엣지노드 각각에서 필요로 하는 어플리케이션 복제본의 개수를 재조정하는 단계
를 포함하는 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법.
With respect to the cluster that constitutes the middle tier of Kubernetes-based edge computing,
counting the number of allocated application replicas for the edge nodes included in the cluster; and
Re-adjusting the number of application copies required by each edge node in consideration of the request traffic status from the IoT device
A container-based dynamic resource distribution method for an IoT edge computing environment comprising a.
제1항에 있어서,
상기 어플리케이션 복제본의 개수를 재조정하는 단계는,
엣지노드 각각으로, 연결되는 상기 IoT 기기로부터의 요청 트래픽의 수에 상응하여, 엔드포인트(Endpoint) 개체를 작성하는 단계; 및
작성된 상기 엔드포인트 개체의 수가, 설정된 한계치를 초과하는 활동 엣지노드에 대해, 상기 IoT 기기에서의 요청 트래픽 상태를 busy로 판단하여, 상기 어플리케이션 복제본의 개수를 증가하여 할당시키는 재조정을 하는 단계
를 포함하는 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법.
According to claim 1,
The step of re-adjusting the number of application replicas,
creating an endpoint entity, corresponding to the number of request traffic from the connected IoT device, to each edge node; and
Re-adjusting to increase the number of application replicas by judging that the request traffic status from the IoT device is busy for an active edge node in which the number of created endpoint entities exceeds a set threshold
A container-based dynamic resource distribution method for an IoT edge computing environment comprising a.
제2항에 있어서,
상기 어플리케이션 복제본의 개수를 재조정하는 단계는,
작성된 상기 엔드포인트 개체의 수가, 상기 한계치 이하이거나 '0'인 비활동 엣지노드에 대해, 상기 IoT 기기에서의 요청 트래픽 상태를 free로 판단하여, 상기 비활동 엣지노드에 할당되는 어플리케이션 복제본의 적어도 일부를, 상기 활동 엣지노드로 이동하여 할당시켜 재조정을 하는 단계
를 더 포함하는 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법.
3. The method of claim 2,
The step of re-adjusting the number of application replicas,
For an inactive edge node in which the number of created endpoint entities is less than or equal to the threshold value or '0', the status of request traffic from the IoT device is determined as free, and at least a portion of an application copy allocated to the inactive edge node moving to the active edge node and assigning it to readjust
Container-based dynamic resource distribution method for IoT edge computing environment further comprising.
제1항에 있어서,
상기 어플리케이션 복제본의 개수를 재조정하는 단계는,
상기 IoT 기기와의 연결 빈도에 따라, 상기 엣지노드 각각으로, 선호규칙비율을 결정하는 단계; 및
결정된 상기 선호규칙비율이 높은 엣지노드에 대해, 상기 어플리케이션 복제본의 개수를 상대적으로 증가하여 할당시키는 재조정을 하는 단계
를 포함하는 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법.
According to claim 1,
The step of re-adjusting the number of application replicas,
determining, with each of the edge nodes, a preference rule ratio according to a connection frequency with the IoT device; and
Re-arranging to allocate a relatively increasing number of application replicas for the determined edge node having a high preference rule ratio
A container-based dynamic resource distribution method for an IoT edge computing environment comprising a.
제1항에 있어서,
선정된 기간 동안, 발생한 상기 IoT 기기로부터의 요청 트래픽의 수를, 엣지노드 별로 카운트하는 단계
를 더 포함하고,
상기 어플리케이션 복제본의 개수를 재조정하는 단계는,
상기 기간 동안, 상기 카운트된 요청 트래픽의 수와 일치하도록, 각 엣지노드에 대해, 상기 어플리케이션 복제본의 개수를 재조정하는 단계
를 포함하는 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법.
According to claim 1,
Counting the number of request traffic from the IoT device generated during a selected period for each edge node
further comprising,
The step of re-adjusting the number of application replicas,
Rebalancing the number of application replicas for each edge node to match the counted number of request traffic during the period
A container-based dynamic resource distribution method for an IoT edge computing environment comprising a.
제1항에 있어서,
상기 IoT 기기에 대한 상태를 모니터링하는 단계; 및
상기 모니터링의 결과를 더 고려하여, 재조정하는 상기 어플리케이션 복제본의 개수를 결정하는 단계
를 더 포함하는 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법.
According to claim 1,
monitoring the status of the IoT device; and
Determining the number of the application replicas to be readjusted, further considering the results of the monitoring
Container-based dynamic resource distribution method for IoT edge computing environment further comprising.
쿠버네티스 기반 엣지 컴퓨팅의 중간 계층을 구성하는 클러스터와 연관하여,
상기 클러스터에 포함되는 엣지노드에 대해, 할당되는 어플리케이션 복제본의 개수를 카운트하는 카운트부; 및
IoT 기기에서의 요청 트래픽 상태를 고려하여, 상기 엣지노드 각각에서 필요로 하는 어플리케이션 복제본의 개수를 재조정하는 처리부
를 포함하는 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치.
With respect to the cluster that constitutes the middle tier of Kubernetes-based edge computing,
a counting unit for counting the number of allocated application copies for the edge nodes included in the cluster; and
A processing unit that readjusts the number of application copies required by each of the edge nodes in consideration of the request traffic status from the IoT device
A container-based dynamic resource distribution device for an IoT edge computing environment comprising a.
제7항에 있어서,
상기 처리부는,
엣지노드 각각으로, 연결되는 상기 IoT 기기로부터의 요청 트래픽의 수에 상응하여, 엔드포인트 개체를 작성하고,
작성된 상기 엔드포인트 개체의 수가, 설정된 한계치를 초과하는 활동 엣지노드에 대해, 상기 IoT 기기에서의 요청 트래픽 상태를 busy로 판단하여, 상기 어플리케이션 복제본의 개수를 증가하여 할당시키는 재조정을 하는
사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치.
8. The method of claim 7,
The processing unit,
To each edge node, create an endpoint object corresponding to the number of request traffic from the connected IoT device,
For an active edge node in which the number of created endpoint entities exceeds a set threshold, rebalancing to increase and allocate the number of application copies by determining that the request traffic status in the IoT device is busy
Container-based dynamic resource distribution device for IoT edge computing environment.
제8항에 있어서,
상기 처리부는,
작성된 상기 엔드포인트 개체의 수가, 상기 한계치 이하이거나 '0'인 비활동 엣지노드에 대해, 상기 IoT 기기에서의 요청 트래픽 상태를 free로 판단하여, 상기 비활동 엣지노드에 할당되는 어플리케이션 복제본의 적어도 일부를, 상기 활동 엣지노드로 이동하여 할당시켜 재조정을 하는
사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치.
9. The method of claim 8,
The processing unit,
For an inactive edge node in which the number of created endpoint entities is less than or equal to the threshold value or '0', the status of request traffic from the IoT device is determined as free, and at least a portion of an application copy allocated to the inactive edge node , which moves to the active edge node and allocates
Container-based dynamic resource distribution device for IoT edge computing environment.
제7항에 있어서,
상기 처리부는,
상기 IoT 기기와의 연결 빈도에 따라, 상기 엣지노드 각각으로, 선호규칙비율을 결정하고,
결정된 상기 선호규칙비율이 높은 엣지노드에 대해, 상기 어플리케이션 복제본의 개수를 상대적으로 증가하여 할당시키는 재조정을 하는
사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치.
8. The method of claim 7,
The processing unit,
According to the connection frequency with the IoT device, each edge node determines a preference rule ratio,
For the edge node having the determined preference rule ratio high, readjustment is performed by relatively increasing the number of application replicas and allocating
Container-based dynamic resource distribution device for IoT edge computing environment.
제7항에 있어서,
상기 카운트부는,
선정된 기간 동안, 발생한 상기 IoT 기기로부터의 요청 트래픽의 수를, 엣지노드 별로 카운트하고,
상기 처리부는,
상기 기간 동안, 상기 카운트된 요청 트래픽의 수와 일치하도록, 각 엣지노드에 대해, 상기 어플리케이션 복제본의 개수를 재조정하는
사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치.
8. The method of claim 7,
The count unit,
Count the number of request traffic from the IoT device generated during the selected period for each edge node,
The processing unit,
For each edge node, readjusting the number of application replicas to match the counted number of request traffic during the period
Container-based dynamic resource distribution device for IoT edge computing environment.
제7항에 있어서,
상기 IoT 기기에 대한 상태를 모니터링하는 모니터링부
를 더 포함하고,
상기 처리부는,
상기 모니터링의 결과를 더 고려하여, 재조정하는 상기 어플리케이션 복제본의 개수를 결정하는
사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 장치.
8. The method of claim 7,
Monitoring unit for monitoring the status of the IoT device
further comprising,
The processing unit,
Further considering the results of the monitoring, determining the number of application replicas to rebalance
Container-based dynamic resource distribution device for IoT edge computing environment.
제1항 내지 제6항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium recording a program for executing the method of any one of claims 1 to 6.
KR1020200078413A 2020-06-26 2020-06-26 Method and device of dynamic resource allocation for container-based applications for iot edge computing infrastructure KR102410586B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200078413A KR102410586B1 (en) 2020-06-26 2020-06-26 Method and device of dynamic resource allocation for container-based applications for iot edge computing infrastructure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200078413A KR102410586B1 (en) 2020-06-26 2020-06-26 Method and device of dynamic resource allocation for container-based applications for iot edge computing infrastructure

Publications (2)

Publication Number Publication Date
KR20220000592A true KR20220000592A (en) 2022-01-04
KR102410586B1 KR102410586B1 (en) 2022-06-17

Family

ID=79342521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200078413A KR102410586B1 (en) 2020-06-26 2020-06-26 Method and device of dynamic resource allocation for container-based applications for iot edge computing infrastructure

Country Status (1)

Country Link
KR (1) KR102410586B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230021790A (en) 2021-08-06 2023-02-14 금오공과대학교 산학협력단 Edge computing platform system based on data distribution service in industrial Internet of Things environment
KR102527066B1 (en) * 2022-11-21 2023-05-03 주식회사 데이터스트림즈 Efficient dynamic resource allocation method and system for maximizing utilization in Kubernetes environment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240002944A (en) 2022-06-29 2024-01-08 주식회사 크래프트엑스 Method and system for managing container to ensure the stability control services in smart factories

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019207624A (en) * 2018-05-30 2019-12-05 富士通株式会社 Information processing system, control method for information processing system, and control program for management device
US20200026562A1 (en) * 2017-05-04 2020-01-23 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a scheduler and workload manager that identifies and optimizes horizontally scalable workloads

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200026562A1 (en) * 2017-05-04 2020-01-23 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a scheduler and workload manager that identifies and optimizes horizontally scalable workloads
JP2019207624A (en) * 2018-05-30 2019-12-05 富士通株式会社 Information processing system, control method for information processing system, and control program for management device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230021790A (en) 2021-08-06 2023-02-14 금오공과대학교 산학협력단 Edge computing platform system based on data distribution service in industrial Internet of Things environment
KR102527066B1 (en) * 2022-11-21 2023-05-03 주식회사 데이터스트림즈 Efficient dynamic resource allocation method and system for maximizing utilization in Kubernetes environment

Also Published As

Publication number Publication date
KR102410586B1 (en) 2022-06-17

Similar Documents

Publication Publication Date Title
KR102410586B1 (en) Method and device of dynamic resource allocation for container-based applications for iot edge computing infrastructure
JP6113849B2 (en) Method and apparatus for automatically deploying geographically distributed applications in the cloud
KR102199278B1 (en) Accelerated resource processing method and apparatus, and network function virtualization system
US10541901B2 (en) Methods, systems and computer readable media for optimizing placement of virtual network visibility components
US7388839B2 (en) Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems
Téllez et al. A tabu search method for load balancing in fog computing
Hegyi et al. Application orchestration in mobile edge cloud: Placing of IoT applications to the edge
US20060242647A1 (en) Dynamic application placement under service and memory constraints
JP2018523365A (en) System and method for virtual infrastructure management between operator networks
JP2001043199A (en) Service-oriented resource management over different kind of servers
US11902108B2 (en) Dynamic adaptive network
JP2018527668A (en) Method and system for limiting data traffic
JP2023514487A (en) Master data placement in distributed storage system
US20220318071A1 (en) Load balancing method and related device
KR20200133478A (en) Apparatus and method for adjusting resources in cloud system
WO2018158819A1 (en) Distributed database system and resource management method for distributed database system
JP2023523523A (en) Geographically focused workload sharing among nearby MEC hosts on multiple carriers
JPH05216842A (en) Resources managing device
US20190042294A1 (en) System and method for implementing virtualized network functions with a shared memory pool
KR102201799B1 (en) Dynamic load balancing method and dynamic load balancing device in sdn-based fog system
CN112655185A (en) Apparatus, method and storage medium for service distribution in software defined network
Alghamdi et al. Fog Network Area Management Model for Managing Fog-cloud Resources in IoT Environment
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
Huang et al. A multipath openflow controller for multiple TCP stream applications

Legal Events

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