KR20230069813A - Apparatus for switching main screen based on distributed telepresence and method using the same - Google Patents

Apparatus for switching main screen based on distributed telepresence and method using the same Download PDF

Info

Publication number
KR20230069813A
KR20230069813A KR1020220119177A KR20220119177A KR20230069813A KR 20230069813 A KR20230069813 A KR 20230069813A KR 1020220119177 A KR1020220119177 A KR 1020220119177A KR 20220119177 A KR20220119177 A KR 20220119177A KR 20230069813 A KR20230069813 A KR 20230069813A
Authority
KR
South Korea
Prior art keywords
edge
scheduler
cloud
storage
container
Prior art date
Application number
KR1020220119177A
Other languages
Korean (ko)
Inventor
김대원
장수민
차재근
최현화
김선욱
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US17/985,381 priority Critical patent/US11916998B2/en
Publication of KR20230069813A publication Critical patent/KR20230069813A/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

멀티 클라우드 엣지 시스템이 개시된다. 본 발명의 일실시예에 따른 멀티 클라우드 엣지 시스템은 코어 클라우드; 멀티 클러스터 기반 제1 엣지(A FIRST EDGE) 노드 시스템; 및 멀티 클러스터 기반 니어 엣지(NEAR EDGE) 노드 시스템을 포함하고, 상기 멀티 클러스터 기반 제1 엣지 노드 시스템은 복수의 작업 노드들; 및 스케줄러를 가지는 마스터 노드를 포함한다.A multi-cloud edge system is disclosed. A multi-cloud edge system according to an embodiment of the present invention includes a core cloud; A multi-cluster-based first edge (A FIRST EDGE) node system; and a multi-cluster-based near edge (NEAR EDGE) node system, wherein the multi-cluster-based first edge node system includes a plurality of task nodes; and a master node having a scheduler.

Figure P1020220119177
Figure P1020220119177

Description

멀티 클라우드 엣지 시스템{APPARATUS FOR SWITCHING MAIN SCREEN BASED ON DISTRIBUTED TELEPRESENCE AND METHOD USING THE SAME}Multi Cloud Edge System {APPARATUS FOR SWITCHING MAIN SCREEN BASED ON DISTRIBUTED TELEPRESENCE AND METHOD USING THE SAME}

본 발명은 멀티 클라우드 엣지 시스템에 관한 것으로, 특히 엣지 컴퓨팅의 서비스를 위하여 다중 클러스터를 구성하고, 이를 관리하는 기술에 관한 것이다.The present invention relates to a multi-cloud edge system, and more particularly, to a technique for configuring and managing multiple clusters for edge computing services.

엣지 컴퓨팅 기술은 엔터프라이즈 데이터 센터 또는 중앙 집중식 클라우드 서비스 중 일부를 필요로 하고, 이를 포함하는 다양한 분산 컴퓨팅 토폴로지의 일부분으로써 컴퓨팅 스토리지 소프트웨어 등을 코어에서 엣지로 배포한다. 그리고, 기존 클라우드-단말 중심의 중앙 집중형 클라우드 인프라보다 빠른 서비스 제공을 위해 서비스 사용자에 근접한 컴퓨팅 자원을 선택적으로 활용하는 코어 클라우드-클라우드 엣지-단말 협업 기반 저지연 데이터 처리 기술을 제공함으로써 응답 속도와 필수 안전(Safety-Critical) 서비스의 안정성을 보장한다. Edge computing technologies deploy computing storage software and the like from the core to the edge as part of a variety of distributed computing topologies that require some form of enterprise data center or centralized cloud service and include it. In addition, by providing core cloud-cloud edge-terminal collaboration-based low-latency data processing technology that selectively utilizes computing resources close to service users to provide faster service than the existing cloud-terminal-centered centralized cloud infrastructure, response speed and Ensure the stability of safety-critical services.

최근 사용자가 원하는 대규모 단말들이 생성하는 폭증 데이터의 중앙 클라우드 집중화로 인한 처리 및 전송 지연 극복을 위해, 단말 근접 위치에서 데이터를 처리하는 지능형 클라우드 엣지 서비스를 제공하는 기술 개발 및 관련 서비스 시스템들이 출시되고 있다. 그 중 단일 클러스터로 운영되는 쿠버네티스(Kubernetes)의 경우, OCI 기반의 컨테이너 환경을 오케스트레이션 및 통합 운영하도록 설계된 도구로서 현재 가장 많이 사용되는 도구이다. 그러나 쿠버네티스의 경우에는 단일 클러스터 환경의 용도가 제한되어 있고, 다중 클러스터를 연계하기 위한 도구가 필요하다. 예를 들어, Rancher는 다중 클러스터로 구성된 쿠버네티스를 지원하기 위하여 다중 쿠버네티스 클러스터를 설치하고 설정하도록 고안되었다. 그리고 사용자가 손쉽게 퍼블릭 클라우드와 베어 메탈 서버까지 모두 지원할 수 있도록 고안되어 설계되었다. Recently, technology development and related service systems that provide intelligent cloud edge services that process data in close proximity to terminals are being released in order to overcome delays in processing and transmission due to central cloud centralization of explosive data generated by large-scale terminals desired by users. . Among them, Kubernetes, which is operated as a single cluster, is a tool designed to orchestrate and integrate OCI-based container environments and is currently the most used tool. However, in the case of Kubernetes, the use of a single cluster environment is limited, and tools to link multiple clusters are needed. For example, Rancher is designed to install and configure multiple Kubernetes clusters to support multi-clustered Kubernetes. And it was conceived and designed so that users can easily support both public cloud and bare metal servers.

또한, 분산되어 있는 클라우드 엣지와 코어 클라우드를 연계하여 서비스하기 위해 다양한 방법들이 연구되고 있다. 이를 위해, L7 레이어 기반의 서비스 메시 기술로 오픈소스 진영의 오픈시프트(Istio)가 활발히 진행되고 있다. 서비스 메시는 마이크로 서비스 간의 연계를 위하여 개발된 프로그램이다. 이 방법은 다중 네트워크 상에서 제어 플레인을 공유하고 게이트웨이를 통하여 클러스터간 통신하므로 두 개의 네트워크가 직접 연결되지 않아도 된다. In addition, various methods are being studied to link and service the distributed cloud edge and core cloud. To this end, OpenShift (Istio) of the open source camp is actively progressing as an L7 layer-based service mesh technology. A service mesh is a program developed for interoperability between microservices. Since this method shares the control plane on multiple networks and communicates between clusters through a gateway, the two networks do not need to be directly connected.

클라우드 컴퓨팅은 데이터를 처리하는 곳이 데이터 센터이지만, 엣지 컴퓨팅은 대규모 엣지 단말들이 생성하는 방대한 데이터의 클라우드 집중화로 인한 처리 및 전송 지연 극복을 위해 단말 근접 위치에서 데이터를 처리하고 클라우드-엣지-단말 간 분산 협업을 수행하는 고성능의 플랫폼이 필요하다. In cloud computing, the place where data is processed is the data center, but in edge computing, data is processed at a location close to the terminal to overcome delays in processing and transmission due to the centralization of massive data generated by large-scale edge terminals in the cloud, and data is processed in a location close to the terminal and A high-performance platform that performs distributed collaboration is required.

그러나, 기존 엣지 시스템은 다중 클러스터를 감안한 관리 방법의 미흡, 베어메탈, 컨테이너, FaaS 서비스 등에 최적화되지 않은 형태로 서비스 제공, 여유 자원 부족 시 성능 보장을 위한 자원 추가 방법 미제공, 수직적/수평적 협업을 위한 응용프로그램 수준에서 설계 필요, 다중 클러스터를 고속으로 연결하기 위한 네트워크 구조가 미흡, 쿠버네티스에 사용되는 OCI의 성능 문제(응답 속도 민감한 서비스 지연), 완벽한 협업 솔루션을 위한 아키텍처 상의 기술 부재 등의 문제점을 가지고 있다.However, the existing edge system lacks a management method considering multiple clusters, provides services in a form that is not optimized for bare metal, container, FaaS service, etc., does not provide a method for adding resources to guarantee performance when there is a shortage of spare resources, and vertical/horizontal collaboration Insufficient network structure for high-speed connection of multiple clusters, performance problems of OCI used in Kubernetes (response speed-sensitive service delay), lack of architectural technology for a complete collaboration solution, etc. have a problem

한국 공개 특허 제10-2018-0119905호, 2018년 11월 5일 공개(명칭: 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법)Korean Patent Publication No. 10-2018-0119905, published on November 5, 2018 (Name: Distributed cloud-based application execution system, device and method of operating the device applied thereto)

본 발명의 목적은 엣지 컴퓨팅에서 컨테이너에 기반한 분산 컴퓨팅 환경을 지원하도록 다중 클러스터 간 연계할 수 있는 터널링 기반의 고속 네트워크 환경을 구성하는 것이다. An object of the present invention is to configure a tunneling-based high-speed network environment capable of linking multiple clusters to support a container-based distributed computing environment in edge computing.

또한, 본 발명의 목적은 연계된 네트워크 상에서 클러스터 간의 최적 관리 및 서비스의 협업을 위하여 새로운 고성능 아키텍처를 제안하는 것이다.In addition, an object of the present invention is to propose a new high-performance architecture for optimal management and service collaboration between clusters on a linked network.

또한, 본 발명의 목적은 클라우드와 엣지 간 수직적 및 수평적 협업 최적화를 위한 시스템의 구조 및 지능형 스케줄링 방법을 제공함으로써 응용프로그램 개발자가 엣지-엣지 단말간 수직적 협업, 엣지-클라우드 엣지 간 수평적 협업을 연동하는 엣지 플랫폼 기반 분산 협업을 시스템 레벨에서 적용 및 구체화하도록 지원하는 것이다.In addition, an object of the present invention is to provide a system structure and an intelligent scheduling method for optimizing vertical and horizontal collaboration between cloud and edge, so that application program developers can achieve vertical collaboration between edge-edge terminals and horizontal collaboration between edge-cloud edge. It is to support the application and materialization of interworking edge platform-based distributed collaboration at the system level.

또한, 본 발명의 목적은 컨테이너의 효율성을 높이기 위한 메모리 기반 저장장치를 활용하여 고성능 컨테이너 및 컨테이너 간 데이터 연계를 위한 글로벌 캐시를 구성하는 것이다.In addition, an object of the present invention is to construct a high-performance container and a global cache for linking data between containers by utilizing a memory-based storage device to increase container efficiency.

상기한 목적을 달성하기 위한 본 발명에 따른 멀티 클라우드 엣지 시스템은 코어 클라우드; 멀티 클러스터 기반 제1 엣지(A FIRST EDGE) 노드 시스템; 및 멀티 클러스터 기반 니어 엣지(NEAR EDGE) 노드 시스템을 포함하고, 상기 멀티 클러스터 기반 제1 엣지 노드 시스템은 복수의 작업 노드들; 및 스케줄러를 가지는 마스터 노드를 포함한다.Multi-cloud edge system according to the present invention for achieving the above object is a core cloud; A multi-cluster-based first edge (A FIRST EDGE) node system; and a multi-cluster-based near edge (NEAR EDGE) node system, wherein the multi-cluster-based first edge node system includes a plurality of task nodes; and a master node having a scheduler.

이 때, 제1 엣지 노드 시스템과 상기 니어 엣지 노드 시스템을 터널링 프로토콜에 따라 고속 네트워크로 연결할 수 있다.In this case, the first edge node system and the near edge node system may be connected through a high-speed network according to a tunneling protocol.

이 때, 제1 엣지 노드 시스템과 상기 니어 엣지 노드 시스템의 협업 연산에 따른 데이터를 공유 저장하는 공유 저장장치를 더 포함할 수 있다.In this case, a shared storage device for sharing and storing data according to cooperative operation between the first edge node system and the near edge node system may be further included.

이 때, 제1 엣지 노드 시스템과 상기 니어 엣지 노드 시스템의 데이터를 기반으로 협업 연산에 필요한 리소스를 제어하는 매니지먼트 노드를 더 포함할 수 있다.In this case, a management node may further include a management node that controls resources required for cooperative operation based on data of the first edge node system and the near edge node system.

이 때, 제1 엣지 노드 시스템 또는 상기 니어 엣지 노드 시스템은 컴퓨팅 노드들을 포함하고, 상기 컴퓨팅 노드들은 컨테이너 플랫폼 기반으로 모놀리틱 어플리케이션(MONOLITHIC APPLICATION), 마이크로 서비스(MICRO SERVICE) 및 서비스형 함수(FUNCTION AS A SERVICE)를 제공할 수 있다.At this time, the first edge node system or the near edge node system includes computing nodes, and the computing nodes are container platform-based monolithic applications (MONOLITHIC APPLICATION), micro services (MICRO SERVICE) and service-type functions (FUNCTION AS A SERVICE) can be provided.

이 때, 제1 엣지 노드 시스템은 외부 기기로부터 태스크(TASK)에 대한 연산 로드를 요청받고, 상기 마스터 노드는 상기 스케줄러를 이용하여 상기 태스크(TASK)를 수행할 수 있는 어플리케이션이 배포된 작업 노드를 결정하고, 상기 결정된 작업 노드는 상기 태스크를 수행하고, 상기 마스터 노드가 상기 태스크가 수행된 결과를 수집하여 상기 외부 기기에 응답할 수 있다.At this time, the first edge node system receives a request for an operation load for the task (TASK) from an external device, and the master node uses the scheduler to select a work node where an application capable of performing the task (TASK) is distributed. The determined work node may perform the task, and the master node may collect a result of performing the task and respond to the external device.

이 때, 코어 클라우드와 상기 제1 엣지 노드 시스템이 제공하는 수직 협업 계산에 의한 서비스 및 상기 제1 엣지 노드 시스템과 상기 니어 엣지 노드 시스템이 제공하는 수평 협업 계산에 의한 서비스를 제공할 수 있다.In this case, a service based on vertical collaboration calculation provided by the core cloud and the first edge node system and a service based on horizontal collaboration calculation provided by the first edge node system and the near edge node system may be provided.

본 발명에 따르면, 컨테이너의 효율성을 높이기 위한 메모리 기반 저장장치를 활용하여 고성능 컨테이너 및 컨테이너 간 데이터 연계를 위한 글로벌 캐시를 구성함으로써 클러스터 간의 효율적인 협업을 위한 고성능 아키텍처를 제공할 수 있다. According to the present invention, it is possible to provide a high-performance architecture for efficient collaboration between clusters by constructing a global cache for high-performance containers and data linkage between containers by utilizing a memory-based storage device to increase container efficiency.

또한, 본 발명은 터널링 기반의 고속 네트워크를 연결하여 클러스터 간의 협업 서비스를 제공할 수 있다. In addition, the present invention can provide a collaboration service between clusters by connecting tunneling-based high-speed networks.

또한, 본 발명은 코어 클라우드와 엣지 간의 수평적 협업과 엣지와 엣지 단말 간의 수평적 협업을 연동하는 엣지 플랫폼 기반의 분산 협업이 시스템 레벨에서 적용 구체화되도록 할 수 있다.In addition, the present invention enables distributed collaboration based on an edge platform that links horizontal collaboration between a core cloud and an edge and horizontal collaboration between an edge and an edge terminal to be applied and materialized at the system level.

도 1은 본 발명에 따른 엣지 서비스를 위한 다중 클러스터 연계 아키텍처 구조의 일 예를 나타낸 도면이다.
도 2는 기존 엣지 서비스를 위한 시스템의 일 예를 나타낸 도면이다.
도 3은 본 발명에 따라 클라우드, 엣지, 이웃 엣지를 포함하는 3Locarions 기반의 엣지 서비스 시스템의 일 예를 나타낸 도면이다.
도 4는 본 발명에 따른 수직적 및 수평적 협업이 가능한 엣지 서비스의 일 예를 나타낸 도면이다.
도 5는 본 발명에 따른 인메모리 컨테이너 스토리지 기반 컨테이너 시스템 구조의 일 예를 나타낸 도면이다.
도 6은 도 5에 도시된 인메모리 컨테이너 스토리지의 상세 구조의 일 예를 나타낸 도면이다.
도 7은 도 5에 도시된 인메모리 컨테이너 스토리지 엔진의 상세 구조의 일 예를 나타낸 도면이다.
도 8은 본 발명에 따른 컨테이너 인메모리 스토리지 생성 방식의 일 예를 나타낸 도면이다.
도 9는 본 발명에 따른 인메모리 스토리지에 구현된 컨테이너 파일 시스템의 일 예를 나타낸 도면이다.
도 10은 본 발명에 따른 인메모리 컨테이너 스토리지의 이미지 공유 환경의 일 예를 나타낸 도면이다.
도 11은 본 발명에 따른 사용자 공유 환경에 대한 구성의 일 예를 나타낸 도면이다.
도 12는 도 5에 도시된 인메모리 컨테이너 스토리지 관리 모듈의 상세 구조의 일 예를 나타낸 도면이다.
도 13은 본 발명에 따른 인메모리 컨테이너 스토리지 관리 모듈에서 데이터 공유 관리를 위한 상세 과정의 일 예를 나타낸 동작흐름도이다.
도 14는 본 발명에 따른 클러스터간 연결 구조의 일 예를 나타낸 도면이다.
도 15는 본 발명에 따른 엣지 서비스 시스템 스케줄러 구성의 일 예를 나타낸 도면이다.
도 16은 본 발명에 따른 Leveled 스케줄러의 일 예를 나타낸 도면이다.
도 17은 본 발명에 따른 Shared/Leveled 복합 스케줄러의 일 예를 나타낸 도면이다.
도 18은 본 발명에 따른 엣지 서비스 시스템의 스케줄러 정책 실행기의 일 예를 나타낸 도면이다.
도 19는 도 18에 도시된 스케줄러 정책 실행기의 처리 흐름의 일 예를 나타낸 도면이다.
도 20은 도 18에 도시된 스케줄러 정책 실행기의 3단계 요청 큐의 처리 순서의 일 예를 나타낸 동작흐름도이다.
도 21은 본 발명에 따른 지능형 스케줄러 기반 서비스 분산 협업의 동적 배치 연동의 일 예를 나타낸 도면이다.
도 22는 본 발명에 따른 지능형 스케줄러를 적용한 엣지 서비스 시스템의 일 예를 나타낸 도면이다.
도 23은 본 발명에 따른 지능형 스케줄러를 적용한 엣지 서비스 시스템의 최적화 처리 흐름의 일 예를 나타낸 도면이다.
1 is a diagram showing an example of a multi-cluster linkage architecture structure for an edge service according to the present invention.
2 is a diagram showing an example of a system for an existing edge service.
3 is a diagram showing an example of a 3Locarions-based edge service system including a cloud, an edge, and a neighboring edge according to the present invention.
4 is a diagram showing an example of an edge service capable of vertical and horizontal collaboration according to the present invention.
5 is a diagram showing an example of a structure of a container system based on in-memory container storage according to the present invention.
FIG. 6 is a diagram illustrating an example of a detailed structure of the in-memory container storage shown in FIG. 5 .
FIG. 7 is a diagram illustrating an example of a detailed structure of the in-memory container storage engine shown in FIG. 5 .
8 is a diagram illustrating an example of a container in-memory storage creation method according to the present invention.
9 is a diagram showing an example of a container file system implemented in an in-memory storage according to the present invention.
10 is a diagram illustrating an example of an image sharing environment of an in-memory container storage according to the present invention.
11 is a diagram showing an example of a configuration for a user sharing environment according to the present invention.
FIG. 12 is a diagram illustrating an example of a detailed structure of the in-memory container storage management module shown in FIG. 5 .
13 is an operational flowchart illustrating an example of a detailed process for data sharing management in the in-memory container storage management module according to the present invention.
14 is a diagram showing an example of an inter-cluster connection structure according to the present invention.
15 is a diagram showing an example of a configuration of an edge service system scheduler according to the present invention.
16 is a diagram showing an example of a leveled scheduler according to the present invention.
17 is a diagram showing an example of a Shared/Leveled complex scheduler according to the present invention.
18 is a diagram showing an example of a scheduler policy executor of an edge service system according to the present invention.
FIG. 19 is a diagram illustrating an example of a processing flow of the scheduler policy executor shown in FIG. 18 .
FIG. 20 is an operational flowchart illustrating an example of a processing sequence of a 3-step request queue of the scheduler policy executor shown in FIG. 18 .
21 is a diagram showing an example of dynamic arrangement and interworking of service distribution collaboration based on an intelligent scheduler according to the present invention.
22 is a diagram showing an example of an edge service system to which an intelligent scheduler according to the present invention is applied.
23 is a diagram illustrating an example of an optimization processing flow of an edge service system to which an intelligent scheduler according to the present invention is applied.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings. Here, repeated descriptions, well-known functions that may unnecessarily obscure the subject matter of the present invention, and detailed descriptions of configurations are omitted. Embodiments of the present invention are provided to more completely explain the present invention to those skilled in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clarity.

본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다.In this document, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C", and "A Each of the phrases such as "at least one of , B, or C" may include any one of the items listed together in that phrase, or all possible combinations thereof.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 엣지 서비스를 위한 다중 클러스터 연계 아키텍처 구조의 일 예를 나타낸 도면이다.1 is a diagram showing an example of a multi-cluster linkage architecture structure for an edge service according to the present invention.

도 1을 참조하면, 본 발명에 따른 엣지 시스템 상에서, 수직 협업은 코어 클라우드(110)와 엣지(120) 간의 협업을 지칭하고, 수평 협업은 엣지(120)와 이웃 엣지(130) 간의 협업을 지칭할 수 있다. Referring to FIG. 1 , on the edge system according to the present invention, vertical collaboration refers to collaboration between a core cloud 110 and an edge 120, and horizontal collaboration refers to collaboration between an edge 120 and a neighboring edge 130. can do.

이 때, 각 협업을 위해서는 도 1에 도시된 것과 같은 네트워크 연결이 필요하다. 따라서, 본 발명에서는 협업을 위한 터널링 기반 고속 네트워크가 구성되고, 상호간의 클러스터를 연계하기 위한 공유된 스토리지 및 저장소를 구성할 수 있다. 이렇게 구성된 엣지 시스템은 전체 관리를 담당하는 글로벌 스케줄러에 의해서 구동되고 관리될 수 있다. At this time, a network connection as shown in FIG. 1 is required for each collaboration. Therefore, in the present invention, a tunneling-based high-speed network for collaboration is configured, and shared storage and storage for linking mutual clusters can be configured. The edge system configured in this way can be driven and managed by a global scheduler in charge of overall management.

이 때, 클러스터의 노드들은 컨테이너 플랫폼으로 모놀리틱 응용, 마이크로 서비스 및 FaaS(Function as a Service) 시스템 등으로 이루어 질 수 있다. 앞서 말한 바와 같이 컨테이너 플랫폼은 메모리 기반 저장 장치를 활용한 메모리 상주형 컨테이너를 기반으로 구성하고, 글로벌 캐시 역시 고속 구성을 위한 메모리 기반 스토리지를 활용할 수 있다. At this time, the nodes of the cluster are container platforms and can be composed of monolithic applications, microservices, and FaaS (Function as a Service) systems. As mentioned above, the container platform is configured based on memory-resident containers using memory-based storage devices, and the global cache can also utilize memory-based storage for high-speed configuration.

이 때, 기존 엣지 서비스는 도 2에 도시된 것처럼 수직적 협업만 지원하는 형태로 다음과 같은 문제점을 가지고 있다. At this time, the existing edge service has the following problems in the form of supporting only vertical collaboration as shown in FIG. 2 .

- 이동체 이동 지원 미흡 - Insufficient movement support

- 부분적인 수직적 협업- Partial vertical collaboration

- 협업을 위한 제한적인 연동 기술- Limited linkage technology for collaboration

- 서비스 연계 부분적 지원- Partial support in connection with service

즉, 도 2와 같은 기존 엣지 서비스를 위한 시스템은 클라우드와 엣지 둘만의 관계로 구성되지만, 본 발명에서 제안하는 엣지 서비스 시스템은 도 3과 같이 클라우드, 엣지뿐만 아니라 이웃 엣지(Near Edge)라는 개념적 엣지가 추가된 3가지 위치(3 Locations)로 구성될 수 있다.That is, the system for the existing edge service as shown in FIG. 2 consists of a relationship between only the cloud and the edge, but the edge service system proposed in the present invention is not only the cloud and the edge as shown in FIG. It can be composed of 3 locations (3 Locations) with added.

이 때, 3가지 위치(3 Locations)는 클라우드 (Public / Private Cloud), 엣지 (사용자와 직접 연결되어 서비스되는 엣지), 이웃 엣지 (Near Edge로 엣지와 가까운 주변 엣지)를 의미할 수 있다. At this time, the three locations (3 Locations) may mean a cloud (Public / Private Cloud), an edge (an edge that is directly connected to a user and served), and a neighboring edge (near edge, a peripheral edge close to the edge).

또한, 도 2를 참조하면, 기존 엣지 서비스는 모놀리틱 응용과 마이크로 서비스만을 제공하지만, 본 발명에서 제안하는 엣지 서비스 시스템에서는 도 3에 도시된 것처럼 모놀리틱 응용(Monolithic App), 마이크로 서비스(Micro Service), 서비스형 함수(FaaS)에 해당하는 3가지 애플리케이션 형태(3 Application Types)를 지원할 수 있다. In addition, referring to FIG. 2, the existing edge service provides only monolithic applications and microservices, but in the edge service system proposed in the present invention, as shown in FIG. 3, monolithic applications and microservices ( Micro Service) and 3 Application Types corresponding to Function as a Service (FaaS) can be supported.

이 때, 3가지 애플리케이션 형태(3 Application Types)는 [표 1]과 같이 응용프로그램의 복잡도나 서비스 규모, 그리고 자원사용 형태 측면에서 서로 다른 특성을 가질 수 있다.At this time, the three application types (3 Application Types) may have different characteristics in terms of application complexity, service scale, and resource usage type, as shown in [Table 1].

