KR102432007B1 - 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 - Google Patents

모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 Download PDF

Info

Publication number
KR102432007B1
KR102432007B1 KR1020200129920A KR20200129920A KR102432007B1 KR 102432007 B1 KR102432007 B1 KR 102432007B1 KR 1020200129920 A KR1020200129920 A KR 1020200129920A KR 20200129920 A KR20200129920 A KR 20200129920A KR 102432007 B1 KR102432007 B1 KR 102432007B1
Authority
KR
South Korea
Prior art keywords
edge server
offloading
task
job
flow
Prior art date
Application number
KR1020200129920A
Other languages
English (en)
Other versions
KR20220046812A (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 KR1020200129920A priority Critical patent/KR102432007B1/ko
Priority to PCT/KR2020/017849 priority patent/WO2022075528A1/ko
Publication of KR20220046812A publication Critical patent/KR20220046812A/ko
Application granted granted Critical
Publication of KR102432007B1 publication Critical patent/KR102432007B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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]
    • 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/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • 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/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Landscapes

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

Abstract

모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩이 개시된다. 일 실시예에 따른 컴퓨터로 구현되는 작업 오프로딩 시스템에 의해 수행되는 작업 오프로딩 방법은, 각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 단계; 및 상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 단계를 포함할 수 있다.

Description

