KR20210119807A - 모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치 - Google Patents

모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치 Download PDF

Info

Publication number
KR20210119807A
KR20210119807A KR1020200036440A KR20200036440A KR20210119807A KR 20210119807 A KR20210119807 A KR 20210119807A KR 1020200036440 A KR1020200036440 A KR 1020200036440A KR 20200036440 A KR20200036440 A KR 20200036440A KR 20210119807 A KR20210119807 A KR 20210119807A
Authority
KR
South Korea
Prior art keywords
mobile edge
execution environment
application
app
information
Prior art date
Application number
KR1020200036440A
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 KR1020200036440A priority Critical patent/KR20210119807A/ko
Priority to EP21774866.4A priority patent/EP4113935A4/en
Priority to PCT/KR2021/001724 priority patent/WO2021194087A1/ko
Publication of KR20210119807A publication Critical patent/KR20210119807A/ko
Priority to US17/952,679 priority patent/US20230021063A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • H04L67/16
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치가 개시된다. 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법에 있어서, 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보를 획득하는 단계; 신규 모바일 엣지 어플리케이션의 설치 요청을 수신하는 단계; 상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여 상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계; 및 상기 결정된 호스트에 상기 신규 모바일 엣지 어플리케이션을 전송하는 단계;를 포함할 수 있다.

Description