애플리케이션 형태application type 복잡도complexity 규모Scale 자원사용 형태Type of resource use 모놀리틱 응용monolithic application 간단simple middle 상시 자원사용constant use of resources 마이크로 서비스microservice 복잡complication award 부분적 자원사용 확대/축소 가능Partial resource use expansion/reduction possible 서비스형 함수service function 간단simple under 한시적 자원사용Temporary use of resources

따라서, 본 발명에서 제안하는 엣지 서비스는 이러한 특성을 잘 반영한 상호 협업이나 서비스 이동과 같은 기능을 효과적으로 적용할 필요가 있다.Therefore, the edge service proposed in the present invention needs to effectively apply functions such as mutual collaboration or service movement that well reflect these characteristics.

이 때, 도 3에 따르면, 본 발명에 따른 엣지 서비스 시스템의 수직적 및 수평적 협업 최적화는 3LT(3 Locations, 3 Application Types )을 바탕으로 지원할 수 있다. 즉, 도 2와 같은 기존 엣지 서비스는 부분적이고, 수직적 협업만 제공하기 때문에 서비스 협업이 제한적이거나 서비스 연계가 부분적이라는 한계를 가지고 있다. At this time, according to FIG. 3, vertical and horizontal cooperation optimization of the edge service system according to the present invention can be supported based on 3LT (3 Locations, 3 Application Types). That is, since the existing edge service shown in FIG. 2 provides only partial and vertical collaboration, it has limitations that service collaboration is limited or service linkage is partial.

따라서, 본 발명에서는 이러한 문제점을 해결하기 위하여, 도 3에 도시된 3LT 기반 엣지 서비스 시스템을 통해 위치나 서비스 타입에 관계없이 다양한 수직적 및 수평적 협업이 가능한 구조를 제안한다. Therefore, in order to solve this problem, the present invention proposes a structure capable of various vertical and horizontal collaborations regardless of location or service type through the 3LT-based edge service system shown in FIG. 3 .

이 때, 도 4는 본 발명에 따른 수직적 및 수평적 협업이 가능한 엣지 서비스의 일 예를 나타낸 것으로, 3L를 이용한 스케일 아웃, 3L를 이용한 스케일 업, 3L를 이용한 예측형 오버 엣지 등의 형태에 상응하게 클라우드와 엣지 시스템 간 주요 협업을 지원할 수 있다. At this time, FIG. 4 shows an example of an edge service capable of vertical and horizontal collaboration according to the present invention, which corresponds to the form of scale-out using 3L, scale-up using 3L, and predictive over edge using 3L. It can support key collaborations between cloud and edge systems.

도 5는 본 발명에 따른 인메모리 컨테이너 스토리지 기반 컨테이너 시스템 구조의 일 예를 나타낸 도면이다. 5 is a diagram showing an example of a structure of a container system based on in-memory container storage according to the present invention.

도 5를 참조하면, 본 발명에 따른 인메모리 컨테이너 스토리지 시스템은 인메모리 컨테이너 스토리지(510), 인메모리 컨테이너 스토리지 엔진(520), 메인 메모리, 디스크 스토리지 및 원격 스토리지로 구성될 수 있다. Referring to FIG. 5 , the in-memory container storage system according to the present invention may include an in-memory container storage 510, an in-memory container storage engine 520, main memory, disk storage, and remote storage.

이하에서는 도 6을 참조하여 본 발명에 따른 인메모리 컨테이너 스토리지 시스템의 구조 및 동작 흐름을 보다 상세하게 설명하도록 한다. Hereinafter, the structure and operation flow of the in-memory container storage system according to the present invention will be described in detail with reference to FIG. 6 .

먼저, 컨테이너는 비휘발성 특성을 갖는 메인 메모리상의 스토리지인 인메모리 컨테이너 스토리지(610)를 생성할 수 있고, 인메모리 컨테이너 스토리지(610) 상에 컨테이너의 스토리지 볼륨을 구성할 수 있다. First, the container may create an in-memory container storage 610 that is a storage on main memory having a non-volatile characteristic, and a storage volume of the container may be configured on the in-memory container storage 610 .

컨테이너는 인메모리 컨테이너 스토리지(610) 상에 컨테이너가 수행되는 파일 시스템(docker의 예는 /var/lib/docker) 볼륨인 컨테이너 스토리지 볼륨을 생성하고 동작할 수 있다. 따라서, 컨테이너에서 발생한 컨테이너 접근 명령은 인메모리 컨테이너 스토리지(610)로 전달될 수 있다. The container may create and operate a container storage volume, which is a file system (eg, /var/lib/docker for Docker) volume on which the container is executed, on the in-memory container storage 610 . Accordingly, a container access command generated by the container may be transmitted to the in-memory container storage 610 .

인메모리 컨테이너 스토리지 엔진(620)은 메인 메모리, 디스크 스토리지 및 원격 스토리지를 통합하여 단일 형상의 인메모리 컨테이너 스토리지(610)를 생성할 수 있다. 또한, 인메모리 컨테이너 스토리지 엔진(620)은 메인 메모리와 디스크 스토리지 및 원격 스토리지를 통합 사용하여 디스크 접근 명령을 처리한다.The in-memory container storage engine 620 may create a unitary shape of the in-memory container storage 610 by integrating main memory, disk storage, and remote storage. In addition, the in-memory container storage engine 620 processes a disk access command by using main memory, disk storage, and remote storage.

이 때, 인메모리 컨테이너 스토리지(610)는 인메모리 컨테이너 스토리지 엔진(620)을 통해 표준 블록 스토리지 형식의 인터페이스를 제공함으로써 별도의 수정없이 운영할 수 있다.At this time, the in-memory container storage 610 provides a standard block storage format interface through the in-memory container storage engine 620, so that it can be operated without additional modification.

이하에서는 도 7을 참조하여 본 발명에 따른 인메모리 컨테이너 스토리지 엔진의 구조를 보다 상세하게 설명하도록 한다. Hereinafter, the structure of the in-memory container storage engine according to the present invention will be described in detail with reference to FIG. 7 .

도 7을 참조하면, 인메모리 컨테이너 스토리지 엔진(700)은 스토리지 인터페이스 모듈(710), 스토리지 접근 분산 모듈(720), 스토리지 제어 모듈(730)로 구성될 수 있다. Referring to FIG. 7 , the in-memory container storage engine 700 may include a storage interface module 710, a storage access distribution module 720, and a storage control module 730.

먼저, 스토리지 인터페이스 모듈(710)은 표준 블록 스토리지 형식의 인터페이스를 제공할 수 있고, 컨테이너에서 발생한 디스크 접근 명령을 수신할 수 있다. 이렇게 수신된 명령어는 스토리지 접근 분산 모듈(720)로 전달될 수 있다.First, the storage interface module 710 may provide a standard block storage format interface and may receive a disk access command generated by a container. The command received in this way may be transmitted to the storage access distribution module 720 .

스토리지 접근 분산 모듈(720)은 디스크 접근 명령의 특징에 따라서 메인 메모리 스토리지, 디스크 스토리지 혹은 원격 스토리지를 사용하여 서비스를 수행할지 여부를 결정할 수 있다. 이 후, 스토리지 제어 모듈(730)에 포함된 메인 메모리 제어 모듈, 디스크 스토리지 제어 모듈 및 원격 스토리지 제어 모듈로 접근 명령을 전달할 수 있다.The storage access distribution module 720 may determine whether to perform a service using main memory storage, disk storage, or remote storage according to characteristics of a disk access command. Then, an access command may be transmitted to the main memory control module, the disk storage control module, and the remote storage control module included in the storage control module 730 .

스토리지 제어 모듈(730)은 메인 메모리 제어 모듈, 디스크 스토리지 제어 모듈, 원격 스토리지 제어 모듈, 메인 메모리 디스크 생성 모듈, 디스크 백업/복원 모듈, 실시간 동기화 모듈로 구성될 수 있다.The storage control module 730 may include a main memory control module, a disk storage control module, a remote storage control module, a main memory disk creation module, a disk backup/restoration module, and a real-time synchronization module.

메인 메모리 제어 모듈은 메인 메모리를 사용하여 디스크 접근 명령을 처리할 수 있으며, 이는 고속의 접근 속도를 제공할 수 있다. The main memory control module can process a disk access command using the main memory, which can provide a high access speed.

예를 들어, 메인 메모리 제어 모듈로 디스크 접근 명령이 수신되는 경우, 메인 메모리 디스크 생성 모듈을 통해 블록 단위로 전송된 디스크 접근 명령어들을 주소 단위로 접근 가능한 메인 메모리상에 실제로 읽기(Read)/쓰기(Write) 처리할 수 있다. 이를 통해 메인 메모리 상에 가상 디스크의 데이터들을 생성 및 저장할 수 있다. For example, when a disk access command is received by the main memory control module, the disk access commands transmitted in blocks through the main memory disk creation module are actually read/written on the main memory that can be accessed in address units. Write) can be processed. Through this, data of the virtual disk can be created and stored in the main memory.

디스크 스토리지 제어 모듈은 디스크 스토리지를 사용하여 가상 데스크 접근 명령을 처리할 수 있다.The disk storage control module may process virtual desk access commands using disk storage.

도 8은 본 발명에 따른 컨테이너 인메모리 스토리지 생성 방식의 일 예를 나타낸 도면이다. 8 is a diagram illustrating an example of a container in-memory storage creation method according to the present invention.

도 8을 참조하면, 메인 메모리 스토리지(810)와 디스크 스토리지(820)를 통합하여 단일 하이브리드 형태의 컨테이너 인메모리 스토리지(800)를 생성하는 방법을 보여준다. Referring to FIG. 8 , a method of creating a single hybrid container in-memory storage 800 by integrating a main memory storage 810 and a disk storage 820 is shown.

인메모리 컨테이너 스토리지(800)는 표준 블록 스토리지 형식을 제공하며, 스토리지의 앞부분에 메인 메모리 스토리지(810)의 영역을 매핑하고, 뒷 부분에 디스크 스토리지(820) 영역을 매핑하여 생성될 수 있다. The in-memory container storage 800 provides a standard block storage format and can be created by mapping an area of the main memory storage 810 to the front of the storage and mapping an area of the disk storage 820 to the rear.

예를 들어, 메인 메모리 스토리지(810)의 블록 ID 1부터 N에 해당하는 영역은 인메모리 컨테이너 스토리지(800)의 블록ID 1부터 N에 해당하는 영역에 매핑될 수 있다. 또한, 디스크 스토리지(820)의 블록 ID 1부터 M에 해당하는 영역은 인메모리 컨테이너 스토리지(800)의 블록 ID N+1부터 N+M에 해당하는 영역으로 매핑될 수 있다. 이 때, 컨테이너 인메모리 스토리지(800)에서 블록 ID N과 N+1 사이에 메인 메모리 스토리지(810)의 영역과 디스크 스토리지(820)의 영역을 구분하기 위한 스토리지 경계가 설정될 수 있다. For example, areas corresponding to block IDs 1 to N of the main memory storage 810 may be mapped to areas corresponding to block IDs 1 to N of the in-memory container storage 800 . Also, areas corresponding to block IDs 1 to M of the disk storage 820 may be mapped to areas corresponding to block IDs N+1 to N+M of the in-memory container storage 800 . At this time, a storage boundary may be set between the block IDs N and N+1 in the container in-memory storage 800 to divide the main memory storage area 810 and the disk storage area 820 .

도 9는 본 발명에 따른 인메모리 스토리지에 구현된 컨테이너 파일 시스템의 일 예를 나타낸 도면이다. 9 is a diagram showing an example of a container file system implemented in an in-memory storage according to the present invention.

도 9를 참조하면, 본 발명에 따라 컨테이너에서 사용하는 파일 시스템은 인메모리 컨테이너 스토리지 상에 구성될 수 있다. Referring to FIG. 9 , a file system used in a container according to the present invention may be configured on an in-memory container storage.

본 발명에 따르면, 컨테이너의 메인 메모리 구동을 위해 컨테이너의 기본 파일 시스템이 메인 메모리에서 구동될 수 있다. 예를 들어, 컨테이너의 경우에는 기존의 리눅스 환경의 커널에 포함되어 있는 파일 시스템 통합 (Unifying File system) 기능을 사용하여 사용자가 필요한 파일을 개별적으로 제공할 수 있다. According to the present invention, the container's basic file system can be driven in the main memory for driving the container's main memory. For example, in the case of a container, a user-needed file can be provided individually by using a unifying file system function included in the kernel of the existing Linux environment.

이 때, 파일 시스템 통합(Unifying File system) 기능은 단일 마운트 지점에 여러 파일 시스템을 마운트하는 개념이며, 새로운 파일 시스템 유형을 생성하는 대신에 VFS(virtual file system) 계층에서 모든 디렉토리 항목을 통합하여 처리할 수 있다. 따라서, 파일 시스템 통합 기능을 사용하면 하위 파일 시스템의 디렉토리 항목이 상위 파일 시스템의 디렉토리 항목과 병합되어 마운트된 모든 파일 시스템의 논리적 조합이 생성될 수 있다. 그러므로 시스템에서 공유된 전체 파일 시스템에 대한 관리 및 파일 찾기가 로컬에서 가능하게 되고, 전체 공유를 위한 파일 관리가 수월해질 수 있다.At this time, the unifying file system function is a concept of mounting multiple file systems on a single mount point, and instead of creating a new file system type, all directory entries are unified and processed in the virtual file system (VFS) layer. can do. Thus, the filesystem coalescing function allows directory entries in child filesystems to be merged with directory entries in parent filesystems to create a logical combination of all mounted filesystems. Therefore, management and file search for the entire file system shared in the system can be performed locally, and file management for the entire share can be facilitated.

즉, 도 9에 도시된 것처럼, 본 발명에 따른 컨테이너 파일 시스템은 통합 파일 시스템으로써 계층(layer) 형태로 구성될 수 있다. That is, as shown in FIG. 9, the container file system according to the present invention can be configured in a layered form as an integrated file system.

통합 접근 영역(merged)(930), 컨테이너 계층 (container layer)(920) 및 이미지 계층(image layer)(910)으로 분류되는 각 계층은 인메모리 컨테이너 스토리지 상에 특정 디렉토리를 생성 및 마운트하여 동작할 수 있다.Each layer classified as a merged area (merged) 930, a container layer (920), and an image layer (910) operates by creating and mounting a specific directory on the in-memory container storage. can

먼저, 컨테이너 계층(920)은 쓰기(write)가 가능한 계층으로, 최상단 계층에 생성되어 각 컨테이너마다 자신만의 상태를 가질 수 있게 해준다. 이 때, 컨테이너가 생성된 이후 모든 변경 작업이 컨테이너 계층(920)에서 수행될 수 있다. 또한, 컨테이너 계층(920)에서의 읽기(read)/쓰기(write)는 메모리 상에서 이루어지기 때문에 빠른 속도로 동작할 수 있다. 그리고, 파일 관리의 효율성을 위해 실제 이미지와 컨테이너 이미지의 차분(difference) 정보를 포함할 수 있다.First, the container layer 920 is a layer that can be written, and is created at the top layer so that each container can have its own state. In this case, after the container is created, all changes can be performed in the container layer 920 . In addition, since read/write in the container layer 920 is performed on memory, it can operate at a high speed. And, for efficiency of file management, difference information between the actual image and the container image may be included.

이미지 계층(910)은 읽기(read) 전용 계층으로 다른 컨테이너와 공유할 수 있다. 이 때, 다른 계층과 공유된 이미지를 컨테이너 계층(920)에서 여러 개로 동작 시킬 수 있다.The image layer 910 is a read-only layer and can be shared with other containers. At this time, multiple images shared with other layers can be operated in the container layer 920 .

즉, 이미지 계층(910)은 서로 다른 여러 시스템과 컨테이너 이미지를 공유함으로써 그 효율성을 높일 수가 있다. That is, the image layer 910 can increase its efficiency by sharing container images with different systems.

예를 들어, 도 9에 도시된 것처럼, 이미지 계층(910)의 컨테이너 이미지는 컨테이너 배포 시 이미지를 공용 레포지터리(예:github)에서 풀링해야 된다. 이 때, 성능 보장을 위하여 컨테이너 시스템에서 사용하는 이미지를 로컬에 보관하거나 사전에 가져다 놓음으로써 효율적으로 동작할 수 있다. For example, as shown in FIG. 9 , the container image of the image layer 910 needs to be pulled from a common repository (eg, github) when the container is deployed. At this time, it is possible to operate efficiently by storing the image used in the container system locally or bringing it in advance to ensure performance.

본 발명에서는 이미 풀링한 이미지를 재사용하기 위하여 공유 스토리지에 보관하는 방법을 제안하도록 한다. 앞서 설명한 바와 같이 이미지 계층(910)의 많은 이미지들은 인메모리 컨테이너 스토리지 상에 존재하고, 전체 시스템의 컨테이너 이미지는 백업을 진행하여 디스크 스토리지 혹은 원격 스토리지에 저장하는데, 이를 이미지 계층(910)에 추가할 수 있다. 이를 통해 전체 시스템의 컨테이너 이미지를 컨테이너 계층(920)에서도 사용 가능하고, 통합 접근 영역(930)을 통해서도 지속적으로 이미지들을 제공할 수 있다.In the present invention, a method of storing an already pulled image in a shared storage for reuse is proposed. As described above, many images of the image layer 910 exist on in-memory container storage, and container images of the entire system are backed up and stored in disk storage or remote storage, which can be added to the image layer 910. can Through this, container images of the entire system can be used in the container layer 920, and images can be continuously provided through the integrated access area 930.

통합 접근 영역(930)은 컨테이너 계층(920)과 이미지 계층(910)의 모든 파일 시스템에 접근 가능하도록 계층의 링크 정보를 포함할 수 있고, 이러한 링크 정보는 사용자에게 공유함으로써 파일 접근을 가능하게 할 수 있다.The integrated access area 930 may include layer link information so that all file systems of the container layer 920 and the image layer 910 can be accessed, and this link information can be shared with users to enable file access. can

도 10은 본 발명에 따른 인메모리 컨테이너 스토리지의 이미지 공유 환경의 일 예를 나타낸 도면이다. 10 is a diagram illustrating an example of an image sharing environment of an in-memory container storage according to the present invention.

도 10을 참조하면, 본 발명에 따른 인메모리 컨테이너 스토리지에서 공유 데이터를 제공하기 위해서는 공유 스토리지(1000)를 이용할 수 있다. Referring to FIG. 10 , a shared storage 1000 may be used to provide shared data in the in-memory container storage according to the present invention.

예를 들어, 공유 스토리지(1000)는 네트워크 파일 스토리지일수도 있고(SAN, NAS 등) 로컬 디스크 내에 연결된 스토리지 일수도 있다. For example, the shared storage 1000 may be network file storage (SAN, NAS, etc.) or storage attached to a local disk.

도 10을 참조하면, 본 발명에 따른 이미지 공유 환경은 공유 스토리지(1000)에 저장된 컨테이너 이미지를 사용자의 요청에 의하여 사용자에게 제공하는 구조일 수 있다. Referring to FIG. 10 , the image sharing environment according to the present invention may have a structure in which a container image stored in a shared storage 1000 is provided to a user at the user's request.

예를 들어, 도 5 및 도 7에 도시된 인메모리 컨테이너 스토리지 관리 모듈의 컨테이너 파일 시스템 계층 관리 모듈을 통하여 공유 관리 기능을 제공할 수 있고, 사용자에게 파일 공유를 위한 영역을 개별적으로 구성하여 제공함으로써 사용자에게 공유 데이터(1010)를 제공할 수 있다. For example, the sharing management function can be provided through the container file system layer management module of the in-memory container storage management module shown in FIGS. The shared data 1010 may be provided to the user.

이하에서는 도 11을 참조하여 도 10과 같이 공유 데이터 제공을 위한 인메모리 컨테이너 스토리지를 갖는 노드(Node)에서 데이터를 공유하는 과정을 상세하게 설명하도록 한다. Hereinafter, with reference to FIG. 11, a process of sharing data in a node having an in-memory container storage for providing shared data as shown in FIG. 10 will be described in detail.

도 11은 본 발명에 따른 데이터 공유 시 모든 데이터를 공유하는 것이 아니라, 공유 데이터를 사용하는 그룹에 따라 공유하고 싶은 데이터를 구별하여 제공함으로써 보안성을 향상시킬 수 있는 사용자(Tenant) 접근 방법을 나타내고 있다. 11 shows a user (tenant) approach method that can improve security by distinguishing and providing data to be shared according to the group using the shared data, rather than sharing all data when sharing data according to the present invention. there is.

먼저, 사용자(Tenant)의 요청에 따라 Node A 인메모리 컨테이너 스토리지(1110)에 사용자의 디렉토리(/sharedData/tenant)를 생성하고, 컨테이너 계층(1111)(upper 디렉토리)에서 사용자의 디렉토리(/sharedData/tenant) 밑에 하나의 디렉토리(diff)를 생성하고 맵핑할 수 있다. 이 때, 파일시스템 관리를 위하여 사용자의 데이터는 중복제거(deduplication)된 데이터를 사용할 수 있다. 이렇게 생성된 diff 디렉토리는 컨테이너 계층에 해당되고, 사용자가 파일에 접근하거나 편집/수정하여 저장하는 데이터에 해당할 수 있다. 또한, work 디렉토리도 사용자의 디렉토리 밑에 생성하여 맵핑할 수 있다. work 디렉토리는 컨테이너 계층의 사용자 데이터 저장 영역에 해당할 수 있다. First, a user directory (/sharedData/tenant) is created in the Node A in-memory container storage 1110 at the request of the user (Tenant), and the user's directory (/sharedData/tenant) is created in the container layer 1111 (upper directory). You can create and map one directory (diff) under tenant). In this case, user data may use deduplication data for file system management. The diff directory created in this way corresponds to a container layer and may correspond to data stored by accessing or editing/modifying a file by a user. Also, the work directory can be created and mapped under the user's directory. The work directory may correspond to a user data storage area of the container layer.

또한, 이미지 계층(1112)에서 최하위에 위치하는 lower 디렉토리(lowerdir2=/sharedData/base/File1-Link, File2-Link??FileN-Link/)는 공유 스토리지(1120)의 모든 파일 링크를 저장하고 있는 관리 포인트로써 (/sharedData/base...)로 설정될 수 있다. In addition, the lower directory (lowerdir2=/sharedData/base/File1-Link, File2-Link??FileN-Link/) located at the lowest level in the image layer 1112 stores all file links of the shared storage 1120. It can be set to (/sharedData/base...) as a management point.

이 때, 이미지 계층(1112)에서는 사용자가 필요한 파일을 선택할 수 있도록 lower 디렉토리(lowerdir2=/sharedData/base/File1-Link, File2-Link??FileN-Link/)를 관리 시스템으로 노출시킬 수 있는데, 이미지 계층(1112)에 생성된 lower 디렉토리(lowerdir1=/sharedData/tenantA/base/File1-Link, File2-Link)가 upper 디렉토리와 연계하여 사용자가 선택한 파일에 대해서만 링크 정보를 배치시킬 수 있다. At this time, the image layer 1112 can expose the lower directory (lowerdir2=/sharedData/base/File1-Link, File2-Link??FileN-Link/) to the management system so that the user can select the necessary file. The lower directory (lowerdir1=/sharedData/tenantA/base/File1-Link, File2-Link) created in the image layer 1112 is linked with the upper directory to arrange link information only for a file selected by the user.

이러한 과정을 통하여 사용자는 자신이 선택한 파일만 하위 시스템을 통하여 볼 수 있게 된다.Through this process, the user can view only the files he/she selects through the subsystem.

따라서, 사용자는 자신과 공유된 사용자 디렉토리를 통하여 파일을 공유 받을 수 있고, lower 디렉토리들은 항상 불변의 상태를 유지할 수 있다. 즉, lower 디렉토리들은 읽기 전용으로 사용됨으로써 여러 사람들이 데이터를 공유할 때 쓰기(write)가 발생하는 문제를 효율적으로 방지할 수 있다. 만약, lower 디렉토리 파일에 변경 사항이 발생할 경우, upper 디렉토리에 그 변경 사항을 기록하기 때문에 전체적인 공유 파일도 효율적으로 관리할 수 있다.Therefore, users can share files through user directories shared with them, and lower directories can always maintain an immutable state. In other words, the lower directories are used as read-only, which effectively prevents write problems when data is shared by several people. If a change occurs in a file in the lower directory, the change is recorded in the upper directory, so the entire shared file can be managed efficiently.

도 12는 도 5에 도시된 인메모리 컨테이너 스토리지 관리 모듈의 상세 구조의 일 예를 나타낸 도면이다. FIG. 12 is a diagram illustrating an example of a detailed structure of the in-memory container storage management module shown in FIG. 5 .

도 12를 참조하면, 본 발명에 따른 인메모리 컨테이너 스토리지 관리 모듈(1200)은 컨테이너 파일 시스템 계층 관리 모듈, 인메모리 컨테이너 스토리지 생성 관리 모듈, 인메모리 컨테이너 스토리지 공유 관리 모듈 및 인메모리 컨테이너 엔진 관리 모듈로 구성될 수 있다.Referring to FIG. 12 , the in-memory container storage management module 1200 according to the present invention includes a container file system layer management module, an in-memory container storage creation management module, an in-memory container storage sharing management module, and an in-memory container engine management module. can be configured.

컨테이너 파일 시스템 계층 관리 모듈은 컨테이너 파일 시스템의 현재 상태 및 구동 상태를 모니터링 할 수 있다. 또한, 인메모리 컨테이너 스토리지를 사용할 경우, 컨테이너 시스템의 생성 및 상태를 관리할 수도 있다.The container file system layer management module can monitor the current state and running state of the container file system. Also, when using in-memory container storage, you can manage the creation and state of container systems.

인메모리 컨테이너 스토리지 생성 관리 모듈은 사용자의 요청에 의해 컨테이너를 인메모리 형태로 구성하고자 할 경우, 인메모리 컨테이너 스토리지를 생성할 수 있다. 이 때, 인메모리 컨테이너 스토리지가 생성 완료 되면, 컨테이너 파일 시스템 계층 관리 모듈이 시스템의 컨테이너 파일 시스템을 생성하게 된다. The in-memory container storage creation management module may create in-memory container storage when a container is to be configured in an in-memory form at the request of a user. At this time, when the creation of the in-memory container storage is completed, the container file system layer management module creates the container file system of the system.

인메모리 컨테이너 스토리지 공유 관리 모듈은 사용자의 요청에 따라 이미지 계층을 공유하도록 스토리지 간의 공유 파일 시스템을 생성하고, 이를 동기화 하는 작업을 수행할 수 있다. 이 때, 이미지 계층의 링크 정보는 하나의 시스템에 병합되고 이를 동기화할 수 있다.The in-memory container storage sharing management module can create a shared file system between storages to share image layers according to a user's request, and perform an operation to synchronize them. At this time, the link information of the image layer can be merged into one system and synchronized.

인메모리 컨테이너 스토리지 엔진 관리 모듈은 시스템의 인메모리 컨테이너 스토리지 드라이버를 구동하고 생성하며, 이에 대한 상태를 모니터링 할 수 있다.The in-memory container storage engine management module can drive, create, and monitor the status of the system's in-memory container storage drivers.

이하에서는 도 13을 참조하여 본 발명에 따른 인메모리 컨테이너 스토리지 관리 모듈에서 데이터 공유 관리를 수행하는 과정을 상세하게 설명하도록 한다. Hereinafter, a process of performing data sharing management in the in-memory container storage management module according to the present invention will be described in detail with reference to FIG. 13 .

먼저, 사용자(Tenant)가 시스템에 접근하여 파일 공유를 요청 및 선택할 수 있다(S1302, S1304).First, a user (tenant) may access the system and request and select file sharing (S1302 and S1304).

이 때, 사용자는 파일 공유를 받을 사용자와 파일 공유를 제공하기 위한 제공자로 나뉠 수 있다. At this time, the users may be divided into users receiving file sharing and providers for providing file sharing.

따라서, 사용자가 파일 공유를 제공하는 제공자인지 여부를 판단할 수 있다(S1306).Accordingly, it may be determined whether the user is a provider providing file sharing (S1306).

단계(S1306)의 판단결과 사용자가 파일 공유를 받는 사용자이면, 해당 사용자가 최초의 사용자인지 여부를 판단할 수 있다(S1308).As a result of the determination in step S1306, if the user is a user receiving file sharing, it may be determined whether the corresponding user is the first user (S1308).

단계(S1308)의 판단결과 최초 사용자이면, 사용자 디렉토리를 생성하고(S1310), 관련 디렉토리들을 생성하여(S1312) 전체 시스템 환경을 마운트할 수 있다(S1314).As a result of determination in step S1308, if the user is the first user, a user directory can be created (S1310), and related directories can be created (S1312) to mount the entire system environment (S1314).

이 후, 사용자 디렉토리의 Lower 디렉토리로 이동하여(S1316), 사용자가 요청한 공유 파일에 대한 링크 정보를 공유 스토리지 베이스(Base)로부터 찾아 생성할 수 있다(S1318).Thereafter, by moving to the lower directory of the user directory (S1316), link information for a shared file requested by the user may be found and created from a shared storage base (S1318).

또한, 단계(S1308)의 판단결과 최초 사용자가 아니면, 사용자의 디렉토리의 Lower 디렉토리로 바로 이동하여(S1316), 사용자가 요청한 공유 파일에 대한 링크 정보를 공유 스토리지 베이스(Base)로부터 찾아 생성할 수 있다 (S1318).In addition, as a result of the determination in step S1308, if the user is not the first user, the user moves directly to the lower directory of the user directory (S1316), and the link information for the shared file requested by the user can be found and created from the shared storage base. (S1318).

또한, 단계(S1306)의 판단결과 사용자가 파일 공유를 제공하는 제공자이면, 공유 스토리지로 접근하여 파일을 업로드하고(S1320), 공유 스토리지 베이스로 이동하여(S1322) 공유 파일 링크를 생성할 수 있다(S1324).In addition, as a result of the determination in step S1306, if the user is a provider providing file sharing, it is possible to access the shared storage, upload the file (S1320), move to the shared storage base (S1322), and create a shared file link ( S1324).

도 14는 본 발명에 따른 클러스터간 연결 구조의 일 예를 나타낸 도면이다. 14 is a diagram showing an example of an inter-cluster connection structure according to the present invention.

본 발명은 엣지 컴퓨팅 서비스를 원활하게 제공하고, 대용량 데이터의 처리 및 분산 환경의 효율성을 극대화하기 위한 것이다. 따라서, 코어 클라우드와 클라우드 엣지 간 수직 분산 환경과 클라우드 엣지들 간의 수평 분산 환경에 대한 고려사항은 엣지 컴퓨팅의 협업 기능을 제공하기 위해 필수적인 요구된다.The present invention is intended to smoothly provide edge computing services and maximize the efficiency of large-capacity data processing and distributed environments. Therefore, consideration of the vertical distribution environment between the core cloud and the cloud edge and the horizontal distribution environment between the cloud edges is required to provide the collaboration function of edge computing.

예를 들어, 클러스터를 넘어 지역적으로 분산 배치되는 엣지 컴퓨팅의 분산 환경 서비스가 고속 네트워크로 연결되기 위해서는 클러스터 간의 상호 연결 및 고속 분산 배치 기술이 필수적이다. 그러므로, 클러스터간 연결 구조는 클라우드 엣지 시스템의 다중 클러스터 노드 상 네트워크 연결 기능과 이에 대한 인터페이스를 고려하여 설계되어야 한다. 또한, 네트워크 연결 기능과 함께 빠른 데이터 이동 및 저장소를 연동하기 위한 기능 역시 요구된다. For example, interconnection between clusters and high-speed distributed deployment technology are essential in order to connect distributed environment services of edge computing that are deployed regionally beyond clusters through a high-speed network. Therefore, the connection structure between clusters should be designed considering the network connection function on multiple cluster nodes of the cloud edge system and its interface. In addition, along with the network connection function, a function for linking fast data movement and storage is also required.

도 14를 참조하면, 본 발명에 따른 서비스 연결 구조는 코어-엣지, 엣지-엣지 간 연계하기 위한 다중 클러스터 상의 네트워크 연결 기능을 의미할 수 있다. 다시 말하면, 클라우드 엣지의 이동형 서비스에 따른 근접 엣지의 사용 및 무중단 서비스를 위하여 서로 다른 네트워크를 연계하기 위한 기능에 해당할 수 있다. Referring to FIG. 14 , the service connection structure according to the present invention may mean a network connection function on multiple clusters for linking core-edge and edge-edge. In other words, it may correspond to a function for linking different networks for the use of a nearby edge and uninterrupted service according to the mobile service of the cloud edge.

이 때, 본 발명은 다중 클러스터를 네트워크로 연계하기 위하여 고속의 게이트웨이(Gateway Engine) 기능과 클러스터 내부에 인식을 위한 기본 라우팅(Route engine) 기능을 제공할 수 있다. 게이트웨이 및 라우터는 클러스터 상의 관리 기능으로 글로벌 엣지 스케줄러를 통하여 지역적으로 배포가 가능하다In this case, the present invention can provide a high-speed gateway engine function and a basic route engine function for internal recognition of clusters in order to connect multiple clusters to a network. Gateways and routers can be deployed locally through the global edge scheduler as a management function on the cluster.

이 때, 고속의 게이트웨이는 다중 클러스터를 고속으로 연계 운용하기 위한 네트워크 연결 방식으로, 두 네트워크 간의 터널링을 이용하여 연계할 수 있다. In this case, the high-speed gateway can be linked using tunneling between two networks as a network connection method for linking and operating multiple clusters at high speed.

터널링을 통해 페이로드를 터널링 구간에서 캡슐화하고, 특정 프로토콜을 사용함으로써 신뢰성 있는 데이터 전송을 보장할 수 있다. 또한, 터널링은 인터넷의 7 계층(Layer) 중 L7, L3, L2 계층에서 적용이 가능하다. 저수준의 계층의 터널링을 지원할수록 상위 레이어에서 사용하는 많은 프로토콜을 그대로 사용할 수 있고, 성능 또한 빠르다. Through tunneling, reliable data transmission can be guaranteed by encapsulating the payload in the tunneling section and using a specific protocol. In addition, tunneling can be applied to the L7, L3, and L2 layers among the 7 layers of the Internet. As the tunneling of the lower layer is supported, many protocols used in the upper layer can be used as they are, and the performance is also faster.

도 14에서는 L3 계층의 터널링을 이용하여 두 클러스터를 연계하는 일 예를 나타낸다. 이렇게 연결된 터널링에 사용되는 프로토콜의 경우, 다른 프로토콜의 비해 처리 속도가 느린 경우가 많은데, 본 발명에서는 이를 극복하기 위하여 커널 바이패스를 위한 사용자 수준의 네트워크 드라이버(DPDK, Data Plane Development Kit)를 사용하여 터널링 네트워크와 연결하도록 한다. 14 shows an example of linking two clusters using L3 layer tunneling. In the case of protocols used for such connected tunneling, the processing speed is often slower than other protocols. In order to overcome this problem, the present invention uses a user-level network driver (DPDK, Data Plane Development Kit) for kernel bypass Connect to the tunneling network.

그리고, 마스터 노드와 워커 노드 간의 인터페이스는 터널링 인터페이스와 브리지를 통하여 연결될 수 있고, 기존의 오버레이 네트워크로 구성된 네트워크와 연결될 수 있다.In addition, the interface between the master node and the worker node may be connected through a tunneling interface and a bridge, and may be connected to a network composed of an existing overlay network.

보다 상세하게는 도 14에 도시된 클러스터간 연결 구조에 의해 고속 게이트웨이 엔진 기능, 글로벌 공유 캐시 기능, 커널 바이패스 지원 네트워크 스택 구성 기능, 사용자 수준 네트워크 드라이버 관리 기능 및 라우터 에이전트 기능을 제공할 수 있다. More specifically, a high-speed gateway engine function, a global shared cache function, a kernel bypass supporting network stack configuration function, a user-level network driver management function, and a router agent function can be provided by the inter-cluster connection structure shown in FIG. 14 .

고속 게이트웨이 엔진 기능은 사용자 수준의 네트워크 드라이버를 활용한 L3 계층의 다중 클러스터 터널링 기능을 수행할 수 있다.The high-speed gateway engine function can perform multi-cluster tunneling at the L3 layer using a user-level network driver.

글로벌 공유 캐시 기능은 메모리 기반 저장소를 활용한 네트워크 기반 스토리지 시스템을 활용하여 고속의 공유 스토리지를 만든 후 로컬 공유 캐시와 연계하여 데이터를 공유하기 위한 저장소 기능으로써 마스터 노드에 있는 스토리지를 네트워크 기반 공유 스토리지로 활용할 수 있다.The global shared cache function is a storage function for sharing data in conjunction with a local shared cache after creating high-speed shared storage by utilizing a network-based storage system that utilizes memory-based storage. can be utilized

커널 바이패스 지원 네트워크 스택 구성 기능은 커널 바이패스를 위한 라이브러리, 장치 관리 및 구성 관리 기능(예 DPDK 하드웨어 지원 스택)에 해당할 수 있다.The kernel bypass support network stack configuration function may correspond to a library for kernel bypass, device management and configuration management functions (eg DPDK hardware support stack).

사용자 수준 네트워크 드라이버 관리 기능은 사용자 수준의 네트워크 드라이버를 배포, 연결 및 관리하기 위한 CLI 기능(응용단에서 제공되는 네트워크 드라이버 예: Cisco FD.io 등)에 해당할 수 있다.The user-level network driver management function may correspond to a CLI function for distributing, connecting, and managing user-level network drivers (for example, Cisco FD.io, etc., a network driver provided by an application).

라우터 에이전트 기능은 모든 노드에서 실행되고 다른 클러스터에서 동기화된 Endpoint resources를 사용하여 경로를 구성하고, 전체 클러스터 간 연결을 활성화할 수 있다. 이 때, Iptable의 규칙을 설정할 수 있는데, 게이트웨이 엔진과 연결되어 통신하기 위하여 게이트웨이 엔진의 라우팅 테이블을 가지게 될 수 있다.The router agent function runs on all nodes and can configure routes using synchronized endpoint resources from other clusters and enable full cluster-to-cluster connectivity. At this time, Iptable rules can be set, and in order to connect and communicate with the gateway engine, it can have a routing table of the gateway engine.

도 15는 본 발명에 따른 엣지 서비스 시스템 스케줄러 구성의 일 예를 나타낸 도면이다. 15 is a diagram showing an example of a configuration of an edge service system scheduler according to the present invention.

기존의 엣지 서비스 시스템의 스케줄러는 특정 로직으로 정해진 고정적인 스케줄러로, 이러한 비적응형 스케줄러는 서비스 규모나 사용 패턴의 변화에 대해 능동적으로 자원을 배치하거나 사용하는데 최적화하기 힘든 구조를 갖는다. The scheduler of the existing edge service system is a fixed scheduler determined by specific logic, and such a non-adaptive scheduler has a structure that is difficult to optimize for actively arranging or using resources in response to changes in service scale or usage pattern.

따라서, 본 발명에서는 기존 스케줄러의 문제점들을 개선하기 위한 다중 클러스터 기반의 새로운 스케줄러를 제안하고자 한다. Therefore, the present invention intends to propose a new scheduler based on multiple clusters to improve the problems of the existing scheduler.

본 발명을 통해 제안하는 스케줄러의 적용 대상은 모놀리틱 응용이나 마이크로 서비스를 실행하기 위한 상주형 컨테이너와 서비스형 함수(FaaS)의 실행을 위한 비상주형 컨테이너에 해당할 수 있다. The target of application of the scheduler proposed through the present invention may correspond to a resident container for executing a monolithic application or microservice and a non-resident container for execution of a function as a service (FaaS).

도 15를 참조하면, 본 발명에 따른 엣지 서비스 시스템 스케줄러는 글로벌 엣지 스케줄러(1510)와 3 Locations에 해당하는 3가지 스케줄러(1520, 1530, 1540)를 포함한 4종류의 스케줄러로 구성될 수 있다. Referring to FIG. 15 , the edge service system scheduler according to the present invention may be composed of four types of schedulers including a global edge scheduler 1510 and three schedulers 1520, 1530, and 1540 corresponding to 3 locations.

글로벌 엣지 스케줄러(1510)는 클라우드 스케줄러(1520), 마스터 엣지 스케줄러(1530), 이웃 엣지 스케줄러(1540)를 연동하기 위한 스케줄러에 해당할 수 있다. The global edge scheduler 1510 may correspond to a scheduler for interworking the cloud scheduler 1520, the master edge scheduler 1530, and the neighboring edge scheduler 1540.

클라우드 스케줄러(1520)는 공용 및 개인용 클라우드의 스케줄러에 해당할 수 있다.The cloud scheduler 1520 may correspond to schedulers of public and private clouds.

마스터 엣지 스케줄러(1530)는 주요 서비스가 실행되는 엣지(마스터 엣지)의 스케줄러에 해당할 수 있다.The master edge scheduler 1530 may correspond to a scheduler of an edge (master edge) where main services are executed.

이웃 엣지 스케줄러(1540)는 마스터 엣지의 주변에 있는 이웃 엣지의 스케줄러에 해당할 수 있다.The neighboring edge scheduler 1540 may correspond to schedulers of neighboring edges around the master edge.

이렇게 구성된 엣지 서비스 스케줄러는 동적으로 정책 설정이 가능한 스케줄러이면서 로그 데이터 분석을 통한 지능형 스케줄러이다. 또한, 스케줄링 정책 변경에 따른 비용을 최소화할 수 있으며, 대기 및 지연 시간을 최소화할 수 있다. The edge service scheduler configured in this way is a scheduler capable of dynamically setting policies and an intelligent scheduler through log data analysis. In addition, it is possible to minimize the cost according to the scheduling policy change, and to minimize waiting and delay time.

또한, 도 15에 도시된 엣지 서비스 스케줄러를 이용함으로써 엣지 서비스에서 수평적 협업 및 수직적 협업을 시스템 수준에서 적용할 수 있다. In addition, by using the edge service scheduler shown in FIG. 15, horizontal collaboration and vertical collaboration can be applied at the system level in the edge service.

예를 들어, 본 발명에 따른 엣지 서비스 스케줄러는 Leveled 스케줄러와 Shared 스케줄러를 결합한 복합적인 형태의 스케줄러에 해당할 수 있다. For example, the edge service scheduler according to the present invention may correspond to a complex scheduler combining a leveled scheduler and a shared scheduler.

이 때, Leveled 스케줄러는 순차적 처리를 위한 형태의 스케줄러이고, Shared 스케줄러는 서로 경쟁하여 최적의 조건을 찾는 형태의 스케줄러에 해당한다.At this time, the leveled scheduler is a scheduler for sequential processing, and the shared scheduler corresponds to a scheduler that competes with each other to find the optimal condition.

예를 들어, 도 16에 도시된 스케줄러는 3 Leveled 스케줄러 형식으로, 마스터 엣지 스케줄러, 이웃 엣지 스케줄러, 클라우드 스케줄러 순으로 스케줄링 작업이 이루어질 수 있다. 만약, 1 Level인 마스터 엣지 스케줄러를 통해 자원 할당이 성공하면, 2 Level인 이웃 엣지 스케줄러와 3 Level인 클라우드 스케줄러의 실행은 생략될 수 있다. 그러나 1 Level인 마스터 엣지 스케줄러에서 자원 할당이 실패한다면, 순차적으로 다음 Level의 스케줄러로 해당 업무가 전달될 수 있다. 서비스 개발자는 이러한 Leveled 스케줄러를 사용하여 시스템 레벨에서 엣지 서비스의 부하 분산과 서비스 간 협업을 적용할 수 있다.For example, the scheduler shown in FIG. 16 is in the form of a 3-level scheduler, and scheduling work may be performed in the order of a master edge scheduler, a neighboring edge scheduler, and a cloud scheduler. If resource allocation succeeds through the 1st level master edge scheduler, execution of the 2nd level neighboring edge scheduler and the 3rd level cloud scheduler can be omitted. However, if resource allocation fails in the master edge scheduler, the first level, the task can be sequentially transferred to the next level scheduler. Service developers can use this leveled scheduler to apply load balancing of edge services and collaboration between services at the system level.

이처럼, Leveled 스케줄러는 작업을 순차적으로 처리하지만, Shared 스케줄러는 스케줄러 간에 경쟁모드로써 동작할 수 있다. 예를 들어, 2개 이상의 스케줄러들에 동시에 작업을 요청한 뒤 각 스케줄러로부터 후보들을 받고, 그 중에 가장 적합한 것을 선택하여 업무를 처리하는 방식으로 동작할 수 있다. As such, the leveled scheduler processes tasks sequentially, but the shared scheduler can operate as a competition mode between schedulers. For example, after requesting a task from two or more schedulers at the same time, receiving candidates from each scheduler, selecting the most suitable one from among them and processing the task may operate.

다른 예를 들어, 도 17에 도시된 스케줄러는, 2 Level로 구성된 Leveled 스케줄러이면서, 2 Level에서는 이웃 엣지 스케줄러와 클라우드 스케줄러가 Shared 스케줄러로 구성된 본 발명에서 제안하는 복합적인 스케줄러에 해당할 수 있다. As another example, the scheduler shown in FIG. 17 is a leveled scheduler composed of 2 levels, and at 2 levels, a neighboring edge scheduler and a cloud scheduler are configured as a shared scheduler. It may correspond to a complex scheduler proposed in the present invention.

만약, 1 Level인 마스터 엣지 스케줄러에서 자원 할당이 실패하면, 2 Level에서는 경쟁모드를 통해 이웃 엣지 스케줄러와 클라우드 스케줄러에게 작업을 동시에 요청하게 된다. 이 후, 이웃 엣지 스케줄러와 클라우드 스케줄러로부터 후보를 받고, 그 중에 가장 적합한 것을 선택하여 작업을 처리할 수 있다. If resource allocation fails in the master edge scheduler, which is level 1, tasks are requested to the neighboring edge scheduler and the cloud scheduler simultaneously through contention mode in level 2. After that, candidates are received from the neighboring edge scheduler and the cloud scheduler, and a job can be processed by selecting the most suitable one among them.

도 18은 본 발명에 따른 엣지 서비스 시스템의 스케줄러 정책 실행기의 일 예를 나타낸 도면이다. 18 is a diagram showing an example of a scheduler policy executor of an edge service system according to the present invention.

도 18을 참조하면, 본 발명에 따른 복합 스케줄러를 실행하기 위한 스케줄러 정책 실행기는 엣지 스케줄러 정책 실행기(1800)와 실제 컨테이너를 실행할 클러스터(엣지 / 이웃 엣지 / 클라우드 클러스터)로 구성될 수 있다.Referring to FIG. 18 , the scheduler policy executor for executing the complex scheduler according to the present invention may be composed of an edge scheduler policy executor 1800 and a cluster (edge/neighbor edge/cloud cluster) to execute actual containers.

본 발명에 따른 스케줄러 정책 실행기를 구성하는 주요 컴포넌트의 기능은 [표 2]와 같다. The functions of the main components constituting the scheduler policy executor according to the present invention are shown in [Table 2].

컴포넌트component 기능function 글로벌 스케줄러 REST APIGlobal Scheduler REST API 사용자 인터페이스나 명령어 도구로부터 관련 응용 컨테이너를 할당 요청하는 스케줄러에 해당하는 REST APIA REST API corresponding to the scheduler requesting allocation of related application containers from the user interface or command line tool 글로벌 스케줄러 핸들러global scheduler handler 글로벌 스케줄러 REST API를 처리하는 컴포넌트A component that handles the global scheduler REST API 요청 큐 관리기request queue manager 글로벌 스케줄러 핸들러로부터 컨테이너의 할당 요청들을 수신하여 그 데이터를 저장하고 관리하는 컴포넌트A component that receives container allocation requests from the global scheduler handler and stores and manages the data. 글로벌 스케줄러 제어기global scheduler controller 요청 큐로부터 스케줄링 요청 데이터를 꺼내어 글로벌 스케줄러 작업 쓰레드를 생성 및 실행시키는 컴포넌트A component that pulls scheduling request data from the request queue and creates and runs a global scheduler work thread. 글로벌 스케줄러 작업 쓰레드global scheduler work thread 스케줄러 작업을 해당 마스터 노드의 글로벌 스케줄러 에이전트에 전달할 메시지 형태로 변환하여 작업 메시지 큐에 저장하는 쓰레드A thread that converts scheduler jobs into messages to be delivered to the global scheduler agent on the corresponding master node and stores them in the job message queue. 엣지 클러스터 메타 데이터 저장소Edge Cluster Metadata Repository 엣지 클러스터 관련된 메타 데이터들을 저장하는 저장소A repository that stores metadata related to edge clusters 작업 메시지 큐task message queue 엣지 스케줄러 정책 실행기와 클러스터 간 스케줄러 작업 메시지를 저장하는 저장소A repository that stores scheduler operation messages between the edge scheduler policy executor and the cluster. 글로벌 스케줄러 에이전트global scheduler agent 클러스터의 마스터 노드에서 작업 메시지 큐로부터 자신에 해당하는 스케줄러 작업 메시지를 수신하여 REST API를 호출하는 컴포넌트A component that receives its corresponding scheduler job message from the job message queue on the cluster's master node and calls the REST API. 엣지(클라우드) 스케줄러Edge (Cloud) Scheduler 배정되지 않은 컨테이너를 감지하고, 컨테이너를 실행할 워커노드를 선별하는 컴포넌트A component that detects unallocated containers and selects worker nodes to run containers on. 워커 에이전트walker agent 워커 노드에서 컨테이너를 실행하는 에이전트Agents running containers on worker nodes

이하에서는 도 19를 참조하여 본 발명에 따른 스케줄러 정책 실행기의 처리 흐름을 상세하게 설명하도록 한다. Hereinafter, the process flow of the scheduler policy executor according to the present invention will be described in detail with reference to FIG. 19 .

도 19를 참조하면, 클라이언트로부터 요청받은 컨테이너를 워커 노드에 생성 및 실행하는 과정은 다음과 같다. Referring to FIG. 19, a process of creating and executing a container requested from a client on a worker node is as follows.

먼저, 사용자가 컨테이너 생성에 해당하는 REST API를 호출하면, 호출된 REST API를 처리하기 위해 글로벌 스케줄러 핸들러가 실행될 수 있다.First, when a user calls a REST API corresponding to container creation, a global scheduler handler may be executed to process the called REST API.

이 후, 글로벌 스케줄러 핸들러는 요청된 데이터를 요청 큐 관리기에 송신할 수 있고, 요청 큐 관리기는 요청된 데이터를 큐에 저장할 수 있다. Then, the global scheduler handler can send the requested data to the request queue manager, and the request queue manager can store the requested data in a queue.

이 후, 글로벌 스케줄러 제어기는 우선순위를 고려하여 요청 큐로부터 처리할 데이터를 가져와 글로벌 스케줄러 작업 쓰레드를 생성하고, 처리할 데이터를 전달하여 스케줄링 작업을 실행할 수 있다. after, The global scheduler controller may bring data to be processed from the request queue in consideration of priority, create a global scheduler task thread, and transfer the data to be processed to execute a scheduling task.

이 후, 글로벌 스케줄러 작업 쓰레드는 요청된 작업을 분석하고, 스케줄러 작업을 해당하는 클러스터에 요청할 메시지 형태로 변환하여 작업 메시지 큐 관리기에 전달할 수 있다. Then, the global scheduler job thread analyzes the requested job, converts the scheduler job into a message form requested to the corresponding cluster, and transmits it to the job message queue manager.

이 후, 작업 메시지 큐 관리기가 전달된 메시지를 작업 메시지 큐에 저장하면, 클러스터의 글로벌 스케줄러 에이전트가 작업 메시지 큐로부터 엣지 및 이웃 엣지에 해당하는 메시지가 있는지 체크하여 해당 메시지를 가져올 수 있다.Then, when the task message queue manager stores the delivered message in the task message queue, the cluster's global scheduler agent checks whether there is a message corresponding to the edge and neighboring edges from the task message queue and retrieves the corresponding message.