모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩{REWARD-ORIENTED TASK OFFLOADING UNDER LIMITED EDGE SERVER POWER FOR MOBILE EDGE COMPUTING}
아래의 설명은 모바일 엣지 컴퓨팅에서 엣지 서버에게 작업을 오프로딩 하는 기술에 관한 것이다.
네트워크 및 시스템 기술의 향상은 무선 네트워크에 의존하는 애플리케이션의 실현 가능성을 증가시켰다. 센서, 스마트 개인용 기기, 운전자 없는 차량 등 연결된 사물인터넷(IoT) 기기를 기반으로 한 증강현실 및 스마트 교통 관제 시스템이 대표적이다. 스마트 IoT 디바이스는 빠르게 증가하고 있으며, 2030년까지는 스마트시티 애플리케이션에서 5000억대의 스마트 IoT 디바이스가 필요할 것으로 예측된다. 이러한 애플리케이션은 스마트 IoT 디바이스에 의해 생성될 방대한 양의 데이터를 처리해야 할 것이다.
일부 IoT 디바이스는 빠른 연산이 필요한 작업을 수행해야 한다. 또한 정기적으로 처리해야 하는 센서 데이터의 정기적인 수집을 수반한다. 컴퓨팅 기능이 제한되면 이러한 작업을 클라우드 서버로 오프로드해야 할 경우가 있다. 그러나 클라우드에서 중앙 서버를 중심으로 코어 네트워크가 부과하는 지연은 클라우드 기반 접근법이 적절하지 않을 수 있음을 의미한다. 신속한 처리가 필요한 IoT 기반 시스템을 위해서 엣지 컴퓨팅 서비스를 통해 문제를 해결한다. 클라우드 가장자리에 위치한 엣지 서버(ES)는 빠른 처리와 더불어 중앙 서버의 부하 감소 효과를 산출하므로, 엣지 컴퓨팅에 대한 수요는 빠르게 증가할 것으로 예상된다. 엣지 컴퓨팅 서비스는 각 기지국(BS)에 엣지 서버를 배치하거나 엣지 서버를 여러 기지국에 연결하여 구현할 수 있다. 이를 모바일 엣지 컴퓨팅(MEC)이라고 한다. 이러한 기지국의 범위 내에 위치한 IoT 장치는 기지국에서 엣지 서버로 작업을 오프로드하거나 액세스할 수 있다.
EIP(Edge Infrastructure Providers)는 고객에게 엣지 컴퓨팅 서비스를 제공하기 시작했다. EIP는 클라우드 가장자리에 엣지 서버를 설치하고 이를 사용하여 고객에게 컴퓨팅 성능을 제공한다. 고객 간에 엣지 서버 공유 자원 활용을 개선하고 EIP에 대한 재정적 수익을 얻는다. EIP가 고객과 맺은 계약상 약정에 따라 서버에서 운영하는 우선순위가 결정된다. EIP 에 대한 총 보상의 최대화라는 맥락 안에서 어떤 작업이 오프로드 되는지를 결정할 필요가 있다.
엣지 서버는 원격지 마이크로 데이터센터로서 전력 소비량은 10kW급이 될 것으로 예상된다. 그러한 서버 수천 대가 EIP의 주요 관심사인 메가와트를 소비하게 되므로, 전력 제한이 반드시 필요하다. 엣지 서버에서 끌어온 전력이 사전 정의된 전력 제한치 미만을 유지한다. 서버가 소비하는 전력은 CPU 활용률에 따라 달라진다. 이는 서버의 작업량에 따라 결정되며, 엣지 서버가 수용하는 오프로드된 작업의 수에 따라 결정되는 것을 의미한다.
이에 따라 작업 오프로딩 기술을 사용하여 모바일 기기에 의해 사용되는 에너지를 줄이기 위한 기술이 요구된다.
엣지 서버에 의해 소비되는 전력을 제한하면서 발생한 이익과 관련된 보상을 최대화하는 방법 및 시스템을 제공할 수 있다. 상세하게는, 엣지 서버의 전력 특성을 검토하여 최적화 문제를 공식화하고, 각 오프로드된 작업을 실행할 엣지 서버를 결정함에 따라 설정된 각 엣지 서버의 최대 허용 CPU 활용률에 기초하여 각 엣지 서버 최대 허용 CPU 활용률과 관련된 전력 소비량을 고려하여 보상을 예측하고, 최소 비용 최대 흐름(MCMF) 그래프를 사용하여 작업 할당을 수행하는 방법 및 시스템을 제공할 수 있다.
컴퓨터로 구현되는 작업 오프로딩 시스템에 의해 수행되는 작업 오프로딩 방법은, 각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 단계; 및 상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버의 한도 전력 하에서 엣지 서버 제공자의 보상을 최대화하기 위한 상기 각각의 엣지 서버의 최대 허용 가능한 사용률과 작업 할당을 포함하는 할당 정보를 결정하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버의 최대 허용 가능한 사용률을 결정하는 동시에 전력 요구량에 대한 엣지 서버 제공자의 보상 비율이 높은 작업의 오프로드에 높은 우선 순위를 부여하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버의 전력 제약조건을 충족하면서 최대 허용 가능한 사용률의 값들을 탐색하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 작업 할당으로부터 전력 증가량과 보상 증가량을 반복적으로 계산하여 전력 제약조건이 충족되고, 각각의 엣지 서버에서 최대 허용 가능한 사용률이 결정될 때까지 전력 비율에 더 높은 보상을 주는 최대 허용 가능한 사용률 값에 우선순위를 부여하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버로 작업 할당하기 위한 각각의 작업에 대한 값을 탐색하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 최소 비용 최대 흐름 그래프를 사용하여 작업 분할을 허용하는 방법 또는 작업 분할을 허용하지 않는 방법 중 어느 하나의 방법을 이용하여 엣지 서버로의 작업 할당을 수행하는 단계를 포함할 수 있다.
상기 작업 분할을 허용하는 방법은, 잔차 그래프가 상기 최소 비용 최대 흐름 그래프에서 생성되고 각 노드 사이의 흐름을 표현하기 위한 이진 함수의 값과 비용을 초기화하는 과정, 최단 경로 빠른 알고리즘을 사용하여 최소 비용 흐름을 도출함에 따라 상기 잔차 그래프에 경로를 생성하고, 상기 흐름을 갱신하는 경로 증강 과정 및 정점 사이에 흐름이 존재할 경우, 작업을 구성하는 하위 작업 중 하나를 처리하기 위해 엣지 서버를 선정함으로써 상기 하위 작업이 할당된 엣지 서버의 지수값을 갱신하는 마무리 과정을 수행할 수 있다.
상기 작업 분할을 허용하지 않는 방법은, 상기 최소 비용 최대 흐름 그래프에 작동되고, 소스 정점에서 싱크 정점으로 최소 비용 흐름을 계산하는 최소 비용 흐름 과정, 상기 최소 비용 흐름과 연관된 작업 정점을 제거하고 용량 사용량과 작업이 할당된 엣지 서버의 지수값을 갱신하고 흐름과 연관된 엣지들을 제거하는 과정을 수행할 수 있다.
컴퓨터로 구현되는 작업 오프로딩 시스템은, 각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 서버 결정부; 및 상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 작업 오프로딩부를 포함할 수 있다.
본 발명은 각 서버의 최대 활용률을 결정하는 동시에 전력 요구량에 대한 엣지 서버 제공자의 보상 비율이 높은 작업의 오프로드에 높은 우선 순위를 두고, 최소 비용 최대 흐름 그래프를 사용하여 작업 할당 문제를 모델링함에 따라 가장 높은 보상을 검색하여 서버 용량의 영향을 받는 작업을 오프로드함으로써 동일한 전력 제약 조건 하에서 대체 계획보다 더 높은 보상을 달성할 수 있다.
도 1은 일 실시예에 따른 모바일 엣지 컴퓨팅 구조를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 작업 오프로딩 시스템의 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 작업 오프로딩 시스템의 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 작업 오프로딩 시스템에서 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘에 대한 의사 코드를 나타낸 도면이다.
도 5는 일 실시예에 따른 작업 오프로딩 시스템에서 엣지 서버 할당 문제를 흐름 네트워크로 모델링하는 것을 설명하기 위한 예이다.
도 6은 일 실시예에 따른 작업 오프로딩 시스템에서 사이의 흐름을 표현하기 위한 잔차 그래프의 예이다.
도 7은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 분할이 허용된 경우의 엣지 서버 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
도 8은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 할당 없는 엣지 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
도 9 내지 도 14는 일 실시예에 따른 작업 오프로딩 시스템의 실험 결과를 설명하기 위한 그래프이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
모바일 엣지 컴퓨팅에서 작업은 모바일 장치에서 네트워크 가장자리에 있는 서버로 오프로드됨으로써 중앙 서버에 도달하는 데 필요한 대기 시간을 발생시키지 않고 작업 처리 속도를 높인다. 단, 엣지 서버에 의해 사용되는 힘은 상당하며 비용이 효율적일 필요가 있다. 실시예에서는 제한된 전력 소모량, 서버 처리 용량, 무선 네트워크 커버리지 내에서 엣지 서버 제공자의 보상을 최대화할 목적으로 작업을 서버로 오프로드하는 방안을 설명하기로 한다.
도 1은 일 실시예에 따른 모바일 엣지 컴퓨팅 구조를 설명하기 위한 도면이다.
엣지 서버들은 기지국들의 커버리지 안에 있는 IoT 장비들에서 오프로드된 작업들을 처리하기 위해 적어도 하나 이상의 기지국으로 할당될 수 있다. 만약 한 작업이 엣지 서버에서 EIP('엣지 서버 제공자'로 기재하기로 함)로 오프로드 되면, 그 엣지 서버 제공자는 엣지 서버에 의해 수행된 계산량에 기반하여 보상을 받을 수 있다. 그렇지 않으면, 오프로드된 작업들은 클라우드의 중앙 서버로 넘겨진다.
한편, SPEC 전력위원회는 엣지 서버들의 에너지 소비량을 측정하는 도구들과 표준들을 제공하고 있다. 2006년부터 엣지 서버들을 위한 에너지 측정값들을 수집했고 에너지 소비와 CPU사용률 사이의 관계에 대해 분석하였으며, 이는 서버 특성에 의해 강력히 좌우되는 것으로 밝혀졌다.
감시, 공기질 모니터링 및 교통량 모니터링과 같은 많은 IoT 애플리케이션들은 주기적으로 처리되어야 하는 센서 데이터의 주기적인 수집이 필요하다. 작업 오프로딩을 위해, 각각의 작업은 일정시간 동안 요구되는 계산량을 계산하고, 엣지 서버에서 제공하는 프로세서 용량의 일정 비율을 받을 수 있다. 작업 사용량은 작업에 필요한 계산량이 분자로, 일정시간 동안 엣지 서버에 의해 제공받은 총 계산량이 분모로 표현될 수 있다. 그 후, 각각의 작업은 각 주기 동안 할당된 프로세서 용량을 사용할 수 있다.
다른 엣지 서버들이 다른 처리용량을 가질 수 있기 때문에, 각 작업의 사용량을 최고 처리용량을 갖는 엣지 서버에 대하여 정규화할 수 있다. 만약, NES가 엣지 서버의 수라면,
Figure 112020106400513-pat00001
(i=1, ..., NES) 를 Ih igh 의 지수를 가진 최고 처리용량을 갖는 엣지 서버와 비교하여 최대 처리용량을 나타내기 위해 사용할 수 있다. 그 후, 작업
Figure 112020106400513-pat00002
의 정규화 처리된 Ui(i=1, ..., Ntask)는 엣지 서버 Ih igh 에서 실행된다는 사실을 기반으로 결정될 수 있다. 여기서, Ntask는 총 작업 수를 나타낸다. 쉽게 설명하기 위하여, Ui
Figure 112020106400513-pat00003
가 정수 값을 갖는다고 가정하자. 이를 위해, 그레인 크기를 최소 할당 단위로 도입하고
Figure 112020106400513-pat00004
와 Ui를 그레인의 배수로 표현할 수 있다. 예를 들면, 만약, 그레인의 크기가 0.01이면,
Figure 112020106400513-pat00005
=100이 된다.
Figure 112020106400513-pat00006
,
Figure 112020106400513-pat00007
를 작업
Figure 112020106400513-pat00008
( i=1,..., Ntask)가 할당된 엣지 서버의 지수라고 하자. 어떠한 엣지 서버로도 할당되지 못하는 작업
Figure 112020106400513-pat00009
을 처리하는 클라우드의 중앙 서버를 나타내기 위해 지수 0을 도입할 수 있다. 요약하자면, 만약
Figure 112020106400513-pat00010
=0이면, 작업
Figure 112020106400513-pat00011
는 클라우드 중앙 서버에 의해 처리될 수 있다. 반면에, 만약
Figure 112020106400513-pat00012
=j이면, 작업
Figure 112020106400513-pat00013
는 엣지 서버 j에 의해 처리될 수 있다. 모든 작업에 대하여 합쳐친 총 사용량은 처리용량을 초과할 수 없으므로
Figure 112020106400513-pat00014
가 된다. 이에 따라, 엣지 서버에서의 총 CPU 사용률
Figure 112020106400513-pat00015
은 다음과 같이 표현될 수 있다.
수학식 1:
Figure 112020106400513-pat00016
각 엣지 서버에 의해 소비되는 전력량을 제한하기 위하여, CPU 사용률을 제한할 수 있다. 이를 위해, 각 엣지 서버 j에 대해 최대 허용 가능한 CPU 사용률 Yj를 도입할 수 있다. 여기에서, CPU 사용률 Yj는 0과
Figure 112020106400513-pat00017
사이의 정수이다. 이때, 각 엣지 서버 j에서 총 CPU 사용률 Yj을 초과해서는 안된다. 만약, CPU 사용률 Yj가 0이면, 각 엣지 서버 j는 어떠한 작업도 처리할 수 없다. 만약, Yj=
Figure 112020106400513-pat00018
라면, 각 엣지 서버 j의 처리용량을 완전히 사용할 수 있다.
활성 전력은 엣지 서버가 연산 작업을 진행하고 있는 동안 소비된 전력이고, 이는 CPU 사용률에 따라 비선형적으로 달라진다. 연산이 진행되지 않을 경우에도, 엣지 서버는 고정된 유휴 전력을 사용한다. 이에 따라, 각 엣지 서버 j에서 사용률이 x
Figure 112020106400513-pat00019
일 때, 활성 전력 계수를 표현하기 위해
Figure 112020106400513-pat00020
를 사용하고 각 엣지 서버 j의 유휴 전력 계수를 표현하기 위해
Figure 112020106400513-pat00021
를 사용할 수 있다. 이에, 각 엣지 서버 j에 의해 도출된 전력
Figure 112020106400513-pat00022
를 사용률 x에 따라 다음과 같이 정의될 수 있다.
수학식 2:
Figure 112020106400513-pat00023
도 2는 일 실시예에 따른 작업 오프로딩 시스템의 구성을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 작업 오프로딩 시스템의 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 설명하기 위한 흐름도이다.
작업 오프로딩 시스템(100)의 프로세서는 서버 결정부(210) 및 작업 오프로딩부(220)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 작업 오프로딩 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 3의 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법이 포함하는 단계들(310 내지 320)을 수행하도록 작업 오프로딩 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서는 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 작업 오프로딩 시스템(100)에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 작업 오프로딩 시스템(100)을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 서버 결정부(210) 및 작업 오프로딩부(220) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(310 내지 320)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.
서버 결정부(210)는 각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정할 수 있고(310), 작업 오프로딩부(220)는 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩할 수 있다(320).
실시예에서는 다음에서 설명하는 3가지 제약조건 하에서 전체 보상을 극대화하기 위하여 적절한 엣지 서버로 각각의 작업을 할당할 수 있다.
엣지 서버 처리용량: 각각의 엣지 서버에서의 총 사용합계는 최대 허용 사용량은 넘어서는 안된다.
수학식 3:
Figure 112020106400513-pat00024
엣지 서버 커버리지: 엣지 서버는 엣지 서버 영역 내에 존재하는 기기들에서 전송되는 작업만 수신할 수 있다. 그 작업이 엣지 서버에 의해 받아들여질 수 있는지 여부를 나타내는 이진 상수 H i,j 를 도입할 수 있다. 만약, H i,j =1이라면, 각 엣지 서버 j는 작업
Figure 112020106400513-pat00025
를 오프로드 하는 요청을 받아들일 수 있다. 만약, H i,j =0이라면, 각 엣지 서버 j는 작업
Figure 112020106400513-pat00026
를 오프로드 하는 요청을 받아들일 수 없다. 이에 따라, 작업
Figure 112020106400513-pat00027
은 H i,j =1일 경우에만, 엣지 서버 X로 할당될 수 있다.
전력: Pl imit 는 사용이 허용되는 모든 엣지 서버의 최대 총 전력이다.
수학식 4:
Figure 112020106400513-pat00028
이에, 각 엣지 서버에서 작업
Figure 112020106400513-pat00029
을 처리할 때, 엣지 서버 제공자에 의해 받은 보상인 R i,j 를 도입하기로 한다. 그리고 나서, 엣지 서버 할당 문제와 최대 허용 사용량 결정 문제를 공식화할 수 있다. 이는, 모든 엣지 서버의 보상들의 합계를 극대화하기 위한 목적으로 각각의 작업
Figure 112020106400513-pat00030
에서의 값
Figure 112020106400513-pat00031
, (
Figure 112020106400513-pat00032
=0, ??, NES)를 찾는 것과 모든 엣지 서버 j에서의 최대 허용 가능한 사용률
Figure 112020106400513-pat00033
, (
Figure 112020106400513-pat00034
=0, ??,
Figure 112020106400513-pat00035
)를 찾는 것으로 구성될 수 있다.
Figure 112020106400513-pat00036
도 4를 참고하면, 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘에 대한 의사 코드를 나타낸 도면이다.
작업 오프로딩 시스템은 최대 허용 가능한 사용률을 결정할 수 있다. 최적화 문제를 해결하기 위하여, 각각의 작업
Figure 112020106400513-pat00037
에 대한 값
Figure 112020106400513-pat00038
과 각각의 엣지 서버 j에 대한 최대 허용 가능한 사용률
Figure 112020106400513-pat00039
을 결정해야 한다. 각각의 엣지 서버 j는
Figure 112020106400513-pat00040
처리용량을 갖고 있으며,
Figure 112020106400513-pat00041
Figure 112020106400513-pat00042
의 모든 조합들을 고려하는 것은 비실용적이다. 이에 따라 이를 2개의 하위 문제로 나눈다. 사용률 결정 문제(UDP: utilization determination problem,)는 에너지 제약조건을 충족하면서 최대 허용 가능한 사용률
Figure 112020106400513-pat00043
의 값들을 찾는 것이다. 엣지 서버 할당 문제(EAP: edge server allocation problem,)는 각각의 작업
Figure 112020106400513-pat00044
을 엣지 서버로 할당하는
Figure 112020106400513-pat00045
값들을 찾는 것이다.
사용률 결정 문제에 대하여 설명하기로 한다.
엣지 서버 j에서 가능한 보상들
Figure 112020106400513-pat00046
과 그에 해당하는 에너지 요구조건들이 제공된다면, 사용률 결정 문제는 다중 선택 배낭 문제(multiple-choice knapsack problem, MKCP)로 축소될 수 있다. 과부하 없이 아이템들을 배낭에 넣었을 때 얻는 총 이익을 극대화시키기 위해서, 다수의 아이템들을 포함하는 몇몇 클래스들의 각각에 대해 가중치와 이익이 있는 하나의 아이템을 선택해야 한다.
사용률 결정 문제에서 클래스는
Figure 112020106400513-pat00047
사용률 값을 각각 갖고 있는 엣지 서버이며, 각 사용률 값은 총합이
Figure 112020106400513-pat00048
를 초과할 수 없는 전력과 극대화 되어야 하는 보상과 연관되어 있다. MCKP는 NP-난해 이다. 하지만 이익-가중치 비율에 기반을 둔 그리디 알고리즘(greedy algorithm)은 보통 잘 수행된다. 사용률 결정 문제는 작업 할당으로부터 전력과 보상 증가량을 반복적으로 계산하여 부등식 (4)에서의 전력 제약조건이 충족되고 각각의 엣지 서버 j에서 최대 허용 가능한 사용률
Figure 112020106400513-pat00049
이 결정될 때까지 전력 비율에 더 높은 보상을 주는 사용률 값에 우선순위를 부여할 수 있다.
다음은, 엣지 서버 할당 문제에 대하여 설명하기로 한다.
작업 오프로딩 시스템은 최소 비용 최대 흐름 그래프(MCMF)를 사용하여 엣지 서버로의 작업 할당을 모델링할 수 있다. 실시예에서는 가능한 2가지 엣지 할당 알고리즘을 고려할 수 있다. 작업 분할을 허용하는 알고리즘과 허용하지 않는 알고리즘이다. 만약 작업 분할이 허용된다면, 생성된 하위작업들이 다른 엣지 서버에 할당될 수 있다. 모델링을 통해 작업
Figure 112020106400513-pat00050
Figure 112020106400513-pat00051
개의 하위 작업
Figure 112020106400513-pat00052
으로 분할될 수 있다. 작업 오프로딩 시스템은 각각의 하위 작업의 CPU 사용이 정수 값을 갖도록 조건화 하였고(작업의 사용률 값과 마찬가지로), 따라서 작업
Figure 112020106400513-pat00053
가 분할될 수 있는 최대 하위 작업 수는
Figure 112020106400513-pat00054
이다.
Figure 112020106400513-pat00055
(
Figure 112020106400513-pat00056
)이 하위 작업
Figure 112020106400513-pat00057
이 할당된 엣지 서버의 지수라고 하자. 최소 비용 최대 흐름 그래프 그래프에서 최적의 정수 기반 흐름 집합을 찾을 수 있고, 이는 최대 가능한 흐름 전달 비용을 최소화한다. 이러한 흐름들에 부합하는
Figure 112020106400513-pat00058
값들을 결정하기 위해 이 알고리즘을 사용할 수 있다.
작업 분할이 허용되지 않아 각각의 작업이 단일 엣지 서버에서 실행되어야 할 때, EAP는 이익을 극대화시키기 위해서 다른 가중치와 이익을 갖는 아이템들이 제한된 용량을 갖는 배낭으로 할당되어야 하는 다수 배낭 문제(MKP)로 축소될 수 있다. 다수 배낭 문제에서 아이템들은 작업이고, 엣지 서버 할당 문제의 목적은 각각의 엣지 서버 에서 처리용량에 따른 총 보상을 극대화시키는 것이다. 다중 선택 배낭 문제(MKCP)처럼 다수 배낭 문제(MKP)는 NP난해이다. 작업 오프로딩 시스템은 처리용량이 남지 않을 때까지 최대 보상값을 기반으로 하여 작업들을 엣지 서버로 할당하는 그리디 알고리즘을 다시 사용할 수 있다.
다음으로, 최대 허용 사용률 결정 알고리즘에 대하여 설명하기로 한다.
3가지 새로운 변수를 필요로 하는
Figure 112020106400513-pat00059
값을 결정해야 한다. 먼저 알고리즘이 진행되는 동안
Figure 112020106400513-pat00060
의 값들을 저장하기 위해 각 작업
Figure 112020106400513-pat00061
에서 일시적인 변수
Figure 112020106400513-pat00062
를 도입한다. 그리고
Figure 112020106400513-pat00063
는 엣지 서버 j에 의해 도출된 전력 증가량을 나타내고, 새로운 작업
Figure 112020106400513-pat00064
가 여기에 할당될 때 이는 다음과 같이 표현된다.
수학식 5:
Figure 112020106400513-pat00065
여기에서
Figure 112020106400513-pat00066
는 작업
Figure 112020106400513-pat00067
이 각 엣지 서버 j에게 할당되기 전에, 엣지 서버 j에 의해 도출된 전력이고,
Figure 112020106400513-pat00068
는 그 후에 엣지 서버 j에 의해 도출된 전력이다.
Figure 112020106400513-pat00069
는 작업
Figure 112020106400513-pat00070
을 엣지 서버 j에게 할당함으로써 발생하는 보상의 증가량과 수학식 5의 증가량 간의 비율을 나타내는 특정 보상이다. 이 특정 보상은 다음과 같이 표현될 수 있다.
수학식 6:
Figure 112020106400513-pat00071
도 4의 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘의 목적은 적은 전력 소비량으로 큰 보상을 얻는 것이다. 최대 허용 사용률 결정 알고리즘은 각 i와 j에서의 전력 필요량
Figure 112020106400513-pat00072
과 특정 보상
Figure 112020106400513-pat00073
을 계산한다. 그리고 나서 i=M이고j=H 일 때의 최대값
Figure 112020106400513-pat00074
을 결정한다. 그리고 임시 변수
Figure 112020106400513-pat00075
를 1로 설정하여
Figure 112020106400513-pat00076
을 할당된 것으로 표시하고 총 전력 요구량
Figure 112020106400513-pat00077
를 갱신한다. 이 과정은 최대 전력 조건이 충족되지 않을 때 혹은 작업이 더 이상 남지 않을 때까지 반복된다.
도 5는 일 실시예에 따른 작업 오프로딩 시스템에서 엣지 서버 할당 문제를 흐름 네트워크로 모델링하는 것을 설명하기 위한 예이다.
엣지 서버 할당에 대하여 설명하기로 한다.
작업 오프로딩 시스템은 최소 비용 최대 흐름 그래프(MCMF)를 작성할 수 있다. 엣지 서버 할당 문제(EAP)는 최소 비용 최대 흐름 문제로 효과적으로 표현될 수 있다. 이는 직접적으로 엣지에 연결되었고 소스, 싱크 그리고 중계 노드가 있는 흐름 네트워크인 최대 비용 최대 흐름 그래프를 생성함으로써 설명될 수 있다. 소스 노드는 외부로 향하는 엣지만 있으며 싱크 노드는 내부로 향하는 엣지만 있다. 노드 a에서 노드 b로의 엣지는 용량과 비용이 있다. 최소 비용 최대 흐름 그래프의 문제는 적은 비용에서 총 흐름을 극대화시키는 소스 노드에서 싱크 노드로 가는 흐름들의 집합을 찾는 것이다.
일례로, 엣지 서버 할당 문제는 도 5에서 제시된 것처럼 다음과 같은 4가지 종류의 정점을 갖는 흐름 네트워크로 모델링될 수 있다. 단일 소스 정점
Figure 112020106400513-pat00078
가 작업
Figure 112020106400513-pat00079
에 상응하는 작업 정점
Figure 112020106400513-pat00080
가 엣지 서버 j에 상응하는 엣지 서버의 정점
Figure 112020106400513-pat00081
,
Figure 112020106400513-pat00082
가 엣지 서버 j에 상응하는 엣지 서버의 정점
Figure 112020106400513-pat00083
, 그리고 단일 싱크 정점 t이다. 이제, 엣지 서버 j에서 사용된 처리용량 단위당 보상을 다음과 같이 정의할 수 있다.
Figure 112020106400513-pat00084
이 경우, 흐름 네트워크를 생성할 때의 규칙은 다음과 같이 묘사할 수 있다.
소스 정점 s는 모든 작업 정점에 연결된다. 각 엣지(
Figure 112020106400513-pat00085
)는 용량
Figure 112020106400513-pat00086
과 비용 0을 가진다.
각 정점
Figure 112020106400513-pat00087
, (i=1,...,Ntask)는
Figure 112020106400513-pat00088
=1일 때, 정점
Figure 112020106400513-pat00089
에 연결된다. 각 엣지는 용량
Figure 112020106400513-pat00090
와 비용
Figure 112020106400513-pat00091
을 가진다.
각 정점
Figure 112020106400513-pat00092
, (j=1,...,NES) 는 싱크 정점 t에 연결된다. 각 엣지 (
Figure 112020106400513-pat00093
)는 용량
Figure 112020106400513-pat00094
와 비용 0을 가진다.
엣지 서버 할당 문제는 각 엣지 서버에서의 사용 조건을 만족하면서 총 보상을 극대화시키는 것을 목적으로 하며, 작업 분할이 허용될 때는 값
Figure 112020106400513-pat00095
을 결정하고, 작업 분할이 허용되지 않을 때는
Figure 112020106400513-pat00096
를 결정하여 해결할 수 있다. 총 보상을 극대화시키는 것은 총 비용
Figure 112020106400513-pat00097
을 최소화시키는 것에 해당된다.
만약 소스 노드에서 싱크 노드로의 작업
Figure 112020106400513-pat00098
에 대한 흐름 용량이
Figure 112020106400513-pat00099
라면, 각 엣지 서버의 정점
Figure 112020106400513-pat00100
에서 싱크 정점으로의 총 흐름은 엣지 서버 j의 용량 제약조건인
Figure 112020106400513-pat00101
를 초과할 수 없다.
Figure 112020106400513-pat00102
=1인 경우에만
Figure 112020106400513-pat00103
Figure 112020106400513-pat00104
사이의 엣지가 존재하기 때문에 엣지 서버 커버리지 제약조건은 최소 비용 최대 흐름 그래프에 표현될 수 있다.
도 7은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 분할이 허용된 경우의 엣지 서버 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
작업 분할이 허용될 때의 엣지 서버 할당 알고리즘(EAA-TS)은 알고리즘은 도 7에 제시되어 있다. EAA-TS는 감소하는 비용으로 소스에서 싱크로의 길을 찾고, 이는 또한 최단 경로 빠른 알고리즘(shortest path faster algorithm: SPFA)을 사용하여 용량 조건을 만족하며 이는 잘 알려진 벨만-포드 알고리즘의 개선된 형태이다.
실시예에서는 정점(노드) a와 b 사이의 흐름을 표현하기 위해서 이진 함수 f(a, b)를 도입하기로 한다. f(a, b) 값이 1이라면, 흐름이 존재한다. 알고리즘 실행 시 선택된 경로는 최종 흐름의 일부분이 아니기 때문에 최단 경로 빠른 알고리즘은 역방향 경로가 필요하며 이는 취소될 수 있다. 따라서 각 엣지가 2개의 정점 사이에 허용될 수 있는 추가적인 흐름을 나타내고 역방향 경로가 허용되는 잔차 그래프를 작성해야 한다.
예를 들어, v1에서 w1으로 흐름이 있도록 하기 위해 f(v1,w1) = 1 이라고 가정해보자. 이에 해당하는 잔차 그래프가 도6에 표시되어 있다. 모든 엣지들
Figure 112020106400513-pat00105
에 대한 용량 값은 1만큼 감소했지만, 역방향 경로의 엣지들의 용량은 1만큼 증가했다. 이 역방향 경로
Figure 112020106400513-pat00106
에 대한 비용
Figure 112020106400513-pat00107
Figure 112020106400513-pat00108
로 설정된다. 역방향 경로는 알고리즘에 의해 선택될 수 있고, 이 경우 최초의 경로 선정은 취소된다. 최단 경로 빠른 알고리즘은 가능한 흐름이 없어질 때까지 잔차 그래프에서 작동한다.
EAA-TS는 최단 경로 빠른 알고리즘 이전과 이후에 작동하는 초기화, 경로 증강 그리고 마무리 과정을 포함한다.
초기화: 잔차 그래프가 최소 비용 최대 흐름 그래프(라인 1)에서 생성되고 흐름
Figure 112020106400513-pat00109
의 값과 비용
Figure 112020106400513-pat00110
이 초기화 된다(라인5-9).
경로 증강: 최소 비용 최대 흐름 그래프를 사용해서 최소 비용 흐름을 구한다(라인 11). 이에 해당하는 경로가 잔차 그래프에 생성된다(라인 15). 그리고 흐름이 갱신된다(라인 17-18). 이 과정은
Figure 112020106400513-pat00111
에 생성되는 증강 경로 p가 없어질 때까지 반복된다(라인 12).
마무리:
Figure 112020106400513-pat00112
Figure 112020106400513-pat00113
사이에 흐름이 있으면,
Figure 112020106400513-pat00114
에 있는 하위 작업 중 하나를 처리하기 위해 엣지 서버 j가 선정되고,
Figure 112020106400513-pat00115
값은 이에 따라 갱신된다(라인 21-29).
도 8은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 할당 없는 엣지 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
작업 분할 없는 엣지 할당 알고리즘(EAA-NTS)은 다음과 같이 최소 비용 최대 흐름 그래프에서 작동된다.
최소 비용 흐름: 소스 정점에서 싱크 정점으로 최소 비용 흐름 f가 계산된다(라인5).
갱신 및 제거: 최소 비용 흐름과 연관된 작업 정점이 제거되고, 용량 사용량
Figure 112020106400513-pat00116
과 지수
Figure 112020106400513-pat00117
가 갱신되며 흐름과 연관된 엣지들이 제거된다(라인 6-16). 예를 들어, 최소 비용 흐름이 도5에서
Figure 112020106400513-pat00118
라고 가정하자. 그렇다면
Figure 112020106400513-pat00119
에 해당되는 정점은 들어오는 엣지 및 나가는 엣지와 함께 제거된다.
Figure 112020106400513-pat00120
이 엣지 서버 2로 할당되었기 때문에
Figure 112020106400513-pat00121
값은 2로 갱신된다. 엣지 서버 2에 의해 증가된 처리 사용량을 기록하기 위해서 임시 변수
Figure 112020106400513-pat00122
Figure 112020106400513-pat00123
만큼 증가되며 이는 Yj를 초과해서는 안된다. 이러한 2가지 과정은 모든 작업들이 검토될 때까지 반복된다.
도 9 내지 도 14는 일 실시예에 따른 작업 오프로딩 시스템의 실험 결과를 설명하기 위한 그래프이다.
1. 시뮬레이션 설정
전력 소비량과 총 보상에 대한 우리의 스킴을 평가하기 위해서 시뮬레이션이 진행될 수 있다. 이를 위해서 2019년과 2020년 사이에 공개된 4개의 상업용 서버의 에너지 특성을 모델링할 수 있다. 이들 상업용 서버의 특성들 중 하나가 각 엣지 서버로 무작위 할당되었다.
일례로, 호주 멜버른에서 핸드폰 네트워크 장소 데이터의 데이터베이스를 사용하여 엣지 서버와 IoT 장비 사이의 공간 관계를 모델링 했다. 이는 815개의 무선 액세스 포인트 (WAPs)와 125개의 기지국의 위도, 경도, 그리고 IP 주소를 포함하며 이를 사용하여 WAPs와 각 기지국 사이의 거리를 계산할 수 있다.
각 기지국이 엣지 서버 커버리지 안에서 작업을 수행할 수 있는 단일 엣지 서버를 갖고 있다고 가정할 것이다. 그리고 멜버른 데이터베이스의 WAPs의 위치정보를 취득하여 IoT 장비의 위치를 나타낼 것이다. 만약 작업을 오프로드 하고 싶어하는 장비에 연결된 WAP가 ES에 연결된 기지국(BS)의 커버리지 안에 있다면,
Figure 112020106400513-pat00124
=1 이다 (그렇지 않으면 0). 각 BS의 커버리지는 450m와 750m사이에 무작위로 선정된 거리로 표현된다.
다양한 변수의 효과를 살펴보기 위해, 우리는 작업, 보상 및 작업 사용량을 변화시켰고, 이들은 표 1에 나타난 것처럼 서로 다른 범위를 갖고 있다. 각 WAP는
Figure 112020106400513-pat00125
Figure 112020106400513-pat00126
사이의 임의의 작업 수를 생성하는 IoT 장비들로 연결될 수 있다. 모든 엣지 서버 j에 대하여 동일하게, 작업
Figure 112020106400513-pat00127
에 대한 기본 보상은
Figure 112020106400513-pat00128
Figure 112020106400513-pat00129
사이에 임의로 선정된 정수값이고, 작업
Figure 112020106400513-pat00130
에 의해 요구되는 사용량
Figure 112020106400513-pat00131
Figure 112020106400513-pat00132
Figure 112020106400513-pat00133
사이에 임의로 선정된 정수값이다. 다르게 서술되지 않는 경우에, 각 변수에 대한 기본 범위는 표1과 같다.
표 1 매개변수 설정
Figure 112020106400513-pat00134
도 8을 참고하면, 2가지 스킴, 즉, EAA-TS (알고리즘 (도면 7)) 그리고 EAA-NTS (알고리즘 (도면 8))를 평가한다. 둘 다 각 엣지 서버에서 최대 허용 가능한 사용을 결정하기 위해 최대 허용 사용률 결정 알고리즘을 사용했다. 부등식 (4)를 만족시키기 위해 전력 소비량을 제한하면서 엣지 서버에 작업을 할당하는 다음과 같은 4가지 방식으로 이들 스킴을 비교한다.
RR + HR(라운드-로빈 할당 + 최대 보상)은 라운드 로빈 방식으로 작업을 할당하며 부등식 (4)가 충족되지 않을 때까지 최고 보상을 산출하는 작업을 연속적으로 선정한다.
RA+HR(임의 작업 할당 + 최대 보상)은 부등식 (4)가 충족 되지 않을 때까지 임의로 선정된 작업들에 대해 높은 보상을 갖는 할당을 연속적으로 선정한다.
MUD+HR(MUD+높은 보상)은 높은 보상을 산출하는 작업 할당이 먼저 수행되도록 값이 설정되는 것을 제외하고 최대 허용 사용률 결정 알고리즘과 유사하다. 값들은 부등식 (4)가 충족되지 않을 때까지 연속적으로 갱신 된다.
MUD+HUR(MUD + 높은 기본 보상)은 값이 설정된 것을 제외하고 MUD+HR과 유사하다. 값들은 부등식 (4)가 충족되지 않을 때까지 연속적으로 갱신된다.
첫 2가지 스킴은 균형을 선호하고, MUD+HR은 높은 보상을 목적으로 하며, MUD+HUR은 사용량에 따른 높은 보상 비율을 목적으로 한다.
2. 작업 분할 효과
모든 엣지 서버가 완전히 사용 될 때 총 전력 소비량의 비율로 전력 한계 값들을 표현한다. 총 보상에 대한 작업 분할 효과를 살펴보기 위해 40%, 60%, 80%라는 3가지 합계 보상을 살펴보면서 표 1의 각각의 변수에 대한 다양한 범위 값들의 모든 조합들에 대해 EAA-TS와 EAA-NTS를 비교할 수 있다.
표 1은 (
Figure 112020106400513-pat00135
)과
Figure 112020106400513-pat00136
의 다른 값들에 대한 EAA-TS와 EAA-NTS 의 결과 간의 평균 비율 차이를 나타낸다. EAA-TS와 EAA-NTS 결과 간의 비율 차이가 다른 매개변수들의 값에 상관없이 무시할 수 있음을 발견할 수 있다. 예를 들어
Figure 112020106400513-pat00137
=12일 때 0.33%를 넘지 않았고,
Figure 112020106400513-pat00138
=6일 때 0.48%를 넘지 않았다. 하지만,
Figure 112020106400513-pat00139
이 증가함에 따라 차이가 커져가는 것을 확인할 수 있다. 그 이유를 다음과 같이 설명될 수 있다. EAA-NTS는 하나의 작업 전체를 처리하기 위해 남은 용량이 부족한 경우 엣지 서버에 작업을 할당할 수 없으므로, 사용률이 낮으며, 이는 주로 최소 작업 사용량 크기가 1을 초과할 때 발생한다.
Figure 112020106400513-pat00140
이 증가함에 따라, 이 둘 사이의 차이는 줄어들고, 이는 가용 전력이 낮을 때 작업 분할이 효과적이라는 것을 의미한다.
표 2: (
Figure 112020106400513-pat00141
) 과
Figure 112020106400513-pat00142
의 다른 값들에 대한 EAA-NTS와 EAA-TS 비교
Figure 112020106400513-pat00143
3. 총 보상에 대한 전력 제한 효과
총 보상에 대한 전력 제한 효과를 살펴보았다. 이제부터 작업 분할을 허용하지 다른 스킴들(RR+HR, RA+HR, MUD+HR 및 MUD+HUR)과 비교할 때 EAA-NTS를 기본 스킴으로 사용할 것이다. 도9는 표 1의 각 매개변수에 대한 기본 범위가 사용되었을 때 모든 5개 스킴에 대한 보상을 나타내고, 도면10은 EAA-NTS를 기준으로 정규화된 결과를 나타낸다.
전력 제한이 더 높아지면 더 큰 보상을 제공한다. 또한, EAA-NTS는 모든 전력 제한과 관련하여 높은 보상을 산출한다. 이 보상들은 다른 스킴에 비교해서 7%에서 80%까지 높다. 이러한 차이는 더 낮은 전력 제한에서 더 크게 나타난다. MUD+HUR 스킴은 MUD+HR 보다 높은 보상을 산출하며 이는 높은 값을 갖는 작업이 먼저 할당되어야 한다는 것을 의미한다. 하지만 MUD+HUR 작업은 엣지 서버 특성을 고려하지 않는다. 이는 평균적으로 EAA-NTS 보상의 70%, 그리고 최소 전력 제한에서는 40% 수준만 산출할 뿐이다.
4.작업 수에 대한 총 보상
총 보상이 어떻게 각 WAP내 에서 생성된 작업 수에 의존하는지 알아볼 수 있다. 도 11은 3가지
Figure 112020106400513-pat00144
값의 평균 보상 결과인 40%, 60%, 80% 를 보여준다. 다시 EAA-NTS가 다른 스킴에 비해 좋은 성과를 보여주었고, 작업의 수가 증가할 수록 차이가 커지는 경향을 보였다. 이를 초기 선정 시에 높은 보상을 갖는 작업이 더 많이 가능하다는 것으로 해석할 수 있다. 예를 들어, 작업 수 범위가 (3,6)에서 (9,18)로 변화했을 때 EAA-NTS에 의한 보상이 5060만큼 증가한 반면에, MUD+HUR로 얻은 보상은 2684만큼 증가함을 확인할 수 있다.
5. 보상 범위의 효과
다양한 보상 범위 (
Figure 112020106400513-pat00145
)의 효과를 살펴보았다. 도12는 40%, 60% 그리고 80%일 때 평균 보상 결과를 나타낸다. 다시 EAA-NTS가
Figure 112020106400513-pat00146
Figure 112020106400513-pat00147
간의 차이가 커지면서 마진이 증가하여 다른 스킴들보다 우수한 성능을 나타내는 것을 확인할 수 있다. 작업들에 대해 넓은 보상 범위를 갖는 것이 더 큰 최적화 범위를 부여하며, EAA-NTS이 이를 잘 활용하는 것으로 보여진다.
6. 작업 사용량 범위 효과
작업 사용량 값의 범위에 따라 총 보상이 어떻게 달라지는지 확인할 수 있다. 도 13은 다수의 다른 범위(
Figure 112020106400513-pat00148
)에 대한 총 보상과 3가지
Figure 112020106400513-pat00149
값 40%, 60% 그리고 80%에 대한 평균값을 나타낸다. 더 적은 수의 작업이 엣지 서버로 할당될 수 있기 때문에, 총 보상은 범위가 (1,6)에서 (3,8)로 증가했을 때 약간 증가한다. 하지만 이 작업들은 더 높은 보상을 받는다. 하지만, 그 범위 밖에서
Figure 112020106400513-pat00150
의 값은 보상 결과에 거의 영향을 주지 못한다.
7. EAA-NTS와 같은 보상을 얻기 위해 다른 스킴이 필요로 하는 전력 소비량
Figure 112020106400513-pat00151
의 다양한 값들에 대해서 EAA-NTS를 사용했을 때 얻어지는 총 보상을 결정할 수 있다. 동일한 보상을 얻기 위해서 다른 스킴들이 필요로 하는 전력을 찾을 수 있다. 도 14는 각각의 경우를 EAA-NTS에 의해 도출된 전력으로 정규화한 결과를 나타낸다. 동일한 보상을 얻기 위해서 다른 스킴들은 EAA-NTS보다 13%과 75% 더 높은 전력을 필요로 하는 것을 확인할 수 있다. 예를 들어, MUD+HUR은 EAA-NTS보다 13%에서 29% 많은 전력을 필요로 했고, MUD+HR은 19%에서 30% 더 많은 전력을 필요로 했다.
Figure 112020106400513-pat00152
=60%, 70% 및 80%일 때, RR+HR과 RA+HR은 모든 엣지 서버들이 완전히 사용되었음에도 불구하고 EAA-NTS와 같은 보상을 산출하지 못함을 확인할 수 있다.
일 실시예에 따르면, 엣지 서버가 소비하는 전력을 제한하면서, 엣지 서버에 의해 획득되는 총 보상을 극대화하는 스킴을 제안할 수 있다. 상세하게는, 먼저 각각의 엣지 서버의 프로세서 용량과 사용량에 기반하여 엣지 서버가 산출하는 전력을 조사하고, 총 보상을 극대화 하기 위한 목적을 가지고 각 엣지 서버의 최대 허용 가능한 사용률과 작업 할당을 결정하는 최적화 문제를 공식화 할 수 있다. 최대 허용 가능한 사용률을 결정하기 위해서, 엣지 서버에서 최소의 총 전력 소비량으로 최고 보상을 얻으려고 하는 그리디 알고리즘을 사용할 수 있다. 작업 할당 문제를 최소 비용 최대 흐름 그래프로 공식화하고 그래프에서 최고 보상 경로를 탐색하는 2가지 알고리즘을 제안하였다. 하나의 알고리즘은 작업 분할을 허용하고, 다른 하나의 알고리즘은 작업 분할을 허용하지 않는다.
또한, 작업 수, 전력 제한 값, 보상과 작업 사용량 범위, 그리고 전력 소비량에 대한 보상 비율을 다양화 하면서 총 보상에 대한 우리 스킴을 평가하기 위해 시뮬레이션을 실시할 수 있다. 실험 결과는 실시예에서 제안된 스킴이 큰 보상을 획득하기 위해 가용 전력을 잘 활용하는 것으로 나타났다. 제안된 스킴의 보상은 다른 스킴들을 사용하여 얻어진 보상보다 7%에서 80%만큼 높았고, 다른 스킴들은 같은 보상을 얻기 위해서 제안된 스킴보다 13% 에서 75% 정도 더 많은 전력이 필요했다. 실시예에서 제안된 스킴은 가용 전력이 감소되었을 때, 각 작업에 할당된 보상이 매우 가변적일 때, 그리고 많은 작업들이 있을 때 특히 효과적이다. 작업 분할은 최소 작업 사용량 크기가 1일 때는 큰 차이가 없지만, 평균 작업이 높은 CPU 처리용량을 필요로 할 때 효과적이다.
증가하는 IoT 작업 수를 지원하기 위해서 엣지 컴퓨팅에 대한 요구가 급격하게 증가하며 엣지 서버에 의한 전력 소비량을 증가시키는 결과를 초래했다. 실시예에서 제시한 실험 결과는 제안된 스킴이 엣지 서버의 효과적인 전력 관리에 기여할 수 있다는 것을 나타낸다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 컴퓨터로 구현되는 작업 오프로딩 시스템에 의해 수행되는 작업 오프로딩 방법에 있어서,
    각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 단계; 및
    상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 단계
    를 포함하고,
    상기 작업을 오프로딩하는 단계는,
    상기 각각의 엣지 서버로 작업 할당하기 위한 각각의 작업에 대한 값을 탐색하고, 최소 비용 최대 흐름 그래프를 사용하여 작업 분할을 허용하는 방법 또는 작업 분할을 허용하지 않는 방법 중 어느 하나의 방법을 이용하여 엣지 서버로의 작업 할당을 수행하는 단계를 포함하고,
    상기 작업 분할을 허용하는 방법은,
    잔차 그래프가 상기 최소 비용 최대 흐름 그래프에서 생성되고 각 노드 사이의 흐름을 표현하기 위한 이진 함수의 값과 비용을 초기화하는 과정, 최단 경로 빠른 알고리즘을 사용하여 최소 비용 흐름을 도출함에 따라 상기 잔차 그래프에 경로를 생성하고, 상기 흐름을 갱신하는 경로 증강 과정 및 정점 사이에 흐름이 존재할 경우, 작업을 구성하는 하위 작업 중 하나를 처리하기 위해 엣지 서버를 선정함으로써 상기 하위 작업이 할당된 엣지 서버의 지수값을 갱신하는 마무리 과정을 수행하는
    작업 오프로딩 방법.
  2. 제1항에 있어서,
    상기 작업을 오프로딩하는 단계는,
    상기 각각의 엣지 서버의 한도 전력 하에서 엣지 서버 제공자의 보상을 최대화하기 위한 상기 각각의 엣지 서버의 최대 허용 가능한 사용률과 작업 할당을 포함하는 할당 정보를 결정하는 단계
    를 포함하는 작업 오프로딩 방법.
  3. 제1항에 있어서,
    상기 작업을 오프로딩하는 단계는,
    상기 각각의 엣지 서버의 최대 허용 가능한 사용률을 결정하는 동시에 전력 요구량에 대한 엣지 서버 제공자의 보상 비율에 따라 작업의 오프로드에 우선 순위를 부여하는 단계
    를 포함하는 작업 오프로딩 방법.
  4. 제1항에 있어서,
    상기 작업을 오프로딩하는 단계는,
    상기 각각의 엣지 서버의 전력 제약조건을 충족하면서 최대 허용 가능한 사용률의 값들을 탐색하는 단계
    를 포함하는 작업 오프로딩 방법.
  5. 제4항에 있어서,
    상기 작업을 오프로딩하는 단계는,
    작업 할당으로부터 전력 증가량과 보상 증가량을 반복적으로 계산하여 전력 제약조건이 충족되고, 각각의 엣지 서버에서 최대 허용 가능한 사용률이 결정될 때까지 전력 비율에 더 높은 보상을 주는 최대 허용 가능한 사용률 값에 우선순위를 부여하는 단계
    를 포함하는 작업 오프로딩 방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 컴퓨터로 구현되는 작업 오프로딩 시스템에 의해 수행되는 작업 오프로딩 방법에 있어서,
    각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 단계; 및
    상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 단계
    를 포함하고,
    상기 작업을 오프로딩하는 단계는,
    상기 각각의 엣지 서버로 작업 할당하기 위한 각각의 작업에 대한 값을 탐색하고, 최소 비용 최대 흐름 그래프를 사용하여 작업 분할을 허용하는 방법 또는 작업 분할을 허용하지 않는 방법 중 어느 하나의 방법을 이용하여 엣지 서버로의 작업 할당을 수행하는 단계를 포함하고,
    상기 작업 분할을 허용하지 않는 방법은,
    상기 최소 비용 최대 흐름 그래프에 작동되고, 소스 정점에서 싱크 정점으로 최소 비용 흐름을 계산하는 최소 비용 흐름 과정, 상기 최소 비용 흐름과 연관된 작업 정점을 제거하고 용량 사용량과 작업이 할당된 엣지 서버의 지수값을 갱신하고 흐름과 연관된 엣지들을 제거하는 과정을 수행하는
    작업 오프로딩 방법.
  10. 컴퓨터로 구현되는 작업 오프로딩 시스템에 있어서,
    각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 서버 결정부; 및
    상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 작업 오프로딩부
    를 포함하고,
    상기 작업 오프로딩부는,
    상기 각각의 엣지 서버로 작업 할당하기 위한 각각의 작업에 대한 값을 탐색하고, 최소 비용 최대 흐름 그래프를 사용하여 작업 분할을 허용하는 방법 또는 작업 분할을 허용하지 않는 방법 중 어느 하나의 방법을 이용하여 엣지 서버로의 작업 할당을 수행하는 것을 포함하고,
    상기 작업 분할을 허용하는 방법은,
    잔차 그래프가 상기 최소 비용 최대 흐름 그래프에서 생성되고 각 노드 사이의 흐름을 표현하기 위한 이진 함수의 값과 비용을 초기화하는 과정, 최단 경로 빠른 알고리즘을 사용하여 최소 비용 흐름을 도출함에 따라 상기 잔차 그래프에 경로를 생성하고, 상기 흐름을 갱신하는 경로 증강 과정 및 정점 사이에 흐름이 존재할 경우, 작업을 구성하는 하위 작업 중 하나를 처리하기 위해 엣지 서버를 선정함으로써 상기 하위 작업이 할당된 엣지 서버의 지수값을 갱신하는 마무리 과정을 수행하는
    작업 오프로딩 시스템.
