KR102479404B1 - 모바일 엣지 컴퓨팅 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법 - Google Patents

모바일 엣지 컴퓨팅 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법 Download PDF

Info

Publication number
KR102479404B1
KR102479404B1 KR1020200186969A KR20200186969A KR102479404B1 KR 102479404 B1 KR102479404 B1 KR 102479404B1 KR 1020200186969 A KR1020200186969 A KR 1020200186969A KR 20200186969 A KR20200186969 A KR 20200186969A KR 102479404 B1 KR102479404 B1 KR 102479404B1
Authority
KR
South Korea
Prior art keywords
chromosomes
population
service consumption
consumption plan
service
Prior art date
Application number
KR1020200186969A
Other languages
English (en)
Other versions
KR20220095452A (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 KR1020200186969A priority Critical patent/KR102479404B1/ko
Priority to US17/450,605 priority patent/US11432164B2/en
Publication of KR20220095452A publication Critical patent/KR20220095452A/ko
Application granted granted Critical
Publication of KR102479404B1 publication Critical patent/KR102479404B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/22Traffic simulation tools or models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • G06Q10/06375Prediction of business process outcome or impact based on a proposed change
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0204Market segmentation
    • G06Q30/0205Location or geographical consideration
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Accounting & Taxation (AREA)
  • Game Theory and Decision Science (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Educational Administration (AREA)
  • General Health & Medical Sciences (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Bioethics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

다양한 실시예들은 모바일 엣지 컴퓨팅(mobile edge computing; MEC) 환경에서 효율적인 서비스 마이그레이션(service migration)을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법에 관한 것으로, 복수의 도로 구간들을 나타내는 엣지들과 및 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성하고, 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 서비스 소비 계획을 검출하고, 사용자를 위해 서비스 소비 계획을 제공하도록 구성될 수 있다.

Description

모바일 엣지 컴퓨팅 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법{COMPUTER SYSTEM OF PROVIDING SERVICE CONSUMPTION PLAN FOR EFFICIENT SERVICE MIGRATION IN MOBILE EDGE COMPUTING ENVIRONMENTS, AND METHOD THEREOF}
다양한 실시예들은 모바일 엣지 컴퓨팅(mobile edge computing; MEC) 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법에 관한 것이다.
모바일 엣지 컴퓨팅(이하, MEC)는 네트워크 엣지(예: 액세스 포인트(access point) 또는 기지국(base station))에 실행할 클라우드 컴퓨팅 서버(cloud computing server)를 배치하는 개념이다. MEC는 사용자에 가까운 기지국에 MEC 서버를 배치함으로써 네트워크 엣지에서 사용자 요청에 응답하여 대기 시간을 단축하는 등 사용자의 인식되는 서비스 품질(quality of service; QoS)(이하, QoS)을 개선할 뿐만 아니라 코어 네트워크의 부하를 완화시킨다. 이러한 장점을 통해 MEC는 대기 시간에 민감한 애플리케이션, 컴퓨팅 집약적인 애플리케이션 및 고대역폭 애플리케이션의 QoS 요구 사항을 충족할 수 있을 것으로 예상된다.
사용자가 현재의 MEC 서버의 커버리지 영역을 벗어나면 MEC 서버로부터 직접 서비스를 받을 수 없으므로 MEC 환경의 이점을 경험할 수 없다. 사용자가 빠르게 이동할수록 MEC 서버의 커버리지 영역을 벗어날 확률이 커진다. 사용자의 높은 이동성과 단일 MEC 서버의 제한된 커버리지 영역 사이의 이러한 충돌은 네트워크 성능을 저하시키고 QoS를 감소시키며, 진행 중인 엣지 서비스의 중단까지 초래할 수 있다. 서비스 연속성을 보장하기 위해서는 원활한 서비스 마이그레이션이 구현되어야 한다. 서비스 마이그레이션은 진행 중인 서비스를 호스팅하는 MEC 서버에서 사용자와 가까운 새 MEC 서버로 마이그레이션하는 프로세스이다.
마이그레이션으로 인해 서비스를 일시 중지하는 데 필요한 시간인 서비스 다운타임(service downtime)을 줄이기 위해 다양한 서비스 마이그레이션 기술들이 개발되었다. 그러나 마이그레이션은 여전히 상당한 서비스 다운타임을 소모하여 서비스 제공을 방해한다. 일부 연구에 따르면 마이그레이션 후 새 MEC 서버에서 애플리케이션을 다시 시작하는 데 10초 이상 걸린다고 한다. 마이그레이션에 사용되는 무시할 수 없는 시간은 사용자 환경을 저하시킨다. 따라서 서비스 제공 중에 서비스 마이그레이션을 자주 수행하지 않는 것이 중요하다.
다양한 실시예들은, MEC 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법을 제공한다.
다양한 실시예들에 컴퓨터 시스템의 방법은, 복수의 도로 구간들을 나타내는 엣지들과 및 상기 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성하는 단계, 상기 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 상기 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 상기 서비스 소비 계획을 검출하는 단계, 및 상기 사용자를 위해 상기 서비스 소비 계획을 제공하는 단계를 포함할 수 있다.
다양한 실시예들에 따른 컴퓨터 시스템은, 메모리, 및 상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 복수의 도로 구간들을 나타내는 엣지들과 및 상기 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성하고, 상기 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 상기 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 상기 서비스 소비 계획을 검출하고, 상기 사용자를 위해 상기 서비스 소비 계획을 제공하도록 구성될 수 있다.
다양한 실시예들에 따른 비-일시적인 컴퓨터-판독 가능 저장 매체는, 상기 프로그램들은, 복수의 도로 구간들을 나타내는 엣지들과 및 상기 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성하는 단계, 상기 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 상기 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 상기 서비스 소비 계획을 검출하는 단계, 및 상기 사용자를 위해 상기 서비스 소비 계획을 제공하는 단계를 실행하기 위한 하나 이상의 프로그램들을 저장할 수 있다.
다양한 실시예들에 따르면, 컴퓨터 시스템이 사용자를 위해, MEC 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공할 수 있다. 즉, 컴퓨터 시스템은 사용자에게 고품질 서비스를 제공하기 위해, 이동 중 서비스 마이그레이션 지연을 최소화하기 위한 서비스 소비 계획을 제공할 수 있다. 구체적으로, 컴퓨터 시스템은 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 서비스 소비 계획을 검출할 수 있다. 이 때 컴퓨터 시스템은 유전 알고리즘을 사용하여, 서비스 소비 계획을 검출할 수 있다. 이를 통해, 컴퓨터 시스템은 사용자를 위해 서비스 소비 계획을 제공할 수 있다.
도 1은 사용자가 자율 주행 차량에서 특정 서비스를 사용하는 상황을 예시적으로 나타내는 도면이다.
도 2는 다양한 실시예들에 따른 그래프 구성을 예시적으로 설명하기 위한 도면이다.
도 3은 다양한 실시예들에 따른 유전 알고리즘의 염색체와 그의 표현 계획을 예시적으로 설명하기 위한 도면이다.
도 4는 다양한 실시예들에 따른 유전 알고리즘의 교차 프로세스와 보수 프로세스를 설명하기 위한 도면이다.
도 5는 다양한 실시예들에 따른 알고리즘을 설명하기 위한 도면이다.
도 6은 다양한 실시예들에 따른 컴퓨터 시스템의 내부 구성을 도시하는 도면이다.
도 7은 다양한 실시예들에 따른 컴퓨터 시스템의 방법을 도시하는 도면이다.
도 8은 도 7의 서비스 소비 계획을 검출하는 단계를 도시하는 도면이다.
도 9는 도 8의 모집단을 업데이트하는 단계를 도시하는 도면이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다.
1. 개요
도 1은 사용자가 자율 주행 차량에서 특정 서비스를 사용하는 상황을 예시적으로 나타내는 도면이다.
도 1을 참조하면, 이동성이 높은 상황에서는 이동 중에 서비스를 자주 마이그레이션한다. 이로 인해, 사용자의 서비스 경험의 질이 저하될 수 있다.
본 개시에서는 사용자(자율 주행 차량)가 취할 수 있는 일련의 도로 구간 및 각 도로 구간에서 필요한 서비스를 얻기 위해 연결하기 위한 일련의 MEC 서버로 구성된 서비스 소비 계획을 생성하는 알고리즘을 제안한다. 첫째, 본 개시는 도시의 도로 구조를 기반으로 그래프 기반 모델을 구축한다. 그래프에는 도시의 지리적 정보와 MEC 서버와 도로 구간 간의 관계가 포함되어 있다. 사용자의 이동 중의 MEC 서버의 활용도를 극대화하기 위해, 적절한 서비스 소비 계획을 찾는 데 유전 알고리즘(genetic algorithm; GA)을 사용한다.
다음의 자율 주행 차량 시나리오를 고려해본다. Jack은 사무실을 떠나 그의 집으로 막 돌아오려고 한다. 그는 무인 자동차를 타고 운전 모드를 자동으로 설정한 다음 목적지로 집 주소를 입력한다. 운전 중, 그는 MEC 환경의 빠른 응답이 필요한 대기 시간에 민감한 어플리케이션인 모바일 게임을 하고 싶어 한다. 도 1은 MEC 환경에서의 Jack의 드라이빙을 보여준다. 경로 1이 잭의 위치에서 집으로 가는 가장 짧은 경로이지만 경로 1의 특정 부분은 MEC 서버에서 다루지 않아 MEC 서버의 활용도가 낮다. 경로 1과 비교하여 경로 2는 더 길지만, 대부분의 경로는 MEC 서버에서 처리된다. 잭이 경로 2를 통해 집으로 운전한다면, 그는 경로 1을 통해 운전하는 것보다 MEC 환경에서 더 많은 이점을 얻을 수 있다. 또한, 경로의 일부를 지원하는 MEC 서버를 결정해야 한다. 예를 들어, Jack이 경로 2를 통해 운전하는 경우, MEC1을 통해 서비스를 시작하는 것에 비해 초기에 MEC4를 통해 서비스를 시작하면 이동 중에 추가적인 서비스 마이그레이션이 필요하다.
제안된 접근 방식을 평가하기 위해 실제 데이터셋을 사용하여 시뮬레이션을 수행했다. 제안된 알고리즘은 그리디(greedy) 소비 모델(consumption model) 및 클로지스트(closest) 소비 모델보다 더 나은 활용률을 제공한다.
현재까지 알려진 바에 따르면, MEC 환경에서 서비스 마이그레이션을 고려하면서 MEC 서버의 이점을 극대화하기 위한 경로를 권장하거나 사용자를 안내하는 연구는 없었다. 이전 연구에서는 사용자 이동에 대한 대응으로 서비스 마이그레이션 전략을 개발하는 데 초점을 맞췄다. 이와는 대조적으로, 본 개시는 여행을 시작하기 전에 소비 계획을 사용자에게 제공하려고 했다. 이는 차량 내에서 이동하는 동안 서비스를 사용하는 사용자에게 유용하다.
본 개시의 나머지 부분은 다음과 같이 구성되어 있다. 섹션 2는 서비스 마이그레이션 방법 및 전략에 대한 관련 연구를 설명한다. 섹션 3에서는 목표를 명확히 하고 MEC 환경의 제약조건을 설정하여 문제를 공식화한다. 섹션 4에서는 제안된 방법에 대해 자세히 설명한다.
2. 관련 연구
사용자가 MEC 환경에서 이동하는 동안 서비스 연속성을 보장하려면 제공하는 서비스를 사용자 근처에 있는 새 MEC 서버로 마이그레이션해야 한다. 엣지 서버는 여러 기지국에 배치되므로 마이그레이션 시기와 마이그레이션 위치를 결정하는 것이 중요하다. 기존의 어떤 연구에서는, 최적의 엣지 서버로 서비스를 마이그레이션하여 모바일 사용자를 지속적으로 추적할 수 있는 Follow-Me Cloud(FMC) 개념을 제안했다. 마이그레이션 비용과 사용자 경험의 품질 간의 균형을 완화하기 위해, 그 연구에서는 서비스 마이그레이션을 배열하기 위한 마르코프 의사결정 프로세스에 기반한 알고리즘을 채택했다. 기존의 다른 연구에서는, QoS 예측을 기반으로 서비스 마이그레이션을 결정하는 모듈을 개발했다. 또한, 그 연구에서는 이동성 패턴, 요청 빈도 및 서비스 다운타임과 같은 상태를 수집하고, 이러한 상태를 기반으로 QoS를 예측한 후 예상 QoS가 QoS 임계값보다 작을 때 서비스 마이그레이션을 트리거했다. 그러나, 현재까지 알려진 바에 따르면, 이동을 시작하기 전에 사용자에게 소비 계획을 생성하는 방법을 제안하는 연구는 없었다.
서비스 마이그레이션 실행 성능을 업그레이드하려고 하는 기존의 연구들도 있었다. 기존의 어떤 연구에서는, 서비스 다운타임과 전체 마이그레이션 시간을 단축하기 위한 3 계층 서비스 마이그레이션 방법을 제안했다. 이 방법은 가상 머신과 컨테이너 기술을 모두 지원했다. 기존의 다른 연구에서는, 도커(Docker) 컨테이너 마이그레이션의 서비스 핸드오프 시간을 단축하는 프레임워크를 도입했다. 이들은 도커 컨테이너의 계층화된 스토리지 시스템을 활용하여 공통 스토리지 계층을 공유함으로써 파일 시스템 동기화 오버헤드를 줄였다. 그러나 일부 어플리케이션을 마이그레이션하려면 여전히 10초 이상의 서비스 다운타임이 필요하므로 효율적인 서비스 마이그레이션을 위한 서비스 제공 계획이 필요하다.
3. 문제 공식화
3.1. 그래프 구성
본 개시는 실제 도시 환경의 지리적 정보를 포함하는 그래프를 구성한다. 도 2는 다양한 실시예들에 따른 그래프 구성을 예시적으로 설명하기 위한 도면이다. 도 2와 같이 그래프의 정점은 서로 다른 차선이 교차하는 영역(예: 교차점)을 나타낸다. 엣지는 두 정점을 연결하는 차선을 설명한다. 엣지는 방향이 지정되므로 각 엣지는 출발점과 도착점을 가진다. 또한, 각 엣지에는 두 정점 사이의 지리적 거리를 나타내는 거리 속성이 있다.
또한, 도시 내에 배치된 MEC 서버의 정보가 그래프에 포함되어 있다. 첫째 각 MEC 서버의 속성을 나열한다. MEC 서버는 지리적 위치를 나타내는 경도 속성과 위도 속성을 갖는다. 또한, MEC 서버는 무선 액세스 네트워크를 통해 서버가 직접 액세스할 수 있는 거리를 설명하는 통신 범위 속성도 갖는다. MEC 서버의 각 페어(fair)는 대역폭 속성을 갖는다. 둘째, 엣지와 MEC 서버 사이의 관계를 설명하기 위해 커버링 개념을 적용한다. MEC 서버는 출발점과 MEC 서버 사이의 거리와 도착점과 MEC 서버 사이의 거리가 통신 범위 속성보다 작을 경우 엣지를 커버한다. 마지막으로, 각 엣지는 해당 엣지를 포함하는 MEC 서버 목록을 가지고 있다. 이 목록은 사용자가 각 엣지에서 직접 액세스할 수 있는 MEC 서버를 나타낸다.
3.2. 서비스 마이그레이션 시간
MEC 서버를 통해 사용자에게 고품질 서비스를 제공하기 위해서는 이동 중 서비스 마이그레이션 지연을 최소화해야 한다. 본 개시는, 한 MEC 서버에서 다른 MEC 서버로의 서비스 마이그레이션에 필요한 시간을 계산하기 위해, 서비스 마이그레이션 시간에 대한 새로운 분석 모델을 제안한다. 컨테이너 기술을 사용한 서비스 마이그레이션을 필요한 시간 관점에서 분석한 여러 연구가 있다. 어떤 연구에서는 마이그레이션 시간이 덤프 시간(dump time), 덤프 전환 시간(dump transfer time) 및 재개 시간(resume time)으로 구성되어 있음을 보여주었다. 현재 상태를 소스 MEC 서버에 덤프하려면 덤프 시간이 필요하다. 덤프 단계 후 덤프를 대상 MEC 서버로 전환하려면 덤프 전송 시간이 필요하다. 마지막으로 소스 MEC 서버에 덤프된 상태에 따라 대상 MEC 서버에서 애플리케이션을 다시 시작하려면 재개 시간이 필요하다.
이러한 전환을 수행하는 데 필요한 시간과 비교하여 다른 유형의 시간은 무시될 수 있다. 또한, 다른 연구에서는 덤프 전환 시간이 MEC 서버 간의 네트워크 상태에 크게 의존한다는 것을 보여주었다. 이러한 관찰을 통해, 본 개시는 소스 MEC 서버(Mi)에서 대상 MEC 서버(Mj)로의 서비스(Sk)에 대한 시간을 하기 [수학식 1]과 같이 정의한다.
Figure 112020143089898-pat00001
여기서, Process(Sk)는 서비스(Sk)를 마이그레이션하는 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 상기 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 상기 서비스 소비 계획을 검출 처리 시간이고, Volume(Sk)는 전환할 서비스(Sk)의 볼륨 크기이다.
3.3. 서비스 소비 계획 최적화 문제
서비스 품질을 개선하려면 이동(journey) 중에 MEC 서버를 통해 사용자에게 직접 서비스를 제공하는 시간을 최대화해야 한다. 이를 위해서는 총(total) 서비스 마이그레이션 시간이 단축될 뿐만 아니라 MEC 서버가 적용되는 경로의 비율도 증가해야 한다. 이를 위해 최적화 문제는 하기 [수학식 2]와 같이 형성된다. 이 때 최적화 문제에 대한 조건이 하기 [수학식 3] 내지 [수학식 11]과 같이 주어진다.
Figure 112020143089898-pat00002
Figure 112020143089898-pat00003
Figure 112020143089898-pat00004
Figure 112020143089898-pat00005
Figure 112020143089898-pat00006
Figure 112020143089898-pat00007
Figure 112020143089898-pat00008
Figure 112020143089898-pat00009
Figure 112020143089898-pat00010
Figure 112020143089898-pat00011
여기서, 활용되는 이동 시간(utilized journey time)은 사용자가 이동 중에 MEC 서버를 통해 직접 서비스를 받는 시간을 나타낸다. 상기 [수학식 3]에서, cov(Ei)는 엣지(Ei)를 포함하는 MEC 서버 서버 목록을 나타내며, dist(Ei)는 엣지(Ei)의 출발점에서 엣지(Ei)의 도착점까지의 거리이다. 상기 [수학식 5]에서, S는 서비스 마이그레이션 시간의 합으로 정의된다. 서비스 마이그레이션은 서빙 MEC 서버가 변경될 때 발생하며, 이러한 마이그레이션은 상기 [수학식 6]에 설명되어 있다. 상기 [수학식 7], [수학식 8] 및 [수학식 9]는 엣지의 제약 조건을 나타낸다. Source(Ei)과 Dest(Ei)은 각각 엣지(Ei)의 출발점과 엣지(Ei)의 도착점을 나타낸다. 인접 엣지는 공통 정점을 공유한다. 지정된 시작점은 첫 번째 엣지의 출발점 되고, 지정된 목표점은 마지막 엣지의 도착점이 된다. 유효한 계획에는 사이클(cycle)이 포함되지 않아야 한다. 상기 [수학식 10]에서, ShortestLength(Vs,Vg)는 시작점(Vs)과 목표점(Vg) 사이의 최단 경로를 구성하는 엣지 수를 나타낸다. 이 값은 데이크스트라(Dijkstra) 알고리즘을 사용하여 계산된다. T는 사용자 정의 오차 허용률을 나타낸다. 오차 허용률이 높으면 사용자가 더 나은 QoS를 위해 더 긴 경로를 택할 의사가 있음을 의미한다. 따라서 이 최적화 문제는 엣지(E0, E1 ,...Em)으로 구성된 경로로 구성된 서비스 제공 계획을 찾고 MEC 서버(M0, M1, ...Mm)을 제공하여 총 이동 시간 대비 활용되는 이동 시간의 비율을 최대화한다.
이 문제를 해결하기 위해, 본 개시는 유전 알고리즘을 사용하여 총 이동 시간에 대한 활용되는 이동 시간의 비율을 최대화하는 서비스 제공 계획을 찾는다.
3.4. 문제 하드니스(hardness)
본 개시는 서비스 소비 계획 최적화 문제가 NP-완전(complete)임을 증명할 수 있다.
정리(theorem) 3.1. 서비스 소비 계획 최적화 문제는 NP이다.
증명(proof). 길이가 m인 계획에서 다항식 시간 O(m)로 유효성을 쉽게 확인할 수 있다. 따라서 서비스 소비 계획 최적화 문제는 NP 클래스에 속한다.
보조정리(lemma) 3.2. 그래프의 두 정점 사이에 최대 정점 수를 갖는 단순 경로를 찾는 문제는 NP-하드(hard)이다.
증명. 가장 긴 경로 문제, 즉 정점 수가 최대인 단순한 경로를 찾는 문제는, 그래프에서 모든 정점 쌍에 대한 가장 긴 경로를 찾는 문제로 변환될 수 있다. 이 변환된 문제는 보조정리 O(V2) 문제를 반복적으로 해결함으로써 해결될 수 있다. 그래서, 보조정리 문제는 NP-하드이다.
정리 3.3. 서비스 소비 계획 최적화 문제는 NP-하드이다.
증명. 보조정리 3.2의 문제를 특정의 서비스 소비 문제로 줄임으로써 서비스 소비 계획 알고리즘이 NP-하드임을 증명할 수 있다.
그래프를 다음과 같이 구성해보자. 정점 V를 도착점으로 가지는 모든 엣지는 MEC 서버에 의해 커버되지 않고 다른 모든 엣지는 MEC 서버 M0에 의해 커버된다. V가 이 문제의 목표점으로 주어지면 길이가 m인 모든 유효 계획의 활용률은 100 ×
Figure 112020143089898-pat00012
%이다. 따라서 길이가 가장 긴 유효한 계획이 해결책이 된다. 상기 [수학식 9]의 조건을 유지하려면 유효한 계획의 길이가 T × ShortestLength(Vs,Vg)보다 작거나 같아야 한다. T가 충분히 크면 그래프에서 Vs에서 Vg까지의 가장 긴 간단한 경로는 문제를 해결하여 얻을 수 있다. 따라서, 본 개시는 서비스 소비 최적화 문제의 특정 사례를 해결함으로써 보조정리 문제를 해결할 수 있다. 즉, 서비스 소비 최적화 문제는 NP-하드이다.
정리 3.4. 서비스 소비 계획 최적화 문제는 NP-하드이다.
증명. 정리 3.1과 정리 3.3에 따르면, 서비스 소비 계획 최적화 문제는 NP와 NP-하드이다. 즉, 서비스 소비 계획 최적화 문제는 NP-와전이다.
4. 방법
서비스 소비 계획 최적화 문제는 NP-완전이므로, 본 개시는 유전 알고리즘을 사용했다. 유전 알고리즘은 라우팅 검색 및 최적화 문제에 대한 해결책을 찾는 데 사용되는 메타 휴리스틱 알고리즘이다. 특정한 종류의 라우팅 문제를 해결하기 위한 유전 알고리즘을 구현하기 위해, 고전적인 유전 아록리즘 해결책 방식은 종종 수정된다. 또한, 서비스 제공 계획 최적화 문제를 해결하기 위해 서비스 제공 MEC 서버를 선택해야 한다. 따라서 유전 알고리즘 방식을 수정할 필요가 있었다.
4.1. 유전 표현
제안된 방법의 염색체(chromosome)는 엣지 쌍과 MEC 서버 ID의 시퀀스로 구성된다. 각 엣지는 어떤 엣지가 이동(journey)을 구성하는지를 나타내며, 염색체의 유전자좌(locus)는 엣지 순서를 설명한다. 첫 번째 유전자좌의 엣지는 출발점으로 지정된 시작점을 가져야 한다. 다른 엣지의 출발점은 이전 엣지의 도착점이 되어야 한다. 마지막 위치의 엣지는 주어진 목표점을 도착점으로 가져야 한다. 염색체의 MEC 서버 ID는 이동 중에 어떤 MEC 서버가 엣지를 제공하는지 나타낸다. 염색체의 길이는 표현(representing) 계획에 따라 달라진다. 단, 염색체의 길이는 최대 길이보다 작아야 하며, 사용자의 허용 요건에 기초하여 설정되어야 한다.
도 3은 다양한 실시예들에 따른 유전 알고리즘의 염색체의 예와 염색체의 표현 계획을 설명한다. ID가 120인 엣지가 이동의 첫 번째 엣지이다. 두 번째 엣지는 ID가 122인 엣지다. 그것들은 ID가 5인 MEC 서버에 의해 서비스되고 있다. 변수 m은 이동 경로를 구성하는 전체 엣지 수와 관련이 있다.
4.2. 모집단 초기화
유전 알고리즘이 로컬 최적 솔루션을 생성하는 것을 방지하기 위해 다양한 염색체로 구성되도록 모집단을 초기화할 필요가 있다. 따라서, 본 개시는 시작점에서 목표점까지의 최대 길이를 초과하지 않는 간단한 경로를 무작위로 선택하였다. 단순 경로는 루프가 포함되지 않은 경로를 의미한다. 이러한 경로를 구성하는 각 엣지에 대해, 그 경로를 커버하는 MEC 서버에서 그 경로를 서비스할 MEC 서버를 선택했다.
4.3. 적합성 함수(fitness function) 및 선택(selection)
본 개시는 적합성 함수를 상기 [수학식 2]로 정의했다. 이 함수는 원하는 해결책에 대한 염색체의 적합성을 평가하기 위해 사용되었다. 본 개시는 토너먼트 선정 방법을 사용하여 모집단 중 염색체를 선택하여 재생산을 했다. 각 생성에 걸쳐, 본 개시는 모집단에서 무작위로 두 개의 염색체를 뽑고 더 높은 적합도를 가진 염색체를 선택하는 두 개의 토너먼트를 열었다. 그 결과, 두 개의 위너(winner)와 두 개의 루저(loser)가 있었다. 위너는 번식에 이용되었고 루저는 모집단에서 제외되었다.
4.4. 교차(crossover) 및 보수(repair)
새로운 자녀 염색체를 생성하기 위해, 본 개시는 위의 선택에서 두 개의 위너에게 교차 프로세스를 실행했다. 자녀 염색체는 시작점부터 목표점까지의 간단한 경로를 표시해야 한다. 따라서, 본 개시는 위너를 위해 다음과 같은 교차 프로세스를 이용했다.
본 개시는 위너를 부모(parent) 1과 부모 2라고 불렀다. 첫째, 부모 1의 경로와 부모 2의 경로로 공유되는 공통 정점이 나열되어 있다. 다음으로, 공통 정점 목록에서 하나의 정점이 랜덤하게 선택되었다. 이 정점을 교차점(crossover point)으로 사용하여 단일 점 교차(one-point crossover)가 수행되었다. 부모 2에서 시작점으로부터 선택점으로 가는 경로와 부모 2에서 선택점으로부터 목표점으로 가는 경로가 결합되어 새로운 염색체 자녀(child) 1을 생성했다. 마찬가지로, 자녀 2도 생성되었다. 각 엣지에 대한 서빙 MEC 서버가 보존되었다.
교차 프로세스는 새로 생성된 염색체가 시작점부터 목표점까지의 경로를 제시했다는 것을 보장했지만, 루프(loop)를 포함할 수 있기 때문에 경로가 단순하다는 것을 보장하지는 않았다. 따라서, 그 내부에 있는 루프를 제거하기 위한 보수 프로세스가 필요했다.
도 4는 이것을 보여준다. 도 4는 다양한 실시예들에 따른 유전 알고리즘의 교차 프로세스와 보수 프로세스를 설명하기 위한 도면이다. 도 4는 부모 1의 경로와 부모 2의 경로가 공통 정점 V1과 V3을 공유한다는 것을 보여준다. 따라서, 공통 정점 V1과 V3은 교차점의 후보이다. 정점 V3은 교차점으로 무작위로 선택되며, 단일 점 교차가 실행된다. 그 결과. 자녀 1 뿐 아니라 자녀 2가 생성되지만, 자녀 2는 V1과 V3을 순환하는 루프를 포함한다. 따라서 루프를 제거하기 위해 자녀 2에 대해 보수 프로세스가 수행된다.
4.5. 돌연변이(mutation)
돌연변이 프로세스는 엣지를 커버하는 MEC 서버들 사이에서 서빙 MEC 서버를 변화시킨다. 돌연변이의 중심이 0에서 m까지의 범위에서 랜덤으로 선택되었다. 상기의 자녀 염색체를 모집단에 입력하기 전에, 변이 프로세스가 주어진 확률로 실행되었다.
4.6. 전반적인 절차
MEC 서버를 효율적으로 활용하는 계획을 찾기 위해, 본 개시는 유전 알고리즘을 기반으로 한 서비스 소비 계획 최적화 알고리즘을 제안한다. 도 5는 다양한 실시예들에 따른 알고리즘을 설명하기 위한 도면이다. 알고리즘의 유사(pseudo) 코드가 도 5의 알고리즘 1에 제시되어 있다.
이 알고리즘은 그래프 G, 정점 Vs, 정점 V, 속도 v, 오차 허용률 T 및 maximumGeneration 값을 입력으로 사용하고 활용률을 최대화하는 계획을 반환한다. 먼저, 모집단이 초기화된다(2행). 다음으로, 생성이 최적화된 계획을 찾기 위해 반복된다. 하나의 생성에는 (5-11행) 상기에서 이미 설명한 선택, 교차, 보수 및 돌연변이를 통해 두 개의 새로운 염색체인 자녀1과 자녀2가 복제되고 모집단에 포함된다. 이 반복은 생성 횟수가 최대 생성(4행)을 초과할 때 종료된다. 또한, 모집단의 평균 활용률(averageUtilizationRate)이 50번째 생성 이전의 모집단보다 작거나 같으면, 반복이 중단된다(12-17행). 마지막으로, 모집단의 계획 중 활용률이 가장 높은 계획(19행)이 확인된다.
도 6은 다양한 실시예들에 따른 컴퓨터 시스템(100)의 내부 구성을 도시하는 도면이다.
도 6을 참조하면, 다양한 실시예들에 따른 컴퓨터 시스템(100)은 인터페이스 모듈(110), 메모리(120), 또는 프로세서(130) 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 컴퓨터 시스템(100)의 구성 요소들 중 적어도 어느 하나가 생략될 수 있으며, 적어도 하나의 다른 구성 요소가 추가될 수 있다. 어떤 실시예들에서, 컴퓨터 시스템(100)의 구성 요소들 중 적어도 어느 두 개가 하나의 통합된 회로로 구현될 수 있다.
인터페이스 모듈(110)은 컴퓨터 시스템(100)을 위한 인터페이스를 제공할 수 있다. 일 실시예에 따르면, 인터페이스 모듈(110)은 통신 모듈을 포함하며, 통신 모듈은 외부 장치와 통신을 수행할 수 있다. 통신 모듈은 컴퓨터 시스템(100)과 외부 장치 간 통신 채널을 수립하고, 통신 채널을 통해 외부 장치와 통신을 수행할 수 있다. 통신 모듈은 유선 통신 모듈 또는 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 유선 통신 모듈은 외부 장치와 유선으로 연결되어, 유선으로 통신할 수 있다. 무선 통신 모듈은 근거리 통신 모듈 또는 원거리 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 근거리 통신 모듈은 외부 장치와 근거리 통신 방식으로 통신할 수 있다. 원거리 통신 모듈은 외부 장치와 원거리 통신 방식으로 통신할 수 있다. 여기서, 원거리 통신 모듈은 무선 네트워크를 통해 외부 장치와 통신할 수 있다. 다른 실시예에 따르면, 인터페이스 모듈(110)은 입력 모듈 또는 출력 모듈 중 적어도 하나를 포함할 수 있다. 입력 모듈은 컴퓨터 시스템(100)의 적어도 하나의 구성 요소에 사용될 신호를 입력할 수 있다. 입력 모듈은, 사용자가 컴퓨터 시스템(100)에 직접적으로 신호를 입력하도록 구성되는 입력 장치, 주변 환경을 감지하여 신호를 발생하도록 구성되는 센서 장치, 또는 영상을 촬영하여, 영상 데이터를 생성하도록 구성되는 카메라 모듈 중 적어도 어느 하나를 포함할 수 있다. 출력 모듈은 정보를 시각적으로 표시하기 위한 표시 모듈 또는 정보를 오디오 신호로 출력하기 위한 오디오 모듈 중 적어도 하나를 포함할 수 있다.
메모리(120)는 컴퓨터 시스템(100)의 적어도 하나의 구성 요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 예를 들면, 메모리(120)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 어느 하나를 포함할 수 있다. 데이터는 적어도 하나의 프로그램 및 이와 관련된 입력 데이터 또는 출력 데이터를 포함할 수 있다. 프로그램은 메모리(120)에 적어도 하나의 명령을 포함하는 소프트웨어로서 저장될 수 있다.
프로세서(130)는 메모리(120)의 프로그램을 실행하여, 컴퓨터 시스템(100)의 적어도 하나의 구성 요소를 제어할 수 있다. 이를 통해, 프로세서(130)는 데이터 처리 또는 연산을 수행할 수 있다. 이 때, 프로세서(130)는 메모리(120)에 저장된 명령을 실행할 수 있다.
프로세서(130)는 MEC 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공할 수 있다. 즉, 프로세서(130)는 사용자에게 고품질 서비스를 제공하기 위해, 이동 중 서비스 마이그레이션 지연을 최소화하기 위한 서비스 소비 계획을 제공할 수 있다. 이를 위해, 프로세서(130)는 복수의 도로 구간들을 나타내는 엣지들과 및 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성할 수 있다. 그리고, 프로세서(130)는 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 서비스 소비 계획을 검출할 수 있다. 이 때 프로세서(130)는 유전 알고리즘을 사용하여, 서비스 소비 계획을 검출할 수 있다. 이를 위해, 프로세서(130)는 도 5의 알고리즘 1과 같이 동작할 수 있다. 이를 통해, 프로세서(130)는 사용자를 위해 서비스 소비 계획을 제공할 수 있다.
도 7은 다양한 실시예들에 따른 컴퓨터 시스템(100)의 방법을 도시하는 도면이다.
도 7을 참조하면, 컴퓨터 시스템(100)은 210 단계에서 지리적 정보 및 MEC 정보를 기반으로, 그래프를 구성할 수 있다. 여기서, MEC 정보는 각 MEC 서버의 정보를 나타내며, 각 MEC 서버의 속성을 포함할 수 있다. 프로세서(130)는 복수의 도로 구간들을 나타내는 엣지들과 및 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성할 수 있다. 여기서, 엣지들의 각각은, 두 개의 정점들을 연결하고, 경로들의 각각에서 정점들 중 하나를 통해 인접한 엣지와 이어질 수 있다. 이 때 프로세서(130)는 그래프와 함께, 시작점, 목표점, 사용자의 속도, 오차 허용률, 또는 최대 생성 횟수 중 적어도 하나를 입력할 수 있다.
컴퓨터 시스템(100)은 220 단계에서 그래프를 기반으로, 시작점과 목표점 사이의 경로에 대해, 서비스 소비 계획을 검출할 수 있다. 프로세서(130)는 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 서비스 소비 계획을 검출할 수 있다. 이 때 프로세서(130)는 유전 알고리즘을 사용하여, 서비스 소비 계획을 검출할 수 있다. 이에 대해, 도 8을 참조하여, 보다 상세하게 후술될 것이다.
도 8은 도 7의 서비스 소비 계획을 검출하는 단계(220 단계)를 도시하는 도면이다.
도 8을 참조하면, 컴퓨터 시스템(100)은 310 단계에서 그래프를 이용하여, 시작점으로부터 목표점으로의 경로들에 대한 염색체들을 포함하는 모집단을 초기화할 수 있다. 여기서, 염색체들의 각각은, 경로들의 각각에 대한 엣지들과 적어도 하나의 MEC 서버의 시퀀스로 구성될 수 있다.
컴퓨터 시스템(100)은 320 단계에서 모집단을 업데이트할 수 있다. 프로세서(130)는 유전 알고리즘을 사용하여 생성되는 염색체들을 기반으로, 상기 모집단을 업데이트할 수 있다. 여기서, 프로세서(130)는 최대 생성 횟수 만큼 모집단을 반복적으로 업데이트할 수 있다. 그리고, 프로세서(130)는 모집단이 업데이트될 때마다, 모집단의 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 확인할 수 있다. 이에 대해, 도 9를 참조하여, 보다 상세하게 후술될 것이다.
도 9는 도 8의 모집단을 업데이트하는 단계(320 단계)를 도시하는 도면이다.
도 9를 참조하면, 컴퓨터 시스템(100)은 411 단계에서 업데이트 횟수(n)을 1로 설정할 수 있다.
컴퓨터 시스템(100)은 413 단계에서 모집단에서 위너 염색체들을 선택할 수 있다. 이 때 프로세서(130)는 모집단에서 두 개의 위너 염색체들을 선택할 수 있다. 아울러, 컴퓨터 시스템(100)은 413 단계에서 모집단에서 루저 염색체들도 선택할 수 있다. 이 때 프로세서(130)는 모집단에서 두 개의 루저 염색체들을 선택할 수 있다.
컴퓨터 시스템(100)은 415 단계에서 교차 프로세스를 통해, 위너 염색체들로부터 자녀 염색체들을 생성할 수 있다. 프로세서(130)는 위너 염색체들의 공통 접점을 기준으로 위너 염색체들의 엣지들을 교차시켜, 자녀 염색체들을 생성할 수 있다. 그리고, 컴퓨터 시스템(100)은 417 단계에서 보수 프로세스를 통해, 자녀 염색체들 중 적어도 하나를 보수할 수 있다. 프로세서(130)는 자녀 염색체들 중 적어도 하나에서 두 개의 정점들을 순환하는 루프를 구성하는 엣지들을 제거하여, 자녀 염색체들 중 적어도 하나를 보수할 수 있다. 이 후, 컴퓨터 시스템(100)은 419 단계에서 돌연변이 프로세스를 통해, 자녀 염색체들의 각각에 대해, 적어도 하나의 MEC 서버를 구성할 수 있다. 프로세서(130)는 자녀 염색체들의 각각에 대해, 남아 있는 엣지들을 커버하는 적어도 하나의 MEC 서버를 구성할 수 있다.
컴퓨터 시스템(100)은 421 단계에서 모집단에 자녀 염색체들을 추가할 수 있다. 아울러, 컴퓨터 시스템(100)은 421 단계에서 모집단에서 루저 염색체들을 제거할 수 있다. 이를 통해, 모집단이 업데이트될 수 있다.
컴퓨터 시스템(100)은 423 단계에서 모집단의 평균 활용률을 검출할 수 있다. 프로세서(130)는 모집단의 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 검출할 수 있다.
컴퓨터 시스템(100)은 425 단계에서 업데이트 횟수(n)가 미리 정해진 기준 횟수(a)를 초과하는 지의 여부를 판단할 수 있다. 예를 들면, 기준 횟수(a)는 50 회일 수 있다. 여기서, 기준 횟수(a)는 최대 생성 횟수(N) 미만일 수 있다. 425 단계에서 업데이트 횟수(n)가 기준 횟수(a)를 초과하는 것으로 판단되면, 컴퓨터 시스템(100)은 427 단계에서 모집단의 평균 활용률이 이전의 기준 횟수(a) 동안 증가했는 지의 여부를 판단할 수 있다. 예를 들면, 업데이트 횟수(n)가 50을 초과하면, 프로세서(130)는 지난 50 회 동안 검출된 평균 활용률이 증가했는 지를 판단할 수 있다.
427 단계에서 모집단의 평균 활용률이 이전의 기준 횟수(a) 동안 증가하지 않은 것으로 판단되면, 컴퓨터 시스템(100)은 도 8로 리턴하여, 330 단계로 진행할 수 있다. 즉, 컴퓨터 시스템(100)은 업데이트 횟수(n)가 최대 생성 횟수(N)에 도달하기 전에, 도 8로 리턴하여, 330 단계로 진행할 수 있다. 이러한 경우, 모집단을 업데이트하는 데 소요되는 시간이 감소될 수 있다.
한편, 427 단계에서 모집단의 평균 활용률이 이전의 기준 횟수(a) 동안 증가한 것으로 판단되면, 컴퓨터 시스템(100)은 429 단계로 진행할 수 있다. 또는, 425 단계에서 업데이트 횟수(n)가 기준 횟수(a)를 초과하지 않은 것으로 판단되면, 컴퓨터 시스템(100)은 429 단계로 진행할 수 있다.
컴퓨터 시스템(100)은 429 단계에서 업데이트 횟수(n)을 1 만큼 증가시킬 수 있다. 그리고, 컴퓨터 시스템(100)은 431 단계에서 업데이트 횟수(n)가 최대 생성 횟수(N)를 초과하는 지의 여부를 판단할 수 있다.
431 단계에서 업데이트 횟수(n)가 최대 생성 횟수(N) 이하인 것으로 판단되면, 컴퓨터 시스템(100)은 413 단계로 복귀할 수 있다. 그리고, 컴퓨터 시스템(100)은 413 단계 내지 431 단계 중 적어도 일부를 반복하여 수행할 수 있다. 이러한 방식으로, 프로세서(130)는 최대 생성 횟수 만큼 모집단을 반복적으로 업데이트할 수 있다. 그리고, 프로세서(130)는 모집단이 업데이트될 때마다, 모집단의 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 확인할 수 있다.
한편, 431 단계에서 업데이트 횟수(n)가 최대 생성 횟수(N)를 초과하는 것으로 판단되면, 컴퓨터 시스템(100)은 도 8로 리턴하여, 330 단계로 진행할 수 있다.
다시 도 8을 참조하면, 컴퓨터 시스템(100)은 330 단계에서 모집단의 염색체들 중 하나를 서비스 소비 계획으로 검출할 수 있다. 프로세서(130)는 모집단의 염색체들로부터 상기 비율, 즉 활용률이 최대인 염색체를 서비스 소비 계획으로 검출할 수 있다. 이 후, 컴퓨터 시스템(100)은 도 7로 리턴하여, 230 단계로 진행할 수 있다.
다시 도 7을 참조하면, 컴퓨터 시스템(100)은 230 단계에서 사용자를 위해 서비스 소비 계획을 제공할 수 있다.
다양한 실시예들에 따르면, 컴퓨터 시스템(100)이 사용자를 위해, MEC 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공할 수 있다. 즉, 컴퓨터 시스템(100)은 사용자에게 고품질 서비스를 제공하기 위해, 이동 중 서비스 마이그레이션 지연을 최소화하기 위한 서비스 소비 계획을 제공할 수 있다. 구체적으로, 컴퓨터 시스템(100)은 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 서비스 소비 계획을 검출할 수 있다. 이 때 컴퓨터 시스템(100)은 유전 알고리즘을 사용하여, 서비스 소비 계획을 검출할 수 있다. 이를 통해, 컴퓨터 시스템(100)은 사용자를 위해 서비스 소비 계획을 제공할 수 있다.
본 개시는, 모바일 핸드폰을 단말기로 서비스를 사용하는 사람들, 혹은 차량에서 서비스를 사용하는 사람들이 MEC 환경을 쓰는 데에 도움을 줄 수 있는 기술을 제안한다. 본 개시는 MEC 환경에서 움직이는 사용자에게 서비스를 제공하는 데에 있어서, 사용자들이 MEC 환경의 혜택을 최대한 누릴 수 있게 하는 것을 목표로 한다. 또한, 본 개시는 경로를 제안하는 기술을 포함하고 있으므로, 차량의 네비게이션 등에도 포함될 수 있다.
MEC 환경에 성공적으로 조성되기 위해서는 움직이는 사용자가 MEC를 효과적으로 사용할 수 있게 도와주어야 한다. 따라서 서비스 소비 계획이 사용자들에게 성공적으로 전달되었을 때에, 사용자들이 MEC 환경을 사용하는 시장이 더욱 확장될 수 있다.
엣지 컴퓨팅 인프라는 현재 많은 회사에서 구상 중이며, 실제로 진행되고 있다. 다가오는 MEC 환경에서 본 발명과 같이 MEC의 활용도를 높여주는 기술은 더욱 각광받을 수 있다. 또한, 자율주행 시대는 더 이상 막연한 미래가 아니라, 조금 있으면 우리 곁에 오게 될 현실이다. 추후의 자율주행 시대에는 많은 사용자들이 운전의 의무에서 해방되어 유튜브 영상 시청 등 여러 서비스를 주행 중에 사용할 것이다. 그들에게 서비스 소비 계획의 가치는 더욱 크게 다가올 것이다.
모바일 핸드폰 사용자들을 대상으로는 애플리케이션의 형태로 보급될 수 있을 것이다. 애플리케이션을 통해서 그들에게 쉽게 소비 계획을 제공할 수 있을 것이다. 다가오는 자율주행 시대에는 자율주행차의 네비게이션에서 경로를 찾아줄 때 본 개시의 기술을 적용할 수 있을 것이다.
다양한 실시예들에 따른 컴퓨터 시스템(100)의 방법은, 모바일 MEC 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하기 위한 것으로, 복수의 도로 구간들을 나타내는 엣지들과 및 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성하는 단계(210 단계), 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 서비스 소비 계획을 검출하는 단계(220 단계), 및 사용자를 위해 서비스 소비 계획을 제공하는 단계(230 단계)를 포함할 수 있다.
다양한 실시예들에 따르면, 서비스 소비 계획을 검출하는 단계(220 단계)는, 유전 알고리즘을 사용하여, 서비스 소비 계획을 검출할 수 있다.
다양한 실시예들에 따르면, 서비스 소비 계획을 검출하는 단계(220 단계)는, 그래프를 이용하여, 시작점으로부터 목표점으로의 경로들에 대한 염색체들을 포함하는 모집단을 초기화하는 단계(310 단계), 및 염색체들 중 하나를 서비스 소비 계획으로 검출하는 단계(330 단계)를 포함할 수 있다.
다양한 실시예들에 따르면, 염색체들의 각각은, 경로들의 각각에 대한 엣지들과 적어도 하나의 MEC 서버의 시퀀스로 구성될 수 있다.
다양한 실시예들에 따르면, 엣지들의 각각은, 두 개의 정점들을 연결하고, 경로들의 각각에서 정점들 중 하나를 통해 인접한 엣지와 이어질 수 있다.
다양한 실시예들에 따르면, 서비스 소비 계획을 검출하는 단계(220 단계)는, 유전 알고리즘을 사용하여 생성되는 염색체들을 기반으로, 모집단을 업데이트하는 단계(320 단계)를 더 포함할 수 있다.
다양한 실시예들에 따르면, 모집단을 업데이트하는 단계(320 단계)는, 모집단에서 두 개의 위너 염색체들을 선택하는 단계(420 단계), 위너 염색체들을 교차시켜, 두 개의 자녀 염색체들을 생성하는 단계(430 단계), 및 모집단에 자녀 염색체들을 추가하는 단계(460 단계)를 포함할 수 있다.
다양한 실시예들에 따르면, 자녀 염색체들을 생성하는 단계(430 단계)는, 위너 염색체들의 공통 접점을 기준으로 위너 염색체들의 엣지들을 교차시켜, 자녀 염색체들을 생성하는 단계(430 단계), 자녀 염색체들 중 적어도 하나에서 두 개의 정점들을 순환하는 루프를 구성하는 엣지들을 제거하여, 자녀 염색체들 중 적어도 하나를 보수하는 단계(440 단계), 및 돌연변이 프로세스를 통해, 자녀 염색체들의 각각에 대해, 남아 있는 엣지들을 커버하는 적어도 하나의 MEC 서버를 구성하는 단계(450 단계)를 포함할 수 있다.
다양한 실시예들에 따르면, 모집단을 업데이트하는 단계(320 단계)는, 모집단에서 두 개의 루저 염색체들을 선택하는 단계(4520 단계), 및 모집단에서 루저 염색체들을 제거하는 단계(460 단계)를 더 포함할 수 있다.
다양한 실시예들에 따르면, 모집단을 업데이트하는 단계(320 단계)는, 미리 설정되는 최대 생성 횟수 만큼 반복될 수 있다.
다양한 실시예들에 따르면, 서비스 소비 계획을 검출하는 단계(220 단계)는, 모집단이 업데이트될 때마다, 모집단의 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 확인하는 단계를 더 포함할 수 있다.
다양한 실시예들에 따르면, 염색체들 중 하나를 서비스 소비 계획으로 검출하는 단계(330 단계)는, 모집단의 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 검출하는 단계, 및 검출된 평균 활용률이 미리 정해진 기준 횟수 동안에 확인 평균 활용률로부터 증가했으면, 염색체들로부터 상기 비율이 최대인 염색체를 서비스 소비 계획으로 검출하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 기준 횟수는 최대 생성 횟수 미만일 수 있다.
다양한 실시예들에 따른 컴퓨터 시스템(100)은, MEC 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하기 위한 것으로, 메모리(120), 및 메모리(120)와 연결되고, 메모리(120)에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서(130)를 포함할 수 있다.
다양한 실시예들에 따르면, 프로세서(130)는, 복수의 도로 구간들을 나타내는 엣지들과 및 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성하고, 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 서비스 소비 계획을 검출하고, 사용자를 위해 서비스 소비 계획을 제공하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(130)는, 유전 알고리즘을 사용하여, 서비스 소비 계획을 검출하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(130)는, 그래프를 이용하여, 시작점으로부터 목표점으로의 경로들에 대한 염색체들을 포함하는 모집단을 초기화하고, 염색체들 중 하나를 서비스 소비 계획으로 검출하도록 구성될 수 있다.
다양한 실시예들에 따르면, 염색체들의 각각은, 경로들의 각각에 대한 엣지들과 적어도 하나의 MEC 서버의 시퀀스로 구성될 수 있다.
다양한 실시예들에 따르면, 엣지들의 각각은, 두 개의 정점들을 연결하고, 경로들의 각각에서 정점들 중 하나를 통해 인접한 엣지와 이어질 수 있다.
다양한 실시예들에 따르면, 프로세서(130)는, 유전 알고리즘을 사용하여 생성되는 염색체들을 기반으로, 모집단을 업데이트하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(130)는, 모집단에서 두 개의 위너 염색체들을 선택하고, 위너 염색체들을 교차시켜, 두 개의 자녀 염색체들을 생성하고, 모집단에 자녀 염색체들을 추가하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(130)는, 위너 염색체들의 공통 접점을 기준으로 위너 염색체들의 엣지들을 교차시켜, 자녀 염색체들을 생성하고, 자녀 염색체들 중 적어도 하나에서 두 개의 정점들을 순환하는 루프를 구성하는 엣지들을 제거하여, 자녀 염색체들 중 적어도 하나를 보수하고, 돌연변이 프로세스를 통해, 자녀 염색체들의 각각에 대해, 남아 있는 엣지들을 커버하는 적어도 하나의 MEC 서버를 구성하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(130)는, 모집단에서 두 개의 루저 염색체들을 선택하고, 모집단에서 루저 염색체들을 제거하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(130)는, 미리 설정되는 최대 생성 횟수 만큼 모집단을 반복적으로 업데이트하고, 모집단이 업데이트될 때마다, 모집단의 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 확인하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(130)는, 모집단의 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 검출하고, 검출된 평균 활용률이 미리 정해진 기준 횟수 동안에 확인된 평균 활용률로부터 증가했으면, 염색체들로부터 상기 비율이 최대인 염색체를 서비스 소비 계획으로 검출하도록 구성될 수 있다.
다양한 실시예들에 따르면, 기준 횟수는 최대 생성 횟수 미만일 수 있다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
다양한 실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터-판독 가능 매체에 기록될 수 있다. 이 때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 그리고, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제 1) 구성 요소가 다른(예: 제 2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소가 상기 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제 3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
다양한 실시예들에 따르면, 기술한 구성 요소들의 각각의 구성 요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성 요소들 중 하나 이상의 구성 요소들 또는 단계들이 생략되거나, 또는 하나 이상의 다른 구성 요소들 또는 단계들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성 요소들(예: 모듈 또는 프로그램)은 하나의 구성 요소로 통합될 수 있다. 이런 경우, 통합된 구성 요소는 복수의 구성 요소들 각각의 구성 요소의 하나 이상의 기능들을 통합 이전에 복수의 구성 요소들 중 해당 구성 요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 단계들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 단계들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 단계들이 추가될 수 있다.

Claims (20)

  1. 모바일 엣지 컴퓨팅(mobile edge computing; MEC) 환경에서 효율적인 서비스 마이그레이션(service migration)을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템의 방법에 있어서,
    복수의 도로 구간들을 나타내는 엣지들과 및 상기 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성하는 단계;
    상기 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 상기 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 상기 서비스 소비 계획을 검출하는 단계; 및
    상기 사용자를 위해 상기 서비스 소비 계획을 제공하는 단계
    를 포함하고,
    상기 서비스 소비 계획을 검출하는 단계는,
    유전 알고리즘을 사용하여, 상기 서비스 소비 계획을 검출하고,
    상기 서비스 소비 계획을 검출하는 단계는,
    상기 그래프를 이용하여, 상기 시작점으로부터 상기 목표점으로의 경로들에 대한 염색체들을 포함하는 모집단을 초기화하는 단계; 및
    상기 염색체들 중 하나를 상기 서비스 소비 계획으로 검출하는 단계
    를 포함하고,
    상기 서비스 소비 계획을 검출하는 단계는,
    상기 유전 알고리즘을 사용하여 생성되는 염색체들을 기반으로, 상기 모집단을 업데이트하는 단계
    를 더 포함하고,
    상기 모집단을 업데이트하는 단계는,
    미리 설정되는 최대 생성 횟수 만큼 반복되고,
    상기 서비스 소비 계획을 검출하는 단계는,
    상기 모집단이 업데이트될 때마다, 상기 모집단의 상기 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 확인하는 단계
    를 더 포함하는, 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 염색체들의 각각은,
    상기 경로들의 각각에 대한 엣지들과 적어도 하나의 MEC 서버의 시퀀스로 구성되고,
    상기 엣지들의 각각은,
    두 개의 정점들을 연결하고, 경로들의 각각에서 상기 정점들 중 하나를 통해 인접한 엣지와 이어지는,
    방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 모집단을 업데이트하는 단계는,
    상기 모집단에서 두 개의 위너 염색체들을 선택하는 단계;
    상기 위너 염색체들을 교차시켜, 두 개의 자녀 염색체들을 생성하는 단계; 및
    상기 모집단에 상기 자녀 염색체들을 추가하는 단계
    를 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 자녀 염색체들을 생성하는 단계는,
    상기 위너 염색체들의 공통 접점을 기준으로 상기 위너 염색체들의 엣지들을 교차시켜, 상기 자녀 염색체들을 생성하는 단계;
    상기 자녀 염색체들 중 적어도 하나에서 두 개의 정점들을 순환하는 루프를 구성하는 엣지들을 제거하여, 상기 자녀 염색체들 중 적어도 하나를 보수하는 단계; 및
    돌연변이 프로세스를 통해, 상기 자녀 염색체들의 각각에 대해, 남아 있는 엣지들을 커버하는 적어도 하나의 MEC 서버를 구성하는 단계
    를 포함하는, 방법.
  8. 제 6 항에 있어서,
    상기 모집단을 업데이트하는 단계는,
    상기 모집단에서 두 개의 루저 염색체들을 선택하는 단계; 및
    상기 모집단에서 상기 루저 염색체들을 제거하는 단계
    를 더 포함하는, 방법.
  9. 삭제
  10. 제 1 항에 있어서,
    상기 염색체들 중 하나를 상기 서비스 소비 계획으로 검출하는 단계는,
    상기 모집단의 상기 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 검출하는 단계; 및
    상기 검출된 평균 활용률이 미리 정해진 기준 횟수 동안에 확인된 평균 활용률로부터 증가했으면, 상기 염색체들로부터 상기 비율이 최대인 염색체를 상기 서비스 소비 계획으로 검출하는 단계
    를 포함하고,
    상기 기준 횟수는 상기 최대 생성 횟수 미만인, 방법.
  11. 모바일 엣지 컴퓨팅(mobile edge computing; MEC) 환경에서 효율적인 서비스 마이그레이션(service migration)을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템에 있어서,
    메모리; 및
    상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고,
    상기 프로세서는,
    복수의 도로 구간들을 나타내는 엣지들과 및 상기 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성하고,
    상기 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 상기 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 상기 서비스 소비 계획을 검출하고,
    상기 사용자를 위해 상기 서비스 소비 계획을 제공하도록 구성되고,
    상기 프로세서는,
    유전 알고리즘을 사용하여, 상기 서비스 소비 계획을 검출하도록 구성되고,
    상기 프로세서는,
    상기 그래프를 이용하여, 상기 시작점으로부터 상기 목표점으로의 경로들에 대한 염색체들을 포함하는 모집단을 초기화하고,
    상기 염색체들 중 하나를 상기 서비스 소비 계획으로 검출하도록 구성되고,
    상기 프로세서는,
    상기 유전 알고리즘을 사용하여 생성되는 염색체들을 기반으로, 상기 모집단을 업데이트하도록 구성되고,
    상기 프로세서는,
    미리 설정되는 최대 생성 횟수 만큼 상기 모집단을 반복적으로 업데이트하고,
    상기 모집단이 업데이트될 때마다, 상기 모집단의 상기 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 확인하고,
    상기 모집단의 상기 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 검출하고,
    상기 검출된 평균 활용률이 미리 정해진 기준 횟수 동안에 확인된 평균 활용률로부터 증가했으면, 상기 염색체들로부터 상기 비율이 최대인 염색체를 상기 서비스 소비 계획으로 검출하도록 구성되고,
    상기 기준 횟수는 상기 최대 생성 횟수 미만인,
    컴퓨터 시스템.
  12. 삭제
  13. 삭제
  14. 제 11 항에 있어서,
    상기 염색체들의 각각은,
    상기 경로들의 각각에 대한 엣지들과 적어도 하나의 MEC 서버의 시퀀스로 구성되고,
    상기 엣지들의 각각은,
    두 개의 정점들을 연결하고, 경로들의 각각에서 상기 정점들 중 하나를 통해 인접한 엣지와 이어지는,
    컴퓨터 시스템.
  15. 삭제
  16. 제 11 항에 있어서,
    상기 프로세서는,
    상기 모집단에서 두 개의 위너 염색체들을 선택하고,
    상기 위너 염색체들을 교차시켜, 두 개의 자녀 염색체들을 생성하고,
    상기 모집단에 상기 자녀 염색체들을 추가하도록 구성되는,
    컴퓨터 시스템.
  17. 제 16 항에 있어서,
    상기 프로세서는,
    상기 위너 염색체들의 공통 접점을 기준으로 상기 위너 염색체들의 엣지들을 교차시켜, 상기 자녀 염색체들을 생성하고,
    상기 자녀 염색체들 중 적어도 하나에서 두 개의 정점들을 순환하는 루프를 구성하는 엣지들을 제거하여, 상기 자녀 염색체들 중 적어도 하나를 보수하고,
    돌연변이 프로세스를 통해, 상기 자녀 염색체들의 각각에 대해, 남아 있는 엣지들을 커버하는 적어도 하나의 MEC 서버를 구성하도록 구성되는,
    컴퓨터 시스템.
  18. 제 16 항에 있어서,
    상기 프로세서는,
    상기 모집단에서 두 개의 루저 염색체들을 선택하고,
    상기 모집단에서 상기 루저 염색체들을 제거하도록 구성되는,
    컴퓨터 시스템.
  19. 삭제
  20. 모바일 엣지 컴퓨팅(mobile edge computing; MEC) 환경에서 효율적인 서비스 마이그레이션(service migration)을 위한 서비스 소비 계획을 제공하기 위한 하나 이상의 프로그램들을 저장하기 위한 비-일시적인 컴퓨터-판독 가능 저장 매체에 있어서,
    상기 프로그램들은,
    복수의 도로 구간들을 나타내는 엣지들과 및 상기 도로 구간들을 커버하는 복수의 MEC 서버들을 나타내는 그래프를 구성하는 단계;
    상기 그래프를 이용하여, 사용자에 의해 설정되는 시작점과 목표점 사이의 경로에 대해, 총 이동 시간에 대한 상기 MEC 서버들 중 적어도 하나를 통해 서비스를 받는 활용되는 이동 시간의 비율을 최대화하기 위한 상기 서비스 소비 계획을 검출하는 단계; 및
    상기 사용자를 위해 상기 서비스 소비 계획을 제공하는 단계
    를 실행하고,
    상기 서비스 소비 계획을 검출하는 단계는,
    유전 알고리즘을 사용하여, 상기 서비스 소비 계획을 검출하고,
    상기 서비스 소비 계획을 검출하는 단계는,
    상기 그래프를 이용하여, 상기 시작점으로부터 상기 목표점으로의 경로들에 대한 염색체들을 포함하는 모집단을 초기화하는 단계; 및
    상기 염색체들 중 하나를 상기 서비스 소비 계획으로 검출하는 단계
    를 포함하고,
    상기 서비스 소비 계획을 검출하는 단계는,
    상기 유전 알고리즘을 사용하여 생성되는 염색체들을 기반으로, 상기 모집단을 업데이트하는 단계
    를 더 포함하고,
    상기 모집단을 업데이트하는 단계는,
    미리 설정되는 최대 생성 횟수 만큼 반복되고,
    상기 서비스 소비 계획을 검출하는 단계는,
    상기 모집단이 업데이트될 때마다, 상기 모집단의 상기 염색체들 모두의 상기 비율을 기반으로, 평균 활용률을 확인하는 단계
    를 더 포함하는,
    컴퓨터-판독 가능 저장 매체.
KR1020200186969A 2020-12-30 2020-12-30 모바일 엣지 컴퓨팅 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법 KR102479404B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200186969A KR102479404B1 (ko) 2020-12-30 2020-12-30 모바일 엣지 컴퓨팅 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법
US17/450,605 US11432164B2 (en) 2020-12-30 2021-10-12 Computer system for providing service consumption plan for efficient service migration in mobile edge computing environments, and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200186969A KR102479404B1 (ko) 2020-12-30 2020-12-30 모바일 엣지 컴퓨팅 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법

Publications (2)

Publication Number Publication Date
KR20220095452A KR20220095452A (ko) 2022-07-07
KR102479404B1 true KR102479404B1 (ko) 2022-12-21

Family

ID=82118439

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200186969A KR102479404B1 (ko) 2020-12-30 2020-12-30 모바일 엣지 컴퓨팅 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법

Country Status (2)

Country Link
US (1) US11432164B2 (ko)
KR (1) KR102479404B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395726B (zh) * 2023-12-12 2024-03-01 江西师范大学 一种基于路径规划的移动边缘计算服务迁移方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8660576B2 (en) * 2010-01-15 2014-02-25 Apple Inc. Adaptive location determination
KR101196084B1 (ko) * 2010-09-14 2012-11-01 인하대학교 산학협력단 유전자 알고리즘을 이용한 이동객체의 최적경로 생성 시스템
KR102191971B1 (ko) * 2014-10-10 2020-12-16 삼성전자주식회사 모바일 사용자 경험 개선을 위한 가상 머신 마이그레이션 방법 및 이를 위한 장치
KR102148704B1 (ko) * 2018-11-02 2020-08-27 경희대학교 산학협력단 Mec 환경에서 자율 주행을 위한 딥러닝 기반 캐싱 시스템 및 방법
US11368523B2 (en) * 2019-05-09 2022-06-21 Red Hat, Inc. Traffic management for multiple versions of an application deployed in a computer system

Also Published As

Publication number Publication date
KR20220095452A (ko) 2022-07-07
US20220210665A1 (en) 2022-06-30
US11432164B2 (en) 2022-08-30

Similar Documents

Publication Publication Date Title
US10655975B2 (en) System and method for routing optimization
Savuran et al. Efficient route planning for an unmanned air vehicle deployed on a moving carrier
US9689695B2 (en) Meeting point determination for group members
US20200074353A1 (en) System and method for ride order dispatching and vehicle repositioning
US20200217679A1 (en) Determining directional guidance for vehicles
US8935096B2 (en) Apparatus for fast path search by learning heuristic function and method thereof
US11566890B2 (en) Systems and methods for locating ground and air radio antennae for ground-to-air and air-to-air communications networks
US9599483B2 (en) Region guided and change tolerant fast shortest path algorithm and graph preprocessing framework
CN106066180A (zh) 关于目的地标识停车位置
JP2022084929A (ja) 車両走行制御方法及び装置
KR102479404B1 (ko) 모바일 엣지 컴퓨팅 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법
JP2007240281A (ja) エリア分割巡回経路探索システム、経路探索サーバ、エリア分割巡回経路探索方法
Jose et al. Optimization based routing model for the dynamic path planning of emergency vehicles
Wei et al. Strategic network expansion of urban rapid transit systems: A bi‐objective programming model
Ramasamy et al. Cooperative route planning of multiple fuel-constrained Unmanned Aerial Vehicles with recharging on an Unmanned Ground Vehicle
CN110375735B (zh) 路径规划方法和装置
CN117057700B (zh) 一种智慧物流运输系统及路径规划方法
KR101414415B1 (ko) 모바일 네트워크의 데이터 사용 예측
Peng et al. Approximation of discrete spatial data for continuous facility location design
CN112263836B (zh) 虚拟场景的处理方法和装置以及存储介质
Quessada et al. A bat bio-inspired mechanism for resource allocation in vehicular clouds
CN105701555A (zh) 用于划分路网的方法和系统
Lee et al. Service consumption planning for efficient service migration in mobile edge computing environments
Qi et al. Software defined resource orchestration system for multitask application in heterogeneous mobile cloud computing
Ribas-Xirgo A state-based multi-agent system model of taxi fleets

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right