KR20240043538A - 유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템 - Google Patents

유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템 Download PDF

Info

Publication number
KR20240043538A
KR20240043538A KR1020220122756A KR20220122756A KR20240043538A KR 20240043538 A KR20240043538 A KR 20240043538A KR 1020220122756 A KR1020220122756 A KR 1020220122756A KR 20220122756 A KR20220122756 A KR 20220122756A KR 20240043538 A KR20240043538 A KR 20240043538A
Authority
KR
South Korea
Prior art keywords
node
cloud
securing
user
data
Prior art date
Application number
KR1020220122756A
Other languages
English (en)
Inventor
신용태
김동완
배수환
최유준
홍두표
김진석
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Priority to KR1020220122756A priority Critical patent/KR20240043538A/ko
Publication of KR20240043538A publication Critical patent/KR20240043538A/ko

Links

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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 컴퓨팅 자원 확보 시스템에서의 클라우드 기반의 컴퓨팅 자원 확보 방법에 관한 것으로, 클라우드 서비스를 사용하고 유휴 자원을 제공하는 사용자 노드로부터 데이터를 수집하는 단계; 상기 수집된 데이터에 기초하여 상기 사용자 노드의 사용 패턴을 분석하는 단계; 상기 사용 패턴의 분석 결과에 기초해 상기 클라우드 서비스의 연속성 규격을 만족시킬 수 있는 상기 사용자 노드끼리 그룹화하는 단계; 상기 그룹화된 사용자 노드의 가용성을 실시간 점검하는 단계; 및 상기 점검에 따라 적어도 하나의 문제 노드가 발생할 경우, 상기 클라우드 서비스의 연속성 규격을 만족시키도록 대체 노드를 확보하는 단계를 포함한다. 이에 의해, 신뢰할 수 있는 컴퓨팅 자원으로써 유휴 상태로 낭비되고 있는 유휴 컴퓨팅 자원을 효율적으로 활용하고, 클라우드 서비스의 연속성을 확보할 수 있다.

Description

