[go: up one dir, main page]

KR102172169B1 - 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법 - Google Patents

분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법 Download PDF

Info

Publication number
KR102172169B1
KR102172169B1 KR1020170058885A KR20170058885A KR102172169B1 KR 102172169 B1 KR102172169 B1 KR 102172169B1 KR 1020170058885 A KR1020170058885 A KR 1020170058885A KR 20170058885 A KR20170058885 A KR 20170058885A KR 102172169 B1 KR102172169 B1 KR 102172169B1
Authority
KR
South Korea
Prior art keywords
terminal
app
edge cloud
data
cloud
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020170058885A
Other languages
English (en)
Other versions
KR20180124419A (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 KR1020170058885A priority Critical patent/KR102172169B1/ko
Publication of KR20180124419A publication Critical patent/KR20180124419A/ko
Application granted granted Critical
Publication of KR102172169B1 publication Critical patent/KR102172169B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • H04L67/1002
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1025Dynamic adaptation of the criteria on which the server selection is based
    • H04L67/327
    • 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/60Scheduling 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/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은, 단말에서 실행하는 어플리케이션에 대하여 제공하는 클라우드 기반의 앱 서비스를, 코어망 및 코어망 보다 사용자(단말)에 가까운 위치의 엣지(Edge)에서 분산 제공하는 구조의 클라우드 기반 하이브리드(Hybrid) 어플리케이션 실행 환경을 실현하고, 이러한 실행 환경에 적합한 엣지에서의 핸드오버 기술을 실현하기 위한 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법을 제안한다.

Description

분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법{APPLICATION EXCUTION SYSTEM BASED ON DISTRIBUTED CLOUD, APPARATUS AND CONTROL METHOD THEREOF USING THE SYSTEM}
본 발명은 어플리케이션 실행 환경에 관한 것으로, 더욱 상세하게는 단말에서 실행하는 어플리케이션에 따른 앱 서비스를 코어망 및 코어망 보다 사용자(단말)에 가까운 위치의 엣지(Edge)에서 클라우드 기반으로 분산 제공하는 하이브리드(Hybrid)한 어플리케이션 실행 환경을 실현하되, 이러한 실행 환경에 적합한 엣지에서의 핸드오버 기술에 관한 것이다.
클라우드 서비스(또는 클라우드 컴퓨팅)는, 인터넷 기술을 활용하여 망 상에 가상화된 IT(Information Technology) 자원을 기반으로 데이터 서비스를 제공하는 기술로서, 사용자가 데이터 분류, 계산, 처리 및 분석 등 다양한 연산 처리의 기능(프로세스), 저장공간 등과 같은 IT 자원을 필요한 만큼 빌려서 사용하는 개념의 기술이다.
이에 클라우드 서비스는, 사용자가 실제로 보유하고 있는 자원 수준에서는 수용할 수 없는 대용량의 데이터를 빠른 속도로 연산 처리할 수 있게 되고, 이를 기반으로 하는 고성능/고속의 데이터 서비스 이용을 가능하게 한다.
최근에는, 사용자(단말)에서 실행하는 어플리케이션(이하, 앱)과 연동하여 앱에 따른 데이터 서비스(이하, 앱 서비스)와 관련하여 발생되는 데이터의 연산 처리를 망 상의 가상화 자원을 기반으로 수행하는, 클라우드 기반의 어플리케이션 실행 환경을 제공하고 있다.
헌데, 기존의 클라우드 기반의 어플리케이션 실행 환경은, 가상화된 자원 즉 클라우드 서비스를 제공하는 서버가 망 상에 위치하기 때문에, 물리적 거리로 인한 서비스 지연(Latency)은 존재할 수 밖에 없다.
이러한 물리적 거리로 인한 서비스 지연은, 초 저지연의 데이터 서비스를 요구하는 현 추세의 니즈(Needs)를 만족시키는데 반드시 해결해야 하는 제약으로 작용하고 있다.
아울러, 기존의 클라우드 기반의 어플리케이션 실행 환경은, 사용자(User) 기반으로 가상화 자원을 기 할당하는 고정 할당 방식이기 때문에, 초 저지연/대용량의 데이터 서비스를 요구하는 현 추세의 니즈를 만족시키는데 한계가 있다.
이에, 본 발명에서는, 단말에서 실행하는 앱에 따른 앱 서비스를 코어망 및 코어망 보다 사용자(단말)에 가까운 위치의 엣지(Edge)에서 클라우드 기반으로 분산 제공하는, 하이브리드(Hybrid)한 어플리케이션 실행 환경을 제안하고자 한다.
아울러, 본 발명에서는, 클라우드 기반의 하이브리드 어플리케이션 실행 환경에서 고려되어야 하는, 엣지에서의 핸드오버 기술을 새롭게 제안하고자 한다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 단말에서 실행하는 어플리케이션에 따른 앱 서비스를 코어망 및 코어망 보다 사용자(단말)에 가까운 위치의 엣지(Edge)에서 클라우드 기반으로 분산 제공하는 하이브리드(Hybrid)한 어플리케이션 실행 환경을 실현하되, 이러한 실행 환경에 적합한 엣지에서의 핸드오버 기술을 새롭게 제안하는데 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 분산형 클라우드 기반 어플리케이션 실행 시스템은, 사용자 별로 자원을 할당하고, 단말의 사용자에 할당된 자원을 기반으로 상기 단말에서 실행되는 특정 어플리케이션에 따른 앱 서비스의 데이터 연산 처리를 수행하여, 상기 단말에 클라우드 기반의 앱 서비스를 제공하는 코어클라우드 노드; 및 상기 단말 및 상기 코어클라우드 노드 사이에 위치하며, 상기 단말에서 실행되는 상기 특정 어플리케이션을 위한 어플리케이션 실행자원을 기반으로 상기 앱 서비스의 데이터 연산 처리 중 일부 데이터 연산 처리를 수행하여, 상기 단말에 클라우드 기반의 앱 서비스를 상기 코어클라우드 노드와 분산 제공하는 엣지클라우드 노드를 포함하며; 상기 앱 서비스의 일부 데이터를 연산 처리하는 기능은, 상기 단말이 상기 엣지클라우드 노드의 소스 기지국에서 타 엣지클라우드 노드의 타겟 기지국으로 무선구간 핸드오버 하는 경우, 상기 앱 서비스의 기 정의된 핸드오버 트리거 이벤트에 근거하여 선택적으로 상기 엣지클라우드 노드에서 상기 타 엣지클라우드 노드로 핸드오버 된다.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 엣지클라우드 장치는, 단말 연결 시, 상기 단말에서 실행되는 특정 어플리케이션을 위한 어플리케이션 실행자원을 할당하는 자원할당부; 상기 특정 어플리케이션에 따른 앱 서비스의 데이터 중, 코어망 단의 코어클라우드 장치에서 상기 단말에 제공하는 클라우드 기반의 앱 서비스의 특정 기능과 관련된 일부 데이터를 선택하고, 그 외의 데이터는 상기 코어클라우드 장치로 전달하는 필터링부; 상기 할당한 어플리케이션 실행자원을 기반으로 상기 선택한 상기 앱 서비스의 일부 데이터를 연산 처리하여, 상기 단말에 상기 클라우드 기반의 앱 서비스를 상기 코어클라우드 장치와 분산 제공하는 어플리케이션실행부; 및 상기 단말이 기지국 사이에서 무선구간 핸드오버 하는 경우, 상기 앱 서비스의 일부 데이터를 연산 처리하는 앱 기능을, 선택적으로 핸드오버 시키는 핸드오버제어부를 포함한다.
바람직하게는, 상기 어플리케이션실행부는, 상기 단말이 상기 코어망과의 연결을 위해 접속하는 기지국 단에 위치하는 스토리지 노드를 기반으로, 데이터를 연산 처리할 수 있다.
바람직하게는, 상기 엣지클라우드 장치가 포함된 엣지그룹 내 각 엣지클라우드 장치와 연동하는 그룹연동부를 더 포함하며; 상기 핸드오버제어부는, 상기 단말이 상기 엣지클라우드 장치의 기지국에서 상기 엣지그룹 내 타 엣지클라우드 장치의 타겟 기지국으로 무선구간 핸드오버 하는 경우, 상기 앱 서비스의 기 정의된 핸드오버 트리거 이벤트 발생 시, 상기 앱 기능을 상기 타 엣지클라우드 장치로 핸드오버 시킬 수 있다.
바람직하게는, 상기 핸드오버 트리거 이벤트는, 상기 앱 서비스의 지연시간이 기 설정된 특정 지연시간 이상인 경우 발생될 수 있다.
바람직하게는, 상기 핸드오버제어부는, 상기 핸드오버 트리거 이벤트 미 발생 시에는 상기 앱 기능을 상기 타 엣지클라우드 장치로 핸드오버 시키지 않고, 상기 코어클라우드 장치로부터 수신되는 상기 앱 서비스의 데이터를 연산 처리된 결과 및 상기 어플리케이션실행부에서 상기 앱 서비스의 일부 데이터를 연산 처리한 결과를 포함하는 상기 앱 서비스의 서비스 컨텍스트(Service Context)를, 상기 타겟 기지국을 통해 상기 단말로 제공할 수 있다.
바람직하게는, 상기 어플리케이션실행부는, 상기 단말의 사용자 컨텍스트(User Context)를 기반으로 동작하는 가상 머신(Virtual Machine)과, 상기 가상 머신의 동작에 따른 가상화 단말을 기반으로 실행되어, 상기 단말 내의 상기 특정 어플리케이션을 대신하여 상기 앱 서비스의 일부 데이터를 연산 처리하는 가상 어플리케이션(Virtual Application)으로 구성될 수 있다.
바람직하게는, 상기 핸드오버제어부는, 상기 단말의 사용자 컨텍스트를 상기 타 엣지클라우드 장치로 복사(Copy)하여, 상기 가상 어플리케이션이 상기 타 엣지클라우드장치에서 상기 복사된 단말의 사용자 컨텍스트를 기반으로 구성하는 어플리케이션실행부에 동일하게 구성되도록 하여, 상기 앱 기능을 상기 타 엣지클라우드 장치로 핸드오버 시킬 수 있다.
바람직하게는, 상기 핸드오버제어부는, 상기 타 엣지클라우드 장치로 상기 앱 기능의 핸드오버가 완료되기 전까지, 상기 앱 서비스의 서비스 컨텍스트를 상기 타겟 기지국을 통해 상기 단말로 제공할 수 있다.
바람직하게는, 상기 앱 서비스의 지연시간은, 상기 클라우드 기반의 앱 서비스를 이용하는 상기 단말에서 측정되어, 상기 단말에 대하여 상기 앱 기능을 제공하는 엣지클라우드 장치로 보고될 수 있다.
상기 목적을 달성하기 위한 본 발명의 제 3 관점에 따른 엣지클라우드 장치의 동작 방법은, 단말 연결 시, 상기 단말에서 실행되는 특정 어플리케이션을 위한 어플리케이션 실행자원을 할당하는 자원할당단계; 상기 특정 어플리케이션에 따른 앱 서비스의 데이터 중, 코어망 단의 코어클라우드 장치에서 상기 단말에 제공하는 클라우드 기반의 앱 서비스의 특정 기능과 관련된 일부 데이터를 선택하고, 그 외의 데이터는 상기 코어클라우드 장치로 전달하는 필터링단계; 상기 할당한 어플리케이션 실행자원을 기반으로 상기 선택한 상기 앱 서비스의 일부 데이터를 연산 처리하여, 상기 단말에 상기 클라우드 기반의 앱 서비스를 상기 코어클라우드 장치와 분산 제공하는 어플리케이션실행단계; 및 상기 단말이 기지국 사이에서 무선구간 핸드오버 하는 경우, 상기 앱 서비스의 일부 데이터를 연산 처리하는 앱 기능을, 선택적으로 핸드오버 시키는 핸드오버제어단계를 포함한다.
바람직하게는, 상기 엣지클라우드 장치는, 상기 엣지클라우드 장치가 포함된 엣지그룹 내 각 엣지클라우드 장치와 연동하며; 상기 핸드오버제어단계는, 상기 단말이 상기 엣지클라우드 장치의 기지국에서 상기 엣지그룹 내 타 엣지클라우드 장치의 타겟 기지국으로 무선구간 핸드오버 하는 경우, 상기 앱 서비스의 기 정의된 핸드오버 트리거 이벤트 발생 여부를 판단하고, 상기 핸드오버 트리거 이벤트 발생 시, 상기 앱 기능을 상기 타 엣지클라우드 장치로 핸드오버 시킬 수 있다.
바람직하게는, 상기 핸드오버제어단계는, 상기 핸드오버 트리거 이벤트 미 발생 시에는 상기 앱 기능을 상기 타 엣지클라우드 장치로 핸드오버 시키지 않고, 상기 코어클라우드 장치로부터 수신되는 상기 앱 서비스의 데이터를 연산 처리된 결과 및 상기 어플리케이션실행부에서 상기 앱 서비스의 일부 데이터를 연산 처리한 결과를 포함하는 상기 앱 서비스의 서비스 컨텍스트를, 상기 타겟 기지국을 통해 상기 단말로 제공할 수 있다.
바람직하게는, 상기 어플리케이션실행단계는, 상기 단말의 사용자 컨텍스트를 기반으로 동작하는 가상 머신과, 상기 가상 머신의 동작에 따른 가상화 단말을 기반으로 실행되어, 상기 단말 내의 상기 특정 어플리케이션을 대신하여 상기 앱 서비스의 일부 데이터를 연산 처리하는 가상 어플리케이션으로 구성된 어플리케이션실행부에 의해 수행될 수 있다.
바람직하게는, 상기 핸드오버제어단계는, 상기 단말의 사용자 컨텍스트를 상기 타 엣지클라우드 장치로 복사(Copy)하여, 상기 가상 어플리케이션이 상기 타 엣지클라우드장치에서 상기 복사된 단말의 사용자 컨텍스트를 기반으로 구성하는 어플리케이션실행부에 동일하게 구성되도록 하여, 상기 앱 기능을 상기 타 엣지클라우드 장치로 핸드오버 시킬 수 있다.
바람직하게는, 상기 핸드오버제어단계는, 상기 타 엣지클라우드 장치로 상기 앱 기능의 핸드오버가 완료되기 전까지, 상기 앱 서비스의 서비스 컨텍스트를 상기 타겟 기지국을 통해 상기 단말로 제공할 수 있다.
이에, 본 발명에 따른 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법에 의하면, 단말에서 실행하는 어플리케이션에 따른 앱 서비스를 코어망 및 코어망 보다 사용자(단말)에 가까운 위치의 엣지(Edge)에서 클라우드 기반으로 분산 제공하는 하이브리드(Hybrid)한 어플리케이션 실행 환경을 실현하되, 이러한 실행 환경에 적합한 엣지에서의 핸드오버 기술을 실현하는 효과를 갖는다.
도 1은 본 발명의 바람직한 실시예에 따른 분산형 클라우드 기반 어플리케이션 실행 시스템을 나타내는 구성도이다.
도 2는 본 발명의 바람직한 실시예에 따른 엣지클라우드 노드(장치)의 구체적인 구성을 나타내는 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 엣지클라우드 노드(장치)에서 클라우드 기반의 앱 서비스를 분산 제공 과정을 나타내는 흐름도이다.
도 4는 본 발명의 바람직한 실시예에 따른 엣지클라우드 노드(장치)에서 앱 기능의 핸드오버를 수행하는 과정을 나타내는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 분산형 클라우드 기반 어플리케이션 실행 시스템을 도시한 도면이다.
도 1에 도시된 바와 같이, 본 발명에 따른 분산형 클라우드 기반 어플리케이션 실행 시스템은, 기본적으로 망 상에 가상화된 IT(Information Technology) 자원을 기반으로 데이터 서비스를 실현해 주는 클라우드 서비스(또는 클라우드 컴퓨팅)을 제공하기 위한 시스템이다.
특히, 본 발명의 분산형 클라우드 기반 어플리케이션 실행 시스템은, 사용자(단말)에서 실행하는 어플리케이션(이하, 앱)에 따른 데이터 서비스(이하, 앱 서비스)의 데이터 연산 처리를 망 상의 가상화 자원을 기반으로 수행하는, 클라우드 기반의 어플리케이션 실행 환경(기술)과 관련이 있다.
기존의 클라우드 기반의 어플리케이션 실행 환경은, 가상화된 자원 즉 클라우드 서비스를 제공하는 서버가 망 상에 위치하고, 망 상의 서버가 사용자(User) 기반으로 가상화 자원을 기 할당하게 된다.
이에, 기존의 클라우드 서비스 기반의 어플리케이션 실행 환경은, 망 상의 서버가 사용자(단말)에서 실행되는 앱과 연동하여, 앱에 따른 앱 서비스의 데이터를 서버 내의 해당 사용자(User)에 할당된 가상화 자원을 기반으로 연산 처리하고 있다.
이에, 기존의 클라우드 기반의 어플리케이션 실행 환경은, 사용자(단말) 및 서버(가상화 자원) 간의 물리적 거리로 인한 서비스 지연(Latency)은 존재할 수 밖에 없다.
이러한 물리적 거리로 인한 서비스 지연은, 초 저지연의 데이터 서비스를 요구하는 현 추세의 니즈(Needs)를 만족시키는데 반드시 해결해야 하는 제약으로 작용하고 있다.
아울러, 기존의 클라우드 기반의 어플리케이션 실행 환경은, 사용자(User)에 할당된 가상화 자원을 해당 사용자 만이 사용하기 때문에, 리소스 재활용을 통해 얻을 수 있는 성능 개선 예컨대 초 저지연/대용량의 데이터 서비스를 가능하게 하는 성능 개선을 기대할 수 없다.
이에, 본 발명에서는, 단말에서 실행하는 앱에 따른 앱 서비스를 코어망 및 코어망 보다 사용자(단말)에 가까운 위치의 엣지(Edge)에서 클라우드 기반으로 분산 제공함으로써, 기존의 클라우드 기반의 어플리케이션 실행 환경이 갖는 성능 한계/제약을 개선하는 새로운 형태의 하이브리드(Hybrid)한 어플리케이션 실행 환경을 제안하고자 한다.
아울러, 본 발명은, 본 발명에서 제안하는 클라우드 기반의 하이브리드 어플리케이션 실행 환경에서 고려되어야 하는, 엣지에서의 핸드오버 기술을 새롭게 제안하고자 한다.
이를 위해 기본적으로, 본 발명에서는, 클라우드 기반의 하이브리드 어플리케이션 실행 환경을 실현하기 위한 분산형 클라우드 기반 어플리케이션 실행 시스템을 제안한다.
도 1은, 본 발명에서 제안하는 클라우드 기반의 하이브리드 어플리케이션 실행 환경을 실현하는, 분산형 클라우드 기반 어플리케이션 실행 시스템의 일 실시예를 도시하고 있다.
도 1에 도시된 바와 같이, 본 발명의 분산형 클라우드 기반 어플리케이션 실행 시스템은, 사용자 별로 자원을 할당하고, 단말(10)의 사용자에 할당된 자원을 기반으로 단말(10)에서 실행되는 특정 어플리케이션(15)에 따른 앱 서비스의 데이터 연산 처리를 수행하여, 단말(10)에 클라우드 기반의 앱 서비스를 제공하는 코어클라우드 노드(200)와, 단말(10) 및 코어클라우드 노드(200) 사이에 위치하며, 단말(10)에서 실행되는 특정 어플리케이션(15)을 위한 어플리케이션 실행자원을 기반으로 상기 앱 서비스의 데이터 연산 처리 중 일부 데이터 연산 처리를 수행하여, 단말(10)에 클라우드 기반의 앱 서비스를 코어클라우드 노드(200)와 분산 제공하는 엣지클라우드 노드(100A)를 포함한다.
본 발명의 분산형 클라우드 기반 어플리케이션 실행 시스템에서는, 엣지클라우드 노드 및 코어클라우드 노드 사이에서 데이터 송수신에 관여하는 네트워크 장치 또는 망 장비가 존재하지만, 설명의 편의를 위해 이들 장비의 도시를 생략하였다.
도 1에서 알 수 있듯이, 코어클라우드 노드(200)와 클라우드 기반의 앱 서비스를 분산 제공할 수 있는 엣지클라우드 노드는 다수개(100A,100B,100C,...100N)일 수 있다.
다만, 설명의 편의를 위해, 하나의 단말(10)을 도시하고, 단말(10) 및 코어클라우드 노드(200) 사이에서 단말(10)에 클라우드 기반의 앱 서비스를 코어클라우드 노드(200)와 분산 제공하는 엣지클라우드 노드(100A)언급하여 설명하겠다.
단, 본 발명의 엣지클라우드 노드로서 엣지클라우드 노드(100A)를 언급하여 설명하는 것은, 설명의 편의를 위한 것일 뿐, 이하의 엣지클라우드 노드(100A)에 대한 구성 및 기능 설명은 모두 다른 엣지클라우드 노드(100B,100C,...100N)에도 동일하게 적용될 것이다.
코어클라우드 노드(200)는, 코어망(1)에 위치하여, 가상화된 IT(Information Technology) 자원을 기반으로 데이터 서비스를 실현해 주는 클라우드 서비스(또는 클라우드 컴퓨팅)을 제공한다.
이에, 사용자 즉 단말(10)은, 데이터 분류, 계산, 처리 및 분석 등 다양한 연산 처리의 기능(프로세스), 저장공간 등과 같은 IT 자원을 사용하여 제공되는 클라우드 서비스를 기반으로, 데이터 서비스를 이용할 수 있다.
이때, 단말(10)은, 본 발명의 분산형 클라우드 기반 어플리케이션 실행 시스템에서 제공하는 분산형 클라우드 서비스를 이용할 수 있는 형태의 사용자 측 장치로서, 예컨대 스마트폰, 데스크톱 PC, 태블릿 PC 등일 수 있다.
특히, 본 발명은, 단말에서 실행하는 어플리케이션(이하, 앱)에 따른 데이터 서비스(이하, 앱 서비스)의 데이터 연산 처리를 망 상의 가상화 자원을 기반으로 수행하는 클라우드 기반의 어플리케이션 실행 기술(환경)과 관련되므로, 코어클라우드 노드(200)를 클라우드 기반의 어플리케이션 실행 기술 관점에서 설명하겠다.
코어클라우드 노드(200)는, 사용자 별로 자원을 할당한다.
즉, 코어클라우드 노드(200)는, 자신이 제공하는 클라우드 서비스에 등록된 각 사용자(User) 별로, 클라우드 서비스를 제공하기 위한 가상화 IT 자원을 기 할당하는 것이다.
이에, 코어클라우드 노드(200)는, 클라우드 서비스 대상인 단말(10)의 사용자에 할당된 자원을 기반으로 단말(10)에서 실행되는 특정 어플리케이션(이하, 앱(15))에 따른 앱 서비스의 데이터 연산 처리를 수행하여, 단말(10)에 클라우드 서비스 즉 클라우드 기반의 앱 서비스를 제공한다.
구체적으로, 코어클라우드 노드(200)는, 자신이 제공하는 클라우드 서비스에 등록된 사용자에 의한 단말(10)에 대하여, 단말(10)에서 실행되는 앱(15)과 연동하여 클라우드 기반의 앱 서비스를 제공할 수 있다.
즉, 코어클라우드 노드(200)는, 단말(10)에서 실행되는 앱(15)과 연동하여, 앱(15)에 따른 앱 서비스의 데이터를 자신 내부의 해당 사용자에 할당된 자원을 기반으로 연산 처리하고, 그 데이터 연산 처리 결과를 단말(10)의 앱(15)으로 제공함으로써, 사용자 컨텍스트(User Context) 기반의 클라우드 서비스 즉 클라우드 기반의 앱 서비스를 제공할 수 있다.
이때, 앱(15)에 따른 앱 서비스의 데이터는, 단말(10) 구체적으로 단말(10)에서 실행되는 앱(15)에서 발생되는 데이터(예: 요청데이터, 응답데이터, 보고데이터 등)와, 해당 앱 서비스를 위해 구축된 별도의 센싱 디바이스(미도시)로부터 발생되는 데이터(예: 수집데이터, 보고데이터 등)를 포함한다.
엣지클라우드 노드(100A) 역시, 가상화된 IT(Information Technology) 자원을 기반으로 데이터 서비스를 실현해 주는 클라우드 서비스(또는 클라우드 컴퓨팅)을 제공한다.
다만, 엣지클라우드 노드(100A)는, 코어클라우드 노드(200) 보다 단말(10) 측에 가까운 위치에서, 클라우드 서비스(클라우드 기반 앱 서비스)의 특정 기능과 관련된 일부 데이터를 선택적으로 연산 처리하는 방식으로, 코어클라우드 노드(200)와 클라우드 기반의 앱 서비스를 분산 제공한다.
구체적으로, 엣지클라우드 노드(100A)는, 단말(10)이 연결되는 경우 단말(10)에서 실행되는 앱(15)을 위한 어플리케이션 실행자원을 할당한다.
그리고, 엣지클라우드 노드(100A)는, 상기 어플리케이션 실행자원을 기반으로 앱(15)에 따른 앱 서비스의 데이터 연산 처리 중 일부 데이터 연산 처리를 선택적으로 수행하여, 단말(10)에 클라우드 기반 앱 서비스를 코어클라우드 노드(200)와 분산 제공할 수 있다.
이에, 도 1에 도시된 바와 같이, 앱(15)을 실행하는 단말(10)은, 기지국(20A)와의 접속을 기반으로 엣지클라우드 노드(100A) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션①을 통해서, 앱(15)에 따른 앱 서비스를 이용할 수 있다.
이러한 엣지클라우드 노드(100A)는, 단말(10)이 코어망(1)과의 연결을 위해 접속하는 기지국(20A) 단에 위치하는 스토리지 노드를 기반으로, 코어클라우드 노드(200)와 클라우드 서비스를 분산 제공하는 것이 바람직하다.
더 구체적으로 예를 들면, 엣지클라우드 노드(100A)는, 기지국(20A) 단에 위치하는 모바일 엣지 컴퓨팅(Mobile Edge Computing) 노드를 포함할 수 있다.
모바일 엣지 컴퓨팅 노드(이하, MEC 노드)는, 사용자가 자주 활용하거나 빠른 전송이 필요한 대용량 데이터를 저장하고 요청 시에 즉각 전송해 주기 위해, 기지국 단에 구비되는 서버 형태의 노드이다.
따라서, MEC 노드는, 사용자가 자주 활용하거나 빠른 전송이 필요한 대용량 데이터를 저장하기 위한 스토리지를 구현하고 있다.
이에, 본 발명에서 엣지클라우드 노드(100A)는, MEC 노드와 별도의 노드인 경우, 기지국(20A) 단에 위치하는 스토리지 노드 즉 MEC 노드의 스토리지를 기반으로 코어클라우드 노드(200)와 클라우드 서비스를 분산 제공할 수 있다.
이 경우, 엣지클라우드 노드(100A) 역시 기지국(20A) 단에 위치하는 것이 바람직하다.
또는, 본 발명에서 엣지클라우드 노드(100A)는, MEC 노드를 포함하여 구현되는 경우, 기지국(20A) 단에 위치하는 스토리지 노드 즉 자신이 포함하고 있는 스토리지를 기반으로 코어클라우드 노드(200)와 클라우드 서비스를 분산 제공할 수도 있다.
이 경우, 엣지클라우드 노드(100A)는 기지국(20) 단에 위치할 것이다.
또는, 본 발명에서 엣지클라우드 노드(100A)는, MEC 노드와는 별개로, 별도의 스토리지 노드를 포함하거나 이와 연동하는 것도 가능하며, 이 스토리지 노드를 기반으로 코어클라우드 노드(200)와 클라우드 서비스를 분산 제공할 수도 있다.
클라우드 서비스 관점에서 볼 때, 단말(10)에서 실행되는 앱(15) 또는 센싱 디바이스(미도시)로부터 발생된 데이터가 클라우드 서비스를 제공하는 주체로 전달되기 위해 망에 인입되는 구간(예: 데이터 수집 구간)은, 단말(10) 또는 센싱 디바이스(미도시)에서 기지국(20A)까지의 구간이고, 이와 같이 망에 인입된 데이터들을 그 데이터에 요구되는 절차에 따라 전달 및 연산 처리하는 구간(예: 데이터 분석 구간)은, 기지국(20A)에서 클라우드 서비스를 제공하는 주체까지의 구간이라 할 수 있다.
도 1에서 알 수 있듯이, 본 발명에서는, 코어클라우드 노드(200)에서 제공하는 클라우드 서비스를 분산 제공하는 엣지클라우드 노드(100A)를 기지국(20A) 단에 구현함으로써, 데이터 수집 구간에서 클라우드 서비스(클라우드 컴퓨팅)이 가능해 지도록 하는 것이다.
이와 같이, 본 발명에서는, 단말(10)에서 실행하는 앱(15)에 따른 앱 서비스를 코어클라우드 노드(200) 및 사용자(단말)에 가까운 기지국(20A) 단에 위치의 엣지클라우드 노드(100A)에서 클라우드 기반으로 분산 제공함으로써, 기존의 클라우드 기반의 어플리케이션 실행 환경이 갖는 성능 한계/제약을 개선하는 클라우드 기반의 하이브리드 어플리케이션 실행 환경(기술)을 실현한다.
이때, 본 발명에서 제안하는 클라우드 기반의 하이브리드 어플리케이션 실행 환경의 경우, 엣지클라우드 노드(100A)가 기지국(20A) 단에 위치하는 점, 단말(10)은 이동이 자유롭다는 점을 감안하면, 단말(10)이 이동하는 경우, 엣지클라우드 노드(100A)에서 분산 제공하고 있던 클라우드 기반의 앱 서비스 기능(이하, 앱 기능)을 핸드오버하기 위한, 엣지클라우드 노드에서의 새로운 핸드오버 기술이 요구된다.
이러한 엣지클라우드 노드에서의 핸드오버 기술을 실현하기 위해, 본 발명에서, 엣지클라우드 노드(100A)에서 제공하고 있는 앱 서비스의 일부 데이터를 연산 처리하는 기능(이하, 앱 기능)은, 단말(10)이 엣지클라우드 노드(100A)의 소스 기지국(20A)에서 타 엣지클라우드 노드의 타겟 기지국으로 무선구간 핸드오버 하는 경우, 단말(10)에 클라우드 기반으로 제공하는 앱 서비스의 기 정의된 핸드오버 트리거 이벤트 발생 여부에 근거하여 선택적으로 엣지클라우드 노드(100A)에서 타 엣지클라우드 노드로 핸드오버 된다.
단말(10)은 앱(15)을 실행하여 코어클라우드 노드(200) 및 엣지클라우드 노드(100A)로부터 제공되는 클라우드 기반의 앱 서비스를 이용하는 중(이 경우 어플리케이션 세션①), 자유롭게 이동할 수 있다.
예를 들면, 도 1에 도시된 바와 같이, 단말(10)은 기지국(20A)의 커버리지에서 코어클라우드 노드(200) 및 엣지클라우드 노드(100A)로부터 제공되는 클라우드 기반의 앱 서비스를 이용하다가, 기지국(20B)의 커버리지로 이동하고, 또 기지국(20C)의 커버리지로 이동할 수 있다.
이렇게 되면, 단말(10)은, 기존의 일반적인 무선구간(Radio) 핸드오버 기술에 따라, 기지국(20A)의 커버리지에서 기지국(20B)의 커버리지로 이동 시 소스 기지국(20A)에서 타겟 기지국(20B)으로 무선구간 핸드오버 하고, 기지국(20B)의 커버리지에서 기지국(20C)의 커버리지로 이동 시 소스 기지국(20B)에서 타겟 기지국(20C)으로 무선구간 핸드오버 한다.
여기서, 단말(10)이 기지국 사이에서 무선구간 핸드오버 하는 과정은, 기존의 다양한 무선구간(Radio) 핸드오버 기술 중 하나를 채택해도 무방하므로, 구체적인 설명을 생략하도록 하겠다.
이때, 본 발명의 엣지클라우드 노드(100A)는, 엣지클라우드 노드(100A)에서 단말(10)에 제공하고 있는 앱 기능, 달리 말하면 엣지클라우드 노드(100A)에서 단말(10)에 분산 제공하고 있던 클라우드 기반의 앱 서비스 기능을, 단말(10)이 무선구간 핸드오버를 할 때마다 무선구간 핸드오버된 타겟 기지국의 타 엣지클라우드 노드로 무조건 핸드오버 하지는 않는다.
예를 들어, 본 발명의 엣지클라우드 노드(100A)는, 단말(10)이 엣지클라우드 노드(100A)의 소스 기지국(20A)에서 타 엣지클라우드 노드(100B)의 타겟 기지국(20B)으로 무선구간 핸드오버 하더라도, 단말(10)에 제공하는 클라우드 기반 앱 서비스의 서비스 품질이 좋으면 엣지클라우드 노드(100A)에서 단말(10)에 제공하고 있는 앱 기능을 계속 수행하는 것이다.
그러다가, 본 발명의 엣지클라우드 노드(100A)는, 단말(10)이 타 엣지클라우드 노드(100C)의 타겟 기지국(20C)으로 무선구간 핸드오버 하는 경우, 단말(10)에 제공하는 클라우드 기반 앱 서비스의 서비스 품질이 나쁘면 비로소 엣지클라우드 노드(100A)에서 단말(10)에 제공하고 있는 앱 기능을 엣지클라우드 노드(100C)로 핸드오버 시킬 수 있다.
이때, 단말(10)에 제공하는 클라우드 기반 앱 서비스의 서비스 품질이 좋은지 나쁜지의 여부는, 단말(10)에 제공하는 앱 서비스의 기 정의된 핸드오버 트리거 이벤트 발생 여부로 구분되는 것이 바람직하다.
이하에서는, 도 2를 참조하여 본 발명의 바람직한 실시예에 따른 엣지클라우드 노드(장치)의 구체적인 구성을 설명하겠다.
엣지클라우드 노드(100A)를 언급하여 설명하면, 본 발명의 엣지클라우드 노드(100A)는, 단말(10) 연결 시, 단말(10)에서 실행되는 특정 어플리케이션(15, 이하 앱(15)을 위한 어플리케이션 실행자원을 할당하는 자원할당부(120)와, 앱(15)에 따른 앱 서비스의 데이터 중, 코어망(1) 단의 코어클라우드 장치(200, 이하 코어클라우드 노드)에서 단말(10)에 제공하는 클라우드 기반의 앱 서비스의 특정 기능과 관련된 일부 데이터를 선택하고, 그 외의 데이터는 코어클라우드 노드(200)로 전달하는 필터링부(140)와, 상기 할당한 어플리케이션 실행자원을 기반으로 상기 선택한 앱 서비스의 일부 데이터를 연산 처리하여, 단말(10)에 클라우드 기반의 앱 서비스를 코어클라우드 노드(200)와 분산 제공하는 어플리케이션실행부(130)와, 단말(10)이 기지국 사이에서 무선구간 핸드오버 하는 경우, 상기 앱 서비스의 일부 데이터를 연산 처리하는 앱 기능을, 선택적으로 핸드오버 시키는 핸드오버제어부(150)를 포함한다.
그리고, 도 2에 도시된 바와 같이, 본 발명의 엣지클라우드 노드(100A)는, 단말연동부(110)와, 그룹연동부(160)와, 스토리지연동부(170)를 더 포함할 수 있다.
단말연동부(110)는, 연결되는 단말(10)과 연동하는 기능부이다.
단말연동부(110)는, 엣지클라우드 노드(100A)가 기지국(20A) 단에 위치하므로, 기지국(20A) 접속을 통해서 연결되는 단말(10)과 연동할 것이다.
여기서, 단말연동부(110)는, 기 설정된 인증절차를 거쳐 연결되는 단말(10)을 확인할 수 있고, 또는 인증절차 없이 연결되는 불특정의 단말(10)을 확인할 수도 있다.
이때, 단말(10)이 엣지클라우드 노드(100A) 더 구체적으로는 단말연동부(110)에 연결되는 방식은, 단말(10) 측에 탑재된 엣지클라우드 노드 탐색 기능에 의해 탐색 및 연결되는 방식으로 실현될 수 있다.
여기서, 탐색 기능은, 본 발명을 위해 개발된 탐색 기능일 수도 있지만, 기존에 사용되고 있는 무선 통신(예: WiFi, 등)에서 제공하는 탐색 기능일 수도 있으며, 별도의 탐색 기능으로 한정되지 않는다.
이에, 단말연동부(110)는, 연결 확인되는 단말(10)로부터 데이터(예: 요청데이터, 응답데이터, 보고데이터 등)를 수신하고 단말(10)로 데이터(예: 데이터 연산 처리 결과_App Streaming)를 송신하는 방식으로, 단말(10)과 연동할 수 있다.
자원할당부(120)는, 단말(10) 연결 시, 단말(10)에서 실행되는 앱(15)을 위한 어플리케이션 실행자원을 할당한다.
즉, 자원할당부(120)는, 단말연동부(110)에서의 단말(10) 연결이 확인되면, 엣지클라우드 노드(100A)가 보유하고 있는 데이터 연산 처리를 위한 컴퓨팅 리소스에서, 단말(10)에서 실행되는 앱(15)을 위한 어플리케이션 실행자원을 즉각 할당할 수 있다.
아울러, 자원할당부(120)는, 단말연동부(110)에서의 단말(10) 연결 종료가 확인되면, 앞서, 단말(10)에서 실행되는 앱(15)을 위해 할당한 어플리케이션 실행자원을 회수할 수 있다.
필터링부(140)는, 단말(10)에서 실행되는 앱(15)과 관련하여 발생되는 데이터 중, 코어망(1) 단에서 앱(15)에 대하여 제공하는 클라우드 서비스의 특정 기능과 관련된 데이터를 선택하고, 그 외의 데이터는 코어망(1)으로 전달한다.
이때, 앱(15)과 관련하여 발생되는 데이터란, 앞서 설명한 바 있는 앱(15)에서 제공하는 데이터 서비스와 관련하여 발생되는 데이터를 의미한다.
즉, 앱(15)과 관련하여 발생되는 데이터는, 단말(10) 구체적으로 단말(10) 내 앱(15)에서 발생되는 데이터(예: 요청데이터, 응답데이터, 보고데이터 등)와, 해당 데이터 서비스를 위해 구축된 별도의 센싱 디바이스(미도시)로부터 발생되는 데이터(예: 수집데이터, 보고데이터 등)를 포함한다.
즉, 필터링부(140)는, 단말(10)에서 실행되는 앱(15)에 따른 앱 서비스의 데이터 중, 코어망(1) 단의 코어클라우드 노드(200)에서 단말(10)에 제공하는 클라우드 기반의 앱 서비스의 특정 기능과 관련된 일부 데이터를 선택(필터링)하고, 그 외의 데이터는 코어클라우드 노드(200)로 전달한다.
예를 들어, 단말(10)에서 실행되는 앱(15)에 따른 앱 서비스와 관련하여 발생/수신된 금번 데이터가, 정보표시를 위한 앱 서비스의 기능과 관련된 데이터인 경우, 필터링부(140)는 필터링(선택)할 수 있다.
반면 예를 들어, 단말(10)에서 실행되는 앱(15)에 따른 앱 서비스와 관련하여 발생/수신된 금번 데이터가, 대용량 데이터 기반의 영상분석을 위한 앱 서비스의 기능과 관련된 데이터인 경우, 필터링부(140)는 필터링(선택)하지 않고 코어망(1) 즉 코어클라우드 노드(200)로 전달할 수 있다.
이때 구체적으로 설명하면, 필터링부(140)는, 필터링(선택)하지 않은 그 외의 데이터(예: 영상분석 데이터)를 단말(10)의 사용자 컨텍스트(User Context, 후술의 U10)를 기반으로 코어망(1) 즉 코어클라우드 노드(200)로 전달하여, 코어클라우드 노드(200)에게 사용자 컨텍스트에 따른 사용자에 기 할당한 자원 기반의 클라우드 기반 앱 서비스를 요청할 수 있다.
이렇게 되면, 엣지클라우드 노드(100A)에서 필터링되지 않고 코어클라우드 노드(200)로 전달되는 데이터는, 빅데이터(스토리지 노드)와 연동하는 코어클라우드 노드(200)에서 단말(10)의 해당 사용자에 할당된 자원을 기반으로 즉 사용자 컨텍스트를 기반으로 연산 처리될 것이다.
그리고, 코어클라우드 노드(200)는, 단말(10)의 해당 사용자에 할당된 자원을 기반으로 연산 처리한 데이터 연산 처리 결과를, 사용자 컨텍스트를 기반으로 내부 저장소 또는 연동하는 스토리지 노드에 저장하되, 단말(10)의 사용자 컨텍스트를 기반으로 엣지클라우드 노드(100A)를 통해 단말(10)의 앱(15)으로 제공(전달)하여, 클라우드 서비스 즉 클라우드 기반 앱 서비스를 제공할 수 있다.
어플리케이션실행부(130)는, 자원할당부(120)가 할당한 어플리케이션 실행자원을 기반으로 필터링부(140)가 선택(필터링)한 데이터(예: 정보표시 데이터)를 연산 처리하여, 단말(10)에 클라우드 서비스 즉 클라우드 기반 앱 서비스를 코어클라우드 노드(200)와 분산 제공한다.
구체적으로 설명하면, 어플리케이션실행부(130)는, 단말(10)의 사용자 컨텍스트(U10)를 기반으로 동작하는 가상 머신(Virtual Machine, VM)과, 가상 머신(VM)의 동작에 따른 가상화 단말을 기반으로 실행되어 필터링부(140)가 선택(필터링)한 데이터를 단말(10) 내의 앱(15)을 대신하여 연산 처리하는 가상 어플리케이션(Virtual Application, vApp)으로 구성될 수 있다.
그리고, 가상 머신(VM) 및 가상 어플리케이션(vApp)으로 구성된 어플리케이션실행부(130)는, 단말(10) 연결 시 앞서 자원할당부(120)가 할당한 어플리케이션 실행자원에 구성되어 동작하는 것이 바람직하다.
더 구체적으로 예를 들면, 본 발명에서 어플리케이션실행부를 앱 단위로 구성하는 경우라면, 단말(10) 연결 시점에 단말(10)에서 실행 중인 어플리케이션이 앱(15) 하나라는 전제 하에, 단말(10)에 할당된 어플리케이션 실행자원에 어플리케이션실행부(130)가 구성될 수 있고, 단말(10)에서 새로운 앱이 추가로 실행되면 단말(10)에 할당된 어플리케이션 실행자원에 새로운 앱을 위한 어플리케이션실행부가 더 구성될 수도 있다.
아울러, 가상 머신(VM) 및 가상 어플리케이션(vApp)으로 구성된 어플리케이션실행부(130)는, 단말(10) 연결 종료 시, 앞서 자원할당부(120)가 할당한 어플리케이션 실행자원에서 제거되는 것이 바람직하다.
더 구체적으로 예를 들면, 본 발명에서 어플리케이션실행부를 앱 단위로 구성하는 경우라면, 어플리케이션실행부(130)는, 단말(10) 연결 종료 시 단말(10)에 할당된 어플리케이션 실행자원에서 제거될 수도 있고, 단말(10) 연결이 종료되지 않더라도 앱(10) 실행 종료 시 단말(10)에 할당된 어플리케이션 실행자원에서 제거될 수도 있다.
다시, 어플리케이션실행부(130)을 언급하여 클라우드 기반 앱 서비스를 분산 제공하는 과정을 설명하면 다음과 같다.
어플리케이션실행부(130) 구체적으로 가상화 단말(단말(10)의 사용자 컨텍스트(U10))을 기반으로 실행되는 vApp은, 자원할당부(120)가 할당한 어플리케이션 실행자원을 기반으로 필터링부(140)가 선택(필터링)한 데이터를 연산 처리하여, 클라우드 기반 앱 서비스를 코어클라우드 노드(200)와 분산 제공한다.
이러한 어플리케이션실행부(130) 즉 vApp는, 단말(10)이 코어망(1)과의 연결을 위해 접속하는 기지국(20A) 단에 위치하는 스토리지 노드(미도시)를 기반으로 데이터를 연산 처리하는 것이 바람직하다.
예를 들어, 금번 필터링부(140)에서 선택(필터링)한 데이터가 정보표시 데이터인 경우, 어플리케이션실행부(130) 즉 vApp은 그 데이터를 스토리지 노드(미도시)에 저장된 데이터를 기반으로 연산 처리(정보표시 화면 생성)하여, 클라우드 기반 앱 서비스를 코어클라우드 노드(200)와 분산 제공할 수 있다.
이때 연동되는 스토리지 노드(미도시)는, 전술한 바와 같이 별도 MEC 노드의 스토리지일 수 있고, 또는 엣지클라우드 노드(100A)에 포함된 MEC 노드의 스토리지일 수 있고, MEC 노드와는 별개의 스토리지 노드일 수도 있다.
이에, 엣지클라우드 노드(100A)에서 선택(필터링)된 데이터는, 엣지클라우드 노드(100A)에서 유동적으로 할당되는 어플리케이션 실행자원 및 이에 구성되는 어플리케이션실행부(130)에 의해 연산 처리됨으로써, 엣지클라우드 노드(100A)는 단말(10) 내 앱(15)에 대하여 선택(필터링)한 데이터 연산 처리를 통해 앱 서비스의 특정 기능을 선택적으로 분산 제공할 수 있다.
여기서, 앱 서비스의 특정 기능은, 기 설정되는 분산정책에 따라 변경될 수 있다.
따라서, 분산정책이 어떻게 설정되는지에 따라, 필터링부(140)가 필터링하는 데이터가 변하게 될 것이고, 결국 엣지클라우드 노드(100A)가 분산 제공하는 클라우드 기반 앱 서비스의 특정 기능이 변하게 된다.
이와 같이 필터링부(140)의 데이터 필터링에 영향을 미치는 분산정책은, 스토리지 노드(미도시) 내에 저장된 데이터가 지원 가능한 클라우드 서비스의 기능 범위, 앱 서비스의 종류, 앱 서비스에서 요구하는 연산량 및 서비스 속도 중 적어도 하나를 기준으로 설정될 수 있다.
다만, 스토리지 노드(미도시) 내에 저장된 데이터가 지원 가능한 클라우드 서비스의 기능 범위가 클 수록, 기능 범위가 작은 경우 대비 더 큰 연산량을 요구하는 데이터 서비스까지 엣지클라우드 노드(100A)에서 필터링하도록 분산정책이 설정될 수 있다.
또한, 앱 서비스의 종류가 실시간 보장이 중요한 것일수록, 반대의 경우 대비 엣지클라우드 노드(100A)에서 필터링하도록 분산정책이 설정될 수 있다.
또한, 앱 서비스에서 요구하는 연산량이 적고 서비스 속도가 빠른 것일수록, 반대의 경우 대비 엣지클라우드 노드(100A)에서 필터링하도록 분산정책이 설정될 수 있다.
즉, 본 발명에서는, 분산정책 설정을 통해 클라우드 서비스의 분산 제공을 제어할 수 있는 제어 프레임웍(Management Framework)을 제시하는 것이다.
단말연동부(110)는, 어플리케이션실행부(130)에서 데이터(예: 정보표시 데이터)를 연산 처리(예: 정보표시 화면 생성)한 결과(예: 정보표시 화면)를 단말(10) 구체적으로는 앱(15)으로 제공한다.
이때, 어플리케이션실행부(130)에서 데이터를 연산 처리한 결과는, 단말연동부(110)에 의해 스트리밍 방식으로 단말(10)에 제공되는 것이 바람직하다.
즉, 엣지클라우드 노드(100A)에서 데이터 연산 처리된 결과(예: 정보표시 화면)가 스트리밍 방식으로 단말(10)에 제공되어, 단말(10)에서 실행 중인 앱(15)은 스트리밍 수신되는 데이터(이하, App Streaming)을 추가적인 연산 처리 없이 즉시 출력(예: 디스플레이)할 수 있게 된다.
한편, 단말연동부(110)는, 코어클라우드 노드(200)로 전달한 데이터가 코어클라우드 노드(200)에 의해 연산 처리된 결과를 수신하면, 이를 단말(10) 구체적으로는 앱(15)으로 제공한다.
이에, 본 발명의 엣지클라우드 노드(100A)는, 코어망(1)에서 클라우드 기반의 앱 서비스를 제공하는 코어클라우드 노드(200) 보다 사용자(단말)에 가까이에 위치하여, 유동적으로 할당되는 리소스(어플리케이션 실행자원)에 구성되는 어플리케이션실행부를 통해서 클라우드 기반의 앱 서비스(특정 기능)를 분산 제공할 수 있다.
이에, 도 1에 도시된 바와 같이, 앱(15)을 실행하는 단말(10)은, 기지국(20A)와의 접속을 기반으로 엣지클라우드 노드(100A) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션①을 통해서, 앱(15)에 따른 앱 서비스를 이용할 수 있다.
아울러, 본 발명의 엣지클라우드 노드(100A)는, 스토리지연동부(170)를 더 포함할 수 있다.
스토리지연동부(170)는, 어플리케이션실행부(130)에서 데이터를 연산 처리한 결과를 단말의 사용자 컨텍스트를 기반으로 코어클라우드 노드(200)로 전달하여, 코어망(1) 단에서 클라우드 서비스 즉 클라우드 기반의 앱 서비스를 제공하는 코어클라우드 노드(200)와 공유한다.
구체적으로 예를 들면, 스토리지연동부(170)는, 어플리케이션실행부(130)의 데이터 연산 처리 결과를 엣지클라우드 노드(100A)가 연동하는 스토리지 노드(미도시)에 단말(10)의 사용자 컨텍스트(U10)를 기반으로 저장하되, 단말(10)의 사용자 컨텍스트(U10)를 기반으로 코어클라우드 노드(200)에 제공하여 코어클라우드 노드(200)와 공유할 수 있다.
이렇게 되면, 엣지클라우드 노드(100A)가 분산 제공하는 클라우드 기반의 앱 서비스 결과는, 엣지클라우드 노드(100A) 측에도 저장되고 코어클라우드 노드(200) 측에도 공유 방식으로 저장된다.
이에, 본 발명에서는, 기지국(20A) 단의 엣지클라우드 노드(100A) 및 코어망(1) 상의 코어클라우드 노드(200)에서 클라우드 서비스(클라우드 기반의 앱 서비스)를 분산 제공하더라도, 엣지클라우드 노드(100A) 및 코어클라우드 노드(200) 각각이 클라우드 서비스를 정상적으로 제공할 수 있는 스토리지 상태가 유지될 수 있다.
이상에서 설명한 바와 같이, 본 발명에서는, 단말에서 실행하는 앱에 대하여 제공하는 클라우드 기반의 앱 서비스를, 코어클라우드 노드(200) 및 코어클라우드 노드(200) 보다 사용자(단말)에 가까이에 위치한 엣지클라우드 노드(100A)가 분산 제공하는 구조(클라우드 기반의 하이브리드 어플리케이션 실행 환경)를 실현함으로써, 데이터 수집 구간에서 앱 서비스의 일부 기능(특정 기능)의 클라우드 서비스(클라우드 컴퓨팅)가 가능해진다.
이렇게 되면, 도 1에 도시된 바와 같이, 엣지클라우드 노드(100A)에서 선택적으로 제공하는 클라우드 기반의 앱 서비스의 경우 서비스 지연(도 1의 Latency_Edge)이 기존의 클라우드 기반 어플리케이션 실행 환경(도 1의 Latency_Core) 대비 월등하게 줄일 수 있고(초 저지연 만족), 코어클라우드 노드(200)에서 제공하는 클라우드 기반의 앱 서비스의 경우 기존의 클라우드 기반 어플리케이션 실행 환경에서와 마찬가지로 대용량의 데이터를 빠른 속도로 연산 처리할 수 있기 때문에 서비스 신뢰도(precision)가 저하되는 일이 없을 것이다.
아울러, 본 발명에서는, 엣지클라우드 노드(100A)가 유동적으로 할당/회수되는 리소스(어플리케이션 실행자원)에 구성되는 어플리케이션실행부를 통해서 클라우드 서비스를 제공함으로써, 클라우드 서비스를 위한 리소스를 재활용 가능한 환경을 조성하기 때문에 초 저지연/대용량의 데이터 서비스를 가능하게 하는 성능 개선을 기대할 수 있다.
또한, 본 발명에서는, 하나의 코어클라우드 노드와 다수 개의 엣지클라우드 노드가 클라우드 서비스를 분산 수행하는 유동적 구조의 클라우드 컴퓨팅 플랫폼(분산형 클라우드 컴퓨팅 시스템)을 제안, 이를 통해 분산형 클라우드 서비스를 실현함으로써, 별도의 중앙 장치를 구비하지 않고도 유동적인 자원 연동(연계)이 가능한 구조적 환경을 제공할 수 있다.
아울러, 본 발명에서는, 앞서 언급한 효과들 즉 서비스 지연(Latency)을 줄이면서 유동적인 자원 연동(연계)이 가능해 지도록 하는 효과로 인해, 코어망 단의 트래픽 감소, 엣지클라우드 노드의 유동적인 확장성 등 다양한 부수적 효과들을 기대할 수 있다.
핸드오버제어부(150)는, 단말(10)이 기지국 사이에서 무선구간 핸드오버 하는 경우, 어플리케이션실행부(130)에서 단말(10)에서 실행되는 앱(15)에 대해 앱 서비스의 일부 데이터를 연산 처리하는 앱 기능을, 선택적으로 핸드오버 시킨다.
즉, 핸드오버제어부(150)는, 엣지클라우드 노드(100A)에서 단말(10)에 분산 제공하고 있던 클라우드 기반의 앱 서비스 기능(앱 기능)을, 엣지클라우드 노드 간 핸드오버하는 제반 과정을 제어하는 역할을 한다.
이때, 핸드오버제어부(150)는, 단말(10)이 엣지클라우드 노드(100A)의 기지국(20A)에서 엣지그룹 내 타 엣지클라우드 노드의 타겟 기지국으로 무선구간 핸드오버 하는 경우, 단말(10)에 제공하는 클라우드 기반 앱 서비스의 기 정의된 핸드오버 트리거 이벤트 발생 시 앱 기능을 타 엣지클라우드 노드로 핸드오버 시킨다.
예컨대, 각 어플리케이션(앱)에 의해 제공되는 앱 서비스 별로, 핸드오버 트리거 이벤트 발생 여부를 판단하기 위한 파라미터 즉 앱 서비스의 품질이 좋은지 나쁜지를 구분하는데 활용될 수 있는 파라미터가 정의될 수 있다.
보다 구체적인 일 예로는, 앱 서비스의 지연시간이 그 파라미터일 수 있다.
이에, 핸드오버제어부(150)는, 단말(10)이 엣지클라우드 노드(100A)의 기지국(20A)에서 엣지그룹 내 타 엣지클라우드 노드의 타겟 기지국으로 무선구간 핸드오버 하는 경우, 단말(10)에 제공하는 클라우드 기반 앱 서비스에 정의된 파라미터(예: 지연시간)를 보고 핸드오버 트리거 이벤트 발생 여부를 판단할 수 있다.
그 파마리터로서 지연시간을 가정하면, 핸드오버제어부(150)는, 단말(10)에 제공하는 클라우드 기반 앱 서비스의 지연시간이 기 설정된 특정 지연시간 이상이면, 핸드오버 트리거 이벤트 발생으로 판단할 수 있다.
이와 같이, 핸드오버제어부(150)는, 단말(10)이 엣지클라우드 노드(100A)의 기지국(20A)에서 엣지그룹 내 타 엣지클라우드 노드의 타겟 기지국으로 무선구간 핸드오버 하는 경우, 앱 서비스의 지연시간이 특정 지연시간 이상이면 핸드오버 트리거 이벤트 발생으로 판단하여, 앱 기능을 타 엣지클라우드 노드로 핸드오버 시킬 수 있다.
반면, 핸드오버제어부(150)는, 단말(10)이 엣지클라우드 노드(100A)의 기지국(20A)에서 엣지그룹 내 타 엣지클라우드 노드의 타겟 기지국으로 무선구간 핸드오버 하는 경우라도, 단말(10)에 제공하는 클라우드 기반 앱 서비스의 핸드오버 트리거 이벤트 미 발생(예: 지연시간 < 특정 지연시간) 시에는, 앱 기능을 타 엣지클라우드 노드로 핸드오버 시키지 않는다.
여기서, 앱 서비스의 지연시간은, 클라우드 기반의 앱 서비스를 이용하는 단말(10)에서 측정되어, 단말(10)에 대하여 현재 앱 기능을 제공하고 있는 엣지클라우드 노드 즉 엣지클라우드 노드(100A)로 보고될 수 있다.
그리고, 특정 지연시간이란, 앱 서비스의 지연시간을 기준으로 서비스 품질이 좋은 상태인지 아니면 나쁜 상태인지를 구분하기 위해 기 설정되는 시간치로서, 변경 가능한 것이다.
그룹연동부(160)는, 이러한 엣지클라우드 노드 간 앱 기능 핸드오버를 위해서, 전제되는 구성이다.
그룹연동부(160)는, 엣지클라우드 노드(100A)가 포함된 엣지그룹 내 각 엣지클라우드 장치(노드)와 연동하는 역할을 한다.
예를 들면, 도 1에 도시된 바와 같이, 엣지클라우드 노드(100A)가 포함된 엣지그룹은, 다수 개의 엣지클라우드 노드(100A,100B,100C,...100N)로 구성된다고 가정할 수 있다.
이 경우, 그룹연동부(160)는, 엣지그룹 내 각 엣지클라우드 노드(100B,100C,...100N)와 연동한다.
이때의 연동 방식은, 엣지클라우드 노드 간에 즉시 통신 가능한 통신 세션을 유지하고 있는 방식일 수도 있고, 엣지클라우드 노드 간에 통신 세션을 즉시 연결할 수 있는 대기 상태를 유지하고 있는 방식일 수도 있고, 엣지클라우드 노드 간에 상대방 엣지클라우드 노드의 기지국으로 데이터를 송수신할 수 있는 관련정보를 공유하는 방식일 수도 있다.
단말(10)은 앱(15)을 실행하여 코어클라우드 노드(200) 및 엣지클라우드 노드(100A)로부터 제공되는 클라우드 기반의 앱 서비스를 이용하는 중(이 경우 어플리케이션 세션①), 자유롭게 이동할 수 있다.
예를 들면, 도 1에 도시된 바와 같이, 단말(10)은 기지국(20A)의 커버리지에서 코어클라우드 노드(200) 및 엣지클라우드 노드(100A)로부터 제공되는 클라우드 기반의 앱 서비스를 이용하다가, 기지국(20B)의 커버리지로 이동하고, 또 기지국(20C)의 커버리지로 이동할 수 있다.
이 경우로 가정하여 설명하면, 단말(10)은, 기존의 일반적인 무선구간(Radio) 핸드오버 기술에 따라, 기지국(20A)의 커버리지에서 기지국(20B)의 커버리지로 이동 시 소스 기지국(20A)에서 타겟 기지국(20B)으로 무선구간 핸드오버 하고(①->②), 기지국(20B)의 커버리지에서 기지국(20C)의 커버리지로 이동 시 소스 기지국(20B)에서 타겟 기지국(20C)으로 무선구간 핸드오버 한다(②->③).
핸드오버제어부(150)는, 단말(10)이 엣지클라우드 노드(100A)의 기지국(20A)에서 엣지그룹 내 타 엣지클라우드 노드의 타겟 기지국으로 무선구간 핸드오버 하는 경우, 단말(10)에 제공하는 클라우드 기반 앱 서비스의 핸드오버 트리거 이벤트 발생 여부를 확인한다.
즉, 핸드오버제어부(150)는, 단말(10)로부터 엣지클라우드 노드(100A)로 가장 최근에 측정/보고된 앱 서비스의 파라미터(예: 지연시간)을 기반으로, 핸드오버 트리거 이벤트 발생 여부를 확인할 수 있다.
이에, 핸드오버제어부(150)는, 앱 서비스의 핸드오버 트리거 이벤트가 발생하는지(서비스 품질 나쁜 상태) 미 발생하는지(서비스 품질 좋은)를 판단한다.
이하에서는, 설명의 편의 상 핸드오버 트리거 이벤트로서, 앱 서비스의 지연시간이 특정 지연시간 이상 시 발생되는 일 예로 통칭하여 설명하겠다.
예를 들어, 단말(10)이 소스 기지국(20A)에서 타겟 기지국(20B)으로 무선구간 핸드오버한 경우(①->②), 앱 서비스의 지연시간이 특정 지연시간 이상이 아닌 것으로 가정한다.
이 경우, 핸드오버제어부(150)는, 단말(10)이 소스 기지국(20A)에서 타겟 기지국(20B)으로 무선구간 핸드오버 하더라도(①->②), 앱 서비스의 지연시간이 특정 지연시간 이상이 아닌 것으로 판단하여, 단말(10)에 제공하는 앱 기능을 엣지클라우드 노드(100B)로 핸드오버 시키지 않는다.
대신, 핸드오버제어부(150)는, 코어클라우드 노드(200)로부터 수신되는 앱 서비스의 데이터를 연산 처리된 결과 및 어플리케이션실행부(130)에서 앱 서비스의 일부 데이터를 연산 처리한 결과를 포함하는 앱 서비스의 서비스 컨텍스트(Service Context)를, 그룹연동부(160)를 기반으로 타겟 기지국(20B)을 통해 단말(10)에 스트리밍 제공할 수 있다(App Streaming Relay).
이렇게 되면, 도 1에 도시된 바와 같이, 앱(15)을 실행하는 단말(10)은, 기지국(20B)와의 접속을 기반으로 엣지클라우드 노드(100A) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션②을 통해서, 앱(15)에 따른 앱 서비스를 이용할 수 있다.
즉, 어플리케이션 세션②는, 어플리케이션 세션①과 비교하여, 엣지클라우드 노드(100A) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션 구간은 동일하되, 무선구간 만이 기지국(20A)에서 기지국(20B)로 변경되는 것이다.
한편, 단말(10)이 소스 기지국(20B)에서 타겟 기지국(20C)으로 무선구간 핸드오버한 경우(②->③), 앱 서비스의 지연시간이 특정 지연시간 이상인 것으로 가정한다.
이 경우, 핸드오버제어부(150)는, 단말(10)이 소스 기지국(20B)에서 타겟 기지국(20C)으로 무선구간 핸드오버 하면(②->③), 어플리케이션실행부(130)에서 수행하는 앱 기능 즉 단말(10)에 분산 제공하고 있던 클라우드 기반의 앱 서비스의 기능을 엣지클라우드 노드(100C)로 핸드오버 시킬 수 있다.
이하에서는, 어플리케이션실행부(130)에서 수행하는 앱 기능을 엣지클라우드 노드(100C)로 핸드오버 시키는 과정을 설명하겠다.
핸드오버제어부(150)는, 단말(10)의 사용자 컨텍스트(U10)를 엣지클라우드 노드(100C)로 복사(Copy)하여, 단말(10)의 앱(15)을 위해 구성된 어플리케이션실행부(130) 내 vApp이 엣지클라우드 노드(100C)에서 상기 복사된 단말(10)의 사용자 컨텍스트(U10)를 기반으로 구성하는 어플리케이션실행부에 동일하게 구성되도록 하여, 앱 기능을 엣지클라우드 노드(100A)로부터 엣지클라우드 노드(100C)로 핸드오버 시킨다.
구체적으로, 핸드오버제어부(150)는, 단말(10)이 소스 기지국(20B)에서 타겟 기지국(20C)으로 무선구간 핸드오버 하는 경우(②->③), 앱 서비스의 지연시간이 특정 지연시간 이상인 것으로 판단되면, 단말(10)의 사용자 컨텍스트(U10)를 엣지클라우드 노드(100C)로 복사(Copy)한다.
즉, 핸드오버제어부(150)는, 그룹연동부(160)를 기반으로, 단말(10)의 사용자 컨텍스트(U10)를 복사하여 엣지클라우드 노드(100C)로 제공하거나 또는 엣지클라우드 노드(100C)가 단말(10)의 사용자 컨텍스트(U10)를 복사해갈 수 있도록 지원함으로써, 단말(10)의 사용자 컨텍스트(U10)를 엣지클라우드 노드(100C)로 복사(Copy)할 수 있다.
이렇게 단말(10)의 사용자 컨텍스트(U10)를 엣지클라우드 노드(100A)로부터 복사한 엣지클라우드 노드(100C)에는, 기지국(20C) 접속을 통해서 연결되는 단말(10)에 대하여, 단말(10) 연결 시 할당한 어플리케이션 실행자원에 가상 머신(VM) 및 가상 어플리케이션(vApp)으로 구성된 어플리케이션실행부가 생성(구성)될 것인데, 이 어플리케이션실행부에 구성되는 가상 어플리케이션(vApp)은 엣지클라우드 노드(100A)로부터 복사한 사용자 컨텍스트(U10)를 기반으로 엣지클라우드 노드(100A)의 어플리케이션실행부(130) 내 vApp과 동일하게 구성될 것이다.
이렇게 되면, 단말(10)의 사용자 컨텍스트(U10)를 엣지클라우드 노드(100A)로부터 복사한 엣지클라우드 노드(100C)에는, 엣지클라우드 노드(100A)에서 단말(10)에서 실행되는 앱(15)을 위해 수행하던 앱 기능의 주체인 어플리케이션실행부(130) 달리 말하면 가상 머신(VM)이, 그대로 옮겨지는 것과 마찬가지이다.
이와 같이, 엣지클라우드 노드(100A)에서 엣지클라우드 노드(100C)로 복사된 단말(10)의 사용자 컨텍스트(U10)를 기반으로, 엣지클라우드 노드(100A)의 어플리케이션실행부(130 = VM)와 동일한 어플리케이션실행부(=VM)가 엣지클라우드 노드(100C)에 구성되는 과정을 거쳐, 단말(10)에서 실행되는 앱(15)에 대한 앱 기능이 엣지클라우드 노드(100A)로부터 엣지클라우드 노드(100C)로 핸드오버 완료될 수 있다.
이때, 핸드오버제어부(150)는, 엣지클라우드 노드(100C)로 앱 기능의 핸드오버가 완료되기 전까지, 단말(10)에서 실행되는 앱(15)에 따른 앱 서비스의 서비스 컨텍스트를 타겟 기지국(20C)을 통해 단말(1)로 제공하는 것이 바람직하다.
즉, 핸드오버제어부(150)는, 엣지클라우드 노드(100C)로 앱 기능의 핸드오버가 완료되기 전까지, 코어클라우드 노드(200)로부터 수신되는 앱 서비스의 데이터를 연산 처리된 결과 및 어플리케이션실행부(130)에서 앱 서비스의 일부 데이터를 연산 처리한 결과를 포함하는 앱 서비스의 서비스 컨텍스트를, 그룹연동부(160)를 기반으로 타겟 기지국(20C)을 통해 단말로 스트리밍 제공할 수 있다(App Streaming Relay).
이 경우, 도 1에 도시된 바와 같이, 앱(15)을 실행하는 단말(10)은, 앱 기능의 핸드오버가 완료되기 전까지, 기지국(20C)와의 접속을 기반으로 엣지클라우드 노드(100A) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션③-1을 통해 앱(15)에 따른 앱 서비스를 이용하다가, 앱 기능의 핸드오버가 완료되면, 기지국(20C)와의 접속을 기반으로 엣지클라우드 노드(100C) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션③을 통해 앱 서비스를 이용할 수 있다.
이하에서는, 도 3을 참조하여 본 발명의 바람직한 실시예에 따른 엣지클라우드 노드(장치)의 동작 방법, 특히 클라우드 기반의 앱 서비스를 분산 제공하는 과정을 설명하도록 하겠다.
여기서, 설명의 편의를 위해 전술한 도 1 및 도 2에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다.
본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 데이터 선택(필터링)에 영향을 미치는 분산정책이 기 설정된다(S100).
본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 연결되는 단말(10)이 확인되면(S110), 단말(10)에서 실행되는 특정 어플리케이션을 인지한다(S120).
이하에서는, 설명의 편의 상 단말(10)에서 앱(15)가 실행되는 것으로 가정하겠다.
본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 단말(10)에서 실행되는 앱(15)을 위한 어플리케이션 실행자원을 할당한다(S130).
즉 엣지클라우드 노드(100A)는 엣지클라우드 노드(100A)가 보유하고 있는 데이터 연산 처리를 위한 컴퓨팅 리소스에서, 단말(10)에서 실행되는 앱(15)을 위한 어플리케이션 실행자원을 즉각 할당할 수 있다.
그리고, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 S130단계에서 할당한 어플리케이션 실행자원에 가상 머신(VM) 및 가상 어플리케이션(vApp)을 포함하는 어플리케이션실행부(130)을 구성한다(S140).
즉, 어플리케이션실행부(130)는, 사용자 컨텍스트(U10)를 기반으로 동작하는 가상 머신(Virtual Machine, VM)과, 가상 머신(VM)의 동작에 따른 가상화 단말을 기반으로 실행되어 데이터를 단말(10) 내의 앱(15)을 대신하여 연산 처리하는 가상 어플리케이션(Virtual Application, vApp)으로 구성된다.
그리고, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 단말(10)에서 실행되는 앱(15)에 따른 앱 서비스와 관련하여 발생되는 데이터를 수신하면(S150), 수신하는 앱 서비스의 데이터 중 코어망(1)에 위치하는 코어클라우드 노드(200)와 분산 제공하는 앱 서비스의 특정 기능과 관련된 데이터인지 판단한다(S160).
이때, 앱(15)과 관련하여 발생되는 데이터는, 단말(10) 구체적으로 단말(10) 내 앱(15)에서 발생되는 데이터(예: 요청데이터, 응답데이터, 보고데이터 등)와, 해당 데이터 서비스를 위해 구축된 별도의 센싱 디바이스(미도시)로부터 발생되는 데이터(예: 수집데이터, 보고데이터 등)를 포함한다.
즉, 엣지클라우드 노드(100A)는, 앱 서비스의 데이터 중, 코어망(1)에 위치하는 코어클라우드 노드(200)와 분산 제공하는 앱 서비스의 특정 기능과 관련된 데이터만 필터링/선택하고(S160 Yes), 그 외의 데이터는 코어클라우드 노드(200)로 전달한다(S160 No).
예를 들어, S150단계에 수신된 금번 데이터가 정보표시를 위한 앱 서비스의 기능과 관련된 데이터인 경우, 엣지클라우드 노드(100A)는, 필터링(선택)할 수 있다(S160 Yes).
반면 예를 들어, S150단계에 수신된 금번 데이터가 대용량 데이터 기반의 영상분석을 위한 앱 서비스의 기능과 관련된 데이터인 경우, 엣지클라우드 노드(100A)는, 필터링(선택)하지 않고 코어클라우드 노드(200)로 전달할 수 있다(S160 No).
이때 구체적으로 설명하면, 엣지클라우드 노드(100A)는, 필터링(선택)하지 않은 그 외의 데이터(예: 영상분석 데이터)를 단말(10)의 사용자 컨텍스트(U10)를 기반으로 코어클라우드 노드(200)로 전달한다(S210).
이렇게 되면, 엣지클라우드 노드(100A)에서 필터링되지 않고 코어클라우드 노드(200)로 전달되는 데이터는, 빅데이터(스토리지 노드)와 연동하는 코어클라우드 노드(200)에서 단말(10)의 해당 사용자에 할당된 자원을 기반으로 즉 사용자 컨텍스트를 기반으로 연산 처리될 것이다(S220).
그리고, 코어클라우드 노드(200)는, 단말(10)의 해당 사용자에 할당된 자원을 기반으로 연산 처리한 데이터 연산 처리 결과를, 사용자 컨텍스트를 기반으로 내부 저장소 또는 연동하는 스토리지 노드에 저장하되, 단말(10)의 사용자 컨텍스트를 기반으로 엣지클라우드 노드(100A)로 전달함으로써(S230), 엣지클라우드 노드(100A)로 하여금 전달된 데이터 연산 처리의 결과를 단말(10)의 앱(15)으로 제공하도록 할 것이다(S240).
한편, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는, S160단계에서 선택(필터링)한 데이터(예: 정보표시 데이터)를 연산 처리하여(S170), 단말(10)에 클라우드 기반의 앱 서비스를 코어클라우드 노드(200)와 분산 제공한다.
즉, 엣지클라우드 노드(100A)는, S140단계에서 구성한 어플리케이션실행부(130) 구체적으로 가상화 단말(단말(10)의 사용자 컨텍스트)을 기반으로 실행되는 vApp을 통해서, S130단계에서 할당한 어플리케이션 실행자원을 기반으로 데이터를 연산 처리하여, 클라우드 기반의 앱 서비스를 코어클라우드 노드(200)와 분산 제공한다.
이러한 엣지클라우드 노드(100A)의 어플리케이션실행부(130) 즉 vApp는, 단말(10)이 코어망(1)과의 연결을 위해 접속하는 기지국(20A) 단에 위치하는 스토리지 노드(미도시)를 기반으로 데이터를 연산 처리하는 것이 바람직하다.
예를 들어, S160단계에서 선택(필터링)한 데이터가 정보표시 데이터인 경우, 어플리케이션실행부(130) 즉 vApp은 그 데이터를 스토리지 노드(미도시)에 저장된 데이터를 기반으로 연산 처리(정보표시 화면 생성)하여, 클라우드 서비스를 코어클라우드 노드(200)와 분산 제공할 수 있다.
이에, 엣지클라우드 노드(100A)에서 필터링된 데이터는, 엣지클라우드 노드(100A)에서 유동적으로 할당되는 어플리케이션 실행자원 및 이에 구성되는 어플리케이션실행부(130)에 의해 연산 처리됨으로써, 엣지클라우드 노드(100A)는 단말(10) 내 앱(15)에 대하여 필터링한(선택) 데이터 연산 처리를 통해 클라우드 기반의 앱 서비스(특정 기능)를 선택적으로 분산 제공할 수 있다.
그리고 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는, 어플리케이션실행부(130)에서 데이터(예: 정보표시 데이터)를 연산 처리(예: 정보표시 화면 생성)한 결과(예: 정보표시 화면)를 단말(10) 구체적으로는 앱(15)에 스트리밍 방식으로 제공한다(S180).
즉, 엣지클라우드 노드(100A)에서 데이터 연산 처리된 결과(예: 정보표시 화면)가 스트리밍 방식으로 단말(10)에 제공되어, 단말(10)에서 실행 중인 앱(15)은 스트리밍 수신되는 데이터(이하, App Streaming)을 추가적인 연산 처리 없이 즉시 출력(예: 디스플레이)할 수 있게 된다.
아울러, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는, 어플리케이션실행부(130)에서 데이터를 연산 처리한 결과를 엣지클라우드 노드(100A)가 연동하는 스토리지 노드(미도시)에 단말(10)의 사용자 컨텍스트를 기반으로 저장하되, 단말(10)의 사용자 컨텍스트를 기반으로 코어클라우드 노드(200)에 제공하여 코어클라우드 노드(200)와 공유할 수 있다(S190).
이렇게 되면, 엣지클라우드 노드(100A)가 분산 제공하는 클라우드 서비스(특정 기능)의 결과는, 엣지클라우드 노드(100A) 측에도 저장되고 코어클라우드 노드(200) 측에도 사용자 컨텍스트를 기반으로 저장된다(S200).
이하에서는, 도 4를 참조하여 본 발명의 바람직한 실시예에 따른 엣지클라우드 노드(장치)의 동작 방법, 특히 엣지클라우드 노드(장치)에서 앱 기능의 핸드오버를 수행하는 과정을 설명하겠다.
여기서, 설명의 편의를 위해 전술한 도 1 및 도 2에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다.
본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 엣지클라우드 노드(100A)가 포함된 엣지그룹 내 각 엣지클라우드 노드 즉 엣지클라우드 노드(100B,100C,...100N)와 연동한다(S300).
이때의 연동 방식은, 엣지클라우드 노드 간에 즉시 통신 가능한 통신 세션을 유지하고 있는 방식일 수도 있고, 엣지클라우드 노드 간에 통신 세션을 즉시 연결할 수 있는 대기 상태를 유지하고 있는 방식일 수도 있고, 엣지클라우드 노드 간에 상대방 엣지클라우드 노드의 기지국으로 데이터를 송수신할 수 있는 관련정보를 공유하는 방식일 수도 있다.
아울러, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 앞선 도 3을 참조한 설명과 같이 단말(10)에 클라우드 기반 앱 서비스를 코어클라우드 노드(200)과 분산 제공하고 있는 상태로 가정한다(S310).
이 경우, 도 1에 도시된 바와 같이, 앱(15)을 실행하는 단말(10)은, 기지국(20A)와의 접속을 기반으로 엣지클라우드 노드(100A) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션①을 통해서, 앱(15)에 따른 앱 서비스를 이용할 수 있다.
본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 단말(10)이 엣지클라우드 노드(100A)의 기지국(20A)에서 엣지그룹 내 타 엣지클라우드 노드의 타겟 기지국으로 무선구간 핸드오버 하는지 여부를 감지한다(S320).
본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 단말(10)이 무선구간 핸드오버 하는 경우(S320 Yes), 엣지클라우드 노드(100A)는 단말(10)로 제공하는 앱 서비스의 정의된 파라미터(예: 지연시간)를 확인한다(S330).
이하에서는, 설명의 편의 상 전술과 마찬가지로, 핸드오버 트리거 이벤트로서, 앱 서비스의 지연시간이 특정 지연시간 이상 시 발생되는 일 예로 통칭하여 설명하겠다.
그리고, 앞서 예시와 같이, 단말(10)이 소스 기지국(20A)에서 타겟 기지국(20B)으로 무선구간 핸드오버한 경우(①->②), 앱 서비스의 지연시간이 특정 지연시간 이상이 아닌 것으로 가정한다.
이 경우, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 단말(10)이 소스 기지국(20A)에서 타겟 기지국(20B)으로 무선구간 핸드오버 하더라도(①->②), 확인된 앱 서비스의 지연시간이 특정 지연시간 이상이 아니므로 핸드오버 트리거 이벤트 미 발생으로 판단하여(S340 No), 단말(10)에 제공하는 앱 기능을 엣지클라우드 노드(100B)로 핸드오버 시키지 않는다.
즉, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는, 앱 기능을 엣지클라우드 노드(100B)로 핸드오버 시키지 않고, 대신 코어클라우드 노드(200)로부터 수신되는 앱 서비스의 데이터를 연산 처리된 결과 및 자신의 어플리케이션실행부(130)에서 앱 서비스의 일부 데이터를 연산 처리한 결과를 포함하는 앱 서비스의 서비스 컨텍스트(Service Context)를, 그룹 연동 기반으로 타겟 기지국(20B)을 통해 단말(10)에 스트리밍 제공할 수 있다(App Streaming Relay, S350).
이렇게 되면, 도 1에 도시된 바와 같이, 앱(15)을 실행하는 단말(10)은, 기지국(20B)와의 접속을 기반으로 엣지클라우드 노드(100A) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션②을 통해서, 앱(15)에 따른 앱 서비스를 이용할 수 있다.
한편, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 확인된 앱 서비스의 지연시간이 특정 지연시간 이상이면 핸드오버 트리거 이벤트 발생으로 판단하여(S340 Yes), 단말(10)에 제공하는 앱 기능의 핸드오버를 결정한다(S360).
앞서 예시와 같이, 단말(10)이 소스 기지국(20B)에서 타겟 기지국(20C)으로 무선구간 핸드오버한 경우(②->③), 앱 서비스의 지연시간이 특정 지연시간 이상인 것으로 가정한다.
이 경우, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 단말(10)이 소스 기지국(20B)에서 타겟 기지국(20C)으로 무선구간 핸드오버 하면(②->③), 확인된 앱 서비스의 지연시간이 특정 지연시간 이상이므로(S340 Yes), 어플리케이션실행부(130)에서 수행하는 앱 기능 즉 단말(10)에 분산 제공하고 있던 클라우드 기반의 앱 서비스의 기능을 타겟 기지국(20C)의 엣지클라우드 노드(100C)로 핸드오버 시키기로 결정한다.
우선, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 엣지클라우드 노드(100C)로 앱 기능의 핸드오버가 완료되기 전까지, 단말(10)에서 실행되는 앱(15)에 따른 앱 서비스의 서비스 컨텍스트를 그룹 연동 기반으로 타겟 기지국(20C)을 통해 단말(10)에 스트리밍 제공할 수 있다(App Streaming Relay, S360).
그와 동시에, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)로부터 엣지클라우드 노드(100C)로의 앱 기능 핸드오버 과정이 진행된다(S370).
구체적으로, 본 발명의 엣지클라우드 노드(100A)의 동작 방법에 따르면, 엣지클라우드 노드(100A)는 단말(10)이 무선구간 핸드오버 하는 경우(②->③), 앱 서비스의 지연시간이 특정 지연시간 이상인 것으로 판단되면, 단말(10)의 사용자 컨텍스트(U10)를 엣지클라우드 노드(100C)로 복사(Copy)한다(S370).
즉, 엣지클라우드 노드(100A)는, 그룹 연동을 기반으로, 단말(10)의 사용자 컨텍스트(U10)를 복사하여 엣지클라우드 노드(100C)로 제공하거나 또는 엣지클라우드 노드(100C)가 단말(10)의 사용자 컨텍스트(U10)를 복사해갈 수 있도록 지원함으로써, 단말(10)의 사용자 컨텍스트(U10)를 엣지클라우드 노드(100C)로 복사(Copy)할 수 있다.
이렇게 단말(10)의 사용자 컨텍스트(U10)를 엣지클라우드 노드(100A)로부터 복사한 엣지클라우드 노드(100C)에는, 기지국(20C) 접속을 통해서 연결되는 단말(10)에 대하여, 단말(10) 연결 시 할당한 어플리케이션 실행자원에 가상 머신(VM) 및 가상 어플리케이션(vApp)으로 구성된 어플리케이션실행부가 생성(구성)될 것인데, 이 어플리케이션실행부에 구성되는 가상 어플리케이션(vApp)은 엣지클라우드 노드(100A)로부터 복사한 사용자 컨텍스트(U10)를 기반으로 엣지클라우드 노드(100A)의 어플리케이션실행부(130) 내 vApp과 동일하게 구성될 것이다(S370).
이렇게 되면, 단말(10)의 사용자 컨텍스트(U10)를 엣지클라우드 노드(100A)로부터 복사한 엣지클라우드 노드(100C)에는, 엣지클라우드 노드(100A)에서 단말(10)에서 실행되는 앱(15)을 위해 수행하던 앱 기능의 주체인 어플리케이션실행부(130) 달리 말하면 가상 머신(VM)이, 그대로 옮겨지는 것과 마찬가지이다.
이와 같이, 엣지클라우드 노드(100A)에서 엣지클라우드 노드(100C)로 복사된 단말(10)의 사용자 컨텍스트(U10)를 기반으로, 엣지클라우드 노드(100A)의 어플리케이션실행부(130 = VM)와 동일한 어플리케이션실행부(=VM)가 엣지클라우드 노드(100C)에 구성되는 과정을 거쳐, 단말(10)에서 실행되는 앱(15)에 대한 앱 기능이 엣지클라우드 노드(100A)로부터 엣지클라우드 노드(100C)로 핸드오버 완료될 수 있다.
앱 기능이 엣지클라우드 노드(100A)로부터 엣지클라우드 노드(100C)로 핸드오버 완료되면, 본 발명의 엣지클라우드 노드(100C)는 단말(10)에 클라우드 기반 앱 서비스를 코어클라우드 노드(200)과 분산 제공할 것이다(S380).
이 경우, 도 1에 도시된 바와 같이, 앱(15)을 실행하는 단말(10)은, 앱 기능의 핸드오버가 완료되기 전까지, 기지국(20C)와의 접속을 기반으로 엣지클라우드 노드(100A) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션③-1을 통해 앱(15)에 따른 앱 서비스를 이용하다가, 앱 기능의 핸드오버가 완료되면, 기지국(20C)와의 접속을 기반으로 엣지클라우드 노드(100C) 및 코어클라우드 노드(200) 간에 연결된 어플리케이션 세션③을 통해 앱 서비스를 이용할 수 있다.
이상에서 설명한 바와 같이, 본 발명에 따른 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치(엣지클라우드 노드) 및 장치의 동작 방법에 의하면, 단말에서 실행하는 앱에 따른 앱 서비스를 코어망 및 코어망 보다 사용자(단말)에 가까운 위치의 엣지(Edge)에서 분산 제공하는 구조로서, 기존의 클라우드 서비스 기반의 어플리케이션 실행 환경이 갖는 성능 한계/제약을 개선한, 클라우드 기반의 하이브리드(Hybrid) 어플리케이션 실행 환경을 실현함으로써, 초 저지연/대용량의 데이터 서비스를 요구하는 현 추세의 니즈를 만족시키는 효과를 도출한다.
아울러, 본 발명에 따른 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치(엣지클라우드 노드) 및 장치의 동작 방법에 의하면, 앞서 실현한 클라우드 기반의 하이브리드 어플리케이션 실행 환경에 적합한 엣지클라우드 노드에서의 핸드오버 기술을 새롭게 실현함으로써, 클라우드 기반의 하이브리드 어플리케이션 실행 환경의 완성도를 높이고 앱 서비스의 품질을 향상시킬 수 있다.
본 발명의 실시예에 따른 엣지클라우드 노드(장치)의 동작 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명에 따른 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법에 의하면, 클라우드 기반의 하이브리드(Hybrid) 어플리케이션 실행 환경을 실현하는 점, 이러한 실행 환경에 적합한 엣지에서의 핸드오버 기술을 실현하는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100 : 엣지클라우드 노드(장치)
110 : 단말연동부 120 : 자원할당부
130 : 어플리케이션실행부 140 : 필터링부
150 : 핸드오버제어부 160 : 그룹연동부
170 : 스토리지연동부
200 : 코어클라우드 노드

Claims (11)

  1. 단말의 사용자에 할당된 자원을 기반으로 상기 단말에서 실행되는 특정 어플리케이션에 따른 앱 서비스의 데이터 연산 처리를 수행하여, 상기 단말에 클라우드 기반의 앱 서비스를 제공하는 코어클라우드 노드; 및
    상기 단말 및 상기 코어클라우드 노드 사이에 위치하며, 상기 단말에서 실행되는 상기 특정 어플리케이션을 위한 어플리케이션 실행자원을 기반으로 상기 앱 서비스의 데이터 연산 처리 중 일부 데이터 연산 처리를 수행하여, 상기 단말에 클라우드 기반의 앱 서비스를 상기 코어클라우드 노드와 분산 제공하는 엣지클라우드 노드를 포함하며;
    상기 앱 서비스의 일부 데이터를 연산 처리하는 기능은, 상기 단말이 상기 엣지클라우드 노드의 소스 기지국에서 타 엣지클라우드 노드의 타겟 기지국으로 무선구간 핸드오버 하는 경우, 상기 앱 서비스의 기 정의된 핸드오버 트리거 이벤트에 근거하여 선택적으로 상기 엣지클라우드 노드에서 상기 타 엣지클라우드 노드로 핸드오버 되며,
    상기 엣지클라우드 노드는, 상기 타 엣지클라우드 노드로 상기 기능의 핸드오버 시 상기 핸드오버가 완료되기 전까지, 상기 앱 서비스를 상기 타겟 기지국을 통해 상기 단말로 제공하는, 분산형 클라우드 기반 어플리케이션 실행 시스템.
  2. 단말에서 실행되는 특정 어플리케이션을 위한 어플리케이션 실행자원을 할당하는 자원할당부;
    상기 특정 어플리케이션에 따른 앱 서비스의 데이터 중, 코어망 단의 코어클라우드 장치에서 상기 단말에 제공하는 클라우드 기반의 앱 서비스의 특정 기능과 관련된 일부 데이터를 선택하고, 그 외의 데이터는 상기 코어클라우드 장치로 전달하는 필터링부;
    상기 할당한 어플리케이션 실행자원을 기반으로 상기 선택한 상기 앱 서비스의 일부 데이터를 연산 처리하여, 상기 단말에 상기 클라우드 기반의 앱 서비스를 상기 코어클라우드 장치와 분산 제공하는 어플리케이션실행부; 및
    상기 단말이 기지국 사이에서 무선구간 핸드오버 하는 경우 상기 앱 서비스의 일부 데이터를 연산 처리하는 앱 기능을 선택적으로 핸드오버 시키며, 타 엣지클라우드 장치로 상기 앱 기능의 핸드오버 시 상기 핸드오버가 완료되기 전까지, 상기 단말이 무선구간 핸드오버되는 타겟 기지국을 통해 상기 앱 서비스를 상기 단말로 제공하는 핸드오버제어부를 포함하는 것을 특징으로 하는 엣지클라우드 장치.
  3. 제 2 항에 있어서,
    상기 어플리케이션실행부는,
    상기 단말이 상기 코어망과의 연결을 위해 접속하는 기지국 단에 위치하는 스토리지 노드를 기반으로, 데이터를 연산 처리하는 것을 특징으로 하는 엣지클라우드 장치.
  4. 제 2 항에 있어서,
    상기 엣지클라우드 장치가 포함된 엣지그룹 내 각 엣지클라우드 장치와 연동하는 그룹연동부를 더 포함하며;
    상기 핸드오버제어부는,
    상기 단말이 상기 엣지클라우드 장치의 기지국에서 상기 엣지그룹 내 타 엣지클라우드 장치의 타겟 기지국으로 무선구간 핸드오버 하는 경우,
    상기 앱 서비스의 기 정의된 핸드오버 트리거 이벤트 발생 시, 상기 앱 기능을 상기 타 엣지클라우드 장치로 핸드오버 시키는 것을 특징으로 하는 엣지클라우드 장치.
  5. 제 4 항에 있어서,
    상기 핸드오버 트리거 이벤트는,
    상기 앱 서비스의 지연시간이 기 설정된 특정 지연시간 이상인 경우 발생되는 것을 특징으로 하는 엣지클라우드 장치.
  6. 제 4 항에 있어서,
    상기 핸드오버제어부는,
    상기 핸드오버 트리거 이벤트 미 발생 시에는 상기 앱 기능을 상기 타 엣지클라우드 장치로 핸드오버 시키지 않고,
    상기 코어클라우드 장치로부터 수신되는 상기 앱 서비스의 데이터를 연산 처리된 결과 및 상기 어플리케이션실행부에서 상기 앱 서비스의 일부 데이터를 연산 처리한 결과를 포함하는 상기 앱 서비스의 서비스 컨텍스트(Service Context)를, 상기 타겟 기지국을 통해 상기 단말로 제공하는 것을 특징으로 하는 엣지클라우드 장치.
  7. 제 4 항에 있어서,
    상기 어플리케이션실행부는,
    상기 단말의 사용자 컨텍스트(User Context)를 기반으로 동작하는 가상 머신(Virtual Machine)과,
    상기 가상 머신의 동작에 따른 가상화 단말을 기반으로 실행되어, 상기 단말 내의 상기 특정 어플리케이션을 대신하여 상기 앱 서비스의 일부 데이터를 연산 처리하는 가상 어플리케이션(Virtual Application)으로 구성되는 것을 특징으로 하는 엣지클라우드 장치.
  8. 제 7 항에 있어서,
    상기 핸드오버제어부는,
    상기 단말의 사용자 컨텍스트를 상기 타 엣지클라우드 장치로 복사(Copy)하여, 상기 가상 어플리케이션이 상기 타 엣지클라우드장치에서 상기 복사된 단말의 사용자 컨텍스트를 기반으로 구성하는 어플리케이션실행부에 동일하게 구성되도록 하여, 상기 앱 기능을 상기 타 엣지클라우드 장치로 핸드오버 시키는 것을 특징으로 하는 엣지클라우드 장치.
  9. 제 8 항에 있어서,
    상기 핸드오버제어부는,
    상기 타 엣지클라우드 장치로 상기 앱 기능의 핸드오버가 완료되기 전까지, 상기 앱 서비스의 서비스 컨텍스트를 상기 타겟 기지국을 통해 상기 단말로 제공하는 것을 특징으로 하는 엣지클라우드 장치.
  10. 제 5 항에 있어서,
    상기 앱 서비스의 지연시간은,
    상기 클라우드 기반의 앱 서비스를 이용하는 상기 단말에서 측정되어, 상기 단말에 대하여 상기 앱 기능을 제공하는 엣지클라우드 장치로 보고되는 것을 특징으로 하는 엣지클라우드 장치.
  11. 단말에서 실행되는 특정 어플리케이션을 위한 어플리케이션 실행자원을 할당하는 자원할당단계;
    상기 특정 어플리케이션에 따른 앱 서비스의 데이터 중, 코어망 단의 코어클라우드 장치에서 상기 단말에 제공하는 클라우드 기반의 앱 서비스의 특정 기능과 관련된 일부 데이터를 선택하고, 그 외의 데이터는 상기 코어클라우드 장치로 전달하는 필터링단계;
    상기 할당한 어플리케이션 실행자원을 기반으로 상기 선택한 상기 앱 서비스의 일부 데이터를 연산 처리하여, 상기 단말에 상기 클라우드 기반의 앱 서비스를 상기 코어클라우드 장치와 분산 제공하는 어플리케이션실행단계; 및
    상기 단말이 기지국 사이에서 무선구간 핸드오버 하는 경우 상기 앱 서비스의 일부 데이터를 연산 처리하는 앱 기능을 선택적으로 핸드오버 시키며, 타 엣지클라우드 장치로 상기 앱 기능의 핸드오버 시 상기 핸드오버가 완료되기 전까지, 상기 단말이 무선구간 핸드오버되는 타겟 기지국을 통해 상기 앱 서비스를 상기 단말로 제공하는 핸드오버제어단계를 포함하는 것을 특징으로 하는 엣지클라우드 장치의 동작 방법.
KR1020170058885A 2017-05-11 2017-05-11 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법 Active KR102172169B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170058885A KR102172169B1 (ko) 2017-05-11 2017-05-11 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170058885A KR102172169B1 (ko) 2017-05-11 2017-05-11 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20180124419A KR20180124419A (ko) 2018-11-21
KR102172169B1 true KR102172169B1 (ko) 2020-10-30

Family

ID=64602492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170058885A Active KR102172169B1 (ko) 2017-05-11 2017-05-11 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법

Country Status (1)

Country Link
KR (1) KR102172169B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102382884B1 (ko) * 2020-11-13 2022-04-06 한국전자기술연구원 엣지 단말의 클러스터 구성 및 운용 시스템 및 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102128945B1 (ko) * 2019-12-26 2020-07-01 주식회사엔클라우드 엣지 클라우드 기반 영상 전송 시스템
US20230353997A1 (en) 2020-01-15 2023-11-02 Samsung Electronics Co., Ltd. Method and system for improvements in and relating to microservices for mec networks
CN111464611B (zh) * 2020-03-30 2022-07-12 中科边缘智慧信息科技(苏州)有限公司 动态复杂场景下固定云和边缘节点之间高效服务访问的方法
KR102336902B1 (ko) * 2020-05-04 2021-12-07 에스케이브로드밴드주식회사 분산형 가상 데스크탑 시스템 및 처리 방법
KR102202645B1 (ko) * 2020-07-16 2021-01-13 한국전자기술연구원 관계형 엣지 서버들 간 데이터 공조 방법
KR20220036136A (ko) * 2020-09-15 2022-03-22 삼성전자주식회사 엣지 컴퓨팅 시스템 및 엣지 컴퓨팅 장치의 핸드오버 방법
KR102398076B1 (ko) * 2020-10-30 2022-05-13 펜타시큐리티시스템 주식회사 데이터 분산 저장 방법 및 장치
CN114401183A (zh) * 2022-01-17 2022-04-26 杭州瑞网广通信息技术有限公司 一种基于分布式云平台的边缘云灾备系统、方法和装置
CN116719283A (zh) * 2023-06-09 2023-09-08 杭州优稳自动化系统有限公司 一种内生安全的云边协同工控系统架构

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145885A (ja) * 2002-10-25 2004-05-20 Mentor Graphics Corp 遠隔コンピュータへのオペレーションの分散方法、装置、及び記憶媒体
JP2017017655A (ja) * 2015-07-06 2017-01-19 日本電気株式会社 無線アクセスネットワークノード、エッジサーバ、ポリシ管理ノード、及びこれらの方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311377B2 (en) * 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145885A (ja) * 2002-10-25 2004-05-20 Mentor Graphics Corp 遠隔コンピュータへのオペレーションの分散方法、装置、及び記憶媒体
JP2017017655A (ja) * 2015-07-06 2017-01-19 日本電気株式会社 無線アクセスネットワークノード、エッジサーバ、ポリシ管理ノード、及びこれらの方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102382884B1 (ko) * 2020-11-13 2022-04-06 한국전자기술연구원 엣지 단말의 클러스터 구성 및 운용 시스템 및 방법

Also Published As

Publication number Publication date
KR20180124419A (ko) 2018-11-21

Similar Documents

Publication Publication Date Title
KR102172169B1 (ko) 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법
EP3632083B1 (en) Edge cloud broker and method therein for allocating edge cloud resources
EP4055805B1 (en) Method and apparatus for providing edge computing services
US8863138B2 (en) Application service performance in cloud computing
US11689961B2 (en) Systems and methods for distribution of application logic in digital networks
EP3588852B1 (en) Method, apparatus and system for managing network slice instance
CN104170428A (zh) 实现交易的云谱服务模式
KR102124033B1 (ko) 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법
Abdah et al. QoS-aware service continuity in the virtualized edge
US20140379928A1 (en) Method for implementing network using distributed virtual switch, apparatus for performing the same, and network system based on distributed virtual switch
CN107637034A (zh) 用于运营商网络之间的虚拟基础设施管理的系统和方法
CN103685256A (zh) 一种虚拟机迁移管理方法、装置及系统
CN105391651A (zh) 一种虚拟光网络多层资源汇聚方法和系统
CN105554125B (zh) 一种利用cdn实现网页适配的方法及其系统
KR20180118393A (ko) 분산형 클라우드 컴퓨팅 시스템, 이에 적용되는 장치 및 장치의 동작 방법
CN108228323B (zh) 基于数据本地性的Hadoop任务调度方法及装置
CN109302302B (zh) 服务网元的扩缩方法、系统及计算机可读存储介质
CN104955125B (zh) 支持多种类型互联网接入的调度方法、终端、及系统
CN106471771B (zh) 一种拥塞控制的方法及网元设备
US20150271261A1 (en) System and method for providing distributed virtual cloud using mobile grid
CN104901903B (zh) 软件定义网络多域资源处理方法及系统
JP6721106B2 (ja) 第1の制御装置、装置、方法、プログラム、記録媒体、及びシステム
US11223869B2 (en) Content stream multicasting with relative latency for media devices
Alam et al. OptFog: Optimized Mobility-Aware Task Offloading and Migration Model for Fog Networks
WO2017049448A1 (zh) 一种带宽共享方法、相关装置及系统

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20170511

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20181022

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20170511

Comment text: Patent Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20191204

Patent event code: PE09021S01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20200412

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20201020

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20201026

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20201026

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20240919

Start annual number: 5

End annual number: 5