이 후, 글로벌 스케줄러 에이전트는 가져온 메시지를 분석하고, 자신의 엣지 API 서버에게 해당 API 호출한다.After that, the global scheduler agent analyzes the imported message and calls the corresponding API to its edge API server.

이 후, 엣지 스케줄러가 워커 노드들에 있는 워커 에이전트들을 통하여 요청한 컨테이너를 생성 및 실행할 수 있다.After that, the edge scheduler can create and run the requested container through the worker agents in the worker nodes.

도 20은 도 18에 도시된 스케줄러 정책 실행기의 3단계 요청 큐의 처리 순서의 일 예를 나타낸 동작흐름도이다.FIG. 20 is an operational flowchart illustrating an example of a processing sequence of a 3-step request queue of the scheduler policy executor shown in FIG. 18 .

본 발명에서 제안하는 제안하는 스케줄러 정책 실행기는 스케줄링을 요청했지만 반복적으로 실패한 요청을 우선적으로 처리하거나 우선순위 옵션을 갖는 요청을 기본 스케줄링 요청보다 우선적으로 처리하기 위해 요청 큐를 3단계로 나누어 처리할 수 있다. The proposed scheduler policy executor proposed in the present invention can process a request queue by dividing it into three stages in order to preferentially process requests that have been requested for scheduling but have repeatedly failed, or to process requests with priority options prior to basic scheduling requests. there is.

이 때, 3단계 요청 큐는 첫 번째 프런트 큐(First Front Queue, FF), 두 번째 프런트 큐(Second Front Queue, SF), 베이스 큐(Base Queue, B) 순으로 구성될 수 있다. At this time, the three-level request queue may be configured in the order of a first front queue (FF), a second front queue (SF), and a base queue (B).

첫 번째 프런트 큐(First Front Queue)는 스케줄링을 요청했지만 반복적으로 실패한 요청을 우선으로 처리하기 위한 큐에 해당할 수 있다. The first front queue may correspond to a queue for preferentially processing requests that have been requested for scheduling but have repeatedly failed.

두 번째 프런트 큐(Second Front Queue)는 우선순위 옵션을 갖는 요청을 기본 스케줄링 요청보다 우선으로 처리하기 위한 큐에 해당할 수 있다. The second front queue may correspond to a queue for prioritizing requests having priority options over basic scheduling requests.

도 20을 참조하면, 엣지 스케줄러 정책 실행기의 3단계 요청 큐의 처리는, 먼저 요청된 데이터에 우선순위 옵션(FAST Option)이 있는지 여부를 판단하고(S2005), 우선순위 옵션이 있으면 두 번째 프런트 큐에 저장하고(S2010), 우선순위 옵션이 없으면 베이스 큐에 저장할 수 있다(S2020).Referring to FIG. 20, in the processing of the 3-step request queue of the edge scheduler policy executor, first, it is determined whether the requested data has a priority option (FAST Option) (S2005), and if there is a priority option, the second front queue It is stored in (S2010), and if there is no priority option, it can be stored in the base queue (S2020).

이 후, 첫 번째 프런트 큐(First Front Queue), 두 번째 프런트 큐(Second Front Queue), 베이스 큐(Base Queue)의 순서대로 큐에 데이터가 있는지 체크하고, 각 큐로부터 N개씩 순서대로 스케줄링 작업 큐에 생성하여 스케줄링을 시도할 수 있다(S2030).After this, it is checked whether there is data in the queue in the order of First Front Queue, Second Front Queue, and Base Queue, and schedules task queues in order by N from each queue. Scheduling can be attempted by creating in (S2030).

이 후, 스케줄링이 성공하였는지 여부를 판단하고(S2035), 스케줄링에 실패하였으면, 각 요청의 실패한 횟수(Fail_Num)를 1 증가시키고(S2040), 실패한 횟수가 정해진 실패 횟수(K*)를 초과하였는지 여부를 판단할 수 있다(S2045).After that, it is determined whether scheduling has succeeded (S2035), and if scheduling has failed, the number of failures (Fail_Num) of each request is increased by 1 (S2040), and whether the number of failures exceeds the predetermined number of failures (K*) can be determined (S2045).

단계(S2045)의 판단결과 실패한 횟수가 정해진 실패 횟수(K*)를 초과하면, 요청을 첫 번째 프런트 큐(First Front Queue)에 저장할 수 있다(S2050).As a result of the determination in step S2045, if the number of failures exceeds the predetermined number of failures (K*), the request may be stored in the first front queue (S2050).

또한, 단계(S2045)의 판단결과 실패한 횟수가 정해진 실패 횟수(K*)를 초과하지 않으면, 다시 한번 우선순위 옵션이 있는지 여부를 판단한 뒤(S2055) 우선순위 옵션이 있으면 두 번째 프런트 큐에 저장하고(S2010), 우선순위 옵션이 없으면 베이스 큐에 저장할 수 있다(S2020).In addition, as a result of the determination in step S2045, if the number of failures does not exceed the predetermined number of failures (K*), it is determined again whether there is a priority option (S2055), and if there is a priority option, it is stored in the second front queue. (S2010), if there is no priority option, it can be stored in the base queue (S2020).

또한, 단계(S2035)의 판단결과 스케줄링에 성공하였으면 스케줄링 작업을 종료할 수 있다. In addition, as a result of the determination in step S2035, if scheduling is successful, the scheduling task may be terminated.

이 때, 도 20에 도시된 스케줄링 작업은 3단계 요청 큐에 모든 요청 데이터가 없을 때까지 반복하고 데이터가 없으면 대기할 수 있다. At this time, the scheduling task shown in FIG. 20 is repeated until there is no all requested data in the request queue of step 3, and if there is no data, it can wait.

도 21은 본 발명에 따른 지능형 스케줄러 기반 서비스 분산 협업의 동적 배치 연동의 일 예를 나타낸 도면이다. 21 is a diagram showing an example of dynamic arrangement and interworking of service distribution collaboration based on an intelligent scheduler according to the present invention.

도 21을 참조하면, 본 발명에서 제안하는 엣지 서비스 시스템의 스케줄러는 고정적 스케줄러가 아닌 지능형 스케줄러에 해당할 수 있다.Referring to FIG. 21 , the scheduler of the edge service system proposed in the present invention may correspond to an intelligent scheduler rather than a fixed scheduler.

예를 들어, 도 21과 같이 제안하는 엣지 서비스 시스템은 분산-협업 동적 배치 지능형 분석기(2100)를 기반으로 클라우드, 엣지, 이웃 엣지에 대한 실시간 모니터링 데이터 및 로그를 수집하고, 수집된 데이터를 딥 러닝과 같은 AI 분석을 통하여 다양한 서비스를 동적 배치할 수 있다.For example, the proposed edge service system as shown in FIG. 21 collects real-time monitoring data and logs for the cloud, edge, and neighboring edge based on the distributed-collaborative dynamic arrangement intelligent analyzer 2100, and uses the collected data for deep learning. Various services can be dynamically deployed through AI analysis such as

도 22는 본 발명에 따른 지능형 스케줄러를 적용한 엣지 서비스 시스템의 일 예를 나타낸 도면이다. 22 is a diagram showing an example of an edge service system to which an intelligent scheduler according to the present invention is applied.

본 발명에서 제안하는 엣지 서비스 시스템은 인공지능 트레이닝을 통하여 지능형 스케줄러 정책을 도출할 때 많은 히스토리 데이터를 필요로 할 수 있다. The edge service system proposed in the present invention may require a lot of history data when deriving an intelligent scheduler policy through artificial intelligence training.

이 때, 엣지 서비스 시스템을 구축하고 바로 인공지능 트레이닝을 수행하는 것은 불가능하지만, 일정 기간 동안 히스토리 데이터를 수집한 후에는 엣지 스케줄러 정책 트레이닝을 수행할 수 있다.At this time, it is impossible to build an edge service system and immediately perform artificial intelligence training, but after collecting historical data for a certain period of time, edge scheduler policy training can be performed.

도 22에 도시된 엣지 서비스 시스템을 구성하는 주요 구성 요소 및 주요 구성 요소들 각각의 기능은 [표 3]과 같다.The main components constituting the edge service system shown in FIG. 22 and the functions of each of the main components are shown in [Table 3].

구성 요소Component 기능function 엣지 스케줄러 정책 메타데이터 저장소Edge Scheduler Policy Metadata Store 엣지 스케줄러 정책(Edge Scheduler Policy, ESP)을 저장하는 저장소Repository to store Edge Scheduler Policy (ESP) 엣지 스케줄러 정책 플랜너Edge Scheduler Policy Planner 엣지 응용 별 정보 수집기와 엣지 클러스터 정보 수집기로부터 수집한 정보를 기반으로 정책을 수립하는 컴포넌트A component that establishes policies based on information collected from edge application-specific information collectors and edge cluster information collectors. 엣지 응용 별 정보 수집기Information Collector by Edge Application 엣지에서 구동되는 응용 별로 응답속도, CPU 실사용률, 메모리 실사용률, 기타 자원사용 상태를 수집하는 컴포넌트Component that collects response speed, CPU actual usage rate, memory actual usage rate, and other resource usage status for each application running on the edge 엣지 클러스터 정보 수집기Edge Cluster Information Collector 클러스터를 구성하는 물리적 노드 별 CPU 실사용률, 메모리 실사용률 등의 정보를 수집하는 컴포넌트Component that collects information such as actual CPU utilization rate and memory actual utilization rate for each physical node constituting the cluster 엣지 스케줄러 정책 로그 데이터 저장소Edge Scheduler Policy Log Datastore 엣지 스케줄러 정책 로그기를 통하여 엣지 스케줄러 정책을 적용한 결과를 저장하는 저장소Storage that stores the result of applying the edge scheduler policy through the edge scheduler policy logger 엣지 스케줄러 정책 트레이너Edge Scheduler Policy Trainer 엣지 스케줄러 정책 로그 데이터 저장소로부터 히스토리 데이터를 가져와 트레이닝 하는 컴포넌트A component that trains by fetching historical data from the edge scheduler policy log data store. 엣지 스케줄러 정책 평가기Edge Scheduler Policy Evaluator 엣지 스케줄러 정책을 적용한 후 최적화 정도에 따른 평가하는 컴포넌트Component that evaluates according to the degree of optimization after applying the edge scheduler policy 엣지 스케줄러 정책 실행기Edge Scheduler Policy Executor 여러 엣지 스케줄러 정책을 적용한 후 최적화 정도에 따른 평가하여 가장 좋은 정책을 실행하는 컴포넌트Component that executes the best policy after applying multiple edge scheduler policies and evaluating them according to the degree of optimization 엣지 스케줄러 정책 로그기Edge Scheduler Policy Logger 실행된 스케줄러 정책과 그 결과를 로그로 저장하는 컴포넌트A component that stores executed scheduler policies and their results as logs.

도 23은 본 발명에 따른 지능형 스케줄러를 적용한 엣지 서비스 시스템의 최적화 처리 흐름의 일 예를 나타낸 도면이다.23 is a diagram illustrating an example of an optimization processing flow of an edge service system to which an intelligent scheduler according to the present invention is applied.

본 발명에서 지능형 스케줄러를 적용한 엣지 서비스 시스템의 최적화 핵심은 최소비용으로 최적화하는 방법과 최대한 빠른 속도로 최적화하는 방법을 모두 제공하는 것이다. The key to optimizing the edge service system to which the intelligent scheduler is applied in the present invention is to provide both a method for optimizing at minimum cost and a method for optimizing at maximum speed.

도 23을 참조하면, 지능형 스케줄러를 적용한 엣지 서비스 시스템의 처리 순서는 먼저, 엣지 응용 별 정보 수집기와 엣지 클러스터 정보 수집기를 통하여 컨테이너 플랫폼의 정보를 수집할 수 있다. Referring to FIG. 23 , in the processing sequence of the edge service system to which the intelligent scheduler is applied, first, container platform information may be collected through an information collector for each edge application and an edge cluster information collector.

이 후, 엣지 스케줄러 정책 플랜너가 엣지 응용 별 정보 수집기와 엣지 클러스터 정보 수집기를 통해 수집된 정보를 바탕으로 엣지 스케줄러 정책 메타데이터 저장소로부터 정책을 선정할 수 있다. After that, the edge scheduler policy planner can select a policy from the edge scheduler policy metadata storage based on the information collected through the edge application-specific information collector and the edge cluster information collector.

이 후, 컨테이너 플랫폼의 부하 정도에 따라 ESP 적용 비용 최소화 타입, ESP 적용 최적화 타입 중 하나를 선택할 수 있다. Then, one of ESP application cost minimization type and ESP application optimization type may be selected according to the load level of the container platform.

이 후, 엣지 스케줄러 정책 실행기를 통하여 컨테이너들을 할당할 수 있다.After that, containers can be allocated through the edge scheduler policy executor.