유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템{A METHOD FOR SECURING A CLOUD-BASED COMPUTING RESOURCE TO EFFICIENTLY UTILIZE IDLE RESOURCES, AND A SYSTEM FOR SECURING A RECORDING MEDIUM AND COMPUTING RESOURCE FOR EXECUTING THE METHOD}
본 발명은 유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템에 관한 것으로, 보다 상세하게는 유휴 자원으로써 낭비되고 있는 유휴 컴퓨팅 자원을 효율적으로 활용할 수 있는 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템에 관한 것이다.
창조경제연구회(Korea Creative Economy Research Network, KCERN)의 35차 포럼 보고서에 의하면 오늘날 빅데이터와 인공지능의 중요성이 커짐에 따라 클라우드의 역할이 매우 중요해지고 있다.
이는 빅데이터의 수집, 저장, 분석 그리고 인공지능 개발에 필요한 컴퓨팅 자원을 개별 기업이 별도로 확보하기 어렵기 때문이다.
또한 한국산업은행의 조사에 따르면, 컴퓨팅 자원을 확보해도 개별 서버의 자원 사용률은 평균 10~15%에 불과한 것으로 보고되었다. 이처럼 고비용을 투자하여 확보한 하드웨어와 소프트웨어가 대부분의 시간을 유휴 상태로 대기하는 것은 IT 리소스(Resource)의 낭비이다. 때문에 유휴 상태인 유휴 컴퓨팅 자원을 효율적으로 활용하기 위해 등장한 것이 가상화(virtualization) 기술이다.
더욱이 유휴 컴퓨팅 자원의 발생은 기업뿐만 아니라 각 개인에게도 나타나는 추세이다. 기술의 발전으로 인해 대중에게 보급된 고성능의 스마트폰, 각 개인이 소유한 고사양의 데스크탑 pc는 소유자의 사용시간 외에는 유휴 컴퓨팅 자원으로써 방치되는 것이다.
근래에는 클라우드 시스템을 효율적으로 설계하고 관리하기 위한 연구 및 논의가 활발히 진행 중이지만, 이는 확보한 IT 리소스를 효율적으로 운영하기 위한 연구일 뿐이다. 이에 클라우드 생태계의 전체적인 인프라 구축의 효율성을 위해 한정된 인프라 자원을 최대한 확보해야 함이 지적되고 있다.
따라서 유휴 상태로 낭비되고 있는 유휴 컴퓨팅 자원을 효율적으로 활용하기 위한 방안이 필요하다.
또한 클라우드가 제공하는 서비스는 SLA(Service Level Agreement)의 규약을 만족해야 한다. 따라서 클라우드 인프라를 구성하는 디바이스(이하, 노드)는 24시간의 서비스 지속성과 데이터의 무결성을 보장할 필요가 있다.
한국공개특허공보 제10-2018-0098798호
본 발명은 상기와 같은 문제를 해결하기 위해 안출된 것으로, 본 발명의 목적은 신뢰할 수 있는 컴퓨팅 자원으로써 유휴 상태로 낭비되고 있는 유휴 컴퓨팅 자원을 효율적으로 활용하고, 클라우드 서비스의 연속성을 확보할 수 있는 유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 시스템에서의 클라우드 기반의 컴퓨팅 자원 확보 방법은, 클라우드 서비스를 사용하고 유휴 자원을 제공하는 사용자 노드로부터 데이터를 수집하는 단계; 상기 수집된 데이터에 기초하여 상기 사용자 노드의 사용 패턴을 분석하는 단계; 상기 사용 패턴의 분석 결과에 기초해 상기 클라우드 서비스의 연속성 규격을 만족시킬 수 있는 상기 사용자 노드끼리 그룹화하는 단계; 상기 그룹화된 사용자 노드의 가용성을 실시간 점검하는 단계; 및 상기 점검에 따라 적어도 하나의 문제 노드가 발생할 경우, 상기 클라우드 서비스의 연속성 규격을 만족시키도록 대체 노드를 확보하는 단계를 포함할 수 있다.
그리고 상기 대체 노드를 확보하는 단계에서는, 상기 문제 노드가 상기 가용성을 만족하지 않을 경우, 상기 대체 노드를 동일 그룹에서 확보하고, 상기 대체 노드는 전임 단말로부터 상태 정보를 이어받아 릴레이 방식으로 자원을 제공할 수 있다.
또한 상기 문제 노드가 상기 그룹에서 이탈할 경우, 상기 대체 노드를 확보하는 단계는, 상기 사용 패턴의 분석 결과를 로딩하는 단계; 상기 문제 노드와의 물리적 거리 및 연산처리 능력을 기준으로 상기 사용 패턴의 분석 결과를 클러스터링하는 단계; 및 상기 문제 노드와 가장 유사한 특성을 갖는 대체 노드를 결정하는 단계를 포함하고, 상기 대체 노드를 결정하는 단계에서는, 상기 클러스터링한 결과를 기초로 상기 문제 노드와 벡터 거리가 가장 가까운 노드를 상기 대체 노드로 결정할 수 있다.
그리고 상기 그룹에서 이탈한 문제 노드는, 핵심 성과 지표(KPI, Key Performance Indicator)가 임계치 미만으로 하락한 사용자 노드인 경우일 수 있다.
또한 상기 클라우드 서비스의 연속성 규격은, 각 그룹의 상기 사용자 노드의 예상 가용 시간의 총합이 소정의 시간 이상이 되도록 할 수 있다.
그리고 동일 그룹 내의 상기 사용자 노드들은, 동일한 데이터를 공유하여 데이터베이스를 다중화하고 컴퓨팅 자원에 대한 할당 요청에 동일한 프로세스 작업을 수행할 수 있다.
또한 상기 데이터를 수집하는 단계에서는, 상기 사용자 노드의 배터리 상태정보, 네트워크 상태정보, 저장소 상태정보 및 컴퓨팅 파워정보 중 적어도 하나를 상기 데이터로써 수집할 수 있다.
그리고 상기 분석하는 단계 이전에 상기 수집된 데이터를 로그 및 메트릭으로 이루어진 시계열 데이터로 가공하는 단계를 더 포함하고, 상기 분석하는 단계에서는, 시계열 데이터 분석 기법인 ARIMA(Autoregressive Integrated Moving Average) 모델을 사용하여 상기 시계열 데이터로부터 상기 사용 패턴을 분석할 수 있다.
한편 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 컴퓨터로 판독 가능한 기록 매체는, 클라우드 기반의 컴퓨팅 자원 확보 방법을 수행하기 위한 컴퓨터 프로그램이 기록된다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 시스템은, 클라우드 서비스를 사용하고 유휴 자원을 제공하고, 상기 유휴 자원의 가용성을 실시간으로 점검하는 적어도 하나의 사용자 노드로 구성되는 엣지 계층; 상기 사용자 노드로부터 수집된 데이터에 기초하여 상기 사용자 노드의 사용 패턴을 분석하는 클라우드로 구성되는 클라우드 계층; 및 상기 엣지 계층 및 상기 클라우드 계층 사이에 위치하는 적어도 하나 이상의 잉여 노드로 구성되는 포그 계층으로서, 상기 사용자 노드로부터 데이터를 수집하며, 상기 사용 패턴의 분석 결과에 기초해 상기 클라우드 서비스의 연속성 규격을 만족시킬 수 있는 상기 사용자 노드끼리 그룹화하며, 적어도 하나의 문제 노드가 발생할 경우, 상기 클라우드 서비스의 연속성 규격을 만족시키도록 대체 노드를 확보하는 잉여 노드로 구성되는 포그 계층을 포함한다.
그리고 상기 문제 노드가 상기 가용성을 만족하지 않을 경우 상기 포그 계층은, 상기 대체 노드를 동일 그룹에서 확보하고, 상기 대체 노드는 전임 단말로부터 상태 정보를 이어받아 릴레이 형태로 자원을 제공하도록 할 수 있다.
또한 상기 문제 노드가 상기 그룹에서 이탈할 경우 상기 포그 계층은, 상기 사용 패턴의 분석 결과를 로딩하고, 상기 문제 노드와의 물리적 거리 및 연산처리 능력을 기준으로 상기 사용 패턴의 분석 결과를 클러스터링하며, 상기 문제 노드와 가장 유사한 특성을 갖는 대체 노드를 결정하고, 상기 대체 노드를 결정하는 것은, 상기 클러스터링한 결과를 기초로 상기 문제 노드와 벡터 거리가 가장 가까운 노드를 상기 대체 노드로 결정할 수 있다.
그리고 상기 그룹에서 이탈한 문제 노드는, 핵심 성과 지표(KPI, Key Performance Indicator)가 임계치 미만으로 하락한 사용자 노드인 경우일 수 있다.
또한 상기 클라우드 서비스의 연속성 규격은,각 그룹의 상기 사용자 노드의 예상 가용 시간의 총합이 소정의 시간 이상이 되도록 할 수 있다.
그리고 동일 그룹 내의 상기 사용자 노드들은, 동일한 데이터를 공유하여 데이터베이스를 다중화하고 컴퓨팅 자원에 대한 할당 요청에 동일한 프로세스 작업을 수행할 수 있다.
또한 상기 잉여 노드는, 상기 사용자 노드의 배터리 상태정보, 네트워크 상태정보, 저장소 상태정보 및 컴퓨팅 파워정보 중 적어도 하나를 상기 데이터로써 수집할 수 있다.
그리고 상기 잉여 노드는, 상기 수집된 데이터를 로그 및 메트릭으로 이루어진 시계열 데이터로 가공하고, 상기 시계열 데이터를 상기 클라우드 계층으로 전송하며, 상기 클라우드 계층에서는, 시계열 데이터 분석 기법인 ARIMA(Autoregressive Integrated Moving Average) 모델을 사용하여 상기 시계열 데이터로부터 상기 사용 패턴을 분석할 수 있다.
상술한 본 발명의 일측면에 따르면, 유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템을 제공함으로써, 신뢰할 수 있는 컴퓨팅 자원으로써 유휴 상태로 낭비되고 있는 유휴 컴퓨팅 자원을 효율적으로 활용하고, 클라우드 서비스의 연속성을 확보할 수 있다.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 시스템의 구성을 설명하기 도면,
도 2는 본 발명의 일 실시예에 따른 사용자 노드를 설명하기 위한 도면,
도 3은 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 시스템에서 수집하는 데이터를 설명하기 위한 도면,
도 4는 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 시스템에서 수행되는 사용 패턴의 분석 결과를 설명하기 위한 도면,
도 5는 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 시스템에서 수행되는 사용자 노드의 그룹화를 설명하기 위한 도면, 그리고
도 6은 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 방법을 설명하기 위한 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명에 따른 구성요소들은 물리적인 구분이 아니라 기능적인 구분에 의해서 정의되는 구성요소들로써 각각이 수행하는 기능들에 의해서 정의될 수 있다. 각각의 구성요소들은 하드웨어 또는 각각의 기능을 수행하는 프로그램 코드 및 프로세싱 유닛으로 구현될 수 있을 것이며, 두 개 이상의 구성요소의 기능이 하나의 구성요소에 포함되어 구현될 수도 있을 것이다. 따라서 이하의 실시예에서 구성요소에 부여되는 명칭은 각각의 구성요소를 물리적으로 구분하기 위한 것이 아니라 각각의 구성요소가 수행되는 대표적인 기능을 암시하기 위해서 부여된 것이며, 구성요소의 명칭에 의해서 본 발명의 기술적 사상이 한정되지 않는 것임에 유의하여야 한다.
이하에서는 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 시스템(10)의 구성을 설명하기 도면이다.
본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 시스템(10, 이하 시스템)은 신뢰할 수 있는 컴퓨팅 자원으로써 유휴 상태로 낭비되고 있는 유휴 컴퓨팅 자원을 효율적으로 활용하고, 클라우드 서비스의 연속성을 확보하기 위해 마련된다.
이를 위해 시스템(10)은 도 1에 도시된 바와 같이 엣지 계층(Edge layer)(E), 클라우드 계층(Cloud layer)(C) 및 포그 계층(Fog layer)(F)을 포함할 수 있다.
엣지 계층(E), 클라우드 계층(C) 및 포그 계층(F)으로 구성된 본 실시예에 따른 시스템(10)은 모바일 엣지 컴퓨팅(MEC, Mobile Edge Computing)에 기반할 수 있다. 모바일 엣지 컴퓨팅은 클라우드 컴퓨팅, 모바일 컴퓨팅, 무선 네트워크를 결합해 모바일 사용자, 네트워크 운영자 및 클라우드 컴퓨팅 제공 업체에게 풍부한 컴퓨팅 리소스를 제공하는 모바일 클라우드 컴퓨팅의 확장 개념일 수 있다.
다시 말해 본 실시예에 따른 시스템(10)의 모바일 엣지 컴퓨팅은 5G 등 모바일 네트워크에서 IoT의 확산 및 신규 서비스 개발 지원을 위한 엣지 컴퓨팅이 접목된 개념일 수 있다.
또한 본 실시예에 따른 시스템(10)의 기반이 되는 클라우드 스토리지 시스템은 대량의 데이터 저장 및 클라우드 컴퓨팅 처리의 핵심 구성요소로써 스토리지 미들웨어(Middle ware) 시스템과 분산 파일시스템에 네트워크로 연결된 클러스터화로 수 천대의 스토리지 장치들로 구성되어 사용자에게 클라우드 서비스를 제공할 수 있다.
이러한 클라우드 스토리지 시스템은 리소스 자원, 네트워크 장치, 분산파일시스템을 포함하며 태블릿, 스마트폰 등 이기종 장치에서 데이터를 공유하며 쉽고 빠르게 네트워크를 통해 대량의 데이터를 전송하거나 접근할 수 있다.
본 실시예에 따른 시스템(10)에 포함되는 엣지 계층(E)은 클라우드 서비스를 사용하고 유휴 자원을 제공하는 적어도 하나의 사용자 노드(1001 ~ 100n)로 구성될 수 있다.
그리고 사용자 노드(100)는 클라우드 서비스를 이용하는 이용자가 소지한 단말일 수 있다. 이러한 사용자 노드(100)의 예로는 사용자의 태블릿, 스마트폰, 스마트 워치, 노트북 등일 수 있으며, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수도 있다.
또한 사용자 노드(100)는 컴퓨팅 자원 확보 방법을 수행하기 위한 소프트웨어(어플리케이션)가(이) 설치되어 실행될 수 있다.
그리고 컴퓨팅 자원 확보 방법을 수행하기 위한 소프트웨어(어플리케이션)가(이) 설치된 사용자 노드(100)는 도 2에 도시된 바와 같은 구조로 마련될 수 있다.
도 2에 도시된 바와 같이 사용자 노드(100)의 미들웨어(Middle ware)에서는, 모니터링 API(monitoring API)를 통해 사용자 단말의 잔여 배터리, 네트워크 상태를 감시하고, 프로비저닝(provisioning) 대상인 컴퓨팅 자원에 대한 리소스 풀(Resource Pool)을 관리할 수 있다.
그리고 본 발명의 사용자 노드(100)는 클라우드 네트워크에 참여하여 컴퓨팅 자원을 공유하거나 중계 역할을 수행하기 위해 가상화를 수행할 수 있다.
사용자 노드(100)의 가상화를 통해 유휴 자원을 공유하기 위해서는 하드웨어 가상화와 분산 클라우드 구축을 위한 시스템이 필요하다. 도 2는 본 발명의 일 실시예에 따라 하드웨어 가상화와 분산 클라우드 구축을 위한 시스템이 적용된 사용자 노드(100)를 설명하기 위한 도면이다.
보다 구체적으로 후술할 클라우드(300)가 사용자 노드(100)로부터 수집한 데이터에 기초하여 사용 패턴을 분석하고, 사용 패턴에 기초하여 사용자 노드(100)의 가용성을 진단하게 된다.
이후 클라우드(300)에서 수행되는 가용성 진단평가를 통과한 사용자 노드(100)는 하이퍼바이저(Hypervisor)를 통해 저장소(storage), CPU, 메모리(memory) 및 GPU 등의 컴퓨팅 자원을 가상화시킬 수 있다.
그리고 도 2에 도시된 바와 같이 사용자 노드(100), 즉 사용자 단말의 가상화가 완료된 저장소(storage)나 CPU, RAM, GPU와 같은 가상화가 완료된 연산처리 장치의 연산 능력이 공유되는 유휴 자원의 대상일 수 있다.
또한 사용자 노드(100)의 미들웨어(Middle ware)는 하드웨어 리소스를 바탕으로 리소스 풀과 배터리, 네트워크 상태 등을 실시간으로 모니터링할 수 있다.
이를 통해 사용자 노드(100)는 가용성을 제공하는 유휴 자원을 실시간으로 점검하여 클라우드 서비스 이용자에게 유휴 자원을 할당할 수 있다.
또한 사용자 노드(100)는 클라우드의 서비스 연속성 및 무결성 확보를 위해 포그 계층(F)에 의해 그룹화될 수 있다.
그리고 그룹화된 사용자 노드(100)는 데이터 무결성을 보장하기 위해 레플리카(복제본)를 생성하여 인프라 구성을 마치고, 클라우드 서비스 이용자에게 적절한 서비스를 제공할 수 있다.
따라서 동일 그룹 내의 사용자 노드(100)들은, 동일한 데이터를 공유하여 데이터베이스를 다중화하고 컴퓨팅 자원에 대한 할당 요청에 동일한 프로세스 작업을 수행할 수 있다.
그리고 미들웨어(Middle ware)는 그룹 태그(Group tag)를 통해 자신이 속한 그룹을 구분할 수 있으며, 그룹 태그(Group tag)는 클라우드 서비스 이용자가 자신의 데이터에 접근하기 위한 식별자로써 사용될 수 있다.
그리고 사용자 노드(100)는 저장소를 비롯한 단말의 컴퓨팅 자원을 하나로 묶어 종합적으로 평가한 핵심 성과 지표(KPI, Key Performance Indicator)를 산출할 수도 있다. 이때 모니터링 API(monitoring API)에 의해 수집되는 데이터가 핵심 성과 지표로 활용될 수 있다.
또한 사용자 노드(100)는 데이터를 수집할 수 있으며, 사용자 노드(100)에서 수집된 데이터는 도 3과 같을 수 있다.
도 3은 본 발명의 시스템(10)에서 수집하는 데이터 항목을 설명하기 위한 도면으로, 도 3에 도시된 바와 같이 수집되는 데이터는 사용자 노드(100)의 배터리 상태정보, 네트워크 상태정보, 저장소 상태정보 및 컴퓨팅 파워정보 중 적어도 하나를 포함할 수 있다.
한편 클라우드 계층(C)은 모바일 엣지 컴퓨팅 네트워크 구조에서 대량의 데이터를 저장 및 처리하는 데이터 센터를 소유한 클라우드(300)를 포함할 수 있다.
클라우드 계층(C)은 클라우드(300)에 리소스를 제공하는 사용자 노드(100)의 가용성에 대한 신뢰성을 평가하고 데이터 이중화를 위해 마련될 수 있다. 그리고 클라우드(300)는 컴퓨팅 자원 확보 방법을 수행하기 위한 소프트웨어(어플리케이션)가(이) 설치되어 실행될 수 있으며, 클라우드(300)는 클라우드 서버, 클라우드 데이터 센서 등 다른 용어로 불릴 수도 있다.
따라서 클라우드(300)는 잉여 노드(surplus node)(200)로부터 전달받은 사용자 노드(100)의 데이터에 기초하여 사용자 노드(100)의 사용 패턴을 분석할 수 있다.
또한 클라우드(300)는 잉여 노드(200)를 통해 그룹화된 사용자 노드(100)의 가용성을 진단할 수 있다.
구체적으로 클라우드 계층(C)에 해당하는 클라우드(300)에 수집된 데이터가 전송되면, 클라우드(300)는 사용 패턴을 분석하고, 사용자 노드(100)의 가용성을 진단하기 위해 시계열 데이터 분석 기법인 ARIMA(Autoregressive Integrated Moving Average) 모델을 사용할 수 있다.
이때 클라우드(300)가 ARIMA 모델에 사용하는 데이터는, 포그 계층(F)의 잉여 노드(200)로부터 시계열 데이터로 가공된 데이터일 수 있다.
ARIMA 모델은 시계열 데이터 기반 분석 기법으로 과거의 관측값과 오차를 사용해서 현재 시계열 값을 일반화함으로써 미래를 예측할 수 있다.
이에 클라우드(300)는 전달받은 시계열 데이터로부터 사용 패턴을 학습하고, ARIMA 분석 기법으로 추후 가용성이 의심되는 특이점에 해당하는 이상치 또는 임계값을 정의하여 포그 계층(F)으로 분석 결과를 전달할 수 있다.
이러한 ARIMA 모델은 자기회귀모형인 AR(Autoregression)과 예측 오차를 이용하는 이동 평균 모델인 MA(Moving Average)을 합친 모형이다. 복잡한 패턴을 식별하여 시계열에서 오는 값을 과거 값의 선형 조합으로 미래를 예측하는 ARIMA 모델의 수식은 하기 수학식 1로 표현될 수 있다.
[수학식 1]
수학식 1은 ARIMA(p, d, q) 모델을 표현한 것으로, p는 AR의 차수, d는 차분의 정보, q는 MA의 차수를 의미할 수 있다.
이러한 수학식 1에서 는 t 시점에서의 관측값을 의미하고, t는 데이터를 수집한 시점(시간)일 수 있다. 또한 는 AR에서의 가중치로써 의 값을 가지고, 는 MA에서의 가중치로써 의 값을 가질 수 있다.
그리고 는 MA에서 오차를 의미하고 예측이 힘든 변수로 가정하는데, 수학식 1에서 는 오차항을 의미할 수 있다. 오차항은 평균이 0이고 분산이 1인 정규분포에서 도출된 무작위 값이다.
한편 는 상수이며 평균값을 의미한다. 산출된 핵심 성과 지표(KPI)는 독립 항등 분포 (0,2)를 따르므로 평균값 는 하기와 같이 정의될 수 있다.
[수학식 2]
사용자 노드(100), 즉 사용자 단말의 배터리의 잔량, 네트워크 상태, 컴퓨팅 자원의 상태 등은 사용자의 사용 유무와 같이 사용자의 사용 패턴과 밀접한 관련이 있다.
사용자 노드(100)의 배터리 잔량 수치에 대한 데이터는 연속적이며, 일상 및 수면 시간에 따라 일정한 패턴을 보이므로 과거의 값이 미래의 값에 영향을 주는 자기 회귀 모형(AR)을 따를 수 있다.
그리고 사용자 노드(100)의 사용에 의한 배터리 소모 및 컴퓨팅 자원의 소모는 과거의 충격이 현재의 값에 영향을 주므로 이동 평균(MA) 모델을 따를 수 있다.
또한 사용자 노드(100)의 배터리 사용량의 경우 충전 상태 유무에 따라 상승 또는 하락의 추세를 보일 수 있다.
따라서 도 4는 ARIMA 모델의 예측 데이터를 시각화한 도면으로써, 시간 t에 따른 CPU 사용량(%)에 대한 KPI 지수 그래프이다. 도시된 예와 같이 클라우드(300)는 ARIMA 모델을 통해 가상화 된 유휴 자원을 미래 클라우드 이용자가 서비스를 요청했을 때 할당 가능한지를 예측할 수 있다.
그리고 클라우드(300)는 ARIMA 모델을 통해 미래를 예측할 때 파라미터의 종류가 많아질수록 성능이 저하되는 현상인 차원의 저주를 피하기 위해서 사용자 노드(100)에서 산출된 핵심 성과 지표(KPI)를 데이터로써 활용할 수도 있다.
이를 통해 본 실시예에 따른 클라우드(300)는 가상화를 통해 클라우드(300)에 공유된 컴퓨팅 자원을 미래 서비스 이용자의 요청 시 가용성을 판단하여 안정적인 서비스 제공을 구현할 수 있다.
그리고 클라우드(300)는 분석된 사용 패턴의 결과를 저장하고 포그 계층(F)으로 전달할 수 있다.
한편 포그 계층(F)은 엣지 계층(E) 및 클라우드 계층(C) 사이에 위치하고, 엣지 계층(E)에 위치한 이기종 단말인 사용자 노드(100) 간 통신을 제어하고, 사용자 노드(100)의 유휴 상태를 확인하기 위해 마련될 수 있다.
이러한 포그 계층(F)은 적어도 하나의 잉여 노드(2001 ~ 200n)로 구성될 수 있으며, 잉여 노드(200)는 컴퓨팅 자원 확보 방법을 수행하기 위한 소프트웨어(어플리케이션)가(이) 설치되어 실행될 수 있다.
그리고 잉여 노드(200)는 사용자 노드(100)로부터 데이터를 수집할 수 있으며, 수집된 데이터를 클라우드 계층(C)으로 전달할 수 있다.
이때 잉여 노드(200)는, 사용자 노드(100)의 배터리 상태정보, 네트워크 상태정보, 저장소 상태정보 및 컴퓨팅 파워정보 중 적어도 하나를 데이터로써 사용자 노드(100)로부터 수집할 수 있다.
그리고 잉여 노드(200)는, 수집된 데이터를 로그 및 메트릭으로 이루어진 시계열 데이터로 가공하고, 시계열 데이터를 클라우드 계층(C)으로 전송할 수 있다.
또한 잉여 노드(200)는 클라우드(300)에서 수행된 사용 패턴의 분석 결과에 기초해 클라우드 서비스의 연속성 규격을 만족시킬 수 있는 사용자 노드(100)끼리 그룹화할 수 있다.
구체적으로 잉여 노드(200)는 사용자 노드(100)의 모니터링 API로부터 발생하는 데이터와 클라우드 계층(C)으로부터 전달받은 가용성이 의심되는 특이점에 해당하는 정보를 이용하여 사용자 노드(100)를 그룹화하여 클라우드 서비스의 연속성을 보장하기 위한 그룹을 생성할 수 있다.
도 5는 잉여 노드(200)를 통해 그룹화된 사용자 노드(100)를 설명하기 위한 도면이다.
잉여 노드(200)가 사용자 노드(100)를 그룹화하기 위해 사용되는 클라우드 서비스의 연속성 규격은, 각 그룹의 사용자 노드(100)의 예상 가용 시간의 총합이 소정의 시간 이상이 되도록 하는 것일 수 있다.
예컨대 도 5와 같이 잉여 노드(200)가 가용성 및 무결성을 보장하기 위해 클라우드 서비스의 연속성 규격에 대응되는 시간을 24시간으로 설정할 수 있다. 그리고 한 개의 그룹에 3~4개의 사용자 노드(100)(Device 1, Device 2, Device 3 및 Device 4)가 포함되어 총 4개의 그룹(Group 1, Group 2, Group 3 및 Group 4)이 생성될 수 있다. 이때 클라우드 서비스의 연속성 규격에 대응되는 시간 및 각 그룹(Group 1, Group 2, Group 3 및 Group 4)에 포함되는 사용자 노드(100)의 수는 얼마든지 변경 가능할 것이다.
그리고 도 5에서 각 그룹(Group 1, Group 2, Group 3 및 Group 4) 내에서의 사용자 노드(100)(Device 1, Device 2, Device 3 및 Device 4)별 그래프 길이는 ARIMA 분석을 통해 도출된 서비스 요청에 응답할 수 있는 사용자 노드(100)의 예상 가용 시간을 의미할 수 있다.
또한 도 5에 도시된 바와 같이 사용자 노드(100)를 그룹화할 때 서비스 연속성을 안정적으로 구현하기 위해, 사용자 노드(100)의 가용 시간을 0.5h, 즉 30분씩 서로 중첩되도록 그룹화하여 서비스 연속성을 보다 강화시킬 수 있다.
그리고 잉여 노드(200)는, 사용자 노드(100)로부터의 실시간 모니터링 결과, 적어도 하나의 문제 노드가 발생할 경우, 클라우드 서비스의 연속성 규격을 만족시키도록 대체 노드를 확보할 수 있다.
여기서 문제 노드는 가용성을 만족하지 못하는 노드이거나 자신이 속한 그룹에서 이탈하는 노드일 수 있다.
구체적으로 사용자 노드(100)의 미들웨어(Middle ware)를 통해 수행되는 실시간 점검 결과 문제 노드가 가용성을 만족하지 못할 경우, 잉여 노드(200)는 문제 노드와 동일한 그룹에서 대체 노드를 확보할 수 있다.
그리고 동일 그룹에서 확보된 대체 노드는 전임 단말로부터 상태 정보를 이어받아 릴레이 방식으로 자원을 제공할 수 있다.
한편 사용자 노드(100)의 미들웨어(Middle ware)를 통해 수행되는 실시간 점검 결과 예기치 못한 상황으로 문제 노드의 KPI 지수가 임계치 미만으로 하락한 경우, 잉여 노드(200)는 문제 노드가 소속된 그룹이 아닌 곳에 위치한 사용자 노드(100)를 대체 노드로 결정할 수 있다. 이는 도 5에 도시된 그룹 4(Group 4)에 도시된 예와 같을 수 있다.
구체적으로 도 5의 그룹 4(Group 4)의 그래프에서 예상 가용 시간 구간 중에서 가장 마지막 구간에서 유휴 자원을 제공할 예정이었던 문제 노드가 그룹 4(Group 4)에서 이탈하면, 잉여 노드(200)는 해당 예상 가용 시간 구간을 대체 노드(Another node)로 대체할 수 있다.
즉 잉여 노드(200)는 클라우드 계층(C)에 저장된 사용자 노드(100)의 상태 정보를 바탕으로 해당 그룹의 구성원을 보충할 수 있다. 그리고 그룹의 구성원이 변경되면 변경된 그룹의 상태정보를 클라우드 계층(C)으로 전달할 수 있다.
이하에서는 문제 노드가 그룹으로부터 이탈한 경우 대체 노드를 결정하는 과정에 대해 구체적으로 설명하기로 한다.
먼저 잉여 노드(200)는 클라우드 계층(C)에 저장된 사용 패턴의 분석 결과를 로딩할 수 있다.
그리고 잉여 노드(200)는 문제 노드와의 물리적 거리 및 연산처리 능력을 기준으로 사용 패턴의 분석 결과를 클러스터링하고, 문제 노드와 가장 유사한 특성을 갖는 대체 노드를 결정할 수 있다.
이때 잉여 노드(200)는 클러스터링한 결과를 기초로 문제 노드와 벡터 거리가 가장 가까운 노드를 대체 노드로 결정할 수 있다.
한편 도 6은 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 방법을 설명하기 위한 흐름도로써, 본 발명의 일 실시예에 따른 컴퓨팅 자원 확보 방법은 도 1에 도시된 시스템(10)과 실질적으로 동일한 구성 상에서 진행되므로, 도 1의 시스템(10)과 동일한 구성요소에 대해 동일한 도면 부호를 부여하고, 반복되는 설명은 생략하기로 한다.
본 발명의 컴퓨팅 자원 확보 방법은, 사용자 노드(100)로부터 데이터를 수집하는 단계(S110), 사용자 노드(100)의 사용 패턴을 분석하는 단계(S130), 사용자 노드(100)끼리 그룹화하는 단계(S150), 그룹화된 사용자 노드(100)의 가용성을 실시간 점검하는 단계(S170) 및 문제 노드가 발생할 경우, 대체 노드를 확보하는 단계(S190)를 포함할 수 있다.
사용자 노드(100)로부터 데이터를 수집하는 단계(S110)에서는, 잉여 노드(200)가 클라우드 서비스를 사용하고 유휴 자원을 제공하는 사용자 노드(100)로부터 데이터를 수집할 수 있다.
그리고 데이터를 수집하는 단계(S110)에서는, 잉여 노드(200)가 사용자 노드(100)의 배터리 상태정보, 네트워크 상태정보, 저장소 상태정보 및 컴퓨팅 파워정보 중 적어도 하나를 데이터로써 수집할 수 있다.
한편 사용자 노드(100)의 사용 패턴을 분석하는 단계(S130)에서는 클라우드(300)가 수집된 데이터에 기초하여 사용자 노드(100)의 사용 패턴을 분석할 수 있다.
이러한 분석하는 단계(S130)에서 클라우드(300)는 시계열 데이터 분석 기법인 ARIMA(Autoregressive Integrated Moving Average) 모델을 사용할 수 있다.
그리고 본 발명의 컴퓨팅 자원 확보 방법은, 분석하는 단계(130) 이전에 잉여 노드(200)가 수집된 데이터를 로그 및 메트릭으로 이루어진 시계열 데이터로 가공하는 단계를 더 포함할 수 있다.
그리고 분석하는 단계(S130)에서는 가공하는 단계에서 가공된 데이터인 시계열 데이터를 이용해 사용자 노드(100)의 사용 패턴을 분석할 수 있다.
한편 사용자 노드(100)끼리 그룹화하는 단계(S150)에서는, 분석하는 단계(S130)에서의 사용 패턴의 분석 결과에 기초해 클라우드 서비스의 연속성 규격을 만족시킬 수 있는 사용자 노드(100)끼리 그룹화할 수 있다.
여기서 클라우드 서비스의 연속성 규격은, 각 그룹의 사용자 노드(100)의 예상 가용 시간의 총합이 소정의 시간 이상이 되도록 하는 것을 의미할 수 있다.
이러한 클라우드 서비스의 연속성 규격을 만족시킬 수 있는 사용자 노드(100)끼리 그룹화하기 위해, 그룹화하는 단계(S150)에서 잉여 노드(200)는 사용자 노드(100)의 모니터링 API로부터 발생하는 데이터와 클라우드 계층(C)으로부터 전달받은 가용성이 의심되는 특이점에 해당하는 정보를 이용할 수 있다.
그리고 동일 그룹 내의 사용자 노드(100)들은, 동일한 데이터를 공유하여 데이터베이스를 다중화하고 컴퓨팅 자원에 대한 할당 요청에 동일한 프로세스 작업을 수행할 수 있다.
한편 그룹화된 사용자 노드(100)의 가용성을 실시간 점검하는 단계(S170)에서는, 사용자 노드(100)의 미들웨어(Middle ware)가 하드웨어 리소스(Hardware resource)를 바탕으로 리소스 풀과 배터리, 네트워크 상태 등을 실시간으로 모니터링할 수 있다. 이를 통해 사용자 노드(100)는 가용성을 실시간으로 점검할 수 있다.
이후 문제 노드가 발생할 경우, 대체 노드를 확보하는 단계(S190)가 수행될 수 있다.
대체 노드를 확보하는 단계(190)에서는 실시간 점검에 따라 적어도 하나의 문제 노드가 발생할 경우, 클라우드 서비스의 연속성 규격을 만족시키도록 대체 노드를 확보할 수 있다.
그리고 대체 노드를 확보하는 단계(190)에서는, 문제 노드가 가용성을 만족하지 않을 경우, 대체 노드를 동일 그룹에서 확보할 수 있다. 그리고 대체 노드는 전임 단말로부터 상태 정보를 이어받아 릴레이 방식으로 자원을 제공하도록 할 수 있다.
또한 실시간 점검 결과 핵심 성과 지표(KPI, Key Performance Indicator)가 임계치 미만으로 하락한 사용자 노드(100)가 발생하면 해당 사용자 노드(100)는 문제 노드로써 그룹에서 이탈될 수 있다.
그리고 실시간 점검 결과 예기치 못한 상황으로 문제 노드의 KPI 지수가 임계치 미만으로 하락하여 문제 노드가 그룹에서 이탈하면, 대체 노드를 확보하는 단계(190)는, 사용 패턴의 분석 결과를 로딩하는 단계, 분석 결과를 클러스터링하는 단계 및 대체 노드를 결정하는 단계를 포함하여 각 단계를 수행할 수 있다.
사용 패턴의 분석 결과를 로딩하는 단계는, 잉여 노드(200)가 클라우드(300)로부터 사용 패턴의 분석 결과를 로딩하는 단계일 수 있다.
그리고 클러스터링하는 단계는, 잉여 노드(200)가 문제 노드와의 물리적 거리 및 연산처리 능력을 기준으로 사용 패턴의 분석 결과를 클러스터링하는 단계일 수 있다.
한편 대체 노드를 결정하는 단계는, 잉여 노드(200)가 문제 노드와 가장 유사한 특성을 갖는 대체 노드를 결정하는 단계일 수 있다. 이때 대체 노드를 결정하는 단계에서는, 클러스터링한 결과를 기초로 문제 노드와 벡터 거리가 가장 가까운 노드를 대체 노드로 결정할 수 있다.
이와 같은 본 발명의 클라우드 기반의 컴퓨팅 자원 확보 방법은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 본 발명의 다양한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
10 : 컴퓨팅 자원 확보 시스템 C : 클라우드 계층
F : 포그 계층 E : 엣지 계층
100 : 사용자 노드 200 : 잉여 노드
300 : 클라우드