KR1020200129920A 2020-10-08 2020-10-08 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 KR102432007B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200129920A KR102432007B1 (ko) 2020-10-08 2020-10-08 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩
PCT/KR2020/017849 WO2022075528A1 (ko) 2020-10-08 2020-12-08 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200129920A KR102432007B1 (ko) 2020-10-08 2020-10-08 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩

Publications (2)

Publication Number Publication Date
KR20220046812A KR20220046812A (ko) 2022-04-15
KR102432007B1 true KR102432007B1 (ko) 2022-08-12

Family

ID=81126531

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200129920A KR102432007B1 (ko) 2020-10-08 2020-10-08 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩

Country Status (2)

Country Link
KR (1) KR102432007B1 (ko)
WO (1) WO2022075528A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112976B (zh) * 2022-12-20 2024-05-03 暨南大学 设备计算迁移方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200076875A1 (en) * 2016-12-28 2020-03-05 Intel IP Corporation Application computation offloading for mobile edge computing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560465B2 (en) * 2009-07-02 2013-10-15 Samsung Electronics Co., Ltd Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments
US9927857B2 (en) * 2014-08-22 2018-03-27 Intel Corporation Profiling a job power and energy consumption for a data processing system
AU2017326016B2 (en) * 2016-09-15 2022-08-04 Savant Systems, Inc. System and methods for creating dynamic nano grids and for aggregating electric power consumers to participate in energy markets
WO2020023115A1 (en) * 2018-07-27 2020-01-30 Futurewei Technologies, Inc. Task offloading and routing in mobile edge cloud networks
KR20200017589A (ko) * 2018-07-27 2020-02-19 한국전자통신연구원 무선 통신 시스템에서 모바일 노드의 태스크를 오프로딩하기 위한 클라우드 서버 및 그의 동작 방법
US11271994B2 (en) * 2018-12-28 2022-03-08 Intel Corporation Technologies for providing selective offload of execution to the edge
WO2020185000A1 (en) * 2019-03-12 2020-09-17 Samsung Electronics Co., Ltd. Methods and systems for optimizing processing of application requests

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200076875A1 (en) * 2016-12-28 2020-03-05 Intel IP Corporation Application computation offloading for mobile edge computing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAITAO YUAN 외 1인."Profit-Maximized Collaborative Computation Offloading and Resource Allocation in Distributed Cloud and Edge Computing Systems".IEEE Transactions on Automation Science and Engineering*

Also Published As

Publication number Publication date
KR20220046812A (ko) 2022-04-15
WO2022075528A1 (ko) 2022-04-14

Similar Documents

Publication Publication Date Title
Li et al. Energy-efficient and quality-aware VM consolidation method
KR102499076B1 (ko) 그래프 데이터 기반의 태스크 스케줄링 방법, 디바이스, 저장 매체 및 장치
CN113169990B (zh) 具有动态卸载的深度学习推理的分割
US7702784B2 (en) Distributing and geographically load balancing location aware communication device client-proxy applications
US7203747B2 (en) Load balancing system and method in a multiprocessor system
KR101471749B1 (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
WO2004084069A2 (en) Load balancing and taskdistribution system
Ghetas A multi-objective Monarch Butterfly Algorithm for virtual machine placement in cloud computing
CN112148492A (zh) 一种考虑多用户移动性的服务部署和资源分配方法
Nasr et al. Using the TSP solution strategy for cloudlet scheduling in cloud computing
Ashok Kumar et al. FDLA: fractional dragonfly based load balancing algorithm in cluster cloud model
Mallikarjuna et al. A nature inspired bee colony optimization model for improving load balancing in cloud computing
KR102432007B1 (ko) 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩
Kumar et al. C-FDLA: Crow search with integrated fractional dragonfly algorithm for load balancing in cloud computing environments
KR102027682B1 (ko) 부분적 계산 오프로딩을 위한 모바일 클라우드 네트워크의 로드밸런싱 방법 및 그 시스템
US9021094B1 (en) Allocation of resources for tiers of a multi-tiered system based on selecting items from respective sets
EP3008597B1 (en) Method for the continuous processing of two-level data on a system with a plurality of nodes
Rostami et al. An energy-efficient task scheduling method for heterogeneous cloud computing systems using capuchin search and inverted ant colony optimization algorithm
Lu et al. Cost-efficient resource provisioning in delay-sensitive cooperative fog computing
Portaluri et al. Multi objective virtual machine allocation in cloud data centers
Phi et al. Load balancing algorithm on cloud computing for optimize response time
Arora et al. An elephant herd grey wolf optimization (EHGWO) algorithm for load balancing in cloud
Li et al. A simulated annealing combined genetic algorithm for virtual machine migration in cloud datacenters
KR101470695B1 (ko) 그리드 컴퓨팅 스케쥴링을 위한 생물지리학적 최적화 방법 및 시스템
Pise Mobile Cloud IoT for Resource Allocation with Scheduling in Device-Device Communication and Optimization based on 5G Networks

Legal Events

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