이 후, 엣지 스케줄러 정책을 적용하기 전과 엣지 스케줄러 정책을 적용한 후에 대한 상대 비교를 통하여 타입 별 엣지 스케줄러 정책에 대한 평가를 수행할 수 있다.Thereafter, evaluation of the edge scheduler policy for each type may be performed through relative comparison before and after applying the edge scheduler policy.

이 후, 최종적으로 선택된 엣지 스케줄러 정책을 비적용 부분이 없도록 전체적으로 적용할 수 잇다. After that, the finally selected edge scheduler policy can be applied as a whole so that there is no unapplied part.

이 후, 엣지 스케줄러 정책 로그기를 통하여 최종적으로 선택된 엣지 스케줄러 정책이 적용된 결과를 엣지 스케줄러 정책 로그데이터 저장소에 저장할 수 있다.Thereafter, the result of applying the finally selected edge scheduler policy through the edge scheduler policy logger may be stored in the edge scheduler policy log data storage.

이 후, 엣지 스케줄러 정책 트레이너는 저장된 엣지 스케줄러 정책 로그데이터를 수집할 수 있고, 엣지 스케줄러 정책 트레이너를 통하여 최적화된 지능형 엣지 정책을 생성할 수 있다. After that, the edge scheduler policy trainer can collect stored edge scheduler policy log data, and can create an optimized intelligent edge policy through the edge scheduler policy trainer.

상기의 도 1 내지 도 23을 통해 설명한 본 발명에 따른 멀티 클라우드 엣지 시스템은 다른 시스템 혹은 기존의 시스템과 비교하였을 때 다음과 같은 장점이 존재한다. The multi-cloud edge system according to the present invention described above with reference to FIGS. 1 to 23 has the following advantages compared to other systems or existing systems.

고속의 컨테이너 시스템 - 인메모리 기반의 컨테이너를 구성하여 고속의 컨테이너 플랫폼을 유지High-speed container system - Maintain a high-speed container platform by configuring in-memory-based containers

메모리 제약 사항 해결 - 확장형 스토리지 구조로 메모리의 크기에 대한 제약사항을 해결하고, 실시간 백업 환경을 통한 백업/리스토어 기능으로 휘발성 메모리에 의한 문제점을 해결Resolving memory limitations - Resolving limitations on memory size with an expandable storage structure, and solving problems caused by volatile memory with a backup/restore function through a real-time backup environment

공유에 적합한 구조 - 현재 시스템에서 제공되는 Unifying file system을 이용하여 데이터 및 이미지를 메모리 상에서 공유 가능Structure suitable for sharing - Data and images can be shared in memory using the Unifying file system provided by the current system

커널 병합된 손쉬운 사용 - 시스템을 구성하는 각 모듈이 리눅스에 포함되어 손쉽게 시스템을 구성 및 사용할 수 있음Kernel merged ease of use - Each module that makes up the system is included in Linux, so you can easily configure and use the system.

L3 레벨의 다중 클러스터의 사용자 레벨 네트워크 터널링 연결 - 다중 클러스터 네트워크의 연결을 고속으로 수행하기 위하여 커널 바이패스 네트워크 스택을 활용한 터널링 기법을 적용하여 고속 네트워크를 구성User-level network tunneling connection of L3-level multi-cluster - In order to perform multi-cluster network connection at high speed, a high-speed network is constructed by applying a tunneling technique using a kernel bypass network stack.

협업을 위한 최적화된 지능형 스케줄러 기능 제공Provides optimized intelligent scheduler function for collaboration

- 저지연 서비스에 적합한 스케줄링이 가능하고, 수직적 협업과 수평적 협업을 통합한 협업 적용 가능- Scheduling suitable for low-latency service is possible, and collaboration that integrates vertical and horizontal collaboration can be applied

- 시스템 레벨에서 협업 적용 가능- Collaboration can be applied at the system level

- 지능형 오프로딩 기반의 협업 가능 - Collaboration based on intelligent offloading

- 끊김이 없는 서비스 연계 가능- Uninterrupted service connection possible

- 클라우드/엣지/이웃 엣지를 포함한 통합적인 분산처리 가능- Integrated distributed processing including cloud/edge/neighboring edge

- 로그나 통계 정보를 기반으로 효율적인 지능형 스케줄러 정책 생성 가능 - Possible to create efficient intelligent scheduler policy based on log or statistical information

이상에서와 같이 본 발명에 따른 멀티 클라우드 엣지 시스템은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the multi-cloud edge system according to the present invention is not limited to the configuration and method of the embodiments described above, but the above embodiments are all or all of the embodiments so that various modifications can be made. Some of them may be selectively combined and configured.

110: 클라우드 120: 엣지
130: 이웃 엣지
510, 610, 800: 인메모리 컨테이너 스토리지
520, 620, 700: 인메모리 컨테이너 스토리지 엔진
710: 스토리지 인터페이스 720: 스토리지 접근 분산 모듈
730: 스토리지 제어 모듈 810: 메인 메모리 스토리지
820: 디스크 스토리지 910, 1112: 이미지 계층
920, 1111: 컨테이너 계층 930: 통합 접근 영역
1000, 1120: 공유 스토리지 1010: 공유 데이터
1110: Node A 인메모리 컨테이너 스토리지
1130: Node B 인메모리 컨테이너 스토리지
1200: 인메모리 컨테이너 스토리지 관리 모듈
1510: 글로벌 엣지 스케줄러 1520: 클라우드 스케줄러
1530: 마스터 엣지 스케줄러 1540: 이웃 엣지 스케줄러
1800: 엣지 스케줄러 정책 실행기
2100: 분산-협업 동적 배치 지능형 분석기
110: Cloud 120: Edge
130: neighboring edge
510, 610, 800: In-memory container storage
520, 620, 700: In-Memory Container Storage Engine
710: storage interface 720: storage access distribution module
730: storage control module 810: main memory storage
820: disk storage 910, 1112: image layer
920, 1111: container layer 930: integrated access area
1000, 1120: shared storage 1010: shared data
1110: Node A in-memory container storage
1130: Node B in-memory container storage
1200: in-memory container storage management module
1510: Global Edge Scheduler 1520: Cloud Scheduler
1530: Master Edge Scheduler 1540: Neighbor Edge Scheduler
1800: Edge Scheduler Policy Executor
2100: Distributed-collaborative dynamic batch intelligent analyzer

Claims (7)

코어 클라우드;
멀티 클러스터 기반 제1 엣지(A FIRST EDGE) 노드 시스템; 및
멀티 클러스터 기반 니어 엣지(NEAR EDGE) 노드 시스템을 포함하고,
상기 멀티 클러스터 기반 제1 엣지 노드 시스템은
복수의 작업 노드들; 및
스케줄러를 가지는 마스터 노드를 포함하는, 멀티 클라우드 엣지 시스템.
core cloud;
A multi-cluster-based first edge (A FIRST EDGE) node system; and
Including a multi-cluster-based near edge (NEAR EDGE) node system,
The multi-cluster-based first edge node system
a plurality of work nodes; and
A multi-cloud edge system, including a master node with a scheduler.
청구항 1에 있어서,
상기 제1 엣지 노드 시스템과 상기 니어 엣지 노드 시스템을 터널링 프로토콜에 따라 고속 네트워크로 연결하는, 멀티 클라우드 엣지 시스템.
The method of claim 1,
A multi-cloud edge system that connects the first edge node system and the near edge node system to a high-speed network according to a tunneling protocol.
청구항 2에 있어서,
상기 제1 엣지 노드 시스템과 상기 니어 엣지 노드 시스템의 협업 연산에 따른 데이터를 공유 저장하는 공유 저장장치를 더 포함하는, 멀티 클라우드 엣지 시스템.
The method of claim 2,
The multi-cloud edge system further comprising a shared storage device for sharing and storing data according to cooperative operation between the first edge node system and the near edge node system.
청구항 1에 있어서,
상기 제1 엣지 노드 시스템과 상기 니어 엣지 노드 시스템의 데이터를 기반으로 협업 연산에 필요한 리소스를 제어하는 매니지먼트 노드를 더 포함하는, 멀티 클라우드 엣지 시스템.
The method of claim 1,
The multi-cloud edge system further comprising a management node for controlling resources required for collaborative operation based on data of the first edge node system and the near edge node system.
청구항 1에 있어서,
상기 제1 엣지 노드 시스템 또는 상기 니어 엣지 노드 시스템은 컴퓨팅 노드들을 포함하고,
상기 컴퓨팅 노드들은 컨테이너 플랫폼 기반으로 모놀리틱 어플리케이션(MONOLITHIC APPLICATION), 마이크로 서비스(MICRO SERVICE) 및 서비스형 함수(FUNCTION AS A SERVICE)를 제공하는, 멀티 클라우드 엣지 시스템.
The method of claim 1,
The first edge node system or the near edge node system includes computing nodes,
The computing nodes are a multi-cloud edge system that provides monolithic applications (MONOLITIC APPLICATION), micro services (MICRO SERVICE) and service-type functions (FUNCTION AS A SERVICE) based on a container platform.
청구항 1에 있어서,
상기 제1 엣지 노드 시스템은 외부 기기로부터 태스크(TASK)에 대한 연산 로드를 요청받고,
상기 마스터 노드는 상기 스케줄러를 이용하여 상기 태스크(TASK)를 수행할 수 있는 어플리케이션이 배포된 작업 노드를 결정하고,
상기 결정된 작업 노드는 상기 태스크를 수행하고,
상기 마스터 노드가 상기 태스크가 수행된 결과를 수집하여 상기 외부 기기에 응답하는, 멀티 클라우드 엣지 시스템.
The method of claim 1,
The first edge node system receives a request for a computational load for a task (TASK) from an external device,
The master node determines a work node where an application capable of performing the task (TASK) is distributed using the scheduler,
The determined working node performs the task,
The multi-cloud edge system, wherein the master node collects the result of performing the task and responds to the external device.
청구항 1에 있어서,
상기 코어 클라우드와 상기 제1 엣지 노드 시스템이 제공하는 수직 협업 계산에 의한 서비스 및 상기 제1 엣지 노드 시스템과 상기 니어 엣지 노드 시스템이 제공하는 수평 협업 계산에 의한 서비스를 제공하는, 멀티 클라우드 엣지 시스템.
The method of claim 1,
A multi-cloud edge system that provides services by vertical collaborative computation provided by the core cloud and the first edge node system and services by horizontal collaborative computation provided by the first edge node system and the near edge node system.
KR1020220119177A 2021-11-12 2022-09-21 Apparatus for switching main screen based on distributed telepresence and method using the same KR20230069813A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/985,381 US11916998B2 (en) 2021-11-12 2022-11-11 Multi-cloud edge system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210156007 2021-11-12
KR20210156007 2021-11-12

Publications (1)

Publication Number Publication Date
KR20230069813A true KR20230069813A (en) 2023-05-19

Family

ID=86546993

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220119177A KR20230069813A (en) 2021-11-12 2022-09-21 Apparatus for switching main screen based on distributed telepresence and method using the same

Country Status (1)

Country Link
KR (1) KR20230069813A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180119905A (en) 2017-04-26 2018-11-05 에스케이텔레콤 주식회사 Application excution system based on distributed cloud, apparatus and control method thereof using the system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180119905A (en) 2017-04-26 2018-11-05 에스케이텔레콤 주식회사 Application excution system based on distributed cloud, apparatus and control method thereof using the system

Similar Documents

Publication Publication Date Title
CN107567696B (en) Automatic expansion of a group of resource instances within a computing cluster
US8539056B2 (en) Systems and methods for configuring multiple network interfaces
JP5575641B2 (en) Shared data center disaster recovery system and method
CN103414761A (en) Mobile terminal cloud resource scheduling method based on Hadoop framework
CA2637749C (en) Method, system, and program product for deploying a platform dependent application in a grid environment
CN111444020A (en) Super-fusion computing system architecture and fusion service platform
US8082344B2 (en) Transaction manager virtualization
CN110838939B (en) Scheduling method based on lightweight container and edge Internet of things management platform
CN111538561B (en) OpenStack large-scale cluster deployment test method and system based on KVM virtualization technology
CN104050042A (en) Resource allocation method and resource allocation device for ETL (Extraction-Transformation-Loading) jobs
CN111343219B (en) Computing service cloud platform
EP4293510A1 (en) Data migration method and apparatus, and device, medium and computer product
US8301773B2 (en) Server management program, server management method, and server management apparatus
CN117480494A (en) Coordinated container scheduling for improved resource allocation in virtual computing environments
US7219345B2 (en) System and method for terminating processes in a distributed computing system
CN109992373B (en) Resource scheduling method, information management method and device and task deployment system
US11916998B2 (en) Multi-cloud edge system
CN112532758B (en) Method, device and medium for establishing network edge computing system
CN116974689A (en) Cluster container scheduling method, device, equipment and computer readable storage medium
KR20230069813A (en) Apparatus for switching main screen based on distributed telepresence and method using the same
CN112822062A (en) Management method for desktop cloud service platform
US20230412671A1 (en) Distributed cloud system, data processing method of distributed cloud system, and storage medium
CN111431951B (en) Data processing method, node equipment, system and storage medium
KR20230174150A (en) Distributed cloud system, distributed cloud system data processing method and storage medium
CN108632351B (en) Information exchange system