Claims (17)

  1. 컴퓨팅 자원 확보 시스템에서의 클라우드 기반의 컴퓨팅 자원 확보 방법에 있어서,
    클라우드 서비스를 사용하고 유휴 자원을 제공하는 사용자 노드로부터 데이터를 수집하는 단계;
    상기 수집된 데이터에 기초하여 상기 사용자 노드의 사용 패턴을 분석하는 단계;
    상기 사용 패턴의 분석 결과에 기초해 상기 클라우드 서비스의 연속성 규격을 만족시킬 수 있는 상기 사용자 노드끼리 그룹화하는 단계;
    상기 그룹화된 사용자 노드의 가용성을 실시간 점검하는 단계; 및
    상기 점검에 따라 적어도 하나의 문제 노드가 발생할 경우, 상기 클라우드 서비스의 연속성 규격을 만족시키도록 대체 노드를 확보하는 단계를 포함하는, 클라우드 기반의 컴퓨팅 자원 확보 방법.
  2. 제1항에 있어서,
    상기 대체 노드를 확보하는 단계에서는,
    상기 문제 노드가 상기 가용성을 만족하지 않을 경우, 상기 대체 노드를 동일 그룹에서 확보하고,
    상기 대체 노드는 전임 단말로부터 상태 정보를 이어받아 릴레이 방식으로 자원을 제공하는 것을 특징으로 하는, 클라우드 기반의 컴퓨팅 자원 확보 방법.
  3. 제1항에 있어서,
    상기 문제 노드가 상기 그룹에서 이탈할 경우, 상기 대체 노드를 확보하는 단계는,
    상기 사용 패턴의 분석 결과를 로딩하는 단계;
    상기 문제 노드와의 물리적 거리 및 연산처리 능력을 기준으로 상기 사용 패턴의 분석 결과를 클러스터링하는 단계; 및
    상기 문제 노드와 가장 유사한 특성을 갖는 대체 노드를 결정하는 단계를 포함하고,
    상기 대체 노드를 결정하는 단계에서는,
    상기 클러스터링한 결과를 기초로 상기 문제 노드와 벡터 거리가 가장 가까운 노드를 상기 대체 노드로 결정하는 것을 특징으로 하는, 클라우드 기반의 컴퓨팅 자원 확보 방법.
  4. 제3항에 있어서,
    상기 그룹에서 이탈한 문제 노드는,
    핵심 성과 지표(KPI, Key Performance Indicator)가 임계치 미만으로 하락한 사용자 노드인 경우인 것을 특징으로 하는, 클라우드 기반의 컴퓨팅 자원 확보 방법.
  5. 제1항에 있어서,
    상기 클라우드 서비스의 연속성 규격은,
    각 그룹의 상기 사용자 노드의 예상 가용 시간의 총합이 소정의 시간 이상이 되도록 하는 것을 특징으로 하는, 클라우드 기반의 컴퓨팅 자원 확보 방법.
  6. 제1항에 있어서,
    동일 그룹 내의 상기 사용자 노드들은,
    동일한 데이터를 공유하여 데이터베이스를 다중화하고 컴퓨팅 자원에 대한 할당 요청에 동일한 프로세스 작업을 수행하는 것을 특징으로 하는, 클라우드 기반의 컴퓨팅 자원 확보 방법.
  7. 제1항에 있어서,
    상기 데이터를 수집하는 단계에서는,
    상기 사용자 노드의 배터리 상태정보, 네트워크 상태정보, 저장소 상태정보 및 컴퓨팅 파워정보 중 적어도 하나를 상기 데이터로써 수집하는 것을 특징으로 하는, 클라우드 기반의 컴퓨팅 자원 확보 방법.
  8. 제1항에 있어서,
    상기 분석하는 단계 이전에 상기 수집된 데이터를 로그 및 메트릭으로 이루어진 시계열 데이터로 가공하는 단계를 더 포함하고,
    상기 분석하는 단계에서는,
    시계열 데이터 분석 기법인 ARIMA(Autoregressive Integrated Moving Average) 모델을 사용하여 상기 시계열 데이터로부터 상기 사용 패턴을 분석하는 것을 특징으로 하는, 클라우드 기반의 컴퓨팅 자원 확보 방법.
  9. 제1항에 따른 클라우드 기반의 컴퓨팅 자원 확보 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  10. 클라우드 서비스를 사용하고 유휴 자원을 제공하고, 상기 유휴 자원의 가용성을 실시간으로 점검하는 적어도 하나의 사용자 노드로 구성되는 엣지 계층;
    상기 사용자 노드로부터 수집된 데이터에 기초하여 상기 사용자 노드의 사용 패턴을 분석하는 클라우드로 구성되는 클라우드 계층; 및
    상기 엣지 계층 및 상기 클라우드 계층 사이에 위치하는 적어도 하나 이상의 잉여 노드로 구성되는 포그 계층으로서, 상기 사용자 노드로부터 데이터를 수집하며, 상기 사용 패턴의 분석 결과에 기초해 상기 클라우드 서비스의 연속성 규격을 만족시킬 수 있는 상기 사용자 노드끼리 그룹화하며, 적어도 하나의 문제 노드가 발생할 경우, 상기 클라우드 서비스의 연속성 규격을 만족시키도록 대체 노드를 확보하는 잉여 노드로 구성되는 포그 계층을 포함하는, 컴퓨팅 자원 확보 시스템.
  11. 제10항에 있어서,
    상기 문제 노드가 상기 가용성을 만족하지 않을 경우 상기 포그 계층은,
    상기 대체 노드를 동일 그룹에서 확보하고,
    상기 대체 노드는 전임 단말로부터 상태 정보를 이어받아 릴레이 형태로 자원을 제공하도록 하는 것을 특징으로 하는, 컴퓨팅 자원 확보 시스템.
  12. 제10항에 있어서,
    상기 문제 노드가 상기 그룹에서 이탈할 경우 상기 포그 계층은,
    상기 사용 패턴의 분석 결과를 로딩하고, 상기 문제 노드와의 물리적 거리 및 연산처리 능력을 기준으로 상기 사용 패턴의 분석 결과를 클러스터링하며, 상기 문제 노드와 가장 유사한 특성을 갖는 대체 노드를 결정하고,
    상기 대체 노드를 결정하는 것은, 상기 클러스터링한 결과를 기초로 상기 문제 노드와 벡터 거리가 가장 가까운 노드를 상기 대체 노드로 결정하는 것을 특징으로 하는, 컴퓨팅 자원 확보 시스템.
  13. 제12항에 있어서,
    상기 그룹에서 이탈한 문제 노드는,
    핵심 성과 지표(KPI, Key Performance Indicator)가 임계치 미만으로 하락한 사용자 노드인 경우인 것을 특징으로 하는, 컴퓨팅 자원 확보 시스템.
  14. 제10항에 있어서,
    상기 클라우드 서비스의 연속성 규격은,
    각 그룹의 상기 사용자 노드의 예상 가용 시간의 총합이 소정의 시간 이상이 되도록 하는 것을 특징으로 하는, 컴퓨팅 자원 확보 시스템.
  15. 제10항에 있어서
    동일 그룹 내의 상기 사용자 노드들은,
    동일한 데이터를 공유하여 데이터베이스를 다중화하고 컴퓨팅 자원에 대한 할당 요청에 동일한 프로세스 작업을 수행하는 것을 특징으로 하는, 컴퓨팅 자원 확보 시스템.
  16. 제10항에 있어서,
    상기 잉여 노드는,
    상기 사용자 노드의 배터리 상태정보, 네트워크 상태정보, 저장소 상태정보 및 컴퓨팅 파워정보 중 적어도 하나를 상기 데이터로써 수집하는 것을 특징으로 하는, 컴퓨팅 자원 확보 시스템.
  17. 제10항에 있어서,
    상기 잉여 노드는,
    상기 수집된 데이터를 로그 및 메트릭으로 이루어진 시계열 데이터로 가공하고, 상기 시계열 데이터를 상기 클라우드 계층으로 전송하며,
    상기 클라우드 계층에서는,
    시계열 데이터 분석 기법인 ARIMA(Autoregressive Integrated Moving Average) 모델을 사용하여 상기 시계열 데이터로부터 상기 사용 패턴을 분석하는 것을 특징으로 하는, 컴퓨팅 자원 확보 시스템.