모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING MOBILE EDGE COMPUTING APPLICATION}
본 개시는 모바일 엣지 컴퓨팅(예: MEC(multi-access or mobile edge computing) 어플리케이션을 전송하기 위한 방법 및 장치에 관한 것이다.
최근, 엣지 서버(edge server)를 이용하여 데이터를 전송하는 엣지 컴퓨팅(edge computing) 기술이 논의되고 있다. 엣지 컴퓨팅 기술은, 예를 들어, MEC(Multi-access Edge Computing) 또는 포그 컴퓨팅(fog computing, FOC)을 포함할 수 있다. 엣지 컴퓨팅 기술은 전자 장치와 지리적으로 가까운 위치, 예를 들어, 기지국 내부 또는 기지국 근처에 설치된 별도의 서버(이하, '엣지 서버', 'MEC 서버' 또는 'MEC host'라 한다)를 통해 전자 장치에게 데이터를 제공하는 기술을 의미할 수 있다. 예를 들어, 전자 장치에 설치된 적어도 하나의 애플리케이션 중 낮은 지연 시간(latency)을 요구하는 애플리케이션은 외부 데이터 네트워크(data network, DN)(예: 인터넷)에 위치한 서버를 통하지 않고, 지리적으로 가까운 위치에 설치된 엣지 서버를 통해 데이터를 송수신할 수 있다.
최근에는 엣지 컴퓨팅 기술을 이용한 서비스(이하, 'MEC 기반 서비스' 또는 'MEC 서비스'라 한다)에 관하여 논의되고 있다. MEC 기반 서비스를 지원하기 위한 연구 및 개발이 진행됨에 따라, 사용자에게 고품질 MEC 서비스를 제공하기 위해 최적의 MEC host를 선정하는 방법이 논의되고 있다.
본 개시는, 모바일 엣지 컴퓨팅 어플리케이션을 전송하기 위한 방법 및 장치를 제공한다.
본 개시의 일 실시예에 따라 통신부; 및 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보를 획득하고, 신규 모바일 엣지 어플리케이션의 설치 요청을 수신하고, 상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여 상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하고, 상기 결정된 호스트에 상기 신규 모바일 엣지 어플리케이션을 전송하는 적어도 하나의 프로세서;를 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 상기 적어도 하나의 프로세서는 적어도 하나의 외부 서버로부터 상기 실행 환경에 관련한 정보와 신규 모바일 엣지 어플리케이션의 설치 요청을 수신하는 것을 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보는 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보, 전송 이력에 관한 정보, 모바일 엣지 컴퓨팅 호스트의 네트워크 혼잡도에 관한 정보 또는 가용 자원에 관한 정보 중 적어도 하나를 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 싱기 전송 이력에 관한 정보는 상기 적어도 하나의 모바일 엣지 어플리케이션이 설치된 모바일 엣지 컴퓨팅 호스트의 변경 이력 정보를 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 상기 적어도 하나의 프로세서는 상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보를 비교하고, 상기 비교 결과에 기초하여 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 것을 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 상기 적어도 하나의 프로세서는 상기 실행 환경에 관련한 정보에 기초하여, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경의 안정도를 결정하고, 상기 안정도와 상기 신규 모바일 엣지 컴퓨팅 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 것을 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 상기 적어도 하나의 프로세서는 상기 실행 환경에 관련한 정보에 기초하여, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 모바일 엣지 컴퓨팅 호스트의 유휴 자원(idle resource)을 결정하고, 상기 유휴 자원과 상기 신규 모바일 엣지 컴퓨팅 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여, 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 것을 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 상기 적어도 하나의 프로세서는 상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보를 각각 데이터로 수치화하고, 상기 수치화된 데이터에 기초하여 상기 모바일 엣지 어플리케이션의 호스트를 결정하는 것을 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 상기 적어도 하나의 프로세서는 상기 수치화된 데이터에 기초하여, 데이터 비교 리스트를 생성하고, 상기 데이터 비교 리스트에 기초하여, 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 것을 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 상기 적어도 하나의 프로세서는 상기 전송된 신규 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보를 획득하고, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션 실행 환경에 관련한 정보와 상기 전송된 신규 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보에 기초하여 상기 신규 모바일 엣지 어플리케이션을 재설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하고, 상기 결정된 호스트에 상기 신규 모바일 엣지 어플리케이션을 재전송하는 것을 포함하는 전자 장치가 제공된다.
본 개시의 일 실시예에 따라, 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법을 제공한다. 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법은 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보를 획득하는 단계; 신규 모바일 엣지 어플리케이션의 설치 요청을 수신하는 단계; 상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여 상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계; 및 상기 결정된 호스트에 상기 신규 모바일 엣지 어플리케이션을 전송하는 단계;를 포함한다.
본 개시의 일 실시예에 따라, 상기 실행 환경에 관련한 정보를 획득하는 단계는, 적어도 하나의 외부 서버로부터 상기 실행 환경에 관련한 정보를 수신하고, 상기 설치 요청을 수신하는 단계는, 적어도 하나의 외부 서버로부터 신규 모바일 엣지 어플리케이션의 설치 요청을 수신하는 것을 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법이 제공된다.
본 개시의 일 실시예에 따라, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보는 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보, 전송 이력에 관한 정보, 모바일 엣지 컴퓨팅 호스트의 네트워크 혼잡도에 관한 정보 또는 가용 자원에 관한 정보 중 적어도 하나를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법이 제공된다.
본 개시의 일 실시예에 따라, 싱기 전송 이력에 관한 정보는 상기 적어도 하나의 모바일 엣지 어플리케이션이 설치된 모바일 엣지 컴퓨팅 호스트의 변경 이력 정보를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법이 제공된다.
본 개시의 일 실시예에 따라, 상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계는 상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보를 비교하는 단계; 및 상기 비교 결과에 기초하여 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법이 제공된다.
본 개시의 일 실시예에 따라, 상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계는 상기 실행 환경에 관련한 정보에 기초하여, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경의 안정도를 결정하는 단계; 및 상기 안정도와 상기 신규 모바일 엣지 컴퓨팅 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법이 제공된다.
본 개시의 일 실시예에 따라, 상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계는 상기 실행 환경에 관련한 정보에 기초하여, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 모바일 엣지 컴퓨팅 호스트의 유휴 자원(idle resource)을 결정하는 단계; 및 상기 유휴 자원과 상기 신규 모바일 엣지 컴퓨팅 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여, 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법이 제공된다.
본 개시의 일 실시예에 따라, 상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계는 상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보를 각각 데이터로 수치화하는 단계; 및 상기 수치화된 데이터에 기초하여 상기 모바일 엣지 어플리케이션의 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법이 제공된다.
본 개시의 일 실시예에 따라, 상기 수치화된 데이터에 기초하여 상기 모바일 엣지 어플리케이션의 호스트를 결정하는 단계는 상기 수치화된 데이터에 기초하여, 데이터 비교 리스트를 생성하는 단계; 및 상기 데이터 비교 리스트에 기초하여, 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법이 제공된다.
본 개시의 일 실시예에 따라, 상기 전송된 신규 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보를 획득하는 단계; 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션 실행 환경에 관련한 정보와 상기 전송된 신규 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보에 기초하여 상기 신규 모바일 엣지 어플리케이션을 재설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계; 및 상기 결정된 호스트에 상기 신규 모바일 엣지 어플리케이션을 재전송하는 단계;를 더 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법이 제공된다.
도 1은, 본 개시의 일 실시예에 따른 MEC 기반 서비스를 지원하기 위한 네트워크 환경을 개략적으로 설명하기 위한 도면이다.
도 2는, 본 개시의 일 실시예에 따른 단말을 중심으로 MEC 기반 서비스를 지원하기 위한 네트워크 환경을 도시한 도면이다.
도 3은, 본 개시의 일 실시예에 따른 MEC 서버를 중심으로 MEC 기반 서비스를 지원하기 위한 네트워크 환경을 도시한 도면이다.
도 4는, 본 개시의 다른 일 실시예에 따른 MEC 기반 서비스를 지원하기 위한 네트워크 환경을 도시한 도면이다.
도 5는, 본 개시의 일 실시예에 따라 적합한 MEC host를 결정하여 MEC 기반 서비스를 지원하기 위한 네트환경을 도시한 도면이다.
도 6은, 본 개시의 일 실시예에 따라 적합한 MEC host를 결정하여 MEC 기반 서비스를 지원하기 위한 절차를 도시한 도면이다.
도 7은, 본 개시의 일 실시예에 따라 전자 장치가 적합한 MEC host를 결정하는 동작을 설명하기 위한 흐름도이다.
도 8은, 본 개시의 다른 일 실시예에 따라 전자 장치가 적합한 MEC host를 결정하는 동작을 설명하기 위한 흐름도이다.
도 9은, 본 개시의 또 다른 일 실시예에 따라 전자 장치가 적합한 MEC host를 결정하는 동작을 설명하기 위한 흐름도이다.
도 10은, 본 개시의 또 다른 일 실시예에 따라 전자 장치가 적합한 MEC host를 결정하는 동작을 설명하기 위한 흐름도이다.
도 11은, 본 개시의 또 다른 일 실시예에 따라 전자 장치가 적합한 MEC host를 결정하는 동작을 설명하기 위한 흐름도이다.
도 12는, 본 개시의 일 실시예에 따라 전자 장치가 전송된 신규 ME App을 재전송하는 동작을 설명하기 위한 흐름도이다.
도 13은, 본 개시의 일 실시예에 따른 전자 장치의 블록도이다.
이하, 본 개시의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시예에서 '~부'는 하나 이상의 프로세서를 포함할 수 있다.
도 1은, 본 개시의 일 실시예에 따른 MEC 기반 서비스를 지원하기 위한 네트워크 환경을 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 네트워크 환경(10)은 단말(terminal)(100), 3GPP(3rd Generation Partnership Project) 네트워크(200), 엣지 데이터 네트워크(300), 및 서비스 서버(service server)(400)를 포함할 수 있다. 다만, 네트워크 환경(10)에 포함되는 구성이 이에 제한되는 것은 아니다.
일 실시예에 따르면, 네트워크 환경(10)에 포함되는 구성요소들 각각은 물리적인 객체(entity) 단위를 의미하거나, 개별적인 기능(function)을 수행할 수 있는 소프트웨어 또는 모듈 단위를 의미할 수 있다. 따라서 네트워크 환경(10)에 포함되는 구성요소는 Entitiy로 불릴 수도 있고, Function으로 불릴 수도 있다.
일 실시예에 따르면, 단말(100)은 사용자에 의해 사용되는 장치를 의미할 수 있다. 예를 들어, 단말(100)은 사용자 단말(UE, user equipment), 원격 단말(remote terminal), 무선 단말(wireless terminal), 또는 사용자 장치(user device)를 의미할 수 있다. 또한, 단말(100)은 모든 타입의 디바이스를 포함할 수 있다.
일 실시예에 따르면, 단말(100)은 복수의 애플리케이션 클라이언트(application client)들을 구동(또는, 실행)할 수 있다. 예를 들어, 단말(100)은 제1 애플리케이션 클라이언트(application client)(111) 및 제2 애플리케이션 클라이언트(112)을 포함할 수 있다. 복수의 애플리케이션 클라이언트들은 단말(100)의 데이터 전송 속도, 지연 시간(또는 속도)(latency), 신뢰성(reliability), 네트워크에 접속(access)된 단말(100)의 수, 단말(100)의 네트워크 접속 주기, 또는 평균 데이터 사용량 중 적어도 하나에 기반하여 서로 다른 네트워크 서비스를 요구(require)할 수 있다. 서로 다른 네트워크 서비스는, 예를 들어, eMBB(enhanced mobile broadband), URLLC(ultra- reliable and low latency communication), 또는 mMTC(massive machine type communication)를 포함할 수 있다.
단말(100)의 애플리케이션 클라이언트는 단말(100)에 미리 설치된 기본 애플리케이션 또는 제 3자가 제공하는 애플리케이션을 의미할 수 있다. 즉, 특정 응용 서비스를 위하여 단말(100) 내에서 구동되는 클라이언트(client) 응용 프로그램을 의미할 수 있다. 단말(100) 내에는 여러 애플리케이션 클라이언트들이 구동될 수 있다. 애플리케이션 클라이언트들 중 적어도 하나 이상은 엣지 데이터 네트워크(edge data network, 300)로부터의 서비스를 단말(100)에게 제공하는데 이용될 수 있다. 예를 들어, 애플리케이션 클라이언트는 단말(100)에 설치되어 실행되는 애플리케이션으로서, 엣지 데이터 네트워크(300)를 통해 데이터를 송수신하는 기능을 제공할 수 있다. 단말(100)의 애플리케이션 클라이언트는, 하나 이상의 특정 엣지 애플리케이션들에 의해 제공된 기능을 이용하기 위해, 단말(100) 상에서 실행되는 애플리케이션 소프트웨어(또는, 모듈)를 의미할 수 있다.
일 실시예에 따르면, 단말(100)의 복수의 애플리케이션 클라이언트(111, 112)는 요구되는 네트워크 서비스 타입에 기반하여 서비스 서버(400)와 데이터 전송을 수행하거나, 또는 엣지 데이터 네트워크(300)와 엣지 컴퓨팅에 기반한 데이터 전송을 수행할 수 있다. 예를 들어, 제1 애플리케이션 클라이언트(111)이 낮은 지연 시간을 요구하지 않으면, 제1 애플리케이션 클라이언트(111)은 서비스 서버(400)와 데이터 전송을 수행할 수 있다. 다른 예를 들어, 제2 애플리케이션 클라이언트(112)이 낮은 지연 시간을 요구하면, 제2 애플리케이션 클라이언트(112)은 엣지 데이터 네트워크(300)와 MEC 기반 데이터 전송을 수행할 수 있다. 물론, 상기 예시에 제한되는 것은 아니며, 단말(100)은 지연 시간 이외의 다양한 조건에 기초하여 서비스 서버(400) 또는 엣지 데이터 네트워크(300)와 데이터를 송수신할 지 여부를 결정할 수 있다.
일 실시예에 따르면, 단말(100)의 애플리케이션 클라이언트(application client)는, UE 애플리케이션(UE App), 애플리케이션 클라이언트, 클라이언트 애플리케이션(client application, Client App), UE 애플리케이션으로 지칭될 수 있다. 이하 본 개시에서는, 편의를 위해, 단말(100)의 애플리케이션 클라이언트는 애플리케이션 클라이언트로 지칭하도록 한다.
일 실시예에 따르면, 3GPP 네트워크(200)는, 3GPP(3rd Generation Partnership Project)의 표준 규격에 따르는 무선 통신 시스템으로서, 단말(100)과 연결되어 단말(100)에게 무선 통신 서비스를 제공할 수 있다. 3GPP 네트워크(200)는 무선 액세스 네트워크(RAN, radio access network) 및 코어 네트워크(core network)를 포함할 수 있다. 3GPP 네트워크(200)는 3G(3rd generation) 네트워크, LTE 네트워크, LTE-A 네트워크, 차세대 네트워크(5G 또는 NR)를 포함할 수 있다. 물론, 상기 예시에 제한되는 것은 아니며, 본 개시의 3GPP 네트워크(200)는 다른 통신 기술로 구성된 네트워크를 포함할 수도 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(300)는 단말(100)이 MEC 서비스를 이용하기 위하여 접속하는 서버를 의미할 수 있다. 엣지 데이터 네트워크(300)는, 단말(100)이 연결된 3GPP 네트워크(200)의 기지국의 내부 또는 기지국과 지리적으로 가까운 위치에 배치되고, 서비스 서버(400)가 제공하는 컨텐츠와 적어도 일부가 동일한 컨텐츠를 제공할 수 있다. 일 실시예에서, MEC는 multi-access edge computing 또는 mobile-edge computing으로 지칭될 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(300)는, MEC 서버(server), MEC 호스트(host), 엣지 컴퓨팅 서버(edge computing server), 모바일 엣지 호스트(mobile edge host), 엣지 컴퓨팅 플랫폼(edge computing platform) 등으로 지칭될 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(300)는 복수의 엣지 애플리케이션들을 실행할 수 있다. 예를 들어, 엣지 데이터 네트워크(300)는 제1 엣지 애플리케이션(edge application)(311) 및 제2 엣지 애플리케이션(312)을 실행할 수 있다. 일 실시예에 따르면, 엣지 에플리케이션은 MEC 서비스를 제공하는 엣지 데이터 네트워크(300) 내 제 3자가 제공하는 애플리케이션을 의미할 수 있다. 엣지 애플리케이션은 애플리케이션 클라이언트와 관련된 데이터를 송수신하기 위하여, 애플리케이션 클라이언트와 데이터 세션을 형성하는데 이용될 수 있다. 즉, 엣지 애플리케이션은 애플리케이션 클라이언트와 데이터 세션을 형성할 수 있다. 일 실시예에 따르면, 데이터 세션은, 단말(100)의 애플리케이션 클라이언트와 엣지 데이터 네트워크(300)의 엣지 애플리케이션이 데이터를 송수신하기 위하여 형성되는 통신 경로를 의미할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(300)의 애플리케이션은, 엣지 애플리케이션(edge application), MEC 애플리케이션(MEC App), 엣지 애플리케이션 서버(edge application server), ME(MEC) App 및 엣지 애플리케이션으로 지칭될 수 있다. 이하 본 개시에서는, 편의를 위해, 엣지 데이터 네트워크(300)의 애플리케이션은 엣지 애플리케이션으로 지칭하도록 한다.
일 실시예에 따르면, 엣지 데이터 네트워크(300)는 엣지 인에이블러 서버(edge enabler server, 320)를 포함할 수 있다. 일 실시예에 따르면, 엣지 인에이블러 서버(320)는 MEC 플랫폼(mobile edge computing platform), ME 플랫폼(mobile edge platform, MEP), 플랫폼(platform) 등으로 지칭될 수 있다. 엣지 인에이블러 서버(320)에 대한 보다 자세한 설명은 아래 도 4a를 참조하여 설명한다.
일 실시예에 따르면, 서비스 서버(400)는 단말(100)의 애플리케이션 클라이언트와 관련된 컨텐츠를 제공할 수 있다. 예를 들어, 서비스 서버(400)는 단말(100)이 애플리케이션 클라이언트를 구동(또는, 실행)하는데 필요한 서비스 또는 데이터를 제공할 수 있으며, 단말(100)의 애플리케이션 클라이언트에게 MEC 서비스를 제공할 수 있는, 엣지 애플리케이션을 엣지 데이터 네트워크(300)에게 제공할 수 있다. 또한, 서비스 서버(400)는 엣지 데이터 네트워크(300)에게 단말(100)이 애플리케이션 클라이언트를 구동(또는, 실행)하는데 필요한 서비스 또는 데이터를 제공할 수 있다. 서비스 서버(400)는 단말(100)에게 컨텐츠를 제공하는 컨텐츠 사업자에 의하여 운용, 또는 관리될 수 있다.
도 1에는 도시되지 아니하였으나, 3GPP 네트워크(200)와 엣지 데이터 네트워크(300) 사이에 데이터 네트워크(data network, DN)가 존재할 수 있다. 일 실시예에 따르면, 데이터 네트워크는 3GPP 네트워크(200)를 통해, 단말(100)에게 데이터(또는 데이터 패킷)를 송수신함으로써 서비스(예: 인터넷 서비스, IMS(IP multimedia subsystem) 서비스)를 제공할 수 있다. 예를 들어, 데이터 네트워크는 통신 사업자에 의하여 관리될 수 있다. 일 실시 예에서, 엣지 데이터 네트워크(300)는 데이터 네트워크(예: 로컬(local) DN)를 통해 3GPP 네트워크(200)와 연결될 수 있다.
본 개시의 일 실시예에 따르면, 단말(100)에서 제1 애플리케이션 클라이언트(111) 또는 제2 애플리케이션 클라이언트(112)가 실행되는 경우, 단말(100)은 3GPP 네트워크(200)를 통해 엣지 데이터 네트워크(300)에 접속함으로써, 애플리케이션 클라이언트를 실행시키기 위한 데이터를 송수신할 수 있다. 이때, 단말(100)에서 엣지 데이터 네트워크(300)로 데이터가 전송되거나, 엣지 데이터 네트워크(300)에서 단말(100)로 데이터가 전송되는 경우, 전송 지연(transmission latency)이 발생할 수 있다. 일 실시예에서, 상술된 전송 지연은 종단 간(end-to-end) 전송 지연으로 지칭될 수 있다.
일 실시예에서, 엣지 데이터 네트워크(300)가 3GPP 네트워크(200)를 통해 단말(100)로 데이터 전송 시, 엣지 데이터 네트워크(300)는 단말(100)에게 전송하고자 하는 데이터 중 일부만을 저장하거나 저장하고 있지 않을 수 있다. 예를 들어, 단말(100)에게 제공되는 MEC 서비스가 다양화됨에 따라, 엣지 데이터 네트워크(300)는 단말(100)에게 제공하는 모든 MEC 서비스에 대한 데이터를 전부 저장하고 있지 않을 수 있다. 엣지 데이터 네트워크(300)는 일부 MEC 서비스에 대해서는, MEC 서비스를 제공하기 위해 단말(100)에게 전송해야 하는 데이터 중 일부만을 저장하고, 나머지는 서비스 서버(400)로부터 수신하여 단말(100)에게 전송해야 할 수 있다.
도 2는, 본 개시의 일 실시예에 따른 단말을 중심으로 MEC 기반 서비스를 지원하기 위한 네트워크 환경을 도시한 도면이다.
일 실시예에 따르면, 단말(100)은 제1 애플리케이션 클라이언트(111), 제2 애플리케이션 클라이언트(112), 엣지 인에이블러 클라이언트(edge enabler client)(120), 및 3GPP 통신 레이어(3GPP communication layer, 130)를 포함할 수 있다. 제1 애플리케이션 클라이언트(111) 및 제2 애플리케이션 클라이언트(112)은 단말(100)에 미리 설치된 기본 애플리케이션 또는 제 3자가 제공하는 애플리케이션을 의미할 수 있다. 제1 애플리케이션 클라이언트(111)과 제2 애플리케이션 클라이언트(112)는 요구되는 네트워크 서비스 타입에 기반하여 서비스 서버(400)와 데이터 전송을 수행하거나, 또는 엣지 데이터 네트워크(300)와 엣지 컴퓨팅에 기반한 데이터 전송을 수행할 수 있다.
일 실시예에 따르면, 엣지 인에이블러 클라이언트(120)은 단말(100)이 MEC 서비스를 이용할 수 있게 하는 단말(100) 내 동작을 수행하는 레이어(layer)를 의미할 수 있다. 일 실시예에 따르면, 엣지 인에이블러 클라이언트(120)는 MEL(MEC enabling layer)로도 지칭될 수 있다. 엣지 인에이블러 클라이언트(120)은 어떤 애플리케이션 클라이언트가 MEC 서비스를 이용할 수 있는지 판단하고, MEC 서비스를 제공하는 엣지 데이터 네트워크(300)에 단말(100)의 애플리케이션 클라이언트의 데이터가 전달될 수 있도록 네트워크 인터페이스를 연결해주는 동작을 수행할 수 있다.
또한, 엣지 인에이블러 클라이언트(120)은 단말(100)이 MEC 서비스를 이용하기 위한 데이터 연결을 수립하기 위한 동작을 3GPP 통신 레이어(130)와 수행할 수 있다. 3GPP 통신 레이어(130)는 이동통신 시스템을 이용하기 위한 모뎀 동작을 수행하는 레이어를 의미할 수 있으며, 데이터 통신을 위한 무선 연결을 수립하고, 이동통신 시스템에 단말(100)을 등록하고, 이동통신 시스템에 데이터 전송을 위한 연결을 수립하고, 데이터를 송수신하는 역할을 수행할 수 있다.
도 3은, 본 개시의 일 실시예에 따른 MEC 서버를 중심으로 MEC 기반 서비스를 지원하기 위한 네트워크 환경을 도시한 도면이다.
일 실시예에 따르면, 단말(100)은 제1 애플리케이션 클라이언트(111) 및 제2 애플리케이션 클라이언트(112)를 포함할 수 있다. 단말(100)은, 3GPP 네트워크(200)에 연결되어 제1 애플리케이션 클라이언트(111) 및 제2 애플리케이션 클라이언트(112)와 관련된 데이터를 송수신할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(300)는 단말(100)에게 MEC 서비스를 제공할 수 있다. 이를 위해, 엣지 데이터 네트워크(300)는, 단말(100)이 연결된 3GPP 네트워크(200)의 기지국의 내부 또는 기지국과 지리적으로 가까운 위치에 배치되고, 서비스 서버(400)가 제공하는 컨텐츠와 적어도 일부가 동일한 컨텐츠를 제공할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(300)는 복수의 엣지 애플리케이션(제1 엣지 애플리케이션(311), 제2 엣지 애플리케이션(312)) 및 엣지 인에이블러 서버(320)를 포함할 수 있다. 다만, 엣지 데이터 네트워크(300)의 구성이 이에 제한되는 것은 아니다.
일 실시예에 따르면, 엣지 애플리케이션은 엣지 데이터 네트워크(300) 내 제 3자가 제공하는 애플리케이션으로서, 애플리케이션 클라이언트와 관련된 데이터를 송수신하기 위하여, 애플리케이션 클라이언트와 데이터 세션을 형성할 수 있다.
일 실시예에 따르면, 엣지 인에이블러 서버(320)는 엣지 애플리케이션의 실행에 요구되는 기능을 제공할 수 있다. 예를 들어, 엣지 인에이블러 서버(320)는 엣지 애플리케이션이 단말(100) 등에게 MEC 서비스를 제공하거나, 엣지 애플리케이션이 MEC 서비스를 사용(consume)할 수 있도록 기능 또는 환경을 제공할 수 있다. 또한, 엣지 인에이블러 서버(320)는 트래픽 제어(traffic control)를 수행하거나, DNS(Domain Name System) 핸들링(DNS handling)을 수행할 수 있다.
일 실시예에 따르면, MEC 서비스는 엣지 애플리케이션을 사용하기 위해 필요한 절차 및 정보 관련 서비스를 통칭할 수 있다. MEC 서비스는 엣지 인에이블러 서버(320) 또는 엣지 애플리케이션에 의해 제공(provide)되거나 사용(consume)될 수 있다. 예를 들어, 엣지 애플리케이션은 단말(100)에게 MEC 서비스를 제공하거나, 단말(100)에게 MEC 서비스를 제공하기 위해 엣지 인에이블러 서버(320)가 제공하는 MEC 서비스를 사용할 수 있다. 또한, 엣지 인에이블러 서버(320)는 엣지 애플리케이션이 단말(100)에게 MEC 서비스를 제공하기 위해 사용할 수 있는 MEC 서비스를 엣지 애플리케이션에게 제공할 수 있다. 이하에서, MEC 서비스는, 엣지 데이터 네트워크(300) 내지는 엣지 애플리케이션이 단말(100)에게 제공하는 서비스 또는 엣지 인에이블러 서버(320)에 의해 제공되고 엣지 애플리케이션이 사용할 수 있는 서비스를 의미할 수 있다.
일 실시예에 따르면, 엣지 인에이블러 서버(320)는 엣지 애플리케이션에게 MEC 서비스를 제공할 수 있다. 예를 들어, 엣지 인에이블러 서버(320)는 제공하는 MEC 서비스에 따라, 엣지 애플리케이션에게 각종 정보(데이터, 컨텐츠 등으로, 예를 들어 단말의 위치에 대한 정보, 캐싱 데이터, 구독하는 서비스에 대한 정보 등)를 제공할 수 있다. 엣지 애플리케이션은 엣지 인에이블러 서버(320)가 제공하는 MEC 서비스를 사용하여 단말(100)에게 MEC 서비스를 제공할 수 있다. 예를 들어, 엣지 애플리케이션은, 엣지 인에이블러 서버(320)가 MEC 서비스로서 제공한 정보들에 기초하여 단말(100)에게 MEC 서비스를 제공할 수 있다. 단말(100)에게 제공되는 MEC 서비스는 단말(100)이 애플리케이션 클라이언트를 구동하는데 필요한 서비스(예를 들어, 애플리케이션 클라이언트 구동을 위해 필요한 데이터 제공)일 수 있다.
일 실시예에 따르면, 엣지 인에이블러 서버(320)는 MEC 서비스(330) 및 서비스 레지스트리(service registry, 340)를 포함할 수 있다. MEC 서비스(330)는 엣지 데이터 네트워크(300)에 포함된 엣지 애플리케이션들에게 서비스를 제공할 수 있다. MEC 서비스(330)는 개별적인 기능을 수행할 수 있는 소프트웨어 또는 모듈로 구현될 수 있다. 서비스 레지스트리(340)는 엣지 데이터 네트워크(300)에서 이용 가능한 서비스에 대한 정보를 제공할 수 있다. 일 실시예에 따르면, 엣지 인에이블러 서버(320)는 엣지 애플리케이션의 인스턴스가 생성(instantiation)되는 경우, 엣지 애플리케이션을 내부적으로 등록할 수 있다. 엣지 인에이블러 서버(320)는 엣지 애플리케이션을 등록(또는 설치)하고, 엣지 애플리케이션과 관련된 정보를 저장할 수 있다. 엣지 인에이블러 서버(320)가 저장하는 엣지 애플리케이션과 관련된 정보는, 엣지 애플리케이션이 단말(100) 등에게 제공하고자 하는 MEC 서비스에 대한 정보, MEC 서비스가 엣지 애플리케이션에게 필요한(required) 서비스인지 옵션적인(optional) 서비스인지 여부에 대한 정보 등을 포함할 수 있다.
일 실시예에 따르면, 엣지 애플리케이션은 엣지 인에이블러 서버(320)에 새로운 MEC 서비스를 등록(service registration)하거나, 엣지 인에이블러 서버(320)에 등록된 MEC 서비스를 검색할 수 있다. 엣지 애플리케이션은 엣지 인에이블러 서버(320)에 MEC 서비스를 등록하면서, 등록하고자 하는 MEC 서비스에 대한 정보를 엣지 인에이블러 서버(320)에게 제공할 수 있다. 엣지 인에이블러 서버(320)는 MEC 서비스를 서비스 레지스트리(340)에 등록할 수 있다.
일 실시예에 따르면, 엣지 애플리케이션은 엣지 인에이블러 서버(320)에 등록된 MEC 서비스를 업데이트할 수 있다. 예를 들어, 엣지 애플리케이션은 엣지 인에이블러 서버(320)에 등록된 MEC 서비스를 업데이트하기 위해, 엣지 인에이블러 서버(320)에 업데이트하고자 하는 MEC 서비스에 대한 정보를 전달할 수 있다. 이 때, 엣지 인에이블러 서버(320)는 업데이트된 MEC 서비스와 관련하여 서비스 레지스트리(340)에서 업데이트할 수 있다.
일 실시예에 따르면, 엣지 인에이블러 서버(320)는 엣지 데이터 네트워크(300) 내의 엣지 애플리케이션에게 서비스 레지스트리(340)에 등록된 MEC 서비스들에 대한 정보를 전달할 수 있다. 예를 들어, 엣지 인에이블러 서버(320)는 서비스 레지스트리(340)에 등록된 MEC 서비스들에 대한 목록을 엣지 애플리케이션에게 전달할 수 있다. 또한, 엣지 인에이블러 서버(320)는 서비스 레지스트리(340)에 등록된 또는 새로이 등록되는 MEC 서비스들의 사용 가능 여부(availability)에 대한 정보를 엣지 애플리케이션에게 전달할 수 있다.
일 실시예에 따르면, 엣지 인에이블러 서버(320)로부터 MEC 서비스들의 사용 가능 여부(availability)가 변경되었다는 정보를 엣지 데이터 네트워크(300) 내의 엣지 애플리케이션들에게 전달할 수 있다. 예를 들어, 엣지 인에이블러 서버(320)는 새로운 MEC 서비스가 서비스 레지스트리(340)에 등록되거나 서비스 레지스트리(340)에 등록된 MEC 서비스가 업데이트 되어, MEC 서비스의 사용 가능 여부가 변경되는 경우, MEC 서비스의 사용 가능 여부가 변경되었다는 정보를 엣지 애플리케이션들에게 전달할 수 있다. 이 때, 엣지 인에이블러 서버(320)는 사용 가능 여부가 변경된 MEC 서비스를 필요한 서비스 또는 옵션적인 서비스로 등록한 엣지 애플리케이션들에게, 해당 MEC 서비스의 사용 가능 여부가 변경되었다는 정보를 전달할 수 있다.
도 4는, 본 개시의 또 다른 실시예에 따른 MEC 기반 서비스를 지원하기 위한 네트워크 환경을 도시한 도면이다.
일 실시예에 따르면, 도 4b의 구성들은 도 4a의 구성들에 대응될 수 있다. 예를 들어, 도 4의 MEC host(350), 제1, 2 ME App(Mobile edge application, 361, 362), 및 MEP(MEC platform, 370)은 도 3의 엣지 데이터 네트워크(300), 제1, 2 엣지 애플리케이션(311, 312), 및 엣지 인에이블러 서버(320)에 각각 대응될 수 있다. 이하, 도 4에 대한 설명에서 도 3과 중복되는 구성들에 대한 자세한 설명은 생략하도록 한다.
도 4를 참조하면, MEC 시스템은, MEC host(350), MEPM(mobile edge platform manager, 392), VIM(virtualization infrastructure manager, 394), MEO(mobile edge orchestrator, 396)를 포함할 수 있다. 다만, MEC 시스템이 포함하는 구성이 이에 제한되는 것은 아니다. MEC 시스템에 포함되는 구성들 각각은 물리적인 객체(entity) 단위를 의미하거나, 개별적인 기능(function)을 수행할 수 있는 소프트웨어 또는 모듈 단위를 의미할 수 있다. 일 실시예에 따르면, MEC host(350)는 복수의 ME App(제1 ME App(311), 제2 ME App(312)), MEP(370), 및 가상 인프라스트럭쳐(virtual infrastructure, 380)를 포함할 수 있다. 다만, MEC host(350)의 구성은 이에 제한되는 것은 아니다.
일 실시예에 따르면, 가상 인프라스트럭쳐(virtual infratstructure, 380)는 가상 자원(virtual resources, 381) 및 데이터 평면(data plane, 352)을 포함할 수 있다. 가상 인프라스트럭쳐(380)는 ME App에게 가상 자원(381)을 제공할 수 있다. 가상 자원(381)은 예를 들어, ME App이 사용할 수 있는 컴퓨팅 자원(computing resource), 스토리지 자원(storage resource), 또는 네트워크 자원(예를 들어, 네트워크 대역폭) 중 적어도 하나를 포함할 수 있다. MEC host(350)의 ME App은 가상화 인프라스트럭쳐(380) 위에서 가상 머신(virtual machine)으로 구동될 수 있다.
일 실시예에 따르면, 데이터 평면(382)은 MEP(370)가 수신한 트래픽 규칙을 실행하고, 애플리케이션, 서비스, DNS 서버/프록시, 3GPP 네트워크(200), 로컬 네트워크, 및 외부 네트워크 간에 트래픽을 라우팅할 수 있다.
일 실시예에 따르면, MEPM(MEC Platform Manager, 360)은 MEC host (350)에서 동작하는 ME App들의 라이프 사이클을 관리하고, 라이프 사이클과 연관된 정보, 실행 환경에 관련한 정보를 MEO(396)에게 전달할 수 있다. 다른 실시 예에 따르면, MEPM(392)은 ME App들이 동작하기 위한 정보를 MEP(370)에게 전달하거나 관리할 수 있다. ME App들이 동작하기 위한 정보는 예를 들어, 어플리케이션의 규칙, 요구사항, 서비스 승인, 또는 트래픽 규칙 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, VIM(virtual infrastructure manager, 394)은 MEC host(350)에서 ME App을 실행하기 위하여 요구되는 가상 인프라스트럭쳐(380)의 가상 자원(381)을 할당(allocate), 관리(manage), 또는 해제(release)할 수 있다.
일 실시예에 따르면, MEO(Multi-access or Mobile Edge Orchestrator, 396)는 MEC 시스템에 기반한 데이터 전송의 전반적인 기능을 관리 및 유지할 수 있다. MEO(396)는 MEC 시스템에서 이용 가능한 자원(resource), 이용 가능한 MEC 서비스, 애플리케이션의 규칙(rule) 및 요구사항(requirement), 운영자(operator)의 정책, 또는 토폴로지(topology) 중 적어도 하나에 기반하여 MEC에 기반한 데이터 전송의 전반적인 기능을 관리 및 유지할 수 있다. 예를 들어, MEO(396)는 단말(100)의 UE App에 적합한 MEC host(350)를 선택하거나, UE App의 인스턴스화의 트리거링(triggering) 또는 종료를 수행할 수 있다.
이때, 단말(100)의 UE App은 데이터 전송 속도, 지연 시간(또는 속도)(latency), 신뢰성(reliability), 네트워크에 접속(access)된 단말(100)의 수, 단말(100)의 네트워크 접속 주기, 또는 평균 데이터 사용량 중 적어도 하나에 기반하여 서로 다른 네트워크 서비스를 요구(require)할 수 있다.
단말(100)의 UE App은 요구되는 네트워크 서비스에 기반하여 서비스 서버(400)와 데이터 전송을 수행하거나, 엣지 데이터 네트워크(300) 또는 MEC host(350)과 엣지 컴퓨팅에 기반한 데이터 전송을 수행할 수 있다.
일 실시예에서, 단말(100)의 UE App에서 요구하는 네트워크 서비스가 증가할 때마다 적합한 MEC host(350)을 선택하는 규칙(rule)의 복잡도가 증가할 수 있다. 단말(100)의 UE App에서 요구하는 네트워크 서비스가 복합적이어서 정량적으로 표현되지 못하거나 우선 순위를 정할 수 없는 경우 부적합한 MEC host(350)를 선택(또는 결정)하게 될 수 있다.
본 개시에서는 사용자에게 고품질 서비스를 제공하기 위해 전자 장치(600)가 적합한 엣지 데이터 네트워크(300) 또는 MEC host(350)을 결정하는 방법이 제공된다.
도 5는, 본 개시의 일 실시예에 따라 적합한 MEC host(350)을 결정하여 MEC 기반 서비스를 지원하기 위한 네트환경을 도시한 도면이다.
MEC host(350), 제1, 2 ME App(Mobile edge application, 361, 362), 및 MEP(MEC platform, 370)는 각각 도 3의 엣지 데이터 네트워크(300), 제1, 2 엣지 애플리케이션(311, 312), 및 엣지 인에이블러 서버(320)에 대응될 수 있다. 이하, 도 3 및 도 4에 대한 설명에서 도 5와 중복되는 구성들에 대해서는 간략히 설명하도록 한다.
본 개시의 일 실시예에 따라, 단말(100)은 사용자에 의해 사용되는 장치를 의미할 수 있다. 서비스 서버(400)는 단말(100)의 애플리케이션 클라이언트와 관련된 컨텐츠를 제공할 수 있다. MEC host(350)는 단말(100)이 MEC 서비스를 이용하기 위하여 접속하는 서버를 의미할 수 있다. MEO(Multi-access or Mobile Edge Orchestrator, 396)는 MEC 시스템에 기반한 데이터 전송의 전반적인 기능을 관리 및 유지할 수 있다. MEPM(MEC Platform Manager, 360)은 MEC host (350)에서 동작하는 ME App들의 라이프 사이클을 관리하고, 라이프 사이클과 연관된 정보, 실행 환경에 관련한 정보를 MEO(396)에게 전달할 수 있다. 제1, 2 ME App(Mobile edge application, 361, 362)은 MEC 서비스를 제공하는 MEC host(350)내 제 3자가 제공하는 애플리케이션을 의미할 수 있다. MEP(MEC platform, 370)는 제1, 2 ME App(Mobile edge application, 361, 362)의 실행에 요구되는 기능을 제공할 수 있다.
도 6은, 본 개시의 일 실시예에 따라 적합한 MEC host(350)를 결정하여 MEC 기반 서비스를 지원하기 위한 절차를 도시한 도면이다.
전자 장치(600)는 MEC 시스템에 기반한 데이터 전송의 전반적인 기능을 관리 및 유지할 수 있다. 예를 들어, 전자 장치(600)는 도 5의 MEC 기반 서비스를 지원하기 위한 네트워크 환경에서의 MEO(396)가 될 수 있다.
605 단계에서, MEC host(350)는 기 설치된 ME App 실행 환경에 관련한 정보(610)를 MEPM(392)에 전송할 수 있다. 606 단계에서, MEPM(392)는 기 설치된 ME App 실행 환경에 관련한 정보(610)를 전자 장치(600)에 전송할 수 있다.
본 개시의 일 실시예에서, 기 설치된(Pre-installed or Pre-registered) ME App 실행 환경에 관련한 정보(610)는 기 설치된 ME App의 실행 환경에 관한 요구 사항 정보(Application Descriptor, 611, 이하에서는 'App D'라 한다), 기 설치된 ME App의 전송 이력 정보(612), 기 설치된 ME App의 MEC host(350) 네트워크 혼잡에 관한 정보(613) 또는 기 설치된 ME App의 MEC host(350) 가용 자원에 관한 정보(614) 중 적어도 하나를 포함할 수 있다.
본 개시의 일 실시예에서, ME App의 App D는 ME App의 실행에 요구되는 환경과 관련한 정보일 수 있다. 예를 들어, 환경과 관련한 정보는 ME App의 실행에 요구되는 지연 속도(latency) 정보, 요구 자원 정보, 컴퓨팅 파워, 대역폭(bandwidth), 저장 공간(storage) 또는 이용되는 서비스 정보 중 적어도 하나를 포함할 수 있다.
본 개시의 다른 일 실시예에서, ME App의 App D는 네트워크 서비스에 관한 요구(require) 사항 정보일 수 있다. 예를 들어, 요구 사항 정보는 단말(100)의 데이터 전송 속도, 지연 시간(또는 속도), 신뢰성(reliability), 네트워크에 접속(access)된 단말(100)의 수, 단말(100)의 네트워크 접속 주기, 또는 평균 데이터 사용량 중 적어도 하나를 포함할 수 있다.
따라서 ME App의 App D는 ME App의 실행에 이용되는 서비스와 관련된 정보(예를 들어, 위치 정보)와 구체적으로 ME App의 실행에 요구되는 환경과 관련한 정보들을 포함하므로, ME App들의 유사도는 전자 장치(600)에 의해 ME App의 App D에 기초하여 결정될 수 있다. 예를 들어, 차량 네비게이션 애플리케이션들의 경우, 전자 장치(600)는 ME App의 실행에 이용되는 서비스와 관련된 정보가 위치 정보로 동일하고 실행에 요구되는 지연 속도, 요구 자원, 컴퓨팅 파워, 대역폭 또는 저장 공간의 차이는 설정된 값 이하일 때 유사한 ME App으로 결정할 수 있다.
본 개시의 일 실시예에서, 기 설치된 ME App의 전송 이력 정보(612)는 MEO(396) 또는 전자 장치(600)가 ME App을 설치(또는 재설치)하기 위해 MEPM(392) 또는 MEC host(350)에 ME App을 전송한 이력을 의미할 수 있다. 다른 일 실시예에서, 기 설치된 ME App의 전송 이력 정보(612)는 기 설치된 ME App의 MEC host(350)의 변경 이력 정보를 포함할 수 있다.
본 개시의 일 실시예에서, 전자 장치(600) 또는 MEO(396)는 ME App이 MEC host(350)에 설치된 이후에도 설치된 MEC host(350)가 ME App의 적합한 실행 환경이 아니라고 결정하고 다른 MEC host(350) 또는 MEPM(392)에 재설치(re-install or relocation)하기 위해 ME App을 재전송할 수 있다. 따라서 ME App의 재설치한 빈도 수가 높은 경우, ME App이 설치된 MEC host(350) 또는 MEPM(392) 적합한 실행 환경이 아니어서 재전송되거나 재설치한 빈도 수가 높은 것을 의미할 수 있다. 따라서 해당 ME App의 실행 환경에 있어서 전자 장치(600)는 ME App이 설치된 MEC host(350) 또는 MEPM(392)가 불안정하다고 결정할 수 있다. 반면, 재전송되거나 재설치한 빈도 수가 낮은 ME App의 경우, 전자 장치(600)는 해당 ME App의 실행 환경에 있어서 MEC host(350) 또는 MEPM(392)가 안정(stable)하다고 결정할 수 있다. 전자 장치(600)가 적합한 MEC host(350)를 결정하는 동작은 도 7 내지 도 13을 통해 구체적으로 설명한다.
본 개시의 일 실시예에서, 기 설치된 ME App의 MEC host(350) 네트워크 혼잡에 관한 정보(613)는 MEC host(350)에 접속(access)된 단말(100)의 수, 단말(100)의 네트워크 접속 주기, 평균 데이터 사용량, 인아웃 네트워크 트래픽(In/Out network traffic) 또는 MEC host(350)에 설치된 ME App의 수 등을 포함할 수 있으나 이에 한정되는 것은 아니다.
본 개시의 일 실시예에서, 기 설치된 ME App의 MEC host(350) 가용 자원에 관한 정보(614)는 MEC host(350)의 CPU, 메모리, 컴퓨팅 파워(Computing power) 또는 스토리지(Storage) 등을 포함할 수 있으나 이에 한정되는 것은 아니다.
따라서, 기 설치된 ME App의 MEC host(350) 네트워크 혼잡에 관한 정보(613) 또는 기 설치된 ME App의 MEC host(350) 가용 자원에 관한 정보(614)는 ME App이 설치될 수 있는 MEC host(350)에 관한 정보를 포함하므로, MEC host(350)의 유휴 자원(idle resource)은 기 설치된 ME App의 MEC host(350) 네트워크 혼잡에 관한 정보(613)(In/Out network traffic) 또는 기 설치된 ME App의 MEC host(350) 가용 자원에 관한 정보(614)에 기초하여 결정될 수 있다.
본 개시의 일 실시예에서, 기 설치된 ME App 실행 환경에 관련한 정보(610)는 MEC host(350) 또는 MEPM(392)로부터 전자 장치(600)에 전송될 수 있다. 본 개시의 다른 일 실시예에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)를 저장하고 있을 수 있다.
608 단계에서, 단말(100), 외부 서버(미도시) 또는 서비스 서버(400)는 전자 장치(600)에 신규 ME App 설치 요청(615)을 전송할 수 있다. 신규 ME App 설치 요청(615)은 신규 ME App의 App D(621)를 포함하고 있을 수 있다.
본 개시의 일 실시예에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)에 기초하여 신규 ME App을 설치하기 위한 MEC host(350)를 결정할 수 있다. 구체적인 결정의 동작은 도 7을 통해 설명하기로 한다.
616 단계에서, 전자 장치(600)는 결정된 MEC host(350)에 신규 ME App을 설치하기 위하여, 신규 ME App을 MEPM(392) 또는 MEC host(350)에 전송할 수 있다.
617 단계에서, MEC host(350)는 전송된 신규 ME App 실행 환경에 관련한 정보(620)를 MEPM(392)에 전송할 수 있다.
618 단계에서 MEPM(392)은 전송된 신규 ME App 실행 환경에 관련한 정보(620)를 전자 장치(600)에 전송할 수 있다. 본 개시의 다른 일 실시예에서, 전자 장치(600)는 전송된 신규 ME App 실행 환경에 관련한 정보(620)를 저장하고 있을 수 있다.
본 개시의 일 실시예에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)와 전송된 신규 ME App의 실행 환경에 관련한 정보(620)에 기초하여 전송된 신규 ME App을 재설치할 MEC host(350)를 결정할 수 있다. 구체적인 결정의 동작은 도 13을 통해 설명하기로 한다.
630 단계에서, 전자 장치(600)는 결정된 MEC host(350)에 신규 ME App을 재설치하기 위하여, 신규 ME App을 MEPM(392)에 재전송할 수 있다. 본 개시의 다른 일 실시예에서, 전자 장치(600)는 결정된 MEC host(350)에 신규 ME App을 재전송할 수 있다.
도 7은, 본 개시의 일 실시예에 따라 전자 장치(600)가 적합한 MEC host(350)를 결정하는 동작을 설명하기 위한 흐름도이다.
700 단계에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)를 획득하고 신규 ME App 설치 요청(615)을 수신할 수 있다. 기 설치된 ME App 실행 환경에 관련한 정보(610)를 획득하는 동작과 신규 ME App 설치 요청(615)을 수신하는 동작은 동시에 수행되거나 동작의 순서가 변경될 수 있다.
본 개시의 일 실시예에서, 전자 장치(600)가 기 설치된 ME App 실행 환경에 관련한 정보(610)를 획득하는 동작은 MEC host(350) 또는 MEPM(392)로부터 수신하는 것을 포함할 수 있다. 본 개시의 다른 일 실시예에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)를 저장하고 있으므로, 기 설치된 ME App 실행 환경에 관련한 정보(610)가 MEC host(350) 또는 MEPM(392)로부터 수신하지 않을 수 있다.
그 후, 710 단계에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)에 기초하여 MEC host(350)를 결정할 수 있다.
신규 ME App의 App D(621)는 신규 ME App의 실행에 요구되는 환경과 관련한 정보를 포함하고 있을 수 있다. 그러나, ME App 개발자가 실제 실행 환경을 모두 예측할 수 없으므로 실행에 요구되는 환경과 관련한 정보 모두를 App D에 포함시키는 것은 한계가 있다. 따라서, MEO(396)는 신규 ME App의 App D(621)에 기초하여 MEC host(350) 설치하고 신규 ME App의 설치 후 실행 환경에 관련한 정보를 통해 다른 MEC host(350)에 재설치 할 수 있도록 동작할 수 있다.
MEO(396)이 신규 ME App을 재설치하는 경우, MEO(396)은 신규 ME App의 App D(621)를 적합한 MEC host(350)에 재설치할 수 있도록 수정할 수 있다. 또한, MEO(396)은 ME App의 App D에 기초한 MEC host(350) 설치 규칙(Rule)을 추가할 수 있다. MEO(396)가 신규 ME App의 App D(621)를 수정하거나 규칙을 추가하는 것은 시간적 비용, 금전적 비용이 소모될 뿐만 아니라 규칙의 복잡성이 증가할 수 있다. 따라서 신규 ME App의 재설치를 최소화하고 최적의 MEC host(350)을 결정하는 것이 필요하다.
본 개시의 일 실시예에서, 기 설치된 ME App 실행 환경에 관련한 정보(610)는 기 설치된 ME App의 App D(611), 기 설치된 ME App의 전송 이력 정보(612), 기 설치된 ME App의 MEC host(350) 네트워크 혼잡에 관한 정보(613) 또는 기 설치된 ME App의 MEC host(350) 가용 자원에 관한 정보(614) 중 적어도 하나를 포함할 수 있다. 기 설치된 ME App의 전송 이력 정보(612)는 ME App의 MEC host(350) 변경 이력 정보를 포함하므로, 기 설치된 ME App 실행 환경에 관련한 정보(610)는 ME App의 실제(또는 설치 후) 실행 환경에 관련한 정보를 의미할 수 있다.
710 단계에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)에 기초하여 신규 ME App을 설치하기 위한 MEC host(350)를 결정하므로, 신규 ME App의 재설치가 최소화되고 최적의 MEC host(350)을 결정할 수 있다.
720 단계에서, 전자 장치(600)는 결정된 MEC host(350)에 신규 ME App을 설치하기 위해 MEC host(350)에 전송할 수 있다. 본 개시의 다른 일 실시예에서, 전자 장치(600)가 신규 ME App을 MEPM(392)에 전송하면 MEPM(392)가 결정된 MEC host(350)에 신규 ME App을 전송할 수 있다.
도 8은, 본 개시의 일 실시예에 따라 전자 장치(600)가 적합한 MEC host(350)를 결정하는 동작을 설명하기 위한 흐름도이다. 도 8의 810 및 820 단계는 도 7의 기 설치된 ME App 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)에 기초하여 MEC host(350)를 결정하는 710 단계를 구체화한 것이다.
810 단계에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)를 비교할 수 있다. 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610) 중 신규 ME App의 App D(621)와 대응되는 정보를 상호 비교할 수 있다. 예를 들어, 전자 장치(600)는 ME App의 실행에 요구되는 지연 속도, 요구 자원 정보, 컴퓨팅 파워, 대역폭, 저장 공간 또는 실행에 이용되는 서비스 각각을 기 설치된 ME App과 신규 ME App 상호 간에 비교할 수 있다.
앞서 설명한 바와 같이, ME App의 App D는 이용되는 서비스 정보와 구체적으로 ME App의 실행에 요구되는 환경과 관련한 정보들을 포함하므로, ME App들의 유사도는 ME App의 App D들의 상호 비교를 통하여 결정될 수 있다.
본 개시의 일 실시예에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610) 중 신규 ME App의 App D(621)와 대응되는 정보의 차이가 설정된 값 이하인 기 설치된 ME App을 신규 ME App과 유사한 것으로 결정할 수 있다. 본 개시의 다른 일 실시예에서, 전자 장치(600)는 대응되는 정보의 차이에 대한 합이 설정된 값이 이하인 기 설치된 ME App을 신규 ME App과 유사한 것으로 결정할 수 있다. 이때, 전자 장치(600)는 대응되는 정보의 차이에 대한 가중합(Weighted Sum)이 설정된 값 이하인 기 설치된 ME App을 신규 ME App과 유사한 것으로 결정할 수 있다. 예를 들어, ME App의 실행에 요구되는 지연 속도의 차이에 계수 A를 곱하고 ME App의 실행에 요구 자원의 차이에 계수 B를 곱한 가중합이 설정된 값 이하인 기 설치된 ME App을 신규 ME App과 유사한 것으로 결정할 수 있다.
또한, 가중합의 계수들은 인공 신경망(Artificial Neural Network)의 히든 레이어(Hidden Layer) 각 노드(Node)에 배치되어 학습된 것일 수 있다. 가중합 계수들의 학습은 지도 학습(예를 들어, KNN 등), 비지도 학습(예를 들어, K-means 등) 또는 강화 학습(예를 들어, Q-Learning 등)으로 이루어질 수 있다. 각 학습 방법의 구체적 설명은 공지된 기술이므로 생략한다.
820 단계에서, 전자 장치(600)는 비교 결과에 기초하여 MEC host(350)를 결정할 수 있다. 전자 장치(600)는 신규 ME App과 유사한 기 설치된 ME App이 설치된 MEC host(350)를 신규 ME App을 설치하기 위한 MEC host(350)로 결정할 수 있다. ME App의 App D에 포함되는 정보의 수가 증가하더라도, 전자 장치(600)는 ME App의 유사도를 통해 MEC host(350)를 결정하므로 규칙(rule)의 복잡도가 증가하지 않을 수 있다. 또한 전자 장치(600)는 ME App들의 App D를 비교하여 대응되는 정보의 차이를 가중합(Weighted Sum)할 수 있다. 따라서, 실행 환경에 관한 요구 사항 정보가 복합적이어서 정량적으로 표현되지 못하거나 우선 순위를 정할 수 없는 경우에도 전자 장치(600)는 계수에 대한 조절을 통하여 적합한 MEC host(350)을 결정할 수 있다.
도 9는, 본 개시의 일 실시예에 따라 전자 장치(600)가 적합한 MEC host(350)를 결정하는 동작의 원리를 설명하기 위한 흐름도이다. 도 9의 910 및 920 단계는 도 7의 기 설치된 ME App 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)에 기초하여 MEC host(350)를 결정하는 710 단계를 구체화한 것이다.
910 단계에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)에 기초하여 기 설치된 ME App의 실행 환경의 안정도를 결정할 수 있다. 앞서 도 6을 통해 설명한 바와 같이, 재전송되거나 재설치한 빈도 수가 낮은 ME App은 해당 ME App의 실행 환경에 있어서 ME App이 설치된 MEC host(350) 또는 MEPM(392)가 안정한 것을 의미할 수 있다. 전자 장치(600)는 실행 환경에 관련한 정보, 예를 들어 기 설치된 ME App의 전송 이력 정보(612)에 기초하여 기 설치된 ME App의 실행 환경의 안정도를 결정할 수 있다.
920 단계에서, 전자 장치(600)는 기 설치된 ME App의 실행 환경의 안정도와 신규 ME App의 App D(621)에 기초하여 MEC host(350)를 결정할 수 있다. 전자 장치(600)는 안정도가 높은(재전송 빈도 수가 낮은) 기 설치된 ME App의 MEC host(350)을 신규 ME App을 설치하기 위한 MEC host(350)을 결정할 수 있다. 따라서 설치된 MEC host(350)가 신규 ME App의 적합한 실행 환경이 아니어서 다른 MEC host(350) 또는 MEPM(392)에 재설치(re-install or relocation)되는 것이 최소화될 수 있다.
본 개시의 다른 일 실시예에 따라, 전자 장치(600)는 신규 ME App과 유사한 기 설치된 ME App의 MEC host(350) 중에서 실행 환경의 안정도가 높은 것으로 신규 ME App을 설치하기 위한 MEC host(350)를 결정할 수 있다. 또한 전자 장치(600)는 ME App의 유사도와 안정도의 합 또는 가중합에 기초하여 MEC host(350)을 결정할 수 있다. 앞서 설명한 바와 같이, 가중합의 계수들은 인공 신경망(Artificial Neural Network)의 히든 레이어(Hidden Layer) 각 노드에 배치되어 학습된 것일 수 있다.
도 10은, 본 개시의 일 실시예에 따라 전자 장치(600)가 적합한 MEC host(350)를 결정하는 동작의 원리를 설명하기 위한 흐름도이다. 도 10의 1010 및 1020 단계는 도 7의 기 설치된 ME App 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)에 기초하여 MEC host(350)를 결정하는 710 단계를 구체화한 것이다.
1010 단계에서, 전자 장치(600)는 기 설치된 실행 환경에 관련한 정보에 기초하여 기 설치된 ME App의 MEC host(350)의 유휴 자원을 결정할 수 있다. 전자 장치(600)는 기 설치된 실행 환경에 관련한 정보, 예를 들어 네트워크 혼잡에 관한 정보 또는 가용 자원에 관한 정보에 기초하여 기 설치된 ME App의 MEC host(350)에서 이용할 수 있는 자원을 결정할 수 있다.
1020 단계에서, 전자 장치(600)는 유휴 자원과 신규 ME App의 App D(621)에 기초하여 MEC host(350)를 결정할 수 있다. 전자 장치(600)는 신규 ME App의 App D(621)에 기초하여 실행에 요구되는 자원을 결정하고 요구 자원보다 작은 유휴 자원을 보유한 MEC host(350)를 필터링 할 수 있다. 따라서 설치된 MEC host(350)가 신규 ME App의 적합한 실행 환경, 예를 들어 실행에 요구되는 자원의 부족으로 인해 다른 MEC host(350) 또는 MEPM(392)에 재설치(re-install or relocation)되는 것은 최소화될 수 있다.
도 11은, 본 개시의 일 실시예에 따라 전자 장치(600)가 적합한 MEC host(350)를 결정하는 동작을 설명하기 위한 흐름도이다. 도 11의 1100, 1110 및 1120 단계는 도 7의 기 설치된 ME App 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)에 기초하여 MEC host(350)를 결정하는 710 단계를 구체화한 것이다.
1100 단계에서, 전자 장치(600)는 기 설치된 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)를 각각 데이터 값으로 수치화할 수 있다. 전자 장치(600)는 각각의 정보들이 구별될 수 있도록 행렬 또는 배열(Array)을 생성하고 각 성분에 수치화된 데이터 값을 할당할 수 있다.
1110 단계에서, 전자 장치(600)는 수치화된 데이터에 기초하여, 데이터 비교 리스트를 생성할 수 있다. 데이터 비교 리스트는 ME App들의 유사도를 결정하기 위해 기 설치된 ME App과 신규 ME App 사이에 대응되는 정보의 수치화된 데이터 차이에 대한 합 또는 가중합으로 생성된 것을 포함할 수 있다. 앞서 설명한 바와 같이 가중합의 계수들은 인공 신경망(Artificial Neural Network)의 히든 레이어(Hidden Layer) 각 노드(Node)에 배치되어 학습된 것일 수 있다.
1120 단계에서, 전자 장치(600)는 데이터 비교 리스트에 기초하여 MEC host(350)을 결정할 수 있다. 전자 장치(600)는 데이터 비교 리스트에 포함된 대응되는 정보의 수치화된 데이터 차이에 대한 합 또는 가중합이 작아 유사도가 높고 재전송되거나 재설치한 빈도 수가 낮아 안정도가 높은 순서로 데이터 비교 리스트를 리스팅(listing 또는 sorting)할 수 있다. 리스팅하는 동작은 정렬 알고리즘(Sorting Algorithm)으로 수행될 수 있고, 공지된 기술이므로 설명은 생략한다.
본 개시의 다른 일 실시예에서, 전자 장치(600)는 데이터로 수치화된 유사도와 안정도의 합 또는 가중합이 높은 순서로 데이터 비교 리스트를 리스팅 할 수 있다. 이 경우, 앞서 설명한 바와 같이 가중합의 계수들은 인공 신경망(Artificial Neural Network)의 히든 레이어(Hidden Layer) 각 노드(Node)에 배치되어 학습된 것일 수 있다.
본 개시의 일 실시예에서, 전자 장치(600)는 데이터로 수치화된 신규 ME App의 실행에 요구되는 자원보다 작은 유휴 자원을 보유한 MEC host(350)를 필터링(Fitering)할 수 있다. 본 개시의 다른 일 실시예에서, 전자 장치(600)는 신규 ME App의 실행에 요구되는 자원보다 작은 유휴 자원을 보유한 MEC host(350)를 데이터 비교 리스트에 포함시키지 않을 수 있다. 따라서, 필터링 동작 또는 유휴 자원에 대하여 비교하는 동작은 1110 단계에 앞서 수행될 수 있다.
도 12는, 본 개시의 일 실시예에 따라 전자 장치(600)가 신규 ME App을 재전송하는 동작을 설명하기 위한 흐름도이다. 도 12의 1200, 1210, 1220 단계는 도 7의 700, 710, 720 단계와 동일한 과정이다. 이하, 도 12에 대한 설명에서 도 7과 중복되는 구성들에 대해서는 간략히 설명하도록 한다.
1200 단계에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)를 획득하고 신규 ME App 설치 요청(615)을 수신할 수 있다. 1210 단계에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)와 신규 ME App의 App D(621)에 기초하여 신규 ME App을 설치하기 위한 MEC host(350)를 결정할 수 있다. 1220 단계에서, 전자 장치(600)는 결정된 MEC host(350)에 신규 ME App을 설치하기 위해 MEC host(350)에 전송할 수 있다.
1230 단계에서, 전자 장치(600)는 전송된 신규 ME App의 실행 환경에 관련한 정보를 획득할 수 있다. 앞서 설명한 바와 같이, 전송된 신규 ME App 실행 환경에 관련한 정보(620)는 신규 ME App의 실행 환경에 관한 요구 사항 정보(App D, 621), 신규 ME App의 전송 이력 정보(622), 신규 ME App의 MEC host(350) 네트워크 혼잡에 관한 정보(623) 또는 신규 ME App의 MEC host(350) 가용 자원에 관한 정보(624) 중 적어도 하나를 포함할 수 있다.
본 개시의 다른 일 실시예에서, 전자 장치(600)는 전송된 신규 ME App 실행 환경에 관련한 정보(620)를 저장하고 있으므로, 전송된 신규 ME App 실행 환경에 관련한 정보(620)가 MEC host(350) 또는 MEPM(392)로부터 수신되지 않을 수 있다.
1240 단계에서, 전자 장치(600)는 기 설치된 ME App 과 전송된 신규 ME App의 실행 환경에 관련한 정보(610, 620)에 기초하여 MEC host(350)을 결정할 수 있다. 1240 단계는 710 단계에서 신규 ME App의 App D(621)가 전송된 신규 ME App의 실행 환경에 관련한 정보(620)로 변경된 것으로, 그 외 동작의 원리는 710 단계와 동일하다. 예를 들어, 전자 장치(600)는 앞서 설명한 바와 같이(도 7 내지 도 11에 대한 설명 참조), 전송된 신규 ME App과 기 설치된 ME App의 유사도, 기 설치된 ME App의 MEC host(350)에 대한 안정도 또는 MEC host(350)의 유휴 자원에 기초하여 전송된 신규 ME App을 재설치할 MEC host(350)을 결정할 수 있다.
이와 같이, 전자 장치(600)는 전송된 신규 ME App의 App D(621)를 수정하지 않더라도 기 설치된 ME App의 MEC host(350)에 대한 안정도 또는 MEC host(350)의 유휴 자원에 기초하여 전송된 신규 ME App을 재설치할 적합한 MEC host(350)을 결정할 수 있다. 또한 전자 장치(600)는 ME App의 App D에 기초한 MEC host(350) 설치 규칙(Rule)을 추가하지 않더라도, ME App의 설치 후(또는 실제) 실행 환경에 관련한 정보 예를 들어, 기 설치된 ME App의 MEC host(350)에 대한 안정도에 기초하여 적합한 MEC host(350)를 결정할 수 있다.
1250 단계에서, 전자 장치(600)는 결정된 MEC host(350)에 신규 ME App을 재전송할 수 있다. 본 개시의 다른 일 실시예에서, 전자 장치(600)는 결정된 MEC host(350)에 신규 ME App을 재설치하기 위하여, 신규 ME App을 MEPM(392) 또는 MEC host(350)에 재전송할 수 있다.
도 13는, 본 개시의 일 실시예에 따른 전자 장치(600)의 블록도이다.
도 13에 도시되는 바와 같이, 본 개시의 전자 장치(600)는 프로세서(1310), 통신부(1320), 메모리(1330)를 포함할 수 있다. 다만 전자 장치(600)의 구성 요소가 전술한 예에 한정되는 것은 아니다. 예를 들어, 전자 장치(600)는 전술한 구성 요소보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있다. 뿐만 아니라, 프로세서(1310), 통신부(1320) 및 메모리(1330)가 하나의 칩(Chip) 형태로 구현될 수도 있다.
일 실시예에 따르면, 프로세서(1310)는 상술한 본 개시의 실시 예에 따라 전자 장치(600)가 동작할 수 있는 일련의 과정을 제어할 수 있다. 예를 들면, 본 개시의 실시 예에 따르는 전자 장치(600)가 적합한 MEC host(350)를 결정하도록 전자 장치(600)의 구성요소들을 제어할 수 있다. 프로세서(1310)는 복수 개일 수 있으며, 프로세서(1310)는 메모리(1330)에 저장된 복수의 인스트럭션들(또는, 프로그램)을 실행함으로써 전술한 동작들 예를 들어, 적합한 MEC host(350)를 결정하는 동작을 수행할 수 있다. 구체적 동작은 도 7 내지 도 12를 통해 상세히 설명하였다.
통신부(1320)는 외부 장치(예를 들어, 단말(100)), 네트워크(예를 들어, 3GPP 네트워크(200)) 또는 서버(예를 들어, 서비스 서버(400))와 신호를 송수신할 수 있다. 통신부(1320)가 송수신하는 신호는 제어 정보와, 데이터를 포함할 수 있다. 통신부(1320)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 다만, 이는 통신부(1320)의 일 실시예일뿐이며, 통신부(1320)의 구성요소가 RF 송신기 및 RF 수신기에 한정되는 것은 아니다. 또한, 통신부(1320)는 무선 채널을 통해 신호를 수신하여 프로세서(1310)로 출력하고, 프로세서(1310)로부터 출력된 신호를 무선 채널을 통해 전송할 수 있다.
일 실시예에 따르면, 통신부(1320)는 단말(100), 외부 서버(미도시) 및 서비스 서버(400)와 데이터를 송수신할 수 있다. 예를 들어, 통신부(1320)는 3GPP 네트워크(200)를 통해 단말(100), 외부 서버(미도시) 또는 서비스 서버(400)으로부터 신규 ME App 설치 요청(615)을 수신할 수 있다.
일 실시예에 따르면, 통신부(1320)는 프로세서(1310)의 제어에 따라 MEC host(350) 또는 MEPM(392)와 데이터를 송수신할 수 있다. 예를 들어, 통신부(1320)는 기 설치된 ME App 실행 환경에 관련한 정보(610)를 MEC host(350) 또는 MEPM(392)으로부터 수신할 수 있고, 결정된 MEC host(350)에 신규 ME App을 전송할 수 있다. 본 개시의 다른 일 실시예에서, 전자 장치(600)는 기 설치된 ME App 실행 환경에 관련한 정보(610)를 저장하고 있으므로, 기 설치된 ME App 실행 환경에 관련한 정보(610)가 MEC host(350) 또는 MEPM(392)로부터 수신되지 않을 수 있다.
일 실시예에 따르면, 메모리(1330)는 전자 장치(600)의 동작에 필요한 복수의 인스트럭션들(또는, 프로그램) 및 데이터를 저장할 수 있다. 또한, 메모리(1330)는 전자 장치(600)가 송수신하는 신호에 포함된 제어 정보 또는 데이터를 저장할 수 있다. 메모리(1330)는 롬(ROM), 램(RAM), 하드디스크, CD-ROM 및 DVD 등과 같은 저장 매체 또는 저장 매체들의 조합으로 구성될 수 있다. 또한, 메모리(1330)는 복수 개일 수 있다 일 실시예에 따르면, 메모리(1330)는 전술한 본 개시의 실시예들인 전자 장치(600)가 적합한 MEC host(350)를 결정하기 위한 복수의 인스트럭션들(또는, 프로그램)을 저장할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품이 제공될 수 있다. 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품에 저장되는 하나 이상의 프로그램은, 전자 장치(600)(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치(600)로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크 상의 별도의 저장 장치가 본 개시의 실시예를 수행하는 장치에 접속할 수도 있다.
본 개시에서, 용어 "컴퓨터 프로그램 제품(computer program product)" 또는 "컴퓨터로 읽을 수 있는 기록매체(computer readable medium)"는 메모리, 하드 디스크 드라이브에 설치된 하드 디스크, 및 신호 등의 매체를 전체적으로 지칭하기 위해 사용된다. 이들 "컴퓨터 프로그램 제품" 또는 "컴퓨터로 읽을 수 있는 기록매체"는 본 개시에 따른 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 누락된 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 명령어로 구성된 소프트웨어 컴퓨터 시스템에 제공하는 수단이다.
상술한 본 개시의 구체적인 실시예들에서, 본 개시에 포함되는 구성 요소는 제시된 구체적인 실시예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (21)

  1. 통신부; 및
    기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보를 획득하고, 신규 모바일 엣지 어플리케이션의 설치 요청을 수신하고, 상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여 상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하고, 상기 결정된 호스트에 상기 신규 모바일 엣지 어플리케이션을 전송하는 적어도 하나의 프로세서;를 포함하는 전자 장치.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    적어도 하나의 외부 서버로부터 상기 실행 환경에 관련한 정보와 신규 모바일 엣지 어플리케이션의 설치 요청을 수신하는 것을 포함하는 전자 장치.
  3. 제 1 항에 있어서,
    상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보는,
    상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보, 전송 이력에 관한 정보, 모바일 엣지 컴퓨팅 호스트의 네트워크 혼잡도에 관한 정보 또는 가용 자원에 관한 정보 중 적어도 하나를 포함하는 전자 장치.
  4. 제 3 항에 있어서,
    싱기 전송 이력에 관한 정보는,
    상기 적어도 하나의 모바일 엣지 어플리케이션이 설치된 모바일 엣지 컴퓨팅 호스트의 변경 이력 정보를 포함하는 전자 장치.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보를 비교하고,
    상기 비교 결과에 기초하여 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 것을 포함하는 전자 장치.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 실행 환경에 관련한 정보에 기초하여, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경의 안정도를 결정하고,
    상기 안정도와 상기 신규 모바일 엣지 컴퓨팅 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 것을 포함하는 전자 장치.
  7. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 실행 환경에 관련한 정보에 기초하여, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 모바일 엣지 컴퓨팅 호스트의 유휴 자원(idle resource)을 결정하고,
    상기 유휴 자원과 상기 신규 모바일 엣지 컴퓨팅 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여, 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 것을 포함하는 전자 장치.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보를 각각 데이터로 수치화하고, 상기 수치화된 데이터에 기초하여 상기 모바일 엣지 어플리케이션의 호스트를 결정하는 것을 포함하는 전자 장치.
  9. 제 8 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 수치화된 데이터에 기초하여, 데이터 비교 리스트를 생성하고, 상기 데이터 비교 리스트에 기초하여, 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 것을 포함하는 전자 장치.
  10. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 전송된 신규 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보를 획득하고,
    상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션 실행 환경에 관련한 정보와 상기 전송된 신규 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보에 기초하여 상기 신규 모바일 엣지 어플리케이션을 재설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하고,
    상기 결정된 호스트에 상기 신규 모바일 엣지 어플리케이션을 재전송하는 것을 포함하는 전자 장치.
  11. 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법에 있어서,
    기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보를 획득하는 단계;
    신규 모바일 엣지 어플리케이션의 설치 요청을 수신하는 단계;
    상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여 상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계; 및
    상기 결정된 호스트에 상기 신규 모바일 엣지 어플리케이션을 전송하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  12. 제 11 항에 있어서,
    상기 실행 환경에 관련한 정보를 획득하는 단계는,
    적어도 하나의 외부 서버로부터 상기 실행 환경에 관련한 정보를 수신하고,
    상기 설치 요청을 수신하는 단계는,
    적어도 하나의 외부 서버로부터 신규 모바일 엣지 어플리케이션의 설치 요청을 수신하는 것을 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  13. 제 11 항에 있어서,
    상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보는,
    상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보, 전송 이력에 관한 정보, 모바일 엣지 컴퓨팅 호스트의 네트워크 혼잡도에 관한 정보 또는 가용 자원에 관한 정보 중 적어도 하나를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  14. 제 13 항에 있어서,
    싱기 전송 이력에 관한 정보는,
    상기 적어도 하나의 모바일 엣지 어플리케이션이 설치된 모바일 엣지 컴퓨팅 호스트의 변경 이력 정보를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  15. 제 11 항에 있어서,
    상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계는,
    상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보를 비교하는 단계; 및
    상기 비교 결과에 기초하여 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  16. 제 11 항에 있어서,
    상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계는,
    상기 실행 환경에 관련한 정보에 기초하여, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 실행 환경의 안정도를 결정하는 단계; 및
    상기 안정도와 상기 신규 모바일 엣지 컴퓨팅 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  17. 제 11 항에 있어서,
    상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계는,
    상기 실행 환경에 관련한 정보에 기초하여, 상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션의 모바일 엣지 컴퓨팅 호스트의 유휴 자원(idle resource)을 결정하는 단계; 및
    상기 유휴 자원과 상기 신규 모바일 엣지 컴퓨팅 어플리케이션의 실행 환경에 관한 요구 사항 정보에 기초하여, 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  18. 제 11 항에 있어서,
    상기 신규 모바일 엣지 어플리케이션을 설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계는,
    상기 실행 환경에 관련한 정보와 상기 신규 모바일 엣지 어플리케이션의 실행 환경에 관한 요구 사항 정보를 각각 데이터로 수치화하는 단계; 및
    상기 수치화된 데이터에 기초하여 상기 모바일 엣지 어플리케이션의 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  19. 제 18 항에 있어서,
    상기 수치화된 데이터에 기초하여 상기 모바일 엣지 어플리케이션의 호스트를 결정하는 단계는,
    상기 수치화된 데이터에 기초하여, 데이터 비교 리스트를 생성하는 단계; 및
    상기 데이터 비교 리스트에 기초하여, 상기 모바일 엣지 컴퓨팅 호스트를 결정하는 단계;를 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  20. 제 11 항에 있어서,
    상기 전송된 신규 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보를 획득하는 단계;
    상기 기 설치된 적어도 하나의 모바일 엣지 어플리케이션 실행 환경에 관련한 정보와 상기 전송된 신규 모바일 엣지 어플리케이션의 실행 환경에 관련한 정보에 기초하여 상기 신규 모바일 엣지 어플리케이션을 재설치하기 위한 모바일 엣지 컴퓨팅 호스트를 결정하는 단계; 및
    상기 결정된 호스트에 상기 신규 모바일 엣지 어플리케이션을 재전송하는 단계;를 더 포함하는 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법.
  21. 제 11 항 내지 제 20 항에 중 어느 한 항의 전자 장치가 모바일 엣지 어플리케이션을 전송하는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020200036440A 2020-03-25 2020-03-25 모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치 KR20210119807A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200036440A KR20210119807A (ko) 2020-03-25 2020-03-25 모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치
EP21774866.4A EP4113935A4 (en) 2020-03-25 2021-02-09 METHOD AND APPARATUS FOR MOBILE EDGE COMPUTER APPLICATION TRANSMISSION
PCT/KR2021/001724 WO2021194087A1 (ko) 2020-03-25 2021-02-09 모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치
US17/952,679 US20230021063A1 (en) 2020-03-25 2022-09-26 Method and apparatus for transmitting mobile edge computing application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200036440A KR20210119807A (ko) 2020-03-25 2020-03-25 모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210119807A true KR20210119807A (ko) 2021-10-06

Family

ID=77892329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200036440A KR20210119807A (ko) 2020-03-25 2020-03-25 모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치

Country Status (4)

Country Link
US (1) US20230021063A1 (ko)
EP (1) EP4113935A4 (ko)
KR (1) KR20210119807A (ko)
WO (1) WO2021194087A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9384027B2 (en) * 2014-06-06 2016-07-05 International Business Machines Corporation Selecting a host for a virtual machine using a hardware multithreading parameter
WO2017129742A1 (en) * 2016-01-27 2017-08-03 Nokia Solutions And Networks Oy Method and apparatus for implementing mobile edge application session connectivity and mobility
US10152344B2 (en) * 2016-08-18 2018-12-11 Red Hat Israel, Ltd. Coupling a network interface card (NIC) of a host system to a virtual machine
US10440096B2 (en) * 2016-12-28 2019-10-08 Intel IP Corporation Application computation offloading for mobile edge computing

Also Published As

Publication number Publication date
US20230021063A1 (en) 2023-01-19
EP4113935A1 (en) 2023-01-04
WO2021194087A1 (ko) 2021-09-30
EP4113935A4 (en) 2023-03-01

Similar Documents

Publication Publication Date Title
US11445039B2 (en) Method and apparatus for providing edge computing services
US11297171B2 (en) Method and apparatus for edge computing service
US8321862B2 (en) System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US9201644B2 (en) Distributed update service
US11467911B2 (en) Systems and methods for detection of degradation of a virtual desktop environment
US11909845B2 (en) Methods and systems for managing applications of a multi-access edge computing environment
US11395195B2 (en) Systems and methods for managing MEC application hosting
US11956281B2 (en) Method and apparatus for edge application server discovery or instantiation by application provider to run media streaming and services on 5G networks
JP6616957B2 (ja) 通信システム及び通信方法
US10425475B2 (en) Distributed data management
KR20210095457A (ko) 엣지 컴퓨팅 서비스를 위한 방법 및 장치
US12001287B2 (en) Systems and methods for detection of degradation of a virtual desktop environment
KR20210042753A (ko) 엣지 컴퓨팅 서비스를 위한 방법 및 장치
US20230319118A1 (en) Method for network-side and client side activation of the edge servers in 5g media streaming architecture
KR20210119807A (ko) 모바일 엣지 컴퓨팅 어플리케이션을 전송하는 방법 및 장치
US20230076228A1 (en) Method of enablement of service api exposed by eas and devices for performing the same
US20230370825A1 (en) Method of performing dynamic edge application server (eas) instantiation triggering and apparatus for performing the same
US12095768B2 (en) Edge discovery authorization for a user device
US11792249B2 (en) Event-driven provisioning of new edge servers in 5G media streaming architecture
KR20230157869A (ko) 동적 eas 인스턴스화 트리거링을 수행하는 방법 및 이를 수행하는 장치
KR20240116392A (ko) Eas에 의해 노출된 서비스 api 활성화 방법 및 이를 수행하는 장치
KR20220033801A (ko) Mec 서비스를 위한 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal