KR20220078837A - 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치 - Google Patents
멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치 Download PDFInfo
- Publication number
- KR20220078837A KR20220078837A KR1020200168019A KR20200168019A KR20220078837A KR 20220078837 A KR20220078837 A KR 20220078837A KR 1020200168019 A KR1020200168019 A KR 1020200168019A KR 20200168019 A KR20200168019 A KR 20200168019A KR 20220078837 A KR20220078837 A KR 20220078837A
- Authority
- KR
- South Korea
- Prior art keywords
- service
- pods
- unit
- real
- services
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치에 관한 것으로, 상기 방법은 컨테이너 기반의 가상화 서비스를 구성하는 복수의 단위 서비스들을 정의하는 단계; 상기 복수의 단위 서비스들 각각을 독립적으로 수행하는 복수의 팟(POD)들을 정의하는 단계; 상기 가상화 서비스의 특성을 고려하여 상기 복수의 단위 서비스들에 대한 서비스 순위를 결정하고 해당 서비스 순위에 따라 상기 복수의 팟들을 배치하는 단계; 상기 가상화 서비스의 제공 과정에서 사용자 접속 추세에 따라 상기 복수의 단위 서비스들의 서비스 순위를 실시간 조정하는 단계; 및 상기 실시간 조정에 따라 상기 복수의 팟들을 재배치하는 단계를 포함한다.
Description
본 발명은 서비스 순위 조정 기술에 관한 것으로, 더욱 상세하게는 가상화 서비스 과정에서 서비스 순위를 동적으로 조정하여 부하 분산 및 운영 효율화를 제공할 수 있는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치에 관한 것이다.
컨테이너 오케스트레이션(Container Orchestration)이 하는 일은 여러 개의 서버에 컨테이너를 배포하고 운영하면서 서비스 디스커버리(Service discovery) 같은 기능을 이용하여 서비스 간 연결을 쉽게 해주는 것이다. 즉, 서버마다 app01, db01, cache01 같은 이름을 지어주고 하나하나 접속하여 관리하는 것이 아니라 server1, 2, 3, 4...를 하나로 묶어 적당한 서버를 자동으로 선택해 애플리케이션을 배포하고 부하가 생기면 컨테이너를 늘리고 일부 서버에 장애가 발생하면 정상 동작 중인 서버에 다시 띄워 장애를 방지하는 것이다.
또한, 컴퓨터 클러스터는 저렴한 마이크로 프로세서와 고속의 네트워크, 그리고 고성능 분산 컴퓨팅용 소프트웨어들의 조합 결과로 생성될 수 있다. 클러스터는 일반적으로 단일 컴퓨터보다 더 뛰어난 성능과 안정성을 제공하며, 비슷한 성능과 안정성을 제공하는 단일 컴퓨터보다 비용 면에서 훨씬 더 효율적일 수 있다.
한국등록특허 제10-1807806(2017.12.05)호는 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법에 관한 것으로, 격리된 어플리케이션 실행 환경을 제공하고, 독립적인 자원 할당이 가능하며, 동일 호스트 상 다중 어플리케이션 운영이 가능할 뿐만 아니라 OS 수준의 가상화로 빠른 조작이 가능하고, 적은 크기의 컨테이너 이미지로 배포 및 업데이트가 효율적이며, 어디든지 이동이 가능한 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 기술을 개시하고 있다.
본 발명의 일 실시예는 가상화 서비스 과정에서 서비스 순위를 동적으로 조정하여 부하 분산 및 운영 효율화를 제공할 수 있는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치를 제공하고자 한다.
본 발명의 일 실시예는 단위 서비스별 메시지 처리의 실패 이유 추이에 따라 실시간 서비스 순위를 조정하여 시스템 부하를 감소시킬 수 있는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치를 제공하고자 한다.
실시예들 중에서, 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법은 컨테이너 기반의 가상화 서비스를 구성하는 복수의 단위 서비스들을 정의하는 단계; 상기 복수의 단위 서비스들 각각을 독립적으로 수행하는 복수의 팟(POD)들을 정의하는 단계; 상기 가상화 서비스의 특성을 고려하여 상기 복수의 단위 서비스들에 대한 서비스 순위를 결정하고 해당 서비스 순위에 따라 상기 복수의 팟들을 배치하는 단계; 상기 가상화 서비스의 제공 과정에서 사용자 접속 추세에 따라 상기 복수의 단위 서비스들의 서비스 순위를 실시간 조정하는 단계; 및 상기 실시간 조정에 따라 상기 복수의 팟들을 재배치하는 단계를 포함한다.
상기 실시간 조정하는 단계는 상기 서비스 제공의 과정에서 각 단위 서비스의 메시지 부하 추세에 따라 상기 서비스 순위를 조정하는 단계를 포함할 수 있다.
상기 실시간 조정하는 단계는 상기 서비스 제공의 과정에서 특정 기간 동안 프로토콜(protocol) 메시지의 통계값을 산출하는 단계를 포함할 수 있다.
상기 실시간 조정하는 단계는 상기 프로토콜 메시지의 요청과 응답 과정에서 발생하는 실패 이유들의 빈도 분포를 기초로 상기 서비스 순위를 조정하는 단계를 포함할 수 있다.
상기 실시간 조정하는 단계는 상기 실패 이유들을 상기 단위 서비스 별로 분류하는 단계; 상기 단위 서비스 별로 상기 실패 이유들의 통계값을 합산하는 단계; 상기 합산 결과에 따라 상기 복수의 단위 서비스들을 정렬하는 단계; 및 상기 정렬 순서에 따라 상기 서비스 순위를 결정하는 단계를 포함할 수 있다.
상기 실시간 조정하는 단계는 상기 복수의 팟들 중 상기 사용자 접속 추세와 연관되는 기능을 담당하는 후보 팟들을 결정하는 단계; 및 상기 재배치하는 단계는 상기 후보 팟들을 대상으로 상기 재배치를 수행하는 단계를 포함할 수 있다.
상기 재배치하는 단계는 상기 복수의 팟들 중 상기 재배치에 따라 동작 순서가 변경되는 제1 팟들과 변경되지 않는 제2 팟들을 결정하는 단계; 상기 제1 팟들 각각에 대응되는 제3 팟들을 생성하는 단계; 상기 제2 팟들과 상기 제3 팟들을 기초로 상기 재배치를 수행하는 단계; 및 상기 제1 팟들의 동작을 상기 제3 팟들로 대체하는 단계를 포함할 수 있다.
실시예들 중에서, 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 장치는 가상화 기반의 서비스 제공을 위해 복수의 단위 서비스들을 정의하는 서비스 정의부; 상기 복수의 단위 서비스들 각각을 독립적으로 수행하는 복수의 팟(POD)들을 정의하는 팟 정의부; 서비스 특성을 고려하여 상기 복수의 단위 서비스들에 대한 서비스 순위를 결정하여 상기 복수의 팟들을 배치하는 서비스 구성부; 상기 서비스 제공의 과정에서 사용자 접속 추세를 모니터링하여 상기 복수의 단위 서비스들의 서비스 순위를 실시간 조정하는 서비스 조정부; 및 상기 실시간 조정에 따라 상기 복수의 팟들을 재배치하는 서비스 관리부를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치는 가상화 서비스 과정에서 서비스 순위를 동적으로 조정하여 부하 분산 및 운영 효율화를 제공할 수 있다.
본 발명의 일 실시예에 따른 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치는 단위 서비스별 메시지 처리의 실패 이유 추이에 따라 실시간 서비스 순위를 조정하여 시스템 부하를 감소시킬 수 있다.
도 1은 본 발명에 따른 멀티엑세스 엣지 컴퓨팅 시스템을 설명하는 개념도이다.
도 2는 도 1의 MEC 장치의 기능적 구성을 설명하는 블록도이다.
도 3은 본 발명에 따른 실시간 서비스 순위 조정 방법을 설명하는 순서도이다.
도 4는 컨테이너 기반의 가상화 서비스를 설명하는 도면이다.
도 5는 본 발명에 따른 운영 환경 실시간 서비스 순위 조절 방법을 설명하는 도면이다.
도 6은 메시지 프로토콜의 헤더의 구성을 설명하는 도면이다.
도 7 내지 9는 본 발명에 따른 실시간 서비스 순위 조정 과정의 일 실시예를 설명하는 도면이다.
도 2는 도 1의 MEC 장치의 기능적 구성을 설명하는 블록도이다.
도 3은 본 발명에 따른 실시간 서비스 순위 조정 방법을 설명하는 순서도이다.
도 4는 컨테이너 기반의 가상화 서비스를 설명하는 도면이다.
도 5는 본 발명에 따른 운영 환경 실시간 서비스 순위 조절 방법을 설명하는 도면이다.
도 6은 메시지 프로토콜의 헤더의 구성을 설명하는 도면이다.
도 7 내지 9는 본 발명에 따른 실시간 서비스 순위 조정 과정의 일 실시예를 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
쿠버네티스(Kubernetes)는 대규모 컨테이너식 애플리케이션을 배포하고 관리할 수 있도록 지원하는 오픈 소스 소프트웨어에 해당할 수 있다. 쿠버네티스는 아마존 EC2 컴퓨팅 인스턴스의 클러스터를 관리하고 배포, 유지 관리 및 규모 조정의 프로세스들을 통해 이러한 인스턴스에서 컨테이너를 실행할 수 있다. 즉, 쿠버네티스는 컨테이너 기반의 가상화 기능을 효율적으로 관리하기 위한 용도로 사용될 수 있으며, 쿠버네티스를 사용하면 온프레미스(On-premise)와 클라우드(Cloud)에서 같은 도구 세트를 사용하여 원하는 유형의 컨테이너식 애플리케이션을 실행할 수 있다.
쿠버네티스 클러스터는 컨테이너를 실행하는 EC2 컴퓨팅 인스턴스의 논리적 그룹에 해당할 수 있다. 클러스터는 컨트롤 플레인(컨테이너가 언제, 어떻게, 어디에서 실행되는지 제어하는 인스턴스)과 데이터 플레인(컨테이너가 실행되는 인스턴스)으로 구성될 수 있다. 따라서, 쿠버네티스를 통해 컨테이너 또는 서비스를 실행하기 전에 클러스터를 정의할 필요가 있다.
쿠버네티스 노드는 쿠버네티스 클러스터의 일부인 단일 컴퓨팅 인스턴스(가상 머신)에 해당할 수 있다. 인스턴스는 마스터 노드(master node)와 워커 노드(worker node)의 두 가지 유형을 포함할 수 있다. 마스터 노드는 쿠버네티스 API 서버를 호스팅할 수 있고, 컨테이너가 언제, 어떻게, 어디에서 실행되는지를 제어할 수 있다. 워커 노드는 컨테이너가 실제로 실행되고 데이터를 처리하는 컴퓨팅 인스턴스에 해당할 수 있다.
쿠버네티스 팟(POD)은 하나 이상의 컨테이너의 집합에 해당할 수 있으며, 쿠버네티스가 컴퓨팅 인스턴스에서 컨테이너를 실행하는 방법에 해당할 수 있다. 팟(POD)은 컨테이너와 컨테이너가 어떻게 실행되고, 네트워킹되고, 저장되어야 하는지에 대한 정보를 포함할 수 있다. 팟(POD)은 단일 컨테이너로 구성될 수 있고, 항상 함께 실행되는 다수의 컨테이너들로 구성될 수도 있다. 만약 단일 컨테이너를 실행하는 경우라면 팟(POD)을 실행 컨테이너로 간주할 수 있다.
도 1은 본 발명에 따른 멀티엑세스 엣지 컴퓨팅 시스템을 설명하는 개념도이다.
도 1을 참조하면, 멀티엑세스 엣지 컴퓨팅 시스템(100)은 사용자 단말(110), MEC 장치(130) 및 데이터베이스(150)를 포함할 수 있다.
사용자 단말(110)은 가상화 서비스를 이용할 수 있는 컴퓨팅 장치에 해당할 수 있다. 사용자 단말(110)은 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 MEC 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 MEC 장치(130)와 동시에 연결될 수 있다. 또한, 사용자 단말(110)은 MEC 장치(130)에 접속하여 관련 서비스를 이용할 수 있는 전용 프로그램 또는 어플리케이션을 설치하여 실행할 수 있다.
MEC(Multi-Access Edge Computing) 장치(130)는 가상화 서비스를 제공할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. MEC 장치(130)는 사용자 단말(110)과 유선 네트워크 또는 블루투스, WiFi 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 송·수신할 수 있다. 또한, MEC 장치(130)는 추가 기능을 제공하기 위하여 외부 시스템(도 1에 미도시함)과 연동하여 동작할 수 있다.
데이터베이스(150)는 MEC 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 사용자 계정에 관한 데이터를 저장할 수 있고, 가상화에 필요한 다양한 자원 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, MEC 장치(130)가 실시간 서비스 순위 조정에 관한 동작을 수행하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.
도 2는 도 1의 MEC 장치의 기능적 구성을 설명하는 블록도이다.
도 2를 참조하면, MEC 장치(130)는 서비스 정의부(210), 팟 정의부(220), 서비스 구성부(230), 서비스 조정부(240), 서비스 관리부(250) 및 제어부(260)를 포함할 수 있다.
서비스 정의부(210)는 컨테이너 기반의 가상화 서비스를 구성하는 복수의 단위 서비스들을 정의할 수 있다. 즉, 복수의 단위 서비스들이 모여 하나의 가상화 서비스를 구현할 수 있으며, 서비스 정의부(210)는 서비스 관리자의 선택에 따라 복수의 단위 서비스들을 정의할 수 있다. 복수의 단위 서비스들로 구성되는 가상화 서비스는 가상화된 컨테이너에서 실행되어 제공될 수 있으며, 각 단위 서비스는 독립된 팟(POD)들을 통해 제공될 수 있다. 예를 들어, 가상화 서비스는 클라우드 기반의 가상화된 IT 자원을 서비스로 제공하는 것에 해당할 수 있고, 가상화되어 제공되는 IT 자원은 서버, 플랫폼, 소프트웨어 등을 포함할 수 있다.
팟 정의부(220)는 복수의 단위 서비스들 각각을 독립적으로 수행하는 복수의 팟(POD)들을 정의할 수 있다. 팟 정의부(220)는 서비스 정의부(210)에 의해 정의된 복수의 단위 서비스들을 기초로 해당 단위 서비스를 독립적으로 담당하는 복수의 팟(POD)들을 구체적으로 정의할 수 있다. 예를 들어, 단위 서비스는 보안, 인증, 갱신 등을 포함할 수 있고, 팟 정의부(220)는 보안 검사를 담당하는 팟, 인증 검사를 담당하는 팟, 정보 갱신을 담당하는 팟 등을 정의할 수 있다.
일 실시예에서, 팟 정의부(220)는 동일한 단위 서비스에 대해 적어도 하나의 팟(POD)을 정의할 수 있다. 즉, 동일한 기능을 수행하는 복수의 팟(POD)들이 생성될 수 있으며, 해당 복수의 팟(POD)들은 순차적 또는 병렬적으로 동작하도록 구성될 수 있다.
서비스 구성부(230)는 가상화 서비스의 특성을 고려하여 복수의 단위 서비스들에 대한 서비스 순위를 결정하고 해당 서비스 순위에 따라 복수의 팟들을 배치할 수 있다. 일반적인 가상화 시스템에서 서비스 순서는 Web, Was 및 DB 순으로 배치될 수 있으며, DB의 경우 선택적으로 적용될 수 있다. 서비스 구성부(230)는 서비스의 특성, 즉 목적, 용도 및 내용에 따라 단위 서비스들의 순서와 연결 관계를 설정할 수 있으며, 각 단위 서비스에 대한 서비스 프로파일을 생성할 수 있다. 또한, 서비스 구성부(230)는 서비스 프로파일에 따라 단위 서비스에 대응되는 팟(POD)을 생성하여 배치할 수 있다.
서비스 조정부(240)는 가상화 서비스의 제공 과정에서 사용자 접속 추세에 따라 복수의 단위 서비스들의 서비스 순위를 실시간 조정할 수 있다. 즉, 서비스 조정부(240)는 사용자들의 서비스 이용 현황을 모니터링할 수 있고, 특정 단위 서비스에 부하가 집중되면 이를 분산시켜 전체 시스템의 부하를 조절하도록 동작할 수 있다. 이때, 단위 서비스에 대한 부하는 다양한 서비스 메트릭을 통해 측정될 수 있으며, 서비스 조정부(240)는 서비스의 내용, 목적 및 용도에 따라 시스템 부하에 영향이 큰 메트릭을 결정하고, 해당 메트릭을 중심으로 서비스 순위 조정에 관한 동작을 처리할 수 있다.
일 실시예에서, 서비스 조정부(240)는 모니터링을 수행하는 별도의 모니터링 서버로 구현될 수 있으며, 이 경우 MEC 장치(130)와 연동하여 동작할 수 있다. 즉, MEC 장치(130)는 서비스 조정부(240)에서 수집한 모니터링 정보를 수신하여 서비스 순위를 조정하도록 구현될 수 있다.
일 실시예에서, 서비스 조정부(240)는 모니터링 결과에 따라 팟 정의부(220)에 의해 정의되고 동일한 단위 서비스 제공을 위한 복수의 팟들을 선택적으로 활용할 수 있다. 즉, 서비스 부하가 큰 단위 서비스에 대해 복수의 팟들을 병렬적으로 동작시킬 수 있으며, 필요에 따라 복수의 팟들에 대한 부하 분산 동작을 수행할 수도 있다.
일 실시예에서, 서비스 조정부(240)는 서비스 제공의 과정에서 각 단위 서비스의 메시지 부하 추세에 따라 서비스 순위를 조정할 수 있다. 서비스 조정부(240)는 해당 단위 서비스를 처리하는 과정에서 메시지 처리에 따른 부하를 기초로 서비스 순위를 동적으로 조정할 수 있다. 예를 들어, 쿠버네티스 기반의 컨테이너 환경은 다이어미터(diameter) 프로토콜을 이용하여 메시지들에 대한 요청과 응답을 처리할 수 있다. 서비스 조정부(240)는 단위 서비스를 수행하는 과정에서 메시지 요청과 응답에 따른 통계적 정보를 이용하여 단위 서비스에 대한 부하를 측정할 수 있고, 이를 비교 분석하여 서비스 순위를 결정할 수 있다.
일 실시예에서, 서비스 조정부(240)는 서비스 제공의 과정에서 특정 기간 동안 프로토콜(protocol) 메시지의 통계값을 산출할 수 있다. 예를 들어, 서비스 조정부(240)는 다이어미터 프로토콜에 따른 메시지 처리 과정에서 다이어미터 헤더(diameter header)를 통해 메시지 실행 결과에 관한 정보를 수집할 수 있고, 단위 기간(예를 들어, 분 단위, 시간 단위, 일 단위 등) 동안 수집된 데이터들로부터 유효한 통계 정보를 획득할 수 있다. 이렇게 생성된 통계 정보는 서비스 순위 조정 과정에서 유효 파라미터로 활용도리 수 있다.
일 실시예에서, 서비스 조정부(240)는 프로토콜 메시지의 요청과 응답 과정에서 발생하는 실패 이유들의 빈도 분포를 기초로 서비스 순위를 조정할 수 있다. 예를 들어, 다이어미터 프로토콜은 메시지 처리에 따른 처리 결과를 파라미터 정보로서 제공할 수 있다. 특히, 프로토콜 헤더는 메시치 처리와 연관된 성공(success)과 실패(fail) 유무, 실패에 따른 실패 이유(fail reason) 등을 포함할 수 있으며, 서비스 조정부(240)는 헤더를 통해 단위 기간 동안 메시지 처리 결과에 대한 정보를 수집할 수 있다. 서비스 조정부(240)는 메시지 처리에 실패한 경우에 있어서, 실패의 구체적 이유들 각각에 대한 빈도수를 산출할 수 있고, 해당 빈도수 분포를 기초로 서비스 순위를 조정할 수 있다.
일 실시예에서, 서비스 조정부(240)는 실패 이유들을 단위 서비스 별로 분류하고, 단위 서비스 별로 실패 이유들의 통계값을 합산하며, 합산 결과에 따라 복수의 단위 서비스들을 정렬하고, 정렬 순서에 따라 서비스 순위를 결정할 수 있다. 메시지에 관한 실패 이유는 특정 단위 서비스와 연관될 수 있고, 서비스 조정부(240)는 수집된 실패 이유들에 관해 연관된 단위 서비스 별로 분류할 수 있다. 또한, 서비스 조정부(240)는 분류된 단위 서비스 별로 실패 이유들의 통계값을 합산하여 메시지 처리 오류에 대한 발생율에 따라 단위 서비스들을 정렬시킬 수 있다. 결과적으로, 서비스 조정부(240)는 기 설정된 단위 시간 동안 오류 발생율이 높은 단위 서비스의 경우 서비스 부하로 인해 오류 발생 가능성이 높은 것으로 간주하여 해당 단위 서비스의 우선순위를 강제적으로 낮출 수 있다.
일 실시예에서, 서비스 조정부(240)는 복수의 팟들 중 사용자 접속 추세와 연관되는 기능을 담당하는 후보 팟들을 결정할 수 있다. 서비스 조정부(240)는 사용자 접속 추세를 반영하여 단위 서비스들의 우선순위를 조절할 수 있으며, 특히 사용자 접속 추세와 연관성 높은 단위 서비스들을 조정 대상으로 결정하여 선택적인 우선순위 조정을 수행할 수도 있다. 즉, 서비스 조정부(240)는 전체 서비스 부하에 영향을 주는 팟들을 후보 팟들로 선정하여 해당 후보 팟들에 대한 서비스 순위 조정을 적응적으로 수행할 수 있다.
서비스 관리부(250)는 서비스 순위의 실시간 조정에 따라 복수의 팟들을 재배치할 수 있다. 즉, 서비스 조정부(240)에 의해 서비스 순위는 주기적 또는 실시간으로 변경될 수 있고, 서비스 관리부(250)는 조정된 서비스 순위에 따라 단위 서비스들의 동작 순서를 재배치할 수 있다. 이때, 서비스 관리부(250)는 이미 진행 중인 서비스에 대해서는 기존의 서비스 프로세스에 따라 처리할 수 있으며, 새롭게 요청된 서비스에 대해서만 갱신된 서비스 프로세스를 적용하여 처리할 수 있다. 이를 위해서, 서비스 관리부(250)는 서비스가 조정하는 동안 새롭게 요청된 서비스를 서비스 큐에 입력할 수 있고, 서비스의 순위 조정이 완료될 때까지 서비스 큐의 동작을 대기시킬 수 있다.
일 실시예에서, 서비스 관리부(250)는 서비스 조정부(240)에 의해 선정된 후보 팟들을 대상으로 재배치를 수행할 수 있다. 즉, 서비스 관리부(250)는 전체 단위 서비스들 중 현재 서비스 부하에 가장 많은 영향을 주는 후보 팟들을 대상으로 재배치 연산을 집중적으로 수행하도록 동작할 수 있다. 후보 팟들은 서비스 부하와의 연관성을 기초로 서비스 조정부(240)에 의해 결정될 수 있다. 이때, 후보 팟들은 재배치 연산을 위해 특정 기능을 처리하는 연속된 일련의 팟들에 해당할 수 있으며, 재배치 연산을 수행하더라도 전체 서비스 자체는 유효하게 동작 가능한 것을 전제로 서비스 조정부(240)에 의해 선정될 수 있다.
일 실시예에서, 서비스 관리부(250)는 복수의 팟들 중 재배치에 따라 동작 순서가 변경되는 제1 팟들과 변경되지 않는 제2 팟들을 결정하고, 제1 팟들 각각에 대응되는 제3 팟들을 생성하며, 제2 팟들과 제3 팟들을 기초로 재배치를 수행하고, 제1 팟들의 동작을 제3 팟들로 대체할 수 있다. 복수의 팟들을 대상으로 서비스 순위 조정에 따른 재배치가 수행되는 경우에 있어서, 서비스 관리부(250)는 서비스 순위에 따른 동작 순서의 변경 여부를 각 팟들에 대해 결정할 수 있으며, 서비스 순위의 조정에도 불구하고 동작 순서가 기존과 동일한 팟들을 제1 팟들로 결정하고 나머지 팟들을 제2 팟들로 결정할 수 있다.
또한, 서비스 관리부(250)는 제1 팟들로 분류된 팟들에 대응되는 제3 팟들을 가용 자원을 이용하여 새롭게 구성할 수 있다. 새롭게 구성된 제3 팟들은 제1 팟들을 대체하는데 사용될 수 있다. 즉, 서비스 관리부(250)는 새롭게 생성된 제3 팟들과 기존의 제2 팟들을 기초로 서비스 순위 조정 결과에 따른 재배치 동작을 수행할 수 있다. 따라서, 제1 팟들과 제2 팟들로 구성된 기존의 서비스 프로세스가 유지되면서, 제3 팟들과 제2 팟들로 구성된 새로운 서비스 프로세스가 생성될 수 있다.
또한, 서비스 관리부(250)는 이미 진행 중인 서비스 요청에 대해서는 기존 서비스 프로세스를 통해 처리하는 동시에 새로운 서비스 요청에 대해서는 별도의 대기 없이도 새로운 서비스 프로세스를 통해 처리하여 서비스 순위 조정에 따른 서비스 지연을 방지하고 서비스의 처리의 실시간성을 보장할 수 있다.
제어부(260)는 MEC 장치(130)의 전체적인 동작을 제어하고, 서비스 정의부(210), 팟 정의부(220), 서비스 구성부(230), 서비스 조정부(240) 및 서비스 관리부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 3은 본 발명에 따른 실시간 서비스 순위 조정 방법을 설명하는 순서도이다.
도 3을 참조하면, MEC 장치(130)는 서비스 정의부(210)를 통해 컨테이너 기반의 가상화 서비스를 구성하는 복수의 단위 서비스들을 정의할 수 있다(단계 S310). MEC 장치(130)는 팟 정의부(220)를 통해 복수의 단위 서비스들 각각을 독립적으로 수행하는 복수의 팟(POD)들을 정의할 수 있다(단계 S330). MEC 장치(130)는 서비스 구성부(230)를 통해 가상화 서비스의 특성을 고려하여 복수의 단위 서비스들에 대한 서비스 순위를 결정하고 해당 서비스 순위에 따라 복수의 팟들을 배치할 수 있다(단계 S350).
또한, MEC 장치(130)는 서비스 조정부(240)를 통해 가상화 서비스의 제공 과정에서 사용자 접속 추세에 따라 복수의 단위 서비스들의 서비스 순위를 실시간 조정할 수 있다(단계 S370). MEC 장치(130)는 서비스 관리부(250)를 통해 실시간 조정에 따라 복수의 팟들을 재배치할 수 있다(단계 S390). 이를 통해, 본 발명에 따른 MEC 장치(130)는 가상화 서비스 과정에서 서비스 순위를 동적으로 조정하여 부하 분산 및 운영 효율화를 제공할 수 있다.
도 4는 컨테이너 기반의 가상화 서비스를 설명하는 도면이다.
도 4를 참조하면, 컨테이너 기반의 가상화 서비스는 복수의 팟들을 통해 서비스 프로세스를 구축할 수 있다. 이때, 팟(POD)은 하나 이상의 컨테이너 집합으로 정의될 수 있으며, 전체 서비스 프로세스는 컨테이너를 통해 가상화 될 수 있다. 예를 들어, 컨테이너 기반의 가상화 서비스는 쿠버네티스(k8s)를 통해 효율적으로 관리될 수 있다.
도 4에서, 사용자(user)는 사용자 단말(110)을 통해 가상화 서비스를 이용할 수 있으며, MEC 장치(130)는 컨테이너 기반의 가상화 서비스를 제공할 수 있다. 즉, 사용자는 웹(WEB) 서버를 통해 가상화 서비스에 접근할 수 있고, 웹 서버는 사용자에 의해 입력된 요청에 대해 WAS 서버에 질의하여 응답을 획득한 후 사용자에게 전달할 수 있다.
한편, WAS 서버는 사용자 질의에 대한 응답 생성을 위해 선택적으로 DB 서버와 연동하여 동작할 수 있다. 이때, 사용자에게 제공되는 컨텐츠는 웹 서버, WAS 서버 및 DB 서버 간의 연동에 의해 생성될 수 있으며, 해당 서버들은 MEC 장치(130)에서 가상화 될 수 있다. 즉, 웹 서버(POD#1), WAS 서버(POD#2), DB 서버(POD#3)는 팟(POD)으로 구현되어 동작할 수 있으며, 물리적인 서버(physical server)에 의해 동작하는 대신 컨테이너 가상화로 구성된 서버가 각각의 동작을 수행할 수 있다. MEC 장치(130)는 팟(POD)의 생성 및 동작을 관리하여 사용자에게 가상화된 서비스를 제공할 수 있다.
도 5는 본 발명에 따른 운영 환경 실시간 서비스 순위 조절 방법을 설명하는 도면이다.
도 5를 참조하면, MEC 장치(130)는 가상화 서비스를 제공하기 위하여 각 단위 서비스를 독립적으로 처리하는 팟(POD)들을 생성하여 관리할 수 있다. MEC 장치(130)는 서비스 특성(또는 비즈니스 특성)을 고려하여 팟(POD)들의 배치(노드 순서)를 결정할 수 있으며, 팟들의 배치에 따라 서비스 프로세스가 결정될 수 있다.
또한, MEC 장치(130)는 실시간 서비스 순위 조정을 통해 시스템의 부하 분산 및 운영 효율화를 제공할 수 있다. 그림 (a) 및 (b)의 경우, 팟(POD)들은 각각 다음의 기능을 수행한다고 가정할 수 있다. POD #1은 클라이언트, 메시지 종류 등 보안 정보 처리를 담당할 수 있다. POD #2는 단말 및 사용자 등의 인증 처리를 담당할 수 있다. POD #3은 정보 갱신(또는 업데이트) 처리를 담당할 수 있다. MEC 장치(130)는 사용자 접속 추세에 따라 실시간 서비스 순위를 동적으로 조절할 수 있다. 그림 (a)의 경우 보안 검사를 우선 기능으로 운영하는 경우의 서비스 플로우에 해당할 수 있고, 그림 (b)의 경우 인증 검사를 우선 기능으로 운영하는 경우의 서비스 플로우에 해당할 수 있다. 즉, MEC 장치(130)는 서비스 상황, 예를 들어 서비스 단계별 메시지 부하 추세에 따라 동적으로 서비스 순위를 조절함으로써 서비스의 효율적인 운영을 지원할 수 있다.
도 6은 메시지 프로토콜의 헤더의 구성을 설명하는 도면이다.
도 6을 참조하면, 다이어미터 프로토콜(Diameter Protocol)의 헤더(Header)(610)를 확인할 수 있다. 여기에서, 다이어미터 프로토콜은 인증, 인가 및 과금(Authentication, Authorization and Accounting) AAA 및 자원 제어를 수행하기 위해 사용하는 정책 프로토콜에 해당할 수 있다. 다이어미터 프로토콜은 RADIUS 프로토콜의 개선된 버전에 해당할 수 있다.
이때, 패킷은 다이어미터 헤더와 다이어미터 메시지와 관련된 정보를 캡슐화하기 위한 다양한 개수의 속성값 쌍(Attribute-Value Pairs, AVPs)으로 구성될 수 있다. 버전(Version)은 프로토콜의 버전에 해당할 수 있고, 메시지 길이(Message Length)는 헤더 필드와 패딩된 AVP를 포함한 다이어미터 메시지의 길이에 해당할 수 있다.
MEC 장치(130)는 서비스 제공 과정에서 다이어미터 프로토콜을 통해 메시지를 처리할 수 있으며, 단위 서비스(또는 팟)에 의해 처리되는 메시지에 관한 정보를 모니터링 할 수 있다. MEC 장치(130)는 프로토콜을 통해 수집되는 메시지 부하 정보를 기초로 서비스 순위에 관한 조정 연산을 처리할 수 있다.
도 7 내지 9는 본 발명에 따른 실시간 서비스 순위 조정 과정의 일 실시예를 설명하는 도면이다.
도 7 내지 9를 참조하면, MEC 장치(130)는 k8s Cloud를 구축하여 가상화 서비스를 제공할 수 있으며, 구체적으로 다이어미터(Diameter) AAA를 기초로 외부 연동을 담당하는 팟(POD)들을 구성할 수 있다. 즉, MEC 장치(130)는 외부 네임스페이스(External Namespace)(710)로 POD#1 및 POD#2를 구성하고, 홈 네임스페이스(Home Namespace)(730)로 POD#3을 구성할 수 있다. 즉, POD#1, POD#2 및 POD#3은 상호 연동을 통해 인증, 권한 및 과금 기능을 수행하도록 구성될 수 있다. 구체적으로, POD#1은 프로토콜 버전 확인 및 클라이언트(Client) 확인을 수행할 수 있고, POD#2는 필수 체크(Mandatory Check) 및 값 체크(Value Check)를 수행할 수 있다. 또한, POD#3은 인증 권한 및 과금 기능을 수행할 수 있다.
도 8에서, MEC 장치(130)는 다이어미터 AAA를 통해 특정 기간 동안 서비스 부하에 관한 정보를 수집할 수 있다. 즉, 다이어미터 AAA는 메시지 처리 정보로서 성공(Success), 실패(Fail) 및 실패 이유(Fail Reasons) (810)에 관한 통계를 포함할 수 있다. MEC 장치(130)는 메시지 실패에 관한 실패 이유(810)들의 통계 정보를 기초로 단위 서비스를 담당하는 팟들의 우선순위를 조정할 수 있다. 이를 위해, MEC 장치(130)는 실패 이유(810)들을 연관된 팟(POD) 별로 분류할 수 있고, 실패 이유(810)들에 관한 통계값을 팟(POD) 별로 통합할 수 있다. MEC 장치(130)는 팟(POD)별 통계값을 기초로 우선순위를 결정할 수 있다.
도 8의 경우, POD#1의 통계 영역(830)의 통계값이 POD#2의 통계 영역(850)의 통계값보다 더 큰 점을 고려하여 MEC 장치(130)는 POD#1의 순위를 POD#2의 순위보다 더 높게 설정할 수 있다. 이를 통해 POD#1이 우선 처리하도록 하여 POD#2 및 POD#3을 안정화시킬 수 있다. 또한, 도 9의 경우, POD#1의 통계 영역(830)의 통계값이 POD#2의 통계 영역(850)의 통계값보다 더 작은 점을 고려하여 MEC 장치(130)는 POD#1의 순위를 POD#2의 순위보다 더 낮게 설정할 수 있다. 이를 통해 POD#2가 우선 처리하도록 하여 POD#1 및 POD#3을 안정화시킬 수 있다.
따라서, 본 발명에 따른 MEC 장치(130)는 단위 서비스별 메시지 처리의 실패 이유(Fail Reason) 추이에 따라 실시간 서비스 순위를 조정할 수 있다. 결과적으로, 메시지 처리량은 서비스 순위 조정 전후로 동일할 수 있지만, 전체 시스템 부하는 감소할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 멀티엑세스 엣지 컴퓨팅 시스템
110: 사용자 단말 130: MEC 장치
150: 데이터베이스
210: 서비스 정의부 220: 팟 정의부
230: 서비스 구성부 240: 서비스 조정부
250: 서비스 관리부 260: 제어부
610: 헤더
710: 외부 네임스페이스 730: 홈 네임스페이스
810: 실패 이유 830: POD#1의 통계 영역
850: POD#2의 통계 영역
110: 사용자 단말 130: MEC 장치
150: 데이터베이스
210: 서비스 정의부 220: 팟 정의부
230: 서비스 구성부 240: 서비스 조정부
250: 서비스 관리부 260: 제어부
610: 헤더
710: 외부 네임스페이스 730: 홈 네임스페이스
810: 실패 이유 830: POD#1의 통계 영역
850: POD#2의 통계 영역
Claims (8)
- 컨테이너 기반의 가상화 서비스를 구성하는 복수의 단위 서비스들을 정의하는 단계;
상기 복수의 단위 서비스들 각각을 독립적으로 수행하는 복수의 팟(POD)들을 정의하는 단계;
상기 가상화 서비스의 특성을 고려하여 상기 복수의 단위 서비스들에 대한 서비스 순위를 결정하고 해당 서비스 순위에 따라 상기 복수의 팟들을 배치하는 단계;
상기 가상화 서비스의 제공 과정에서 사용자 접속 추세에 따라 상기 복수의 단위 서비스들의 서비스 순위를 실시간 조정하는 단계; 및
상기 실시간 조정에 따라 상기 복수의 팟들을 재배치하는 단계를 포함하는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법.
- 제1항에 있어서, 상기 실시간 조정하는 단계는
상기 서비스 제공의 과정에서 각 단위 서비스의 메시지 부하 추세에 따라 상기 서비스 순위를 조정하는 단계를 포함하는 것을 특징으로 하는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법.
- 제2항에 있어서, 상기 실시간 조정하는 단계는
상기 서비스 제공의 과정에서 특정 기간 동안 프로토콜(protocol) 메시지의 통계값을 산출하는 단계를 포함하는 것을 특징으로 하는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법.
- 제3항에 있어서, 상기 실시간 조정하는 단계는
상기 프로토콜 메시지의 요청과 응답 과정에서 발생하는 실패 이유들의 빈도 분포를 기초로 상기 서비스 순위를 조정하는 단계를 포함하는 것을 특징으로 하는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법.
- 제4항에 있어서, 상기 실시간 조정하는 단계는
상기 실패 이유들을 상기 단위 서비스 별로 분류하는 단계;
상기 단위 서비스 별로 상기 실패 이유들의 통계값을 합산하는 단계;
상기 합산 결과에 따라 상기 복수의 단위 서비스들을 정렬하는 단계; 및
상기 정렬 순서에 따라 상기 서비스 순위를 결정하는 단계를 포함하는 것을 특징으로 하는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법.
- 제1항에 있어서,
상기 실시간 조정하는 단계는 상기 복수의 팟들 중 상기 사용자 접속 추세와 연관되는 기능을 담당하는 후보 팟들을 결정하는 단계; 및
상기 재배치하는 단계는 상기 후보 팟들을 대상으로 상기 재배치를 수행하는 단계를 포함하는 것을 특징으로 하는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법.
- 제1항에 있어서, 상기 재배치하는 단계는
상기 복수의 팟들 중 상기 재배치에 따라 동작 순서가 변경되는 제1 팟들과 변경되지 않는 제2 팟들을 결정하는 단계;
상기 제1 팟들 각각에 대응되는 제3 팟들을 생성하는 단계;
상기 제2 팟들과 상기 제3 팟들을 기초로 상기 재배치를 수행하는 단계; 및
상기 제1 팟들의 동작을 상기 제3 팟들로 대체하는 단계를 포함하는 것을 특징으로 하는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법.
- 가상화 기반의 서비스 제공을 위해 복수의 단위 서비스들을 정의하는 서비스 정의부;
상기 복수의 단위 서비스들 각각을 독립적으로 수행하는 복수의 팟(POD)들을 정의하는 팟 정의부;
서비스 특성을 고려하여 상기 복수의 단위 서비스들에 대한 서비스 순위를 결정하여 상기 복수의 팟들을 배치하는 서비스 구성부;
상기 서비스 제공의 과정에서 사용자 접속 추세를 모니터링하여 상기 복수의 단위 서비스들의 서비스 순위를 실시간 조정하는 서비스 조정부; 및
상기 실시간 조정에 따라 상기 복수의 팟들을 재배치하는 서비스 관리부를 포함하는 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200168019A KR20220078837A (ko) | 2020-12-04 | 2020-12-04 | 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200168019A KR20220078837A (ko) | 2020-12-04 | 2020-12-04 | 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220078837A true KR20220078837A (ko) | 2022-06-13 |
Family
ID=81984001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200168019A KR20220078837A (ko) | 2020-12-04 | 2020-12-04 | 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220078837A (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101807806B1 (ko) | 2017-05-02 | 2017-12-11 | 나무기술 주식회사 | 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법 |
-
2020
- 2020-12-04 KR KR1020200168019A patent/KR20220078837A/ko not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101807806B1 (ko) | 2017-05-02 | 2017-12-11 | 나무기술 주식회사 | 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10895984B2 (en) | Fabric attached storage | |
Xu et al. | A survey on load balancing algorithms for virtual machines placement in cloud computing | |
Gill et al. | Resource provisioning based scheduling framework for execution of heterogeneous and clustered workloads in clouds: from fundamental to autonomic offering | |
Mai et al. | Netagg: Using middleboxes for application-specific on-path aggregation in data centres | |
EP3739848B1 (en) | Systems and methods for identifying a context of an endpoint accessing a plurality of microservices | |
US9807159B2 (en) | Allocation of virtual machines in datacenters | |
US8949847B2 (en) | Apparatus and method for managing resources in cluster computing environment | |
Ferdaus et al. | An algorithm for network and data-aware placement of multi-tier applications in cloud data centers | |
Huang et al. | Maximizing throughput of delay-sensitive NFV-enabled request admissions via virtualized network function placement | |
JP2007518169A (ja) | 準最適な最適とはいえないグリッド環境内におけるアプリケーションの動作の維持 | |
Janakiraman et al. | Improved artificial bee colony using monarchy butterfly optimization algorithm for load balancing (IABC-MBOA-LB) in cloud environments | |
Diallo et al. | AutoMigrate: a framework for developing intelligent, self-managing cloud services with maximum availability | |
Attaoui et al. | Multi-criteria virtual machine placement in cloud computing environments: a literature review | |
Remesh Babu et al. | Service‐level agreement–aware scheduling and load balancing of tasks in cloud | |
Saravanakumar et al. | An Efficient On-Demand Virtual Machine Migration in Cloud Using Common Deployment Model. | |
Ludwig et al. | Optimizing multi‐tier application performance with interference and affinity‐aware placement algorithms | |
Billingsley et al. | Parallel algorithms for the multiobjective virtual network function placement problem | |
EP3970346B1 (en) | Automatically replicate api calls to separate data centers | |
Vijayalakshmi et al. | Investigations on job scheduling algorithms in cloud computing | |
KR20220078837A (ko) | 멀티엑세스 엣지 컴퓨팅 기반의 실시간 서비스 순위 조정 방법 및 장치 | |
Wei et al. | Towards multi-resource physical machine provisioning for IaaS clouds | |
Shi et al. | Developing an optimized application hosting framework in clouds | |
Pham et al. | Hosting virtual machines on a cloud datacenter: A matching theoretic approach | |
Padmavathy et al. | An efficient virtual machine allocation using single stage weapon target assignment model in cloud software‐defined network environment | |
KR20150095015A (ko) | 가상 서버를 관리하는 장치 및 이를 이용하는 부하 분산 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E601 | Decision to refuse application |