KR1020220122756A 2022-09-27 2022-09-27 유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템 KR20240043538A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220122756A KR20240043538A (ko) 2022-09-27 2022-09-27 유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220122756A KR20240043538A (ko) 2022-09-27 2022-09-27 유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템

Publications (1)

Publication Number Publication Date
KR20240043538A true KR20240043538A (ko) 2024-04-03

Family

ID=90662362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220122756A KR20240043538A (ko) 2022-09-27 2022-09-27 유휴 자원을 효율적으로 활용하기 위한 클라우드 기반의 컴퓨팅 자원 확보 방법, 이를 실행하기 위한 기록매체 및 컴퓨팅 자원 확보 시스템

Country Status (1)

Country Link
KR (1) KR20240043538A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180098798A (ko) 2017-02-27 2018-09-05 주식회사 케이티 엣지 클라우드에서 모바일 단말에 자원을 할당하는 방법 및 그 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180098798A (ko) 2017-02-27 2018-09-05 주식회사 케이티 엣지 클라우드에서 모바일 단말에 자원을 할당하는 방법 및 그 장치

Similar Documents

Publication Publication Date Title
Bhattacharjee et al. Barista: Efficient and scalable serverless serving system for deep learning prediction services
JP6490913B2 (ja) グリッドコンピューティングシステムの遊休リソースによるタスク実行
Sotiriadis et al. Self managed virtual machine scheduling in cloud systems
Tang et al. Fault-aware, utility-based job scheduling on blue, gene/p systems
Sayadnavard et al. A reliable energy-aware approach for dynamic virtual machine consolidation in cloud data centers
US20190391897A1 (en) Adaptive thresholds for containers
Sharif et al. Fault‐tolerant with load balancing scheduling in a fog‐based IoT application
Javadpour et al. An energy-optimized embedded load balancing using DVFS computing in cloud data centers
WO2017010922A1 (en) Allocation of cloud computing resources
US11726836B2 (en) Predicting expansion failures and defragmenting cluster resources
US11579933B2 (en) Method for establishing system resource prediction and resource management model through multi-layer correlations
AU2011320763A1 (en) System and method of active risk management to reduce job de-scheduling probability in computer clusters
US8745637B2 (en) Middleware for extracting aggregation statistics to enable light-weight management planners
Becker et al. Towards aiops in edge computing environments
Makrani et al. Adaptive performance modeling of data-intensive workloads for resource provisioning in virtualized environment
CN113672345A (zh) 一种基于io预测的云虚拟化引擎分布式资源调度方法
Lu et al. InSTechAH: Cost-effectively autoscaling smart computing hadoop cluster in private cloud
Ismaeel et al. Energy-consumption clustering in cloud data centre
Raouf et al. A predictive multi-tenant database migration and replication in the cloud environment
Meng et al. Service-oriented reliability modeling and autonomous optimization of reliability for public cloud computing systems
US11550691B2 (en) Computing resources schedule recommendation
WO2020206699A1 (en) Predicting virtual machine allocation failures on server node clusters
KR20230069490A (ko) 마이크로 데이터센터 내 운용 서비스별 작업 부하 예측 모델 적용 방법
Zhou et al. Cushion: A proactive resource provisioning method to mitigate SLO violations for containerized microservices
EP4189542A1 (en) Sharing of compute resources between the virtualized radio access network (vran) and other workloads